%20%E9%96%93%E3%81%AB%E5%8C%BA%E5%88%87%E3%82%8A%E3%82%92%E8%BF%BD%E5%8A%A0%E3%81%99%E3%82%8B%E3%81%AB%E3%81%AF%E3%81%A9%E3%81%86%E3%81%99%E3%82%8C%E3%81%B0%E3%82%88%E3%81%84%E3%81%A7%E3%81%99%E3%81%8B%3F.png)
私は引用リストを次のようにタイプセットしようとしています:
- 引用文はページをまたいで分割されません。
- 同じページ上の隣接する引用文の間には、区切り線(花罫や水平線など)が入ります。
特に、特定のページの最後の引用の後にルールは不要であることに注意してください。
引用符を出力し、引用符がその後(または前)にある場合にのみルールを追加するコマンドを作成したいと思います。どうすればよいでしょうか?
答え1
使用されるルール\leaders
:
\leaders \hrule \vskip.4pt
ページ区切りの別のスペースのように削除できます。次のように定義できます。
\raggedbottom
\newcount\quotnumber
\def\quotation{\par\global\advance\quotnumber by1
\bigskip
\ifnum\qoutnumber>1 \leaders \hrule \vskip.4pt \bigskip \fi
\vbox
}
The introduction text.
\quotation{text of first quotation}
\quotation{text of second quotation}
etc.
\bye
削除可能なルールは\vbox
引用符の前に置かれます。最後の引用符の後にルールを置く必要がないためです。「最初の引用符の場合」というテストは、導入テキストと最初の引用符の間にルールを置く必要がないため使用されます。