Wie kann ich in Formeln innerhalb von XeLaTeX wieder zu Computer Modern wechseln?

Wie kann ich in Formeln innerhalb von XeLaTeX wieder zu Computer Modern wechseln?

Antworten auf die FrageZurückschalten auf Computer Modern innerhalb von XeLaTeXbietet eine Möglichkeit, in XeLaTex zur Standardschriftart zurückzukehren. Die dortige Lösung funktioniert jedoch nicht, wenn ich \mathrmin einer Formel Folgendes verwende:

\documentclass{article}
\usepackage{fontspec}
\setmainfont{Linux Libertine O}
%\newfontfamily\lmodern{Latin Modern Roman} % If font exists on your system
% Optical sizes need to be set up manually using the [SizeFeatures] option
% or select the font using the regular font selection methods
\newcommand{\lmr}{\fontfamily{lmr}\selectfont} % Latin Modern Roman
\newcommand{\lmss}{\fontfamily{lmss}\selectfont} % Latin Modern Sans
\newcommand{\lmtt}{\fontfamily{lmtt}\selectfont} % Latin Modern Mono
\begin{document}
\[\mathrm{e}^{\mathrm{i}\pi}+1=0\]
{\lmr\[\mathrm{e}^{\mathrm{i}\pi}+1=0\]}
\end{document}

Sie können sehen, dass die Buchstaben e und i immer noch nicht in der Standardschriftart sind. Die Verwendung anderer Schriftarten, wie z. B. Consolas, lässt die Formeln noch schlechter aussehen.

Was soll ich tun, um das Problem zu lösen?

Antwort1

Wenn Sie Latin Modern als Standardschriftart für Text und Mathematik beibehalten möchten, führen Sie keine \setmainfontAnweisungen aus. Wenn Sie hingegen die Hauptschriftart für Text auf Linux Libertine O umstellen möchten, sollten Sie das unicode-mathPaket laden und ausführen \setmathfont{Libertinus Math}. Wenn Sie andererseits Libertine für Material im Textmodus, aber Latin Modern für Material im Mathematikmodus möchten, sollten Sie es \setmathfont{Libertinus Math}durch ersetzen \setmathfont{Latin Modern Math}[Scale=MatchLowercase].

Bildbeschreibung hier eingeben

%% execute this test file under XeLaTeX or LuaLaTeX

\documentclass{article}

\usepackage{unicode-math}
\setmainfont{Linux Libertine O}

\begin{document}

\setmathfont{Libertinus Math}
$\mathrm{e}^{\mathrm{i}\pi}+1=0$

\setmathfont{Latin Modern Math}[Scale=MatchLowercase] % or Scale=MatchUppercase
$\mathrm{e}^{\mathrm{i}\pi}+1=0$

\end{document}

Nachtrag: Wie @cabohah in einem Kommentar anmerkt, \setmainfont{Linux Libertine O}funktioniert es möglicherweise nicht mit einigen Kombinationen aus TeX-Distribution und Betriebssystem. Wenn das für Sie ein Problem darstellt, ist es möglicherweise besser, die Pakete libertine, libertinus, oder zu laden libertinus-otf, anstatt \setmainfontund \setmathfontAnweisungen auszuführen.

verwandte Informationen