patgen selbst kompilieren
Die Wortliste der deutschen Trennmustermannschaft ist sehr groß. Die originale Version von patgen
ohne Patches reicht keinesfalls aus, um deutsche Trennmuster zu erstellen. TeXLive kommt bereits seit 2006 mit um den Faktor 10 vergrößerten Werten für trie_size
und triec_size
, doch reicht das immer noch nicht, wenn man mit der aktuellen Liste experimentieren will – die beiden Arrays müssen nochmals um den Faktor 10 vergrößert werden. TeXLive 2019 wird diese Änderung enthalten.
Will man aber nicht auf TeXLive 2019 warten, muss man patgen
selbst kompilieren. Hier eine Anleitung, wie man das unter einem Unix-ähnlichen Betriebssystem wie GNU/Linux oder MacOS macht.
Quellcode holen
[Der hier beschriebene Weg braucht rund 500MByte an Festplattenspeicher, um eine Datei mit einer Größe von weniger als 100kByte zu erzeugen – das ist natürlich mit Kanonen auf Spatzen schießen, jedoch wird keine zusätzliche Handarbeit benötigt, was das ganze Unterfangen enorm erleichtert.]
Die schnellste Methode ist, mittels rsync
nur den Inhalt des Verzeichnisses build/source
des TeXLive-Repositoriums zu holen.
mkdir patgen-build cd patgen-build mkdir source cd source rsync -vaz --delete --exclude=.svn tug.org::tldevsrc/Build/source/ . cd ..
Insgesamt werden rund 90MByte komprimiert übertragen, was rund 430MByte Daten auf der Festplatte ergibt.
Konfiguration und Kompilation
Wir bauen patgen
außerhalb des Quellcode-Baumes.
mkdir work cd work
Am einfachsten ist es, den folgenden langen Befehl mittels Cut-and-Paste in einer Datei build.sh
zu speichern und diese dann als sh build.sh
auszuführen.
../source/configure \ --without-x \ --disable-all-pkgs \ --enable-web2c \ --disable-tex \ --disable-etex-synctex \ --disable-ptex \ --disable-ptex-synctex \ --disable-eptex \ --disable-eptex-synctex \ --disable-uptex \ --disable-uptex-synctex \ --disable-euptex \ --disable-euptex-synctex \ --disable-aleph \ --disable-pdftex \ --disable-pdftex-synctex \ --disable-luatex \ --disable-luatex53 \ --disable-luajittex \ --disable-xetex \ --disable-synctex \ --disable-mp \ --disable-pmp \ --disable-upmp \ --disable-mfluajit \ --disable-mf \ --disable-mf-nowin \ --disable-mflua \ CFLAGS="-O3" &> configure.log \ && make &> make.log
Die Ausführung des obigen Befehls dauert ein paar Minuten und benötigt rund 50MByte an Festplattenspeicher; die stdout-Ausgabe wird in die Dateien configure.log
und make.log
umgeleitet.
Installation
Die kompilierte Datei patgen
befindet sich im Verzeichnis texk/web2c
. Da das Programm statisch kompiliert ist und daher von keinen DLLs abhängig ist, kann man die Datei in ein beliebiges Verzeichnis kopieren.