PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : befehl mit \renewcommand verändern



occino
28-03-2012, 14:41
hallo zusammen,
ich wolte gerne die befehl \acl kursiv hervorheben
und kam auf die idee ihn mit \renewcommand neu zudefinieren ála

\renewcommand{\acl}[1]{\textit{\acl{#1}}}

Leider funktioniert das nicht ganz. Ich könnte mir vorstellen,
dass das so eine Art rekursive Schleife gibt und daher nicht geht!

Hat jemand ne Idee oder sogar ne Lösung parat?

Vielen Dank

rstuby
28-03-2012, 14:49
Einen neuen Befehl \myacl stattdessen mit newcommand einführen.
Hinterher kannst du ja mit renewcommand \acl diesem Befehl gleichsetzen, wenn du das wirklich willst.

Xenara
28-03-2012, 14:57
rstubys Vorschlag sähe dann etwa so aus (aus Mangel an einem Minimalbeispiel mit fbox, aber das sollte bei dir ähnlich gehen):


\documentclass{scrreprt}
\usepackage[ngerman]{babel}
\usepackage[latin1]{inputenc}
\usepackage[T1]{fontenc}


\let\myfbox\fbox
\renewcommand{\fbox}[1]{\myfbox{\bfseries #1}}

\begin{document}

So funktioniert der fbox-Befehl jetzt: \fbox{Fbox}

\vspace*{2cm}

Der normale fbox-Befehl ist noch in myfbox gespeichert und funktioniert auch: \myfbox{Myfbox}

\end{document}

occino
28-03-2012, 15:33
Ich habe mal zwei möglichkeiten ausprobiert:

1:
\newcommand{\myacl}[1]{{\acl{#1}}}
\renewcommand{\acl}[1]{\myacl{\textit{#1}}}

Beim erstellen kommt ein zu einem Speicherfehler (Tex capacity exceeded)

2:
\let\myacl\acl
\renewcommand{\acl}[1]{\myacl{\textit{#1}}}

und hier "!Missing \missingcsname inserted.<to be read again..."

Den ersten Fehler kann ich wohl nachvollziehen, aber der zweite sagt mir leider nichts :( Gibts vielleicht noch Ideen? ;)

Xenara
28-03-2012, 15:42
Du musst es umgekehrt machen: erst die Schrift ändern, dann acl aufrufen. Denn das Argument von \acl ist ja das Label. Wenn du da aber
\myacl{\textit{#1}}
stehen hast, dann zählt auch \textit ... zum Label, das geht natürlich schief.



\let\myacl\acl
\renewcommand{\acl}[1]{\textit{\myacl{#1}}}

occino
28-03-2012, 16:10
Super,
darauf hätte ich allerdings auch selber kommen können!

Vielen Dank für die schnelle Hilfe!