summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/doc/latex/platex/base/platex.html
blob: ed8482ea3478953544965958bb0f15c25247a849 (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
<HTML>
<HEAD>
<meta http-equiv="content-type" content="text/html; charset=iso-8859-2">
<TITLE>PLaTeX, pdfPLaTeX</TITLE>
</HEAD>

<BODY>

<!-- January 2003. Staszek Wawrykiewicz (StaW@gust.org.pl).
teTeX 2.0 revision. Public domain. -->

<center>
<h2>PLaTeX i pdfPLaTeX</h2>
</center>

Dokumentacja niniejsza omawia pokrótce tworzenie formatów dla programów
<code>tex</code> i&nbsp;<code>pdftex</code> (wersji TeX-a tworz±cej od razu
pliki PDF) ze wsparciem dla jêzyka polskiego i&nbsp;ich u¿ycie
w&nbsp;¶rodowisku opartym na  <code>web2c</code> (dystrybucje 
TeX Live/teTeX/fpTeX) lub MiKTeX. <p>

<p>
Poni¿ej pokazano prosty przyk³ad tworzenia pliku z u¿yciem
pakietu PLaTeX. Pakiet ten dostarcza narzêdzi potrzebnych do sk³adu
dokumentów w&nbsp;jêzyku polskim LaTeXem&nbsp;2e.<br>
Autorzy pakietu: Mariusz Olko i Marcin Woliñski.<br>
Wiêcej informacji na temat samego pakietu -- patrz plik 
<code>czytaj.txt</code> dystrybucji PLaTeX.

<p>
Ponadto w&nbsp;dystrybucjach
do³±czono przyk³adowy plik <code>doc/latex/platex/tstlatex.tex</code>.
s³u¿±cy do przetestowania poprawnego 
dzia³ania formatu LaTeX/PLaTeX. Pocz±tkuj±cym u¿ytkownikom zaleca siê 
zapoznanie z&nbsp;zawarto¶ci± tego pliku.
Plik ten dostêpny jest tak¿e na serwerze 
<a href="ftp://ftp.gust.org.pl/pub/TeX/GUST/contrib/zaczynam/">GUST</a>.
Techniczne szczegó³y dotycz±ce u¿ycia pakietu polski.sty 
(g³ówny element pakietu platex) dostêpne s± po dwukrotnym uruchomieniu:<br>
  <code>platex polski.dtx</code><br>
  <code>platex polski.dtx</code><br>
i wy¶wietleniu wynikowego <code>polski.dvi</code>.<p>

<hr>

<h3>I. Przygotowanie formatu LaTeX2e do obs³ugi jêzyka polskiego</h3>

Format w&nbsp;systemie TeX to wstêpnie prekompilowany (aby przyspieszyæ 
jego analizê przez program <code>tex/pdftex</code>) zestaw makrodefinicji oraz regu³
przenoszenia wyrazów dla wybranego zestawu jêzyków. 
Plik formatu z&nbsp;regu³y posiada rozszerzenie <code>.fmt</code>.
Tworzenie formatu to, w&nbsp;skrócie, uruchomienie programu
<code>tex/pdftex</code>
z&nbsp;opcj± <code>--ini</code> i&nbsp;wczytanie odpowiedniego pliku
inicjuj±cego (dla LateX jest to plik <code>latex.ltx</code>).
W&nbsp;LaTeX&nbsp;2e zestaw regu³ przenoszenia wyrazów jest zwyczajowo 
deklarowany w&nbsp;pliku o&nbsp;nazwie <code>language.dat</code>.
Plik ten znajduje siê zwykle w&nbsp;podkatalogu 
<code>tex/generic/config/language.dat</code> lokalnej konfiguracji systemu
TeX b±d¼ w&nbsp;identycznym podkatalogu katalogu g³ównego instalacji. Modyfikacja
<code>language.dat</code> polega na usuniêciu w&nbsp;tym pliku znaku komentarza
`%' w&nbsp;wierszu<br>
<code>polish plhyph.tex</code><br>
i&nbsp;ewentualnym
zablokowaniu takim znakiem niepo¿±danych deklaracji wzorców dzielenia wyrazów.

Przygotowanie formatu:
<ul>
  <li> <b>standardowe</b>: w teTeX nale¿y uruchomiæ program <code>texconfig</code>,
   uaktywniæ regu³y dzielenia wyrazów dla jêzyka polskiego (menu
   <code>Hyphenation</code> uruchamia edycjê pliku
   <code>language.dat</code>; po zapisaniu zmian w&nbsp;pliku
   i&nbsp;zakoñczeniu edycji, zostanie automatyczne wygenerowany format
   <code>latex.fmt</code> zawieraj±cy
   wybrane wzorce dzielenia oraz mechanizm Babel prze³±czania jêzyków;
   <code>texconfig</code> tworzy ponadto dowi±zanie (lub program) 
   <code>latex</code>.<br>
   Dla dociekliwych: powy¿sze odpowiada uruchomieniu z&nbsp;linii
   poleceñ:<br>
   <code>fmtutil --byfmt latex</code><br>
   za¶ na ni¿szym poziomie -- poleceniu<br>
   <code>tex --ini --progname=latex latex.ini</code><br>
   W instalacji MiKTeX (od wersji 2.0) nale¿y uruchomiæ menu 
   <code>MiKTeX Options</code>, zaznaczyæ w&nbsp;podmenu 
   <code>Languages: polish</code> regu³y przenoszenia wyrazów, po czym
   w&nbsp;menu <code>TeX Formats</code> wygenerowaæ (przyciskiem
  <code>Build</code>) nowy format <code>latex.fmt</code>, zawieraj±cy
  polskie wzorce.<br>
  Format <code>pdflatex.fmt</code> dla programu <code>pdftex</code>
  tworzony jest analogicznie.
<li> <b>niestandardowe</b>, które tworzy ,,czysty'' format LaTeX2e zawieraj±cy
   jedynie wybrane wzorce dzielenia wyrazów, bez zbêdnych mechanizmów Babel.
   Jest to metoda preferowana przez wielu polskich u¿ytkownikow. ;-)
   <a href=#AA1>Dlaczego PLaTeX a&nbsp;nie Babel?</a> O&nbsp;tym poni¿ej.
   Dla odró¿nienia przyjêto nazywaæ taki format <code>platex</code>
   (lub <code>pdfplatex</code> dla pdfTeX). Formaty te korzystaj± z&nbsp;,,prywatnej''
   kopii pliku <code>language.dat</code> z&nbsp;zadeklarowanymi od razu
   polskimi i&nbsp;angloamerykanskimi wzorcami przenoszenia wyrazów.
   Procedura opisana 
   w&nbsp;poprzednim punkcie pozwala na wygenerowanie takich formatów
   za pomoc± programu <code>texconfig</code>: menu
   <code>Formats</code>
   uruchamia edycjê pliku <code>fmtutil.cnf</code>, nale¿y tu
   odblokowaæ wiersz dotycz±cy formatu <code>platex</code> lub 
   <code>pdfplatex</code> (usun±æ znak # przed deklaracj± interesuj±cego nas
   formatu) i&nbsp;, po zapisaniu pliku, powróciæ do menu nadrzêdnego;
   ,,w tle'' zostanie wykonany  program <code>fmtutil</code>;
   utworzone zostanie ponadto dowi±zanie
   <code>platex</code> (<code>pdfplatex</code>).<br>
 W wypadku gdy nie mamy (jeszcze) programu <code>texconfig</code> (fpTeX dla
 Windows) procedura generowania formatu <code>platex</code> (lub
 <code>pdfplatex</code>) da siê przedstawiæ nastêpuj±co:<br>
<ol>
<li>nale¿y odszukaæ plik <code>texmf/web2c/fmtutil.cnf</code> (edytujemy 
   kopiê tego pliku
   znajduj±c± si± w&nbsp;lokalnym drzewie katalogów TeX-owych u¿ytkownika 
   lub w&nbsp;drzewie przeznaczonym na lokalne konfiguracje; po³o¿enie 
   w³a¶ciwego pliku poka¿e uruchomienie polecenia
   <code>kpsewhich fmtutil.cnf</code>);
<li> w&nbsp;pliku fmtutil.cnf nale¿y odblokowaæ wiersz dotycz±cy formatu
   <code>platex</code> lub <code>pdfplatex</code> (usun±æ znak #);
<li> uruchomiæ polecenie: <code>fmtutil --byfmt platex --dolinks</code> (lub 
    <code>fmtutil --byfmt pdfplatex --dolinks</code>).
</ol>

 Dla MiKTeX (od wersji 2.0)
 nale¿y uruchomiæ menu <code>MiKTeX Options</code>, w&nbsp;podmenu
 <code>TeX Formats</code> zaznaczyæ format
 <code>PLaTeX</code> (lub <code>pdfPLaTeX</code>) i&nbsp;utworzyæ 
 (przyciskiem <code>Build</code>) potrzebne formaty. 
 
<p>
W&nbsp;omawianych wy¿ej przypadkach tworzony jest plik formatu
 <code>platex.fmt</code> (lub <code>pdfplatex.fmt</code>), który jest
 umieszczany w&nbsp;katalogu w³a¶ciwym dla tego rodzaju
 plików, oraz tworzony jest program <code>platex</code> lub
 <code>pdfplatex</code> (uruchamia on program <code>tex</code> lub
 <code>pdftex</code> z&nbsp;odpowiednim formatem). 
</ul>
<p>


<a name=AA1>
<h4>Dlaczego PLaTeX a&nbsp;nie Babel?</h4>

(Fragment ten jest cytatem z&nbsp;listu nades³anego na listê dyskusyjn± GUST
przez Marcina Woliñskiego).<br>

W&nbsp;porównaniu do pakietu Babel, PLaTeX ma kilka mniej lub bardziej 
istotnych zalet:

</para>
<ul>
<li>
 PLaTeX udostêpnia tradycyjne definicje nazw polskich funkcji 
 trygonometrycznych <code>\tg</code>, <code>\ctg</code>, <code>\arc</code> 
 i&nbsp;polskich znaków mniejsze-równe oraz wiêksze-równe.
<li>
 PLaTeX umie poprawne przenosiæ wyrazy z³o¿one (tj. takie jak np. 
 bia³o-czerwony) udostêpniaj±c do tego celu polecenie <code>\dywiz</code>.
<li>
 PLaTeX wstawia prawid³owe odstêpy na koñcu zdania.
<li>
 Babel nie wspiera do koñca fontów w&nbsp;uk³adzie OT4 (fontów PL), 
 co powoduje, 
 ¿e polskie znaki diakrytyczne w&nbsp;wyrazach wstawianych automatycznie 
 przez LaTeX (dok³adnie ,,ê'' w&nbsp;s³owie czê¶æ oraz ,,±'' w&nbsp;s³owie 
 ,,za³±cznik'') sklejane z&nbsp;dwóch znaków.  Jest to drobny, ale ci±gle 
 nie usuniêty b³±d. (Mo¿na go poprawiæ samodzielnie dokonuj±c niewielkiej
 modyfikacji pliku polish.sty z&nbsp;dystrybucji pakietu Babel.)
 Obwiedniowe fonty OT4 s± niezast±pione przy tworzeniu plików 
 w&nbsp;formacie PDF.
</ul>
<para>
 Podsumowuj±c: je¿eli nie potrzebujemy ¶rodowiska wielojêzycznego to du¿o 
 mniejsza objêto¶æ pakietu PLaTeX oznacza tak¿e mniejsz± liczbê b³êdów
 i&nbsp;potencjalnych kolizji z&nbsp;innymi czê¶ciami LaTeXa.<br>
 [achiwum GUST-L, list z 06/06/1997]
</para>

<hr>

<h3>II. U¿ycie</h3>

Aktualne implementacje, oparte na Web2c, a&nbsp;tak¿e MiKTeX pozwalaj±
na prawid³owe przekodowanie znaków diakrytycznych w&nbsp;pliku TeX-owym
na wewnêtrzn± reprezentacjê, stosowan± przez programy. 
W&nbsp;Polsce, niestety, 
stosowane s± ró¿ne ,,standardy'' kodowania diakrytyków w&nbsp;tworzonych przez
u¿ytkownika plikach, zale¿nie od systemu operacyjnego. Dla potrzeb systemu 
TeX u¿ywamy zewnêtrznych, tekstowych plików TCX, pozwalaj±cych ,,obs³u¿yæ'' 
ró¿ne spotykane ,,standardy''. Dziêki temu przekodowanie dzia³a te¿ 
w&nbsp;drug± stronê, kiedy TeX wy¶wietla komunikaty i&nbsp;zapisuje pliki 
<code>.log</code>, a&nbsp;tak¿e pliki ze spisem tre¶ci, skorowidzem itp.<p>

Uruchomienie polecenia:<br>
<code>latex --translate-file=TCXFILE myfile.tex</code><br>
oznacza uruchomienia TeX-a z&nbsp;formatem <code>latex.fmt</code>
i&nbsp;z&nbsp;odpowiedni± tablic± przekodowañ (ich lista znajduje siê 
poni¿ej). W&nbsp;identyczny sposób uruchamiamy polecenie <code>platex</code>.<p>

Przekodowanie (plik TCX) mo¿e byæ deklarowane bezpo¶rednio w&nbsp;pliku
TeX-owym. Pocz±wszy od wersji Web2c&nbsp;7.4, wymaga to podania 
w&nbsp;wierszu poleceñ opcji <code>--parse</code> lub w³±czenia jej na 
sta³e, co wymaga zmiany w&nbsp;g³ównym pliku
konfiguracyjnym <code>texmf.cnf</code>:<br>
<code>parse_first_line = t</code><br>
(t -- od `true', zamiast domy¶lnego przypisania f -- od `false').

