[Seitenende] [Aufwärts]
Zuerst ist der Task mit:
<taskdef name="latex" classname="de.dokutransdata.antlatex.LaTeX"
classpath="c:/Programme/Apache Software Foundation/ant/lib/ant_latex.jar"/> |
zu definieren. Anschliessend kann der komplexe Task benutzt werden:
<target name="doLaTeX">
<latex latexfile="${ltx2.file}" verbose="on" clean="on" pdftex="off" workingDir="${basedir}" /> </target> |
Damit ist ein einfacher LATEX-Lauf definiert, dies hätte aber auch mit einem exec-Element erreicht werden können.
Attribute zum LATEX-Task
Attribut | Beschreibung | Pflicht |
latexfile | Die LATEX-Datei, es werden Dateien mit der Endung .tex, .ltx, .dtx oder .ins akzeptiert. | Nein, kann durch das Element fileset gesetzt werden. |
pdftex | Mit on wird PDFLATEX aufgerufen. | Nein. Default: off |
verbose | Gibt bei on Informationen auf der Standardausgabe aus. | Nein. Default: off |
clean | Bei on werden die temporären Dateien nach dem LATEX-Lauf gelöscht, zusätzliche Filter können mit dem Element deletetempfiles ergänzt werden. | Nein. Default: off |
reRunPattern | Pattern nach dem in der Protokolldatei von LATEX zu suchen ist, um zu entscheiden ob ein weiterer Durchlauf notwendig ist. | Nein. |
workingDir | Arbeitsverzeichnis setzen | Nein. Default: basedir |
command | Auszuführender Befehl | Nein. Default: latex |
path | Pfad zu LATEX | Nein. Default: leer |
jobname | Name der Ergebnissdatei, nur bei MikTEXeinsetzbar (s. u.) | Nein. |
outputDir | Verzeichnis in dem die DVI/PDF-Datei gespeichert werden soll, nur bei MikTEXeinsetzbar (s. u.) | Nein. |
auxDir | Verzeichnis für die temporären Dateien, nur bei MikTEXeinsetzbar (s. u.) | Nein. |
passThruLaTeXParameters
| ||
Sonstige Parameter für LATEX mit einem Semikolon getrennt. | Nein. | |
multibib | Schalter für die Verwendung des Package multibib | Nein. Default: off |
MikTeX | Schalter für die Verwendung von MikTeX und Einsatz der Optionen outputDir, auxDir und jobname | Nein. Default: off |
fileExtensions | Dateierweiterungen für gültige LATEX-Dateien in der Form .tex;.dtx. Standardmässig werden Dateien mit der Endung .ltx, .tex, .dtx sowie .ins akzeptiert. Dieser Mechanismus kann mit der Option jobname umgangen werden. | Nein. Standard: .tex;.ltx;.dtx;.ins |
Der Standardwert für reRunPattern ist:
(Rerun (LaTeX|to get cross-references right)|
Package glosstex Warning: Term | There were undefined references| Package natbib Warning: Citation\\(s\\) may have changed) |
Die Attribute jobname, outputDir und auxDir werden nicht von jeder LATEX-Version unterstützt, deshalb ist der Schalter miktex4 bei Bedarf umzusetzen.
Die Verwendung von outputDir und auxDir kann bei der Verwendung einer dokumenteninternen Verzeichnisstruktur zu Problemen führen, insbesondere wenn include verwendet wird5 .
Diese Probleme lassen sich mit einem Pre-Target zur Erstellung der Unterverzeichnisse und einem Post-Target zum Löschen der temporären Dateien lösen.
Elemente zum LATEX-Task
Element | Beschreibung | Pflicht |
fileset | Fileset-Element | Nein, das Attribut latexfile kann für eine einzelne Datei benutzt. |
deletetempfiles | Fileset-Element zum Löschen von temporären Dateien. Vorsicht: Überschreibt die internen Vorgaben! | Nein |
makeindex | Makeindex-Element | Nein. Multiple |
bibtex | BibTEX-Element | Nein. Multiple |
jxGlosstex | ||
glosstex | GlossTEX-Element | Nein |
Um jetzt zum Beispiel einen makeindex-Lauf zu integrieren ist folgende Definition notwendig:
<target name="doLaTeX">
<latex latexfile="${ltx2.file}" . . . > <makeindex run="on" idxstyle="${ltx2.idx.style}" protocolFile="${ltx2.idx.protocolFile}" outFile="${ltx2.idx.outputFile}" workingDir="${basedir}" > <fileset dir="${basedir}"> <include name="*.nlo"/> </fileset> </makeindex> </latex> </target> |
Das fileset-Element für makeindex ist im Normalfall nicht notwendig, weil der Hauptprozess dafür sorgt das makeindex die idx-Datei als Parameter erhält.
Auf ähnliche Weise kann jetzt BibTEX und GlossTEX in den Prozess eingebunden werden. Ein komplettes Beispiel finden Sie im Anhang.
<target name="doLaTeX">
<latex latexfile="${ltx2.file}" . . . > <bibtex terse="${ltx2.bib.terse}" minCrossrefs="${ltx2.bib.minCrossrefs}" run="on" workingDir="${basedir}" /> <bibtex terse="${ltx2.bib.terse}" minCrossrefs="${ltx2.bib.minCrossrefs}" run="on" workingDir="${basedir}" inloop="off" > <fileset dir="." includes="*.figbib.aux"/> </bibtex> <glosstex glossarDefinitionFiles="${ltx2.gloss.databases}" run="on" > <makeindex germanWordOrder="${ltx2.idx.germanWordOrder}" idxstyle="${ltx2.gloss.style}" /> </glosstex> </latex> </target> |
Durch den Parameter run kann mit on gesteuert werden, ob der Sub-Prozess aufgerufen werden soll. Bei den Sub-Prozessen werden die benötigten Input-Dateien durch den Hauptprozess gesetzt. Ausnahme bildet nur makeindex, wo ein gesetztes fileset-Element Vorrang bekommt6 .
Mit dem mehrfach vorkommenenden Element bibtex und dem darin enthaltenen fileset-Element können unterschiedliche Styles wie figbib oder gloss angebunden werden.
Zu glosstex gibt es eine Alternative die auf einfache XML-Dateien basiert und folgenden Aufruf im latex-Element akzeptiert:
<jxGlosstex
maxdepth="${ltx2.gloss.maxdepth}" language="${ltx2.gloss.language}" run="${ltx2.doGLOSSTEX}" /> |
[Seitenanfang] [Aufwärts]