Neben den Backslashes am Zeilenende gab es Backslashes innerhalb des
Textes.
Beispiel:
- Datum: 05.\,02.\,2024
- Straße: Gitstr.\,42
Mit diesen Backslashes kam die Ersetzung nicht gut zurecht.
Daher habe ich das so geändert, dass jedes Semikolon (';') durch einen
Backslash ersetzt wird. Im Datum und Straßen muss nun auch ein Semikolon
stehen. Damit klappt die Ersetzung besser.
Bisher war die Ersetzung der Anschrift nicht perfekt. Hier wurde teils zuviel
gefressen. Mit der Änderung klappt bei meinen Tests alles. Eventuell muss das
aber nochmal angepasst werden.
Im Text der Rechnung muss es zu Anfang eine Einleitung geben. Dort kann
man auf Verträge, Absprachen, Beauftragungen etc. Bezug nehmen. Ich habe
das gemäß dem Muster der POSITION eingebaut.
- kpsewhich sucht nach rechnung.sty
- prinf_failed kann optional ein string übergeben werden
- neue funktionen fail_and_exit, get_link_target, check_rechnungsdaten
- check_readable und check_binarys testen auf symbolische links
- einige funktionen mit kommentaren versehen
wenn das kompilieren fehlschlägt wird im log nach fehlermeldungen gesucht und
diese ausgegeben. ein - nach /bin/sh verhindert parameterübergaben. ifs wird
explitiet gesetzt.
Das Programm `rubber` kompiliert automatisch LaTeX-Texte und lässt LaTeX so oft
durchlaufen, wie es notwendig ist. Hier wird `rubber` außerdem genutzt, um
hinterher aufzuräumen.
In der LaTeX-Datei fehlte ein Backslash. Bei der Ersetzung benötigt sed ein paar
mehr Backslashes, weil einige bei der Ersetzung "verloren" gehen. Damit hat sich
der Issue #2 erledigt.
Der Check auf $EUID ist Bash-spezifisch. Die sh nutzt $euid etc.
Damit würde der Check über verschiedene Shells fehlschlagen. Der
Befehl `id -u` ist hingegen vorhanden und sollte Shell-übergreifend
funktionieren.
Das Skript soll bei fehlgeschlagenene Kommandos oder wenn nicht gesetzte
Variablen genutzt werden, stoppen.
Die Option `posix` scheint Bash-spezifisch zu sein -> entfernt.