Fahrgastrechte-Formular mit LaTeX ausfüllen

Ist der ICE mal wieder spät dran, so kann man sich mit Hilfe des Fahrgastrechte-Formulars einen Teil des gezahlten Fahrpreises zurückholen. Das dem folgenden Beispiel zugrundeliegende Formular kann man unter http://www.bahn.com/i/view/CHE/de/services/passenger_rights/fahrgastrechte_formular_online.shtml herunterladen und am Bildschirm ausfüllen. Wenn aber der Zugbegleiter im Zug selbst schon ein Formular ausgehändigt hat und seinen Stempel raufgesetzt hat, muss man händisch ausfüllen. 🙁

Jetzt nicht mehr, denn mit Hilfe des unten stehenden Codes druckt man direkt auf das Papierformular oder alternativ in ein PDF, das man dann im Reisecenter abstempeln lassen kann. Einfach das PDF herunterladen und die Variablen ändern.

EDIT vom 11.07.2012: Ich habe einige kleine Bugs beseitigt und die Abstände auf der zweiten Seite um einen Millimeter nach unten geschoben, damit der Druck auf meinem LaserJet 4100dtn besser aussieht. Die Leer-PDF Seite, die ich im Beispiel nutze, findet sich hier

% Datum: 11.07.2012
\documentclass[12pt,ngerman]{scrartcl}
 
\renewcommand{\familydefault}{\sfdefault}
\usepackage[a4paper,top=0pt,bottom=0pt,left=0pt,right=0pt]{geometry}
\usepackage[ngerman]{babel}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{booktabs}
\usepackage[]{graphicx}
\usepackage{rotating}
\setlength{\parindent}{0pt}
 
