Zum Inhalt springen

mathias wellner

theater, schauspiel und bergsport

Archiv

Tag: LaTeX

Typographie

Dez 19
Allgemein

Durch meine Tätig­kei­ten als Redak­teur, Gestal­ter eines Theater-​​Abendprogramms und Autor eines Web­logs kam ich schon oft mit dem Set­zen von Text in Berüh­rung. Aber eigent­lich ist mein Wis­sen recht begrenzt, bezie­hungs­weise geprägt durch die Arbeit mit LaTeX, einem Text­satz­sys­tem vor allem für wis­sen­schaft­li­che Publi­ka­tio­nen. Von daher waren mir einige typo­gra­phi­sche Grund­sätze in Fleisch und Blut über­ge­gan­gen, wel­che bei LaTeX von KOMA-​​Script umge­setzt wer­den, unter anderem

  • Sei­ten­ge­stal­tung mit brei­ten Rän­dern und maxi­mal 70 Zei­chen pro Zeile
  • Serifen-​​Font für Fließ­text, seri­fen­lo­ser Font für Überschriften
  • Block­satz in allen Lebenslagen

Bei der Dis­kus­sion mit ande­ren Leu­ten wur­den aber die meis­ten die­ser eher­nen Grund­sätze in Frage gestellt, so dass ich mich fragte, warum dies alles eigent­lich so defi­niert ist. Und somit lan­dete ich zwangs­läu­fig bei der Kunst der Typographie.

Mitt­ler­weile habe ich ein sehr schö­nes Buch gefun­den, wel­ches die Grund­sätze anschau­lich beschreibt: The Ele­ments of Typo­gra­phic Style (Robert Bring­hurst). Bis jetzt bin ich vom Buch extrem begeis­tert und ver­tiefe mich in die Geschichte und heu­tige Anwen­dung der Typo­gra­phie. Denn das Thema ist auch im Hin­blick auf die Gestal­tung von Web­sei­ten immer aktu­ell. In der neu geplan­ten Spe­zi­fi­ka­tion der Casca­ding Style Sheets (CSS3) ist in Sachen Schrift­ar­ten eini­ges in Bewe­gung gera­ten, als Webseiten-​​Gestalter kann man jetzt benö­tigte Schrift­ar­ten her­un­ter­la­den und muss nicht mehr dar­auf ver­trauen, dass sie auf dem Rech­ner des Nut­zers instal­liert sind. Bereits heute unter­stüt­zen die meis­ten Brow­ser diese Funk­tion, jedoch wird es noch eine Weile dau­ern, bis die breite Masse der Web­sei­ten davon pro­fi­tie­ren kann. Ein Pro­blem ist noch die Lizen­sie­rung von Schriftarten.

Die Auf­gabe des Typo­gra­phen ist immer, den Inhalt gekonnt zur Gel­tung zu brin­gen und anschlie­ßend selbst zu verw­schwin­den. Wie beim Regis­seur, der bei der Pre­miere taten­los im Publi­kum sit­zen muss, wird die Arbeit des Typo­gra­phen im End­ef­fekt unsicht­bar. Mit die­sem Web­log habe ich jeden­falls ein gutes Übungs­werk­zeug und werde ein paar Sachen damit aus­pro­bie­ren. Mehr Sinn macht das Ganze bei Druck­sa­chen, wo mir mit Adobe InDe­sign ein Pro­fi­werk­zeug zur Ver­fü­gung steht. Aber letzt­end­lich steht Typo­gra­phie über allen Werkzeugen.

Ein­lei­tung

Das Text­satz­sys­tem LaTeX eig­net sich her­vor­ra­gend für wis­sen­schaft­li­ches Schrei­ben. Aber wel­che Kom­po­nen­ten braucht man genau? In die­sem Arti­kel möchte ich beschrei­ben, wie man auf einem Ubuntu-​​​​Linux–Sys­tem die not­wen­di­gen Pro­gramme und Pakete instal­liert, um seine Publi­ka­tio­nen bequem schrei­ben zu kön­nen. Windows-​​​​Nutzer kön­nen die Schritte genau so aus­füh­ren, müs­sen aber an eini­gen Stel­len abwei­chend vorgehen.

