你可能会感兴趣,似乎存在冲突JHEP3.cls
版本 3.1.5(来自http://jhep.sissa.it/jhep/help/JHEP/TeXclass/tools_JHEPlog.html)和ifpdf
包裹。我认为两个包都使用了变量\ifpdf
,这会产生冲突。
当我编译时:
\documentclass{JHEP3}
\usepackage{graphics}
\author{Kuba}
\date{14/12/2012}
\abstract{ble}
\title{ble}
\keywords{ble bel}
\preprint{10932}
\begin{document} ble ble \end{document}
我明白了
Package ifpdf Error: Name clash, \ifpdf is already defined.
但是,当我将所有替换为\ifpdf
、将所有替换为以及将所有替换为时,它工作正常!JHEP3.cls
\ifpddf
\pdftrue
\pddftrue
\pdffalse
\pddffalse
我还会写信通知 JHEP。
包括\let\ifpdf\relax
(如建议的软件包 ifpdf 错误) 没有帮助,因为Extra \fi \begin{document}
出现了类似的错误消息。
您还有其他/更好的想法吗,如何处理这个问题?
答案1
是的,\ifpdf
在类文件和ifpdf
加载的包中都有定义graphics.cfg
。解决方法:
\RequirePackage{ifpdf}
\documentclass{JHEP3}
然后\ifpdf
将由 类覆盖,但含义类似( 的类对于 的负数是错误的\pdfoutput
)。但 的警告ifpdf
不会被触发,并且包稍后不会再次加载,因为包已经加载。
答案2
您的示例文档对我来说编译得很好,可能是因为它不包含\usepackage{ifpdf}
。除此之外,您是对的,该类JHEP3
确实定义了\ifpdf
。只是不要将包ifpdf
与此类一起使用。如果您必须使用某个加载的包ifpdf
,则将其插入\let\ifpdf\relax
之前,甚至直接插入之后\documentclass{JHEP3}
。