PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : screlttr2, .lco



Sal
19-01-2012, 09:31
Hallo,

kennt Ihr das auch: Ihr seid euch sicher, alles richtig gemacht zu haben und trotzdem funktioniert es nicht! :mad:

Ich bin am Verfassen eines Breifes. Ich will zunächst erwähnen, dass die tolle Vorlage nicht von mir ist, kann den Autor aber leider nicht nennen. Trotzdem vielen Dank!

Dies ist der Code des Briefs:

\documentclass[
DIN,
paper=a4,
fontsize=11pt,
]{scrlttr2}




\usepackage[ngerman]{babel}
\usepackage[latin1]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{lmodern}
\usepackage{graphicx}
\usepackage{varwidth}
\usepackage{xcolor}
\usepackage{lmodern}
\usepackage{marvosym}
\usepackage{lipsum}


\providecaptionname{ngerman}\phonemobilename{\Mobi lefone}
\providecaptionname{ngerman}\phoneprivatename{\Tel efon}



\newkomavar[\phonemobilename]{phonemobileseparator}
\setkomavar{phonemobileseparator}{~}
\newkomavar[\usekomavar*{phonemobileseparator}%
\usekomavar{phonemobileseparator}]{fromphonemobile}

\newkomavar[\phoneprivatename]{phoneprivateseparator}
\setkomavar{phoneprivateseparator}{~}
\newkomavar[\usekomavar*{phoneprivateseparator}%
\usekomavar{phoneprivateseparator}]{fromphoneprivate}


\setkomavar{fromphonemobile}{+49\,(X)XXX\,XXXXXXXX }
\setkomavar{fromphoneprivate}{+49\,(X)XXX\,XXXXXXX X}

\newkomavar[\fromstreet]{fromstreet}
\setkomavar{fromstreet}{Straße Nummer}

\newkomavar[\fromcity]{fromcity}
\setkomavar{fromcity}{D-PLZ Ort}

\setkomavar{fromname}{Vorname Nachname}
\setkomavar{fromaddress}{\usekomavar{fromstreet}\\ \usekomavar{fromcity}}
\setkomavar{fromemail}{XXXXXXXXXXXXX@XXX.de}
\setkomavar{fromurl}{}
\setkomavar{fromphone}{(+49)X\,XX/XX\,XX\.XX\,XX}
\setkomavar{fromfax}{}
\setkomavar{place}{Ort}
\setkomavar{signature}{Vorname Nachname}

\renewcaptionname{ngerman}{\enclname}{Anlagen}

\makeatletter
\firsthead{\flushright\textsf{\LARGE\textcolor{gra y}{{\usekomavar{fromname}}}\\\footnotesize\textcol or{gray}{{\usekomavar{fromstreet}} $\cdot$ \textcolor{gray}{\usekomavar{fromcity}} \\ \phoneprivatename\textcolor{gray}{\usekomavar{phon eprivateseparator}\usekomavar{fromphoneprivate}} $\cdot$ \phonemobilename\usekomavar{phonemobileseparator}\ usekomavar{fromphonemobile} $\cdot$ \Letter{ }\usekomavar{fromemail}\\\vspace{-2ex}\rule{1.0\textwidth}{0.5pt}}}}


\makeatother

\firstfoot{%
}
\LoadLetterOption{textwidth}

\begin{document}
\begin{letter}{Firma\\Ansprechpartner\\Straße Nummer\\[1ex]D-XXXXX Ort}

\setkomavar{subject}{Betreff}
\opening{Sehr geehrte Frau Soundso!}

\lipsum[1-2]

\closing{Mit freundlichen Grüßen}%\\[1ex]\rule{30mm}{7mm}\\[-3\baselineskip]}% black box insead of signature
\encl{Anlage 1\\Anlage 2\\Anlage 3\\Anlage 4}

\enlargethispage{3cm}
\end{letter}
\end{document}


Dies ist der Code der textwidth.lco


\ProvidesFile{textwidth.lco}%
\@setplength[]{refhpos}{\toaddrhpos}
\@setplength[]{refwidth}{\firstheadwidth}
\endinput

Ich möchte mit dieser .lco erreichen, dass

1. der linke Rand des Textkörpers (refhpos) gleichgesetzt wird mit dem linken Rand des Addressfeldes (toaddrhpos). Dies sollte meiner Meinung nach mit dem Befehl \@setplength[]{refhpos}{\toaddrhpos} funktionieren.

2. die Breite des Textkörpers (refwidth) gleichgesetzt wird mit der Breite des Kopfes (firstheadwidth). Dies sollte meiner Meinung nach mit dem Befehl \@setplength[]{refwidth}{\firstheadwidth} funktionieren.

Unabhängig, ob ich die .lco über die Klassenoptionen oder über \LoadLetterOption{} lade, erhalte ich den Fehler, dass \toaddrhpos beziehungsweise \firstheadwidth eine Undefined control sequence seien.

Ich wäre sehr dankbar, wenn mich jemand darauf stoßen könnte, welchen Haken ich übersehe.

Sal

Sal
23-01-2012, 07:20
Guten Morgen,

ich will wirklich nicht aufdringlich rüberkommen, habe nur festgestellt, dass bereits 60 Leute mein Problem angesehen haben, bisher aber noch keine Idee zur Lösung vorgeschlagen wurde.

Mir würde bereits ein Hinweis reichen, mit dem ich weiterarbeiten kann.

Vielen Dank nochmal.

rais
23-01-2012, 13:17
Moin moin,


kennt Ihr das auch: Ihr seid euch sicher, alles richtig gemacht zu haben und trotzdem funktioniert es nicht! :mad:

*das* Gefühl kenn ich nur zu gut :D


Dies ist der Code der textwidth.lco


\ProvidesFile{textwidth.lco}%
\@setplength[]{refhpos}{\toaddrhpos}
\@setplength[]{refwidth}{\firstheadwidth}
\endinput

sowohl toaddrhpos als auch firstheadwidth sind selbst Pseudolängen, ändere Deine textwidth.lco mal zu


\ProvidesFile{textwidth.lco}%
\@setplength{refhpos}{\useplength{toaddrhpos}}
\@setplength{refwidth}{\useplength{firstheadwidth} }
\endinput

siehe dazu auch nach der Beschreibung zu \@setplength im scrguide.

BTW: ein leeres optionales Argument anzugeben ist nicht immer gleichzusetzen mit dem entsprechenden Vorgabewert, im Gegenteil, durch die Verwendung der eckigen Klammer sagst Du ja gerade, daß Du diese Voreinstellung gerade _nicht_ haben willst.
Das mag hier sogar funktionieren (kommt halt drauf an, wie die Voreinstellung aussieht bzw. wie ein definierter Befehl auf ein leeres Argument reagiert), aber ich an Deiner Stelle würde versuchen, mir optionale Argumente in der Form [] abzugewöhnen -- wenn ich solche Klammern immer setzen müsste, bräuchte ich gar keine "optionalen" Argumente;-)

PS) Als `aufdringlich' empfände ich es nichtmal, wenn ein OP seinen Post wieder nach vorne holt, wenn dieser hier auf die zweite Seite gewandert ist (was hier ja unter Umstänen sogar während eines Tages passieren kann).

MfG