URL 中的数字使用不同的字体

URL 中的数字使用不同的字体

我在用mathspec使数学模式中的字体与文本主体中使用的罗马字体相匹配。 中的“数字”环境对文档中的所有数字都有效。 这意味着,尽管加载了命令(我原以为会覆盖) mathspec,但通常使用罗马字体以外的字体的数字(例如 URL 中的数字)最终也会使用此字体。mathspec\setallmonofonts\setmathfont

\documentclass{article}

\usepackage{mathspec}
\setmainfont{Book Antiqua}
\setmathfont(Digits,Latin){Book Antiqua}
\setallmonofonts{Courier New}

\usepackage[hidelinks]{hyperref}

\begin{document}
Some text. Some figures: 123456789\\
\url{http://some.urlwithnumbers/123456789}

$$Some text in math mode. Some figures in math mode: 12345789$$

\end{document}

xelatex 输出的图像

有没有办法只为数学模式中出现的数字设置字体?我想为等宽字符串中的数字保留我指定的等宽字体(如果需要使用无衬线字体,也一样)。

答案1

来自的诀窍https://tex.stackexchange.com/a/99774似乎有效:

\documentclass{article}

\usepackage{mathspec}
\setmainfont{Arial}
\setmathfont(Digits,Latin){Arial}
\setallmonofonts{Courier New}

\makeatletter
     \DeclareMathSymbol{0}{\mathalpha}{\eu@DigitsArabic@symfont}{`0}
     \DeclareMathSymbol{1}{\mathalpha}{\eu@DigitsArabic@symfont}{`1}
     \DeclareMathSymbol{2}{\mathalpha}{\eu@DigitsArabic@symfont}{`2}
     \DeclareMathSymbol{3}{\mathalpha}{\eu@DigitsArabic@symfont}{`3}
     \DeclareMathSymbol{4}{\mathalpha}{\eu@DigitsArabic@symfont}{`4}
     \DeclareMathSymbol{5}{\mathalpha}{\eu@DigitsArabic@symfont}{`5}
     \DeclareMathSymbol{6}{\mathalpha}{\eu@DigitsArabic@symfont}{`6}
     \DeclareMathSymbol{7}{\mathalpha}{\eu@DigitsArabic@symfont}{`7}
     \DeclareMathSymbol{8}{\mathalpha}{\eu@DigitsArabic@symfont}{`8}
     \DeclareMathSymbol{9}{\mathalpha}{\eu@DigitsArabic@symfont}{`9}
\makeatother



\usepackage[hidelinks]{hyperref}

\begin{document}
Some text. Some figures: 123456789\\
\url{http://some.urlwithnumbers/123456789}

\[Some text in math mode. Some figures in math mode: 12345789\]

\end{document}

在此处输入图片描述

相关内容