abenori / jlreq

Other
125 stars 18 forks source link

twocolumn時のmarginparのparsep,width #59

Closed kmuto closed 4 years ago

kmuto commented 4 years ago
\documentclass[twocolumn]{jlreq}
\begin{document}
ああああああああああああああああああああああああああああああああああああああああ
あ\marginpar{まーじんぱらぐらふ}
\end{document}

のようにしたときにmarginparsepが0、marginparwidthが1zw程度になります。ロジックを見ると仕様としてあえてこうされている(ユーザがmarginsep,marginparwidthを指定する)のでしょうか。

jlreq 1段のときはparsep 2zw、parwidth 2zwくらいになるようです。jsbook+twocolumnではparsep 2zw、parwidth 3zwになりました。

33a5389f86b27e30ca00774b786f31e8f0ae05d6 での実行です

abenori commented 4 years ago

こちらでは一段組でも二段組みでも\marginparsep\marginparwidthともに0ptです.

\documentclass[twocolumn]{jlreq}
\begin{document}
marginparwidth=\the\marginparwidth , marginparsep=\the\marginparsep

ああああああああああああああああああああああああああああああああああああああああ
あ\marginpar{まーじんぱらぐらふ}
\end{document}

クラスオプションのsidenote_lengthに正の値を入れてやれば\marginparwidthはその値になり(ただしzwfootnotesizeでの一文字の大きさになる),\marginparsep=2zwとなります.デフォルトではsidenote_length=0ptです.

kmuto commented 4 years ago

申しわけない、変に数値で出さずに形で示せばよかったです、

marginparに入れたものが1列だと版面より外に、2列だと版面内に重なる というのは意図的でしょうか。

margin-1 margin-2

abenori commented 4 years ago

(いずれにせよ,現象の直接的な理由は\marginparsepが0ptに設定されていることかと思います.(二段組みだとまさにそんな感じ.一段組で空きが出ているのが何故かはわからないのですが…….))

結果的には意図的ということになるかなと思います.もうちょっというと,\marginpar使うな,使いたければsidenote_length設定しろ,ということでしょうか.

  1. \marginparを傍注専用として占有している.(\sidenote内で利用.)
  2. sidenote_length=0ptの時は文書作成者は「傍注を使わない」と宣言しているものと見なしている.
  3. 従って,\marginparは使わないと文書作成者は宣言していると見なされている.

(あまり現実的な論理ではない気もしてきました.傍注を\marginpar抜きで実装できればよいのですが…….)

kmuto commented 4 years ago

意図的とのことで、ありがとうございます(逆に1段のほうがおかしいのか…)。

marginparは本来の使い方というより単に編集者コメントを入れるのに流用していただけだったりしますが、sidenote_lengthで対処するようにしますね。

abenori commented 4 years ago

単に編集者コメントを入れるのに流用

これ自分もやるのでやっぱり何か考えた方がよい気がしてきました.sidenote_lengthですが,設定すると傍注部分も本文の一部と見なした版面になるので気をつけてください.(gutterを省略しても本文範囲が中央配置されなくなる,柱などが傍注部分の上に出るようになる,など.)