Estoy usando lo siguiente comouna mejora en el aspecto de\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 bien en modo matemático, pero dentro del título de una figura en modo matemático produce un error que indica que el "argumento de \@caption
tiene un extra }
".
Agregué \protect antes de \rotatebox. Sin efecto. Tengo otro comando que utiliza \raisebox
para mover la letra griega chi hasta la línea normal. Tiene un \protect
antes \raisebox
y funciona bien dentro del título de una figura en modo matemático.
También probé con \ensuremath
antes del \protect
. ¿Consejo?
Respuesta1
Un error como
argument of \@caption has an extra }
normalmente significa “tienes un comando frágil en el argumento para \caption
. Como \mathbin
no es frágil, el culpable debe ser \mathpalette
o \rsetminusaux
y de hecho éste utiliza \raisebox
lo que es frágil.
Solución:
\DeclareRobustCommand\rsetminus{\mathbin{\mathpalette\rsetminusaux\relax}}
en lugar de \newcommand
.