Sie sind auf Seite 1von 32

1

Konferenzmanagement mit LATEX

Uwe Ziegenhagen

http://www.uweziegenhagen.de

27. Februar 2009

Konferenzmanagement
Einführung 2

Arbeit vs. Faulheit

Workshop an HU Berlin
I Rechnungen
I Teilnehmerlisten
I Namensschilder
Wie kann ich (mittels LATEX) Arbeit sparen?

Konferenzmanagement
Einführung 3

Genutzte LATEX-Pakete

I datatool für Zugriff auf CSV-Dateien


I scrlttr2 für Briefe und Rechnungen
I varsfromjobname für Parameterübergaben
I ticket für Namensschilder und Aufkleber
I combine für Tagungsbände (Proceedings)

Konferenzmanagement
datatool 4

Das datatool Paket

datatool von Nicola Talbot


I ersetzt ihr csvtools Paket
I enthält
datatool.sty erstellt und exportiert Daten-Dateien,
importiert externe Daten-Dateien
datapie.sty Kuchen-Diagramme
dataplot.sty zweidimensionale Punkt- oder Liniendiagramme
databar.sty Balkendiagramme
databib.sty konvertiert BibTeX Dateien

Konferenzmanagement
datatool 5

Beispiel-Datensatz

I Punkt als Dezimaltrenner


I Komma als Spaltentrenner
I Achtung: dt. CSV 6= engl. CSV
I Beispiel-Datei: datad.csv

1 vorname,nachname,strasse,ort,zuzahlen,bezahlt
2 Nicole,Möller,Schillerplatz 61,18419 Vogelow,100.00,100.00
3 Tom,Lehmann,Nachtigallgasse 11,29098 Altaue,100.00,100.00
4 Tim,Wagner,Amselplatz 92,46917 Langenhausen,100.00,0.00
5 Moritz,Müller,Waldallee 71,55348 Kirchstein,100.00,0.00
6 Susi,Mayer,Sonnenweg 27a,83675 Heidehausen,100.00,100.00
7 Ines,Mayer,Wasserallee 83a,26118 Kirchfurt,100.00,100.00

Konferenzmanagement
datatool 6

Minimalbeispiel

1 \documentclass{article}
2 \usepackage{datatool}
3 \usepackage[latin1]{inputenc}
4 \begin{document}
5 \DTLloaddb{list}{datad.csv}
6
7 \begin{tabular}{ll}
8 \bfseries Vorname & \bfseries Nachname
9 \DTLforeach{list}{\first=vorname,\last=nachname}%
10 {\\ \first & \last }
11 \end{tabular}
12
13 \end{document}

Listing 1: Ausgabe in Tabelle

Konferenzmanagement
datatool 7

DTLloaddb und DTLforeach

I \DTLloaddb{list}{datad.csv}
Name der Datenquelle
und Quelldatei
I \DTLforeach{arg1}{arg2}{arg3}
Verarbeitung und Ausgabe
arg1 Name der Datenquelle
arg2 Zuordnung der Spalten zu LATEX-Befehlen
arg3 legt die Ausgabe fest

Konferenzmanagement
7 \begin{tabular}{ll}
8 \bfseries Vorname & \bfseries Nachname
9 \DTLforeach{list}{\first=vorname,\last=nachname}{%
datatool 8
0 \\ \first & \last }
1 \end{tabular}
2
Ausgabe des Minimalbeispiels
3 \end{document}
Listing 2: listed.tex, Quellcode für Tabelle 2

Vorname Nachname
Nicole Möller
Tom Lehmann
Tim Wagner
Moritz Müller
Susi Mayer
Ines Mayer
Uwe Meier
Tabelle 2: listed.pdf,
Mandy Ausgabe Bergervon Listing 2 (Auszug)
Tim
Listing 3 enthält die notwendigen Grünwald
Befehle, um alle Spalten der Datenbank
Jenny
auszuwerten und führt zwei neue Befehle Köster
ein, \DTLsort und \DTLsumforkeys.
Konferenzmanagement Marko Mayer
\DTLsort{key}{database} sortiert dieBerger
Jenny Einträge der Datenbank anhand des
datatool 9

Sortieren und Summieren

I \DTLsort sortiert arg1 der Liste arg2


