abenori / jlreq

Other
125 stars 18 forks source link

\RenewTobiraHeading{chapter}直後のチャプターが奇数ページに強制される #37

Closed Yamakida closed 5 years ago

Yamakida commented 5 years ago

ありがたく使わせていただいております。 こちらの勉強不足でしたらごめんなさい。

oneside,openanyを指定していても文中で\RenewTobiraHeading{chapter}すると、その直後のチャプターが必ず奇数ページに来るように空白ページを入れられてしまいます。

\documentclass[lualatex,tate,book,paper=a6,jlreq_warnings,oneside,openany,open_bracket_pos=nibu_tentsuki,hanging_punctuation]{jlreq}
\usepackage{bxpapersize}
\usepackage{luatexja}
\usepackage{luatexja-fontspec}\setmainfont[Ligatures=TeX,BoldFont=NotoSansBold]{IPAMincho}
\usepackage[fontspec,jis2004,bold,noto-otf,jfm_tate=jlreqv]{luatexja-preset}
\usepackage{lltjext}
\usepackage[luatex,pdfencoding=auto,unicode=true,pdfdirection=R2L]{hyperref}
\title{チャプター扉変更後改ページ問題}
\begin{document}
\chapter{チャプター1(まえがきとか)}
\chapter{チャプター2}
\tableofcontents
\RenewTobiraHeading{chapter}{0}{
    type=han
}
\chapter{チャプター3が必ず奇数ページに来るように改ページされてしまう}
\end{document}

最初から奇数ページに来る場合は空白ページの挿入はされません。 また、bookではなく、reportにしても同じ現象が起きます。

いろいろと回避策を試してみたのですが、私では解決できず、ここに書かせていただきました。

abenori commented 5 years ago

JLReqによると,

とのことなのでこのようになっています.

openanyを指定していても

openanyやopenrightのオプションは指定したつもりになっていないことが多いかと思います.これは上のようなJLReqとの整合性とかの問題だったりするのですが…….実はオプションをつけたことを後悔しています…….

いろいろと回避策を試してみたのですが

一応,内部マクロを書き換えてしまえば回避はできます.(が,もちろんアップデートで動かなくなる可能性はあります.)\chapterを\RenewTobiraHeadingで定義した後に

\patchcmd{\jlreq@headingcs@chapter}{\cleartooddpage}{\clearpage}{}{}

とすると単に改ページのみになるかと思います.

Yamakida commented 5 years ago

やはり、私の勉強不足でしたね。 お手数をお掛けしてしまい、申し訳ありませんでした。

半扉なら空白ページは入らないという思い込みがありました。 また、昔のバージョンでは空白ページが入ったことが無かったので、デグレかと思ってしまいました。

回避策まで教えて頂けて感謝です。 改めてjlreq.clsも見て、なんとなく勘所は掴めたと思います。

大変助かりました。ありがとうございました。

abenori commented 5 years ago

お気にならさないでください.最初はこうはなっていなくてどっかで直した覚えはあります.バグなので履歴には「バグ修正」の中に取り込まれているという……

Yamakida commented 5 years ago

なるほど。 いずれにしろ、助かりました&勉強になりました。 ありがとうございます。