If Fase Logo

mit Google im Archiv der If Fase

Ausgabe 23 vom 1. Dezember 2007 (als PDF):

30. November 2007 – Dr. Ludger Humbert

LaTeX – Teil 23: Tabellensatz

In einer Reihe von Artikeln in der If Fase werden nützliche Elemente von LaTeX vorgestellt, die erprobt sind und bei der Arbeit der Informatiklehrerin eingesetzt werden.

In den bisher vorgelegten dreiundzwanzig Teilen der Artikelserie – Ausgaben 0 … 22: rhinodidactics.de/Archiv – finden Sie Hinweise und Anmerkungen zu den Themen: Installation, grundlegende Arbeitsweisen, Quellen zu Dokumentationen, Arbeit mit KOMAscript, PSTricks, PSfrag, Erstellung von Arbeitsblättern, Struktogrammen, Automatengraphen, Elemente von UML, Barcodes, Formularerstellung, Zitieren, Abbildungen, ER Diagramme (mehrfach), Fragen der [Mikro-]Typografie, Setzen von Briefen, Graphiken mit LaTeX erstellen, sowie Einbinden von Lizenzbedingungen in LaTeX-Quelltexte sowie in PDF-Dokumente. Mit der hier vorliegenden Ausgabe 23 wird thematisiert, wie Tabellen erfolgreich gesetzt werden können.

Die Stärke von LaTeX – alles wird mit ACSII bewerkstelligt

Die Überschrift impliziert Eulen nach Athen zu tragen, da jedem Menschen, der auch nur ansatzweise mit LaTeX gearbeitet hat, diese Eigenschaft zuvorderst begegnet (und hoffentlich froh macht – oder kennen Sie ein schnelleres Werkzeug, um direkt mit der Arbeit zu beginnen, als einen Editor – es muss ja nicht gleich der Emacs sein ;-). Allerdings sind es die mit dieser Möglichkeit verbundenen mächtigen Ausdrucksweisen, die uns ab und zu auch Zeit kosten: wer vermag schon, alle Parametrisierungen, die für die Erledigung einer konkreten Aufgabe notwendig, nützlich, bedenkenswert sind, zu behalten, wenn sie nicht täglich eingesetzt werden.

Kraftvoll – und einfach – Tabellen setzen

% array tabular -- ein vollständiges Beispiel 

\documentclass[a4paper]{scrartcl}

\usepackage[latin1]{inputenc}

\usepackage{array}

\begin{document}

 \begin{tabular}{%

      p{1cm}     p{2cm}       l                 p{1.5cm} }

      Zeit     & Phase      & Aktivität      & Medium \\

    \hline  

      $7^{45}$ & Begrüßung  &                &        \\

               & Einführung & Stiller Impuls & Folie \\

    \ldots{}            

 \end{tabular}

\end{document}

einfache Tabelle

Mit Unterstützung des Pakets array gesetzte Tabelle

Für LaTeX stehen verschiedene Pakete bereit, die spezielle Aspekte zur Erstellung von Tabellen berücksichtigen. Im Rahmen dieses Artikels werden einige dieser Pakete vorgestellt – eine vertiefende Auseinandersetzung verbietet sich ob des Charakters dieser Serie. Die Standardschnittstelle ist mit den Paketen tabular, tabular* und array gegeben. Für diese Schnittstelle sind einige Eigenschaften identisch, so dass einmal verstandene Formatierungselemente in allen drei Fällen funktionieren: // trennt die Zeilen der Tabelle – & trennt die Spalten. Sollen waagerechte Linien gesetzt werden, wird dies mit \hline erreicht. Über dieses Wissen hinaus ist es notwendig, Angaben zum konkreten Spaltenlayout vorzunehmen. Dies wird die erste Zeile nach \begin{tabular}{ bewerkstelligt. In dem ersten Beispiel wurden drei feste Breiten gewählt, innerhalb dieser wird der übliche Paragraphensatz vorgenommen – die dritte Spalte hingegen wurde beispielhaft linksbündig ohne Breitenangabe vorgesehen (alternativ sind c für zentriert oder r für rechtsbündig vorgesehen. Zwischen die Spaltenlayoutangaben können durch | senkrechte Linien gesetzt werden – ich lehne dies aber aus Gründen der Lesebarkeit ab. Weitere Layoutmöglichkeiten sind der bereits empfohlenen Literatur zu entnehmen.

