这是我的示例代码,出于某种原因,除实际数学问题(如突出显示)之外,所有文本的字体都会发生变化。我应该如何让 xlop 使用 setmainfont 中设置的字体。任何关于其工作原理的见解都将不胜感激。
\documentclass[20pt,fleqn,leqno]{extarticle}
\usepackage{enumitem}
\usepackage{xlop}% http://ctan.org/pkg/xlop
\usepackage{fontspec}
\setmainfont{Goudy Stout}
\begin{document}
Math worksheet
\begin{enumerate}[label={\arabic*)}]
\item { \opadd[style=text] {61}{7} }
\item {\opadd[style=text] {1}{7} }
\item {\opadd[style=text] {161}{7} }
\item {\opadd[style=text] {1}{700} }
\end{enumerate}
\end{document}
答案1
\opadd[style=text]
默认使用数学字体,如果不使用此选项,则使用文本字体。使用 LuaLaTeX 编译时,可以使用\fontspec
和修改这些字体\setmathfont
。
% !TeX program = lualatex
\documentclass{article}
%https://tex.stackexchange.com/questions/448989/font-usage-and-number-display-by-xlop
\usepackage{xlop}
\usepackage{enumitem}
\usepackage{unicode-math}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\setmainfont{Segoe Print}%<-- if comment Latin Modern »
\setmathfont{Erewhon Math}%<-- if comment Latin Modern Math
\begin{document}
\begin{minipage}[t]{0.48\linewidth}
\begin{center}
By default
\end{center}
\begin{enumerate}[label={\arabic*)}]
\item {\opadd[style=text] {61}{7}}
\item {\opadd {61}{7} }
\item \opidiv{17}{6}
%\item $\opidiv{17}{6}$ <-- mode math aucun effet
\end{enumerate}
\end{minipage}%
\vrule
\begin{minipage}[t]{0.48\linewidth}
\begin{center}
With modification
\end{center}
\begin{enumerate}[label={\arabic*)}]
\item {\setmathfont{Segoe Print}\opadd[style=text] {61}{7}\setmathfont{Erewhon Math}}
%\item $1+2=3$
\item {\fontspec{Erewhon Math}\opadd {61}{7}}
\item {\fontspec{Erewhon Math}\opidiv{17}{6}}
\end{enumerate}
\end{minipage}%
\bigskip
Some text and $1+2=3$
\end{document}