![为什么诗歌包不起作用?](https://linux22.com/image/478983/%E4%B8%BA%E4%BB%80%E4%B9%88%E8%AF%97%E6%AD%8C%E5%8C%85%E4%B8%8D%E8%B5%B7%E4%BD%9C%E7%94%A8%EF%BC%9F.png)
这 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 章,了解有关如何排版和调整诗歌文本的详细说明。
无论如何,最好不要memoir
与poetry
包装一起使用。