如何从 LaTeX 打开在线 .pdf 到特定页面并从脚注生成 .pdf?

如何从 LaTeX 打开在线 .pdf 到特定页面并从脚注生成 .pdf?

我尝试使用 pdflatex 从我的 pdf 生成中打开一个 .pdf 到特定页面,这url在我的浏览器中是有效的,可以执行我想要的操作:

http://www.icomos.org/charters/venice_e.pdf#page=4

#page=4指示我想要打开的页面,但是当我使用它时似乎\footnote不起作用:

\footnote{\url{http://www.icomos.org/charters/venice_e.pdf#page=4}}

在我的 LaTeX 文档中,不起作用,我收到此错误:

Illegal parameter number in definition of \Hy@tempa.<to be read again>p ....icomos.org/charters/venice_e.pdf#page=4}}

导致#page=4。这是 MWE:

\documentclass[12pt,a4paper]{book}
\usepackage{hyperref}
\begin{document}
words words words \footnote{\url{http://www.icomos.org/charters/venice_e.pdf#page=4}}
\end{document}

我该如何解决这个问题?

答案1

三种可能的解决方案

  1. 使用\来转义特殊字符,即\footnote{\url{http://www.icomos.org/charters/venice_e.pdf\#page=4}}

  2. 使用名为 的新命令\urlfootnote,如序言中的以下代码所述:

代码

\makeatletter
\newcommand\urlfootnote@[1]{\footnote{\url@{#1}}}
\DeclareRobustCommand{\urlfootnote}{\hyper@normalise\urlfootnote@}
\makeatother
  1. 在代码的开头定义它,如下所示:

代码

\documentclass{article}
\usepackage{url}
\urldef\myurl\url{foo%.com}
\begin{document}
text\footnote{WWW: \myurl}
\end{document}
  1. 马丁的完整回答如下:https://tex.stackexchange.com/a/12864/27833

相关内容