PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Serienbrief: Verteiler



Solarflares
15-12-2014, 19:16
Hallo,

ich benutze zum Erstellen eines Verteilers in einem Serienbrief folgenden Code


\RequirePackage{filecontents}% ACHTUNG Meine-Adressen.adr wird überschrieben!!!
% Ausschnitt aus Beispieladressdatei aus der KOMA-Script-Anleitung geklaut:
\begin{filecontents*}{Meine-Adressen.adr}
\adrchar{E}
\adrentry{Engel}{Gabriel}
{Wolke 3\\12345 Himmelreich}
{000\,01\,02\,03}{}{}{Erzengel}
{GABRIEL}
\adrentry{Engel}{Michael}
{Wolke 3a\\12345 Himmelreich}
{000\,01\,02\,04}{}{}{Erzengel}
{MICHAEL}
\adrentry{Engel}{Raphael}
{Wolke 3b\\12345 Himmelreich}
{000\,01\,02\,05}{}{}{Erzengel}
{RAPHAEL}
\end{filecontents*}

\documentclass[DIN, pagenumber=false, parskip=half,%
fromalign=right, fromphone=true,%
fromemail=true, fromurl=false,%
fromlogo=true, fromrule=afteraddress]{scrlttr2}


\usepackage[latin1]{inputenc}

\usepackage[T1]{fontenc}
\usepackage[ngerman]{babel}
\usepackage{blindtext}% nur zu Demo-Zwecken

\begin{document}

\makeatletter
\newcommand*{\AllNames}{}
\begingroup
\renewcommand*{\addrentry}[9]{
\g@addto@macro\AllNames{#1 #2\\}
}
\input{Meine-Adressen.adr}
\endgroup
\makeatother

\renewcommand\addrentry[9]{%
\begin{letter}{#1 #2\\#3}% letter-Umgebung verwenden!
\opening{Hallo #2,}% Anrede immer mit \opening!
\blindtext
\closing{Stephan}% Schlussgruß immer mit \closing
\cc{\AllNames}% Verteiler mit \cc!
\end{letter}
}

\input{Meine-Adressen.adr}
\end{document}

Diesen Code habe ich aus diesem Forum kopiert ( http://www.mrunix.de/forums/showthread.php?72137-Serienbrief-Alle-Empf%E4nger-auflisten ) ohne zu verstehen, wie er funktioniert.

Was ich nun möchte:
im Verteiler so der aktuell Angesprochene fett gedruckt werden, also z.B. im Brief für Michael

Engel Gabriel
Engel Michael
Engel Raphael

Wie realisiere ich da?

Liebe Grüße,
Solar

klops
16-12-2014, 07:09
Einfach in \AllNames den aktuellen Namen mit den Namen in der Liste vergleichen und dann den Font anpassen. Das sind zwei kleine Änderungen im Code:
\RequirePackage{filecontents}% ACHTUNG Meine-Adressen.adr wird überschrieben!!!
% Ausschnitt aus Beispieladressdatei aus der KOMA-Script-Anleitung geklaut:
\begin{filecontents*}{Meine-Adressen.adr}
\adrchar{E}
\adrentry{Engel}{Gabriel}
{Wolke 3\\12345 Himmelreich}
{000\,01\,02\,03}{}{}{Erzengel}
{GABRIEL}
\adrentry{Engel}{Michael}
{Wolke 3a\\12345 Himmelreich}
{000\,01\,02\,04}{}{}{Erzengel}
{MICHAEL}
\adrentry{Engel}{Raphael}
{Wolke 3b\\12345 Himmelreich}
{000\,01\,02\,05}{}{}{Erzengel}
{RAPHAEL}
\end{filecontents*}

\documentclass[DIN, pagenumber=false, parskip=half,%
fromalign=right, fromphone=true,%
fromemail=true, fromurl=false,%
fromlogo=true, fromrule=afteraddress]{scrlttr2}


\usepackage[latin1]{inputenc}

\usepackage[T1]{fontenc}
\usepackage[ngerman]{babel}
\usepackage{blindtext}% nur zu Demo-Zwecken

\begin{document}

\makeatletter
\newcommand*{\AllNames}{}
\begingroup
\renewcommand*{\addrentry}[9]{%
\g@addto@macro\AllNames{%
\ifstr{\CurrentName}{#1 #2}{\textbf{#1 #2}}{#1 #2}\\}%
}
\input{Meine-Adressen.adr}
\endgroup
\makeatother

\newcommand*{\CurrentName}{}
\renewcommand\addrentry[9]{%
\begin{letter}{#1 #2\\#3}% letter-Umgebung verwenden!
\renewcommand*{\CurrentName}{#1 #2}%
\opening{Hallo #2,}% Anrede immer mit \opening!
\blindtext
\closing{Stephan}% Schlussgruß immer mit \closing
\cc{\AllNames}% Verteiler mit \cc!
\end{letter}
}

\input{Meine-Adressen.adr}
\end{document}
\ifstr ist ebenfalls in der KOMA-Script-Anleitung (http://mirors.ctan.org/macros/latex/contrib/koma-script/doc/scrguide.pdf) oder im KOMA-ScriptBuch (htp://ww.dante.de/index/Literatur/KOMA-Script.html) dokumentiert.

Solarflares
29-12-2014, 18:28
Hallo klops,

vielen Dank, das ist genau das was ich gesucht habe.

Grüße,
Solarflares