PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Cleaning,Refactoring -> Tool für Paketabhängigkeiten



damue
25-10-2007, 10:35
Hallo,

ich habe mal Ordnung in mein LaTeX Projekt gebracht und doppelte und veraltete Pakte gelöscht oder ersetzt. Und alle Pakete in eine package.tex gelegt. Jetzt bekomme viele Meldungen "! Undefined control sequence.". Ich weiß das liegt an der Reihenfolge, wie die Pakete eingebunden werden.

Meine Frage: Kennt Ihr ein Script/Tool, dass die Paketabhängigkeiten analysiert und daraufhin eine neue Ordnung/Reihenfolge anbietet, sodass alle Abhängigkeiten berücksichtigt werden.

Ich denke es muss so etwas geben, da Pakete für die LaTeX Prozessoren genau mit solchen Infos ausgezeichnet werden können/müssen.



\NeedsTeXFormat {LaTeX2e}
\ProvidesPackage{..}
\RequirePackage[..]{..}


Wer kennt so etwas? Bin für jeden Link oder Tipp dankbar. Ich denke es wird eher eine Script (a la Python oder Ruby sein) sein.

Vielen Dank
Daniel

sommerfee
25-10-2007, 12:38
Normalerweise sind Pakete recht unabhängig von ihrer Ladereihenfolge, Pakete wie hyperref oder hypcap, die auf eine spezielle Reihenfolge angewiesen sind, stellen eher Ausnahmen als die Regel da. Wenn man zuerst alle benötigten Pakete lädt, dann hyperref, dann die Pakete, die auf hyperref aufstetzen (wie z.B. hypcap), und dann erst die Befehle der Pakete (wie \counterwithin, \newfloat, ...) anwendet, ist man eigentlich fast immer auf der sicheren Seite.



\NeedsTeXFormat {LaTeX2e}
\ProvidesPackage{..}
\RequirePackage[..]{..}


\RequirePackage lädt automatisch das benötigte Paket, sofern noch nicht geladen. Daher verstehe ich dein Problem nicht so ganz.

Liebe Grüße,
Axel

pospiech
25-10-2007, 12:48
Normalerweise sind Pakete recht unabhängig von ihrer Ladereihenfolge, Pakete wie hyperref oder hypcap, die auf eine spezielle Reihenfolge angewiesen sind, stellen eher Ausnahmen als die Regel da.
Da habe ich bei der Entwicklung meiner Vorlage aber eine andere Erfahrung gemacht. Aber es sind natürlich nur wenige der Pakete. Besonders ärgerlich wird es wenn man drei Pakete hat die eine Abhängigkeit verlangt die nicht zu erfüllen ist. Deshalb habe ich diese Abhängigkeiten auch versucht mitzudokumentieren.

Nebenbei: Mit einem aktuellen Miktex 2.6 funktioniert meine Vorlage nicht mehr korrekt da anscheint in caption (default vs plain), koma script (ifdefined gibt es nicht mehr) und xcolor? (Farbdefinition sind zu Beginn vom Dokument wieder alle ungültig) zu Fehlern führen.

Matthias

damue
25-10-2007, 16:02
Hallo und danke der schnellen Antworten.

Erst alle Pakete zu laden und dann die Einstellungen vorzunehmen ist ein guter Hinweis. Danke! Ich hab's ausprobiert, aber ich mache scheinbar die gleichen Erfahrung wie pospiech.


Da habe ich bei der Entwicklung meiner Vorlage aber eine andere Erfahrung gemacht. Aber es sind natürlich nur wenige der Pakete.
Tja, Murphy's Gesetz! Auch wenn es nur 5% (oder so) der Pakete sind - es sind gerade diese, die einem die letzten Nerven rauben! Und aber leider auch die, die die Qualität eines LaTeX Projekts erheblich steigern können (vgl. hyperref, xcolor, ..).

Hmm.

Wiederholt sich eigentlich das Problem bei den Einstellungen? Müssen Einstellungen eines Pakets vor den Einstellungen eines anderen folgen.
Ich vermute fast ja?!?

VG Daniel

pospiech
25-10-2007, 19:22
Wiederholt sich eigentlich das Problem bei den Einstellungen? Müssen Einstellungen eines Pakets vor den Einstellungen eines anderen folgen.
Ich vermute fast ja?!?

Mir ist kein solcher Fall bekannt.
Wenn du hier reinschaust
http://www.matthiaspospiech.de/latex/vorlagen/allgemein/preambel/
wirst du unterhalb von 'Layout' alle Einstellungen finden. Die Pakete habe ich versucht alle zuvor zu laden.

Matthias

NewAtair
21-11-2007, 10:42
Nebenbei: Mit einem aktuellen Miktex 2.6 funktioniert meine Vorlage nicht mehr korrekt da anscheint in caption (default vs plain), koma script (ifdefined gibt es nicht mehr) und xcolor? (Farbdefinition sind zu Beginn vom Dokument wieder alle ungültig) zu Fehlern führen.

Matthias

Das Problem liegt am Koma-Script, denn ich habe alle andere Pakete geupdatet, dann habe ich es ausgetestet und es sind keine Fehler aufgetaucht. Dann habe ich koma-script geupdatet und nun tauchen die Fehler auf. Irgendwie ist da beim koma-script was schiefgegangen. Wie kann man eigentlich einen downgrade beim koma-script im Miktex durchführen?

Siehe: http://www.komascript.de/release

An Miktex 2.6 selbst liegt der Fehler nicht, da ich schon die 2.6er Version verwendet habe und es sind bei mir keine Fehler aufgetaucht.

Bzw. gib es einen Workaround für das fehlende ifdefined?

sommerfee
21-11-2007, 11:54
Wie kann man eigentlich einen downgrade beim koma-script im Miktex durchführen?

Sich die gewünschte, ältere KOMA-Script-Version besorgen (sollte man über www.komascript.de bekommen können) und die Dateien händisch gegen die älteren ersetzen.



Bzw. gib es einen Workaround für das fehlende ifdefined?

Es wurde ja "nur" wegen Konflikte mit dem \ifdefined von e-TeX nach \ifnotundefined umbenannt. Das entweder im Dokument geradeziehen oder ein
\providecommand\ifdefined{\ifnotundefined} in den Dokumentenvorspann aufnehmen, dann sollte \ifdefined mit alten und mit neuen KOMA-Versionen funktionieren. (Ungetestete Idee!)

Was gibt es noch für Probleme? Matthias sprach "hang" vs. "plain" bei der Verwendung des caption-Paketes an, das geht auf meine Kappe (ließ sich aber IMHO als Nebeneffekt der Anpassung des caption-Paketes an KOMA-Script nicht vermeiden) und läßt sich ja mit einem \setcapindent{0pt} bzw. "format=plain" wieder geradeziehen.

Mit xcolor ist mir persönlich nichts bekannt, hat jemand ein Minimalbeispiel?

Sonst noch was?

Gruß,
Axel

NewAtair
21-11-2007, 16:33
Mit xcolor ist mir persönlich nichts bekannt, hat jemand ein Minimalbeispiel?

Sonst noch was?

Gruß,
Axel

Also ich habe die Parameterisierung vom Koma-Script (wie zB. DIVcalc auf DIV=calc) auf die neue Notation umgeändert. Logischerweise nur bei den Parametern, die im Log als veraltet gekennzeichnet werden.