freiesMagazin Juli 2015

Themen dieser Ausgabe sind u. a.

Debian GNU/Linux 8.0 „Jessie“ Seite 3

Knapp zwei Jahre hat das -Projekt unermüdlich gearbeitet, um den Nachfolger von Debian 7.0 „Wheezy“ fertigzustellen. Dieser Artikel stellt Debian 8.0 „Jessie“ mit einem Fokus auf die Neuheiten dieser Version vor. (weiterlesen)

Mit LATEX zum E-Book Seite 18 E-Book-Reader und mobile Geräte, auf denen man E-Books lesen kann, werden immer beliebter, nehmen sie doch weniger Platz in der Reisetasche weg als herkömmliche Bücher. Und so haben auch immer mehr Autoren, die LATEX nutzen, Interesse daran, ihre Werke nicht nur als PDF, sondern auch in einem E-Book-Format zu veröffentlichen. Der Artikel wirft einen Blick auf die aktuellen Möglichkeiten, ein LATEX-Dokument in ein EPUB zu konvertieren. (weiterlesen) cut out selected fields of each line of a file Seite 42 Ein klassisches Programm im Unix-Werkzeugkasten ist cut. In keinem ordentlichen Tutorial zur Shellprogram- mierung fehlt es, denn es ist ein schönes, praktisches und anschauliches Helferlein. Hier soll ein wenig hinter seine Fassade geschaut werden. (weiterlesen)

© freiesMagazin CC-BY-SA 4.0 Ausgabe 07/2015 ISSN 1867-7991 MAGAZIN

Editorial

