Neuformatierung eines LaTeX-Dokuments mit Perl

Neuformatierung eines LaTeX-Dokuments mit Perl

Ich habe ein LaTeXDokument, in dem die Änderungen im Text und in den Gleichungen in Rot markiert sind, damit sie vom unveränderten Text unterschieden werden können:

{\color{red} MODIFIED TEXT OR EQUATION GOES HERE.}

Diese Änderung kann ein einzelnes Wort, eine Phrase, ein Satz, ein Absatz oder eine Gleichung sein. Beispiel:

 \pi \rho \hat{\bf x} \int\omega_{\color{red} \theta}

oder

{\color{red} This work presents the ``numerical study'' of convection in vertical annuli;}

perlWie kann ich einen Einzeiler schreiben , der {\color{red} MODIFIED TEXT OR EQUATION GOES HERE.}durch ersetzen kann MODIFIED TEXT OR EQUATION GOES HERE.? Ich meine, durch Entfernen {\color{red}der rechten geschweiften Klammer }im gesamten LaTeXDokument.

Antwort1

perl -p -i -e 's/{\\color{red}(.*)}/\1/g' filename

Erklärung der Flaggen (aushttps://stackoverflow.com/a/6302045/330830):

-p: Legt eine Druckschleife um Ihren Befehl, sodass dieser auf jede Zeile der Standardeingabe wirkt. Wird hauptsächlich verwendet, damit Perl awk in puncto Leistung UND Einfachheit um Längen schlagen kann :-)

-e: Ermöglicht Ihnen, das Programm als Argument statt in einer Datei bereitzustellen. Sie möchten nicht für jeden kleinen Perl-Einzeiler eine Skriptdatei erstellen müssen.

-i: Ändert Ihre Eingabedatei direkt (erstellt eine Sicherungskopie des Originals). Praktisch zum Ändern von Dateien ohne den Vorgang {Kopieren, Original löschen, Umbenennen}.

Antwort2

Versuche dies:

$ echo "{\color{red} MODIFIED TEXT OR EQUATION GOES HERE.}" | \
perl -pe 's/\{\\color\{red\} (.*?)\}/$1/g'
MODIFIED TEXT OR EQUATION GOES HERE.

verwandte Informationen