我使用以下內容作為外觀的改善\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
在數學模式下工作正常,但在數學模式下的圖形標題內,它會產生一個錯誤,即「參數\@caption
有一個額外的}
」。
我在 \rotatebox 之前新增了 \protect 。沒有效果。我有另一個命令,用於\raisebox
將希臘字母 chi 移動到法線。它在數學模式下的圖形標題內 有一個\protect
和,效果很好。\raisebox
\ensuremath
我之前也嘗試過\protect
。建議?
答案1
一個錯誤,例如
argument of \@caption has an extra }
通常意味著「你在 的參數中有一個脆弱的命令\caption
。既然\mathbin
不脆弱,罪魁禍首一定是\mathpalette
或\rsetminusaux
確實這個人使用了\raisebox
脆弱的東西。
解決方案:
\DeclareRobustCommand\rsetminus{\mathbin{\mathpalette\rsetminusaux\relax}}
代替\newcommand
。