Ant-Builddatei für LaTeX-Dokumente

Gespeichert von Erik Wegner am/um Don, 01.04.2010 - 22:27
Body

Das folgende Ant-Script fasst die Aufrufe zusammen, die bei der Erstellung eines komplexen LaTeX-Dokumentes benötigt werden:

  • Indexerstellung mittels makeindex (mehr)
  • Quellenverzeichnis (Bibliografie, Literaturverzeichnis) mit bibtex
  • Glossar, Symbol- und Abkürzungsverzechnis mit glossaries (mehr)

Das Script kann unter dem Namen build.xml abgelegt werden. Folgende Anpassungen sind erforderlich:

  1. Vergabe des Projektnamens (Zeile 1)
  2. Benennung der Hauptdatei (Zeile 3)
<project name="LaTeXdatei1" default="komplett">
	<!-- Hauptdatei -->
	<property name="file" location="datei1" />
	<target name="help">
		<!-- Hilfe: welche Aufrufe sind möglich? -->
		<echo>
Diese Ziele sind möglich:
komplett         Komplette Ausgabe erstellen
index			 Index erstellen
		</echo>
	</target>
	<target name="komplett" depends="init">
		<antcall target="latex" />
		<antcall target="bibtex" />
		<antcall target="index" />
		<antcall target="glsverz" />
		<antcall target="abkverz" />
		<antcall target="symverz" />
		<antcall target="latex" />
		<antcall target="latex" />
	</target>
	<target name="init">
		<buildnumber/>
	</target>
	<target name="clean">
		<echo>${basedir}</echo>
		<delete file="${file}.acn"/>
		<delete file="${file}.acr"/>
		<delete file="${file}.alg"/>
		<delete file="${file}.aux"/>
		<delete file="${file}.bbl"/>
		<delete file="${file}.blg"/>
		<delete file="${file}.glg"/>
		<delete file="${file}.glo"/>
		<delete file="${file}.gls"/>
		<delete file="${file}.idx"/>
		<delete file="${file}.ilg"/>
		<delete file="${file}.ind"/>
		<delete file="${file}.ist"/>
		<delete file="${file}.lof"/>
		<delete file="${file}.lot"/>
		<delete file="${file}.out"/>
		<delete file="${file}.slg"/>
		<delete file="${file}.syg"/>
		<delete file="${file}.syi"/>
		<delete file="${file}.toc"/>
	</target>
	<target name="index" description="Erstellung des Index">
		<exec executable="makeindex">
			<arg value="-s" />
			<arg value="caphead.ist" />
			<arg value="${file}" />
		</exec>
	</target>
	<target name="latex" depends="init" description="Aufruf von pdflatex">
		<exec executable="pdflatex">
			<arg value="-interaction=nonstopmode" />
			<arg value="${file}" />
		</exec>
	</target>
	<target name="bibtex">
		<exec executable="bibtex">
			<arg value="${file}" />
		</exec>
	</target>
	<target name="glsverz" description="Glossareinträge erzeugen">
		<exec executable="makeindex">
			<arg value="-s"/>
			<arg value="${file}.ist"/>
			<arg value="-t"/>
			<arg value="${file}.glg"/>
			<arg value="-o"/>
			<arg value="${file}.gls"/>
			<arg value="${file}.glo"/>
		</exec>
	</target>
	<target name="symverz" description="Symbolverzeichnis erzeugen">
		<exec executable="makeindex">
			<arg value="-s"/>
			<arg value="${file}.ist"/>
			<arg value="-t"/>
			<arg value="${file}.slg"/>
			<arg value="-o"/>
			<arg value="${file}.syi"/>
			<arg value="${file}.syg"/>
		</exec>
	</target>
	<target name="abkverz" description="Abkürzungsverzeichnis erzeugen">
		<exec executable="makeindex">
			<arg value="-s"/>
			<arg value="${file}.ist"/>
			<arg value="-t"/>
			<arg value="${file}.alg"/>
			<arg value="-o"/>
			<arg value="${file}.acr"/>
			<arg value="${file}.acn"/>
		</exec>
	</target>
</project>