\caption と新しい setminus

\caption と新しい setminus

私は以下を使用しています見た目の改善\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 を通常の行まで移動するために使用する別のコマンドがあります。このコマンドには\protectthe の前にがあり\raisebox、数式モードの図のキャプション内で正常に機能します。

私も\ensuremath前に試しました\protect。アドバイスはありますか?

答え1

次のようなエラー

argument of \@caption has an extra }

は通常、「 の引数に脆弱なコマンドがあります\caption。 は\mathbin脆弱ではないので、原因は\mathpaletteまたはであるはずであり\rsetminusaux、実際、この場合は\raisebox脆弱な を使用しています。」という意味です。

解決:

\DeclareRobustCommand\rsetminus{\mathbin{\mathpalette\rsetminusaux\relax}}

の代わりに\newcommand

関連情報