<p>
Przyk³adowo, je¶li <b>pierwszy</b> wiersz pliku zawiera
 komentarz strukturalny postaci<br>
     <code>%&platex --translate-file=il2-pl</code><br>
 to plik mo¿e byæ przetworzony za pomoc± polecenia <code>tex plik.tex</code>;
 zostanie wtedy wczytany format <code>platex.fmt</code> oraz tablica
 <code>il2-pl.tcx</code>
 przekodowania z&nbsp;uk³adu iso8859-2 do uk³adu fontów PL (wewnêtrznego
 dla programu TeX; w&nbsp;LaTeX-u ma on kryptonim OT4).<p>

Tym samym zbêdna jest deklaracja w&nbsp;preambule pliku LaTeX-owego:<br>
      <code>\usepackage[latin2]{inputenc}</code><p>
      <code>\usepackage[OT4]{fontenc}</code><p>


W&nbsp;dystrybucjach dostarczono szereg plikow TCX. Mo¿na je znale¼æ
w&nbsp;katalogu <code>texmf/web2c/</code>:<br>
<table border>
<tr>
 <td>  amiga-pl.tcx </td> <td> AmigaPL do PL </td>
</tr>
<tr>
   <td>il2-pl.tcx</td>    <td> iso8859-2 (latin2) do PL </td>
