Direkt zum Inhalt

Ant-Builddatei für LaTeX-Dokumente

Gespeichert von Erik Wegner am/um
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)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
<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>