
Wie mache ich das? Die Verwendung \@ifnextchar^{command1}{command2}
funktioniert nicht. Was soll ich stattdessen tun, um ^ zu erkennen?
AKTUALISIEREN.Es stellte sich heraus, dass es kein Problem mit dem Befehl gab, sondern nur einen Namenskonflikt an einer anderen Stelle in meinen Makrodefinitionen. Danke für die schnelle Reaktion!
Antwort1
Es funktioniert mit ^
oder mit dem Befehl \sp
:
\documentclass{article}
\usepackage{amsmath}
\makeatletter
\newcommand{\foo}{%
\@ifnextchar\sp{\cmdone}{\cmdtwo}
}
\newcommand{\cmdone}{\text{Is superscripted!}}
\newcommand{\cmdtwo}{\text{Is not superscripted!}}
\makeatother
\begin{document}
$\foo^2$
$\foo E=mc^2$
\end{document}
Antwort2
Die folgende Latex-Datei erzeugt eine Terminalausgabe von
yes
no
zeigt, dass für „true“ und für „false“ \@ifnextchar
getestet wurde^
!
\makeatletter
\@ifnextchar^{\typeout{yes}\@gobble}{\typeout{no}\@gobble}^
\@ifnextchar^{\typeout{yes}\@gobble}{\typeout{no}\@gobble}!
\stop