在 Tufte 讲义类中正确使用超链接选项的方法是什么?

在 Tufte 讲义类中正确使用超链接选项的方法是什么?

编辑:我必须澄清的是,下面的例子作品适用于 tufte-latex-3.5.0,但在旧版本中不起作用。可接受的解决方案是旧版本 (<3.0.0) 的一个好解决方法,因为nohyper选项不起作用。


编辑: 旧版本)tufte-handout类似乎无法与 hyperref 很好地配合使用,可能是因为使用其自己的一组选项tufte-handout进行加载hyperref。我该如何设置文档以便可以正常加载 hyperref?

我以为这个选项nohyper可以解决问题但事实并非如此。

这个想法是能够有一个简单的文档,无论我是否通过命令进行更改,它都可以tufte-handout正确article编译\documentclass

这是一个示例代码(不起作用)

\documentclass[nohyper]{tufte-handout} 
% but works with \documentclass{article}
\usepackage[hyperfootnotes=false, pdftex, pdfauthor={}, pdftitle={ hyperref.pdf}, pdfsubject={subject}, pdfkeywords={}]{hyperref} 
% but works with \usepackage[hyperfootnotes=false,]{hyperref}
\begin{document}
Body text.
\end{document}

答案1

您可以使用该\@ifpackageloaded命令来运行其他命令,具体取决于包是否hyperref已加载。

\documentclass{tufte-handout}% or article

\makeatletter
\@ifpackageloaded{hyperref}{%
  % do this if hyperref is already loaded
  % (e.g., if you're using the tufte-handout
  % document class)
  \hypersetup{
    pdfauthor={},
    pdftitle={Tufte-LaTeX document},
    pdfsubject={subject},
    pdfkeywords={}
  }%
}{%
  % do this if the hyperref package hasn't
  % been loaded yet
  \usepackage[
    hyperfootnotes=false,
    pdftex,
    pdfauthor={},
    pdftitle={article},
    pdfsubject={subject},
    pdfkeywords={}]{hyperref}
}
\makeatother

\begin{document}
Body text.
\end{document}

相关内容