# LIMITATIONS

A fundamental assumption of any prettyprinter is that whitespace (blank, horizontal tab, vertical tab, carriage return, formfeed, newline) is not significant. While this is generally the case, it is not so in those rare TeX files where whitespace is made active by \catcode modification. Avoid using tex-pretty on such files, or on files where the comment character is something other than the normal percent character. There is no problem with LaTeX verbatim macros and environments, because tex-pretty recognizes them and preserves their contents exactly.

User-defined control sequences for which whitespace is significant, or whose use is idiosyncratically formatted, will likely conflict with prettyprinting.

The plain TeX \obeylines and \obeyspaces commands, and the ETeX \obeywhitespace command, would be similarly mishandled, except that tex-pretty watches for them, and once they are seen, copies the remainder of the file in verbatim mode, effectively suppressing further prettyprinting. It has to do this, because it has no reliable way to detect the end of scope for these commands.

For a small number of control sequences, there are formatting conflicts between two or more macro packages. In such a case, preference is first given to LaTeX (and AmSLaTeX and SliTeX), then to AmSTeX, then to LAmSTeX, and finally to plain TeX and ETeX.

There are also cases in some of these macro packages where the same control sequence has environment-dependent meaning, so formatting irregularities may appear.