[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