
我想在我的 LaTeX 文章中添加一些內容,使所有數學公式顯示為黑色,而所有文字(包括\text{}
數學公式中間 s 內的所有內容)顯示為紅色。理想情況下,我希望這可以包含在序言或.cls
文件或類似的內容中。最快的方法是什麼?
答案1
一種快速方法是使用\everymath
,\everydisplay
和everysel
包:
\documentclass{article}
\usepackage{amsmath}
\usepackage{color}
\usepackage{everysel}
\EverySelectfont{\color{red}}
\everymath{\color{black}}
\everydisplay{\color{black}}
\begin{document}
text $x=0$
\[ \text{Text in math, }y= 1 \]
\end{document}
但是,對於更複雜的amsmath
環境(例如 )align
可能會出現問題\everydisplay
,請參閱:修改 \everydisplay 會導致對齊環境停止運作。如果您想這樣做,也許可以省略\everydisplay
asalign
在內部使用內聯數學,並重新定義基本顯示的數學,否則使用所需的顏色。
答案2
如果您可以使用xelatex
或lualatex
來編譯文檔,fontspec
則 和的組合unicode-math
可以提供協助:
\documentclass{article}
\usepackage{fontspec}
\setmainfont[Color=FF0000]{Latin Modern Roman}
\setsansfont[Color=FF0000]{Latin Modern Sans}
\setmonofont[Color=FF0000]{Latin Modern Mono}
\usepackage{lipsum}
\usepackage{amsmath}
\usepackage{unicode-math}
\setmathfont[Color=000000]{lmmath-regular.otf}
\begin{document}
A bunch of text, then an equation.
\begin{equation}
f(x) = \sin (x) \text{ and } g(x) = e^x\cos(x)
\end{equation}
Some \textsf{inline} math \( a = b \), and then an \texttt{align}
\begin{align}
N^2 &= -\frac{g}{\rho_0} \frac{\partial \rho}{\partial z} \\
N &= \sqrt{-\frac{g}{\rho_0} \frac{\partial \rho}{\partial z}}
\end{align}
\end{document}