如何為數學和文字獲得不同的顏色?

如何為數學和文字獲得不同的顏色?

我想在我的 LaTeX 文章中添加一些內容,使所有數學公式顯示為黑色,而所有文字(包括\text{}數學公式中間 s 內的所有內容)顯示為紅色。理想情況下,我希望這可以包含在序言或.cls文件或類似的內容中。最快的方法是什麼?

答案1

一種快速方法是使用\everymath,\everydisplayeverysel包:

\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 會導致對齊環境停止運作。如果您想這樣做,也許可以省略\everydisplayasalign在內部使用內聯數學,並重新定義基本顯示的數學,否則使用所需的顏色。

答案2

如果您可以使用xelatexlualatex來編譯文檔,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}

在此輸入影像描述

相關內容