Как можно вернуться к использованию Computer Modern в формулах в XeLaTeX?

Как можно вернуться к использованию Computer Modern в формулах в XeLaTeX?

Ответы на вопросВозвращаемся к Computer Modern в XeLaTeXпредоставляет способ переключиться обратно на шрифт по умолчанию в XeLaTex. Однако решение там не работает, если я использую \mathrmв формуле:

\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}

Вы можете видеть, что буквы e и i по-прежнему отсутствуют в шрифте по умолчанию. Использование некоторых других шрифтов сделает формулы еще хуже, например, Consolas.

Что мне следует сделать, чтобы решить эту проблему?

решение1

Если вы хотите сохранить Latin Modern в качестве шрифта текста и математики по умолчанию, не выполняйте \setmainfontинструкции. И наоборот, если вы хотите переключить основной шрифт текста на Linux Libertine O, вам, вероятно, следует загрузить пакет unicode-mathи выполнить \setmathfont{Libertinus Math}. С другой стороны, если вы хотите Libertine для текстового материала, но Latin Modern для математического материала, вы можете заменить \setmathfont{Libertinus Math}на \setmathfont{Latin Modern Math}[Scale=MatchLowercase].

введите описание изображения здесь

%% 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}

Приложение: Как @cabohah указывает в комментарии, \setmainfont{Linux Libertine O}может не работать с некоторыми комбинациями дистрибутивов TeX/операционных систем. Если для вас это проблема, может быть предпочтительнее загрузить пакеты libertine, libertinus, или libertinus-otfвместо выполнения инструкций \setmainfontи .\setmathfont

Связанный контент