hyperref 包,breaklinks 选项

hyperref 包,breaklinks 选项

当我使用 LaTeX + dvips 进行编译时,收到以下警告信息:

Package hyperref Warning: You have enabled option `breaklinks'.  
(hyperref)                But driver `hdvips.def' does not suppport this.  
(hyperref)                Expect trouble with the link areas of broken links.  

现在,我正在使用report文档类并hyperref使用以下命令调用包(我在 Windows 7 上使用 MikTeX 2.9 和 WinEdt 7.0)

\usepackage[breaklinks]{hyperref}  
\usepackage[hyphenbreaks]{breakurl}

文档编译成功(使用 LaTeX+dvips),跨两行的链接似乎正确断开,但我收到了警告消息。这是个问题吗?我该如何修复它?我尝试添加以下包并使用 pdflatex(而不是 LaTeX + dvips)进行编译

 \usepackage[pdf]{pstricks} 

但它产生了以下警告信息:

 >>> Loading package auto-pst-pdf <<<  

 Package pstricks Warning: ************************************ 
 (pstricks)                Option pdf needs a "pdflatex -shell-escape <file>" 
 (pstricks)                or a "pdflatex -enable-write18 <file>" 
 (pstricks)                (if you are using MikTeX) 
 (pstricks)                ************************************.  

我还收到以下错误,导致我无法使用 pdflatex 进行编译:

 Package ifplatform Warning: 
     shell escape is disabled, so I can only detect \ifwindows  

 ! Package auto-pst-pdf Error:
     "shell escape" (or "write18") is not enabled:
     auto-pst-pdf will not work!

或者,我尝试使用epstopdf软件包(并使用 pdflatex 进行编译),但该软件包与软件包不兼容psfrag。我正在寻找一种方法来修复 breaklinks 警告消息(见上文),而不会失去使用 eps 图形和软件包的能力psfrag

答案1

当你加载breakurl包您可以放心地忽略包发出的警告消息hyperref。包的专用目的是在输出驱动程序breakurl支持传统 DVI→PS→PDF 文档生成路径的情况下启用可中断的 URL 链接hdvips。如果您想摆脱多余的hyperref警告消息,请省略该breaklinks选项,即

\usepackage{hyperref}
\usepackage[hyphenbreaks]{breakurl}

或者使用silence包:

\usepackage{silence}

\WarningFilter{hyperref}{You have enabled option `breaklinks'.}

\usepackage[breaklinks]{hyperref}
\usepackage[hyphenbreaks]{breakurl}

如果您选择从 DVI 模式切换到 pdfTeX 的 PDF 模式,则不会出现hyperref警告消息,并且您不需要该breakurl包,因为hpdftex输出驱动程序本身能够破坏 URL 链接。但是,在这种情况下,您还需要加载支持包,例如pstool软件包,便于使用psfragpdfTeX 的 PDF 模式中的功能。此外,您可能必须启用该\write18{...}构造,例如通过将适当的命令行选项(-shell-escape在 TeX Live/Linux 中)传递给程序。一个小例子(您需要一个包含标签的pdflatexEPS 文件):pi.epspi

%% LaTeX master file test.tex: Process with pdflatex -shell-escape test.tex.

\documentclass{article}

\usepackage{pstool}

\usepackage{hyperref}

\begin{document}

\begin{figure}
  \centering
  %% Include pi.eps and replace the tag ‘pi’ with π.
  \pstool{pi}{\psfrag{pi}{\(\pi\)}}
\end{figure}

\noindent
\parbox{3cm}{\raggedright\url{http://tex.stackexchange.com}}

\end{document}

相关内容