Skip to content

Typographie lernen mit Type:Rider

Im aktuellen Humble Bundle befindet sich ein Spiel namens Type:Rider. Da es sich nicht um ein simples Geschicklichkeitsspiel handelt, will ich etwas mehr dazu schreiben.

In Type:Rider versucht man mit zwei rollenden Kreise (als Anlehnung an einen umgekippten Doppelpunkt) sich seinen Weg durch die einzelnen Levels zu bahnen. Effektiv kann man nur mit den Pfeiltasten rollen und mit der Leertaste hüpfen. Dies ist also alles andere als besonders. Besonders ist aber der Levelaufbau.

Type:Rider-Titel Hintergrundinformationen

Jedes Level besteht aus vier Abschnitten und beschäftigt sich mit einer bestimmten Epoche der Typographie. Von den ersten Höhlenmalereien über die Hieroglyphen zum Buchdruck, der Typenradschreibmaschine und dem Internet. Jedes Level ist dabei nach einer bekannten Schriftart benannt. Es fängt mit Gothic und Garamond an, später trifft man natürlich auch Times und Helvetica und alles findet in Pixel seinen Abschluss.

Gutenberg Baskerville

Die Level sind dabei nicht mit Wiesen und Wäldern angehäuft, wie man das von anderen Geschichlichkeitsspielen gewohnt ist, sondern werden entweder komplett nur aus Buchstaben der jeweiligen Schriftart oder aus bekannten Objekten der jeweiligen Epoche dargestellt. So muss man beispielsweise über die Leitung eines Morseapparates springen oder mit der Type einer Schreibmaschine eine Kugel werfen. Die Macher haben sich dabei ein sehr schönes und abwechslungsreiches Leveldesign ausgedacht. Ebenso unterlegt die Musik das Spielgeschehen sehr gut.

Offset-Druck Metropolis

In jedem Level muss man die einzelnen Buchstaben von A-Z aufsammeln. Zusätzlich gibt es versteckt noch ein Kaufmanns-Und & zu finden. Daneben kann man mehrere Sterne einsammeln, die jeweils einzelne Informationen zu der Epoche beschreiben. So lernt man etwas über die verschiedenen Druckverfahren oder auch die wichtigen Leute hinter den Schriften oder Erfindungen.

Wer sich für Typographie interessiert und am besten noch gerne spielt, ist mit Type:Rider gut beraten. Alternativ kann man auch sein Kind spielen lassen und führt sich nur die Hintergrundinformationen später alleine zu Gemüte. Finanziert wurde das Spiel im Übrigen vom europäischen Kultursender arte.

Schnee Space Invaders

Das Spiel gibt es im Humble Bundle für Windows, MacOS X, Linux und Android. Bei mit unter Linux ist es leider nur auf Englisch verfügbar, angeblich gibt es das Spiel aber auch in Deutsch, was vor allem für die zahlreichen Hintergrundinformationen hilfreich wäre.

Kollaboratives Arbeiten mit ShareLaTeX

ShareLaTeX ist ein Dienst, um gemeinsam online LaTeX-Dokumente zu editieren und zu übersetzen. Bisher war ShareLaTeX proprietär, in der Standardversion aber kostenlos nutzbar, wobei der Speicherplatz arg beschränkt war, ebenso wie die Versionshistorie.

In ihrem Blog haben die Entwickler bekannt gegeben, dass ShareLaTeX nun Open Source ist. Der Quellcode ist auf Github verfügbar und somit kann sich jeder seinen eigenen Server aufsetzen.

Für freiesMagazin wäre das System sicherlich interessant, zumal es dann kein Problem gäbe mit den unterschiedlichen TeX-Versionen bei den Bearbeitern. Aber eine Evaluierung, ob wirklich alles klappt, dauert wohl etwas Zeit. Zusätzlich kann man mit ShareLaTeX scheinbar nicht offline arbeiten, was das Konzept zumindest erst einmal hinfällig macht.

DANTE-Frühjahrstagung in Heidelberg

Die DANTE-Frühjahrstagung findet dieses Jahr in Heidelberg statt. Vom 11. bis 14. April 2014 treffen sich alle TeX-Interessierten aus dem deutschsprachigen Raum (und manchmal auch darüber hinaus), um Vorträge und Tutorien zum Thema TeX und LaTeX zu hören.

Dieses Jahr ist sogar eine Besonderheit, da der Deutsche Anwendervereinigung TeX e.V. 25 Jahre alt wird. Am 14. April ist es soweit, weswegen der Termin diesmal auch etwas besonders von Freitag von Montag geht.

Der Call for Papers ist gestartet und es können noch Vorträge eingereicht werden. Im Anschluss an die Tagung soll es sogar einen Tagungsband geben.

