abenori / jlreq

Other
125 stars 18 forks source link

別行見出しが改ページされる #89

Closed ogawasia closed 2 years ago

ogawasia commented 2 years ago

間違えました、改めまして lualatexで下記コードをタイプセット

\documentclass[
book,
tate,
paper=a5,
line_length=39.00zw,
number_of_lines=20,
]{jlreq}
\NewBlockHeading{midashi}{1}{
align=left,
before_lines=1,
lines=1,
format={#1#2},
allowbreak_if_evenpage=true,
number=false,
}
\parindent=0pt
\begin{document}
\tatechuyoko{1} □□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□
\tatechuyoko{2}□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□
\tatechuyoko{3}□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□
\tatechuyoko{4}□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□
\tatechuyoko{5}□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□
\tatechuyoko{6}□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□
\tatechuyoko{7}□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□
\tatechuyoko{8}□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□
\tatechuyoko{9}□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□
\tatechuyoko{10}□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□
\tatechuyoko{11}□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□
\tatechuyoko{12}□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□
\tatechuyoko{13}□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□
\tatechuyoko{14}□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□
\tatechuyoko{15}□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□
\tatechuyoko{16}□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□
\tatechuyoko{17}□□□□□□□□□□□□□□□□□□□□□□□□□\par
\midashi{見出し}
\tatechuyoko{18} □□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□
\tatechuyoko{19}□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□
\tatechuyoko{20}□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□
\tatechuyoko{21}□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□
\tatechuyoko{22}□□□□□□□□□□□□□□□□□□□□□□□□\par
\end{document}

見出しと18番の行までが1ページに収まるはずが見出しが改ページされます。 3

ogawasia commented 2 years ago

18番の行末に\parを付与すると期待通りの結果になりますが、本来\parが入る場所ではないのです。 4

ogawasia commented 2 years ago

偶数ページで同様の位置に見出しを配置した場合、allowbreak_if_evenpage=true を指定している場合は、見出しの後で改ページされます。しかし、本来は見出しの後に1行分の余地があるはずなのです。 また、奇数ページ同様に18番の行末に\parを付与すると見出しの後に1行出力されます。 5

abenori commented 2 years ago

LaTeXの見出しは,その直後の段落の一行目のみを残して改ページするのを避ける仕様になっていますので,そのためかと思います.(\@afterheading内で\clubpenaltyが設定されている.)articleクラスでも以下のような現象が見られます.

\documentclass{article}
\usepackage[textheight=70pt,textwidth=50pt]{geometry}
\parindent=0pt
\begin{document}
A B C D E
\section{s}
A B C D E\par% このあるなしで改ページ位置が変わる
A B C D E
A B C D E
\end{document}
ogawasia commented 2 years ago

LaTexの仕様だったのですね。 お忙しいところありがとうございました。