====== 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 [[ctanpkg>nag]] passe votre code en revue et détecte l'utilisation de commandes \LaTeX obsolètes,
sur la base des recommandations de [[ctanpkg>l2tabu]] ([[ctanpkg>l2tabu-french|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 ^
|[[ctanpkg>a4]], [[ctanpkg>a4wide]], [[ctanpkg>anysize]] |[[ctanpkg>geometry]], [[ctanpkg>typearea]] | |
|atxy |[[ctanpkg>textpos]] |Voir détails ci-dessous. |
|[[ctanpkg>backrefx]] |[[ctanpkg>backref]] | |
|[[ctanpkg>bitfield]] |[[ctanpkg>bytefield]] | |
|[[ctanpkg>catmac]] |[[ctanpkg>amscd]] |Voir détails ci-dessous. |
|[[ctanpkg>caption2]] |[[ctanpkg>caption]] | |
|[[ctanpkg>cd]] |[[ctanpkg>amscd]] |Voir détails ci-dessous. |
|[[ctanpkg>chngpage]] |[[ctanpkg>changepage]] | |
|[[ctanpkg>cprog]] |[[ctanpkg>listings]], [[ctanpkg>lgrind]] | |
|[[ctanpkg>csvtools]] |[[ctanpkg>datatool]] | |
|[[ctanpkg>datetime]] |[[ctanpkg>datetime2]] | |
|[[ctanpkg>dinat]] |[[ctanpkg>natdin]] | |
|[[ctanpkg>doublespace]] |[[ctanpkg>setspace]] | |
|[[ctanpkg>dropcaps]] |[[ctanpkg>lettrine]] | |
|[[ctanpkg>dropping]] |[[ctanpkg>lettrine]] | |
|[[ctanpkg>dvipsk]] |[[ctanpkg>dvips]] | |
|[[ctanpkg>eclbkbox]] |[[ctanpkg>boites]] |Voir détails ci-dessous. |
|[[ctanpkg>eledmac]] |[[ctanpkg>reledmac]] | |
|[[ctanpkg>eledpar]] |[[ctanpkg>reledpar]] | |
|[[ctanpkg>eps]], [[ctanpkg>epsfig]] |[[ctanpkg>graphicx]] | |
|[[ctanpkg>euler]] |[[ctanpkg>eulervm]] | |
|[[ctanpkg>eurotex]] |[[ctanpkg>inputenx]] | |
|[[ctanpkg>everysel]] |[[ctanpkg>lthooks]] |La [[texdoc>everysel|documentation du package]] explique pourquoi il est considéré comme obsolète par son auteur. |
|[[ctanpkg>exsheets]] |[[ctanpkg>xsim]] |Même auteur, qui indique [[texdoc>xsim|dans la documentation de xsim]] que ''exsheets'' ne recevra plus de nouvelles fonctionnalités. |
|[[ctanpkg>fancyheadings]] |[[ctanpkg>fancyhdr]] | |
|[[ctanpkg>FiNK]] |[[ctanpkg>currfile]] | |
|[[ctanpkg>fixltx2e]] | |Fonctionnalités désormais intégrées au noyau. |
|[[ctanpkg>floatfig]] |[[ctanpkg>floatflt]] |Voir détails ci-dessous. |
|[[ctanpkg>german]] |[[ctanpkg>babel]] | |
|[[ctanpkg>glossary]] |[[ctanpkg>glossaries]] | |
|[[ctanpkg>graphics]] |[[ctanpkg>graphicxs]] | |
|[[ctanpkg>ha-prosper]] |[[ctanpkg>powerdot]], [[ctanpkg>beamer]] | |
|[[ctanpkg>here]] |[[ctanpkg>float]] | |
|[[ctanpkg>includex]] |[[ctanpkg>newclude]] | |
|[[ctanpkg>isolatin]], [[ctanpkg>isolatin1]] |[[ctanpkg>inputenc]] | |
|[[ctanpkg>ledmac]] |[[ctanpkg>reledmac]] | |
|[[ctanpkg>ledpar]] |[[ctanpkg>reledpar]] | |
|[[ctanpkg>mathpple]] |[[ctanpkg>mathpazo]] | |
|[[ctanpkg>mathptm]] |[[ctanpkg>mathptmx]] | |
|[[ctanpkg>movie15]] |[[ctanpkg>media9]] | |
|[[ctanpkg>mtex]] (ou MuTeX) |[[ctanpkg>MusiXTeX]] | |
|[[ctanpkg>MusicTeX]] |[[ctanpkg>MusiXTeX]] |[[ctanpkg>MusicTeX]] semble cependant permettre la conversion de fichier midi. |
|[[ctanpkg>ngerman]] |[[ctanpkg>babel]] | |
|[[ctanpkg>newthm]] |[[ctanpkg>ntheorem]] | |
|[[ctanpkg>nicefrac]] |[[ctanpkg>xfrac]] | |
|[[ctanpkg>numline]] |[[ctanpkg>lineno]] | |
|[[ctanpkg>ocg-p]], [[ctanpkg>ocgx]] & [[ctanpkg>fixocgx]] |[[ctanpkg>ocgx2]] | |
|[[ctanpkg>palatino]] |[[ctanpkg>mathpazo]] | |
|[[ctanpkg>picinpar]] |[[ctanpkg>floatflt]], [[ctanpkg>picins]], [[ctanpkg>wrapfig]] | |
|[[ctanpkg>prosper]] |[[ctanpkg>powerdot]], [[ctanpkg>beamer]] | |
|[[ctanpkg>ps4pdf]] |[[ctanpkg>pst-pdf]] | |
|[[ctanpkg>raggedr]] |[[ctanpkg>ragged2e]] | |
|[[ctanpkg>remreset]] | |Fonctionnalités désormais intégrées au noyau. |
|[[ctanpkg>scrlettr]] |[[ctanpkg>scrlttr2]] | |
|[[ctanpkg>scrpage]] |[[ctanpkg>scrpage2]] | |
|[[ctanpkg>seminar]] |[[ctanpkg>powerdot]], [[ctanpkg>beamer]] | |
|[[ctanpkg>SIunits]], [[ctanpkg>si]] |[[ctanpkg>siunitx]] | |
|[[ctanpkg>slashbox]] |[[ctanpkg>diagbox]] | |
|[[ctanpkg>stix]] |[[ctanpkg>stix2-otf]], [[ctanpkg>stix2-type1]] |Depuis avril 2018. |
|[[ctanpkg>subfigure]] |[[ctanpkg>subfig]], [[ctanpkg>subcaption]] | |
|[[ctanpkg>tetex]] |TeX Live |teTeX, qui est une [[1_generalites:glossaire:qu_est_ce_qu_une_distribution|distribution]], est obsolète depuis 2007. |
|[[ctanpkg>textcomp]] | |Fonctionnalités désormais intégrées au noyau. |
|[[ctanpkg>t1enc]] |[[ctanpkg>fontenc]] | |
|[[ctanpkg>times]] |[[ctanpkg>mathptmx]] | |
|[[ctanpkg>tgrind]] |[[ctanpkg>lgrind]] | |
|[[ctanpkg>theorem]] |[[ctanpkg>amsthm]], [[ctanpkg>ntheorem]] | |
|[[ctanpkg>thmmarks]] |[[ctanpkg>ntheorem]] | |
|[[ctanpkg>utopia]] |[[ctanpkg>fourier]] | |
|vgrind |[[ctanpkg>lgrind]] | |
|[[ctanpkg>vmargin]] |[[ctanpkg>geometry]], [[ctanpkg>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 [[wp>Strut_(typesetting)|strut]] par exemple (avec ''\strut''), pour que cela marche.
%%%%%% 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 [[ctanpkg>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 [[ctanpkg>babel]] qui rend le '';'' actif.
==== L'extension “cd” ====
L'extension [[ctanpkg>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 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 [[ctanpkg>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 =====
L'extension ''wflman'' (probablement due à W.F. Lupton) ne semble plus disponible.
------
//Sources://
* [[https://ctan.org/topic/obsolete]]
* [[http://texblog.net/latex-articles/packages/]]
* [[https://tex.stackexchange.com/questions/553/what-packages-do-people-load-by-default-in-latex/589#589]]
{{htmlmetatags>metatag-keywords=(LaTeX,extensions obsolètes,packages obsolètes,LaTeX tabou,quoi ne pas faire en LaTeX,packages historiques,LaTeX en 2020)
metatag-og:title=(Quels packages sont obsolètes? Par quoi les remplacer?)
metatag-og:site_name=(FAQ LaTeX francophone)
}}