Ich nehme natürlich wieder teil und halte einen Vortrag zum Thema „Registerhaltiger Satz mit LaTeX“, weil wir das bei freiesMagazin benutzen. Nur die Beispiele nerven gerade etwas, weil TeX mal wieder nicht so will wie ich, was die Abstände angeht … :(

Jeder, der mit LaTeX zu tun hat, sollte versuchen zu kommen. Heidelberg liegt vielleicht nicht ganz zentral in Deutschland, ist aber ein schönes Städtchen und einen Besuch wert.

Explizite Positionierung in LaTeX

Mit LaTeX lassen sich zahlreiche Texte und Werke setzen (auch wenn für einige LaTeX ggf. nicht die erste Wahl ist). Für manche Aufgaben benötigt man eine explizite Positionierung von Objekten. Als Beispiel sei die Postererstellung genannt, wo man die einzelnen Textblöcke frei auf dem Blatt verteilen möchte. Der Artikel soll zwei Möglichkeiten für diese Positionierung aufzeigen.

Einleitung

Für die explizite Positionierung bzw. allgemein für das Setzen von Elementen in einem Gitter gibt es für LaTeX zahlreiche Pakete, von denen viele aber sehr speziell sind und nicht allgemein angewendet werden können.

Es werden daher in diesem Artikel nur die Pakete erwähnt, die eine echte explizite Positionierung erlauben. Dies kann entweder in der Form „Setze mir ein beliebiges LaTeX-Element an eine bestimmte Position (X,Y) auf der Seite“ oder auch „Setze ein beliebiges LaTeX-Element relativ zu anderen auf die Seite“.

textpos

Das LaTeX-Paket textpos wurde von Norman Gray erstellt, existiert bereits seit 1999 und wird immer noch gepflegt. Die einfachste Anwendung sieht so aus:

\documentclass{scrartcl}
\usepackage[absolute]{textpos}

\begin{document}
Das ist der normale Text der Seite,
der normalerweise nicht benutzt wird.

\begin{textblock*}{29mm}(45mm,80mm)
Hier steht ein kleines bisschen mehr
Text als in die ganze Box passt.
\end{textblock*}

\end{document}

Durch die Option absolute des Paketes hat man die Möglichkeit, absolute Positionen für die ein einzelnen Textblöcke anzugeben. Ohne die Option beziehen sich alle Positionsangaben auf die aktuelle Position auf der Seite. In dem Beispiel also auf den Absatz nach „… wird.“

Die textblock*-Umgebung stellt danach einen Textblock an der absoluten Position 45 mm (horizontal) und 80 mm (vertikal) auf der Seite dar, wobei ab der oberen linken Ecke gemessen wird. Der Block selbst hat dann eine Breite von 29 mm. Die Höhe der Box wird durch den Inhalt bestimmt, der per Standard im Blocksatz gesetzt wird. Der Inhalt der Box ist beliebig und kann auch Bilder oder anderes enthalten.

Wenn man die Paket-Option showboxes mit angibt, wird die jeweilige Box noch umrahmt. Wenn man das bei obigem Beispiel macht, sieht man auch, dass es ein kleines Problem beim Umbrechen des Textes gibt, da dieser über den Rand hinausgeht. Dies ist bei Blocksatz und solch kleinen Boxen normal, da der maximale Abstand für Wörter sonst nicht eingehalten werden könnte. Vergrößert man die Box oder nutzt \raggedright, \raggedleft oder \centering innerhalb der Box, gibt es keine Probleme mit Umbruch und Trennung des Textes.

Weitere Möglichkeiten des Paketes textpos sind, dass man ein Gridlayout über \TPGrid angeben kann. Über die Nicht-Stern-Umgebung textblock ist es dann möglich, anhand dieses Grids die Boxen zu positionieren. Zusätzlich lässt sich der Ursprung in der linken oberen Ecke über \textblockorigin verschieben, wenn man beispielsweise einen Rand mit beachten möchte. Alle weiteren Funktionen kann man in der Dokumentation nachlesen.

grid-system

grid-system ist ein relativ neues Paket von Marcus Bitzl. Bei der Erstellung des Paketes wurde sich dabei an den Layoutmöglichkeiten von Cascading Style Sheets (CSS) orientiert. Das Paket ermöglicht die Darstellung von mehrspaltigen Textblöcken, die zueinander ausgerichtet sind.

Ein Minimalbeispiel:

\documentclass{scrartcl}
\usepackage{grid-system}

\begin{document}

\begin{row}{3}{2}
  \noindent%
  \begin{cell}{1}
  Das ist ein kleiner Textblock mit
  einer Spalte an sinnlosem Text.
  \end{cell}
  \begin{cell}{2}
  Dieser Textblock nimmt gleich zwei
  Spalten fuer sich in Beschlag.
  \end{cell}
\end{row}

\end{document}

Das Paket stellt zwei neue Umgebungen row und cell zur Verfügung. row erhält dabei zwei Argumente: zum einen die Anzahl an Spalten, die der gesamte Absatz haben soll und zum anderen die Anzahl an dargestellter Zellen. Die Angabe der Zellen ist dabei notwendig, um vorab bestimmen zu können, wie breit jede einzelne Zelle sein soll.

Die Umgebung cell stellt danach eine Zelle dar, die sich auch über mehrere Spalten erstrecken kann, wie das erste Argument angibt. Die Summe der Zellwerte (erster Wert von cell) muss dabei immer gleich der Anzahl an definierten Spalten (erster Wert der row-Umgebung) sein.

Mit grid-system kann man demnach keine absolute Elemente positionieren, aber zur Postergestaltung eignet sich das Paket gut, solange die platzierten Elemente alle gleich hoch sind. Ansonsten wäre textpos vorzuziehen.

Eine Besonderheit ist aktuell (Dezember 2013) noch, dass entweder \parindent den Wert 0 haben muss oder vor die erste Zelle ein \noindent geschrieben werden muss. Andernfalls ragen die definierten Spalten um den in \parindent definierten Werte in den rechten Rand hinein. Eine korrigierte Version steht seit Januar 2014 zur Verfügung.

Kostenlose LaTeX-Referenz

Via DANTE-Mailingliste kam von Herbert Voß der Hinweis, dass die Bücherei Lehmanns die LaTeX-Referenz kostenlos abgibt. Man kann zum einen bis zu fünf Bücher (auf Anfrage auch mehr) als gedrucktes Exemplar bestellen und bekommt dieses kostenlos zugesandt. Zum anderen gibt es das Buch auch als PDF-Download.

Ich finde die Aktion sehr gut, auch wenn ich sicherlich die Referenz nicht so oft benötigen werde. Mir reicht daher auch die elektronisch Ausgabe, die keinen Platz in meinem Regal wegnimmt. :) Wer aber gerade an einem Artikel oder einer wissenschaftlichen Arbeit sitzt, die er mit LaTeX schreibt, wird sicherlich viele gute Hinweise in der Referenz finden.

Rückblick: DANTE-Herbsttagung in Köln 2013

Die Herbsttagung der Deutschsprachigen Anwendervereinigung TeX e.V. (DANTE) fand dieses Jahr in Köln statt. Von Allerheiligen, den 1. November, bis Sonntag, den 3. November, trafen sich TeX-Interessierte aus ganz Deutschland und auch über deutsche Grenzen hinweg, um einen Tag lang fachspezifische Themen zu verfolgen und ein unterhaltsames Rahmenprogramm zu genießen.

Vorabendtreff am Freitag

Auch wenn die eigentliche Tagung und die Vorträge erst für Samstag angesetzt waren, trafen sich schon zahlreiche Dante-Mitglieder zum Vorabendtreff am Freitag in „Hellers Brauhaus“. Durch die sehr gute Vorauswahl der Hotels konnten die meisten sehr gemütlich zu Fuß den Weg dorthin finden.

Wer nebenbei noch shoppen wollte und sich wunderte, dass die Geschäfte geschlossen waren, kam wohl eher aus einem evangelischen Landesteil Deutschlands, denn in Köln war dank Allerheiligen ein Feiertag. Wer ganz clever war, konnte mit dem Reformationstag am Tag davor und Allerheiligen gleich zwei Feiertage mitnehmen.

Der Stimmung schadete der Feiertag natürlich nicht. Man traf sehr viele altbekannte Gesichter im Brauhaus und konnte sich so von der letzten Tagung in Gießen synchronisieren. Zusätzlich konnte man lernen, dass man den Bierdeckel auf das leere Kölsch-Glas legen sollte, wenn man kein Interesse an Nachschub hat. Dieser wird nämlich ungefragt hingestellt, wenn das Glas leer ist.

Nach dem Essen machte sich eine kleine Gruppe auf, um eine Cocktailbar zu finden. Aufgrund kleinerer Kommunikationsschwierigkeiten landeten wir aber an leicht anderer Stelle, wo wir aber dennoch etwas zu trinken bekamen. Der Rückweg war dann umso lustiger, denn sich bei Nieselregeln Abkürzungen (der positive Ausdruck für Umweg) durch das Kölner Studenten- und Partyviertel zu suchen, war schon sehr interessant.

Während ein Teil der DANTE-Gruppe im Mauritius Therme einchecken konnte, musste sich der andere bis zum Hotel Mado im Süden der Stadt durchschlagen, was sich aber am nächsten Morgen als bessere Wahl herausstellte, auch wenn es keinen Saunabereich gab.

DANTE-Tagung und Mitgliederversammlung am Samstag

Vom Hotel Mado zum Tagungsgebäude der Universität Köln waren es nur 700 Meter. Dementsprechend konnte man auch gemütlich ausschlafen, um pünktlich 9 Uhr vor Ort zu sein. Das Institut für Kristallographie stellte unter Prof. Dr. Manfred Mühlberg, der leider nicht anwesend sein konnte, einen Raum zur Verfügung, in dem die circa 40 Teilnehmer den Vorträgen lauschen konnten.

49. Mitgliederversammlung

Um 9 Uhr eröffnete der Vorstandsvorsitzende Martin Sievers die Mitgliederversammlung des DANTE e.V. Es wurde wieder viel über vergangene Tagungen berichtet. Vor alle die Eindrücke der TUG 2013, die dieses Jahr in Tokyo stattfand, wurden sehr interessant und unterhaltsam von Volker RW Schaa übermittelt.

