31.03.2010
Musikalben mit LaTeX dokumentieren
von ritze.
Da eine Musiksammlung in der Regel ständig wächst und somit die Wahrscheinlichkeit zunimmt, dass man den Überblick verliert und nicht mehr weiß, ob man bereits stolzer Besitzer des jeweiligen Album ist oder nicht, habe ich mir vorgenommen, meine gekauften Alben mit LaTeX aufzuschreiben. Da ich zuvor noch nie LaTeX im Einsatz hatte, es jedoch erlernen wollte, hat dies am Anfang dementsprechend Zeit in Anspruch genommen. Aber schließlich habe ich es doch geschafft, ein anständiges Dokument zu erschaffen.
Im Dokumentenkopf werden ein paar Werte festgelegt und Pakete geladen:
1 2 3 4 5 6 7 8 9 10 11 12 | \documentclass[10pt,paper=a4,ngerman]{scrartcl} \usepackage{babel} \usepackage[utf8]{inputenc} \usepackage[T1]{fontenc} \usepackage{color} \usepackage{geometry} \usepackage{multicol} \columnseprule0.2pt \geometry{a4paper,left=1cm, right=1cm, top=1cm, bottom=1cm} \definecolor{genre}{gray}{.5} |
Schließlich habe ich noch ein paar Funktionen definiert, was später den Eintrag neuer Alben erleichtern soll:
1 2 3 4 5 6 7 8 9 10 11 | \newcommand{\genre}[1]{ \textcolor{genre}{\large{\textsc{\textbf{#1}}}\normalsize}\\[2pt] \begin{tabular}[c]{p{1pt}p{4cm}llr} \hline } \newcommand{\artist}[1]{\multicolumn{3}{l}{\textbf{#1}}\\} \newcommand{\album}[2]{& #2 & #1\\} \newcommand{\split}{ \end{tabular} \begin{tabular}[c]{p{1pt}p{4cm}llr} } |
Danach folgt der der eigentliche Inhalt:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | \begin{document} \begin{multicols}{3} \genre{House} \artist{The Prodigy} \album{1997}{The Fat of the Land}[10pt] \end{tabular} \genre{Rock} \artist{Gorillaz} \album{2001}{Gorillaz} \artist{The Killers} \album{2004}{Hot Fuss} \album{2006}{Sam's Town} \album{2007}{Sawdust} \album{2008}{Day \& Age} \artist{The Kinks} \album{1994}{You Really Got Me - The Very Best of the Kinks} \artist{Muse} \album{2006}{Black Holes and Revelations}[10pt] \end{tabular} |

Das Zeichen & muss man bei den Alben bzw. Interpreten mit \ auskommentieren, damit es von LaTeX nicht als Trennlinie zwischen zwei Zellen interpretiert wird. [10pt] definiert dabei den Abstand zwischen der ersten und zweiten Tabelle bzw. Genregliederung. Mit dem Paket longtable kann man erreichen, dass die Tabelle beim Seitenende abgebrochen wird und auf der nächsten Seite weiter ausgeführt wird, jedoch funktioniert das Paket nicht mit mehrspaltigen Dokumenten, so dass man den Tabellenumbruch von Hand machen muss. Dabei genügt es einfach ein \split in der offenen Tabelle einzufügen.