我正在尝试向 NSF Fastlane 提交提案文件。我正在使用 生成 PDF 文档lualatex
。我的文件包含hyperref
内部和外部链接,但它们被 Fastlane 的上传 PDF 重提功能删除。文本仍然存在并且可见,但没有可点击的链接。
这是我最小的不工作示例。我使用lualatex
Windows 上的 TeXLive 2016 发行版对其进行了编译。罪魁祸首似乎是fontspec
。如果我删除该行,链接就可以正常工作,但我想使用,fontspec
这样我就可以选择字体。
\documentclass[fontsize=10pt,paper=letter,twoside=false,onecolumn]{scrartcl}
\usepackage{fontspec} % This seems to be the problem.
\usepackage{hyperref}
\setmainfont{Palatino Linotype}
\begin{document}
\section{Section}\label{sec}
This is an explicit external url: \url{http://tex.stackexchange.com}.
This is an external link: \href{http://tex.stackexchange.com}{Link}.
This is an internal link to Sec.~\ref{sec}.
\end{document}
我的问题是:
- 什么原因
fontspec
导致我的链接被 Fastlane 吃掉? - 有解决方法吗?
编辑:
问题在于 Fastlane 在重新提取 PDF 时如何处理字体。
例如,在给出的示例中,如果我pdffonts
在生成的文件上运行,lualatex
我会得到以下输出:
name type emb sub uni object ID
------------------------------------ ----------------- --- --- --- ---------
TYJNNQ+PalatinoLinotype-Roman CID TrueType yes yes yes 19 0
但在将文件上传到 Fastlane 并重新下载后,输出结果pdffonts
为
name type emb sub uni object ID
------------------------------------ ----------------- --- --- --- ---------
EKFDNL+PalatinoLinotype-Roman CID TrueType yes yes no 31 0
EKFFKE+PalatinoLinotype-Roman TrueType yes yes no 36 0
EKFFNF+PalatinoLinotype-Roman TrueType yes yes no 2 0
字体以某种方式被分解并重新编码,从而破坏了超链接。
编辑2:我不确定字体是否真的是问题所在。更改字体后,\url{}
链接可以正常工作,但\href{}{}
链接仍然不起作用。
答案1
问题是 Fastlane 的 PDF 提取器无法处理所有字体。请参阅 Fastlane 文档第 1346 页:https://www.research.gov/common/attachment/Desktop/FastLane_Help.pdf(警告:该文件大小为 30MB。)
说明书明确指出使用仅限 Type 1 或 TrueType 字体。具体来说,hyperref
使用 mono 字体系列来排版 URL,因此必须明确设置。
这是技术问题。但根据最新的 NSF 指南(https://www.nsf.gov/pubs/policydocs/pappg17_1/pappg_2.jsp#IIB2),唯一允许的字体是
Arial、Courier New 或 Palatino Linotype,字体大小为 10 点或更大;
Times New Roman 字体,字体大小为 11 号或更大;或
字体大小为 11 点或更大的计算机现代字体系列。
在这些选择中,我相信唯一的等宽字体是Courier New
或Computer Modern Typewriter
(如果你有.ttf版本),所以有必要使用类似
\setmonofont{Courier New}
覆盖默认字体(例如lm-mono
)或以其他方式禁用文档中的所有等宽字体。