Skip to content

Virtuelle Brettspiele – Spaß übers Internet

Der eine oder die andere hat sicherlich mitbekommen, dass ein reales Treffen mit der eigenen Spielegruppe derzeit nicht zu den besten Ideen gehört. Manch einer mag aber dennoch nicht auf die wöchentliche Dosis „Scythe“, „Suburbia“ oder „Scrabble“ verzichten. Glücklicherweise gibt es hierfür ein paar Online-Alternativen, mit denen die Analogspieler sich virtuell treffen und vergnügen können – wenn die Server die Last denn aushalten.

BrettspielWelt

Die BrettspielWelt existiert bereits seit 1998. Ich habe immerhin 10 Jahre gebraucht, um das Portal zu finden und 2008 einen Artikel für freiesMagazin darüber zu schreiben.

Viel hat sich seitdem nicht geändert – zumindest für den Linux-Client – wobei ich nicht weiß, ob das positiv oder negativ ist. Eine Registrierung auf der Webseite bzw. im Client ist möglich, aber nicht zwingend erforderlich, um mitspielen zu können. Die Client-Oberfläche, welche auch für Windows und Mac OS X zum Download bereitsteht, wirkt etwas altbacken. Sie hat sich in den letzten zwölf Jahren nicht verändert und die Übersicht leidet ein klein wenig. Auf der Hilfeseite könnt ihr immerhin mehr über die Bedienung des Clients lesen.

BrettspielWelt-Client unter Linux
BrettspielWelt-Client unter Linux

Den Online-Client im Browser finde ich dagegen noch etwas unübersichtlicher, zumal ich auf Anhieb auch keine Hilfeseite oder Erklärung gefunden habe, was die unterschiedlichen Icons machen. Eine Einladung an konkrete Mitspieler hat nicht funktioniert, aber das Eröffnen eines öffentlichen Spieletisches habe ich hinbekommen und wir konnten losspielen.

Die Spieleauswahl ist ganz gut. Es gibt recht neue Titel wie „Die Crew“, „Hadara“ oder „Ganz schön clever“, aber auch einige neue Klassiker wie „Evolution”, „Marco Polo“, „Stone Age“ oder „7 Wonders“. Natürlich finden sich dort auch die beiden großen, modernen Brettspiel-Wegbereiter „Carcassonne“ von 2000 und „Siedler von Catan“ von 1995.

BrettspielWelt-Online-Client mit seiner Spieleauswahl
BrettspielWelt-Online-Client mit seiner Spieleauswahl

Die Spiele in BrettspielWelt sind voll ausprogrammiert und die Anwendung übernimmt die Verwaltung von Material, Würfeln, Karten etc. Die virtuellen Spieler müssen sich also um nichts kümmern außer die gewünschten Aktionsfelder, Karten etc. anzuklicken. Die meisten Spiele sind intuitiv zu bedienen. Bei „7 Wonders“ wird mir beispielsweise angezeigt, welche Karten ich kostenlos bauen kann oder wo ich noch etwas zuzahlen muss. So kümmert sich die Webseite komplett um die Einhaltung der Spielregeln. Vor allem bei Spielen mit viel Verwaltungsaufwand finde ich das sehr praktisch.

Yucata

Eine andere Brettspielplattform ist Yucata, die seit 2001 existiert. Ähnlich wie BrettspielWelt übernimmt die Webseite die Verwaltung des Spielmaterials und der Regeln. Auch hier werden beispielsweise bei „Russian Railroads“ möglich Arbeitereinsetzfelder farblich hervorgehoben und gleich angezeigt, wo ein Spieler nichts mehr einsetzen kann.

Die Besonderheit bei Yucata ist, dass die Spieler oft asynchron spielen. Das heißt, ich mache meinen Zug, wenn ich gerade die Zeit dafür und warte dann ggf. einen Tag auf die Reaktionen meiner Mitspieler. Was bei Schach noch ganz gut funktioniert, ist bei anderen Strategiespielen mit mehr Informationen wie zum Beispiel „Russian Railroads“ in meinen Augen nicht so gut machbar. Glücklicherweise klappt auch das Live-Spiel im Browser, auch wenn die Bedienung laut eigenen Aussagen etwas hängen kann.

Die Spieleauswahl bei Yucata hat einen ähnlichen Aktualitätsgrad wie die der BrettspielWelt. So gibt es zum Beispiel neuere Spiele wie „Chakra“, „Volt“ oder „Carpe Diem“, aber auch neue Klassiker wie „Marco Polo“ , „Russian Railroads“ , „La Granja“ oder „Brügge“ .

Die Oberfläche wirkt auf mich etwas intuitiver als bei BrettspielWelt. Ein Spiel zu starten und Mitspieler einzuladen, ist recht schnell erledigt, auch ohne eine Anleitung gelesen zu haben.

Spieleauswahl bei Yucata
Spieleauswahl bei Yucata

Board Game Arena

Als dritte Spielewebseite, welche die Verwaltung des Spiels und der Regeln übernimmt, existiert die Board Game Arena. Das Erstellen neuer Spiele und das Mitspielen ist von allen bisher genannten Seiten am einfachsten. Spiel auswählen, Tisch eröffnen oder beitreten, fertig.

Einen kleinen Haken hat die Sache: Einige Spiele sind als Premium-Spiele markiert, zu erkennen an einem gelben Marker. Für diese dürfen nur zahlende Mitglieder einen neuen Tisch eröffnen. Und dazu gehören eben auch zahlreiche beliebte oder neuere Spiele wie „Carcassonne“, „7 Wonders“, „Sushi Go“, „Terra Mystica“ oder „Love Letter“. Dennoch ist die restliche Spieleauswahl immer noch groß genug, sodass sich niemand mit einem kostenlosen Account langweiligen müsste.

