LatexOutput

Michalis Kamburelis edited this page Jan 7, 2017 · 4 revisions
Clone this wiki locally

CommandLine option --format latex (or -O latex for short) makes pasdoc write output that can be interpreted using LaTeX. This is the preferred output format for printing the documentation.

A single output file, either having the name specified with the --name option, or the default name docs.tex will be created.

With latex you will be able to create a dvi file that can then be converted to a Postscript file using dvips. Or you can also directly generate a huge HTML file by using htlatex, or a PDF file by using pdflatex.

It is to note that the output generated by pasdoc has been optimized for pdflatex and htlatex.

Notes about warnings displayed by latex and/or pdflatex when they process file generated by pasdoc:

Reference …​' on page …​ undefined on input`:

This warning is valid to occur during the first run of latex/pdflatex on the given .tex file. This happens when reference to an item has been made before a label was defined. This is how labels/references in LaTeX work: you must run latex/pdflatex once again, and this time all references should be resolved and no such warning should appear. This is not something that can be corrected inside pasdoc.

Label …​' multiply defined`:

This warning happens when you used in your source file overloading, i.e. defined global functions/procedures with the same name in the same unit or within the same class. Currently pasdoc does not handle this situation absolutely correctly, and labels and references to every version of overloaded routine will look the same. Also, note that currently there is no way in pasdoc to specify within @link tag to which one of the overloaded versions you want to link. So, yes, this is a problem in pasdoc, but not specific to LaTeX output, and requires more general treatment. So far noone implemented this.

But this of course does not mean that you can’t use overloading in units processed by pasdoc. Pasdoc wil generate a valid and working documentation for overloaded routines, in every output format. You just don’t have such control over links to overloaded things as you should have.