pep-dortmund / toolbox-workshop

Materialien zum PeP et al. Toolbox-Workshop
http://toolbox.pep-dortmund.org
Other
26 stars 6 forks source link

tex kompilieren zeigt keine errors #7

Closed maxnoe closed 10 years ago

maxnoe commented 10 years ago

wenn ich die tex-dateien kompiliere werden keine errors angezeigt, nur die warnings.

itoijala commented 10 years ago

Bei mir geht's:

$ vim make.tex
$ make
$TEX --jobname=make make.tex
"/home/ismo/documents/TU:26: Undefined control sequence \fooooo.
"/home/ismo/documents/TU:26: leading text: \fooooo
"/home/ismo/documents/TU: [biblatex] Patching footnotes failed. Footnote detection will not work. (page 1)
Makefile:4: recipe for target 'build/make.pdf' failed
make: *** [build/make.pdf] Error 1

Es benutzt rubber, um den Log zu parsen. Falls du rubber nicht installiert hast, zeigt er die letzten Zeilen des Logs an, falls es einen Error gab.

maxnoe commented 10 years ago

Tatsache, mit nem Testfile gehts bei mir auch, bei der latex Präsentation war aber nichts dabei. Wäre ne undefined control sequence gewesen, die stand auch im logfile.

maxnoe commented 10 years ago

Es werden keine Fehler angezeigt, wenn die in einem File stehen, das mit \input eingebunden wird, nur die aus dem Hauptfile werden angezeigt.

itoijala commented 10 years ago

Bei mir geht auch das.

Lad doch einen Commit hoch, der das Problem zeigt, dann guck ich mir das an. Lad auch direkt danach einen Revert hoch, damit keiner böse ist.

maxnoe commented 10 years ago

ich hab in latex/conten/grundlagen.tex ein \TEST eingefügt, taucht nicht als undefined control sequence auf

itoijala commented 10 years ago

Habe den Bug in rubber gefunden. Das Problem ist, dass rubber Zeilen, die genau 79 Zeichen lang sind als gebrochen interpretiert und die nächste zeile anhängt. In diesem Fall hast du genau einen Fall erwischt wo das falsch ist, weil die Zeile echt genau 79 Zeichen lang ist und nicht gebrochen wurde.

Fazit: Es funktioniert fast immer. Ich sollte das parsen des Logs aus rubber extrahieren und korrigieren. Dann bräuchte auch nicht so eine veraltete Software installieren.

ibab commented 10 years ago

Bravo! :clap:

kdungs commented 10 years ago

So ganz verstehe ich den Grund für das Problem noch nicht. Was spricht gegen ein einfaches Makefile?

itoijala commented 10 years ago

Das Skript tex.sh (in common) macht was das Makefile machen würde (3 mal lualatex, biber) und zeigt zusätzlich nur Errors und Warnungen an.

Das Anzeigen des Fehlers funktioniert aber nicht, falls die Zeile in des .tex genau 79 Zeichen lang ist. Dann kann man halt im .log nachschauen. Es wird aber immer korrekt angezeigt, dass es einen Error überhaupt gab.

itoijala commented 10 years ago

Hab einen eigenen Log-Parser geschrieben, der viel besser funktioniert. LaTeX-Logs sind strukturierter als ich dachte……

Zusätzlich führt das Build-Skript TeX und biber nur so oft aus wie notwendig.

Beide Skripte leben in https://bitbucket.org/itoijala/tex-utils Hab sie hier in das Repo kopiert.