I * Version berücksichtigt Groß- und Kleinschreibung
I arg1 kann auch mehrere Werte aufnehmen
I \DTLsumforkeys summiert in Liste arg1 Feld arg2
und speichert Ergebnis in Befehl arg3
I \DTLiffirstrow in erster Zeile arg1, sonst arg2 ausführen
I \theDTLrowi Ausgabe der aktuellen Schleifennummer

Konferenzmanagement
datatool 10

Sortieren und Summieren


1 \DTLloaddb{list}{datad.csv}
2 \DTLsort{nachname}{list}
3 \DTLsumforkeys{list}{zuzahlen}{\soll}
4 \DTLsumforkeys{list}{bezahlt}{\haben}
5
6 \begin{tabular}{rllrr}
7 Nr. & \bfseries Vorname & \bfseries Nachname &
8 \bfseries Gebühr & \bfseries Zahlung
9 \DTLforeach{list}{\first=vorname,\last=nachname,
10 \fee=zuzahlen, \paid=bezahlt}{%
11 \DTLiffirstrow{\\ \hline}{\\}%
12 \theDTLrowi & \first & \last & \fee\,\euro & \paid\,\euro
13 }
14 \end{tabular}
15
16 \soll\,\euro{} sind zu bezahlen, \haben\,\euro{} sind bezahlt.

Listing 2: Liste der Zahlungen


Konferenzmanagement
datatool 11

Nr. Vorname Nachname Gebühr Zahlung


1 Mandy Berger 100.00 e 100.00 e
2 Jenny Berger 0.00 e 0.00 e
3 Tim Grünwald 100.00 e 50.00 e
4 Jenny Köster 100.00 e 100.00 e
5 Tom Lehmann 100.00 e 100.00 e
6 Susi Mayer 100.00 e 100.00 e
7 Ines Mayer 100.00 e 100.00 e
8 Marko Mayer 100.00 e 100.00 e
9 Uwe Meier 100.00 e 0.00 e
10 Nicole Möller 100.00 e 100.00 e
11 Moritz Müller 100.00 e 0.00 e
12 Tim Wagner 100.00 e 0.00 e
1,100 e sind zu bezahlen, 750 e sind bezahlt.

Konferenzmanagement
datatool 12

Farbige Tabellen mit colortbl

1 \DTLloaddb{list}{datad.csv}
2 \DTLsort{nachname}{list}
3 \DTLsumforkeys{list}{zuzahlen}{\soll}
4 \DTLsumforkeys{list}{bezahlt}{\haben}
5
6 \begin{tabular}{rllrr}
7 \bfseries ID & \bfseries Vorname & \bfseries Nachname &
8 \bfseries Gebühr & \bfseries Zahlung
9 \DTLforeach{list}{\first=vorname,\last=nachname,
10 \fee=zuzahlen,\paid=bezahlt}{%
11 \DTLiffirstrow{\\ \hline}{\\}%
12 \DTLifoddrow{\rowcolor{cyan}}{\rowcolor{lime}}%
13 \theDTLrowi & \first & \last & \fee\,\euro{} & \paid\,\euro{}%
14 }
15 \end{tabular}

Listing 3: Farbige Tabellen


Konferenzmanagement
datatool 13

Ausgabe von Listing 6

ID Vorname Nachname Gebühr Zahlung


1 Mandy Berger 100.00 e 100.00 e
2 Jenny Berger 0.00 e 0.00 e
3 Tim Grünwald 100.00 e 50.00 e
4 Jenny Köster 100.00 e 100.00 e
5 Tom Lehmann 100.00 e 100.00 e
6 Susi Mayer 100.00 e 100.00 e
7 Ines Mayer 100.00 e 100.00 e
8 Marko Mayer 100.00 e 100.00 e
9 Uwe Meier 100.00 e 0.00 e
10 Nicole Möller 100.00 e 100.00 e
11 Moritz Müller 100.00 e 0.00 e
12 Tim Wagner 100.00 e 0.00 e
1,100 e sind zu bezahlen, 750 e sind bezahlt.

Konferenzmanagement
datatool 14

Andere DTLxxx-Befehle