Vom Schwierigkeitsniveau ist bei den Spielen alles dabei. „Tzolk'in“, „Im Wandel der Zeiten“ oder „Clans of Caledonia“ erfreut die Vielspieler. Dagegen gibt es auch kleinere Kartenspiele wie „6 nimmt“, „Love Letter“ oder ganz einfach nur „Skat“.

Spielauswahl bei der Board Game Arena
Spielauswahl bei der Board Game Arena

Tabletopia

Von großer Beliebtheit in der Vielspieler-Welt ist Tabletopia. Über 800 Brettspiele gibt es auf der Plattform. Dabei gibt es eine Besonderheit: Tabletopia ist nur ein Simulator. Das heißt, die Plattform stellt Karten, Spielmaterial und den Server zur Verfügung, ein Spiele-Verlag kann dann sehr leicht mit passenden Grafiken das Spiel wie in der Realität erstellen und aufbauen. Die Spieler setzen sich dann an den virtuellen Tisch und spielen wie ein reales Spiel. Sie müssen die Regeln kennen, Karten selbst austeilen, Meeples eigenständig mit der Maus von A nach B schieben und so weiter.

Dieses Sandbox-System erlaubt es den Spiele-Verlagen oder Spiele-Autoren sehr schnell, eine digitale Version ihres Spiels bereitzustellen, ohne sich groß mit einer Verwaltungsmaschine dahinter auseinander setzen zu müssen. Spieler kommen so viel schneller in den Genuss eines Prototyps, was vor allem bei Kickstarter-Projekten gerne genutzt wird.

Einen Nachteil hat das Ganze: Es ist für mich als Spieler eher umständlich. Am realen Spieltisch habe ich alles im Blick. Ich erkenne das große Ganze, aber ich kann auch Details erkennen, die sich in einer Ecke des Spielbretts abspielen. Arbeiter sind schnell in die Hand genommen und gesetzt. Nebenbei kann ich noch mit meinen Ressourcen-Plättchen herumspielen. Virtuell ist das nicht so einfach! Wenn ich an eine bestimmte Stelle hineinzoome, kann ich zwar die Details lesen, dafür fehlt mir aber der Überblick. Und umgekehrt hatte ich zum Beispiel bei „On the Underground“ zwar das ganze Spielbrett auf dem Bildschirm, aber die einzelnen Namen konnte ich nicht mehr erkennen. Das Material aus einem Säckchen zu ziehen und dann auf den gegenüberliegende Platz am Spieltisch zu legen dauert gefühlt Ewigkeiten. Allein das Aufnehmen der Spielfigur und Setzen fühlt sich einfach sehr langsam und behäbig an. Ein Spielmaterial-lastiges Spiel wie „Kanban“ damit zu spielen war ein Graus. Ein angenehmes Spielgefühl kam bei mir definitiv nicht auf.

Was schade ist, denn „Tabletopia“ bietet einige hochkarätige und vor allem neue Spiele wie „On Mars“, „Flügelschlag“, „Scythe“, „Clans of Caledonia“, „Everdell“ oder „Trickerion“ an. Ähnlich wie bei Board Game Arena gibt es einige Spiele, die nur mit einem Premium-Konto gespielt werden können. Manchmal gibt es auch Einschränkungen bei der Spieleranzahl oder Fraktions-/Charakterauswahl. Die restliche Auswahl ist aber immer noch riesig. Ihr müsst es eben mögen, dass ihr alle selbst virtuell mit der Maus umherschubsen müsst.

Kleine Spielauswahl bei Tabletopia
Kleine Spielauswahl bei Tabletopia

Tabletop Simulator

Ein weiteres Sandbox-System steht mit dem Tabletop Simulator seit 2015 zur Verfügung. Dieser existiert aber nur unter Steam und nur für Windows und Mac OS X – zwei Dinge, mit denen ich nicht aufwarten kann. Daher konnte ich das Programm auch nicht testen, was immerhin ca. 20 € kostet.

Bei Steam stehen über 200 Brettspiele für den Tabletop Simulator zum Download bereit, unter anderem „Flügelschlag“, „Scythe“, „Zombicide“, „Viticulture“ oder „Blood Rage“. Die Spiele kosten dabei selbst noch etwas, der Preis liegt zwischen 5 und 10 Euro. Daneben gibt es noch einige Tausend andere Spiele kostenfrei im Steam Workshop. Darunter sind dann Titel wie „Frosthaven“, „Splendor“, „Welcome to“, „Burgen von Burgund“, „Teotihuacan“, „Azul“ oder „Die Crew“.

Fazit

„Tabletopia“ und der „Tabletop Simulator“ sind definitiv nichts für mich. Wenn ich schon digital spiele, dann doch bitte mit Computer-Unterstützung, sodass ich mich nicht mit dem ganzen Verwaltungskram auseinandersetzen muss. Wenn ich etwas Reales mit Haptik zum Anfassen habe, dann gerne. Aber die ganze Zeit die Maus durch die Gegend schubsen? Das mache ich bereits tagsüber an der Arbeit.

Daher sagen mir Board Game Arena, Yucata und BrettspieltWelt am meisten zu – und zwar in genau der Reihenfolge. Board Game Arena hat eine sehr gut, vielfältige und hochkarätige Auswahl. Yucata und BrettspielWelt laufen da etwas hinterher. Und von der Oberfläche her hat die Board Game Arena die einfachste und intuitivste Bedienung. Aber sicherlich werde ich für das eine oder andere Spiel mal die Seiten wechseln – jetzt, wo ich schon überall ein Konto habe.

Was noch wichtig ist: Ab 18 Uhr sind die Server der meisten Anbieter sehr gut ausgelastet bzw. überlastet. Board Game Arena lässt beispielsweise nicht mehr als 18.000 Menschen gleichzeitig auf den Server. Bei Yucata hing unser Spiel „Russian Railroads“ um diese Zeit öfters fest und wir mussten den Spieletisch mehrmals neu laden. Immerhin: Zu keinem Zeitpunkt während des Tests wurde ein Spiel aufgrund von Überlastung komplett abgebrochen. Und wenn es heute mal nicht weitergeht, kann man es ja virtuell stehen lassen und morgen weiterspielen.

