Tag Info

70

From l2tabu: Why not use obsolete commands? Obsolete commands do not support LaTeX2e's new font selection scheme, or NFSS. {\bf foo}, for example, resets all font attributes which had been set earlier before it prints foo in bold face. This is why you cannot simply define a bold-italics style by {\it \bf Test} only. (This definition will produce: ...

61

Here's a list of possibly obsolete packages and classes, and recommendable successors. It's not intended as a judgement – it's supposed to help in choosing packages or checking preambles. Readers can make their own decision based on the package documentation of the compared packages. Obsolete package(s): Recommended successor(s) a4, a4wide, anysize: ...

56

You might be interested in the nag package. \RequirePackage[l2tabu, orthodox]{nag} \documentclass[<opt>]{<class>} … It nags about \it, \bf, …, \centerline, outdated packages and figures and tables without caption Related: l2tabu The “sins” of LaTeX users, and how to correct them. The document provides a list of obsolete packages and ...

54

The main reason why people may consider ifthen obsolete (last version is of 2001/05/26 with about one page of user manual plus four pages of code documentation) is that it is superseded by e.g. etoolbox, which uses the advanced possibilities of eTeX. Using these allows faster processing. You still can use ifthen for your existing and new documents if you ...

47

MiKTeX has reorganized the package amslatex. Therefore the update removes it: The package amslatex is split in amsmath and amscls. (Also there is a new package amslatex-primer): However, the update has not installed the new packages automatically. Therefore I have installed them manually. For AmSLaTeX you need at least amsmath. It contains the ...

37

A major motivation for the design of TeX originally and also of LaTeX is document stability, you should be able to get a 20 year old LaTeX document and still process it. To get absolute guaranteed stability you need to archive the whole system executables, fonts, etc, but for the vast majority of cases that is not necessary and an old LaTeX document will run ...

33

The simple answer is no, because the new font commands work better for the reasons in the links you cite. The best way to reduce your typing to customize your editor. In my editor (TeXShop on a Mac) I have the command \textbf{} bound to Command-B, and \emph{} to Command-I. (I generally don't use textit{}) This makes it simple to use the "new" font commands ...

31

In a thread on comp.text.tex the author of tabu stated that bug fixes to the current version (2.8) of tabu will not be taken under consideration: Well, to be honest, the time of bug reports will come with the next release. See Incompatibility between verbatim and tabu? (Danger of using \scantokens in a package) for the motivation of Bruno Le Floch's ...

29

The \it syntax is inherited form LaTeX 2.09, and is regarded as supported 'for historical reasons only' in LaTeX2e. For bold, you should go for \textbf rather than \bf. For italic, you'd usually use \emph rather than \textit as it's semantic mark up and as it handles the italic correction automatically.

27

From my experience in various forums and newsgroups, ifthen often seems to do more harm than good, especially when used by newbies. The main \ifthenelse command is fragile, so something like \section{\ifthenelse{\equal{a}{a}}{b}{c}} doesn't work. The comparison is not expandable, so that the command "possibly has only limited usefulness for macro code ...

27

No, \rm is deprecated and should not be used in a LaTeX2e document (ConTeXt and plain are of course different). What is happening here is deliberate. Issuing \textrm means that the current font family should be roman, not sanserif or monospaced. However, it does not alter the current shape (upright/italic/slanted) or weight (light/medium/heavy): that's the ...

27

amsmath is definitely not obsolete! It may have some old and unrepaired bugs, but it still has the status "maintained" and AMS has every intention of keeping it that way. Something else must have gone wrong with your update. EDIT: amsmath and the AMS document classes + amsthm used to be combined on CTAN under the name amslatex. They have always been ...

24

To expand on Alan's good answer (and to reiterate his ‘no’) there's another big reason that \bf and \it are not recommended now: they are short and easy to type, but they do not have semantics. LaTeX attempts to separate content and formatting in its markup, and these font changing commands break such ideals. In the rough, commands to type often as part of ...

24

Hmm, I just posted this as an answer to another question, but just as I was posting, that question was closed—with a referral here. So I'll throw in my 2¢ here... The reason I don't like \it and \bf is that they do not play well together. That is, they do not nest as one would intuitively expect: Whereas \textit and \textbf do play well together: ...

21

Following on the markdown idea mentionned in comments by @Emre, it can be coded in LaTeX. For instance, the code below gets *italics* and **bold** to work (with nesting as well). \documentclass{article} \makeatletter \newcommand{\star@out}{% \star@ifnext{\bgroup\bfseries\let\star@current\star@inbf\@gobble}% ...

18

\tt is obsolete with LaTeX2e, it's just defined by classes. So, if you use a class that's still supporting it, it would work. But I would not recommend it. Classes like article.cls define for compatibility: \DeclareOldFontCommand{\tt}{\normalfont\ttfamily}{\mathtt} I would use \normalfont\ttfamily. Further, I wouldn't use it in the body text but in the ...

16

Place a \begin{picture}(0,0) in the header of the page so that it makes a zero-sized box at a know position, then you can \put text or graphics at exact coordinates relative to that box. There is an example of this technique in my answer to Implementing line-based corporate design in LaTeX

15

TeX has been around from quite some time now and the number of documents built over time is, well, rather large. Some of these older documents relied on functionality built in these obsolete packages. When creating a new package that reproduce the functionality of an older one, the choice is then whether you can make it backward compatible or not (same ...

15

Additional to the other answers I would remark: A very good resource to learn which packages are obsolete is l2tabu – Ob­so­lete pack­ages and com­mands (German original version) or l2tabu in Englisch (Thanks @ari-brodsky) which shows which packages should not used any more and gives alternativies. I suggest to tell all your students to check this document ...

14

With a lot of trial and error, I finally found a solution. This works: \pdfoutput=1 ... \usepackage{hyperref} ... \hypersetup{ colorlinks=true, linkcolor=black, citecolor=black, filecolor=black, urlcolor=black, } The links are invisible, there are no borders or colours. Trickery with 00README.XXX does not seem to be necessary. Some ...

14

I don't think that there is a single best practice --- it partly depends in what way your package has become obsolete. One of the strong goals of LaTeX is continued backward compatibility, i.e., the ability to reprocess old documents successfully even after a long period of time and in fact that is something tat most of the time works surprisingly well ...

11

The short answer is that there is no easy conversion for a completely general case. LaTeX2.09 style files are very much a mix of formatting and 'additional' code, even more than is the case with LaTeX2e. More specifically, the LaTeX2.09 style in question has never been converted into a LaTeX2e class. That means that there the change \documentstyle{res_yy} ...

11

The packages ae and aeguill are obsolete and should not be used anymore (ae consists in virtual fonts which fool TeX into believing it's using real T1 font). By using the package ae instead of a real T1 font, you won't be able to use the search functionnality of the PDF reader for words with accented characters like é, à, etc. Copying and pasting won't work ...

11

You could redefine \it to trigger an error if it is used: Package JOBNAME Error: \it was used!!. where JOBNAME will be the name of the file that you are processing. Code: \documentclass{article} \def\it{\PackageError{\jobname}{\string\it\space was used!!}} \begin{document} \it abc \end{document}

10

If you search on the CTAN catalogue, many obsolete packages have notes pointing to the newer packages they have been superseded by. For the particular example of subfigure, its catalogue entry has to say: This package is now obsolescent: new users should use subfig instead. Whenever I find about a new package, I tend to have a look at CTAN before using ...

10

Version 2.2 of enumitem used a different way to setup the standard lists; for your needs it should be \setenumerate{label=(\roman*),itemsep=3pt,topsep=3pt} If you downloaded the last version, you probably haven't put it in a place where the TeX system can find it and it uses the default one; I guess you installed the TeX distribution with MacTeX that ...

9

As Audrey has commented, the v2.0 documentation is still 'correct' for the BibTeX back end. Almost everything new in v2.0 compared with v1.7 is Biber-only, and is marked as such. In that sense, biblatex is broadly frozen for BibTeX users (bugs in that part will be fixed, but the open requests for features all really need Biber). So you should be fine with ...

9

I have never used revtex but the author's guide explicitly states: Please note the spelling of “acknowledgments.” This is also the full error message LaTeX produces: Class revtex4-1 Warning: Environment acknowledgements is obsolete; Use acknowledgments instead. So replacing acknowledgements by acknowledgments removes the message.

9

While I don't know how to conditionally invoke package options at load time, in the case of biblatex most options (except style specifications, compatibility options and choosing the backend) can also bet set afterwards using \ExecuteBibliographyOptions. For example, the url option (which was introduced in biblatex v0.9) could be conditionally disabled using ...

8

One aspect not covered in the other answers so far is the license most packages come with. It is the LaTeX project public license (LPPL). Currently, we are at version 1.3c. Older versions of that license explicitly required that new packages derived from older ones get new names, and must not carry files with the same name as the old package. The exception ...

Only top voted, non community-wiki answers of a minimum length are eligible