jsbookで本文が片側に寄る問題の解決方法


ドキュメントクラス「jsbook」で文書を作成すると、片側の余白が大きくなって文章が片側に寄ってしまうことがあります。TeXは米国規格のレターボックスサイズ(A4サイズより小さい)向けにチューニングされており、1行の長さが全角40文字を超えないようにしているそうです。紙の幅が全角40文字以上ある場合、本文の幅は強制的に1行40文字となり、本文は左右どちらかに寄せられてしまいます

↓こんな感じ

これを避けるためには、 \begindocument の前に

\setlength{\textwidth}{\fullwidth}  %本文の幅(textwidth)を全体の幅(=ヘッダ部の幅)にそろえる
\setlength{\evensidemargin}{\oddsidemargin} %偶数ページの余白と奇数ページの余白をそろえる

と入れれば、1行40文字の制限が取っ払われて左右に極端に寄ることがなくなります

↓こんな感じ

ただ、このようにすると1行の文字数が増えてレイアウトが大きく変わってしまうことが想定されます。1行の文字数を維持しながら左右に寄るのを防ぐためには \begindocument の前に

\addtolength{\fullwidth}{-26truemm} %全体の幅(ヘッダ部の幅)を既定値から26mm小さくする
\setlength{\textwidth}{\fullwidth}  %本文の幅(textwidth)を全体の幅(=ヘッダ部の幅)にそろえる
\setlength{\evensidemargin}{10truemm}   %偶数ページの左余白を10mm(+1インチ)にする
\setlength{\oddsidemargin}{10truemm}    %奇数ページの左余白を10mm(+1インチ)にする

と入れると、1行の文字数を40文字程度に保ちながら左右に偏るのを防ぐことができます。(細かい数値調整は要検討)

↓こんな感じ

ホチキス止めする側の余白を広めにとりたい場合は、偶数ページの左余白を小さく、奇数ページの左余白を大きくすれば良いので

\addtolength{\fullwidth}{-26truemm} %全体の幅(ヘッダ部の幅)を既定値から26mm小さくする
\setlength{\textwidth}{\fullwidth}  %本文の幅(textwidth)を全体の幅(=ヘッダ部の幅)にそろえる
\setlength{\evensidemargin}{1truemm}    %偶数ページの左余白を1mm(+1インチ)にする
\setlength{\oddsidemargin}{19truemm}    %奇数ページの左余白を19mm(+1インチ)にする

みたいにすれば良いと思います

↓こんな感じ