pdfx 手册中指出
为了生成验证的 PDF/X 文档,pdfx 会覆盖内部宏,同时保留与链接锚点相关的颜色。
我可以在答案中看到同样的说法这里:pdfx - 软件包导致超链接无效
但我的最小示例(Luatex 2018)显示任何链接都仅以周围的颜色打印。
\documentclass{article}
\usepackage[x-4]{pdfx} %option x-4 for print, a-1b for archive (also display)
%\usepackage{hyperref}, it is already included by pdfx
\hypersetup{ colorlinks, allcolors=blue}%
\begin{document}
\section{First}\label{first_section}
Check \ref{second_section} (it should be in {\color{blue}blue}).\\{\color{blue} Check \ref{second_section} (it just follows the surrounding color)}.
\section{Second}\label{second_section}
\end{document}
如果我改变
\usepackage[x-4]{pdfx}
到
\usepackage[a-1b]{pdfx}
蓝色链接颜色(第一行)再次出现。
我也曾使用 CMYK 颜色代替蓝色,但没有成功:
\definecolor{amGrayCMYK}{cmyk}{0.45,0.34,0.34,0}
知道如何在 PDF/X 输出中保留超链接颜色(不是功能)吗?
答案1
pdfx 使用x-a
选项 draft 加载 hyperref,这会禁用链接颜色。没有用户级别设置可以恢复它们。您必须重新定义 \ref 以添加颜色,或者重新定义内部 hyperref 命令:
\documentclass{article}
\usepackage[x-4]{pdfx} %option x-4 for print, a-1b for archive (also display)
\hypersetup{colorlinks, allcolors=blue}%
\makeatletter
\AtBeginDocument{%
\def\hyper@link@[#1]#2#3#4{\textcolor{\@linkcolor}{#4}\Hy@xspace@end}%
}
\begin{document}
\section{First}\label{first_section}
Check \ref{second_section} (it should be in {\color{blue}blue}).\\{\color{blue} Check \ref{second_section} (it just follows the surrounding color)}.
\section{Second}\label{second_section}
\end{document}