OSDN Git Service

Update the manual, and fix placement of \dtou box in \yoko dir.
[luatex-ja/luatexja.git] / test / test51-vtest.tex
1 %#!luatex
2
3 %\directlua{luatexja_debug = 1}
4 \input luatexja.sty
5 %\input lua-visual-debug.sty
6
7 \catcode`\@=11
8 \newdimen\@tempdima
9 \newbox\@tempboxa
10 \newdimen\fboxrule
11 \newdimen\fboxsep
12 \fboxrule=0.4pt\fboxsep=0pt
13 \long\def\fbox#1{%
14   \leavevmode
15   \setbox\@tempboxa\hbox{\kern\fboxsep{#1}\kern\fboxsep}%
16   \@frameb@x\relax}
17 \def\@frameb@x#1{%
18   \@tempdima\fboxrule
19   \advance\@tempdima\fboxsep
20   \advance\@tempdima\dp\@tempboxa
21   \hbox{%
22     \lower\@tempdima\hbox{%
23       \vbox{%
24         \hrule height\fboxrule
25         \hbox{%
26           \vrule width\fboxrule
27           #1%
28           \vbox{%
29             \vskip\fboxsep
30             \box\@tempboxa
31             \vskip\fboxsep}%
32           #1%
33           \vrule width\fboxrule}%
34         \hrule height\fboxrule}%
35                           }%
36         }%
37 }
38 \protected\def\LaTeX{L\kern-.36em%
39         {\setbox\z@\hbox{T}
40          \vbox to\ht\z@{\hbox{\sevenrm A}%
41                         \vss}%
42         }%
43         \kern-.15em%
44         \TeX}
45
46 \tentgt\hfuzz10000pt\relax\vfuzz10000pt
47
48 \def\H{\vrule width 2pt height 10pt depth 0pt%
49 \vrule width 4pt height 0pt depth 4pt}
50
51 \message{^^JTATE, DTOU IN YOKO (HMODE))^^J}
52 \hbox{\yoko
53   横水平\H\vrule\hbox{\yoko 横水平\H }\vrule かき◆
54   \vrule\hbox{\tate 縦水平\H }◆おおおお\vrule
55   \vbox{\yoko\hsize=30mm 横垂直\H ああああああああああ\hfill\H}かき◆%
56   \vrule
57   \vbox{\tate\hsize=30mm 縦垂直\H ああああああああああ\hfill\H}%
58   \vrule ◆ああああ
59 }
60 \hbox{\yoko\vrule
61   横水平\H\vrule\hbox{\dtou 下水平\H }\vrule ◆おおおお
62   \H\vrule
63   \vbox{\dtou\hsize=30mm 下垂直\H ああああああああああ\hfill\H}%
64   \vrule かき◆
65 }
66 \vfill\eject
67
68 \message{^^JYOKO, DTOU IN TATE (HMODE)^^J}
69 \leavevmode
70 \hbox{\tate
71 縦水平\H\vrule \hbox{\yoko 横水平\H }\vrule かき◆\vrule
72 \hbox{\tate 縦水平\H }\vrule◆おおおお\H\vrule
73 \vbox{\yoko\hsize=30mm 横垂直\H ああああああああああ\hfill\H}\vrule
74 かき◆\H\vrule
75 \vbox{\tate\hsize=30mm 縦垂直\H ああああああああああ\hfill\H}\vrule
76 ◆ああああ}
77 \hbox{\tate
78 縦水平\H\vrule\hbox{\dtou 下水平\H }\vrule ◆おおおお\H\vrule
79 \vbox{\dtou\hsize=30mm 下垂直\H ああああああああああ\hfill\H}%
80 \vrule\H ◆ああああ}
81
82 \vfill\eject
83
84 \message{^^JYOKO, TATE IN DTOU (HMODE)^^J}
85 \leavevmode
86 \hbox{\dtou
87 下水平\H\vrule\hbox{\yoko 横水平\H }\vrule かき◆\H\vrule
88 \hbox{\tate 縦水平\H }\vrule ◆おおおお\H\vrule
89 \vbox{\yoko\hsize=30mm 横垂直\H ああああああああああ\hfill\H}%
90 \vrule かき◆あおう\H\vrule
91 \vbox{\tate\hsize=30mm 縦垂直\H ああああああああああ\hfill\H}%
92 \vrule ◆ああああ
93 }
94 \hbox{\dtou
95 下水平\H\vrule\hbox{\dtou 下水平\H }\vrule◆おおおお\vrule
96 \vbox{\dtou\hsize=30mm 下垂直\H ああああああああああ\hfill\H}%
97 \vrule ◆ああああ}
98
99
100 \vfill\eject
101
102
103 \message{^^JTATE, DTOU IN YOKO (VMODE)^^J}
104 \setbox0=\vbox{\yoko\hsize=100mm
105 横垂直\H\vrule \hbox{\yoko 横水平\H }\vrule\H かき◆
106 これは,意味のないサンプルテキストです.
107 \vrule\hbox{\tate 縦水平\H }\vrule\H おおおお
108 これは,意味のないサンプルテキストです.\vrule
109 \vbox{\yoko\hsize=50mm 横垂直\H ああああああああああ%
110   あああああああああ\hfill\H}%
111 \vrule\H かき◆
112 これは,意味のないサンプルテキストです.\vrule
113 \vbox{\tate\hsize=50mm 縦垂直\H ああああああああああ%
114   あああああああああ\hfill\H}%
115 \vrule\H ◆ああああ
116 これは,意味のないサンプルテキストです.\vrule
117 \hbox{\dtou 下水平\H }\vrule\H おおおお
118 これは,意味のないサンプルテキストです.
119 \vrule\vbox{\dtou\hsize=50mm 縦垂直\H ああああああああああ%
120   あああああああああ\hfill\H}%
121 \vrule\H これは,意味のないサンプルテキストです.
122 }
123 \copy0
124 \vfill\eject
125
126 \message{^^JYOKO, DTOU IN TATE (VMODE)^^J}
127 \vbox{\tate\hsize=100mm
128 縦垂直\H\vrule\hbox{\yoko 横水平\H }\vrule\H かき◆
129 これは,意味のないサンプルテキストです.
130 \vrule\hbox{\tate 縦水平\H }\vrule\H おおおお
131 これは,意味のないサンプルテキストです.\vrule
132 \vbox{\yoko\hsize=50mm 横垂直\H ああああああああああ%
133   あああああああああ\hfill\H}%
134 \vrule\H かき◆
135 これは,意味のないサンプルテキストです.\vrule
136 \vbox{\tate\hsize=50mm 縦垂直\H ああああああああああ%
137   あああああああああ\hfill\H}%
138 \vrule\H ◆ああああ
139 これは,意味のないサンプルテキストです.\vrule
140 \hbox{\dtou 下水平\H }\vrule\H おおおお
141 これは,意味のないサンプルテキストです.
142 \vrule\vbox{\dtou\hsize=50mm 縦垂直\H ああああああああああ%
143   あああああああああ\hfill\H}%
144 \vrule\H これは,意味のないサンプルテキストです.
145 }
146 \vfill\eject
147
148 \message{^^JYOKO, TATE IN DTOU (VMODE)^^J}
149 \vbox{\dtou\hsize=100mm
150 下垂直\H\vrule\hbox{\yoko 横水平\H }\vrule\H かき◆
151 これは,意味のないサンプルテキストです.
152 \vrule\hbox{\tate 縦水平\H }\vrule\H おおおお
153 これは,意味のないサンプルテキストです.\vrule
154 \vbox{\yoko\hsize=50mm 横垂直\H ああああああああああ%
155   あああああああああ\hfill\H}%
156 \vrule\H かき◆
157 これは,意味のないサンプルテキストです.\vrule
158 \vbox{\tate\hsize=50mm 縦垂直\H ああああああああああ%
159   あああああああああ\hfill\H}%
160 \vrule\H ◆ああああ
161 これは,意味のないサンプルテキストです.\vrule
162 \hbox{\dtou 下水平\H }\vrule\H おおおお
163 これは,意味のないサンプルテキストです.
164 \vrule\vbox{\dtou\hsize=50mm 縦垂直\H ああああああああああ%
165   あああああああああ\hfill\H}%
166 \vrule\H これは,意味のないサンプルテキストです.
167 }
168
169
170 \vbox{\tate\hsize100mm
171 \tfont\f=KozMinPr6N-Regular.otf:+vert;jfm=ujisv \f
172
173 \ltjsetparameter{yalbaselineshift=.25em}\baselineskip15pt
174 \LaTeX の特徴として、テキストファイルであるソースコードを入力として処理することでDVIや
175 PDFなどの表示形式を出力として得ることが挙げられる。
176
177 \LaTeX の最大の長所は、\TeX に由来する高品質で自由度の高い組版処理能力である。組版処理能力
178 は一般向けの出版物の作成にも充分に耐えられるものであり、実際の出版例もある。
179 中でも数式組版の品質が高い。さらに、数式専用の命令文(コマンド)が用意されているので、
180 単純なソースコードで高品質な数式表示を得られる。そのため、数式を多く含む自然科学系や工学系
181 の出版物などでは、\LaTeX 形式での投稿が標準的なフォーマットとされていることも多い。
182
183 くわえて、ソースコードに詳細な設定を記述することで、文書のスタイル(表示形式、見栄え、たと
184 えばレイアウトやフォントなど)を自在に調節できる。また、ソースコード上で文書内容・文書構造
185 (章・節・段落や強調箇所など)と文書スタイルの設定との分離が可能である。そのため、同一文書
186 内で終始一貫したスタイをル保つことができる。また、同じ文書内容でレイアウトやフォントだけを
187 変えることができるなど、文書内容データの再利用性が高い。一度スタイル設定を決めてしまえば、
188 あとは文書内容の記述に専念することができるという利点もある。論文などの投稿では、学術雑
189 誌のスタイルを記述したファイル(パッケージファイル)を Web からダウンロードして利用するこ
190 とで、統一されたスタイルで論文xを投稿することができ、論文の投稿者と雑誌の編集者とのやり取り
191 を簡略化できる。Kile、TeXShop、TeXworks、EasyTeX、WinShell などの \TeX 用エ
192 ディタや、野鳥(やてふ、YaTeX)、TeXlipse、KaTeX(花鳥、かてふ)、祝鳥
193 (のりてふ)、M's TeX Helper 2など の\TeX 用テキストエディタマクロを兼用することに
194 よって、より効率的な文章作成が可能ともなる。またMapleやMathematicaなどでドキュメントを
195 作成し、\TeX 形式で出力することも可能である。
196
197 }
198
199 \message{^^Jget/set box dimension^^J}
200
201 \def\\{\hfill\break}
202 \setbox12288=\hbox{%
203   \tate\ltjsetparameter{talbaselineshift=0pt}Htp}
204 縦ボックス\hbox{\vrule\copy12288\vrule}寸法\quad
205 \vbox{\hsize=80pt\yoko\noindent
206   WD: \the\ltjgetwd{12288}, \\HT: \the\ltjgetht{12288}, \\DP: \the\ltjgetdp{12288}%
207 }
208 \vbox{\hsize=80pt\tate\noindent
209   WD: \the\ltjgetwd{12288}, \\HT: \the\ltjgetht{12288}, \\DP: \the\ltjgetdp{12288}%
210 }
211 \ltjsetwd12288=100pt
212 \setbox0=\hbox{\tate\ltjsetht12288=10pt}
213 \vbox{\hsize=80pt\yoko\noindent
214   WD: \the\ltjgetwd{12288}, \\HT: \the\ltjgetht{12288}, \\DP: \the\ltjgetdp{12288}%
215 }
216 \vbox{\hsize=80pt\tate\noindent
217   WD: \the\ltjgetwd{12288}, \\HT: \the\ltjgetht{12288}, \\DP: \the\ltjgetdp{12288}%
218 }
219
220
221
222 \setbox12288=\hbox{%
223   \yoko\ltjsetparameter{yalbaselineshift=0pt}Htp}
224 横ボックス\hbox{\vrule\copy12288\vrule}寸法\quad
225 \vbox{\hsize=80pt\yoko\noindent
226   WD: \the\ltjgetwd{12288}, \\HT: \the\ltjgetht{12288}, \\DP: \the\ltjgetdp{12288}%
227 }
228 \vbox{\hsize=80pt\tate\noindent
229   WD: \the\ltjgetwd{12288}, \\HT: \the\ltjgetht{12288}, \\DP: \the\ltjgetdp{12288}%
230 }
231 \ltjsetwd12288=100pt
232 \setbox0=\hbox{\tate\ltjsetht12288=10pt}
233 \vbox{\hsize=80pt\yoko\noindent
234   WD: \the\ltjgetwd{12288}, \\HT: \the\ltjgetht{12288}, \\DP: \the\ltjgetdp{12288}%
235 }
236 \vbox{\hsize=80pt\tate\noindent
237   WD: \the\ltjgetwd{12288}, \\HT: \the\ltjgetht{12288}, \\DP: \the\ltjgetdp{12288}%
238 }
239
240 dimexpr でも使えるかな?\the \dimexpr2\ltjgetwd{` }+\ltjgetwd{200}+1pt\relax
241
242 \vfill\eject
243
244 \message{^^Jalign^^J}
245
246 \parindent0pt
247 \hrule width 40mm
248
249 \hbox{\yoko\hsize40mm\baselineskip20pt 横水平
250 \valign{A#\hfil&B#\hfil&C#\hfill\vrule\cr
251 あいうえお&ABC&XYZ\cr
252 abc&かきくけこ&xyz\cr}横水平}
253 \moveright40mm\hbox{\vrule width 40mm height.4pt}
254
255 \hbox{\tate\hsize40mm\baselineskip20pt 縦水平
256 \valign{甲#\hfil&乙#\hfil&丙#\hfill\vrule\cr
257 あいうえお&ABC&XYZ\cr
258 abc&かきくけこ&xyz\cr}}%
259 %\tracingonline\showboxdepth2\showboxbreadth1000\showlists}
260 \moveright40mm\hbox{\vrule width 40mm height.4pt}
261
262 \vfill\eject
263
264 \vbox{\yoko\hsize40mm\baselineskip20pt  横垂直
265 \halign{A#\hfil&B#\hfil&C#\hfill\vrule\cr
266 あいうえお&ABC&XYZ\cr
267 abc&かきくけこ&xyz\cr}}%
268 \moveright40mm\hbox{\vrule width 40mm height.4pt}
269
270 \vbox{\tate\baselineskip20pt  縦垂直
271 \halign{甲#\hfil&乙#\hfil&丙#\hfill\vrule\cr
272 あいうえお&ABC&XYZ\cr
273 abc&かきくけこ&xyz\cr}}%
274 \moveright40mm\hbox{\vrule width 40mm height.4pt}
275
276 \vfill\eject
277
278 \message{^^Jdir node^^J}
279 \font\seventt=cmtt10 at 7pt
280
281 \setbox0=\hbox{\yoko pF}
282 \setbox1=\hbox{\tate\box0}
283 \fbox{\copy1}
284 \unhcopy1\setbox1=\lastbox %% box1: dir_node
285 \setbox0=\hbox{\yoko \ltjsetwd1=50pt}
286 \setbox0=\hbox{\dtou \ltjsetwd1=2pt}
287 {\obeylines\seventt\baselineskip=10pt
288 \directlua{luatexja.ext_show_node_list(tex.box[1], 'dir node>  ', tex.print)}\par}
289
290 \setbox0=\hbox{\yoko \ltjsetht1=30pt}
291 {\obeylines\seventt\baselineskip=10pt
292 \directlua{luatexja.ext_show_node_list(tex.box[1], 'alter Yht> ', tex.print)}\par}
293
294 \setbox0=\hbox{\tate \ltjsetwd1=50pt}
295 {\obeylines\seventt\baselineskip=10pt
296 \directlua{luatexja.ext_show_node_list(tex.box[1], 'alter Twd> ', tex.print)}\par}
297
298 \setbox0=\hbox{\yoko \ltjsetht1=70pt}
299 {\obeylines\seventt\baselineskip=10pt
300 \directlua{luatexja.ext_show_node_list(tex.box[1], 'alter Yht> ', tex.print)}\par}
301
302 %% unwrap
303 \setbox2=\hbox{\yoko \copy1}
304 \setbox2=\hbox{\yoko \unhbox2\global\setbox1=\lastbox}
305 {\obeylines\seventt
306 \directlua{luatexja.ext_show_node_list(tex.box[1], 'unwrapped> ', tex.print)}}
307
308
309
310 \setbox0\hbox{\yoko a あ }\setbox1=\hbox{\tate\ltjsetht0=2pt}
311
312 \fbox{\copy0}
313 \vbox{\yoko\hsize=60pt\noindent\the\ltjgetwd0,\\\the\ltjgetht0,\\\the\ltjgetdp0}
314 \vbox{\tate\hsize=60pt\noindent\the\ltjgetwd0,\\\the\ltjgetht0,\\\the\ltjgetdp0}
315 \vbox{\dtou\hsize=60pt\noindent\the\ltjgetwd0,\\\the\ltjgetht0,\\\the\ltjgetdp0}
316 %
317 \ltjsetwd0=40pt
318 \vbox{\yoko\hsize=60pt\noindent\the\ltjgetwd0,\\\the\ltjgetht0,\\\the\ltjgetdp0}
319 \vbox{\tate\hsize=60pt\noindent\the\ltjgetwd0,\\\the\ltjgetht0,\\\the\ltjgetdp0}
320 \vbox{\dtou\hsize=60pt\noindent\the\ltjgetwd0,\\\the\ltjgetht0,\\\the\ltjgetdp0}
321
322 p\kern-.15em\TeX\ bug (2011-02-24)
323 \setbox0=\hbox{\tate a}\fbox{\copy0}%
324 \hbox{\yoko\ltjsetht0=30pt
325 \hbox{\dtou\dimen0=\ltjgetht0}
326 \the\ltjgetht0}% OK. 30pt
327
328
329 \end
330