Wie bereits bekannt war und noch einmal bestätigt wurde, findet die DANTE-Frühjahrstagung 2014 in Heidelberg statt. Zum 25. Jubiläum der Vereinsgründung bietet sich der Gründungsort Heidelberg an, um vom vom 11. bis 14. April ein großes Geburtstagsprogramm auf die Beine zu stellen. Hierfür werden bereits jetzt schon Vorträge gesucht, die dann auch in einem speziellen Tagungsband erscheinen sollen. Ein gesonderter Aufruf für den „Call for Papers“ soll noch folgen.

Die Herbsttagung 2014 soll dann gleich „um die Ecke“ von Heidelberg in Karlsruhe stattfinden und die Frühjahrstagung 2015 dann an der wunderschönen Ostseeküste in Stralsund. Die Verlagerung des Veranstaltungsortes soll es allen DANTE-Mitgliedern und TeX-Interessierten ermöglichen, einmal an solch einer Konferenz teilzunehmen.

Neben den aktuellen unterstützten Projekten, die sich zumeist mit Schiftarten beschäftigen, war auch die SEPA-Umstellung ein Thema, ebenso wie die Auslieferung der TeX-Collection als Doppel-DVD oder auf USB-Stick sowie ein Corporate Design für den Verein.

Von und nach LaTeX mit Pandoc

Im ersten Vortrag stellte Blandyna Bogdol den Universalkonverter Pandoc vor, mit dem man Dateien und Dokumente zwischen vielen verschiedenen Formaten wandeln kann (siehe auch „PDF-Dokumente schreiben mit Pandoc und Markdown“, freiesMagazin 06/2013). So gibt es auch Wandlungsroutinen für LaTeX, ODT und XML. Sinnvoll ist das Programm vor allem dann, wenn man von einem Ausgangsformat verschiedene Ausgaben benötigt.

