Как разместить имя автора под его текстом?

Как разместить имя автора под его текстом?

Есть ли элегантный способ разместить имя автора вне его/ее стихотворения или текста (в антологии разных авторов)? Имя должно быть выровнено по правому краю, иметь вертикальный интервал (например, 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}}

Загвоздка в том, что эта атрибуция теперь находится на одном уровне с полями стихотворения.

Связанный контент