Sie sind hier

IMTEKgeneral.lco: \firsthead

Hallo.

Betreffend: (IMTEKbrief_v0.4.zip v0.4 by Daniel Mader (Universität Freiburg))

Eine tolle Vorlage. Die Trennung von Inhalt + Persönliche Letter-Class-Option + Allgemeine Letter-Class-Option gefällt mir sehr gut. Evtl. würde ich diese gern vereinfachen und für den allgemeinen Anwender ohne Logo mit allgemeinen Attributen hier zur Verfügung stellen. Wäre das möglich, wenn ich den Author der Vorbildvorlage mitnenne?
Zuerst ein paar Fragen..

1. Warum \def statt \renewcommand? Erstes ist doch low level TeX

2. Ein paar Kniffe hab ich mir abgeschaut. Die Formatierung des \firsthead ist toll gelöst. Ich möchte sie für meinen Footer verwenden. Prompt stoße ich auf das gleiche Problem dass du schon nennst:

"Realisierung mit tabular funktioniert leider nicht, da *&* auch dann gelesen wird, wenn \ifkomavarempty{xyzvar}==true..."

\begin{tabular}{ll}\ifkomavarempty{fromfax}{&\\}{\\\usekomavar*{fromfax} & \usekomavar{fromfax}}

..funktioniert zwar, macht aber eine Leerzeile. Ein leeres TRUE-Argument kompiliert nicht. Liegt das am Aufbau von \ifkomavarempty?

Gelöst habe ich es nun auch mit dem low level TeX Befehl \llap

\firstfoot{
\begin{tabular}{@{}l@{}}
		\llap{\usekomavar*{fromphone}~}\usekomavar{fromphone}
		\ifkomavarempty{fromfax}{}{\\%
			\llap{\usekomavar*{fromfax}~}\usekomavar{fromfax}}
		\ifkomavarempty{fromemail}{}{\\%
			\llap{\usekomavar*{fromemail}~}\usekomavar{fromemail}}
		\ifkomavarempty{fromurl}{}{\\%
			\llap{\usekomavar*{fromurl}~}\usekomavar{fromurl}}
	\end{tabular}
}

Warum funktioniert das und der Anfang der Telefonnummern wird ausgerichtet? Ist das ein echtes alignment und wie wird der Referenzpunkt bei \llap gemerkt?

Bild von Markus Kohm

Das Problem ist kein Problem von KOMA-Script, sondern liegt schlicht daran, dass LaTeX um jede Zelle einer Tabelle eine Gruppe baut. So wird beispielsweise schon

\begin{tabular}{lll}
  bold face: & \textbf{bold & face} \\
\end{tabular}

schief gehen.

Die Standardlösung für Verzweigungen in Tabellen ist übrigens: Tabellenkörper in einem Makro zusammenbasteln und das dann verwenden. Beispielsweise (ungetestet):

  \newcommand*{\MeineTabelle}{}
  \ifkomavarempty{fromfax}{%
    \def\MeineTabelle{&\\}%
  }{%
    \def\MeineTabelle{\usekomavar*{fromfax} & \usekomavar{fromfax} \\}%
  }%
  \ifkomavar{fromemail}{}{%
    \l@addto@macro\MeineTabelle{\usekomavar*{fromemail} & \usekomavar{fromemail}\\}%
  }%
  \begin{tabular}{ll}\MeineTabelle\end{tabular}

BTW: \l@addto@macro ist in KOMA-Script definiert und arbeitet wie \g@addto@macro (siehe source2e) nur eben nicht global, sondern lokal zur aktuellen Gruppe.

Bild von mada

Hallo Massimo,

es freut mich sehr, dass die Vorlage Gefallen findet! Selbstverständlich darfst Du sie gerne weiterverwenden. Über die Nennung meines Namens irgendwo als Kommentar würde mich natürlich ebenfalls sehr freuen.

Zu Deiner Anmerkung mit \def hast Du wohl völlig Recht. In der nächsten Version wird das ausgebügelt sein. Momentan werden sich die Professoren hier aber nicht so recht einig, ob der Abstand der Rücksendeadresse vom oberen Papierrand gemäß DIN oder DINmtext sein soll... Es wird darauf hinauslaufen, dass wir hierfür ebenfalls einen Schalter einrichten, der sich dann jeweils um die Positionen der Logos kümmert. Wenn das fertig ist, kommt eine bereinigte Version raus, in der hoffentlich keine \defs mehr vorhanden sind.

Vielen Dank und viele Grüße,
Daniel

Ok.

3. Das Problem, dass das Template für mehrere Sprachen gerüstet sein muss.

Warum kann man in deinem Template

\newcommand{\fromfax}{FROMFAX}
\AfterPackage*{babel}{
	\addto{\extrasngerman}{\renewcommand{\fromfax}{0721~15...}}
	\addto{\extrasenglish}{\renewcommand{\fromfax}{+49\,721~15..}}
}
\setkomavar{fromfax}{\fromfax}

..statt dem renewcommand nicht ein

	\renewcaptionname{ngerman}{\fromfax}{0721~15...}
	\renewcaptionname{english}{\fromfax}{+49\,721~15...}

..nach den Regeln von Koma-script machen? Oder habe ich was falsch verstanden?
"No captions found for `ngerman'..."

Bild von Markus Kohm

oder \providecaptionname und das \newcommand ganz weglassen? Ggf. kann man auch \AtBeginDocument verwenden, wie das in scrlttr2 gemacht ist. Allerdings dann mit der Einschränkung, dass die lco-Datei dann nur noch vor \begin{document} geladen werden kann (was ohnehin der Normalfall sein dürfte).

Warum bekomme ich dann die Fehlermeldung? Selbst bei nichtexistierender Sprache dürfte keine Fehlermeldung kommen. Das läuft wohl auf ein Beispiel heraus..

Bild von Markus Kohm

Wenn die Sprache ngerman nicht definiert ist, dann kannst Du die captionnames für ngerman auch nicht umdefinieren. Eigentlich logisch, oder? \renewcommand für ein nicht definiertes Macro gibt ja auch einen Fehler. Deshalb mein Rat gleich \newcaptionnames oder \providecaptionnames zu nehmen. Dabei hast Du das Problem nämlich nicht.

Babel definiert übrigens die captionnames erst bei \begin{document}.

Wo ist dieser Thread gelandet, im Forum Koma-Script kann ich ihn nicht finden. Ich hatte in der Download Sektion auf "discuss" geklickt.

Wie stellt man eigentlich eine Vorlage ein, wie Daniel es für die IMTEK Vorlage getan hat, wenn meine denn mal fertig sein sollte?

Bild von Markus Kohm

Da Du den Beitrag beim Verfassen keinem Forum zugewiesen hast ist er eben in keinem namentlich bezeichneten Forum.

Uploads können nur trusted user. Darüber können wir dann reden, wenn Du soweit bist.

Comments for "IMTEKgeneral.lco:  \firsthead" abonnieren