I \DTLifint, \DTLifreal
I \DTLadd, \DTLsub, \DTLmul
I \DTLsubstitute, \DTLsplitstring
I und viele andere

Konferenzmanagement
datatool 15

Andere CSV-Formate

1 vorname;nachname;strasse;ort;zuzahlen;bezahlt
2 Nicole;Möller;Schillerplatz 61;18419 Vogelow;100,00;100,00
3 Tom;Lehmann;Nachtigallgasse 11;29098 Altaue;100,00;100,00
4 Tim;Wagner;Amselplatz 92;46917 Langenhausen;100,00;0,00
5 Moritz;Müller;Waldallee 71;55348 Kirchstein;100,00;0,00
6 Susi;Mayer;Sonnenweg 27a;83675 Heidehausen;100,00;100,00
7 Ines;Mayer;Wasserallee 83a;26118 Kirchfurt;100,00;100,00

Listing 4: „Deutsche“ Formatierung

I \DTLsetseparator{;}
I \DTLsetnumberchars{}{,}

Konferenzmanagement
datatool 16

Liste der Zahlungen

1 ID & Vorname & Nachname & Stra"se & Ort & zu zahlen & bezahlt
2 \DTLforeach{list}{% definiere Listenelemente
3 \first=vorname,\last=nachname,\address=strasse,
4 \town=ort,\fee=zuzahlen,\paid=bezahlt}{%
5 \DTLiffirstrow{\\ \hline}{\\}%
6 \theDTLrowi & \first & \last & \address & \town & \euro\,\fee & \euro
\,\paid
7 } \\ \hline
8 & & & & &\DTLdecimaltocurrency{\soll}{\soll} \soll & \
DTLdecimaltocurrency{\haben}{\haben} \haben \\ \hline \hline
9 \end{tabular}
10 \end{document}

Listing 5: Nutzung Währungsformat

Konferenzmanagement
datatool 17

Liste der Zahlungen

Teilnehmer, Stand 18. Februar 2009


ID Vorname Nachname Straße Ort zu zahlen bezahlt
1 Jenny Berger Wiesenallee 82 72044 Moosaue e 0,00 e 0,00
2 Mandy Berger Goetheweg 25 03783 Wolfental e 100,00 e 100,00
3 Tim Grünwald Wiesenplatz 9a 90778 Moosow e 100,00 e 50,00
4 Jenny Köster Finkenallee 29c 53522 Wiesenow e 100,00 e 100,00
5 Tom Lehmann Nachtigallgasse 11 29098 Altaue e 100,00 e 100,00
6 Ines Mayer Wasserallee 83a 26118 Kirchfurt e 100,00 e 100,00
7 Marko Mayer Amselweg 11c 32108 Grünstein e 100,00 e 100,00
8 Susi Mayer Sonnenweg 27a 83675 Heidehausen e 100,00 e 100,00
9 Uwe Meier Sonnenplatz 7 07514 Vogelburg e 100,00 e 0,00
10 Nicole Möller Schillerplatz 61 18419 Vogelow e 100,00 e 100,00
11 Moritz Müller Waldallee 71 55348 Kirchstein e 100,00 e 0,00
12 Tim Wagner Amselplatz 92 46917 Langenhausen e 100,00 e 0,00
e 1100,00 e 750,00

Konferenzmanagement
scrlttr2 18

Briefe und Rechnungen

I letter
I g-brief
I scrlttr2
I leicht anzupassen
I komplexe Layouts möglich
I eigene Serienbrieffunktion

Konferenzmanagement
scrlttr2 19

varsfromjobname

I varsfromjobname.sty
I Dateiname arg1-arg2-...-arg9.tex
I \getfromjobname{argx }
I \getone fromjobname, \gettwo fromjobname
I Bsp: schmidt-2009-02-10.tex

Konferenzmanagement
scrlttr2 20

Briefe mit scrlttr2


1 \documentclass[a4paper]{scrlttr2}
2 \usepackage[ngerman]{babel}
3 \usepackage[latin1]{inputenc}
4 \setkomavar{title}{Teilnahmebestätigung}
5
6 \begin{document}
7 \begin{letter}{Adresse}
8 \opening{Anrede}
9
10 Wir bestätigen Ihre Teilnahme am Foobar
11 Workshop in Musterstadt.
12
13 \setkomavar{fromname}{Das Organisationsteam}
14 \closing{Mit freundlichen Grüßen}
15 \end{letter}
16 \end{document}

