xlop 的字体使用及数字显示

xlop 的字体使用及数字显示

这是我的示例代码,出于某种原因,除实际数学问题(如突出显示)之外,所有文本的字体都会发生变化。我应该如何让 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}

在此处输入图片描述

相关内容