我想為文字正文和數學環境使用襯線字體,並為 URL 之類的內容使用單獨的等寬字體。
當我編譯這個使用fontspec
:
\documentclass[12pt,a4paper]{article}
\usepackage[hidelinks]{hyperref}
\usepackage{fontspec}
\setmainfont{Times New Roman}
\setmonofont{Courier New}
\begin{document}
\noindent See the following article on Wikipedia about the year AD 2017:
\url{https://en.wikipedia.org/wiki/2017}
$2000 + 17 = 2017$
\end{document}
我得到:
哪一個不使用正確的數學字體。不出所料,我透過替換得到了同樣的結果fontspec
和mathspec
)。但是當我添加\setmathsfont{Times New Roman}
使用mathspec
,我仍然得到相同的結果。
當我編譯時:
\documentclass[12pt,a4paper]{article}
\usepackage[hidelinks]{hyperref}
\usepackage{mathspec}
\setallmainfonts{Times New Roman}
\setallmonofonts{Courier New}
\begin{document}
\noindent See the following article on Wikipedia about the year AD 2017:
\url{https://en.wikipedia.org/wiki/2017}
$2000 + 17 = 2017$
\end{document}
我得到:
這會將數學環境變更為所需的字體,但會將給定 URL 中的數字變更為襯線字體而不是等寬字體,這是不可取的。
有誰知道我哪裡出了問題以及如何得到看起來像這樣的東西:
答案1
url
使用數學來排版網址,並且隨著mathspec
數學程式碼的更改,您會得到錯誤的字體。您可以重置它們:
\documentclass[12pt,a4paper]{article}
\usepackage[hidelinks]{hyperref}
\usepackage{mathspec}
\setallmainfonts{Times New Roman}
\setallmonofonts{Courier New}
\makeatletter
\def\Url@FormatString{%
\UrlFont
\Url@MathSetup
\mathcode"30=28720 %0
\mathcode"31=28721 %1
\mathcode"32=28722 %2
%...
\mathcode"37=28727 %7
$\fam\z@ \textfont\z@\font
\expandafter\UrlLeft\Url@String\UrlRight
\m@th$%
}%
\begin{document}
\noindent See the following article on Wikipedia about the year AD 2017:
\url{https://en.wikipedia.org/wiki/2017}
$2000 + 17 = 2017$
\end{document}
但我會使用 unicode-math 和類似數學字體的時間,例如這樣
\documentclass[12pt,a4paper]{article}
\usepackage[hidelinks]{hyperref}
\usepackage{unicode-math}
\setmainfont{Times New Roman}
\setmonofont{Courier New}
\setmathfont{TeX Gyre Termes Math}
\begin{document}
\noindent See the following article on Wikipedia about the year AD 2017:
\url{https://en.wikipedia.org/wiki/2017}
$2000 + 17 = 2017$
\end{document}