我需要更改我的长篇物理书 pdf 文件以便打印。(可下载的 pdf 文件带有可点击的链接和嵌入的影片,将保持可用且免费。)打印机要求从 pdf 文件中删除所有链接。但是,我想保留原始链接颜色。最好的方法是什么?以下是详细信息。
大多数链接都是内部交叉链接,一些链接用 \url 定义。链接颜色在 hyperref 中定义。我使用 tex-dvi-dvips-pdf 路由。此外,我需要一个解决方案,其中包含可以在调用 \usepackage{hyperref} 后加载的命令。目前我有两个问题。
(1)如果我使用 \let\url\nolinkurl,相应的链接会消失,但它们的颜色也会消失。我该如何保留链接文本的颜色?(知道有些链接有特殊字符。)
(2) 如果我将整个文本嵌入 \begin{NoHyper} ... \end{NoHyper},内部交叉链接会消失,但曾经是链接的文本会变成黑色。这种情况发生在图片引用、目录、主题索引等中。我不知道现在该在哪里设置颜色。所有反向引用也消失了。
任何帮助都将非常感激!
答案1
问题 1 的解决方案似乎是这样的:
\def\url#1{\textcolor{mylinkcolor}{\nolinkurl{#1}}}
代替
\let\url\nolinkurl
对于问题 2,除了 Ulrike Fischer 给出的解决方案之外,还可以选择使用 Acrobat Professional 将链接的 PDF 转换为 PDF/X,正如 MadyYuvi 在评论中提到的那样。
其实Acrobat Pro里还有一种方法:使用“另存为优化pdf”,并选择设置,把所有的链接都取出来。
答案2
创建一个小包装器 mythesisprint.tex 并使用 pdfpages 输入您的 pdf:
\documentclass{book}
\usepackage{pdfpages}
\begin{document}
\includepdf[pages=-]{mythesis}
\end{document}
这将保留颜色但删除注释。
答案3
该ps2pdf
路线通过pdfmark
PS 运算符实现所有交互式 PDF 功能。在不改变文本视觉外观的情况下消除所有交互性的有效方法可能是中pdfmark
和?pdfmark
:
\documentclass{article}
\usepackage[colorlinks]{hyperref}
\special{!
userdict /?pdfmark systemdict /pop get put
userdict /pdfmark systemdict /cleartomark get put
}
\begin{document}
Go to page~\pageref{hello}.
\url{http://ctan.org}
\newpage
hello!\label{hello}
\end{document}