为什么诗歌包不起作用?

为什么诗歌包不起作用?

这 MWE 抛出一个错误:

\documentclass{memoir}
\usepackage{poetry}
\begin{document}

\centerpoemon{In the cavern}
\begin{poem}
In the cavern\\
In the canyon\\!
\end{poem}

\end{document}

命令 \c@poemline 已定义。\newcounter{poemline}

为什么?

答案1

memoir显然定义了一个计数器poemline,但poetry也有。我不使用memoir,所以我没有发现这是一个潜在的冲突。

memoir是一个当然应该适应的常见类别;但在等待永久解决方案之前,请考虑在加载之前执行以下操作poetry

\usepackage{savesym}
\savesymbol{c@poemline}

这应该可以防止错误并允许poetry正常运行。我很快就会上传一个实际的修复程序,但现在这应该可以解决问题。

编辑:我刚刚上传了一个修复程序,它避免了与的冲突memoir

答案2

我使用memoir可以与verse环境一起排版诗歌的类:

\documentclass{memoir}
\begin{document}
\linenumberfrequency{1}
\verselinenumbersleft
\settowidth{\versewidth}{In the cavern}
\begin{verse}[\versewidth]
In the cavern\\
In the canyon\\!
\end{verse}
\end{document}

其渲染效果为:

在此处输入图片描述

Memoir\settowidth{\versewidth}{In the cavern}命令和[\versewidth]参数相当于包\centerpoem{In the cavern}的命令poem。(您可能认为需要使用memoir类的更多指令才能获得与使用包相同的结果poem;但是,差异主要涉及默认值:默认行号频率、行号位置等。)

(见回忆录文档第 14 章,了解有关如何排版和调整诗歌文本的详细说明。

无论如何,最好不要memoirpoetry包装一起使用。

相关内容