Есть ли элегантный способ разместить имя автора вне его/ее стихотворения или текста (в антологии разных авторов)? Имя должно быть выровнено по правому краю, иметь вертикальный интервал (например, 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
, это будет хорошо работать. В разделе FAQ обсуждается samepage
среда LaTeX, которая не является непогрешимой, и использование \needspace
, которое требует некоторого ручного вмешательства для подсчета соответствующего количества строк.
Приложение 2Эксперименты показывают, что предложенный код работает лучше всего.внутристиховая среда например как
end of poem\\*
\attrib{The Poet}
и определение макроса может включать вертикальный интервал:
\newcommand{\attrib}[1]{%
\vskip2ex\nopagebreak{\raggedleft\footnotesize #1\par}}
Загвоздка в том, что эта атрибуция теперь находится на одном уровне с полями стихотворения.