match_parens: neues Tool zum Prüfen von Klammerungen
Heute erschien auf CTAN ein neues Script namens match_parens. Diese von Wybo Dekker geschriebene Programm hilft dem Anwender, die paarweise Übereinstimmung der Klammern in Dokumenten zu überprüfen, die Klammern {}[]()<> werden unterstützt.
match_parens wurde in Ruby programmiert, obwohl es auf ctan-ann als Perl-Script beschrieben wurde, daher ist eine bestehende Ruby-Umgebung notwendig. Auf Ubuntu (und Debian) Linux-Systemen kann Ruby durch
sudo apt-get install ruby
installiert werden, damit kommen die Pakete libruby1.8, ruby, ruby1.8 auf Ubuntu 9.04 zum System hinzu. Natürlich lässt sich das auch durch Synaptic auf Ubuntu erledigen. Das Script kann durch
chmod u+x match_parens
ausführbar gemacht werden. Man kann auch Option a statt u wählen, damit alle Anwender es ausführen können. Danach kann das Script mit dem Namen der zu prüfenden Datei durch
./match_parens test.tex
aufgerufen werden. Die Ausgabe des Programms zeigt dann die offenen Paarungen am linken Rand. Hier ist eine Beispiel-Ausgabe:
1 [ [Hello, here is some 2 text] (without) a meaning. 3 ( (This text should show, 4 ( how a printed text will 5 look like at this place.) 6 ({ ({If you read this text, 7 you will get no information}). 8 Really? Is there no information? 9 [ Is there [a difference between 10 this text and ] some nonsense 11 like Huardest gefburn . Kjift – 12 (( Never mind! (A blind text (like 13 ( this) gives you information about 14 ({[ {[the selected font, how the 15 ({[ letters are written and the 16 ({[) impression of the look). 17 ({[) |
Noch offene Klammern kann man links sehen, sie verschwinden, nachdem sie geschlossen werden. Am Ende sieht man die noch bestehenden Klammerungs-Probleme und kann sie beheben.
Dieses kleine Tool mit seinen nur ca. 20 Ruby-Codezeilen kann besonders nützlich sein, um große TeX-Dokumente zu prüfen, wo zum Beispiel Fehler durch verschachtelte Klammerung schwer zu lokalisieren sein können.
This text is available in English. Dieser Text ist auch in Englisch verfügbar.
Comments (2)