Google Cheat Sheet

Ich war ganz begeistert, als ich mal das LaTeX- und das Matlab-CheatSheet gefunden habe (hier eine ganze Seite mit CheatSheets). Da wollte ich schon immer eine Variante für Google machen. Und noch eine für SPSS. Bei Google gab es eine gute Vorlage, also habe ich damit mal angefangen. Und dabei natürlich wieder mal sehr viel über Tabellen, Minipages etc. in LaTeX gelernt.

Mein fertiges Exemplar kann hier angeschaut werden, und hier der Quellcode.

Jetzt zu den größten Hürden und kleinen Merkwürdigkeiten. Die Seite besteht aus 3 Minipages. Hier eine kleine, gemeine Hürde: Zwischen \end{minipage} und dem nächsten \begin{minipage} darf keine Leerzeile stehen. Andernfalls landet die Minipage auf der nächsten Seite. Es spielt keine Rolle, ob man dort noch ein \hfill reinbastelt, das ändert gar nichts. Kein Absatz! Mit Nachdenken macht das auch Sinn, denn der nächste Absatz ist eben auf der nächsten Seite, jedenfalls wenn die Minipage nur lang genug ist.

Zwei Dinge, die ich um's Verrecken nicht geschafft habe: Die leere Seite 1 wegzaubern, und alle 3 Minipages ganz oben anfangen lassen. (Wenn jemand mit [t] ankommt, MACH ISCH DISCH KRANKENHAUS.) Wie man sieht, beginnt nur die ganz linke, also die erste Minipage ganz oben. Die mittlere und die rechte beginnen jeweils etwas weiter unten. Das sieht man nur beim zweiten Hingucken, aber mich nervt sowas.

Jetzt zu einem wirklich blöden Ding. Bei folgendem Code wird die Tabelle immer etwas nach rechts eingerückt:

\begin{tabular}{ccc}
...

Grund: Jede Tabelle hat einen Rahmen, bzw. jede Spalte Begrenzungslinien. Diese müssen auf 0 gestellt werden:

\begin{tabular}{@{}ccc@{}}
...

Mit dem Operator @{} können die Breiten der Begrenzungslinien festgelegt werden. Sehr nützlich, aber wissen muss man's.

Und jetzt zum blödesten Ding: Bekanntlich formatiert LaTeX die Breite der letzten Spalte nicht. Hier muss man grundsätzlich die Breite selbst einstellen, und zwar mit p{width}. Das nervt erstens, und zweitens wollte ich unbedingt linksbündigen Text statt Blocksatz. Das p macht aber nur Blocksatz. Was nun? Die erste Antwort ist tabularx. Das stellt den Operator X zur Verfügung. Damit wird die Breite automatisch angepasst (es gibt da noch ein paar Feinheiten, daber die sind nicht wichtig). Leider bekommt man aber auch hier einen Blocksatz. Das Zaubermittel: Mit tabularx kann man einen neuen Spaltentyp definieren. Genial! Das sieht dann so aus:

\newcolumntype{L}{>{\raggedright\arraybackslash}X}

Das kann sowohl in der Preamble als auch vor der Tabelle stehen. Das Kommando >{\cmd} erlaubt, dass xyz direkt vor der Spalte ausgeführt wird. Weitere Ausführungen dazu hier. Sehr lesenswert!