OSM-Radkarten selbst erstellt (Aktualisierung)

Seit 2009 nutze ich bereits die Radkarte von Radfahrer, welche dann bei Launchpad von Johannes Formann fortgeführt wurde. Im November 2018 hat der aktuelle Maintainer das Projekt leider eingestellt, der Code ist aber noch vorhanden und funktioniert sogar (mit kleinen Einschränkungen noch). Hier also eine aktualisierte, komplette Anleitung, wie ich derzeit Radkarten für mein Garmin erstelle.

Karte erstellen

Will man auf Basis des Radkarten-Projekts selbst eine Karte für das Garmin erstellt, geht man wie folgt vor.

Zuerst lädt man den Quellcode mit Bazaar herunter:

$ bzr branch lp:radkarte

Hier muss natürlich das Paket bzr installiert sein.

Danach wechselt man in den entstandenen Ordner:

$ cd radkarte

Theoretisch gibt man nun einfach nur

$ ant dist

ein, um die Generierung anzustoßen. Hierfür müssen die drei Pakete ant ant-contrib ant-optional installiert sein.

Zusätzlich benötigt man für andere Abhängigkeiten die Pakete m4 subversion sowie eine Java-Installation (z.B. openjdk-11-jdk).

Speicherort

Die fertigen gepackten Karten liegen am Ende unter build/dist/ als gmapsupp__singleMap.img.zip bzw. gmapsupp__full.img.zip. Es gibt in dem Ordner noch andere Dateien, die mich aber nicht interessieren. Je nach Wahl entpackt man die gewünschte zip-Datei und kopiert die entpackte Image-Datei gmapsupp*.img auf die SD-Karte des Garmins in den Ordner garmin/.

Andere Region generieren

Wenn man eine andere Karte als Deutschland generieren will (z.B. nur ein bestimmtes Bundesland), muss man den Downloadpfad und -dateiname in der build.xml anpassen (Zeile 21/22):

<property name="dl_path" value="europe/germany/"/>

<property name="dl_region" value="saarland"/>

Karten-ID ändern

Die Karten-ID steht an einer zentralen Stelle in der build.xml (Zeile 29):

<property name="family_id_base" value="5900"/>

Für eine andere Karte auf dem gleichen Garmin-Gerät muss die ID geändert werden. Hierzu einfach nur die ersten beiden Ziffern der 5900 ändern. Ich nehme im Übrigen immer die Telefonvorwahl des Landes als Kennziffer, also „4900“ für Deutschland.

Bekannte Probleme

Seekarten und Grenzen

Die Seekarten und Grenzen wurden bisher vom Server der Uni Wuppertal geholt, der aber nicht mehr aktiv zu sein scheint. Die Karten liegen nun auf dem Server von OSM-Nutzer Kukuk.

Das heißt, in der build.xml muss

<get src="http://osm2.pleiades.uni-wuppertal.de/sea/latest/sea.zip"

<get src="http://osm2.pleiades.uni-wuppertal.de/bounds/latest/bounds.zip"

durch Folgendes ersetzt werden:

<get src="http://osm.thkukuk.de/data/sea-latest.zip"

<get src="http://osm.thkukuk.de/data/bounds-latest.zip"

Patch für mkgmap funktioniert nicht

Ich weiß leider nicht genau, was der Patch machen soll (es hat etwas mit dem Garmin-MDR-Dateiformat zu tun), aber es wird bei der Generierung gemeldet:

[patch] patching file uk/me/parabola/mkgmap/combiners/FileInfo.java

[patch] Hunk #1 succeeded at 265 with fuzz 2 (offset 25 lines).

[patch] patching file uk/me/parabola/mkgmap/combiners/GmapsuppBuilder.java

[patch] Hunk #1 FAILED at 338.

Grund hierfür ist, dass der Patch sich auf eine ältere Code-Version von mkgmap bezieht und die neue sich zu stark geändert hat. Für die Erstellung der gmapsupp*.img ist dies glücklicherweise unwichtig.

Buch: arc42 in Aktion

Titel arc42 in Aktion
Autor Gernot Starke, Peter Hruschka
Sprache Deutsch
Genre Sachbuch
Verlag Hanser Verlag, 2016
Seitenanzahl 190

In vielen Software-Projekten, die länger als ein Jahr leben, gibt es eine Software-Architektur. Nicht immer sieht man sie sofort im Code, nicht immer entspricht die Realität dem Angedachten und sehr oft ist rein gar nichts dazu dokumentiert. Vor allem der letzte Punkt soll sich durch das Buch „arc42 in Aktion – Praktische Tipps zur Architekturdokumentation“ von Gernot Starke und Peter Hruschka bessern.

arc42-Template

Wer es nicht kennt: arc42 ist eine Vorlage für die Entwicklung, Dokumentation und Kommunikation von Software-Architekturen. Mit Template ist dabei keine Vorlage gemeint, die man strikt befolgt und ausfüllt, sondern es gibt eine Gliederung und Hinweise, welche Inhalte eine Architektur-Dokumentation haben kann und sollte.

Das Buch setzt genau dort an und stellt jedes Kapitel des Templates im Detail vor, welches Ziel damit verfolgt wird und wem es etwas nützt. Das Ganze an einem kleinen Beispiel, damit man die Vorlage auch einmal ausgefüllt sieht. Dabei muss man natürlich vor allem als Dokumentschreiber selbst abwägen, welche Teile man übernimmt und welche nicht. Das können die Autoren des Buches einem nicht abnehmen, aber sie geben wie gesagt Hinweise, was sinnvoll sein könnte.