Es scheint, dass die Bestimmung der Breite von Spalten durch Algorithmen durchaus zu guten Ergebnissen führen kann – was liegt also näher, als Pakete zu nutzen, die diese Algorithmen für LaTeX verfügbar machen: tabluarx, tabluary.

Feinheiten – Einschränkungen

Was ihr wollt – ein wenig zusätzlicher Aufwand ist notwendig, um all' die Feinheiten umzusetzen, die beim Tabellensatz immer mal wieder gewüscht werden:

Farbe

Tabelle mit grauen und farbigen Zellen

Mit Unterstützung des Pakets colortbl gesetzte Tabelle

% colortbl -- ein Beispiel 

\documentclass{article}

\usepackage[latin1]{inputenc}

\usepackage{array}

\usepackage{colortbl}

\begin{document}

 \begin{tabular}

  {>{\columncolor{blue}\color{white}\bfseries}lr}

  \rowcolor[gray]{0.8}

     \color{black} Tag     & \bfseries Teilnehmende  \\[2pt]

      Montag   & 312     \\

      Dienstag & 817     \\

      \ldots{} & \ldots{} \\

     \cellcolor[gray]{0.8}\color{black} Summe & 3124       

 \end{tabular}

\end{document}

Tabellen über mehrere Seiten

Sehen Sie sich die Pakete longtable und supertabular an. Ein wichtiger Hinweis: in beiden Varianten ist es unmöglich, innerhalb eines Paragraph einen automatischen Seitenumbruch zu erreichen – hier ist gerade bei Unterrichtsentwürfen Handarbeit angesagt, wenn der Verlauf länger als eine Seite werden sollte. Dies ist aber auch nicht unbedingt anzuraten.

Fußnoten in Tabellen

Eine der Stärken von LaTeX besteht in dem Satz von Fußnoten und der eleganten Lösung aller damit zusammenhängenden Probleme. Bei der Verwendung von Fußnoten in Tabellen ist diese Möglichkeit auf zwei Wegen zu erreichen: innerhalb der Tabelle wird die Fußnote angekündigt \footnotemark, außerhalb wird der Fußnotentext \footnotetext bereitgestellt. Bei der zweiten Möglichkeit wird wiederum ein eigenes Paket genutzt blkarray – wobei ergänzend zu bemerken ist, dass longtable diese Variante auch unterstützt. Damit kann – wie gewohnt – im laufenden Text (also in der Tabelle) ganz normal mit \footnote{...} gearbeitet werden (mein Dank für den Bericht in der aktuellen Ausgabe 4/2007 der TeXnischen Komödie von Herbert Voß).

Tabellen in Tabellen

Neben der bereits oben erwähnten LaTeX-typischen Orthogonalität existiert gerade für den Bereich Tabellen eine Eigenschaft, die durchaus häufiger eingesetzt werden kann, wenn komplexe Tabellenstrukturen realisiert werden sollen: Wir können komplette Tabellen als Zellen in andere Tabellen einbinden.

Suchen – Finden

Herbert Voß bietet auf der Webseite tug.org/TeXnik/mainFAQ.cgi (im Index nach Table/Array Tips Ausschau halten) eine wohlsortierte Sammlung mit einigen Tipps zu Tabellen und Verweisen auf die jeweiligen Quellen, mit Beispielen (auch im Quellcode) und gesetzten Ergebnissen, die viele der Fragen beantworten, die im Laufe der Zeit bei der Arbeit mit Tabellen auftauchen. Eine weitere Möglichkeit besteht darin, über einen CTAN-Server eine Suche nach Paketen durchzuführen, die table enthalten. www.dante.de/cgi-bin/ctan-index Dann werden alle Pakete gefunden, die irgendetwas mit Tabellensatz zu tun haben.

Weitere Möglichkeiten, um Tabellen zu erstellen, die mich aber nicht überzeugen konnten, bestehen darin, aus Büropaketen mit Hilfe der Exportfunktion, wie sie bei Abiword oder Openoffice.org existieren, eine LaTeX-Datei zu erzeugen. Allerdings waren die Ergebnisse nicht so, dass auf Anhieb eine weitere Arbeit gut unterstützt wurde – das Layout war einfach schlecht. Einzig die Exportfunktion von Gnumeric hat mich etwas mehr überzeugt.

Die hier veröffentlichten Inhalte stellen keine Meinungsäußerungen der Studienseminare Hamm Arnsberg dar.
© Redaktion If Fase