使用组合类与 revtex4-1 - 命令 \published 已定义

使用组合类与 revtex4-1 - 命令 \published 已定义

我正在尝试将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.clscombine.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}

相关内容