[linux-l] Re: Suche Freiwillige für (LaTeX-)Projekt
Rocco Rutte
pdmef at cs.tu-berlin.de
Mi Jun 1 15:46:27 CEST 2005
Hi,
* Oliver Bandel [05-06-01 13:31:14 +0200] wrote:
>Ich versteh noch nicht, was das machen soll das Programm.
>Beipiel?
Um der allgemeinen Verwirrung entgegenzuwirken: ich habe all meine
Dokumente (Briefe, Uni, sonstiges) einem riesigen Ordner mit knapp 300
LaTeX-Files, die zwar meist triviale Abhängigkeiten haben, die aber ich
_nicht_ per Hand angeben will.
Beispiel 1:
Datei foo.tex sieht stark gekürzt so aus:
\documentclass{article}
\begin{document}
\input{foo_a_input}
\input{foo_b_input}
\end{document}
Im Verzeichnis ./a gibt es dann:
\documentclass{article}
\begin{document}
\input{foo_a_input}
\end{document}
In ./a/foo_a_input.tex steht der eigentliche Inhalt. Selbiges für
foo_b.tex und ./b/foo_b_input.tex etc.
Die Abhängigkeit sieht jetzt so aus:
- foo.tex muss neu gebaut werden, wenn sich foo_(a|b)_input.tex ändern
- foo_a.tex muss neu gebaut werden, wenn sich foo_a_input.tex ändert,
analog für foo_b
Und ich will jetzt, dass make das alles völlig allein löst, ohne dass
ich einen Finger krumm machen muss. Ich habe ein globales
Include-Makefile, wo drinsteht wie man aus TeX-Quellen ein PDF/PS/DVI
macht und mehr nicht. Ich gebe im eigentlichen Makefile nur an, welche
PDFs ich haben will und gut. Make soll sich dann um die Reihenfolge und
die (teilweise Neu-)Übersetzung kümmern.
Der Output von meinem Programm sieht in etwa so aus:
Datei .depend
| foo.pdf: \
| foo.tex \
| a/foo_a_input.tex \
| b/foo_b_input.tex
Datei a/.depend
| foo_a.pdf: \
| foo_a.tex \
| foo_a_input.tex
Beispiel 2:
Es gibt foo.tex mit:
\documentclass{article}
\usepackage{pdfpages}
\begin{document}
\includepdf[...]{bar}
\end{document}
Egal wie bar.tex jetzt aussieht: es muss zuerst bar.pdf gebaut werden,
weil foo.tex davon abhängt. Ich bin zu faul mir die richtige Reihenfolge
zu überlegen und das manuell zu machen.
In .depend steht dann:
| foo.pdf: \
| foo.tex \
| bar.pdf
|
| bar.pdf: \
| bar.tex
Beispiel 3:
Ich habe in ~/texmf ein Package mit nützlichen Abkürzungen, um
Quelltexte für die Abgabe von Hausaufgaben hübsch mit TeX zu setzen.
Manchmal ändere ich etwas an dieser Vorlage. Wenn ich dann 'make' tippe,
soll make alle Dokumente aktualisieren, die von dieser Formatvorlage
abhängen. Wieder natürlich ohne manuelles zutun. Dazu kommen dann noch
ein paar mehr Packages in ~/texmf, die sich ab und zu ändern.
In den .depend-Dateien, die man per include in die jeweils aktuellen
Makefiles einbeziehen kann, steht dann sowas wie:
| foo.pdf: \
| foo.tex \
| [...] \
| ~/texmf/tex/latex/tub/tub-info.sty
| ~/texmf/tex/latex/tub/opal.sty
wobei die Abhängigkeit auf opal.sty erst durch tub-info.sty erzeugt
wird; mein Tool erkennt das dann rekursiv.
bye, Rocco
--
:wq!
Mehr Informationen über die Mailingliste linux-l