\usepackage[]{microtype}
\newcommand{\mtscale}{260} % scaling factor for the \textls command
\newcommand{\boxfactor}{1.2} % Scalefactor for the text
\newcommand{\putformtext}[1]{\scalebox{\boxfactor}{\texttt{\textls[\mtscale]{#1}}}} % 
 
\usepackage[absolute,overlay]{textpos}
\setlength{\TPHorizModule}{1mm}
\setlength{\TPVertModule}{1mm}
 
\newcommand{\startbahnhof}[1]{Bremerhaven}
\newcommand{\zielbahnhof}[1]{Leverkusen}
\newcommand{\plantag}[1]{02}
\newcommand{\planmonat}[1]{03}
\newcommand{\planjahr}[1]{12}
 
\newcommand{\planabfahrtstunde}[1]{12}
\newcommand{\planabfahrtminute}[1]{53}
 
\newcommand{\planankunftstunde}[1]{18}
\newcommand{\planankunftminute}[1]{45}
 
\newcommand{\zugtypa}[1]{ICE}
\newcommand{\zugnummera}[1]{1234}
\newcommand{\zugaabfahrtstunde}[1]{09}
\newcommand{\zugaabfahrtminute}[1]{25}
 
\newcommand{\tatsankunfttag}[1]{02}
\newcommand{\tatsankunftmonat}[1]{03}
\newcommand{\tatsankunftjahr}[1]{12}
\newcommand{\zugtypb}[1]{ICE}
\newcommand{\zugnummerb}[1]{2345}
\newcommand{\tatsankunftstunde}[1]{23}
\newcommand{\tatsankunftminute}[1]{59}
 
\newcommand{\anschlussverpasst}[1]{X}
\newcommand{\anschlussverpasstbahnhof}[1]{Hamburg Hbf}
\newcommand{\letzerumstieg}[1]{X}
\newcommand{\letzerumstiegbahnhof}[1]{Lübeck Hbf}
 
\newcommand{\keinAntritt}[1]{X}
 
\newcommand{\reiseabgebrochen}[1]{X}
\newcommand{\reiseabgebrochenbahnhof}[1]{Schwerin Hbf}
\newcommand{\reiseabgebrochenanderes}[1]{X}
\newcommand{\reiseabgebrochenanderesbahnhof}[1]{Leipzig Hbf}
\newcommand{\reiseabgebrochennahverkehr}[1]{X}
\newcommand{\reiseabgebrochennahverkehrbahnhof}[1]{Königs-Wusterhausen}
 
\newcommand{\auszahlung}[1]{X}
\newcommand{\gutschein}[1]{X}
 
\newcommand{\frau}[1]{X}
\newcommand{\herr}[1]{X}
\newcommand{\titel}[1]{Dr.}
 
\newcommand{\firma}[1]{ABC Consulting}
 
\newcommand{\name}[1]{Mustermann}
\newcommand{\vorname}[1]{Manfred}
 
\newcommand{\co}[1]{ABC Consult}
\newcommand{\telefon}[1]{0123-4567890}
 
\newcommand{\strasse}[1]{Musterweg}
\newcommand{\hausnummer}[1]{123}
 
\newcommand{\staat}[1]{USA}
\newcommand{\plz}[1]{12345}
\newcommand{\wohnort}[1]{Musterstadt}
 
\newcommand{\mobilitynummer}[1]{0123456789}
\newcommand{\geburtstag}[1]{13}
\newcommand{\geburtsmonat}[1]{09}
\newcommand{\geburtsjahr}[1]{1978}
 
\newcommand{\email}[1]{manfred@mustermann.de}
 
\newcommand{\kontoinhaber}[1]{Mustermann, Manfred}
\newcommand{\kontonummer}[1]{1234567890}
\newcommand{\blzswift}[1]{123456}
\newcommand{\iban}[1]{12345678912345}
 
\newcommand{\datum}[1]{02.03.2012}
 
\newcommand{\marktforschung}[1]{X}
 
\begin{document}
 
%\includegraphics[page=1,scale=0.999]{MDB85421-fgr_barrierefrei12.pdf}
\includegraphics[scale=0.999]{leer}
 
\begin{textblock*}{50mm}(36mm,128mm)
\putformtext{\startbahnhof}
\end{textblock*}
 
\begin{textblock*}{50mm}(36mm,137mm)
\putformtext{\zielbahnhof}
\end{textblock*}
 
\begin{textblock*}{50mm}(157mm,120mm)
\putformtext{\plantag}
\end{textblock*}
 
\begin{textblock*}{50mm}(171mm,120mm)
\putformtext{\planmonat}
\end{textblock*}
 
\begin{textblock*}{50mm}(184mm,120mm)
\putformtext{\planjahr}
\end{textblock*}
 
 
\begin{textblock*}{50mm}(171mm,129mm)
\putformtext{\planabfahrtstunde}
\end{textblock*}
 
\begin{textblock*}{50mm}(184mm,129mm)
\putformtext{\planankunftminute}
\end{textblock*}
 
\begin{textblock*}{50mm}(171mm,137mm)
\putformtext{\planankunftstunde}
\end{textblock*}
 
\begin{textblock*}{50mm}(184mm,137mm)
\putformtext{\planabfahrtminute}
\end{textblock*}
 
 
\begin{textblock*}{50mm}(29.5mm,168,5mm)
\putformtext{\tatsankunfttag}
\end{textblock*}
 
\begin{textblock*}{50mm}(43.5mm,168.5mm)
\putformtext{\tatsankunftmonat}
\end{textblock*}
 
\begin{textblock*}{50mm}(56.5mm,168.5mm)
\putformtext{\tatsankunftjahr}
\end{textblock*}
 
%%%%%%%%%%%
 
\begin{textblock*}{50mm}(99mm,159mm)
\putformtext{\zugtypa}
\end{textblock*}
 
\begin{textblock*}{50mm}(130mm,159mm)
\putformtext{\zugnummera}
\end{textblock*}
 
\begin{textblock*}{50mm}(171mm,159mm)
\putformtext{\zugaabfahrtstunde}
\end{textblock*}
 
\begin{textblock*}{50mm}(184mm,159mm)
\putformtext{\zugaabfahrtminute}
\end{textblock*}
 
\begin{textblock*}{50mm}(99mm,168mm)
\putformtext{\zugtypb}
\end{textblock*}
 
\begin{textblock*}{50mm}(130mm,168mm)
\putformtext{\zugnummerb}
\end{textblock*}
 
\begin{textblock*}{50mm}(171mm,168mm)
\putformtext{\tatsankunftstunde}
\end{textblock*}
 
\begin{textblock*}{50mm}(184mm,168mm)
\putformtext{\tatsankunftminute}
\end{textblock*}
 
%%%%%%%%%%%%
 
\begin{textblock*}{50mm}(13.5mm,183mm)
\putformtext{\anschlussverpasst}
\end{textblock*}
 
\begin{textblock*}{50mm}(117mm,183mm)
\putformtext{\anschlussverpasstbahnhof}
\end{textblock*}
 
\begin{textblock*}{50mm}(13.5mm,192mm)
\putformtext{\letzerumstieg}
\end{textblock*}
 
\begin{textblock*}{50mm}(117mm,192mm)
\putformtext{\letzerumstiegbahnhof}
\end{textblock*}
 
\begin{textblock*}{50mm}(13.5mm,201mm)
\putformtext{\keinAntritt}
\end{textblock*}
 
\begin{textblock*}{50mm}(13.5mm,210mm)
\putformtext{\reiseabgebrochen}
\end{textblock*}
 
\begin{textblock*}{50mm}(117mm,210mm)
\putformtext{\reiseabgebrochenbahnhof}
\end{textblock*}
 
\begin{textblock*}{50mm}(13.5mm,219mm)
\putformtext{\reiseabgebrochenanderes}
\end{textblock*}
 
\begin{textblock*}{50mm}(117mm,219mm)
\putformtext{\reiseabgebrochenanderesbahnhof}
\end{textblock*}
 
\begin{textblock*}{50mm}(13.5mm,228mm)
\putformtext{\reiseabgebrochennahverkehr}
\end{textblock*}
 
\begin{textblock*}{50mm}(117mm,228mm)
\putformtext{\reiseabgebrochennahverkehrbahnhof}
\end{textblock*}
 
\begin{textblock*}{50mm}(13.5mm,282mm)
\putformtext{\auszahlung}
\end{textblock*}
 
\begin{textblock*}{50mm}(116.5mm,282mm)
\putformtext{\gutschein}
\end{textblock*}
 
 
\clearpage
 
%\includegraphics[page=2,scale=0.999]{MDB85421-fgr_barrierefrei12.pdf}
\includegraphics[scale=0.999]{leer}
 
\begin{textblock*}{50mm}(13mm,29mm)
\putformtext{\frau}
\end{textblock*}
 
\begin{textblock*}{50mm}(22mm,29mm)
\putformtext{\herr}
\end{textblock*}
 
\begin{textblock*}{50mm}(31mm,29mm)
\putformtext{\titel}
\end{textblock*}
 
\begin{textblock*}{50mm}(13mm,40mm)
\putformtext{\firma}
\end{textblock*}
 
\begin{textblock*}{50mm}(13mm,51mm)
\putformtext{\name}
\end{textblock*}
 
\begin{textblock*}{50mm}(99mm,51mm)
\putformtext{\vorname}
\end{textblock*}
 
\begin{textblock*}{50mm}(13mm,62mm)
\putformtext{\co}
\end{textblock*}
 
\begin{textblock*}{50mm}(99mm,62mm)
\putformtext{\telefon}
\end{textblock*}
 
\begin{textblock*}{50mm}(13mm,73mm)
\putformtext{\strasse}
\end{textblock*}
 
\begin{textblock*}{50mm}(158mm,73mm)
\putformtext{\hausnummer}
\end{textblock*}
 
\begin{textblock*}{50mm}(13mm,84mm)
\putformtext{\staat}
\end{textblock*}
 
\begin{textblock*}{50mm}(35.5mm,84mm)
\putformtext{\plz}
\end{textblock*}
 
\begin{textblock*}{50mm}(63mm,84mm)
\putformtext{\wohnort}
\end{textblock*}
 
\begin{textblock*}{50mm}(13mm,96mm)
\putformtext{\mobilitynummer}
\end{textblock*}
 
\begin{textblock*}{50mm}(99mm,96mm)
\putformtext{\geburtstag}
\end{textblock*}
 
\begin{textblock*}{50mm}(112mm,96mm)
\putformtext{\geburtsmonat}
\end{textblock*}
 
\begin{textblock*}{50mm}(126mm,96mm)
\putformtext{\geburtsjahr}
\end{textblock*}
 
\begin{textblock*}{50mm}(13mm,107mm)
\putformtext{\email}
\end{textblock*}
 
\begin{textblock*}{50mm}(13mm,145mm)
\putformtext{\kontoinhaber}
\end{textblock*}
 
\begin{textblock*}{50mm}(13mm,156mm)
\putformtext{\kontonummer}
\end{textblock*}
 
\begin{textblock*}{50mm}(117mm,156mm)
\putformtext{\blzswift}
\end{textblock*}
 
\begin{textblock*}{50mm}(13mm,167mm)
\putformtext{\iban}
\end{textblock*}
 
\begin{textblock*}{50mm}(111mm,198mm)
\texttt{\datum}
\end{textblock*}
 
\begin{textblock*}{50mm}(13.5mm,210mm)
\putformtext{\marktforschung}
\end{textblock*}
 
\end{document}

Uwe

Uwe Ziegenhagen likes LaTeX and Python, sometimes even combined. Do you like my content and would like to thank me for it? Consider making a small donation to my local fablab, the Dingfabrik Köln. Details on how to donate can be found here Spenden für die Dingfabrik.

More Posts - Website