Ich zähle hier nicht auf, wie das arc42-Template aufgebaut ist und welche Teile es enthält. Das kann man auf der Webseite nachschlagen. Positiv erwähnen will ich die Lizenz, denn das Template steht unter der Creative Commons Attribution Lizenz und darf damit von jeder Person frei benutzt, abgeändert und weiterverteilt werden. Nur die Originalquelle muss man angeben, wenn man sich darauf abstützt, was aber kein großes Problem sein sollte. Der Download steht für verschiedene Formate wie Office, LaTeX, Markdown oder HTML zur Verfügung.

Auch für Nicht-arc42-Nutzer

Besonders gefallen hat mir an dem Buch, dass der Sinn hinter der einzelnen Kapitel des arc42-Templates erklärt wird. Damit versteht man nämlich die Hintergründe, auch wenn man nicht arc42 als Template benutzt. So kann man sich sehr leicht einzelne Elemente, die einem zusagen, für die eigene Vorlage übernehmen.

Aus dem Grund fand ich vor allem Kapitel III „Grundregeln effektiver Dokumentation“ so wertvoll. Hier geht es wirklich um die Fallstricke für gute – und damit ist wertschöpfend gemeint – Dokumentation und wie man mit Problemen umgehen kann.

Aber natürlich kochen auch die Autoren bzw. die Entwickler des arc42-Templates nur mit Wasser. Nicht alles, was ich in dem Buch gelesen habe, halte ich für richtig. Nicht alles, was in der arc42-Vorlage steht, für sinnvoll. Alles in allem hat das Buch aber einen Mehrwert für jeden, der Architektur-Dokumente schreibt.

Nachtrag: Für mich sind die Grenzen zwischen Design und Architektur fließend. Aus dem Grund unterscheide ich nicht zwischen Architektur- und Design-Dokumenten. Deswegen können alle Tipps aus dem Buch fast eins zu eins für Design-Dokumente – oder allgemein fast jede Art von Dokumentation – übernommen werden.

Vorstellung einer deutschsprachigen Bewerbungsvorlage

Motivation

Meine Motivation für die Erstellung der Bewerbungsvorlage war ursprünglich nur, dass Anschreiben, Lebenslauf und alle weiteren Seiten zusammengehörig aussehen sollten. Sehr viele der vorhandenen Lebenslauf-Pakete auf CTAN lieferten oft nur den Lebenslauf-Teil. Für das Anschreiben in der gleichen Schriftart und -größe sowie Anpassung der Kopf- und Fußzeile musste weitere Arbeit investiert werden. Zusätzlich enthält meine Vorlage noch eine eigene „Meine Seite“ und eine „Motivationsseite”. Ob diese nach heutigem Bewerbungsstandard noch notwendig oder gewünscht sind, soll hier nicht diskutiert werden.

Im Laufe der Jahre kam noch eine zweite Motivation dazu: Weil andere Benutzer die Vorlage rege nutzten, sollte sie so einfach wie möglich gestaltet sein. Insbesondere wollte ich auch Leute ansprechen, die nicht so viel TeX-Erfahrung haben. Aus diesem Grund besteht die Vorlage nur aus einer einzigen Datei, die der Schreiber editieren muss. Über entsprechende Kommentare wird im Dokument genau erklärt, an welchen Stellen ein Bewerber Daten anpassen muss. Da das Zielpublikum dabei immer deutschsprachige Anwender waren, sind alle Makros und Befehle ebenfalls deutschsprachig verfasst.

Aufbau der Dateien

Die Bewerbungsvorlage stelle ich auf GitHub zur Verfügung. Darüber hinaus biete ich den Archiv-Download auf meiner Webseite an. Die Vorlage unterliegt der Creative-Commons-Lizenz CC-BY-SA 4.0 und darf damit geändert und verteilt werden, solange man den Urheber nennt und die Lizenz beibehält. Das aus der Vorlage erstellte PDF unterliegt natürlich keinerlei Lizenzbeschränkungen.

Das Archiv der Bewerbungsvorlage enthält vier Dateien (neben CHANGELOG, README und LICENSE):

  • bewerbung.tex – Die eigentliche Bewerbungsvorlage. Nur hierin werden Daten geändert.
  • bewerbung-latex.sty – Die Style-Datei mit den benötigten Befehlen und Paketen. Diese Datei nicht anfassen!
  • foto-bewerber.png – Das (optionales) Bewerberfoto.
  • signatur-bewerber.png – Die (optionale) eingescannte Unterschrift.

Aufbau der Bewerbung

Die Bewerbung gliedert sich in fünf Teile:

  • Anschreiben
  • Seite mit persönlichen Daten
  • Lebenslauf
  • Motivationsseite
  • Anlagenverzeichnis

Im Folgenden erkläre ich den Aufbau der Vorlage anhand dieser Teile und des zugehörigen LaTeX-Codes. Die Beschreibung ist dabei meistens der Kommentierung in der Vorlage selbst entnommen.

Präambel

In der Präambel (also alles vor der Umgebung document) sind vor allem die persönlichen Daten und die Daten des Adressaten festgelegt, die dann später im Anschreiben und der persönlichen Seite benutzt werden.

Schrift festlegen

Das Makro \SetzeSchrift legt die Schrift fest, was man nur ändern sollte, wenn man die korrekten Namen kennt:

\SetzeSchrift{tgpagella}{TeX Gyre Pagella}

Das erste Argument ist der Paketname für pdfTeX, das zweite Argument der Schriftname für XeTeX und LuaTeX. Als Standardschrift wird TeX Gyre Pagella benutzt, die mir optisch gut gefällt. Hierfür ist das Paket tex-gyre notwendig.

Persönliche Daten

Der nächste Block legt die einzelnen persönlichen Daten fest:

\VollerName{Eva Mustermann}
\AbsenderStrasse{Musterstraße 42}
\AbsenderPLZOrt{12345 Berlin}
\Telefon{Tel.: 0172 567890}
\EMail{eva.mustermann@musterstadt.de}
\OrtDatum{Berlin, \HeutigerTag}
\Geburtstag{1. Januar 1985}
\Geburtsort{Berlin}
\Details{ledig, ortsungebunden}
\Ausbildungsgrad{Promovierte Veterinärmedizinerin}

