Zitat von
mechanicus
So nun meine Frage:
Mithilfe der Anweisung \g@addto@macro kann ich diverse Sachen in schon definierte Listen schreiben. Jetzt meine Sorge. Ist es Möglich mittels der Anweisung \g@addto@macro auch auf den Befehl \item[\Large Vorwort:] einzuwirken. Also aus Large mache huge?
Ich versuche gerade den Befehl zu verstehen. Die Definition ist in der latex.ltx wie folgt hinterlegt:
Es geht, aber damit setzt du die _komplette_ Umgebung auf small.
Beispiel:
Code:
\documentclass[a4paper,12pt,ngerman]{scrreprt}
\usepackage{babel}
\usepackage[utf8]{inputenc}
\makeatletter
\newenvironment{testum}{\begin{list}{\bfseries Zeile:}{\itshape\large}
\item[\Large Vorwort:]
}{\end{list}}
\g@addto@macro\testum{\tiny}%
\makeatother
\begin{document}
\begin{testum}
Hier soll eine eigene Liste hin
\item Nummer 1
\item \large Nummer 2
\end{testum}
foo
\end{document}
Das ist ja in diesem Fall nicht dass, was du willst. Außerdem muss man bei Umgebungen,
die eigentlich aus zwei Makros \itemize und \enditemize bestehen, immer ein wenig aufpassen. Die kann man
nicht immer einfach so ergänzen.
Code:
\long\def\g@addto@macro#1#2{% long->Parameter können \par enthalten
\begingroup
\toks@\expandafter{#1#2}% expandiere erst #1 (das aktuelle Makro) und hänge #2 dahinter, \toks@ ist ein internes Tokenregister
\xdef#1{\the\toks@}% globale Neudefinition des alten Makros
\endgroup}
Herbert
Lesezeichen