Tutorial Latex
Tutorial Latex
Cuprins
1 Notiuni generale
1.1 Pro si contra . . . . . . . . . . .
1.2 Istoric . . . . . . . . . . . . . .
1.3 TEX . . . . . . . . . . . . . . .
1.3.1 Numele . . . . . . . . .
1.3.2 Cutiute . . . . . . . . .
1.3.3 Macro-uri . . . . . . . .
1.3.4 TeX: un limbaj imposibil
1.4 METAFONT . . . . . . . . . .
1.4.1 Leslie Lamport . . . . .
1.4.2 LATEX . . . . . . . . . .
1.5 LATEX2e si LATEX3 . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
2 METAFONT
2.1 Ce nsemna METAFONT? . . . . .
2.2 Cum lucreaza METAFONT? . . . .
2.3 De ce avem nevoie? . . . . . . . . .
2.3.1 UNIX si clone ale acestuia .
2.3.2 Windows . . . . . . . . . . .
2.3.3 Macintosh . . . . . . . . . .
2.3.4 Alte programe . . . . . . . .
2.4 Modul proof al lui METAFONT
2.5 Un exemplu . . . . . . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
3 METAPOST
3.1 Introducere . . . . . . . . . . . . . . . . .
3.2 Compilarea METAPOST . . . . . . . . . .
3.3 Tipuri de date . . . . . . . . . . . . . . . .
3.4 Comenzi uzuale . . . . . . . . . . . . . . .
3.4.1 Comanda draw . . . . . . . . . . .
3.4.2 Comanda fill . . . . . . . . . . . . .
3.5 Includerea figurilor METAPOST n LATEX
3.6 Concluzii . . . . . . . . . . . . . . . . . . .
1
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
6
6
9
11
11
12
14
14
15
15
16
17
.
.
.
.
.
.
.
.
.
18
18
19
20
21
21
22
22
23
24
.
.
.
.
.
.
.
.
30
30
30
31
33
33
33
35
35
4 HTML
4.1 Introducere . . . . . . . . . . . . . . . . . . . . . . . . .
4.2 Liste . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.2.1 Liste neordonate . . . . . . . . . . . . . . . . . .
4.2.2 Liste imbricate . . . . . . . . . . . . . . . . . . .
4.2.3 Liste ordonate . . . . . . . . . . . . . . . . . . . .
4.2.4 Atributul start al unei liste ordonate . . . . . . .
4.2.5 Liste de definitii . . . . . . . . . . . . . . . . . . .
4.3 Tabele . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.3.1 Elemente de baza . . . . . . . . . . . . . . . . . .
4.3.2 Atributele cellpadding si cellspacing . . . . . . . .
4.3.3 Elementul <th> . . . . . . . . . . . . . . . . . .
4.3.4 Latimea si naltimea unui tabel . . . . . . . . . .
4.3.5 Culoare si imagine de fundal . . . . . . . . . . . .
4.3.6 Latimea si naltimea unei celule . . . . . . . . . .
4.3.7 Atributele colspan si rowspan . . . . . . . . . . .
4.3.8 Eticheta <caption> . . . . . . . . . . . . . . . . .
4.4 Legaturi . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.4.1 Tehnologia client-server . . . . . . . . . . . . . . .
4.4.2 Adresa URL . . . . . . . . . . . . . . . . . . . . .
4.4.3 Prima legatura . . . . . . . . . . . . . . . . . . .
4.4.4 Utilizarea unei imagini la definirea unei legaturi .
4.4.5 Legaturi la o pagina Web aflata pe sistemul local
4.4.6 Ancore . . . . . . . . . . . . . . . . . . . . . . . .
4.4.7 Legaturi la alte tipuri de fisiere . . . . . . . . . .
4.4.8 Legaturi la adrese e-mail . . . . . . . . . . . . . .
4.5 Cadre . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.5.1 Retea de cadre . . . . . . . . . . . . . . . . . . .
4.5.2 Seturi de cadre imbricate . . . . . . . . . . . . . .
4.5.3 Atributele elementului <frameset> . . . . . . . .
4.5.4 Atributele elementului <frame> . . . . . . . . . .
4.5.5 Destinatii . . . . . . . . . . . . . . . . . . . . . .
4.6 Multimedia . . . . . . . . . . . . . . . . . . . . . . . . .
4.6.1 Fisiere de aplicatii . . . . . . . . . . . . . . . . .
4.6.2 Fisiere de date . . . . . . . . . . . . . . . . . . .
4.6.3 MIME . . . . . . . . . . . . . . . . . . . . . . . .
5 Prezentarea aplicatiei
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
37
37
37
38
38
39
40
40
41
41
42
42
43
43
43
44
45
45
45
46
46
47
47
47
48
49
49
49
50
51
52
53
54
54
54
55
56
Introducere
Lucrarea de fata trateaza un subiect ce a preocupat omenirea de mii de ani ntrucat
sta la baza oricarei comunitati umane: comunicarea, mai exact cea scrisa. Cum
ajungem de la acest lucru la LATEX vom vedea n randurile urmatoare. Daca naintea
erei noastre preocuparea era inventarea unui sistem de scriere mai apoi problema a
devenit transcrierea pe un suport a cuvintelor. Inventarea de catre chinezi a hartiei
a fost un pas urias n acest domeniu deoarece mesajele puteau fi mult mai usor
scrise, trimise n mai multe locuri fara ca cel ce la scris sa mearga acolo, de exemplu
poruncile regilor care se aduceau la cunostiinta populatiei.
Un alt pas important a fost aparitia tiparului, fapt ce a permis raspandirea mult
mai rapida a cunostiintelor acumulate de-a lungul [Link] mai multi oameni au
ajuns sa aiba acces la educatie iar acest lucru a determinat un si mai mare avant n
ridicarea nivelului tehnologic cat si a nivelului de cultura n randul oamenilor din
categoriile mai [Link] a tipari o carte fiecare pagina era compusa din randuri
de litere de plumb puse una cate una n niste cadre care la tineau [Link]
o munca migaloasa si periculoasa n acelasi timp deoarece plumbul este un metal
[Link] odata literele asezate se puteau face multe copii ale aceleiasi pagini si
astfel un numar nsemnat de carti e adevarat marea majoritate din domeniul religios
ajungeau n centrele culturale ale vremii.
Trecand la vremurile moderne se remarca aparitia tiparelor rotative puse n
miscare de motoare, cat si a masinii de scris. Acestea au mbunatatit in mod semnificativ viteza de redactare si calitatea cartilor si [Link] acum autorii
puteau scrie la masina de scriscare era un obiect de dimensiuni rezonabilesi
sa dea spre tiparire texte care erau mult mai usor de nteles de catre tipografi reducandu-se astfel numarul erorilor.
Dupa Al Doilea Razboi mondial, odata cu aparitia primelor calculatoare a nceput
o noua era n industria tipografica. Spun industrie deoarece n ultima suta de ani
productia de tiparituri a cunoscut o crestere extrem de puternica, presa s-a dezvoltat
enorm, au aparut mii de ziare populatia a crescut si de asemenea nevoia de cultura
si de informatie au crescut si ele.
Vechile obceiuri de a pune literele una cate una cu mana au disparut cantitatea
de publicatii n crestere dar si noile tehnologii impunand de la sine acest lucru. S-a
uitat si de batutul la masina de scris care totusi avea niste limitari cum sunt numarul
de caractere, posibilitatile de formatare a textului sau imposibilitatea de a corecta
cea mai mica greseala. Locul a fost luat de tehnoredactarea computerizat
a adica
redactarea cu ajutorul calculatorului.
Aceasta mbunatatire majora a revolutionat nca o data modul de realizare a
documentelor scrise. Orice text n acest moment poate fi trimis unei tipografii si
tiparit n cel mai scurt timp munca fizica reducandu-se foarte mult. Si greselile,
n cazul unei lucrari scoase n mai multe editii pot fi foarte repede corectate. Insa
cu tot progresul tehnologic unele sectoare de activitate necesitau cerinte dificil de
atins chiar si de catre tipografia moderna. Unul dintre acestea fiind matematica.
3
De ce LATEX
Problemele legate de imposibilitatea de a redacta la un nivel suficient de nalt carti
si articole din domeniul matematic l-au determinat pe un tanar matematician si
programator in acelasi timp pe nume Donald Knuth sa ia decizia de a rezolva el
nsusi acest lucru[2]. Doctor n matematica, Knuth a fost nemultumit de calitatea
la care i scotea lucrarile editura la care a apelat. Astfel n timp ce lucra la o
serie de carti despre programare (carti devenite celebre ulterior) el si-a ndreptat
atentia asupra modalitatilor de tiparire a cartilor si a conceput un program pentru
redactarea de texte n special matematice dupa toate standardele vremii (vorbim aici
de anii 0 70) si care sa includa toate semnele conoscute si utilizate n matematica.
Dupa cativa ani de munca a venit si rezultatul, unul care a uimit lumea prin calitatea tipariturilor. Programul a fost numit TeX autorul explicand alegerea facuta.
Si mai mult a uimit gestul domnului Knuth care a pus la dispozitia oamenilor rezultatele muncii sale facand publice codurile sursa ale programului TeX cat si a programelor auxiliare. Programul a castigat multi adepti n mediul academic unde era
folosit intensiv.
Unul dintre ei a devenit Leslie Lamport (vezi Figura 3) care foarte repede a
nvatat ba chiar a mbunatatit programul printr-o serie de macro-uri care si acestea
au devenit foarte populare printre utilizatorii TeX-ului. Leslie Lamport a si scris
o carte [9] despre TeX-ul astfel modificat, carte care a avut un succes imens si
care a fost republicata de nenumarate ori. Carte a fost numita The LATEX BookCartea de LATEX . Numele cartii vine evident de la cel ce a adus TeX-ul la un nivel
superior. LATEX este sensibil mai simplu decat TeX utilizatorii nvatandu-l mult mai
repede, pe langa acest lucru LATEX a fost n permanenta mbunatatit. A fost nevoie
de o initiativa a unui grup de oameni preocupati de pastrarea acestui program la
standarde mondiale, initiativa ce s-a nascut la nceputul anilor 0 90.
Acest grup nu numai ca a corectat o serie de mici buguri ale programului dar
a si pus bazele unei noi aplicatii pe baza celei existente, care sa perfectioneze acest
instrument extraordinar (atat ca si complexitate cat si ca utilitate). Fiind pus la
dispozitia oricui are nevoie de el pe gratis si fiind n acelasi timp o unealta care
producea rezultate extraordinare LATEX a capatat o raspandire globala. S-au realizat pachete pentru suportul mai tuturor limbilor vorbite n lume. LATEX a devenit
instrumentul principal de tiparire al oamenilor de stiinta. Oricine doreste sa faca o
teza de doctorat sau o carte apeleaza aproape inevitabil la LATEX .
In Romania[1] LATEX a patruns mai greu n parte datorita situatiei politice ce nu
permitea cu usurinta comunicarea cu lumea occidentala, n parte datorita situatiei
economice doearece putini si permiteau un calculator personal si nici institutiile de
nvatamant nu erau dotate corespunzator.
4
Partea buna este ca n ultimii ani lucrurile s-au schimbat simtitor n bine pe
ambele planuri. LATEX este din ce n ce mai utilizat n institutiile de nvatamant.
Rezultat practic
Cu toate ca atat cadrele didactice cat si studentii au nteles modul profesionist de
a redacta un document scris si au software-ul necesar pentru a duce la bun sfarsit
acest obiectiv ei ntampina unele dificultati n aprofundarea modului de utilizare al
acestuia. In lucrarea de fata mi propun sa dezvalui cel putin o parte a istoriei si
cadrului n care s-a dezvoltat LATEX .
Aplicatia realizata prezinta o serie de notiuni despre utilizarea LATEX si editarea
de texte. Cunostiintele necesare pentru parcurgerea acestui tutorial sunt minime,
este considerat pregatit pentru a-l studia cel ce:
detine cunostiinte generale de utilizare a calculatorului;
stie sa foloseasca un editor de text cum sunt Emacs sau wordpad;
cunoaste unde poate gasi cele 95 de caractere ASCII pe tastatura si ce nseamna
acestea;
stie sa creeze, copieze, mute, stearga, redenumeasca un fisier (director);
Daca aceste conditii minime sunt ndeplinite cititorul nu va avea probleme n
parcurgerea cu succes a tutorialului.
Notiuni generale
Multi oameni descopera LATEX dupa ani si ani de batai de cap cu procesoarele de text
obisnuite si nu le vine sa creada ca TeX exista de peste 25 ani desi ei nu auzisera de
el. Nu este o conspiratie ci doar un secret bine pastrat de cateva milioane de oameni.
Si timp de atatia ani a ramas popular probabil din cauza faptului ca utilizatorii nu
mai trebuie sa se preocupe de formatarea frecventa a documentelor.
Desigur pentru un nou-venit este atractiv sa se joace cu fonturile si cu culorile,
nsa pentru un om care vrea sa faca un lucru serios, amplu si de calitate este contraproductiv, el doreste mai degraba sa se poata concentra asupra continutului lucrarii.
A nvata utilizarea unui astfel de program poate fi relativ dificila nsa autorul nu
trebui sa-si faca treaba si mai grea folosind o aplicatie care distrage atentia la fiecare
cateva secunde pentru ca stie sa functioneze singura.
LATEX ramane singura aplicatie ce formateaza n mod automat textul matematic
n felul dorit de matematician. Donald Knuth a publicat si cartea Mathematical
Writing n care arata importanta faptului ca autorul unei carti sa se concentreze
asupra continutului ei.
Dar TeX este mai mult decat matematica: este o masina de scris programabila,
care poate ndeplini orice task de formatare si poate fi folosita de aproape oricine.
Prin trecerea TeX-ului n domeniul public, acestui program nu i s-a facut publicitate
n vreun fel si astfel el a ramas cunoscut n principal n domeniul academic. Cu
toate acestea exista n zilele noastre o multime de companii care vand implementari
LATEX , multe care accepta spre publicare documente editate n LATEX si sute de mii
de utilizatori care apeleaza n mod frecvent la acest program.
1.1
Pro si contra
Cand oameni ce utilizeaza programe de tip WYSIWYG se ntalnesc cu cei care prefera LATEX ei adesea discuta despre avantajele si dezavantajele LATEX . Ca utilizatori
de LATEX este bine sa cunoasteti partile tari ale acestui sistem de tehnoredactare.
Desi cel mai bine ar fi sa evitati o asemnea discute cata vreme nu cunoasteti subiectul asa cum trebuie deoarece deseori discutia ajunge la un punct care nu va convine.
Insa uneori nu puteti scapa. Asa ca iata principalele puncte forte ale LATEX asupra
editoarelor obisnuite de text:
sunt accesibile stiluri implicite care fac documentele LATEX sa arate ca tiparite;
suportul pentru editarea de formule matematice este excelent;
utilizatorii au nevoie doar de stapanirea unor comenzi care specifica structura
logica al documentului. Ei aproape ca nu trebuie sa se preocupe de cum arata
practic documentul;
chiar si structuri complexe cum sunt notele de subsol, referintele ncrucisate,
bibliografia sau cuprinsul sunt usor de generat. In cazul n care utilizatorul
6
Descrierea complet
a a limbajului si a o sumedenie de pachete suplimentare
este cuprinsa n nu mai putin de trei carti! Ca atare textul de fata este o
introducere extrem de sumara n capabilitatile LATEX .
Uneori printre cei nou-veniti apar unele confuzii cu privire la TeX si LATEX .
Pentru a evita pe viitor asemenea situatii iata ce este una si ce este cealalta:
TeX este un program de tehnoredactare ce a fost scris de Profesorul Knuth
de la Universitatea Stanford n jurul anului 1978. Implementeaza un limbaj
de programare cu circa 300 de comenzi de baza si a format nucleul pentru
numeroase sisteme DTP (desktop publishing). Si desi se poate nca edita
texte n limbajul TeX este nevoie de studiu n profunzime trebuie sa stiti sa
scrieti macro-uri (subprograme) pentru a putea face si cea mai simpla actiune
repetata.
LATEX este o interfata pentru TeX realizata de Leslie Lamport Digital Equipment Corporation (DEC) n 1985 pentru a automatiza toate actiunile repetitive necesare pregatiri unui document. LATEX pune la dispozitia utilizatorilor
toata puterea TeX fara ca utilizatorul sa fie nevoit sa nvete limbajul de la
nivelul inferior. LATEX este sidtemul recomandat pentru toti utilizatorii cu
exceptia tipografilor profesionisti si a specialistilor n computere care sunt
interesati n conceptele de baza ale Tex.
1.2
Istoric
Creatia lui Knuth nu se termina aici; este autorul a peste douazeci de carti si a
cateva sute de articole, de la matematica, analiza algoritmilor, tipografie digitala,
pana la analiza unor texte biblice!
Domnul Knuth are o pagina de web foarte comprehensiva, care reflecta propensiunile sale literare, dar a renuntat de mai bine de zece ani sa mai foloseasca posta
electronica, din cauza ca primea prea multe scrisori de la nenumaratii fani. In urma
cu cativa ani a iesit la pensie, dar asta nu nseamna ca s-a oprit din activitatea
didactica n ntregime; tine n continuare prelegeri la Universitatea Stanford si n
alte locuri unde este invitat, si afirma ca vrea sa-si dedice majoritatea timpului
ramas completarii celor sapte volume din Arta programarii, a caror serie a fost
ntrerupta temporar n urma cu 26 de ani. Afirma de asemenea ca nu mai primeste
studenti n calitate de ndrumator la doctorat, dar ca va semna teza de doctorat a
oricui rezolva n timp scurt (2-3 saptamani) una din problemele nerezolvate pe care
le propune din cand n cand n prelegerile sale (aviz amatorilor de un doctorat pe
fuga).
Aceasta este schita de portret a unuia dintre cele mai pitoresti personaje din
informatica. Chiar daca ne-am abatut de la subiectul acestui lucrari, am considerat
necesar sa vorbesc putin despre el.
1.3
TEX
Vom vedea mai departe ca LATEX nu e nimic altceva decat un pachet de definitii
(macro-uri) n limbajul TeX creat de Knuth. Ca atare vom arunca ntai o privire
rapida asupra acestui limbaj.
Versiunile succesive de TEX sunt numerotate cu zecimalele numarului la ora
actuala s-a ajuns la versiunea 3.14159.
1.3.1
Numele
Primul lucru care trebuie clarificat este pronuntia: TeX se citeste de fapt tech,
si nu tex. Iata explicatia lui Don Knuth pentru etimologie, extrasa din primul
capitol al cartii de TEX: English words like technology stem from a Greek root
beginning with the letters . . . and this same Greek word means art as well as
technology. Hence the name TeX, which is an uppercase form of .
Insiders pronounce the of TEX as a Greek chi, not as an x, so that TeX
rhymes with the word blecchhh. Its the ch sound in Scottish words like loch or
German words like ach; its a Spanish j and a Russian kh. When you say it
correctly to your computer, the terminal may become slightly moist. n traducere:
Cuvinte ca tehnologie sunt formate dintr-o radacina greceasca care ncepe cu
literele (tau, epsilon, chi); acest cuvant grecesc nseamna el nsusi arta dar
si tehnologie. De aceea numele TeX, care este scrierea cu litere majuscule a
cuvantului .
11
Cutiute
Conceptele fundamentale cu care TeX opereaza sunt cutiutele si lipiciul (boxes and
glue). Motorul care tehnoredacteaza nu stie mare lucru despre fiecare caracter; tot
ceea ce i trebuie este sa stie dimensiunile unei cutii care cuprinde caracterul, ca n
figura 2. TeX nu stie nimic despre care puncte din cutie vor fi pictate cu cerneala si
care nu; aceasta este treaba altor scule.
Textul este asamblat din astfel de cutiute puse una langa alta. TeX aranjeaza
cutiute una dupa alta pe orizontala formand randuri. Cand un rand se termina,
TeX face din el o cutiuta mai mare si pune cutiutele-randuri una peste alta. Fiecare
pagina este tot o cutie, asamblata din mai multe randuri puse unul peste altul.
Utilizatorul poate crea cutii cu dimensiuni negative; n felul acesta se pot obtine
efecte speciale, micsorand distanta dintre caractere sau scriind caractere suprapuse.
12
Figura 2: Trei litere si cutiile din care fac parte, puse una langa alta. TeX opereaza
tot timpul doar cu cutii, si nu stie nimic despre cum arata literele de fapt. Cu linie
punctata este indicata cutia obtinuta din alipirea celor 3 litere.
Comenzi speciale pot muta cutiile (de exemplu daca vrem sa facem un exponent
putem folosi semnul , care va ridica cutia care urmeaza si va micsora font-ul).
In TeX mai exista si un alt tip special de cutie, care se cheama clei. Ca
si cutiutele, clei-ul are o anumita dimensiune, dar n plus are capacitatea de a se
ntinde si comprima ca un elastic. Intre cuvintele de pe o linie TeX pune automat
lipici; asta permite spatiilor dintre cuvinte sa se ntinda sau sa se comprime pentru
a ajusta frumos marginea din dreapta a liniei. Cu cat se ntinde mai mult lipiciul,
cu atat mai dureros este rezultatul, pentru ca asezarea n pagina se departeaza de
la cea ideala.
TeX foloseste conceptul de lipici pentru a calcula despartirea n randuri optima
a unui text. TeX foloseste pentru asta o formula matematica, care n functie de cat
de ntins este lipiciul din fiecare rand calculeaza frumusetea unui paragraf. Cand
programul desparte n randuri un paragraf, foloseste un algoritm destept inventat
de Knuth (folosind programare dinamica) pentru a calcula taieturile care ofera cel
mai placut efect estetic, dintre toate cele posibile.
Folosind tipuri speciale de lipici, care se ntinde la infinit fara dureri, se pot
obtine efecte speciale: de exemplu punnd lipici la marginea din dreapta a fiecarui
rand se pot obtine pagini la care randurile nu sunt egale, ci sunt aliniate la stanga.
Punand lipici la ambele parti se obtin randuri centrate.
Asta e tot! Folosind cutiute si lipici mpreuna cu algoritmi inteligenti de aranjare
n pagina TeX obtine tipografie de calitate extraordinara.
Trebuie mentionate aici formulele matematice: modul n care TeX formateaza
matematica este nca neantrecut, desi sistemul este vechi de peste douazeci de ani.
Cand are de tehnoredactat o formula, TeX foloseste un algoritm sofisticat care recalculeaza dimensiunile si plasamentele tuturor cutiutelor n functie de tipurile de
simboluri care apar: fiecare simbol este catalogat ca fiind ntr-una din 13 categorii:
operator binar, operator relational, accent, un semn de punctuatie, un tip de paranteza nchisa sau deschisa, semn de fractie, radical, etc. Fiecare din aceste categorii
de simbol se comporta ntr-un anume fel n raport cu vecinii sai; unele simboluri
cresc cat este necesar pentru a se adapta la cutiile cu care sunt vecine (de exemplu
linia de fractie sau parantezele).
13
1.3.3
Macro-uri
TeX este un limbaj foarte original. Principalul concept din acest limbaj este macroinstructiunea, numita familiar si macro. Cei care programeaza n C sunt familiarizati
cu macro-urile, care sunt acolo definite cu comanda #define. Un macro este practic
o instructiune care arata cum un anumit text este substituit cu un altul.
Limbajul TeX este n ntregime bazat pe macro-uri. Fiecare variabila este de fapt
un macro care este substituit n text cu valoarea sa. Limbajul are un set restrans de
operatii primitive (cea mai primitiva operatie fiind cea de a desena un caracter),
si toate celelalte operatii sunt definite din acestea folosind macro-uri. Unele macrouri se pot expanda la randul lor ntr-un text care contine macro-uri, care trebuie
expandate la randul lor, etc. In felul acesta, folosind macro-uri recursive, limbajul
foloseste un concept rudimentar de bucla.
Limbajele bazate pe macro-uri sunt extrem de puternice; de fapt sunt la fel
de puternice ca orice alt limbaj; pentru demonstratie Andrew Marc Greene de la
universitatea MIT a scris n 1992, n 470 de linii de TeX (inclusiv comentarii) un
interpretor complet de BASIC! (Un alt limbaj bazat pe macro-uri foarte folosit este
m4.) Dar anumite complicatii cu macro-urile fac de fapt folosirea lor extrem de
dificila. Cele mai multe probleme apar din ordinea de evaluare: cand avem un
macro aplicat altui macro, care dintre ele trebuie expandat ntai? In functie de
ordine putem avea rezultate diferite.
In TeX problemele sunt exacerbate din cauza ca nu exist
a cuvinte rezervate, ca
n toate limbajele cu care suntem obisnuiti. Fiecare cuvant sau chiar fiecare caracter
poate fi transformat ntr-un macro, care se expandeaza n altceva! Expansiunea unui
macro poate genera o definitie care schimba semnificatia macroului nsusi!
1.3.4
Cu tot respectul pentru dl. Knuth, care a jucat un rol foarte important n 1968
n construirea primului compilator de Algol, si care a contribuit la crearea unor
importante concepte n teoria compilatoarelor, limbajul TeX este o varza completa.
Utilizatorul trebuie sa consume un efort de imaginatie substantial pentru a face
programele sa functioneze, fiind foarte atent la ordinea de evaluare si la efectele
laterale ale fiecarui macro.
Pentru ca unele macro-uri le redefinesc pe altele, avem o neplacuta problema de
dependenta: efectul unui program TeX depinde de mediul n care este invocat.
Pentru ca efectele prin variabile globale si definitii de macro-uri nu sunt ntotdeauna
controlate clar, programele TeX sunt foarte greu de scris si de depanat. Mai mult,
unele concepte care functioneaza foarte frumos n izolare, au mari probleme cand
sunt folosite laolalta (de exemplu, n LATEX e foarte complicat sa faci note de subsol
n tabele).
Utilizatori sofisticati pot folosi TeX pentru a tehnoredacta texte relativ simple,
dar doar o mana de oameni poate exploata TeX cu usurinta. Eu cred ca design-ul
mizerabil al limbajului este unul dintre motivele fundamentale pentru care TeX nu
14
este folosit pe scara mai larga. De fapt TeX ar fi trebuit de mult sa fie scos din
circulatie de produse mai usor de folosit; singura explicatie pentru longevitatea sa
este faptul ca piata pentru un program de tehnoredactare de matematica este extrem
de ngusta, iar dificultatea implementarii unui program de tehnoredactare atat de
sofisticat (cu toata publicarea algoritmilor si a codului sursa) este enorma (Knuth
este un programator colosal, cu o atentie nemarginita pentru detaliu).
1.4
METAFONT
Simultan cu TeX, Knuth a construit un alt program foarte interesant, numit METAFONT, care poate genera familii ntregi de font-uri dintr-o singura specificatie. Astfel, programatorul descrie forma generala a fiecarui caracter; fisiere de configuratie
pot apoi genera toate familiile de font-uri dintr-o singura descriere: caracterele
si
oblice, grase, egale, CAPITALIZATE, italice si variatele
si fara serife sunt toate generate apoi automat din aceeasi descriere.
marimi, cu
dimensiuni
1.4.1
Leslie Lamport
Inainte de a afla mai multe detalii despre LATEX , ne ntalnim din nou cu o figura
colosala a informaticii, Leslie Lamport. Desi mai putin faimos decat Donald Knuth,
Leslie Lamport este unul dintre cercetatorii cei mai renumiti din domeniul calculatoarelor. Domeniul sau de specialitate este teoria sistemelor distribuite si verificarea
formala. Dupa ce a obtinut un doctorat n matematica n 1972 de la universitatea
Brandeis, a lucrat pentru o vreme la compania Stanford Research Institute (initial
formata prin colaborare cu universitatea Stanford; SRI este unul din cele mai mari
centre de cercetare din ntreaga lume, care lucreaza pe baza contracte). In timp
ce lucra aici Lamport a creat sistemul LATEX . Dupa un scurt timp s-a mutat la
centrul de cercetari Systems Research Center (SRC) al companiei Digital (care a
fost ntre timp cumparata de Compaq). Lamport lucreaza n continuare la Compaq
SRC, unde puteti gasi si pagina sa de web:
[Link]/SRC/personal/lamport/[Link].
Inainte de a discuta despre cea mai cunoscuta creatie a lui Lamport, LATEX , se
cuvine sa mentionam unele dintre contributiile lui fundamentale n teoria sistemelor
concurente si distribuite:
Lamport a clarificat n 1978 notiunea de timp si sincronizare ntr-un sistem
distribuit, folosind notiunea de acum clasica de ceasuri Lamport
O problema celebra n sisteme distribuite pentru care Lamport a oferit o solutie
n 1982 este cea a generalilor bizantini, care discuta despre posibilitatea ca
un sistem distribuit sa tolereze defectiuni arbitrare n unele din componentele
sale
In 1990 Lamport a introdus notiunea de logica temporala a actiunilor, Temporal Logic of Actions, TLA, despre care se spune ca este n continuare cel
15
LATEX
16
(dar poate fi facuta, daca utilizatorul chiar doreste), un set de comenzi esentiale este
oferit, care organizeaza documentul ntr-o forma logica, si sunt introduse fisierele
de stil, care grupeaza declaratii care influenteaza arhitectura ntregului document;
schimbarea stilului se poate face separat de cea a continutului. LATEX introduce
de asemenea suport pentru referinte ncrucisate (genul vezi figura X, unde X
este numerotat automat de sistem), etichete, cuprins, index, bibliografie, unele cu
ajutorul unor programe suplimentare care proceseaza texte.
1.5
LATEX2e si LATEX3
LATEX face o treaba destul de buna; este un limbaj destul de rezonabil, n care se
pot produce relativ repede rezultate atractive; matematica este tehnoredactata la
ntreaga putere a TeX-ului. Dar implementarea LATEX era greu de mentinut si dezvoltat, asa ca ncepand din 1993 o serie de voluntari si programatori din ntreaga
lume au pornit un nou proiect numit LATEX3 (versiunea de LATEX la acea data era
2.09). LATEX3 este un proiect n evolutie, dar a fost deja lansata o versiune preliminara, numita LATEX2e.
LATEX a fost n ntregime re-implementat ntr-o maniera asemanatoare cu programarea orientata pe obiecte, ntr-o serie de module separate. Unele module se
pot nlocui unele pe altele, si felul n care utilizatorii pot contribui cu noi module este standardizat. Asta a dat nastere la o cantitate remarcabila de facilitati noi
aduse limbajului si sistemul de folosire a font-urilor a fost extins si perfectionat[3][4],
permitand LATEX sa foloseasca font-uri dezvoltate de terti (si nu numai Computer
Modern).
LATEX2e este compatibil cu 2.09, dar nu si invers. Limbajul de baza 2.09 este
complet inclus n 2e.
17
METAFONT
In aceasta sectiune voi face o introducere ntr-unul din programele auxiliare ce vine
odata cu fiecare implementare LATEX - METAFONT[8]. La fel ca si LATEX nici acesta
nu necesita cunostiinte deosebite n materie de calculatoare. Stapanirea utilizarii la
nivel general a calculatorului cat si a unui editor de text cum este Notepad sunt
suficiente.
2.1
Ce nsemn
a METAFONT?
Cred ca cea mai buna cale de a ntelege despre ce vorbim este sa ntelege m ce
nseamna numele sau.
Sa ncepem cu sfarsitul, acolo gasim cuvantul FONT. Ce nseamna font este o
ntrebare la care este mai greu de raspuns decat pare. Daca ne uitam pe Internet1
vom gasi o serie de definitii diferite. Insa deoarece suntem interesati de designul
fontului vom spune ca fontul este o colectie de caractere de acelasi fel sau model
n limbajul tipografului. Sau mai degraba o realizare a unui anume model (exemplu fizic lemn sau aliaj) sau n limbajul calculatorului un font mediu n acord cu
anumiti parametri cum ar fi marimea, latimea, naltimea(normal si aldin sunt doua
exemple de naltime) contrast(diferenta ntre partile subtiri si cele groase ale caracterului) stil(normal, italic, monospatiat, de imprimanta etc.) prezenta sau absenta
de serife( acele mici decoratiuni care apar unde se termina caracterele mari) si forma
lor. Dar nu trebuie sa ne limitam la aceasta lista, putem noi crea parametri nostri
Si acesta este locul unde apare Meta- . Meta este un prefix de origine greceasca a
carui simpla traducere nseamna dupa dar datorita ntorsaturii evenimentelor(de
vazut aici2 ) a devenit de ordin superior, dincolo n latina si apoi n toate limbile moderne (cu exceptia limbii grecesti unde si-a pastrat vechiul nteles). Deci
avem metalimbaje (limbaje folosite pentru a descrie limbaje) metaistorie (studiu
despre cum vad si studiaza oamenii istoria) metateoreme(teoreme despre teoreme)
metareguli (reguli despre reguli) etc. Practic se poate spune Meta- la orice facandu-l
mai tare, superior. Dar mai este unloc unde Meta- este folositor si anume la designul fonturilor. In mod obisnuit font design nsemna ca pentru fiecare valoare a
parametrilor amintiti mai devreme (si orice parametri ai fonturilor pe care le creati)
trebuie sa realizati un font ntreg (cateva sute de caractere) si asta doar pentru un
singur model (existenta de fonturi scalabile adicafonturi care pot fi folosite la orice
marime, ajuta un pic avand grija de parametrul size dar acesta este doar unul
dintr-o multime de parametri). Chiar si cu ajutorul unor instrumente moderne cum
ar fi programe de desenat fonturi, este o treaba lunga si plictisitoare. Ar fi mai
interesan sa facem meta-design adica sa desenam ce este independent de valorile
parametrilor. In loc sa desenati un font pentru fiecare combinatie de parametri mai
ati descrie modelul o data, si apoi introducand separat lista de parametri sa lasati
1
2
[Link] [Link]
[Link]
18
2.2
Cum lucreaz
a METAFONT?
Deci METAFONT este un sistem care va permite sa creati sute de fonturi usor
si cu un minimum (care poate totusi sa nsemne deatul) de munca de la creatorul
uman. Cum merge asta? Ei bine s-ar putea sa va surprinda dar METAFONT este
o aplicatie cu o singura linie de comanda (numita mf pe majoritatea platformelor si
[Link] pe platformele Windows). Pe scurt nu are interfata grafica (nici o ferastra sau
asa ceva). Trebuie apelata prin linie de comanda sau un program ajutator. Si atunci
cum puteti crea fonturi cu un aemenea program cu care nu poti desena? Simplu:
acest program este un interpretor. Ia o serie de comenzi ca input si le executa cate
una o data pe cum le primeste. Cu alte cuvinte METAFONT este de asemenea un
limbaj de programare ca si C, BASIC, Pascal(n care sursa originala a fost scrisa),
Perl si binenteles TeX.
Si atunci cum introduceti programele pentru ca METAFONT sa le poata interpreta? Ei bine sunt mai multe cai, dar cea mai obisnuita este sa faceti un fisier
continand instructiunile, si sa comunicati numele fisierului lui mf. Fisierul propriuzis trebuie sa fie plain text si sa aiba extensia mf. mf va citi fisierul si va returna(daca
totul este bine) doua fisiere cu acelasi nume dar cu extensii diferite(proces numit
compilare). Unul dintre fisiere va avea extensia .tfm . Este numit font metrics
file. Contine informatie cum este marimea caracterelor. Al doilea fisier va avea
o extensie de forma .<numar>gf unde numar este o anumita valoare cu trei cifre.
Contine forma actuala a caracterelor. Ambele fisiere formeaza fontul si ambele sunt
necesare pentru a avea un font functional. Bun, si asta-i tot? Ei bine ar fi fost prea
simplu sa fie asa. Pentru nceput nu vom folosi fisierul cu extensia gf. El trebuie
mai ntai transformat ntr-un fisier mai mic care sa contina aceeasi informatie dar
sa fie mpachetat(arhivat). Veti face asta cu un al doilea program numit GFtoPK
([Link] pe platformele Windows) iar fisierul rezultat va avea acelasi nume cu
diferenta ca extensia lui a devenit .<numar>pk (cu acelasi numar ca fisierul gf3 ).
Fisierele pk si tfm formeaza n acest moment fontul iar ultimul lucru care trebuie
facut este sa le puneti ntr-un n care TeX si LATEX sa le gaseasca. Odata facut acest
3
Pe unele platforme, cum este Windows, extensia actuala a fisierelor pk trebuie sa fie .pk fara
numar. Trebuie s
a verificati fisierele pk instalate pentru a vedea n ce fel trebuie sa facet fisierele
dvs.
19
lucru puteti folosi fontul cu LATEX . Pare complicat? Ca multe lucruri este mai
complicat de explicat decat de facut practic. Si nu va faceti griji daca nu ntelegeti
nca, metoda va fi repetata din cand n cand si va veti lamuri. Deocamdata iata un
sumar al metodei:
1. Scrie unul(sau mai multe) fisiere plain text continand instructiuni METAFONT(adica un program METAFONT) si salveaza-l(le) cu extensia .mf
2. Executa fisierul cu programul mf . Rezultatul va fi doua fisiere cu extensia
.tfm si .<numar>gf.
3. Arhiveaza fisierul .tfm cu programul GFtoPK. Va rezulta u n alt fisier cu
extensia .<numar>pk (sau pk)
4. Muta fisierele pk si tfm ntr-un loc n care sa fie gasit de TeX si LATEX
5. Si gata! Enjoy!
2.3
De ce avem nevoie?
Ei si acum apare problema: de unde luam aceste programe? Raspunsurile sunt chiar
aici, nsa mai ntai nainte sa vedem de unde luam aceste programe sa vedem de ce
anume avem nevoie.
Un calculator cu un sistem de operare pe el. Bine bine dar asta suna atat de evident ca doare, dar partea buna aici este ca orice calculator este bun. LATEX si
METAFONT au fost adaptate pe probabil toate platformele folosite astazi
incluzandu-le pe cele care nu mai sunt suportate deloc(cum ar fi TOPS-20 un
var al sistemului de operare WAITS cel pe care TeX a fost initial dezvoltat).
Aceste adaptari sunt mai mult sau mai putin actualizate dar de vreme ce dezvoltarile pentru TeX si METAFONT au fost stopate(versiunile existente astazi
sunt finale, cu exceptia corectarii unor buguri noi aparuteun eveniment extrem de rar, aceste doua programe sunt aproape fara buguri) probabil nu veti
sesiza niciodata diferenta, iar fisierul sursa va fi compilat axect n acelasi fel
cu exact aceleasi rezultate pe orice platforma unde METAFONT este instalat.
Un editor de text. Este vorba de cel mai simplu editor de text si normal fiecare
platforma vine cu cel putin unul inclu s din start(cum este Notepad pentru
Windows si Vi pentru Unix). Dar nimic nu va mpiedica sa folositi un editor
diferit care sa scoata n evidenta sintaxa sau alte asemenea optiuni.
O implementare LATEX . De ce ar fi LATEX interesat de METAFONT? Ei bine
dupa cum am spus la nceput TeX(si implicit LATEX ) si METAFONT sunt
esentiale unul celuilalt. TeX nu poate lucra fara METAFONT si METAFONT este fara rost daca n-ar exista TeX. As ca METAFONT vine cu fiecare
implementare LATEX si instaland implementarea LATEX va instala automat si
20
Daca aveti o platforma UNIX de orice fel (Linux, Sun Solaris, BSD etc.) exista
o mare probabilitate sa aveti deja o implementare LATEX n varianta completa iar
acea implemntare este foarte posibil sa fie teTeX. Intr-un asemenea caz nu aveti
ceva de facut si puteti sari de aceasta sectiune. Daca nu aveti destul noroc sa
aveti o implementare LATEX instala ta pe calculator dumneavoastra atunci va trebui
sa o instalati si desigur sfatul meu este sa instalati teTeX deoarece este cel mai
actualizat si cea mai usor de instalat implementare LATEX pentru sistemele UNIX.
O puteti descarca de pe pagina principala teTeX5 . Dar nainte sa ajungeti acolo v-as
sfatui sa controlati daca varianta de UNIX pe care o detineti are un sistem specific
sau o distributie LATEX adaptata la specificatiile sistemului. Acest lucru ar putea
sa va scuteasca de ceva munca (de exemplu n cazul Debian GNU/Linux si altele,
simpla comanda apt-get install tetex-base va face toata treaba de descarcare si
instalare a distributiei teTeX) iar cine doreste editor de text cu sintaxa scoasa n
evidenta nu este nici o problema, atat Vim 6 cat si Emacs 7 au un mod METAFONT
inclus ntre optiunile de editare a textului.
2.3.2
Windows
21
text care va permite sa va scrieti cu usurinta sursele TeX (cu evidentierea sintaxei)
si sa-l compilati cu un singur click de maus astfel ncat sa nu mai fiti deloc nevoiti
sa folositi linia de comanda. Al doilea este Crimson Editor 9 un editor customizabil
al programatorului. Il recomand deoarece este usor de configurat ca sa mearga n
linie de comanda si are de asemenea optiunea de evidentiere a sintaxei.
2.3.3
Macintosh
Alte programe
Lista ce am dat-o aici este doar pentru instalarea de baza a TeX/LATEX si METAFONT. In functie de platforma ce o aveti este posibil sa aveti nevoie si de alte
programe (cum sunt vizualizator PostScript sau PDF). Dar din cauza ca acestea
privesc doar TeX si LATEX si nu METAFONT n loc sa explic totul aici simplu va
sfatuiesc sa vizitati paginile Web respective. Fiecare pagina furnizeaza informatii
despre cum sa optimizati distributia LATEX 14 astfel ncat sa va bucurati de puterea
lui maxima.
9
[Link]
[Link]
11
[Link]
12
[Link]
13
[Link]
14
De aici ncolo m
a voi referi mai mult la LATEX deoarece ultimul este cel mai des folosit de
utilizatori.
10
22
2.4
Pentru a ntelege, a doua este adesea atribuita lui Albert Einstein desi acum se pare ca i este
atribuita lui Thomas A. Edison
16
What You See Is What You Get.
17
What You Get Is What You Want.
23
(cu acelasi nume dar extensia DVI) pe care l puteti vedea cu vizualizatorul DVI
ce vine cu distributia LATEX dvs. In acest fisier fiecare pagina este un proofsheet
dedicat unui singur caracter, tiparit foarte mare(de 20-30 ori fata de dimensiunea
normala a caracterelor fontului) si nsotit de informatie importanta (cel putin daca
a-ti facut METAFONT sa afiseze aceasta informatie). Sectiunea urmatoare va arata
un exemplu de proofsheet si explicatiile necesare pentru informatia ce o puteti gasi
acolo.
Bun si asta-i tot? veti spune, ar fi prea usor. Din pacate modul standard
pentru METAFONT este proof-mode de regula nu veti putea sa o folositi imediat.
Aceasta din cauza ca proofsheets-urile folosesc un font numit gray pentru a arata
caracterele mari, iar acest font de obicei nu este accesibil pentru a fi folosit direct
n distributiile LATEX . Din fericire sursa pentru acest font este ntotdeauna inclusa,
asa ca este simplu sa o compilati pentru a obtine fontul care sa fie functional.
2.5
Un exemplu
u#:=4/9pt#;
define_pixels(u);
beginchar(66,13u#,16u#,5u#);"Letter beta";
x1=2u; x2=x3=3u;
bot y1=-5u; y2=8u; y3=14u;
x4=6.5u; top y4=h;
z5=(10u,12u);
z6=(7.5u,7.5u); z8=z6;
z7=(4u,7.5u);
z9=(11.5u,2u);
z0=(5u,u);
penpos1(2u,20);
penpos2(.5u,0);
penpos3(u,-45);
penpos4(.8u,-90);
penpos5(1.5u,-180);
penpos6(.4u,150);
24
18
19
20
21
22
23
24
25
26
27
penpos7(.4u,0);
penpos8(.4u,210);
penpos9(1.5u,-180);
penpos0(.3u,20);
pickup pencircle;
penstroke z1e..z2e..z3e..z4e..z5e..z6e..{up}z7e..z8e..z9e..{up}z0e;
labels(range 1 thru 9);
endchar;
end
Salvati fisierul cu numele [Link]. Apoi deschideti o fereastra n linie de comanda18 mergeti la folderul unde a-ti salvat fisierul [Link] si scrieti urmatoarea
linie:
mf [Link]
Apasati tasta ENTER. Daca totul functioneaza corect (si daca n-ati facut vreo
greseala cand a-ti copiat programul) ar trebui sa vedeti un rezultat foarte asemanator
cu acesta:
This is METAFONT, Version 2.71828 (MiKTeX 2.3)(preloaded base=plain
2003.2.20)
**[Link]
([Link] Letter beta [66] )
Output written on
beta.2602gf (1 character, 2076 bytes).
si, posibil (pe o platforma UNIX sau asemanatoare) ceva forma grafica semanand
cu litera greceasca beta. Daca va uitati n director veti vedea n schimb ca a aparut
un fisier beta.2602gf la fel ca si un fisier [Link] care contine textul precedent.
Continuati si introduceti linia urmatoare:
gftodvi beta.2602gf
Rezultatul este neinteresant dar veti observa ca n directorul dvs. aveti si un fisier
[Link] . Deschideti-l cu un vizualizator DVI, veti vedea un rezultat asemanator
cu figura urmatoare(vezi figura 4):
Pentru a ntelege cum v-ati ales cu o asemenea figura, sa aruncam o privire mai
ndeaproape la codul programului:
18
Voi considera c
a rulati METAFONT n linie de comanda. Daca faceti altfel pe platforma dvs
(de exemplu dac
a sunteti pe un Mac sau utilizati Crimson Editor configurat cu METAFONT), pur
si simplu utilizati actiunile corespunz
atoare. N-ar trebui sa aveti probleme n a afla cum trebuie
facut.
25
26
27
29
3
3.1
METAPOST
Introducere
Figura 5: Cercuri
Figura este obtinuta rotind un cerc de cate ori este nevoie pana la obtinerea rezultatului dorit. Limbajul de programare al METAPOST pune la dispozitie de asemenea
un mecanism placut de creare a animatiilor fara a trebui sa cream manual fiecare
cadru al ei. Avantajul principal al EPS este ca se poate scala la orice rezolutie fara
pierderi de calitate. De asemenea poate fi usor convertit n PNG (Portable Network
Graphics) si Joint Photographic Experts Group (JPEG) sau alte formate vectoriale
incluzand Portable Document Format (PDF) si Scalable Vector Graphics (SVG).
3.2
Compilarea METAPOST
O sursa METAPOST tipica consta n una sau mai multe figuri. Compilarea sursei
ne da una sau mai multe figuri EPS. Daca [Link] este un fisier tipic METAPOST,
atunci continutul are forma urmatoare: Executandu-l
30
mpost [Link]
va genera urmatorul rezultat:
Pentru cei ce doresc sa inceapa rapid un vizualizator METAPOST poate fi gasit
3.3
Tipuri de date
pictures-imagini
transform-transformari cum sunt rotatiile, rasucirile
color-triplete RGB
string-siruri pentru etichetat
boolean-valori true sau false
pen-proprietati de penita
Practic toate limbajele de programare ofera un mod de stocare si returnare a datelor.
Acesta este n METAPOST rolul tipului da data numeric. Iar deoarece grafica
desenata n METAPOST este imagine bidimensionala, este evident ca o pereche
de valori este necesara pentru a identifica fiecare punct din imagine iar tipul pair
furnizeaza acest lucru. Fiecare punct din plan are un x (abscisa) si un y (ordonata).
METAPOST foloseste sintaxa standard pentru a defini punctele n plan unde ambele
(x si y) sunt variabile numerice.
Pentru a pastra calea dintre puncte, tipul path este folosit. Toate aceste cai
sunt n METAPOST reprezentate de curbe Bezier. Curbele Bezier sunt niste simple
curbe parametrice de forma (x(t), y(t)) unde ambele (x(t) si y(t)) sunt parti ale
unui parametru t. Curbele Bezier cubice sunt suficient de variate ncat sa ofere o
cale lina ntre toate punctele cu care interpoleaza. METAPOST pune la dispozitie
mai multe metode de a afecta curbele Bezier dintre o lista de puncte.
Tipul de data picture este folosit pentru stocarea unei ntregi imagini. De exemplu pentru a crea animatii, de multe ori sunt imagini care raman la fel pe durata
mai multor cadre a animatiei. Asa ca pentru ca acele imagini sa nu mai fie desenate
manual din nou, este o metoda convenabila ca ele sa fie redesenate automat si deci
pastrate ntr-o variabila.
Cand construim perechi, cai sau imagini n METAPOST este adesea de preferat
sa aplicam tranzitii usoare acestor obiecte. Dupa cum am mentionat mai sus, figura 5
poate fi construita prin rotirea aceluiasi cerc nainte de al desena. METAPOST furnizeaza
tranzitii fine cum este building blocks din care alte tranzitii pot fi realizate. Acestea includ rasuciri, rotiri, scalari si inclinari.
Sunt cinci culori standard n METAPOST :black, white, red, green, si blue.
Totusi pot fi realizate propriile culori folosind tipul color. Culorile sunt niste triplete
RGB unde r este continutul de rosu, g cel de verde iar b de albastru. Prin urmare
culoarea rosie se va scrie (1,0,0) iar negru (0,0,0). De asemenea daca o culoare este
mai des utilizata ea poate fi stocata ntr-o variabila de tipul color.
Cea mai obisnuita folosire a tipului string este un sir denumit. Tipul boolean se
foloseste exect ca n celelalte limbaje de programare ca element conditional. In fine
tipul pen este folosit la trasarea liniilor. Unitatea de masura n METAPOST este 1
bp = 1/72 in, iar grosimea standard este 0.5 bp. Un desen poate include mai multe
linii, iar acestea pot fi trasate cu pen care poate lua diferite valori ce pot fi stocate
pentru uz ulterior.
32
3.4
Comenzi uzuale
Comanda draw
Comanda draw[7] este cea mai folosita n METAPOST .Cu ea se pot desena linii
sau imagini. Pentru a desena o linie de la z1:=(0,0) la z2:=(54,18) si z3:=(72,72) va
trebui sa hotaram cum vrem ca aceasta sa arate. De exemplu daca dorim doar sa
unim punctele vom face comanda
draw z1--z2--z3;
Dar daca vrem o linie mai fina vom scrie
draw z1..z2..z3;
Pentru a specifica directia n fiecare punct vom utiliza operatorul dir. In figura 6
vedem ca linia este orizontala in z1, face unghi de 45o in z2 si verticala in z3. Aceste
constrangeri sunt impuse de
draw z1{right}..z2{dir 45}..{up}z3;
3.4.2
Comanda fill
Alta comanda comuna n METAPOST este comanda fill. Este folosita pentru umple
liniile nchise(ciclurile). Pentru a construi un ciclu,cycle poate sa faca parte din
declaratia caii. De exemplu:
path p;
p:=z1{right}..z2{dir 45}..{up}z3--cycle;
fill p withcolor red; draw p;
33
Linia p--reverse q--cycle merge n jurul lui p n sens invers ceasului, apoi traverseaza la q de unde o ia n sensul acelor de ceasornic(folosind un operator reverse)
iar n final ajunge n punctul de plecare cu ajutorul -cycle. Aceasta linie este ilustrata n figura 9
3.5
3.6
Concluzii
36
HTML
4.1
Introducere
4.2
Liste
37
4.2.1
Liste neordonate
Elementele listei pot fi particularizate folosind atributul type care poate lua valorile
square, circle si disc.
Exemple de legume:
<ul>
<li type="square">rosii</li>
<li type="circle">cartofi</li>
<li type="disc">morcovi</li></ul>
4.2.2
Liste imbricate
Listele pot fi imbricate una n interiorul alteia. Pentru a realiza acest lucru, utilizati
a doua lista (imbricata) ca un articol n prima lista(exterioara). Exemplu:
38
4.2.3
Liste ordonate
Elementele listei pot fi particularizate folosind atributul type care poate lua valorile A (litere mari), a (litere mici), I (cifre romane mari), i (cifre romane mici), 1
(optiunea default):
39
Medii de stocare:
<ol> <li type="I">HDD-ul</li>
<li type="I">discheta</li>
<li type="I">CD-ROM-ul</li> </ol>
4.2.4
Prin definitie primul simbol dintr-o serie este 1, a, A, i sau I. Puteti modifica
acest parametru prestabilit, atribuind o valoare atributului start al elementului
<ol>.Valorile posibile sunt numere ntregi pozitive(valoarea prestabilita este 1)
<html><head></head><body>
Text normal<ol type="A" start="5">
Pasii finali in dezvoltarea unei aplicatii software sunt:
<li>testare
<li>dezvoltare
<li>instructaj
<li>mentenanta
</ol> </body></html>
4.2.5
Liste de definitii
Aceste liste sunt delimitate de etichetele <dl>si </dl>. Termenii listei sunt delimitati
de etichetele <dt>si </dt>iar definitiile termenilor de <dd>si </dd>.
Legenda: <dl> <dt>HTML</dt>
<dd>Hyper Text Mark-ul Language</dd>
<dt>IP</dt> <dd>Internet Protocol</dd> </dl>
40
4.3
4.3.1
Tabele
Elemente de baz
a
41
4.3.2
4.3.3
Elementul <th>
Daca dorim sa evidentiem continutul primului rand (capul de tabel) putem folosi
perechea de etichete <th>si </th>n locul etichetelor <td>si </td>. Astfel continutul
celulei va fi afisat ngrosat si aliniat pe mijloc.
<table border="1"> <tr> <th width="120">Titlul 1</th> <th
width="120">Titlul 2lt;/th> </tr> <tr> <td>1</td> <td>2</td> </tr>
<tr> <td>3</td> <td>4</td> </tr> </table>
42
4.3.4
L
atimea si n
altimea unui tabel
Prin definitie, browserul calculeaza latimea si naltimea unui tabel astfel ncat continutul
fiecarei celule sa fie afisat corect. Proiectantul poate defini dimensiunile unui tabel
utilizand atributele width si height. Valori posibile pentru aceste atribute sunt:
Numere ntregi pozitive, inclusiv 0 (reprezentand dimensiunea n pixeli)
Procentaje (reprezentand un procentaj din dimensiunea blocului parinte)
<table border width="40%" height="120">
<tr><td>c11<td>c12<td>c13</tr>
<tr><td>c21<td>c22<td>c23</tr>
</table>
4.3.5
Culoarea de fundal poate fi stabilita prin definirea atributului bgcolor. Acest atribut
poate fi aplicat ntregului tabel utilizand elementul <table>, unei linii utilizand
elementul <tr>sau unei singure celule utilizand elementul <td>.
Imaginea de fundal poate fi stabilita prin definirea atributului background. Acest
atribut poate fi aplicat ntregului tabel utilizand elementul <table>, unei linii utilizand elementul <tr>sau unei singure celule utilizand elementul <td>.
In ambele situatii, daca exista mai multe atribute(bgcolor respectiv background)
prioritatea este urmatoarea: mai ntai elementul <td>, apoi elementul <tr>si n
final elementul <table>. Valoarea atributului background este o referinta la un
fisier imagine.
<table border width="40%" height="120" bgcolor="lightgreen">
<tr bgcolor="ltblue"><td bgcolor="yellow">c11<td>c12<td>c13</tr> <tr
bgcolor="red"><td>c21<td background="[Link]">c22<td>c23</tr>
</table>
4.3.6
L
atimea si n
altimea unei celule
Prin definitie, browserul calculeaza latimea si naltimea unui tabel astfel ncat continutul
fiecarei celule sa fie afisat corect. Proiectantul poate defini dimensiunile celulei utilizand atributele width si height ale elementului <td>. Valori posibile pentru aceste
atribute sunt:
43
44
4.3.8
Eticheta <caption>
4.4
Leg
aturi
WWW este un acronim pentru World Wide Web. World Wide Web a fost proiectat
ca un set de resurse globale partajate, stocate pe diferite servere si conectate la
Internet (cea mai mare retea de calculatoare publice din lume). Un utilizator poate
accesa oricare dintre aceste resurse si poate naviga foarte usor de la una la alta
folosind comenzi de baza generate prin intermediul mausului si/sau tastaturii.
Legaturile sunt elementele dintr-o pagina Web care fac posibila navigarea ntre
resursele Internet. O legatura este o proprietate atasata unui bloc de text sau unei
imagini care le permite sa accepte comenzi de la maus si/sau tastatura.
4.4.1
Tehnologia client-server
Cand se executa clic cu butonul din stanga al mausului pe o legatura (sau cand
legatura este activa si utilizatorul apasa tasta <ENTER>), au loc urmatoarele
evenimente:
45
Adresa URL
Prima legatur
a
Pentru a crea o legatura, utilizati elementul <a>...</a>(elementul ancora). Elementul <a>trebuie sa aiba un atribut src care identifica adresa URL (absoluta sau
relativa) a resursei. Continutul elementului <a>...</a>este afisat de browser sub
forma de legatura si poate accepta comenzi de la maus si/sau tastatura.
Pentru a naviga printre legaturile dintr-o pagina Web, se poate utiliza tasta
<TAB>. La un moment dat, nu poate fi evidentiata(activa) decat o singura legatura.
In jurul legaturii active este afisat un chenar dreptunghiular. In acest moment, utilizatorul poate apasa tasta <ENTER>pentru a deschide respectiva legatura, fara a
folosi mausul.
<html><head></head><body> Puteti afla totul despre HTML vizitand
site-ul <a href="[Link]
</body></html>
46
4.4.4
4.4.5
Leg
aturi la o pagin
a Web aflat
a pe sistemul local
In cazul unei aplicatii care ruleaza pe sistemul local (adica nu n Internet), se poate
defini o legatura la un fisier HTML local. In acest scop, utilizati atributul href ca
in exemplul urmator:
href=[Link] Documents/[Link]
unde:
[Link] -este protocolul pentru accesarea sistemului local
c:/My Documents/ -este calea catre directorul n care este localizata resursa
[Link] -este numele resursei
4.4.6
Ancore
Ancorele pot fi utilizate pentru navigarea la diferite sectiuni ale unei pagini care
este prea lunga pentru a fi afisata pe un singur ecran sau pentru navigarea la o
anumita sectiune a unei alte pagini Web. Ancora este un identificator al inceputului
unui element care apartine unei pagini Web. Dupa ce definti o ancora, puteti crea
legaturi catre ea. Exista doua cai de definire a unei ancore:
47
4.4.7
Leg
aturi la alte tipuri de fisiere
Puteti defini legaturi catre orice tip de fisier, nu doar catre fisiere HTML. Ce se
ntampla dupa ce utilizatorul executa clic pe legatura (sau apasa <ENTER>, daca
legatura este activa) depinde de capacitatile browserului. Exista doua posibilitati:
Cazul1:Daca browserul cunoaste si poate lucra cu respectivul tip de fisier (utilizand
o aplicatie ajutatoare sau un program de completare), el va afisa corect fisierul n
fereastra sa (acest lucru se ntampla, de exemplu, cu imagini, text, fisiere PDF si
alte fisiere similare).
Cazul2:Daca browserul nu cunoaste si nu poate lucra cu noul tip de fisier, el va
ncerca sa descarce fisierul pe sistemul client (va aparea o fereastra File Download)
48
4.4.8
Leg
aturi la adrese e-mail
4.5
Cadre
Cadrele permit browserului sa afiseze simultan mai multe pagini Web. Caracteristic
acestor pagini este ca perechea de etichete <body>. . . </body>este nlocuita de
<frameset></frameset>iar n interiorul lor cadrele sunt delimitate de <frame>si
</frame>. Pentru a realiza exemplele urmatoare este necesar sa facem n prealabil
paginile pe care le vom include.
4.5.1
Retea de cadre
Pentru a defini o retea de cadre, trebuie sa precizati valorile atributelor rows respectiv cols. De exemplu: rows=200,*,2* si cols=30%,* nseamna:
O retea de cadre cu 3 linii pe 2 coloane
49
Linia de sus are naltimea de 200 de pixeli, iar restul spatiului pe verticala este
mpartit n trei parti egale (1*+2*=3*), din care linia din mijloc acopera o
treime (* nseamna o parte), iar linia de jos acopera doua treimi (2* nseamna
doua parti).
Coloana din stanga va acoperi 30% din latimea ferestrei browserului, iar coloana
din dreapta va acoperi restul.
<html><head></head>
<frameset rows="200,*,2*" cols="30%,*">
<frame src="[Link]"> <frame src="[Link]"> <frame src="[Link]">
<frame src="[Link]"> <frame src="[Link]"> <frame src="[Link]">
</frameset></html>
Seturile de cadre pot imbricate. Exista doua modalitati de a obtine seturi de cadre
imbricate. Prima optiune este introducerea unei pagini care contine descrierea unui
alt set de cadre, ca atribut al unui cadru.
<html><head></head>
<frameset cols="150,*,10%">
<frame src="[Link]"> <frame src="[Link]"> <frame src="[Link]">
</frameset></html>
A doua optiune este nlocuirea unui element cadru din interiorul unui set cu descrierea unui alt set de cadre. Folosind aceasta metoda, sa modificam exemplul
anterior pentru a obtine aceeasi functionalitate si acelasi aspect.
50
<html><head></head>
<frameset cols="150,*,10%">
<frame src="[Link]">
<frameset rows="100,*">
<frame src="[Link]">
<frame src="[Link]">
</frameset>
<frame src="[Link]"> </frameset></html>
4.5.3
51
Destinatii
Destinatia (tinta) unei legaturi este fereastra sau cadrul n care va fi ncarcata o
noua resursa Internet indicata de legatura. Prin definitie, destinatia unei legaturi
este fereastra sau cadrul n care este plasata legatura. Pentru a modifica acest
comportament predefinit, trebuie sa atribuiti o destinatie legaturii. Acest lucru
53
poate fi realizat precizand valoarea unui atribut target pentru o anumita legatura
(adica un element <a>).Valorile posibile pentru atributul target sunt:
Numele (valoarea atributului name) unei ferestre deschise de browser sau numele (valoarea atributului name) unui cadru ncarcat de catre browser.
Una din urmatoarele valori:
self (noua resursa este ncarcata n aceeasi fereastra/acelasi cadru)
blank (noua resursa este ncarcata ntr-o fereastra noua)
parent (noua resursa este ncarcata n fereastra/setul de cadre parinte)
top (noua resursa este ncarcata n fereastra browserului)
4.6
Multimedia
Unul dintre cele mai atragatoare concepte ale calculatoarelor moderne este multimedia. Multimedia defineste datele si aplicatiile n orice format sau din orice mediu.
Aceasta sectiune va va arata cum se ocupa browserul de fisierele multimedia.
4.6.1
Fisiere de aplicatii
Aplicatiile sunt stocate ca fisiere si sunt executate de sistemul de operare al calculatorului. In general, extensia pentru aceste fisiere este .exe si fiecare aplicatie a
fost proiectata ntr-un anumit scop. Unele aplicatii sunt profesionale (de exemplu,
programe de prelucrare a textului, programe de prelucrare a coloanelor sonore, programe de grafica), iar alte aplicatii sunt mai mici si dedicate unor sarcini specifice
(de exemplu, programe de citire, programe de afisare si programe de rulare). Unele aplicatii sunt independente, iar altele sunt utilizate ca elemente ajutatoare de
catre alte aplicatii (de exemplu, programe de completare - plug-in, controale ActivX,
DLL).
Pentru a vedea daca un fisier este o aplicatie (n sistemul de operare Windows),
executati clic dreapta pe pictograma fisierului si selectati comanda Properties din
meniul rapid. Daca respectivul fisier este o aplicatie, n caseta Type of file va aparea
Application.
4.6.2
Fisiere de date
Datele sunt stocate n fisiere. Pentru a citi, salva, previzualiza sau tipari aceste
date, aveti nevoie de aplicatia corespunzatoare deoarece fisierele de date sunt legate
de aplicatiile specifice si depind de acestea. In general, extensia fisierului de date va
oferi un indiciu n privinta tipului de date stocate n fisier si a aplicatiilor pe care le
puteti utiliza pentru a citi, salva, previzualiza sau tipari datele.
Sistemul de operare va permite sa atasati o legatura prestabilita ntre o extensie
de nume de fisier si o aplicatie. Pentru a vedea ce aplicatii puteti utiliza pentru a
54
MIME
MIME este un acronim pentru Multipart Internet Mail Extension. MIME organizeaza extensiile de fisiere de date n tipuri si subtipuri de fisier. Tabelul urmator
prezinta cateva exemple utile (pentru o lista completa, vizitati adresa
[Link]
Descriere
Extensie de nume de fisier Tip/subtip MIME
text HTML
html, htm
text/html
Text obisnuit
txt
text/plain
fisier CSS
css
text/css
imagini GIF
gif
image/gif
fisiere jpg
jpg, jpeg, jpe
image/jpeg
PNG
png
image/x-png
fisiere TIFF
tiff, tif
image/tiff
fisiere Microsoft Bitmap bmp
image/x-ms-bmp
fisiere audio de baza
au, snd
audio/basic
fisiere video Microsoft
avi
video/x-msvideo
format audio Macintosh aif, aiff, aifc
audio/x-aiff
format audio Microsoft wav
audio/x-wav
audio MPEG
mpa, mpega
audio/x-mpeg
audio MPEG-1
mp2a, mpa2
audio/x-mpeg-2
audio Real
ra, ram
application/x-pn-realaudio
MIDI
mmid
x-music/x-midi
video MPEG
mpeg, mpg, mpe
video/mpeg
video MPEG2
mpv2, mp2v
video/mpeg-2
Macintosh QuickTime
qt, mov
video/quicktime
Microsoft Rich Text
rtf
application/rtf
Adobe Acrobat PDF
pdf
application/pdf
fisiere Microsoft
doc
application/msword
fisiere Microsoft
xls
application/ms-excel
fisiere Microsoft
ppz
application/ms-powerpoint
fisiere VRML
wrl, vrml
x-world/x-vrml
55
Prezentarea aplicatiei
57
Capitol
Antet
Continutul capitolului
font-style:normal;
border-style:double;
border-color:green;
padding-right:10;
Border-right-width:thick;
width:120; float:none;
text-align:center;}
H4{font-family=times new roman;
color:000000;
font-size=14pt;
font-weight:bold;
text-align:left;}
h5{font-family=comic sans ms;
margin-left:5px;
color:0fffff;
font-size=18pt;
border-style:outset;
border-color:black;
background-color:blue;
width:250;}
H6{font-family:tahoma;
margin-left:1px;
margin-right:1px;
color:#007cff;
font-size:16pt;
font-weight:bold;
font-style:normal;
text-align:left;}
Capitolele
Sunt realizate si ele cu ajutorul cadrelor. Cadrele sunt ca niste sabloane ce contin
elementele ce vor fi afisate. Cand se doreste vizulizarea unuia dintre acestea legatura
spre ele determina practic ncarcarea altui cadru ce va ncarca la randul lui continutul
capitolului. Acest sablon arata n felul urmator:
<html>
<head></head>
<frameset border=0 rows="30%,*">
<frameset cols="90%,10%">
<frame valign="middle" align="center" scrolling="no"
src="[Link]"> </frameset>
<frameset cols="32%,68%">
<frame valign="top" marginheight="0" scrolling="auto"
src="[Link]">
60
<frame src="cap2/[Link]">
</frameset>
</frameset>
</html>
Elementul frame este un mod recent si modern de a realiza pagini Web scrise
n cod HTML. El nlocuieste blocul <body>. . . </body>si permite ncarcarea mai
multor pagini Web n aceeasi fereastra. Acestea la randul lor pot fi realizate cu
cadre sau cu un bloc <body>. . . </body>obisnuit.
Continutul capitolelor este si el afisat cu ajutorul combinatiei de HTML si CSS.
Astfel, n afara de titluri si subtitluri care sunt formatate cu ajutorul stilurilor
definite ntr-un fisier extern, am definit n cadrul fiecarui text de capitol bara de
derulare cu un stil CSS, codul sursa fiind urmatorul:
<STYLE type="text/css">
BODY{scrollbar-3dlight-color:black;
scrollbar-arrow-color:none;
scrollbar-base-color:none;
scrollbar-track-color:black;
scrollbar-darkshadow-color:none;
scrollbar-face-color:#CCCCCC;
scrollbar-highlight-color:none;
scrollbar-shadow-color:black}
</STYLE>
\%border-ul barei
\%sageata de pe partile fixe
\%culoarea de sub scroll bar
\%scroll bar-ul
\%umbra de jos si dreapta
61
Concluzii
Tutorialul LATEX realizat de mine reprezinta un punct de plecare pentru cine este
interesat de redactarea unor documente de foarte buna calitate si de LATEX . Este
prezentat pas cu pas tot ceea ce este necesar pentru a ajunge de la 0 cunostiinte
despre LATEX la redactarea efectiva a documentelor.
In aceasta idee cititorul afla ce implementari exista, platformele suportate, cum
sa si procure o copie a unei distributii LATEX , iar apoi sa o instaleze pe sistemul sau
(doar cazul Microsoft Windows este explicat pas cu pas) cat si termenii si conditiile
legale.
In aceasta privinta, noii elevi afla ca este un software gratuit n totalitate.
Acesta poate fi distribuit sau modificat. De asemenea n cazul n care cel ce
nvata stapaneste suficient de bine programul, el poate chiar propune mbunatatiri
trimitand ideile sale voluntarilor ce se ocupa de mentenanta implementarii respective.
In ce priveste sintaxa prezentata, este vorba de un prim contact cu LATEX cititorul
fiind ndrumat catre surse complete de documentatie accesbile pe Internet.
Un lucru esential este si acela ca LATEX este n plina dezvoltare iar viitorul poate
aduce foarte multe surprize placute deoarece LATEX este nca un performer n domeniul tipografiei, greu de ntrecut de alte programe. Si asta cu atat mai mult cu cat
consta dintr-o suita de programe axate n jurul motorului TeX, unele dintre programe aparute recent altele (METAFONT) dezvoltate chiar de parintele TeX Donald Knuth la scurt timp dupa realizarea TeX. Programele dezvoltate n completarea
TeX-LATEX aduc un plus de functionalitate facand din LATEX o unealta capabila sa
redacteze orice fel de documente.
De asemenea pe langa aceste programe s-au facut si o serie de pachete specializate
pe diverse domenii. Mai mult LATEX poate realiza lucruri la acelasi nivel nalt de
calitate n aproape toate limbile vorbite pe glob.
De multi ani popularitatea si nivelul de utilizare al acestuia sunt n crestere
continua, iar lipsa unei alternative la fel de bune si gratuite n acelasi timp va
mentine acest sistem n folosinta multi ani de acum nainte.
Binenteles au fost si sunt n continoare si voci critice la adresa LATEX care incrimineaza faptul ca este greu de nvatat sau ca este prea mare si complex. De asemenea nu toata lumea agreeaza un editor de text care nu este WYSIWYG. LATEX se
adreseaza n primul rand oamenilor pentru care calitatea documentelor primeaza n
fata grabei sau a comoditatii. Acesta nu este destinat scrierii unui e-mail sau a unui
mesaj offline.
In ciuda criticilor utilizarea LATEX se raspandeste si castiga tot mai multi fani
calitatea rezultatului fiind cel care este elementul hotarator in alegerea editorului de
text potrivit . Nenumaratele plusuri bat de departe micile neajunsuri inevitabile la
un lucru atat de complex, iar eu cred ca si n tara noastra LATEX va fi din ce n ce
mai folosit.
62
Bibliografie
[1] Paul A. Blaga & Horia F. Pop,LATEX 2e, Editura Tehnica, Bucuresti, 1999
[2] The TeX book de Donald E. Knuth; Addison-Wesley, 1986, ISBN 0-20113447-0 / 0-201-13448-9.
[3] The LaTeX Companion, de Michel Goossens, Frank Mittelbach, Alexander
Samarin; Addison-Wesley, 1994, ISBN 0-201-54199-8.
[4] The LaTeX Graphics Companion; Illustrating Documents with TeX and
PostScript, de Michel Goossens, Sebastian Rahtz, Frank Mittelbach;
Addison-Wesley, 1994, ISBN 0-201-85469-4.
[5] N. H. F. Beebe. Metafont. [Link] beebe/fonts/ [Link], 2006.
[6] J. D. Hobby. A users manual for MetaPost. Technical Report 162, AT&T
Bell Laboratories, Murray Hill, New Jersey, 1992. Accesibil si la [Link]
[Link]/docs/metapost/[Link].
[7] [Link]
[8] Donald Ervin Knuth, The METAFONT book. American Mathematical Society and Addison Wesley Publishing Company, First edition, 1986
[9] LaTeX: A document Preparation System, User s guide and Reference manual, de Leslie Lamport; Addison-Wesley, editia a doua, 1994, ISBN 0-20152983-1
[10] Teodoru Gugoiu, HTML, XHTML, CSS si XML prin Exemple - Ghid Practic, Editura Teora,2005
[11] HTML 4.01 Specification ([Link]
[12] Cascading
Style
Sheets,
Level
([Link] )
63
2,CSS2
Specification
Glosar
.tfm, 19
LATEX , 4, 6, 16
LATEX 2.09, 17
LATEX 2e, 17
LATEX 3, 17
METAPOST n LATEX , 35
A document Preparation System, 4
Acrobat Reader, 8
adresa URL, 46
Arta Programarii Calculatoarelor, 10
atu-uri LATEX , 6
beginchar, 27
boolean, 31
cadre HTML, 49
cerc, 30
client-server, 45
color, 31
comanda draw, 33
comanda fill, 33
comanda unfill, 34
comenzi METAPOST , 33
Computer Modern, 10
Crimson Editor, 22
CSS, 37
culori METAPOST , 32
curbe Bezier, 32
Cutiute, 12
CWEB, 10
define pixels, 27
dezavantaje LATEX , 7
Donald Knuth, 4, 9
EPS, 30
exemplu METAFONT, 24
formule, 7
GFtoDVI, 21
GFtoPK, 19
HTML, 37
John Hobby, 30
JPEG, 30
legaturi HTML, 45
Leslie Lamport, 4, 9, 15
Linux, 21
liste HTML, 37
Literate Programming, 10
Macintosh, 22
Macro-uri, 14
Mathematical Writing, 6
META, 18
METAFONT, 10, 15, 18
METAPOST, 30
mf, 19
MiKTeX, 21
MIME, 55
modul fontmaking, 28
Modul Proof, 23
Multimedia, 54
Notepad, 20
numeric, 31
OzTeX, 22
pair, 31
parametri, 18
path, 31
PDF, 30
pen, 31
penpos, 28
picture, 31
PNG, 30
PostScript, 22
pronuntie, 11
proofing, 23
64
semnificatie TeX, 12
string, 31
subiectul lucrarii, 3
SVG, 30
tabele, 41
teTeX, 21
TeX, 4, 11
tipuri de date, 31
TLA, 15
TOPS-20, 20
transform, 31
UNIX, 21
Vi, 20
Windows, 19, 21
Winshell, 21
WYGIWYW, 23
WYSIWYG, 7, 23
65