我正在使用 Xelatex 处理文档,因此我使用\fontspec
。我已将 monotype 字体设置为\setmonofont
使用 Inconsolata,例如,在参考书目的 URL 中。这个最小示例显示了这一点:
\documentclass[11pt,notitlepage,oneside,a4paper]{article}
\usepackage[backend=biber,style=authoryear,doi=true]{biblatex}
\usepackage{fontspec}
\usepackage{filecontents}
\setmonofont{Inconsolata}
\begin{filecontents}{biblio.bib}
@article{test,
author = {Author, A.},
year = {2015},
title = {Title},
journal = {Some Journal},
doi = {10.1016/S0169-8141(98)00038-9},
}
\end{filecontents}
\addbibresource{biblio.bib}
\usepackage[colorlinks=true,breaklinks]{hyperref}
\begin{document}
Lorem ipsum dolor \textcite{test}
\printbibliography
\end{document}
然后,我想更改数学字体,所以我将 改为\fontspec
并\mathspec
添加了\setmathfont
。使用数学字体一切都很好,只是现在我的参考书目中的网址是用该数学字体排版的,而不是用 Inconsolata 排版的
\documentclass[11pt,notitlepage,oneside,a4paper]{article}
\usepackage[backend=biber,style=authoryear,doi=true]{biblatex}
%\usepackage{fontspec}
\usepackage{mathspec}
\usepackage{filecontents}
\setmathfont(Digits,Latin,Greek)[Numbers={Lining,Monospaced}]{Alegreya Sans Light}
\setmonofont{Inconsolata}
\begin{filecontents}{biblio.bib}
@article{test,
author = {Author, A.},
year = {2015},
title = {Title},
journal = {Some Journal},
doi = {10.1016/S0169-8141(98)00038-9},
}
\end{filecontents}
\addbibresource{biblio.bib}
\usepackage[colorlinks=true,breaklinks]{hyperref}
\begin{document}
Lorem ipsum dolor \textcite{test}
\printbibliography
\end{document}
有什么问题?如何设置数学字体并将 Inconsolata 保留为 monotype 字体?
感谢您的帮助。
答案1
作为一种解决方法,您可以使用包unicode-math
。您可以看到这里unicode-math
和之间的区别mathspec
。简而言之,mathspec
旨在用系统字体(您正在寻找的字体)替换数学模式中的某些字体,而unicode-math
主要目的是使用完整的数学 OpenType 字体。
使用 unicode-math,您可以设置完整的数学系列,并用另一种字体替换某些字符集。这是一个 MWE:
\documentclass[11pt,notitlepage,oneside,a4paper]{article}
\usepackage{fontspec}
%\usepackage{xunicode}% unicode character macros
%\usepackage{xltxtra}
\usepackage[math-style=TeX]{unicode-math}
\setmathfont{Asana Math}
\setmathfont[range=\mathit/{latin,Latin},Numbers={Lining,Monospaced}]{Nimbus Sans L Regular Italic}
\setmathfont[range=\mathup/{latin,Latin},Numbers={Lining,Monospaced}]{Nimbus Sans L}
\setmainfont{Nimbus Sans L}
\setmonofont{Inconsolatazi4}
\usepackage[spanish]{babel}
\usepackage[backend=biber,style=authoryear,doi=true]{biblatex}
\usepackage{filecontents}
\begin{filecontents}{biblio.bib}
@article{test,
author = {Author, A.},
year = {2015},
title = {Title},
journal = {Some Journal},
doi = {10.1016/S0169-8141(98)00038-9},
}
\end{filecontents}
\addbibresource{biblio.bib}
\usepackage[colorlinks=true,breaklinks]{hyperref}
\begin{document}
Lorem ipsum dolor \textcite{test}
\[e=mc^2\]
\printbibliography
\end{document}
这个想法是,你为所有字形和字母(甚至希腊字母)设置一个数学字体(Asana),并用无衬线字体(Nimbus Sans L)替换其中一些
这样,您就可以使用 Alegreya Sans Light 作为数学字体,使用 Inconsolata 作为单色字体(为了简单起见,我用 Nimbus Sans L 替换了 Alegreya;大多数 Linux 发行版都默认安装了 Nimbus,以替代 Helvetica)。
我没有使用mathspec
软件包的经验,所以你的问题可能是一个错误,或者有人可以根据它发布更好的解决方案。
希望这对你有帮助。
亲切的问候