summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/doc/generic/tex-virtual-academy-pl/kuchnia/tex.html
blob: a7210b7b87ce375a1f9a97cd26cd1adc54e87cea (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
<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, Wirtualna Akademia">
<title>Program TeX</title>
</head>
<body>

<h2> Parê s³ów o programie TeX</h2>

Najpro¶ciej mówi±c, TeX jest programem s³u¿±cym do sk³adu tekstów,
jego podstawow± rol± jest zast±pienie pracy zecera. Jest to jednak
zbyt du¿e uproszczenie. TeX jest systemem, czyli zbiorem 
ró¿nych narzêdzi, stanowi±cych logiczn± ca³o¶æ, s³u¿±cym do 
profesjonalnego przygotowania publikacji, ze szczególnym uwzglêdnieniem
matematyki. J±drem systemu jest oczywi¶cie program TeX. U¿ywaj±c
terminologii informatycznej jest to specjalizowany makrogenerator przystosowany
do przetwarzania tekstów. Jêzyk, przy pomocy
którego sterujemy sk³adem, pozwala na absolutnie precyzyjne
wyra¿enie swoich ¿yczeñ. Osoba opisuj±ca postaæ dokumentu jest w roli
redaktora technicznego przekazuj±cego swoj± wolê zecerowi. Jêzyk
opisu jest niew±tpliwie trudny, mo¿na powiedzieæ ¿e tak trudny jak
problem, którego rozwi±zaniu s³u¿y.

<p>£amanie tekstu jest nie tylko wiedz±, ale i sztuk±. Ostateczny
kszta³t dokumentu musi uwzglêdniaæ:
tradycjê, regu³y estetyki, zdolno¶ci percepcyjne cz³owieka, funkcjonalno¶æ
i wiele innych aspektów. Iluzj± jest, ¿e jakikolwiek program
jest w stanie samodzielnie uwzglêdniæ wszystkie aspekty; musi zrobiæ to
cz³owiek posiadaj±cy odpowiedni± wiedzê i do¶wiadczenie. Program
jest jedynie narzêdziem, które pozwoli na efektywne osi±gniêcie
postawionego celu. 

<p>Podstawow± cech± programu TeX, ró¿ni±c± go od innych 
jest to, ¿e mo¿e on zrobiæ tyle, na ile pozwala wiedza osoby go
u¿ywaj±cej, a nie tyle, na ile pozwala wyobra¼nia jego twórcy. Jest to
nie tylko system, ale i pewna filozofia podej¶cia do rozwi±zywanego
problemu.

<p>Program TeX zosta³ wymy¶lony i napisany przez Donalda Knutha.
Historia jego powstania jest na tyle ciekawa, ¿e pozwolê sobie j± 
w paru s³owach <a href=hist.html>
przytoczyæ</a>.

<p>Przygotowuj±c publikacjê wydajemy dyspozycje sk³adu w postaci poleceñ,
nastêpnie tak przygotowany tekst przetwarzamy programem TeX. Jest to
dzia³anie w trybie <i>off line</i> w odró¿nieniu od trybu <i>on line</i>
oferowanego przez programy nowej generacji. Ostateczny
efekt zale¿y od precyzji (naszej wiedzy) wyra¿ania naszych ¿yczeñ.
Program wymaga od nas ¶cis³ego formu³owania naszych ¿yczeñ, pozwala
na <b>obiektowe</b> podej¶cie do zagadnienia -- jest to 
naturalne podej¶cie do problemu. Definiujemy obiekty: akapity, tytu³y,
listy, skorowidze, spisy itp. i okre¶lamy sposoby sk³adu tych obiektów: 
marginesy,
czcionkê, odstêpy itp. Maj±c wprowadzony tekst, opisany poleceniami sk³adu,
mo¿emy zmieniæ formê dokumentu zmieniaj±c jedynie
atrybuty (cechy) zdefiniowanych obiektów bez konieczno¶ci
modyfikowania dokumentu. Tryb pracy
popularnych programów typu <dfn>MS-Word</dfn> sprzyja wstawianiu znaków 
steruj±cych w danym miejscu, daj±cych po¿±dany efekt wizualny --
zmiana formy dokumentu wymaga skasowania starych znaków steruj±cych
i wstawienia nowych w <b>ca³ym dokumencie</b>. Praca
z systemem TeX zdecydowanie utrudnia tego rodzaju dzia³anie 
(dora¼na ingerencja wymaga wiêkszej, a nie mniejszej wiedzy). Przystêpuj±c
do pracy nale¿y okre¶liæ jakie efekty chcemy uzyskaæ, zdefiniowaæ
odpowiednie obiekty, które bêd± reprezentowane w ten sposób,
a nastêpnie pos³ugiwaæ siê ich definicjami.

<p>Dodatkow± zalet± pracy z systemem TeX, jest to, ¿e u¿ywamy wy³±cznie
znaków pisarskich bezpo¶rednio dostêpnych na klawiaturze. Pisz±c wzory
matematyczne u¿ywamy nazw symboli i konstrukcji i nie musimy
zmieniaæ trybu pracy edytora, odrywaæ r±k od klawiatury, aby
wzi±æ mysz itp. W 99/100 przypadków z³o¿ony wzór matematyczny
nie wymaga ,,rêcznych'' interwencji; 
w odró¿nieniu od wszystkich innych znanych 
mi programów. Zdefiniowane s± prawie wszystkie u¿ywane symbole
matematyczne (jak do tej pory brakowa³o mi tylko symbolu
potrójnej ca³ki po kole). Nazwy poleceñ odzwierciedlaj± ich funkcje,
nie musimy pamiêtaæ znaczenia wielu klawiszy funkcyjnych, których
znaczenie trudno skojarzyæ z ich nazwami. Je¿eli nazwy poleceñ
s± trudne do zapamiêtania mo¿na w ³atwy sposób tworzyæ ich synonimy.


<p>Niew±tpliwie TeX-a nie da siê u¿ywaæ nie rozumiej±c 
jego jêzyka programowania, w odró¿nienu od programów 
typu <dfn>MS-Word</dfn>, ale twierdzê ¿e sprzyja to systematycznemu
podej¶ciu do problemu. Aby u¿ywaæ TeX-a trzeba zdobyæ niezbêdn± wiedzê
równie¿ o sztuce sk³adu publikacji, nie da siê go u¿ywaæ tak jak starej
maszyny do pisania. W³o¿ony wysi³ek szybko procentuje
wzrostem efektywno¶ci pracy. W znanych mi
narzêdziach, w miarê zdobywania wiedzy o nich i do¶wiadczenia, napotykamy
na liczne bariery, b³êdy i ograniczenia, bardzo denerwuj±ce
do¶wiadczonego u¿ytkownika. U¿ywanie takiego programu staje
siê walk± z narzêdziem, a nie z postawionym zadaniem.
Autor TeX-a zadba³ o to, aby by³ to program <b>bezb³êdny</b> i
jego cechy oraz w³asno¶ci nie uleg³y zmianie;
TeX jest niezwykle stabilnym programem.

<p> Przewagê TeX-a nad innymi programami widaæ szczególnie
przy sk³adzie formu³ matematycznych. Symbole i operatory matematyczne zosta³y
podzielone na grupy. Zosta³y zdefiniowane cechy tych grup i okre¶lone
zasady s±siedztwa (np. odstêp miêdzy znakami). Nazwy symboli s± jasne
i logiczne. Nie musimy okre¶laæ pozycji ka¿dego symbolu; robi to
za nas TeX. Wiele programów (np. WordPerfect) ma zapo¿yczony sposób
definiowania wzorów matematycznych, ale efekt koñcowy jest
drastycznie gorszy (bez rêcznej korekty).

<p>Na szczê¶cie u¿ywaj±c programu TeX mo¿emy korzystaæ z wiedzy
innych. Mamy do dyspozycji ponad 20 MB zbiorów makroinstrukcji,
u³atwiaj±cych proces sk³adu. W celu u³atwienia pracy
w 1982 zosta³ napisany przez L.Lamporta zbiór makroinstrukcji nazwany
systemem LaTeX. Zawiera on definicje najczê¶ciej u¿ywanych
obiektów i okre¶la sposób ich sk³adu. LaTeX jest pewnego rodzaju
nak³adk± na jêzyk sk³adu TeX-a (zdefiniowan± w jego jêzyku),
u³atwiaj±c± pisanie typowych artyku³ów, raportów i ksi±¿ek
przez samych autorów. Opatruj±c tekst kilkoma (no mo¿e kilkudziesiêcioma)
poleceniami, otrzymujemy zadowalaj±cy rezultat sk³adu. Zmieniaj±c
cechy zdefiniowanych obiektów mo¿emy tak± publikacjê bardzo
³atwo dostosowaæ do wymagañ konkretnego wydawnictwa. 

<p>L.Lamport
ma niew±tpliwie du¿e zas³ugi w popularyzacji TeX-a i 
dostosowaniu go do potrzeb ,,normalnego'' u¿ytkownika, ale sam 
kod systemu LaTeX jest bardzo nieporz±dny, w dodatku przez kilka
lat zosta³o napisanych szereg makroinstrukcji pisanych w ró¿ny
sposób, czêsto wprowadzaj±cych efekty uboczne.
W wyniku pracy
p. Franka Mitellbacha i Rainera Sch&ouml;pfa ca³y pakiet LaTeX-a zosta³ napisany
<b>od nowa</b> -- znany jest on pod nazw± LaTeX2e (2 epsilon,
jako forma przej¶ciowa do systemu 3), a coraz
czê¶ciej pod nazw± LaTeX (,,stary'' LaTeX zosta³ nazwany LaTeX-209).

<p>Nowy system ma budowê warstwow±. W jêzyku TeX-a zosta³a zdefiniowana
spójna i logiczna warstwa umo¿liwiaj±ca pisanie kodu prawie ,,proceduralnego'',
a nie jako klasyczne makrowo³ania. 
Zosta³ zdefiniowany elegancki interface
dla programistów definiuj±cych sk³ad i pisz±cych nowe 
pakiety makroinstrukcji. 
Ze wzglêdu na to, ¿e klasyczne
makrogeneratory trac± na znaczeniu, a wiêkszo¶æ programistów
przyzwyczajonych jest do jêzyków proceduralnych (Pascal, C) jest
to niew±tpliwie du¿e u³atwienie.
W tym jêzyku
po¶rednim zosta³ zdefiniowany od nowa system LaTeX, jako zbiór 
poleceñ realizuj±cych podobne cele, jak system LaTeX L.Lamporta. 

<p>Dodatkow± zalet± programu TeX i pakietu LaTeX jest to, ¿e
s± one programami <i>public domain</i>, u¿ywaj±c ich nie musimy
wnosiæ ¿adnych op³at. W szerz±cej siê komercyjnej bylejako¶ci
TeX jest przyk³adem rzadko spotykanej staranno¶ci, stabilno¶ci
 i bezb³êdno¶ci dzia³ania.

<p align="right"> <img src="../gify/podpis.gif">


<hr>
<a href=mailto:W.Macewicz@ia.pw.edu.pl><img src="../gify/mail.gif" hspace=10></a>
<a href=http://www.ia.pw.edu.pl/~wujek/index.html>W³odzimierz Macewicz</a>
<hr>
</body>
</html>