LaTeX Start

Eigentlich wollte ich nur zum Thema Markdown was schreiben, irgendwie ist’s dann doch etwas ausgeartet bei mir und ich hab mir über’s Wochenende mal ein bisschen LaTeX angeschaut (was ich sowieso schon lange, lange mal machen wollte…). Und ich muss gestehen, mir taugt das ganze recht gut. Hab das ganze schon mal ganz kurz beim Thema Markdown für Präsentationen angeschnitten…

Ich verwende LibreOffice eigentlich höchstselten (nicht, dass die Software schlecht ist, jedoch für meine Bedürfnisse zu bloatet). Generell reicht mir ein Markdown-File, was ja an und für sich sehr viele Vorteile bietet

  • Plaintext Files
  • was heisst, Versionsverwaltung ist easy
  • zum Erstellen reicht ein Editor nach eigenem Gusto

Wenn man aber nach aussen etwas senden sollte, ist Markdown doch recht eingeschränkt, darum hab ich mal LaTeX ein bisschen angeschaut. Ist jetzt nicht so, dass ich ein “LaTeX-Master” werden will – meine Dokumente sind in der Regel recht simpel: Titelseite, TOC und einige Absätze, vielleicht ab und an eine Tabelle und ein Bild. Und wenn man da mal ein passendes ‘Template’ hat, ist die ganze Sache doch recht einfach, auch wenn man länger nicht mit LaTeX gearbeitet haben sollte.

Das ganze hier ist komplett chaotisch aufgebaut, soll ja auch nur für mich als Spickzettel dienen… 😉

Installation

Wenn man nicht gleich texlive-full montiert, reichen diese Packages aus

Das ist auch Speichermässig nicht ganz so wild, wie die komplette Texlive-Suite

Need to get 118 MB/142 MB of archives.
After this operation, 415 MB of additional disk space will be used.

und nun kann man auch schon loslegen

tex-File

Legt man sich nun also ein .tex-File an, dann startet ein solches etwa in dieser Form:

Für Kommentare verwendet man %. Bei documentclass definiert man die Seiten- und Schriftgrösse sowie den Dokumententyp (was ich aber bisher auch nicht weiter beachtet hab).
usepackage ist, soweit ich verstanden hab, so etwas wie ein include einer anderen Klasse. Im Beispiel sind einfach mal einige aufgelistet.

Dokument

Das eigentliche Dokument findet innerhalb eines begin- und end-Abschnittes statt

Titelseite

Eine Titelseite erstellt man ganz einfach mit maketitle innerhalb des document-Feldes

Die Informationen holt sich LaTeX von den gegebenen Informationen

selbstverständlich lässt sich das auch weiter definieren, z.B.

Mehrspaltiger Text

Wenn man ein Dokument mit zwei Spalten erstellen möchte, kann man das bereits in der documentclass definieren