Bis auf den Ausbildungsgrad und die Details sind alle Angaben zwingend notwendig, damit Anschreiben und die persönliche Seite korrekt dargestellt werden.

Bei der E-Mail ist es möglich, optional eine Farbe anzugeben, mit der die E-Mailadresse dargestellt werden soll. Als Standard ist schwarz eingestellt.

\EMail[orange]{eva.mustermann@musterstadt.de} 

Unterschrift und Foto

Die Unterschrift ist optional und sollte als Bilddatei oder PDF vorliegen. Als Option kann man die Breite der Unterschrift angeben, wobei 5 cm der Standard ist.

\UnterschriftenDatei[5cm]{signatur-bewerber.png}

Auch das Bewerberfoto ist optional. Über die Dateiangabe wird auf der persönlichen Seite das Foto dargestellt. Ein optionales Argument steuert die Höhe des Bildes. Größere Werte als 10,5 cm sind nicht sinnvoll, da das Bild sonst nicht mehr auf die Seite passt.

\BewerberFoto[6cm]{foto-bewerber.jpg}

Adressat

Bei der Angabe der Daten des Adressaten gibt es einige Variationsmöglichkeiten:

\Firma{Hell AG}
\Abteilung{Personalabteilung}
\AdressatVorname{Christina}
\AdressatNachname{Funkel}
\AnschriftStrasse{Route 66}
\AnschriftPLZOrt{00000 Havenfürst}
\AdressatTitel[Prof. Dr.]{Professorin}
\Anrede{Frau}

Bis auf die Firma sowie Straße und Ort sind alle Angaben optional. Wird beispielsweise kein Adressat angegeben bzw. die Anrede weggelassen, wird das Anschreiben automatisch mit „Sehr geehrte Damen und Herren” eingeleitet. Valide Anreden sind „Frau“, „Herr“ oder ein leerer Eintrag. Das Makro \AdressatTitel besitzt zusätzlich ein optionales Argument, welches nur im Briefkopf benutzt wird.

Auch ein zweiter Adressat ist möglich, die Angaben sind alle optional:

\ZweiterAdressatVorname{Pitti}
\ZweiterAdressatNachname{Platsch}
\ZweiterAdressatTitel[Dr.]{Doktor}
\ZweiterAdressatAnrede{Herr}

Bewerberstelle

Nicht zu vergessen ist natürlich die Stelle, auf die man sich bewerben möchte:

\Bewerberstelle{Veterinär-Mediziner (m/w)}

Hier endet die Präambel und der eigentliche Inhalt folgt.

Anschreiben

Abstandsreglung

Für das Anschreiben gibt es zahlreiche Abstandsparameter, die verändert werden können, wenn es erforderlich ist. Somit kann man je nach Menge des Anschreibentextes die Position der einzelnen Elemente (Absender, Adressat, Anschreibentext) steuern, auch wenn man damit gegebenenfalls gegen die Geschäftsbriefnorm DIN 5008 verstößt.

\AbstandZwischenAdressen{0}

Dies ist der Abstand zwischen dem Absender und dem Adressat im Anschreiben. Gemessen wird in Zeilen, d.\,h. der Wert 1.5 steht für anderthalb Zeilen. Der Standard-Wert ist 0.

\AbstandVorAnschreiben{3}

Dies ist der Abstand vor dem eigentlichen Anschreiben (inklusive Ort und Datum). Gemessen wird in Zeilen, d.\,h. der Wert 1.5 steht für anderthalb Zeilen. Der Standard-Wert ist 1.

\AnschreibenSeiteVergroessern{0}

Hierüber kann man die Anschreibenseite vergrößern, d.\,h. es ist damit möglich, über den eigentlichen unteren Rand zu schreiben, falls das Anschreiben etwas länger geworden ist. Gemessen wird in Zeilen, d.\,h. der Wert 1.5 steht für anderthalb Zeilen. Der Standard-Wert ist 0. Als Maximalwert sollte man 3 einstellen, ansonsten wirkt das Anschreiben vom Aufbau sehr unausgeglichen und unschön.

\AbstandVorAnlagen{2}

Die letzte Angabe regelt den Abstand zwischen Unterschrift und den Anlagen im Anschreiben. Gemessen wird in Zeilen, d.\,h. der Wert 1.5 steht für anderthalb Zeilen. Der Standard-Wert ist 1.

Anlagen

Im Anschreiben kann ein optionaler Hinweis auf die Anlagen erscheinen:

\AnschreibenAnlage{Anlagen}

Die Anlagen selbst werden im Anlagenverzeichnis am Ende näher aufgeschlüsselt.

Anschreiben

Die Umgebung Anschreiben enthält den eigentlichen Bewerbungstext.

\begin{Anschreiben}
hier steht mein Bewerbungstext. [...]
\end{Anschreiben}

Anschreiben
Anschreiben

Persönliche Seite

Für die persönliche Seite hat man alle Angaben bereits in der Präambel getätigt, sodass nur das Makro

\MeineSeite

angegeben werden muss.

Darstellung der persönlichen Seite
Darstellung der persönlichen Seite

Lebenslauf

Überschrift einstellen

Die Überschriften des Lebenslaufs und der weiteren Kapitel wie Motivationsseite und Anlagenverzeichnis können über unterschiedliche Makros eingestellt werden. Prinzipiell kann man die Einstellung vor jedem Kapitel ändern. Einheitlicher ist es, wenn die Definition nur einmal am Anfang des Lebenslaufes geschieht.

Die Ausrichtung gibt an, wo die Überschrift steht:

\UeberschriftAusrichtung{links}

Mögliche Angaben sind: links, rechts und mittig. Per Standard ist rechts eingestellt.

