bxjsbookのtwoside,openanyオプションにおける左右余白について

bxjsbookのtwoside,openanyオプションにおける左右余白について

- Fujiwa LaTeX の投稿
返信数: 10
初めまして.現在,TexLive2016のbxjsbookクラスで卒論を書いている学部4年です.bxjsbookのオプションでtwoside,openanyを指定した形式で論文を書いています.タイトルから目次までは左右余白がきちんと交互に空くのですが,
本文に入る時に2ページ連続で左に余白が入ります.以下に論文の構成を書きます.

タイトル (左余白)
ブランクページ(cleardoublepage使用,右余白)
概要(左余白)
目次1ページ目(右余白)
目次2ページ目(左余白)
第1章(左余白)

このように目次2ページと第1章は左余白が連続で空きます.

私は本文に入る時に\pagenumbering{arabic}でページ番号をリセットしている為,余白が連続で入っていると予想しています.(試しに\pagenumbering{arabic}をコメントアウトしたら左右交互になった)

ちなみに目次の後に本文が入る為,
\tableofcontents
\clearpage
\pagenumbering{arabic}
という書き方でページ番号をリセットしています.
Fujiwa LaTeX への返信

Re: bxjsbookのtwoside,openanyオプションにおける左右余白について

- aminophen の投稿
> 私は本文に入る時に\pagenumbering{arabic}でページ番号をリセットしている為,
> 余白が連続で入っていると予想しています.

そのとおりです。また、それは仕様通りの挙動と思います。
なぜなら余白をどちらに入れるかは
「見かけ上必ず交互になるように」ではなく
「ページ番号が奇数か偶数か」で決まるからです。

\tableofcontents
\clearpage
\pagenumbering{arabic}

これでうまくいっているならそれで良いです。
なお、これだと目次が右ページで終わるか左ページで終わるかによって
\clearpage を書くべきかどうかいちいち考えないといけないと思います。
\cleardoublepage なら、目次の終わり方によらず第1章は右ページから
始まるようにできます。
aminophen への返信

Re: bxjsbookのtwoside,openanyオプションにおける左右余白について

- Z. R. の投稿

\mainmatter を使うべき場面、のような気がしますね。

(\mainmatter は \cleardoublepage してから \pagenumbering{arabic} する。)

aminophen への返信

Re: bxjsbookのtwoside,openanyオプションにおける左右余白について

- Fujiwa LaTeX の投稿
返信ありがとうございます.
\clearpageを\cleardoublepageにしたらブランクページが挿入されて確かに
左右交互になりました.しかし,自分としては第1章は左ページから始まっても右ページから始まっても構わないと考えています.しかし,目次と第1章の間にブランクページが挿入されることは避けたいと考えています.なぜなら,目次のページ数に応じてブランクページが挿入されたりされなかったりするのは変だと感じるからです.それとも,ブランクページが挿入されるのはおかしいことではないのでしょうか.
Fujiwa LaTeX への返信

Re: bxjsbookのtwoside,openanyオプションにおける左右余白について

- aminophen の投稿
今のコメント

> 自分としては第1章は左ページから始まっても右ページから始まっても
> 構わないと考えています.

と最初のコメント

> 本文に入る時に\pagenumbering{arabic}でページ番号をリセットしている為

を“合算”すると
「1という番号のついたページが成り行き次第で右に来ても左に来ても構わない」
という主張になります。ここまではよろしいでしょうか。

そうなることが妥当かおかしいかは専門家にお任せするとして;
(私個人はおかしいとまでは思いません。)

実際問題としては、LaTeX の横組クラスはほとんどが、1という番号の
ページ(一般には奇数番号のページ)は**必ず**右に出力する「仕様」なので、
これに反することをするには大規模にクラスファイルを改造するか、自力で
マージンのパラメタを弄る必要があるでしょう。

# しかも、目次と本文で偶奇が逆転しうる今回のケースは少し煩雑かも。
# ローマ数字とアラビア数字の合算ページ数をカウンタとして定義して
# その偶奇で右左のレイアウトを切り替えるマクロを組めば可能でしょう。

Z.R. さんの \mainmatter を使うべき、はまさに仰る通りです。
aminophen への返信

Re: bxjsbookのtwoside,openanyオプションにおける左右余白について

- 前田 一貴 の投稿
専門家ではありませんが,横組の書籍で奇数ページが必ず右に来るというのは
大抵の場合守られている約束事なのではと思います.例えば,日本語組版処理の要件
https://www.w3.org/TR/jlreq/ja/#principles_of_arrangement_of_running_heads_and_page_numbers
には

> ノンブルは,紙葉の表面を“1”として開始するので,縦組の書籍の見開きにおいては,
> 右ページは偶数ページ,左ページは奇数ページとなり(図 2.53),横組の書籍の
> 見開きにおいては,左ページは偶数ページ,右ページは奇数ページとなる(図 2.54).

とあります.この約束を守る限り,1ページ目を右ページに出力するのは当然の仕様です.