</tr>
<tr>
   <td>cp1250pl.tcx</td> <td> Windows cp1250 do PL </td>
</tr>
<tr>
   <td>cp852-pl.tcx</td>  <td> IBM cp852 do PL </td>
</tr>
<tr>
   <td>macce-pl.tcx</td>    <td> Apple MacCE do PL  </td>
</tr>
<tr>
   <td>maz-pl.tcx</td>    <td> Mazovia do PL  </td>
</tr>
</table>

<p>
A oto przyk³ad pliku LaTeX-owego:

<pre>
        %& --translate-file=cp1250pl
        \documentclass[a4paper]{article}
        \usepackage{polski}
        \begin{document}
          Polskie literki piszemy w standardzie Windows cp1250: .....
        \end{document}
</pre>

     Jak widaæ, nasz plik ma krótk± preambu³ê -- pakiet <code>polski</code>
     korzysta domy¶lnie z&nbsp;zainstalowanych fontów PL (odpowiada mu uk³ad 
     OT4, wiêc zbêdna jest deklaracja <code>\usepackage[OT4]{fontenc}</code>). 
     Je¶li korzystamy
     z&nbsp;fontów EC nasza preambu³a powinna zawieraæ dodatkowy wiersz:<br>
     <code>\usepackage[T1]{fontenc}</code>


