Where's psfig gone?

LaTeX v2.09 was replaced by LaTeX2e in late 1993. Since then, old documents are processed in "compatibility mode", but always successfully; even if it fails to fail outright, there's always the possibility that compatibility mode may not be as compatible as you thought, or that it may vanish completely at some point in the future, or that old-style documents may not be accepted by the Learned Journal of your choice.

This Page is an attempt to document the newer usages. Please let us know (by e-mail to the usual places, or adding a comment via the link at the foot of this page) if you find anything else missing or broken, including tyops.

\documentstyle{}

The first sign that we're dealing with an old-style document is (fittingly) the first active line, for example:

\\documentstyle[11pt,a4]

This will yield a compatibility warning, but then proceed, and said warning will fly off the top of the screen in the usual welter of informational messages and mild warnings. Unless you get an outright error and no output file, it's all too easy to think there's been no problem. (This is the one disagreement I have with Don Knuth: success in my humble opinion should be silent.)

To bring your document more up-to-date, and insulate it better from the slings and arrows of outrageous updates, the above line should be replaced by:

\\documentclass[11pt,a4paper]

Note that the \\documentclass{} option a4paper is now spelt out in full, to distinguish it from the former add-on a4.

psfig

The following will yield an outright error:

\\documentstyle[11pt,a4,psfig]

There's two things wrong here:

  • Add-on packages, which were formerly specified as optional arguments to \\\\documentstyle{}, need to now be separately specified by individual \\\\usepackage{} statements. Amongst other things, this permits you to pass options to the packages, on a per-package basis.

  • The package psfig has been replaced by the package epsfig, which is a wrapper round the graphicx package. Benefits include being able to specify (eg) foo rather than foo.eps in a figure-drawing macro, and have pdflatex pick up foo.pdf instead without needing to have a separate source document.

Upshot: replace the above \\documentstyle{} statement by the two statements:

\\documentclass[11pt,a4paper]
\\usepackage

You may or may not also need to amend \\psfig{} macros to \\epsfig{} (curiously, the latter appears to be defined in terms of the former in epsfig.sty, but \\epsfig{} is what's documented in The LaTeX Companion). All feedback on this welcomed.

revtex

This has been replaced by RevTeX4, which is only available as a class. You should replace either of:

\\documentstyle[rhubarb,rhubarb]
\\documentclass[rhubarb,rhubarb]

.... by:

\\documentclass[rhubarb,rhubarb]

.... or for the Advanced Player:

\\documentclass[rhubarb,rhubarb]{revtex4-1}

Please see the RevTeX4 documentation for any adjustments you may have to make to either value of rhubarb.

Categories: LaTeX | TeX