Falls man jedoch nur innerhalb des Textes teilweise mehrere Spalten verwenden möchte, kann man das entweder mittels \twocolumn aktivieren (bzw. wieder mit \onecolumn deaktivieren. Besser gefällt mir jedoch das Paket ‘multicolumn‘. Damit lassen sich auch mehr als zwei Spalten definieren.

Schriften

Generell sollte man man fontenc setzen, damit es zu keinen Problemem mit der Darstellung von Umlauten kommt..

Mittels \textrm verwendet man normale Schrift, \textsf ist für Serifenlose Schrift und \texttt verwendet man bei Schreibmaschinenschriften.

Damit man nun aber Times oder Helvetica verwenden kann, muss man diese erst importieren

Und dann testen wir das ganze mal…

Um eine spezifische Schrift in einem Abschnitt/Textteil zu verwenden, verwendet man fontfamily/selectfont. Zu dem Thema gibt’s aber einiges zu lesen…auf Stackexchange wird das ein wenig erläutert…

Hier findet man weitere Informationen zu Schriften in LaTeX.

Kopf- / Fusszeilen

Mittels headings kann man Kopf- und Fusszeilen definieren. Folgende Werte sind auch erlaubt: empty, plain und fancy (benötigt fancyhdr). Ein paar Beispiele:

Seitenumbruch

Seitennummerierung

Seitenzahlen werden mit \pagenumbering gesetzt. Auf einer Titelseite will man in der Regel jedoch keine Seitenzahl. Mit gobble vor \maketitle wird das deaktiviert

Ansonsten kann man die Seitenzahlen entweder mit 1,2,3… oder I,II,III,… angeben

Abschnitte

Titel können straightforward mit section, subsection etc angelegt werden. Gibt’s nicht viel zu berichten.

Eine Besonderheit ist noch, dass ein Alternativ-Text gesetzt werden kann, welcher im TOC verwendet wird (z.B. Kurzform, wenn’s ein langer Titel ist)

TOC

Ein Inhaltsverzeichnis legt man mittels tableofcontents an

Abschnitt ohne TOC-Eintrag

Verwendet man *, kann man einen Abschnitt definieren, welcher nicht im TOC erscheint

Textformatierung

Ohne grossen Kommentar

Textausrichtung

Code-Schnipsel

Code-Schnipsel kann man mittels verbatim einfügen

Möchte man den Schnipsel in einer Box mit Rahmen dargestellt haben, muss das Package moreverb geladen werden

Aufzählungen

Punkte

Nummerierungen macht man mit itemize

Wenn man den Abstanz zwischen der Aufzählung verkleinern möchte, kann man itemsep verwenden

Nummern

Nummerierungen werden mit enumerate erstellt

Bilder

Nur ganz kurz oberflächlich mit einem Beispiel angerissen, ohne auf figure einzugehen:

Es lässt sich auch by default ein Bildpfad festlegen

Tabellen

Kleine Tabellen sind noch ganz ok, aber sobald es etwas komplexer wird, finde ich (als blutiger Anfänger) recht mühsam. Dann verwende ich Tables Generator. Das ist ein Online-LaTeX-Tabellen Generator. Würde ich manuell glaub ich verzweifeln, bei gewissen Layouts…

Bei einer etwas längeren Tabelle hatte ich auch das Problem, dass die “über die Seite raus ging”, also nur halb sichtbar war. Das kann man jedoch recht simpel durch anpassen der Schriftgrösse umgehen (zb. nach \begin{table} einfach noch \scriptsize (oder was auch immer) setzen).

Variabeln

Man kann auch eigene Variabeln definieren

Das kommt mir grad zugut, wenn man Dokumente aufsplittet, was ich gleich erwähne…

Aufsplitten des Dokuments

Ein Dokument lässt sich in mehrere tex-Files aufsplitten. Finde ich auf den ersten Blick schon nützlich:
So kann man eine fix definierte Titelseite für alle Dokumente einsetzen. Ändert man dieses und erstellt ein Dokument neu, hat man automatisch das aktuelle Titelblatt. Um das ganze generisch zu definieren, kann man in der Titelseite Variabeln verwenden. Sehr cool.

Um also die Titelseite einzubinden, reicht ein input (anstatt maketitle, denn der ist in der anderen Datei definiert) aus. Nehmen wir also an, die Titelseite nennt sich ‘titelseite.tex’, schaut das so aus:

und natürlich auch hier: Variabeln machen das ganze noch simpler… 😉

PDF Erstellung

Um ein PDF zu erstellen verwendet man pdflatex. Ich mach das direkt aus vim

Es gibt jedoch auch andere Tools, wie beispielsweise rubber die hierzu verwendet werden können.

Makefiles

Uch, damit hab ich nicht gerechnet, aber man kann makefiles schreiben für LaTeX-Dokumente. Dazu legt man einfach das entsprechende File an (Makefile) und befüllt dies mit den gewünschten Werten. Ein ultrasimples Makefile schaut etwa so aus:

Nun kann man das ganze einfach mit einem make kompilieren.

Ein bisschen ein erweitertes Makefile (bin nur am rumtesten)

nun kann man zb. ein make watch starten und das Tex-File bearbeiten. Ist das ganze in einem PDF-Reader geöffnet, hat man sozusagen eine Live-Preview und benötigt kein vim-plugin dazu.

PDF-Metadaten

Gleich zu Beginn ist mir aufgefallen, dass die PDF-Metadaten nicht gesetzt wurden. Das kann man so ändern:

Konvertierung

Konvertierung ? Dazu gibt es doch pandoc… damit kann man z.B. auch sehr einfach aus einem LaTeX-File ein ODT erstellen

Vorlagen

Auf Overleaf findet man überigens auch zahlreiche Templates für LaTeX…

Fazit

Wenn ich ehrlich bin – mir gefällt das ganze eigentlich ganz gut… deswegen werde ich in nächster Zeit auch versuchen, LaTeX öfter einzusetzen und dann seh ich schon, wie das ganze läuft. Wie gesagt, ich will hier kein ‘Master’ werden und für meine Nutzung ist das auch absolut nicht nötig.wenn ich ehrlich bin – mir gefällt das ganze eigentlich ganz gut… deswegen werde ich in nächster Zeit auch versuchen, LaTeX einzusetzen und dann seh ich schon, wie das ganze läuft…aber dazu ein anderer Post bei Gelegenheit.