我正在寻找更好的 xbar 并在大约 11 年前在这里找到了答案:
我可以不使用 mathabx 包来获得 \widebar 吗?
我使用了缩写代码,效果很好。但是,当我将其放在节标题中时,出现了编译器错误。这是我使用的代码:
\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}
第一个实例没问题,但 \section 中的实例崩溃了。这远远超出了我的技能水平——我不知道 \makeatletter 和 \makeatother 之间的代码是做什么的,所以我根本没法开始考虑调试。我甚至不知道该用什么标签来解决这个问题。