summaryrefslogtreecommitdiff
path: root/info/tex-virtual-academy-pl/tex/tryby.html
blob: 3f71fc584d18091a09afd3707851721c345cb016 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=iso-8859-2">
<meta http-equiv="Content-language" content="pl">
<meta name="Author" content="W³odzimierz Macewicz">
<meta name="Keywords" content="tex, tryby pracy, Wirtualna Akademia">
<title>Luka w mojej T<sub>E</sub>X-owej wiedzy</title>

</head>
<body>
<h2>Luka w mojej T<sub>E</sub>X-owej wiedzy</h2>

<p>
Uczymy siê T<sub>E</sub>X-a przez lata, jednak bardzo trudno cokolwiek zrobiæ bez
dobrej ksi±¿ki na biurku. Mimo i¿ uczê siê T<sub>E</sub>X-owej maszyny mniej
wiêcej od piêciu lat, ci±gle o&nbsp;czym¶ zapominam lub ³apiê siê na tym,
¿e czego¶ nie doczyta³em lub pomin±³em. Do bia³ej gor±czki doprowadzaj±
mnie odkrycia, ¿e przerobiony dawniej temat umkn±³ mi gdzie¶ z&nbsp;pamiêci.
Muszê czytaæ od nowa <tt>:-(</tt>.

<p>
Jedyn± recept± na moje bol±czki sta³o siê robienie notatek z&nbsp;naszej
T<sub>E</sub>X-owej biblii, czyli z&nbsp;<i> The T<sub>E</sub>Xbook</i>. Notatki te
nie s± zawsze wiern± kopi± T<sub>E</sub>Xbook-a, maj± jednak
identyczny uk³ad tematyczny.
Marzy mi siê po cichu dobre t³umaczenie mojej ulubionej ksi±¿ki,
czy jest to jednak mo¿liwe? Ka¿dego, kto ma na ten temat jakie¶ refleksje
lub pomys³y, proszê o&nbsp;kontakt.

<p>
Je¶li zechcesz wiêc, drogi czyT<sub>E</sub>Xniku, zajrzeæ do moich notatek,
to zapraszam. Dzisiaj zapiski z&nbsp;rozdzia³u trzynastego TB ,,Tryby''.


<h3> Tryby </h3>

<p>
Podobnie jak ka¿dy z&nbsp;nas jest w&nbsp;danym momencie w&nbsp;pewnym nastroju, tak
T<sub>E</sub>X jest w&nbsp;pewnym trybie. Istnieje sze¶æ trybów T<sub>E</sub>X-a:


<p>
<ul>

<li> <i>tryb pionowy</i> (w&nbsp;tym trybie T<sub>E</sub>X tworzy g³ówn± listê
      pionow±&nbsp;\cite{bach95:Rycko:listapionowa}, z&nbsp;której tworzone s±
      strony)

<li><i>wewnêtrzny tryb pionowy</i> (tworzy listê pionow± vbox-a)

<li><i>tryb poziomy</i> tzw. ,,akapitowy'' (tworzy listê poziom± ---
      akapit)

<li><i>ograniczony tryb poziomy</i> (tworzy listê poziom±, np. hbox-a)

<li><i>tryb matematyczny</i> (tworzy formu³y matematyczne w&nbsp;trybie
      poziomym <tt>$...$</tt>)

<li><i>tryb matematyczny eksponowany</i> (tworzy eksponowane formu³y
      matematyczne umieszczane w&nbsp;osobnej linii, tymczasowo przerywaj±
      one aktualny akapit --- <tt>$$...$$</tt>)
</ul>



<h4> Sytuacja najprostsza </h4>

<p>
W&nbsp;zasadzie u¿ytkownik nie musi zastanawiaæ siê, w&nbsp;jakim trybie w&nbsp;danym
momencie jest T<sub>E</sub>X. Problemy pojawi± siê dopiero wtedy, gdy ujrzymy komunikat
w&nbsp;stylu <i> Nie mo¿esz zrobiæ czego¶ w&nbsp;ograniczonym trybie
poziomym</i>. Aby unikn±æ takich niemi³ych niespodzianek, musimy wiedzieæ,
w&nbsp;jakim trybie znajduje siê T<sub>E</sub>X\ w&nbsp;<b>ka¿dym</b> dowolnym momencie.

<p>
W&nbsp;zasadzie T<sub>E</sub>X jest w&nbsp;trybie pionowym, gdy tworzy listê pionowych
kar, klejów (np.&nbsp;<tt>\vskip</tt>) i&nbsp;pude³ek (np.&nbsp;<tt>\vbox</tt>). Pude³ka i&nbsp;kleje
umieszczane s± jedno pod drugim na stronie. Tryb poziomy tworz± kary,
kleje (np.&nbsp;<tt>\hskip</tt>) i&nbsp;pude³ka poziome umieszczane jedno za drugim,
tworz±c akapit. Tryb matematyczny tworz± wszystkie elementy umieszczone
miêdzy znakami dolara&nbsp;`<tt>$</tt>'.


<h4> Sytuacja typowa </h4>

<p>
Na samym pocz±tku T<sub>E</sub>X znajduje siê w&nbsp;trybie pionowym i&nbsp;jest gotowy do
tworzenia listy pionowej (a&nbsp;potem strony). Je¶li utworzymy klej, karê lub
pude³ko, T<sub>E</sub>X zacznie umieszczaæ je jedno za drugim. Spójrzmy na
krótki ¼ród³owy pliczek plain-T<sub>E</sub>X-owy:
<pre>
1 Gdañsk 1996
2 \vskip 1cm
3 \centerline {GUST}
4 \medskip
5 Co to jest \TeX?
6 \vfil
7 \break
8 $x$
9 \bye
</pre>

<p>
Praktycznie ka¿da linijka tego pliku tworzy osobny element na li¶cie
pionowej. Prze¶led¼my, w&nbsp;jakie tryby w³a¶ciwie ,,wpada³'' T<sub>E</sub>X.

<p>
<ul>

<li>Linijka 1. wci±gnê³a T<sub>E</sub>X-a w&nbsp;tryb poziomy (ach ten Gdañsk!)

<li>Komenda z&nbsp;linii 2. spowodowa³a zakoñczenie akapitu i&nbsp;przej¶cie
      w&nbsp;tryb pionowy; wszystko jasne -- mamy tu przecie¿ klej pionowy

<li>Linia trzecia rozpoczyna siê znan± komend± <tt>\centerline</tt> rówowa¿nej
      <tt>\hbox to\hsize</tt>, a&nbsp;wiêc T<sub>E</sub>X wkracza
      w&nbsp;ograniczony tryb poziomy

<li>W&nbsp;linii 4. znów napotykamy na klej pionowy (przypomnijmy, ¿e
      <tt>\medskip</tt> \equiv$ó<tt>\vskip 6pt</tt> <tt>plus 2pt</tt> <tt>minus 2pt</tt>)

<li>Linia 5. to znów powrót do trybu poziomego

<li>Linia 6. to klej pionowy (przypomnijmy, ¿e <tt>\vfil</tt> równowa¿nej 
      <tt>\vskip 0pt</tt> <tt>plus 1fil</tt>)

<li>W&nbsp;linii 7. mamy karê, która spowoduje z³amanie strony
      (<tt>\break</tt> równowa¿nej  <tt>\penalty-10000</tt>)

<li>Nowa strona rozpocznie siê od przej¶cia do trybu matematycznego

<li>i bye<a href=#foo0><sup>*</sup></a>
</ul>


<p>
Z&nbsp;przedstawionego przyk³adu wynikaj± pewne ogólne wnioski. Gdy T<sub>E</sub>X
znajduje siê w&nbsp;trybie pionowym lub wewnêtrzynym trybie pionowym, to
pierwszy ¿eton nowego akapitu zmienia tryb na poziomy. Tryb ten
utrzymuje siê a¿ do zakoñczenia akapitu. Inaczej mówi±c obiekty typu
poziomego automatycznie zmieniaj± tryb pionowy na poziomy. Dzieje siê
tak wówczas, gdy napiszemy jakikolwiek znak (kategoria&nbsp;11.) lub pojawi siê
który¶ z&nbsp;¿etonów <tt>\char</tt>, <tt>\accent</tt>, <tt>\hskip</tt>, <tt>\_</tt>, <tt>\vrule</tt>, czy te¿
znak pocz±tku trybu matematycznego&nbsp;`<tt>$</tt>'. Id±c dalej, T<sub>E</sub>X wstawi
pude³ko o&nbsp;szeroko¶ci wciêcia akapitowego i&nbsp;odczyta jeszcze raz dany
¿eton ju¿ w&nbsp;trybie poziomym.

<p>
Istnieje mo¿liwo¶æ celowego zmuszenia T<sub>E</sub>X-a do przej¶cia w&nbsp;tryb
poziomy. Nieufnym proponujê makra <tt>\indent</tt> i&nbsp;<tt>\noindent</tt>, które
zmieniaj± tryb na poziomy oraz odpowiednio tworz± lub zakazuj±
utworzenia wciêcia akapitowego. <tt>\indent</tt> wstawia na pocz±tku akapitu
puste pude³ko o&nbsp;szeroko¶ci <tt>\parindent</tt> (domy¶lnie jest to 20pt).
Dlatego te¿ ci±g niewinny <tt>\indent</tt> <tt>\indent</tt> spowoduje wstawienie
podwójnego wciêcia. Analogiczny ci±g\break
<tt>\noindent</tt> <tt>\noindent</tt> nie spowoduje
nic, poza tym co zrobi pojedynczy <tt>\noindent</tt>.



<h4> Jak zacz±æ akapit od hbox-a </h4>

<p>
Je¶li umie¶cimy<br>
<tt>\hbox{...}</tt> w&nbsp;trybie poziomym, T<sub>E</sub>X z³o¿y akapit
uwzglêdniaj±c w&nbsp;nim pude³ko poziome (na&nbsp;przyk³ad T<sub>E</sub>X nigdy nie z³amie
takiego pude³ka). Podobnie je¶li umie¶cimy <tt>\hbox{...}</tt> w&nbsp;trybie
pionowym, T<sub>E</sub>X z³o¿y stronê uwzglêdniaj±c takie pude³ko.

<p>
No dobrze, ale jak
rozpocz±æ akapit pude³kiem <tt>\hbox{...}</tt>?

<p>
Kilka linijek wy¿ej udzielono w³a¶ciwie odpowiedzi na to pytanie. Mo¿na
zastosowaæ konstrukcjê typu <tt>\indent</tt> <tt>\hbox{...}</tt>, nie jest to
jednak zbyt rozs±dne. Wyobra¼my sobie bowiem, ¿e chcemy zdefiniowaæ makro,
które rozwija siê do <tt>hbox</tt>-a. Ponadto chcemy, aby dzia³a³o poprawnie
zarówno na pocz±tku, jak i&nbsp;w&nbsp;¶rodku akapitu --- w&nbsp;takim wypadku u¿ycie
makra <tt>\indent</tt> nie jest zachêcaj±ce.

<p>
Plain T<sub>E</sub>X posiada z³oty ¶rodek, jakim jest makro <tt>\leavevmode</tt>, które
rozwija siê do <tt>\unhbox</tt> <tt>\voidbox</tt>.




<h3> W ,,trybach'' T<sub>E</sub>X-a </h3>

<h4> W trybie poziomym i matematycznym </h4>

<p>
W typowych publikacjach T<sub>E</sub>X wiêkszo¶æ czasu spêdza w&nbsp;trybie poziomym,
sk³adaj±c akapity. Na krótko robi wycieczki do trybu pionowego pomiêdzy
nimi. Akapit koñczy siê, gdy u¿ytkownik wyda polecenie <tt>\par</tt> lub
pozostawi w&nbsp;pliku ¼ród³owym pust± liniê (pusta linia jest zamieniana na
<tt>\par</tt> wed³ug zasad z&nbsp;rozdzia³u&nbsp;8.&nbsp;TB). Akapit uda siê tak¿e zakoñczyæ,
wydaj±c polecenie <tt>\vskip 1cm</tt> (patrz linia&nbsp;2. powy¿szego przyk³adu).
Nie musimy wpisywaæ wówczas komendy <tt>\par</tt>, gdy¿ klej pionowy <tt>vskip</tt>
oczywi¶cie nie mo¿e byæ czê¶ci± akapitu i&nbsp;spowoduje przej¶cie T<sub>E</sub>X-a do
trybu pionowego.

<p>
Prze³±cznik trybu matematycznego (¿eton&nbsp;`<tt>$</tt>') umieszczony w&nbsp;trybie
poziomym spowoduje, ¿e T<sub>E</sub>X ,,zanurkuje'' w&nbsp;tryb matematyczny do czasu
napotkania drugiego ¿etonu&nbsp;`<tt>$</tt>'. T<sub>E</sub>X do³±czy formu³ê matematyczn±
do akapitu i&nbsp;powróci do trybu poziomego. Na przyk³ad<br>
<p>
<tt>
My¶lê ..., wiêc jestem.
<p>
Ró¿nimy siê o&nbsp;$\varepsilon$.
<p>
$\alpha$-Centauri
</tt>

<p>
Inaczej jest w&nbsp;eksponowanym trybie matematycznym.
Je¶li u¿yjemy pod rz±d dwóch ¿etonów `<tt>$$</tt>', T<sub>E</sub>X przerwie sk³adanie
akapitu (dokona przy tym ró¿nych obliczeñ, na przyk³ad wyliczy sobie
d³ugo¶æ ostatniej linijki poprzedzaj±cej wzór) i&nbsp;wy¶le dotychczas z³o¿on±
czê¶æ akapitu na listê pionow±. Wskoczy nastêpnie w&nbsp;tryb matematyczny
eksponowany, z³o¿y formu³ê (koniec formu³y oznaczamy kolejn± par±
¿etonów&nbsp;`<tt>$$</tt>') i&nbsp;powróci do trybu poziomego. Je¶li akapit
nie zosta³ zakoñczony, T<sub>E</sub>X dalej bêdzie go sk³ada³. Na przyk³ad
<pre>
Liczba $$\pi \approx 3.1415926536$$
jest bardzo wa¿na.
</pre>
spowoduje z³o¿enie nastêpuj±cego akapitu:

<p>

<hr>
\smallskip
Liczba <br>
\pi \approx 3.1415926536<br>
jest bardzo wa¿na.
<hr>
<p>

<h4>W wewnêtrznym trybie pionowym </h4>

T<sub>E</sub>X wêdruje do wewnêtrznego trybu pionowego, gdy u¿yjemy jednej
z&nbsp;komend <tt>\vbox</tt>, <tt>\vtop</tt>, <tt>\vcenter</tt>, <tt>\valign</tt>, <tt>\vadjust</tt>, <tt>\insert</tt>.

<p>
W&nbsp;ograniczony tryb poziomy T<sub>E</sub>X wpada, gdy zastosujemy <tt>\hbox</tt> lub
<tt>\halign</tt>. W&nbsp;pó¼niejszych rozwa¿aniach (patrz te¿ rozdzia³y 12.
i&nbsp;21.&nbsp;TB) dowiemy siê bardziej szczegó³owo, i¿ ró¿nice miêdzy wywnêtrznym
trybem pionowym a&nbsp;trybem pionowym oraz ograniczonym trybem poziomym
a&nbsp;trybem poziomym s± niewielkie. Jadnak trzeba pamiêtaæ, ¿e trybów tych
T<sub>E</sub>X u¿ywa do ró¿nych celów.



h4>  Ró¿ny nastrój w ró¿nym trybie </h4>

Gdy T<sub>E</sub>X po³yka ¿eton, musi podj±æ decyzjê, co z&nbsp;nim zrobiæ. Decyzja
T<sub>E</sub>X-a w&nbsp;znacznym stopniu zale¿y od trybu, w&nbsp;jakim siê znajduje.

<p>
Przyk³adowo makro <tt>\break</tt> dzia³a zupe³nie inaczej w&nbsp;trybie pionowym
(³amie stronê --- patrz powy¿szy przyk³ad) i&nbsp;poziomym (³amie linijkê
akapitu). Dwa znaki `<tt>$$</tt>' u¿yte w&nbsp;trybie poziomym spowoduj± przej¶cie
T<sub>E</sub>X-a do trybu matematycznego eksponowanego, ale u¿ycie ich
w&nbsp;ograniczonym trybie poziomym spowoduje utworzenie pustej matematycznej
formu³y i&nbsp;mo¿e powodowaæ komunikaty o&nbsp;b³êdach.

T<sub>E</sub>X korzysta z&nbsp;faktu, ¿e niektóre operacje s± niedopuszczalne w&nbsp;danym
trybie, i&nbsp;pozwala nam unikaæ b³êdów, które mog± pojawiaæ siê w&nbsp;naszych
dokumentach.

<p>
T<sub>E</sub>X bêd±c w&nbsp;danym trybie, zwykle przerywa pracê, aby wykonaæ jakie¶
zadanie w&nbsp;innym, a&nbsp;nastêpnie wraca do trybu pierwotnego. Na przyk³ad
u¿ycie `<tt>\hbox{</tt>' w&nbsp;dowolnym trybie ,,wrzuca'' T<sub>E</sub>X-a w&nbsp;ograniczony tryb
poziomy do czasu napotkania nawiasu zamykaj±cego&nbsp;`<tt>}</tt>'. W&nbsp;tym sensie
T<sub>E</sub>X mo¿e znajdowaæ siê w&nbsp;kilku trybach naraz, jednak sposób
dzia³ania T<sub>E</sub>X-a zale¿y od trybu, w&nbsp;którym jest w&nbsp;danym momencie
,,najg³êbiej''; tryby zewnêtrzne, w&nbsp;których jest zagnie¿d¿ony,
nie obchodz± go.

<p>
Zdarzyæ siê mo¿e, ¿e zupe³nie nie wiemy, w&nbsp;jakim trybie znajduje siê
T<sub>E</sub>X. Co wtedy zrobiæ? Najlepiej zapytaæ o&nbsp;to najwiêkszego eksperta w&nbsp;tych
sprawach, czyli samego T<sub>E</sub>X-a. Spójrzmy na plik <tt>tryby.tex</tt>:
<pre>
\tracingcommands=1
\hbox{
$
\vbox{
\noindent$$
x\showlists
$$}$}\bye
\endverbatim
</pre>
Pierwsza linia tego pliku zmusza T<sub>E</sub>X-a do zapisywania w&nbsp;pliku
<tt>tryby.log</tt> informacji o&nbsp;ka¿dej komendzie, któr± napotka (T<sub>E</sub>X robi tak,
gdy warto¶æ <tt>\tracingcommands</tt> jest dodatnia). Oto jakie nowe informacje
pojawi± siê w&nbsp;pliku <tt>tryby.log</tt>:

<p>

<pre>
{vertical mode: \hbox}
{restricted horizontal mode: blank space}
{math shift character $}
{math mode: blank space}
{\vbox}
{internal vertical mode: blank space}
{\noindent}
{horizontal mode: math shift character $}
{display math mode: blank space}
{the letter x}
</pre>
<p>

A&nbsp;wiêc wiadomo¶ci s± nastêpuj±ce:

<p>
T<sub>E</sub>X, bêd±c w&nbsp;trybie pionowym, ujrza³ ¿eton <tt>\hbox</tt>, co zmusi³o go do
wej¶cia w&nbsp;ograniczony tryb poziomy.

<p>
Pierwszym ¿etonem, jaki ujrza³, by³a spacja, jako ¿e koniec linii oznacza
dla T<sub>E</sub>X-a w³a¶nie spacjê (patrz koniec linii&nbsp;2.)

<p>
Bêd±c ciêgle w&nbsp;ograniczonym trybie poziomym zobaczy³ prze³±cznik trybu
matematycznego --- ¿eton `<tt>$</tt>', co spowodowa³o przej¶cie do trybu
matematycznego.

<p>
Pierwszym ¿etonem jaki ujrza³ by³a znowu spacja, która w&nbsp;tym trybie
nic nie znaczy --- jest ignorowana.

<p>
Nastêpnie T<sub>E</sub>X napotyka na ¿eton <tt>\vbox</tt>, czyli witamy w&nbsp;wewnêtrznym
trybie pionowym, aby po ujrzeniu ¿etonu <tt>\noindent</tt> wej¶æ w&nbsp;tryb poziomy.

<p>
Niezbyt d³ugo trwa³ ten stan, gdy¿ dwa znaki <tt>$$</tt> zanurzy³y T<sub>E</sub>X-a
w&nbsp;eksponowany tryb matematyczny. Bul, bul, bul\dots

<p>
Bardzo interesuj±ca staje siê zawarto¶æ pliku <tt>tryby.log</tt> po komendzie
<tt>\showlists</tt>. Jest to kolejna bardzo u¿yteczna mo¿liwo¶æ ¶ledzenia
poczynañ T<sub>E</sub>X-a. Dziêki niej mo¿emy dowiedzieæ siê rzeczy, które T<sub>E</sub>X
zwykle trzyma w&nbsp;ukryciu.

<p>
<tt>\showlists</tt> powoduje bowiem wypisanie list, które buduje T<sub>E</sub>X
w&nbsp;aktualnym trybie oraz we wszystkich trybach nadrzêdnych (czyli tych,
w&nbsp;których zawiera siê tryb aktualny).

<p>
<pre>
### display math mode entered at line 5
\mathord
.\fam1 x
### internal vertical mode entered at line 4
prevdepth ignored
### math mode entered at line 3
### restricted horizontal mode entered at line 2
\glue 3.33333 plus 1.66666 minus 1.11111
spacefactor 1000
### vertical mode entered at line 0
prevdepth ignored
</pre>


<p>
Zauwa¿my, ¿e w&nbsp;momencie, gdy pojawi³o siê <tt>\showlists</tt> (linia&nbsp;6.), T<sub>E</sub>X
zd±¿y³ ju¿ <b>piêæ</b> razy zmieniæ tryb. Trybem bie¿±cym w&nbsp;linii&nbsp;6. jest
eksponowany tryb matematyczny (patrz linia&nbsp;5.), który zawiera jeden znak
`<tt>x</tt>' z&nbsp;rodziny&nbsp;1. (patrz TB rozdzia³&nbsp;17.).

<p>
Rozwa¿any przez nas eksponowany tryb matematyczny zawarty jest
w&nbsp;wewnêtrznym trybie pionowym (linia&nbsp;4.). Wewnêtrzna lista
pionowa, któr±
T<sub>E</sub>X tworzy w&nbsp;tym trybie, jest pusta --- pojawiaj±ca siê spacja
<pre>
\vbox{_
</pre>
jest ignorowana. Komunikat:
<pre>
prevdepth ignored
</pre>
oznacza, ¿e warto¶æ <tt>\prevdepth</tt><a href=#foo><sup>*</sup></a>
jest mniejsza lub równa -1000pt, wiêc najbli¿szy klej miêdzylinijkowy
(<i> interline glue</i>) w&nbsp;ogóle siê nie pojawi (patrz TB rozdzia³&nbsp;12.).

<p>
Wewnêtrzny tryb pionowy zawiera siê w&nbsp;trybie matematycznym (linia&nbsp;3.)
--- lista wewnêtrzna jest pusta (spacja po znaku `<tt>$</tt>' jest ignorowana).

Pusta natomiast nie jest lista wewnêtrzna ograniczonego trybu poziomego
(linia&nbsp;2.), zawiera ona klej. Sk±d siê wzi±³? Otó¿ w&nbsp;tym trybie spacja
<pre>
\hbox{_
</pre>
nie jest ignorowana.

<p>
Ostatecznie wszystko zawiera siê w g³ównym trybie pionowym. Komunikat:
<pre>
entered at line 0
</pre>
oznacza, ¿e tryb ten pojawi³ siê, zanim T<sub>E</sub>X zacz±³ czytaæ plik
<tt>tryby.tex</tt>.




<h3> Ciekawostki </h3>

<p>
<b> Ciekawostka&nbsp;1.</b>
Czy mo¿na stworzyæ T<sub>E</sub>X-em dokument, w&nbsp;którym T<sub>E</sub>X nigdy nie opuszcza
trybu pionowego?

<b>Odpowied¼:</b>
Mo¿na, dokument taki sk³adaæ siê mo¿e z&nbsp;klejów pionowych
<tt>\vskip</tt> oraz linii utworzonych komend± <tt>\hrule</tt>.

<p>


<b>Ciekawostka&nbsp;2.</b><br>
Niektóre z&nbsp;trybów T<sub>E</sub>X-a nie mog± bezpo¶rednio zawieraæ innych trybów;
na przyk³ad wewnêtrzny tryb poziomy nie mo¿e zawieraæ eksponowanego
trybu matematycznego, nawet je¶li formu³a matematyczna (<i> display</i>)
pojawia siê w&nbsp;¶rodku akapitu. Dzieje siê tak, gdy¿ budowany (w&nbsp;trybie
poziomym) i&nbsp;przerwany akapit jest zawsze koñczony i&nbsp;usuwany z&nbsp;pamiêci
T<sub>E</sub>X-a zanim formu³a siê rozpocznie. Czy potrafisz stworzyæ
charakterystykê wszystkich kolejnych par trybów, jakie mog± pojawiæ siê
w&nbsp;pliku <tt>.log</tt> po u¿yciu komendy <tt>\showlists</tt>?

<p>

<b>Odpowied¼:</b><br>
Pozostawiam ten problem jako rozrywkê umys³ow± dla szanownych
czyT<sub>E</sub>Xników. Powodzenia!
(Odpowied¼ mo¿na znale¼æ w&nbsp;TB str.&nbsp;313 zad.&nbsp;13.5.)

<p>
</i>
Bardzo dziêkujê red. Jackowi Foromañskiemu za unicestwienie wielu b³êdów
czyhaj±cych w&nbsp;tym artykule. CzyT<sub>E</sub>Xnik z&nbsp;pewno¶ci± dosta³by zawrotu
g³owy, gdyby zobaczy³ wersjê przed korekt± Jacka.
</i>


<h3>Bibliografia</h3>


<dl>
<dt>[1] Grupa U¿ytkowników Systemu T<sub>E</sub>X.
<i> Lista pionowa</i>. Marek Ryæko, Kwiecieñ 1995.
 III Konferencja w Bachotku 1995.
<p>
<dt>[2] Donald E. Knuth.
<i> The T<sub>E</sub>Xbook</i>.
Addison-Wesley, 1984.
</dl>


<p>

<hr width=20% align=left>
<a name=foo><sup>*</sup></a>
         Specjalny wymiar <tt>\prevdepth</tt> przechowuje g³êboko¶æ
         ostatniego pude³ka z&nbsp;listy pionowej.<p>
<a name=foo0><sup>**</sup></a>
Na koñcu dokumentu plain-T<sub>E</sub>X-owego umieszczamy zwykle makro <tt>\bye</tt>,
które jest równowa¿ne <tt>\vfill</tt> <tt>\eject</tt> <tt>\end</tt>. Klej <tt>\vfill</tt> prze³±cza
T<sub>E</sub>X-a w&nbsp;tryb pionowy, <tt>\eject</tt> koñczy stronê, za¶ <tt>\end</tt> koñczy pracê
T<sub>E</sub>X-a.<p>

<hr>
Zredagowa³:
<em>W³odzimierz Macewicz</em>
<hr>
</body
</html>