[linux-l] Re: Suche Freiwillige für (LaTeX-)Projekt
Rocco Rutte
pdmef at cs.tu-berlin.de
Mi Jun 1 20:02:35 CEST 2005
Hi,
* Robert C. Helling [05-06-01 17:43:34 +0100] wrote:
>On Wed, 1 Jun 2005, Rocco Rutte wrote:
>> Warum sollte ich etwas neu übersetzen, was nicht neu übersetzt werden
>> muss? Es geht mir ja gerade darum das herauszufinden um mir quälend
>> lahme TeX-Läufe zu ersparen.
>Was Du also genau willst ist ein Tool, das Dir fuer eine pdf Datei sagt,
>ob diese noch dem aktuellen Stand der Sourcen entspricht (solange Du die
>nicht lesen willst, brauchst Du sie ja auch nicht im Voraus zu bauen).
Yepp. Bzw. ein Tool, das make die Informationen gibt, um genau dieses
zu entscheiden, weil make ja genau dafür geschrieben wurde.
>Willst Du wirklich jedes Mal, wenn Du zB Dein .sty aenderst, alle pdfs
>neu bauen?
Bei 99% der Sachen ändern sich weder Abhängigkeiten noch die Sourcen.
Wenn bei dem restlichen 1% alle paar Wochen mal 10 PDFs neu gebaut
werden ist mir das lieber, als bei den 99% nach den kompletten
TeX-Läufen feszustellen, dass ja eigentlich nicht nötig war.
>Das tex schon mal gelaufen sein muss, damit Du die aux Datei hast, ist in
>diesem Fall gegeben. Sonst haettest Du ja auch die .pdf Datei nicht und Du
>muesstest sowieso bauen.
Ich sage dem Tool nur, dass ich irgendwann _vielleicht_ foo.pdf bauen
will, um so Sachen wie \includegraphics zu behandeln. Streng genommen
brauche ich nichtmal ein installiertes TeX, weil bei mir meist
eigentlich schon $TEXINPUTS ausreicht, um alles zu finden. Ich muss die
Sachen auch gar nicht bauen sondern kann mir eben nur die
Abhängkeitsliste erstellen lassen... für den Fall dass ich später mal
was bauen will (wg. Reihenfolgen, s.u.).
>Nehmen wir mal folgende Abhaengigkeiten an:
>briefkopf.tex brief.tex brief.pdf (rechts haengt von links ab).
[...]
>Gerade geht mir noch auf, dass es wahrscheinlich noch einfacher ist, die
>.log statt der .aux Dateien zu parsen, aber das ist ein Detail. Fazit:
>Ich fange von rechts an. Wenn eine Datei neuer ist als ihr .log muss sie
>neu geTeXt werden (was autamatisch alles links von ihr TeXt, denn es gibt
>ja wie gesagt keine .o Dateien), wenn das .log aktuell ist, steht da ja
>drin, wie weiter nach links Rekursion gemacht werden muss. Und fuer all
>das braucht man keinen komplizierten TeXcode zu parsen und ein paar Zeilen
>Perl sollten reichen.
Dann übernimmst du aber die Arbeit von make, was ich genau nicht machen
wollte bzw. weshalb ich keines der zig Tools nehme, die genau das auch
machen. Der Nachteil meiner Variante ist dafür, dass ich die Arbeit von
TeX übernehmen muss.
Und TeX ist in den meisten Fällen vergleichsweise langsam, weil es
ständig alles rekursiv machen muss. Deswegen möchte ich keine Lösung,
die TeX-Ausgaben analysiert, weil die stets vollständig rekursiv sind.
Ich möchte das als User gern selbst entscheiden, wann ich vollständig
rekursiv und wann nur wie einfach haben möchte.
Der Punkt, weshalb ich das irgendwann mal angefangen habe, war, dass es
mich genervt hat bei manchen Sachen die Übersetzungsreihenfolge manuell
zu machen und überhaupt manuell eingreifen zu müssen. Und bei
Abhängigkeiten wie (nach deinem Schema):
bar.tex <- bar.pdf <- foo.tex
möchte ich halt erst kein TeX laufen müssen, um manuell dann
festzustellen, dass bar.pdf übersetzt sein muss, bevor foo.tex
angegangen werden kann.
bye, Rocco
--
:wq!
Mehr Informationen über die Mailingliste linux-l