<h3> III. Polskie fonty PostScriptowe</h3>

 Aktualne dystrybucje zawieraj± fonty serii PL
 (spolonizowane standardowe dla TeX-a fonty CM) w&nbsp;wersji 
 Type&nbsp;1 (postscriptowe).
 Mo¿na je tak¿e znale¼æ w&nbsp;najbli¿szym wê¼le CTAN lub jego kopii,
 np.:<br>
 <code>ftp://sunsite.icm.edu.pl/CTAN/fonts/psfonts/polish/plpsfont/</code>.<br>
 Pliki <code>.pfb</code> powinny znale¼æ siê w&nbsp;podkatalogu
 <code>texmf/fonts/type1/public/pl/</code> naszej instalacji, za¶ pliki 
 map fontowych (<code>.map</code>) oraz wektory kodowañ 
(<code>.enc</code>) -- w&nbsp;katalogu <code>texmf/dvips/pl/</code>
<p>
W dystrybucjach opartych na Web2c zautomatyzowano, poprzez u¿ycie programu
<code>updmap</code>, proces tworzenia map fontowych dla programów
<code>dvips</code>, <code>pdftex</code> 
i&nbsp;<code>dvipdfm</code>. Poni¿ej omówiono wiêc jedynie czego ten proces
dotyczy.
<p>
 Sterownik <code>dvips</code> (zamieniaj±cy wynik pracy TeX-a, plik DVI,
 do formatu PostScript) wymaga aby deklaracje map fontowych 
 (dla fontów PL konkretnie zawarto¶æ <code>texmf/dvips/pl/pl.map</code>) 
 by³y do³±czone do pliku <code>texmf/dvips/config/psfonts.map</code>.
 Mapy fontowe mo¿na alternatywnie do³±czyæ w&nbsp;pliku 
 <code>texmf/dvips/config/config.ps</code> (lub jego lokalnej kopii),
 dopisuj±c wiersz:<br>
 <code>p +pl.map</code><br>
 po deklaracji g³ównej mapy fontowej: <code>p psfonts.map</code>. <p>

 Aby fonty Type&nbsp;1 by³y u¿yte przez program <code>pdfTeX</code>, 
 nale¿y sprawdziæ jakie mapy fontowe s± deklarowane w&nbsp;pliku 
 <code>texmf/dvips/config/pdftex.map</code> -- powinien on tak¿e
 zawieraæ deklaracje map fontowych dla fontów PL.<p>

W&nbsp;dystrybucjach wszystkie aktualnie dostêpne polskie fonty
Type1 s± gotowe do u¿ycia zarówno przez program <code>dvips</code>,
jak i&nbsp;<code>pdftex</code>.<p>

Bardziej szczegó³owe omówienie instalacji fontów Type1 zawarte
jest w&nbsp;artykule <a href="http://www.gust.org.pl/fonty/fonthint.html">Instalowanie
fontów Type1/True Type</a>. <p>

<hr>

<i>Staszek Wawrykiewicz</i> (StaW@gust.org.pl), 13.01.2003.

</BODY>
</HTML>