Verwendung von \lowercase

Verwendung von \lowercase

Wenn ich schreibe:

\documentclass[a4paper]{report}

\begin{document}
\lowercase{Norma}
\end{document}

Ich erhalte "norma" in der Ausgabe, kleingeschrieben, wie ich es möchte. Wenn ich jedoch schreibe:

\documentclass[a4paper]{report}
\expandafter\def\csname mw@mu\endcsname{Norma}

\begin{document}
\lowercase{\csname mw@mu\endcsname}
\end{document}

Ich bekomme „Norma“ mit dem Großbuchstaben, den ich nicht haben möchte. Ich habe versucht, es \noexpandvor \lowercase, und \lowercasemit \expandafters zu umgeben, aber ohne Erfolg: der Großbuchstabe steht immer da. Wie kann ich das beheben?

Antwort1

Die Befehle \lowercaseund \uppercaseerweitern ihren Inhalt nicht; sie konvertieren lediglich Zeichen-Token in ihrem Argument und legen die Token-Liste in den Eingabestrom zurück.

In Ihrem Code können sich Groß- m w @ mund Kleinschreibung ändern u. Wenn Sie es tatsächlich versuchen,

\lowercase{\csname MW@MU\endcsname}

Sie erhalten das gleiche Ergebnis wie

\lowercase{\csname mw@mu\endcsname}

Um das Beispiel einfacher zu machen:

\def\Norma{Norma}
\lowercase{\Norma}

wird drucken

Norma

weil symbolische Token nicht von berührt werden \lowercase. Wenn Sie die Erweiterung von wirklich klein schreiben möchten, \Normamüssen Sie sagen

\lowercase\expandafter{\Norma}

aber nur das erste Token wird expandiert, nicht die anderen Token, die darauf folgen. Für das mit angegebene Makro \csnamebenötigen Sie

\lowercase\expandafter\expandafter\expandafter{\csname mw@mu\endcsname}

verwandte Informationen