
Я хочу включить что-то в свою статью 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
as align
использует встроенную математику внутри и переопределите базовую отображаемую математику в противном случае для использования желаемого цвета.
решение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}