Skip navigation.

Fredo's Blog

Humanities, Social Sciences and Free Software

Posts tagged with "LaTeX"

[Update] XeTeX: Bitte mit Gummi

, , , ...

Nur auf die Schnelle ein kurzer Post:

Heute habe ich endlich erste Schritte mit XeTeX gewagt. Irgendwie ist man ja pdfTeX gewohnt, und schon allein aufgrund der vielen verfügbaren Anleitungen hält sich das wohl noch einige Zeit. Aber XeTeX ist schon einen Blick wert: Vor allem die Verwendung der System-Schriften macht es wesentlich komfortabler, beliebige Schriften zu verwenden, als mit pdfTeX. Und die echte Unicode-Unterstützung ist Gold wert.

Nur benutze ich gerne rubber zum Kompilieren von LaTeX-Dokumenten. Dies unterstützt XeTeX jedoch noch nicht. Die Lösung ist jedoch recht einfach. Man erstellt einfach eine Datei »xetex.py« im Verzeichnis »/usr/share/rubber/rubber/rules/latex/«. In diese kopiert man folgenden Text:

# This file is part of Rubber and thus covered by the GPL
# (c) Emmanuel Beffara, 2002--2006
# (c) Frederik Elwert, 2009
"""
XeLaTeX support for Rubber.

"""

import rubber

class Module (rubber.rules.latex.Module):
        def __init__ (self, doc, dict):
                doc.vars["program"] = "xelatex"
                doc.vars["engine"] = "XeTeX"
                doc.prods = [doc.src_base + ".pdf"]
Nun kann man mit folgendem Befehl XeTeX-Dokumente übersetzen:
rubber -m xetex datei.tex
Bei einem ersten Test hat es problemlos geklappt, hoffen wir also mal das Beste.

Update:

Wie towolf netter Weise bemerkt hat, reicht auch eine Angabe im Kopf der LaTeX-Datei:

% rubber: set program xelatex

Das ist natürlich sehr praktisch, dieses Feature kannte ich noch gar nicht. Danke für den Hinweis!

Zur Serienreife? Serienbriefe mit LaTeX

, ,

Das Thema Serienbrief bringt mich regelmäßig zur Verzweiflung. OpenOffice.org bietet hier zwar die entsprechenden Funktionen an, aber wirklich reibungslos läuft das bei mir nie. Schon allein eine ODS-Datei mit den Adressen in das Dokument zu laden ist für mich eine Herausforderung.

Außerdem schreibe ich meine Briefe sowieso lieber mit LaTeX. Dort sieht alles ganz schnell so aus, wie es bei einem anständigen Brief sein soll. Also habe ich mich gefragt, ob man mit LaTeX nicht auch Serienbriefe erstellen kann. Und tatsächlich, in der KOMA-Anleitung bin ich fündig geworden. Serienbriefe sind mit scrlttr2 möglich. Allerdings muss man die Adressdaten in einem bestimmten Format haben. Eine Datei mit der Endung .adr soll Einträge in der Form
\adrentry{Name}{Vorname}{Adresse}{Telefon}{F1}{F2}{Kommentar}{Kürzel}

haben. Das ist natürlich eher ungewöhnlich, um nicht zu sagen nervig.

Also habe ich mir ein kleines Skript in Python geschrieben, das eine CSV-Datei in eine adr-Datei umwandeln kann. Dabei kann man die adr-Felder frei aus Feldern in der CSV-Datei zusammensetzen. Oftmals wird man z.B. die Adresse in einzelnen Feldern vorliegen haben, z.B. Straße, PLZ und Ort.

Das Skript gibt’s hier: addressify.py

Ein Aufruf könnte z.B. so aussehen:
python addressify.py -m 'Name=$Nachname' -m 'Vorname=$Vorname' -m 'Adresse=$Strasse\\$PLZ $Ort' -m 'F1=$Geschlecht' -o 'adressen.adr' adressen.csv

Nun hat man eine passende Datei, also steht dem Serienbrief nichts mehr im Weg. Der könnte z.B. so aussehen:

\documentclass[DIN]{scrlttr2}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[ngerman]{babel}
\usepackage{mathpazo}

\begin{document}
\newcommand{\Anrede}{}
\renewcommand*{\adrentry}[8]{%
    \if #5w \renewcommand{\Anrede}{Frau} \fi
    \if #5m \renewcommand{\Anrede}{Herrn} \fi
    \begin{letter}{\Anrede\\#2 #1\\#3}
        \if #5w \opening{Sehr geehrte Frau #1,} \fi
        \if #5m \opening{Sehr geehrter Herr #1,} \fi

        Serienbriefe mit \LaTeX{} sind nicht schwer zu realisieren.

        \closing{Mit freundlichen Grüßen,}
    \end{letter}
}

\input{adressen.adr}
\end{document}


Für meine Zwecke reicht das erst einmal, endlich ein verlässlicher Weg, einfache Serienbriefe zu schreiben. Raum für Optimierungen gibt es sicherlich noch, aber das überlasse ich, wie man so schön sagt, dem Leser als Übung.

LaTeX, Zotero und gedit

, , , ...

In der Tat, Zotero hat mich weitgehend überzeugt. Es ist ein recht brauchbares Literaturverwaltungsprogramm, vor allem aber wird es aktiv weiterentwickelt und von etablierten Institutionen unterstützt. Damit ist es eine recht zukunftssichere Wahl, schließlich will ich nicht alles halbe Jahr meine Literaturdatenbank umziehen.

Die Integration in OpenOffice.org ist außerdem wirklich gut. Nur schreibe ich eigentlich lieber mit LaTeX, und hier bietet Zotero von Haus aus keine Unterstützung. Aber gedit, mit dem LaTeX-Plugin mein favorisierter LaTeX-Editor, hat ja eine schöne Python-Plugin-API. Also kann man ja mal versuchen, ein gedit-Plugin für die Zotero-Einbindung zu schreiben…

Read more...

Wie kommt die Garamond ins LaTeX?

, , ,

Vor ein paar Tagen fragte mich mein Chef, wie man eigentlich die Garamond in LaTeX verwenden kann. TeXLive liefert eine garamond.sty mit, aber die scheint nicht zu funktionieren.

Die Garamond ist wirklich eine schöne, wenn auch sehr klassische Brotschrift. Gerade für den Textsatz in Büchern macht sie eine Menge her. Wäre also gut, sie auch in LaTeX verwenden zu können. Also habe ich mich mal etwas auf die Suche gemacht. Es ist etwas umständlicher, als ich erwartet hätte, aber wenn man erst mal weiß, wie...

Read more...

January 2010
M T W T F S S
December 2009February 2010
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31