Anfor­de­run­gen, Voraussetzungen

  1. Ich möchte VIM als Edi­tor benutzen.
  2. Das Resul­tat soll eine PDF-​​​​Datei sein.
  3. Nach Ände­run­gen am Manu­skript sol­len alle not­wen­di­gen Ver­ar­bei­tungs­schritte (latex, bib­tex) auto­ma­tisch durch eine Aktion (Maus­klick oder Ein­gabe) erfolgen.
  4. Ich möchte nach dem APA-​​​​Stil zitie­ren. Das ist von der Zeit­schrift mei­ner Wahl so vorgeschrieben.

Text­edi­tor VIM

VIM ist ein sehr mäch­ti­ges Werk­zeug zum Bear­bei­ten von Tex­ten. Auf den meis­ten Linux-​​​​Systemen ist die­ses Pro­gramm bereits instal­liert. Zur bes­se­ren Inte­gra­tion von LaTeX-​​​​Dokumenten gibt es die VIM-​​​​LateX-​​​​Suite.

any_directory$ sudo apt-get install vim

Die LaTeX-​​Suite sollte man lie­ber von Hand im Home-​​Verzeichnis instal­lie­ren, auf der Home­page gibt es eine Anleitung.

latexmk

Das Perl-​​​​Script latexmk ist äußerst prak­tisch, um alle not­wen­di­gen Ver­ar­bei­tungs­schritte auto­ma­tisch aus­zu­füh­ren. Es ermit­telt die Abhän­gig­kei­ten (ein­ge­schlos­sene Bil­der, Biblio­gra­fie), prüft den Sta­tus aller Dateien im Pro­jekt und führt dann genau die Schritte aus, wel­che not­wen­dig sind. Wenn man das nicht hat, muss man sehr häu­fig die Ein­zel­schritte (die Pro­gramme latex und bib­tex) aus­füh­ren, um bei Ände­run­gen im Doku­ment ein wirk­lich aktu­el­les PDF zu erhalten.

Instal­lie­ren muss man Perl (wenn es noch nicht vor­han­den ist) und das Skript selbst. Windows-​​​​Nutzer soll­ten Active Perl instal­lie­ren.

any_directory$ sudo apt-get install perl
any_directory$ sudo apt-get install latexmk

Die Anwen­dung von latexmk sieht dann für PDFs so aus:

project_directory$ latexmk -pdf dokument.tex

bibla­tex

Obwohl es zur Zeit noch nicht für die All­ge­mein­heit ver­öf­fent­licht ist (beta-​​​​Stadium), hat mir die Mäch­tig­keit des Pakets bibla­tex so impo­niert, dass ich es für meine Refe­ren­zen gern ver­wende. Ursprüng­lich brauchte ich eine sau­bere Lösung für nach Kapi­teln auf­ge­teilte Refe­ren­zen in mei­ner Dis­ser­ta­ti­ons­schrift, aber bibla­tex kann weit mehr und macht den Umgang mit Refe­ren­zen viel ein­fa­cher als vor­her. Denn bis­lang musste man aus einer unüber­schau­ba­ren Viel­falt von Pake­ten aus­wäh­len, wenn man mit dem Mini­mal­stan­dard von Bib­TeX nicht zufrie­den war. Nun braucht man also nur noch ein Paket — bibla­tex.

any_directory$ sudo apt-get install biblatex

Im Gegen­satz zum nor­ma­len Zitie­ren muss man sich an ein paar neue Befehle gewöh­nen. Ein indi­rek­tes Zitat in Klam­mern, wel­ches bei uns Inge­nieu­ren das häu­figste ist, erhält man mit \parencite{key}. Der Befehl \print­bi­blio­gra­phy erstellt genau an die­ser Stelle ein Refe­renz­ver­zeich­nis (Biblio­gra­phie) mit allen zitier­ten Quel­len. Das Aus­se­hen der Biblio­gra­phie und der Zitate im Text rich­tet sich nach dem Zitier­stil, den man beim Laden des Pake­tes mit ange­ben kann.

