Quelles sont les extensions considérées comme obsolètes ?

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 : le monde \LaTeX é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 \LaTeX 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, strut par exemple, 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 \LaTeX2.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'extensionfloatfig, écrit initialement pour \LaTeX2.09, fonctionne bien dans des cas simples. Elle définit la commande floatingfigure, qui ne fonctionne cependant pas en mode multicolonnes. L'exemple ci-dessous utilise ce package.

\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\^ete 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\^ur, 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} entraine 
automatiquement un saut de paragraphe. Il faut donc placer la figure au début du paragraphe où on 
veut la placer. Noter également (\c ca 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

misc/liste_des_packages_obsoletes.txt · Dernière modification: 2020/11/15 16:15 par yannick.tanguy
CC Attribution-Share Alike 4.0 International
Driven by DokuWiki Recent changes RSS feed Valid CSS Valid XHTML 1.0