以下操作无效:
\documentclass{minimal}
\usepackage{doi}
\usepackage[pdf]{pstricks}
\begin{document}
hello world
\begin{pspicture}(1,1)
\psline(0,0)(1,1)
\end{pspicture}
\end{document}
但是,在加载doi
包之后pstricks
会执行以下操作:
\documentclass{minimal}
\usepackage[pdf]{pstricks}
\usepackage{doi}
\begin{document}
hello world
\begin{pspicture}(1,1)
\psline(0,0)(1,1)
\end{pspicture}
\end{document}
为什么?特别是,有什么我应该注意的警告吗?提前谢谢。
答案1
doi.sty
取决于hyperref
。通常建议将hyperref
设为您最后加载的包,因为它重新定义了各种宏(以便使超引用正常工作)。因此,这在很大程度上是一种类似的情况,其中pstricks
在 下工作所需的命令pdflatex
也由 重新定义hyperref
。
你可能想看看“哪些包应该在 hyperref 之后加载而不是之前加载?”了解更多详情。
答案2
使用
\documentclass{minimal}
\usepackage{ifpdf}
\ifpdf\usepackage{doi}\fi
\usepackage[pdf]{pstricks}
...
然后doi
仅在运行时加载pdflatex
。