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

  • Professioneller Textsatz mit LaTeX
    Mit dem Textsatzsystem LaTeX stellen Sie professionelle Dokumente vom Brief bis zum Buch selbst zusammen. Im ersten Teil einer dreiteiligen LaTeX-Serie erklären wir die Grundlagen.
  • Mit LaTeX professionelle Texte gestalten
    Briefe und andere kleinere Texte schreiben die meisten Linux-Anwender in LibreOffice Writer. Für größere (und wichtige) Dokumente ist das Officeprogramm aber nur bedingt geeignet – mit LaTeX steht eine Alternative zur Verfügung.
  • Wechselmedien einbinden mit Ivman
    Auf eingelegte Datenträger reagiert das Desktop-unabhängige Werkzeug Ivman flexibel.
  • Mit pdflatex bessere PDF-Dateien erzeugen
    Profi-Textsatz ist und bleibt eine Domäne von LaTeX. Soll das Ausgabeformat PDF sein, liefert pdflatex die besten Ergebnisse.
  • Schönschreiber
    Kurze Texte sind mit LibreOffice schnell erstellt. Für größere (und wichtige) Dokumente ist das Officeprogramm aber nur das zweitbeste Tool – hier hat das Textsatzsystem LaTeX die Nase vorn.
Kommentare

Infos zur Publikation

LU 06/2017: System im Griff

Digitale Ausgabe: Preis € 5,95
(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

Anfänger Frage
Klaus Müller, 24.05.2017 14:25, 2 Antworten
Hallo erstmal. Habe von linux nicht so viel erfahrung müsste aber mal ne doofe frage stellen. A...
Knoppix-Live-CD (8.0 LU-Edition) im Uefiboot?
Thomas Weiss, 26.04.2017 20:38, 3 Antworten
Hallo, Da mein Rechner unter Windows 8.1/64Bit ein Soundproblem hat und ich abklären wollte, o...
Grub2 reparieren
Brain Stuff, 26.04.2017 02:04, 5 Antworten
Ein Windows Update hat mir Grub zerschossen ... der Computer startet nicht mehr mit Grub, sondern...
Linux open suse 2,8
Wolfgang Gerhard Zeidler, 18.04.2017 09:17, 2 Antworten
Hallo.bitte um Hilfe bei. Code fuer den Rescue-login open suse2.8 Mfg Yvo
grep und sed , gleicher Regulärer Ausdruck , sed mit falschem Ergebnis.
Josef Federl, 15.04.2017 00:23, 1 Antworten
Daten: dlfkjgkldgjldfgl55.55klsdjfl jfjfjfj8.22fdgddfg {"id":"1","name":"Phase L1","unit":"A",...