使反向引用在硬拷贝中不可见

使反向引用在硬拷贝中不可见

有没有办法让参考书目反向引用显示并超链接在 PDF 文件中,但不打印在硬拷贝中。

当我使用

\usepackage[colorlinks=false,backref=page]{hyperref}

我在超链接周围看到一个未打印的红框。我可以使用 backref 钩子将这种行为应用于链接本身吗?

答案1

我从是否可以区分 pdf 的软拷贝和硬拷贝?并反转视图/打印状态以定义viewonly环境,然后将其包装\BR@backref在该环境中。它似乎有效,但请注意,内容仅在打印时不可见,但仍占用空间,因此可能会导致打印版本中出现空白行。

请注意,不需要实际打印文档来查看其是否有效;打印预览模式应该显示差异。

更新:现在使用ocg-p软件包版本 0.4(或更高版本)来获得更简洁、更可靠的代码。(可通过修订历史记录查看旧答案。)

.bib此处的示例使用了您的发行版附带的测试文件。

\documentclass[10pt,a4paper]{article}
\usepackage[a4paper]{geometry}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{natbib}
\bibliographystyle{plainnat}
\usepackage[backref=page]{hyperref}

% "viewonly" environment for content which should only be visible when the document is viewed on screen, not when it is printed
\usepackage{ocg-p}
\newenvironment{viewonly}{\begin{ocg}[printocg=never,listintoolbar=never]{Soft copy only}{viewonly}{1}}{\end{ocg}}

\makeatletter
\let\oldBR@backref=\BR@backref
\renewcommand{\BR@backref}[1]{\begin{viewonly}\oldBR@backref{#1}\end{viewonly}}
\makeatother


\begin{document}
This text is always visible. \cite{GSM97,RudolphGrabowskiGraubmann96}

\begin{viewonly}
This can not be seen if the document is printed.
\end{viewonly}

This text is visible in both the soft and the hard copy. \cite{Lam94}

\bibliography{biblio}
\end{document}

原始文档与打印预览并排显示

相关内容