Mein Projekt »reStructuredText und Sphinx für Literaten« (reST and Sphinx for Poets) geht weiter. Gestern abend bin gehöriges Stück vorangekommen. Sphinx wird ja normalerweise von der Kommandozeile aus bedient, eine Arbeitsweise, die bei meinen Klienten (eine Mixtur aus Geisteswissenschaftlern und Verwaltungsangestellten) eher Unverständnis und Widerwillen hervorruft. Ich hatte das bei Pandoc schon einmal dadurch entschärft, daß ich kleine Shellskripte für die Projekte eines Klienten geschrieben hatte, die als Dateien in einem TextMate-Projekt abgelegt waren und von dort aus mit [cmd][r]
aufgerufen wurden. Leider behauptete Sphinx in diesem Falle, die Datei sphinx-build
nicht zu kennen.
Nun ist es eine Eigenart von TextMate, daß cwd
, das current working directory, immer auf das Wurzelverzeichnis des TextMate-Projekt gelegt wird. Und das ist oftmals nicht das Verzeichnis, von dem make
gestartet wird1 und in dem die conf.py
liegt.
Ich bin kein Shell-Skripter, die Bash
macht mir Angst. Doch dann kam ich auf die Idee, in dem Bash
-Skript einfach die fehlenden Pfade hinzuzufügen. Ein Skript zur Erzeugung von PDF-Dateien kann daher so aussehen:
#!/bin/bash PATH=$PATH:/usr/texbin:/Library/TeX/texbin:/usr/local/bin:/Users/admin/anaconda3/bin cd /Pfad/im/Projekt/zur/conf.py make latexpdf
Und schwupps, der Nutzer öffnet die Bash
-Datei, gibt [cmd][r]
ein und aus TextMate wurde LaTeX aufgerufen und dann das PDF erzeugt. Es gibt noch einige mir unverständliche Warnungen, zum Beispiel, daß ein paar Befehle in Docutils
veraltet seien und in Zukunft nicht mehr funktionieren könnten, aber ansonsten sieht alles schick aus.
Das Verfahren hat vor allem den Vorteil, daß man all die vielen zusätzlichen Optionen, die Jan Ulrich Hasecke in seinem wunderbaren Buch »Software-Dokumentation mit Sphinx« vorstellt, einmal in das Skript eingibt und sie dann iterativ verfeinern und ergänzen kann.
Ich habe mir auch gleich ein Skript für HTML-Seiten und ein Skript für Ebooks gebastelt.
Caveat: Wie oben schon erwähnt, bin ich kein Bash
-Guru. Es gibt sicher elegantere Methoden für solch ein Skript. Aber für meine Zwecke reicht es erst einmal aus.
1 (Email-) Kommentar
Eine mögliche Methode, seine Kunden von batch und shell scripten zu befreien, ist, eine Electron Applikation daraus zu machen.
Das setzt allerdings NodeJS Kenntnisse voraus.
– Dirk K. (Kommentieren) (#)
Über …
Der Schockwellenreiter ist seit dem 24. April 2000 das Weblog digitale Kritzelheft von Jörg Kantel (Neuköllner, EDV-Leiter Rentner, Autor, Netzaktivist und Hundesportler — Reihenfolge rein zufällig). Hier steht, was mir gefällt. Wem es nicht gefällt, der braucht ja nicht mitzulesen. Wer aber mitliest, ist herzlich willkommen und eingeladen, mitzudiskutieren!
Alle eigenen Inhalte des Schockwellenreiters stehen unter einer Creative-Commons-Lizenz, jedoch können fremde Inhalte (speziell Videos, Photos und sonstige Bilder) unter einer anderen Lizenz stehen.
Der Besuch dieser Webseite wird aktuell von der Piwik Webanalyse erfaßt. Hier können Sie der Erfassung widersprechen.
Diese Seite verwendet keine Cookies. Warum auch? Was allerdings die iframes
von Amazon, YouTube und Co. machen, entzieht sich meiner Kenntnis.
Werbung
Diese Spalte wurde absichtlich leergelassen!