
Ich möchte in meinen LaTeX-Artikel etwas einbauen, das alle mathematischen Formeln in Schwarz erscheinen lässt, während der gesamte Text (einschließlich allem innerhalb \text{}
von „s“ in der Mitte mathematischer Formeln) in Rot erscheint. Idealerweise hätte ich das gerne in die Präambel oder in eine Datei oder so etwas einfügen können .cls
. Wie geht das am schnellsten?
Antwort1
Eine schnelle Möglichkeit besteht in der Verwendung von \everymath
und \everydisplay
des everysel
Pakets:
\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}
In komplizierteren amsmath
Umgebungen wie align
könnte es jedoch zu Problemen mit kommen \everydisplay
, siehe:Das Ändern von \everydisplay führt dazu, dass die Align-Umgebung nicht mehr funktioniert. Wenn Sie diesen Weg gehen möchten, lassen Sie es vielleicht weg, \everydisplay
da align
intern Inline-Mathematik verwendet wird, und definieren Sie die angezeigte Grundmathematik andernfalls neu, um die gewünschte Farbe zu verwenden.
Antwort2
Wenn Sie zum Erstellen des Dokuments xelatex
oder verwenden können , kann eine Kombination aus und hilfreich sein: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}