乳胶回忆录,诗歌环境和\诗歌

时间:2009-08-06 01:44:37

标签: latex memoir

我目前正在使用回忆录课程排版一些诗歌。 \ poemtitle命令给了我一个集中的诗歌标题,但我宁愿让标题与诗体的边缘齐平。我重新定义了\ poemtitle命令以删除自动居中。 \ verse环境耦合\ settowidth {\ versewidth} {}将使诗歌以左对齐为中心...因此,为了使标题与诗歌环境齐平,我在\ verse环境中调用标题,如下所示:

\settowidth{\versewidth}{longest poem line here} 
\begin{verse}[\versewidth]
\PoemTitle*{Poem Tite}
\PlainPoemTitle 

...Poem body...

\end{verse}

然而,这有时会缩进诗的第一行,或者将标题设置为缩进。我看到的唯一其他解决方案是在自己的诗歌环境中设置标题,如下所示:

\settowidth{\versewidth}{longest poem line here} 
\begin{verse}[\versewidth]
\PoemTitle*{Poem Tite}
\PlainPoemTitle 
\end{verse}

\settowidth{\versewidth}{longest poem line here} 
\begin{verse}

...Poem body...

\end{verse}

有更好的方法吗?或者我是否遗漏了回忆录文件中的内容(我已多次阅读过)?

编辑:也许我应该问一个更明确的问题:我可以向胶乳发出任何一组命令来计算来自\ verse命令的边际缩进,然后将该边距应用于\ poemtitle以便这首诗标题最终与文本的左边缘齐平,而没有在自己的\ verse环境中设置\ poemtitle?

2 个答案:

答案 0 :(得分:2)

我对memoir课程或排版诗歌没有任何经验,所以我不知道你是否有其他方式可以做到这一点,但这里的解决方案似乎做了什么你想要的(假设你总是使用\PoemTitle的星号形式。)

\newcommand{\leftPoemTitle}[1]{{\PoemTitlefont{#1}}\\[\afterPoemTitleskip]}

\settowidth{\versewidth}{longest poem line here} 
\begin{verse}
\leftPoemTitle{Poem Title}

...Poem body...

\end{verse}

这使得诗歌标题左对齐,如诗体,正确地与诗体分开,以正确的字体,并且没有不期望的缩进。此外,它可以很好地与其他人一起使用:如果某个命令(或包选项)修改标题字体或间距,则此\leftPoemTitle宏继续正常运行。


如果我理解你的编辑正确,你希望诗歌标题在外面包含诗体的verse环境,但仍然以这样的方式缩进,即标题留下与身体合理。除非你有一些特殊的理由要这样做,我认为上面的解决方案更好,但不要紧,因为。

memoir类手册的第19章说verse环境缩进了\vleftmargin长度,因此您可以按照该长度缩进标题。我假设你仍然希望标题有一个稍微大一点的字体,所以下面的解决方案应该可以解决这个问题:

\newcommand{\myPoemTitle}[1]{\noindent\hspace{\vleftmargin}{\PoemTitlefont #1}}

\myPoemTitle{Poem Title}
\settowidth{\versewidth}{longest poem line here} 
\begin{verse}

...Poem body...

\end{verse}

请注意,这使得标题比第一个解决方案更贴近身体。您可以通过重新定义\afterPoemTitleskip来在第一个解决方案中获得此行为。

答案 1 :(得分:0)

从2020年开始,最简单的方法是先加载诗歌环境,再加载gmverse环境。

然后将上面的代码替换为:

\poemtitle*{Poem Title here}
%use epigraph package for a subtile, author, etc
\begin{verse}

...Poem body...

\end{verse}

这将根据平均行长将诗歌和标题居中。有多种计算平均值的方法(请参阅gmverse文档)。我发现默认值看起来不错。

它还将包裹更长的行,因此溢价被设置为与经书中的正常对齐。我还没有找到另一种自动执行此操作的方法。

Gmverse还允许您在每行的末尾设置不带\\的行,仅使用行尾即可(并使用额外的一行来获取节之间的间隔)。这对于快速,轻松地键入或复制并粘贴非常有用。

可能的不利之处:可能与回忆录不兼容。自从我将标准书籍类用于我的藏书以来,我就没有进行过测试。