Die Welt in Gänsefüßchen
Da hat man schonmal einen Roman geschrieben, will ihn dann in LaTeX setzen und bekommt entweder eine Fehlermeldung oder stellt fest, dass die Anführungszeichen alle oben gesetzt sind.
Tatsächlich habe ich natürlich keinen Roman geschrieben, dafür aber einen kleinen Text, in dem die geraden Anführungszeichen (") am Anfang und Ende eines Satzes LaTeX-spezifisch mit geraden Anführungszeichen und Akzent ("`) und am Ende des Satzes mit geraden Anführungszeichen und Apostroph ("') gesetzt werden sollen, damit an deren Stelle später im PDF geschwungene Gänsefüßchen oben und unten zu sehen sind.
Zuerst habe ich versucht, den Text mit dem Unix-Befehl sed zu bearbeiten, konnte aber keine guten Ergebnisse erzielen. Also dachte ich an Perl, weil es sich am besten dazu eignet, mit regulären Ausdrücken, also mit bestimmten Suchmustern, einen Text zu durchsuchen und zu bearbeiten. In einem Kaufrausch hatte ich mir mal das Perl Kochbuch aus dem O’Reilly Verlag zuglegt. Zu meinem Glück gibt es am Ende des Kapitels über Mustererkennung einen Regex-Baukasten. Regex ist die Kurzform vom englischen „regular expression“, was zu Deutsch halt regulärer Ausdruck heißt. In diesem Regex-Baukasten gibt es Hilfe für mein Problem: "Gerade" Anführungszeichen in ”geschwungene, deutsche“ Anführungszeichen (”Gänsefüßchen“) umwandeln.
Damit konnte ich mir ein kleines Perl-Skript basteln, das dann die Aufgabe für mich erledigt hat:
#!/usr/bin/perl -w # gaensefuesschen.pl - Verwandelt gerade Anführungszeichen in # geschwungene Gänsefüßchen oben und unten in LaTeX. use strict; open(EIN, "< $ARGV[0]") or die "\nDatei $ARGV[0] konnte nicht geoeffnet werden\n"; open(AUS, "> $ARGV[1]") or die "\nDatei $ARGV[1] konnte nicht geoeffnet werden\n"; undef $/; my $text = <EIN>; use locale; $text =~ s/"([^"]*)"/\"\`$1\"\'/g; print AUS $text; close(EIN); close(AUS); |
Das Skript gaensefuesschen.pl wird im Ordner mit dem Text abgespeichert und muss noch ausführbar gemacht werden.
chmod +x gaensefuesschen.pl |
Danach ist es einsatzbereit:
./gaensefuesschen.pl Text_alt.tex Text_neu.tex |
In der Datei Text_neu.tex kann man schließlich die Veränderungen bewundern.
Geschrieben in Programmieren