Neben der Erklärung der Installation und Standardverwendung zeigte die Referentin am Beispiel von DocBook (siehe auch „Einführung in Docbook“, freiesMagazin 03/2013, wie sie den Text nach LaTeX wandelt. Pandoc ist dabei hilfreich und mächtig, ist aber eher für einfachere Dokumente geeignet. Die Textmenge ist zwar egal, aber zu komplexe LaTeX-Konstrukte können Probleme bereiten. Durch verschiedene Vorlagen kann man die Wandlungsroutine entsprechend beeinflussen. Die Anpassung der Vorlagen ist aber noch recht komplex und umständlich, sodass Pandoc nicht für jeden geeignet ist.

Als Alternative zur Wandlung von PDF nach HTML wurde aus dem Zuschauerraum noch pdf2htmlEX erwähnt, welches PDF-Dokumente dank CSS eins zu eins in HTML darstellen kann.

Blandyna Bogdol erklärt den Einsatz von Pandoc.

Blandyna Bogdol erklärt den Einsatz von Pandoc.

PDF-Formulare ausfüllen mit iText & Co.

Marcus Bitzl von der TU München zeigte an einem Anmeldeformular, wie man mit der Open-Source-Bibliothek iText PDF-Formulare ausfüllen kann. Die erste Idee, dass die Daten eingesammelt und mit LaTeX in ein fertiges PDF-Dokument gewandelt werden, wurde aufgrund von Zeitproblemen verworfen. Stattdessen wurde mittels des Paketes hyperref in LaTeX ein PDF-Formular erstellt. Dieses Formular wird dann von der Webanwendung, die z.B. in Java geschrieben sein kann, mittels iText ausgefüllt und zum Download bereitgestellt.

Als Alternative zu iText wurde noch pdftk genannt (siehe auch „Kurztipp: Bastelstunde mit Pdftk“, freiesMagazin 03/2009). Mithilfe einer generierten fdf-Datei kann man damit ebenso ein PDF-Formular automatisiert ausfüllen und anbieten.

Von 12 bis 14 Uhr war dann Mittagspause, in welcher sich kleine Grüppchen bildeten und in der Zürpicher Straße eines der zahlreichen Restaurants und Cafés aufsuchten. Wir fanden dann auch die Cocktailbar wieder, die wir am Vorabend so verzweifelt gesucht hatten.

ConTeXt Quickie: Tabellen

Den Nachmittag leitete Leo Arnold mit russischen Tabellen ein. Glücklicherweise war der Inhalt der Tabellen nicht von Relevanz, um die Beispiele zu verstehen.

Nach einer kurzen Einführung in ConTeXt stellte er die Tabellenumgebungen Tabulate, bTABLE und tables vor. Alle Umgebungen waren mehr oder weniger vergleichbar mit ihren LaTeX-Pendants, konnten an anderer Stelle wiederum etwas mehr.

CTAN mit Geschichte

Unter dem Titel „CTAN mit Geschichte“ könnte man eine historische Ausarbeitung von CTAN (Comprehensive TeX Archive Network) erwarten, die Patrick Gundlach aber nicht gab. Er erklärte zwar kurz die Bedeutung und den Inhalt der Plattform, zeigte in seinem Projekt dann aber ein CTAN-Archiv mit Versionierung.

Hintergrund war die Problemstellung, dass man für einige TeX-Projekte ganz oft bestimmte Pakete in speziellen Versionen benötigt. Wenn diese nicht zufällig aufgehoben wurden oder auf einer der TeX-Collection-DVDs vorliegen, hat man gegebenenfalls mit der Übersetzung seines Dokuments ein Problem. Unter ctanmirror.speedata.de stellte Patrick Gundlach daher ein Archiv zur Verfügung, über welches man zu jedem Datum die richtige Paketversion erhalten kann.

Ein ähnliches Projekt gab es schon von Martin Scharrer, der unter ctanhg.scharrer-online.de CTAN in eine Mercurial-Versionsverwaltung integrierte.

Eine historisch-kritische Betrachtung des Quelltextes von TeX

Einen von den restlichen Themen abweichenden Vortrag präsentierte Sven Oos von der Universität Trier. Mittels spezieller Textanalyse-Methoden, die auch in den Literaturwissenschaften herangezogen werden, untersuchte er in seiner Diplomarbeit den Quelltext von TeX.

Der von Donald Knuth entwickelte Code hat die Besonderheit, dass nur Knuth selbst daran arbeitete. So konnte man mithilfe von Changelogs und Knuths Entwicklertagebuch die Evolution von den TeX-Anfängen 1977, als noch in SAIL programmiert wurde, bis zu TeX82, der ersten in WEB geschriebenen Version, grafisch darstellen.

Sehr interessant an dem Vortrag waren die Publikumsbeiträge von „Zeitzeugen“, d.h. von DANTE-Mitgliedern, die bereits in den ersten Jahren der TeX-Entwicklung dabei waren.

Wortlisten: Voraussetzung für gute Trennmuster

Tobias Wendorff von der TU Dortmund wandelte dann auch etwas abseits der normalen TeX-Themen und stellte seine Arbeit und die Probleme in der Trennmustermannschaft unter Trainer Herbert Voß vor. Die Gruppe kümmert sich darum, dass TeX im Falle eines Falles Wörter korrekt trennt und nicht unsinnige Trennungen wie „bein-haltet“ statt „be-inhaltet“ benutzt.

Seine Tätigkeit in der Gruppe nahm er hauptsächlich auf, weil er sich für seine Arbeit als Geographiestudent über die (verkürzte) Darstellung von Straßennamen auf Karten Gedanken machte. Hier musste er zum einen einen Verkürzungsalgorithmus erfinden und zum anderen auch einen guten Trennalgorithmus, um überlange Namen darstellen zu können.

Da sehr wenig Rückfluss aus der TeX-Community selbst zu den Trennlisten kommt, wird überlegt, ob man das Problem der Mitarbeit lösen kann, indem man diese einfacher und offener macht. Eine zweite Idee ist es, mit anderen Projekten wie „hunspell“ zusammenzuarbeiten, die eigene Trennlisten pflegen.

TeXStudio Live

Im letzten, sehr praxisbezogenen Vortrag zeigte Tim Hoffmann, einer der Entwickler von TeXStudio, den Editor in einer Live-Demonstration. Der Grund für die Entwicklung war der hemmende Arbeitsfluss in LaTeX zwischen Schreiben des Textes, Übersetzen auf der Konsole und Anschauen in einem PDF-Betrachter.

TeXStudio fasst diese drei Eigenschaften zusammen und bietet noch zahlreiche andere Funktionen. Am beeindruckendsten war sicherlich die Live-Vorschau von geschriebenen Formeln oder auch von Bildern, die ohne separate Übersetzung des Dokuments eingeblendet wurden. Zusätzlich zeigt der Editor sofort eventuelle Fehler wie unbekannte Befehle oder falsch geschriebene Pakete an. Ebenso gibt es eine Anbindung an diverse Literaturverwaltungen.

DANTE-Vorstandsvorsitzender Martin Sievers beendet den Tag mit einem Lachen.

DANTE-Vorstandsvorsitzender Martin Sievers beendet den Tag mit einem Lachen.

Abendveranstaltung

Mit etwas Überzug schloss Martin Sievers die DANTE-Tagung um 18 Uhr. Die meisten Teilnehmer machten sich dann auch sogleich auf den Weg zum Abendtreff im „Gaffel am Dom“, in dem sich ein Großteil gegen 19 Uhr einfinden wollte. Auch wenn die Aufmachung der Lokalität sehr kölsch war, kam das den Tischgesprächen nicht sehr zu Gute. Nach einigen Bieren und deftigem Essen wie Haxe und Spanferkel, löste sich die Gruppe daher aus akustischen Gründen relativ früh gegen 21 Uhr schon auf.

Die „Jungspunde“ der Tagung störte das natürlich weniger und suchten sich ein neues Lokal. So genoss eine kleine Gruppe noch gemeinsam bis 23 Uhr auf dem beheizten Vorplatz des Lokals „Alex“ einige Cocktails, Kölsch und Tee.

Touristisches Programm am Sonntag

Am Sonntag fand unter der Leitung von Dorothea Wand eine kleine Stadtführung durch Köln statt. Alle Teilnehmer schafften es (fast) pünktlich bis 10 Uhr zum Kölner Dom und schauten sich dann neben der historischen Stadtmauer einige Bauwerke mit Einflüssen aus der Romanik, Gotik und dem Barock an.

Leider war es stellenweise etwas windig und kalt (immerhin regnete es nicht) und zwei Straßenmusikanten gaben ihr Bestes, sich gegenseitig zu übertönen, was beim akustischen Verständnis der touristischen Führerin nicht gerade half. Dennoch hat die Stadtführung Spaß gemacht und viel Wissenswertes über Köln bei allen Beteiligten hinterlassen.

Gegen 12 Uhr löste sich die Gruppe dann auf. Einige Teilnehmer mussten ihre Züge erreichen, andere suchten sich vor der Heimfahrt noch etwas Leckeres zu essen und eine dritte Gruppe genossen noch etwas die verschiedenen touristischen Angebote in Köln.

Der Kölner Dom.

Der Kölner Dom.

Abschließende Bemerkungen

Das Vortragsprogramm war auch in diesem Jahr wieder breit gestreut, sodass für jeden etwas Interessantes dabei war. Die behandelten Lösungen bezogen sich aber sehr oft auf ein so spezielles Problem, dass nur in wenigen Fällen jemand anderes direkt etwas davon mitnehmen konnte.

Aber das ist nicht weiter schlimm! Wie auch bei anderen Veranstaltungen, bei der sich eine Community trifft, geht es irgendwann einmal nicht mehr um die Vorträge oder Mitgliederversammlungen. Viel wichtiger sind die Menschen und die Pflege von Beziehungen. Die DANTE-Tagung bietet die Möglichkeit, dass man die Gesichter hinter Beiträgen aus der TeXnischen Komödie oder den Helfern auf der Mailingliste und TeX Stack Exchange kennenlernt. Jeder ist willkommen und wird normalerweise auch recht schnell in die Gruppe integriert. Oft schließen sich auch Freundschaften, die über die Tagung hinaus erhalten bleiben – schließlich haben die meisten von uns auch noch ein Leben neben TeX.

Insofern war es eine sehr gelungene Veranstaltung, die Dank Uwe Ziegenhagen ohne Schwierigkeiten über die Bühne ging. Interessante Vorträge und wie geschrieben vor allem sehr nette Menschen machen die DANTE-Tagung zu einem Pflichtprogramm, was man als Community-Mitglied beziehungsweise als TeX-Nutzer mitnehmen sollte. Die Freude auf Heidelberg 2014 ist aus dem Grund umso größer.

freiesMagazin sucht Layouter

Bei freiesMagazin ist zu Lesen, dass Layouter gesucht werden. Aufgabe ist die ordentliche Gestaltung von Artikeln, wofür man ein gutes Auge für Design haben muss. Aus Erfahrung weiß ich, dass man anfangs auch Geduld mitbringen sollte, da das Layouten eines Artikels mit LaTeX alles andere als einfach ist.

Ich plane für die Einarbeitung auch noch ein Screencast-Video, wie ich Artikel layoute. Vielleicht hat ja jemand Empfehlungen für ein Screencast-Programm. Ich habe so etwas noch nie genutzt und auch sonst nicht so viel mit Video- und Tonbearbeitung unter Linux gemacht.

Rückblick: DANTE-Tagung 2013 in Gießen

Auch dieses Jahr fand eine Frühjahrstagung des DANTE e.V. statt, bei der sich zahlreiche TeX-Anwender trafen, um sich über das Textsatzsystem und dessen Unterarten auszutauschen. Ich war sowohl als Zuhörer als auch als Teilnehmer dabei und auch wenn der Veranstaltungsort Gießen nicht zu den schönsten Orten Deutschlands zählt („Die Stadt ist abscheulich … eine hohle Mittelmäßigkeit in allem.“, Georg Büchner), habe ich dort studiert und mich auf ein Wiedersehen gefreut.

Mittwoch, 6. März 2013

Nach dem Vorabendtreff am Dienstag (siehe unten) wurden alle Teilnehmer um 9 Uhr am Interdisziplinären Forschungszentrum in Gießen vom lokalen Organisator Günter Partosch, dem Vorsitzenden des DANTE e.V. Martin Sievers und dem Direktor des HRZ Dr. Michael Kost begrüßt. Dr. Kost erzählte in seiner Einleitung, dass man sich im Gegensatz zu anderen Dokumentenausgabeprogrammen bei TeX nicht um das Layout kümmern muss, sondern sich auf den Inhalt konzentrieren kann. Die Aussage war eine sehr gute Überleitung zum ersten Vortrag, den ich zum Thema „Bilder bei der Magazingestaltung“ hielt. In dem Workshop ging es nämlich gerade um das Gegenteil, das heißt, dass man bei freiesMagazin selbst bestimmen muss, wo Bilder bei einem mehrspaltigen Layout positioniert werden. Auf das Gezeigte gab es viel Rückmeldungen, sodass ich so viele Ideen mitnehmen konnte, um mindestens ein Jahr gut beschäftigt zu sein.

Vorsitzender Martin Sievers bei der Eröffnungsrede.

Vorsitzender Martin Sievers bei der Eröffnungsrede.

Danach gab es eine sehr gute Einführung in MetaPost von Walter Entenmann. Sehr anschaulich stellte er anhand der Arbeit des Malers Wassily Kandisky „Punkt und Linie zu Fläche“ das MetaPost-Paket vor, mit dem man grafische Elemente wie Punkte, Linien und Flächen in LaTeX zeichnen kann. Er ging dabei auch auf die Interna der mathematischen Berechnungen und Approximation mittels Bézier-Kurven ein, was den einen oder anderen ggf. etwas erschreckte. Auch ist die Anwendung mit pdflateX nicht ohne weiteres möglich, ebenso wie es mit Unicode-Zeichen und Umlauten Probleme gibt. Hier bieten sich alternative Pakete wie PSTricks oder TikZ an.

Nach dem Mittagessen in der Uni-Mensa ging es mit MetaPost weiter. Mari Voipio zeigte eine kleine Einführung zum Zeichnen von Linien und komplexeren Mustern, was dann später in die Erstellung von Strickmustern mündete. Nach ihrer Aussage, fördere MetaPost die Kreativität, da es für sie nun viel einfacher sei, schnell ein Muster am PC zu testen als dies langwierig auf Papier zu zeichnen. Eine Aussage gefiel mir besonders: Als (LaTeX-)Anfänger sucht man sich verschiedenen Code aus dem Netz zusammen und bastelt so lange daran herum, bis er tut, was man erwartet. Man versteht anfangs nicht, wieso er funktioniert, aber im Laufe der Zeit lernt man immer mehr über die Hintergründe. Genauso geht es den meisten Programmierern in jeder Sprache.

MetaPost trifft auf Kandinsky. (C) Uwe Ziegenhagen, CC-BY-SA-Lizenz

MetaPost trifft auf Kandinsky.
(C) Uwe Ziegenhagen, Lizenz: CC-BY-SA

Bernd Militzer hielt einen extrem spannenden Vortrag, der am Anfang ziemlich wenig mit TeX zu tun hatte. Es ging darum, dass er ein Ahnenbuch mit ConTeXt schreiben wollte und berichtete über seine Forschungsergebnisse. Dabei lernte man interessanterweise viel über Geschichtsschreibung und Aufzeichnungen, die im Laufe der Jahre schwer zu interpretieren sind. Am Ende kam ein dickes Buch mit allen Verwandten von Bernd Militzers Großmutter, die in den Jahren 1650 bis 1900 gelebt haben, heraus.

Ebenso spannend ging es mit Leo Arnolds UniFlow-Vortrag weiter. Effektiv ging es darum, wie man mittels des write18-Befehls aus einem LaTeX-Dokument heraus wieder eine LaTeX-Übersetzung anstoßen kann. Durch diese Rekursion ist es möglich, mit einem normalen pdflatex und ohne zusätzliche Dateien (wie Skripte oder Makefiles) mehrere Dokumente zu erzeugen. Dafür gibt es viele sinnvolle Anwendungszwecke, auch wenn write18 ein Sicherheitsrisiko darstellt und daher per Standard nicht aktiviert ist.

Zum Abschluss des Tages zeigte Martin Schröder den aktuellen Stand von TeX im 21. Jahrhundert. Wer letztes Jahr bereits auf der DANTE-Frühjahrstagung 2012 war, hatte sicherlich ein Déjà-vu, aber für die neuen Teilnehmer auf der Tagung gaben seine Folien einen sehr guten Überblick über den aktuellen Stand bei LaTeX, LuaTeX, ConTeXt und Co.

Donnerstag, 7. März 2013

Der Donnerstagvormittag war durch die Mitgliederversammlung des DANTE e.V. geprägt. Es wurden die aktuellen Geschäfts- und Mitgliederzahlen vorgestellt, sowie aktuelle Förderprojekte. Daneben wurde aber auch ein Problem diskutiert, was viele andere Open-Source-Communitys auch trifft: die sinkende Bereitschaft, etwas beizutragen. Bei TeX kommt zwar noch das Alter der Software hinzu, die dazu führt, dass der Altersdurchschnitt sehr hoch ist, dennoch kommen zu wenig junge Leute nach. Die Arbeit, die in der Community getan wird, verteilt sich oft auf sehr wenige und vor allem immer auf die gleichen Schultern. Leider gibt es hierzu keine allgemeingültige Lösung.

Nach dem Mittagessen plauderte Herbert Voß etwas aus seiner TeX-Sprechstunde, die er an der Uni Berlin hält. Er zeigte ein paar interessante Probleme, mit denen Studenten zu ihm kommen.

Ebenfalls interessant ist der Einsatz von TeX am Centrum für bessere Übergänge und Studienbedingungen der FH Stralsund. Christina Möller erzählte über ihre Tätigkeit dort und wie man den Studierenden LaTeX näher bringen will. Vor allem der Einsatz von Formeln auf der eingesetzten e-Learning-Plattform ist ein problematischer Punkt, auch wenn es verschiedene Lösungen (jsMath, tth, MathJax) gibt.

Christina Möller berichtet von ihrer Arbeit an der FH Stralsund. (C) Uwe Ziegenhagen, CC-BY-SA-Lizenz

Christina Möller berichtet von ihrer Arbeit an der FH Stralsund.
(C) Uwe Ziegenhagen, Lizenz: CC-BY-SA

Arno Trautmann zeigte dann ein extrem interessantes Thema, was man beim Titel „Randausgleich in TeX“ nicht unbedingt vermuten würde. So zeigte er die verschiedenen Absatztypen (Flattersatz, Blocksatz, Rauhsatz) im Laufe der Jahrtausende der menschlichen Geschichte. Als Beispiel wurden unter anderem Auszüge aus der Gutenberg-Bibel gezeigt und wie Gutenberg vor über 500 Jahren einen einheitlichen Blocksatz zustande brachte. Weiter ging es bis ins Hebräische, bei dem die Wortabstände fest sind, dafür aber einige Buchstaben gedehnt werden können, um einen Blocksatz zu erreichen. Mit Hilfe des Pakates chickenize kann man sehr viele der vorgestellten Absatzprobleme nachstellen.

Der Vortragstag wurde von Uwe Ziegenhagen beendet, der das Programm Sphinx vorstellte. Es handelt sich dabei um ein Open-Source-Werkzeug, mit dem man mit Hilfe einer eigene Metasprache viele verschiedene Dokumente (z.B. als HTML, LaTeX, Manpages etc.) erstellen kann. Der Anwendungsfall von Sphinx ist eigentlich die Dokumentation für verschiedene Plattformen, aber da es LaTeX als Ausgabe beherrscht kann man damit auch einfache LaTeX-Dokumente erstellen.

Uwe Ziegenhagen hilft LaTeX-Neueinsteigern. (C) Linda Prüß, CC-BY-SA-Lizenz

Uwe Ziegenhagen hilft LaTeX-Neueinsteigern.
(C) Linda Prüß, Lizenz: CC-BY-SA

Freitag, 8. März 2013

Der letzte Tag wurde wieder von Uwe Ziegenhagen eingeläutet, der ein paar LaTeX-Pakete vorstellte, die auf CTAN (Comprehensive TeX Archive Network) herumschwirren. Dabei waren einige interessante Pakete, um z.B. Tasten und Menü-Befehle besonders darzustellen oder um Gantt-Diagramme zu zeichnen. Es gab aber auch Kurioses zu sehen, z.B. ein Paket, mit dem man Bäume zeichnen kann (die biologischen, mit Stamm und Blättern und was so dazu gehört).

Danach zeigt Martin Sievers eine LaTeX-Klasse, mit der man Bewerbungsanschreiben gestalten kann, die sich optisch gut mit moderncvvertragen. Die Dokumentenklasse war leider eine Auftragsarbeit und steht daher nicht öffentlich zur Verfügung. Eine Alternative (Anschreiben und Lebenslauf in einem) habe ich vor längerer Zeit selbst einmal erstellt, aber es gibt auch sonst zahlreiche Pakete, die versuchen, einen guten Lebenslauf darzustellen. In der Regel ist der Inhalt aber wichtiger als das Aussehen …

Die Pause und die zwei Vorträge danach habe ich genutzt, um mich eingehend mit Freunden und anwesenden Bekannten zu unterhalten, sodass ich nichts zu den Vorträgen von Jena-Michsel Hufflen und Herbert Voß sagen kann.

Da Günther Partosch am Sonntag krank war, fiel sein Vortrag zum Thema „Anforderungen an wissenschaftliche Abschlussarbeiten“ leider aus. Glücklicherweise sprang Patrick Gundlach ein, der ein Problem, das bei meinem Vortrag am Donnerstag aufkam, aufgriff. Er zeigt, wie man (mit etwas Handarbeit) dafür sorgen kann, dass bei mehrspaltigem Satz die Zeilen benachbarter Spalten immer auf einer Höhe liegen. (Etwas, was bei freiesMagazin noch nicht umgesetzt ist, aber zu den Aufgaben zählt, die ich mir vorgenommen habe.)

Parallel dazu hielt Uwe Ziegenhagen vor einer Gruppe von ca. 10 Studierenden eine dreistündige Einführung in LaTeX. In dem Workshops wurden einfache Fragen besprochen, wie man mit LaTeX umgeht und die sich bei der ersten Arbeit vor allem bei Neueinsteigern ergeben.

Zum Schluss gab es noch etwas Biologie, denn der Gärtner des IFZ führte die Teilnehmer durch die drei hängenden Gärten des Gebäudes, die sich über mehrere Stockwerke erstrecken und verschiedene Klimazonen nachbilden.

Der Uni-Campus der Naturwissenschaften und das IFZ-Gebäude.

Der Uni-Campus der Naturwissenschaften und das IFZ-Gebäude.

Und Rundherum

Neben den Vorträgen ist vor allem der Kontakt mit Gleichgesinnten ein wichtiger Aspekt der DANTE-Tagungen. In den ausreichend großen Pausen zwischen den Vorträgen, aber vor allem bei den Abendveranstaltungen hat man sehr viel Gelegenheit, mit anderen TeX-Nutzern zu sprechen, Probleme vorzutragen und Lösungen zu erhalten. Natürlich ist und war es keine Pflicht, den ganzen Abend über TeX zu reden. Und so kam auch die Sprache auf Linux, Google, Facebook, E-Book-Reader, Raspberry Pi und alles andere, was irgendwie interessant ist. Sehr positiv an den Abendveranstaltungen war das wechselnde Programm. So wurde an jedem Abend eine andere kulinarische Region aufgesucht – von Deutschland über Indien nach Kroatien bis hin zu Äthiopien.

Von der Gemeinschaft her ist eine DANTE-Tagung sehr ähnlich zu diversen anderen Linux-Tagungen in Deutschland wie z.B. der Ubucon. Das ist aber nicht verwunderlich, schließlich ist TeX ebenfalls Open Source und die Community treibt ein ähnliches Ziel an: die Verbreitung einer guten Freien Software. Der Altersdurchschnitt ist zwar etwas höher als bei Linux-Veranstaltungen, aber es „verirren“ sich glücklicherweise auch immer wieder junge Menschen dorthin. Der Geschlechtervergleich geht klar zu Ungunsten der Damen aus, auch wenn welche vor Ort waren und sogar Vorträge hielten. Dennoch erfordert TeX immer noch einen Hang zur Programmierung, woran scheinbar eher Männer Interesse haben als Frauen.

Wie man am obigen Programm sieht, muss man nicht der absolute TeX-Crack sein, um bei einer DANTE-Tagung Spaß zu haben. Es gab zahlreiche Vorträge, deren Einleitung interessanter war als so mancher Geschichtsunterricht in der Schule. Und selbst als Nicht-Profi kann man Vorträge halten. Sei es nur, um seine eigenen Erfahrungen den anderen mitzuteilen oder um wertvolles Feedback zu erhalten. Insofern sollte jeder, der mit TeX, LaTeX und Co. zu tun hat, überlegen, ob er nicht für eine der kommenden Tagungen auch etwas präsentiert. Ich bin auf alle Fälle wieder dabei!

Die Vortragsfolien können zu den meisten Vorträgen auf der DANTE-Webseite heruntergeladen werden.

Vortrag: E-Book-Erstellung aus LaTeX und HTML

Gestern habe den Artikel zu E-Book-Erstellung aus LaTeX und HTML online gestellt und basierend darauf halte ich auf der Ubucon 2012 auch einen Vortrag zu dem Thema. Mein Vortrag soll zeigen, wie man am besten aus verschiedenen Quellformaten wie LaTeX oder HTML ein E-Book im EPUB-Format erstellen kann. Dabei werden zwei Programme vorgestellt, die die Konvertierung in dieses Format gut beherrschen. Als Beispiel wird die Konvertierung von freiesMagazin gezeigt.

Auf dieser Seite werden die Folien als PDF und im LaTeX-Quellcode veröffentlicht:

Alle Dateien unterliegen der Creative Commons BY-SA 3.0 Unported.

E-Book-Erstellung aus LaTeX und HTML

E-Book-Reader und mobile Geräte, auf denen man E-Books anzeigen lassen kann, werden immer beliebter. Der Artikel soll am Beispiel von freiesMagazin zeigen, wie man am besten aus verschiedenen Quellformaten wie LaTeX oder HTML ein E-Book im EPUB-Format erstellen kann. Dabei werden zwei Programme vorgestellt, die die Konvertierung in dieses Format gut beherrschen.

Unterschiede zwischen Buch und E-Book

Auch wenn die meisten Leser sicherlich schon einmal ein Buch aus Papier in den Händen gehalten haben, ist man sich oft der Eigenschaften, die so ein Buch mitbringt, nicht bewusst. So gibt es feste Seiten, in der Regel mit Seitenzahlen am Rand oder in den Ecken. Rand? Genau, einen Rand um den eigentlichen Textkörper gibt es auch. So kann man das Buch mit den Händen festhalten, ohne dass der Text verdeckt wird. Oder man kann Kommentare mit einem Stift an den Seitenrand schreiben. Für ältere Menschen ist dieses feste Format aber eher schlecht. Die Schriftgröße verschiedener Bücher ist oft viel zu klein, sodass man sich externer Hilfen wie Lupen bedienen muss. Diese Eigenschaften treffen natürlich nicht nur auf gedruckte Bücher zu, sondern auch teilweise auf „starre“ digitale Formate, wie z.B. das PDF.

Ein E-Book dagegen ist nicht starr. Ganz im Gegenteil kann man es sogar als „fließend“ bezeichnen. Die Schriftgröße oder auch die Schriftart lassen sich oft so einstellen, dass man ohne Probleme auch bei einer Sehschwäche lesen kann. Man kann in einem E-Book zwar auch von Seite zu Seite blättern, dabei sind die Seitenzahlen aber nicht fest. Sie richten sich danach, wie groß der Text auf einer einzelnen Seite ist. Je nach Darstellungsart hat ein Buch also bei einem Leser 100 Seiten und bei einem anderen vielleicht 150.

Ein weiterer Unterschied zwischen E-Books und Büchern ist die Möglichkeit der Verlinkung und der Suche. In der analogen Welt muss man sich mit einem Index zufrieden geben und hoffen, dass der Autor alle wichtigen Stellen indiziert hat. Ansonsten ist viel Blättern angesagt. Bei digitalen Formaten dagegen kann man vom einem Index über Links direkt an die gewünschte Stelle im Buch springen oder auch einfach den ganzen Text in Sekundenbruchteilen durchsuchen.

Für E-Books hat sich in den letzten Jahren das offene EPUB-Format als dominierend erwiesen. So gut wie alle Hersteller von E-Book-Readern verstehen dieses Format. Es gibt eigentlich nur eine unrühmliche Ausnahme: das Amazon Kindle. Amazon setzt lieber auf ein eigenes, proprietäres MOBI-Format, welches wiederum von keinem anderen Gerät verstanden wird. Auch wenn Amazon mit seinen Kindle-Geräten sehr erfolgreich ist, gehört EPUB aufgrund der breiteren Unterstützung auf dem Markt die Zukunft und soll in diesem Artikel betrachtet werden.

EPUB ist ein gepacktes Container-Format, in welchem man die XHTML-kodierte Dateien (wie bei gewöhnlichen Webseiten) findet, welche den Text und die Formatierung angeben. Daneben enthält der Container natürlich auch die anzuzeigenden Bilder sowie im EPUB3-Standard Audio- und Videoelemente. Zusätzlich kann man auch noch ein Inhaltsverzeichnis und andere Meta-Daten (wie Autoren, Herausgeber etc.) in dem Container ablegen.

freiesMagazin als PDF

freiesMagazin als PDF.

Wandlung von LaTeX

Es gibt theoretisch eine Möglichkeit, wie man von einer LaTeX-Dokument direkt zu einem EPUB kommt: Pandoc. Die Ergebnisse des Programms sind aber (zumindest, was die Konvertierung von freiesMagazin angeht) nicht sehr gut bzw. es funktioniert einfach nicht.

Ansonsten gibt es keinen direkten Weg von LaTeX zu einem EPUB. Daher muss zwingend über ein Zwischenformat gearbeitet werden. Hier böte sich PDF an, was heutzutage das „normale“ Endprodukt einer LaTeX-Übersetzung ist. Wie oben geschrieben ist PDF aber ein starres Dateiformat mit festen Seitenzahlen und Umbrüchen. Dies führt bei der Konvertierung meistens zu Problemen.

Eines der bekanntesten Programme zur Konvertierung ist Calibre. Dabei ist Calibre selbst eher ein Medienverwaltungsprogramm, welches aber zahlreiche Hilfsmittel und Skripte mitbringt. Eines davon, ebook-convert, beherrscht viele Wandlungen, unter anderem auch PDF nach EPUB. Konvertiert man freiesMagazin damit, ist das Ergebnis leider nicht sehr brauchbar. Grund dafür ist zum einen das starre Layout von PDF, welches seitenbasiert arbeitet, zum anderen macht aber auch die dreispaltige Seitenaufteilung Probleme. Calibre kommt mit solchen Dokumenten einfach nicht zurecht. Konvertiert man beispielsweise das PDF der freiesMagazin-Septemberausgabe mittels


$ ebook-convert freiesMagazin-2012-09.pdf 09-2012.epub

erhält man Sätze wie „NahezujedeZeitschriftundInternetsei-sind.Möglichisthier,z.B.offene(oderschwach übertragen–eingefundenesFressenfürAngreite, die sich mit einem PC-nahen The- verschlüsselte) WLAN-Netze oder auch unverfer.“ Wer das noch lesen kann, ist gut. Ohne eine Anpassung des Layouts geht es also nicht.

Calibre

Calibre.

Exkurs: Der Aufbau von freiesMagazin

freiesMagazin besteht wie viele andere Projekte auch, aus einer Hauptdatei, welche die verschiedenen Kapitel (d.h. Artikel) per \input einbindet. Damit jede Ausgabe gleich aussieht, gibt es zahlreiche Befehle und Layoutdefinitionen. Diese sind in mehrere Dateien aufgeteilt: befehle.tex, layout.tex und pakete.tex.

Der Dateiaufbau von freiesMagazin

Der Dateiaufbau von freiesMagazin.

Die Idee ist nun, die Dateien, welche das Layout und die Darstellung bestimmen, so umzuformen, dass diese eher wie ein Fließtext wirken. Das heißt, im Grundprinzip ersetzt man die drei obigen Dateien durch eine befehle-mobil.tex. Übersetzt man den LaTeX-Code damit, ergibt sich ein optisch nicht schönes, aber doch recht fortlaufend aussehendes Format, welches in etwa an Fließtext erinnert. Eine Wandlung des PDFs mit Calibre zeigt dann auch ein bereits lesbares EPUB, wobei das Aussehen noch etwas kränkelt und Fußzeilen und Seitenzahlen den Lesefluss immer noch unterbrechen.

Calibre geht bei der Wandlung eines PDFs wie folgt vor: Es wandelt dieses zuerst in HTML und wandelt dann die HTML-Ausgabe in ein EPUB. Durch die Benutzung von XHTML in den EPUBs, ist der letzte Schritt in der Regel sehr leicht.

Die Idee ist also ganz einfach: Man wandelt nicht das starre PDF in EPUB, sondern versucht von LaTeX zu einer HTML-Version zu kommen, die man dann in ein EPUB umwandelt.

Der Dateiaufbau von freiesMagazin für die HTML-Ausgabe.

Der Dateiaufbau von freiesMagazin für die HTML-Ausgabe.

Von LaTeX zu HTML

Im Gegensatz zur Wandlung von LaTeX nach EPUB gibt es für die Wandlung von LaTeX nach HTML zahlreiche Programme, die um die Gunst des Nutzers buhlen: TeX4ht, Hyperlatex, LaTeX2HTML, LaTeXML, Hevea, tth und das oben bereits erwähnte Pandoc.

Bis auf Hevea und tth haben alle Konverter große Probleme, überhaupt sinnvolles HTML aus dem LaTeX-Code von freiesMagazin zu machen. Bei anderen LaTeX-Dateien kann dies sicherlich anders aussehen. Diese Einschränkung hat aber dazu geführt, dass man sich 2010 bei der ersten HTML-Erstellung für tth als Konverter entschieden hat (hevea brachte damals im direkten Vergleich schlechtere Ergebnisse).

tth ist aber leider auch fern von optimal und hat zahlreiche Einschränkungen. So versteht es kein \usepackage und kann daher nur den fest eingebauten LaTeX-Sprachschatz verstehen. (Hierbei gibt es aber auch ein Workaround, nämlich die sty-Datei des gewünschten LaTeX-Paketes mit \input zu inkludieren.) Dies führt dazu, dass man an der befehle-mobil.tex zahlreiche Anpassungen vornehmen muss, ehe tth den LaTeX-Code versteht:

  • keine Kopf- oder Fußzeile
  • einspaltiges Layout
  • alle Längenberechnungen entfernen
  • keine Spalten- oder Seitenumbrüche
  • „normale“ Positionierung von Bildern
  • einige Sonderzeichen (\ ~ |) maskieren
  • kein \ifthenelse
  • keine optionalen Argumente
  • Artikelüberschriften als \chapter
  • keine Listings (Paket listings)
  • nur Standardtabellenformat
  • keine absolute Positionierung (Paket textpos)

Auch ist die HTML-Ausgabe von tth nicht ganz optimal und fern von einer W3C-Validität. Daher läuft nach der Generierung der HTML-Datei ein eigens erstelltes Skript über den HTML-Code und passt diesen so an, dass ein ordentliche HTML-Version von freiesMagazin entsteht. So werden u.a. folgende Anpassungen vorgenommen:

  • unnötige Umbrüche entfernen
  • doppelte Absatzabstände entfernen
  • maskierte Sonderzeichen zurückwandeln (siehe oben)
  • echte Anführungszeichen setzen: „…“ anstatt ,,…''
  • Tabellenlayout korrigieren (feste Breite raus, einfacher Rahmen)
  • Bildergröße mittels style="max-width:100%;" anpassen
  • Meta-Daten (Titel, Herausgeber, etc.) des Dokuments setzen

Der gesamte, automatisierte Ablauf um eine HTML-Version von freiesMagazin zu erhalten, sieht also wie folgt aus:

  1. befehle-mobil.tex in die Hauptdatei eintragen und andere Dateien entfernen
  2. LaTeX-Code gesondert aufbereiten (hauptsächlich wegen Listings)
  3. tth laufen lassen
  4. HTML-Code nachbereiten (siehe oben)

Am Ende hat man ein HTML-Dokument, welches man im nächsten Schritt nach EPUB wandeln kann.

freiesMagazin als HTML

freiesMagazin als HTML.

Wandlung von HTML

Für die Wandlung des HTML-Dokuments nach EPUB kann man, wie oben bereits erwähnt, Calibre nutzen. Durch den Konsolenbefehl ebook-convert geht die Wandlung sogar automatisiert. Leider zeigt Calibre ein paar unschöne Eigenheiten. So wird der Abstand zwischen Absätzen nicht eingehalten, das CSS der Tabellen wird ignoriert und bei jeder Überschrift beginnt automatisch eine neue Seite. Zu guter Letzt fehlen im Inhaltsverzeichnis einige Kapitel. Durch Optionen lassen sich einige dieser Unschönheiten sicherlich ausbessern, nur sollte nicht zu viel Zeit in die Einarbeitung in Calibre investiert werden.

Ein anderer Weg zur Wandlung wäre das bereits oben erwähnte Pandoc, welches als Zielformat auch EPUB beherrscht. Die Ergebnisse des Konverters sind recht gut, dennoch gibt es ähnlich wie bei Calibre einige unschöne Eigenschaften, vor allem was den Einsatz von CSS angeht, sodass auch Pandoc nicht zum gewünschten Ziel führt.

Aus dem Grund wird bei freiesMagazin das Programm Sigil eingesetzt. Dies ist ein Konvertierprogramm von HTML nach EPUB, welches sehr gute Ergebnisse erzielt. Für die automatische Verarbeitung der Daten existiert eine inoffizielle Konsolenversion. Damit diese für freiesMagazin genau das tut, was sie soll, musste Sigil im Quellcode an einigen wenigen Stellen angepasst werden. So wird die HTML-Datei nicht konvertiert, sondern die Artikel werden getrennt, sodass jeder Artikel auf einer neuen Seite anfängt, und es wird ein Inhaltsverzeichnis erstellt. Das Ergebnis der Konvertierung mittels


$ sigil ~/freiesMagazin-2012-09.html ~/freiesMagazin-2012-09.epub

erzeugt dann (im Groben) die EPUB-Datei, die auf der freiesMagazin-Webseite heruntergeladen werden kann.

Sigil

Sigil.

Aber auch hier geht es leider nicht wieder ohne Anpassungen, damit das erzeugte EPUB ordentlich aussieht. So wird vor der Konvertierung das Inhaltsverzeichnis aus der HTML-Version entfernt, da die E-Book-Reader ein eigenes Inhaltsverzeichnis haben. Daneben erhalten die Artikel bestimmte Trennmarken am Beginn, damit jeder Artikel auf einer neuen Seite beginnt (siehe oben). Und zuletzt wird noch eine spezielle Titelseite erstellt, sodass in der Vorschau der E-Book-Reader zu sehen ist, um welche Ausgabe es sich handelt.

Vom LaTeX-Code über HTML zum EPUB.

Vom LaTeX-Code über HTML zum EPUB.

Prüfung des erstellten EPUB

E-Book-Reader sind bei der Interpretation des XHTML-Inhaltes nicht ganz so großzügig wie normale Webbrowser und verhalten sich mitunter sehr unfreundlich, d.h. sie reagieren mit Abstürzen, wenn das EPUB nicht ganz der Norm entspricht. Aus diesem Grund ist es sinnvoll, das EPUB nach der Erstellung zu überprüfen.

Hierfür gibt es zwei Möglichkeiten. Wer bereits Sigil einsetzt, kann dieses benutzen, um die Validierung durchzuführen. Dafür startet man Sigil, öffnet das EPUB und wählt dann unter „File -> Validate Epub“. Im unteren Teil des Fenster sieht man dann die diversen Warnungen und Fehler, die das geöffnete EPUB enthält. Durch einen Doppelklick kann man auch an die fehlerhafte Stelle springen und diese korrigieren.

Sigil validiert auch EPUBs.

Sigil validiert auch EPUBs.

Eine zweite Möglichkeit zur EPUB-Validierung ist das freie Java-basierende Programm EpubCheck. Nach dem Entpacken ruft man das Programm im Terminal auf und übergibt als Argument das zu prüfende EPUB. Die Ausgabe sieht dann ähnlich aus wie in Sigil:


$ java -jar epubcheck-3.0b5.jar freiesMagazin-2012-09-bilder.epub
Epubcheck Version 3.0b5

Validating against EPUB version 2.0
ERROR: freiesMagazin-2012-09-bilder.epub/OEBPS/content.opf(5,18): element "dc:keywords" not allowed anywhere
ERROR: freiesMagazin-2012-09-bilder.epub/OEBPS/Text/freiesMagazin-2012-09-bilder-epub_0003.xhtml(74,51): attribute "name" not allowed here
ERROR: freiesMagazin-2012-09-bilder.epub/OEBPS/Text/freiesMagazin-2012-09-bilder-epub_0004.xhtml(165,25): attribute "compact" not allowed here
...

Fazit

Der Artikel sollte zeigen, dass der Weg zu einem eigenen EPUB, egal ob man LaTeX oder HTML als Quelle hat, vielleicht nicht immer ganz einfach ist, man aber in der Regel mit vertretbaren Aufwand auch gute Ergebnisse erzielen kann.

freiesMagazin als EPUB.

freiesMagazin als EPUB.