
Quiero incluir algo en mi artículo de LaTeX que hará que todas las fórmulas matemáticas aparezcan en negro, mientras que todo el texto (incluido todo lo que esté dentro de \text{}
s en medio de las fórmulas matemáticas) aparezca en rojo. Lo ideal sería que esto fuera algo que pudiera incluir en el preámbulo o en un .cls
archivo o algo así. ¿Cuál sería la forma más rápida de hacerlo?
Respuesta1
Una forma rápida es usar \everymath
y \everydisplay
el everysel
paquete:
\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}
Sin embargo, en entornos más complicados amsmath
como los align
que podrían surgir, podrían surgir problemas con\everydisplay
, consulte:Modificar \everydisplay hace que el entorno de alineación deje de funcionar. Si desea seguir este camino, tal vez omita \everydisplay
el align
uso de matemáticas en línea internamente y, de lo contrario, redefina las matemáticas básicas mostradas para usar el color deseado.
Respuesta2
Si puede utilizar xelatex
o lualatex
para compilar el documento, una combinación de fontspec
y unicode-math
puede ayudar:
\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}