|
The "versions" package (versions.sty) can be very useful in
conditionally controlling your output in Latex documents. Here's a very simple
example of how you can use this package to conditionally control what is output
by the Latex processor:
\documentclass[a4paper,11pt]{article}
\author{Al Alexander}
\title{}
\usepackage{versions}
\includeversion{PDF}
\excludeversion{HTML}
\begin{document}
\maketitle
\tableofcontents
% if "PDF" has been included, do this:
\processifversion{PDF}{Hello PDF world!}
% if "HTML" has been included, do this:
\processifversion{HTML}{Hello HTML world!}
\end{document}
In this example, with the current parameters selected, the PDF document that
results when I run pdflatex has this output:
Hello PDF world!
This is because the command "\includeversion{PDF}" is
set at the beginning of the file. Note that the "Hello HTML world!"
string is specifically NOT included in the output document.
Now, if we turn this around and change the include/exclude commands to this:
\includeversion{HTML}
\excludeversion{PDF}
the output will look like this instead:
Hello HTML world!
You can use any string you want in your include/exclude statements. The only
thing that's important is that whatever text you use in the initial
include/exclude statement also needs to be used later in your \processifversion
command.
When your output is longer than you might want to include in a simple
command, you may want to use the environment equivalent commands, like this:
\begin{PDF}
Some more text here.
Something longer than you want to include in a
simple command, something like this
multiline example.
\end{PDF}
One last note: If your only reason for doing this is to control PDF and HTML
processing you're better off using the "html" package (html.sty)
and it's associated commands.
|