Wikimedia stellt auf HTTPS um bislang noch recht gut mit Artikeln für die kom- Inhalt Die Wikimedia Foundation hat auf ihrem Blog menden Ausgaben ausgestattet. Falls Sie aber in Linux allgemein angekündigt [1], in naher Zukunft alle norma- einer lauen Sommernacht einmal Langeweile be- Debian GNU/Linux 8.0 „Jessie“ S. 3 len HTTP-Verbindungen durch eine mit HTTPS kommen sollten oder es Sie ganz einfach schon Linux-Distributionen mit Langzeitunterstüt- S. 11 abgesicherte Version zu ersetzen. Bisher muss- immer in den Fingern gejuckt hat, einen Artikel zung (LTS) te man Wikipedia-Seiten manuell über das für freiesMagazin über Ihr Lieblingsprogramm zu Der Juni im Kernelrückblick S. 16 HTTPS-Protokoll aufrufen (alle Wikipedia-Links schreiben, schicken Sie uns doch einfach eine E- in freiesMagazin sind beispielsweise explizit mit Mail an mit Ihrer Anleitungen https:// versehen) oder Plug-ins wie HTTPS Idee bzw. Ihrem Artikelentwurf. Mit LATEX zum E-Book S. 18 Everywhere [2] verwenden. Mit der Umstellung Software soll dieser Umweg entfallen. Die Palette an Themen, die noch nicht behan- Neues in Octave 4.0.0 S. 40 delt wurden, ist groß [6], sodass zumindest rein cut out selected fields of each line of a file S. 42 Zusätzlich soll HSTS (HTTP Strict Transport Se- thematisch die Ideenkiste nicht so schnell leer ist. curity [3]) dafür sorgen, dass Proxys und andere Community dazwischengeschaltete Server nicht doch eine un- Und nun wünschen wir Ihnen viel Spaß mit der Rezension: Git – Verteilte Versionsverwal- S. 48 sichere Verschlüsselung erzwingen können, um neuen Ausgabe. tung für Code und Dokumente so z. B. die Verbindung mitlesen zu können. Rezension: Let’s Play Minecraft: Dein S. 50 Ihre freiesMagazin-Redaktion Praxis-Guide Spielen unter Linux LINKS Rezension: The Art of Unit Testing S. 52 Mehr als ein Jahr ist es nun her, dass Crytek im [1] https://blog.wikimedia.org/2015/06/12/ Magazin Rahmen der GDC 2014 eine Linux-Unterstützung securing-wikimedia-sites-with-https/ Editorial S. 2 für seine als „CryEngine“ bekannte Spiele-Engine [2] https://www.eff.org/https-everywhere Leserbriefe S. 54 ankündigte [4]. Mitte Juni wurde die CryEngine in [3] https://en.wikipedia.org/wiki/HTTP_Strict_ Veranstaltungen S. 56 Version 3.8.1 freigegeben, die nun laut Entwickler- Transport_Security Vorschau S. 56 Blog die Linux-Unterstützung mitbringt [5], was zu [4] http://www.cryengine.com/news/cryengine- Konventionen S. 56 einer Reihe großer Spiele-Titel für Linux führen adds-linux-support-and-new-possibilities-at- Impressum S. 57 dürfte, auf die man gespannt warten darf. gdc [5] http://www.cryengine.com/news/update- Das ewige Sommerloch from-the-team-cryengine-381-is-here- Wahrscheinlich wird der ein oder andere Leser adding-opengl-linux-and-oculus-rift- Teilen Kommentieren wieder auf das Thema „Sommerloch“ gewartet ha- support ben. Im Gegensatz zu den Vorjahren sind wir aber [6] http://www.freiesmagazin.de/artikelwuensche

© freiesMagazin CC-BY-SA 4.0 Ausgabe 07/20152 DISTRIBUTION

Debian GNU/Linux 8.0 „Jessie“ von Hans-Joachim Baader

napp zwei Jahre hat das Debian- soviel Zeit gönnte wie andere Distri- Projekt unermüdlich gearbeitet, um butionen für einen ganzen Entwick- K den Nachfolger von Debian 7.0 „Whee- lungszyklus. zy“ fertigzustellen. Dieser Artikel stellt Debian 8.0 „Jessie“ mit einem Fokus auf die Die lange Freeze-Phase führt da- Neuheiten dieser Version vor. zu, dass keine in Debian vorhande- ne Software jünger als fünf Monate Redaktioneller Hinweis: Der Artikel „Debian ist. Doch wie viele Pakete findet ein GNU/Linux 8.0“ erschien erstmals bei Pro- durchschnittlicher Benutzer veraltet Linux [1]. und möchte sie im Laufe der zwei Jah- re vor dem Erscheinen der nächsten Vorwort Debian-Version aktualisieren? Viel- Debian GNU/Linux bezeichnet sich als „das uni- leicht ein Dutzend, aber das hängt verselle Betriebssystem“ und ist zweifellos die natürlich davon ab, was man mit dem größte Distribution, sowohl von der Entwickler- Rechner alles macht. Um eine neue- als auch der Anwenderzahl, die unabhängig von re als die angebotene Version zu be- einem Unternehmen entwickelt wird. Debian steht kommen, gibt es genug Möglichkei- GNOME-Desktop-Design von Debian 8. auf eigenen Füßen und bildet die Basis für vie- ten. Auf der Habenseite steht dage- le weitere Distributionen, insbesondere . gen, dass man den Aufwand der Aktualisierung eine für KDE), 64 Bit, unter KVM mit jeweils 2 GB Mehrere sehr große Installationen wie das Sys- nur alle zwei Jahre einmal einplanen muss. Seit RAM verwendet. tem der Münchner Stadtverwaltung oder das der Debian nun auch verlängerten Support erhält, spanischen Provinz Extremadura beruhen auf kann man die Distributionen Debian 6 „Squee- Unterstützte Systeme Debian. ze“, Debian 7 „Wheezy“ und auch Debian 8 sogar Anders als viele andere Distributionen beschränkt fünf Jahre lang nutzen. sich Debian nicht auf die x86-Architektur in ihren Die neue Version 8.0 „Jessie“ wurde, wie bereits 32- und 64-Bit-Varianten. Die unterstützten Archi- mehr als ein Jahr zuvor festgelegt worden war, An- Wie beschreibt man nun ein System, das auf tekturen sind jetzt, nachdem arm64 (die 64 Bit fang November eingefroren. Das bedeutet, dass diversen eigenen Rechnern, insbesondere den ARM-Prozessoren) und ppc64el (64 Bit Power- bis zur Veröffentlichung im April nur noch Korrek- Desktopsystemen, bereits seit Monaten läuft? Die Prozessoren mit Little Endian) hinzukamen und turen vorgenommen werden durften. Die Stabi- Antwort lautet »virtuelle Maschinen«. In diesen SPARC und Itanic (pardon, Itanium) herausfielen, lisierungsphase wurde mit fünf Monaten Dauer kann man auf einfache Weise ein unverändertes x86 in 32 und 64 Bit, 32 Bit PowerPC, IBM S/390 recht zügig durchlaufen – und doch bedeutet das, System zeigen. Für den Artikel werden daher zwei (64 Bit), MIPS in Big- und Little-Endian-Konfigura- dass sich Debian allein für die Stabilisierung fast identische virtuelle Maschinen (eine für GNOME, tionen, armel und armhf für 32 Bit ARM-Systeme.

© freiesMagazin CC-BY-SA 4.0 Ausgabe 07/20153 DISTRIBUTION

Neben den offiziellen Portierungen existieren wei- gung, darunter KDE 4.14.2, Xfce 4.10 und LXDE. zu und zahlreiche weitere Pakete wurden aktuali- tere, nicht ganz aktualisierte oder noch unvollstän- Eine Auswahl der angebotenen Pakete ist Apache siert. dige Portierungen wie auch Debian/kFreeBSD 2.4.10, Asterisk 11.13.1, GIMP 2.8.14, GNU Com- und Debian/Hurd. Damit unterstützt Debian fast piler Collection 4.9.2, Icedove 31.6 (eine abgewan- Die Java-Umgebung von Debian ist weiter- alle Architekturen, auf denen der Linux-Kernel lau- delte Version von Mozilla Thunderbird), Iceweasel hin OpenJDK 7. Java-Entwickler werden hier fen kann. Prinzipiell bietet Debian Platz für jede 31.6 (eine abgewandelte Version von Mozilla Fire- schmerzlich OpenJDK 8 vermissen, eine recht un- Architektur, wenn sich Freiwillige dafür finden. Die fox), LibreOffice 4.3.3, MySQL 5.5.42 oder alter- verständliche Auslassung. Zwar wird OpenJDK 8 Portierungen-Seite [2] listet sie alle auf. nativ MariaDB 10.0.16, Nagios 3.5.1, OpenJDK laut den Anmerkungen über jessie-backports 7u75, Perl 5.20.2, PHP 5.6.7, PostgreSQL 9.4.1, verfügbar sein, vorerst muss man es aber manuell Neu in Debian 8 Python 2.7.9 und 3.4.2, Samba 4.1.17, Tomcat von den Oracle-Webseiten herunterladen, wenn Eine der größten Neuerungen [3] in Debian 8 ist 7.0.56 und 8.0.14, Xen 4.4.1 und X.Org 7.7. man es benötigt. systemd, das als stark modernisiertes Init-System viele neue Möglichkeiten bietet. Es kann Dienste Auch im Multimedia-Bereich zeichnet sich Debian Der Kernel beruht in den Linux-Varianten von in eigenen Kontrollgruppen (cgroups) verwalten, 8 durch zahlreiche Neuerungen aus. Die wohl Debian 8 auf Linux 3.16.7. Wo es für die Unterstüt- Dienste teilweise isolieren und kürzere System- wichtigste Multimedia-Bibliothek ist der FFmpeg- zung neuer Hardware nötig ist, wurden allerdings startzeiten erreichen. Das bekannte SysVinit so- Fork libav in Version 11, die das Abspielen Treiber aus neueren Kernel-Versionen zurückpor- wie andere alternative Init-Systeme sind weiter von HECV, einen Opus-Dekoder, Matroska 3D, tiert. Weitere Einzelheiten enthalten die umfang- verfügbar. Apple ProRes und einiges mehr bringt. Die reichen Anmerkungen zur Veröffentlichung [5]. neue libebur128 ist eine freie Implementation der Die in Debian 7 (siehe freiesMagazin 07/2013 [4]) Lautstärken-Empfehlung der European Broadcas- Installation vor knapp zwei Jahren eingeführte UEFI- ting Union (EBU R128), die eine Alternative zu Die Installation hat sich gegenüber Debian 7 nur Unterstützung wurde laut der Ankündigung eben- ReplayGain darstellt. Sie ermöglicht es, Audio zu wenig verändert. Neuer Kernel mit noch mehr falls stark überarbeitet. Dazu gehören Anpas- analysieren und beim Abspielen die Lautstärke Hardware-Unterstützung und verbesserte Unter- sungen an bekannte Firmware-Fehler, UEFI- zu normalisieren. Weitere neue Bibliotheken sind stützung von UEFI sind einige der wesentlichen Unterstützung auf 32-Bit-Systemen und Un- libltc, fftease, lyonpotpourrie, iemlib, pdstring und Änderungen. Der Installer bietet schon beim Boo- terstützung für 64-Bit-Kernel mit 32-Bit-UEFI- pd-lua. ten viele Optionen, zum Beispiel eine textba- Firmware (nur auf den amd64/i386-Multiarch- sierte und eine grafische Installation, normale Installationsmedien). Die Version 1.10.0 der LV2-Technologie (Linux oder Experteninstallation, automatische Installa- Audio-Plugins) steht gemeinsam mit Entwick- tion, Installation einer spezifischen Desktopum- Die Distribution enthält jetzt über 43.000 Pakete, lungswerkzeugen wie LV2 Toolkit und Vee One gebung und noch mehr. Die Standard-Desktop- die aus knapp 20.100 Quellpaketen erstellt wur- Suite und Audio-Plugin-Sammlungen wie x42, Umgebung ist GNOME. Will man eine andere den. Der Standard-Desktop von Debian 8.0 ist zam, ste, Fomp, ab2gate, calf, eq10q, frei0r und Umgebung, so kann man schon im Bootmenü GNOME 3.14. Zahlreiche weitere Desktopumge- Naspro zur Verfügung. Mplayer wurde durch des Installers unter „Alternative Desktop Environ- bungen und Window-Manager stehen zur Verfü- Mplayer2 ersetzt. Viele neue Pakete kamen hin- ments“ KDE, Xfce oder LXDE auswählen. Und

© freiesMagazin CC-BY-SA 4.0 Ausgabe 07/20154 DISTRIBUTION wenn einem das alles nicht passt, macht man eine Konsolen/Server-System. Unter Umständen kann Hardware zu laden. Freie Firmware bringt Debian Minimalinstallation und erweitert diese später. man mit noch weniger RAM auskommen, dafür bereits mit, doch es gibt auch Hardware, die un- gibt es eigens einen Low-Mem-Modus des Instal- freie Firmware benötigt. Da Debian diese nicht lers. Ein Großteil der Hardware wird automatisch mehr mitliefert (außer auf den non-free-Images), erkannt und Hardware-spezifische Pakete wer- ist es in solchen Fällen erforderlich, diese nach- den automatisch installiert. Neben der aktuellen zuladen. Version von Debian kann man auch ältere wie Wheezy installieren. Alles Nötige hierfür hat der Installer bereits vor- gesehen. Ob WLAN- oder normale LAN-Chips, Wenn man während der Installation eine gute USB-Geräte oder spezielle Festplattencontroller – Netzwerkanbindung besitzt, ist das Netzwerk- wenn der Installer eine benötigte Firmware nicht Installationsimage (ca. 250 MB) eine gute Op- vorfindet, sucht er selbständig auf Disketten oder tion. Nachdem das Installationsprogramm gestar- USB-Sticks danach. Wie man ein passendes Me- tet ist, wählt man zunächst die Sprache aus. dium vorbereitet, ist im Installationshandbuch be- Es werden nun 75 Sprachen unterstützt, eine schrieben. Oft ist die Firmware als separates Pa- mehr als in der Vorversion. Dann wählt man ket in der Non-Free-Sektion des Archivs verfüg- Startbildschirm des Installationsimages. den Standort (und die Zeitzone, falls das ge- bar, nur in wenigen Fällen dürfte es nötig sein, wählte Land mehr als eine Zeitzone hat), dar- die Download-Seiten des Herstellers abzugrasen. Es stehen umfangreiche Installationshandbü- auf die Tastatur. Leider wird an dieser Stel- Nur muss man dies tun, bevor man die Installation cher [6] auf der Debian-Webseite zur Verfügung, le nur eine Standard-Tastaturbelegung angebo- beginnt. für jede Architektur ein eigenes und jeweils in ten, eine verfeinerte Auswahl kann man erst mehrere Sprachen übersetzt. Besucher der Web- nach der Installation vornehmen, wozu man Nach der Komplettierung der Netzwerkeinrichtung seite bekommen das Dokument automatisch in entweder das Kommando -reconfigure ist ein Root-Passwort einzugeben, wobei Debian ihrer Sprache zu sehen, wenn ihr Browser korrekt keyboard-configuration oder die grafischen auch schwache Passwörter akzeptiert. Das Pass- eingestellt und die Sprache verfügbar ist. Man Werkzeuge der Desktopumgebungen nutzen wort kann auch leer gelassen werden, was zu muss dieses Handbuch nicht komplett durchle- kann. einer Ubuntu-ähnlichen Einrichtung führt, bei der sen, als Referenz kann man in Zweifelsfällen aber man nur mit sudo zum Root-Account wechseln immer darauf zurückgreifen. Nach dem Nachladen verschiedener Komponen- kann. ten, das ein wenig dauern kann, will das System Die empfohlene minimale RAM-Größe ist dop- den Rechnernamen wissen, dann den Domainna- Darauf kann man einen separaten Benutzer an- pelt so hoch wie noch bei Debian 7. Empfoh- men. Findet das System bereits über DHCP diese legen. In aufeinanderfolgenden Dialogen werden len werden mindestens 1 GB für ein Desktopsys- Informationen heraus, dann entfallen diese bei- der vollständige Name, der Name des Benutzer- tem, 512 MB für andere. Als Minimum gelten 256 den Schritte. Bevor DHCP möglich ist, kann es je- kontos und das Passwort abgefragt. Man hätte MB für ein Desktop-System und 128 MB für ein doch erforderlich sein, Firmware in die Netzwerk- an verschiedenen Stellen mehrere dieser Dialoge

© freiesMagazin CC-BY-SA 4.0 Ausgabe 07/20155 DISTRIBUTION zusammenlegen und die Installation damit etwas „Debian desktop environment “ und „Standard- Update straffen können. Leider hat sich diesbezüglich ge- Systemwerkzeuge“ aktiviert. Falls die Pakete aus Das Update einer bestehenden Debian- genüber Debian 7 nichts getan, andererseits ist dem Internet heruntergeladen werden müssen, Installation ist möglich und dürfte meist reibungs- es kein wesentlicher Zeitverlust. Eine Installation wird zuvor der Paketmanager konfiguriert. Auch los funktionieren. Installierte Pakete aus externen von Ubuntu, openSUSE, Mandriva oder Fedora die folgende Installation dauert eine Weile. Man Repositorys (darunter auch debian-backports) mag eleganter wirken, in Sachen Features und hätte diese Auswahl vorziehen sollen, wodurch können allerdings Probleme bereiten. Dennoch Flexibilität dürfte Debian aber kaum zu übertreffen es nicht nötig wäre, zwischendurch an den Rech- kann man zunächst das Update normal probieren; sein. ner zurückzukommen. Nach dem erfolgreichen sollten Probleme auftreten, kann man die betrof- Abschluss der Installation kann man den Bootloa- fenen Pakete entfernen und später eventuell in Nun kommt man zur Partitionierung, einem Punkt, der installieren lassen. Standardmäßig installiert einer neueren Version wieder installieren. der mit fünf Klicks auf „Weiter “ und einer Bestä- Debian GRUB 2 im Bootsektor, doch wenn man tigung erledigt werden, aber auch längere Zeit „nein“ wählt, kann man selbst ein Gerät für die Ein Online-Update liefert nicht notwendigerweise in Anspruch nehmen kann, wenn man sein Sys- Installation auswählen. Nun ist das Ende der In- dasselbe Ergebnis wie eine Neuinstallation. Der tem für eine langfristige und/oder komplexe Nut- stallation erreicht und man kann das neue System Hauptgrund dafür sind diverse Pakete, die in der zung auslegt. Für letzteres wählt man „Manuelle starten. neuen Version durch andere ersetzt wurden. Als Partitionierung“. Nun kann man völlig frei partitio- Beispiel könnte man PostgreSQL nieren, LVM, Software-RAID (einschließlich Fake- 9.1 nennen, das nicht automatisch RAID), Verschlüsselung und Multipath in beliebi- auf 9.4 aktualisiert wird. Ähnlich ist gen Kombinationen einsetzen und die Dateisyste- es mit Python, Ruby und anderen. me und Mount-Punkte zuweisen. Alles lässt sich Weitere Pakete listet Kapitel 4.10 wieder rückgängig machen, außer der Einrich- der Anmerkungen zur Veröffentli- tung von LVM, die vor der weiteren Arbeit auf die chung auf. Platte gespeichert werden muss. Dabei schließt das Programm unmögliche oder problematische Natürlich wird ein Update nur von Konfigurationen aus bzw. warnt vor diesen. Ange- der direkten Vorgängerversion 7 botene Dateisysteme sind ext2, ext3, ext4 (Stan- unterstützt. Alle Einzelheiten zum dard), Btrfs, jfs, xfs, FAT16, FAT32, sowie qnx4 Update sind in einem eigenen Ka- und NTFS (nur lesend). pitel der Anmerkungen zur Veröf- fentlichung ausführlich erläutert. Nach der Partitionierung und Formatierung folgt die Installation des Basissystems, während de- Der Desktop rer man sich anderen Dingen widmen kann. Debian 8.0 startet vergleich- Danach kann man weitere Software nach gro- bar schnell wie andere Linux- ben Kategorien auswählen. Standardmäßig sind Partitionierung. Distributionen, wobei keine genau-

© freiesMagazin CC-BY-SA 4.0 Ausgabe 07/20156 DISTRIBUTION en Zeiten gemessen wurden. Wie gehabt werden Picture in der Fotoverwaltung Photo und eine au- gemacht wird, Sicherheitskorrekturen zurückzu- je nach Desktopsystem unterschiedliche Display- tomatische Handhabung für WiFi-Hotspots. Au- portieren. Stattdessen führt Debian regelmäßige Manager eingesetzt. Wurde GNOME installiert, ßerdem wurden die mitgelieferten Programme in Aktualisierungen der Browser durch und kann kei- dann startet Debian mit dem Display-Manager vielen Punkten verbessert und aktualisiert. Das ne der sonst üblichen Kompatibilitätsgarantien ge- gdm, für KDE ist es kdm. Das ergibt Sinn, da Theme Adwaita wurde vollständig neu geschrie- ben. Vorinstallierte Plug-ins von Iceweasel sind diese Display-Manager für die jeweilige Desktop- ben und bietet jetzt neue Menüleisten, animierte die GNOME-Shell-Integration und ein iTunes Ap- umgebung optimiert sind und sich am besten in Schalter, verbesserte Benachrichtigungsdialoge plication Detector. Keine Erweiterungen sind in dieser integrieren. Der Login-Bildschirm wurde und überarbeitete Spinner-Animationen. Der Ge- dieser Version vorinstalliert. in allen Fällen mit einem neuen Debian-Design brauch von Animationen wurde generell verstärkt. versehen. Das neue Design ist vom Bootloader Da GNOME jetzt EGL voraussetzt und der fglrx- Die GNOME-Shell kann dank Software-Rende- bis zum Desktop durchgängig. Treiber das nicht unterstützt, ist der proprietäre ring auf jeder Hardware laufen, auch wenn kei- AMD-Treiber mit GNOME nicht nutzbar. ne Hardware-3-D-Beschleunigung zur Verfügung steht. Das Software-Rendering ist einigermaßen Besonderheiten sind in dem Desktop-System, das schnell und durchaus noch benutzbar, doch wird rund 415 MB Speicher belegt, nicht zu entdecken. man es wohl kaum ertragen, wenn man keinen KDE hingegen, das in Version 4.14.2 enthalten sehr schnellen Prozessor hat. Die Situation bes- ist, benötigt etwa 435 MB. Zu den standardmäßig sert sich mit einem Mehrkern-Prozessor, doch installierten Programmen unter GNOME gehören Videos verzögerungsfrei abzuspielen, ist auf die- LibreOffice 4.3.3, der Mail- und Kalender-Client se Weise schwer. Bei kleinen Videoformaten kann Evolution, GIMP 2.8.14, Inkscape 0.48.5 und es aber noch gelingen. Rhythmbox 3.1. Shotwell wurde durch GNOME Fotos ersetzt, Tomboy durch GNOME Notes. Mit Das gnome-tweak-tool, auf Deutsch „Optimie- Tomboy konnte auch auf Mono in der Standardin- rungswerkzeug“ genannt, ist standardmäßig in- stallation verzichtet werden. Das Videokonferenz- stalliert, denn man benötigt es, um Erweiterungen programm Empathy ist in Version 3.12 vorhanden. für die GNOME-Shell zu installieren, da dafür kein Suchen in der GNOME-Shell. GStreamer 0.10 und 1.4 sowie PulseAudio 5.0 Weg in der Standardkonfiguration vorhanden ist. werden standardmäßig installiert. Daneben kann man auch andere Dinge einstel- GNOME ist in Version 3.14 enthalten, da GNOME len, die die GNOME-Entwickler nicht in der GUI 3.16 erst lange nach dem Freeze-Termin erschie- Der Standard-Browser unter GNOME ist nun Ice- konfigurierbar gemacht haben. nen ist. Neuerungen in GNOME 3.14 sind unter weasel, die Debian-Variante von Firefox, in Ver- anderem verbesserte Unterstützung für Touch- sion 31.6. Wichtig zu wissen ist, dass Debian nicht Der Standard-Browser in KDE ist immer noch Gesten und Displays hoher Auflösung, ein über- den üblichen Support für alle auf Gecko oder Web- Konqueror. Die doppelte Natur von Konqueror arbeiteter Dokumentenbetrachter, eine überarbei- kit beruhenden Browser bereitstellt, da diese zu als Webbrowser und Dateimanager tritt zutage, tete Wetter-App, die Unterstützung für Google schnelllebig sind und es Distributionen zu schwer wenn man ihn über die Systemleiste startet, dann

© freiesMagazin CC-BY-SA 4.0 Ausgabe 07/20157 DISTRIBUTION zeigt er sich nämlich als Dateimanager. Im Kickoff- Plattform weitgehend seit Version 4.9 und der fast immer, eigene Änderungen an die Debian- Menü ist hingegen Dolphin als Dateimanager ein- Desktop seit 4.11 eingefroren sind. Zu nennen Vorgaben anzupassen, da man sonst alles selbst getragen. sind unter anderem die neue semantische Suche machen muss, Sicherheitsupdates eingeschlos- Baloo (seit 4.13), die weitgehende Umstel- sen. lung der Plasma-Oberfläche auf Qt Quick, was hauptsächlich interne Änderungen be- Jedes Tool und jede Konfigurationsdatei ist in ei- deutete, aber den Benutzern auch ver- ner Manpage dokumentiert, was von den Debian- besserte Widgets bringt, Optimierungen Richtlinien vorgeschrieben ist. Diese Dokumenta- im Window-Manager KWin, Farbkorrektur tion vermisst man bei vielen anderen Distribution mit Farbprofilen, ein Druckmanager und schmerzlich. Für die Debian-Entwickler gehören verstärkte Integration der Aktivitäten. Die Manpages zu den Dingen, die die Qualität einer hauptsächlichen Änderungen sind jedoch Distribution ausmachen. in den einzelnen Anwendungen und der PIM-Suite zu finden, die zahllose Erweite- rungen und Verbesserungen erhalten ha- ben.

Debian installiert die Schriften DejaVu, die eine recht große Unicode-Abdeckung be- Iceweasel 31 unter GNOME. sitzt, Liberation von Red Hat, FreeFont und diverse andere. Viele weitere sind im Iceweasel ist ebenfalls installiert, die Konfigura- Archiv zu finden. Dabei gab es keine größeren tion ist aber eine andere als unter GNOME. An Änderungen gegenüber Debian 7. Plug-ins ist nur „Skype Buttons für Kopete“ vor- installiert. Erweiterungen sind dagegen in der Abseits des Desktops bietet Debian eine sehr Grundausstattung keine vorhanden. Neben der große Zahl von Tools, stellt sich aber auch der KDE-PIM-Suite 4.14.2 sind auch LibreOffice und manuellen Änderung der Konfigurationsdateien Zweimal Konqueror: Webbrowser und GIMP vorhanden, darüber hinaus außer den zu nicht in den Weg. Debian hat teils recht aufwen- Dateimanager. KDE gehörenden Programmen nur wenig. Als dige Konstrukte entwickelt, um die vom System Anwendung zum Abspielen von Medien ist VLC vorgegebene und die von den Nutzern geänderte Multimedia 2.2.0-rc2 installiert. Konfiguration zu trennen und die Verwaltung so Es mag viele Benutzer überraschen, obwohl es einfach wie möglich zu machen. Oft muss man schon in der Vorversion so war, dass Debian Co- Gegenüber dem in Debian 7 enthaltenen KDE erst die README-Datei lesen, um sich mit dem decs für alle populären Multimediaformate mitlie- 4.8 hat sich natürlich einiges getan, obwohl die Debian-System vertraut zu machen. Es lohnt sich fert und somit ohne jede Umstände, die man in

© freiesMagazin CC-BY-SA 4.0 Ausgabe 07/20158 DISTRIBUTION manch anderen Distributionen hat, über vollstän- des Adobe Flash Players komplett ihren Dienst. ter GNOME und KDE wird mindestens einmal dige Multimedia-Unterstützung verfügt. Es dürfte Den Player gibt es für Firefox bzw. Iceweasel zwar pro Woche automatisch geprüft, ob Software- bekannt sein, dass das einzige Problem dieser noch, er wird aber bis auf Korrekturen von Si- Updates vorliegen, und das Vorhandensein von Codecs ist, dass sie von Softwarepatenten betrof- cherheitslücken nicht mehr gepflegt. Das größ- Updates angezeigt. Für die grafische Paketver- fen sind. Dies gilt hauptsächlich für die USA und te Problem ist jedoch, dass Mozilla den Benut- waltung steht gpk-application bereit, für die Ak- Japan, in geringerem Maße für die EU. Debian zern viele lästige Hürden in den Weg legt, wenn tualisierungen der zugehörige gpk-update-viewer. fürchtet jedoch nicht, jemals verklagt zu werden. sie das Plug-in weiter in Firefox nutzen wollen. GNOME-Software, das App-Store-ähnliche Pro- Anwender von Debian, die hohe Gewinne erwirt- Workarounds sind die Verwendung eines ande- gramm von GNOME, ist nicht installiert, dafür aber schaften, sollten jedoch genau prüfen, inwieweit ren proprietären Browsers wie Google Chrome das gute alte Synaptic, das keine Wünsche offen- sie vom Open Invention Network oder anderen oder Chromium mit dem von Google stammenden lässt, in Version 0.81.2. Initiativen vor Patentklagen geschützt sind, denn proprietären Pepperflash-Plug-in [7]. Debian selbst kann keinen Schutz bieten. Das Debian-Multimedia-Projekt -multimedia. org [8] ist in vielen Fällen nicht mehr nötig. Eine Ausnahme ist das Abspielen von verschlüssel- ten DVDs. Die benötigte Bibliothek libdvdcss2 kann Debian nicht mitliefern, man findet sie aber beim Debian-Multimedia-Projekt oder auf der VideoLAN-Seite [9]. Debian untersucht zur Zeit, ob diese Bibliothek nicht doch offiziell mitgeliefert werden kann.

Unter KDE wird zum Abspielen von Audio – je- denfalls MP3 – nicht Amarok als Standard-Player verwendet, sondern VLC. Videos werden mit Dra- Übersichtsseite von Apper. gonplayer abgespielt. Dragonplayer ist, anders Keine Probleme mit YouTube-Videos, aber für als unter Ubuntu und Fedora in der Lage, Videos Unter KDE wird Apper, der Nachfolger von Flash-basierte Seiten ist ein Firefox-basierter korrekt abzuspielen. Möglicherweise ist Phonon KPackageKit, jetzt in Version 0.9.1 genutzt. Die- Browser nicht brauchbar. unter Debian auf ein anderes Backend eingestellt ses Programm wurde auch von Kubuntu einge- als in Ubuntu und Fedora. setzt, bis es dort durch die Neuentwicklung Muon Somit laufen unter Debian MP3 und alle Videofor- ersetzt wurde. mate ohne Zutun, auch Flash-Videos. Ein schwie- Paketverwaltung rigerer Punkt sind jedoch Flash-Videos auf Web- Debian setzt auf PackageKit, das mit der eige- Debians Paket-Updates sind erfahrungsgemäß seiten. Einige Seiten versagen ohne Nachrüstung nen Paketverwaltung Apt zusammenarbeitet. Un- durch das Ausbleiben von Überraschungen ge-

© freiesMagazin CC-BY-SA 4.0 Ausgabe 07/20159 DISTRIBUTION kennzeichnet. Neue Programmversionen bringt Fazit Nicht zu vergessen sind die zahlreichen von Debian während des Lebenszyklus der Distri- In den zwei Jahren der Entwicklung erhielt Debian Debian abgeleiteten Distributionen, die zum Teil bution normalerweise nicht. Es werden lediglich 8 zahlreiche Aktualisierungen, aber im Grunde mehr Nutzung erfahren als Debian selbst. Für alle Sicherheitslücken und kritische Fehler korrigiert. nur eine echte Umwälzung, nämlich systemd. Im diese ist Debian unverzichtbar. Ausnahmen sind lediglich Programme, die von Nachhinein ist es verwunderlich, wenn nicht gro- den Originalprojekten nur mangelhaft gepflegt tesk, wie eine so große Diskussion um das neue LINKS werden, vor allem Firefox. Init-System entstehen konnte. systemd betrifft Ba- [1] http://www.pro-linux.de/artikel/2/1771/ sisfunktionen des Systems, von denen die meis- debian-gnulinux-80-jessie.html Kleinere Fehler in Anwendungen werden von ten Benutzer kaum je etwas mitbekommen. Admi- [2] http://www.debian.org/ports/ Debian grundsätzlich nicht mehr korrigiert, wenn nistratoren müssen allerdings einige neue Befehle [3] https://www.debian.org/News/2015/ die Distribution veröffentlicht ist. Die Benutzer lernen. 20150426 müssen selbst entscheiden, wie sie darauf rea- [4] http://www.freiesmagazin.de/freiesMagazin- gieren. Schwerwiegende Fehler werden nach Auf der anderen Seite haben sich viele Program- 2013-07 Möglichkeit im Rahmen der kleinen Distributions- me in den letzten zwei Jahren kaum geändert [5] http://www.debian.org/releases/jessie/ Updates behoben, die alle paar Monate statt- oder wurden einfach stetig erweitert. So sind die releasenotes finden. Geplant ist bereits die Herausgabe von Unterschiede zwischen Debian 8 und dem Vor- [6] http://www.debian.org/releases/stable/ Debian 8.1, alles weitere wird sich ergeben. gänger im Prinzip nicht sehr groß. Dies scheint installmanual aber ein Trend zu sein, der bei allen Distributionen [7] https://wiki.debian.org/PepperFlashPlayer Die meisten Benutzer können mit dem stabilen in den letzten Jahren zu beobachten ist. Vielleicht [8] http://www.deb-multimedia.org/ Distributionszweig auskommen, in den man in ist es aber aber auch so, dass die Neuerungen [9] http://download.videolan.org/debian/ Einzelfällen bei Bedarf Aktualisierungen einbaut, in immer mehr Bestandteilen der Distributionen vorzugsweise über backports.debian.org, notfalls nicht mehr zu zählen sind und man daher sozusa- Autoreninformation auch über Debian Testing oder Unstable. Dies gen einen Schritt zurücktritt, um einen besseren minimiert den Wartungsaufwand. Überblick zu erhalten. Dann kommen einem die Hans-Joachim Baader (Webseite) Änderungen aber zwangsläufig kleiner vor. befasst sich bereits seit 1993 mit Andere Möglichkeiten sind das Einbinden von ex- Linux. 1994 schloss er erfolgreich ternen Repositorys, das Importieren von RPM- Debian bleibt weiter das „universelle Betriebssys- sein Informatikstudium ab, machte Paketen mit , das Kompilieren von Hand tem“, als das es sich sieht, und übertrifft alle an- die Softwareentwicklung zum Beruf und das Bauen von eigenen Paketen. Dies ist dere Distributionen in einem oder mehreren der und ist einer der Betreiber von Pro- sicher keine vollständige Aufzählung. Wer Soft- folgenden Punkte: Zahl der unterstützten Architek- Linux.de. ware von Hand kompiliert, wird das Programm turen, Einsetzbarkeit in den verschiedensten Be- checkinstall wahrscheinlich nützlich finden, reichen (Desktop, Laptop, Server, Cloud-Server, das die Software als minimales Debian-Paket in- Smartphones, NAS-Geräte, etc.), Flexibilität der Teilen Kommentieren stalliert. Installation, Lieferumfang und Dokumentation.

© freiesMagazin CC-BY-SA 4.0 Ausgabe 07/2015 10 DISTRIBUTION

Linux-Distributionen mit Langzeitunterstützung (LTS) von Gerrit Kruse

n der Diskussion zur Ankündigung eines unterstützung, zu veraltet Desktopumgebung und und medialer Aufmerksamkeit – steigt an. Im Fol- neuen Release der Community Enterpri- Programme. Diese Einstellung hat sich in den genden sollen deshalb einige präsentiert werden. I se Distribution CentOS fragt ein Benutzer, letzten Jahren deutlich verändert. welche Distribution die bessere Wahl für den Langzeit-Distribution Desktop wäre: CentOS oder Debian. Die Ant- Im Wesentlichen gibt es zur Zeit drei Release- Der Begriff Langzeitdistribution ist nicht genau wort in einem Beitrag lautet: Arch-Linux. So Modelle für Distributionen: definiert. In der Regel werden darunter Distribu- nachzulesen bei Heise Online. Das Ergebnis tionen mit einem Supportzeitraum von mehreren dieses netten Dialogs ist weniger, dass Arch- 1. Der „klassische“ Release: Ein neuer Release Jahren verstanden. Während openSUSE mit 18 Linux sich wirklich gut als Langzeitdistribu- erfolgt alle paar Monate (6-12), die Distribu- Monaten Support herkömmlicherweise nicht als tion eignet, sondern vielmehr, dass die un- tion wird für einen bestimmten – in Monaten Langzeitdistribution gesehen wird, ist Debian mit terschiedlichen Distributionsmodelle sich in gemessenen – Zeitraum unterstützt. ca. 3 Jahren Unterstützung klassischerweise un- den letzten Jahren weit voneinander entfernt 2. Der Langzeitsupport (LTS) Release: Ein neuer ter den Langzeitdistribution eingeordnet. Das Aus- haben. Release erfolgt alle paar Jahre, die Distribution wahlkriterium dieses Beitrags sind deshalb 3 Jah- wird für einen bestimmten – in Jahren gemes- re Unterstützung oder länger. Redaktioneller Hinweis: Der Artikel „Linux- senen – Zeitraum unterstützt. Distributionen mit Langzeitunterstützung“ erschi- 3. Das Rolling Release Modell: Kernel, Bibliothe- Debian en erstmals im Blog von [Mer]Curius [1]. ken und Programme werden laufend aktuali- Debian [2] ist vielleicht „die“ Long-Term- siert. Gegebenenfalls werden Snapshots zur Support Distribution schlechthin. Abgesehen So weit, dass Nutzer des einen Modells die An- Installation zur Verfügung gestellt. vom Unstable- und Testingzweig gibt es keine forderungen der Benutzer des anderen Modells anderen Veröffentlichungen des Debian Projekts. kaum noch nachvollziehen können. Waren vor we- Anhänger des letzteren Distributionsmodells sind Debian veröffentlicht nach keinem festen Zeitplan, nigen Jahren noch stabile Veröffentlichungen alle der Ansicht, dass ihnen diese Form langfristig bringt aber in der Regel alle zwei Jahre eine neue paar Monate üblich, gibt es heute Distributionen weniger Arbeit bereitet. Größere Distributionsup- Version heraus. Diese wird bis zum Erscheinen mit Laufzeiten von 10 Jahren auf der eine Seite grades bleiben schließlich auf diese Weise aus. der nächsten Version unterstützt, plus weitere und das Rolling Release-Modell ohne offizielle Der Ansatz vieler einfacher (und fortgeschrittener) 12 Monate. Im vergangenen Jahr wurde zudem Installationsroutine auf der anderen. Nutzer, dass jedes Update nervig ist und keine eine Verlängerung der Supportperiode einge- neue Version für diesen Aufwand mit äquivalenten führt. Diese testweise für Debian 6.0 Squeeze Während im Serverbereich Distributionen mit ei- Funktionen entschädigt, können sie nicht nach- eingerichtete LTS-Version wird durch interessierte ner Supportdauer von mehreren Jahren weit ver- vollziehen. Die Tendenz in der Linuxwelt geht den- Firmen finanziert und beschränkt sich auf einen breitet sind und eine hohe Akzeptanz genießen, noch in die andere Richtung. Distributionen mit limitierten Paketumfang. Sofern das Projekt er- wurden solche Distributionen für den Desktop lan- sehr langen Laufzeiten gibt es immer mehr und folgreich ist werden LTS-Versionen für Debian 7.0 ge Zeit nicht empfohlen. Zu alt sei die Hardware- ihre Bedeutung – gemessen an der Nutzerzahl und 8.0 folgen.

© freiesMagazin CC-BY-SA 4.0 Ausgabe 07/2015 11 DISTRIBUTION

Vorteile von Debian: Desktop- und Serverver- sion 5 Jahre unterstützt. 1. Der Support erstreckt sich auf alle in den Pa- Die Community-Derivate keten verfügbaren Programme. Kubuntu, Xubuntu, Lu- 2. Die Paketquellen decken fast das ganze Re- buntu, Ubuntu GNOME pertoire der freien Software ab. und Ubuntu MATE brin- 3. Die Richtlinien sind sehr strikt. Es werden kei- gen jeweils eigene LTS- ne neuen Versionen in eine stabile Version Versionen heraus. Diese eingepflegt. haben allerdings nur ei- 4. In regelmäßigen Abständen werden neue In- ne kürzere Laufzeit von stallationsmedien als Unterversionen (z. B. 7.x 3 Jahren, mit Ausnah- für Wheezy) herausgegeben. Bei Neuinstalla- me von Kubuntu, das tionen werden dadurch viele Aktualisierungen ebenfalls 5 Jahre unter- erspart. stützt wird. Alle zwei Jah- 5. Über die offizielle Backportquelle lassen sich re erscheint im April eine für viele Programme aktuellere Versionen ein- neue LTS Version, dazwi- spielen. Diese entstammen dem aktuellen Tes- schen veröffentlichen die tingzweig. Ubuntu-Entwickler alle 6 6. Distributionsupgrades zwischen den Versionen Monate STS Versionen, sind möglich. Debian Jesse mit GNOME. die als Vorschau für inter- © Debian Project(GNU General Public License 3) essiere Nutzer gedacht Nachteile von Debian: sind.

1. Der Supportzeitraum mit lediglich ca. 3 Jahren Ubuntu und die offiziellen Derivate Die Ubuntu-Paketquellen sind in die Bereiche Support ist verhältnismäßig gering. Ubuntu [4] ist die möglicherweise am weitesten main, universe und multiverse eingeteilt. In main 2. Neue Versionen erscheinen regelmäßig, sind verbreitete Linux-Distribution und den meisten liegen die offiziell von Canonical (der Firma hin- aber nicht exakt planbar. ein Begriff. Die Entscheidung, LTS-Versionen ein- ter Ubuntu) betreuten Pakete, in universe die von 3. Gegen Ende des Supportzeitraumes kann die zuführen, traf man bereits sehr früh in der Ent- der Community gepflegten Programme. Letzte- Unterstützung für einzelne Pakete eingestellt wicklungsgeschichte von Ubuntu mit dem Re- re kommen teilweise während des Entwicklungs- werden. Dies wird jedoch nicht klar kommuni- lease von Dapper Drake im Jahr 2006. Ursprüng- prozesses durch einen Synchronisationsvorgang ziert. lich galt der Support für den Desktop nur drei aus dem Debian Testing- oder auch Unstable- Jahre, während die Serverpakete 5 Jahre unter- Zweig. Zu den verschiedenen Paketquellen sowie Es gibt auch eine große deutschsprachige Com- stützt wurden. Diese Trennung wurde mit dem den Vor- und Nachteilen dieser Aufspaltung siehe munity [3] für Debian. Release von 12.04 aufgehoben, seitdem werden auch diesen Blogbeitrag [5].

© freiesMagazin CC-BY-SA 4.0 Ausgabe 07/2015 12 DISTRIBUTION

Nachteile von Ubuntu: Im Vergleich zu Debian oder Ubuntu haben RHEL und seine Ableger allerdings nur ein relativ einge- 1. Der LTS-Support wird ledig- schränktes Paketangebot. Mit GNOME gibt es le- lich für die Pakete in main ga- diglich einen unterstützten Desktop und auch die rantiert. Die Pakete in univer- restliche Software für den Desktopeinsatz ist stark se können Unterstützung er- auf Büroarbeitsplätze ausgerichtet. Zwar können halten, dies wird aber nicht die bestehenden Lücken durch externe Quellen definitiv zugesichert. kompensiert werden, dies läuft allerdings grund- 2. Die Unity-Oberfläche hat Vor- sätzlich dem LTS-Gedanken zuwider. rang. Probleme der anderen Desktopoberflächen – sei es In relativ regelmäßigen Abständen bringt RedHat im Releasemangement oder eine neue Minorversion (z. B. 7.1) der Distribution während der Supportzeit – heraus. Bei dieser wird zwar der – extrem stark werden nachrangig behan- modifizierte – Kernel stabil gehalten, aber viele delt. Softwarepakete bis hin zu X.Org aktualisiert. Da- 3. Bei vielen eingebundenen durch funktioniert auch neuere Hardware noch PPAs können Upgrades zwi- mit einer vergleichsweise alten Distribution wie Screenshot von Ubuntu 14.04.2. schen den verschiedenen z.B: RHEL 6, das ursprünglich 2010 erschien und LTS-Versionen scheitern. noch bis 2020 unterstützt wird.

Vorteile von Ubuntu: Eine deutschsprachige Community findet sich bei Vorteile von RHEL und seinen Ablegern: ubuntuusers.de [6]. 1. Der Support wird für 5 Jahre garantiert. 1. Extrem langer Support von bis zu 10 Jahren. 2. Alle zwei Jahre erscheint planbar eine neue Red Hat Enterprise Linux / CentOS / Scientific 2. Regelmäßige Minor-Releases passen die Ver- LTS-Version. Linux sion an aktuelle Hardware an. 3. In regelmäßigen Abständen werden sogenann- RedHat Enterprise Linux (RHEL) [7] und die bei- 3. RedHat pflegt die vorhandenen, nicht beson- te Pointreleases (z. B. 14.04.2) mit aktualisier- den aus dessen Quellen gebauten Community- ders zahlreichen, Pakete intensiv über die ge- ter Hardwareunterstützung (Kernel und Grafik- Varianten CentOS [8] und Scientific Linux [9] ste- samte Lebensdauer. stack) veröffentlicht. hen zur Zeit an der Spitze der LTS-Versionen – 4. Über die Personal-Package-Archives (PPA) zumindest was die Supportdauer betrifft. Jede Nachteile von RHEL und seinen Ablegern: können aktualisierte Softwarepakete einge- Version von RHEL und des auf Binärkompatibili- spielt werden. tät ausgelegten Ablegers CentOS durchläuft ver- 1. Das Softwareangebot ist sehr beschränkt. 5. Distributionsupgrades von einer LTS-Version schiedene Lebenszyklen, wird letztlich aber fast 2. Die Softwareversionen sind im eigentlichen auf die folgende sind möglich. 10 Jahre mit Sicherheitsaktualisierungen versorgt. Sinne nicht stabil, da mit jedem Minorrelease

© freiesMagazin CC-BY-SA 4.0 Ausgabe 07/2015 13 DISTRIBUTION

viele Programmversionen angehoben werden Diese Phase ist jedoch Geschichte und mit der openSUSE Evergreen (Kernel und Desktop ausgenommen). gegenwärtigen Version 12 liefert die SUSE nur OpenSUSE [11] ist die freie Community-Version 3. Es sind keine Distributionsupgrades zwischen noch ein angepasstes GNOME 3 aus. von SUSE, allerdings nicht binärkompatibel zum den Hauptversionen (z. B. 6 nach 7) möglich. kommerziellen SLED (siehe oben). Die Distribu- Die Version wurde bisher um sog. „Ser- tion bildet ähnlich wie Fedora lediglich die Basis vice Packs“ ergänzt, wie man sie aus für die Enterprise Version. OpenSUSE hat tra- der Windows-Welt kannte. Mit Version ditionell recht lange Supportzeiträume für eine 12 wurden nun „Module“ eingeführt, z. B. reguläre Distribution. das Web and Scripting Module mit PHP, Python und Ruby on Rails. Die Laufzeit Die openSUSE-Community pflegt immer den ak- für diese einzelnen Module beträgt le- tuellen plus den vorangegangenen Release. Bei diglich 1-3 Jahre, danach muss auf eine der Veröffentlichung einer neuen Version wird die neue Modulversion aktualisiert werden. nun obsolete vorvorletzte Version noch zwei Mo- Dadurch ist es gerade im Serverbereich nate gepflegt, um den Nutzern den Übergang zu möglich, wichtige Basistechnologien ak- ermöglichen. tuell zu halten, die Distribution ist im eigentlichen Sinne jedoch nicht mehr Durch die seit einigen Jahren immer ausgedehn- stabil, da sich die Versionen während teren Zeiträume zwischen zwei Versionen kom- der Lebenszeit ändern. men hier beachtliche Supportzeiträume zustande. OpenSUSE 13.1 wurde z. B. im November 2013 Screenshot von Red Hat Enterprise Linux. Vorteile von SLED: veröffentlicht und wird bis dato gepflegt, da Ver- sion 13.3 noch nicht angekündigt ist. SUSE Linux Enterprise Desktop 1. Extrem lange Supportdauer. Der SUSE Linux Enterprise Desktop (SLED) [10] 2. YaST Aufgrund des fehlenden kostenlosen Ablegers der ist das Gegenstück der traditionsreichen Fir- 3. Durch Module bzw. bis Version 11 Service Enterprise-Distribution SLED gibt es das Commu- ma SUSE aus Nürnberg zu RedHats RHEL. Packs können wichtige Pakete verhältnismä- nity Projekt Evergreen für openSUSE, das den Im Gegensatz zu diesem gibt es aber keinen ßig aktuell gehalten werden. Supportzeitraum von openSUSE über das eigent- Community-Ableger und somit auch keine kosten- liche Ende hinaus verlängert. Das Projekt wird freie Version. Die genaue Supportdauer variiert Nachteile von SLED: maßgeblich gestützt durch Personen, die open- innerhalb der Produktfamilie etwas, beläuft sich SUSE beruflich einsetzen und in dieser Funktion aber ebenfalls auf ca. 10 Jahre. 1. Keine stabile Distribution im eigentlichen Sinne abgekündigte Versionen pflegen. Durch das Pro- 2. Undurchsichtige Supportdauer jekt wird z. B. die Version 13.1 planmäßig bis 2016 Vor einigen Jahren galt SUSE Linux noch als 3. Keine planbaren Releasezyklen unterstützt und erreicht damit dieselbe Support- die KDE-Distribution, auch im Enterprise-Bereich. 4. Kein freier Community-Ableger dauer wie z. B. Debian.

© freiesMagazin CC-BY-SA 4.0 Ausgabe 07/2015 14 DISTRIBUTION

Nachteile von openSUSE Übersicht über die verschiedenen Möglichkeiten, Evergreen: weil oftmals die Enterprise-Distributionen zu Un- recht als untauglich für den Desktopeinsatz abge- 1. Supportzeitraum relativ stempelt werden. kurz. 2. Genauer Umfang des LINKS Evergreen-Supports un- [1] http://www.curius.de/blog/16-open- klar. source/linux/34-linux-distributionen-mit- 3. Distributionsupgrades langzeitunterstuetzung-lts nicht garantiert. [2] http://www.debian.org/ [3] https://debianforum.de/forum/ Eine deutschsprachige Com- [4] http://www.ubuntu.com/ munity für openSUSE Ever- [5] http://www.curius.de/blog/16-open-source/ green findet sich beim Linux linux/12-ubuntu-lts-nach-12-monaten-licht- Club [11]. und-schatten-beim-treuen-tahr [6] http://ubuntuusers.de/ Fazit [7] http://www.redhat.com/de/technologies/linux- Jede hier genannte Distribu- platforms/enterprise-linux Screenshot von openSUSE Evergreen. tion hat Vor- und Nachteile. [8] https://www.centos.org/ Welche Distribution sich am [9] https://www.scientificlinux.org/ Vorteile von openSUSE Evergreen: besten eignet, hängt von vie- [10] https://www.suse.com/de-de/ len Faktoren ab. Die gewünschte Desktopumge- [11] https://de.opensuse.org/Hauptseite 1. Relativ umfangreiche Paketquellen bung (sofern ein Desktopeinsatz angestrebt wird), 2. YaST das Paketformat, der Zeitraum der Unterstützung Autoreninformation 3. Paketversionen werden in der Regel stabil ge- und die Anzahl mitgelieferter Pakete können hier halten. herangezogen werden. Dieser Artikel dient einer Gerrit Kruse (Webseite) ([Mer]Curius) nutzt Linux seit 2007. Übersicht der Distributionen Als Wissenschaftler stehen Daten- Name Supportdauer Paketumfang Preis schutz und produktives Arbeiten auf Debian 3 + 2 Groß Kostenlos dem Linux-Desktop im Vordergrund Ubuntu 5 Mittel Kostenlos + kostenpflichtige Supportoption seiner Interessen. RHEL/CentOS/SL 10 Mittel bis Klein Kostenpflichtige Distribution + kostenlose Ableger SLED ~10 Klein Kostenpflichtig openSUSE Evergreen 3 Unklar Kostenlos Teilen Kommentieren

© freiesMagazin CC-BY-SA 4.0 Ausgabe 07/2015 15 KERNEL

Der Juni im Kernelrückblick von Mathias Menzer

asis aller Distributionen ist der Linux- Ebenfalls dick aufgetragen hat die Rücknahme Die populärste Neuerung dürfte die eingebau- Kernel, der fortwährend weiterentwi- eines Patches, der eigentlich als Vorbereitung für te Verschlüsselung für ext4 [7] sein. Zwar ste- B ckelt wird. Welche Geräte in einem die Unterstützung der Verschlüsselungs- Hardwa- hen schon seit längeren Möglichkeiten wie dm- halben Jahr unterstützt werden und welche rebeschleunigung CESA (Cryptographic Engine crypt [8], ecryptfs [9] oder EncFS [10] zur Verfü- Funktionen neu hinzukommen, erfährt man, and Security Accelerator) gedacht war. Allerdings gung um Datenträger zu verschlüsseln, bei denen wenn man den aktuellen Entwickler-Kernel im hatte die Umsetzung auf einigen Systemen zu entweder das reguläre Dateisystem in einen ver- Auge behält. Problemen mit Direct Memory Access [4], einer schlüsselten Container gelegt oder verschlüsselte Funktion die Geräten einen direkten Zugriff auf Dateien in einem regulären Dateisystem gespei- Die Entwicklung von Linux 4.1 den Arbeitsspeicher ohne Umweg über den Pro- chert werden. Die Integration der Verschlüsselung Bereits bei der Freigabe von Linux 4.1-rc7 [1] zessor ermöglicht, geführt und wurde daher vor direkt in das Dateisystem spart Ressourcen – es stand fest, dass dies nicht die letzte Entwickler- der Veröffentlichung der finalen Version entfernt. ist eine Komponente weniger an den Dateizugrif- version werden würde. Zwar ging die Zahl der fen beteiligt. Änderungen abermals zurück, doch einige Proble- Die wurde dann auch eine Woche später freige- me waren noch übrig. Unter den Änderungen wa- geben [5]. Nur 36 Änderungen kamen zusammen, Die ext4-Verschlüsselung kann mit mehreren ren Fehlerkorrekturen im Bereich der Werkzeuge wovon das meiste auf Korrekturen an Grafik und Schlüsseln pro Dateisystem arbeiten, was die zur Leistungsmessung und eine neue Selbsttest- Sound-Treibern zurückzuführen war. Voraussetzung für die Nutzbarkeit durch mehre- Funktion für den VM86-Modus [2], ein Relikt aus re Anwender ist. Grundsätzlich wird Datei- oder frühen Tagen als Anwendungen noch Zugriff auf Der Kernel Linux 4.1 Verzeichnisweise verschlüsselt, jedoch nur der In- den ganzen Arbeitsspeicher erhielten – aus heu- Insgesamt hat die Entwicklung von Linux 4.1 71 halt, Metadaten wie Berechtigungen, Größe und tiger Sicht sicherlich ein sicherheitstechnischer Tage gedauert und liegt damit etwas über dem Zeitstempel liegen weiterhin in lesbarer Form vor. Alptraum. Durchschnitt der letzten vier Jahre. Fast 13.000 Änderungen kamen dabei zusammen und brach- ACPI [11] ist auf heutigen Systemen der gän- Die achte und letzte Entwicklerversion [3] gab ten diesmal wieder ein paar interessante Neue- gige Standard, wenn es um die Energieverwal- Torvalds während seines Urlaubs frei. Die Um- rungen hervor. tung und Gerätekonfiguration dar – zumindest fangreichsten Änderungen war hier die Umstel- im x86-Umfeld. Auf ARM-Seite wird Unterstüt- lung der Parameterübergabe an die Funktion Einer der wichtigsten Punkte des neuen Kernels zung für ACPI kontrovers betrachtet und es wer- dma_buf_export(), die künftig nicht mehr mittels dürfte jedoch die Tatsache sein, dass er von Greg den andere Ansätze zur Geräte-Erkennung und vieler Parameter sondern einer einzelnen Struktur Kroah-Hartman als neuer Longterm Release Ker- -Konfiguration bevorzugt. Die Unterstützung der erfolgt. Letztlich sind die benötigten Übergaben nel ausgewählt wurde [6]. Kroah-Hartman wird ARM64-Architektur für ACPI wurde ohne viel als einzelne Felder in dieser Struktur enthalten, die Unterstützung für Linux 3.10 im Herbst nach Aufsehen zu erregen umgesetzt. Es könnte je- jedoch wird der Code und auch die Handhabung zwei Jahren einstellen, und stattdessen 4.2 bis doch sein, dass Hardwarehersteller auf diesen der Funktion dadurch vereinfacht. 2017 mit Patches pflegen. Zug aufspringen und bald Server mit ARM64-

© freiesMagazin CC-BY-SA 4.0 Ausgabe 07/2015 16 KERNEL

Prozessoren und ACPI anbieten – angesichts nur sehr wenige Anwender außerhalb von Unter- [13] http://www.freiesmagazin.de/freiesMagazin- der Effizienz ARM-basierter Systeme würde dies nehmen betreffen. Das Dateisystem XFS kann 2015-05 durchaus Sinn ergeben. nun mit dem Overlay- Dateisystem UnionFS [15] [14] https://de.wikipedia.org/wiki/Virtuelle_Spei zusammenarbeiten und erlaubt nun, „Löcher“, al- cherverwaltung Nichtflüchtige Speicher (Non-Volatile RAM, so einen leeren Bereich, in eine Datei einzufügen, [15] https://de.wikipedia.org/wiki/UnionFS NVRAM) [12]), d. h. Flash-Speicher, die ihre der dann ggfs. später gefüllt werden kann. [16] https://de.wikipedia.org/wiki/IPv6 Daten nicht verlieren, wenn sie stromlos werden, [17] https://de.wikipedia.org/wiki/MAC-Adresse waren bereits bei Linux 4.0 ein Thema (siehe Netzwerkseitig unterstützt Linux nun eine „Der April im Kernelrückblick“, freiesMagazin neue Methode zur Generierung von Interface- Autoreninformation 05/2015 [13]). Damals wurde eine Funktion in Kennungen, die für die Erstellung von IPv6 [16]- ext2, die die sinnvolle Nutzung solcher Spei- Adressen benötigt werden. Diese neue Methode Mathias Menzer (Webseite) behält cher erlaubte, durch eine überarbeitete ersetzt: basiert nicht auf der MAC-Adresse [17] des jewei- die Entwicklung des Linux-Kernels im DAX (Direct Access). Die aktuelle Kernel-Version ligen Interfaces und stellt damit eine geringere Blick, um über kommende Funktio- bringt mit PMEM einen neuen Treiber mit, der die Gefahr für die Privatsphäre des Anwenders dar. nen von Linux auf dem Laufenden zu Unterstützung für nichtflüchtige Speicher weiter Die erzeugten „Interface Identifier“ sind inner- bleiben und immer mit interessanten verbessern soll. halb eines Subnetzes gleich, ändern sich jedoch, Abkürzungen und komplizierten wenn das Netzwerk, beispielsweise das WLAN, Begriffen dienen zu können. PMEM ermöglicht es, NVRAM als Block-Gerät in gewechselt wird. einem reservierten Speicherbereich im Virtuellen Speicher [14] einzubinden. Dadurch lässt es sich LINKS Teilen Kommentieren zwar wie regulärer Arbeitsspeicher ansprechen, [1] https://lkml.org/lkml/2015/6/7/219 jedoch weiß die Speicherverwaltung, bei welchen [2] https://de.wikipedia.org/wiki/Virtual_8086_Mode Bereichen es sich um NVRAM handelt und kann [3] https://lkml.org/lkml/2015/6/14/250 diesen dann anders behandeln, beispielsweise [4] https://de.wikipedia.org/wiki/Speicherdirektzu durch das zwischenspeichern bei Schreibopera- griff tionen, um die vielen Schreibvorgänge pro Sekun- [5] https://lkml.org/lkml/2015/6/22/8 de auf den NVRAM selbst zu reduzieren. Dadurch [6] http://heise.de/-2681151 ließe sich die Lebensdauer der meist auf Flash- [7] https://de.wikipedia.org/wiki/ext4 Technologie beruhenden NV-Speicher verlängern. [8] https://de.wikipedia.org/wiki/Dm-crypt [9] https://de.wikipedia.org/wiki/ECryptfs Btrfs hat einige Korrekturen erhalten, die jedoch in [10] https://de.wikipedia.org/wiki/EncFS erster Linie Nutzer betreffen, die damit Dateisys- [11] https://de.wikipedia.org/wiki/Advanced_Con teme ab 20 TB Größe betreiben oder mit Dateien figuration_and_Power_Interface “Internal Monologue” © by Randall Munroe ab 3 TB arbeiten – beide Fälle werden vermutlich [12] https://de.wikipedia.org/wiki/NVRAM (CC-BY-NC-2.5), http://xkcd.com/1089/

© freiesMagazin CC-BY-SA 4.0 Ausgabe 07/2015 17 LATEX

Mit LATEX zum E-Book von Dominik Wagenführ

-Book-Reader und mobile Geräte, auf Zu den verwendeten Elementen gehören unter Hinweis: Der Kürze halber wird im Artikel nur der denen man E-Books lesen kann, wer- anderem Dateiname beispiel.* benutzt, anstatt des kom- E den immer beliebter, nehmen sie doch pletten epub_latex_beispiel.*. Für ganz Fau- weniger Platz in der Reisetasche weg als her-  Titelseite le liegt dem Archiv auch ein Makefile bei, über kömmliche Bücher. Und so haben auch im-  Inhaltsverzeichnis welches man mittels make-Aufruf das Dokument A mer mehr Autoren, die LTEX nutzen, Interesse  Überschriften in verschiedenen Ebenen übersetzen und danach konvertieren kann. daran, ihre Werke nicht nur als PDF, sondern  Textauszeichnungen und Schriftgrößen auch in einem E-Book-Format zu veröffentli-  Aufzählungen und Auflistungen Besonderheiten eines E-Books chen. Der Artikel wirft einen Blick auf die ak-  Interne und externe Verweise Auch wenn die meisten Leser sicherlich schon ein- A tuellen Möglichkeiten, ein LTEX-Dokument in  Tabellen und Tabellenverzeichnis mal ein Buch aus Papier in den Händen gehalten ein EPUB zu konvertieren.  Mathematische Formeln haben, ist man sich oft der Eigenschaften, die so  Fußnoten ein Buch mitbringt, nicht bewusst. So gibt es feste Hinweis: Alle Programme und Beispiele aus dem  Bilder, Abbildungen und Abbildungsverzeichnis Seiten, in der Regel mit Seitenzahlen am Rand Artikel wurden unter Ubuntu 14.04 LTS ausge-  Zitate und Quellverzeichnis oder in den Ecken. Rand? Genau, einen Rand um führt und getestet. Auf anderen Betriebssystemen  Index-Angabe/Glossar den eigentlichen Textkörper gibt es auch. So kann A kann es ggf. die eine oder andere Konvertiermög-  Definition von eigenen LTEX-Kommandos und man das Buch mit den Händen festhalten, ohne lichkeit nicht geben bzw. sie mag dort anders hei- LATEX-Umgebungen dass der Text verdeckt wird. Oder man kann Kom- ßen. Zusätzlich kann es ggf. neuere Versionen der mentare mit einem Stift an den Seitenrand schrei- getesteten Programme geben, die eine größere Das Dokument liegt als Beispiel zum Download ben. Für ältere Menschen ist dieses feste Format Funktionalität besitzen. vor: EPUB-LaTeX-Beispiel.tar.gz. Es kann aber eher schlecht. Die Schriftgröße verschiede- mit latex bzw. pdflatex übersetzt werden: ner Bücher ist oft viel zu klein, sodass man sich Beispieldokument externer Hilfen wie Lupen bedienen muss. Die- Im Gegensatz zum Artikel „E-Book-Erstellung aus $ latex epub_latex_beispiel se Eigenschaften treffen natürlich nicht nur auf $ pdflatex epub_latex_beispiel LATEX und HTML“, freiesMagazin 11/2012 [1], in gedruckte Bücher zu, sondern auch teilweise auf dem es konkret um die Umwandlung eines Maga- „starre“ digitale Formate, wie z. B. das PDF. zins in EPUB ging, soll der vorliegende Artikel sich Den Lauf muss man gegebenenfalls wiederho- mit herkömmlichen Studienarbeiten beschäftigen. len und vorher makeindex bzw. bibtex laufen Ein E-Book [2] dagegen ist nicht starr. Ganz im lassen, um Stichwort- und Quellverzeichnis zu Gegenteil kann man es sogar als „fließend“ be- Aufgrund dessen wurde ein Beispieldokument er- generieren: zeichnen. Die Schriftgröße oder auch die Schrift- stellt, welches die meistgenutzten Elemente wis- art lassen sich oft so einstellen, dass man oh- senschaftlicher Arbeiten und Aufsätze enthält, wie $ makeindex epub_latex_beispiel ne Probleme auch bei einer Sehschwäche lesen $ bibtex epub_latex_beispiel sie im Schul- bzw. Universitätsbetrieb vorkommen. kann. Man kann in einem E-Book zwar auch von

© freiesMagazin CC-BY-SA 4.0 Ausgabe 07/2015 18 LATEX

Seite zu Seite blättern, dabei sind die Seitenzah- EPUB [3] das bevorzugte Format ist. Dieses hat len aber nicht fest. Sie richten sich danach, wie sich in den letzten Jahren als dominierend erwie- groß der Text auf einer einzelnen Seite ist. Je sen und so gut wie alle Hersteller von E-Book- nach Darstellungsart hat ein Buch also bei einem Readern verstehen dieses Format. Leser 100 Seiten und bei einem anderen vielleicht 150. EPUB ist ein gepacktes Container-Format, in wel- chem man die XHTML-kodierten Dateien (wie Ein weiterer Unterschied zwischen E-Books und bei gewöhnlichen Webseiten) findet, welche den Büchern ist die Möglichkeit der Verlinkung und der Text sowie die Formatierung angeben. Daneben Die Konvertierung des PDF in HTML sieht Suche. In der analogen Welt muss man sich mit enthält der Container natürlich auch die anzuzei- unschön aus und viele Formatierungen gehen einem Index zufrieden geben und hoffen, dass der genden Bilder sowie im EPUB3-Standard auch verloren. Autor alle wichtigen Stellen indiziert hat. Ansons- noch Audio- und Videoelemente. Zusätzlich kann ten ist viel Blättern angesagt. Bei digitalen For- man auch noch ein Inhaltsverzeichnis und andere maten dagegen kann man von einem Index über Meta-Daten (wie Autoren, Herausgeber etc.) in Eine Alternative ist das bekannte Konvertierungs- Links direkt an die gewünschte Stelle im Buch dem Container ablegen. Da ein EPUB also intern programm Calibre [4]. Dabei ist Calibre selbst springen oder auch einfach den ganzen Text in auch nur aus HTML-Seiten besteht, drängt sich eher ein Medienverwaltungsprogramm, welches Sekundenbruchteilen durchsuchen. der Weg über eine HTML-Wandlung geradezu aber zahlreiche Hilfsmittel und Skripte mitbringt. auf. Eines davon, ebook-convert [5], beherrscht vie- Warum nicht das PDF nutzen? le Wandlungen, unter anderem auch PDF nach Auf den meisten E-Book-Readern kann man auch Naive Wandlung des PDFs als EPUB: direkt PDFs lesen. Wieso also nicht das von LATEX E-Book erstellte PDF-Dokument auf dem Reader lesen? Wenn man das Beispieldokument in ein PDF über- $ ebook-convert beispiel.pdf beispiel.y epub Der Grund ist, dass PDF wie oben erwähnt ein setzt hat, kann man versuchen, dieses direkt in starres Format ist. Das heißt, der E-Book-Reader ein EPUB oder in HTML zu wandeln. Dies geht zeigt eine ganze Seite an, die in der Regel in DIN beispielsweise über Öffnet man das entstandene EPUB (zum Bei- A4 erstellt wurde. Würde man auf einem kleinen spiel mit dem Calibre beiliegenden Programm Display die ganze Seite anzeigen, könnte man $ pdftohtml beispiel.pdf beispiel.html -y ebook-viewer oder auf dem E-Book-Reader) noframes nichts mehr erkennen. Wenn man also etwas le- bietet sich ein ähnliches Bild wie bei pdftohtml: sen will, muss man in den Text zoomen und ggf. Einrückungen und Formatierungen gehen teilwei- sehr oft hin- und herscrollen, was bei den meisten Das Ergebnis ist dabei aber nicht wirklich ansehn- se verloren und die PDF-Seitenzahl unterbricht E-Book-Readern keinen großen Spaß macht. lich: Es fehlen Absätzen und Einrückungen, For- den Lesefluss. matierungen gehen verloren und Seitenzahlen Insgesamt gehen mit einem PDF viele Vortei- werden in den Text gedruckt, obwohl es gar keine Die Wandlung des PDFs nach HTML beziehungs- le von mobilen Formaten verloren, weswegen Seiten mehr gibt. weise EPUB bietet sich also nicht an. Zu viele

© freiesMagazin CC-BY-SA 4.0 Ausgabe 07/2015 19 LATEX

Informationen gehen durch die PDF-Elemente dem Klick auf „OK “ wird das Buch dann konver- Pandoc verloren, die in LATEX noch zu finden sind. Da- tiert und steht anschließend auch als EPUB zur Pandoc [8] will nach eigener Aussage das Schwei- her ist die Idee, das LATEX-Dokument direkt ohne Verfügung. zer Armeemesser unter den Konvertierungspro- Umwege zu wandeln. grammen sein. Es unterstützt die direkte Konver- tierung von LATEX-Dokumenten, auf die weiter un- EPUB-Erstellung aus HTML ten eingegangen wird. Man kann mit Pandoc aber Wenn man mit Hilfe der weiter unten vorgestell- auch aus einer HTML-Datei ein EPUB erstellen: ten Programme eine HTML-Datei aus dem LATEX- Dokument erzeugt hat, gibt es ebenfalls verschie- $ pandoc -o beispiel.epub beispiel.html dene Möglichkeiten, wie man aus der HTML-Datei ein EPUB generieren kann. Das Ergebnis hat leider auch bei einer korrekten HTML-Datei als Eingabe die Auswirkung, dass Calibre nicht alle Elemente übernommen werden. So wer- Man kann dazu das bereits oben erwähnte Calib- den verschiedene Schriftgrößen gleich hoch dar- re nutzen: gestellt und Tabellen werden nicht korrekt ins EPUB übernommen. Ebenso problematisch ist, $ ebook-convert beispiel.html beispiel.y Die grafische Oberfläche von Calibre. dass ab und zu kein valides Inhaltsverzeichnis epub --no-default-epub-cover im EPUB eingefügt wird, was aber auch mit dem Sigil HTML-Dokument zu tun hat, sodass dieses Phä- Die Option --no-default-epub-cover bietet Ein zweites Konvertierungsprogramm ist Sigil [6]. nomen nur manchmal auftrat. sich dabei an, wenn man wie im Beispiel eine Sigil befindet sich in sehr aktiver Entwicklung, was eigene Titelseite hat und kein separates Deckblatt leider auch seine Nachteile mit sich bringt. So Aus diesen Gründen wird im Folgenden nur auf benötigt. gab es bis zu Version 0.5.3 eine undokumentierte Calibre zur Konvertierung von HTML nach EPUB Schnittstelle, um das Programm von der Konso- eingegangen. Alternativ dazu besitzt Calibre auch eine grafische le aus auszurufen und Konvertierungen vorzu- Oberfläche, mit der man die Wandlung vorneh- nehmen. Diese Möglichkeit ist mit Version 0.6.0 Besonderheit von MathML men kann. Hierzu klickt man auf „Bücher hinzufü- weggefallen und wurde leider auch nicht wieder Eine Besonderheit, über die man sich vor der Kon- gen“ oben links und wählt dann die HTML-Datei eingebaut [7]. Daneben ist die neueste Version vertierung in HTML bzw. ein EPUB Gedanken ma- aus. Danach selektiert man das neu hinzugefügte von Sigil so neu (das heißt es benötigt sehr neue chen muss, ist die Darstellung von mathematische Buch in der Titelliste in der Mitte und klickt oben Bibliotheken), dass es auf einem ein Jahr alten Formeln, wenn man diese in seinem Dokument auf „Bücher konvertieren“. Voreingestellt sollte Linux-System nicht mehr zu übersetzen ist, so- nutzt. Für Browser steht unter anderem hierfür oben rechts „EPUB“ sein. Daneben kann man dass nicht näher auf das Programm eingegangen die Auszeichnungssprache MathML [9] zur Verfü- noch das Titelbild, Inhaltsverzeichnis, Metadaten wird. Wer will, kann es aber bei sich daheim tes- gung, die auch in Verbindung mit HTML benutzt und einige anderen Einstellungen verändern. Mit ten. werden kann.

© freiesMagazin CC-BY-SA 4.0 Ausgabe 07/2015 20 LATEX

Zu jedem Programm wird auf einige Beson- tische Formeln nicht als Text sondern als MathML derheiten eingegangen, was gut oder weniger im HTML dargestellt werden. Da MathML aber in gut funktioniert. Eine detaillierte Auflistung al- einem EPUB nicht angezeigt werden kann (siehe ler Ergebnisse gibt es in folgendem Dokument: oben), wird nicht weiter auf diese Version einge- EPUB-Konverter-Vergleich.ods. Dort werden gangen. MathML im Browser. die Eigenschaften aller getesteten Programme im Die Ausgabe von MathML ist sehr schön, hat für Detail erläutert. Wandlung in HTML ein E-Book aber einen großen Nachteil: Die meis- TtH arbeitet mit Lex [12] und hat einen fest einge- ten E-Book-Reader können kein MathML inter- TtH bauten Sprachschatz, der aber recht ausgeprägt pretieren. MathML ist (noch) nicht Teil des EPUB- TtH [10] ist ein „TEX to HTML translator“, der seit ist. Dadurch werden aber \documentclass und Standards und wird somit im Reader entweder nur 1997 aktiv von Ian Hutchinson entwickelt wird. \usepackage ignoriert und man kann keine wei- schematisch dargestellt oder der Reader bricht Der Quellcode des Programms liegt zwar offen tere Pakete laden. Ansonsten unterstützen beide die Darstellung komplett ab. vor, aber nicht unter einer freien Lizenz. Das Pro- Programme vom Anwender definierte Komman- gramm existiert für Linux, Windows und MacOS dos und Umgebungen, was sehr hilfreich ist. Bei Das Ergebnis von Konvertern, die Formeln aus X. Die neueste Version ist 4.07 vom 12.02.2015. unbekannten Kommandos und Umgebungen wird LATEX nur nach MathML exportieren können, wird der Inhalt als Reintext wiedergegeben, sodass zwar in HTML sehr gut aussehen, aber im EPUB Die Benutzung ist recht einfach: zwar vielleicht das Layout, aber zumindest nicht nicht mehr dargestellt werden Können. Weiter un- die Information verloren geht. ten wird sich zeigen, welches Programm eine al- $ ./tth -w2 -u -a -e2 beispiel.tex ternative Darstellungsmöglichkeit hat. Alle Verzeichnisse werden korrekt eingebunden, Die Option -w2 ist für die Ausgabe als XHTML 4.0. erscheinen aber leider nur mit englischer Bezeich- HTML- und EPUB-Erstellung Die Option -u sorgt für Unicode-Support, wobei nung (das heißt „List of Figures“ anstatt „Bildver- Im Folgenden werden einige Programme vorge- aber der Charset im HTML-Dokument dennoch zeichnis“). Die Fußnoten werden am Ende des stellt, mit denen das LATEX-Beispieldokument in nicht auf UTF-8 gesetzt wird, was dazu führt, dass Dokuments angezeigt und enthalten auch einen HTML gewandelt werden kann und auf die Beson- beispielsweise deutsche Umlaute per Standard praktischen Backlink auf die Stelle, an der sie de- derheiten beziehungsweise etwaige Fehler einge- nicht korrekt dargestellt werden. Hier muss man finiert wurden. Auch alle anderen Verzeichnisse gangen. Bei allen Programmen gilt, dass diese oft im Browser erst manuell auf Unicode umstellen. enthalten solche Backlinks. Ein Fehler lässt lei- eine Fülle an Optionen mitbringen, sodass gege- Die Option -a sorgt dafür, dass ein LATEX-Lauf der alle Links im Stichwortverzeichnis ins Leere benenfalls nicht die richtigen Parameter gefunden durchgeführt wird, der die notwendigen Verzeich- gehen. wurden, um die HTML-Ausgabe optimal zu gestal- nisse erstellt. Die letzte Option -e2 sorgt dafür, ten. Dennoch merkt man an den rudimentären dass Bilder inline eingebunden werden. Grafiken als JPG und PNG werden direkt einge- Aufrufen bereits, ob man mehr Zeit in die Konfi- bunden, PDF- und EPS-Grafiken werden aber guration eines Programms stecken will oder eher Es gibt noch eine zweite Version namens TtM [11]. nur verlinkt. Diese kann man aber vorher manuell nicht. Diese ist identisch zu TtH, bis auf dass mathema- konvertieren, wenn das gewünscht ist:

© freiesMagazin CC-BY-SA 4.0 Ausgabe 07/2015 21 LATEX

$ pdftops fm-logo_pdf.pdf nur als linksbündiger Flattersatz ohne Einzug aus- Die Verlinkung im Dokument über Label und Re- $ ps2png fm-logo_pdf.ps fm-logo_pdf.png gegeben wird, was für ein HTML-Dokument aber ferenzen funktioniert korrekt. Problematisch sind $ epspdf fm-logo_eps.eps in der Regel auch eine bessere Darstellungsmög- Referenzen auf Seiten mit \pageref. In einem $ pdftops fm-logo_eps.pdf lichkeit als Blocksatz ist. Der Grund dafür liegt HTML-Dokument gibt es keine Seiten, sodass TtH $ ps2png fm-logo_eps.ps fm-logo_eps.png darin, dass HTML-Dokumente in Blocksatz meist hier als Linktext einfach das Wort „pageref“ aus- zu sehr großen Abständen zwischen den Wörtern gibt. \hyperref wird leider gar nicht unterstützt TtH erkennt diese zugehörigen Dateien dann auto- neigen. und der gesamte Linktext ignoriert. matisch und bindet die Bitmap-Versionen anstelle des PDF- oder EPS-Links ein. Ein Manko sind bei TtH Tabellen, die leider Für viele Anwender sind die mathematische For- nur sehr rudimentär dargestellt werden und meln sehr wichtig. Hier wird bis auf die align- Von den Überschriften und Textauszeichnungen nicht wirklich gut aussehen. Dies erfordert al- Umgebung und \mathbb alles verstanden. TtH wird alles unterstützt, wobei kursiv und geneigt so manuelle Nachbesserung im HTML, wenn gibt die Formeln dabei als Reintext aus und ver- grundsätzlich bei allen getesteten Programmen diese ordentlich aussehen sollen. Dafür wird sucht verschiedene Stilelemente für die Gestal- identisch als kursiv dargestellt werden. Bei Kapi- aber auch longtable verstanden, ebenso wie tung zu nutzen, um Brüche, Klammern oder Inte- tälchen gibt es Probleme mit deutschen Umlauten, \tmulticolumn oder Spaltenwiederholungen mit grale korrekt darzustellen. TtM dagegen nutzt wie die in der Standardschrift ausgegeben werden. *{6}{c}. bereits gesagt MathML, was wesentlich besser Auch verschiedene Schriftgrößen werden unter- aussieht, aber in einem EPUB nicht funktioniert. stützt.

Mathematische Formeln werden mit Sonderzeichen gestaltet.

Zum Schluss werden auch Farben und Zähler un- terstützt, ebenso wie Zitierungen aus dem Quell- Textauszeichnungen und -formatierung. verzeichnis. Nicht verstanden werden manuelle Trennungen mit "" bzw. "-. Und aus irgendei- Bei der Ausrichtung von Text gibt es hier die Be- nem Grund wird ein vertikaler Strich (Pipe) nicht sonderheit, dass der gesamte Text grundsätzlich Tabellen mit TtH sehen nicht sehr schön aus. dargestellt.

© freiesMagazin CC-BY-SA 4.0 Ausgabe 07/2015 22 LATEX

Wandlung in EPUB Pandoc Leider deutet der Fehler nicht auf das echte Pro- Nutzt man Calibre bzw. ebook-convert für die Pandoc [8] wurde bereits erwähnt, als es um die blem hin. Problematisch sind nämlich die KOMA- Konvertierung wie oben beschrieben, wird die Konvertierung von HTML nach EPUB ging. Da Beschreibungslisten mittels labeling. Kommen- HTML-Seite fast eins zu eins in das EPUB über- hierbei aber wichtige Textformatierungen und Ele- tiert man diese aus, gibt es aber weitere Pro- nommen, wobei noch Kleinigkeiten ausgebessert mente wie Tabellen nicht übernommen wurden, blem mit der Definition eigener Kommandos. So werden, sodass Umlaute korrekt im EPUB kodiert stellt sich die Frage, nach einer direkten Konver- bringt bei \newenvironment die eingebettete Lis- sind. tierung von LATEX nach HTML mit Pandoc. te mit itemize sowie die benutzte enumerate- Aufzählung in einem Kommando Pandoc durch- Aber auch wenn mit ebook-viewer am PC al- Pandoc von John MacFarlane ist Open Source einander und bricht den Konvertiervorgang ab. les gut im EPUB aussieht, ist die Darstellung auf und steht für BSD, Linux, MacOS X und Windows Behebt man diese drei Stellen durch Auskommen- einem echten E-Book-Reader ggf. anders, wes- zur Verfügung. Die getestete Version ist 1.13.2 tieren, lässt sich das LATEX-Dokument nach HTML wegen die erstellten EPUBs auch real auf einem vom 20. Dezember 2014. Die Benutzung nach übersetzen. PocketBook Touch 622 getestet wurden (siehe der Installation ist prinzipiell recht einfach: „Im Test: PocketBook Touch 622“, freiesMagazin Das Ergebnis ist leider nicht sehr befriedigend, 04/2014 [13]). $ pandoc --toc -R -s -o beispiel.html y was vor allem daran liegt, dass Pandoc kein beispiel.tex \newcommand* und kein \newenvironment ver- Es fällt auf, dass der Sans-Serif-Text dennoch steht. Und alle unbekannten Makros und Umge- Serifen hat, weil die Schriftart Helvetica, die im Die Option --toc erstellt dabei ein Inhaltsver- bungen hinterlassen mit Pandoc eine Lücke im HTML dafür allein definiert ist, nicht auf dem Rea- zeichnis, was normalerweise fehlen würde. -s HTML-Text, d. h. dass keinerlei Inhalt ausgegeben der installiert ist. erzeugt eine Standalone-Ausgabe, sodass eine wird. Das normale \newcommand ohne Stern wird valide HTML-Seite erzeugt wird. Zuletzt ist die verstanden, aber es gibt bei manchen Definitio- Was schlimmer wiegt, ist die fehlerhafte Darstel- Option -R wichtig, weil damit auch durch für Pan- nen Probleme, wie man oben gesehen hat. Wenn lung der mathematischen Formeln. Diese werden doc unverständliche LATEX-Kommandos gegangen man in der Datei befehle.tex, in der die Befehle nicht korrekt angezeigt, weil für die Darstellung wird. Seltsamerweise führt das dennoch dazu, für das Beispieldokument stehen, die Sternchen Unicode-Zeichen benutzt werden, die auf dem dass einige Elemente nicht ausgegeben werden. entfernt und zusätzlich die center-Umgebung bei Reader aber nicht verfügbar sind. der Bildeinbindung auskommentiert, wird wesent- Der erste Versuch scheitert aber mit der Meldung: lich mehr dargestellt.

pandoc: Wandlung in HTML Error at "input" (line 191, column 1): Dennoch ist das resultierende HTML-Dokument unexpected '\n' nicht sauber konvertiert. Bei den Schriftformatie- Die folgende Aufzählung soll mit röy rungen werden \textsf und \underline kom- mischen Ziffern beginnen. Dies geht aber Die Unicode-Zeichen in mathematischen Formeln plett ignoriert. Dafür werden die Kapitälchen kor- ^ können nicht überall dargestellt werden. rekt dargestellt. Die Familien \ttfamily und

© freiesMagazin CC-BY-SA 4.0 Ausgabe 07/2015 23 LATEX

\sffamily werden ebenfalls ignoriert. Ebenfalls des LATEX-Codes und korrekter Interpretation mit ungewohnt ist, dass alle Schriftgrößen nicht inter- Sonderzeichen. Das letztere wird dann genutzt, pretiert werden. wenn es sich um simple Formeln mit Hoch- und Tiefstellen bzw. griechischen Buchstaben handelt. Tabellen werden rudimentär unterstützt, Linien Als einzige Umgebung wird equation (diesmal werden nicht angezeigt. auch mit Stern) korrekt verstanden.

Im Gegensatz tabular wird figure zwar auch unterstützt, nur fehlt die Bildunterschrift völlig. Im- merhin werden die Bilder angezeigt. PNG und JPG ist dabei kein Problem. PDF und EPS wer- Mathematische Formel werden in LAT X-Syntax den per embed src ins HTML eingebunden, was E dargestellt. nur funktioniert, wenn entsprechende Plug-ins für diese Formate installiert sind. Wandlung in EPUB Zu den weiteren nicht unterstützen Elementen ge- Bei der Wandlung in ein EPUB geht die Auszeich- Serifenloser und unterstrichener Text fehlen. hören Farben, Zähler und jede Art von Verzeich- nung als Kapitälchen mit \textsc und \scshape nis (das Inhaltsverzeichnis ausgenommen). Ohne verloren, die im HTML noch zu sehen waren. Schön ist dagegen, dass neben Verbatim auch Quellverzeichnis sind somit auch keine Quellen- lstlisting verstanden wird. angaben möglich. Okay sind dagegen die Fuß- Bei den Bildern ergibt sich die logische Konse- noten, die auch mit Backlink am Dokumentende quenz, dass PDF und EPS nicht angezeigt wer- Textausrichtungen werden auch nicht erkannt, eingefügt werden. den, da das embed-Tag im EPUB nicht unterstützt ebenso wie Verweise mit \label und \ref, was wird. die Verlinkung und Referenzierung innerhalb ei- Zum Schluss soll noch einen Blick auf die mathe- nes Dokuments hinfällig macht. matischen Formeln geworfen werden. Pandoc hat Die mathematischen Formeln werden zu einem hierfür Unterstützung für MathML, jsMath, Math- Großteil korrekt im EPUB angezeigt, bis auf die Auch die Unterstützung von Tabellen ist nur ru- Jax, KaTeX und mehr [14]. Leider werden diese al- Stellen, wo unbekannte Unicode-Zeichen benutzt dimentär vorhanden, da Tabellenlinien gar nicht le nicht von EPUB unterstützt. Viel versprechend werden, z. B. das „für alle“ oder „es existiert“. gedruckt werden. \multicolumn wird ebensowe- schien die Konvertierung mittels des extra Pro- nig erkannt wie die Definition mehrfacher Spalten gramms gladTeX [15], was aber leider bei dem LATEX2HTML oder eigene Definitionen. Auch longtable ist un- Beispieldokument direkt bei der ersten Formel LATEX2HTML [16] ist ein nicht mehr fortgeführ- bekannt. Die tabular-Umgebung wird erkannt, mit einem Fehler abbrach. Insofern bleibt nur die tes Perl-Projekt, welches ursprünglich Nikos Dra- die Tabellenunterschrift steht aber über der Tabel- normale Mathe-Interpration als Reintext. Pandoc kos ins Leben gerufen wurde. Auf der genann- le, was etwas ungewohnt aussieht. wählt hierfür eine Mischung aus der Darstellung ten Webseite gibt es keine Downloadlinks mehr,

© freiesMagazin CC-BY-SA 4.0 Ausgabe 07/2015 24 LATEX aber auf CTAN erhält man die Quellen noch [17]. HTML-Seite ändern, z. B. ob die Kapitel eine Num- Von den Textauszeichnungen wird eigentlich alles Die letzte offizielle Version, die die meisten Linux- merierung haben sollen oder bis zu welcher Ebe- verstanden, nur \textsf und \sffamily werden Distributionen ausliefern, ist von 2008, es gibt ne Überschriften im Inhaltsverzeichnis auftauchen seltsamerweise als kursiv dargestellt. Bei Kapi- aber auch eine 2012er-Version (1.2), welche für sollen. tälchen gibt es das gleiche Problem wie bei TtH, den Test benutzt wurde. dass Umlaute und Sonderzeichen nicht korrekt Das Ergebnis der Konvertierung findet man in dargestellt werden. Für die Wandlung nach HTML gibt man einfach einem einem eigenen Ordner. Selbst definierte Befehle und Umgebungen stel- % latex2html -split 0 -html_version 4.0,y Wandlung in HTML len kein Problem dar, ebenso wie Fußnoten, die unicode -numbered_footnotes - y LAT X2HTML versteht sehr viele Befehle und kann am Ende des Dokuments dargestellt werden. Re- no_navigation -lcase_tags beispiel.tex E so entsprechend viel auch nach HTML wandeln. ferenzen im Dokument sind kein Problem, externe Unbekannte Kommandos oder Umgebungen (wie Referenzen funktionieren nur mit \url, aber nicht ein, welches ein HTML-Dokument erstellt. Die Op- z. B. labeling oder lstlisting) werden an mit \href. tionen bedeuten dabei: LATEX übergeben und aus dem Ergebnis ein Bild generiert, was dann in die HTML-Seite eingebun- Mathematische Formeln werden ähnlich wie un- A  -split 0: Das gesamte Dokument wird als ei- den wird. Das funktioniert in der Regel sehr gut, bekannte Befehle von LTEX2HTML als Bild einge- ne Seite extrahiert, was für den späteren Export nur ist der Hintergrund solcher Wandlungen nicht bunden, wodurch die Qualität recht gut ist (ähnlich als EPUB einfacher ist. immer transparent, sondern grau, was etwas selt- zu MathML) und die Hoffnung besteht, dass diese  -html_version 4.0,unicode: Nutzt den sam aussieht. Daneben ist die Qualität der Kon- auch im EPUB korrekt dargestellt werden. Einige neueren HTML4-Standard inkl. Unicode- vertierung nicht immer die beste, sodass mitunter Bilder haben seltsamerweise am unteren Rand Unterstützung, sodass deutsche Umlaute und einige Pixel in der Grafik fehlen. einen schwarzen Strich, der sich nicht erklären Sonderzeichen korrekt dargestellt werden. lässt.  -numbered_footnotes: Nummeriert Fußno- ten durch, statt nur einen anonymen Link auf die Fußnote zu hinterlassen.  -no_navigation: Entfernt die Navigationsbal- ken am Anfang der Seite, da diese nicht not- wendig sind. Formeln werden als Bilder dargestellt, haben  -lcase_tags: Schreibt die HTML-Tags klein. aber manchmal einen Strich am unteren Rand. Das ist nicht zwingend notwendig, ist aber in- zwischen eigentlich Usus. Tabellen stellen kein großes Problem dar, ein- Die labeling-Umgebung ist LATEX2HTML zig \tabularnewline und eigene Spaltendefi- In der Manpage von LATEX2HTML findet man noch unbekannt und wird daher als Bild nitionen versteht LateX2HTML nicht. Auch die wesentlich mehr Optionen, die das Aussehen der eingebunden. tabular-Umgebung wird korrekt erkannt, die

© freiesMagazin CC-BY-SA 4.0 Ausgabe 07/2015 25 LATEX

A Caption befindet sich aber wie bei Pandoc über Wer die BIBTEX-Bibliography nutzen will, muss zu- LTEXML der Tabelle statt darunter. Die Formatierung der vor aber das Dokument einmal mit LATEX übersetzt LATEXML [18] ist ebenfalls ein Perl-Programm, wel- Tabellenlinien ist aber wie bei TtH eher praktisch haben. Schade ist, dass es im Quellverzeichnis ches vom National Institute of Standards and als schön. keine Backlinks auf die verwendeten Stellen im Technology (NIST) entwickelt wird. Sowohl der Dokument gibt. Quellcode als auch vorkompilierte Programme Etwas problematischer ist es bei den Bildern, für Linux, MacOS X und Windows werden dabei konkret bei den Formaten PDF und EPS, die Wandlung in EPUB zur Verfügung gestellt. Es befindet sich zur Zeit nicht direkt in HTML eingebunden werden kön- Alle Elemente werden im EPUB-Format exakt so in aktiver Entwicklung, sodass die letzte Version nen. LATEX2XML versucht diese ebenfalls zu kon- wiedergegeben, wie sie auch im HTML-Dokument 0.8.1 auch erst am 17. Februar 2015 erschienen vertieren, kommt dabei aber irgendwo durcheinan- zu sehen sind, was sehr gut ist. ist. Diese hat aber leider einen Fehler, was die der, sodass die falschen Bilder dargestellt werden Konvertierung der mathematischen Formeln in beziehungsweise irgendein Textauszug aus dem Einzig die Bilder machen ein Problem, da sie zu- Bilder anbelangt, daher wurde für diesen Artikel Dokument. mindest auf dem Testgerät PocketBook Touch 622 noch die vorherige Version 0.8.0 vom 5. Mai 2014 nicht korrekt skalieren. Das führt dazu, dass die benutzt. mathematischen Formeln und unbekannte LATEX- Kommandos, die als Bilder eingebunden werden, LATEXML konvertiert, wie der Name vermuten lässt, nicht klar zu erkennen sind und stellenweise als ein LATEX-Dokument in ein XML-Dokument, wel- einfach unlesbar gelten müssen, was sehr schade ches danach mit einem Post-Konverter in HTML ist. Daneben werden die Hintergründe der Gra- konvertiert werden muss: fiken nicht transparent dargestellt, sondern hell- grau. Beide Probleme können aber mit dem Test- $ latexml --dest beispiel.xml beispiel.y tex gerät zu tun haben. $ latexmlpost --format=html4 --y mathimages -dest=beispiel.html beispiel.y xml

Die Option --format=html4 ist hier dafür zu- ständig, dass die entstehende Seite den HTML4- PNG und JPG gehen, EPS und PDF werden Standard und noch nicht den neueren HTML5- fehlerhaft dargestellt. Standard nutzt, der gegegebenfalls nicht von allen älteren E-Book-Readern verstanden wird. Die Op- tion --mathimages wandelt alle mathematische Zum Schluss funktionieren auch Zähler und Far- Formeln sind auf dem E-Book-Reader nicht so Formeln in Bilder um anstatt diese per MathML ben, ebenso wie die verschiedenen Verzeichnisse. gut lesbar. darzustellen.

© freiesMagazin CC-BY-SA 4.0 Ausgabe 07/2015 26 LATEX

Wandlung in HTML Alle „Standardsachen“ wie Listen, Aufzählungen, Browser gut ist, wird später beim EPUB Probleme LATEXML versteht eine Menge an Befehlen. Die Textformatierungen und -größen werden fehlerfrei bereiten. LATEX-Makros und -Umgebungen, die es nicht unterstützt. lstlisting wird auch erkannt, nur kennt, werden rot markiert ausgegeben. Das der Kommentar innerhalb des Listings wird leider führt aber auch dazu, dass die empfohlene verschluckt. Sehr schön ist insbesondere auch Trennungen mit "- nicht erkannt wird und als die korrekte Darstellung der Tabellen inklusive der \bbl@allowhyphens ausgegeben wird. Tabellenlinien. Fußnoten werden als Popup dargestellt – selbst Ansonsten hat LATEXML von allen getesteten Pro- Auch Bilder in EPS- und PDF-Format werden ei- die Fußnote in der Fußnote ist korrekt. grammen den größten Sprachumfang bzw. unter- genständig nach PNG gewandelt und eingebun- stützt die meisten Pakete. So stellen Tabellen mit den. Die Farbgebung stimmt zwar nicht exakt, Wandlung in EPUB zeilenübergreifenden Zellen mit multirow oder aber das ist zu verschmerzen. Mathematische Das HTML wird größtenteils eins zu eins über- farbige Tabellen mit colortbl kein Problem dar. Ausdrücke werden als Bild eingebunden, was ex- nommen. Das ist bei den Tabellen mit einer fes- Die Verzeichnisse werden alle korrekt ausgege- plizit mit der Option --mathimages angegeben ten Breite über p{...} ein Problem, da diese evt. ben und verlinkt und werden sogar automatisch wurde. über den Rand des E-Book-Readers hinausge- erstellt. Ein Problem stellen nur die Umlaute im hen. Dieses Problem ist aber auch von kommer- Literaturverzeichnis dar. ziell erstellten EPUBs bekannt, wenn die Tabelle nicht besser umgebrochen werden kann.

Die Farbgebung der konvertierten Bilder stimmt nicht ganz (oben PNG, unten konvertiertes EPS).

Am problematischsten ist die Darstellung der Fuß- noten. Hierfür hat sich LATEXML gedacht, „neue“ Browser-Features wie Popups zu nutzen. So wer- den Fußnoten nicht am Seitenende angezeigt, sondern als Popup, wenn man mit der Maus über Tabelle mit fester Breite ragen ggf. über den Korrekte Darstellung der Tabellenlinien. einen Eintrag fährt. Was für eine HTML-Seite im Rand.

© freiesMagazin CC-BY-SA 4.0 Ausgabe 07/2015 27 LATEX

den, wobei style einer Dokumentklasse (z. B. scrartcl) oder einem Paket entspricht.

Man kann aber manuell die article- Dokumentklasse bei der Konvertierung mit an- Auch im Querformat können Formeln, Tabellen geben, was dann aber etwas später mit einem und Bilder über den Rand ragen. Fehler abbricht:

Hevea $ hevea article.hva beispiel.tex ... Hevea [19] wird von Luc Maranget von Inria [20] ./beispiel.tex:446: Giving up command: \ Farbige Zeilen werden nicht ganz korrekt erstellt und liegt aktuell in Version 2.23 vom 8. y end@tabular dargestellt. März 2015 vor. Hevea ist Open Source und wurde ./beispiel.tex:446: Giving up command: \y mit Objective Caml programmiert, was die Über- endtabular Die mathematischen Formel sehen sehr gut aus, setzung des Quellcodes auf manchen Plattformen ./beispiel.tex:446: Giving up command: \y skalieren aber leider nicht mit. Das heißt, wenn eventuell etwas erschwert. Auf einem aktuellen end man in den Text zoomt, bleiben die Grafiken alle Linux-System ist das aber kein Problem, solange ./beispiel.tex:446: Error while reading y gleich groß. Das könnte aber mehr eine Eigen- man Objective Caml 3.12 oder neuer installiert LaTeX: schaft des E-Book-Readers sein, wobei zumin- hat. This array/tabular column has no y dest auf dem PC mittels ebook-viewer die Gra- specification fiken ebenfalls nicht skalieren. Auch etwas pro- Versucht man das Beispieldokument mit Hevea Adios blematisch ist hier, dass einige Formeln über den zu übersetzen, erhält man Rand gehen beziehungsweise seltsam ausgerich- Grund hierfür ist die Tabelle mit tet sind, sodass man sie dann nicht vollständig $ hevea beispiel.tex dem selbst definierten Spaltentyp ./beispiel.tex:4: Warning: Cannot open lesen kann. Gleiches gilt auch für die anderen y (\begin{tabular}{C{3.5cm}<{\centering} file: scrartcl.hva Bilder. p{3.5cm} }), die auskommentiert werden muss. ./beispiel.tex:4: Giving up command: \y documentclass Es gibt dann noch viele Warnungen, aber zumin- Wie oben bereits erwähnt können die Fußnoten dest übersetzt Hevea das Dokument dann. ./beispiel.tex:4: Error while reading y als Popup gar nicht dargestellt werden und fehlen LaTeX: daher. Interessant ist gegebenenfalls auch noch, No base style Nachdem Hevea gelaufen ist (gegebenenfalls dass zumindest der PocketBook Touch 622 mit Adios zweimal, damit das Inhaltsverzeichnis korrekt er- Proble- stellt wird), müssen die Bilder noch manuell extra- me hat und hier nicht wie gewünscht die ganze Hevea kann Dokumentklassen und auch Pake- hiert werden: Zeile, sondern nur die einzelnen Wörter farbig te nicht einfach laden, sondern kennt nur einige hinterlegt. ausgewählte, die als style.hva mitgeliefert wer- $ imagen beispiel

© freiesMagazin CC-BY-SA 4.0 Ausgabe 07/2015 28 LATEX

Das wiederum führt erneut zu einem Abbruch: -{}-dict:1180/1684(ro)(G)-{}- -{}-y nicht gefällt. Hierbei gilt, dass Hevea bei unbe- dict:0/20(G)-{}- -{}-dict:80/200(L)y kannten Makros einfach nur den Inhalt anzeigt, ! LaTeX Error: Command \@ already y -{}- -{}-dict:188/300(L)-{}- -{}-dicty der als Argument übergeben wurde. So führt ein defined. :62/200(L)-{}- \noindent zu der Ausgabe 1ex im Dokument. Or name \end... illegal, y Current allocation mode is local see p.192 of the manual. Last OS error: No such file or directory Verweise mit \label und \ref funktionieren, nur GPL Ghostscript 9.10: Unrecoverable y \pageref wird inkorrekt mit zwei Fragezeichen l.30 ...nd{\@KommandoMitAtZeichen}{Ich y error, exit code 1 bin ein @.} ausgegeben. Dafür werden auch \href und \url unterstützt. Die Tabellen werden größtenteils kor- was seltsam ist, weil das Dokument selbst korrekt Effektiv muss man alle Bilder auskommentieren rekt erkannt und sehen mit den einfachen Linien mit latex und pdflatex übersetzt. Es scheint bis auf das EPS, welches korrekt von Ghostscript gut aus. Einzig \multirow funktioniert nicht und so, als würden die Befehle \makeatletter und konvertiert werden kann. Dieses Problem ist ggf. bei der Angaben über p{...} werden die Breiten- \makeatother nicht übersetzt werden, weswe- keines von Hevea sondern von der installierten verhältnisse nicht eingehalten. gen man diese Passage im Beispieldokument Ghostscript-Version auf dem Testrechner. ebenfalls auskommentieren sollte. Wandlung in HTML Danach gibt es noch ein Problem mit Ghostscript: Nachdem man das LATEX-Dokument also ange- passt hat, konvertiert Hevea dieses in eine HTML- Operand stack: Ausgabe. Die Standardformatierungen und Text- 3 0 größen werden verstanden, ebenso wie Verbatim Execution stack: und sogar lstlisting mit korrekten Rahmen. \%interp\_exit .runexec2 -{}-y nostringval-{}- -{}-nostringval-{}- y -{}-nostringval-{}- 2 \%stopped\_pushy -{}-nostringval-{}- -{}-nostringvaly -{}- -{}-nostringval-{}- false 1 \%y stopped\_push 1920 1 3 \%oparray\_popy 1919 1 3 \%oparray\_pop 1903 1 y 3 \%oparray\_pop 1787 1 3 \%y Tabellen sehen ganz gut aus, auch wenn die oparray\_pop -{}-nostringval-{}- \%y A errorexec\_pop .runexec2 -{}-y Linien nicht exakt wie bei LTEX nostringval-{}- -{}-nostringval-{}- y lstlisting wird korrekt interpretiert. übereinstimmen. -{}-nostringval-{}- 2 \%stopped\_pushy -{}-nostringval-{}- \noindent wird zwar verstanden, aber scheinbar Mathematische Formeln kann man mit MathML Dictionary stack: befindet sich in dem Makro etwas, was Hevea darstellen, was für das E-Book wie bereits er-

© freiesMagazin CC-BY-SA 4.0 Ausgabe 07/2015 29 LATEX wähnt, nicht sinnvoll ist. Deswegen wird die stan- Das heißt, das EPUB-eigene Inhaltsverzeichnis mern) die Darstellung, wie das auch schon bei dardmäßig eingestellte Formatierung als Reintext enthält zwar zu einem Teil die Abschnittsnumme- anderen Umsetzungen mit Unicode der Fall war. bevorzugt. Es wird versucht, mit diversen Sonder- rierung, aber keine Abschnittstitel. Eine ordentli- zeichen eine gute Darstellung zu erreichen, was che Navigation ist im EPUB so nahezu unmöglich. auch mehr oder weniger gelingt.