\UeberschriftGroesse{\LARGE}

stellt die Schriftgröße der Überschrift ein. Erlaubt sind alle bekannten LaTeX-Schriftgrößenangaben. Sinnvoll sind LARGE, huge oder Huge. Standard ist LARGE.

Zum Schluss kann man noch den Überschrifttext verändern – aber nur für den Lebenslauf. Per Standard wird „Lebenslauf“ ausgegeben. Beispielsweise ist auch ein „Curriculum Vitae“ möglich.

\UeberschriftLebenslauf{Lebenslauf}

Lebenslauf und Abschnitte

Der Lebenslauf beginnt mit der Umgebung Lebenslauf:

\begin{Lebenslauf}
...
\end{Lebenslauf}

Das Makro \EinschubCV definiert den Einschub, wie weit die einzelnen Einträge am linken Rand eingerückt werden. Standard ist 8 pt.

\EinschubCV[buendig]{8pt}

Das optionale Argument buendig gibt an, dass die Abschnittsüberschrift zusätzlich noch bündig zur Tabelle sein soll und nicht linksbündig per Standard.

Der Lebenslauf ist in Abschnitte AbschnittCV unterteilt. Jeder Abschnitt hat dabei einen Titel. Innerhalb des Abschnitts legt \EintragCV einen neuen Eintrag an. In der Textgestaltung ist man ansonsten frei.

\begin{AbschnittCV}{Promotion}
\EintragCV{Mai 2015}{Doktor der Veterinärmedizin \newline
                     Doktorarbeit an der Uni Berlin}
}
\end{AbschnittCV}

Wichtig ist, dass mehreren Zeilen über \newline umgebrochen werden und nicht mit \\, weil intern eine Tabelle benutzt wird und zwei Backslashes das Ende der Tabellenzeile bedeuten.

Abschnitte im Lebenslauf
Abschnitte im Lebenslauf

AbschnittCV und \EintragCV haben beide noch ein optionales Argument, über das man den Abstand unter dem jeweiligen Abschnitt/Eintrag regeln kann. Angegeben wird der Wert in Zeilen, per Standard wird ein Abstand von 0,5 Zeilen benutzt. Beispiel:

\begin{AbschnittCV}[0]{Studium}%
\EintragCV[1]{September 2012}{Abschluss als Diplom-Veterinärmedizinerin}
\EintragCV{2006 – 2012}{Studium Diplom-Veterinärmedizin}
\end{AbschnittCV}

Über die Angabe

\NeueSeiteAbschnittCV

ist ein expliziter Umbruch des Lebenslaufs möglich, sodass mit dem nächsten Eintrag eine neue Seite begonnen wird. Das ist zum Beispiel dann sinnvoll, wenn ein Abschnitt nicht mehr ganz auf die Seite passt und unschön umgebrochen wird.

Die Farbe der Abschnitte und der darunter befindlichen Linien lassen sich über

\AbschnittFarbe{Blue}
\AbschnittLinienFarbe{Blue}

am Anfang des Lebenslaufs ändern, wenn man will. Als Farbnamen werden die herkömmlichen klein geschriebenen LaTeX-Namen verstanden als auch die dvips-Namen.

Über \UnterabschnittCV sind noch feinere Gliederungen möglich:

\begin{AbschnittCV}{Praktische Tätigkeiten}%
\EintragCV{2006 – 2012}{Tierarzt-Praxis Dr. Hauser, Berlin}
\UnterabschnittCV{Kernarbeitsgebiete}{%
    \punkt Hunden die Pfötchen halten
    \punkt Katzen kraulen
}
\UnterabschnittCV{Weitere Aufgaben}{%
    \punkt Wasser besorgen
}
\end{AbschnittCV}

Die Unterabschnitte haben dabei auch Überschriften und danach eine simple Auflistung mit den einzelnen Punkten.

Lebenslauf mit Unterabschnitten
Lebenslauf mit Unterabschnitten

Motivationsseite

Die Motivationsseite ist optional. Wer sie nicht benötigt, kommentiert die Umgebung Motivation einfach aus. Ansonsten kann man dort ein bisschen was über sich selbst erzählen und wieso man zu der beworbenen Stelle

passt.

\begin{Motivation}
Hier steht mein Motivationstext. [...]
\end{Motivation}

Motivationsseite
Motivationsseite

Anlagenverzeichnis

Das Anlagenverzeichnis startet über die gleichnamige Umgebung:

\begin{Anlagenverzeichnis}
    \AbschnittAnlage{Arbeitszeugnisse}
    \begin{Auflistung}
        \Anlage{Tierarzt-Praxis Dr. Hauser}
        \Anlage{FSJ, Malteser-Krankenhaus Berlin}
    \end{Auflistung}

    \AbschnittAnlage{Zeugnisse}
    \begin{Auflistung}
        \Anlage{Doktorurkunde}
        \Anlage[diplomurkunde.pdf]{Diplomurkunde}
        \Anlage{Diplomzeugnis}
        \Anlage{Abiturzeugnis}
    \end{Auflistung}
\end{Anlagenverzeichnis}

\AbschnittAnlage leitet jeweils eine neue Anlage ein. Die Auflistung-Umgebung enthält dann die eigentlichen Anlagen. \Anlage besitzt ein optionales Argument, über welches man einen Dateinamen mit angeben kann. Geschieht das, wird die Seite im Verzeichnis entsprechend verlinkt und der Eintrag unterstrichen.

Anlagenverzeichnis
Anlagenverzeichnis

\AnlageEinfuegen ermöglicht das direkte Einbinden von PDF-Dokumenten:

\AnlageEinfuegen{diplomurkunde.pdf}
\AnlageEinfuegen[quer]{doktorurkunde.pdf}

Das optionale Argument quer gibt an, dass die Anlage im Querformat eingebunden wird. Wenn der Dateiname der Anlage identisch zum optionalen Dateinamen oben bei \Anlage ist, wird die Anlage auch korrekt im PDF verlinkt.

