![在 XeLaTeX 中使用带有 fontspec 的某些字体时,超链接框格式不正确](https://linux22.com/image/430633/%E5%9C%A8%20XeLaTeX%20%E4%B8%AD%E4%BD%BF%E7%94%A8%E5%B8%A6%E6%9C%89%20fontspec%20%E7%9A%84%E6%9F%90%E4%BA%9B%E5%AD%97%E4%BD%93%E6%97%B6%EF%BC%8C%E8%B6%85%E9%93%BE%E6%8E%A5%E6%A1%86%E6%A0%BC%E5%BC%8F%E4%B8%8D%E6%AD%A3%E7%A1%AE.png)
问题:如何使用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}