著者名をテキストの下に配置するにはどうすればよいですか?

著者名をテキストの下に配置するにはどうすればよいですか?

詩や文章(さまざまな著者のアンソロジーなど)の下に著者名を配置するエレガントな方法はありますか?名前は右揃えで、垂直方向のスペース(例:1em)があり、ページをまたいで折り返したり、著者名が重複したりしてはなりません(テキストの最後の段落と著者名は一緒に保つ必要があります)。

答え1

詩をどのようにタイプセットしているかは述べていませんが、詩のパッケージ著者の帰属については以下の提案が含まれています。

\newcommand{\attrib}[1]{% 
  \nopagebreak{\raggedleft\footnotesize #1\par}}

これにより、改ページが防止され、著者名が脚注サイズで右揃えでタイプセットされます。これは、\attrib{The author}詩の直後に使用されます。 を削除することもできます\footnotesize

未亡人は問題にならないかもしれない。しかし、一般的に未亡人を避けるには、まず次のようなことをする。

\widowpenalty=300

または、それより大きな値(最大 10000、通常は厳しすぎるため、articleクラスの標準値は )です150。これは、関連するセクション(段落の終わりを含む)を括弧 で囲むか、異なる値を切り替えることで、ドキュメントの一部に限定できます。ファイルに出力される情報を{ ... }書き込んだり読み取ったりすることで、クラスの標準値を確認できます。\showthe\widowpenalty.log

補遺ただし、上記の方法では確実な解決法にはなりません。LaTeXに、これらの場所での改行は好ましくないと指示するだけです。1ページに収めることに関する良い議論は、TeXに関するよくある質問。 帰属表示付きの詩を にパッケージ化できればminipage、うまく機能します。 FAQ には、samepage絶対確実ではない LaTeX の環境と、\needspace関連する行数をカウントするために手動介入が必要な の使用に関する説明があります。

補遺2実験の結果、提案されたコードが最も効果的であることがわかった内部詩の環境例えば

end of poem\\*
\attrib{The Poet}

マクロ定義には垂直方向の間隔を含めることができます。

\newcommand{\attrib}[1]{%
  \vskip2ex\nopagebreak{\raggedleft\footnotesize #1\par}}

問題は、この帰属表示が詩の余白とぴったり一致するようになったことです。

関連情報