Serifenzahlen in Monospace-Umgebungen in „Mathspec“, aber nicht in „Fontspec“

Serifenzahlen in Monospace-Umgebungen in „Mathspec“, aber nicht in „Fontspec“

Ich möchte sowohl für den Hauptteil meines Textes als auch für die Mathematikumgebungen eine Serifenschriftart und für Dinge wie URLs eine separate Monospace-Schriftart verwenden.

Wenn ich dies kompiliere mitfontspec:

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

Ich bekomme:

Dabei wird nicht die richtige Mathematikschriftart verwendet. Wenig überraschend erhalte ich dasselbe Ergebnis, wenn ich einfachfontspecmitmathspec). Aber wenn ich hinzufüge \setmathsfont{Times New Roman}usingmathspec, ich erhalte immer noch das gleiche Ergebnis.

Und wenn ich kompiliere:

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

Ich bekomme:

Dadurch wird die Mathematikumgebung auf die gewünschte Schriftart umgestellt, die Zahlen in der angegebenen URL werden jedoch in Serifen statt in Monospace-Schrift geändert, was unerwünscht ist.

Hat jemand eine Idee, was ich falsch mache und wie ich etwas hinbekomme, das so aussieht:

Antwort1

urlverwendet Mathematik, um die URL zu setzen, und wenn mathspecman die Mathematikcodes ändert, erhält man die falsche Schriftart. Sie können sie zurücksetzen:

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

Bildbeschreibung hier eingeben

Aber ich würde Unicode-Mathe und eine Times-ähnliche Mathe-Schriftart verwenden, z. B. so

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

Bildbeschreibung hier eingeben

verwandte Informationen