-
Notifications
You must be signed in to change notification settings - Fork 6
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
[ptex] [和字]+ [ブレース]で終わっている行の行端の扱い #87
Comments
TeX Forum の記事の(07a)に関連してですが,行の終わりが「和文文字からなる制御綴」+「ブレース」の場合が不思議な感じですね。「和文文字→グループ境界 \def\和{あ}\def\。{い}
あ
う
{あ}
う
い
う
{い}
う
\和
う
{\和}
う
\。
う
{\。}
う
\bye → マニュアルの表現を「和文文字→グループ境界 |
どうなんでしょうね.マニュアルの表現を直すのもありですが, |
とりあえずマニュアルの表現を直してみました。 texjporg/ptex-manual@6096faa (手許で他に直していた文章も一緒になっているコミットですが) |
考えてみれば #81 の改修前は「コントロールワードの最後が和文文字かどうか」が完全には区別できず混同される状況がありましたので,今年のタイミングで直すのもアリかもしれないですね。 |
おっと,これは嘘でした,skip_blanks ですね.ちょっと大きくなりそうですが考えてみます. |
https://github.com/texjporg/tex-jp-build/tree/state_csword でやってみました.結果的に state の値として skip_blanks_kanji(和文文字後の skip_blank)を増やしたことになります. |
ありがとうございます。単に mid_kanji に行くのでは足りなかったということでしょうか。 |
#81 の話は str_pool に格納されたあとの話なので,今の話(格納するまでの話)とは別でしたね。 直すのが良いかどうかは悩みます。もともと「和文文字+ブレース」で空白が入らないのは不思議に思うところですし…。 |
eptexlineendmode_p400 ブランチ で
p4.0.0 以降のデフォルトの挙動は 0,p3.8.2 の挙動は 1,p3.8.1 以前の挙動は 3 となるはずです. |
\ptexlineendmode の実装,ありがとうございます。 良いと思います。 試してみました。下から3番目のビットの動作が想定と違うような気がします。具体的には,下から2番目のビットで制御されるべき「和文コントロールシンボル + {}」で行が終わる時も連動してしまうようです。 %#!ptex
\catcode`\{=1
\catcode`\}=2
\catcode`\^=7
%\catcode`^^A=12 % 12
\catcode`^^B=11 % 11
%\catcode`^^80=12 % 12
\catcode`^^81=11 % 11
\tracingonline1
\showboxdepth10000
\showboxbreadth10000
\font\x=cmr10 \x
\font\y=rml \y
\def\TeXnician{A}
\def\!{B}
\def\きょうはTeX日和{C}
\def\あしたはMF{D}
\def\!{E}
\def\^^A{F}
\def\^^B{G}
\def\^^80{H}
\def\^^81{I}
\def\^^B漢{J}
\def\漢^^B{K}
\def\^^81漢{L}
\def\漢^^81{M}
あ\TeXnician
い\!
う\きょうはTeX日和
え\あしたはMF
お\!
か\^^A
き\^^B
く\^^80
け\^^81
こ\^^B漢
さ\漢^^B
し\^^81漢
す\漢^^81
\showlists
あ{\TeXnician}
い{\!}
う{\きょうはTeX日和}
え{\あしたはMF}
お{\!}
か{\^^A}
き{\^^B}
く{\^^80}
け{\^^81}
こ{\^^B漢}
さ{\漢^^B}
し{\^^81漢}
す{\漢^^81}
\showlists
あn
い!
うX日和
えMF
お!
か^^A
き^^B
く^^80
け^^81
こ^^B漢
さ漢^^B
し^^81漢
す漢^^81
\showlists
あ{n}
い{!}
う{X日和}
え{MF}
お{!}
か{^^A}
き{^^B}
く{^^80}
け{^^81}
こ{^^B漢}
さ{漢^^B}
し{^^81漢}
す{漢^^81}
\showlists
\end これを |
考慮漏れでした,ありがとうございます. 和文文字由来の mid_kanji と,和文コントロールシンボル由来の mid_kanji が区別できないことが原因ですが,これを解決しようとするとまた state が増えることになります.そのため,
と現行の挙動を述べたほうがよいように思います. |
そうですね,そうしましょう。 差分 https://github.com/texjporg/tex-jp-build/compare/1398582..408aaf7 を見ていてふとした疑問ですが,uptex-m.ch では - cat:=cat_code(cur_chr);
+ cat:=cat_code(cur_chr); if cat=letter then state:=skip_blanks; が追加されているのに対して,そこの元である ptex-base.ch は else cat:=cat_code(cur_chr); のままなのが気になりました。 |
- cat:=cat_code(cur_chr);
+ cat:=cat_code(cur_chr); if cat=letter then state:=skip_blanks; ここはいらない気がしてきました.次の
ループの後にもう一回
があるからです. |
私もそんな気がします。 |
マージして svn r62032 でコミットしました。 これで pTeX 系列の TL2022 へ向けたは完了したと思います。ありがとうございます。pretest がもうすぐ始まりますので,それまでに pLaTeX の方を latex-dev に追随させながらテストしていこうと思います。 |
TeX Forum の記事「[和字]+ [ブレース]で終わっている行の行端の扱い」(帯田 木偶太さん)を忘れないためにチケット化しておきます.
The text was updated successfully, but these errors were encountered: