
¿Cómo hago esto? El uso \@ifnextchar^{command1}{command2}
no funciona. ¿Qué debo hacer en su lugar para detectar ^?
ACTUALIZAR.Resultó que no había ningún problema con el comando, sólo un conflicto de nombres en otras partes de mis macrodefiniciones. ¡Gracias por la rápida reacción!
Respuesta1
Funciona con ^
o con el comando \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}
Respuesta2
El siguiente archivo de látex produce una salida de terminal de
yes
no
mostrando que \@ifnextchar
ha resultado verdadero ^
y falso!
\makeatletter
\@ifnextchar^{\typeout{yes}\@gobble}{\typeout{no}\@gobble}^
\@ifnextchar^{\typeout{yes}\@gobble}{\typeout{no}\@gobble}!
\stop