Tabellen

Tabellen verursachen regelmäßig Probleme, wenn Sie mit vielen Formatvorlagen geschmückt sind oder eine Zelle weiteren Tabellen enthält. Solche Konstrukte in ein einheitliches Aussehen zu bringen, erweist sich als schwierige und zeitaufwendige Aufgabe. Da fällt es oft leichter, wenn Sie den Autor auffordern, die Tabelle mit Calc statt mit Writer zu erstellen.

Dies hat zwei Vorteile: Zum einen legt der Autor nur den Inhalt fest, die Formatierung ignorieren Sie einfach. Zum anderen ermöglicht die Applikation sehr einfach, in Tabellen zu rechnen: Es stehen alle Möglichkeiten von Calc bereit, eine Writer-Tabelle muss da passen.

Die Calc-Tabelle exportieren Sie in eine CSV-Datei, wobei alle Formate verloren gehen. Anschließend wandeln Sie das CSV mit einem Editor wie Sed oder mit einem Ant-Task in eine LaTeX-Tabelle um. Der Task calc2csv ruft dabei LibreOffice Calc auf und exportiert die Tabelle im CSV-Format (Listing 8). Dabei das Komma (44) als Spaltentrenner, für Zeichenketten kommt das doppelte Anführungszeichen (34) zum Einsatz. Mit terminateooo wird LibreOffice wieder beendet. Anschließend lässt sich die CSV-Datei in eine LaTeX-Tabelle umwandeln – das Ergebnis zeigt Listing 9.

Listing 8

<calc2csv srcfile="${odt.dir}/tab_bsp.ods"
  destfile="${target.dir}/tab_bsp.csv"
  ooopath="/usr/lib/openoffice/program"
  csvoption="44,34,UTF8" />
<terminateooo />
<csv2tabular srcfile="${target.dir}/tab_bsp.csv"
  usesrcfile="true"
  workdir="${target.dir}"
  head="true"
  firstlinehead="true"
  headcol="\textbf"
  mode="tabular"
  columntypes="|l|r|" />

Listing 9

\begin{tabular}{|l|r|}\hline
\textbf{Peter} & \textbf{13} \\\hline
Uschi & 23 \\\hline
 & 36 \\
\hline
\end{tabular}
\endinput

Um diese Tabelle einzubinden, markieren Sie sie im Writer-Dokument mit einer Textzeile. Im Beispiel sieht diese wie folgt aus:

TABELLE::Tabellenbeschriftung::Datei::

Diese Zeile verwenden Sie später in dem zweistufigen Makro input (Listing 10). Beim Export ersetzt es Sonderzeichen wie den Unterstrich entsprechend. Enthält der Dateiname der CSV-Datei einen Unterstrich, so machen Sie die ungewollte Ersetzung mit sedlatex wieder rückgängig. Anschließend wandeln Sie mit Sed die Markierung in entsprechende LaTeX-Makros um. Hier im Beispiel lautet der Name des Makros InputIfFileExists.

Listing 10

<sedlatex srcfile="${odt.dir}/dok_tab.tex"
  destfile="${target.dir}/dok_tab.tmp">
  <configsedlatex start="TABELLE" sep="::"
   group="2" search="\_" replace="_" />
</sedlatex>
<sed srcfile="${target.dir}/dok_tab.tmp"
  destfile="${target.dir}/dok_tab.tex">
  <configpair one="TABELLE::(.*?)::(.*?)::"
   two="\\InputIfFileExists{$2.tex}{}{Tabelle nicht gefunden!}\\n" />
</sed>

Möchten Sie die Tabelle lieber in einer Gleitumgebung mitsamt Beschriftung sehen, so hilft der Parameter aus Listing 11.

Listing 11

two="\\begin{table}\\caption{$1}\\InputIfFileExists{$2.tex}{}{Tabelle nicht gefunden!}\\end{table}"

Fazit

Nach dem Umwandeln in LaTeX dürfen Sie die Datei beliebig ändern. Beachten Sie dabei aber, dass Sie alle manuellen Änderungen in der LaTeX-Datei nachpflegen müssen, wenn der Autor am Writer-Dokument Änderungen vornimmt.

Mit etwas Experimentierfreude wandeln Sie selbst komplexere Writer-Dokumente im Handumdrehen automatisch nach LaTeX um. Damit eignet sich Writer als komfortablen Editor für das Satzsystem. Im W2L-Handbuch finden Sie noch weitere interessante Möglichkeiten – ein Blick lohnt sich auf jeden Fall. 

Infos

[1] Writer2LaTeX-Paket: http://writer2latex.sourceforge.net/

[2] Apache-Ant-Erweiterung Ant-Worker http://sourceforge.net/projects/antworker/

[3] XeTeX: Daniel Stender, "Weltsprache", LU 11/2008, S. 76, http://www.linux-community.de/17025

[4] Luatex: http://www.luatex.org

[5] Parameter von W2L: http://writer2latex.sourceforge.net/doc1.2/user-manual14.html#toc27

Der Autor

Michael Niedermair schreibt als Lehrer an der Münchner IT-Schule viel – vor allem Unterrichtsskripte zusammen mit Kollegen, die LaTeX nicht verwenden. Ansonsten programmiert er viel mit Java und bereitet seine Schüler auf die LPI-Prüfung vor.

Diesen Artikel als PDF kaufen

Express-Kauf als PDF

Umfang: 5 Heftseiten

Preis € 0,99
(inkl. 19% MwSt.)

LinuxCommunity kaufen

Einzelne Ausgabe
 
Abonnements
 
TABLET & SMARTPHONE APPS
Bald erhältlich
Get it on Google Play

Deutschland

Ähnliche Artikel

Kommentare

Infos zur Publikation

LU 09/2016: Ciao, Windows!

Digitale Ausgabe: Preis € 5,99
(inkl. 19% MwSt.)

LinuxUser erscheint monatlich und kostet 5,95 Euro (mit DVD 8,50 Euro). Weitere Infos zum Heft finden Sie auf der Homepage.

Das Jahresabo kostet ab 86,70 Euro. Details dazu finden Sie im Computec-Shop. Im Probeabo erhalten Sie zudem drei Ausgaben zum reduzierten Preis.

Bei Google Play finden Sie digitale Ausgaben für Tablet & Smartphone.

HINWEIS ZU PAYPAL: Die Zahlung ist ohne eigenes Paypal-Konto ganz einfach per Kreditkarte oder Lastschrift möglich!

Aktuelle Fragen

KWord Quiz
Carl Garbe, 30.08.2016 16:19, 0 Antworten
KWord Quiz lässt sich bei mir (nach einem update auf Ubuntu 16.04 LTS) nicht mehr speichern, kann...
NOKIA N900 einziges Linux-Smartphone? Kein Support mehr
Wimpy *, 28.08.2016 11:09, 1 Antworten
Ich habe seit vielen Jahren ein Nokia N900 mit Maemo-Linux. Es funktioniert einwandfrei, aber ich...
Scannen nicht möglich
Werner Hahn, 19.08.2016 22:33, 3 Antworten
Laptop DELL Latitude E6510 mit Ubuntu 16,04, Canon Pixma MG5450. Das Drucken funktioniert, Scann...
Wie kann man das berichtigen
Udo Muelle, 17.07.2016 20:39, 1 Antworten
Fehlschlag beim Holen von http://extra.linuxmint.com/dists/rosa/main/binary-i386/Packages Hash-S...
Installation Genimotion
Horst Müller, 15.07.2016 17:00, 1 Antworten
Hallo, ich kann Genimotion nicht installieren. Folgende Fehlermeldung habe ich beim Aufruf erh...