Quelles extensions sont considérées comme obsolètes ? Par quoi les remplacer?
Le tableau ci-dessous recense les extensions qui ont été fréquemment utilisées à une époque, mais ne sont plus recommandées.
Lorsque vous lisez une documentation, regardez bien sa date de mise à jour : le monde évolue et les conseils d'il y a 20 ou 30 ans ne sont plus forcément pertinents.
Contrôle de votre code
L'extension nag passe votre code en revue et détecte l'utilisation de commandes obsolètes, sur la base des recommandations de l2tabu (traduction en français également disponible, la version de référence étant la version allemande).
Liste des extensions considérées comme obsolètes
Informations complémentaires pour certaines de ces extensions
L'extension “atxy”
Cette extension ne fait pas partie du CTAN, ce qui peut la rendre difficile à trouver. Le code ci-dessous reprend celui de la version présente à l'adresse http://www.lsv.ens-cachan.fr/~markey/tmp/atxy.sty.
Petit défaut, si le document ne contient que des commandes atxy
, il n'y a pas de dvi
généré.
Il faut donc ajouter n'importe quoi au début du document, un strut par exemple (avec \strut
), pour que cela marche.
- atxy.sty
%%%%%% atxy.sty V1.1 % at.sty Colin Hogben (chah@jet.uk) % 12-Aug-91 First version % 20-Mar-92 Fixed to allow for \headheight % 06-Jul-93 \@useat only used in case of any \at material (B.gaulle) % 07-Jul-93 at -> atxy, reset of \par added to \output (Y. Delmas) % 08-Jul-93 \global setting of \atxytrue. % Reset @ original \catcode (letter or other). % \kerning of \voffset & \hoffset required. (B.Gaulle) % 25-Jan-94 \atxy printed nothing at all (pointed by Ph. Louarn) % when one \atxy was specified between \begingroup and \endgroup. % The \setbox nedded to be \global. This will be V1.1 (B. Gaulle) % % \atxy(HPOS,VPOS){TEXT} % Y % Positions TEXT at an absolute distance of HPOS from the left edge % and VPOS from the top edge of the current page. % % Example: % \atxy(2cm,5cm){\parbox[t]{10cm}{ % Name\\ % Recipient's name and address positioned % Address\\etc.}} % suitably for a windowed envelope % ----------------------------------------------------------------- %% %% checksum = "19479 77 357 2869" %% % ----------------------------------------------------------------- % % First create a box in which to store absolute positioned material. % \ifcat/@ \makeatletter\let\resetat\makeatother% save @ \catcode \else\let\resetat\relax\fi% (letter or other only) \newbox\@atxybox% \newif\if@atxy\@atxyfalse% --bg % % atxy(HPOS,VPOS){TEXT} % Add the TEXT to the box with suitable offsets applied. % \long\def\atxy(#1,#2)#3{\global\setbox\@atxybox=\hbox% --bg {\unhbox\@atxybox \vtop to 0pt{\kern #2\hbox to 0pt{\kern #1\relax #3\hss}\vss}}% \global\@atxytrue}% --bg % % Unload the saved absolute-positioned material. % Teleport to the actual top corner of the page by undoing the header % separation, the top and side margins, and the mysterious 1 inch % offset applied to each. Then make it look like a singularity (zero % height, depth and width). % \def\@useatxy{\if@atxy% --bg \vtop to 0pt{\kern-\headsep \kern-\topmargin \kern-\headheight \kern-1in \kern-\voffset \hbox to 0pt{\kern-\@themargin \kern-1in \kern-\hoffset \unhbox\@atxybox \hss}\vss}% \fi\global\@atxyfalse}% --bg % % The following is a copy of the latex.tex \output routine except for % line 1: this prepends the shifted absolute material to the current % page. A little unsafe to copy code like this, but I couldn't work % out where else to insert the box. % \output{\setbox255=\vbox{\@useatxy \unvbox255}\let\par\@@par% \ifnum\outputpenalty <-\@M\@specialoutput\else% \@makecol\@opcol\@floatplacement\@startcolumn% \@whilesw\if@fcolmade \fi{\@opcol\@startcolumn}\fi% \global\vsize\ifnum\outputpenalty >-\@Miv \@colroom% \else \maxdimen\fi}% % \resetat% reset @ original \catcode \endinput% --bg
L'extension “catmac”
L'extension catmac définit un ensemble de commandes pour tracer des diagrammes commutatifs. Il propose par défaut un ensemble de formes mais permet également via un certain nombre de macros prédéfinies de composer ses propres formes. En voici un exemple d'utilisation :
\documentclass{article} \usepackage{catmac} \begin{document} \begin{center} \resetparms \square[A`B`C`D;f`g`h`k] \end{center} \end{document}
Cette extension n'est pas compatible avec l'option [french]
de babel qui rend le ;
actif.
L'extension “cd”
L'extension cd a été écrite pour 2.09 par D. Hankerson. En voici un exemple :
\documentclass[12pt]{article} \usepackage{cd} \newcommand{\cdrl}{\cd\rightleftarrows} \newcommand{\cdlr}{\cd\leftrightarrows} \newcommand{\cdr}{\cd\to} \newcommand{\cdl}{\cd\gets} \newcommand{\cdu}{\cd\uparrow} \newcommand{\cdd}{\cd\downarrow} \newcommand{\cdud}{\cd\updownarrows} \newcommand{\cddu}{\cd\downuparrows} \begin{document} \[\CD G \cdrl {\gamma}{\delta} H \cdr {}{\Delta} K \\ \cd. \cdud {f}{g} \cd| {h}{k} \\ 0 \cdr {}{} G' \cd= {\beta}{} H' \endCD \] \end{document}
L'extension “eclbkbox”
Sont donnés ici les informations sur cette ancienne extension.
L'encadrement du texte est obtenu par l'environnement breakbox
.
\bkcounttrue
: les lignes sont numérotées.\bkcountfalse
: elles ne le sont pas (défaut).
On peut emboîter des environnements breakbox
.
- eclbkbox.sty
% eclbkbox.sty by Hideki Isozaki, 1992 % Date: May 28, 1993 \newbox\bk@bxb \newbox\bk@bxa \newif\if@bkcont \newif\ifbkcount \newcount\bk@lcnt \def\breakboxskip{2pt} \def\breakboxparindent{1.8em} \def\breakbox{\vskip\breakboxskip\relax \setbox\bk@bxb\vbox\bgroup \advance\linewidth -2\fboxrule \advance\linewidth -2\fboxsep \hsize\linewidth\@parboxrestore \parindent\breakboxparindent\relax} % \@tempdimb: amount of vertical skip % between the first line (\bk@bxa) and the rest (\bk@bxb) \def\bk@split{% \@tempdimb\ht\bk@bxb % height of original box \advance\@tempdimb\dp\bk@bxb \setbox\bk@bxa\vsplit\bk@bxb to\z@ % split it \setbox\bk@bxa\vbox{\unvbox\bk@bxa}% recover height & depth of \bk@bxa \setbox\@tempboxa\vbox{\copy\bk@bxa\copy\bk@bxb}% naive concatenation \advance\@tempdimb-\ht\@tempboxa \advance\@tempdimb-\dp\@tempboxa}% gap between two boxes % \@tempdima: height of the first line (\bk@bxa) + fboxsep \def\bk@addfsepht{% \setbox\bk@bxa\vbox{\vskip\fboxsep\box\bk@bxa}} \def\bk@addskipht{% \setbox\bk@bxa\vbox{\vskip\@tempdimb\box\bk@bxa}} % \@tempdima: depth of the first line (\bk@bxa) + fboxsep \def\bk@addfsepdp{% \@tempdima\dp\bk@bxa \advance\@tempdima\fboxsep \dp\bk@bxa\@tempdima} % \@tempdima: depth of the first line (\bk@bxa) + vertical skip \def\bk@addskipdp{% \@tempdima\dp\bk@bxa \advance\@tempdima\@tempdimb \dp\bk@bxa\@tempdima} \def\bk@line{% \hbox to \linewidth{\ifbkcount\smash{\llap{\the\bk@lcnt\ }}\fi \vrule \@width\fboxrule\hskip\fboxsep \box\bk@bxa\hfil \hskip\fboxsep\vrule \@width\fboxrule}} \def\endbreakbox{\egroup \ifhmode\par\fi{\noindent\bk@lcnt\@ne \@bkconttrue\baselineskip\z@\lineskiplimit\z@ \lineskip\z@\vfuzz\maxdimen \bk@split\bk@addfsepht\bk@addskipdp \ifvoid\bk@bxb % Only one line \def\bk@fstln{\bk@addfsepdp \vbox{\hrule\@height\fboxrule\bk@line\hrule\@height\fboxrule}}% \else % More than one line \def\bk@fstln{\vbox{\hrule\@height\fboxrule\bk@line}\hfil \advance\bk@lcnt\@ne \loop \bk@split\bk@addskipdp\leavevmode \ifvoid\bk@bxb % The last line \@bkcontfalse\bk@addfsepdp \vtop{\bk@line\hrule\@height\fboxrule}% \else % 2,...,(n-1) \bk@line \fi \hfil\advance\bk@lcnt\@ne \if@bkcont\repeat}% \fi \leavevmode\bk@fstln\par}\vskip\breakboxskip\relax} \bkcountfalse
L'extension “floatfig”
L'extension floatfig, écrit initialement pour 2.09,
fonctionne bien dans des cas simples. Elle définit la commande floatingfigure
,
qui ne fonctionne cependant pas en mode multicolonnes.
Voici un exemple:
\documentclass{report} \usepackage[T1]{fontenc} \usepackage[latin1]{inputenc} \usepackage[francais]{babel} \usepackage{boxedminipage} \usepackage{floatfig} \begin{document} \initfloatingfigs Il faut commencer le document par la commande \verb+\initfloatingfigs+, afin d'initialiser l'extension. La documentation indique que ce n'est pas indispensable, mais l'extension arrête la compilation si ce n'est pas fait. \medskip \begin{floatingfigure}{6cm} Ceci est une « figure » de 6 centimètres de large. La hauteur sera calculée par \LaTeX pour que le texte environnant entoure correctement cette figure. Bien sûr, dans un environnement {\ttfamily figure}, rien n'emp\^eche de ne mettre que du texte... \end{floatingfigure} La figure sera toujours placée à droite sur une page de droite, et à gauche sur une page de gauche. Noter, comme le prouve cet exemple, que l'environnement {\ttfamily floatingfigure} entraîne automatiquement un saut de paragraphe. Il faut donc placer la figure au début du paragraphe où on veut la placer. Noter également (ça ne se voit pas dans cet exemple, mais c'est vrai) qu'il n'y a pas, dans ce package, d'environnement {\ttfamily floatingtable}. La légende, en particulier, est toujours appelée « \figurename ». \end{document}
Les extensions apparemment disparues
L'extension wflman
(probablement due à W.F. Lupton) ne semble plus disponible.
Sources: