El código para dar una barra x "agradable" funciona bien pero falla si está en el encabezado de una sección

El código para dar una barra x "agradable" funciona bien pero falla si está en el encabezado de una sección

Estaba buscando un xbar mejor y encontré una respuesta aquí de hace unos 11 años:

¿Puedo obtener una barra ancha sin usar el paquete mathabx?

Utilicé el código abreviado y funciona bien. Sin embargo, cuando lo pongo en el encabezado de una sección, aparece un error de compilación. Aquí está el código que estoy usando:

\documentclass{amsbook}
\usepackage{amsmath}
\usepackage{mathtools}
\usepackage{amssymb}
%%%%%%%%%%%% Code to make a nicer xbar %%%%%%
\makeatletter
\newcommand*\rel@kern[1]{\kern#1\dimexpr\macc@kerna}
\newcommand*\Xbar[1]{%
  \begingroup
  \def\mathaccent##1##2{%
    \rel@kern{0.8}%
    \overline{\rel@kern{-0.8}\macc@nucleus\rel@kern{0.2}}%
    \rel@kern{-0.2}%
  }%
  \macc@depth\@ne
  \let\math@bgroup\@empty \let\math@egroup\macc@set@skewchar
  \mathsurround\z@ \frozen@everymath{\mathgroup\macc@group\relax}%
  \macc@set@skewchar\relax
  \let\mathaccentV\macc@nested@a
  \macc@nested@a\relax111{#1}%
  \endgroup
}
\makeatother
%%%%%%%%%%%%%%% End of Code %%%%%%%%%%%%%%%%

\begin{document}
$\Xbar{X}$
\section{All about $\Xbar{X}$}
\end{document}

La primera instancia está bien, pero la de \section explota. Esto está mucho más allá de mi nivel de habilidad: no tengo idea de qué hace el código entre \makeatletter y \makeatother, así que ni siquiera puedo empezar a pensar en depurar. Ni siquiera sé qué etiquetas usar para esta pregunta.

Respuesta1

Agregue \protectantes \Xbar{X}, como \section{All about $\protect\Xbar{X}$}.

O utilizar \NewDocumentCommand{\Xbar}{m}{en lugar de \newcommand*\Xbar[1]{.

ingrese la descripción de la imagen aquí

información relacionada