X-Git-Url: http://git.osdn.jp/view?a=blobdiff_plain;f=test%2Ftest51-vtest.tex;h=e440988e9887d399bbcc5e1db269ef792ded343f;hb=eb118f3e5ea0852407b5261817700401699528b9;hp=77ba553bb1e76a32336f9a8acabe78f125fdc7e7;hpb=72dd4273df6e03d84f45bb73e10c827d5742e0bd;p=luatex-ja%2Fluatexja.git diff --git a/test/test51-vtest.tex b/test/test51-vtest.tex index 77ba553..e440988 100644 --- a/test/test51-vtest.tex +++ b/test/test51-vtest.tex @@ -1,9 +1,10 @@ -%#!luatex +%#!luajittex \directlua{luatexja_debug = 1} \input luatexja.sty %\input lua-visual-debug.sty + \catcode`\@=11 \newdimen\@tempdima \newbox\@tempboxa @@ -43,57 +44,176 @@ \kern-.15em% \TeX} -\tentgt +\tentgt\hfuzz10000pt\relax\vfuzz10000pt + +\def\H{\vrule width 2pt height 10pt depth 0pt% +\vrule width 4pt height 0pt depth 4pt} +\message{^^JTATE, DTOU, UTOD IN YOKO (HMODE))^^J} +\yoko +\hbox{\yoko + 横水平\H\vrule\hbox{\yoko 横水平\H }\vrule かき◆ + \vrule\hbox{\tate 縦水平\H }\message{HOGE}◆おおおお\vrule + \vbox{\yoko\hsize=30mm 横垂直\H ああああああああああ\hfill\H}かき◆% + \vrule + \vbox{\tate\hsize=30mm 縦垂直\H ああああああああああ\hfill\H}% + \vrule ◆ああああ +} +\hbox{\yoko\vrule + 横水平\H\vrule\hbox{\dtou 下水平\H }\vrule ◆おおおお + \H\vrule + \vbox{\dtou\hsize=30mm 下垂直\H ああああああああああ\hfill\H}% + \vrule かき◆ +} +\hbox{\yoko\vrule + 横水平\H\vrule\hbox{\utod 上水平\H }\vrule ◆おおおお + \H\vrule + \vbox{\utod\hsize=30mm 上垂直\H ああああああああああ\hfill\H}% + \vrule かき◆ +} \hbox{\yoko -横水平Hxy\hbox{\yoko 横水平Hxy}かき◆ -\hbox{\tate 縦水平Hxy}◆おおおお -\vbox{\yoko\hsize=30mm 横垂直Hxyああああああああああ}かき◆ -\vbox{\tate\hsize=30mm 縦垂直Hxy\hfill ああ\break ああああああああ}◆ああああ + ああ\setbox0=\vtop{\yoko\hsize=30mm \ifhmode\message{H}\else\message{V}\fi 横垂直\H ああああああああああ\hfill\H}% +% {\tracingonline1\showboxdepth2\showboxbreadth100\showbox0}% + かき◆\copy0 ◆ } + \vfill\eject + +\message{^^JYOKO, DTOU, UTOD IN TATE (HMODE)^^J} +\leavevmode \hbox{\tate -縦水平Hxy\hbox{\yoko 横水平Hxy}かき◆ -\hbox{\tate 縦水平Hxy}◆おおおお -\vbox{\yoko\hsize=30mm 横垂直Hxyああああああああああ}かき◆ -\vbox{\tate\hsize=30mm 縦垂直Hxy\hfill ああ\break ああああああああ}◆ああああ} +縦水平\H\vrule \hbox{\yoko 横水平\H }\vrule かき◆\vrule +\hbox{\tate 縦水平\H }\vrule◆おおおお\H\vrule +\vbox{\yoko\hsize=30mm 横垂直\H ああああああああああ\hfill\H}\vrule +かき◆\H\vrule +\vbox{\tate\hsize=30mm 縦垂直\H ああああああああああ\hfill\H}\vrule +◆ああああ} +\hbox{\tate +縦水平\H\vrule\hbox{\dtou 下水平\H }\vrule ◆おおおお\H\vrule +\vbox{\dtou\hsize=30mm 下垂直\H ああああああああああ\hfill\H}% +\vrule\H ◆ああああ} +\hbox{\tate +縦水平\H\vrule\hbox{\utod 上水平\H }\vrule ◆おおおお\H\vrule +\vbox{\utod\hsize=30mm 上垂直\H ああああああああああ\hfill\H}% +\vrule\H ◆ああああ} +\vfill\eject +\message{^^JYOKO, TATE, DTOU,IN UTOD (HMODE)^^J} +\leavevmode +\hbox{\utod +上水平\H\vrule \hbox{\yoko 横水平\H }\vrule かき◆\vrule +\hbox{\tate 縦水平\H }\vrule◆おおおお\H\vrule +\vbox{\yoko\hsize=30mm 横垂直\H ああああああああああ\hfill\H}\vrule +かき◆\H\vrule +\vbox{\tate\hsize=30mm 縦垂直\H ああああああああああ\hfill\H}\vrule +◆ああああ} +\hbox{\utod +上水平\H\vrule\hbox{\dtou 下水平\H }\vrule ◆おおおお\H\vrule +\vbox{\dtou\hsize=30mm 下垂直\H ああああああああああ\hfill\H}% +\vrule\H ◆ああああ} +\hbox{\utod +上水平\H\vrule\hbox{\utod 上水平\H }\vrule ◆おおおお\H\vrule +\vbox{\utod\hsize=30mm 上垂直\H ああああああああああ\hfill\H}% +\vrule\H ◆ああああ} \vfill\eject +\message{^^JYOKO, TATE, UTOD IN DTOU (HMODE)^^J} +\leavevmode +\hbox{\dtou +下水平\H\vrule\hbox{\yoko 横水平\H }\vrule かき◆\H\vrule +\hbox{\tate 縦水平\H }\vrule ◆おおおお\H\vrule +\vbox{\yoko\hsize=30mm 横垂直\H ああああああああああ\hfill\H}% +\vrule かき◆あおう\H\vrule +\vbox{\tate\hsize=30mm 縦垂直\H ああああああああああ\hfill\H}% +\vrule ◆ああああ +} +\hbox{\dtou +下水平\H\vrule\hbox{\dtou 下水平\H }\vrule◆おおおお\vrule +\vbox{\dtou\hsize=30mm 下垂直\H ああああああああああ\hfill\H}% +\vrule ◆ああああ} +\hbox{\dtou +下水平\H\vrule\hbox{\utod 上水平\H }\vrule◆おおおお\vrule +\vbox{\utod\hsize=30mm 上垂直\H ああああああああああ\hfill\H}% +\vrule ◆ああああ} + + +\vfill\eject + + +\message{^^JTATE, DTOU IN YOKO (VMODE)^^J} \setbox0=\vbox{\yoko\hsize=100mm -横垂直Hxy\hbox{\yoko 横水平Hxy}かき◆ -これは,意味のないサンプルテキストです. -\hbox{\tate 縦水平Hxy}◆おおおお +横垂直\H\vrule \hbox{\yoko 横水平\H }\vrule\H かき◆ これは,意味のないサンプルテキストです. -\vbox{\yoko\hsize=50mm 横垂直Hxyあああああああああああああああああああ}かき◆ +\vrule\hbox{\tate 縦水平\H }\vrule\H おおおお +これは,意味のないサンプルテキストです.\vrule +\vbox{\yoko\hsize=50mm 横垂直\H ああああああああああ% + あああああああああ\hfill\H}% +\vrule\H かき◆ +これは,意味のないサンプルテキストです.\vrule +\vbox{\tate\hsize=50mm 縦垂直\H ああああああああああ% + あああああああああ\hfill\H}% +\vrule\H ◆ああああ +これは,意味のないサンプルテキストです.\vrule +\hbox{\dtou 下水平\H }\vrule\H おおおお これは,意味のないサンプルテキストです. -\vbox{\tate\hsize=50mm 縦垂直Hxyあああああああああああああああああああ}◆ああああ -これは,意味のないサンプルテキスト\hbox{\tate 縦水平Hxy}◆おおおおです. +\vrule\vbox{\dtou\hsize=50mm 下垂直\H ああああああああああ% + あああああああああ\hfill\H}% +\vrule\H これは,意味のないサンプルテキストです. } \copy0 -%{\showboxbreadth10000\showboxdepth10000 -%\showbox0} - \vfill\eject + +\message{^^JYOKO, DTOU IN TATE (VMODE)^^J} \vbox{\tate\hsize=100mm -◆◆◆Hxy\hbox{\yoko 横水平Hxy}かき◆ +縦垂直\H\vrule\hbox{\yoko 横水平\H }\vrule\H かき◆ これは,意味のないサンプルテキストです. -\hbox{\tate 縦水平Hxy}◆おおおお +\vrule\hbox{\tate 縦水平\H }\vrule\H おおおお +これは,意味のないサンプルテキストです.\vrule +\vbox{\yoko\hsize=50mm 横垂直\H ああああああああああ% + あああああああああ\hfill\H}% +\vrule\H かき◆ +これは,意味のないサンプルテキストです.\vrule +\vbox{\tate\hsize=50mm 縦垂直\H ああああああああああ% + あああああああああ\hfill\H}% +\vrule\H ◆ああああ +これは,意味のないサンプルテキストです.\vrule +\hbox{\dtou 下水平\H }\vrule\H おおおお +これは,意味のないサンプルテキストです. +\vrule\vbox{\dtou\hsize=50mm 下垂直\H ああああああああああ% + あああああああああ\hfill\H}% +\vrule\H これは,意味のないサンプルテキストです. +} +\vfill\eject + +\message{^^JYOKO, TATE IN DTOU (VMODE)^^J} +\vbox{\dtou\hsize=100mm +下垂直\H\vrule\hbox{\yoko 横水平\H }\vrule\H かき◆ これは,意味のないサンプルテキストです. -\vbox{\yoko\hsize=50mm 横垂直Hxyあああああああああああああああああああ}かき◆ +\vrule\hbox{\tate 縦水平\H }\vrule\H おおおお +これは,意味のないサンプルテキストです.\vrule +\vbox{\yoko\hsize=50mm 横垂直\H ああああああああああ% + あああああああああ\hfill\H}% +\vrule\H かき◆ +これは,意味のないサンプルテキストです.\vrule +\vbox{\tate\hsize=50mm 縦垂直\H ああああああああああ% + あああああああああ\hfill\H}% +\vrule\H ◆ああああ +これは,意味のないサンプルテキストです.\vrule +\hbox{\dtou 下水平\H }\vrule\H おおおお これは,意味のないサンプルテキストです. -\vbox{\tate\hsize=50mm 縦垂直Hxyあああああああああああああああああああ}◆ああああ -これは,意味のないサンプルテキスト\hbox{\tate 縦水平Hxy}◆おおおお -です. +\vrule\vbox{\dtou\hsize=50mm 下垂直\H ああああああああああ% + あああああああああ\hfill\H}% +\vrule\H これは,意味のないサンプルテキストです. } +\vfill\eject \vbox{\tate\hsize100mm -\tfont\f=KozMinPr6N-Regular.otf:+vert;jfm=ujisv \f +\tfont\f=KozMinPr6N-Regular.otf:jfm=ujisv \f -\ltjsetparameter{yalbaselineshift=.25em}\baselineskip15pt +\ltjsetparameter{yalbaselineshift=.25em}\baselineskip15pt\parindent\zw \LaTeX の特徴として、テキストファイルであるソースコードを入力として処理することでDVIや PDFなどの表示形式を出力として得ることが挙げられる。 @@ -110,13 +230,15 @@ PDFなどの表示形式を出力として得ることが挙げられる。 変えることができるなど、文書内容データの再利用性が高い。一度スタイル設定を決めてしまえば、 あとは文書内容の記述に専念することができるという利点もある。論文などの投稿では、学術雑 誌のスタイルを記述したファイル(パッケージファイル)を Web からダウンロードして利用するこ -とで、統一されたスタイルで論文xを投稿することができ、論文の投稿者と雑誌の編集者とのやり取り +とで、統一されたスタイルで論文を投稿することができ、論文の投稿者と雑誌の編集者とのやり取り を簡略化できる。Kile、TeXShop、TeXworks、EasyTeX、WinShell などの \TeX 用エ ディタや、野鳥(やてふ、YaTeX)、TeXlipse、KaTeX(花鳥、かてふ)、祝鳥 (のりてふ)、M's TeX Helper 2など の\TeX 用テキストエディタマクロを兼用することに よって、より効率的な文章作成が可能ともなる。またMapleやMathematicaなどでドキュメントを 作成し、\TeX 形式で出力することも可能である。 +\null\hfill +(Wikipediaの「\LaTeX」の記事より.8/13現在) } \message{^^Jget/set box dimension^^J} @@ -126,18 +248,18 @@ PDFなどの表示形式を出力として得ることが挙げられる。 \tate\ltjsetparameter{talbaselineshift=0pt}Htp} 縦ボックス\hbox{\vrule\copy12288\vrule}寸法\quad \vbox{\hsize=80pt\yoko\noindent - WD: \the\ltjgetwd{12288}, \\HT: \the\ltjgetht{12288}, \\DP: \the\ltjgetdp{12288}% + WD: \the\ltjgetwd12288, \\HT: \the\ltjgetht12288, \\DP: \the\ltjgetdp12288% } \vbox{\hsize=80pt\tate\noindent - WD: \the\ltjgetwd{12288}, \\HT: \the\ltjgetht{12288}, \\DP: \the\ltjgetdp{12288}% + WD: \the\ltjgetwd12288, \\HT: \the\ltjgetht12288, \\DP: \the\ltjgetdp12288% } \ltjsetwd12288=100pt \setbox0=\hbox{\tate\ltjsetht12288=10pt} \vbox{\hsize=80pt\yoko\noindent - WD: \the\ltjgetwd{12288}, \\HT: \the\ltjgetht{12288}, \\DP: \the\ltjgetdp{12288}% + WD: \the\ltjgetwd12288, \\HT: \the\ltjgetht12288, \\DP: \the\ltjgetdp12288% } \vbox{\hsize=80pt\tate\noindent - WD: \the\ltjgetwd{12288}, \\HT: \the\ltjgetht{12288}, \\DP: \the\ltjgetdp{12288}% + WD: \the\ltjgetwd12288, \\HT: \the\ltjgetht12288, \\DP: \the\ltjgetdp12288% } @@ -146,21 +268,21 @@ PDFなどの表示形式を出力として得ることが挙げられる。 \yoko\ltjsetparameter{yalbaselineshift=0pt}Htp} 横ボックス\hbox{\vrule\copy12288\vrule}寸法\quad \vbox{\hsize=80pt\yoko\noindent - WD: \the\ltjgetwd{12288}, \\HT: \the\ltjgetht{12288}, \\DP: \the\ltjgetdp{12288}% + WD: \the\ltjgetwd12288, \\HT: \the\ltjgetht12288, \\DP: \the\ltjgetdp12288% } \vbox{\hsize=80pt\tate\noindent - WD: \the\ltjgetwd{12288}, \\HT: \the\ltjgetht{12288}, \\DP: \the\ltjgetdp{12288}% + WD: \the\ltjgetwd12288, \\HT: \the\ltjgetht12288, \\DP: \the\ltjgetdp12288% } \ltjsetwd12288=100pt \setbox0=\hbox{\tate\ltjsetht12288=10pt} \vbox{\hsize=80pt\yoko\noindent - WD: \the\ltjgetwd{12288}, \\HT: \the\ltjgetht{12288}, \\DP: \the\ltjgetdp{12288}% + WD: \the\ltjgetwd12288, \\HT: \the\ltjgetht12288, \\DP: \the\ltjgetdp12288% } \vbox{\hsize=80pt\tate\noindent - WD: \the\ltjgetwd{12288}, \\HT: \the\ltjgetht{12288}, \\DP: \the\ltjgetdp{12288}% + WD: \the\ltjgetwd12288, \\HT: \the\ltjgetht12288, \\DP: \the\ltjgetdp12288% } -dimexpr でも使えるかな?\the \dimexpr2\ltjgetwd{` }+\ltjgetwd{200}+1pt\relax +dimexpr でも使えるかな?\the \dimexpr2\ltjgetwd` +\ltjgetwd200+1pt\relax \vfill\eject @@ -199,22 +321,112 @@ abc&かきくけこ&xyz\cr}}% \vfill\eject \message{^^Jdir node^^J} +\font\seventt=cmtt10 at 7pt +\font\fivett=cmtt10 at 5pt + +\setbox0=\hbox{\yoko pF} +\setbox1=\hbox{\tate\copy0} +\fbox{\copy1} +\setbox1=\copy0 +{\obeylines\seventt\baselineskip=10pt +\directlua{luatexja.ext_show_node_list(tex.box[1], 'lastbox> ', tex.print)}\par} +\setbox0=\hbox{\yoko \ltjsetwd1=50pt} +{\obeylines\seventt\baselineskip=10pt +\directlua{luatexja.ext_show_node_list(tex.box[1], 'dir node1> ', tex.print)}\par} +\setbox0=\hbox{\dtou \ltjsetwd1=2pt} +{\obeylines\seventt\baselineskip=10pt +\directlua{luatexja.ext_show_node_list(tex.box[1], 'dir node2> ', tex.print)}\par} + +\setbox0=\hbox{\yoko \ltjsetht1=30pt} +{\obeylines\seventt\baselineskip=10pt +\directlua{luatexja.ext_show_node_list(tex.box[1], 'alter Yht> ', tex.print)}\par} + +\setbox0=\hbox{\tate \ltjsetwd1=50pt} +{\obeylines\seventt\baselineskip=10pt +\directlua{luatexja.ext_show_node_list(tex.box[1], 'alter Twd> ', tex.print)}\par} + +\setbox0=\hbox{\utod \ltjsetht1=50pt} +{\obeylines\seventt\baselineskip=10pt +\directlua{luatexja.ext_show_node_list(tex.box[1], 'alter Uht> ', tex.print)}\par} + +\setbox0=\hbox{\yoko \ltjsetht1=70pt} +{\obeylines\seventt\baselineskip=10pt +\directlua{luatexja.ext_show_node_list(tex.box[1], 'alter Yht> ', tex.print)}\par} + +%% unwrap +\setbox2=\hbox{\yoko \copy1} +\setbox2=\hbox{\yoko \unhbox2\global\setbox1=\lastbox} +{\obeylines\seventt +\directlua{luatexja.ext_show_node_list(tex.box[1], 'unwrapped> ', tex.print)}} + +\setbox0=\hbox{\utod \ltjsetht1=50pt} +{\obeylines\seventt\baselineskip=10pt +\directlua{luatexja.ext_show_node_list(tex.box[1], 'alter Uht> ', tex.print)}\par} + + + +\setbox0\hbox{\yoko a あ }\setbox1=\hbox{\tate\ltjsetht0=2pt} + +\fbox{\copy0} +\vbox{\yoko\hsize=60pt\noindent\the\ltjgetwd0,\\\the\ltjgetht0,\\\the\ltjgetdp0} +\vbox{\tate\hsize=60pt\noindent\the\ltjgetwd0,\\\the\ltjgetht0,\\\the\ltjgetdp0} +\vbox{\dtou\hsize=60pt\noindent\the\ltjgetwd0,\\\the\ltjgetht0,\\\the\ltjgetdp0} +\vbox{\utod\hsize=60pt\noindent\the\ltjgetwd0,\\\the\ltjgetht0,\\\the\ltjgetdp0} +% +\ltjsetwd0=40pt +\setbox9\hbox{\utod \ltjsetdp0=10pt} +\vbox{\yoko\hsize=60pt\noindent\the\ltjgetwd0,\\\the\ltjgetht0,\\\the\ltjgetdp0} +\vbox{\tate\hsize=60pt\noindent\the\ltjgetwd0,\\\the\ltjgetht0,\\\the\ltjgetdp0} +\vbox{\dtou\hsize=60pt\noindent\the\ltjgetwd0,\\\the\ltjgetht0,\\\the\ltjgetdp0} +\vbox{\utod\hsize=60pt\noindent\the\ltjgetwd0,\\\the\ltjgetht0,\\\the\ltjgetdp0} + +\vfill\eject +\message{^^Jothers^^J} -\setbox0=\hbox{\tate ABCD} -\setbox1=\hbox{\yoko\box0} -\unhcopy1 -\setbox1=\lastbox %% box1: dir_node -\dp1=100pt -\setbox2=\hbox{\tate \copy1}%% unwrap -{\obeylines\tentt -\directlua{luatexja.ext_show_node_list(tex.box[2], 'A> ', tex.print)}} +p\kern-.15em\TeX\ bug (2011-02-24) +\setbox0=\hbox{\tate a}\fbox{\copy0}% +\hbox{\yoko\ltjsetht0=30pt +\hbox{\dtou\dimen0=\ltjgetht0} +\the\ltjgetht0}% OK. 30pt -\setbox2=\hbox{\tate \unhbox2\global\setbox1=\lastbox}%% unwrap -{\obeylines\tentt -\directlua{luatexja.ext_show_node_list(tex.box[1], 'B> ', tex.print)}} +\def\R{012345678901234567890123456789} +\vbox{\tate\hsize=4\zw\R\R\R\R} -\the\ltjgetdp{1} -\end +%\tracingall +\def\showdir{\ifcase\ltjgetparameter{direction} % +?\or D\or ?\or T\or Y\or ?\or ?\or?\or?\or?\or?\or U\fi} +\showdir +\hbox{\tate {\dtou 感じ\showdir}\showdir} +\showdir + +\vbox{\tate\hsize=100mm +日本語中に数式を打ってみる% +$\ltjgetparameter{talbaselineshift}abc\hbox{にほんごABC\hbox{\tate たて\showdir}}\showdir$ +$$ + \ltjgetparameter{talbaselineshift}abc\hbox{にほんごABC\hbox{\tate たて\showdir}}\showdir +$$ +あいうえお} + +\vsize250mm +\def\F#1{% +\medskip +\setbox0=\hbox{\csname #1\endcsname + \hbox{\yoko Y}\hbox{\tate T}\hbox{\dtou D}\hbox{\utod U}} +{\obeylines\fivett\baselineskip=7pt +\directlua{luatexja.ext_show_node_list(tex.box[0], 'hbox #1> ', tex.print)}\par}} + +\F{yoko} +\F{tate} +\F{dtou} +\F{utod} + +\hbox{\inhibitglue\tate} +\hbox{\ltjsetparameter{kanjiskip=0pt}\tate} + +\leavevmode\hbox{A}% +\setbox0\hbox{}% +\setbox1=\lastbox\the\wd1 +\end