当我使用 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
软件包,便于使用psfrag
pdfTeX 的 PDF 模式中的功能。此外,您可能必须启用该\write18{...}
构造,例如通过将适当的命令行选项(-shell-escape
在 TeX Live/Linux 中)传递给程序。一个小例子(您需要一个包含标签的pdflatex
EPS 文件):pi.eps
pi
%% 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}