LaTeX

Aus SDQ-Wiki

Vorlagen

Empfohlene Software

Online-Plattformen

Overleaf ist eine Plattform, die das Erstellen von LaTeX-Dokumenten im Browser ermöglicht.

  • Overleaf kann von allen Studierenden und Mitarbeiter/-innen des KIT kostenlos in der Professional-Variante genutzt werden. [1]
  • Overleaf bietet auch eine git-Schnittstelle, über die die Projekte auch lokal bearbeitet werden können.
  • Die Dokumentvorlagen von SDQ sind in der Overleaf-Galerie eingepflegt. [2], [3]

Distributionen

  • TeX Live: Distribution für verschiedene Betriebssysteme
  • MikTeX: Distribution für Windows
  • MacTeX: Distribution für macOS

Editoren

Tutorials und Hilfen

BibTeX

zur Erstellung von Literaturangaben und -verzeichnissen

Tipps und Tricks

»Todsünden« vermeiden

Es gibt veraltete Makros und Pakete für LaTeX, die nicht mehr verwendet werden sollten. Diese und weitere findet man im LaTeX2ε-Sündenregister.

Weitere »Todsünden« haben wir hier formuliert.

Absätze mit \\ beenden

Absätze im LaTeX-Quelltext werden durch zwei Zeilenumbrüche im Quelltext getrennt. Nur dann werden die Regeln der Vorlage für das Trennen von Absätzen (Abstand/Einzug) angewandt. Der Befehl \\ fügt einen Zeilenumbruch innerhalb eines Absatzes ein, ohne Abstände und Einzüge zu erzeugen. Daher muss im Normalfall immer die Trennung durch zwei Zeilenumbrüche benutzt werden, da sonst das Layout leidet.

Siehe auch https://de.overleaf.com/learn/latex/Line_breaks_and_blank_spaces#Reference_guide

Abbildungen

Erstellen

  • Für Diagramme wie z.B. Graphen, UML-Diagramme u.ä. ist TikZ die eleganteste Lösung, erfordert jedoch einen hohen Lernaufwand.

Einbinden

  • Diagramme und Tabellen aus externen Programmen sollten in einem Vektorformat eingebunden werden.
    • Dazu diese als PDF exportieren und einbinden.
    • Fals das Programm nur SVG-Export beherrscht, kann man diese über Inkscape einfach nach PDF konvertieren.
  • Die Option [h] bei Float-Umgebungen wie z.B. figure und table sollte vermieden werden
    • Diese Option macht es für die LaTeX-Algorithmen schwerer, eine gute Position zu finden [4]
    • Wenn man die automatische Positionierung völlig umgehen möchte, ist es besser, minipage mit \captionof zu verwenden [5]

Referenzieren

  • In Float-Umgebungen wie z.B. figure und table muss zuerst \caption{} und dann \label{} aufgerufen werden. Sonst wird möglicherweise die falsche Nummer referenziert.
  • Das Paket Hyperref empfiehlt sich:
    • Referenzen in der generierten PDF-Datei werden klickbar
    • Der Befehl \autoref{} fügt automatisch den richtigen Typ des Querverweises ein, z.B. \autoref{introduction}Section 2, \autoref{classdiagram}Figure 2

Rechtschreibprüfung

  • Einige LaTeX-Editoren unterstützen eine automatische Rechtschreibprüfung, welche standardmäßig aktiviert werden sollte.
  • Umfangreichere LaTeX-Dokumente können zusätzlich mittels Pandoc in Word-Dokumente konvertiert werden, um so die umfangreiche Rechtschreib- und Grammatikprüfung von LibreOffice o. Ä. nutzen zu können.
  • Generell sollten immer die Ausarbeitungshinweise und die Hinweise zum wissenschaftlichen Schreiben beachtete werden.

Silbentrennung/Umbrüche

In manchen Situationen werden Worte von der Silbentrennung nicht erkannt und daher nicht umgebrochen. Dadurch können unschöne Lücken oder über den Rand hinausragende Worte entstehen.

