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
|
Program VLNA
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
verze 1.2 Petr Ol¹ák
Program vlna pøidává vlnky (místo pùvodních mezer) za neslabièné pøedlo¾ky
ve vstupních souborech pro TeX. To zabrání zlomu øádku v ne¾ádoucím místì.
Není pou¾it název "vlnka", abychom odli¹ili pùvodní program vlnka
(autoøi O. Ulrych, ©. Kasal) od tohoto programu vlna. Jedná se o
vylep¹enou a zcela novì napsanou verzi, která není dùslednì zpìtnì
kompatibilní s pùvodním programem vlnka.
POU®ITÍ:
--------
vlna [opt] [jména souborù]
[opt] jsou nepovinné pøepínaèe, které musí být oddìleny mezerou a uvozeny
znakem "-". Mohou být uvedeny v libovolném poøadí.
PØEPÍNAÈE:
----------
-f : Re¾im "filtr". V tomto re¾imu jsou jména souborù interpretována takto:
vlna -f soubor1 soubor2 ... soubor1 -> soubor2 (musí: in!=out)
vlna -f soubor1 ... soubor1 -> stdout
vlna -f ... stdin -> stdout
Není-li program v re¾imu filtr, pak jsou jména souborù interpretována
takto:
vlna soubor1 [soubor2 [soubor3...]]
Zde je ka¾dý soubor "ovlnkován" samostatnì, tj. soubory jsou mìnìny.
Není-li uveden parametr -r, jsou vytváøeny zálohy k souborùm
s vlnkou na konci jména.
-s : Tichý re¾im. Program nevypisuje úvodní zprávu, varovné zprávy a
statistiky o zmìnách v souborech. Tyto texty se vypisují do stderr,
tak¾e v re¾imu filtr není nutné -s zapínat, pokud umíme oddìlit stderr
od stdout. V tichém re¾imu se vypí¹e jen chyba, která pøedèasnì ukonèí
èinnost programu.
-r : Nevytváøet (mazat) zálohy. Není-li program v re¾imu filtr, pak se ke
ka¾dému souboru vytváøí záloha s vlnkou na konci jména. Takové soubory
se internì vytváøejí v¾dy pøi bìhu programu v re¾imu ne-filtr. Je-li
uveden parametr -r, jsou na konci zpracování tyto zálohy mazány.
V re¾imu filtr nemá -r ¾ádný vliv.
-v znaky : Definice znakù, které budeme pova¾ovat za neslabièné pøedlo¾ky,
tj. k ovlnkování. Implicitní hodnota -v KkSsVvZzOoUuAI je pou¾itím
tohoto parametru pøepsána. Mezi -v a skupinou znakù musí být mezera.
-m : Ignoruje pøechody do matematického re¾imu ($...$ a $$...$$) a vlnkuje
i v tìchto prostøedích. Imlicitnì v matematických prostøedích nevlnkuje.
-n : Ignoruje pøechody do verbatim re¾imu (\verb<zn>...<zn>, \begtt...\endtt)
a vlnkuje i v tìchto prostøedích.
-l : LaTeX mód. K vý¹e uvedeným sekvencím ohranièující display math
mód je pøidáno \begin{display}...\end{display} a
\begin{equation}...\end{equation}. K sekvencím ohranièující
verbatim mód je pøidáno \begin{verbatim}...\end{verbatim}
-w : web mód. K sekvencím ohranièujícím verbatim mód je pøidáno
@< nebo @d ... @* nebo @mezera nebo @>| . To zpùsobí, ¾e není
provlnkovaný kód programu ve web souborech, ale jenom komentáøe.
POZNÁMKY:
---------
* Pøed pøedlo¾kou mù¾e být libovolné mno¾ství otevíracích závorek,
pøed kterými musí být mezera nebo zaèátek øádku. Pøed otevírací
svorkou mù¾e také být místo mezery TeXova "\sekvence" (od verze 1.2).
Napø. ([{(V tomto pøípadì bude vlnka za V. Stejnì tak
se vlnka objeví \boldfont{V tomto pøípadì}.
* Ve¹keré aktivity programu je mo¾né vypnout sekvencí %~- a zapnout
sekvencí %~+ (mezi uvedenými znaky mù¾e být libovoné mno¾ství mezer)
* Program kontroluje konzistenci matematických re¾imù. Dá varování
v tìchto pøípadech:
Vstup do display uvnitø t-math (napø. $ ...$$... $). -- pøejde do display.
Prázdný øádek uvnitø t-math nebo display -- pøejde do standardního re¾imu.
Poznamenejme, ¾e uvnitø display se ignorují výskyty jednoho dolaru
naprosto bez varování, proto¾e ty vìt¹inou mohou být souèástí \hbox-u.
Pøi -m není konzistence math. módù kontrolována.
* Program kontroluje konzistenci verbatim módù na konci souboru.
Nebyl-li verbatim mód ukonèen, objeví se varování. Tento test
neprobíhá, pokud je nastaven pøepínaè -n nebo -w.
* Program nedoplòuje vlnky za písmena, která vypadají "jako"
pøedlo¾ky, ale následují bezprostøednì za sekvencemi \TeX nebo
\LaTeX, tj. napø. v textu "Vlastnosti \TeX u jsou" nepøidá vlnku
mezi u a j. Sekvence \TeX a \LaTeX jsou zatím natvrdo implementovány
do programu. Otázka ètení mno¾iny takových sekvencí z konf. souboru
(nebo odjinud) bude (mo¾ná) zahrnuta v dal¹í verzi.
TIPY K POU®ITÍ PROGRAMU:
------------------------
vlna -m -n -s -r soubor ... odpovídá zhruba volání pùvodního vlnka.
Není to zcela pøesné, proto¾e program navíc nevlnkuje za slovy \TeX a
\LaTeX a to se nedá vypnout.
vlna *.tex ... provlnkuje v¹echny soubory s pøíponou .tex.
Pracuje pouze na UNIXu.
vlna -f soubor > /dev/null ... provede test konzistence math a
verbatim módù a neudìlá ¾ádnou zmìnu.
HISTORIE TOHOTO PRODUKTU:
-------------------------
Pùvodní verzi programu vlnka vytvoøil zhruba v roce 1990 Oldøich Ulrych
v Pascalu. Dal¹í vylep¹ení v Pascalském programu udìlal ©tìpán Kasal.
Tento Pascalský program je ¹íøen v balíku CSTeX.
Zde uvedená varianta programu (vlna) byla napsána v únoru 1995 pro
pou¾ití v UNIXových prostøedích, a proto v jazyce C. Pøesnìji byl
pou¾it prostøedek CWEB, který umo¾òuje snadno èíst zdrojový text a
snadno jej modifikovat. Program byl zcela pøepracován (z pùvodního
Pascalského kódu nebylo pou¾ito vùbec nic) a byl do nìj implementován
algoritmus rozpoznávání tzv. patternù (jednoduchých regulárních
výrazù).
Tato varianta programu byla testována na SUN OS a na MS DOS.
V únoru 1998 mi poslal pan Rudof Èejka Makefile a manuálovou stránku
k programu a ve zdrojovém kódu poravil drobné chyby.
23.2.1995 Petr Ol¹ák.
|