Fazit

In dem Artikel habe ich meine Bewerbungsvorlage vorgestellt, indem ich in den einzelnen Kapiteln die unterschiedlichen Makros und Umgebungen erklärt habe. Die Vorlage wird bei Kommentaren in meinem Blog regelmäßig gepflegt, wie man am CHANGELOG der vergangenen Jahre sieht. Auch durch die Vorstellungen auf der DANTE-Frühjahrstagung 2015 im wunderschönen Stralsund und der DANTE-Frühjahrstagung 2016 in Wuppertal gab es wertvolle Rückmeldungen, die in die Vorlage eingeflossen sind.

Derzeit (März 2018) liegt die Bewerbungsvorlage nur in GitHub und in meinem Blog zum Download bereit und ist nicht auf CTAN verfügbar. Vielleicht findet sich nach dem Lesen des Artikels jemand, der sich an die Paketierung wagt.

Herausforderungen bei der EPUB-Erstellung mit tex4ebook

In freiesMagazin 07/2015 und in der DTK 4/2015 habe ich verschiedene E-Book-Konverter gezeigt, die aus einem LaTeX-Dokument eine HTML-Seite bzw. gleich ein EPUB erzeugen.

Auf Basis dessen erreichte mich vor zwei Wochen eine Anfrage, ob ich bei der Konvertierung eines Buches, welches mit TeX gesetzt wurde, helfen könne. Das Buch umfasst ca. 500 Seiten, enthält ca. 70 Abbildungen und 4000 mathematische Formeln. Es werden 32 LaTeX-Pakete eingebunden, wovon ich maximal drei Viertel kenne – was aber auch kein Wunder ist bei der Masse an Paketen, die es gibt.

Unterstützen sollte ich bei der Konvertierung des Buches mittels tex4ebook, was Herbert Voss kurz in der DTK 4/2015 anriss, da ich es in meinem Test damals nicht mit einbezogen hatte. Nach ein bisschen Handarbeit lief tex4ebook in der neuesten Version dann bei mir auch. Schade ist, dass man schon Einiges an Linux- und TeX-Wissen braucht, um das Programm überhaupt zum Kompilieren und Installieren zu bekommen.

Leider übersetzte aber die TeX4ht-Engine – welche zum Konvertieren nach HTML benutzt wird – das Dokument nicht sofort. Folgende Änderungen musste ich manuell vornehmen:

  • PDF-Bilder, die mit \includegraphics ohne Dateiendung eingebunden wurden, wurden nicht gefunden. Hier musste ich das .pdf ergänzen, was dazu führt, dass pdflatex das Dokument nicht mehr übersetzt. \includepdf wäre wohl die richtige Wahl.
  • Bei einer description, itemize oder enumerate muss der erste Eintrag ein \item sein. Im Buch stand dort des öfteren ein Hyperref-Linkziel mit \hypertarget.
  • Das Paket subfig erzeugt ein fehlendes \fi und musste daher entfernt werden. Die entsprechenden Benutzungen von \subfloat habe ich durch simple Tabellen ersetzt. Wie ich gelesen habe, könnte das Paket subfigure auch helfen.
  • Das Paket arydshln erzeugt ebenfalls ein Problem mit einem „Undefined control sequence“. Das Paket musste ich entfernen, ebenso wie die genutzten \hdashline durch \hline ersetzen.
  • Ganz tödlich waren Fußnoten \footnote bzw. \footnotemark oder Indexverweise mit \index in Überschriften. Das erzeugte regelmäßig ein „Tex capacity exceeded, sorry [input stack size = 5000]“. Grund war weniger die Fußnote oder der Index, sondern der Fehler trat bei einem darauf folgenden \label auf, weil vermutlich das Label dann ebenso die Fußnote/Index enthielt, was zu viel des Guten war.

Nach diesen Anpassungen lief zumindest tex4ebook durch und erzeugte ein PDF. Zu einem großen Teil sah das auch ganz okay aus. Es fehlten aber auch einige Abbildungen, Formeln und vieles mehr. Ich denke, dass man hier einige Stunden bzw. realistischer Tage und Wochen Arbeit vor sich hat, um ein ansehnliches E-Book zu erzeugen.

Mir hat das reale Beispiel (meine Beispieldatei entspricht nicht ganz der Realität und freiesMagazin wurde fast von Anfang an darauf getrimmt) aber wieder einmal mehr gezeigt, dass für die Konvertierung einer TeX-Datei in PDF, HTML und EPUB einige Punkte wichtig sind:

  • Trennen von Paketinkludierung, von Befehlsdefinitionen und vom eigentlichen Inhalt. So kann man nämlich wesentlich leichter eine spezielle EPUB-Version mit eigenen Befehlsdefinitionen oder anderen Paketen einbinden.
  • Möglichst eigene Befehlsdefinitionen verwenden und keine reinen LaTeX-Befehle. Klingt erst einmal komisch, hilft aber enorm, wenn man für die EPUB-Version eigene Befehlsdefinitionen schreiben muss.
  • Fußnoten möglichst spärlich einsetzen, das Konzept passt einfach nicht in ein E-Book.

Ich bin jedenfalls gespannt, wie es mit dem Buch weitergeht und ob es der Ersteller schafft, daraus ein E-Book zu generieren. Ich drücke ihm natürlich die Daumen, es bleibt ein spannendes Unterfangen.

Ubucon 2017 im Oktober in Wolfsburg

Wie man bei Ikhaya nachlesen kann, kommt die Ubucon 2017 nach Wolfsburg. Das größte Treffen der deutschsprachigen Ubuntu-Community lebt also noch und hat sich dieses mal in der Autostadt angesiedelt. Die zentrale Lage sollte hoffentlich für genügend Besucher sorgen.