Listing 6: scrlttr2 Minimalbeispiel


Konferenzmanagement
Die letter Umgebung wird dabei in den Schleifen-Teil des \DTLforeach
gesetzt, der Adressparameter für den Brief wird dann mit {\first \last
\address \\\town} gefüllt.
scrlttr2 21

1 \documentclass[a5paper]{scrlttr2}
2 \usepackage[english]{babel}
3 \usepackage[latin1]{inputenc}
4 \usepackage{datatool}
5 \setkomavar{title}{Teilnahmebestätigung}
6

7 \begin{document}
8 \DTLloaddb{list}{datad.csv}
9 \DTLforeach{list}{\first=vorname,\last=nachname,\address=strasse,
10 \town=ort,\fee=zuzahlen,\paid=bezahlt}{% Beginn Schleife
11

12 \begin{letter}{\first~\last \\ \address \\ \town}%


13 \opening{Sehr geehrte/r \first~\last,}%
14

15 Wir bestätigen Ihre Teilnahme am Foobar


16 Workshop in Musterstadt.
17

18 \setkomavar{fromname}{Das Organisationsteam}%
19 \closing{Mit freundlichen Grüßen}%
20 \end{letter}
21 }% Ende Schleife
22 \end{document}

Listing 7: scrlttsample.tex, Quelltext für Abbildung 1


Konferenzmanagement
Abbildung 1: Ausgabe von Listing 7

Nicole Möller
Schillerplatz 61
18419 Vogelow

January 6, 2009

Teilnahmebestätigung
Sehr geehrte/r Nicole Möller,

Wir bestätigen Ihre Teilnahme am Foobar Workshop in Muster-


stadt.

Mit freundlichen Grüßen

Das Organisationsteam

Dies ist nur ein einfaches Beispiel, über die zahlreichen weiteren datatool
Befehle sind noch viel detailliertere Briefe möglich. So lässt sich beispielsweise
ticket.sty 23

Namensschilder mit ticket.sty

I nützlich für Namensschilder und Aufkleber


I Parameter für Angabe der Label-Definition
I \renewcommand setzt Label zurück
I \makeatletter, \makeatother
I \@boxedfalse Rahmen um Label aus
I \@emptycrossmarktrue Falzmarken an
I \@cutmarktrue Schnittmarken an
I \mylabel Definition

Konferenzmanagement
ticket.sty 24

Definition der Maße

1 \unitlength=1mm
2 \hoffset=-10mm
3 \voffset=-16mm
4 \ticketNumbers{2}{5}
5 \ticketSize{90}{55.2}
6 \ticketDistance{0}{0}

Listing 7: Definitionsdatei badges.tdf

Konferenzmanagement
badges.tdf (siehe Listing 9), in der die Anzahl und Größe des einzelnen
Schilder sowie Angaben über den druckerspezifischen horizontalen und ver-
ticket.sty 25
tikalen Offset stehen, also den Abstand des ersten Tickets vom oberen und
linken Rand. Die Angabe des Offset ist notwendig, da die Ränder über das
geometry Pakets auf null gesetzt sind.
Etiketten mit ticket
Der Befehl \mylabel wird anschließend definiert, um eine bequeme Schnitt-
stelle zu den einzelnen Namensschildern zu haben, die nur noch Parameter
für Name und Ort benötigt.
1 \documentclass[a4paper,12pt]{letter}
2 \usepackage[total={210mm,297mm},top=0mm, %
3 left=0mm, includefoot]{geometry}
4 \usepackage[badges]{ticket}
5 \usepackage{graphicx,palatino}
6 \usepackage[latin1]{inputenc}
7 \usepackage{xcolor}
8

9 \renewcommand{\ticketdefault}{}%
10 \makeatletter
11 \@boxedfalse % Rahmen um Ticket
12 \@emptycrossmarkfalse % Falzmarken
13 \@cutmarktrue % Schnittmarken
14 \makeatother
15

