deutsche Beiträge


12
Dec 10

Abschlussarbeit mit LaTeX (Vorlage)

Nachdem meine Abschlussarbeit jetzt bereits ein Stückchen hinter mir liegt, möchte ich noch fix etwas Wissen ins Netz werfen, bevor es sich aus meinem Kopf verflüchtigt hat. Dies ist auch ein Tribut an zahllose Blogs, Foren und Mailinglisten, die ich während des Schreibens aufgesucht habe, um verschiedene Probleme zu lösen. Hoffentlich löst dieser Post das ein oder andere Problem für jemand Anderen ;-)

Als ich angefangen habe meine Abschlussarbeit zu schreiben stand für mich fest: das wird mit LaTeX erledigt. Dies war natürlich nicht mein erster Kontakt mit LaTeX. Da ich leider keine (gute) Vorlage für meine Arbeit gefunden habe, ergaben sich dennoch einige Schwierigkeiten, die ich umschiffen musste. Das Resultat meiner Bemühungen war eine recht angenehm zu verwendende Projektstruktur, welche ich jetzt nochmals für diesen Post in generischer Form aufgearbeitet habe.

Einige grundlegende Empfehlungen vornweg:

  • die Arbeit sollte (sinnvoll) in mehrere Dokumente und Verzeichnisse aufgeteilt sein
  • alle Dokumente sollten versionsverwaltet sein
  • wer kein Backup hat ist selber schuld! Am besten online (e-Mail) und offline (USB-Stick)

Als Basis für meine Arbeit (und damit auch für das Template) habe ich die KOMA-Script scrreprt-Klasse gewählt. Diese Klasse bietet sinnvolle Standards und kann einfach und sehr flexibel konfiguriert werden – habe es nicht bereut. Zur Lösung des ein oder anderen Problems kamen dann während des Schreibens immer wieder neue Pakete dazu. Die wichtigsten (nicht trivialen) seien hier kurz aufgeführt:

  • listings zur Darstellung von Quelltext mit farblicher Syntaxhervorhebung
  • da ich mit jurabib zum zitieren immer mal wieder merkwürdige Probleme hatte binauf natbib und germbib umgestiegen
  • glossaries und nomencl für das Glossar- und Abkürzungsverzeichnis (da ich zu Faul war mit einem Paket mehrere Verzeichnisse anzulegen)
  • PGF und TikZ für verschiedenste Diagramme

Hier also das Template sowie das daraus generierte Beispiel (PDF):

LaTeX Vorlage für eine Abschlussarbeit

LaTeX Vorlage

Beispiel PDF

Beispiel PDF

Inhalt und Struktur des Templates:

  • Makefile: Konfigurationsdatei für make mit vier Optionen: pdf (führt nur pdflatex aus), all (führt alle Schritte aus), glo (nur Glossar) und clean (räumt Projektverzeichnis auf). Weitere Build-Ziele können leicht hinzugefügt werden
  • dokument.tex: Hauptdokument: Von hier werden alle weiteren LaTeX-Dateien eingebunden. Für alle LaTeX Werkzeuge (pdflatex, etc.) ist dies die Quelldatei
  • header.tex Alle benötigten Pakete werden hier eingebunden und konfiguriert
  • kapitel1.tex, kapitel2.tex, kapitel3.tex und anhang.tex: LaTeX Dateien mit dem eigentlichen Inhalt der Arbeit. Diese werden in dokument.tex eingebunden.
  • titlepage.tex: Enthält die Titelseite
  • glossar.tex: Enthält das Glossar
  • img/unilogo.png: Logo der Universität (wir auf Titelseite eingebunden)
  • quellen.bib: Literaturangaben/Quellen im Bibtex-Format

Ich hoffe dem ein oder anderen bei technischen Umsetzung seiner Diplom-, Master-, Bachelor- oder Hausarbeit ein bisschen geholfen zu haben.


15
Jan 10

Latex: Zitieren mit jurabib

Nach etlichen (nervigen) Versuchen mit natbib, bibgerm und babelbib bin ich jetzt bei jurabib für die Zitate und das Literaturverzeichnis meiner Diplomarbeit gelandet.

Die Jurabib Dokumentation ist ausführlich und vor allem funktionieren die Fußnotenzitate und das Literaturverzeichnis so wie ich mir das wünsche.

Kurzes LaTeX Beispiel:


% jurabib einrichten

\usepackage[authorformat=smallcaps,round,ibidem=name&title&auto,oxford]{jurabib}
% jetzt kann man fröhlich zitieren
\cite{dimacs93:format}

\footcite[Seite 24,25]{weicker07:evoalg}

\cite[Seite 2 ff.]{dimacs93:format}

\citep[Seite 23,24]{weicker07:evoalg}
% für folgendes Bild:
Algorithmus laut \citep[Seite 83]{weicker07:evoalg} \footcite[Seite 83]{weicker07:evoalg}.

Ergebnis von Zeile 11 des oben stehenden Quelltextes:

\footcite mit jurabib

Daraus habe ich noch schnell einen neuen Befehl gemacht und schon geht das Zitieren relativ bequem:

\newcommand{\zitat}[2][]{
	\ifthenelse
	{\equal{#1}{}}
	{\citep{#2}\footcite{#2}}
	{\citep[#1]{#2}\footcite[#1]{#2}}
}
Algorithmus laut \zitat{weicker07:evoalg}.
Algorithmus laut \zitat[Seite 83]{weicker07:evoalg}.