Sie sind hier

Elternsprecher erstellt Adressliste mit Mail, Telefon, Mutter, Vater -- ausführlich halt

Ich möchte eine ästhetisch ansprechende Adressliste für meine Klasse erstellen. Die Daten dazu umfassen knapp 100 Personen, da ich zum Kind auch die Eltern nennen möchte, die dann wiederum mit eigener Mail und Telefonnummer vertreten sein sollen.

Im Prinzip:
Müller, Hans(Name des Kindes, exponiert)

Franka Hansch
Müllerstraße 17 16207 Berlin
E-Mail Mutter: 42@Müller.de
Festnetz: 030 785004685
Mobil: 0176 458003325

Franka Hansch
Müllerstraße 17 16207 Berlin
E-Mail Mutter: 42@Müller.de
Festnetz: 030 785004685
Mobil: 0176 458003325

Für Tipps zu dieser Aufgabe wäre ich sehr dankbar. Bisher habe ich nur vom Datatool-Paket gehört. Ich habe mit Latex zwar meine Magisterarbeit geschrieben und bin heute noch dankbar, das nicht mit Word gemacht zu haben, doch wäre es mir nur allzu recht, wenn ich keine zu lange Einarbeitungszeit für diese Aufgabe bräuchte. Das Beste, was mir demzufolge passieren könnte, wäre eine Grundmaske.

Herzliche Grüße

frank

Bild von Markus Kohm

Hier eine KOMA-Script-Lösung:

\begin{filecontents*}{elternsprecher.adr}
\addrentry{Müller}{Leonard}{Müllerstraße 10\\ 16507 Berlin}
          {030~78554685}{}{Leonard@Müller.de}
          {MuellerFranka}{MuellerFranz}{MuellerLeonard}
\addrentry{Müller}{Franka}{Müllerstraße 10\\ 16507 Berlin}
          {030~78554685}{0176 458763325}{Franka@Müller.de}
          {MuellerFranka}{MuellerFranz}{MuellerFranka}
\addrentry{Müller}{Franz}{Müllerstraße 10\\ 16507 Berlin}
          {030~78554685}{0176 458763327}{Franz\_Peter@Müller.de}
          {MuellerFranka}{MuellerFranz}{MuellerFranz}
\end{filecontents*}
 
\documentclass[DIV=18,fontsize=10,pagesize]{scrartcl}
\usepackage[utf8]{inputenc}
\usepackage[ngerman]{babel}
\usepackage[T1]{fontenc}
\usepackage{lmodern}
 
\usepackage{scraddr}
\InputAddressFile{elternsprecher}
 
\newcommand*{\addrentry}[9]{%
  \ifstr{#7}{#9}{% selbst = Mutter, also ignorieren
  }{%
    \ifstr{#8}{#9}{% selbst = Vater, also ignorieren
    }{% selbst != Mutter AND selbst != Vater, also Kind
      \minisec{#2\nobreakspace #1}
      \begin{minipage}{\linewidth}% die ganze Familie zusammen halten
        \showvalues{#3}{#4}{#5}{#6}% Adresse, Telefon, E-Mail anzeigen
        \ifstr{#7}{}{% keine Mutter, also ignorieren
        }{%
          \medskip\hspace*{1em}\parbox[t]{\dimexpr \linewidth-1em\relax}{%
            \FirstName{#7}\nobreakspace\LastName{#7}\par
            \showvalues{\Address{#7}}{\Telephone{#7}}{\FreeI{#7}}{\FreeII{#7}}%
          }\par
        }%
        \ifstr{#8}{}{% kein Vater, also ignorieren
        }{%
          \medskip\hspace*{1em}\parbox[t]{\dimexpr \linewidth-1em\relax}{%
            \FirstName{#8}\nobreakspace\LastName{#8}\par
            \showvalues{\Address{#8}}{\Telephone{#8}}{\FreeI{#8}}{\FreeII{#8}}%
          }\par
        }%
      \end{minipage}\par
    }%
  }%
}
 
\newcommand*{\showvalues}[4]{%
  \strut{\renewcommand*\\[1][]{, }#1}\par\noindent
  \mbox{Festnetz: \ifstr{#2}{}{---}{#2}}, 
  \mbox{Mobil: \ifstr{#3}{}{---}{#3}}, 
  \mbox{#4}\par
}
 
\begin{document}
 
\input{elternsprecher.adr}
 
\end{document}

Zur Änderung der Formatierung sind schlicht die Anweisungen \addrentry und \showvalues entsprechend zu ändern. Ich habe mich bei der Lösung ganz bewusst auf LaTeX-Anweisungen beschränkt und keine einzige Low-Level TeX-Anweisung verwendet. Damit sollten alle Anweisungen entweder in der KOMA-Script-Anleitung oder der einschlägigen Anfängerliteratur erklärt sein.

Comments for "Elternsprecher erstellt Adressliste mit Mail, Telefon, Mutter, Vater -- ausführlich halt" abonnieren