\everymath 和作者颜色

\everymath 和作者颜色

请考虑以下示例:

\documentclass[11pt]{paper}
\usepackage[usenames]{color}

\definecolor{foo}{rgb}{0.75,0.0,0.0}
\everymath{\color{foo}}

\title{something}
\author{someone}
\begin{document}
\maketitle
this is some math: $a^2$. 
\end{document}

数学按预期被染成红色。但是,作者列表也被染成红色。如果我注释掉该\everymath命令,那么作者和数学都会变回黑色。

我了解 的功能\everymath,但我没有意识到它也会影响作者规范。这是一个已知功能吗?

答案1

对你的问题的主要回答是这\everymath不是一个 LaTeX 命令,也就是说,你不应该从任何 LaTeX 手册或说明中获得它。不幸的是,许多 TeX 原语都被赋予了非常好听的名字,而且由于历史原因,大多数格式(包括 LaTeX)都保留了这些名称(也来自普通的 TeX 扩展),即使它们在更复杂的环境(如 LaTeX)中使用并不安全。

这种行为的技术原因是 TeX 缺少一些重要的构建块,或者只是以迂回的方式提供它们。例如,垂直居中可用,\vcenter这只有在数学模式下才可用,因此许多高级构造使用“假”数学模式来实现这样的特殊效果,即使从技术上讲根本没有构建公式。

话虽如此,但可能有办法解决这个问题(但风险自负:-)

尝试

\makeatletter  \def\m@th{\mathsurround\z@\color{black}} \makeatother

除了您的代码之外。这很可能起作用的原因是,任何“假”数学都应该包括\m@th取消可能添加到公式周围的额外空间。因此,如果所有包中的所有构造都正确构建,那么这应该可以解决问题。

相关内容