Estou usando o seguinte comouma melhoria na aparência\setminus
:
\newcommand\rsetminus{\mathbin{\mathpalette\rsetminusaux\relax}}
\newcommand\rsetminusaux[2]{\mspace{-4mu}
\raisebox{\rsmraise{#1}\depth}{\rotatebox[origin=c]{-20}{$#1\smallsetminus$}}
\mspace{-4mu}
}
\newcommand\rsmraise[1]{%
\ifx#1\displaystyle .8\else
\ifx#1\textstyle .8\else
\ifx#1\scriptstyle .6\else
.45%
\fi
\fi
\fi}
\rsetminus
funciona bem no modo matemático, mas dentro de uma legenda de figura no modo matemático produz um erro de que o "argumento de \@caption
tem um extra }
".
Adicionei \protect antes de \rotatebox. Nenhum efeito. Eu tenho outro comando que \raisebox
move a letra grega chi para a linha normal. Ele tem um \protect
antes \raisebox
e funciona bem dentro de uma legenda de figura no modo matemático.
Eu também tentei com \ensuremath
antes do \protect
. Conselho?
Responder1
Um erro como
argument of \@caption has an extra }
geralmente significa “você tem um comando frágil no argumento para \caption
. Como \mathbin
não é frágil, o culpado deve ser \mathpalette
ou \rsetminusaux
e na verdade este usa \raisebox
o que é frágil.
Solução:
\DeclareRobustCommand\rsetminus{\mathbin{\mathpalette\rsetminusaux\relax}}
em vez de \newcommand
.