Bindestriche

Wörter mit Bindestrichen (z.B. Travelling-Salesman-Problem) sollte man mit dem Paket extdash so schreiben: Travelling\-/Salesman\-/Problem.

Text in Schreibmaschinenschrift (texttt)

Text innerhalb von \texttt{} wird standardmäßig nicht umgebrochen, da dafür kein Zeilenumbruchzeichen definiert ist. Stattdessen kann man ein eigenes Makro verwenden [6]:

\newcommand\code[1]{\texttt{\hyphenchar\font=45\relax #1}}

Tabelle mit Seitenumbruch (longtable)

Um eine lange Tabelle zu erstellen, kann das Paket "longtable" verwendet werden. Dabei ist wichtig, dass die \captions und \labels an der richtigen Stelle stehen und für jede Folgeseite der Tabellenkopf wiederholt werden kann.

\begin{longtable}{lll}
  \caption{Tabellenbeschriftung (für das Tabellenverzeichnis)} \\
  \toprule
  \emph{Überschrift1} & \emph{Überschrift2} & \emph{Überschrift3} \\
  \midrule
  \label{tab:meineTabelle}
  \endfirsthead
  \caption*{Tabellenbeschriftung (für die nächsten Seiten)}\\
  \toprule
  \emph{Überschrift1} & \emph{Überschrift2} & \emph{Überschrift3} \\
  \midrule
  \endhead
  \multicolumn{3}{r}{{...}continues on next page} \\
  \endfoot
  \endlastfoot
  % hier Tabelleninhalt
  \bottomrule
\end{longtable}

Das Beispiel zeigt eine dreispaltige Longtable mit Tabellenkopf und Wiederholungskopf (ctd.). Im Tabellenverzeichnis wird nur 1 (!) Tabelle angezeigt. Der Hinweis am Ende der Tabelle ("continues on next page") ist natürlich optional. Hilft dem Leser aber.

Seitenformat ändern

Manche Herausgeber (z.B. ACM) verlangen das Letter-Format (216mm×279mm bzw. 11 Zoll×8,5 Zoll). Dieses kann einfach mit dem geometry-Paket erreicht werden.

\setlength{\paperheight}{11in}
\setlength{\paperwidth}{8.5in}
\usepackage[pass]{geometry}

Sichtbare Notizen, Kommentare oder TODOs einfügen

Mit den folgenden Befehlen kann man Notizen, Kommentare, oder TODO-Markierungen ins PDF einfügen und durch einfaches Umschalten an einer Stelle auch wieder ausblenden.

Es gibt für dieses Problem viele Pakete mit Lösungen. Bei uns hat sich das folgende bewährt. Weitere Lösungen können gern hier ergänzt werden.

Mit ifdraft, draftwatermark, mdframed

Die folgenden Pakete einbinden

%% 
%% for draft mode
%%
\usepackage{ifthen}
\usepackage{ifdraft}

\ifdraft{
\usepackage{draftwatermark}
\SetWatermarkAngle{50}
\SetWatermarkLightness{0.9}
\SetWatermarkScale{1}
}{}
\usepackage[framemethod=latex,backgroundcolor=green!15!white]{mdframed}

Nach \begin{document} die für die Notizen zu verwendenen Kommandos definieren. Hier kann man auch für jeden Autor ein eigenes Komando mit eigener Farbe definieren.

\newcommand{\todonote}[1]{\ifdraft{\begin{mdframed}[backgroundcolor=red!15!white]
\textbf{\textcolor{red}{TODO: }} #1
\end{mdframed}}{}}

Um das Dokument in den draft-Modus zu schalten, einfach draft in den Optionen der documentclass ergänzen bzw. im Editor aktivieren, zum Beispiel so bei einem ACM-Paper:

\documentclass[sigconf, natbib=false, draft]{acmart}

Im Text kann man dann eine Notiz mit \todonote{mein Kommentar} ergänzen.

Links