问题:如何使用fontspec
字体使得hyperref
盒子形状良好且不会太高?
解决了:我不知道为什么,但添加Extension=.ttf
内部setmainfont
选项可以解决这个问题。
fontspec
我的期望:在带有链接的文档中使用包中的不同字体(如 Junicode 和 XeLaTeX)hyperref
。
我得到的结果是:链接框太高,超出了字形,如下图所示。我已经用 Junicode 和 Cardo 进行了测试。
当这些框在任何合理排版的文档中都不可见时,这尤其令人讨厌(尝试取消注释colorlinks
MWE 中的行)。
作为参考,下图中所有功能均与默认的 Computer Modern 字体配合良好。此外,TeX Gyre Pagella 和 TeX Gyre Termes 似乎也能正常工作。
看来 Junicode 和 Cardo 字体本身就是造成这个问题的原因,但是有没有什么方法可以避免这个问题呢?
梅威瑟:
% To compile and experience the problem: xelatex file.tex
\documentclass{book}
\usepackage{fontspec}
\setmainfont[
Mapping=tex-text,
Extension=.ttf %%% THIS LINE SOLVED THE PROBLEM
]{Junicode}
\usepackage[xetex]{hyperref}%
\urlstyle{rm}%
%%% You can try uncommenting the `colorlinks` option to experience how
%%% uncomfortable it is to try to click those invisible boxes that have
%%% wrong dimensions.
\hypersetup{%
xetex,%
%colorlinks=true%
}
\begin{document}
Test link: \href{https://creativecommons.org/licenses/by-sa/4.0/}{CC BY-SA}\\
Curiously italics work: \href{https://creativecommons.org/licenses/by-sa/4.0/}{\textit{CC BY-SA}}\\
test some more \href{https://www.google.com}{\MakeLowercase{Google}} and more\\
Finnish newspaper! \href{https://www.hs.fi/}{Helsingin Sanomat}
\end{document}