我正在尝试将combine
许多(大约 100 个)TeX 文件(与类)组合起来,为会议准备一本摘要书。它们是使用revtex4-1
类编写的。当我将这些类一起使用时
\documentclass[11pt,colclass=revtex4-1]{combine}
\title{Book of abstracts}
\begin{document}
\tableofcontents % main ToC
\clearpage
\section{Editor's introduction}
bla bla bla
%\begin{papers} % start of individual articles/papers
%\coltoctitle{1st article} % first article title into main ToC
%\coltocauthor{A.~N.~Author} % first authors into main ToC
%\label{art1}
%\import{art1} % first article, may have own ToC,
%\end{papers}
\clearpage
\end{document}
我收到此错误:
! LaTeX Error: Command \published already defined.
我该怎么做才能解决这个问题?我理解,在revtex4-1.cls
和combine.cls
命令中都\published
定义了。在combine.cls
与中使用\renewcommand
,在revtex4-1.cls
与\newcommand
(我将其更改为\renewcommand
但没有帮助)。
答案1
您提到将类\newcommand{\published}...
中的更改revtex-1
为\renewcommand...
“没有帮助”。两个建议:(i)确保在重新编译之前删除所有辅助文件;(ii)如果这没有帮助,请尝试 语句\providecommand
。\published
最后,您确定 未\published
在某个地方的第三个实例中定义吗?
答案2
定义一个自己的包装类my-revtex.cls
,将其设置\published
为未定义。
\RequirePackage{filecontents}
\begin{filecontents*}{my-revtex.cls}
\DeclareOption*{\PassOptionsToClass{\CurrentOption}{revtex4-1}}
\ProcessOptions\relax
\LoadClass{revtex4-1}
\let\Published\published% save the one from revtex
\let\published\relax
\endinput
\end{filecontents*}
\documentclass[11pt,colclass=my-revtex]{combine}
\usepackage{hyperref}
\title{Book of abstracts}
\begin{document}
\tableofcontents % main ToC
\clearpage
\section{Editor's introduction}
bla bla bla
\begin{papers} % start of individual articles/papers
\coltoctitle{1st article} % first article title into main ToC
\coltocauthor{A.~N.~Author} % first authors into main ToC
\label{art1}
%\import{art1} % first article, may have own ToC,
\end{papers}
\clearpage
\end{document}