[linux-l] Re: Suche Freiwillige für (LaTeX-)Projekt

Robert C. Helling R.Helling at damtp.cam.ac.uk
Mi Jun 1 16:52:23 CEST 2005


On Wed, 1 Jun 2005, Rocco Rutte wrote:

> Hi,
> 
> * Robert C. Helling [05-06-01 12:46:53 +0100] wrote:
> 
> >Ich koennte meine Diss zur Verfuegung stellen, allerdings ist die plain 
> >TeX, besteht aus diversen Dateien fuer die Kapitel plus einiges an 
> >Bildern.
> 
> Mir würde es ja schon reichen, wenn ich die Namen von ein paar Befehlen 
> habe, die Abhängigkeiten auf externe Dateien erzeugen. Zum Beispiel 
> \RequirePackage, \usepackage und \lstinputlisting im ersten 
> Pflicht-Argument, bei Sachen wie \lstinline und \verb nichts, egal was 
> drinsteht etc.

Ich verwende zB eigene Makros fuer die Bilder, die zwar auf epsf aufbauen 
aber noch ein paar Zaehler setzen und noch etwas Layout um die Bilder 
herum machen. Du muesstest Deiner Configdatei also noch mindestens diese, 
meine Privatmakros beibringen, damit sie mit der Diss was anfangen kann. 
Oder Du musst anfangen, Makrodefinitionen zu verstehen (aka parsen). Und 
was machst zB mit grafixx, wo ich Bilder einbinden kann und je nachdem ich 
dvi oder pdf erzeuge die .eps oder .jpg Datei aehnlichen Namens verwendet 
wird?


> Im Ernst: ich will nur die TeX-Files selbst parsen und wie die \hbox in 
> dem Beispiel real aussieht. Bei \hbox kann ich entscheiden, ob die 
> Abhängigkeiten erzeugt oder nicht, wenn ja, dann nehme ich mir das 
> richtige Argument und wenn nicht, dann gucke im Argument nach anderen 
> Befehlen, die evtl. Abhängigkeiten erzeugen.

Der Witz ist eben, dass ich abhaengig von der hbox irgendwelche Makros 
umdefinieren kann oder nicht.

Schliesslich verstehe auch ich immer noch nicht wirklich, was die 
Anwendung ist. Mein Problem ist hier, dass es bei TeX doch keine einzelnen 
Compiler und Linkerschritte gibt. Dein Beispiel verstehe ich so, dass Du 
zB diverse Briefe hast, die alle den gleichen Briefkopf einlesen. Und nun 
aenderst Du den Briefkopf. Jetzt willst Du alle diese Briefe neu 
formatieren? Nur warum? Es ist doch so, dass wenn Du den Brief Nummer 42 
TeXst der Briefkopf neu kompiliert wird, egal ob der sich geaendert hat 
oder nicht. Der Witz an make ist doch, dass Du schon .o Files hast, die 
nur neu erzeugt werden muessen, wenn sich die entsprechende Source 
geaendert hat.

Der umgekehrte Fall (nicht viele Dateien haengen von einer sonder eine von 
vielen) ab ist zB ein Buch, dass seine einzelnen Kapitel einbindet. Wenn 
ich jetzt ein Kapitel aendere muss ich halt immer das Buch neu TeXen. OK. 
Aber dann TeXe ich eben immer das Buch und auch da brauche ich nicht 
unbedingt so ein tool. Wenn Du allerdings (evtl gegen die Mode auf dieser 
Liste) Emacs zum editieren Deiner .tex Files benutzt, kannst Du da doch 
das "Masterfile" Feature nutzen. Da sagst Du eben den Kapiteln, dass ihr 
Masterfile das Buch ist. Und wenn Du was aenderst am Kaptitel und C-c C-c 
zum neu TeXen drueckst, weiss Emacs, dass es das Buch statt des Kapitels 
TeXen soll.

Und selbst das kannst Du mit ein paar Makros auch in TeX loesen: Am Anfang 
vom Buchfile definierst Du \ichtexeschondasbuch und alle Kapitel beginnst 
Du mit einem \if, das prueft, ob dieses Makro schon definiert ist und 
sonst das Buch \input und endet.


Oder wie waere es, wenn Du das \open (und ggf noch \input und evtl 
was fuer \epsf) Makro so umdefinierst, dass es in der 
.aux Datei vermerkt, welche Datei es geoeffnet hat. Und dann liest Dein 
tool immer einfach die .aux Datei ein. Ist das nicht viel einfacher?

Robert

-- 
.oOo.oOo.oOo.oOo.oOo.oOo.oOo.oOo.oOo.oOo.oOo.oOo.oOo.oOo.oOo.oOo.oOo.oOo.oOo.oO
Robert C. Helling     School of Science and Engineering
                      International University Bremen
print "Just another   Phone: +49 421-200 3574
    stupid .sig\n";   http://www.aei-potsdam.mpg.de/~helling



Mehr Informationen über die Mailingliste linux-l