
Nach meinervorherige Frage, ich habe erfolgreich einedif.texDatei eines großen, komplexen Projekts, dessen Ergebnisse sichtbar sindHier. (Dies wurde letztlich durch die Aktualisierunglatexdiffauf die neueste Version: 1.0.3, die nicht in Ubuntu 12.04 ppas ist und mit: PICTUREENV=(?:picture|DIFnomarkup|lstlisting|figure|table)[\w\d*@]*
alsKonfigurationsdatei.
Es ist toll, durch das Dokument scrollen und alle vorgenommenen Verbesserungen sehen zu können. Vielen Dank, latexdiff!
Das nächste Problem ist, dass das PDF-Dokument sehr groß ist und die Änderungen relativ spärlich sind - ich kann nicht erwarten, dass meine Prüfer alle 300 Seiten durchsehen und nach rotem und blauem Text suchen, der auf Änderungen hinweist. Was ich brauche, ist einZusammenfassung der Änderungen. Dies würde mindestens den geänderten Text enthalten. Idealerweise würde es auch die umgebenden Wörter für den Kontext und (mit großer Wahrscheinlichkeit) die Seitenzahl der Änderung enthalten. Möglichkeiten, dies zu tun, sind mir eingefallen:
- Definieren Sie die
\DIFdelbegin
Umgebung neu - Verwenden Sie einen regulären Ausdruck wie grep, um alle Zeilen aus dif.tex zu extrahieren, die diese enthalten,
\DIF
und kompilieren Sie diese separat - Tun Sie es mithilfe von Latexdiff-Befehlen (ich habe die Dokumentation überprüft, weiß aber nicht, wie das geht).
- Wäre ein ganz anderer Ansatz zur Lösung dieses Problems besser geeignet (Erstellen einer zugänglichen Liste der vorgenommenen Änderungen, ohne den unveränderten Text einzubeziehen)?
Ich kenne eineähnliche Fragewurde auf dieser Site geschlossen. Hoffentlich macht die Klarheit dieser Frage und die Bereitstellung eines Beispiels sie für andere nützlich.
Antwort1
Seit der Version 1.1.0 gibt es in Latexdiff eine neue Funktionalität, die nur die Seiten ausgibt, auf denen eine Änderung vorgenommen wurde.
Schauen Sie sich die Option
--only-changes
zu latexdiff-vc
oder Optionen -s ONLYCHANGEDPAGE
oder -s ZLABEL
für latexdiff
an. Ersteres ist viel bequemer, da die Nachbearbeitung im Hintergrund erfolgt.
(Ich weiß, dass diese Frage wirklich alt ist, aber die Verbesserungen bei Latexdiff in dieser Hinsicht seit der Veröffentlichung der ursprünglichen Antworten sind erheblich.)
Antwort2
Ich denke, der mit Abstand einfachste Weg ist die Verwendung von grep
. Die GNU-Implementierung von grep
(die Sie haben, wenn Sie GNU/Linux verwenden) bietet einen Schalter namens , der -C
genau das tut, was Sie wollen: Er bietet Kontextzeilen rund um die Übereinstimmung.
So etwas sollte helfen
grep -C 5 '\\DIF' source.tex > destination.tex
Dadurch werden 5 Zeilen vor und 5 Zeilen nach dem Spiel bereitgestellt. Ändernnach Belieben.
Möglichkeiten, wie dies fehlschlagen kann
- Wenn die Kontextzeilen die Grenzen der LaTeX-Umgebung/-Gruppe überschreiten, schlägt die Kompilierung Ihres neuen Dokuments fehl.
- Wenn ein Element
\DIF
innerhalb eines 5-Zeilen-„Radius“ eines anderen Elements existiert,grep
enthält die Ausgabe von Duplikate. Dies ist möglicherweise kein großes Problem, wenn Ihre Änderungen tatsächlich spärlich sind, aber Sie müssen dies möglicherweise visuell überprüfen.
Antwort3
Machen Sie es manuell.
Ich habe festgestellt, dass der beste Weg, eine "Zusammenfassung der Änderungen" zu erstellen, darin besteht, diedif.texDatei und wähle die Änderungen aus, die ich brauchte. Das war großartig, denn so konnte ich nur die Änderungen einfügen, die nötig waren, und genügend Kontext hinzufügen, damit andere verstehen konnten, warum die Änderungen vorgenommen wurden.
Das Ergebnis (siehedifsum.pdf), zusammen mit den relevanten .tex-Dateien und reproduzierbarem Code und Beispieldaten These wurden GitHub gestellt, um transparente undwiederholbarForschung:https://github.com/Robinlovelace/thesis-reproducible. Hoffentlich ist dies für andere Leute von Nutzen, die ihre Verwendung von LaTeX für die Einreichung und Änderung von Abschlussarbeiten optimieren möchten.