Page MenuHomec4science

tryby.html
No OneTemporary

File Metadata

Created
Thu, Jul 31, 11:57

tryby.html

This document is not UTF8. It was detected as ISO-8859-1 (Latin 1) and converted to UTF8 for display.
<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>
<a href=../index.html><img src="../gify/lew-7vs.gif" hspace=10 border=0 align=left></a>
<a href=http://www.gumbeers.elka.pg.gda.pl/WA><img src="../gify/wa.gif" hspace=10 align=left></a>
<a href=mailto:W.Macewicz@ia.pw.edu.pl><img src="../gify/mail.gif" hspace=10 align=left></a>
Zredagowa³</br>
<a href=http://home.elka.pw.edu.pl/~macewicz/index.html>W³odzimierz Macewicz</a>
<br clear=all>
<hr>
Ostatnie zmiany: 07.04.2001.
</body
</html>

Event Timeline