% Artikel Forth-Produktion % Content-Encoding: UTF-8 \begin{document} \title{Wie wir diese Vierte Dimension produziert haben} \author{Ulrich Hoffmann} \maketitle \begin{multicols}{2} \begin{abstract} Ich weiß nicht, ob Sie's schon wussten? Aber diese Vierte Dimension ist auf eine neue Art und Weise entstanden. Das vorliegende Heft ist Ergebnis einer Mannschaftsleistung und ist innerhalb weniger Tage um die Jahreswende entstanden. Wir haben dazu eine Reihe von technischen Hilfsmitteln eingesetzt, die ich im Folgenden kurz ansprechen möchte. \end{abstract} \section{Einleitung} Diese Vierte Dimension ist eine Ausgabe, für die das Direktorium kommissarisch die Rolle des Editors eingenommen hat. Damit überbrücken wir den Zeitraum bis zur Jahrestagung, auf der wir über die Zukunft der Vierten Dimension diskutieren wollen. Es wäre schön, wenn wir dann die Redaktion in neue Hände geben könnten. In ihrer langen Geschichte hat die Vierte Dimension schon viele Editoren (ihnen allen sei hier nocheinmal ein ausdrücklicher Dank ausgesprochen) und noch mehr Publishing--Systeme erlebt (von Schneid-- und Kleb, über Ventura--Publisher, PressWorks, Pagemaker, Star--Office und anderen zu MS--Publisher). Alle diese Systeme haben gemeinsam, dass der Schwerpunkt der Arbeit auf das Layout der Seiten gelegt wird. Als Programmierer haben wir natürlich mehr Spaß daran, uns auf Inhalte zu konzentrieren als stundenlang Layoutanpassungen machen zu müssen. Bernd Paysan und ich haben neben Forth auch schon seit langem mit dem Textsatzsystem \LaTeX\ gearbeitet. Bernd hat mit der Neuauflage von {\em Thinking Forth}\/ (\url{http://thinking-forth.sourceforge.net/}) schon gezeigt, wie man mit einer Mannschaft eindrucksvoll ein Buch produzieren kann. Nachdem klar war, dass Friederich Prinz als letzte Amtshandlung die Vierte Dimension 3/4--2005 als Doppelheft herausbringen würde, schlug Bernd also vor, zwischen den Jahren das Heft 1--2006 nach neuer Technik im Direktorium gemeinsam zu produzieren. % Eine Übergangs-VD, deren Entstehung % ja in der Weihnachtszeit liegen dürfte, kriegt das Direktorium auch so % irgendwie hin, und den Rest kann man dann auf der Tagung besprechen. \section{Gemeinsames Arbeiten} Der Schlüssel dieser VD--Produktion ist das Zusammenarbeiten in einer Mannschaft, frei nach dem Motto \emph{Einer für alle, alle für eine VD} haben Fred Behringer und Thomas Beierlein Briefe und Artikel übersetzt und zusammengefasst. Bernd hat den \LaTeX--Stil für die Vierte Dimension entworfen und die technische Infrastruktur aufgesetzt. Bernd und ich haben das Rohmaterial der Autoren entgegengenommen und die notwendigen \LaTeX--Auszeichnungen ergänzt. %Eine nette Herausforderung ist dabei das Umsetzen von Excel--Tabellen in die %\verb|tabular|--Umgebung. Ich habe mich dafür entschieden, das über den Umweg %von CSV--Files (Comma Separated Values) mit Hilfe eines kleinen Forth--Scripts %zu erledigen (und das Resultat per Hand nachzuarbeiten). Die dafür notwendigen %Definitionen habe ich im Artikel \emph{CSV--Files lesen und verarbeiten} auf %Seite \pageref{CSVFiles} beschrieben. \section{Server der Forth--Gesellschaft} Jede Gruppe, die zusammenarbeiten will, muss sich austauschen können. Für Abstimmung der Aufgaben und das Anliefern von Roh--Artikeln haben wir Email verwendet. Für das entstehende Heft selbst bietet es sich aber an, alle Informationen an einer Stelle zu sammeln, damit von allen \emph{online}\/ darauf zugegriffen werden kann. Zum Glück betreibt die Forth--Gesellschaft seit Frühjahr 2005 einen eigenen Server. Auch beim Gestalten unserer Homepage \url{www.forth-ev.de} haben wir gute Erfahrunge gemacht, die Arbeit auf mehrere Schultern zu verteilen. Auf \url{www.forth-ev.de} kann jeder Interessierte Neuigkeiten über Forth erfahren \emph{und}\/ bereitstellen. Ich würde mir wünschen, dass das von noch mehr Forthern genutzt werden würde. Aber --- der Server bietet uns eben neben der Homepage zusätzlich auch die Möglichkeit, weitere Dienste zu nutzen, die man in einem einfachen Web--Angebot nicht findet. Bernd hat hier eine zentrale Ablage für Forth--Projekte auf Basis des Versionskontroll--Systems Subversion (\url{http://subversion.tigris.org/}) eingerichtet. \section{Versionsverwaltung mit Subversion} Das Versionsverwaltungs--System Subversion erlaubt es ganz generell, Sammlungen von Dateien und Verzeichnissen zu verwalten. Das Besondere ist, dass alle Versionen der Dateien (und Verzeichnisse) aufbewahrt werden und die Subversion--Benutzer so in der Lage sind, quasi rückwärts in der Zeit zu reisen und auf alte Änderungsstände zuzugreifen. Subversion ist ein Client--Server--System, das über das Internet arbeiten kann. Der Subversion--Server (auf www.forth-ev.de) verwaltet die Daten in einem sogenannten \emph{Repository}\/. Subversion--Clients gibt es unter anderem für Linux, MacOS, Windows. Auf diese Weise können Subversion--Benutzer, die mit ganz unterschiedlichen Computern arbeiten, auf die gleichen Daten im Repository zugreifen. Programmierer setzen Subversion normalerweise ein, um Quellcode zu verwalten. Das tun wir auch. Aber wir können dort auch bestens die entstehende Vierten Dimension verwalten, wenn wir sie nur als Programm begreifen. Wir sehen ein Heft als Forth--Programm an, das in einzelne Module eingeteilt ist. Hier sind das etwa Artikel, Rubriken, das Impressum oder die feststehenden Umschlagsseiten, die alle getrennt voneinander bearbeitbar sind. Statt also die Daten des Heftes als eine monolithische, proprietäre Datei eines Publishers abzulegen, halten wir sie modular in einem Internet--fähigem Versionsverwaltungs--System in einem offenen, gut dokumentierten Klartextformat. Aber mit welchem Klartextformat lassen sich Druckprodukte angemessen beschreiben? \section{Automatisches Setzen mit \LaTeX} Das von Donald Knuth entwickelte Textsatzsystem \TeX\ und seine auf Leslie Lamport zurückgehende Erweiterung \LaTeX\ (siehe beispielsweise \url{www.dante.de} oder \url{www.tug.org}) erzeugen hochwertig gesetzte Dokumente aus Text--Beschreibungen. Ähnlich wie in HTML werden dabei die Textstücke ausgezeichnet, um ihre Bedeutung innerhalb eines Textes zu kennzeichnen. Damit gebe ich über den Inhalt hinaus Informationen über die gewünschte Formatierung des Textes und seine Struktur an, die beim Setzen berücksichtigt wird. Wenn ich etwa \verb|\emph{hervorgehoben}| in der Beschreibung notiere, dann wird der entsprechende Teiltext \emph{hervorgehoben} dargestellt. Wie aber diese Hervorhebung tatsächlich im Druck erscheint, ob {\sl kursiv} oder {\bf fett}, legt erst der umfassende Stil fest. So erhält man ein einheitliches Schriftbild. Wenn ich erreichen möchte, dass mein Text zweispaltig gesetzt wird, so schließe ich ihn in \verb|\begin{multicols}{2}| und \verb|\end{multicols}| ein. Die passende Formatierung inklusive Worttrennung übernimmt \TeX. Auch sorgt es dafür, dass selbstständig ein Inhaltsverzeichnis entsteht. Ändert sich der Titel eines Artikels, wird er im Inhaltsverzeichnis ebenfalls geändert erscheinen. \TeX\ ist \emph{kein} what--you--see--is--what--you--get--System\footnote{Es gibt aber grafische Frontends wie LyX, deren Output selbstverständlich eingebunden werden kann --- \emph{Bernd}}. \TeX--Texte werden typischerweise mit einem ASCII--Editor geschrieben und dann mit dem \TeX--Prozessor und weiteren Transformatoren in das gewünschte Ausgabeformat (etwa letztlich Postscript oder PDF) gebracht. \LaTeX\ ist ein Makro--Paket, das die in \TeX\ eingebaute Makrosprache verwendet. Es definiert wiederkehrende Auszeichnungen für Standardtexte --- beispielweise Briefe, Artikel, Berichte, Bücher oder eben Zeitschriften. Diese Auszeichnungen machen es leichter, solche Standardtexte zu setzen. Für \LaTeX\ wiederum gibt es eine große Anzahl von Erweiterungen und Verfeinerungen, so genannte Stile, in denen etwa die oben angesprochenen Makros für Hervorheben und spaltenweises Setzen schon vordefiniert sind. \TeX\ oder \LaTeX\ zu lernen, ist keine einfache Sache, aber es lohnt sich. Mit \TeX\ werden umfangreichste Bücher gesetzt und wissenschaftliche Periodika produziert. Ich selbst würde für ein textorientiertes Dokument, das mehr als ein paar Seiten besitzt, nichts anderes einsetzen. Die Literatur zu \LaTeX\ ist umfangreich und frei verfügbare Systeme gibt es für alle gängigen Plattformen. Für die Vierte Dimension hat Bernd, ausgehend vom dtk--Stil, einen eigenen vd.cls--Stil definiert. Die wiederkehrenden Teile der Vierten--Dimension werden einmal entsprechend ausgezeichnet. Ist ersteinmal so ein Stil definiert, dann wird das Setzen von Texten fast zum Kinderspiel. Artikel können problemlos in \LaTeX\ angeliefert werden. Für einfache Texte benötigt ein Autor oft nur wenige Auszeichnungsarten, um seine Artikel zur formulieren. Diese sind schnell gelernt. ASCII--Texte (Emails, Leserbriefe) müssen ausgezeichnet werden. Dies ist nur dann ein wenig aufwändiger, wenn der Text Anführungszeichen enthält, die in \LaTeX\ eine Sonderrolle spielen. Typographisch gibt es viele Arten von Anführungszeichen. Andere Texte, die etwa mit Word oder OpenOffice\footnote{Auch mit \href{http://www.hj-gym.dk/~hj/writer2latex/}{writer2LaTeX} konvertierbar --- \emph{Bernd}} verfasst wurden, müssen auch entsprechend konvertiert werden. Das Einfachste ist, sie als Text abzulegen und dann auszuzeichnen. Alles in allem entlastet \TeX\ beim Layout und erlaubt es, dass wir das Schwergewicht mehr auf den Inhalt legen können. \section{Fazit} Wir haben mit der angerissenen Technik vergleichsweise schnell die aktuelle Ausgabe produzieren können. Jeder wählt die Werkzeuge, die ihm am besten liegen; das ist der Grund, warum wir alle mit Forth arbeiten. \begin{quote} Aber das Direktorium will nicht dauerhaft die Rolle des Editors übernehmen: Die Forth--Gesellschaft sucht einen neuen Editor für die Vierte Dimension. \end{quote} Der zukünftige Editor ist natürlich frei in der Wahl seiner Werkzeuge. Welche Technik aber auch immer eingesetzt wird: Unsere Vierte Dimension lebt von den Artikeln ihrer Autoren und von denen kann auch der zukünftige Editor jede Menge gebrauchen. Schreibt Artikel, wir haben alle was davon! \end{multicols} \end{document}