Die Veranstaltung findet vom 13. bis 15. Oktober statt. Der Call for Papers ist noch bis zum 31. August offen. Es wird sportlich, in drei Wochen ein gutes Programm erstellen zu können. Da die meisten Einreichungen aber eh erst kurz vor Schluss kommen, wie ich aus Erfahrung weiß, könnte das ggf. reichen.

Ich bin gespannt, welche Vorträge es geben wird und vielleicht schaue ich dieses Jahr wieder vorbei, nachdem ich die Ubucon Europe in Essen letztes Jahr nicht besuchen konnte.

Update2: OSM-Radkarten selbst erstellt

Viel hat sich seit 2017 nicht an der Radkarte geändert, mit dem man automatisiert aus den OpenStreetMap-Karten ein Garmin-File für das eigene Navi erstellen kann. Ich freue mich aber, dass das Skript immer noch weiter entwickelt wird. Auf Basis der letzten Änderungen folgt hier ein kleines Update.

Die Installation und Benutzung ist erst einmal identisch wie im Originalartikel bzw. ersten Update beschrieben. Geändert hat sich nur:

Benötigte Pakete

Neben den Paketen ant und ant-contrib wird nun auch ant-optional für die Unit-Tests benötigt, sonst erhält man eine Fehlermeldung der Art:

run.tests:

[mkdir] Created dir: /home/dee/bin/radkarte/bin/splitter/trunk/tmp/report

BUILD FAILED

/home/dee/bin/radkarte/build.xml:102: The following error occurred while executing this line:

/home/dee/bin/radkarte/bin/splitter/trunk/build.xml:239: Problem: failed to create task or type junit

Cause: the class org.apache.tools.ant.taskdefs.optional.junit.JUnitTask was not found.

This looks like one of Ant's optional components.

Humble Book Bundle Linux & Open Source

Das aktuelle Humble Book Bundle liefert einige Linux- und Open-Source-Bücher für den kleinen Geldbeutel. Zu beachten ist, dass alle Bücher nur auf Englisch erhältlich sind. Enthalten sind:

Ab 1 US-Dollar:

  • Pro Git (Second Edition)
  • Ansible: From Beginner to Pro
  • Certified OpenStack Administrator Study Guide

Ab 8 US-Dollar:

  • Pro Vim
  • Practical LPIC-1 Linux Certification Study Guide
  • Beginning Ubuntu for Windows and Mac Users
  • Introduction to Linux Distros
  • Nginx: From Beginner to Pro

Ab 15 US-Dollar:

  • Pro Linux High Availability Clustering
  • Practical Linux Topics
  • Pro Docker
  • Introducing Ethereum and Solidity

Wie immer kann über Paypal, Amazon oder Kreditkarte bezahlt werden. Das Geld kann aufgeteilt werden auf den Verlag Apress, auf die Humble-Macher und auf die beiden Hilfsorganisationen Electronic Frontier Foundation und International Rescue Committee.

Das Ende von freiesMagazin

Mir fällt ein, dass ich gar nichts zum Ende von freiesMagazin geschrieben habe. Ich war fast durchgängig die 10 Jahre an Bord, die größte Zeit als verantwortlicher Redakteur. Wenn ich auf die Download-Statistiken und die Artikel-Einsendungen schaue, zeigte sich die letzten Jahre aber eine langsame Stagnation. Das Interesse wurde sowohl bei den Lesern als auch bei den Autoren geringer. Und so fällt es natürlich schwer, dauerhaft eine monatliche Ausgabe zu veröffentlichen.

Zusätzlich hat sich bei mir auch privat und beruflich viel verändert, sodass ich kaum noch zu vielen anderen Dingen komme (wie man an den Blogbeiträgen etwas sieht). Die Konsequenz war, das Magazin einzustellen, da sich niemand aus dem Team gefunden hat, der es weiterführen wollte. Spaß hat es auf alle Fälle gemacht und ich versuche irgendwie weiterhin einen Blick in die TeX-Welt zu werfen, wo mir doch mein einziges Anwendungsgebiet mit dem Magazin weggefallen ist.

Die Archivierung ging im Übrigen relativ einfach. Zuerst habe ich die Original-Webseite mit wget lokal gespeichert. Danach habe ich mit einem TCL-Skript alle HTML-Seiten durchforstet und unerwünschte Elemente herausgeworfen (wie z.B. Formular oder Kommentarfunktionen). Zusätzlich musste ich auch noch ein paar Korrekturen vornehmen, da nicht alle Links korrekt ersetzt wurde. Am Ende habe ich alles auf meine Seite http://deesaster.org/freiesMagazin/ hochgeladen, wo alle Inhalte dauerhaft archiviert werden. Die URL http://freiesmagazin.de/ zeigt natürlich auf den neuen Ort.

Allen Teamkollegen, Autoren und Lesern natürlich noch einmal einen herzlichen Dank. Ich habe viel gelernt in den zehn Jahren und kann sogar einiges davon im Berufsleben anwenden.

Humble Book Bundle Unix und weitere freie E-Books

Noch drei Tage lang gibt es im aktuellen Humble Book Bundle 17 E-Books zum Thema Unix von O'Reilly. Die Bücher sind unter anderem zu den Themen Unix, sed & awk, lex & yaxx, Bash, Emacs, Vi & Vim und einige Netzwerkthemen.

Die Bücher stehen nur auf Englisch zur Verfügung, dafür kann man aber wie immer den Preis selbst festlegen. Die Bücher gibt es ab 1 US-Dollar bzw. 8 US-Dollar und 15 US-Dollar. Das Geld kann man unter O'Reilly, den Humble-Machern oder der Charity-Organisation Code for America aufteilen.

Wem die Bücher nicht reichen, der kann auch gleich noch weiter bei den kostenlosen O'Reilly-E-Books vorbeischauen. Dort findet man unter anderem Bücher zu den Programmiersprachen Java, Python, C++, Rust, Swift und Ruby oder allgemeine Bücher zu Open Source und Software-Architektur.