Was sind die Unterschiede zwischen Latexmk und Gummi?

Was sind die Unterschiede zwischen Latexmk und Gummi?

Ich bin gerade darüber gestolpertBlogbeitrag überrubberund dachte: „Ist es nicht genau das, was latexmkes tut?“. Jetzt frage ich mich: Ist es nicht so? Oder gibt es da Unterschiede?

Antwort1

Es scheint, dass der Belag folgende Eigenschaften hat, die latexmk (noch?) nicht bietet:

  1. Gummianalysiert die LaTeX-Logdatei, filtert es und gibt nur "relevante" Nachrichten (Warnungen, Fehler) in einer lesbaren Form aus. Rubber führt LaTeX immer in einerNicht-interaktiver Modus, während Latexmk zusätzliche Schalter oder Konfigurationen zu erfordern scheint.
  2. Mit Gummi können SieKonfigurationsoptionen als Kommentare im LaTeX-Quellcode; latexmk erfordert zusätzliche Konfigurationsdateien.
  3. Am wichtigsten ist, dass Sie mit Rubber die richtigen Werte angeben können fürTEXINPUTS, BIBINPUTS, BSTINPUTS usw.für jedes Dokument mit den oben genannten Konfigurationsoptionen; latexmk scheint davon auszugehen, dass diese Umgebungsvariablen bereits entsprechend definiert sind.

Natürlich können viele dieser Probleme mit einigen Wrapper-Skripten und Hilfsdateien umgangen werden. Und natürlich gibt es viele Funktionen von latexmk, die Rubber nicht bietet.

Antwort2

Ein wichtiger Vorteil von latexmk gegenüber rubber ist, dass latexmk abhängige Dateien viel zuverlässiger erkennt. Soweit ich es herausfinden konnte, ermittelt rubber die abhängigen Dateien, indem es die Tex-Datei analysiert und \inputnach Makros sucht. Wenn diese Makros jedoch in einem anderen Makro vergraben sind, erkennt rubber die abhängigen Dateien nicht richtig. Wenn Sie beispielsweise\include\includegraphics

\newcommand\try[1]{\input{#1}}
\try{sub}

Rubber erkennt nicht, dass es sub.texsich um eine abhängige Datei handelt. Wenn sich die Datei sub.texändert, erkennt Rubber daher nicht, dass die Kompilierung erneut ausgeführt werden muss.

Stattdessen analysiert Latexmk die Protokolldatei und verwendet die -recorderOption ( pdf) latex, um die abhängigen Dateien zu bestimmen.

Antwort3

Latexmk verfügt außerdem über eine Auto-Vorschau-Funktion, die das PDF (intelligent) neu kompiliert, sobald der Text gespeichert wird.

Es gibt auch erweiterte Funktionen, wie beispielsweise eine enge Integration mit Makefiles.

verwandte Informationen