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 \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

Extensions obsolètes Extensions recommandées Commentaires
a4, a4wide, anysize geometry, typearea
atxy textpos Voir détails ci-dessous.
backrefx backref
bitfield bytefield
catmac amscd Voir détails ci-dessous.
caption2 caption
cd amscd Voir détails ci-dessous.
chngpage changepage
cprog listings, lgrind
csvtools datatool
datetime datetime2
dinat natdin
doublespace setspace
dropcaps lettrine
dropping lettrine
dvipsk dvips
eclbkbox boites Voir détails ci-dessous.
eledmac reledmac
eledpar reledpar
eps, epsfig graphicx
euler eulervm
eurotex inputenx
everysel lthooks La documentation du package explique pourquoi il est considéré comme obsolète par son auteur.
exsheets xsim Même auteur, qui indique dans la documentation de xsim que exsheets ne recevra plus de nouvelles fonctionnalités.
fancyheadings fancyhdr
FiNK currfile
fixltx2e Fonctionnalités désormais intégrées au noyau.
floatfig floatflt Voir détails ci-dessous.
german babel
glossary glossaries
graphics graphicxs
ha-prosper powerdot, beamer
here float
includex newclude
isolatin, isolatin1 inputenc
ledmac reledmac
ledpar reledpar
mathpple mathpazo
mathptm mathptmx
movie15 media9
mtex (ou MuTeX) MusiXTeX
MusicTeX MusiXTeX MusicTeX semble cependant permettre la conversion de fichier midi.
ngerman babel
newthm ntheorem
nicefrac xfrac
numline lineno
ocg-p, ocgx & fixocgx ocgx2
palatino mathpazo
picinpar floatflt, picins, wrapfig
prosper powerdot, beamer
ps4pdf pst-pdf
raggedr ragged2e
remreset Fonctionnalités désormais intégrées au noyau.
scrlettr scrlttr2
scrpage scrpage2
seminar powerdot, beamer
SIunits, si siunitx
slashbox diagbox
stix stix2-otf, stix2-type1 Depuis avril 2018.
subfigure subfig, subcaption
tetex TeX Live teTeX, qui est une distribution, est obsolète depuis 2007.
textcomp Fonctionnalités désormais intégrées au noyau.
t1enc fontenc
times mathptmx
tgrind lgrind
theorem amsthm, ntheorem
thmmarks ntheorem
utopia fourier
vgrind lgrind
vmargin geometry, typearea

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 \LaTeX 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 \LaTeX 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

1_generalites/histoire/liste_des_packages_obsoletes.txt · Dernière modification : 2022/10/04 08:48 de dbitouze
CC Attribution-Share Alike 4.0 International
Driven by DokuWiki Recent changes RSS feed Valid CSS Valid XHTML 1.0