Re: 水平方向スペース直前位置での改行

名前: 北見 けん
日時: 2011-05-27 19:51:24
IPアドレス: 211.128.71.*

>>55949 ちょっと明後日の方向に進むかもしれませんが、 行末禁則文字などの扱いについての確認です。 ちょっと試してみて、以下のように考えたのですが、あっているでしょうか。 TeX において行末禁則文字というのは、pTeX 上の和文文字に限った概念なんだと思います。 下にサンプルを付けました。 ちょうど二重引用符の直後のところに自然な行分割位置が来るように \hsize を設定してあります。 ひとつめは英文字の引用符に和文が続くもので、引用符の直後で分割されて禁則が効かないように見えます。 これは、そもそも英文字の引用符は行末禁則文字とは扱われていないことを示すものでしょう。 ふたつめは英文字の引用符に英単語が続くもので、丸ごと次行に送られて、禁則が効いているように見えます。 行末禁則文字として扱われていないにもかかわらず分割されないのは、 そもそも TeX の英文組版で行分割可能なのは空白に類する部分だけだということの帰結でしょう。 pTeX の和文組版においてはどの和文文字の前後でも分割され得るので、 ひとつめの例では引用符と和文文字と間で分割されたということでしょう。 三つめと四つめの例は和文の引用符を使ったもので、どちらも禁則が効いて、丸ごと次行に送られています。 和文の引用符は行末禁則文字として設定されているからですね。 実際、\prebreakpenalty や \postbreakpenalty は、TeX ではなく pTeX で導入されたプリミティブです。 ======== 以下、サンプルソースです。 ======== \documentclass{jsarticle} \begin{document} \parindent=0pt まず、英文字の二重引用符の場合です。 \begingroup \setbox0=\hbox{I am hoge hoge ``} \hsize=\wd0 I am hoge hoge ``あいう''.\par I am hoge hoge ``abc''.\par \endgroup 次は、和文文字の二重引用符の場合です。 \begingroup \setbox0=\hbox{I am hoge hoge “} \hsize=\wd0 \parindent=0pt I am hoge hoge “あいう”.\par I am hoge hoge “abc”.\par \endgroup \end{document}

この書き込みへの返事:

お名前
題名 
メッセージ(タグは <a href="...">...</a> だけ使えます。適宜改行を入れてください)