我怎样才能停用 hyperref 但保留书签栏?

我怎样才能停用 hyperref 但保留书签栏?

我不希望读者误点击作者姓名或图表/表格编号而跳转到文本。因此我想禁用 hyperref,但仍保留 pdf 文件中的书签侧栏。书签有点像目录,可帮助读者随时跳转到参考资料或附录。

所以我想要“nohyperref”和“bookmarks=true”的组合,但我不知道如何完成。

谢谢。

\documentclass[a4paper, 12pt]{article}
\usepackage{lscape}
\usepackage[margin=1in]{geometry}
\usepackage[usenames,dvipsnames,svgnames,table]{xcolor}
\definecolor{light-gray}{gray}{0.8}
\usepackage{soul} 
\sethlcolor{light-gray}
\usepackage{tipa}
\usepackage{lipsum}
\usepackage{caption}
\usepackage{color}
\usepackage{afterpage}
\usepackage{pgfplots}
\pgfplotsset{compat=1.15}
\usepackage{graphicx}
\usepackage{epstopdf}
\usepackage{amsfonts}
\usepackage{amscd}
\usepackage{longtable}
\usepackage{amsmath}
\usepackage{amsthm}
\usepackage{amssymb}
\usepackage{eucal}
\usepackage{hhline}
\usepackage{natbib}
\usepackage{setspace}
\usepackage{mathpazo}
\usepackage{calc}
\usepackage{booktabs}
\usepackage{mathtools}
\usepackage{eurosym}
\usepackage{stmaryrd}
\usepackage{float}
\usepackage{rotating}
\usepackage{pdflscape}
\usepackage{tikz}
\usetikzlibrary{shapes,arrows}
\usetikzlibrary{positioning}
\usepackage{dcolumn}
\usetikzlibrary{shadows,shadings,shapes,decorations.pathreplacing}
\usepackage{times}
\usetikzlibrary{shapes.geometric}
\usepackage[nokeyprefix]{refstyle}
\usepackage{varioref}
\usepackage{xr-hyper}
\usepackage[bookmarks=true]{hyperref}
\usepackage{filecontents}
\begin{filecontents*}{References.bib}
@article{cite1,
title={Nothing special},
author={Nobody, Noboditch},
year={1988}
}
\end{filecontents*}

\begin{document}


\section{Introduction}
 \onehalfspacing
 \citep[see, e.g.,][]{cite1}


\section*{}
\addcontentsline{toc}{section}{References}

\bibliographystyle{agsm}
\bibliography{References}

\end{document}

所以我希望禁用引用链接但让“介绍”和“参考”出现在书签中。

答案1

除了该选项外,没有内置选项可以禁用链接draft。但这些也会禁用锚点,因此书签不再有目标。

您可以尝试仅执行选项使用的部分命令draft。请注意,虽然它在最小示例中有效,但在较大的文档中,您可能会因为某些副作用而出现错误 - hyperref 是一个相当复杂的怪物。

\documentclass{article}

\usepackage{bookmark}%loads hyperref
\makeatletter
\gdef\hyper@link#1#2#3{#3\Hy@xspace@end}
\gdef\hyper@link#1#2#3{#3\Hy@xspace@end}%
\let\hyper@linkstart\@gobbletwo
\def\hyper@linkend{\Hy@xspace@end}%
%\def\hyper@linkurl#1#2{#1\Hy@xspace@end}   % url optional
%\def\hyper@linkfile#1#2#3{#1\Hy@xspace@end}%files optional
\def\hyper@link@[#1]#2#3#4{#4\Hy@xspace@end}%
\let\@fifthoffive\@secondoftwo  %unclear if needed
\let\@secondoffive\@secondoftwo %unclear if needed
\makeatother
\begin{document}
\tableofcontents
\section{First section}
\ref{test} is on page \pageref{test}

\url{https://tex.stackexchange.com/}
\newpage
\section{Second section}\label{test}

\end{document} 

在此处输入图片描述

答案2

最后编辑:我们手动创建书签,使用前面的方法。在我的 Linux(okular 和 evince)上,书签位于侧边栏中且处于活动状态,文档中的所有链接均处于非活动状态。

\documentclass[a4paper, 12pt]{article}
\usepackage{lscape}
\usepackage[margin=1in]{geometry}
\usepackage[usenames,dvipsnames,svgnames,table]{xcolor}
\definecolor{light-gray}{gray}{0.8}
\usepackage{soul} 
\sethlcolor{light-gray}
\usepackage{tipa}
\usepackage{lipsum}
\usepackage{caption}
\usepackage{color}
\usepackage{afterpage}
\usepackage{pgfplots}
\pgfplotsset{compat=1.15}
\usepackage{graphicx}
\usepackage{epstopdf}
\usepackage{amsfonts}
\usepackage{amscd}
\usepackage{longtable}
\usepackage{amsmath}
\usepackage{amsthm}
\usepackage{amssymb}
\usepackage{eucal}
\usepackage{hhline}
\usepackage{natbib}
\usepackage{setspace}
\usepackage{mathpazo}
\usepackage{calc}
\usepackage{booktabs}
\usepackage{mathtools}
\usepackage{eurosym}
\usepackage{stmaryrd}
\usepackage{float}
\usepackage{rotating}
\usepackage{pdflscape}
\usepackage{tikz}
\usetikzlibrary{shapes,arrows}
\usetikzlibrary{positioning}
\usepackage{dcolumn}
\usetikzlibrary{shadows,shadings,shapes,decorations.pathreplacing}
\usepackage{times}
\usetikzlibrary{shapes.geometric}
\usepackage[nokeyprefix]{refstyle}
\usepackage{varioref}
\usepackage{xr}

\usepackage[depth=-1]{bookmark}

\hypersetup{draft}
\PassOptionsToPackage{draft}{bookmark}

\usepackage{filecontents}
\begin{filecontents*}{References.bib}
@article{cite1,
title={Nothing special},
author={Nobody, Noboditch},
year={1988}
}
\end{filecontents*}


\begin{document}

\section{Introduction}\bookmark[page=\thepage,level=0]{Introduction}

 \onehalfspacing
 \citep[see, e.g.,][]{cite1}
 This is a reference \ref{sec:test}
\lipsum[1-5]

\section{Test}\label{sec:test}\bookmark[page=\thepage,level=0]{Test}
\lipsum[1-5]
\includegraphics[width=\textwidth]{example-image-a}
\subsection{Test subsection}\bookmark[page=\thepage,level=1]{Test subsection}
\lipsum[1-3]
\section*{}
\addcontentsline{toc}{section}{References}

\bibliographystyle{agsm}
\bibliography{References}\bookmark[page=\thepage,level=0]{References}

\end{document}

第一个答案

这是一个带有bookmark软件包的解决方案。我删除了 hyperref,因为您实际上不需要它:

\documentclass[a4paper, 12pt,draft]{article}
\usepackage{lscape}
\usepackage[margin=1in]{geometry}
\usepackage[usenames,dvipsnames,svgnames,table]{xcolor}
\definecolor{light-gray}{gray}{0.8}
\usepackage{soul} 
\sethlcolor{light-gray}
\usepackage{tipa}
\usepackage{lipsum}
\usepackage{caption}
\usepackage{color}
\usepackage{afterpage}
\usepackage{pgfplots}
\pgfplotsset{compat=1.15}
\usepackage{graphicx}
\usepackage{epstopdf}
\usepackage{amsfonts}
\usepackage{amscd}
\usepackage{longtable}
\usepackage{amsmath}
\usepackage{amsthm}
\usepackage{amssymb}
\usepackage{eucal}
\usepackage{hhline}
\usepackage{natbib}
\usepackage{setspace}
\usepackage{mathpazo}
\usepackage{calc}
\usepackage{booktabs}
\usepackage{mathtools}
\usepackage{eurosym}
\usepackage{stmaryrd}
\usepackage{float}
\usepackage{rotating}
\usepackage{pdflscape}
\usepackage{tikz}
\usetikzlibrary{shapes,arrows}
\usetikzlibrary{positioning}
\usepackage{dcolumn}
\usetikzlibrary{shadows,shadings,shapes,decorations.pathreplacing}
\usepackage{times}
\usetikzlibrary{shapes.geometric}
\usepackage[nokeyprefix]{refstyle}
\usepackage{varioref}
\usepackage{xr}
%\usepackage[bookmarks=true]{hyperref}
\usepackage{bookmark}
\usepackage{filecontents}
\begin{filecontents*}{References.bib}
@article{cite1,
title={Nothing special},
author={Nobody, Noboditch},
year={1988}
}
\end{filecontents*}

\setlength\overfullrule{0pt}

\begin{document}


\section{Introduction}
 \onehalfspacing
 \citep[see, e.g.,][]{cite1}
 This is a reference \ref{sec:test}
\lipsum[1-5]

\section{Test}\label{sec:test}
\lipsum[1-3]
\includegraphics[width=\textwidth,draft=false]{example-image-a}
\section*{}
\addcontentsline{toc}{section}{References}

\bibliographystyle{agsm}
\bibliography{References}

\end{document}

编辑:在文档类中添加了草稿选项并检查...另外,我还必须添加[draft=false]图片选项,一切正常。测试一下。

编辑:添加了 \setlength\overfullrule{0pt} 并更改\usepackage{hypre-xr}\usepackage{xr}感谢@blub。

此外,从他的评论来看,一个更好的选择(避免draft=false在每张图片上书写)是添加代码:

 \makeatletter \lowercase{\Gin@boolkey{false}}{draft} \makeatother

在我们的序言中

相关内容