\usepackage[style=apa]{biblatex}
\bibliography{bibfile_name}

Den APA-​​​​Zitierstil kann man lei­der nur manu­ell instal­lie­ren (siehe Doku­men­ta­tion). Danach muss man aber noch die LaTeX-​​​​Installation aktua­li­sie­ren.

any_directory$ sudo texconfig rehash

Ein Pro­blem war dann noch, dass das csquotes-​​​​Paket ver­al­tet war. Auch da musste ich manu­ell die Dateien an die rich­tige Stelle kopie­ren und mit tex­con­fig rehash die LaTeX-​​​​Installation aktualisieren.

Fazit

Etwas Auf­wand ist das schon, dafür steht mir jetzt wie­der ein kom­plet­tes Sys­tem zur Ver­fü­gung, mit dem ich an mei­ner drit­ten Publi­ka­tion fei­len kann.

Ich schreibe. An mei­ner Diss. Ich habe sie This! genannt, das klingt so wie Diss und erin­nert mich an Peter Gabri­els Album So, ein Weih­nachts­ge­schenk mei­ner Schwester.

Ich schreibe. Über die Ergeb­nisse der Ruder­stu­die mit Wett­be­wer­bern. Teil­neh­mer 1 hat rea­giert, und das deut­lich. Man sieht es an den Gra­phen, den Prunk­stü­cken die­ses Kapi­tels. Es lässt sich so viel aus­sa­gen mit einem Gra­phen. Dann brau­che ich auch weni­ger zu schrei­ben. Es springt dem Leser dann ins Auge. Aber nur, wenn der Graph gut gemacht ist und in sich das Stu­di­en­de­sign, die Ein­zel­er­geb­nisse, die Durch­schnitts­werte pro Block mit Stan­dard­ab­wei­chun­gen und am bes­ten noch die Schluss­fol­ge­run­gen in sich ver­eint und dabei nicht unüber­sicht­lich wird.

Ich schreibe. Ein Mat­lab–Skript zum Zeich­nen eines Gra­phen. Es wird immer län­ger, Zeile um Zeile kommt hinzu. Zuerst waren da nur die blauen Daten­punkte, etwas chao­tisch zeig­ten sie den Wert einer Varia­blen (zum Bei­spiel der Maxi­mal­kraft) für jeden Ruder­schlag an, und das für die gesamte Renn­stre­cke von 2000 m. Aber das reicht nicht, man muss noch die Blö­cke sehen. Die neu­tra­len Blö­cke, in denen die Geg­ner nichts machen und die Gegner-​​Blöcke, in denen die geg­ne­ri­schen Boote atta­ckie­ren oder zurück­fal­len. Senk­rechte rote Linien für die Block­gren­zen, das ist schon mal ein Anfang. Aber wie kann man die Gegner-​​Blöcke noch durch eine andere Hin­ter­grund­farbe her­vor­he­ben? Zuerst ver­su­che ich es mit dem Befehl patch, damit kann man belie­bige Poly­gone zu einem Gra­phen hin­zu­fü­gen. Aber die­ser ver­deckt die Rand­li­nien. Die Lösung bringt dann der Befehl image, ein ent­spre­chend den Blö­cken defi­nier­tes Bild dient als Hin­ter­grund des Gra­phen. Blaue Punkte auf dezent her­vor­ge­ho­be­nen Blö­cken, getrennt durch ver­ti­kale rote Linien. Schön wäre noch, bei jedem Block den Mit­tel­wert der Varia­blen und die Stan­dard­ab­wei­chung ein­zu­zeich­nen. Mit hori­zon­ta­len, schwar­zen, dicken Linien kom­men die Mit­tel­werte hinzu, mit dün­ne­ren Linien, die sich nach oben und unten stre­cken, die Stan­dard­ab­wei­chun­gen. Jetzt noch zuschnei­den auf die rich­tige Größe, damit es ohne wei­tere Ver­ar­bei­tung in die Diss ein­ge­fügt wer­den kann.

