{"action":"created","issue":{"url":"https://api.github.com/repos/texjporg/tex-jp-build/issues/28","repository_url":"https://api.github.com/repos/texjporg/tex-jp-build","labels_url":"https://api.github.com/repos/texjporg/tex-jp-build/issues/28/labels{/name}","comments_url":"https://api.github.com/repos/texjporg/tex-jp-build/issues/28/comments","events_url":"https://api.github.com/repos/texjporg/tex-jp-build/issues/28/events","html_url":"https://github.com/texjporg/tex-jp-build/issues/28","id":258998312,"number":28,"title":"[ptex] \\inhibitglue の効力","user":{"login":"h-kitagawa","id":3954552,"avatar_url":"https://avatars1.githubusercontent.com/u/3954552?v=4","gravatar_id":"","url":"https://api.github.com/users/h-kitagawa","html_url":"https://github.com/h-kitagawa","followers_url":"https://api.github.com/users/h-kitagawa/followers","following_url":"https://api.github.com/users/h-kitagawa/following{/other_user}","gists_url":"https://api.github.com/users/h-kitagawa/gists{/gist_id}","starred_url":"https://api.github.com/users/h-kitagawa/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/h-kitagawa/subscriptions","organizations_url":"https://api.github.com/users/h-kitagawa/orgs","repos_url":"https://api.github.com/users/h-kitagawa/repos","events_url":"https://api.github.com/users/h-kitagawa/events{/privacy}","received_events_url":"https://api.github.com/users/h-kitagawa/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":7,"created_at":"2017-09-19T23:47:28Z","updated_at":"2018-02-24T09:47:45Z","closed_at":null,"author_association":"MEMBER","body":"ZRさんが[つぶやかれて](https://twitter.com/zr_tex8r/status/909748161526120448)いますが，pTeX では\r\n```\r\nあ\\inhibitglue\\relax「\r\nあ\\inhibitglue\\@ifnextchar[{}{}「\r\n```\r\nのような場合に，`「`の前側に半角空きが入るようになっています．\r\n\r\npTeX の挙動を調べてみると，`あ\\inhibitglue\\relax「` の場合では次のようになっています．\r\n * `あ\\inhibitglue` の直後は和文文字でない `\\relax` なので，JFM グルーの挿入はそこで中断される\r\n * そのときに `inhibitglue` が有効か否かのフラグはリセットされる\r\n * 従って，その後の`「`を処理する過程で「文字クラス0の文字」との間に入る半角空きがそのまま入る\r\n\r\n一応．ptex-base.ch の\r\n```\r\nskip_loop: inhibit_glue_flag:=false;\r\n```\r\nを\r\n```\r\nskip_loop: do_nothing;\r\n```\r\nに変えれば解決しますが，\r\n```\r\nあ\\inhibitglue\\copy0「\r\nあ\\inhibitglue\\discretionary{}{}{}「\r\n```\r\nのような場合に `\\inhibitglue` がリセットされない副作用があるので，どうすればよいか悩み中です．\r\n"},"comment":{"url":"https://api.github.com/repos/texjporg/tex-jp-build/issues/comments/368216053","html_url":"https://github.com/texjporg/tex-jp-build/issues/28#issuecomment-368216053","issue_url":"https://api.github.com/repos/texjporg/tex-jp-build/issues/28","id":368216053,"user":{"login":"aminophen","id":9957466,"avatar_url":"https://avatars0.githubusercontent.com/u/9957466?v=4","gravatar_id":"","url":"https://api.github.com/users/aminophen","html_url":"https://github.com/aminophen","followers_url":"https://api.github.com/users/aminophen/followers","following_url":"https://api.github.com/users/aminophen/following{/other_user}","gists_url":"https://api.github.com/users/aminophen/gists{/gist_id}","starred_url":"https://api.github.com/users/aminophen/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/aminophen/subscriptions","organizations_url":"https://api.github.com/users/aminophen/orgs","repos_url":"https://api.github.com/users/aminophen/repos","events_url":"https://api.github.com/users/aminophen/events{/privacy}","received_events_url":"https://api.github.com/users/aminophen/received_events","type":"User","site_admin":false},"created_at":"2018-02-24T09:47:45Z","updated_at":"2018-02-24T09:47:45Z","author_association":"MEMBER","body":"[書き直し]\r\n\r\ninhibitglue_flag ブランチを作ってみました。現状 aba351a では\r\n\r\n`あ）\\null\\inhibitglue\\null （あ`\r\n`あ）\\vrule\\inhibitglue\\vrule （あ`\r\n`あ）\\discretionary{}{}{}\\inhibitglue\\discretionary{}{}{}（あ`\r\n\r\nで \\inhibitglue が後続の展開不能トークンを透過する問題を解消しています（★）。一方，\r\n\r\n`あ）\\relax\\inhibitglue\\relax （あ`\r\n\r\nは直し方がわからなかったのでそのままです。\r\n\r\n（一旦 72b9cdb では，この issue の最初の @h-kitagawa さんのコメントにある\r\n\r\n> 一応．ptex-base.ch の\r\n> `skip_loop: inhibit_glue_flag:=false;`\r\n> を\r\n> `skip_loop: do_nothing;`\r\n> に変えれば解決しますが，\r\n\r\nの変更も適用してみたのですが，そうすると `）\\relax （` で全角アキが入る（＝文字タイプ判定は展開不能トークンを透過しない）のと辻褄が合わないので元に戻しました。\r\n\r\n> `あ\\inhibitglue\\copy0「`\r\n> `あ\\inhibitglue\\discretionary{}{}{}「`\r\n> のような場合に \\inhibitglue がリセットされない副作用があるので，\r\n\r\nの副作用は，上記（★）の時点でそもそも起きなくなっています）"}}
{"actor":{"display_login":"aminophen"}}