Neuer Avatar!

Ich präsentiere: meinen neuen Avatar.StarCargoLogo.png

Ein paar Eckdaten:

Was ist das denn?
– Es handelt sich um das Logo einer fiktiven Firma, nämlich der Firma Star Cargo.

Star Cargo?
– Star Cargo ist eine kleine Lufttransport-Firma in einer abgelegenen Region in der Welt, in welcher mein in Korrektur befindliches Buch spielt. Star Cargo wurde von den Freunden Tom Korrenburr und Ikrang Selacqon gegründet und ist fast ein bisschen ein Zwei-Familien-Unternehmen.

Was transportiert Star Cargo?
– Alles, was anfällt. Verderbliches, Leichtes, Schweres. Wenn jemand von den abgelegenen Inseln oder von abgelegenen Höfen auf der Hochfläche zwischen den Fjorden in die Stadt muss, ist das auch kein Problem. Wenn der Rettungshubschrauber ausfällt, macht Star Cargo auch mal einen Krankentransport.

Und am wichtigsten: Warum ist das dein neuer Avatar?
– Star Cargo ist ein Teil der Kindheit meiner Romanheldin Jenny Korrenburr. Und irgendwie identifiziere ich mich sehr damit … auf dem einen oder anderen Shirt und der einen oder anderen Jacke in meinem Schrank findet sich das Logo inzwischen.

Hast du’s selbst gemalt?
– Nein. Auf meinen Auftrag hin hat windrider01 auf deviantArt das Logo für mich gemalt. Aber da’s meine Kreation war und sie es „nur“ für mich ausgeführt hat, darf ich’s natürlich nutzen.

Advertisements

Buch und Technik

Tja … an der einen oder anderen Stelle habe ich schon angedeutet, dass ich ein Buch schreibe. Es ist kein Sachbuch über Autobahnen. Es ist ein Roman, der zugegebenermaßen auch wesentlich mehr gefühlt cool ist als unbedingt authentisch.

Aber neben einer Menge Dinge über Stil, Lektorat und so weiter habe ich auch ein paar technische Dinge über das Schreiben gelernt. Vielleicht liegt das auch ein bisschen daran, dass ich einerseits faul bin und andererseits unorganisiert, und das irgendwie auf die Reihe kriegen muss.

Wo will ich hin?

Die Rahmenbedingungen, wie und in welche Ausgabeformate hinein ich schreiben wollte, haben sich mit der Zeit entwickelt, aber im Endeffekt steht nun folgende Anforderung im Raum:

  • Ich möchte mehrere Ausgabeformate erstellen können. Derzeit umfasst die Liste: PDF (A4, Blocksatz), „Normseiten“-PDF (A4, Zeilennummern, feste Spalten- und Zeilenzahl, breite Ränder), ePub, mobi. Außerdem soll das Ganze erweiterbar sein für neue Formate.
  • Ich möchte die Möglichkeit haben, einzelne Geschichten einzeln in die Ausgabeformate zu setzen, aber auch Sammlungen zu erstellen, in denen mehrere Einzelgeschichten zusammengefasst werden.

So weit, so einfach. Da ich aber – wie oben geschrieben – faul und unorganisiert bin, kommen noch weitere Rahmenbedingungen hinzu.

  • Ich möchte, dass ich Änderungen und Korrekturen in Geschichten nur einmal machen muss, so dass in einer Geschichte immer der gleiche Text-Content drin ist, egal in welchem Format. Das heißt: ich möchte den Quelltext meiner Geschichten nur einmal vorhalten und bei Änderungen nur an einer Stelle ändern müssen.
  • Ich möchte, dass die Formatierungen immer gleich aussehen. Wenn ich also die Spaltenzahl in meinen Normseiten-PDFs anpasse, soll das für alle Geschichten gleichermaßen vorgenommen werden. Das heißt: ich möchte die Formatierungs-Dateien nur einmal vorhalten und für jeden Text bei Übersetzung in ein bestimmtes Format das gleiche Formatierungs-File verwenden.

Auf sehr abstrakter Ebene ist die Lösung vollkommen simpel. Ich bilde eine Matrix – in den Zeilen stehen Formatierungen, in den Spalten stehen die einzelnen Texte. Mit den oben genannten vier Formaten und z.B. fünf Geschichten, die ich geschrieben habe, wären das 4 Formatierungs-Dateien und 5 Geschichten-Dateien, heraus kommen 4×5=20 Ausgabe-Dateien.

Ein winziges, aber nur winziges bisschen komplexer wird’s durch die Sammlungs-Ausgaben. Hier kommt dann noch eine Art Liste dazu, in der festgelegt wird, welche Content-Dateien in welcher Reihenfolge in die Sammlung hinein kommen.

Wie bin ich da hin gekommen?

