PDFX 的 X-4 选项不显示 PDF/X 选项的超链接颜色 (x-4)

PDFX 的 X-4 选项不显示 PDF/X 选项的超链接颜色 (x-4)

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}

在此处输入图片描述

相关内容