Spreelu hat geschrieben:
\fi %\fi verstehe ich nicht wofür steht das? Was für eine Bedeutung steckt dahinter?
}
der zuvor aufgerufene \ifx wird durch \fi beendet (\fi : umgekehrtes `if': Ende des zuvor gestellten `if'). Generell sieht das so aus
\if<Bedingung>
%Code, der ausgeführt wird, wenn <Bedingung> zutrifft
\else
%Code, der ausgeführt wird, wenn <Bedingung> nicht zutrifft
\fi
wobei es unterschiedliche \if-Abfragen gibt (\if, \ifdim, \ifx, ...) siehe dazu `texdoc TeXbyTopic'
Spreelu hat geschrieben:
\newcommand*\psumsaved[1]{% % \newcommand verstehe ich. Aber wie geht das mit dem Sternchen dahinter. Das kenne ich garnicht.
\newcommand\foo[1]{..} definiert einen Befehl `foo', worin ({..}) ein neuer Absatz möglich wäre.
\newcommand*\foo[1]{..} definiert einen Befehl `foo', worin ein neuer Absatz nicht möglich (und hier auch nicht notwendig) wäre.
Spreelu hat geschrieben:
\@ifundefined{psum@saved@#1}{???}{%
\expandafter\numprint{\@nameuse{psum@saved@#1}}% %\@nameuse{} nameuse verstehe ich aber wie geht das mit dem @ zwischen dem schrägstrich???
}%
}
\makeatother
\@nameuse (und auch \@namedef) sind im LaTeX-Kern so definiert.
Das `@' im Befehlsnamen ist `by design': ein normaler LaTeX-Anwender benötigt @-haltige Makros nicht. Deshalb sind innerhalb eines Dokuments nur A--Z und a--z (oder genau ein anderes Zeichen) für Befehlsnamen zulässig.
Deshalb auch \makeatletter / \makeatother drumherum: \makeatletter steht für `mach @ zu einem Buchstaben' (und damit zu einem Zeichen, das für Befehlsnamen zulässig ist).
Aber wie kannst Du `nameuse', nicht aber `\@nameuse' verstehen? Siehe vllt auch `texdoc source2e' und schau darin nach `nameuse'
MfG
Rainer