Ich schreibe. Mit LaTeX–Befeh­len füge ich die Gra­phen ein. Und beschrifte noch die Blö­cke, damit klar ist, wel­che neu­tral und wel­che durch Akti­vi­tä­ten der Geg­ner geprägt sind. Dies in allen Gra­phen. Diese Wie­der­ho­lung einer ähnli­chen Auf­gabe, in der sich nur die Rei­hen­folge der Kon­di­tio­nen ver­än­dert, schreit nach einem Makro. So weit ist es mit mir gekom­men, das Doku­ment hat sich in eine Struk­tur ver­wan­delt, wel­che stets ver­bes­sert wer­den kann. Ich sehe über­all Struk­tur, die Ähnlich­keit von Abschnit­ten, die Mög­lich­keit, etwas ele­gan­ter zu lösen, mit weni­ger Redundanzen.

Ich schreibe. 85 Sei­ten ist This! jetzt stark. Es ist nicht mehr viel, das Ziel ist in Sicht. Dann wird die erste Fas­sung voll­en­det sein.

Using CiteU­Like for admi­nis­tra­ting my paper biblio­gra­phic infor­ma­tion is quite nice. I have all the infor­ma­tion I need for cit­ing the sour­ces in papers, as CiteU­Like pro­vi­des export capa­bi­lity for BibTeX.

The pro­blem with this approach and the package nat­bib is that URL addres­ses, ISSN num­bers and DOI stuff is used for crea­ting the biblio­gra­phy, loo­king nasty in my opi­nion. The­re­fore I used the power­ful stream edi­tor sed to delete these lines from my Bib­TeX file and also adding curly bra­ces around capi­tal let­ters in the title.

CorrectCiteULike.sed

# Correcting Mistakes of CiteULike BibTeX Export Tool
# delete URL lines (look nasty with natbib)
/url =/ d
# delete ISSN lines (look nasty with natbib)
/issn =/ d
# delete DOI lines (look nasty with natbib)
/doi =/ d
# create curly braces around capital letters in titles
/\ttitle = {[^{]/ s/[A-Z]/{&}/g

Make­file

All you have to do now is to include the sed com­mand in your Make­file, right in front of the bib­tex com­mand.

sed -i -f correctCiteULike.sed exported_bibtex_file.bib

Einarbeitung, Werkzeuge

Jul 4
Allgemein

Ich sitze an mei­nem Schreib­tisch im unters­ten Stock­werk des Kran­ken­hau­ses Bal­grist. Im Zim­mer sind noch drei andere Leute, das Klima ist locker, aber ein jeder macht halt sein Ding. Und mein Ding ist halt momen­tan die Ein­ar­bei­tung, wobei ich da auch völ­lig freie Hand habe. Eine kleine Auf­gabe gibt es, ich soll das Pro­gramm für das Lokolift-​​System (der Teil, wel­cher den Pati­en­ten hält) für einen kli­ni­schen Test modi­fi­zie­ren. Dafür sind einige Tests not­wen­dig, um dann die Pro­gramm­än­de­rung durch­zu­füh­ren. Aber das war auch nicht wei­ter dring­lich, wenn ich das recht ver­stan­den habe.

Und so schaue ich vor allem in die Simulink-​​Anleitung hin­ein, mit Lab­view werde ich mich spä­ter noch ein­ge­hen­der beschäf­ti­gen. Dane­ben über­lege ich mir auch, wie ich wäh­rend der Dis­ser­ta­tion mög­lichst pro­fes­sio­nell und effi­zi­ent arbei­ten kann. Ich möchte eigent­lich auf meine Diplom­ar­beit noch was drauf­set­zen. Die fol­gen­den Werk­zeuge werde ich wohl zur Text­ge­stal­tung und Abbil­dungs­er­stel­lung einsetzen:

  • LaTeX als Text­satz­sys­tem (wie gehabt)
  • Vim als Edi­tor (auch schon wäh­rend der Diplom­ar­beit genutzt)
  • Vim-​​LaTeX LaTeX-​​Erweiterung für Vim
  • Make­file zum Com­pi­lie­ren und Aktualisieren
  • GNU­plot zum Erstel­len der Gra­phen (ist für Make­file notwendig)