Um zu erklären, wie ich da hin gekommen bin, wo ich hin wollte, muss ich glaube ich erst einmal meine Vorgeschichte anreißen. Ich habe Physik studiert und meine Diplom- und Doktorarbeiten in LaTeX geschrieben. Meine Analyse-Tools habe ich in C++ unter Verwendung einer Library vom CERN geschrieben, das Aufrufen meiner Analyse-Tools und auch anderer Dinge in bash mit Makros geregelt. Die Aufgabe, meine Texte zu verwalten, würde zwar mittlerweile den Einsatz eines kompilierten Programmes rechtfertigen, aber zu Anfang dachte ich, das wäre mit Kanonen auf Spatzen Schießen. Also habe ich mich an LaTeX und bash gehalten.

Mein System enthält nun vier „Arten“ von Dateien: Formatierungsdateien (LaTeX-Präambeln mit einem „Template-Include“), Sammlungslisten (LaTeX-Schnipsel, in denen letztlich nur eine Liste von \include-Befehlen drin steht), Text-Quell-Files (TeX-Dateien, in denen nur der Text meiner Geschichten drin steht, allerdings Text-Struktur-Befehlen und Sonderzeichen-Befehlen aus LaTeX, also mit LaTeX verarbeitbarer Text) und Text-Include-Files (wie die Text-Quell-Files, nur dass sie lediglich in Sammlungen verwendet werden).

Die eleganteste Lösung wäre nun eine bash-Schleife, die über alle Formatierungsdateien loopt, darin eine zweite Schleife, die über alle Sammlungslisten und Quell-Files loopt und darin der Aufruf eines Befehls. Heraus kommen (Zahl der Formate) x (Zahl der Einzelgeschichten + Zahl der Sammlungen) Dateien. Jede Formatierung und jedes Stück Inhalt wird nur einmal vorgehalten. Ganz so einfach ist es leider nicht, aber das ist das Prinzip.

Problem 1: LaTeX zu PDF und LaTeX zu eBook-Format erfordert etwas unterschiedliche Befehlsketten. Außerdem müssen noch ein paar Ersetzungen vorgenommen werden, weil manches in von LaTeX erzeugten PDFs gut aussieht, aber in über LaTeX erzeugten HTMLs, die dann per calibre command line tools zu ePub und mobi gemacht werden, nicht so gut aussieht. Die Lösung: meine Schleife im Script loopt über alle Text-Quell-Files, aber die einzelnen Präambeln stehen explizit mit individuell für das Format gemachten Befehlsketten innerhalb der Schleife.

Problem 2: LaTeX unterstützt kein „geschachteltes“ Inkludieren. Präambel inkludiert Liste inkludiert Quell- und Include-Files funktioniert also nicht. Die Lösung: daher habe ich die Include-Listen aus meiner Quell-File-Schleife herausgenommen und füge aus Muster-Präambel und Include-Liste ein Sammlungs-Master-File zusammen. Dafür benutze ich cat. Da das etwas andere Befehle (und einige Zeilen mehr) erfordert als nur die Quellfiles in die Präambeln zu inkludieren, entsteht für die Listen-Files eine zweite Schleife.

Problem 3: Der Script arbeitet und arbeitet und arbeitet – obwohl wenig geändert wurde. Die Lösung: von jedem der (an Speicherplatz kleinen) Quell-Files wird bei jedem Run des Scripts eine Kopie erstellt. Bevor der Script LaTeX anwirft, checkt er erstmal, ob sich was verändert hat. Hat sich die einzelne Geschichte geändert, übersetzt er sie nochmal. Hat sich eine Präambel geändert, übersetzt er alles nochmal in dieses Ausgabeformat. Hat sich eine Einzelgeschichte oder ein Include-File geändert, übersetzt er alle Sammlungen nochmal. So schlau, dass der Script eine Include-Liste mit der Liste der geänderten Dateien abgleichen kann, ist mein Script (noch) nicht.

Welche Werkzeuge benutze ich?

LaTeX in Form von pdflatex und htlatex aus dem Paket tex4ht. Calibre, hieraus allerdings nur die command line tools, vor allem ebook-convert, ebook-polish, ebook-meta. Ganz exzessiv bash. Für Ersetzungen und ein bisschen Statistik – Wörter Zählen, Listen der verschiedenen Worte Erstellen und so weiter – kommt perl zum Einsatz.

Kurz gefasst: Was macht mein System?

Mein System macht aus Quell-Format-Dateien und Quell-Text-Dateien formatierte Ausgabe-Dateien. Mein System macht aus Quell-Format-Dateien, Include-Listen und Quell-Text-Dateien formatierte Ausgabe-Dateien.

Dateiencontent: preamble[Format].tex, [sammlung]Basis.tex, [geschichte]Source.tex, [sammlung][bezeichnung]Include.tex