16 \newcommand{\mylabel}[2]{\ticket{%
17 \put(7,35){\scalebox{2}{\textbf{#1}}}
\put(7,25){\scalebox{1.5}{\textbf{#2}}}
Konferenzmanagement
18

19 \put(7,5){\scalebox{1}{\textcolor{gray}{%
7 \usepackage{xcolor}
8
ticket.sty
9 \renewcommand{\ticketdefault}{}%
26
10 \makeatletter
11 \@boxedfalse % Rahmen um Ticket
Namensschilder mit ticket
12 \@emptycrossmarkfalse % Falzmarken
13 \@cutmarktrue % Schnittmarken
14 \makeatother
15

16 \newcommand{\mylabel}[2]{\ticket{%
17 \put(7,35){\scalebox{2}{\textbf{#1}}}
18 \put(7,25){\scalebox{1.5}{\textbf{#2}}}
19 \put(7,5){\scalebox{1}{\textcolor{gray}{%
20 \textit{\LaTeX{} Convention 2009}}}}
21 }}
22

23 \begin{document}
24 \mylabel{Max Mustermann}{Berlin}
25 \mylabel{Maria Mustermann}{Berlin}
26 \mylabel{Marian Mustermann}{Berlin}
27 \mylabel{Micky Mustermann}{Berlin}
28 \mylabel{Mario Mustermann}{Berlin}
29 \mylabel{Markus Mustermann}{Berlin}
30 \end{document}
Listing 8: Quelltext für Abbildung 2

Konferenzmanagement
Die TEXnische Komödie ?/?? — Entwurf 11. Februar 2009 22:55
g 9: ticket.sty
badges.tdf,Definition des Papierbogens badges
27

Namensschilder mit ticket


Abbildung 2: Ausgabe von Listing 8

Max Mustermann Markus Mustermann


Berlin Berlin

LATEX Convention 2009 LATEX Convention 2009

Maria Mustermann
Berlin

LATEX Convention 2009

Marian Mustermann
Konferenzmanagement
Berlin
combine.sty 28

Proceedings mit combine

Artikel 1

Tagungs-
Artikel 2
band

Artikel 3

Konferenzmanagement
combine.sty 29

Einzeldokument
Konferenzmanagement 15

men, daher empfiehlt es sich, eine für die Teilnehmer verpflichtende Vorlage
zu erstellen und keine weiteren Pakete zuzulassen.
1 \documentclass{article}
2

3 \author{Max Mustermann}
4 \title{Anmerkungen zum Euro}
5

6 \begin{document}
7 \maketitle
8

9 Text für den Artikel.


10

11 \end{document}

Listing 11: import1.tex,Quelltext eines zu importierenden Dokuments

1 \documentclass{combine}
2 \pagestyle{combine}
\begin{document}
Konferenzmanagement
3

4
5

6 \begin{document}
combine.sty
7 \maketitle 30
8

9 Text für den Artikel.


Zusammenführung
10

\end{document}
11

Listing 11: import1.tex,Quelltext eines zu importierenden Dokuments

1 \documentclass{combine}
2 \pagestyle{combine}
3 \begin{document}
4

5 \tableofcontents
6 \begin{papers}
7 \coltoctitle{Anmerkungen zum Euro} % Erster Titel für ToC
8 \coltocauthor{Max Mustermann} % Erster Autor für ToC
9 \label{import1}
10 \import{import1}
11

12 \coltoctitle{Anmerkungen zur D-Mark} % Zweiter Titel für ToC


13 \coltocauthor{Maria Mustermann} % Zweiter Autor für ToC
14 \label{import2}
15 \import{import2}
16 \end{papers}
17 \end{document}

Listing 12: combineit.tex, Quelltext eines combine Dokuments


Konferenzmanagement
combine.sty 31

Zusammenführung

Contents
Anmerkungen zum Euro 2
Max Mustermann

Anmerkungen zur D-Mark 3


Maria Mustermann

Konferenzmanagement
32

Danke für die Aufmerksamkeit. . .

I Artikel zu diesem Vortrag unter


www.uweziegenhagen.de und in der DTK 1/2009
I englische Version in Arbeit (PracTEX)
I Kommentare und Feedback willkommen ⇒
http://www.uweziegenhagen.de

Konferenzmanagement

Das könnte Ihnen auch gefallen