\input 未定义环境

\input 未定义环境

我正在尝试使用独立包整理我的论文。我正尝试将我的旧 LaTeX 文档 lna_achemso.tex 输入到 thesis.tex 中。

当两个文档具有相同的类别时,独立包可以很好地运行。

然而,我的论文

\documentclass[12pt]{report}

而 lna_achemso.tex 是

\documentclass[
%journal=ancac3, % for ACS Nano
%journal=acbcct, % for ACS Chem. Biol.
journal=jpcbfk, % for undefined journal
manuscript=article]{achemso}

这给出了错误

! LaTeX Error: Environment acknowledgement undefined.

我复制了文件 achemso.sty、achemso.cls,其中包含确认变量的定义,并写入

\usepackage{achemso}

在论文的序言中,但这没有任何作用。

我怎样才能加载环境?

这听起来微不足道,但我却找不到解决方案。

-戴夫

答案1

编辑:加载环境的唯一方法是用report替换achemso

命令\usepackage仅包含包achemso.sty,而不包含类achemso.cls

不幸的是,有些命令和环境在 中定义,achemso.cls但在achemso.sty中和 中均未定义report.cls。这些命令和环境在不包含类的文档中不起作用,achemso.cls例如您的文档:

\documentclass{report}
\usepackage{achemso}

为了在课堂上工作,report您应该“翻译”您的文档:您应该将仅在 中定义的命令和环境替换为在achemso.cls中定义的对应命令和环境report.cls,或直接替换为LaTeX命令。大多数命令和环境都可以替换,例如,achemso环境可以用嵌套在 中的我的确认acknowledgement替换,或者您可以设置自己的环境。这是一个带有环境定义的 MWE:\thanks{}\title{}acknowledgement

\documentclass{report}

\title{Paper\thanks{Hello world}}
\author{Me}

\newenvironment{acknowledgement}%       New acknowledgement environment
    {\large\bfseries Acknowledgement%
    \par\medskip\normalfont\normalsize}%
    {}%

\begin{document}

\maketitle

\begin{acknowledgement}
Hello world
\end{acknowledgement}

\noindent\begin{acknowledgement}
\noindent Hello world
\end{acknowledgement}

\end{document}

为了“翻译”文档,您基本上必须对每个未知的命令和环境重复此过程report.cls。现在pdflatex立即成为您最好的朋友:它足以消除编译过程中产生的所有错误。这就是调试。

答案2

约翰·科米洛和彼得·格里尔,

我退房了所含 PDF 页面的目录条目和标签不幸的是,我无法使用 pdfpages,因为它无法创建表格和图形的列表,而对于我这样篇幅的论文来说,手动执行这些操作是不切实际的。

谢谢 RicoRally!

我通过替换解决了这个特殊问题

\begin{acknowledgement}
 thanks everyone...
\end{acknowledgement}

在原始文件中使用一个简单的

\section*{Acknowledgement}

它产生几乎相同的输出并保持兼容性,因此这个特定问题很容易解决。

然而,有些事情是比较难以避免的。

我有一些互相冲突的包:

当我没有 amsmath 时,出现此错误:

! LaTeX Error: Environment align undefined.

使用 \includepackage{amsmath} 可以轻松解决

然而,这会导致一个额外的错误:

! LaTeX Error: Command \dfrac already defined.
Or name \end... illegal, see p.192 of the manual.

这让人难以置信,因为这句话并没有出现在任何我的目录中的文件。

另外,我找不到他们所说的手册,到目前为止我看到的所有手册都少于 192 页,并且 Google 找到的所有带有此错误消息的网页都不是英文的......

我不知道如何解决这个问题。:,(

编辑:通过删除 \align{} 解决了这个问题,因为这对于方程的显示来说不是必需的。

经验教训:将软件包保持在最低限度。经常会有冲突,这会使调试此类问题变得非常困难。

相关内容