Arbeitsschritte: Vergleich mit Vergleichsordner, ob sich was geändert hat. Wenn ja: Loop über Einzelgeschichten, „Loop“ über Präambeln, Befehle zum Übersetzen, Kopieren der Enddateien in Ausgabeordner, Löschen der Zwischenschritt-Files. Loop über Include-Listen, „Loop“ über Präambeln, Bauen eines Masterfiles aus Include-Liste und Präambel, Befehle zum Übersetzen, Kopieren der Enddateien in Ausgabeordner, Löschen der Zwischenschritt-Files. Zuletzt Kopieren der Rohdaten in den Vergleichsordner.

Ausgabe: [sammlung].pdf, [sammlung]Normseiten.pdf, [sammlung].epub, [sammlung].mobi, [geschichte].pdf, [geschichte]Normseiten.pdf, [geschichte].epub, [geschichte].mobi

Was noch fehlt:

Aufräumen und Segmentieren für bessere Wartung. Eventuell Umbau in ein kompiliertes Programm für bessere Performance.

Warum ich all das hier aufgeschrieben habe?

Ich habe eingestandenerweise lange gesucht, bis ich all die Dinge zusammen hatte, die ich brauchte, um in oben genannter Weise, aus meiner Sicht „vernünftig“ mit meinen Texten umgehen konnte. Vielleicht hilft es ja irgendjemandem, sich selbst ein ähnliches System zu bauen.

Wieder da

Dieses Mal hat es etwas länger gedauert.

Ich habe interessante Zeiten hinter mir – und in der Hinsicht ist der dem Chinesischen zugeschriebene Spruch wahrlich ein Fluch. Ich habe mit vielem gehadert, vor allem an der Seite, an der es kaum Alternativen gibt – im Privatleben und beim Hobby ist es leichter, sich zu verändern (zumindest wenn man, wie ich, keine Kinder hat). Aber das wollte ich gar nicht. Tja, bleibt eine Stelle und die ist in Arbeit.

Aber: Die Pendelei ist weiterhin da. Nur fahre ich inzwischen ein neues Auto, wieder einen Aygo. Beim alten machten Kupplung und Katalysator nicht mehr mit, und bei einer Viertelmillion Kilometern kauft man sich da lieber ein neues Auto. Göttlich dabei: erstens ist’s ein neuer Aygo, der viel besser aussieht als der alte, zweitens hat er ein elektronisches System, das mich begeistert. Das Handy verbindet sich mit Bluetooth oder USB, es gibt eine Freisprechanlage und eine Rückfahrkamera. Und mit dem „X“ in grau auf der Front und sonst Schwarzmetallic-Lackierung sieht das Gefährt auch sehr gut aus. Dazu gab’s eine Klimaanlage und ein paar weitere tolle Features. Während der Autofahrten entstehen noch immer Geschichten. Wie ich schon mehrfach gesagt habe, vielleicht sogar hier: Phantasie ist einfach leichter mal „plötzlich abschaltbar“, wenn man die volle Aufmerksamkeit für den Verkehr braucht, als das bei irgendwelchen Medien oder Telefonaten der Fall ist, selbst mit Freisprecheinrichtung. Und so entwickelt sich meine Sammlung von Geschichten weiter – und die Welt meiner Bücher.

Denn auch hier bin ich in den vergangenen Wochen und Monaten voran gekommen. Mein Buch „Am Rand des Strömungsabrisses“ ist lektoriert worden und steht vor seiner Veröffentlichung. Ein Cover ist bei einer befreundeten Zeichnerin in Auftrag gegeben, und ein Drittel der Anmerkungen aus dem Lektorat sind schon umgesetzt. Ich freue mich schon sehr darauf, hier im Blog vielleicht sogar etwas drüber schreiben zu können – denn große Teile des Hintergrunds zu „Am Rand des Strömungsabrisses“ und seinem Sequel „Aus Feuer und Stahl“ können gar nicht in Buch und Glossar des Buches untergebracht werden. Die Welt Tethys, auf der beide Bücher spielen, ist viel größer, viel umfangreicher und beschäftigt mich schon viel länger als die Bücher über meine Heldin Jenny Korrenburr.

Da ich gerade einen Abend mit Freunden hinter mir habe, mit Star Trek: Deep Space Nine, Spätburgunder Barrique vom Weingut Spieß aus Weingarten/Pfalz, Espresso und Ramazotti, will ich hier schließen und versuchen zu geloben, wieder mehr hier zu schreiben. Auch, weil ich mich  sehr freue, dass ich trotz meiner Inaktivität hier sehr liebe Kontakte über WordPress und dieses Blog gewonnen und behalten habe!

Bis bald … die Highway-Tellerin.