有没有一种优雅的方式可以将作者的名字放在他/她的诗歌或文本中(在不同作者的选集中)?名字应该右对齐,有垂直空间(例如 1em),不应该跨页,也不应该是孤行(文本的最后一段和作者的名字应该保持在一起)。
答案1
你没有说你是如何排版这些诗的,但是诗句包包括以下归属作者的建议:
\newcommand{\attrib}[1]{%
\nopagebreak{\raggedleft\footnotesize #1\par}}
这可防止分页符,并以脚注大小将作者姓名排版到右侧。它\attrib{The author}
紧接在诗句之后使用。您可能想要删除\footnotesize
。
寡妇可能不是问题。但为了避免寡妇,第一种方法是这样做
\widowpenalty=300
或某个更大的值(最多 10000,通常太严重,类中的标准值为article
)150
。可以通过将相关部分(包括段落结尾)括在括号中{ ... }
,或在不同值之间来回切换来将其定位到文档的某个部分。您可以通过在文件\showthe\widowpenalty
中写入和读取此打印的信息来查看类中的标准值.log
。
附录不过,上述方法并不能提供万无一失的解决方案。它只是建议 LaTeX 不要在这些地方断行。关于将内容放在一页上的一个很好的讨论可以在TeX 常见问题解答。如果您可以将带有署名的诗歌打包到 中minipage
,效果会很好。常见问题解答中讨论了samepage
LaTeX 的环境(它并非万无一失)和 的使用\needspace
(它需要一些手动干预来计算相关的行数)。
附录2实验表明建议的代码效果最好里面诗歌环境例如
end of poem\\*
\attrib{The Poet}
并且宏定义可以包含垂直间距:
\newcommand{\attrib}[1]{%
\vskip2ex\nopagebreak{\raggedleft\footnotesize #1\par}}
问题是,这个归属现在与诗歌的边缘齐平。