Die Beispielformel sieht im Fließtext noch gut aus, abgesetzt ist sie nicht mehr komplett lesbar.

Zum Schluss geht bei den Kapitälchen die Forma- tierung verloren, sodass diese als normaler Text Formeln werden als Text mit Sonderzeichen dargestellt werden. dargestellt. TEX4ht Eigene LATEX-Befehle und -Umgebungen werden TEX4ht [21] ist recht bekannt, die letzte Version erkannt (bis auf das oben erwähnte Problem mit ist von 2009, also etwas älter. TEX4ht ist eine dem @ im Befehlsnamen). Bei Bildern besteht Sammlung verschiedener Skripte und Tools. Die das erwähnte Problem, dass imagen nur das EPS Installation scheint etwas komplizierter zu sein, korrekt konvertieren kann. Auch Zähler, Fußnoten sodass man bei einer Linux-Distribution auf die und Farben funktionieren. Paketverwaltung zurückgreifen sollte.

Was nicht geht sind Literaturverweise. Die BIBTEX- Für die Konvertierung dient der einfache Aufruf Bibliography wird zwar erkannt und am Ende Das EPUB-Inhaltsverzeichnis wird nicht korrekt des Dokuments als „References“ angezeigt, aber erstellt. $ htlatex beispiel.tex Zitate laufen ins Leere. Der Index (Stichwort- verzeichnis) wird korrekt angezeigt und verlinkt, Die anderen Elemente im Dokument werden wie Zuvor muss das Dokument aber mit latex über- Abbildungs- und Tabellenverzeichnis fehlen dage- im HTML dargestellt – bis auf die mathemati- setzt worden sein. gen komplett. Auch das Inhaltsverzeichnis besteht schen Formeln. Im Fließtext sehen diese noch nur aus der Angabe der beiden Part-Angaben. gut aus, abgesetzt werden die Bruchstriche aber Beim ersten Versuch scheitert die Übersetzung, enorm gestreckt, sodass nur ein kleiner Teil der was daran liegt, dass die KOMA-Dokumentklasse Wandlung in EPUB Formel sichtbar ist. Auch im Querformat mit klei- srcartcl nicht bekannt ist. Ändert man dies in Da das Inhaltsverzeichnis bereits im HTML fehlt, ner Schriftgröße ist dies nicht besser. Daneben article ab, funktioniert die Konvertierung in ein wird es auch im EPUB nicht korrekt angezeigt. fehlt bei den Unicode-Zeichen (hier bei den Klam- HTML-Dokument.

© freiesMagazin CC-BY-SA 4.0 Ausgabe 07/2015 30 LATEX

eigenen HTML-Seite angezeigt. Ein Backlink fehlt leider, sodass im Browser nur der Zurück-Knopf bleibt.

Alle Tabellen werden korrekt dargestellt, auch Verweis auf eine Seite, die es in HTML nicht wenn die Linienangabe nicht immer mit dem LAT X- geben kann. E Identische Formeln im Fließtext haben ein Dokument übereinstimmt, was man aber ignorie- anderes Aussehen. ren kann. Selbst \multirow wird unterstützt und TEX4ht versteht keine unbekannten Kommandos korrekt umgesetzt. Von den Verzeichnissen werden Inhalts-, Tabellen- – was nicht schlimm ist, da das LATEX-Dokument und Abbildungsverzeichnis korrekt dargestellt. dann auch nicht mit LATEX übersetzt. Konkret nutzt Bilder werden auch unterstützt, das PDF und EPS Der Index existiert zwar, zeigt aber leider nur eine TEX4ht die gesamte TEX-Engine, um das Doku- werden in ein PNG konvertiert – allerdings nicht Seitenzahl ohne Link an. ment in HTML zu übersetzen, sodass es zu keiner ganz korrekt. Beim PDF wird nur ein kleiner Aus- fehlerhaften Darstellung kommen sollte. schnitt des eigentliches Bildes dargestellt. Beim EPS fehlt stattdessen ein bisschen vom rechten Wandlung in HTML Rand. Wie beschrieben sollte TEX4ht mit keinem Kom- mando ein Problem haben, da es die normale TEX-Engine nutzt. Dem ist aber nicht ganz so. Die Ausgabe ist zwar im ganzen Dokument vorbildlich und fehlerfrei, dennoch werden nicht alle LATEX- Kommandos unterstützt.

Verschiedene Textformatierungen werden unter- stützt bis auf Kapitälchen. Die Ausrichtung von Text ist mit den Standardumgebungen möglich, aber bereits \centering wird nicht mehr verstan- den. Auch Links innerhalb und außerhalb des Do- PDF und EPS wurden nicht korrekt konvertiert. kuments werden dargestellt. Bei \pageref fällt aber auf, dass eine – im HTML nicht existente – Die mathematischen Formeln werden je nach Seitenzahl angegeben wird. Komplexität als Reintext oder als Bild eingebun- den. Das führt aber auch dazu, dass Dollar- und Fußnoten werden ebenfalls unterstützt. Als einzi- Klammersyntax im Fließtext unterschiedlich dar- Der Index verweist zwar auf Seitenzahlen, aber ger Testkandidat wird aber jede Fußnote auf einer gestellt wird. ohne Link.

© freiesMagazin CC-BY-SA 4.0 Ausgabe 07/2015 31 LATEX

Dementsprechend schwer ist es, das Stichwort Die Tabellen verlieren leider von ihrer Attraktivi- Das gleiche Problem betrifft auch die Bilder, wo- dann im Text zu finden – wobei man die HTML- tät, da die Tabellenrahmen mehrfach dargestellt bei diese ggf. zu groß sind und über den rechten Seite natürlich auch normal durchsuchen kann. werden, was zu einem seltsamen Aussehen führt. Rand hinausragen. Das Literaturverzeichnis wird korrekt eingebun- den, sodass die Verweise auf die Quellen im Text Immerhin eine Verbesserung gibt es: Die Fußno- korrekt dargestellt werden. Leider gibt es keinen ten werden immer noch auf einer extra Seite dar- Backlink im Literaturverzeichnis. gestellt, jede Fußnote besitzt aber einen Backlink zu seinem Ursprung, sodass man schneller navi- Zum Schluss sei noch auf ein Problem mit Far- gieren kann. Beim Index und Literaturverzeichnis ben hingewiesen. Prinzipiell werden Farben ak- fehlen die Links auf die Vorkommen leider immer zeptiert und zum Beispiel auch mit \textcolor noch. angewendet. Problematisch ist, dass in der erstell- ten CSS-Datei die zugehörigen Stil-IDs aber nicht Es gibt für TEX4ht auch einen eigenen EPUB- definiert sind, wodurch das definierte Orange und Aufsatz namens TeX4ebook [22]. Dieser nutzt das Grau als Schwarz dargestellt werden. Andere diverse Lua-Skripte und erzeugt aus der HTML- Elemente wie die Textfarbe weiß werden dagegen Konvertierung von TEX4ht ein EPUB. Da sich das korrekt dargestellt. Ergebnis aber wenig bis gar nicht von der Konver- tierung mit Calibre unterscheidet, wird hier nicht gesondert darauf eingegangen. Die Tabellenrahmen sehen seltsam aus. TEX2page Die Bilder der mathematischen Formeln skalieren TEX2page [23] wurde bei meinem Vortrag auf der leider nicht mit und werden per Standard zu klein DANTE-Frühjahrstagung als zusätzlicher Konver- angezeigt, sodass man diese nur extrem schwer ter empfohlen. Das Programm wird von Dorai Si- Die farbigen Elemente haben eine textcolor, erkennen kann. Auch ein Zoom hilft hier nicht. taram entwickelt, die letzte Version ist am 12. Ja- die aber in der CSS-Datei nicht definiert ist. nuar 2015 erschienen. Der Quellcode kann auf GitHub [24] heruntergeladen werden. Die Beson- Wandlung in EPUB derheit von TEX2page ist, dass es Scheme bezie- Bei der Konvertierung der Formate geht nur die hungsweise Common Lisp für die Konvertierung Formatierung von \slshape und \textsl auf einsetzt. dem E-Book-Reader verloren. Auf dem PC wird die Schrift korrekt geneigt dargestellt, sodass ver- Für die Konvertierung dient der einfache Aufruf mutlich eine nicht unterstützte Schriftart das Pro- blem verursacht. Die Formeln werden nicht gut skaliert. $ tex2page beispiel.tex

© freiesMagazin CC-BY-SA 4.0 Ausgabe 07/2015 32 LATEX wobei man in der Konfigurationsdatei verschiede- Einzelne Textformatierungen funktionieren bis auf lenübergreifende Darstellung ist aber leider nicht ne Scheme-Implementierungen einstellen kann. \textsf, welches gänzlich ignoriert wird. Eben- möglich, so wie auch keine eigene Spaltendefini- Für den Test hier wurde Guile genutzt. Vor der so werden die Umlaute in den Kapitälchen wie tion oder die longtable-Umgebung verstanden Ausführung muss das Dokument aber mit latex bei anderen Konvertern nicht korrekt dargestellt. wird. übersetzt worden sein, damit die Verzeichnisse Bei dem Umschalten der gesamten Schrift-Serie alle korrekt übernommen werden. oder -Familie funktioniert leider nur \itshape Mathematische Formeln werden in ein GIF kon- und \ttfamily, alle anderen wie beispielswei- vertiert, deren Auflösung aber viel zu klein geraten Wandlung in HTML se \bfseries werden ignoriert. Verbatim und ist, sodass man kaum etwas erkennen kann. Wie Der erste Versuch der Konvertierung scheitert, da auch lstlisting werden verstanden, wobei in- oben geschrieben wird equation* und \mathbb TEX2page sowohl über die labeling-Umgebung teressanterweise Leerzeichen verloren gehen, die nicht verstanden. Nachteilig ist auch, dass die als auch über equation* stolpert, obwohl die den Sinn des abgebildeten Codes zunichte ma- Nummerierung der Formeln mit in das GIF ko- richtigen Pakete geladen wurden. Ebenso sind chen. diert wird und dabei immer neu bei 1 anfängt, \mathbb und \text unbekannt. Diese Umgebun- was einen Verweis auf mehrere Formeln in einem gen und Befehle muss man also entsprechend Dokument unmöglich macht. auskommentieren oder ändern, damit es keine Fehlermeldungen gibt.

Die erste Besonderheit ist, dass TEX2pages nicht ein einzelnes Dokument erstellt, sondern mehrere Die Leerzeichen zwischen \item, \large und HTML-Seiten, die jeweils eine eigene Navigations- groß fehlen und verändern den Sinn. leiste besitzen. So wird automatisch an \chapter und \newpage eine neue HTML-Seite begonnen. Die Textausrichtung funktioniert nur für Das ist teils unglücklich, da man im PDF ggf. eine \raggedright, alle anderen Ausrichtungen wer- Formeln werden in einer schlechten Auflösung neue Seite anfängt, wo es im HTML gar keinen den ignoriert und linksbündig dargestellt. Verglei- konvertiert und sind falsch nummeriert. Sinn ergibt. Daneben fällt unschön auf, dass in che dazu die Darstellung im EPUB unten. HTML übersetzter LATEX-Code in die Titelzeile Ein- zug hält, sodass der Seitentitel der HTML-Seite Bei den internen Verweisen gibt es das Problem, Neue Kommandos kann man mit \newcommand auch span style-Befehle enthält. dass bei \pageref zum einen eine Seitenzahl und \newenvironment definieren, wobei genannt wird und der Link immer an den Anfang auch optionale Argumente verarbeitet wer- Die Überschriftsebenen werden alle verstanden der Seite springt. \ref verlinkt dagegen korrekt den. Was aber nicht geht, ist die Definition und linken auf das Inhaltsverzeichnis zurück. Auf- den entsprechenden Abschnitt. mit \newcommand*. Auch Kommandos mit @- listungen und Aufzählungen gehen auch, nur mit Zeichen werden nicht verstanden. Ist ein Befehl der labeling-Umgebung hakt es, wie man oben Einfache Tabellen werden dargestellt – wenn auch unbekannt, wird zumindest der übergebene Inhalt schon lesen konnte. mit recht dicken Linien. Eine spalten- oder zei- ausgegeben.

© freiesMagazin CC-BY-SA 4.0 Ausgabe 07/2015 33 LATEX

verzeichnis ist nicht ganz fehlerfrei und enthält teilweise unsinnige Verweise.

Nur PDF und EPS sind sichtbar. Das Wort „LATEX“ wird fehlerhaft dargestellt.

Ungewöhnlich wirkt, das TEX2page scheinbar Durch kleine Fehler werden z. B. die Formatierung nicht mit Bitmap-Bildern umgehen kann. Das ist des Wortes „LATEX“ fehlerhaft dargestellt oder bei ein Irrtum, denn die Bilder werden in die HTML- Aufzählungen fehlen Punkte nach den Zahlen. Seite eingebettet – aber mit einer Höhe und Breite von 0, sodass sie nicht sichtbar sind. So werden das JPG und PNG nicht angezeigt. PDF und EPS werden wie die Formeln in ein GIF konvertiert.

Ebenfalls nicht unterstützt werden Zähler, Farben oder das Tabellen- und Bilderverzeichnis. Fußno- ten werden korrekt am Ende der Seite mit Backlink dargestellt und auch der Index ist korrekt.

Wandlung in EPUB Wie vermutet ist die Aufteilung in mehrere Sei- ten mit Navigationsleiste im EPUB unglücklich, da hierdurch redundante Umbrüche und Leersei- Das EPUB-Inhaltsverzeichnis enthält unsinnige Bitmap-Bilder werden im EPUB nun auch ten entstehen. Auch das EPUB-eigene Inhalts- Einträge. dargestellt.

© freiesMagazin CC-BY-SA 4.0 Ausgabe 07/2015 34 LATEX

Noch verwunderlicher ist, dass plötzlich die $ ./latex2rtf -P ../Programme/latex2rtfy sprechend angepasst. Unbekannte Umgebungen Textausrichtung im EPUB funktioniert, was im -2.3.8/cfg/ -M12 beispiel.tex werden mit einem „Sorry. Ignored \begin{. . . } . . . HTML nicht funktioniert hat. Und auch die PNG- \end{. . . }“ im Dokument ausgewiesen. Der Inhalt und JPG-Bilder werden nun mit korrekter Größe Die Angabe von -P ../Programme/latex2rtf- der Umgebung wird dann nicht ausgegeben. dargestellt, selbst dann wenn diese den Text über- 2.3.8/cfg/ ist dabei notwendig gewesen, weil lagern. das Programm nicht systemweit installiert wur- de und die Config-Dateien sonst nicht gefunden Alle anderen Inhalte werden genauso wie im werden. Die Option -M12 wandelt alle mathemati- Unbekannte Umgebungen werden mit einem HTML dargestellt, was unter anderem auch be- schen Formeln in Bilder um, sodass diese später „Sorry.“ ignoriert. deutet dass die Matheformeln nicht mehr zu er- auch im EPUB dargestellt werden können. kennen sind. Neben zahlreichen Warnungen für unbekannte Ein weiteres Problem bei der Konvertierung ent- Befehle bricht die Konvertierung mit steht, wenn hinter einer Überschrift eine \index- Angabe folgt. Dann wird der nachfolgende Absatz beispiel.tex:350 '*{num}{cols}' not y noch als Überschrift ausgewiesen, was seltsam supported.make: *** [latexrtf] y aussieht. Speicherzugriffsfehler (Speicherauszug y erstellt) Auch im EPUB sind die Matheformeln nicht zu erkennen. ab. Grund ist, dass die Spaltenwiederholung mit- latex2rtf tels *{6}{c} in der Tabelle nicht verstanden wird. latex2rtf [25] wurde von Christine Römer in Die Tabelle wurde daher auskommentiert. der TeXnischen Komödie 1/2015 vorgestellt und Fehlerhafte Auszeichnung von ganzen hat einen anderen Ansatz. Das Open-Source- Damit die BIBTEX-Bibliography korrekt erkannt Programm konvertiert das LATEX-Dokument nicht wird, muss diese zuvor manuell erstellt werden. Abschnitten als Überschrift. nach HTML sondern nach RTF, welches dann beispielsweise mit LibreOffice, OpenOffice oder Wandlung in RTF Textformatierung und Schriftgrößen werden alle MS Office angeschaut werden kann. Mittels Ca- Wenn man durch das erstellte RTF-Dokument korrekt dargestellt. Auflistungen und Aufzählun- libre lässt sich das RTF aber auch in ein EPUB blättert, fällt zuerst auf, dass kein Inhaltsverzeich- gen werden korrekt dargestellt, wobei bei Auflis- wandeln. nis erstellt wird. Weiter fällt auf, dass alle Makros, tungen nur Punkte für alle Ebenen benutzt wer- die mit \newcommand* definiert wurden, nicht for- den. Die aktuellste Version von latex2rtf ist 2.3.8 vom matiert sind. Die Parameter der Makros werden 16. Juni 2014. Die allgemeine Benutzung ist sehr zwar ausgegeben, aber der weitere Text fehlt. Tabellen werden auch dargestellt, auch wenn einfach: Aus dem Grund wurde die befehle.tex ent- die Spaltenbreite mitunter nicht optimal gewählt

© freiesMagazin CC-BY-SA 4.0 Ausgabe 07/2015 35 LATEX wird. Bei \multicolumn wird die Spaltendefiniti- Konverter für RTF nicht so ausgereift ist wie für on ignoriert und auch die Definition eigener Spal- HTML. ten funktioniert nicht. Das erste große Problem mit dem EPUB ist das JPG-Bilder werden sehr klein dargestellt. Andere fehlende Inhaltsverzeichnis. Das heißt, nicht nur Formate sind größer. wird am Anfang keines ausgegeben, sondern das gesamte EPUB hat von Calibre keines erhalten. Somit kann man in einem großen Dokument aus- Fußnoten werden dargestellt, landen aber im Ge- schließlich willkürlich zu bestimmten Seiten sprin- gensatz zu den HTML-Konvertierungen am Ende gen. der jeweiligen Seite. Literaturverweise sind eben- falls möglich und auch das Literaturverzeichnis Bei den Textformatierungen geht leider sehr viel wird korrekt eingefügt. Das Tabellen- und Abbil- verloren, sodass sowohl Sans-Serif als auch Mo- Tabellen werden dargestellt, aber unglücklich dungsverzeichnis bleibt wie das Inhaltsverzeich- notype und Kapitälchen nicht angezeigt werden, breit formatiert. nis leider leer. Ebenso werden Farben und Zähler was im RTF noch funktionierte. Dies könnte aller- nicht unterstützt. dings auch an den gewählten Schriftarten Arial Die mathematischen Formeln werden durch die und Courier liegen, die auf dem Testgerät nicht Option -M12 als Bilder dargestellt, die Qualität ist Zum Schluss fällt etwas Seltsames auf: Viele Ab- installiert sind. aber nicht sehr gut. Die Linien sind sehr fein, so- schnitte sind zentriert dargestellt, obwohl sie nicht dass im Dokument bei „falscher“ Zoomstufe ein besonders im LATEX-Code ausgerichtet sind. Hier Die internen Verweise im Dokument, die im RTF Minus nicht mehr sichtbar ist. scheint irgendeine Formatierung in der Datei eine noch zu sehen waren, fehlen nun völlig, sodass Auswirkung auf das ganze Dokument zu haben. man im EPUB nicht mehr navigieren kann. Auch die Fußnoten gehen komplett verloren. Wandlung in EPUB Analog zur Wandlung von HTML nach EPUB kann Die meisten Tabellen sehen in Ordnung aus, ei- man auch das RTF mit Calibre nach EPUB wan- nige werden aber komplett fehlerhaft dargestellt, Formeln sind sehr fein gezeichnet und haben deln. Auf der Konsole mit sodass man den Sinn der Tabelle nicht mehr er- dadurch eine schlechte Qualität. kennen kann. $ ebook-convert beispiel.rtf beispiel.y epub --no-default-epub-cover Die Grafiken werden korrekt eingebunden, Die mathematischen Formeln sehen als Grafiken auch das PDF und EPS werden in ein RTF- zwar gut aus, skalieren auf dem E-Book-Reader verständliches Format konvertiert. Probleme mit Da LATEX2RTF das einzige Programm ist, was aber leider nicht, sodass sie über den Rand laufen der Größendarstellung gibt es bei JPG-Bildern, nicht über HTML geht, können die folgenden Pro- und somit dann nicht mehr komplett zu erkennen die sehr klein abgebildet werden. bleme ggf. auch daran liegen, dass der Calibre- sind.

© freiesMagazin CC-BY-SA 4.0 Ausgabe 07/2015 36 LATEX

LaTeX4Web [27] nutzt JavaScript, um aus LATEX- Code ein HTML-Dokument zu machen. Auf der Webseite findet man die recht neue Version 1.4 von Januar 2015. In das Eingabefenster kann man den Code des Beispieldokuments einfügen und erhält darunter dann das Ergebnis in HTML, wel- Die Formeln und andere Bilder skalieren nicht ches man direkt im Browser anschauen kann. Der korrekt. Sprachschatz von LATEX4Web ist allerdings sehr stark eingeschränkt. So wird \section zwar ver- Weitere (durchgefallene) Kandidaten standen, \paragraph oder \part jedoch schon Für die Konvertierung von LATEX nach HTML gibt nicht mehr. Auflistungen und Aufzählungen sind es noch weitere Programme, die mitunter im Netz okay, Beschreibungslisten nicht. Von den Textfor- auch von Nutzern empfohlen werden und daher matierungen wird nur \em verstanden und die älte- prinzipiell irgendwie funktionieren. Bei den Tests ren \bf und \it, mehr nicht. An Schriftgrößen ist mit dem Beispieldokument oben versagten diese nur small bis large und noch huge zulässig. Tabel- Tools allerdings alle, weshalb sie nicht ausführlich len, Grafiken, Zähler, Literaturangaben . . . alles behandelt wurden. das ist nicht möglich, weswegen der Konverter für einen sinnvollen Test nicht benutzt werden kann. Hyperlatex [26] ist bereits seit neun Jahren nicht mehr in der Entwicklung, die letzte Version ist Ebenfalls von Ende Januar ist die letzte Version 2006 erschienen. Versucht man das Beispieldo- 2.15.2 von Tralics [28]. Das Programm erstellt aus kument zu konvertieren, erhält man zahlreiche dem Beispieldokument ein XML und ich habe lei- Fehler. Leider bricht das Ergebnis immer beim der kein Beispiel gefunden, wie ich aus der erstell- ersten unbekannten LaTeX-Befehl ab, sodass ten Tralics-XML-Datei eine HTML-Datei erstellen man diese alle einzeln durchgehen muss. Pro- kann. blematisch sind dabei auch schon simple Dinge wie \textbackslash, \includegraphics und Fazit der Konvertierung selbst der \section-Befehl wirft einen Fehler. Es Wie man sieht, gibt es keinen Konverter, der wurde zwar versucht, die einzelnen Elemente aus- aus der LATEX-Eingabedatei ein perfektes und ein- zukommentieren bzw. zu ersetzen, aber im Endef- wandfreies HTML-Dokument macht, sodass auch fekt bleib vom Originaldokument kaum noch etwas das Ergebnis im EPUB nicht identisch zum LATEX- übrig und es war sehr viel Handarbeit notwendig, Dokument ist. Jeder Konverter hat seine Vor- und Tabellen sind teilweise gar nicht mehr als solche überhaupt zu einem konvertierten Ergebnis zu Nachteile. erkenntlich. kommen.

© freiesMagazin CC-BY-SA 4.0 Ausgabe 07/2015 37 LATEX

Die besten Ergebnisse erzielen sicherlich TEX4ht dere Anpassungen benötigen um das Dokument tuelle Dokument dann sogar mit LATEX direkt und LATEXML, aber auch diese erfordern eine ge- übersetzen zu können. übersetzen. wisse Menge an Handarbeit, wenn man ein EPUB erzeugen will, was man gut lesen und benutzen Als einfaches Beispiel kann man hier die Der Quellcode im vorliegenden Beispieldokument kann. Oft sind Anpassungen im HTML-Code not- labeling-Umgebung nehmen, die leider von so epub_latex_beispiel.tex muss dazu lediglich wendig, bevor man die Konvertierung nach EPUB gut wie keinem Konverter verstanden wird. Hierfür wie folgt angepasst werden: vornimmt, manchmal muss man aber auch den fügt man in die mobile Befehlsdatei die folgende LAT X-Code selbst anpassen, bevor man die Kon- Zeile ein: \begin{labeling}[:]{Einrückung}% E \labelingitem[Erde] Mostly harmless. vertierung nach HTML vornimmt. Beides kann \labelingitem[Menschen] (Homo sapiens) gegebenenfalls skriptgesteuert erfolgen, sodass \newenvironment{labeling}[2][]{% y \begin{description}% ... man nach dem Schreiben des LAT X-Dokuments E }{% \labelingitem[Donald E. Knuth] (* 10. y nur noch einen Befehl ausführen muss, der ei- \end{description}% Januar 1938 ... nem die händische Anpassung der Dateien und } \end{labeling}% Wandlung nach HTML beziehungsweise EPUB abnimmt. Per Standard wird jetzt aber immer ein Dop- Dies macht aus der labeling-Umgebung eine pelpunkt als Trennzeichen benutzt, was natür- Beispiel einer Mobilanpassung description. Dies ist zwar nicht das Gleiche, für lich einschränkend für andere Verwendungen der Je nach Konverter muss man entweder nicht ver- das EPUB sieht dies aber definitiv besser aus als labeling-Umgebung ist, weswegen die Angabe standene LATEX-Kommandos definieren oder feh- eine komplett fehlerhafte Generierung. des Trennzeichens bis zu den einzelnen Beschrei- lerhaft konvertierte Kommandos in der Mobilver- bungspunkten „gerettet“ werden soll. Hierzu wird sion umschreiben beziehungsweise schlichtweg Da nun aber das optionale Trennzeichen (im Bei- die epub_latex_befehle_mobil.tex wie folgt nicht nutzen. Für die EPUB-Version kann man spiel ein Doppelpunkt) fehlt, kann man auch die- geändert: hierfür zusätzlich folgende Zeile in der Präambel ses nachbilden. Hierfür muss man aber das Trenn- einfügen: zeichen hinter den Beschreibungspunkten ange- \newcommand*{\labelingdelimiter}{} ben, wofür ein eigener Befehl \labelingitem \newenvironment{labeling}[2][]{% \input{epub_latex_befehle_mobil} in epub_latex_befehle_mobil.tex definiert \renewcommand*{\labelingdelimiter}{#1} wird: \begin{description}% Diese neue Datei epub_latex_befehle_mobil }{% .tex wird nur einbezogen, wenn man das Doku- \newcommand{\labelingitem}[1][]{% \item[#1]: \end{description}% ment in ein EPUB konvertieren will. } }

Hinweis: Das folgende Beispiel wurde aus- \newcommand{\labelingitem}[1][]{% schließlich mit LATEXML geprüft. Es kann sein, Wenn man das \newenvironment zu \item[#1]\labelingdelimiter{} dass andere Konverter gegebenenfalls noch an- \renewenvironment ändert, kann man das ak- }

© freiesMagazin CC-BY-SA 4.0 Ausgabe 07/2015 38 LATEX

Effektiv speichert man das optionale Trennzei- meisten anderen Probleme ebenfalls eins zu eins [13] http://www.freiesmagazin.de/freiesMagazin- chen nur in einem Makro \labelingdelimiter anwenden. 2014-04 und gibt dieses dann einfach bei den Punkten mit [14] http://johnmacfarlane.net/pandoc/README. aus. Leider gibt es kein Programm, was aus jeder LATEX- html#math-rendering-in-html Quelle ein ordentliches EPUB macht, dennoch [15] http://ans.hsh.no/home/mgg/gladtex/ Zum Schluss fehlt noch ein Detail. Wenn halten sich je nach Anwendungsgebiet die Anpas- [16] http://www.latex2html.org/ man für die PDF-Ausgabe die Mobilzeile ent- sungsaufgaben des eigenen Dokuments in Gren- [17] http://www.ctan.org/tex-archive/support/ fernt oder auskommentiert, übersetzt das Do- zen, sodass man hieraus ein mobiles Format für latex2html/ kument mit LATEX nicht mehr, weil die Defini- E-Book-Reader erstellen kann. [18] http://dlmf.nist.gov/LaTeXML/ tion des Befehls \labelingitem fehlt. Hierzu [19] http://para.inria.fr/~maranget/hevea/ definiert man in der normalen Befehle-Datei Ganz wichtig ist, dass man sich das erstellte [20] http://www.inria.fr/en/ epub_latex_befehle.tex den fehlenden Be- EPUB nicht nur auf dem heimischen PC anschaut, [21] http://tug.org/tex4ht/ fehl: sondern tatsächlich auf einem oder mehreren ech- [22] https://github.com/michal-h21/tex4ebook ten Endgeräten, die das EPUB später darstellen [23] http://www.ccs.neu.edu/home/dorai/ \newcommand{\labelingitem}[1][]{\itemy sollen. tex2page/ [#1]} [24] https://github.com/ds26gte/tex2page LINKS [25] http://latex2rtf.sourceforge.net/ Man muss dann in der epub_latex_befehle_ [1] http://www.freiesmagazin.de/freiesMagazin- [26] http://hyperlatex.sourceforge.net/ mobil.tex das \labelingitem mit \renew 2012-11 [27] http://eric.chopin.pagesperso-orange.fr/latex/ command umdefinieren. [2] https://de.wikipedia.org/wiki/E-Book latex4web.htm [3] https://de.wikipedia.org/wiki/EPUB [28] http://www-sop.inria.fr/marelle/tralics/ Abschlussbemerkung [4] http://calibre-ebook.com/ Der Artikel hat verschiedene Konverter gezeigt, [5] http://manual.calibre-ebook.com/cli/ebook- Autoreninformation um von einer LATEX-Datei (meist über HTML) zu convert.html einem EPUB zu kommen. Da kein Konverter den [6] http://sigil-ebook.com/ Dominik Wagenführ (Webseite) ist gesamten LATEX-Sprachschatz inklusive aller mög- [7] https://code.google.com/p/sigil/issues/detail? Chefredakteur bei freiesMagazin, lichen Pakete beherrscht, müssen mitunter für id=2308 welches mit ähnlichen Anpassungen eine Mobilversion manuelle Anpassungen vorge- [8] http://johnmacfarlane.net/pandoc/ und dem Programm TtH jeden Monat nommen beziehungsweise Befehle definiert wer- [9] https://de.wikipedia.org/wiki/Mathml als PDF, HTML und EPUB erscheint. den, die sonst nicht bekannt wären. Hierzu wurde [10] http://hutchinson.belmont.ma.us/tth/ an einem einfachen Beispiel gezeigt, wie dies aus- [11] http://hutchinson.belmont.ma.us/tth/mml/ sehen könnte. Das Prinzip kann man aber auf die [12] http://dinosaur.compilertools.net/ Teilen Kommentieren

© freiesMagazin CC-BY-SA 4.0 Ausgabe 07/2015 39 WISSENUND BILDUNG

Neues in Octave 4.0.0 von Jens Dörpinghaus

ctave [1] ist, wie der proprietäre Platz- Das folgende kleine Objekt funktioniert nun also dings einige Aspekte auf Kosten der Octave- hirsch Matlab [2], ein umfangreiches in der aktuellen Octave-Version: internen Optimierung gehen, können diese op- O Programmpaket, das zur Lösung nu- tional an- und ausgeschaltet werden. Beispiels- merischer Probleme genutzt werden kann. classdef baum weise kann die optimierte Speicherung für Dia- properties Aufgrund der vielen möglichen Erweiterun- gonalmatrizen oder Permutationsmatrizen jetzt krone gen werden diese Programme aber auch oft in den Optionen disable_diagonal_matrix farbe disable_permutation_matrix für weniger direkt mathematische Anwen- groesse und abgeschal- dungsfälle genutzt. end tet werden. end Vor über einem Jahr erschien die Version 3.8, die Weitere Änderungen in der neuen Version betref- auch in freiesMagazin besprochen wurde (siehe Eine Instanz dieses Objektes kann nun folgender- fen die standardmäßige Aktivierung der backtrace- Ausgabe 04/2014 [3]). Es folgte die Zwischenver- maßen generiert werden: Warnungen sowie ein anderes Verhalten von sion 3.8.1 und nun wurde am 29. Mai 2015 die Funktionen. So prüft die Funktion „ismatrix“ nun Version 4.0.0 veröffentlicht. Als größte Änderun- >> test = baum beispielsweise die Dimension des Parameters test = gen stand die eigene graphische Benutzerober- oder die Funktion „polyeig“ gibt jetzt einen Vek- fläche im Vordergrund, die nun endlich als stabil tor anstatt wie zuvor eine Diagonalmatrix zu- gilt und als Standard gesetzt ist. Der textbasier- rück. Auch weitere Funktionen wie „strfind“ oder te interaktive Modus steht aber nach wie vor zur >> test.groesse = 12 auch die Interpolationsfunktionen wurden erwei- Verfügung. test = tert oder verändert.

Bereits in den Vorgängerversionen zeichnete sich Eine volle Liste der Änderungen findet sich in auch der Umstieg auf OpenGL und Qt ab, der der Veröffentlichungsmeldung auf der Octave- nun auch Standard wurde. Alternativ stehen aber >> test.groesse Homepage [4]. immer noch fltk oder gnuplot zur Verfügung. ans = 12 Weitere Änderungen Objektorientierte Programmierung Dabei wurde auf die Kompatibilität mit Matlab ge- Zu beachten sind einige veraltete Funktionen, die Ebenfalls neu ist die Einführung objektori- achtet. Matlab führte objektorientierte Program- nun auch entfernt wurden. Weitere werden in den entierter Programmierung. Dabei stehen die mierung schon vor einigen Jahren ein. kommenden Versionen entfernt. Schlüsselwörter classdef, endclassdef, enumeration, endenumeration, events, Matlabkompatibilität Die OpenMP-Unterstützung ist nun standardmä- endevents, methods, endmethods, properties Generell wurden einige Schritte in Richtung vol- ßig aktiviert und wird von den Funktionen – sofern und endproperties zur Verfügung. ler Matlab-Kompatibilität getan. Da dabei aller- implementiert – genutzt. Eine ähnlich einfache

© freiesMagazin CC-BY-SA 4.0 Ausgabe 07/2015 40 WISSENUND BILDUNG

Parallelisierung des eigenen Codes wie in Matlab ches und gut zu benutzendes Produkt. Dadurch, [3] http://www.freiesmagazin.de/freiesMagazin- (etwa mit parfor statt for) ist aber nicht implemen- dass die GUI nun Standard ist, wird diese freie 2014-04 tiert. Software sicher mehr Freunde gewinnen. [4] http://www.gnu.org/software/octave/NEWS- 4.0.html Damit es nicht auf verschiedenen Prozessoren Da viele (wissenschaftliche) Erweiterungen für zu verschiedenen Rechengenauigkeiten kommt, Matlab entwickelt wurden und werden, ist für viele Autoreninformation wurden die Fließkommaoperationen generell auf Anwendungsgebiete eine Kompatibilität wichtig. 64 Bit gesetzt. Damit wird grundsätzlich der IEEE Hier wurden wichtige weitere Schritte gegangen. Jens Dörpinghaus arbeitet seit vie- Standard eingehalten. Auch diese Änderung kann Es bleibt aber sicherlich spannend, die weitere len Jahren mit Matlab und Octave. Da manuell eingestellt werden. Entwicklung zu beobachten. er privat ausschließlich freie Software einsetzt, verfolgt er die Entwicklung Fazit LINKS von Octave gespannt. Octave war auch schon in den vorherigen Ver- [1] https://www.gnu.org/software/octave/ sionen stets eine gute Alternative zu Matlab und [2] https://www.mathworks.com/products/ auch ohne den Vergleich zu diesem ein umfangrei- matlab/ Teilen Kommentieren

“Five Years” © by Randall Munroe (CC-BY-NC-2.5), http://xkcd.com/1088/

© freiesMagazin CC-BY-SA 4.0 Ausgabe 07/2015 41 LINUXALLGEMEIN cut out selected fields of each line of a file von Markus Schnalke

in klassisches Programm im Unix- Mit cut lassen sich aber auch Strings kürzen: Wenn auch der Bytemodus neu eingeführt worden Werkzeugkasten ist cut. In keinem or- war, so sollte er sich doch nur so verhalten wie E dentlichen Tutorial zur Shellprogram- $ long=12345678901234567890 der alte Zeichenmodus normalerweise schon im- $ echo "$long" | cut -c -10 mierung fehlt es, denn es ist ein schö- plementiert war. Beim Zeichenmodus aber wurde 1234567890 nes, praktisches und anschauliches Helfer- eine neue Implementierungsweise gefordert. Das lein. Hier soll ein wenig hinter seine Fassade Problem war folglich nicht, den neuen Bytemodus geschaut werden. Dieser Befehl gibt die ersten maximal 10 Zei- zu implementieren, sondern den Zeichenmodus chen von $long aus. (Alternativ kann man hierfür neu zu implementieren. Funktionsweise printf "%.10s\n" "$long" verwenden.) Ursprünglich hatte cut zwei Modi, die später um Neben dem Zeichen- und Bytemodus bietet cut einen dritten erweitert wurden. cut schneidet ent- Geht es aber nicht um die Darstellung von Zei- noch den Feldmodus, den man mit -f einleitet. weder gewünschte Zeichen aus den Zeilen der chen, sondern um ihre Speicherung, dann ist -c Mit ihm ist es möglich, Felder auszuwählen. Das Eingabe oder gewünschte, durch Trennzeichen nicht unbedingt geeignet. Früher, als US-ASCII Trennzeichen (per Default der Tab) kann mit -d definierte, Felder. noch die omnipräsente Zeichenkodierung war, geändert werden. Es gilt in gleicher Weise für die wurde jedes Zeichen mit genau einem Byte ge- Eingabe und die Ausgabe. Der Zeichenmodus ist optimal geeignet, um Fest- speichert. Somit selektierte cut -c gleicherma- breitenformate zu zerteilen. Man kann damit bei- ßen sowohl Ausgabezeichen als auch Bytes. Mit Der typische Anwendungsfall für cut im Feld- spielsweise bestimmte Zugriffsrechte aus der Aus- dem Aufkommen von Multibyte-Kodierungen (wie modus ist die Auswahl von Information aus der gabe von ls -l ausschneiden, in diesem Beispiel UTF-8) musste man sich jedoch von dieser An- passwd-Datei. Hier z. B. der Benutzername und die Rechte des Besitzers: nahme lösen. In diesem Zug bekam cut mit seine ID: POSIX.2-1992 einen Bytemodus (Option -b). Will $ ls -l foo man also nur die ersten maximal 500 Bytes vor $ cut -d: -f1,3 /etc/passwd -rw-rw-r-- 1 meillo users 0 May 12 07:32 root:0 y dem Newline-Zeichen stehen haben (und den foo bin:1 Rest stillschweigend ignorieren), dann macht man $ ls -l foo | cut -c 2-4 daemon:2 rw- das mit: mail:8 cut -b -500 ... Oder die Schreibrechte des Besitzers, der Gruppe und der Welt: Den Rest kann man sich mit cut -b 501- einfan- Die einzelnen Argumente für die Optionen kön- gen. Diese Funktion ist insbesondere für POSIX nen bei cut übrigens sowohl mit Whitespace ab- $ ls -l | cut -c 3,6,9 wichtig, da man damit Textdateien mit begrenzter getrennt (wie oben zu sehen) als auch direkt an- ww- Zeilenlänge erzeugen kann [1]. gehängt folgen.

© freiesMagazin CC-BY-SA 4.0 Ausgabe 07/2015 42 LINUXALLGEMEIN

Dieser Feldmodus ist für einfache tabellarische Cut führt demnach die Datenbankoperation Pro- Nun ein Blick auf die BSD-Linie: Dort ist der frühe- Dateien, wie eben die passwd-Datei, gut geeig- jektion auf Textdateien aus. Die Wikipedia erklärt ste Fund ein cut.c mit dem Dateimodifikations- net. Er kommt aber schnell an seine Grenzen. das folgendermaßen [3]: datum 1986-11-07 [8] als Teil der Spezialversion Gerade der häufige Fall, dass an Whitespace in 4.3BSD-UWisc [9], die im Januar 1987 veröffent- Felder geteilt werden soll, wird damit nicht abge- „Die Projektion entspricht der Projektionsabbil- licht wurde. Die Implementierung unterscheidet deckt. Der Delimiter kann bei cut nur genau ein dung aus der Mengenlehre und kann auch Attri- sich nur minimal von der in System III. Im bekann- Zeichen sein. Es kann demnach nicht sowohl an butbeschränkung genannt werden. Sie extrahiert teren 4.3BSD-Tahoe (1988) tauchte cut nicht auf. Leerzeichen als auch an Tabs aufgetrennt werden. einzelne Attribute aus der ursprünglichen Attribut- Das darauf folgende 4.3BSD-Reno (1990) enthielt Zudem unterteilt cut an jedem Trennzeichen. Zwei menge und ist somit als eine Art Selektion auf aber wieder ein cut. Dieses cut war ein von Adam aneinander stehende Trennzeichen führen zu ei- Spaltenebene zu verstehen, das heißt, die Pro- S. Moskowitz und Marciano Pitargue neu imple- nem leeren Feld. Dieses Verhalten widerspricht jektion blendet Spalten aus.“ mentiertes cut, das 1989 in BSD aufgenommen den Erwartungen, die man an die Verarbeitung ei- wurde [10]. Seine Manpage [11] erwähnt bereits ner Datei mit Whitespace-getrennten Feldern hat. Geschichtliches die erwartete Konformität mit POSIX.2. Nun muss Manche Implementierungen von cut, z. B. die von Cut erblickte 1982 mit dem Release von UNIX man wissen, dass POSIX.2 erst im September FreeBSD, haben deshalb Erweiterungen, die das System III das Licht der öffentlichen Welt. Wenn 1992 veröffentlicht wurde, also erst gut zwei Jah- gewünschte Verhalten für Whitespace-getrennte man die Quellen von System III durchforstet, fin- re, nachdem Manpage und Programm geschrie- Felder bieten. Ansonsten, d. h. wenn man porta- det man cut.c mit dem Zeitstempel 1980-04- ben worden waren. Das Programm wurde folglich bel bleiben will, verwendet man awk in diesen 11 [4]. Das ist die älteste Implementierung des anhand von Arbeitsversionen des Standards im- Fällen. Programms, die ich aufstöbern konnte. Allerdings plementiert. Ein Blick in den Code bekräftigt diese spricht die SCCS-ID im Quellcode von Version 1.5. Vermutung. In der Funktion zum Parsen der Feld- awk bietet noch eine weitere Funktion, die cut Die Vorgeschichte liegt – der Vermutung Doug auswahlliste findet sich dieser Kommentar: missen lässt: Das Tauschen der Feld-Reihenfolge McIlroys [5] zufolge – in PWB/UNIX, dessen Ent- in der Ausgabe. Bei cut ist die Reihenfolge wicklungslinie die Grundlage für System III war. „This parser is less restrictive than the Draft 9 der Feldauswahlangabe irrelevant; ein Feld kann In den von PWB 1.0 (1977) verfügbaren Quel- POSIX spec. POSIX doesn’t allow lists that aren’t selbst mehrfach angegeben werden. Dementspre- len [6] ist cut noch nicht zu finden. Von PWB 2.0 in increasing order or overlapping lists.“ chend gibt der Aufruf von cut -c 5-8,1,4-6 die scheinen keine Quellen oder hilfreiche Dokumen- Zeichen Nummer 1, 4, 5, 6, 7 und 8 in genau tation verfügbar zu sein. PWB 3.0 wurde später Im Draft 11.2 (1991-09) fordert POSIX diese Fle- dieser Reihenfolge aus. Die Auswahl entspricht aus Marketinggründen als System III bezeichnet xibilität bereits ein: damit der Mengenlehre in der Mathematik: Jedes und ist folglich mit ihm identisch. Eine Nebenlinie angegebene Feld wird Teil der Ergebnismenge. zu PWB war CB UNIX, das nur innerhalb der Bell „The elements in list can be repeated, can overlap, Die Felder der Ergebnismenge sind hierbei immer Labs genutzt wurde. Das Handbuch von CB UNIX and can be specified in any order.“ gleich geordnet wie in der Eingabe. Um die Worte Edition 2.1 vom November 1979 enthält die frü- der Manpage von Version 8 Unix wiederzugeben: heste Erwähnung von cut, die meine Recherche Zudem listet Draft 11.2 alle drei Modi, während in „In data base parlance, it projects a relation.“ [2] zutage gefördert hat: eine Manpage für cut [7]. diesem BSD cut nur die zwei alten implementiert

© freiesMagazin CC-BY-SA 4.0 Ausgabe 07/2015 43 LINUXALLGEMEIN sind. Es könnte also sein, dass in Draft 9 der Byte- zu Version 7 Unix, das die Ausgangsbasis aller Implementierungen funktionieren mit Single-Byte- modus noch nicht vorhanden war. Ohne Zugang modernen Unix-Systeme darstellt. Die weit kom- Encodings (z. B. US-ASCII, Latin1) korrekt, bei zu Draft 9 oder 10 war es leider nicht möglich, plexeren Programme sed und awk waren dort Multibyte-Encodings (z. B. UTF-8) verhält sich ihr diese Vermutung zu prüfen. aber schon vertreten. Man muss sich also fra- -c aber wie -b (und -n wird ignoriert). Schließlich gen, warum cut überhaupt noch entwickelt wurde, gibt es noch Implementierungen, die -b und -c Die Versionsnummern und Änderungsdaten der wo es schon zwei Programme gab, die die Funk- tatsächlich POSIX-konform implementieren. älteren BSD-Implementierungen kann man aus tion von cut abdecken konnten. Ein Argument für den SCCS-IDs, die vom damaligen Versionskon- cut war sicher seine Kompaktheit und die damit Historische Zwei-Modi-Implementierungen sind trollsystem in den Code eingefügt wurden, able- verbundene Geschwindigkeit gegenüber dem da- z. B. die von System III, System V und die aller sen. So z. B. bei 4.3BSD-Reno: „5.3 (Berkeley) mals trägen awk. Diese schlanke Gestalt ist es BSDs bis in die 90er. 6/24/90“. auch, die der Unix-Philosophie entspricht: Ma- che eine Aufgabe und die richtig! cut überzeugte. Pseudo-Multibyte-Implementierungen bieten Das cut der GNU Coreutils enthält folgenden Co- Es wurde in andere Unix-Varianten übernommen, GNU und die modernen NetBSDs und OpenBSDs. pyrightvermerk: standardisiert und ist heutzutage überall anzutref- Man darf sich sicher fragen, ob dort ein Schein fen. von POSIX-Konformität gewahrt wird. Teilwei- Copyright (C) 1997-2015 Free Software y se findet man erst nach genauerer Suche her- Foundation, Inc. Die ursprüngliche Variante (ohne -b) wurde schon aus, dass -c und -n nicht wie erwartet funk- Copyright (C) 1984 David M. Ihnat 1985 in der System V Interface Definition, einer tionieren; teilweise machen es sich die Sys- wichtigen formalen Beschreibung von UNIX Sys- teme auch einfach, indem sie auf Singlebyte- Der Code hat also recht alte Ursprünge. Wie aus tem V, spezifiziert und tauchte anschließend in Zeichenkodierungen beharren, das aber dafür weiteren Kommentaren zu entnehmen ist, wurde allen relevanten Standards auf. Mit POSIX.2 im klar darlegen [12]: der Programmcode zuerst von David MacKenzie Jahre 1992 wurde cut zum ersten Mal in der heu- und später von Jim Meyering überarbeitet. Letzte- tigen Form (mit -b) standardisiert. „Since we don’t support multi-byte characters, the rer hat den Code 1992 auch ins Versionskontroll- -c and -b options are equivalent, and the -n option system eingestellt. Weshalb die Jahre vor 1997, Multibyte-Unterstützung is meaningless.“ zumindest ab 1992, nicht im Copyright-Vermerk Nun sind der Bytemodus und die damit ver- auftauchen, ist unklar. bundene Multibyte-Verarbeitung des POSIX- Tatsächlich standardkonforme Implementierun- Zeichenmodus bereits seit 1992 standardisiert, gen, die Multibytes korrekt handhaben, bekommt Trotz der vielen Jahreszahlen aus den 80er Jah- wie steht es aber mit deren Umsetzung? Welche man bei einem modernen FreeBSD und bei den ren gehört cut, aus Sicht des ursprünglichen Unix, Versionen implementieren POSIX korrekt? Die Si- Heirloom Tools. Bei FreeBSD hat Tim Robbins zu den jüngeren Tools. Wenn cut auch ein Jahr- tuation ist dreiteilig: Es gibt historische Implemen- im Sommer 2004 den Zeichenmodus POSIX- zehnt älter als Linux, der Kernel, ist, so war Unix tierungen, die nur -c und -f kennen. Dann gibt konform reimplementiert [13]. Warum die beiden schon über zehn Jahre alt, als cut das erste Mal es Implementierungen, die -b zwar kennen, es anderen großen BSDs diese Änderung nicht über- auftauchte. Insbesondere gehörte cut noch nicht aber lediglich als Alias für -c handhaben. Diese nommen haben, bleibt offen. Es scheint aber an

© freiesMagazin CC-BY-SA 4.0 Ausgabe 07/2015 44 LINUXALLGEMEIN der im obigen Kommentar formulierten Grundaus- Die Ausgabe auf dem eigenen System (ohne die deshalb sind diese Implementierungen tendenzi- richtung zu liegen. iconv-Konvertierung) wird recht sicher einer die- ell umfangreicher. ser beiden Ausgaben entsprechen. Wie findet man nun als Nutzer heraus, ob beim In der Tabelle mit „(hist)“ bezeichnete Implemen- cut des eigenen Systems Multibytes korrekt un- Nun zum Test der cut-Implementierung. Hat man tierungen beziehen sich auf ältere Implemen- terstützt werden? Zunächst einmal ist entschei- ein UTF-8-System, dann sollte sich eine POSIX- tierungen, die nur -c und -f kennen. Pseudo- dend, ob das System selbst mit einem Multibyte- konforme Implementierung folgendermaßen ver- Implementierungen, die -b zwar kennen, es aber Encoding arbeitet, denn tut es das nicht, dann ent- halten: nur als Alias für -c handhaben, sind mit „(pseudo)“ sprechen sich Zeichen und Bytes und die Frage gekennzeichnet. POSIX-konforme Implementie- erübrigt sich. Man kann das herausfinden indem $ echo ä | cut -c 1 | od -c rungen von cut sind mit „(POSIX)“ markiert. 0000000 303 244 \n man sich das Locale anschaut, aber einfacher 0000003 ist es, ein typisches Mehrbytezeichen, wie zum Das Kandidatenfeld teilt sich grob in vier Gruppen: Beispiel einen Umlaut, auszugeben und zu schau- $ echo ä | cut -b 1 | od -c en ob dieses in einem oder in mehreren Bytes 0000000 303 \n 1. Die zwei ursprünglichen Implementierungen, kodiert ist: 0000002 die sich nur minimal unterscheiden, mit gut 100 SLOCs. $ echo ä | od -c $ echo ä | cut -b 1 -n | od -c 2. Die fünf BSD-Versionen mit gut 200 SLOCs. 0000000 303 244 \n 0000000 \n 3. Die zwei POSIX-konformen Programme und 0000003 0000001 die alte GNU-Version mit 340-390 SLOCs. 4. Und schließlich die moderne GNU-Variante mit In diesem Fall sind es zwei Bytes: oktal 303 und Bei einer Pseudo-POSIX-Implementierung ist die fast 600 SLOCs. 244. (Den Zeilenumbruch fügt echo hinzu.) Ausgabe in allen drei Fällen wie die mittlere: Es wird das erste Byte ausgegeben. Die Abweichung zwischen logischen Codezeilen Mit dem Programm iconv kann man Text explizit (SLOC, ermittelt mit SLOCcount) und der Anzahl in bestimmte Kodierungen konvertieren. Hier Bei- Implementierungen von Zeilenumbrüchen in der Datei (wc -l) er- spiele, wie die Ausgabe bei Latin1 und wie sie bei Nun ein Blick auf den Code. Betrachtet wird eine streckt sich über eine Spanne von Faktor 1.06 UTF-8 aussieht: Auswahl an Implementierungen. bei den ältesten Vertretern bis zu Faktor 1.5 bei GNU. Den größten Einfluss darauf haben Leerzei- $ echo ä | iconv -t latin1 | od -c Für einen ersten Eindruck ist der Umfang des len, reine Kommentarzeilen und die Größe des 0000000 344 \n Quellcodes hilfreich. Typischerweise steigt dieser Lizenzblocks am Dateianfang. 0000002 über die Jahre an. Diese Beobachtung kann hier $ echo ä | iconv -t utf8 | od -c 0000000 303 244 \n in der Tendenz, aber nicht in jedem Fall, bestä- Betrachtet man die Abweichungen zwischen den 0000003 tigt werden. Die POSIX-konforme Umsetzung des logischen Codezeilen und der Dateigröße (wc Zeichenmodus erfordert zwangsläufig mehr Code, -c), so pendelt das Teilnehmerfeld zwischen

© freiesMagazin CC-BY-SA 4.0 Ausgabe 07/2015 45 LINUXALLGEMEIN

Verschiedene Implementierungen von cut Implementierungen wird die Kom- zeitlich geordnet und nach Abstammung grup- SLOC Zeilen Bytes Gehört zu Dateidatum Kategorie bination -b -n als weiterer Mo- piert: 116 123 2966 System III 1980-04-11 (hist) dus behandelt, und damit in 118 125 3038 4.3BSD-UWisc 1986-11-07 (hist) einer eigenen Funktion umge- CB UNIX: „cut out selected fields of each line of 200 256 5715 4.3BSD-Reno 1990-06-25 (hist) setzt. Nur bei der frühen Sys- a file“ 200 270 6545 NetBSD 1993-03-21 (hist) tem III-Implementierung (und sei- System III: „cut out selected fields of each line 218 290 6892 OpenBSD 2008-06-27 (pseudo) ner 4.3BSD-UWisc-Variante) wird of a file“ 224 296 6920 FreeBSD 1994-05-27 (hist) außer den Fehlerausgaben alles in System III (src): „cut and paste columns of a ta- 232 306 7500 NetBSD 2014-02-03 (pseudo) der main-Funktion erledigt. ble (projection of a relation)“ 340 405 7423 Heirloom 2012-05-20 (POSIX) System V: „cut out selected fields of each line of 382 586 14175 GNU coreutils 1992-11-08 (pseudo) cut-Implementierungen haben typi- a file“ 391 479 10961 FreeBSD 2012-11-24 (POSIX) scherweise zwei limitierende Grö- HP-UX: „cut out (extract) selected fields of each 588 830 23167 GNU coreutils 2015-05-01 (pseudo) ßen: Die Maximalanzahl unterstütz- line of a file“ ter Felder und die maximale Zei- 4.3BSD-UWisc (src): „cut and paste columns of 25 und 30 Bytes je Anweisung. Die Heirloom- lenlänge. Bei System III sind beide Größen a table (projection of a relation)“ Implementierung weicht mit nur 21 nach unten auf 512 begrenzt. 4.3BSD-Reno und die BSDs 4.3BSD-Reno: „select portions of each line of a ab, die GNU-Implementierungen mit fast 40 nach der 90er Jahre haben ebenfalls fixe Grenzen file“ oben. Bei GNU liegt dies hauptsächlich an de- (_BSD_LINE_MAX bzw. _POSIX2_LINE_MAX). Bei NetBSD: „select portions of each line of a file“ ren Programmierstil, mit spezieller Einrückung modernen FreeBSDs, NetBSDs, bei allen GNU- OpenBSD 4.6: „select portions of each line of a und langen Bezeichnern. Ob man die Heirloom- Implementierungen und bei Heirloom kann so- file“ Implementierung [14] als besonders kryptisch wohl die Felderanzahl als auch die maximale Zei- FreeBSD 1.0: „select portions of each line of a oder als besonders elegant bezeichnen will, das lenlänge beliebig groß werden; der Speicher da- file“ soll der eigenen Einschätzung des Lesers über- für wird dynamisch alloziert. OpenBSD ist ein FreeBSD 10.0: „cut out selected portions of lassen bleiben. Vor allem der Vergleich mit einer Hybrid aus fixer Maximalzahl an Feldern, aber each line of a file“ GNU-Implementierung [15] ist eindrucksvoll. beliebiger Zeilenlänge. Die begrenzte Felderan- SunOS 4.1.3: „remove selected fields from each zahl scheint jedoch kein Praxisproblem darzustel- line of a file“ Die interne Struktur der Programmcodes (in len, da _POSIX2_LINE_MAX mit mindestens 2048 SunOS 5.5.1: „cut out selected fields of each line C) ist meist ähnlich. Neben der obligatorischen durchaus groß genug sein sollte. of a file“ main-Funktion, die die Kommandozeilenargumen- Heirloom Tools: „cut out selected fields of each te verarbeitet, gibt es im Normalfall eine Funk- Beschreibungen line of a file“ tion, die die Feldauswahl in eine interne Daten- Interessant ist zudem ein Vergleich der Kurzbe- Heirloom Tools (src): „cut out fields of lines of struktur überführt. Desweiteren haben fast al- schreibungen von cut, wie sie sich in der Titelzeile files“ le Implementierungen separate Funktionen für der Manpages oder manchmal am Anfang der GNU coreutils: „remove sections from each line jeden ihrer Modi. Bei den POSIX-konformen Quellcodedatei finden. Die folgende Liste ist grob of files“

© freiesMagazin CC-BY-SA 4.0 Ausgabe 07/2015 46 LINUXALLGEMEIN

Minix: „select out columns of a file“ ist dadurch zu erklären, dass sie aus der gemein- [14] http://heirloom.cvs.sourceforge.net/viewvc/ Version 8 Unix: „rearrange columns of data“ samen Manpage für cut und paste stammt. In heirloom/heirloom/cut/cut.c?revision=1. „Unix Reader“: „rearrange columns of text“ der Kombination der beiden Werkzeuge können 6&view=markup POSIX: „cut out selected fields of each line of a nämlich Spalten umgeordnet werden. [15] http://git.savannah.gnu.org/gitweb/?p= file“ coreutils.git;a=blob;f=src/cut.c;hb= LINKS e981643 Die mit „(src)“ markierten Beschreibungen sind [1] http://pubs.opengroup.org/onlinepubs/ [16] http://doc.cat-v.org/unix/unix-reader/ aus dem jeweiligen Quellcode entnommen. Der 9699919799/utilities/cut.html#tag_20_28_17 contents.pdf POSIX-Eintrag enthält die Beschreibung im Stan- [2] http://man.cat-v.org/unix_8th/1/cut [17] https://svnweb.freebsd.org/base?view= dard. Der „Unix Reader“ ist ein rückblickendes [3] https://de.wikipedia.org/wiki/Projekti- revision&revision=167101 Textdokument von Doug McIlroy, das das Auftre- on_(Informatik)#Projektion ten der Tools in der Geschichte des Research [4] http://minnie.tuhs.org/cgi-bin/utree.pl?file= Autoreninformation Unix zum Thema hat [16]. Eigentlich sollte seine SysIII/usr/src/cmd Beschreibung der in Version 8 Unix entsprechen. [5] http://minnie.tuhs.org/pipermail/tuhs/2015- Markus Schnalke interessiert sich Die Abweichung könnte ein Übertragungsfehler May/004083.html für die Hintergründe von Unix und sei- oder eine nachträgliche Korrektur sein. Alle übri- [6] http://minnie.tuhs.org/Archive/PDP-11/ nen Werkzeugen. Für die Erarbeitung gen Beschreibungen entstammen den Manpages. Distributions/usdl/ dieses Textes wurde er regelrecht [7] ftp://sunsite.icm.edu.pl/pub/unix/UnixArchive/ zum Historiker. Oft ist mit der Zeit die POSIX-Beschreibung über- PDP-11/Distributions/other/CB_Unix/cbu- nommen oder an sie angeglichen worden, wie nix_man1_02.pdf beispielsweise bei FreeBSD [17]. [8] http://minnie.tuhs.org/cgi-bin/utree.pl?file=4. Teilen Kommentieren 3BSD-UWisc/src/usr.bin/cut Interessant ist, dass die GNU coreutils seit Anbe- [9] http://gunkies.org/wiki/4.3_BSD_NFS_Wis- ginn vom Entfernen von Teilen der Eingabe spre- consin_Unix chen, wohingegen die Kommandozeilenangabe [10] http://minnie.tuhs.org/cgi-bin/utree.pl?file=4. klar ein Auswählen darstellt. Die Worte „cut out“ 3BSD-Reno/src/usr.bin/cut sind vielleicht auch zu missverständlich. HP-UX [11] http://minnie.tuhs.org/cgi-bin/utree.pl?file=4. hat sie deshalb präzisiert. 3BSD-Reno/src/usr.bin/cut/cut.1 [12] http://cvsweb.openbsd.org/cgi-bin/cvsweb/ Beim Begriff, was selektiert wird, ist man sich src/usr.bin/cut/cut.c?rev=1.18&content-type= ebenfalls uneins. Es wird von Feldern (POSIX), text/x-cvsweb-markup Abschnitten bzw. Teilen (BSD) oder Spalten (Re- [13] https://svnweb.freebsd.org/base?view= search Unix) geredet. Die seltsame Beschreibung revision&revision=131194 “Dilution” © by Randall Munroe bei Version 8 Unix („rearrange columns of data“) (CC-BY-NC-2.5), http://xkcd.com/765/

© freiesMagazin CC-BY-SA 4.0 Ausgabe 07/2015 47 REZENSION

Rezension: Git – Verteilte Versionsverwaltung für Code und Dokumente von Sujeevan Vijayakumaran

as Buch „Git – Verteilte Versionsver- ches und Tags. So wird erklärt, wie man Branches Im Anhang befinden sich weiterführende Texte, in waltung für Code und Dokumente“ [1] erstellt und wie man diese wieder zusammenführt. denen unter anderem die Installation von Git, die D von den Autoren Valentin Haenel und Struktur eines Repositorys, die Shell-Integration Julius Plenz gibt einen ausführlichen Einblick Das vierte Kapitel behandelt fortgeschrittene Kon- sowie GitHub beschrieben werden. in die Nutzung von Git. Das Buch erschien im zepte, wie etwa das Rebasen, inklusive Tipps wie Open Source Press Verlag. und wann man Rebasen sollte und wann nicht. Wie liest es sich? Weiterhin wird vermittelt, wie man Dateien igno- Das Buch bietet einen tiefen und detailreichen Ein- Redaktioneller Hinweis: Wir danken Open riert und was die Befehle git stash und git stieg in Git. Die Erläuterungen sind in der Regel Source Press für die Bereitstellung eines Rezen- blame machen. klar und deutlich, sodass man die Vorgehenswei- sionsexemplares. se mit Git gut verstehen kann. Das Buch richtet Erst im fünften Kapitel geht es um die ver- sich nicht an Um- oder Einsteiger, sodass wenige Was steht drin? teilten Git-Repositories, also wie man Remote- Vergleiche zu anderen Versionskontrollsystemen Das Buch umfasst 336 Seiten in insgesamt neun Repositories hinzufügt, die Daten herunterlädt gezogen werden. Der Leser erfährt dadurch auch Kapiteln sowie einen Anhang. Diese werden zu- und deren Branches in die eigenen Entwicklungs- keine Unterschiede zu anderen Systemen und dem in die drei Kategorien „Grundlagen“, „Fortge- branches mergt und wie man Commits wieder worin Git besser oder schlechter ist. schrittene Szenarien“ und den Anhang aufgeteilt. hochlädt. Außerdem wird noch thematisiert, wie man Patches per E-Mail versenden kann und wie Die Autoren legen großen Wert auf das Verständ- Die Grundlagen unterteilen sich in sechs Kapi- man Submodules einbindet und verwaltet. Die nis des Git-Objektmodells; so referenzieren sehr tel. Zu Beginn steht zunächst die Einführung, in Grundlagen schließen mit einem kurzem Kapitel viele Erläuterungen auf das Kapitel über das Git- der die ersten Schritte mit Git erläutert werden. zu Git-Workflows ab. Objektmodell. Der Leser erfährt dadurch nicht nur, Dies umfasst im Wesentlichen die notwendigen wie man mit Git arbeitet, sondern auch, wie Git Begriffe und deren Erläuterungen, um mit Git ar- Nach den Grundlagen-Kapiteln folgen die fortge- selbst arbeitet was für das tägliche Arbeiten mit beiten zu können. Weiterhin wird das Anlegen schrittenen Szenarien, wobei es zunächst in Ka- Git durchaus sinnvoll sein kann. eines ersten Repositorys mit den ersten Commits pitel 7 um das Hosten von Git auf dem Server thematisiert. Außerdem wird die grundsätzliche geht. Darin werden verschiedene Optionen mit Kritik Git-Konfiguration genannt und erläutert. ihren Vor- und Nachteilen genannt, darunter et- Während die Erläuterungen in dem Buch sehr wa der Einsatz von Gitolite. Das achte Kapitel detailreich sind, wird hin und wieder nicht klar, Im zweiten Kapitel folgen die gängigen Git- umfasst die Automatisierungsfunktionen von Git, warum eine Funktion sinnvoll ist und wie oft man Kommandos, die für das tägliche Arbeiten mit Git also Attribute, Hooks und das Schreiben von eige- sie in der täglichen Arbeit mit Git benötigt. Be- gebraucht werden, sowie die Erläuterungen des nen Git-Kommandos. Das letzte Kapitel erläutert reits am Anfang des Buches werden sehr viele Objektmodells. Im folgenden dritten Kapitel dreht im Wesentlichen das Zusammenspiel von Git mit Details erläutert. Um die Sinnhaftigkeit von Funk- es sich hauptsächlich um das Arbeiten mit Bran- Subversion, mittels des Tools „git-svn“. tionen besser darzustellen, wäre es meiner Mei-

© freiesMagazin CC-BY-SA 4.0 Ausgabe 07/2015 48 REZENSION nung nach besser, sich mehr auf Praxis-Beispiele an geschickt wer- LINKS zu beziehen, die nicht nur bloß genannt werden, den. Die Kommentare werden bis zum Ende der [1] http://www.opensourcepress.de/de/produkte/ sondern auch beispielhaft vorgeführt werden. Verlosung nicht freigeschaltet. Das Buch wird un- Git/33227/978-3-95539-119-5 ter allen Einsendern, die die Frage richtig beant- Der Leser muss bereits am Anfang viel lesen, um worten konnten, verlost. Autoreninformation mit Git sinnvoll starten zu können. Dadurch, dass häufig keine Praxisbeispiele am Anfang genannt Buchinformationen Sujeevan Vijayakumaran (Webseite) werden, muss der Leser selbst experimentieren Titel Git – Verteilte Versionsverwaltung für Code nutzt Git seit einigen Jahren nicht nur und Dokumente [1] um sich mit Git vertraut zu machen. Durch die zur Software-Entwicklung, sondern Autor Valentin Haenel und Julius Plenz starke Bindung an das Git-Objektmodell sind viele auch für die Versionierung von Tex- Verlag Open Source Press, 2014 Begriffe auf Englisch bzw. technische Bezeichner. ten, wie etwa dieser Rezension. Die Erklärungen werden dadurch manchmal nicht Umfang 336 Seiten ganz so einfach verständlich, was vor allem für ISBN 978-3-95539-120-1 Einsteiger problematisch sein kann. Schade ist, Preis 29,90C (broschiert), 24,99 (E-Book) Teilen Kommentieren dass nur wenig auf Workflows eingegangen wird. Das Kapitel hierzu ist nur wenige Seiten lang.

Dennoch bietet das Buch viele Details, die selbst ein erfahrener Git-Nutzer nicht kennt. Es werden häufig Tipps und Tricks eingeworfen, die für das tägliche Arbeiten mit Git hilfreich sind. Das sind in der Regel Aliase die gesetzt werden können, um lange Befehle mit vielen Parametern abzukürzen.

Redaktioneller Hinweis: Da es schade wäre, wenn das Buch bei Sujeevan Vijayakumaran im Regal verstaubt, wird es verlost. Die Gewinnfrage lautet:

„Um was für eine Art der Versionsverwaltung han- delt es sich bei Git?“

Die Antwort kann bis zum 12. Juli 2015, 23:59 Uhr über die Kommentarfunktion oder per E-Mail “Never” © by Randall Munroe (CC-BY-NC-2.5), http://xkcd.com/1042/

© freiesMagazin CC-BY-SA 4.0 Ausgabe 07/2015 49 REZENSION

Rezension: Let’s Play Minecraft: Dein Praxis-Guide von Volkmar Mai

as Computerspiel Minecraft ist ein ersten Tag und dem Wettlauf mit dem drohen- aktuellen Version 1.8 ab, die z. B. die bereits er- Massenphänomen. Mit über 50 Millio- den Sonnenuntergang, bis zu dem man möglichst wähnten Ozeanmonumente in die Minecraft-Welt D nen Spielern weltweit gibt es inzwi- bereits eine schützende Behausung errichtet ha- brachte. schen selbst unter Spielemuffeln kaum je- ben sollte, um nicht Opfer der bei Dämmerung manden, der noch nicht mindestens nament- erscheinenden Monster zu werden. Danach geht Insgesamt meistert das Buch diese Aufgabe lich davon gehört hat. Das Buch „Let’s Play es schrittweise mit Nahrungssuche, Tierzucht und mit Bravour. Die meisten Informationen sind Minecraft: Dein Praxis-Guide“ [1] wendet sich Bewaffnung weiter, bis man sich wohlgenährt und umfassend und entsprechen dem aktuellen vor allem an neue und jüngere Spieler, steigt gut gerüstet an die Erforschung bewohnter Dörfer Stand. Es gibt aber auch Verbesserungswürdi- dabei aber Schritt für Schritt bis in die tiefsten sowie verlassener Tempel und Ozeanmonumente ges: Das Schafe-Scheren wird nur im Kreaturen- Minenschächte des Minecraft-Wissens hin- wagen kann. Verzeichnis am Ende des Buches erwähnt. Der ab. dazu nötige Bauplan einer Schere findet sich bei Es folgen Kapitel über Spezialthemen wie der Erkundung von Dschungeltempeln als Gegen- Redaktioneller Hinweis: Wir danken dem mitp- Redstone-Schaltungen (die „Elektrizität“ Mine- mittel für deren Stolperdrähte – hinter den Kapi- Verlag für die Bereitstellung eines Rezensions- crafts), Fortbewegungsmittel, die höllische Par- teln für Wollgewinnung und Tierzucht. Schleim- exemplares. alleldimension „Nether“ und Verzauberungen, bis Monster tauchen seit Version 1.4.2 auch in Sümp- es schließlich an die Essenz von Minecraft geht fen auf, was ebenfalls nur im Verzeichnis und nicht Der erste Eindruck – das Bauen. Hier finden sich viele Beispiele für im Kapitel über Schleimgewinnung erwähnt wird. Das Buch begrüßt den angehenden Baumeister Gebäude und deren Inneneinrichtung, darunter Bei den Fischen im heimischen Aquarium fehlt und Höhlenforscher mit einer einladenden Spiel- ungewöhnliche Projekte wie ein Baumhaus und ein Hinweis auf deren Verschwinden nach fünf szene auf seinem bunten Einband. Sein Format eine Unterwasserbasis in einem See. Abgerundet Minuten wie bei jedem lose hingeworfenen Ge- ist handlich und sollte für Groß und Klein geeig- wird das Ganze durch ebenfalls reich bebilderte genstand, was beim Nachbauen für Enttäuschung net sein. Auch im Inneren behält es diese dem Verzeichnisse aller Kreaturen und Baupläne (in sorgen kann. Hier wünschte ich mir ab und an Spieldesign entsprechende Buntheit bei und sorgt Minecraft Rezepte genannt) für die vielen herstell- etwas mehr Sorgfalt und Einheitlichkeit. Unver- durch ein großzügiges Verhältnis von ca. 50:50 baren Gegenstände. ständlich war mir das komplette Fehlen des Trep- zwischen Bildern und Text dafür, dass auch Le- penblocks als Schrägdach in den Baubeispielen, sefaule oder Ungeübte nicht durch seitenlange Der Profi-Check oder: Jammern auf obwohl Minecraft selbst Treppendächer in seinen Ausführungen abgeschreckt werden. hohem Niveau automatisch generierten Dörfern benutzt und auf Da Minecraft immer noch aktiv weiterentwickelt Treppen wie allen teilweise transparenten Blöcken Der Aufbau des Aufbauspiel-Buches wird und jede weitere Version neue Inhalte mit keine Monster auftauchen können. Der Autor Daniel Braun hat eine Unterteilung nach sich bringt, muss sich das Buch der Frage seiner den Aufgaben gewählt, die sich dem Spieler im Aktualität stellen. In der vorliegenden 1. Auflage Umgekehrt musste aber selbst ich fast vierjähriger Spiel nach und nach stellen. Es beginnt mit dem aus dem August 2014 deckt es Minecraft bis zur Minecraft-Veteran mich aufklären lassen, dass

© freiesMagazin CC-BY-SA 4.0 Ausgabe 07/2015 50 REZENSION

Buchinformationen lichem Wasser, bietet dieses aber ansprechend den. Die Kommentare werden bis zum Ende der Titel Let’s Play Minecraft: Dein Praxis-Guide [1] präsentiert und übersichtlich zusammengefasst Verlosung nicht freigeschaltet. Das Buch wird un- Autor Daniel Braun an und eignet sich als Geschenk, Reisebegleiter, ter allen Einsendern, die die Frage richtig beant- Verlag mitp, 1. Auflage 2014 allseits griffbereiter Almanach und Regalschmuck. worten konnten, verlost. Umfang 256 Seiten Das dem Buch beiliegende Poster macht sich gut ISBN 978-3-8266-7650-5 an der Wand neben dem Monitor und zeigt mit LINKS Preis 16,99 C (Druck), 12,99 C (E-Book) einem kurzen Seitenblick die wichtigsten Rezepte. [1] http://www.mitp.de/IT-Web/Lego-Games/Let- s-Play-Minecraft-Dein-Praxis-Guide.html Portale in „das Ende“ mittlerweile in jeder Festung Der Gesamteindruck erscheinen anstatt wie anfangs nur in einer der Für rund siebzehn Euro erhält man ein umfas- Autoreninformation drei möglichen. sendes Hilfsmittel für ein Spiel, dessen Grenzen die eigene Kreativität und Vorstellungskraft sind. Volkmar Mai spielt Minecraft unter Die zwei Redstone-Kapitel sind – wohl auch ange- Gut strukturiert und ansprechend gestaltet liest es Ubuntu Linux seit Herbst 2011. Zu- sichts des separat erhältlichen, weiterführenden sich unterhaltsam und macht Laune, gleich loszu- sammen mit Freunden betreibt er Redstone-Guides – vergleichsweise sehr gestrafft bauen. Anfänger finden einen erlebnisorientierten einen eigenen, privaten Minecraft- und zielen offenbar auf schnelle Erfolgserlebnis- Einstieg, Fortgeschrittene lernen vielleicht noch Server im Überlebensmodus. se ab, statt umfassendes Grundlagenwissen zu einige ihnen unbekannte Details und beide ha- vermitteln. Prominentes Beispiel ist die Redstone- ben ein hübsches, handliches Nachschlagewerk fackel, welche sofort als NICHT-Logikgatter ver- mit Poster als Dreingabe zur Verfügung. Lang- Teilen Kommentieren wendet wird, ohne zuvor (oder überhaupt) ihre fristig muss sich zeigen, wie konsequent weitere Grundfunktion als Strom- bzw. Signalquelle zu be- Auflagen die Neuerungen der nächsten Minecraft- schreiben. Dies dürfte allerdings der Zielgruppe Updates abdecken. An Version 1.9 wird beim Her- geschuldet sein, die so nach wenigen Seiten ihr steller Mojang bereits gearbeitet. erstes Kombinationsschloss gebaut hat. Später lernt man das Bauen von Farmen, die die Ernte Redaktioneller Hinweis: Da es schade wäre, nachwachsender Rohstoffe automatisieren, aber wenn das Buch bei Volkmar im Regal verstaubt, auch hier geht erklärungsarmes Nachbauen vor wird es verlost. Die Gewinnfrage lautet: dem Verständnis der technischen Grundlagen. „Was geschieht in Minecraft, wenn man Wasser Buch versus Wiki auf stehende Lava gießt?“ Warum sollte man sich ein Buch kaufen, wenn es unzählige Wikis, Foren und Hilfeseiten über jeden Die Antwort kann bis zum 12. Juli 2015, 23:59 Aspekt Minecrafts im Netz gibt? Natürlich kocht Uhr über die Kommentarfunktion oder per E-Mail “One Two” © by Randall Munroe auch „Let’s Play Minecraft“ nur mit überall erhält- an geschickt wer- (CC-BY-NC-2.5), http://xkcd.com/764/

© freiesMagazin CC-BY-SA 4.0 Ausgabe 07/2015 51 REZENSION

Rezension: The Art of Unit Testing von Dominik Wagenführ

n größeren Software-Projekten stößt man ersten Unit-Test schreiben. Für die Umsetzung Jedes Kapitels beginnt mit einer Beschreibung, meist auf das Problem, den Code testen wird die Sprache C# in Microsoft Visual Studio des Ziels der folgenden Seiten. Am Ende eines I zu müssen. Oft kommt einem der Gedan- und das Testframework NUnit [4] verwendet. Kapitels gibt es dann eine Zusammenfassung, die ke, nach dem hundertsten Bug-Report, zu ei- das Gelernte noch einmal kurz beschreibt. ner trivialen Funktion. Hier können Unit-Tests Der zweiten Teil behandelt Stubs, Mocks und helfen, die Qualität zu verbessern. Das Buch Fakes, erklärt den Unterschied zwischen ihnen Für wen ist das Buch geeignet? „The Art of Unit Testing“ von Roy Oshero- und geht darauf ein, wie man diese korrekt ver- Laut Osherove ist die Zielgruppe des Buches je- ve [1] soll beim Einstieg in das Thema helfen. wendet. Einen großen Teil nimmt dabei die Be- de Art von Code-Schreiber, seien es Entwickler, schreibung von Isolation-Frameworks [5] ein. Architekten oder eben Tester. Auf den Wissens- Redaktioneller Hinweis: Wir danken dem mitp- stand geht der Autor nicht gesondert ein und hat Verlag für die Bereitstellung eines Rezensions- Teil 3 behandelt den Testcode selbst und erklärt, Recht damit, da das Buch sowohl für Anfänger exemplares. was einen guten Unit-Test ausmacht, wie z. B. Ver- als auch Fortgeschrittene geeignet ist. trauenswürdigkeit, Wartbarkeit oder Lesbarkeit. Über den Autor Aber auch andere Eigenschaften wie Automatisie- Die Einführung in Unit-Test geht sehr sanft vor- Roy Osherove [2] ist ein bekannter Software- rung und Versionsverwaltung werden behandelt. an und auch zum Ende des Buches hin sind die Entwickler und tritt seit mehreren Jahren als Trai- Beispiele noch übersichtlich und leicht verständ- ner für Unit-Testing und testgetriebene Entwick- Der letzte Teil behandelt dann einige besondere lich. Fortgeschrittene können vor allem durch die lung (TDD [3]) auf. Ich lernte ihn auf einem Kurs Themen, die ggf. nicht für jeden Leser relevant erweiterten Kapitel bezüglich Legacy Code oder zu TDD kennen. Das Buch behandelt viele The- sind. So wird die Integration von Unit-Tests in Design for Testability noch etwas lernen. men, die er auch in seinen Kursen vermittelt. Organisationen behandelt und erklärt, wieso Unit- Tests wichtig sein können. Außerdem wird Legacy Schade ist, dass Roy Osherove sich auf C#, Visu- Was steht drin? Code [6] diskutiert, also meist alter und oft nicht al Studio und NUnit versteift. Für .NET-Entwickler Hauptaugenmerk des Buches ist das Unit-Testing. gut strukturierter Code. Hier wird auch auf das ist das praktisch, für alle anderen etwas hinderlich. Auch wenn testgetriebene Entwicklung verwandt gute Buch „Effektives Arbeiten mit Legacy Code“ Zwar kann man als C++- oder Java-Entwickler ist, setzt sich das Buch sich nur wenig damit aus- von Michael Feathers [7] verwiesen. Das letzte viele Beispiele abstrahieren, aber oft wird auf Fea- einander und TDD nimmt nur einen kurzen Ab- Kapitel beschäftigt sich mit dem Thema „Design tures von NUnit eingegangen, die es in anderen schnitt am Anfang des Buches ein. und Testbarkeit“ (Design for Testability), was es Frameworks oder Sprachen nicht gibt. Dadurch leichter machen soll, seinen Code zu testen. sind die Beispiele schwer nachzuvollziehen. Der größte Teil beschäftigt sich also mit Unit- Testing. Roy Osherove erklärt anfangs, was man Im Anhang findet man eine Auflistung verschiede- Zwingende Voraussetzung für das Verständnis unter Unit-Tests versteht und was die Abgrenzung ner Test- und Isolation-Frameworks, die meisten der Beispiele ist aber die objektorientierte Pro- zu Integrationstest ist. Danach darf man seinen behandeln davon aber nur .NET als Sprache. grammierung. Vor allem Stubs und Mocks leben

© freiesMagazin CC-BY-SA 4.0 Ausgabe 07/2015 52 REZENSION davon, dass man Interfaces und Klassen ablei- Cases. Da Logik wie Schleifen in einem Unit-Test Buchinformationen ten und Methoden überschreiben bzw. realisieren aber eigentlich auch nicht erlaubt sind, steht man Titel The Art of Unit Testing [1] kann. Wer keine objektorientierte Sprache nutzt, hier vor einem Problem. Auch die Vorstellung der Autor Roy Osherove wird sich schwer tun, den Code zu verstehen bzw. Isolation-Frameworks bzw. Testframeworks im An- Verlag mitp, 2. Auflage 2015 diesen im eigenen Projekt anzuwenden. hang kann man als Nicht-C#-Entwickler übersprin- Umfang 312 Seiten gen. Nur die Erklärung, der Klassen von Isolation- ISBN 978-3-82669-712-8 Wie liest es sich? Frameworks und welche Eigenschaften die ver- Preis 39,99 C (Druck), 33,99 C (EPUB/PDF) Roy Osherove hat einen guten Schreibstil und schiedenen Werkzeuge haben, hilft u. U. dabei, auch die Übersetzung ist gelungen. Toll ist, dass ein Framework für die eigene Sprache zu finden. LINKS Roy Osherove sein Buch nicht als Dogma auffasst, [1] http://www.mitp.de/IT-Web/Software- sondern selbst schreibt, dass sich seine Meinung Sehr gut haben die Kapitel zur Integration in der Entwicklung/The-Art-of-Unit-Testing.html teilweise bis zur nächsten Auflage ändern kann. Organisation und zum Design for Testability ge- [2] http://www.artofunittesting.com/ So empfiehlt er in der zweiten Auflage andere fallen. Ohne diese wäre das Buch auch nutzbar, [3] https://de.wikipedia.org/wiki/Testgetriebene_ Frameworks und auch einige andere Program- aber sie geben wichtige Hinweise, um Unit-Tests Entwicklung mierparadigmen. Diese Ehrlichkeit ist gut und als noch besser schreiben bzw. überhaupt erst ein- [4] http://www.nunit.org/ Leser weiß man so, dass man sich aus dem Buch setzen zu können. Das Kapitel zu Legacy Code [5] https://de.wikipedia.org/wiki/Mocking_Frame- auch nur eine Auswahl, die auf das eigene Projekt ist dagegen etwas zu kurz. Hier empfiehlt sich work passt, rauspicken kann. eher das Buch von Michael Feathers „Effektives [6] https://de.wikipedia.org/wiki/Altsystem Arbeiten mit Legacy Code“. [7] http://www.mitp.de/IT-Web/Software- Die Beispiele sind fast alle kurz und übersichtlich, Entwicklung/Effektives-Arbeiten-mit-Legacy- sodass man sie leicht verstehen kann. Auch als Redaktioneller Hinweis: Da es schade wäre, Code.html Nicht-C#-Entwickler kann man mit einem objekt- wenn das Buch bei Dominik Wagenführ im Regal orientierten Hintergrund folgen und den Code auf verstaubt, wird es verlost. Die Gewinnfrage lautet: Autoreninformation die Sprache der eigenen Wahl anpassen. „Es gibt ein bekanntes (englisches) Akronym, was Dominik Wagenführ (Webseite) ist Fazit gute Unit-Tests auszeichnet. Wie lautet dieses?“ Software-Architekt und nutzt Unit- Insgesamt ist das Buch „The Art of Unit Testing“ Tests und TDD seit einigen Jahren sehr empfehlenswert. Es bietet eine gute Einfüh- Die Antwort kann bis zum 12. Juli 2015, 23:59 in verschiedenen beruflichen und rung in Unit-Tests und bündelt die gesammelten Uhr über die Kommentarfunktion oder per E-Mail privaten Software-Projekten. Zu TDD Erfahrungen des Autors. Viele Aussagen sind da- an geschickt wer- hat ihn unter anderem auch ein Kurs bei eher Leitlinien statt Dogmen. den. Die Kommentare werden bis zum Ende der von Roy Osherove geführt. Verlosung nicht freigeschaltet. Das Buch wird un- Negativ ist die Versteifung auf .NET und NU- ter allen Einsendern, die die Frage richtig beant- nit. Z. B. kennt nicht jedes Testframework Test- worten konnten, verlost. Teilen Kommentieren

© freiesMagazin CC-BY-SA 4.0 Ausgabe 07/2015 53 LESERBRIEFE

Leserbriefe

Für Leserbriefe steht unsere E-Mailadresse Passwortabfrage auf der Homepage übertreiben. Und wer seine Mails verschlüsselt, zur Verfügung – Mir ist aufgefallen, dass beim Aufrufen der macht sich erst recht verdächtig, nebenbei be- wir freuen uns über Lob, Kritik und Anregun- Seite immer eine Passwortabfrage kommt. Im merkt. Aber darum geht es mir nicht – ich bin gen zum Magazin. Quellcode wird versucht folgendes javascript auf- einfach nur noch genervt von der typisch deut- zurufen: Da das Verzeichnis offensichtlich wieder runter und hört endlich mit eurer Paranoia uns natürlich freut), aber vor allem durch Kritik mit einer .htaccess geschützt ist, kommt die und Hysterie auf. und neue Ideen können wir uns verbessern. Abfrage zustande. Sieht irgendwie nach einem Hack aus. Mich würde es interessieren, ob ihr den Michael Brauckmann (Kommentar) Leserbriefe und Anmerkungen Fehler auch zu sehen bekommt. Andre Müller Newsletter Im Artikel wird behauptet, dass Verschlüsseln Erstmals herzlichen Dank für das tolle Magazin Vielen Dank für den Hinweis. Allerdings han- einer großen E-Mail mit einem 4096-Bit-Schlüssel und Eure Arbeit. Da mich RSS Feeds nie wirklich delt es sich hierbei nicht um einen Fehler in Apa- dauert eher lange. Stimmt das wirklich? Mein ge- überzeugt haben, benutze ich sie nicht. Folge: Ich che, sondern eine fehlgeleitete Drupal-Funktion, ringes Verständnis von OpenPGP besagt, dass verpasse immer wieder die neuen Ausgaben von die in der verwendeten Version nicht so richtig der Inhalt einer Mail mit einem symmetrischen freiesMagazin. Wäre es möglich, die Veröffentli- funktioniert wie ursprünglich gedacht. Wir über- Verfahren verschlüsselt wird, lediglich der Schlüs- chung einer neuen Ausgabe [...] via Newsletter zu legen derzeit, wie man das am besten beheben sel für das symmetrische Verfahren wird mit dem kommunizieren? Stefan Schmid kann. Matthias Sitte 4096-Bit-Schlüssel asymmetrisch verschlüsselt.

Ein Newsletter hat für uns den Nachteil, dass Meine Daten gehören mir! Wenn man unter Android E-Mails verschlüsseln wir uns extra um den Datenschutz kümmern müs- Dieser Artikel ist wieder ein guter Beweis möchte, so ist die Kombination der Apps K9-Mail sen, da wir dann E-Mail-Adressen bei uns spei- für die deutsche Hysterie und Panik. E-Mail- und OpenKeychain [2] zu empfehlen. Auf der Sei- chern müssen. Aus dem Grund haben wir davon Verschlüsselung ist ja in mancherlei Hinsicht si- te von OpenKeychain findet man auch ein gutes abgesehen, einen Newsletter zu verschicken und cher gut und nützlich. Aber ich kann nicht von Tutorial [3] für Einsteiger. empfehlen daher das Abonnieren unseres RSS- jeden Menschen erwarten, dass sie sich damit Feeds. Als Alternative zum RSS-Feed könnten auseinandersetzen und ihre gesamte Mails ver- Gast (Kommentar) Sie auch unserem Twitter-Account @freiesma- schlüsseln. Soll meine Mutter jetzt auch ihre E- ga_open [1] folgen. Über diesen Zugang twittern Mails verschlüsseln, wenn sie mir Kuchenrezepte Danke für den Hinweis. Der Beitrag ist an der wir auch über das Erscheinen der neuen Ausga- zumailen will – nur weil die Geheimdienste [...] Stelle leider tatsächlich missverständlich. Das Ver- be. Christian Schnell dies evtl. lesen könnten? Man kann es auch echt schlüsseln dauert bei großen Anhängen lange,

© freiesMagazin CC-BY-SA 4.0 Ausgabe 07/2015 54 LESERBRIEFE aber ob die Schlüssellänge 2048 oder 4096 Bit Gesucht wird: Timeline Software Danke für den Abdruck meiner Anfrage. Ich ist, spielt dabei keine Rolle – s.PGP RSA key size In der Linuxuser Printausgabe 05.2015 wird habe inzwischen ein Linux-Programm namens Ti- - encryption/decryption time [4]. ab Seite 24 ein Python-Programm Timeline [8] meline [11] gefunden und installiert. Allerdings Matthias Spielkamp vorgestellt. Weiter kann ich zu diesem Programm komme ich mit der konfusen Bedienung gar nicht leider nichts sagen, da ich es selber noch nicht zurecht. Ich habe mich mehrfach an die angege- Verlinkung installiert habe. Aber vielleicht lohnt sich ja für Sie bene E-Mail-Adresse gewandt und habe leider Ich habe eine kurze Ergänzung bzw. Korrektur ein Blick darauf. nur Antworten á la [...] „Die Onlinehilfe ist ausrei- zur Rezension des Buches „Linux – Das umfas- chend“ bekommen... Ist sie halt nicht und ich bin sende Handbuch“ von Stefan Wichmann in der Michael Brauckmann (Kommentar) von der Linux-Community mehr Hilfsbereitschaft Ausgabe 06/2015 [5]. Am Ende des Artikels wird gewöhnt. Gerd ein Gerichtsurteil mit Aktenzeichen „22 U 60/13“ Zufälligerweise bin ich letzte Woche doch noch mit einem Link referenziert, der [...] einfach nur auf einen Beitrag gestoßen, wie man Zeitlinien mit LINKS auf die Startseite der Website einer Rechtsan- Hilfe von LaTeX und TikZ erstellen kann [9] [1] https://twitter.com/freiesmaga_open waltskanzlei. Das ist freilich wenig informativ für dominik (Kommentar) [2] http://www.openkeychain.org/ jemanden, der sich tatsächlich für die Materie in- [3] http://www.openkeychain.org/howto teressiert. Daher ein Hinweis für die Zukunft: Bei Leider erwähnt der Leser nicht, wofür er ein [4] http://security.stackexchange.com/questions/ Gerichtsurteilen immer das erkennende Gericht „Linux Programm“ zum Erstellen der Timeline ein- 41937/pgp-rsa-key-size-encryption- mit angeben, ganz besonders dann, wenn es sich setzen möchte. decryption-time wie hier nicht um den Bundesgerichtshof handelt, [5] http://www.freiesmagazin.de/freiesMagazin- sondern lediglich um ein Oberlandesgericht (hier Für Webseiten: TimelineJS [10] ist einigermaßen 2015-06 OLG Hamm). Das ermöglicht eine Einschätzung idiotensicher, auch wenn die Einbindung mittels [6] https://dejure.org der Reichweite und Folgenschwere eines Urteils, iframe nicht ganz unproblematisch sein kann. [7] https://dejure.org/dienste/vernetzung/ denn es kommt oft genug vor, dass ein anderes rechtsprechung?Text=22%20U%2060/13 OLG dieselbe Rechtsfrage völlig anders beurteilt. Für Gedrucktes gibt es auf CTAN alles was das [8] http://www.linux-user.de/Links/LU/#id34100 Herz begehrt z.B.: 1) Chronosys (zeichnet mittels [9] http://tikz.de/zeitlinien/ Zur Verlinkung auf Urteile kann ich ferner die Seite tikz1), 2) moderntimeline oder 3) chronology [10] http://timeline.knightlab.com/ dejure.org [6] empfehlen, die Links zu Volltextver- Adi Meyerhofer [11] http://thetimelineproj.sourceforge.net öffentlichungen (siehe hier [7] für den besproche- nen Fall) sammelt. Das ermöglicht interessierten Eine Timeline könnte entweder mit thetimeli- Teilen Kommentieren Lesern, eine solche Entscheidung leicht nachzu- neproj [11] erstellt werden, oder aber mit einer lesen, auch wenn einmal kein Besprechungslink Kladogramm-Software wie GNUclad... Kommt auf Die Redaktion behält sich vor, Leserbriefe gege- einer Kanzlei verfügbar sein sollte. die Art der Aussage an, welche die Timeline vi- benenfalls zu kürzen. Redaktionelle Ergänzungen Stefan Schmid sualisieren soll... Jan Niggemann finden sich in eckigen Klammern.

© freiesMagazin CC-BY-SA 4.0 Ausgabe 07/2015 55 MAGAZIN

Veranstaltungskalender

Messen Veranstaltung Ort Datum Eintritt Link Debian Conference 2015 15.–22.08.2015 – http://debconf15.debconf.org/ Linux Bier Wanderung (LBW) Wiltz 16.–23.08.2015 frei https://linuxbierwanderung.com/ FrOSCon 10 Sankt Augustin 22.–23.08.2015 frei http://www.froscon.de/ MRMCD15 Darmstadt 04.–06.09.2015 42,20 EUR https://mrmcd.net/ PLAY15 15.–19.09.2015 25 EUR http://www.play15.de/ 13. Kieler Open Source und Linux Ta- Kiel 18.–19.09.2015 frei http://kielux.de/ ge Ubucon 2015 23.–25.10.2015 10 EUR http://ubucon.de/2015/ (Alle Angaben ohne Gewähr!) Sie kennen eine Linux-Messe, welche noch nicht auf der Liste zu finden ist? Dann schreiben Sie eine E-Mail mit den Informationen zu Datum und Ort an . Vorschau freiesMagazin erscheint am ersten Sonntag eines Monats. Die August-Ausgabe wird voraussichtlich am 2. August u. a. mit folgenden Themen veröffentlicht:

 Gnuplot  Web Scraping mit R  Biblatex Konventionen

An einigen Stellen benutzen wir Sonderzeichen mit einer bestimmten Bedeutung. Diese sind hier zusammengefasst: $: Shell-Prompt #: Prompt einer Root-Shell – Ubuntu-Nutzer können hier auch einfach in einer normalen Shell ein sudo vor die Befehle setzen. y: Kennzeichnet einen aus satztechnischen Gründen eingefügten Zeilenumbruch, der nicht eingegeben werden soll. ~: Abkürzung für das eigene Benutzerverzeichnis /home/BENUTZERNAME : Kennzeichnet einen Link, der auf eine englischsprachige Seite führt. : Öffnet eine höher aufgelöste Version der Abbildung in einem Browserfenster.

© freiesMagazin CC-BY-SA 4.0 Ausgabe 07/2015 56 MAGAZIN

Impressum ISSN 1867-7991 freiesMagazin erscheint als PDF, EPUB und HTML einmal monatlich. Erscheinungsdatum: 5. Juli 2015

Kontakt Redaktion E-Mail Christian Schnell Matthias Sitte Postanschrift freiesMagazin Dominik Wagenführ (Verantwortlicher Redakteur) c/o Dominik Wagenführ Beethovenstr. 9/1 Satz und Layout 71277 Rutesheim Moritz Kiefer Kai Welke Webpräsenz http://www.freiesmagazin.de/ Korrektur Autoren dieser Ausgabe Daniel Braun Frank Brungräber Hans-Joachim Baader S. 3 Vicki Ebeling Stefan Fangmeier Jens Dörpinghaus S. 40 Mathias Menzer Christian Schnell Gerrit Kruse S. 11 Karsten Schuldt Volkmar Mai S. 50 Mathias Menzer S. 16 Veranstaltungen Markus Schnalke S. 42 Ronny Fischer Sujeevan Vijayakumaran S. 48 Dominik Wagenführ S. 18, S. 52 Logo-Design Arne Weinberg (CC-BY-SA 4.0 Unported)

Dieses Magazin wurde mit LATEX erstellt. Mit vollem Namen gekennzeichnete Beiträge geben nicht notwendigerweise die Meinung der Redaktion wieder. Wenn Sie freiesMagazin ausdrucken möchten, dann denken Sie bitte an die Umwelt und drucken Sie nur im Notfall. Die Bäume werden es Ihnen danken. ;-)

Soweit nicht anders angegeben, stehen alle Artikel, Beiträge und Bilder in freiesMagazin unter der Creative-Commons-Lizenz CC-BY-SA 4.0 International. Das Copyright liegt beim jeweiligen Autor. Die Kommentar- und Empfehlen- Icons wurden von Maren Hachmann erstellt und unterliegen ebenfalls der Creative-Commons-Lizenz CC-BY-SA 4.0 International. freiesMagazin unterliegt als Gesamtwerk der Creative-Commons-Lizenz CC-BY-SA 4.0 Unported mit Ausnahme der Inhalte, die unter einer anderen Lizenz hierin veröffentlicht werden. Das Copyright liegt bei Dominik Wagenführ. Es wird erlaubt, das Werk/die Werke unter den Bestimmungen der Creative-Commons-Lizenz zu kopieren, zu verteilen und/oder zu modifizieren. Die xkcd-Comics stehen separat unter der Creative-Commons-Lizenz CC-BY-NC 2.5 Generic. Das Copyright liegt bei Randall Munroe.

© freiesMagazin CC-BY-SA 4.0 Ausgabe 07/2015 57