X-Git-Url: http://git.osdn.jp/view?a=blobdiff_plain;f=doc%2Fjfmglue.tex;h=d44ee51b4f2ed6e5d7dc9c27c0f3e16b60c1546c;hb=53f7e2d9406b8186bc4453cb6c13ac0f3b4156cb;hp=b76891cfc2a87cc6d9fdac773b381ed8eee53f23;hpb=cfd3ad7961c4538d018120a9fa76fab9c157fce4;p=luatex-ja%2Fluatexja.git diff --git a/doc/jfmglue.tex b/doc/jfmglue.tex index b76891c..d44ee51 100644 --- a/doc/jfmglue.tex +++ b/doc/jfmglue.tex @@ -6,12 +6,16 @@ \setbox0=\hbox{\kern.5em$\mathstrut#1$\kern.5em}\dp0=0pt \hbox{\vrule $\vcenter{\hsize=\wd0\hrule\kern.5ex\copy0\kern.5ex\hrule}$% - \vrule\kern.1em}} + \vrule\kern.1em}{}} \def\nk{{\rm kern}\ } \def\ng{{\rm glue}\ } \def\np{{\rm penalty}\ } \def\z{\,{\rm zw}} \jfont\tenmini={file:ipam.ttf:slant=0.5;jfm=ujis} at 13\jQ +\def\mibox#1{\hbox{\it #1\/}}\def\IT#1{{\it #1\/}} +\ltjsetparameter{alxspmode={`\$,allow}} +\ltjsetparameter{alxspmode={`\\,allow}} +\ltjsetparameter{alxspmode={`\',allow}} \centerline{\big Lua\TeX-ja åæå¦çã°ã«ã¼ã«ã¤ãã¦}\bigskip \centerline{\large\the\year/\the\month/\the\day}\medskip @@ -19,360 +23,532 @@ æ¬ææ¸ã§ã¯ï¼Lua\TeX-jaãï¼ç¾æç¹ã«ããã¦ï¼åæå¦çã«é¢ããglue/kernã ã©ã®ããã«æ¿å ¥ãããã®å é¨å¦çã«ã¤ãã¦èª¬æããï¼ +\bigskip +{\large\bf\noindent ããã¯ä»æ§ã»å é¨å¦çã®ææ¡ã®1ã¤ã«ããããã¾ããï¼æçµçã«ãã®ããã«ãªã +ä¿è¨¼ã¯ã©ãã«ãããã¾ãããï¼ç¾æç¹ã§ã®Luaã³ã¼ããæ¬ææ¸ã«å¾ã£ã¦ããä¿è¨¼ãããã¾ããï¼ +ãã°ãæ··å ¥ãã¦ããå¯è½æ§ã大ããã§ãï¼} + \beginsection äºåç¥è 説æã«å ¥ãåã«ï¼æ®µè½ãhboxã®ä¸èº«ã¯ï¼\TeX ã®å é¨ã§ã¯nodeéã«ãã ãªã¹ãã¨ãã¦è¡¨ç¾ããã¦ãããã¨ã«æ³¨æããï¼nodeã®ç¨®é¡ã«ã¤ãã¦ã¯ï¼ -\hbox{\it The\ Lua\TeX\ Reference\/}ã®ç¬¬8ç« ãåç §ãã¦æ¬²ããï¼ä»£è¡¨çãªãã®ãæããã¨ï¼ +\IT{The\ Lua\TeX\ Reference}ã®ç¬¬8ç« ãåç §ãã¦æ¬²ããï¼ä»£è¡¨çãªãã®ãæããã¨ï¼ -\item {\it glyph\_node}: æåï¼ååãå«ãï¼ã表ç¾ããï¼åæå¦çã°ã«ã¼ãæ¿å ¥ããéã«ã¯ï¼ -æ¢ã«å{\it glyph\_node}ã欧ææåã®ãã®ãåææåã®ãã®ãåºå¥ãã¤ãã¦ããï¼ -\item {\it glue\_node}: glueã表ãï¼ -\item {\it kern\_node}: kernã表ãï¼å|kern_node|ã«ã¯|subtype|ã¨ããå¤ãããï¼ +\item \IT{glyph\_node}: æåï¼ååãå«ãï¼ã表ç¾ããï¼åæå¦çã°ã«ã¼ãæ¿å ¥ããéã«ã¯ï¼ +æ¢ã«å\IT{glyph\_node}ã欧ææåã®ãã®ãåææåã®ãã®ãåºå¥ãã¤ãã¦ããï¼ã¾ãï¼ +ãã°ãã°\IT{glyph\_node}~$p$ã¨ï¼ããã®è¡¨ãæåã®æåã³ã¼ã$p.\mibox{char}$ã¨ãåä¸è¦ããï¼ +\item \IT{glue\_node}: glueã表ãï¼ +\item \IT{kern\_node}: kernã表ãï¼å|kern_node|ã«ã¯|subtype|ã¨ããå¤ãããï¼ æ¬¡ã®3種é¡ãåºå¥ã§ããããã«ãªã£ã¦ããï¼ \itemitem 0: 欧æç¨TFMç±æ¥ \itemitem 1: æ示çãª|\kern|ãï¼ã¤ã¿ãªãã¯è£æ£ (|\/|) ã«ãããã® -\itemitem 2: éæ°å¼ã¢ã¯ã»ã³ãç¨æåã®å·¦å³ä½ç½®èª¿æ´ã®ããã®ãã® -\item {\it penalty\_node}: penaltyã表ãï¼ -\item {\it hlist\_node}: hboxï¼æ°´å¹³ããã¯ã¹ï¼ã表ãï¼ +\itemitem 2: |\accent|ã«ããéæ°å¼ã¢ã¯ã»ã³ãç¨æåã®å·¦å³ä½ç½®èª¿æ´ã®ããã®ãã® +\item \IT{penalty\_node}: penaltyã表ãï¼ +\item \IT{hlist\_node}: hboxï¼æ°´å¹³ããã¯ã¹ï¼ã表ãï¼ \enditem -以å¾ï¼æ¬¡ã®ããã«ï¼nodeãã©ã®ããã«é£ç¶ãã¦ãããã表ããã¨ã«ããï¼ + +\item 次ã®ããã«ï¼nodeãã©ã®ããã«é£ç¶ãã¦ãããã表ããã¨ã«ããï¼ $$ -\node{a}\node{b}_{\rm I}\node{c} +\node{a}\node{b}_{1}\node{c} $$ -å³ä¸ã«ã¤ãã¦ããæ·»åã¯ï¼Lua\TeX-ja ã«ããã¦ãã®nodeã®å½¹å²ãåºå¥ããããã«ã¤ãããã -å¤ã§ããï¼æ¬¡ã®ããã«ãªã£ã¦ããï¼ -\begintt -I: ã¤ã¿ãªãã¯è£æ£ç±æ¥ã®\kern -T: \[x]kanjiskipã«ç½®æãããã\kern -J: JFMç±æ¥ã®glue/kern -K: ç¦åå¦çç¨penalty -E: -KS: \kanjiskip -XS: \xkanjiskip -\endtt +ä¸æ·»åã¯ï¼Lua\TeX-jaã«ããã¦ãã®nodeã®å½¹å²ãåºå¥ããããã«ã¤ãããã +å¤ï¼icflagã¨å¼ã¼ãï¼ã§ããï¼æ¬¡ã®ããã«ãªã£ã¦ããï¼ +$$ +\vbox{\halign{#:\ \hfil\hfil\quad:\ \hfil\hfil\cr +1&ã¤ã¿ãªãã¯è£æ£ç±æ¥ã®kern & +2&å¹ è£æ£ã®ããï¼hboxã«ã«ãã»ã«åãããåææå\cr +3&ç¦åå¦çç¨penalty& +4&JFMç±æ¥ã®glue/kern\cr +5&ãè¡æ«ãã¨ã®éã«å ¥ãkern& +6&|\kanjiskip|ç¨glue\cr +7&|\xkanjiskip|ç¨glue& +8&æ¢ã«å¦ç対象ã¨ãªã£ãnode\cr +15&ãªã¹ãå é /æ«å°¾ã«å ¥ãglue/kern/penalty\span\omit\span\cr +}} +$$ +åæå¦çã°ã«ã¼ã®æ¿å ¥å¦çã«ä¸åº¦éãããnodeã¯ï¼ã¿ãªicflagã3以ä¸ã¨ãªããã¨ã«æ³¨æï¼ + +ãªãï¼ä¸æ·»åã¯nodeã®subtypeã表ãï¼ +\item {\sf jaxspmode}ã®ãããªãµã³ã»ãªãä½ã§ï¼|\ltjsetparameter|ã§è¨å®å¯è½ãªãã©ã¡ã¿å¤ã表ãï¼ +\item ã¿ã¤ãã©ã¤ã¿ä½ã®|\kanjiskip|, |\xkanjiskip|ã¯ï¼ +ãããããåæé空ç½ããå欧æé空ç½ãã®æå³ã§æ½è±¡çã«ç¨ãã¦ããï¼ +\item nilå¤ã¯$\emptyset$ã¨æ¸ãï¼ +\enditem +\beginsection æ¹éãªã© -\beginsection JFMç±æ¥ã°ã«ã¼ã®æ¿å ¥ ({\tt luatexja-jfmglue.lua}) +æ¬ãã¼ã¸ã§ã³ã«ããã¦ã¯ï¼JFMç±æ¥ã°ã«ã¼ã¨|\[x]kanjiskip|ã®æ¿å ¥ã¯åã段éã§è¡ãããï¼ +大éæã«è¨ãã¨ï¼ +$$ +\vbox{\hsize=0.85\hsize\bf åæå¦çã°ã«ã¼ã®æ¿å ¥å¦çã§ã¯ï¼ä»¥ä¸ã¯åå¨ããªããã®ã¨ãã¦æ±ãããï¼ +\item ãæåã«ä»å±ãããã¢ã¯ã»ã³ããã¤ã¿ãªãã¯è£æ£ï¼ +\item è¡ä¸æ°å¼ã®å é¨ï¼ +\item å®éã®çµçä¸ã«ã¯ç¾ããªãinsertion, vadjust, mark, whatsit nodeéï¼ +\enditem} +$$ + +\beginparagraph åææåã®ãèªç¶é·ãï¼JFMã«ããã{\tt width}ã®æå®å¤ï¼ã«ã¤ã㦠+ +p\TeX ã«ããã¦ã¯ï¼åææåã®è¡é ã¨è¡æ«ã«èªåçã«glueãkernããããã¨ã¯ã§ããªãã£ããã¨ããï¼ +JFMã«ãããæåå¹ ã®æå³ã¯ï¼ +$$ +\hbox{\vbox{\hsize=0.8\hsize \noindent +ããã®æåãè¡é ã«ããããã¨ãã®ï¼çé¢å·¦ç«¯ã®ä½ç½®ãã左端ï¼\hfill\break +ããã®æåãè¡æ«ã«ããããã¨ãã®ï¼çé¢å³ç«¯ã®ä½ç½®ããå³ç«¯ã¨ããã¨ãã®å¹ }} +$$ +ã¨ããããã«ï¼æ確ãªæå³ããããã®ã§ãã£ãï¼ä¾ãã°ï¼ä¹é¨ããã«ããã¶ãä¸ãçµããã±ã¼ã¸ ({\tt burasage.lzh}) +ã«ããã¦ã¯ï¼å¥èªç¹é¡ï¼ã|ï¼ãï¼ã|ãã®4æåï¼ã®æåå¹ ã¯0.0ã¨ãªã£ã¦ããï¼ + +ä¸æ¹ï¼Lua\TeX-ja ã«ããã¦ã¯ï¼åææåãè¡æ«ã«ããå ´åï¼ãã®æåã¨è¡æ«ã®éã«kernãæ¿å ¥ãããã¨ãã§ããï¼ +ä¾ãã°ï¼åã«æãã4æåã«ã¤ãã¦ã¶ãä¸ãçµããããã®ã§ããã°ï¼ -JFMç±æ¥ã°ã«ã¼ã®å¦çã¯ï¼ãé£ç¶ãã2ã¤ã®nodeã®éã«ä½ãå ¥ããããã¨ããåä½ã§è¡ãããï¼ -ãã®ããï¼ -\item nodeçæãä¼´ããªããã®ï¼ã°ã«ã¼ãå¢çï¼|\relax|çï¼ã¯å ¨ã¦ç¡è¦ãããï¼ -\item ä¸æ¹ï¼nodeçæãä¼´ããã®ã¯å ¨ã¦ãééããªããï¼ -ä¾ãã°ï¼æ¬¡ã®ã½ã¼ã¹ã«ããã¦ï¼éãæ¬å¼§ã¨éãæ¬å¼§ã®éã«å ¥ãç©ã¯ï¼ -å·¦ã¨å³ã¨ã§ç°ãªãï¼ \begintt -ï¼ï¼ããï¼\hbox{}ï¼ + [1701] = { + chars = { 'lineend' } + }, + [42] = { + chars = { 'ï¼', 'ã', 'ï¼', 'ã' }, + align = 'left', left = 0.0, down = 0.0, + width = 0.5, height = 0.88, depth = 0.12, italic=0.0, + kern = { [1701] = -0.5, ...} + }, ... \endtt -\item JFMç±æ¥ã°ã«ã¼ã®æ¿å ¥ç¦æ¢ãè¡ã|\inhibitglue|ã¯ï¼å é¨ã§ã¯å°ç¨ã®nodeãä½ãã㨠-ã«ãã£ã¦å®è£ ãã¦ããï¼ãã®|\inhibitglue|ç¨nodeã¯ééããï¼ -\enditem -以ä¸ï¼$q$, $p$ãé£ç¶ããnodeã¨ããï¼ +ã®ããã«ï¼ãæå|'lineend'|ã¨ã®éã«è² ã®kernããããããã«æå®ããã°ããï¼ +ãã®ããï¼p\TeX ã¨æ¯è¼ããã¨ï¼JFMã«ããã|width|ã®æå®å¤ã«çµ¶å¯¾çãªæå³ã¯ãã¾ããªããã¨ã«ãªãï¼ +{\small è¡é ã«ãkern ããããããã«ãããã©ããã¯æ¤è¨ä¸ã§ããï¼} -\beginparagraph 2ã¤ã®åææåã®é +\beginparagraph ã°ã«ã¼ã®æ¿å ¥åä½ãå¡ã -ãã®å ´åï¼ã°ã«ã¼æ¿å ¥ã«é¢ä¿ããéã¯æ¬¡ã®éãã§ããï¼ããã3ã¤ã®éã®å¤ã«ãã£ã¦ï¼ -$q$ã¨$p$ã®éã«ä½ãæ¿å ¥ããããã決å®ãããï¼ãããã®è¨å·ã¯ä»ã®å ´åã«ãç¨ããï¼ -\item $g$: JFMã§æå®ãããï¼$q$ã¨$p$ã®éã«å ¥ãglue/kernï¼ -JFMã§è¦å®ããã¦ããªãã¨ãã¯$\emptyset$ã¨æ¸ããï¼ -両ãã¼ãã§ä½¿ããã¦ããJFMãç°ãªãæã®$g$ã®æ±ºå®æ¹æ³ã¯ï¼å¾ã«è¨è¿°ããï¼ -\item $w$: JFMã§æå®ãããï¼ã$q$ã®ç´å¾ã§æ¹è¡ãè¡ãããå ´åï¼ -$q$ã¨è¡æ«ã®éã«å ¥ãã«ã¼ã³éãã®å¤ï¼ +åæå¦çã°ã«ã¼ã®æ¿å ¥å¦çã¯ï¼ +ãã大éæã«ããã¨ï¼ãé£ç¶ãã2ã¤ã®nodeã®éã«ä½ãæ¿å ¥ããããã®ç¹°ãè¿ãã§ããï¼ +å®éã®æ¿å ¥å¦çã¯ï¼ãé£ãåã£ã2ã¤ã®ãå¡ã\IT{Nq}, \IT{Np}ã®éã«ä½ãå ¥ããããã +åä½ã¨ãã¦è¡ãããï¼ -$g-w$ã§ï¼$g$ã®èªç¶é·ã$w$ã ãæ¸ç®ããglue/kernã表ããã¨ã«ããï¼ +\medskip\noindent{\bf å®ç¾©}\quad +ã{\bf å¡}ãï¼\IT{Nn}ãªã©ã§è¡¨ãï¼ã¨ã¯ï¼æ¬¡ã®4ã¤ã®ããããã®æ¡ä»¶ãæºããnodeï¼éã®ãªã¹ãï¼ +ã®ãã¨ã§ããï¼ +\enum icflagã3以ä¸15æªæºã§ããnodeéã®é£ç¶ãããªããªã¹ãï¼ -\item $P$: $q$ã«å¯¾ããè¡æ«ç¦åç¨ããã«ã㣠(post-break penalty) ã¨ï¼ -$p$ã«å¯¾ããè¡é ç¦åç¨ããã«ã㣠(pre-break penalty) ã¨ã®åï¼ã©ã¡ãã -è¨å®ããã¦ããªãã¨ãã¯0ã¨ãªãï¼ -\enditem +ãã®ãããªnodeéã¯ï¼æ¢ã«çµã¿ä¸ãã£ãhboxã|\unpackage|ã«ãã解ä½ããã¨ãã«çºçããï¼ +ä¸åº¦åæå¦çã°ã«ã¼ã®æ¿å ¥å¦çãè¡ããã¦ããããï¼äºéã®å¦çãé²ãããã«ãããã¦1ã¤ã®å¡ãæ§æããã¦ããï¼ -è¨è¨æ¹éã¨ãã¦ã¯ï¼ -\item JFMç±æ¥ã§å ¥ããã®ãkernã®å ´åï¼ãã®å ´æã§ã¯è¡åå²ã¯è¨±ããªãï¼ -\item ããã§ãªãå ´åï¼ï¼penaltyã®å¤$P$ããããï¼ãã®å ´æã§ã®è¡åå²ã¯å¯è½ã§ããï¼ -\enditem -ã§ããï¼ãã¦ï¼æ¬¡ãå®éã®å ´åããã§ããï¼ - -\enum $w\neq 0$, $g=\emptyset$ã®ã¨ã -$$\ncount=0 -\node{q} -\node{\nk w}_{\rm E} -\node{\np P}_{\rm K} -\node{\nk{-w}}_{\rm T} -\node{p} +ãªãï¼icflagã15ã§ããnodeã¯ï¼å¦çä¸ã«çºè¦ãããã ãåé¤ããã +ï¼hboxã®å é ãæ«å°¾ã«æ¿å ¥ãããglue/kern/penaltyã§ããã®ã§ï¼ +æ¬æ¥ã®ã段è½/hboxã®ä¸èº«ã«é©å®ã°ã«ã¼ãæ¿å ¥ãããã¨ããç®çãèããã¨åå¨ãã¹ãã§ãªãï¼ï¼ +\enum æ°å¼éå§ã表ã\IT{math\_node}ããå§ã¾ãæä¸æ°å¼ã表ãnodeã®ãªã¹ãï¼ $$ - -\enum $w\neq 0$, $g\neq\emptyset$ã®ã¨ãï¼ -$$\ncount=0 -\node{q} -\node{\nk w}_{\rm E} -\node{\np P}_{\rm K} -\node{g-w}_{\rm J} -\node{p} + \node{\hbox{æ°å¼å¢çï¼éå§ï¼}} + \longrightarrow\hbox{ï¼ãã®éï¼è¡ä¸æ°å¼ãç¶ãï¼} + \node{\hbox{æ°å¼å¢çï¼çµäºï¼}} $$ - -\enum $w=0$, $g$: kernã®ã¨ã -$$\ncount=0 -\node{q} -\node{g}_{\rm J} -\node{p} +\enum \IT{glyph\_node}~$p$ã¨ï¼ããã¨åãé¢ããã¨ãæã¾ãããªãã¨èããããnodeéï¼ $$ - -\enum $w=0$, $g$: glueã®ã¨ã -$$\ncount=0 -\node{q} -\node{\np P}_{\rm K} -\node{g}_{\rm J} -\node{p} + \Bigl[\node{\nk\hskip-.5em}^2 + \node{\hbox{ã¢ã¯ã»ã³ãæå}} + \node{\nk\hskip-.5em}^2\Bigr] + \node{p} + \Bigl[\node{\nk\hskip-.5em}_1\Bigr] $$ +ä½ãï¼ããã«ã¯$p$ã${\rm icflag}=2$ã®hboxã§ããå ´åãå«ãï¼% +{\small âãã®å ´åã®å¦çã¯å®ã¯ããããªãï¼} +\enum {\bf 以ä¸ã®ã©ãã«ããã¦ã¯ã¾ããªã}node~$p$ï¼ +\itemitem çµççµæããã¯æ¶ãã¦ãã¾ãï¼\IT{ins\_node}, +\IT{mark\_node}, \IT{adjust\_node}, \IT{whatsit\_node}ï¼ +\itemitem penaltyï¼âä½ãï¼æ¿å ¥å¦çã®éç¨ã§å¤ãå¤æ´ããããã¨ã¯ããï¼ -\enum $w=0$, $g=\emptyset$, $P\neq 0$ã®ã¨ã -$$\ncount=0 -\node{q} -\node{\np P}_{\rm K} -\node{p} -$$ +\enditem -\enum $w=0$, $g=\emptyset$, $P=0$ã®ã¨ã -$$\ncount=0 -\node{q} -\node{p} -$$ +\medskip\noindent{\bf è¨å·}\quad +\IT{Bp}ã§ï¼å¡\IT{Nq}ã¨å¡\IT{Np}ã®éã«ãã\IT{penalty\_node}éã®é åã表ãï¼ + + +\beginsection æ¿å ¥å¦çã®å¤§æ + +\beginparagraph ãå¡ãã®ä¿æãããã¼ã¿ + +ãå¡ã\IT{Np}ã¯ï¼å é¨ã§ã¯å°ãªãã¨ã次ã®è¦ç´ ãæã£ããã¼ãã«ã¨ãã¦è¡¨ãããï¼ + +\item \IT{.first}: \IT{Np}ã®å é ã®nodeï¼ +\item \IT{.nuc}: \IT{Np}ã®ãæ ¸ãã¨ãªãnodeï¼ +\itemitem 1., 2.ã«ãããã®ã§ããå ´åï¼$\mibox{Np.nuc}=\mibox{Np.first}$ï¼ +\item \IT{.last}: \IT{Np}ã®æå¾ã®nodeï¼ +\item \IT{.id}: \IT{Np}ã®ç¨®é¡ã表ãå¤ï¼ +\itemitem 1.ã«ãããã®ã§ããå ´åï¼\IT{id\_pbox}ï¼Pseudo BOXã®ã¤ããï¼ï¼ +\itemitem 3.ã«ãããã®ã§ããï¼$p$ãåææåã ã£ãå ´åï¼\IT{id\_jglyph}ï¼ +\itemitem 4.ã«ãããã®ã§ããï¼$p$ãåç´å¤ä½ãnon-zeroãªhboxï¼ +ãããã¯vbox, ruleã ã£ãå ´åï¼\IT{id\_box\_like}ï¼ +\itemitem ãã以å¤ã®å ´åï¼node~$p$ã®ç¨®å¥ã表ãæ°å¤$p.\mibox{id}$ãã®ãã®ï¼ +ï¼æ°å¤ãã®ãã®ã ã¨ä½¿ãåæãæªãã®ã§ï¼\IT{id\_glyph}, \IT{id\_glue}, \IT{id\_kern}ãªã©ã¨ +å¥åãå®ç¾©ãã¦ããï¼ \enditem -ãªãï¼ä¸¡ãã¼ãã§ä½¿ããã¦ããJFMãç°ãªãæã®$g$ã®æ±ºå®æ¹æ³ã§ãããï¼ -\enum $g_{\rm L}$ãï¼$q$ã«ä½¿ç¨ããã¦ããJFMã«ãããï¼ã$q$ã¨æå|'diffmet'|ãã®éã« -å ¥ãglue/kernã®å¤ã¨ããï¼ -\enum $g_{\rm R}$ãï¼$p$ã«ä½¿ç¨ããã¦ããJFMã«ãããï¼ãæå|'diffmet'|ã¨$p$ãã®éã« -å ¥ãglue/kernã®å¤ã¨ããï¼ -\enum 両æ¹ããï¼å®éã«å ¥ã$g$ã®å¤ãè¨ç®ããï¼ -\itemitem $g_L$, $g_R$ã®å°ãªãã¨ãçæ¹ã$\emptyset$ã®ã¨ãã¯ï¼$\emptyset$ã§ãªãæ¹ã -ãã®ã¾ã¾æ¡ç¨ããï¼ -\itemitem 両æ¹ã¨ã$\emptyset$ã§ãªãå ´åã¯ï¼|differentjfm|ã®å¤ã«ãã£ã¦$g$ã®å¤ãè¨ç®ããï¼ +\medskip\noindent{\bf å®ç¾©}\quad +ã\IT{Np}ã®ä¸èº«ã®å é ããæå³ãã$\mibox{head}(\mibox{Np})$ã¯ï¼ä»¥ä¸ã§å®ç¾©ãããï¼ + +\noindent{\small ï¼èª¬æã®é½åä¸ä½ã£ãè¨æ³ã§ï¼Luaã½ã¼ã¹ä¸ã«ã¯ãã®ãããªæ¸ãæ¹ã¯ãªãï¼} + +\item \IT{Np.id}ã\IT{id\_hlist}ã®å ´åï¼å¾ã«è¿°ã¹ã{\tt check\_box}é¢æ°ãç¨ãã¦ï¼ +hbox~\IT{Np.nuc}ä¸ã®ãæåã®nodeããæå¾ã®nodeããæ±ããï¼ +\item \IT{Np.id}ã\IT{id\_pbox}ã®å ´åï¼\IT{id\_hlist}ã®å ´åã¨ã»ã¼åæ§ï¼ +\item $\mibox{Np}.\mibox{id}=\mibox{id\_glyph}$ï¼æ¬§ææåï¼ã®å ´åï¼ +\itemitem \IT{glyph\_node}~\IT{Np.nuc}ãåä¸ã®æåãæ ¼ç´ãã¦ããï¼ååã§ãªãï¼å ´åã¯ï¼\IT{Np.nuc}èªèº«ï¼ +\itemitem ããã§ãªãå ´åã¯ï¼ååã®æ§æè¦ç´ ã®å é âæ§æè¦ç´ ã®å é ââ¦â¦ +ã¨å帰çã«æ¢ç´¢ãï¼æå¾ã«ãã©ãçãã\IT{glyph\_node}ï¼ +\item $\mibox{Np}.\mibox{id}=\mibox{id\_disc}$ (discretionary break) ã®å ´åï¼ +\IT{disc\_node}ã¯ï¼ +\item $\mibox{Np}.\mibox{id}=\mibox{id\_jglyph}$ï¼åææåï¼ã®å ´åï¼\IT{Np.nuc}èªèº«ï¼ +\item $\mibox{Np}.\mibox{id}=\mibox{id\_math}$ï¼æ°å¼å¢çï¼ã®å ´åï¼ +ãæåã³ã¼ã$-1$ã®æ¬§ææåããä»®æ³çã«èãï¼ããã$\mibox{head}(\mibox{Np})$ã¨ããï¼ +\item ãã以å¤ã®å ´åï¼æªå®ç¾©ï¼æ¢ãã¦æ¸ãã°$\mibox{head}(\mibox{Np}):=\emptyset$ï¼ \enditem -\beginparagraph åææåã¨ï¼åææåï¼kern以å¤ã®nodeï¼ã®é - -ãåææåã®éãã®å ´åã«å¯¾ãã¦ï¼ä»¥ä¸ãç°ãªãï¼ -\item $g$ã¯ï¼$q$ã«ä½¿ç¨ããã¦ããJFMã«ãããï¼ã$q$ã¨æå|'jcharbdd'|ãã®éã« -å ¥ãglue/kernã®å¤ã§ããï¼ -\item $p$ã{\bf penaltyã§ãªãå ´å}ã¯ï¼ãã¤ããã®ä½ç½®ã§è¡åå²ã§ããããã«ããããï¼ -case~6 ($w$, $P=0$, $g=\emptyset$) ã®å ´åã«ãï¼$q$ã¨$p$ã®éã«ã¯ -0ã¨ããå¤ã®penaltyãå ¥ãï¼å³ã¡ï¼æ¬¡ã®ããã«ãªãï¼ -$$\ncount=0 -\node{q} -\node{\np 0}_{\rm K} -\node{p} -$$ +\noindent åæ§ã«ãã¦ï¼ã\IT{Np}ã®ä¸èº«ã®å é ããæå³ãã$\mibox{last}(\mibox{Np})$ãå®ç¾©ããï¼ +ã\IT{Np}ã¯ï¼å é ã$\mibox{head}(\mibox{Np})$ï¼ +æ«å°¾ã$\mibox{tail}(\mibox{Np})$ã§ãããããªåèªãã®ããã« +èãããã¨ãã§ããï¼ + +\medskip\noindent{\bf å®ç¾©}\quad +ã\IT{glyph\_node}~$h$ã®æ å ±ãç®åºãããã¨ã¯ï¼ +$h\neq\emptyset$ã®æã«ï¼ãã¼ãã«\IT{Np}ã« +以ä¸ã®ãããªè¦ç´ ã追å ãããã¨ã§ããï¼ + +\item \IT{.pre}: $h$ã®æåã³ã¼ãã«å¯¾ãã{\sf prebreakpenalty}ãã©ã¡ã¿ã®å¤ +\item \IT{.post}: $h$ã®æåã³ã¼ãã«å¯¾ãã{\sf postbreakpenalty}ãã©ã¡ã¿ã®å¤ +\item \IT{.xspc\_before}, \IT{.xspc\_after}: $h$ã®åå¾ã«|\xkanjiskip|ãæ¿å ¥å¯è½ã§ãããã® +æå®å¤ï¼ãã©ã¡ã¿{\sf jaxspmode}, {\sf alxspmode}ç±æ¥ï¼ +\item \IT{.auto\_xspc}: $h$ã§ã®{\sf autoxspacing}ãã©ã¡ã¿ã®å¤ \enditem -\beginparagraph ï¼åææåï¼kern以å¤ã®nodeï¼ã¨åææåã®é +$h$ãåææåãæ ¼ç´ãã¦ããå ´åã¯ï¼ããã«æ¬¡ã®è¦ç´ ã®è¿½å ä½æ¥ãå«ãï¼ -ãã®å ´åãï¼åºæ¬çã«ã¯ãåææåã®éãã¨ä¼¼ã¦ãããï¼ä»¥ä¸ãç°ãªãï¼ -\item $g$ã¯ï¼$p$ã®JFMã«ãããï¼ãæå|'jcharbdd'|ã¨$p$ãã®éã« -å ¥ãglue/kernã®å¤ã§ããï¼ -\item 常ã«$w=0$ã§ããï¼ -\item ãã¤ããã®ä½ç½®ã§è¡åå²ã§ããããã«ããããï¼ -case~6 ($w$, $P=0$, $g=\emptyset$) ã®å ´åã«ãï¼$q$ã¨$p$ã®éã«ã¯ -0ã¨ããå¤ã®penaltyãå ¥ãï¼ +\item \IT{.size}: $h$ã§ä½¿ããã¦ããåæãã©ã³ãã®ãã©ã³ããµã¤ãºï¼ +\item \IT{.met}, \IT{.var}: 使ããã¦ããJFMã®æ å ±ï¼ +\item \IT{.auto\_kspc}: {\sf autospacing}ãã©ã¡ã¿ã®å¤ï¼ \enditem -å³ã¡ï¼æ¬¡ã®3éãã«ãªãï¼ -\enum $g$: kernã®ã¨ã -$$\ncount=0 -\node{q} -\node{g}_{\rm J} -\node{p} -$$ +\beginparagraph å ¨ä½å³ -\enum $g$: glueã®ã¨ã -$$\ncount=0 -\node{q} -\node{\np P}_{\rm K} -\node{g}_{\rm J} -\node{p} -$$ +\enum å¤æ°é¡ã®åæå +\itemitem å¦ç対象ã段è½ã®ä¸èº«ï¼å¾ã§è¡åå²ãããï¼ã®å ´åï¼$\mibox{mode}\leftarrow\top$ +\itemT \IT{lp}ï¼nodeèµ°æ»ç¨ã«ã¼ã½ã«ï¼ã®åæä½ç½®ã¯ï¼ +ãªã¹ãå é é¨ã«ãã|\parindent|ç±æ¥ã®hboxã +local paragraphï¼$\Omega$ç±æ¥ï¼çã®æ å ±ãæ ¼ç´ããwhatsit nodeãã¡ãçµãã£ãæ +ï¼ã¤ã¾ãï¼æ®µè½æ¬æ¥ã®å é é¨åï¼ã¨ãªãï¼ +\itemT \IT{last}ï¼ãªã¹ãæ«å°¾ã®nodeï¼ãï¼ãªã¹ãã®æå¾é¨ã«æ¿å ¥ããã|\parfillskip|ç±æ¥ã®glue% +ãæãï¼ +\itemitem +å¦ç対象ãhboxã®ä¸èº«ã®å ´åï¼$\mibox{mode}\leftarrow\bot$ +\itemT \IT{lp}ã¯ãªã¹ãå é ï¼ +\itemT çªäººã¨ãã¦ï¼ãªã¹ãæ«å°¾ã«kernãæ¿å ¥ï¼\IT{last}ã¯ãã®kernã¨ãªãï¼ -\enum $g=\emptyset$ã®ã¨ã -$$\ncount=0 -\node{q} -\node{\np P}_{\rm K} -\node{p} -$$ -\enditem +\enum å é ã\IT{lp}以éã«ããå¡ã§ï¼ä¸çªæ©ããã®ã\IT{Np}ã«ã»ããããï¼ +\itemitem ä½æ¥ã®éä¸ã§$\mibox{lp}=\mibox{last}$ã¨ãªã£ããï¼å¦ç対象ã®ãªã¹ãã«å¡ã¯ãªãã®ã§ï¼8.ã¸ï¼ +\itemitem ããã§ãªããã°ï¼$\mibox{head}(\mibox{Np})$ã®æ å ±ãç®åºãã¦ããï¼ +\itemitem æ¬æ®µéçµäºå¾ï¼\IT{lp}ã¯\IT{Np.last}ã®æ¬¡ã®nodeã¨ãªãï¼ -\beginparagraph åææåã¨kernã®éï¼kernã¨åææåã®é -åææåã®å¾ã«kernãç¶ããå ´åï¼ãããã¯kernã®å¾ã«åææåãç¶ããå ´åï¼ -ãã®éã§è¡åå²ã¯ã§ããªããã®ã¨ãã¦ããï¼ãã®ããï¼ -以ä¸ã®3ã±ã¼ã¹ã«éãããï¼ -\enum $g$: kernã®ã¨ã -$$\ncount=0 -\node{q} -\node{g}_{\rm J} -\node{p} -$$ +\enum ({\tt handle\_list\_head}) +ãªã¹ãã«æåã«åºã¦ããå¡\IT{Np}ãæ±ã¾ã£ãã®ã§ï¼ãªã¹ããå é ãã¨ãã®å¡ã¨ã®éã«åæå¦çã°ã«ã¼ãæ¿å ¥ï¼ -\enum $g$: glueã®ã¨ã -$$\ncount=0 -\node{q} -\node{\np 10000}_{\rm K} -\node{g}_{\rm J} -\node{p} -$$ +\enum ä»ã®å¡\IT{Np}ã¨ï¼ãã®æ¬¡ã®å¡ã®éã«å ¥ãåæå¦çã°ã«ã¼ãæ±ããããï¼ +ä¸æ¦$\mibox{Nq}\leftarrow \mibox{Np}$ã¨ãã¦å¾ é¿ããï¼æ¬¡ã®å¡\IT{Np}ãæ¢ç´¢ããï¼ +\itemitem ä½æ¥ã®éä¸ã§$\mibox{lp}=\mibox{last}$ã¨ãªã£ããï¼\IT{Nq}ããªã¹ãä¸æå¾ã®å¡ã§ããã®ã§ï¼ +7.ã¸ï¼ +\itemitem ããã§ãªããã°ï¼$\mibox{head}(\mibox{Np})$ã®æ å ±ãç®åºãã¦ããï¼ +\itemitem æ¬æ®µéçµäºå¾ï¼\IT{lp}ã¯\IT{Np.last}ã®æ¬¡ã®nodeã¨ãªãï¼ -\enum $g=\emptyset$ã®ã¨ã -$$\ncount=0 -\node{q} -\node{p} -$$ -\enditem +\enum \IT{Nq}ã¨\IT{Np}ã®éã«åæå¦çã°ã«ã¼ãæ¿å ¥ããï¼\IT{Np.id}ã«ããå ´ååããè¡ãï¼ +ãmain loop ãã®\nobreak1,~2ããåç §ã®ãã¨ï¼ -ãªãï¼ããã§ã®$g$ã¯ï¼ -\item kernãåã ã£ãå ´åã¯ï¼ -$q$ã®JFMã«ãããï¼ã$q$ã¨|'jcharbdd'|ãã®éã« -å ¥ãglue/kernã®å¤ï¼ -\item kernãå¾ã ã£ãå ´åã¯ï¼ -$p$ã®JFMã«ãããï¼ã|'jcharbdd'|ã¨$p$ãã®éã« -å ¥ãglue/kernã®å¤ï¼ -\enditem +\enum \IT{Np}ãåä¸ã®æåã§ã¯ãªã{\small ï¼ååãªã©ï¼}å¯è½æ§ããã以ä¸ã®å ´åã«ããã¦ï¼ +$\mibox{tail}(\mibox{Np})$ã®æ å ±ãç®åºããï¼çµãã£ããï¼åã³ã«ã¼ãã«å ¥ãããï¼4.ã¸ï¼ -\beginparagraph è¦æ¤è¨ã®ç®æ -ç§ãæ¨æ¸¬ããã«ï¼æ¬§æã§ã¯ï¼ -\item åèªå ã§ã¯ãã©ã³ãã¯å¤ãããªãï¼ -\item åèªå ã§ã¯ï¼æ示çã«/ãã¤ããã¼ã·ã§ã³ã«ããæ¿å ¥ãããdiscretionary break以å¤ã§ã¯ -è¡åå²ããããªãï¼ +\itemitem \IT{id\_glyph}ï¼æ¬§ææåï¼ã®ã¨ã +\itemitem \IT{id\_disc} (discretionary break) ã®ã¨ã +\itemitem \IT{id\_hlist}ã®ã¨ã +\itemitem \IT{id\_pbox}ã®ã¨ã + +\enum ({\tt handle\_list\_tail}) +ãªã¹ãã®æå¾ã«ããå¡\IT{Nq}ãæ±ã¾ã£ãã®ã§ï¼ãã®å¡ã¨ãªã¹ããæ«å°¾ãã®éã«åæå¦çã°ã«ã¼ãæ¿å ¥ï¼ + +\enum $\mibox{mode}=\bot$ã®å ´åï¼çªäººã¨ãªãkernã1.ã«ããã¦æ¿å ¥ããã®ã§ï¼ãã®çªäººãåé¤ããï¼ + \enditem -ã¨ããäºæ ãããããï¼TFMç±æ¥ã®kernãååå¦çã¯ï¼nodeãçæããªããã®ä»¥å¤ã¯ï¼ -ä½ãééããªãã¨ããç¶æ ã«ãªã£ã¦ãããã®ã¨æããã¾ãï¼ -ãã®ããï¼JFMã°ã«ã¼çã®ä»æ§ãèããå ´åï¼æ¬§æã§ãããåèªãã«å¯¾å¿ãããããªãã®ã¯ -ä½ãï¼ã¨ããã®ãèããå¿ è¦ãããã¾ãï¼ç¾å®è£ ã§ã¯ï¼ç´ ç´ã«æ¬§æã®ååå¦çã¨åæ§ã®ãã®ã§ããã¨èãï¼ -ééããnodeã¯ãªãï¼ã¨ããä»æ§ã«ãã¦ãã¾ãï¼ -ãããï¼|\[x]kanjiskip|ã®å¦çã¨å ±éã«ãã¦ãã¾ãã¨ããã®ã -èãæ¹ã«ãã£ã¦ã¯ããããããã¾ããï¼ +\beginsection ãªã¹ãå é ã»æ«å°¾ã®å¦çã¨ãboxã®å 容ã -\bigskip -\item {\bf ã¤ã¿ãªãã¯è£æ£ã®kernã®å¨å²} +\beginparagraph ãªã¹ãå é ã®å¦ç ({\tt handle\_list\_head}) -ä¾ãã°ï¼|jfm-ujis.lua|ã§ã¯ï¼|'jcharbdd'|ã¯æåã¯ã©ã¹ -0ã§ããããï¼ä»ã®å®è£ ã§ã¯ï¼\hfil\break -ã|ï¼\/ï¼|ãã¨ããå ¥åããã¯ï¼æ¬¡ã®nodeã®ä¸¦ã³ãå¾ãï¼ -\setbox1=\hbox{|\/|}% -$$ -\node{\hbox{ï¼}} -\node{\np 10000}_{\rm K} -\node{\ng 0.5\z_{-0.5}}_{\rm J} -\node{\nk \copy1} -\node{\ng 0.5\z_{-0.5}}_{\rm J} -\node{\hbox{ï¼}} -$$ -ä¸æ¹ï¼ã¤ã¿ãªãã¯è£æ£ãJFMç±æ¥ã°ã«ã¼ãééããã¨ãããªãã°ï¼å½ç¶ +次ã®å ´åã«ï¼ +\IT{Np}ã§ä½¿ããã¦ããã®ã¨åãJFMã使ã£ããæåã³ã¼ãã{\tt 'boxbdd'}ã®æåã㨠+\IT{Np}ã¨ã®éã«å ¥ãglue/kernãï¼\IT{Np.first}ã®ç´åã«æ¿å ¥ããï¼ +\item $\mibox{Np.id}=\mibox{id\_jglyph}$ï¼åææåï¼ +\item $\mibox{Np.id}=\mibox{id\_pbox}$ã§ããï¼$\mibox{head}(\mibox{Np})$ãåææåã§ããã¨ãï¼ +\enditem $$ -\node{\hbox{ï¼}} -\node{\nk \copy1} -\node{\ng 0.5\z_{-0.5}} -\node{\hbox{ï¼}} +\vcenter{\halign{$\mibox{mode}=#$:\qquad\hfil&$#$\hfil\cr +\bot&\node{\kern-1em}\,\hbox{ï¼ãªã¹ãå é ï¼}\longrightarrow\cdots\node{g}_{15} +\node{\mibox{Np}}\cr +\top&\node{\hbox{{\tt\char92 parindent}ç±æ¥hbox}}\longrightarrow\cdots +\Bigl[\node{\np 10000}_{15}\Bigr]\node{g}_{15}\node{\mibox{Np}}\cr +}} $$ -ã¨ãªãï¼å®éã®çµçã¤ã¡ã¼ã¸ã§ã¯ï¼ -ã{\tenmini æãï¼}\hbox{}ï¼ãã{\tenmini æãï¼}ï¼ãï¼ï¼ã©ã¡ãã«ãããï¼ +ããã§ï¼$g$ãglueãã¤$\mibox{mode}=\top$ãã¤$\#\mibox{Bp}=0$ã®ã¨ãã®ã¿ï¼|\parindent|ç±æ¥ã®hboxã®ç´å¾ã§æ¹è¡ããããã¨ãé²ãããã« +$g$ã®ç´åã«penaltyãæ¿å ¥ããï¼{\small +ï¼$\#\mibox{Bp}$ã1以ä¸ã®å ´åã¯ï¼|\parindent|ã¨\IT{Np}ã®éã«ãã +penaltyã®ããï¼\IT{Np}ã®ç´åã§ã®æ¹è¡ãèµ·ããå¾ãç¶æ ã¨ãªã£ã¦ããã®ã§ï¼ +ç¹ã«ãããæå¶ãããã¨ãããªãï¼\inhibitglue}ï¼ + +\beginparagraph ãªã¹ãæ«å°¾ã®å¦ç ({\tt handle\_list\_tail}) +ãã®å ´åï¼\IT{mode}ã®å¤ã«ããå¦çãå ¨ãç°ãªãï¼ -\item {\bf penaltyã®å¨å²} +\noindent{\bf A: \IT{mode}ãå½ã§ããå ´åï¼} -ãããï¼ä¾ãã°æ¬¡ã®è¨å®ã®ä¸ã§ã¯ï¼ã|ï¼\penalty1701ï¼|ãããã¯ä»¥ä¸ãå¾ãï¼ -\itemitem ãï¼ãã¨è¡æ«ã®éã«$-0.5\z$ã ãkernãå ¥ããï¼ -\itemitem ãï¼ããï¼ãã®è¡é /è¡æ«ç¦åç¨penaltyã®å¤ã¯ã©ãã1000ï¼ +ãã®å ´åã¯ãªã¹ãã¯hboxã®ä¸èº«ã ããï¼è¡åå²ã¯ãããå¾ãªãï¼ +ãªã¹ãå é ã®å¦çã¨åæ§ã«ï¼ +次ã®å ´åã« +\IT{Nq}ã¨ãæåã³ã¼ãã{\tt 'boxbdd'}ã®æåã㨠+ã®éã«å ¥ãglue/kernãï¼\IT{Nq.last}ã®ç´å¾ã«æ¿å ¥ããï¼ +\item $\mibox{Nq.id}=\mibox{id\_jglyph}$ï¼åææåï¼ +\item $\mibox{Nq.id}=\mibox{id\_pbox}$ã§ããï¼$\mibox{tail}(\mibox{Nq})$ãåææåã§ããã¨ãï¼ +\enditem +$$ +\node{\mibox{Nq}}\node{g}_{15}\longrightarrow\cdots\node{\nk\hbox{ï¼çªäººï¼}} $$ -\halign{$#$\hfil&$#$\hfil&$#$\hfil&$#$\hfil&$#$\hfil\cr -\node{\hbox{ï¼}}&\ncount=1 -\node{\nk {-0.5}\z}_{\rm E}&\ncount=1 -\node{\np 1000}_{\rm K}&\ncount=1 -\node{\ng 1\z_{-0.5}}_{\rm J}\cr -&\ncount=1\node{\np 1701}&\ncount=1 -\node{\np 1000}_{\rm K}&\ncount=1 -\node{\ng 0.5\z_{-0.5}}_{\rm J}&\ncount=1 -\node{\hbox{ï¼}}\cr} +ä¸ã®çªäººã¯ï¼æ¬¡ã®stepã§é¤å»ãããã®ã ã£ãï¼ + +\medskip +\noindent{\bf B: \IT{mode}ãçã§ããå ´åï¼} + +ãã®å ´åï¼æ®µè½ã®æ«å°¾ã«ã¯å¸¸ã«|\penalty 10000|ã¨|\parfillskip|ç±æ¥ã®ã°ã«ã¼ãåå¨ããï¼ +ãã®ããï¼ä¸ã®ããã«ãæåã³ã¼ãã{\tt 'boxbdd'}ã®æåãã¨ã®ç©ºç½ãèããã®ã§ã¯ãªãï¼ +ã¾ãï¼\IT{Nq}ãè¡æ«ã«ããã¨ãã«è¡æ«ã¨ã®éã«å ¥ã空ç½$w$ã代ããã«æ¿å ¥ããï¼ +\item $\mibox{Nq.id}=\mibox{id\_jglyph}$ï¼åææåï¼ +\item $\mibox{Nq.id}=\mibox{id\_pbox}$ã§ããï¼$\mibox{tail}(\mibox{Nq})$ãåææåã§ããã¨ãï¼ +\enditem $$ -\leftskip2\zw -ä¾ãã°penaltyãåç®ãããã¨ã¨ããå ´åï¼ä¸ã®å ¥åä¾ã§ã¯æ¬æ¥ãï¼ããï¼ãã®éã« -1701ã®penaltyãããã®ã ããï¼ +\node{\mibox{Nq}}\node{\nk w}_{15}\node{\np10000}\longrightarrow\cdots +\node{\ng (\hbox{\tt\char92 parfillskip})} $$ -\halign{$#$\hfil&$#$\hfil&$#$\hfil&$#$\hfil&$#$\hfil&$#$\hfil\cr -\node{\hbox{ï¼}}&\ncount=1 -\node{\nk {-0.5}\z}_{\rm E}&\ncount=1 -\node{\np 3701}_{\rm K}&\ncount=1 -\node{\ng 0.5\z_{-0.5}}_{\rm J}&\ncount=1 -\node{\hbox{ï¼}}\cr -\node{\hbox{ï¼}}&\ncount=1 -\node{\nk {-0.5}\z}_{\rm E}&\ncount=1 -\node{\np 3701}_{\rm K}&\ncount=1 -\node{\ng 1\z_{-0.5}}_{\rm J}&\ncount=1 -\node{\ng 0.5\z_{-0.5}}_{\rm J}&\ncount=1 -\node{\hbox{ï¼}}\cr -} +次ã«ï¼|\jcharwidowpenalty|ã®æ¿å ¥å¦çãè¡ãâçç¥ï¼ + +\beginparagraph boxå ã®ãæå/æå¾ã®æåãã®æ¤ç´¢ ({\tt check\_box}) + +ãhboxã®ä¸ã®æåã¨å¤ã®æåã®éã«ã|\kanjiskip|, |\xkanjiskip|ã®æ¿å ¥ãè¡ããããã«ããããï¼ +{\tt check\_box}é¢æ°ã§ã¯hboxå ã®ãæåã®nodeããæå¾ã®nodeãã®æ¤ç´¢ãè¡ãï¼ + +\item 以ä¸ã®nodeã¯æ¤ç´¢ããé¤å¤ãããï¼ +\itemitem çµççµæããã¯æ¶ãã¦ãã¾ãï¼\IT{ins\_node}, +\IT{mark\_node}, \IT{adjust\_node}, \IT{whatsit\_node}, penaltyï¼ +\itemitem ï¼boxä¸èº«ã®å é /æ«å°¾ã«å ¥ã£ã¦ããï¼icflagã7ã®glue/kern/penaltyï¼ +\itemitem ã¢ã¯ã»ã³ãé¨ã¨ã¤ã¿ãªãã¯è£æ£ï¼ +\item \IT{hlist\_node}~$q$ã«åºä¼ã£ããï¼$q$ã®åç´å¤ä½éã0ã§ããéãï¼æ¤ç´¢ã¯$q$ã®å é¨ãé²ãï¼ä»¥ä¸åæï¼ +\item æ¤ç´¢ãã¦å¾ããããæåã®nodeããæå¾ã®nodeãããããã\IT{glyph\_node}ã§ãªããã°ï¼ +å®éã«ã¯$\emptyset$ãè¿ãï¼ +\enditem + +\vfill\eject +\beginsection main loop + +\beginparagraph ä¸è¦§è¡¨ + +\IT{Nq}, \IT{Np}ã®ç¨®é¡å¥ã«æ¿å ¥ãããglue/kernã®ç¨®å¥ã表ã«ããã¨æ¬¡ã®ããã«ãªãï¼ + +\def\;{\hskip0.25em}\ltjsetparameter{jacharrange={+1}} +\def\gkf#1#2#3#4#5{$\vcenter{\small\rm\halign{\hbox to 1em{\hss##\hss}\;\vrule&% +\hbox to 3em{\hss##\hss}&\vrule\;\hbox to 1em{\hss##\hss}\cr +#1\mathstrut&\omit\hfil #2\span\omit\cr\noalign{\hrule}#3\strut\cr}}$} +\setbox1=\hbox{\gkf{E}{MâK}{â}{nor}{â}} +\setbox2=\hbox to 0.4pt{\vrule height\dimexpr \ht1+0.5em\relax depth \dimexpr \dp1\relax} +$$\def\:{\hskip0.5em}\lineskiplimit=\maxdimen\lineskip=0pt +\vcenter{\halign{\hfil#\hfil\hskip1em\copy2% +\:&\:\hfil#\hfil\:&\:\hfil#\hfil\:&\:\hfil#\hfil\:&\:\hfil#\hfil% +\:&\:\hfil#\hfil\:&\:\hfil#\hfil\:&\:\hfil#\hfil\:&\:\hfil#\hfil\cr +\raise0.5em\hbox{$\vcenter{\hbox{\IT{Nq}â}\smallskip\hbox{\IT{Np}â}}$}% +&åæ1&åæ2&欧æ&ç®±&id\_glue&id\_kern\cr +\noalign{\hrule} +åæ1& +\gkf{E}{MâK}{â}{nor}{â}& +\gkf{}{$\rm O_A$âK}{Ã}{nor}{â}& +\gkf{}{$\rm O_A$âX}{â}{nor}{â}& +\gkf{}{$\rm O_A$}{---}{all}{â}& +\gkf{}{$\rm O_A$}{---}{nor}{â}& +\gkf{}{$\rm O_A$}{---}{sup}{â}\cr +åæ2& +\gkf{E}{$\rm O_B$âK}{â}{nor}{Ã}& +\gkf{}{K}{Ã}{sup}{Ã}& +\gkf{}{X}{â}{sup}{Ã}\cr +欧æ& +\gkf{E}{$\rm O_B$âX}{â}{nor}{â}& +\gkf{}{X}{â}{sup}{Ã}\cr +ç®±&\gkf{E}{$\rm O_B$}{â}{alw}{---}\cr +\IT{id\_glue}&\gkf{E}{$\rm O_B$}{â}{nor}{---}\cr +\IT{id\_kern}&\gkf{E}{$\rm O_B$}{â}{sup}{---}\cr +}}$$ + +\item {\bf é ç®å}\quad 表1è¡ç®ã®\IT{Nq}ã®ç¨®é¡ã«ã¤ãã¦èª¬æããï¼\IT{Np}ã«ã¤ãã¦ãåæ§ï¼ +\itemitem ãåæ1ãï¼ãªã¹ãä¸ã«ç´æ¥åºç¾ãã¦ããåææåï¼ +\itemT $\mibox{Nq.id}=\mibox{id\_jglyph}$ã§ãã£ãã¨ãï¼ +\itemT $\mibox{Nq.id}=\mibox{id\_pbox}$ãã¤$\mibox{last}(\mibox{Nq})$ãåææåã§ãã£ãã¨ãï¼ +\itemitem ãåæ2ãï¼ãªã¹ãå ã«ããhboxã®ä¸èº«ã¨ãã¦åºç¾ããåææåï¼ããªãã¡ï¼ +$\mibox{Nq.id}=\mibox{id\_hlist}$ã㤠+$\mibox{last}(\mibox{Nq})$ãåææåã§ãã£ãã¨ãï¼ +\itemitem ã欧æãï¼$\mibox{last}(\mibox{Nq})$ã欧ææåã§ãã£ãã¨ãï¼å³ã¡ï¼ +\itemT ãªã¹ãä¸ã«ç´æ¥åºç¾ãã¦ããã¨ãï¼$\mibox{Nq.id}=\mibox{id\_jglyph}$ or~% +$\mibox{Nq.id}=\mibox{id\_pbox}$ãã¤$\mibox{last}(\mibox{Nq})$ã欧ææåï¼ï¼ +\itemT $\mibox{Nq.id}=\mibox{id\_hlist}$ã㤠+$\mibox{last}(\mibox{Nq})$ã欧ææåã§ãã£ãã¨ãï¼ +\itemT $\mibox{Nq.id}=\mibox{id\_math}$ã§ãã£ãã¨ãï¼ +\itemitem ãç®±ãï¼åå¾ã«åæå¦çã°ã«ã¼ãæ¿å ¥ãããªãç¨ãªboxç¶ã®nodeï¼ +\itemT $\mibox{Nq.id}=\mibox{id\_list}$ã㤠+$\mibox{last}(\mibox{Nq})$ãæåã§ãªãã£ãï¼æªå®ç¾©ï¼ã ã£ãã¨ãï¼ +\itemT $\mibox{Nq.id}=\mibox{id\_box\_like}$ã®ã¨ãï¼ +\itemitem ã\IT{id\_glue}ãï¼ãã®ã¾ã¾ï¼$\mibox{Nq.id}=\mibox{id\_glue}$ã§ãã£ãã¨ãï¼ +\itemitem ã\IT{id\_kern}ãï¼ãã®ã¾ã¾ï¼$\mibox{Nq.id}=\mibox{id\_kern}$ã§ãã£ãã¨ãï¼ + +\item 表ä¸ã®åã»ã«ã¯ï¼ãããã次ã®ãããªå 容ã表ãã¦ããï¼ +$$\vcenter{\rm\halign{\hbox to 3em{\hss#\hss}\;\vrule&% +\hbox to 3.5em{\hss#\hss}&\vrule\;\hbox to 3em{\hss#\hss}\cr +左空ç½\mathstrut&\omit\hfil å³ç©ºç½\span\omit\cr\noalign{\hrule}L&Påæ±\strut&R\cr}}$$ + +\itemitem ã左空ç½ãï¼\IT{Nq}ã®ç´å¾ã«æ¿å ¥ããã空ç½ã®ç¨®é¡ï¼ç©ºæ¬ã¯ï¼ä½ãå ¥ããªããã¨ã表ãï¼ +\itemitem ãå³ç©ºç½ãï¼\IT{Np}ã®ç´åã«æ¿å ¥ããã空ç½ã®ç¨®é¡ï¼ + +ãªãï¼ãAâBãã¯ï¼ã¾ãAã®ç¨®é¡ã®glue/kernã調ã¹ï¼ãããæªå®ç¾©ãªãã°ï¼ +Bã®ç¨®é¡ã®glue/kernãæ¡ç¨ãããã¨ã示ãã¦ããï¼ãã®ã¨ãï¼ç¢å°ã®å³å´ã«å ¥ã空ç½% +(K, X)ã¯ãã¤ã§ãå®ç¾©ããã¦ãããã¨ã«æ³¨æï¼ + +\itemitem ãPåæ±ãï¼\IT{Nq}ã¨\IT{Np}ã®éã«å ¥ãç¦åç¨ããã«ãã£ã®åæ±ã®æ¹æ³ã表ãï¼ +\IT{Nq}ã¨\IT{Np}ã®éã§å¸¸ã«è¡åå²ã許ããã«ä¼´ãï¼ +{\bf nor}mal, {\bf alw}ays, {\bf sup}pressã®3種é¡ãããï¼ +\itemitem ãLããRãï¼ç¦åç¨ããã«ãã£ã®æ¿å ¥å¦çã«ããã¦ï¼ +\IT{Nq.post}~(L)ã\IT{Np.pre}~(R)ã®å¤ãå®éã«æ´»ç¨ãããã©ããã示ãï¼å¤ã¯æ¬¡ã®3種é¡ï¼ $$ -ã®ã©ã¡ããï¼ä¸ã¯penaltyãééããå ´åï¼ä¸ã¯ééããªãå ´åï¼ã«ããã®ã -è¯ãã¨æããã¾ãï¼ +\hbox{âï¼å©ç¨ããï¼ï¼Ãï¼å©ç¨ããï¼0ã¨ãã¦æ±ãï¼ï¼---ï¼æªå®ç¾©ã®ãã0æ±ãï¼}$$ +\enditem -\item {\bf discretionary breakã®åãæ±ã} +\beginparagraph æ¿å ¥ãããglue/kernã®ç¨®é¡ -discretionary break ({\it disc\_node})ã¯ï¼è¡åå²æã®è¡æ«ã®å 容
ï¼ -è¡é ã®å 容ï¼ããã«è¡åå²ããªãã¨ãã®å 容 ã®3ã¤ããªã¹ãã®å½¢ã§ -æã£ã¦ããï¼|linebreak.w|ãè¦ãéãï¼Lua\TeX ã§ã ,, ã® -ä¸èº«ã«ã¯glueãpenaltyã許容ãã¦ããªãããã ï¼ +åç¯ã®è¡¨ã«ãã空ç½ã®ç¨®é¡ã«ã¤ãã¦ã®è§£èª¬ãè¡ãï¼ -ç¾è¡ã®å®è£ ã§ã¯ï¼ ,, ã®ã©ããï¼åæãã©ã³ãã¸ã®ç½®æã® -段éãããã¦è¡ããã¦ããªãï¼ã ããä¸èº«ã¯å ¨é¨æ¬§ææ±ãã¨ãªãï¼ï¼ -{\small åç´ã«ãµãã£ã¦ãã¾ãã|^^;|} - ,, ã®ä¸èº«ã«glueãpenaltyã許容ãããªããã¨ããï¼ -ãããã«å¯¾ããåæç¨å¦çã®æ¹æ³ã¨ãã¦ï¼æ¬¡ã®2種é¡ãæããããï¼ -ç§ã¯åè ã§è¯ãã®ã§ã¯ãªããã¨æã£ã¦ããã®ã ãâ¦â¦ï¼ -\itemitem ï¼ç¾è¡ã®ã¾ã¾ï¼discretionary breakã®ä¸èº«ã«åææåã¯ãªããã®ã¨æ³å®ããï¼ -ä¾ãã° ã®ä¸èº«ã«åææåãå ¥ãããå ´åã¯ï¼ã®ä¸èº«å ¨ä½ã -å¿ ãhboxã§æ¬ããã¨ã¨ããï¼ -\itemitem ãglueãæ¿å ¥ããå ¨é¨ãèªç¶é·ã ããåãåºããkernãæ¿å ¥ãã«ç½®ãæãï¼ -æ®æ®µã®åæå¦çã°ã«ã¼æ¿å ¥å¦çãæµç¨ããï¼ +\item E: \IT{Nq}ãè¡æ«ã«ããã¨ãï¼ +\IT{Nq}ã¨è¡æ«ã®éã«å ¥ãç©ºç½ (kern)ï¼æ¿å ¥ä½ç½®ã¯\IT{Nq.last}ã®ç´å¾ï¼ +\itemitem JFMã§ã¯ãæåã³ã¼ã|'lineend'|ã®æåãã¨ã®éã«å ¥ãkernéã¨ãã¦è¨å®ã§ããï¼ +\itemitem å³ç©ºç½ãkernã§ããã¨ãã¯æ¿å ¥ãããªãï¼ +\itemitem ãã®ç¨®é¡ã®kernãæ¿å ¥ãããæï¼å³ç©ºç½ã¯èªç¶é·ãEã®åã ãå¼ãããï¼ + +\item M: \IT{Nq}ã¨\IT{Np}ã®éã«å ¥ãJFMç±æ¥ã®glue/kernï¼ +\itemitem \IT{Nq}, \IT{Np}ã®éã§|\inhibitglue|ãçºè¡ããå ´åï¼æ¿å ¥ã¯ææ¢ãããï¼ +\itemitem 両æ¹ã®å¡ã§ä½¿ããã¦ããJFMãï¼ãµã¤ãºãããã¦ï¼çããå ´åã¯ï¼ä¸¡è ã§ä½¿ããã¦ãã +JFMã®æ å ±ããã®ã¾ã¾å©ç¨ã§ããã®ã§ï¼éã®æ±ºå®ã¯å®¹æãï¼ +\itemitem ããã§ãªããã°ï¼ã¾ã +$$ +\vcenter{\halign{\hfil$#:={}$&(\inhibitglue#\inhibitglue)\cr +gb&\IT{Nq}ã¨ãæåã³ã¼ãã|'diffmet'|ã®æåãã¨ã®éã«å ¥ãglue/kern\cr +ga&ãæåã³ã¼ãã|'diffmet'|ã®æåãã¨\IT{Np}ã¨ã®éã«å ¥ãglue/kern\cr +}} +$$ +ã¨ãã¦2ã¤ã®éãè¨ç®ï¼å°ãªãã¨ãçæ¹ãæªå®ç¾©ã®å ´åã¯ï¼ããçæ¹ã®å¤ãç¨ããï¼ +ããã§ãªããã°ï¼ä¸¡è ã®å¤ããèªç¶é·ï¼ä¼¸ã³éï¼ç¸®ã¿éãã¨ã«è¨ç® +ï¼æ¹æ³ã¨ãã¦ï¼å¹³åï¼åï¼å¤§ããæ¹ï¼å°ããæ¹ï¼ãè¡ãï¼ããã«ãã£ã¦å¾ãããglue/kernãæ¡ç¨ããï¼ +\item K: |\kanjiskip|ã表ãglueãæ¿å ¥ï¼$\emptyset$ã«ã¯ãªããªãï¼ï¼ +\itemitem 両æ¹ã®å¡ã«ããã¦ã|\kanjiskip|ã®èªåæ¿å ¥ãç¡å¹ã + ($\mibox{Nq.auto\_kspc}\vee \mibox{Np.auto\_kspc}=\bot$) ãªãã°ï¼é·ã0ã®glueãæ¿å ¥ããï¼ +\itemitem {\sf kanjiskip}ãã©ã¡ã¿ã®èªç¶é·ã$\hbox{\tt\char92maxdimen}=(2^{30}-1)\,{\rm sp}$㧠+ããã°ï¼ +JFMã«æå®ããã¦ãã|\kanjiskip|ã®éãç¨ããï¼\IT{Nq}, \IT{Np}ã§ä½¿ããã¦ããJFMãç°ãªã£ãæã®å¦çã¯ï¼ +Mã®å ´åã¨åãã§ããï¼ +\itemitem ä¸ã®ã©ãã«ãå½ã¦ã¯ã¾ããªããã°ï¼{\sf kanjiskip}ãã©ã¡ã¿ã§è¡¨ãããéã®glueãæ¿å ¥ããï¼ +\item X: |\xkanjiskip|ã表ãglueãæ¿å ¥ï¼$\emptyset$ã«ã¯ãªããªãï¼ï¼ +\itemitem 次ã®ããããã®å ´åã«ã¯ï¼|\xkanjiskip|ã¯é·ã0ã®glueã¨ãªãï¼ +\itemT 両æ¹ã®å¡ã«ããã¦ï¼ã|\xkanjiskip|ã®èªåæ¿å ¥ãç¡å¹ãã¨ããæå® +($\mibox{Nq}.\mibox{auto\_xspc}\vee \mibox{Np}.\mibox{auto\_xspc}=\bot$) +ãããã¦ããå ´åï¼ +\itemT \IT{Nq}å ã®æåã«ã¤ãã¦ãç´å¾ã¸ã®|\xkanjiskip|æ¿å ¥ãç¡å¹ãã§ãã£ãå ´åï¼å³ã¡ +$\hbox{\sf alxspmode}\ge 2$ï¼æ¬§æï¼ã$\hbox{\sf jaxspmode}\equiv0\pmod2$ï¼åæï¼ï¼ +\itemT \IT{Np}å ã®æåã«ã¤ãã¦ãç´åã¸ã®|\xkanjiskip|æ¿å ¥ãç¡å¹ãã§ãã£ãå ´åï¼å³ã¡ +$\hbox{\sf alxspmode}\equiv0\pmod2$ï¼æ¬§æï¼ã$\hbox{\sf jaxspmode}\ge2$ï¼åæï¼ï¼ +\itemitem {\sf xkanjiskip}ãã©ã¡ã¿ã®èªç¶é·ã|\maxdimen|ã§ããã°ï¼ +$\mibox{last}(\mibox{Nq})$, $\mibox{head}(\mibox{Np})$ã®çæ¹ãåææåã§ããã®ã§ï¼ +ããã§ä½¿ããã¦ããJFMã§æå®ããã¦ãã|\xkanjiskip|ã®éãç¨ãã +ï¼JFMã§æå®ããã¦ããªããã°é·ã0ã®glueã¨è¦ãªãããï¼ï¼ +\itemitem ä¸ã®ã©ãã«ãå½ã¦ã¯ã¾ããªããã°ï¼{\sf xkanjiskip}ãã©ã¡ã¿ã§è¡¨ãããéã®glueãæ¿å ¥ããï¼ +\item $\rm O_B$: \IT{Nq}ã¨ãæåã³ã¼ãã|'jcharbdd'|ã®æåãã¨ã®éã«å ¥ãglueï¼ +Mã®ããªã¨ã¼ã·ã§ã³ã¨èããã°ããï¼åãããã«|\inhibitglue|ã®æå®ã§ææ¢ãããï¼ +\item $\rm O_A$: ãæåã³ã¼ãã|'jcharbdd'|ã®æåãã¨\IT{Np}ã¨ã®éã«å ¥ãglueï¼ +Mã®ããªã¨ã¼ã·ã§ã³ã¨èããã°ããï¼åãããã«|\inhibitglue|ã®æå®ã§ææ¢ãããï¼ \enditem -\beginsection {\tt \char"5C[x]kanjiskip}ã®æ¿å ¥%" -ç¾å®è£ ã®|\[x]kanjiskip|ã®æ¿å ¥ã®æ¹éã¨ãã¦ï¼ -\item JFMã°ã«ã¼ãæ¿å ¥ããã¦ããªãã¨ããã«ãæ¨æºã®ç©ºãéãã¨ãã¦æ¿å ¥ããï¼ -\item å®éã®æ®µè½/hboxã®å 容ã«å³ãã¦ï¼çµçã¤ã¡ã¼ã¸ã®è¦ãç®ã«é¢ä¿ã®ãªãã¨ããã¯ééããï¼ -\enditem +\beginparagraph penaltyã¾ããã®å¦ç -|\[x]kanjiskip|æ¿å ¥å¦çã§ã¯ï¼æ¬¡ã®3ã¤ã®nodeãç¨ãã¦ããï¼ -$$\ncount=0 -\node{\it nr}\longrightarrow\cdots -\node{\it nq}\longrightarrow\cdots -\node{\it np} +é£ãåã£ãå¡\IT{Nq}, \IT{Np}ã®éã«ã¯ï¼éå\IT{Bp}ã§è¡¨ããã0å以ä¸ã®penaltyãããã®ã ã£ãï¼ $$ -\item $\it nr$ã¨$\it np$ã®éã«|\[x]kanjiskip|ãæ¿å ¥ãããã¨ããï¼ -\item å®éã«nodeã®å½¢ã§æ¿å ¥ãããã¨ããå ´æã¯$\it nq$ã®ç´å¾ã§ããï¼ -\item $\it nr$, $\it nq$ã¯ç°ãªãnodeã¨ã¯éããªãï¼ -\item $\it np$ã¯ãªã¹ãã®å é ããæ«å°¾ã¾ã§ã«ã¼ãã§æ¸¡ãï¼ãã®éç¨ã§ -$\it nr$, $\it nq$ãé©å®æ´æ°ãï¼å®éã®nodeæ¿å ¥å¦çãè¡ã£ã¦ããï¼ +\node{\mibox{Nq}} +\Bigl[\node{\hbox{E}}_4\Bigr] +\longrightarrow\cdots +\hbox{ï¼penaltyããå¯è½æ§ããï¼}\cdots +\Bigl[\node{\hbox{M, K, Xä»}}_{3,\,5,\,6}\Bigr] +\node{\mibox{Np}} +$$ +ç¦åå¦çã«é¢ä¿ããpenaltyã®æ¿å ¥å¦çã¯ï¼ä»¥ä¸ã«è¿°ã¹ãã¨ããé¨åã¯å ±éã®åä½ã§ããï¼ + +\medskip +$\#\mibox{Bp}\ge 1$ã®å ´åã«ã¯ï¼{\bf å ¨ã¦ã®}\IT{Bp}ã®å $p$~(penalty)ã«å¯¾ãã¦æ¬¡ãè¡ãï¼ +$$p.\mibox{penalty}\mathrel{+}=a,\qquad a:=\mibox{Nq.post}+\mibox{Np.pre}.$$ +\item +å ¨ã¦ã®\IT{Bp}ã®å ã«å¯¾ãã¦è¡ãã®ã¯ï¼ +å®éã«ã¯ã©ã®penaltyã®ä½ç½®ã§è¡åå²ãè¡ãããããããããªãããã§ããï¼ +\item æ°ãã¼ã¸åã®è¡¨ã§ï¼å·¦ä¸ããÃã or ã---ãã¨ãªã£ã¦ããå ´åã¯ï¼ä¸ã®è¨ç®å¼ã«ãã㦠+\IT{Nq.post}ã¯0ã¨æ±ãããï¼å³ä¸ããÃã or ã---ããªãï¼\IT{Np.pre}ã0ã¨æ±ãããï¼ +\item penaltyå¤ã®è¨ç®ã§ã¯ï¼$+10000$ã¯æ£ã®ç¡é大ï¼$-10000$ã¯è² ã®ç¡é大ã¨ãã¦æ±ã£ã¦ããï¼ +ãã®ããï¼$a$ã®è¨ç®ã$p.\mibox{penalty}$ã¸ã®å ç®ä»£å ¥ã®ã¨ããã§ã¯ï¼ +é常ã®å æ¸ç®ã§çµ¶å¯¾å¤ã10000ãè¶ãããåã¯ã«ãããï¼ããã«$(10000)+(-10000)=0$ã¨ãã¦ããï¼ \enditem -ã«ã¼ãã®ä¸ã§ï¼ä»¥ä¸ã®å ´åã«ã¯$\it nr$ã¯å¤åããï¼${\it nq}\leftarrow {\it np}$ã¨ãªãï¼ -ã¤ã¾ãï¼ãããã®nodeã«å¯¾ãã¦|\[x]kanjiskip|ã¯ééããï¼ -\item $\it np$ãpenaltyã®å ´å -\item $\it np$ãkernã§ãã£ã¦ï¼äºåç¥èã®é ç®ã§è¿°ã¹ãããå¤ã +$\#\mibox{Bp}=0$ã®å ´åãï¼penaltyæ¿å ¥ã®3種é¡ã®æ¹æ³ãnormalããalwaysããsuppressã㧠+ç°ãªãé¨åã§ããï¼ + +\item {\bfãnormalãã®å ´åï¼} +次ã®å ´åã«ï¼$p.\mibox{penalty}=a$ã§ããpenalty~$p$ãä½æãï¼ +ãããï¼M, Kä»ã®glueæ¿å ¥åã«ï¼\IT{Np.first}ã®ç´åã«æ¿å ¥ããï¼ $$ -\hbox{I (ã¤ã¿ãªãã¯è£æ£ï¼ï¼Eï¼è¡æ«ã¨ã®éï¼ï¼Tï¼ä¸æçï¼} +\hbox{左空ç½ï¼Eï¼ãåå¨ãã¦ãããï¼$a\neq 0$ãã¤å³ç©ºç½ãkernã§ããï¼} $$ -ã§ãããã®ï¼å¾è 2ã¤ã¯JFMã°ã«ã¼ã®æ¿å ¥ã§å ¥ããã®ãªã®ã§ï¼ -ã¦ã¼ã¶ã¯ãã¤ã¿ãªãã¯è£æ£ã¯ééãã¨èããã°ããï¼ -\item $\it np$ãã¢ã¯ã»ã³ãç±æ¥ã®ãã®ï¼ãã®å ´åã¯ï¼$\it nq$ã¯å¤åããï¼ -${\it np}\leftarrow {\it next}({\it next}({\it np}))$ã¨ãªãï¼ -\item $\it np$ãinsertion, mark, |\vadjust|, whatsitã®nodeã§ããå ´åï¼ -ãããã¯æ°´å¹³ãªã¹ãããã¯æ¶ãå»ãéå½ã«ããï¼ +\item {\bfãalwaysãã®å ´åï¼} +ãã®å ´åã¯ï¼\IT{Nq}, \IT{Np}ã®éã§å¸¸ã«è¡åå²å¯è½ã«ãããã®ã§ï¼æ¿å ¥ããæ¡ä»¶ã¯ä»¥ä¸ã®ããã«ãªãï¼ +$$ +\hbox{左空ç½ï¼Eï¼ãåå¨ãã¦ãããï¼å³ç©ºç½ãglueã§ãªãï¼ã¤ã¾ãï¼kernãæªå®ç¾©ã®ã¨ãï¼ï¼} +$$ + +\item {\bfãsuppressãã®å ´åï¼}ãã®ã¨ãï¼\IT{Nq}ã¨\IT{Np}ã®éã§ã®è¡åå²ã¯å ã ä¸å¯è½ã§ããï¼ +Lua\TeX-ja ã§ã¯ï¼ãã®ãããªå ´åããããããè¡åå²å¯è½ã«ããããã¨ã¯ããªãï¼ +ã¤ã¾ãï¼å³ç©ºç½ãglueã§ããã¨ãï¼ãã®ç´åã«|\penalty 10000|ãæ¿å ¥ããï¼ \enditem +\beginparagraph ããã¤ãã®ä¾ï¼æªå® + +\beginsection main loop ãã®2: ãã®ä»ã®å ´å + +\setbox1=\hbox{hp}\setbox2=\hbox to 0.4pt{\vrule height\dimexpr \ht1+0.25em\relax depth \dimexpr \dp1+0.25em\relax} +$$\def\:{\hskip0.5em}\lineskiplimit=\maxdimen\lineskip=0pt +\vcenter{\halign{\hfil\IT{#}\hfil\hskip1em\copy2% +\:&\:\hfil\IT{#}\hfil\:&\:\hfil\IT{#}\hfil\:&\:\hfil\IT{#}\hfil\:&\:\hfil\IT{#}\hfil% +\:&\:\hfil\IT{#}\hfil\:&\:\hfil\IT{#}\hfil\:&\:\hfil\IT{#}\hfil\:&\:\hfil\IT{#}\hfil\cr +\IT{Np}â&&id\_hlist éæå\cr +\IT{Nq}â&$\mibox{head}(\mibox{Nq})$\rm: 欧æ&id\_box\_like&id\_glue&id\_kern\cr +\noalign{\vskip.25em\hrule\vskip.25em} +id\_jglyph&\rm E${}+{}$({\rm $\rm O_B$âX})&\rm E${}+\rm O_B^*$&\rm E${}+\rm O_B$&\rm E${}+\rm O_B^+$\cr +id\_pbox å&\rm E${}+{}$({\rm $\rm O_B$âX})&\rm E${}+\rm O_B^*$&\rm E${}+\rm O_B$&\rm E${}+\rm O_B^+$\cr +id\_hlist å&\rm X${}^+$&---&---&---\cr +ä»&---&---&---&---\cr +}}$$ + \end