我不希望读者误点击作者姓名或图表/表格编号而跳转到文本。因此我想禁用 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
在我们的序言中