我使用 \everymath 来更改所有数学的颜色(蓝色)。然而,出乎我的意料的是,这种颜色恰好自动应用于任何带下划线的文本。请指导我如何解决这个问题,即将所有带下划线的文本恢复为正常颜色(黑色)。任何帮助都将不胜感激。
下面是一个小例子来说明我的问题。
\documentclass[11pt]{paper}
\usepackage[usenames]{color}
\everymath{\color{blue}}
\makeatletter \def\m@th{\normalcolor\mathsurround\z@} \makeatother
\begin{document}
\underline{Problem 1.} This is \underline{some} math: $a^2$.
\end{document}
答案1
的定义\underline
是
% latex.ltx, line 5128:
\def\underline#1{%
\relax
\ifmmode\@@underline{#1}%
\else $\@@underline{\hbox{#1}}\m@th$\relax\fi}
并且的位置\m@th
就是对你的输出的解释。
这是必要的否则\m@th
,可能会影响要下划线的文本中的数学运算。
您可能想要重新定义它:
\def\underline#1{%
\relax
\ifmmode\@@underline{#1}%
\else $\normalcolor\@@underline{\hbox{#1}}\m@th$\relax\fi}
ulem
但您应该考虑使用包裹或的设施soul
。
更好的是,根本不要划线。