
Como eu faço isso? O uso \@ifnextchar^{command1}{command2}
não funciona. O que devo fazer para detectar ^?
ATUALIZAR.Acabou não havendo nenhum problema com o comando, apenas um conflito de nomes em outras partes das minhas macrodefinições. Obrigado pela reação rápida!
Responder1
Funciona com ^
ou com o 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}
Responder2
O seguinte arquivo latex produz uma saída de terminal de
yes
no
mostrando que \@ifnextchar
foi testado verdadeiro ^
e falso para!
\makeatletter
\@ifnextchar^{\typeout{yes}\@gobble}{\typeout{no}\@gobble}^
\@ifnextchar^{\typeout{yes}\@gobble}{\typeout{no}\@gobble}!
\stop