PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Klammerprobem firsthead scrlttr2



fatsack
06-12-2009, 21:41
Hallo,

ich habe mich mal in der Datei scrlttr2.cls umgesehen und dabei folgende Definition entdeckt:



\firsthead{\noindent%
\parbox[b]{\useplength{firstheadwidth}}%
{\centering\usekomafont{fromaddress}{%
\ifkomavarempty{fromname}{}{%
{\usekomafont{fromname}%
{\ignorespaces\usekomavar{fromname}}}\\[-8pt]
\rule{\useplength{firstheadwidth}}{.4pt}\\
}%
\ifkomavarempty{fromaddress}{}{%
\ignorespaces\usekomavar{fromaddress}%
}%
}%
}%
}


Des Verständnisses wegen würde mich mal interessieren, wofür die beiden Klammern (dritte Zeile, rot und hellblau) stehen. Die rote Klammer müsste ja für den Inhalt der parbox stehen, oder nicht? Oder steht die rote Klammer für eine Textauszeichnung à la {\textbf blabla}? Wofür wird dann die hellblaue Klammer benötigt?

Hintergrund ist folgender:
Ich würde gerne einen eigenen Briefkopf definieren. Ich habe dazu eine Reihe neuer Variablen und neuer Formattierungen mittels \newkomafont definiert und es funktionierte bisher auch alles wunderbar.
Jetzt habe ich versucht in obiger Definition die parbox durch eine tabular-Umgebung zu ersetzen:



\firsthead{\noindent%
\begin{tabular}[b]{@{}l}%
{\usekomafont{fromaddress}{%
\ifkomavarempty{fromname}{}{%
{\usekomafont{fromname}%
{\ignorespaces\usekomavar{fromname}}}\\
}%fi
\ifkomavarempty{fromaddress}{}{%
\ignorespaces\usekomavar{fromaddress}%
}%fi
}}%
\end{tabular}
\usekomafont{fromrule}
\\[-8pt]
\rule{\useplength{firstheadwidth}}{\useplength{fro mrulethickness}}
}


Dabei bekomme ich eine ganze Reihe von Klammerfehlern. Wenn ich jedoch die rot markierten Klammern lösche, dann funktioniert eigentlich alles wie gewünscht, nur weis ich halt nicht so genau, wo bzw. warum hier überhaupt der Fehler in der Klammerung aufgetreten ist. Ausserdem kommt im Prinzip die gleiche Anweisung im ersten \ifkomavarempty{fromname} nochmal vor und funktioniert dort scheinbar problemlos.

Das komplette Minimalbeispiel wäre dann:


\documentclass[version=last,fontsize=12pt,DIN]{scrlttr2}
\usepackage[latin1]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{ngerman}

\firsthead{\noindent%
\begin{tabular}[b]{@{}l}%
{\usekomafont{fromaddress}{%
\ifkomavarempty{fromname}{}{%
{\usekomafont{fromname}%
{\ignorespaces\usekomavar{fromname}}}\\
}%fi
\ifkomavarempty{fromaddress}{}{%
\ignorespaces\usekomavar{fromaddress}%
}%fi
}}%
\end{tabular}
\usekomafont{fromrule}
\\[-8pt]
\rule{\useplength{firstheadwidth}}{\useplength{fro mrulethickness}}
}

\setkomavar{fromname}{Max Muster}
\setkomavar{fromaddress}{%
Musterstr. 1\\
12345 Entenhausen
}
\setkomavar{place}{Entenhausen}
\setkomavar{signature}{Max Muster}

\begin{document}
\begin{letter}{Empfänger\\Str.\\Ort}
\setkomavar{subject}{Betreff}
\opening{Hallo,}
blabla
\closing{Tschüss}
\end{letter}
\end{document}


Vielen Dank

mechanicus
07-12-2009, 18:36
Hallo,

du verwendest usekomafont falsch. Schaue mal in den scrguide rein.

Das funktioniert soweit:

\documentclass[version=last,fontsize=12pt,DIN]{scrlttr2}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{ngerman}

\firsthead{\noindent%
\begin{tabular}[b]{@{}l}%
\ifkomavarempty{fromname}{}{%
{%\usekomafont{fromname}
{\ignorespaces\usekomavar{fromname}}}\\
}%fi
\ifkomavarempty{fromaddress}{}{%
\ignorespaces\usekomavar{fromaddress}%
}%fi
\end{tabular}
\usekomafont{fromrule}
\\[-8pt]
\rule{\useplength{firstheadwidth}}{\useplength{fro mrulethickness}}
}

\setkomavar{fromname}{Max Muster}
\setkomavar{fromaddress}{%
Musterstr. 1\\
12345 Entenhausen
}
\setkomavar{place}{Entenhausen}
\setkomavar{signature}{Max Muster}

\begin{document}
\begin{letter}{Empfänger\\Str.\\Ort}
\setkomavar{subject}{Betreff}
\opening{Hallo,}
blabla
\closing{Tschüss}
\end{letter}
\end{document}

Gruß
Marco