Das Drumherum

Das Shell-Skript aus Listing 1 bildet den gesamten Arbeitsablauf ab. Zur Ausgabe der Namensschilder ruft es zunächst das Python-Skript namensschilder.py auf und leitet dessen Ausgabe mittels des Operators > in eine LaTeX-Datei um (Zeile 3). Mittels Pdflatex entsteht danach aus dieser LaTeX-Datei ein PDF-Dokument (Zeile 4). Da dieses keine dynamischen Elemente wie Referenzen oder ein Inhaltsverzeichnis enthält, genügt ein einziger Durchlauf zum Übersetzen.

In den Zeilen 5 und 6 fasst das Skript jeweils zwei einzelne Seiten auf einem Blatt zusammen – zunächst übereinander (Zeile 5) und darauf folgend nebeneinander (Zeile 6). Das Ergebnis besteht aus vier Namensschildern samt passender Schnittmarken pro Blatt, sodass sich dieses direkt für den Druck sowie den maschinellen Schnitt eignet (Abbildung 3). In den Zeilen 8 und 9 entsteht mittels der Daten aus der Datenbank die Liste der Teilnehmer sowie eine passende Übersicht.

Abbildung 3: Druckvorlagen samt passender Schnittmarken mit wenigen Kommandos – die richtige Toolchain aus Datenbank, Skriptsprache und LaTeX macht es möglich.

TIPP

Hintergrundinformationen zum Kommando Pdfnup bietet ein Artikel aus LU 10/2009 [9].

Im Folgenden sehen wir uns nun die Skripte zum Erzeugen der Namensschilder und der Teilnehmerliste genauer an.

Namensschilder

Das Erzeugen der Namensschilder übernimmt das Python-Skript namensschilder.py (Listing 2). In Schritt 1 erstellt es die LaTeX-Kopfzeilen ("Präambel", Zeile 2). Anschließend entnimmt es die Daten aus der angegebenen Datei (Zeile 4) und erzeugt daraus für jeden Datensatz ein Namensschild (Zeile 5 bis 11). Am Ende fügt das Skript in Zeile 12 noch die LaTeX-Fußzeilen hinzu.

Um jedes Namensschild auf einer separaten Seite auszugeben, sorgen die Zeilen 7 bis 10 für einen Seitenumbruch ab dem zweiten Eintrag und vor jedem Namensschild. Zum Steuern dient die Variable ersteZeile (Zeile 3), die einfach den Wert Null erhält, nachdem das Skript den ersten Datensatz gelesen hat (Zeile 10).

Listing 2

import csv
erzeugeHeader()
ersteZeile = 1
personenliste = csv.reader(open('personen.csv'), delimiter=',', quotechar= '"')
for eintrag in personenliste:
  teilnehmer, rolle, projektname = eintrag
  if not ersteZeile:
    seitenumbruch()
  else:
    ersteZeile = 0
  erzeugeNamensschild(teilnehmer, rolle, projektname)
erzeugeFooter()

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

  • LaTeX mit Daten aus externen Quellen anreichern
    Ob Serienbrief oder Teilnehmerliste – mit dem richtigen Adapter befüllen Sie LaTeX-Dokumente problemlos mit den Feldinhalten einer Datenbank und erstellen so Druckerzeugnisse in perfekter Qualität.
  • Gnome-Tipps
    Gnome ist neben KDE die zweite große Desktopumgebung für Linux. In den Gnome-Tipps stellen wir regelmäßig Nützliches und Praktisches für die alternative grafische Oberfläche vor.
  • Programm für die dritte Ubucon in Göttingen steht
    Auch dieses Jahr organisiert der Ubuntu-Deutschland e.V. in Göttingen eine große Konferenz. Das Programm für die Veranstaltung steht nun online, ein paar Blitzvorträge sind noch zu vergeben.
  • Latex-Editor mit Tabs und Folding

    Texmaker, ein Editor für den Textsatz mit Latex, ist in Version 2.3 mit neuen Features erhältlich.
  • Tafelfertig
    Die LaTeX-Grundausstattung erlaubt nur das Setzen recht schlichter Tabellen. Mit einigen Zusatzpaketen bohren Sie die Funktionen für professionell gestaltete Tabellen kräftig auf.
Kommentare

Infos zur Publikation

LU 01/2018: FLINKE BROWSER

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!

Stellenmarkt

Aktuelle Fragen

Linux Mint als Zweitsystem
Wolfgang Robert Luhn, 13.01.2018 19:28, 1 Antworten
Wer kann mir helfen??? Habe einen neuen Laptop mit vorinstaliertem Windows 10 gekauft. Möchte g...
externe soundkarte Kaufempfehlung
lara grafstr , 13.01.2018 10:20, 3 Antworten
Hallo Ich bin auf Suche nach einer externen soundkarte.. Max 150 Euro Die Wiedergabe is...
Prozessor-Sicherheitslücke Meltdown und Spectre
Wimpy *, 06.01.2018 10:45, 2 Antworten
Ich habe heute ein Sicherheitsupdate "ucode-intel" für openSuse 42.3 erhalten. Ist damit das Prob...
LENOVO ideapad320 Touchpad Linux Mint 18
Peter Deppen, 23.12.2017 16:49, 3 Antworten
Hallo, bin Linux Anfänger und habe das Problem, dass das Touchpad auf dem LENOVO ideapad320 mit L...
PClinuxOS
Günter Beckmann, 20.12.2017 09:51, 1 Antworten
Hi, LUC, hat jemand von Euch Erfahrung mit dem in Heft 12/2017 vorgestelletn PClinuxOS? Ich...