-
Notifications
You must be signed in to change notification settings - Fork 9
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
和欧文間に \nolinebreak があるとき当該箇所に \xkanjiskip が挿入されない #52
Comments
pLaTeX を更新してみましたが,最新版の pLaTeX2e <2017/07/29> でも 2017-05-05 版と同様に |
報告ありがとうございます。2017/05/05 あたりで,ここと #45 にある理由,すなわち \xkanjiskip は未考慮だったので後で考えます。 なお,
については,plain e-pTeX のみならず pLaTeX でも同様に \xkanjiskip が入るはずです(ただし禁則ペナルティ前での |
GitHub 上の議論だけ追いかけて具体的なコミットや pldoc.pdf を読んでいなかったため,
のみと思っていました,ありがとうございます.自分の用途だとどちらの処理も不要なのでひとまずは |
対策を考えてみました。合算が起きても起きなくても無害そうなのは「余分な0のペナルティ」? \makeatletter
\def\@no@lnbk #1[#2]{%
\ifvmode
\@nolnerr
\else
\@tempskipa\lastskip
\unskip
\penalty #1\@getpen{#2}%
\penalty\z@\relax %% added (2017/05/03)
\ifdim\@tempskipa>\z@
\hskip\@tempskipa
\ignorespaces
\fi
\fi}
\makeatother これは「明示的な(= \penalty プリミティブによる)ペナルティ同士は合算されない」という仕様を利用しています。つまり LaTeX 本来の これなら、「\linebreak によるペナルティと後続の前禁則ペナルティの合算が起きない」かつ「\xkanjiskip の挿入は正常に行われる」ような気がします。 |
修正を入れた platex (pLaTeX2e <2017/07/29>+1) および uplatex (pLaTeX2e <2017/07/29u01>+1) を先程リリースしましたので完了とします。何かあったら reopen してください。 |
TeX Live を更新して修正を確認できました.対応ありがとうございます. |
すみません,理解できていないのですが,
でTeX Live 2017では「ん」の前で改行が起こってしまいます。2016では大丈夫です。 |
後で確認します。 |
多分
で改行を起こすためです。悩ましいですが,元に戻したほうが良い? |
\nolinebreak の変更を revert し, |
ありがとうございましたm(__)m |
以下のコードを pLaTeX + dvipdfmx で処理すると pLaTeX のバージョンによって組版結果が異なります.(2017-04-15 版の pLaTeX が手元になかったので,このバージョンではテストできませんでした)
pLaTeX2e <2016/11/29> による出力:
pLaTeX2e <2017/05/05> による出力:
このとおり,新しい pLaTeX では「ほげ」と "foo" の間に
\xkanjiskip
が入りませんが,旧版のように入るのが正しい結果ではないかと思います.upLaTeX や(texjporg ではないですが)LuaLaTeX + LuaTeX-ja でこれに相当する文書を作成しても同様でした.なお,
を TeX Live 2017 の plain e-pTeX + dvipdfmx で処理しても
\xkanjiskip
は挿入されているので,pLaTeX の問題のようです.The text was updated successfully, but these errors were encountered: