\newenvironment 的 \usepackage

\newenvironment 的 \usepackage

我正在尝试创建一个名为的包,lessonPlanner在其中我通过以下方式声明一些新环境\newenvironment

所以我有类似的东西

... mwe.tex

\usepackage{lessonPlanner}
\begin{document}

....在我的文件“lessonPlanner.sty”中我有

\newenvironment{unitPlan}[1]{}Hello World{}

.....

\begin{document}但是当 LaTeX 尝试解析定义时,它会抱怨我缺少了一个\newenvironment{unitPlan}

所以看起来我有些错误,我本来认为所有\newenvironment命令都会在新的包中定义。

PS:我正在尝试构建自己的课程规划包,其中课程格式已定义,\usepackage{lessonPlanner}并且仅引用 LaTeX 文档中的内容。

答案1

你使用\newenvironment是错误的。应该是

\newenvironment{<env>}[<args>][<opt arg>]
  {<begin env>}
  {<end env>}

如果你在{<begin env>}和之间放置任何内容{<end env>},TeX 会将第一个标记作为结尾(H在本例中),其余部分则作为可能被设置的文本。当然,在序言中,你不能这样做,因为文本只是被设置 \begin{document}。这就导致了你的“缺失\begin{document}”错误。

你的定义很可能应该类似于

\newenvironment{unitPlan}[1]
  {Hello World}% \begin{unitPlan}
  {}% \end{unitPlan}

相关内容