abenori / jlreq

Other
125 stars 18 forks source link

強制改行後の行頭の括弧 #61

Closed h-kitagawa closed 4 years ago

h-kitagawa commented 4 years ago

\\ で強制改行した際,行頭が開き括弧だったときに \null・開き括弧間の二分空きが入ります:

\documentclass{jlreq}
\begin{document}
漢字漢字\\「漢字漢字\par % 二分下がり
「漢字漢字               % 全角下がり
\end{document}

これは pLaTeX, LuaTeX-ja では \@gnewline

\def\@gnewline #1{%
  \ifvmode
    \@nolnerr
  \else
    \unskip \reserved@e {\reserved@f#1}\nobreak \hfil \break \null
    \ignorespaces
  \fi}

\null で終わっているためで,奥村さんの jsclasses では \inhibitglue を追加して空きが入らないようにしています.

過去に \@gnewline 周りの話題が出たとき,「pLaTeX では(挙動を変えないために)変更を見送る」という結論になったと記憶しています(LuaTeX-ja でもそれに合わせて変えていません)が,jlreq としてはどういう対応をとるのでしょう?

abenori commented 4 years ago

うーん,悩ましいですね.原則としては「JLReqに書いてあればそれに従う,そうでなければpLaTeX / LuaTeX-jaのまま」のつもりなので,\\に対応するのはJLReqに記述がないように見えるので,それに従うとタッチしないとなりますが. 実際問題,困ることってあるんでしょうか?

h-kitagawa commented 4 years ago

なるほど,たしかに悩ましいですね.

困ることってあるんでしょうか?

「困る」とまでいえるか怪しいですが,やろうとしていたのは

\begin{quote}% 組んだ結果は 2 行しかない
  ……それらは\\% この時点で行の残り 2 全角
  \emph{「$P=Q$……」}…… % $P=Q$の中では改行してほしくない
\end{quote}

のような,途中で強制改行を入れた方がまとまりが良さそうに思える状況です.

abenori commented 4 years ago

なるほど,したくなるケースがあるのは納得しました.

変更してしまって困ることはない気もするのですが,こういう書き換えをすると後でもとが変化した時に追随しなければならない(そして追随を即座にできる自信がない)のが悩みます.

うーん,とりあえずそのままにさせてください.そのうちこっそり変更しているかもしれませんが.

h-kitagawa commented 4 years ago

わかりました,各文書のソース(LuaTeX-ja 本体ではなく)で個別に \@gnewline をパッチすることにします.