おそらく openany 指定だから第1章の1ページ目も左に来て良いはずだ,という意図
なのだと思いますが,実際の書籍をいくつか見てみると,例えば共立出版や朝倉書店の
数学の本は章の始まりが左に来てもよい (openany) 設計で組まれている本が多いようですが,
この場合でも目次が奇数ページ(右ページ)で終わる場合は次のページは空白で
第1章(1ページ目)は右ページから始まっています.目次が偶数ページ(左ページ)で
終わる場合は,空白なしで次のページからすぐに第1章(1ページ目)が始まります.
そういうものなのだと思います.
前田 一貴 への返信

Re: bxjsbookのtwoside,openanyオプションにおける左右余白について

- いな んず の投稿
実際に印刷して綴じ込む時のノド余白をページの奇遇判定によって付けているわけですので、そのカウンタを弄ったら余白の状態は壊れると思います。
なので、本文内でfancyhdrと独自のページカウンタを用意して、それをノンブルにするというのはどうでしょう?
いな んず への返信

Re: bxjsbookのtwoside,openanyオプションにおける左右余白について

- 北見 けん の投稿
まず、技術的な観点から。

印字されるノンブルだけをずらすのだと、
相互参照などがある場合には不味そうですね。
相互参照がなくとも目次に拾われるところですでにずれてしまいそうですね。

どうしてもやるなら、小手先でLaTeXとクラスファイルをだますのではなく、
クラスファイルの中身を読んでページの偶奇でデザインを変えているところをすべて抜き出して、
プリアンブルで再定義するのが簡単で事故が起きにくいと思います。
(実際、そんなに難しくはないと思います)

次に、文化的な観点から。

ところで、私がこれまで見た少ない経験に照らしてですが、
“出版された”といえるような書籍のうち、
横書きの書籍で右ページが奇数ページになっていないようなものは皆無だと思います。
もし私が知らないだけでなく、書籍というのはそもそもそういうものだとするならば、
今回目指しているような、
「目次が右ページで終わって次の見開き左ページから最初の章が始まり、
しかもノンブルが本文のところでリセットされる」ような書籍の実例は
有り得ないということになりますよね。
今回掲げた目標は、それほど特異なことだということになりそうです。

この状況が有り得るためには、どれかの条件をあきらめて、
(1) 奇数ページが左に来るようなことを許すか、
(2) 右ページで終わった目次の後に空白の左ページを入れるか、
(3) 前書きの分量を調節して目次が左ページで終わるようにするか、
(4) ノンブルをリセットせずに前書きから本文まで共通にするか
いずれかですね。
ご希望されているのは(1)でして、それも可能だということは上にも書きましたが、
この中で一番簡単にできて、しかも書籍の評価を下げずに済むのは、
(2)だと思います。たとえ全体は成りゆき章起こし(openany)とするにしても、
最初の章だけは右ページ起こし(奇数ページ起こし)にするのがよいのじゃないかなと思います。
目次の後に1枚入るかもしれない空白ページを節約することが、
あえて出版文化の伝統に逆らってまでするような、すばらしいアイデアだとも思われませんから。

いかがでしょうか。
北見 けん への返信

Re: bxjsbookのtwoside,openanyオプションにおける左右余白について

- Fujiwa LaTeX の投稿
返信ありがとうございます.
変なことをやらずに目次の後に空白のページを挟むことにしました.

最初に投稿した時には触れなかったのですが,bxjsbookクラスはtwoside,openanyオプションだと,通常,右ページ起こしになるのでしょうか.どうやっても左ページ起こしにならないので,余白設定で
\newlength{\tmphogehoge}
\setlength{\tmphogehoge}{\oddsidemargin}
\setlength{\oddsidemargin}{\evensidemargin}
\setlength{\evensidemargin}{\tmphogehoge}
として,無理やり左ページ起こしにしていたのですが.
Fujiwa LaTeX への返信

Re: bxjsbookのtwoside,openanyオプションにおける左右余白について

- aminophen の投稿
> bxjsbookクラスはtwoside,openanyオプションだと,
> 通常,右ページ起こしになるのでしょうか.

openany は「両起こし」です。
両起こしとは、章の始まりが成り行きで右ページになったり左ページになったりする
(ただし、本トピックで既出の通り、奇数ページは必ず右に置く)という意味です。
Fujiwa LaTeX さんが仰る「右起こし」は、章の始まりを必ず右にするという意味です
から、これはまさに openright のことです。

・pLaTeX 標準添付物である jbook
・奥村さんの jsbook
・Z.R. さんの bxjsbook
のすべてにおいて、存在するオプションは openright と openany だけです。
オプション未指定の場合は openright になっています。
したがって「左起こし」つまり「見開き起こし」にする機能は存在しません。

ちょうど forum:2112 で openleft オプションもあったほうが便利ではないかという話に
なって、今まさに jbook に実装を追加する作業を私がやったところです。
jbook への追加が正式に採用された場合、jsbook や bxjsbook にも同じように
openleft すなわち「左起こし」が追加されるという可能性はあります。
aminophen への返信

Re: bxjsbookのtwoside,openanyオプションにおける左右余白について

- Fujiwa LaTeX の投稿
返信遅くなって申し訳ありませんでした.そうだったんですね.てっきりopenleftというオプションは既にあるものだと思っていました.現状は左ページ起こしにする正式な方法はないということですね.みなさまありがとうございました.