INTRODUCERE ÎN LIMBAJUL LaTeX [624943]
Capitolul 2
INTRODUCERE ÎN LIMBAJUL LaTeX
2.1 INTRODUCERE
O lucrare este predat ă editorului care, dup ă verificarea semantic ă de
către un grup de recenzori, va accepta lucrarea. O lucrare acceptat ă pentru
publicare va trebui aranjat ă în pagin ă, operație făcută de către tehnoredactor,
care hotărăște dimensiunile paginii, fonturile, aspectul general etc. Aceste
informații formeaz ă layout -ul lucrării ce va trebui publicat ă. Zețarul culege
textul, urmând acest model și scoate o prim ă copie, ce va fi supus ă corecturilor
gramaticale. Dup ă corectur ă, lucrarea se tip ărește în num ărul dorit de
exemplare.
Dacă recenzia este f ăcută de oameni, celelalte opera ții pot fi efectuate
cu ajutorul calculatorului, pe baza unor reguli simple și fixe. Pentru aceasta,
este necesar ă utilizarea unui procesor de texte, iar din motive legate de
răspândire și disponibilitate, am ales LaTeX.
În scenariul de mai sus, LaTeX este tehnoredactorul și TeX este ze țarul.
TeX este un program elaborat de Donald E. Knuth [Knuth 1984], care se
folosește la culegerea și tipărirea de texte și formule matematice. LaTeX (se
pronuntă la-tehi ) este construit de Leslie Lamport [Lamport 1994], are la baz ă
TeX și permite definirea de layout -uri pentru c ărți, articole, rapoarte și scrisori.
LaTeX este un pachet de macrodefini ții pentru TeX, iar TeX este un
sistem de prelucrare a textelor. Nici LaTeX și nici TeX nu sunt editoare de
texte.
În general, layout -ul paginilor realizate în MS Word (i.e. pozi ția
figurilor, a tabelelor, etc.) poate s ă varieze dramatic, atunci când textul este
portat la un calculator ce are instalat alt driver de imprimant ă. Dependen ța de
12 CAPITOLUL 2. INTRODUCERE ÎN LIMBAJUL LaTeX
____________________________________________________________________________
imprimant ă este nepl ăcută și este necesar un procesor independent. Acest
fenomen nu apare în cazul proces ării textelor în LaTeX și constituie, printre
altele, unul din principalele motive ale utiliz ării sale, pe scar ă din ce în ce mai
largă, de către editorii și autorii de texte. Pe de alt ă parte, existen ța LaTeX, pe
diferite platforme, face din el un procesor de texte cu larg ă utilizare în mediile
științifice.
2.1.1 Un exemplu simplu
Când tehnoredactorul lucreaz ă la layout , el recunoa ște, în text, inten țiile
autorului privind titlul de capitol, titlul de paragraf, citat, list ă etc. Pentru ca
LaTeX să recunoasc ă aceste detalii, este necesar ca autorul s ă-i furnizeze
informații suplimentare despre textul scris și forma de prezentare a acestuia.
Un program surs ă în LaTeX se poate edita cu orice editor ASCII, de
exemplu în Notepad. Comenzile LaTeX încep cu caracterul \ și nu vor ap ărea
în documentul final. De la caracterul % până la finalul unei linii LaTeX, toat ă
informația este ignorat ă, fiind similar ă cu un comentariu în scrierea unui
program.
Structura standard a unui document este, pe scurt, urm ătoarea:
Preambulul – începe cu o comand ă \documentclass ; el poate
conține comenzi \usepackage , declarații globale și definiții
de cadre și comenzi;
\begin{document}
textul documentului
\end{document}
LaTeX nu este un sistem What You See Is What You Get , adică autorul
nu vede pe monitor efectul comenzilor asupra documentului. În mod normal, autorul poate întrerupe editarea în orice moment, pentru a vizualiza fi șierul
rezultat dup ă procesarea în LaTeX.
O caracteristic ă a LaTeX este aceea c ă autorul este l ăsat să se
concentreze, în primul rând, asupra organiz ării logice a lucr ării, fără a consuma
efort pentru formatarea textului.
În organizarea materialului unei c ărți este necesar ă respectarea câtorva
principii, pentru a asigura o bun ă lizibilitate a textului, comoditate la citirea
unei pagini precum și organizarea logic ă a documentului. De multe ori, se
dorește ca anumite p ărți ale textului s ă iasă în eviden ță, deși nu este indiferent
modul în care acest lucru este realizat. LaTeX permite specificarea acelor p ărți
2.1. INTRODUCERE 13
____________________________________________________________________________
și el va alege forma portrivit ă pentru tip ărire. Mulți autori utilizeaz ă fonturi
multiple, fapt ce duce la o îngreunare a citirii textului. Aceste aspecte sunt importante atunci când se proiecteaz ă un layout . În general, LaTeX permite
modificarea unui layout de o manier ă destul de greoaie, îns ă integreaz ă o serie
de concepte ce au rezultat în urma experien ței privind tehnoredactarea. Aceste
concepte respect ă convențiile, valabile în S.U.A., de realizare a c ărților,
articolelor și revistelor. Adaptarea la conven țiile europene de tehnoredactare se
poate realiza relativ u șor, prin comenzi speciale.
Trebuie subliniat faptul c ă orice text (sub form ă de carte, articol, raport
etc.) este scris pentru a fi citit și pentru ca impactul con ținutului asupra
cititorului s ă fie maxim. Din acest motiv, pe baza unei analize riguroase a
situațiilor specifice privind con ținutul unui text, în LaTeX documentele sunt
împărțite în clase sau categorii, iar lizibilitatea este obiectivul principal.
În fig. 2.1 este descris un exemplu simplu de fi șier LaTeX minimal, în
care se eviden țiază principalele sec țiuni și câteva dintre comenzile LaTeX de
bază.
Exemplul 2.1
\documentclass{article} % clasa articol
%Titlul cuprinsului este implicit "Contents" dar
%poate fi schimbat dupa dorinta
\renewcommand{\contentsname}{Cuprins}
%Se specifica titlul, autorul si data
\title{Gestiunea documentelor} \author{Ion Popescu}
\date{17.03.2000}
\begin{document} %inceputul documentului
\maketitle %tiparire titlu, autor, data
\tableofcontents %tiparire cuprins \section{Introducere} %sectiune paragraf
Paragraf specificand necesitatea procesorului LaTeX. Textul este
formatat automat.
Trecerea la un nou alineat se face prin inserarea unei linii goale.
\section{Titlul capitolului 1} %inceputul altui paragraf
Acesta este alt paragraf. Toate paragrafele se numeroteaza
automat.
\end{document} %sfarsitul articolului
Fig. 2.1 – Un exemplu simplu de articol scris în LaTeX. Rezultatul proces ării este redat în fig. 2.2.
14 CAPITOLUL 2. INTRODUCERE ÎN LIMBAJUL LaTeX
____________________________________________________________________________
Fig. 2.2 – Rezultatul proces ării fișierului surs ă din fig. 2. 1 (setup -ul paginii în LaTeX este diferit).
2.1. INTRODUCERE 15
____________________________________________________________________________
2.1.2 Realizarea documentelor în LaTeX
TeX și LaTeX sunt produse shareware , adică au prețuri scăzute sau
sunt gratuite, dac ă nu se folosesc în scopuri comerciale. Ele au o larg ă
răspândire și au implement ări sub toate sistemele de operare (Unix, OS/2,
Windows etc.), asigurând portabilitatea documentelor realizate. Un produs de acest tip este înso țit de o bogat ă colecție de fonturi, utilitare și fișiere ce con țin
documenta ția aferentă.
Folosind un editor de texte obi șnuit, de exemplu Norton Editor sub
DOS sau Notepad sub Windows, se construie ște un fișier cu extensia . tex.
Această extensie nu este obligatorie, dar prezen ța sa permite un mod de lucru
mai comod și organizat. De exemplu, fi șierul din fig.2. 1 este salvat cu numele
ex1.tex . Pentru procesare se va lansa LaTeX, având ca parametru numele
fișierului cu extensia .tex .
Dacă se folose ște versiunea LaTeX pentru Win95
(a se vedea URL-ul www.stat.uiowa.edu/resources/help/win95/latex.html ),
atunci comanda este:
>c:/texmf/miktex/bin/latex ex1<ENTER>
Ca urmare, pe ecran apar mesajele:
This is TeX,Version 3.14159 (MiKTeX 1.20)
(ex1.tex
LaTeX2e <1998/12/01> patch level 1
Babel <v3.6x>…loaded.
(C:\texmf\tex\latex\base\article.cls Document Class: article 1999/01/07 v1.4a Standard LaTeX
document class
Output written on ex1.dvi (1 page, 944 bytes)
Transcript written on ex1.log.
Zona marcat ă cu caracterele “…” semnific ă informații dependente de
versiunea de instalare. În func ție de con ținut, un fi șier .tex parcurge mai
multe etape. Dup ă procesarea fi șierului ex1.tex , informa ția se păstrează în
mai multe fi șiere, care au urm ătoarele denumiri și semnifica ții:
ex1.aux – conține informa ții auxiliare despre entit ățile logice din fi șierul
sursă și despre etichete ( \label și \bibitem ). Fișierul este utilizat
de LaTeX la a doua procesare, pentru a rezolva referin țe încrucișate
(\cite , \ref ).
16 CAPITOLUL 2. INTRODUCERE ÎN LIMBAJUL LaTeX
____________________________________________________________________________
ex1.toc – conține informa ții necesare alc ătuirii cuprinsului și este generat
doar dacă în fișierul surs ă apare comanda \tableofcontents .
Cuprinsul apare doar la a doua procesare a fi șierului.
ex1.log – conține raportul despre procesarea fi șierului cu extensia tex,
eventualele erori de procesare și informa ții statistice despre resursele
hardware utilizate.
ex1.dvi – fișier de ie șire ce con ține rezultatele proces ării într-un cod
independent de perifericul de tip ărire (DeVice Independent).
Observație. În funcție de clasa sau categoria din care face parte documentul, mai apar
și alte fișiere auxiliare:
*.lof – creat dac ă apare comanda \listoffigures (List of Figures), pentru generarea
automată a listei figurilor;
*.lot – creat dac ă apare comanda \listoftable (List of Tables), pentru generarea
automată a listei tabelelor;
*.idx – creat dac ă apare comanda \makeindex în combina ție cu \index și va conține
comenzile \indexentry aferente;
*.gb – creat dac ă apare comanda \makeofglossary .
Imaginea documentului poate fi vizualizat ă sub DOS cu ajutorul
comenzii v numefișier. Sub X WINDOWS, vizualizarea se poate realiza
uitilizând comanda xdvi numefișier. Tipărirea se va realiza cu ajutorul unui
utilitar ce poate accesa imprimanta. Pentru DOS, tip ărirea la o imprimant ă cu
ace implic ă utilizarea utilitarului dvidot, cu o serie de parametri. De aceea, în
general, pentru fiecare tip de imprimant ă există o comand ă distinctă. De
exemplu pentru EPSON FX80 comanda este prtfx numefișier, iar pentru o
imprimant ă HEWLETT PACKARD LJ comanda este dvihplj numefișier.
Pentru Windows95, vizualizarea și tipărirea se realizeaz ă cu utilitarul Yap. Sub
sistemul de operare Unix se utilizeaz ă o procedur ă asemănătoare. Când se
dispune de o imprimant ă PostScript , utilitarul dvi2ps transform ă fișierul
*.dvi într-un fi șier *.ps (i.e. PostScript ).
Observație. La referin țe încrucișate sau la generarea cuprinsului, a listei de figuri, a
indexului, este necesar ă procesarea de mai multe ori a sursei *.tex , pentru c ă este nevoie de
fișiere care la prima procesare nu au fost create înc ă.
2.2. NOȚIUNI FUNDAMENTALE PRIVIND LaTeX 17
___________________________________________________________________________
2.2 NOȚIUNI FUNDAMENTALE PRIVIND LaTeX
Putem privi LaTeX ca un limbaj de programare în care instruc țiunile au
anumite efecte.
O serie de caractere au semnifica ție specială:
$ & % # _ { } ~ ^ “ \ | < >
Cu unele excep ții, aceste caractere nu pot fi folosite în textul surs ă.
Unele dintre ele se pot utiliza în text cu ajutorul secven țelor de control listate
mai jos, pe coloana din dreapta:
$ & % # _ { } |$ |& \% \# \_ \{ \}
De multe ori, caracterul blank (spațiu) are acela și efect dac ă apare o
singură dată sau ca un șir de blank -uri.
Caracterul newline (linie nou ă) este echivalent cu blank , atunci când
apare o singur ă dată. Mai mult de dou ă astfel de caractere succesive semnific ă
terminarea unui paragraf și începutul unuia nou.
2.2.1 Preliminarii privind secven țe de control și fonturi
Secvențele de control sunt șiruri de caractere ce reprezint ă comenzi
LaTeX. De exemplu, trecerea la un alt paragraf se face cu secven ța de control
\par .
O secven ță de control, i.e. o comand ă î n L a T e X , e s t e c o m p u s ă fie
dintr-un caracter backslash (adică \) urmat de o succesiune de litere, fie
dintr-un caracter backslash urmat de un caracter diferit de liter ă. De exemplu,
\today are ca efect scrierea datei ma șinii, iar \% produce caracterul %.
Comenzile din prima categorie sunt valabile doar pentru primul șir până la
caracterul blank .
Orice comand ă poate avea argumente obligatorii și/sau opționale. Un
argument obligatoriu este cuprins între acolade { și }, iar unul op țional între
paranteze drepte [ și ].
O comand ă \LaTeX ignoră spațiile ce o urmeaz ă.
18 CAPITOLUL 2. INTRODUCERE ÎN LIMBAJUL LaTeX
____________________________________________________________________________
Exemplul 2.2
Execuția fișierului surs ă următor
\documentclass{report}
\begin{document}
\LaTeX este un program de tehnoredactare
\end{document}
are drept rezultat textul
După cum se observ ă, era necesar un blank după cuvântul “LaTeX”, iar
un caracter backslash plasat la sfâr șitul comenzii rezolv ă problema.
Exemplul 2.3
\LaTeX\ este un program de tehnoredactare
are ca rezultat textul
Observație. În cele ce urmeaz ă, în cadrul exemplelor prezentate, dac ă acestea apar pe
două coloane, fi șierul surs ă *.tex apare în dreapta, iar textul rezultat este inserat pe coloana
din stânga. Dac ă ele sunt prezentate grupate orizontal, atunci fi șierul *.tex apare primul. În
primele exemple a fost folosit ă mai ales clasa report dar, dac ă nu se specific ă altfel,
comenzile din fi șierul *.tex respectiv sunt valabile pentru toate clasele de documente.
Caracterul rând nou este echivalent cu spațiu și, ca urmare, paragrafele
se vor separa printr-un rând gol sau utilizând comanda \par .
Exemplul 2.4
\documentclass{report}
\begin{document}
Paragraf1. Tot el.
Paragraf2. \par
Paragraf3.
\end{document}
LaTeX dispune de un set bogat de fonturi. Scrierea textului se face
implicit cu un font numit Roman , însă se pot selecta alte fonturi cu o secven ță
2.2. NOȚIUNI FUNDAMENTALE PRIVIND LaTeX 19
___________________________________________________________________________
de control \tt pentru fontul typewriter sau \bf pentru bold face
(subsecțiunea 2.6.1 ).
Dacă numai câteva cuvinte se tip ăresc cu alt font, atunci nu este
necesară schimbarea fontului activ, ci se poate folosi comanda \bf.
Exemplul 2.5
\documentclass{report}
\begin{document}
…font curent oarecare {\bf doresc bold} revin la fontul curent.
\end{document}
O pereche de paranteze acolade formeaz ă un grup, deci o comand ă are
efect doar asupra acelui grup. Pentru transmiterea parametrilor la secven țele de
control cu parametri, se vor utiliza tot paranteze acolade. Prin parametru se înțelege orice șir de caractere între acolade sau un caracter, dac ă acoladele
lipsesc. De exemplu, comanda
\haspace {4cm}
indică inserarea unui spa țiu orizontal de 4 cm.
Observație. Acoladele ce delimiteaz ă un parametru nu pot forma un grup. Ca urmare,
dacă se dorește refacerea valorii unei variabile LaTeX, dup ă modificarea sa prin executarea
unei comenzi corespunz ătoare, atunci chiar comanda trebuie inclus ă în grup.
2.2.2 Facilit ăți matematice
Formulele matematice sunt culese diferit fa ță de textele obi șnuite. În
LaTeX se pot identifica dou ă moduri de lucru:
• modul text – în care se culege textul;
• modul matematic – în care se culeg formulele.
Există comenzi ce specific ă trecerea de la un mod la altul și comenzi ce
sunt valabile doar într-un singur mod.
Intrarea în modul matematic se poate realiza în mai multe variante. În
cadrul paragrafului, formulele se delimiteaz ă prin două caractere $ .
20 CAPITOLUL 2. INTRODUCERE ÎN LIMBAJUL LaTeX
____________________________________________________________________________
Exemplul 2.6
\documentclass{report}
\begin{document}
Pentru $x=y$ rezulta …
\end(document)
În mod matematic, caracterele _ și ^ indică indici inferiori, respectiv
superiori, iar o formul ă pusă pe rânduri separate se delimiteaz ă c u c â t e o
pereche de secven țe de caractere $$.
Exemplul 2.7
\documentclass{report}
\begin{document}
Pentru $x_1,x_2,…,x_{n+1}$
rezulta ca
$$x_i=x_{i-1}+x_{i-2}$$. \end(document)
Pentru caractere speciale se vor utiliza secven țele de control \alpha ,
\beta sau \frac cu parametrii aferen ți.
Exemplul 2.8
\documentclass{report}
\begin{document}
Scriem:$$\frac12+\alpha=\frac{
2\alpha+1}2$$
\end(document)
În formule pot s ă apară operatori, cum ar fi: \sum pentru ∑, \prod
pentru ∏ sau \int pentru ∫. Indicii opera țiilor sunt pozi ționați diferit la
formulele plasate în text, fa ță de cele separate.
Exemplul 2.9
\documentclass{report}
\begin{document}
…$\sum_{i=1}^ny_i=0$
$$\sum_{i=1}^ny_i=0$$…
\end(document)
2.2. NOȚIUNI FUNDAMENTALE PRIVIND LaTeX 2 1
___________________________________________________________________________
Există operatori la care nu se face aceast ă diferențiere (de exemplu ∫),
însă limitele pot s ă apară sau nu, prin plasarea comenzilor \limits , respectiv
\nolimits .
Secvențele de control \left și \right se pot aplica asupra
parantezelor, pentru ajustarea automat ă a dimensiunii acestora în func ție de
conținut. Ele apar în perechi.
Exemplul 2.10
\documentclass{report}
\begin{document}
$x+2\left(\frac{ \sinx}x+
\cos\left(x+1\right)\right)=0$
\end(document)
2.2.3 Adaptarea la diacritice și despărțirea în silabe
Diacriticele se pot ob ține, în LaTeX, prin folosirea accentelor , ca
opțiune oferit ă de o serie de secven țe de control ce accept ă orice tip de
caracter, având la baz ă alfabetul latin.
Exemplul 2.11
\documentclass{report}
\begin{document}
\^A, \^a, \u A, \u a, \^I, \^\i, \c S, \c s, \c T,
\c t. \par
Aten\c tie: NU \^i. Accentul
se aplic\u a semnului\par
\i (i f\u ar\u a punct). \end(document)
O altă variantă ce ușurează editarea este cea de creare a unui fi șier cu
extensia .sty , cu rolul de a defini diacriticele [Pusztai 1994]. Acest fi șier va fi
creat în func ție de limba în care se editeaz ă și va fi înglobat în sursa LaTeX.
Pentru desp ărțirea în silabe, se poate utiliza un set de șabloane ce sunt
alese la ini țializarea LaTeX. Pentru a specifica o anumit ă limbă, se va utiliza
comanda \language cu un parametru numeric. Noi reguli pot fi introduse
22 CAPITOLUL 2. INTRODUCERE ÎN LIMBAJUL LaTeX
____________________________________________________________________________
prin comenzile \- , care are efect local, sau \hyphenation , cu efect global.
De exemplu, comanda \ hyphenation{ma-ma} are ca efect desp ărțirea în
silabe a cuvântului mama , oriunde este întâlnit în text. Scrierea cuvântului
concesie în forma con\-ce\-si\-e are ca efect desp ărțirea în silabe a
sa doar în locul indicat.
Detalii suplimentare privind comenzile de generare a accentelor sunt
prezentate în subsec țiunea 2.6.2 .
2.2.4 Titluri redactate în diverse limbi
Anumite comenzi LaTeX produc un text predefinit, reprezentând, în
general, titlul unei unit ăți secționale. De exemplu, comanda \chaptername
are ca efect scrierea titlului capitolului, precedat de “Chapter”. Aceast ă scriere
trebuie modificat ă, dacă textul este redactat în alte limbi. Pentru aceasta, în
preambulul fi șierului surs ă *.tex se va folosi comanda
\renewcommand{\chaptername}{ nume_capitol }
unde nume_capitol este numele capitolului în limba respectiv ă (a se vedea și
secțiunea 2.5). În mod obi șnuit, secven ța de control \chaptername este o
comandă LaTeX care este apelat ă de \chapter și are ca efect implicit
tipărirea șirului de caractere “Chapter”.
Comenzile ale c ăror defini ții trebuie modificate pentru adaptarea la
limba în care este redactat textul lucr ării sunt urm ătoarele (cu precizarea, în
paranteze și între apostroafe, a textului generat implicit):
\partname – numele dat unei p ărți, în clasele de documente book și
report ;
\chaptername – numele dat capitolului, în clasele de documente book și
report (“Chapter”);
\bibname – numele dat bibliografiei, în clasele de documente book și
report (“Bibliography”);
\refname – numele dat bibliografiei în clasa de documente article
(“References”);
\appendixname – numele dat anexelor (“Appendix”);
\abstractname – numele dat rezumatului (“Abstract”);
\indexname – numele dat indexului (“Index”);
\contentsname – numele dat cuprinsului (“Contents”);
2.2. NOȚIUNI FUNDAMENTALE PRIVIND LaTeX 23
___________________________________________________________________________
\figurename – numele dat figurilor (“Figure”);
\listfigurename – numele dat listei figurilor (“List of Figures”);
\tablename – numele dat tabelelor (“Table”);
\listtablename – numele dat listei tabelelor (“List of Tables”).
În continuare se prezint ă sintaxa câtorva comenzi \renewcommand ,
utile pentru redactarea unui text în limba român ă.
\renewcommand{\contentsname}{Cuprins}
\renewcommand{\listfigurename}{Lista figurilor} \renewcommand{\listtablename}{Lista tabelelor}
\renewcommand{\figurename}{Figura}
\renewcommand{\tablename}{Tabelul} \renewcommand{\chaptername}{Capitolul} \renewcommand{\bibname}{Bibliografie}
\renewcommand{\refname}{Bibliografie}
\renewcommand{\appendixname}{Anexa}
2.2.5 Organizarea fi șierului de intrare
2.2.5.1 Categorii de documente
Un fișier LaTeX începe cu o comand ă \documentclass , având
sintaxa:
\documentclass[ options]{class}
în care options este lista de una sau mai multe op țiuni, separate prin virgul ă și
fără spații suplimentare, iar class este categoria sau clasa documentului.
Printre categoriile de documente valabile în LaTeX se num ără:
• book
• report
• article
• letter
• slides .
Clasa book specifică organizarea documentului sub form ă de carte,
având urm ătoarele caracteristici:
24 CAPITOLUL 2. INTRODUCERE ÎN LIMBAJUL LaTeX
____________________________________________________________________________
– culegerea diferen țiată a textului pe pagini pare și impare;
– organizarea pe p ărți, secțiuni și subsecțiuni;
– dacă nu se specific ă prin comanda \pagestyle , antetul
(header -ul) paginii pare con ține titlul capitolului curent, iar cel al
paginii impare con ține titlul sec țiunii curente și fiecare capitol
începe pe o pagin ă impară;
Clasa report permite editarea documentului sub form ă de raport,
asemănătoare cu book , dar culegerea se face nediferen țiat pentru pagini pare și
impare, iar capitolele pot începe pe pagini atât pare cât și impare.
Clasa article înseamn ă forma de articol, f ără părți și capitole.
Antetele sunt implicit goale și culegerea este nediferen țiată de paritatea paginii.
Clasa letter permite redactarea unei scrisori oficiale.
Clasa slides este recomandat ă pentru preg ătirea documentelor ce vor
fi prezentate pe folii expuse la retroproiector.
Toate clasele standard de documente, cu excep ția slides , acceptă
următoarele op țiuni pentru selectarea m ărimii literei tip ărite (10 pt implicit):
10pt , 11pt , 12pt .
Toate clasele de documente accept ă următoarele op țiuni pentru setarea
mărimii paginii (implicit letter ):
a4paper , a5paper , b5paper , letterpaper , legalpaper ,
executivepaper .
Alte opțiuni mixte sunt:
– landscape – selecteaz ă formatul lanscape , dar implicit este portrait ;
– titlepage , notitlepage –specific ă dacă trebuie s ă apară o pagină
separată de titlu;
– leqno – numărul ecuației este plasat la stânga , dar implicit el este la
dreapta ;
– fleqn – înseamn ă “FlushLeft EquatioN” și determin ă alinierea la stânga a
ecuației, care implicit este centrată;
– german – pune la dispozi ție comenzi utile pentru realizarea textelor în
limba german ă;
– makeidx – este util ă la documentele în care se dore ște obținerea
(semi)automat ă a unui index.
Următoarele op țiuni nu sunt valabile pentru clasa slides :
2.2. NOȚIUNI FUNDAMENTALE PRIVIND LaTeX 25
___________________________________________________________________________
– oneside , twoside – selecteaz ă afișarea pe o fa ță sau pe ambele ale unei
coli. Valoarea implicit ă este oneside , cu excep ția clasei book .
– openright , openany – determin ă dacă un capitol începe pe pagina din
dreapta. Valoarea implicit ă este openright , pentru clasa book .
– onecolumn , twocolumn – permite tip ărirea pe una sau, respectiv, dou ă
coloane. Valoarea implicit ă este onecolumn .
2.2.5.2 Principalele comenzi utile la crearea unui document
În continuare, sunt descrise principalele comenzi utile la crearea unui
document.
\begin{document} este comanda de început de document. Între
\documentclass și \begin{document} nu se poate insera text,
dar pot ap ărea alte comenzi LaTeX, care nu au ca efect generarea de
text. Aceast ă zonă se nume ște preambul (secțiunea 2.1). Aici poate
apărea comanda \title , ce stabile ște titlul, dar nu și comanda
\maketitle , ce pune titlul în pagin ă.
\end{document} marcheaz ă sfârșitul documentului și tot ce urmeaz ă după
această comandă este ignorat la procesare.
\title specifică titlul documentului. Dac ă acesta nu încape într-un singur
rând, atunci LaTeX nu împarte automat titlul pe rânduri, l ăsând aceasta
la latitudinea autorului, prin comanda \\ acolo unde se trece la rând
nou. Acest lucru preîntâmpin ă despărțirea unui titlu în rânduri, ceea ce
ar putea s ă altereze semnifica ția dată de autor. Sintaxa comenzii este
\title{ text}
și, pentru a fi opera țională, ea trebuie s ă apară înainte de comanda
\maketitle .
\author permite specificarea numelui autorului. Ca și la \title , trecerea
pe mai multe rânduri trebuie marcat ă cu aceea și comand ă \\. Dacă
sunt mai mul ți autori, separarea numelor lor pe rânduri se face prin
comanda \and .
\date setează data producerii documentului, iar dac ă nu exist ă, atunci la
\maketitle se va lua automat data sistemului.
26 CAPITOLUL 2. INTRODUCERE ÎN LIMBAJUL LaTeX
____________________________________________________________________________
\maketitle pune în pagin ă titlul, autorul și data realiz ării documentului.
Comanda apare prima dup ă \begin{document} și efectul s ău este
diferit în func ție de clasa documentului:
– pentru book și report , titlul, autorul și data apar pe o pagin ă
separată, numerotat ă cu 0;
– pentru article , informațiile apar la început de pagin ă, urmate de
text (a se vedea și exemplul 2.1, subsecțiunea 2.1.1 ).
Notele de subsol se pot insera într-unul din urm ătoarele moduri:
1) se folose ște doar comanda \footnote ;
2) se utilizeaz ă comenzile \footnotemark și \footnotetext .
Comanda \footnote având sintaxa:
\footnote[ number]{text}
plasează textul text, numerotat, la subsolul paginii. Argumentul op țional
number este necesar dac ă se dorește schimbarea num ărului implicit al notei.
Această comandă poate fi folosit ă doar în afara modulului paragraph , i.e.
nu poate fi folosit ă în secționarea unor comenzi precum \chapter , în figuri,
în tabele sau într-un mediu tabular.
Comanda \footnotemark pune num ărul notei de subsol în text. Ea
poate fi utilizat ă în interiorul modului paragraph , iar textul notei de subsol
este specificat prin comanda \footnotetext , având sintaxa
\footnotetext[ number]{text}
\footnotetext poate s ă apară, oriunde, dup ă comanda
\footnotemark , în afara modului paragraph . Argumentul op țional
number este utilizat când se dore ște schimbarea num ărului implicit al notei. Se
pot produce mai multe marcaje consecutive ale unei note prin comanda
\footnotemark[\value{footnote}]
după prima comand ă \footnote .
Comanda
\thanks{ text}
are ca efect o not ă de subsol ata șată titlului, cu un simbol distinct de cele
generate prin comanda \footnote .
2.2. NOȚIUNI FUNDAMENTALE PRIVIND LaTeX 27
___________________________________________________________________________
Exemplul 2.12
\documentclass[11pt]{article}
\title{Un titlu\\lung}
\author{Ionescu\footnote
{adresa Ionescu}\\Popescu} \date{1.11.1999}
\begin{document}
\maketitle
……………………
……….. Textul articolului……
\end{document}
2.2.5.3 Sec ționarea unui document în unit ăți
O lucrare se poate împ ărți în părți, capitole , secțiuni, subsecțiuni și
subsubsec țiuni, iar apoi în paragrafe și subparagrafe . Pentru manevrarea și
aranjarea în pagin ă a acestora, LaTeX permite utilizarea unor comenzi de
secționare, a c ăror listă este prezentat ă în continuare:
• \part (doar pentru clasele report și book )
• \chapter (doar pentru clasele report și book )
• \section
• \subsection
• \subsubsection
• \paragraph
• \subparagraph
28 CAPITOLUL 2. INTRODUCERE ÎN LIMBAJUL LaTeX
____________________________________________________________________________
Toate comenzile de sec ționare au aceea și formă generală. De exemplu,
pentru capitol, forma comenzii este:
\chapter[ titlu_scurt]{title}
În afară de locul unde se sec ționează textul documentului, argumentul
title al comenzii poate s ă apară în două alte locuri, și anume: ( 1) în cuprins și
(2) în antetul ( header -ul) paginii curente. Dac ă nu se dorește ca title să apară în
text la fel ca în pozi țiile specificate la ( 1) și (2), atunci se seteaz ă argumentul
titlu_scurt . Ca urmare, parametrul title v a f i a f i șat în text, iar parametrul
titlu_scurt este utilizat pentru cuprins și antet, unde poate avea semnifica ția
unui titlu scurt.
Comenzile de sec ționare suport ă și forma cu “ *” la sfârșit. De exemplu:
\chapter*{ title}
care are ca rezultat tip ărirea argumentului title, nenumerotat și neinclus în
cuprins. La clasele book și report , secțiunea se numeroteaz ă cu două cifre
i.e. capitol.sec țiune, iar la clasa article numerotarea con ține doar o cifr ă.
De exemplu, în clasa article , 4.7 înseamn ă a 7-a subsec țiune a Sec țiunii 4,
iar în clasa report acceași subsecțiune se poate numerota 5.4. 1, unde “5” este
numărul capitolului. În felul acesta, un document article poate fi inclus, ca
un capitol, într-un document report .
Comanda
\appendix
permite schimbarea modului de numerotare a anexelor (de exemplu A. 1, A.1.1)
și folosește acelea și comenzi de sec ționare ca și documentul principal.
Comanda \appendix nu genereaz ă text. În fi șierul *.tex , o posibil ă
secvență de instruc țiuni este urm ătoarea:
\chapter{titlul_primului_capitol}
…
\appendix
\chapter{titlul_primului_appendix}
2.2.5.4 Etichete și referiri
LaTeX numeroteaz ă singur entit ățile din text, de și aceste numere nu se
cunosc în momentul edit ării fișierului *.tex . Când este necesar ă referirea
unor capitole, sec țiuni, figuri, ecua ții sau tabele, se folosesc comenzile
2.2. NOȚIUNI FUNDAMENTALE PRIVIND LaTeX 29
___________________________________________________________________________
\label{ key}
\ref{ key}
unde key este un nume simbolic pentru entitatea respectiv ă, ce const ă dintr-o
secvență oarecare de litere, cifre sau semne de punctua ție. Literele mari și mici
sunt interpretate distinct. Comanda \label , plasată în textul uzual, asigneaz ă
numărul unității curente prin parametrul key; dacă ea apare în interiorul unui
mediu numerotat, atunci acel num ăr este asignat argumentului key.
Pentru a evita crearea accidental ă a două etichete cu acela și nume, se
utilizează etichete constând dintr-un prefix și un sufix , separate prin caracterul
“:”. Prefixele conven ționale utilizate sunt:
• cha pentru chapters
• sec pentru sections
• fig pentru figures
• tab pentru tables
• eq pentru equations
Astfel, o etichet ă pentru o figur ă are forma fig:nume .
Comanda \ref produce num ărul unității secționale, num ărul ecuației
etc., din comanda \label corespunz ătoare.
Deosebit de util ă este și comanda
\pageref{ key}
care permite referirea la pagina unde este plasat ă entitatea etichetat ă de
\label , ca în exemplul urm ător.
Exemplul 2.13
\documentclass{report}
\renewcommand{\chaptername}{Capitolul} \begin{document}
\chapter{Introducere}
\section{\^Inceputul}\label{inceput}
text 1
\section{Dezvoltare} \^In sec\c tiunea \ref{inceput} de la pagina
\pageref{inceput}este vorba despre…
\end{document}
30 CAPITOLUL 2. INTRODUCERE ÎN LIMBAJUL LaTeX
____________________________________________________________________________
Observație. Reamintim c ă, dacă se folosesc referiri etichetate, atunci fi șierul *.tex
trebuie procesat de dou ă ori, pentru rezolvarea referin țelor încruci șate, deoarece la prima
procesare se scriu, în fi șierul *.aux , doar informa ții despre entit ățile etichetate. Abia la a doua
procesare aceste informa ții sunt preluate pentru a fi folosite de comenzile \ref și \pageref .
2.2.5.5 Generarea cuprinsului, a listei figurilor și a listei tabelelor
Generarea automat ă a cuprinsului, a listei figurilor și a listei tabelelor se
realizează, respectiv, utilizând comenzile:
2.2. NOȚIUNI FUNDAMENTALE PRIVIND LaTeX 3 1
___________________________________________________________________________
\tableofcontents
\listoffigures \listoftables
Fiecare din aceste comenzi se pune în locul în care se dore ște să apară
lista respectiv ă. Ca rezultat, este generat un fi șier (header ), dar nu se începe
automat o nou ă pagină. Dacă se dorește o pagin ă nouă după cuprins, respectiv
după lista de figuri sau de tabele, atunci se include comanda \newpage după
comanda \tableofcontents , respectiv dup ă \listoffigures sau
după \listoftables . Fișierul are acela și nume cu fi șierul rădăcină și,
respectiv, extensia
.toc pentru \ tableofcontents ,
.lof pentru \listoffigures sau
.lot pentru \listoftables .
Scrierea altor fi șiere, în afar ă de cele cu extensia .dvi și respectiv
.log , poate fi inhibat ă prin comanda \nofiles .
Adăugarea de noi linii, în oricare din cele trei fi șiere, se poate realiza
prin comenzile
\addcontentsline{ file}{sec_unit}{entry}
\addtocontents{ file}{text}
unde:
• file este o extensie a fi șierul în care trebuie scris ă informația și poate fi
toc, lof, sau lot;
• sec_unit poate fi:
– nume de unitate de document ( part , section , chapter , etc.),
dacă fișierul are extensia .toc ,
– figure , dacă fișierul are extensia .lof sau
– table , dacă fișierul are extensia .lot ;
• entry reprezint ă textul inserat.
32 CAPITOLUL 2. INTRODUCERE ÎN LIMBAJUL LaTeX
____________________________________________________________________________
2.3 CADRE
LaTeX pune la dispozi ție mai multe tipuri de cadre (în englez ă
environments ), cu scopul delimit ării unor entit ăți, cum ar fi ecua ții, tabele,
figuri, șiruri, liste sau, în general, paragrafe cu diverse caracteristici distincte de
ale textului ordinar.
Orice cadru începe și se sfârșește în acela și mod:
\begin{ environment_name }
text
\end{ environment_name }
unde environment_name este numele cadrului, iar text este conținutul cadrului.
Numele cadrului poate fi unul din urm ătoarele:
• array (șiruri și tabele cu simboluri matematice)
• center (linii centrate)
• description (liste etichetate)
• enumerate (liste numerotate)
• eqnarray (secvențe de ecuații aliniate)
• equation (ecuație)
• figure (figuri)
• flushleft (paragraf aliniat la stânga)
• flushright (paragraf aliniat la dreapta)
• itemize (listă marcată cu bullets )
• letter (scrisoare)
• list (listă generică)
• minipage (pagină miniatural ă)
• picture (figură cu text, s ăgeți, linii și cercuri)
• quotation (paragraf indentat cu prima linie indentat ă)
• quote (paragraf indentat cu prima linie neindentat ă)
• tabbing (aliniere oarecare a textului)
• table (tabele flotante)
• tabular (alinierea textului în coloane)
• thebibliography (bibliografie)
• titlepage (pagină specială de titlu, f ără numerotare)
• verbatim (lucrul în regim “ma șină de scris”)
2.3. CADRE 33
____________________________________________________________________________
• verse (pentru versuri etc.)
În plus fa ță de cadrele listate mai sus, se num ără cadrele document și
abstract.
Cadrele sunt similare cu alte structuri de control din limbajele de
programare, delimitate de deschideri și închideri corespunz ătoare.
Cadrul obligatoriu pentru orice fi șier LaTeX este document .
Cadrul abstract permite a șezarea în pagin ă a rezumatului și este
opțional pentru clasele article și report și nedefinit pentru clasele book ,
letter și slides .
Iată un exemplu simplu.
Exemplul 2.14
\documentclass{article}
\title{A Title}
\author{Ionescu}
\date{1.11.1999}
\begin{document} \maketitle
\begin{abstract}
…………
………..
…………… This is the abstract…
\end{abstract}
…….
……………..
……………… ……
This is the text……
\end{document}
În continuare sunt prezentate succint, în ordine alfabetic ă, cadrele
listate, cu accent pe acele facilit ăți ce permit crearea în LaTeX a textelor
științifice.
34 CAPITOLUL 2. INTRODUCERE ÎN LIMBAJUL LaTeX
____________________________________________________________________________
2.3.1 Cadrul array
\begin{array}[ pos]{cols}
col1 & col2 & … & coln \\
.
.
\end{array}
Șirurile și tabelele matematice de tip matriceal se construiesc utilizând
cadrul array . Argumentul cols (similar cu cel al cadrului tabular , a se
vedea subsec țiunea 2.3.19 ) descrie num ărul de coloane și alinierea elementelor
în interiorul lor și este compus, de regul ă, din secven țe de caractere (câte unul
pentru fiecare coloan ă), prin care se indic ă poziția elementelor în coloan ă:
– c (centred ) – centrat;
– l (left) – aliniat la stânga;
– r (right ) – aliniat la dreapta.
pos este un argument op țional, care specific ă poziționarea vertical ă în
cadru; pozi ționarea implicit ă este centrat, iar op țiunile sunt:
– t (top) – aliniere la marginea de sus a liniei;
– b (bottom ) – aliniere la marginea de jos a liniei
Conținutul unei coloane este separat, de urm ătoarea coloan ă, prin
simbolul &. Acest con ținut poate include alte comenzi LaTeX. Fiecare linie a
tabelului matriceal trebuie terminat ă cu secven ța de simboluri \\.
Cadrul array poate fi utilizat doar în modul matematic (sec țiunea
2.7), astfel încât, în general, el este deschis și închis în interiorul unui cadru
equation sau apare între dou ă simboluri $ .
Exemplul 2.15
\documentclass{report}
\begin{document}
$A(x)=\left( \begin{array}{ccc}
x & 0 & 0\\
1 & 0 & x
\end{array}\right)$
\end{document}
2.3. CADRE 35
____________________________________________________________________________
2.3.2 Cadrul center și comanda \centering
\begin{center}
Text linia 1 \\
Text linia 2 \\
.
. .
\end{center}
Cadrul center permite crearea unui paragraf, care const ă din linii
centrate între marginea din stânga și marginea din dreapta, pe pagina curent ă.
Fiecare linie trebuie terminat ă cu șirul \\, ce delimiteaz ă conținutul unui rând.
Comanda
\centering
corespunde cadrului center și poate fi utilizat ă în interiorul unor cadre
precum quote sau într-un parbox . Figurile sau tabelele pot fi centrate în
pagină, dacă se dă comanda \centering la începutul cadrelor ce definesc
entitățile respective.
Spre deosebire de cadrul center , comanda \centering nu începe
un nou paragraf, ci schimb ă doar modul în care LaTeX formateaz ă unitatea de
paragraf respectiv ă.
Exemplul 2.16
\documentclass{report}
\begin{document}
\begin{center}
un paragraf centrat\\
se pune \^\i ntr-un cadru\\
center
\end{center}
\end{document}
36 CAPITOLUL 2. INTRODUCERE ÎN LIMBAJUL LaTeX
____________________________________________________________________________
2.3.3 Cadrul description
\begin{description}
\item [ label] Primul element
\item [ label] Al doilea element
.
. .
\end{description}
Cadrul description este utilizat pentru crearea listelor etichetate.
Eticheta este un șir de caractere și apare aliniat ă la dreapta și tipărită cu
caractere bold. În descrierea de mai sus, comenzile \item definesc lista, iar
argumentul label definește eticheta.
Exemplul 2.17
\documentclass{report}
\begin{document} \begin{description}
\item[List 1] este lista 1
\item[List 2] este lista 2
\end{description}
\end{document}
2.3.4 Cadrul enumerate
\begin{enumerate}
\item Primul element
\item Al doilea element
.
. .
\end{enumerate}
Cadrul enumerate genereaz ă o listă numerotat ă. Numerot ările pot fi
încuibate, pân ă la o adâncime de patru niveluri. De asemenea, ele pot fi
încuibate într-un alt cadru.
Fiecare entitate a unei liste numerotate începe de la comanda \item .
2.3. CADRE 37
____________________________________________________________________________
În interiorul cadrului trebuie s ă existe cel pu țin o comand ă \item .
Cadrul enumerate folosește contorii enumi până la enumiv
(subsecțiunea 2.4.1 ), iar tipul de numerotare se poate modifica, redefinind
\theenumi .
Exemplul 2.18
\documentclass{report}
\begin{document}
The steps are:
\begin{enumerate} \item for i=1:n do
\item i:=i+1
\begin{enumerate}
\item j:=i
\end{enumerate} \item end
\end{enumerate}
\end{document}
2.3.5 Cadrul eqnarray și cadrul eqnarray*
\begin{eqnarray}
formula matematic ă 1 \\
formula matematic ă 2 \\
. .
.
\end{eqnarray}
Cadrul eqnarray este folosit pentru a scrie o secven ță de ecuații sau
de inegalit ăți. Seamănă, oarecum, cu un cadru array cu trei coloane, având
coloanele consecutive separate prin șirul \\, iar elementele consecutive dintr-o
linie separate prin &. Formulele se pot alinia dup ă simbolul cuprins, pe fiecare
linie, între semnele & (de exemplu dup ă semnul =, scriind &=&). Fiecare linie
este numerotat ă, cu excep ția cazului în care se întâlne ște comanda
\nonumber .
Comanda \lefteqn este folosit ă pentru a scrie o formul ă lungă pe
mai multe linii. Argumentul s ău este tip ărit aliniat la stânga fa ță de restul
38 CAPITOLUL 2. INTRODUCERE ÎN LIMBAJUL LaTeX
____________________________________________________________________________
liniilor ce cuprind formula.
Cadrul eqnarray* acționează la fel ca eqnarray , cu excep ția
faptului c ă nu genereaz ă numerotarea liniilor.
Exemplul 2.19
\documentclass{report}
\begin{document}
\begin{eqnarray} x_n&=&x_{n-1}+x_{n-2}\\
f(x)&=&x^2\\
\lefteqn{g(x)=x^2+y^2}
\nonumber\\& &+z^2
\end{eqnarray} \end{document}
2.3.6 Cadrul equation
\begin{equation}
formula matematica
\end{equation}
Cadrul equation centreaz ă ecuația pe pagin ă și plasează numărul
ecuației în marginea din dreapta. Clasa documentului determin ă modul cum
sunt numerotate ecua țiile (subsubsec țiunile 2.2.5.3 și 2.2.5.4 ).
Exemplul 2.20.
\documentclass{report}
\begin{document}
\begin{equation}
\lim_{n\rightarrow
\infty}
\left(1+\frac{1}{n} \right)^{n}=e
\end{equation}
\begin{equation}
F(s)=\int_{0}^{\infty}
f(t) e^{-st}dt
\end{equation}
\end{document}
2.3. CADRE 39
____________________________________________________________________________
2.3.7 Cadrul figure
\begin{figure}[ placement]
corpul figurii
\caption{ titlul figurii }
\end{figure}
Figurile sunt obiecte care nu fac parte din textul propriu-zis și sunt
“deplasate”, în mod normal, în locuri convenabile, de exemplu la începutul sau la sfârșitul paginii. O figur ă nu este tip ărită pe pagini separate.
Argumentul op țional placement determin ă locul în care LaTeX va
încerca să plaseze figura, și anume:
• h (here) – în locul din text în care apare cadrul figure ;
• t (top) – la începutul paginii;
• b (bottom ) – la sfâr șitul paginii;
• p (page of floats ) – pe o pagin ă separată, care nu con ține text, ci
numai obiecte din figura plasat ă de LaTeX.
Clasele standard report și article utilizeaz ă, ca amplasament
default, tbp, astfel încât figura poate fi a șezată la începutul paginii, la sfâr șitul
paginii sau pe o pagin ă separată.
Corpul figurii este compus, în general, dintr-un cadru picture centrat
(subsecțiunea 2.3.14 ). Comanda \caption permite scrierea legendei figurii.
Un exemplu de creare a unui desen va fi dat dup ă discutarea cadrului
picture .
2.3.8 Cadrul flushleft și comanda \raggedright
\begin{flushleft}
Text linia 1 \\
Text linia 2 \\
. . \end{flushleft}
Cadrul flushleft permite crearea de paragrafe aliniate la stânga.
Fiecare linie trebuie s ă se termine cu secven ța \\.
Comanda
40 CAPITOLUL 2. INTRODUCERE ÎN LIMBAJUL LaTeX
____________________________________________________________________________
\raggedright
corespunde cadrului flushleft și poate fi folosit ă în interiorul unui cadru
cum ar fi quote sau într-un parbox . Spre deosebire de cadrul flushleft ,
comanda \raggedright nu începe un nou paragraf, ci doar schimb ă
formatul paragrafului curent, cuprins între \begin{} și \end{} .
Exemplu 2.21
\documentclass{report}
\begin{document} \begin{flushleft}
Ne aliniem la st\^anga,
\^\i ntr-un \\cadru flushleft.
Acesta este\\ cunoscut
drept un\\ text "ragged-right".
\end{flushleft}
Sf\^ar\c situl altui paragraf.
\begin{quote}
\raggedright Aici este un cadru quote,\\
ale c\u arui linii sunt\\
aliniate la st\^anga.
\end{quote}
\end{document}
2.3.9 Cadrul flushright și comanda \raggedleft
\begin{flushright}
Text linia 1 \\
Text linia 2 \\
.
. \end{flushright}
Cadrul flushright permite crearea de paragrafe aliniate la dreapta.
Fiecare linie trebuie s ă se termine cu secven ța \\.
Comanda
\raggedleft
2.3. CADRE 4 1
____________________________________________________________________________
corespunde cadrului flushright și poate fi folosit ă în interiorul unui cadru
cum ar fi quote sau parbox . Spre deosebire de cadrul flushleft ,
comanda \raggedright nu începe un nou paragraf, ci doar schimb ă
formatul paragrafului curent, cuprins între \begin{} și \end{} .
2.3.10 Cadrul itemize
\begin{itemize}
\item Primul element
\item Al doilea element
.
.
\end{itemize}
Cadrul itemize genereaz ă o listă “cu bullets ”. Itemizarea poate fi
încuibată una într-alta, pân ă la patru niveluri în adâncime. De asemenea, aceste
liste pot fi incorporate într-un paragraf creat cu alt cadru.
Fiecare element dintr-o list ă începe cu comanda \item . În cadrul
itemize trebuie să existe cel pu țin o comand ă \item .
Cadrul itemize poate utiliza cinci contori, de la itemii la itemv
(subsecțiunea 2.4.1 ). Tipul de numerotare poate fi modificat redefinind
\theitemi .
Exemplul 2.22
Ex22 \documentclass{report}
\begin{document}
\begin{itemize}
\item Fiecare item … bullet.
\item Listele … \^\i ncuibate.
\begin{enumerate} \item Etichetele … sau litere.
\item O list\u a … 2item-uri.
\end{enumerate}
\LaTeX\ permite … \^\i ncuibare.
\item O linie goal\u a dup\u a \par
un item nu are efect.
\end{itemize}
\end{document}
42 CAPITOLUL 2. INTRODUCERE ÎN LIMBAJUL LaTeX
____________________________________________________________________________
2.3.11 Cadrul letter
Acest cadru este folosit pentru documente de tip scrisori și este tratat în
Anexa A.
2.3.12 Cadrul list
\begin{list}{ label}{spacing}
\item 1: Primul element
\item 2: Al doilea element
.
. \end{list}
Cadrul list este un cadru generic, utilizat pentru a defini alte cadre
specifice. În general, nu este folosit decât arareori în documente, dar în mod
frecvent apare în macrodefini ții (secțiunea 2.5).
Argumentul label specifică modul cum sunt etichetate elementele listei
(items ). Argumentul este un text, inclus într-un box pentru a forma o etichet ă.
Acest argument poate con ține alte comenzi LaTeX.
Argumentul spacing conține comenzi care seteaz ă parametrii de
spațiere ai listei. Acest argument este, în general, nul, i.e. {}. În acest caz, sunt
selectați parametrii de spa țiere implici ți (default ), ceea ce este satisf ăcător
pentru majoritatea aplica țiilor.
În afara acestor dimensiuni, urm ătoarele comenzi controleaz ă
formatarea.
\makelabel{ label} este comanda care pozi ționează eticheta transmis ă ca
parametru op țional al comenzii \item . Poate fi redefinit ă de utilizator,
cu ajutorul comenzii \renewcommand , în secțiunea de declara ții.
\usecounter{ ctr} pune la dispozi ție contorul ctr (care trebuie mai întâi
creat, conform subsec țiunii 2.4.1 ), pentru numerotarea intern ă a
elementelor. Acest contor este automat ini țializat la zero, iar la fiecare
comandă \item fără parametru el va fi incrementat cu
\refstepcounter , valoarea lui devenind valoarea curent ă
(subsecțiunea 2.4.1 ).
2.3. CADRE 43
____________________________________________________________________________
Exemplu 2.23
\documentclass{report}
\begin{document}
\newcounter{bean}
Textul ce precede lista. \begin{list}
{B–\arabic{bean}}
{
\usecounter{bean}
\setlength{\rightmargin}{20mm} \setlength{\leftmargin}{\rightmargin}
}
\item Acesta este primul element … sunt egale cu 20mm.
\item Acesta este al doilea element.
\end{list} \^Incepe un nou paragraf doar \^\i n cazul \^\i n care cadrul
list este urmat de o linie goal\u a.
Un nou paragraf.
\end{document}
44 CAPITOLUL 2. INTRODUCERE ÎN LIMBAJUL LaTeX
____________________________________________________________________________
\rightmargin
\leftmargin\labelwidth \itemindentTextul precedent
Label\topsep + \parskip [+ \partopsep]
Elementul 1
Paragraful 1
\parsep \listparindent
Elementul 1
Paragraful 2
Elementul 2Label
\topsep + \parskip [+ \partopsep]
Text ce urmeaza listei\itemsep + \parsep
Fig. 2.3 – Semnifica ția parameterilor din cadrul list (a se vedea și subsecțiunea 2.4.2 ).
2.3.13 Cadrul minipage și comanda \parbox
\begin{minipage}[ pos]{width}
text
\end{minipage}
Parbox este o cutie ( box) al cărei conținut este în modul paragraf ,
iar TeX genereaz ă o serie de linii ca în textul uzual. Cadrele figure și
table creează parbox -uri. Exist ă două modalități de a crea un parbox într-un
2.3. CADRE 45
____________________________________________________________________________
anumit loc din text: 1) cu ajutorul cadrului minipage și, respectiv, 2) prin
comanda \parbox . Ele pot fi folosite pentru a include unul sau mai multe
paragrafe de tip text, în interiorul unei figuri sau al unui tabel.
Cadrul minipage are un argument op țional pos și un argument width
ce specific ă lățimea box-ului. Argumentul op țional pos poate fi:
• t (top) – linia de sus a parbox -ului este aliniat ă la linia de text uzual
sau
• b (bottom ) – linia de jos a parbox -ului este aliniat ă la linia de text
uzual.
În interiorul unui cadru minipage , se pot utiliza alte comenzi de tip
cadru, ce creeaz ă paragrafe.
O comand ă \footnote sau \footnotetext creează o notă de
subsol în partea de jos a minipaginii și nu în subsolul paginii și utilizeaz ă
contorul mpfootnote în locul contorului obi șnuit pentru notele de subsol
(subsecțiunea 2.4.1 ).
Observație. Dacă se utilizeaz ă note de subsol, atunci nu se include o minipagin ă în
alta deoarece ele pot ajunge în subsolul altei minipagini decât cea corect ă.
Exemplul 2.24
\documentclass{report}
\begin{document}
\begin{minipage}[t]{0.5in}
{\em vrabia} este o pas\u are \end{minipage}
\ IAR \
\begin{minipage}[t]{1in}
{\em iepurele} este un roz\u
ator\footnote{vezi mamifere}. \end{minipage}
\end{document}
Comanda
\parbox
este similar ă cu cadrul minipage , are acela și argument op țional pos și un
argument width . Este utilizată, în general, pentru un parbox cu un volum redus
de text, ce nu con ține alte paragrafe create cu cadre.
46 CAPITOLUL 2. INTRODUCERE ÎN LIMBAJUL LaTeX
____________________________________________________________________________
Exemplul 2.25
\documentclass{report}
\begin{document}
\parbox[b]{0.5in}{Parbox
cu linia de JOS aliniat\u a cu linia TEXT.}
\ TEXT \
\parbox[t]{1in}{Parbox cu
linia de SUS aliniat\u a
cu linia TEXT.} \end{document}
Un control mai fin al pozi ționării verticale se realizeaz ă cu comanda
\raisebox (subsecțiunea 2.8).
2.3.14 Cadrul picture și folosirea sa în cadrul figure
\begin{picture}( width,height )(x_offset,y_offset )
comenzi picture
\end{picture}
Cadrul picture permite crearea de desene ce con țin text, linii, s ăgeți
și cercuri. În principiu, se comunic ă LaTeX locul unde se pun aceste obiecte
prin specificarea coordonatelor lor.
O coordonat ă este un num ăr care poate avea zecimale și semn – de
exemplu 5 sau –2.3. O coordonat ă specifică lungimea, în multipli de unitatea
\unitlength , astfel încât, dac ă \unitlength a fost setat ă la 1cm, atunci
coordonta 2.5 specific ă o lungime de 2.5cm de la origine. Valoarea
\unitlength poate fi modificat ă oricând, cu ajutorul comenzii
\setlength . Această schimbare nu trebuie f ăcută însă în interiorul cadrului
picture , deoarece efectul este imprevizibil.
O poziție este o pereche de coordonate – de exemplu, (2.4,-5), care
specifică punctul cu coordonata 2.4 pe axa x și respectiv –5 pe axa y.
Coordonatele sunt specificate, în mod uzual, în raport cu originea care este situată, de regul ă, în colțul stânga-jos al desenului. Când o pozi ție apare ca
argument, ea nu este inclus ă între paranteze, acestea servind doar la delimitare.
2.3. CADRE 47
____________________________________________________________________________
1(-2.1,1)
unitate de
lungime(2,2)
xy
originea
22
-2.1
Fig.2.4 Puncte și coordonatele lor
Cadrul picture are un argument obligatoriu dimensional. Cadrul
generează o cutie ( box) dreptunghiular ă, cu lungimea width și lățimea height ,
reprezente, respectiv, de coordonatele x și y ale argumentului.
Cadrul picture mai are și un argument op țional, ce urmeaz ă
argumentului dimensional și care poate modifica originea. Spre deosebire de
argumentele op ționale uzuale, acesta nu este inclus între paranteze drepte.
Acest argument op țional furnizeaz ă coordonatele noii origini, în raport cu
colțul din stânga-jos al figurii. De exemplu, dac ă \unitlength a fost setat ă
la 1mm, comanda
\begin{picture}(100,200)(10,20)
generează o figură cu lățimea 100mm și lungimea 200mm, al c ărei colț din
stânga-jos este punctul ( 10,20) și al cărei colț dreapta-sus este, în consecin ță,
(110,220). Când se deseneaz ă o figură, mai întâi se omite acest argument
opțional, lăsându-se originea în col țul stânga-jos. Dac ă apoi se dore ște o
deplasare a desenului, se adaug ă argumentul op țional corespunz ător.
Argumentul obligatoriu al cadrului determin ă mărimea nominal ă a
desenului, dar desenul propriu-zis poate s ă depășească aceste dimensiuni.
Grosimea liniei cu care se deseneaz ă se selecteaz ă prin comenzile:
• \thinlines – selecteaz ă linia subțire;
• \thicklines – selecteaz ă linia groas ă;
48 CAPITOLUL 2. INTRODUCERE ÎN LIMBAJUL LaTeX
____________________________________________________________________________
• \linethickness{ gros} selecteaz ă penița groas ă, iar
argumentul gros specifică grosimea liniei.
Desenul este alc ătuit cu comenzile:
\put( coord_x,coord_y ){obj} – pune obiectul obj în punctul de coordonate
coord_x , coord_y ;
\multiput( coord_x,coord_y )(dx,dy){nr}{obj} – pune de nr ori obiectul
obj, începând cu punctul de coordonate coord_x , coord_y , iar la fiecare
pas coordonatele sunt incrementate cu dx, respectiv dy. Ca urmare, la a
treia repetare a obiectului specificat prin obj, coordonatele sale vor fi
coord_x *3*dx, respectiv coord_y *3*dy.
Comanda \put creează o cutie LR (sec țiunea 2.8).
Obiectele reprezentate de argumentul obj pot fi text uzual sau desene
create de comenzile descrise în continuare.
\circle[*]{ diam} genereaz ă un cerc cu un diametru cât mai apropiat
posibil de cel specificat prin diam ; dacă este utilizat ă versiunea cu “ *” a
comenzii, atunci LaTeX genereaz ă un cerc plin (cu interiorul înnegrit).
\dashbox{ dash_length }(width,height )[pos]{text} genereaz ă un box
dreptunghiular, cu conturul punctat, ce con ține textul text; argumentul
opțional pos specifică poziția în care apare textul (implicit centrat pe
orizontală și verticală) și care poate fi selectat ă prin una sau dou ă din
valorile:
• t (top) –plasare în partea de sus a dreptunghiului;
• b (bottom ) – plasare în partea de jos a dreptunghiului;
• l (left) – plasare la stânga;
• r (right ) – plasare la dreapta;
• c (center ) – centrat.
Comanda are argumentul suplimentar dash_length, care specific ă
lungimea unei “liniu țe”, iar aspectul desenului este optim când
parametrii width și heigth sunt multipli de dash_length .
\frame{ obj}creează un contur dreptunghiular în jurul obiectului specificat
de argumentul obj; punctul de referin ță este colțul stânga-jos și nu se
lasă spațiu suplimentar între contur și obiect.
2.3. CADRE 49
____________________________________________________________________________
\framebox( width,height )[pos]{text} este similar ă cu comanda
\dashbox , cu excep ția faptului c ă genereaz ă un contur cu linie
continuă, plasat în exterior, în jurul cutiei pe care o creeaz ă.
\line( x_slope,y_slope ){length} este comanda ce genereaz ă o linie cu
lungimea length și panta ( slope ) x_slope/y_slope , unde x_slope și
y_slope pot avea valori întregi cuprinse între –6 și 6.
\makebox( width,height )[pos]{text} este similar ă cu comanda \dashbox ,
cu excepția faptului c ă marginile box-ului sunt invizible.
\oval( width,height )[portion] produce un oval (“dreptunghi cu vârfurile
rotunjite”); argumentul op țional portion permite selectarea, pentru
tipărire, doar a unei zone a ovalului, specificat ă prin una din valorile:
• t (partea de sus),
• b (partea de jos),
• r (partea din dreapta) sau
• l (partea din stânga.
Trebuie men ționat că “vârfurile” ovalului sunt realizate cu cercuri cu
raza maxim ă de 20 pt, astfel încât un oval “mare” va avea, mai degrab ă,
aspectul unui box cu colțurile rotunjite.
\shortstack[ pos]{obj1\\obj2\\…} genereaz ă o stivă de obiecte;
ultimul obiect este la baza stivei iar valorile argumentului op țional pos
pot fi:
• r (right ) –plasarea obiectului la dreapta stivei
• l (left) – plasarea obiectului la stânga stivei;
• c (center ) – plasarea obiectului în centrul stivei (implicit).
\vector( x_slope,y_slope ){length}desenează o linie cu o s ăgeată, de
lungimea specificat ă prin length și cu panta x_slope/y_slope .
În continuare sunt date câteva exemplu de utilizare a cadrului
picture .
50 CAPITOLUL 2. INTRODUCERE ÎN LIMBAJUL LaTeX
____________________________________________________________________________
Exemplu 2.26
\documentclass{report}
\begin{document}
\begin{figure}
\begin{picture}(100,100) \setlength{\unitlength}{1pt}
\put(120,20){\dashbox{.5}
(50,50)[b]{TEXT}}
\end{picture}
\caption{Un prim exemplu} \end{figure}
\end{document}
Exemplul 2.27
\documentclass{report}
\begin{document}
\begin{picture}(100,100)
\setlength{\unitlength}{1pt}
\put(1.4,5){\vector(1,2){20}} \put(1.4,2.6){\line(3,-1){50}}
\end{picture}
\end{document}
Exemplul 2.28
\documentclass{report}
\begin{document}
\begin{picture}(100,100)
\setlength{\unitlength}{1pt}
\put(20,0){\circle{20}}
\put(20,0){\vector(0,1){10}} \put(50,0){\circle*{10}}
\end{picture}
\end{document}
2.3. CADRE 5 1
____________________________________________________________________________
Exemplul 2.29
\documentclass{report}
\begin{document}
\begin{picture}(100,100)\setle
ngth{\unitlength}{1pt} \put(10,70){\shortstack{Acesta
\\ este \\ un obiect}}
\put(10,50){\oval(50,30)}
\end{picture}
\end{document}
Exemplul 2.30
\documentclass{report}
\begin{document} \begin{picture}(100,100)
\setlength{\unitlength}{1pt}
\multiput(3,3)(5,-3){3}{\oval(40,20)}
\end{picture}
\end{document}
Exemplul 2.31
\documentclass{report}
\begin{document}
\begin{picture}(100,100)
\setlength{\unitlength}{0.2cm} \put(5,4){\line(0,-1){2}}
\put(6,2){\oval(2,2)[bl]}
\put(6,1){\vector(1,0){6}}
\end{picture}
\end{document}
Observație. Pentru a realiza transform ări geometrice și a include fi șiere de tip .eps ,
care conțin grafică realizată în alte medii, se folose ște pachetul graphics . Includerea graficii
se realizeaz ă cu comanda \includegraphics (care suport ă și forma cu “ *”). Detalii
privind pachetul graphics se găsesc în [Lamport 1994].
52 CAPITOLUL 2. INTRODUCERE ÎN LIMBAJUL LaTeX
____________________________________________________________________________
2.3.15 Cadrul quotation
\begin{quotation}
text
\end{quotation}
Cadrul quotation se utilizeaz ă pentru eviden țierea unui citat mai
lung, compus din mai multe paragrafe. Marginile cadrului quotation sunt
indentate la stânga și la dreapta. Textul este aliniat ( justified ) la aceste margini
și paragrafele sunt indentate. O linie goal ă în text genereaz ă un nou paragraf.
Exemplul 2.32
\documentclass{report}
\begin{document}
Iat\u a c\^ateva sfaturi.
\begin{quotation}
Cadrele pentru realizarea citatelor pot fi folosite \c si \^\i
n alte scopuri. Este bine s\u a citi\c ti cu aten\c tie manualul.
Multe probleme pot fi rezolvate prin folosirea cadrelor din
\LaTeX. Pentru aceasta ave\c ti nevoie de experien\c t\u a.
\end{quotation} Acestea au fost unele din sfaturile ce v-ar fi necesare. Restul
le ve\c ti g\u asi \^\i n paginile acestei c\u ar\c ti sau \^\i
n alte lucr\u ari.
\end{document}
2.3. CADRE 53
____________________________________________________________________________
2.3.16 Cadrul quote
\begin{quote}
text
\end{quote}
Cadrul quote este similar cadrului quotation , dar este destinat
evidențierii unor citate mai scurte, ce cuprind doar un singur paragraf sau unor
secvențe de citate scurte, separate prin linii goale. Marginile din stânga și din
dreapta sunt indentate, iar textul este aliniat la ambele margini.
Exemplul 2.33
\documentclass{report}
\begin{document} Motto-ul
\begin{quote}
"\TeX\ este un sistem de culegere de texte, destinat cre\u arii
unor c\u ar\c ti frumoase –
\c si, \^\i n special, a celor care con\c tin mult\u a matematic\u a."
\emph{- D.E Knuth, The \TeX book (1983)-}
\end{quote}
este un adev\u ar recunoscut, din ce \^\i n ce mai mult, de editori din \^\i ntreaga lume.
\end{document}
54 CAPITOLUL 2. INTRODUCERE ÎN LIMBAJUL LaTeX
____________________________________________________________________________
2.3.17 Cadrul tabbing
\begin{tabbing}
text \= text \= text \= text \\
a doua linie \> \> ultimul text \\
.
. \end{tabbing}
Cadrul tabbing permite alinierea textului pe coloane și poate fi
utilizat doar în modul paragraf (sec țiunea 2.6). El ofer ă un mecanism pentru
setarea și folosirea tabulatorilor, similar cu cel de la o ma șină de scris. Este
adecvat situa țiilor în care l ățimea fiec ărei coloane este constant ă și cunoscut ă
dinainte. Spre deosebire de cadrul tabular , acest cadru poate trece de la
pagină la alta. Opririle tab-ului sunt numerotate 0, 1, 2, etc. Oprirea cu num ărul
i a tab-ului este setat ă, dacă i se asociaz ă o poziție pe orizontal ă în pagină.
În interiorul unui cadru tabbing pot fi folosite urm ătoarele comenzi:
\= seteaz ă un tab în poziția curentă;
\> salt orizontal la urm ătorul tab;
\< decrementeaz ă valoarea num ărului curent de opriri ale tab-ului,
permițând inserarea unui text la stânga marginii locale, f ără a o
modifica; poate fi folosit ă doar la început de linie, unde anuleaz ă (pe
linia respectiv ă) efectul unei comenzi \+ precedente ;
\+ mută marginea din stânga a liniei urm ătoare cu un tab, iar mai multe
astfel de comenzi au efect cumulativ; ini țial, tabulatorul marginii din
stânga este setat la 0;
\- decrementeaz ă cu 1 tabulatorul marginii din stânga a liniei urm ătoare
(care trebuie s ă fie pozitiv), anulând efectul unei comeni \+; mai multe
astfel de comenzi au efect cumulativ;
\’ mut ă textul din coloana curent ă, situat înaintea comenzii, în coloana
precedent ă și îl aliniaz ă la dreapta;
\‘ produce alinierea la dreapta tabelului a textului ce urmeaz ă după
comandă; după această comandă, nu mai sunt acceptate comenzile \>,
\=, \’ sau \‘ ;
2.3. CADRE 55
____________________________________________________________________________
\kill nu tip ărește rândul curent;
\pushtabs salvează poziția curent ă a tuturor tabulatorilor ce pot fi
restaurați cu comanda \poptabs ;
\poptabs restaureaz ă pozițiile tabulatorilor salva ți la ultima comand ă
\pushtab ;
\a, \a’, \a‘ produc accentele pe care le-ar genera, în mod normal, respectiv
comenzile \=, \’, \‘ (și care, aici, sunt redefinite).
Exemplul 2.34
\documentclass{report}
\begin{document}
\begin{tabbing}
function \= fact(n : integer)
: integer;\\ \> begin \= \+ \\
\> if \= n $>$ 1 then \+ \\
fact := n * fact(n-1) \- \\
else \+ \\
fact := 1; \-\- \\ end;\\
\end{tabbing}
\end{document}
Exemplul 2.35
\documentclass{report}
\begin{document}
\begin{tabbing}
O coloan\u a
\=\^\i ngust\u a.\\
Acest r\^ and este prea lung. \>/////////////////
\end{tabbing}
\end{document}
56 CAPITOLUL 2. INTRODUCERE ÎN LIMBAJUL LaTeX
____________________________________________________________________________
Exemplul 2.36
\documentclass{report}
\begin{document}
\begin{tabbing}
Coloana veche 1 \=Coloana veche 2\\
Col.1\>Col.2\\
Col. nou\u a 1
\=Col. nou\u a 2\\
Col.1\>Col.2 \end{tabbing}
\end{document}
Exemplul 2.37
\documentclass{report}
\begin{document}
\begin{tabbing}
Eminescu\=Creang\u a\=\kill
Mihai \>Ion \>Ion Luca \\ Eminescu \>Creang\u a
\>Caragiale
\end{tabbing}
\end{document}
2.3.18 Cadrul table
\begin{table}[ placement]
corpul tabelului
\caption{ titlul tabelului }
\end{table}
Tabelele, la fel ca și figurile, sunt obiecte al c ăror conținut trebuie s ă
apară doar pe o singur ă pagină și ele pot fi deplasate ( floated ) în text, – de
exemplu, la începutul paginii urm ătoare – astfel încât s ă nu existe pagini
umplute par țial.
Argumentul op țional placement determin ă locul în care LaTeX va
încerca s ă plaseze tabelul. Aceste pozi ții sunt specificate cu ajutorul unor
caractere cu urm ătoarea semnifica ție :
2.3. CADRE 57
____________________________________________________________________________
• h (here) – în locul în care apare cadrul table în text;
• t (top) – în capătul de sus al unei pagini de text;
• b (bottom ) – la baza unei pagini de text;
• p (page of floats ) – pe o pagin ă separată ce nu con ține text, ci doar
obiecte deplasate.
Poziția default este tpb. Corpul tabelului este compus din text,
comenzi LaTeX etc. Includerea comenzii \caption permite etichetarea și
scrierea unei legende asociate tabelului.
Un exemplu de utilizare a cadrului table va fi dat în sec țiunea ce
tratează cadrul tabular .
2.3.19 Cadrul tabular
\begin{tabular}[ pos]{cols}
linia 1 :col.1 & col.2 … & col.n\\
.
.
linia m :col.1 & col.2 … & col.n\\
\end{tabular}
sau
\begin{tabular*}{ width}[pos]{cols}
linia 1 :col.1 & col.2 … & col.n\\
.
.
linia m :col.1 & col.2 … & col.n\\
\end{tabular*}
Aceste cadre produc un box, constând dintr-o secven ță de linii de
elemente, aliniate vertical în coloane. Argumentele obligatorii și respectiv
opționale sunt descrise în continuare.
• width – specific ă lățimea cadrului tabular* .
• pos – specific ă poziția pe vertical ă, default înseamnă alinierea centrat în
cadru, iar valorile pot fi:
t – aliniere în cap ătul de sus al liniei;
b – aliniere în cap ătul de jos al liniei.
58 CAPITOLUL 2. INTRODUCERE ÎN LIMBAJUL LaTeX
____________________________________________________________________________
• cols – specific ă formatul coloanei și constă dintr-o secven ță alcătuită cu
simbolurile de mai jos.
l – o coloan ă de elemente aliniate la stânga
r – o coloan ă de elemente aliniate la dreapta
c – o coloan ă de elemente centrate
| – separator de coloane, reprezentat de o linie vertical ă mărginită de
spații
@{text} – separator de coloane ce specific ă o @-expresie . Se
inserează textul text în fiecare linie, între coloanele între care apare
@-expresie . O @-expresie suprimă spațiul dintre coloane,
inserat în mod normal și orice spa țiu dorit între textul propriu-zis și
celelalte elemente trebuie s ă fie inclus în text. O comand ă
\extracolsep{ wd}, într-o @-expresie , genereaz ă un spațiu
suplimentar, de l ățime wd, la stânga tuturor coloanelor urm ătoare,
până la următoarea comand ă \extracolsep . Spre deosebire de
spațiul uzual dintre coloane, acest spa țiu suplimentar nu poate fi
suprimat printr-o @-expresie . O comand ă \extracolsep
poate fi folosit ă doar în argumentul cols, într-o @-expresie .
p{wd} – generează o coloan ă, cu fiecare element plasat într-o cutie
cu lățimea wd, ca și cum ar fi argumentul unei comenzi
\parbox[t]{ wd}. Cu toate acestea, secven ța \\ nu este permis ă
decât în urm ătoarele situa ții:
– în interiorul unui cadru de tip array , minipage sau
tabular ,
– în interiorul unui \parbox explicit sau
– în sfera de ac țiune a unei comenzi \centering ,
\raggedright sau \raggedleft . Ultimele dou ă comenzi
trebuie să apară între paranteze sau într-un cadru, atunci când
sunt folosite într-un element coloan ă p .
*{num}{cols} – echivalent cu num cópii ale coloanelor, unde num
este orice întreg pozitiv iar cols este orice list ă de specificatori de
coloană, care pot con ține și o @-expresie .
Fiecare linie este separat ă, de următoarea, prin comanda \\ și constă
dintr-o secven ță de elemente, separate prin caracterul &. O linie trebuie s ă
conțină același număr de elemente ca cel specificat de argumentul cols. Fiecare
element este procesat ca și cum ar fi între paranteze, astfel încât câmpul de
2.3. CADRE 59
____________________________________________________________________________
acțiune al fiec ărei declara ții dintr-un element – i.e. efectul declara ției – se
limitează la acel element. Urm ătoarele comenzi pot fi folosite în specificarea
unui element al unei linii:
• \multicolumn{ n}{pos}{item} – face elementul item să se extind ă pe
n coloane, în pozi ția pos, care poate con ține una din valorile: r (right ),
c (centred ), l (left) și una sau mai multe @–expresii și caractere |;
această comandă fie începe o linie a tabelului, fie urmeaz ă imediat dup ă
caracterul &;
• \vline – când este utilizat ă în interiorul unui element l, c sau r, produce
o linie vertical ă, pe toată înălțimea liniei respective de elemente ale
tabelului; o comand ă \hfill poate fi utilizat ă pentru a muta linia la
marginea coloanei; comanda poate fi utilizat ă într-o @-expresie .
Comenzile descrise în continuare pot genera linii orizontale, între dou ă
linii succesive de elemente ale tabelului. Ele trebuie s ă apară fie înaintea primei
linii de elemente, fie imediat dup ă o comand ă \\. O linie orizontal ă, după
ultima linie de elemente, este produs ă de comanda \\, urmată de una din
comenzile descrise mai jos.
Comanda
\cline{ i-j}
subliniază elementele tabelului, începând de la coloana i până la coloana j.
Comanda
\hline
plasată după o secven ță \\ sau la începutul cadrului, traseaz ă o linie orizontal ă
sub toate coloanele. Dou ă comenzi \hline succesive las ă un spațiu între
linii; delimit ările generate de caracterul |, din argumentul cols, nu apar în acest
spațiu.
60 CAPITOLUL 2. INTRODUCERE ÎN LIMBAJUL LaTeX
____________________________________________________________________________
Exemplul 2.38
\documentclass{report}
\begin{document}
\begin{table}[htbp]
\begin{center} \begin{tabular}{cc}
\multicolumn{2}{c}{\emph{Some
real values}}\\ \hline
$x=0.1$&$y=2.2$\\
$r=10$&$z=100$\\ \end{tabular}
\end{center}
\caption{Exemple 38}
\end{table}
\end{document}
Exemplul 2.39
\documentclass{report}
\begin{document} \begin{tabular} {|r||r@{–}l|p{1.25in}| }\hline
\multicolumn{4}{|c|}{\emph{Firma Paradis}}\\ \hline\hline
&\multicolumn{2}{c|}{Pre\c t}&\\ \cline{2-3}
\multicolumn{1}{|c||}
{An}&\multicolumn{1}{r@{\,\vline\,}}{min}&max &\multicolumn{1}{c|}{Observa\c tii} \\ \hline
1971&97&245&An slab.\\ \hline
72&245&245&Iarn\u a grea.\\ \hline
73&245&2001&Un an ciudat. Prognoz\u a bun\u a.\\\hline
\end{tabular} \end{document}
2.3. CADRE 6 1
____________________________________________________________________________
Exemplul 2.40
\documentclass{report}
\begin{document}
\begin{tabular*}{40mm}{@{}r@{.}l%
@{\extracolsep{\fill}}cr% @{\extracolsep{0pt}::}l@{}}
\multicolumn{5}{c}{\underline{Tabel
}}\\
1&22&obiect 1 &clasa&st\^ ang\u a\\
50&7 &obiectul 2 &clasa&ro\c sie\\ 9&99&obiecte &clase&diverse
\end{tabular*}
\end{document}
2.3.19.1 Observa ții importante privind cadrul tabular
și cadrul array
Următoarele propriet ăți ale cadrelor tabular și array (secțiunea
2.3.1 ), deși au fost men ționate, sunt adesea ignorate de utilizatorii încep ători.
• Aceste cadre creeaz ă o cutie ( box) (a se vedea și secțiunea 2.3.13 ).
• Cutia creat ă cu aceste comenzi poate avea un spa țiu alb, înainte de prima
coloană și respectiv dup ă ultima coloan ă, spațiu ce poate fi eliminat cu o
@-expresie .
• Orice declara ție într-o linie a tabelului (vezi linia 1, …, linia m ) aparține
unui element al tabelului, iar câmpul s ău de acțiune este elementul
respectiv (i.e. efectul se exercit ă doar asupra elementului).
• O @-expresie , în argumentul cols, suprimă spațiul implicit dintre
coloane.
62 CAPITOLUL 2. INTRODUCERE ÎN LIMBAJUL LaTeX
____________________________________________________________________________
2.3.19.2 Parametrii de stil privind cadrul array
și cadrul tabular
Formatul cadrelor array și tabular poate fi respectiv controlat cu
următoarele comenzi, reprezentând parametrii de stil privind lungimile:
• \arraycolsep – reprezintă jumătate din l ățimea specificat ă, prin
argumentul width , a spațiului orizontal implicit dintre coloane, într-un
cadru array ;
• \tabcolsep – reprezintă jumătate din l ățimea specificat ă, prin
argumentul width , a spațiului orizontal implicit dintre coloane, într-un
cadru tabular sau tabular* ;
• \arrayrulewidth – reprezint ă lățimea unei linii create, cu ajutorul
caracterului |, în argumentul cols sau cu una din comenzile \hline ,
\cline sau \vline ;
• \doublerulesep – reprezintă lățimea spațiului dintre linii, creat cu
două caractere | succesive, în argumentul cols, sau cu dou ă comenzi
\hline succesive;
• \arraystretch – controleaz ă spațierea dintre liniile tabelului; spa țiul
normal este multiplicat cu num ărul generat de \arraystretch ,
astfel încât modificarea sa, de la valoarea implicit ă 1 la 1.5, crește
spațiul dintre linii de 1.5 ori, în parte; valoarea sa poate fi modificat ă,
din nou, cu o comand ă \renewcommand (subsecțiunea 2.2.4 și
secțiunea 2.5)
Parametrii de stil de mai sus pot fi schimba ți, oricând, în afara unui
cadru array , respectiv tabular . Ei pot fi, de asemenea, schimba ți local, în
interiorul unui element, dar câmpul de ac țiune al modific ării respective trebuie
delimitat prin paranteze de grupare sau printr-un cadru.
2.3. CADRE 63
____________________________________________________________________________
2.3.20 Cadrul thebibliography
și programul BibTeX
2.3.20.1 Cadrul thebibliography și
generarea manual ă a bibliografiei
\begin{thebibliography}{ widest_label }
\bibitem[ label]{cite_key}
.
. \end{thebibliography}
Cadrul thebibliography permite crearea manual ă a unei liste de
referințe bibliografice. În clasa article , lista de referin țe este intitulat ă
“References”, iar în clasa report , “Bibliography”. Parametrul widest_label
specifică un text care, tip ărit, este aproximativ tot atât de lat cât elementul de
lățime maxim ă, generat de comenzile \bibitem .
Comanda
\bibitem[ label]{cite_key}
generează o înregistrare cu eticheta label . Dacă argumentul label lipsește, se
generează un număr cu rolul etichetei, utilizând contorul enumi (subsecțiunea
2.4.1 ). Parametrul cite_key este orice secven ță de litere, numere sau semne de
punctuație diferite de virgul ă “,”. Aceast ă comandă scrie, în fi șierul cu extensia
.aux , o înregistrare con ținând cite_key și eticheta label a elementului. Când
acest fișier *.aux este citit, la comanda \begin{document} , eticheta
elementului este asociat ă cu cite_key , astfel încât, prin comanda \cite ,
referința respectiv ă genereaz ă eticheta label asociată.
Comanda
\cite[ text]{key_list}
generează citarea, în text, a referin țelor asociate cu etichetele din lista key_list ,
prin înregistr ări din fișierul *.aux , citit la comanda \begin{document} .
Argumentul key_list este o list ă de etichete de citare. Argumentul op țional text
va apărea după citare, i.e. comanda \cite[p. 2]{knuth} va genera
“[Knuth, p. 2]”.
Comanda
64 CAPITOLUL 2. INTRODUCERE ÎN LIMBAJUL LaTeX
____________________________________________________________________________
\nocite{ key_list}
nu genereaz ă nici un text, dar scrie key_list , care este o list ă de una sau mai
multe citări, în fișierul *.aux .
Exemplul 2.41
\documentclass{report}
\begin{document} Leslie Lamport \cite{LL:LaT} shows that\par
…..
\begin{thebibliography}{99}
\bibitem{LL:LaT} Leslie Lamport.
{\em (1994) }\LaTeX\ A Document Preparation System. User's Guide and Reference Manual. Addison-Wesley Publ. Co.
\end{thebibliography}
\end{document}
Observație. De remarcat c ă, în clasa report , bibliografia este tip ărită pe o pagin ă
separată, după textul documentului propriu-zis, pe când la documentele de tip article
referințele apar la sfâr șitul documentului, f ără a se genera o nou ă pagină.
2.3. CADRE 65
____________________________________________________________________________
Exemplul 2.42
\documentclass{article}
\begin{document}
Leslie Lamport \cite{LL:LaT} shows that…\par…..
\begin{thebibliography}{Alexander 95} \bibitem[Alexander 95]{Al:Mat}John Alexander. {\em (1995) }
Mathematical Analysis. Ed. MIR, Moscow.
\bibitem[Lamport 94]{LL:LaT} Leslie Lamport.{\em (1994) }
\LaTeX\ A Document Preparation System. User's Guide and
Reference Manual. Addison-Wesley Publ. Co. \end{thebibliography}
\end{document}
În acest exemplu, parametrul widest_label este Alexander 95 .
Observație. Atenție, pentru rezolvarea referințelor încruci șate, fiecare fi șier *.tex ,
din exemplele 2.41 și respectiv 2.42, a fost procesat, în LaTeX, de două ori; reamintim c ă, la
prima trecere, se marcheaz ă referințele și abia la a doua trecere acestea sunt alocate.
Exemplul urm ător arată cum se poate redacta textul din exemplul 2.42
în limba român ă, prin redefinirea numelor sec țiunilor (conform subsec țiunii
2.2.4 ).
66 CAPITOLUL 2. INTRODUCERE ÎN LIMBAJUL LaTeX
____________________________________________________________________________
Exemplul 2.43
\documentclass{article}
\renewcommand{\refname}{Bibliografie}
\begin{document}
Leslie Lamport \cite{LL:LaT} arat\u a c\u a …\par …..
\begin{thebibliography}{Alexander 95}
\bibitem[Alexander 95]{Al:Mat}
John Alexander. {\em (1995) }
Mathematical Analysis. Ed. MIR, Moscow. \bibitem[Lamport 94]{LL:LaT}
Leslie Lamport.
{\em (1994) } \LaTeX\ A Document Preparation System. User's
Guide and Reference Manual. Addison-Wesley.
\end{thebibliography} \end{document}
2.3.20.2 Programul BibTeX și generarea automat ă a bibliografiei
Dacă, pentru între ținerea listei bibliografice, utiliza ți programul
BibTeX, creat de Oren Patashnik (recomandat, în special, în cazul unei
bibliografii bogate, care con ține mai mult de câteva titluri), atunci nu se
folosește cadrul thebibliography . În schimb, se introduc urm ătoarele
linii:
\bibliographystyle{ style}
\bibliography{ bibfile}
2.3. CADRE 67
____________________________________________________________________________
unde style se referă la fișierul style.bst , care define ște felul cum vor ar ăta
citatele. Stilurile standard, distribuite de BibTeX ,sunt urm ătoarele:
alpha – sortare în ordine alfabetic ă, cu etichete constituite din numele
autorului și anul apari ției publica ției;
plain – sortare în ordine alfabetic ă, cu etichete numerice;
unsrt – similar cu plain , dar elementele apar în ordinea cit ării, fără
sortare;
abbrv – similar cu plain , dar etichetele sunt mult mai compacte.
În plus, pot fi activate numeroase alte fi șiere style pentru BibTeX,
conform cerin țelor diverselor edituri și conform layout -urilor specifice pentru
diverse reviste.
Argumentul comenzii \bibliography se refer ă la fișierul
bibfile.bib , care ar trebui s ă conțină baza Dvs. de date, în format BibTeX .
Detalii privind organizarea bazei de date se g ăsesc în [Lamport 1994] și în
fișierul btxdoc.dvi , ce înso țește documenta ția MiKTeX (disponibil ă la
adresa www.stat.uiowa.edu/resources/help/win95/latex.html ) care con ține și
lucrarea BibTeXing, scris ă de Oren Patashnik [Patashnik 1988]. Câteva
elemente din aceast ă lucrare sunt prezentate, succint, în Anexa B.
2.3.21 Cadrul titlepage
\begin{titlepage}
text
\end{titlepage}
Cadrul titlepage creează o pagin ă de titlu, i.e. o pagin ă
nenumerotat ă și fără header , iar pagina imediat urm ătoare devine prima pagin ă,
din punctul de vedere al numerot ării. Formatarea paginii de titlu este l ăsată, în
întregime, la latitudinea autorului. Adesea, este folosit ă una din comenzile
\today (pentru generarea datei curente) sau \date (pentru specificarea unei
anumite date sau a celei curente). Pentru a produce o pagin ă de titlu standard,
se folosește comanda \maketitle (subsubsec țiunea 2.2.5.2 ).
Sunt utile, de asemenea, urm ătoarele cadre și comenzi: cadrul center ,
descris în subsec țiunea 2.3.2 , comenzile de schimbare de stil precum și cele de
schimbare a dimensiunii fontului, descrise în sec țiunea 2.6.
68 CAPITOLUL 2. INTRODUCERE ÎN LIMBAJUL LaTeX
____________________________________________________________________________
2.3.22 Cadrul verbatim și comanda \verb
\begin{verbatim}
text
\end{verbatim}
Cadrul verbatim genereaz ă un paragraf, în care LaTeX tip ărește
exact ceea ce se introduce de la tastatur ă. Cu alte cuvinte, LaTeX devine o
“mașină de scris”, care proceseaz ă spațiile ( blank -urile) și comenzile enter de
la tastatur ă.
Exemplul 2.44
\documentclass{report}
\begin{document} Urmeaz\u a un un text scris \^\i n cadrul \texttt{verbatim}.
\begin{verbatim}
Text scris \^\i n cadrul \texttt{verbatim}
\end{verbatim}
\end{document}
Comanda \verb , cu sintaxa
\verb char literal_text char ,
suportă și forma cu “ *”, având sintaxa
\verb* char literal_text char .
literal_text semnific ă textul tip ărit, în stilul typewriter (\texttt ,
secțiunea 2.6), exact cum este introdus de la tastatur ă, inclusiv caracterele
speciale și spațiile. char este un caracter diferit de liter ă (de exemplu + sau |),
ce delimiteaz ă, în cadrul paragrafului curent, textul literal_text . Se admite s ă nu
fie nici un blank între char și \verb , respectiv \verb* . În forma cu “ *”,
spațiile sunt tip ărite ca un caracter special.
2.3. CADRE 69
____________________________________________________________________________
Exemplul 2.45
\documentclass{report}
\begin{document}
Se poate scrie:\\ \verb+$x=y$+
sau \verb?$x = y$?. \end{document}
Exemplul 2.46
\documentclass{report}
\begin{document}
Se poate scrie:\\\verb*+$x=y$+
sau \verb*?$x = y$?.
\end{document}
2.3.23 Cadrul verse
\begin{verse}
text
\end{verse}
Cadrul verse este destinat tip ăririi de versuri, de și se poate folosi și în
alte scopuri. Marginile textului sunt indentate, la stânga și la dreapta. Versurile
dintr-o strof ă sunt separate cu secven ța \\, iar strofele sunt separate prin una
sau mai multe linii goale.
Exemplul 2.47
\documentclass{report}
\begin{document} \^In 1876, Eminescu scria:
\begin{verse}
Cu g\^andiri \c si cu imagini\\
\^Innegrit-am multe pagini …
Nu urma\c ti g\^andirei mele,\\
C\u aci noianu-i de gre\c sele,…\\
\end{verse}
\end{document}
70 CAPITOLUL 2. INTRODUCERE ÎN LIMBAJUL LaTeX
____________________________________________________________________________
2.4 VARIABILE INTERNE LaTeX
2.4.1 Contori
Pentru numerotare, în LaTeX se asociaz ă, în mod automat, un contor.
Numele contorului este acela și cu numele cadrului sau al comenzii care
generează numărul (cu excep ția celor fără \). În continuare, este prezentat ă lista
contorilor utiliza ți, pentru controlul numerot ării, în categoriile standard de
documente LaTeX.
part paragraf figure enumi
chapter subparagraf table enumii
section page footnote enumiii
subsection equation mpfootnote enumiv subsubsection
Contorii enumi – enumiv sunt folosi ți în cadrul enumerate
încuibat: enumi pentru primul nivel (exterior), enumii pentru urm ătorul,
etc.(subsec țiunea 2.3.4 ). Contorul mpfootnote numără notele de subsol
(footnotes ), într-un cadru minipage (subsecțiunea 2.3.13 ). În plus fa ță de
cele de mai sus, un cadru creat utilizând comanda \newtheorem (secțiunea
2.5) are un contor cu acela și nume, cu excep ția situației în care un argument
opțional specific ă numerotarea, similar ă cu cea din alt cadru.
Valoarea unui contor este un întreg, în general nenegativ. Numerele
multiple sunt generate cu contori diferi ți; de exemplu, cifrele “ 2” și “4” din
“Subsecțiunea 2.4 ” sunt generate de contorii section și respectiv
subsection . Valoarea unui contor este ini țializată la zero și este
incrementat ă, de către comenzile sau cadrele corespunz ătoare. De exemplu,
contorul subsection este incrementat, de comanda \subsection , înainte
de generarea num ărului subsec țiunii și este resetat, la zero, când contorul
section este incrementat, astfel încât num ărul subsec țiunii începe, într-o
nouă secțiune, de la unu (a se vedea și exemplul 2.48).
Contorul page este folosit pentru numerotarea paginilor într-un
document. Acesta difer ă de alți contori, prin faptul c ă este incrementat după
2.4. VARIABILE INTERNE LaTeX 7 1
____________________________________________________________________________
generarea num ărului paginii; de exemplu, comanda
\setcounter{page}{27} face ca pagina curent ă să capete num ărul 27.
Din acest motiv, contorul page este inițializat la unu în loc de zero. Stilul
numerotării este definit prin comanda \pagenumbering (secțiunea 2.9).
În continuare, se descriu comenzile ce opereaz ă asupra contorilor:
\addtocounter{ ctr}{num}
Incrementeaz ă contorul ctr cu valoarea specificat ă de argumentul num.
\newcounter{ newctr}[within]
Definește un nou contor, cu numele newctr , inițializat la zero, cu
valoarea numeric ă (returant ă de \the newctr ) afișată în stilul definit
prin \arabic{ newctr}. Este o declara ție global ă și nu poate fi
folosită într-un fi șier inclus, declarat cu comanda \include . Se
utilizează doar în preambul (a se vedea și subsecțiunea 2.3.12 ).
newctr – este o secven ță de caractere, diferit ă de numele unui contor
deja existent.
within – specific ă numele unui contor deja definit. Dac ă acest argument
este prezent, atunci newctr este resetat la zero, ori de câte ori
contorul within este incrementat prin comenzile
\stepcounter sau \refstepcounter .
\refstepcounter{ ctr}
\stepcounter{ ctr}
Comenzile incrementeaz ă valoarea contorului ctr cu unu, resetând
valoarea oric ărui contor numerotat “în interiorul” acestuia. De exemplu,
contorul subsection este numerotat în interiorul contorului
section care, pentru clasele de documente report sau book , este
numerotat în interiorul contorului chapter . În plus, comanda
\refstepcounter declară valoarea curent ă returnată de \ref ca
fiind textul generat de comanda \the ctr.
\setcounter{ ctr}{num}
Setează valoarea contorului ctr la num. Este o declara ție globală.
\value{ ctr}
Genereaz ă valoarea contorului ctr, care poate fi astfel folosit ă într-o
expresie. Este utilizat ă, cu precădere, în argumentul num al comenzilor
72 CAPITOLUL 2. INTRODUCERE ÎN LIMBAJUL LaTeX
____________________________________________________________________________
\setcounter sau \addcounter . De exemplu, comanda
\setcounter{cont}{\value{page}} setează contorul cont
la valoarea curent ă a contorului page .
Comanda \usecounter{ ctr} este folosit ă în cadrul list
(subsecțiunea 2.3.12 ).
Observație. Comenzile \setcounter și \addcounter afectează doar contorul
specificat. De exemplu, schimbarea contorului section prin aceste comenzi nu afecteaz ă
contorul subsection .
Exemplul 2.48
\documentclass{report}
\begin{document}
\setcounter{footnote}{17}
Deoarece\footnote{…} \addtocounter{footnote}{-2}
un contor\footnote{…} este\\
incrementat \^\i nainte de
utilizare,\\
el trebuie setat la valoarea\\ cu unu mai mic\u a dec\^at
num\u arul dorit.
\end{document}
Următoarele comenzi tip ăresc valoarea contorului ctr, în formatul
indicat:
\alph{ ctr} Litere latine mici (valoarea lui ctr trebuie s ă fie mai mic ă decât
27).
\Alph{ ctr} Litere latine mari (valoarea lui ctr trebuie s ă fie mai mic ă decât
27).
\arabic{ ctr} Cifre arabe.
\roman{ ctr} Cifre romane mici.
\Roman{ ctr} Cifre romane mari.
\fnsymbol{ ctr} Genereaz ă simboluri pentru not ă de subsol. Poate fi
folosită doar în modul matematic. Valoarea argumentului ctr trebuie s ă
fie mai mic ă decât 10.
2.4. VARIABILE INTERNE LaTeX 73
____________________________________________________________________________
\the ctr Tipărește valoarea contorului ctr.
Pentru a schimba numerotarea sec țiunilor și subsecțiunilor, se folose ște
comanda \renewcommand (secțiunea 2.5). De exemplu, comenzile
\renewcommand{\thesection}{Roman{section}}
\renewcommand{\thesubsection}{\thesection-{Alph{subsection}}
asigură tipărirea secțiunii 2, cu cifra II și respectiv a subsec țiunii 2.4, sub forma
II-D.
2.4.2 Lungimi și designul unei pagini
În această accepțiune, prin lungime se în țelege măsura unei distan țe. În
LaTeX, o lungime explicit ă este exprimat ă, într-un anumit sistem dimensional,
printr-un num ăr zecimal cu semn (+ implicit sau – explicit), adic ă
<parte întreag ă>.<parte zecimal ă><unitate_de_m ăsură>,
unde unitate_de_m ăsură poate fi unul din simbolurile listate în continuare:
cm Centimetri.
em Un em este egal cu l ățimea literei M în fontul curent.
ex Un ex este egal cu în ălțimea literei x în fontul curent.
in Inch.
pc Picas (1pc = 12pt ).
pt Points (1in = 72.27pt ).
mm Milimetri.
O altă modalitate de specificare a distan țelor este realizat ă prin comenzi de tip
lungime, care au sau returneaz ă o valoare reprezentând o lungime. De exemplu,
valoarea comenzii \parindent specifică lățimea indent ării, la începutul
fiecărui paragraf, i.e. distan ța, de la marginea din stânga a paragrafului, la care
începe prima linie a acestuia.
Lungimile pot fi rigide , (de exemplu 1.5em sau \parindent ) sau
elastice . Acestea din urm ă pot varia, iar spa țiul specificat de o asftel de
lungime se poate l ărgi sau îngusta, conform cerin țelor. De exemplu, spa țiile
dintre cuvinte variaz ă într-un paragraf justified , astfel încât fiecare rând s ă aibă
aceeași lungime.
Următoarele comenzi fac parte din categoria lungimi și permit definirea
parametrilor de stil ai unui text, i.e. designul acestuia:
74 CAPITOLUL 2. INTRODUCERE ÎN LIMBAJUL LaTeX
____________________________________________________________________________
\parindent Lățimea indent ării la început de paragraf. Este setat ă la zero
într-un parbox . Valoarea sa poate fi schimbat ă oriunde.
\textheight Înălțimea textului în pagin ă, i.e. a corpului paginii (fig. 2.5).
\textwidth Lățimea textului în pagin ă (fig. 2.5). Valoarea sa poate fi
schimbată doar în preambul.
\parskip Distanța, pe vertical ă, dintre dou ă paragrafe consecutive. Uzual,
această distanță este zero (cu excep ția documentelor din clasa
letter ). Este o lungime elastică, astfel încât se poate extinde pentru a
adăuga spațiu vertical, între paragrafe, când ac ționează declarația
\flushbottom , descrisă în aceast ă subsecțiune. Valoarea sa poate fi
schimbată, oriunde, în fi șierul sursă.
\baselinskip Distanța normală, pe vertical ă, de la baza unui rând la baza
rândului urm ător, în acela și paragraf. Depinde de m ărimea fontului
curent (sec țiunea 2.6). Dacă rândul con ține obiecte “înalte”, atunci
această distanță poate fi mai mare.
Observație. Numărul de rânduri, pe o pagin ă ce conține doar un singur paragraf, este
raportul dintre valoarea lungimii definite de \textheight și valoarea definit ă de
\baselineskip .
Comanda \baselinestrech nu este o lungime. Ea returneaz ă un
număr zecimal, cu valoarea implicit ă egală cu unu și care poate fi modificat ă
prin comanda \renewcommand (secțiunea 2.5).
Următoarele dou ă comenzi definesc lungimi elastice.
\fill Definește o lungime elastic ă având, în mod natural, valoarea zero și
posibilitatea de a se extinde la o valoare pozitiv ă arbitrară. Dacă această
comandă este multiplicat ă cu un num ăr zecimal, ea define ște o lungime
rigidă; de exemplu 1\fill sau 0.7\fill sunt lungimi rigide,
ambele cu valoarea 0in.
\strech{ dec_num} D e f i n ește o lungime elastic ă, având, în mod natural,
valoarea zero și posibilitatea de a se extinde de dec_num ori valoarea
definită de \fill , unde argumentul dec_num este un num ăr zecimal
cu semn (i.e. un semn op țional, urmat de un șir de cifre și un punct
zecimal op țional).
2.4. VARIABILE INTERNE LaTeX 75
____________________________________________________________________________
Următoarele comenzi permit modificarea lungimilor.
\newlength{\ cda} Declară parametrul \cda ca fiind o comand ă de tip
lungime, unde cda este numele unei comenzi ce nu a fost înc ă definită.
Valoarea definit ă de \cda este inițializată la zero.
\setlength{\ cda}{lun} Setează valoarea comenzii de tip lungime \cda
la valoarea argumentului lun.
\addtolength{\ cda}{len} Setează valoarea comenzii de tip lungime
\cda la valoarea sa curent ă plus valoarea argumentului lun.
\settowidth{\ cda}{text}
\settoheight{\ cda}{text}
\settodepth{\ cda}{text} Seteaz ă valoarea comenzii de tip lungime
\cda la lățimea, înălțimea și respectiv adâncimea argumenului text .
O pagină tipărită are trei p ărți: header -ul, corpul textului și footer -ul
(fig. 2.5). Dimensiunile acestora sunt determinate de parametrii de stil. Stilul paginii specific ă conținutul header -ului și al footer -ului. Paginile din stânga și
din dreapta pot avea parametrii, respectiv, diferi ți. În stilul fa ță-verso, paginile
pare sunt pagini din stânga, respectiv cele impare sunt pagini din dreapta. La tipărirea pe o singur ă față, toate paginile sunt considerate pe dreapta.
Următoarele comenzi permit definirea stilului unei pagini.
\pagestyle{ style} Este o declara ție ce specific ă stilul paginii curente.
Opțiunile style standard sunt urm ătoarele:
plain – Header -ul este gol, footer -ul conține doar num ărul paginii.
Este stilul implicit al paginii.
empty – Atât header -ul cât și footer -ul sunt goale.
headings – Header -ul conține informa ția determinat ă de categoria
documentului (uzual, este un header asociat unit ății secționale),
precum și numărul paginii; footer -ul este gol.
myheadings – La fel ca headings , cu excep ția faptului c ă
informația din header (fără numărul paginii) este specificat ă
prin comenzile \markboth și \markright , descrise în
această subsecțiune.
\thispagestyle La fel ca \pagestyle , cu excep ția faptului c ă se aplică
doar paginii curente (cea care tocmai urmeaz ă să fie “decupat ă” de
către TeX). Este o declara ție globală.
76 CAPITOLUL 2. INTRODUCERE ÎN LIMBAJUL LaTeX
____________________________________________________________________________
1 in
1 in
\pageheight\topmargin
\headheight
\headsep
\textheight\oddsidemargin sau
\evensidemargin\textwidthHeader
Nota
ma rginala
\marginparsepCorpul paginii\marginparwidth
Footer\footskip
\pagewidth\footheight
Fig. 2.5 – Parametrii de stil ai paginii; la paginile pare, notele marginale sunt în stânga corpului
textului.
\markright{ right_head}
\markboth{ left_head}{right_head} Aceste comenzi specific ă următoarea
informație conținută în header , pentru stilurile de pagin ă headings și
myheadings :
• pentru pagina din stânga, header -ul este definit de argumentul
left_head al ultimei comenzi \markboth , ce apare înainte de
sfârșitul paginii;
• pentru pagina din dreapta, header -ul este definit de argumentul
right_head al ultimei comenzi \markright sau \markboth din
2.4. VARIABILE INTERNE LaTeX 77
____________________________________________________________________________
pagină, sau, dac ă nu exist ă nici una, al ultimei comenzi
corespunz ătoare, ce apare înainte de începutul paginii.
În stilul headings , comenzile de sec ționare seteaz ă header -ele paginilor cu
ajutorul comenzilor \markboth și \markright astfel:
Clasa documentului
Stilul de tip ărire Comanda book , report article
față-verso \markboth(* \chapter \section
\markright \section \subsection
o singură față \markright \chapter \section
___________________ *) specific ă un header
vid pe pagina din
dreapta ______________ ______________
În mod implicit, prima pagin ă are header -ul vid. Dac ă nu se dore ște
acest lucru, atunci se poate genera o prim ă pagină goală, cu ajutorul cadrului
titlepage .
\pagenumbering{ num_style} Specific ă stilul numerelor paginilor și
setează valoarea contorului page la unu (subsec țiunea 2.4.1 ). Este o
declarație globală. Valorile posibile ale argumentului num_style sunt :
arabic Cifre arabe.
roman Cifre romane mici (i, ii, etc.).
Roman Cifre romane mari (I, II, etc.).
alph Litere latine mici.
Alph Litere latine mari.
Comanda \pagenumbering redefine ște valoarea returnat ă de
\thepage ca fiind \num_style{page} (secțiunea 2.4.1 ).
\twocolumn[ text] Începe o nou ă pagină, executând \clearpage și
începe tip ărirea pe dou ă coloane. Dac ă argumentul text este prezent,
atunci este tip ărit într-un parbox pe două coloane, la începutul noii
pagini.
\onecolumn Începe o nou ă pagină, executând comanda \clearpage și
începe tip ărirea pe o singur ă coloană.
78 CAPITOLUL 2. INTRODUCERE ÎN LIMBAJUL LaTeX
____________________________________________________________________________
\flushbottom Î nălțimea textului, pe fiecare pagin ă, este aceea și, prin
adăugarea, când este necesar, a unui spa țiu vertical, de dimensiune
corespunz ătoare, între paragrafe.
\raggedbottom Anuleaz ă efectul comenzii \flushbottom . În LaTeX,
se consider ă implicit \raggedbottom , cu excep ția cazului când
acționează opțiunea twoside a comenzii \documentclass
(subsubsec țiunea 2.2.5.1 )
Majoritatea parametrilor de stil ce permit designul unei pagini sunt
prezentați în fig. 2.5, în care dreptunghiul exterior reprezint ă marginile coalei.
Acești parametri sunt to ți lungimi rigide și pot fi schimba ți doar în preambulul
fișierului cu extensia .tex (subsecțiunea 1.1). Paginile impare folosesc
\oddsidemargin , respectiv cele pare comanda \evensidemargin . Nu
este figurat parametrul \topskip , reprezentând minimul distan ței măsurate
de la marginea superioar ă a corpului figurii la punctul de referin ță al primei
linii de text; el ac ționează ca o comand ă \baselineskip .
2.4.3 Parametrii de stil pentru ecua ții matematice
Atunci când se dore ște modificarea stilului în care sunt scrise ecua țiile,
trebuie modifica ți așa-numiții parametri de stil asocia ți acestor obiecte. În
general, aceasta nu este o ac țiune recomandat ă, deoarece valorile implicite ale
parametrilor de stil au fost stabilite, în LaTeX, pe baza anumitor reguli tipografice (reguli ce au izorât din cerin țele editurilor din SUA).
Parametrii de stil ai ecua țiilor sunt comenzi de tip lungimi (sec țiunea
2.4.2 ). Iată, în continuare, descrierea lor.
\jot D e f i n ește dimensiunea unui spa țiu vertical suplimentar, ad ăugat între
două linii consecutive, într-un cadru eqnarray sau eqnarray*
(subsecțiunea 2.3.5 ).
\mathindent Definește indentarea unei formule, m ăsurată de la marginea
din stânga a paragrafului, când se folose ște opțiunea fleqn pentru
categorii (clase) de documente (subsubsec țiunea 2.2.5.1 ).
\abovedisplayskip Define ște dimensiunea spa țiului suplimentar,
adăugat deasupra unei formule lungi – cu excep ția cazului în care se
folosește opțiunea fleqn pentru categorii de documente, caz în care se
2.4. VARIABILE INTERNE LaTeX 79
____________________________________________________________________________
consideră lungimea definit ă de comanda \topsep . Lungimea definit ă
este elastic ă.
\belowdisplayskip Define ște dimensiunea spa țiului suplimentar,
adăugat sub o formul ă lungă – cu excep ția cazului în care se folose ște
opțiunea fleqn pentru categorii de documente, caz în care se
consideră lungimea definit ă de comanda \topsep . Lungimea definit ă
este elastic ă.
\abovedisplayshortskip D e f i n e ște spațiul suplimentar, ad ăugat
deasupra unei formule scurte – cu excep ția cazului în care se folose ște
opțiunea fleqn pentru categorii de documente, caz în care se
consideră valoarea lungimii definite de comanda \topsep . Începutul
unei formule scurte este situat la dreapta punctului unde sfâr șește linia
precedent ă. Lungimea definit ă este elastic ă.
\belowdisplayskip Definește spațiul suplimentar ad ăugat la stânga unei
formule scurte – cu excep ția cazului în care se folose ște opțiunea
fleqn pentru categorii de documente, situa ție în care se consider ă
valoarea lungimii definite de comanda \topsep . Lungimea definit ă
este elastic ă.
Formatul sau stilul de tip ărire al num ărului ecua ției este controlat de
comanda \theequation , ce poate fi eventual redefinit ă. De exemplu, pentru
categoria de documente book , stilul de tip ărire \theequation este
predefinit ca fiind {\thechapter.\arabic{equation}} ; în
consecință, numărul formulei a 3-a din capitolul 2 este tip ărit (2.3). Acest stil
nu mai este valabil dac ă se editeaz ă o formul ă într-un document din categoria
report ( a s e v e d e a și exemplul 2.20 din subsec țiunea 2.3.6 ). Stilul de
numerotare poate fi, îns ă, redefinit, eventual doar local (i.e. doar pentru un
grup de formule din document), cu ajutorul comenzii \renewcommand
(subsecțiunea 2.5.1 ).
Observație. În cazul în care se dore ște ca stilul de tip ărire al num ărului unei formule
să fie modificat, la comanda
\renewcommand{\theequation}{ noua defini ție a stilului de numerotare }
doar pentru acea formul ă din document, i.e. local, atunci întregul grup de comenzi asociate
formulei, începând de la \renewcommand până la \end{equation} , trebuie inclus între
acolade { și }. În afara acestor acolade, defini ția comenzii \theequation este cea implicit ă
pentru clasa documentului respectiv.
80 CAPITOLUL 2. INTRODUCERE ÎN LIMBAJUL LaTeX
____________________________________________________________________________
În continuare este prezentat un exemplu de modificare local ă a stilului
de numerotare a formulelor.
Exemplul 2.49
\documentclass{report}
\begin{document}
Iat\u a un exemplu de formul\u a scris\u a cu parametrii de
stil nemodifica\c ti. Defini\c tia transformatei Laplace a semnalului $f(t)$ este:
\begin{equation}
F(s)=\int_{0}^{\infty}f(t)e^{-st}dt
\end{equation}
Acum se modific\u a stilul de tip\u arire al contorului \verb|equation|.
Num\u arul curent al capitolului este \arabic{chapter}.
{\renewcommand{\theequation}{\thechapter.\arabic{equation}a}
\begin{equation}
\label{ecu}x_i=x_{i-1}+x_{i-2} \end{equation}
\addtocounter{equation}{-1}
\renewcommand{\theequation}{\thechapter.\arabic{equation}b}
\begin{equation}
\label{ecu+1}y=x_i \qquad i>10 \end{equation}
}
Acestea au fost trei exemple simple de formule. \end{document}
2.4. VARIABILE INTERNE LaTeX 8 1
____________________________________________________________________________
2.4.4 Parametrii de stil privind cadrul table și
cadrul figure
Tabelele sau figurile sunt obiecte flotante (i.e. pot fi deplasate), create
cu cadrele table (subsecțiunea 2.3.18 ) și respectiv figure (subsecțiunea
2.3.7 ). O pagin ă flotantă conține numai astfel de obiecte și nu conține text.
Așezarea în pagin ă a tabelelor sau figurilor se face, în LaTeX, respectând, în
mod optim, reguli tipografice [Lamport 1994]. Iată câteva dintre acestea:
• Obiectul (tabel sau figur ă) este tipărit în locul cel mai apropiat posibil, fa ță
de punctul unde a fost generat, care respect ă regulile de mai jos, cu
mențiunea faptului c ă poziția, specificat ă prin valoarea h (here) a
argumentului placement , este prioritar ă față de cea specificat ă prin valoarea
t (top).
• Obiectul nu va fi tip ărit pe o pagin ă ce precede locul din document unde
este definit cadrul ( table sau figure ) asociat.
• O figură nu va fi tip ărită înaintea unei figuri definite anterior, iar un tabel
nu va fi tip ărit înaintea unui tabel precedent definit.
• Obiectul poate s ă apară doar în pozi ția permis ă de valoarea argumentului
opțional placement (din defini ția cadrelor figure , respectiv tabular )
sau, în lipsa acestuia, de valoarea implicit ă tpb.
• O figură sau un tabel nu poate dep ăși o pagină.
Modificarea, în preambulul documentului, a urm ătorilor parametri de
stil se aplic ă începând cu prima pagin ă. Schimbările, intervenite ulterior, se
aplică începând cu pagina imediat urm ătoare locului unde au fost specificate.
topnumber Definește un contor a c ărui valoare reprezint ă numărul maxim
de obiecte flotante, permise la începutul unei pagini de text.
\topfraction D e f i n ește procentul maxim, din spa țiul unei pagini, care
poate fi ocupat, în partea superioar ă a acesteia, de obiecte flotante.
Astfel, valoarea 0.25 specific ă faptul că primul sfert al paginii poate fi
alocat obiectelor flotante. Poate fi modificat prin comanda
\renewcommand .
bottomnumber Are aceea și semnifica ție ca topnumber , cu excep ția
faptului c ă obiectele sunt plasate în partea inferioar ă a paginii.
\bottomfraction Are aceea și semnifica ție ca \topfraction , cu
excepția faptului c ă obiectele flotante sunt plasate în partea inferioar ă a
paginii.
82 CAPITOLUL 2. INTRODUCERE ÎN LIMBAJUL LaTeX
____________________________________________________________________________
totalnumber D e f i n e ște un contor, a c ărui valoare reprezint ă numărul
maxim de obiecte flotante care pot s ă apară, pe o pagin ă ce conține text,
oricare ar fi pozi ția acestora.
\textfraction Definește procentul minim, din spa țiul unei pagini, dedicat
textului. Restul procentului, de 1-\textfraction , trebuie ocupat
de obiecte flotante. Valoarea sa poate fi redefinit ă la comanda
\renewcommand .
\floatpagefraction Definește procentul minim, din spa țiul unei pagini,
care trebuie ocupat de obiecte flotante, limitând astfel spa țiul gol
permis pe o pagin ă flotantă. Valoarea sa poate fi redefinit ă la comanda
\renewcommand .
dbltopnumber Analogul contorului topnumber pentru obiecte flotante,
așezate pe dou ă coloane, pe o pagin ă cu stilul twocolumn .
\dbltopfraction Analogul comenzii \topfraction pentru obiecte
flotante, a șezate pe dou ă coloane, pe o pagin ă cu stilul twocolumn .
\dblfloatpagefraction Analogul comenzii \floatpagefraction
pentru o pagin ă flotantă, cu stilul twocolumn .
\floatsep D e f i n e ște spațiul vertical, ad ăugat între obiectele flotante,
așezate în partea superioar ă sau inferioar ă a unei pagini de text.
\textfloatsep Definește spațiul vertical, ad ăugat între obiectele flotante,
așezate în partea superioar ă sau inferioar ă a unei pagini de text și textul
respectiv.
\intextsep Definește spațiul vertical, ad ăugat deasupra și dedesubtul unui
obiect flotant, a șezat în centrul paginii de text, cu argumentul op țional
h (here). Valoarea sa este o lungime elastic ă.
\dblfloatsep Analogul comenzii \floatsep pentru obiecte flotante, de
lățime dubl ă decât a unei coloane, situate pe o pagin ă cu stilul
twocolumn . Valoarea sa este o lungime elastic ă.
\dbltextfloatsep Analogul comenzii \textfloatsep pentru obiecte
flotante, de l ățime dublă decât a unei coloane, situate pe o pagin ă cu
stilul twocolumn . Valoarea sa este o lungime elastic ă.
2.5. MACRODEFINI ȚII 83
____________________________________________________________________________
2.5 MACRODEFINI ȚII
De regulă, compilatoarele lucreaz ă cu macrodefini ții numite, pe scurt,
macrouri. Un macrou reprezint ă, în esență, o secven ță de comenzi ce va fi
înlocuită, în timpul proces ării, cu defini ția macroului respectiv. Din acest punct
de vedere, LaTeX poate fi considerat un pachet de macrouri.
Definiția unui macrou poate consta dintr-un text obi șnuit împreun ă,
eventual, cu alte macrouri și/sau primitive TeX. Primitivele TeX sunt secven țe
de control, recunoscute de TeX și care nu pot fi înlocuite cu alte comenzi.
2.5.1 Definirea comenzilor
Un macrou poate fi definit sau, respectiv, redefinit prin comenzile:
\newcommand{\ cda}[arg][opt]{def}
\renewcommand{\ cda}[arg][opt]{def}
Parametrii comenzilor au urm ătoarele semnifica ții:
cda – Numele unei comenzi. În cazul comenzii \newcommand ,
trebuie să nu fie numele unei comenzi deja definite și nu trebuie
să înceapă cu end; în cazul comenzii \renewcommand ,
trebuie să fie numele unei comenzi deja definite.
arg – Un întreg între 1 și 9, reprezentând num ărul de argumente al
comenzii \cda. Implicit, comanda definit ă/redefinită nu are nici
un argument.
opt – Dacă acest argument este prezent, atunci primul argument din
totalul de arg ale comenzii \cda este opțional și are valoarea
implicită opt. Dacă acest argument lipse ște, atunci toate celelalte
argumente ale comenzii \cda sunt obligatorii.
def – Reprezint ă textul înlocuit ori de câte ori se întâlne ște comanda
\cda; un parametru, de forma #n în \cda, este înlocuit, când se
face aceast ă substituire, cu textul asociat parametrului cu
numărul n. def poate con ține comenzi de definire a comenzilor
sau cadrelor, doar dac ă toate comenzile sau cadrele astfel
definite nu au argumente.
În exemplul urm ător se arat ă cum se poate crea, în modul matematic, o
comandă simplă, care apare de mai multe ori în textul documentului.
84 CAPITOLUL 2. INTRODUCERE ÎN LIMBAJUL LaTeX
____________________________________________________________________________
Exemplul 2.50
\documentclass{article}
\newcommand{\gn}{$\Gamma_{i}$}
\begin{document}
Fie \gn\ valoarea asociat\u a m\u arimii $i$,\par
unde \gn\ este o norm\u a
euclidian\u a.
\end{document}
Observație. După comanda \gn, s-a dat comanda \ (i.e. backslah urmat de caracterul
blank ), deoarece TeX ignor ă caracterul blank plasat dup ă numele comenzii definite de
\newcommand .
Comanda \Gamma , din exemplul 2.50, poate fi folosit ă doar în modul
matematic și, de aceea, s-a folosit perechea de caractere $ și $, pentru
delimitarea ei ca argument def al comenzii \newcommand . Pe de alt ă parte,
comanda \gn nu poate fi folosit ă în modul matematic deoarece, la întâlnirea
ei, primul caracter $ determin ă TeX să iasă din modul matematic și să încerce
să execute \Gamma în modul paragraf. Dac ă \newcommand definește o
comandă ce referă un obiect matematic (func ție, expresie, formul ă etc.) și care
va trebui repetat ă și în modul matematic, atunci, în argumentul def, se folose ște
comanda
\ensuremath{ expresie}
care asigur ă faptul că argumentul expresie (reprezintând un șir de caractere și
comenzi ce descriu obiectul matematic în spe ță) este tip ărit în modul
matematic, indiferent de modul curent (subsec țiunile 2.6 și 2.7).
Exemplul 2.51
\documentclass{article}
\newcommand{\func}[2]
{\ensuremath{
\mathit{var}(#1;#2)}
} \begin{document}
Deoarece \func{5x}{y} \c si
\func{2x-1}{y}\par
reprezint\u a valori
aproximativ egale ale… \end{document}
2.5. MACRODEFINI ȚII 85
____________________________________________________________________________
Observație. Comanda \mathit este valabil ă doar în modul matematic și permite
scrierea argumentului s ău cu litere italice (sec țiunea 2.7). Al doilea argument op țional al
comenzii \newcommand specifică faptul c ă \func este o comand ă cu două argumente.
Parametrii # 1 și #2 sunt înlocui ți cu primul și, respectiv, al doilea argument al comenzii
\func , în momenul în care aceasta este apelat ă în textul documentului.
O comand ă poate fi definit ă și în funcție de altă comandă, după cum
reiese din exemplul urm ător.
Exemplul 2.52
\documentclass{article}
\newcommand{\func}[2]
{\ensuremath
{\mathit{var}(#1;#2)}} \newcommand{\util}
{\func{2x}{0}}
\begin{document}
Valoarea \func{5x}{y} \c
si\par valoarea \util\ … \end{document}
Parantezele rotunde, ( și ), din argumentul def, nu delimiteaz ă efectul
unei declara ții. Pentru a limita câmpul de ac țiune al unei declara ții, conținute în
argumentul def, trebuie ad ăugate, în defini ția comenzii, paranteze suplimentare,
de tip acolad ă { și }. Altfel, ac țiunea unei astfel de comenzi se poate extinde,
în mod nedorit, și în afara argumentului respectiv.
Exemplul 2.53
\documentclass{report}
\newcommand{\bun}[3]
{{#1}$({#2};{#3})$}
\newcommand{\rau}[3]
{#1$(#2;#3)$}
\begin{document} Expresia \bun{\em func}{x}{4}
este tip\u arit\u a \par
corect, dar dup\u a \rau{\em
finc}{x}{4} totul \par apare
cu caractere italice, ca efect \par al comenzii \verb|\em|
din primul\par argument al
comenzii \verb|\rau| .
\end{document}
86 CAPITOLUL 2. INTRODUCERE ÎN LIMBAJUL LaTeX
____________________________________________________________________________
Observație. Comanda \newcommand poate fi folosit ă și pentru abrevierea unor
comenzi, frecvent folosite într-un document. De exemplu, dac ă se editeaz ă multe ecua ții și se
dorește să se evite repetarea comenzilor \begin{equation] și \end{equation} , de
fiecare dat ă când se define ște un cadru equation, atunci se pot folosi comenzile
\newcommand{\bee}{\begin{equation}}
\newcommand{\ene}{\end{equation}}
Acestea definesc grupul \bee … \ene ca fiind echivalent cu comenzile LaTeX
\begin{equation}…\end{equation}
Dacă se folosesc foarte des ecua ții numerotate, atunci, în loc s ă se scrie, pentru fiecare
ecuație, grupul \begin{equation}\label{…} formula \end{equation} , se poate
utiliza comanda
\newcommand{\ec}[2]{\begin{equation}\label{#1}#2\end{equation}}
în care primul parametru specific ă eticheta, iar cel de-al doilea formula [Pusztai 1994].
În subsec țiunea 2.2.4 , s-a exemplificat folosirea comenzii
\renewcommand . Programe scurte, ce utilizeaz ă \renewcommand , sunt
descrise în exemplul 2.43 (subsec țiunea 2.3.20 ) și în exemplul 2.49
(subsecțiunea 2.4.3 ).
2.5.2 Definirea cadrelor
Un cadru poate fi definit sau, respectiv, redefinit, utilizând comenzile:
\newenvironment{ num}[arg][opt]{begdef}{enddef}
\renewenvironment{ num}[arg][opt]{begdef}{enddef}
Parametrii acestor comenzi au urm ătoarele semnifica ții:
num – Reprezint ă numele cadrului; poate fi orice secven ță de litere, numere
sau caracterul *, care nu începe cu end. În cazul comenzii
\newenvironment , trebuie s ă nu mai existe nici un alt cadru cu
numele num și nici o alt ă comand ă \num. În cazul comenzii
\renewenvironment , cadrul cu numele num trebuie s ă fie deja
definit.
arg – Este un întreg cuprins între 1 și 9, reprezentând num ărul de argumente ale
cadrului nou definit. Implicit, cadrul nou definit/redefinit nu are nici un argument.
2.5. MACRODEFINI ȚII 87
____________________________________________________________________________
opt – Dacă acest argument este prezent, atunci primul din cele arg argumente
ale cadrului este op țional și are valoarea implicit ă opt. Dacă acest
argument lipse ște, atunci toate argumentele cadrului sunt obligatorii.
begdef – Reprezint ă textul folosit, în fi șierul surs ă, pentru a înlocui
instrucțiunea \begin{ num}; un parametru de forma #n în begdef este
înlocuit cu textul corespunz ător argumentului cu num ărul n al comenzii
\begin{ num}, în momentul în care are loc aceast ă substituire.
enddef – Reprezint ă textul folosit, în fi șierul surs ă, pentru a înlocui
instrucțiunea \end{ num}. Nu este permis s ă aibă parametri de tip
argument.
În general, un nou cadru este definit folosind un cadru deja existent.
Exemplul 2.54
\documentclass{report}
\newenvironment{evident}
{\begin{itemize}\em} {\end{itemize}}
\begin{document}
Acesta este un exemplu de
cadru\par definit de
utilizator. \begin{evident}
\item Acest cadru, numit
\verb|evident|,\par
genereaz\u a o list\u a de
elemente\par scrise cu caractere italice.
\item Cadrul \verb|evident|
este scris\par
folosind cadrul \verb|itemize|
din\par \LaTeX\ \c si comanda
\verb|\em|.
\end{evident}
Acum a luat sf\^ar\c sit lista
generat\u a\par de cadrul \verb|evident|.
\end{document}
Observație. Argumentele begdef și enddef pot con ține comenzi de definire a
comenzilor sau de redefinire a cadrelor, doar dac ă toate comenzile sau cadrele pe care le
acestea le definesc nu au, la rândul lor, argumente. Parantezele de delimitare ale unui cadru,
care a fost definit sau redefinit cu \newenvironment , respectiv cu
88 CAPITOLUL 2. INTRODUCERE ÎN LIMBAJUL LaTeX
____________________________________________________________________________
\renewenvironment , nu delimiteaz ă și câmpul de ac țiune al unei declara ții conținute în
argument. Acest aspect a fost eviden țiat și în cazul comenzii \newcommand (subsecțiunea
2.5.1 ). Comanda \renewenvironment poate fi folosit ă, doar dac ă utilizatorul cunoa ște
foarte bine cadrul pe care dore ște să-l redefineasc ă.
Exemplul 2.55
\documentclass{report}
\newenvironment{descr}[1]{\begin{quote}\textit{#1}:}
{\end{quote}}
\begin{document}
Observa\c ti cum o nou\u a structur\u a logic\u a -\^\i n acest
exemplu, o descriere etichetat\u a a unui singur element – poate fi definit\u a \^\i n func\c tie de un cadru deja
existent.
\begin{descr}{Ceai}
Aceast\u a descriere a ceaiului a fost generat\u a de cadrul
\verb|descr|. \end{descr}
Urmeaz\u a alt text.
\end{document}
Observație Comanda \textit{ txt} are ca efect tip ărirea argumentului txt cu
caractere italice.
2.5.3 Definirea cadrelor de tip teorem ă
Comanda \newtheorem permite definirea unui cadru în care se pot
scrie teoreme, leme, propozi ții etc. și poate avea una din urm ătoarele sintaxe:
\newtheorem{ env_name}{caption}[within]
\newtheorem{ env_name}[numbered_like ]{caption}
2.5. MACRODEFINI ȚII 89
____________________________________________________________________________
Parametrii comenzilor au, respectiv, urm ătoarele semnifica ții:
env_name – Este un șir de litere, reprezentând numele teoremei, (lemei,
axiomei, etc.) ce trebuie scrise și care trebuie s ă difere de numele unui
alt cadru sau contor.
caption – Textul tip ărit la începutul cadrului, chiar înainte de num ăr, de
exemplu “Teorem ă” sau “Lem ă”.
within – Numele unui contor deja definit, asociat, în general, unei unit ăți
secționale (capitol, sec țiune etc.) și care permite resetarea contorului
teoremei, în cadrul unit ății secționale respective. Dac ă acest argument
este prezent, atunci comanda \the env_name este definit ă prin
\the within.\arabic{ env_name},
iar contorul env_name va fi resetat de una din comenzile
\stepcounter{ within} sau \refstepcounter{ within}
(subsecțiunea 2.4.1 ). Dacă argumentul within lipsește, atunci
\the env_name este definit ă prin \arabic{ env_name}.
numbered_like – N umele unui cadru de tip teorem ă, deja definit. Dacă acest
argument este prezent, atunci env-name va fi numerotat în aceea și
secvență (utilizându-se acela și contor) ca și cadrul numbered_like și va
declara valoarea \ref curentă, ca fiind textul generat de comanda
\the numbered_like .
Cu excep ția cazului în care apare argumentul op țional numbered_like ,
comanda \newtheorem creează un contor numit env_name , iar cadrul
declară valoarea curent ă a \ref ca fiind textul generat de \the env_name .
Exemple 2.56
\documentclass{report}
\begin{document}
\newtheorem{guess}{Propozi\c tia} Dup\u a cum se \c stie, dou\u a matrice echivalente au acela\c
si rang. Av\^and \^\i n vedere acest lucru, din teorema
anterioar\u a rezult\u a imediat urm\u atorul enun\c t.
\begin{guess}
Rangul unei matrice este egal cu num\u arul valorilor sale singulare nenule.
\end{guess}
\end{document}
90 CAPITOLUL 2. INTRODUCERE ÎN LIMBAJUL LaTeX
____________________________________________________________________________
Prezența argumentului op țional final al comenzii \newtheorem
determină numerotarea cadrului, în interiorul unit ății secționale respective.
Exemplul 2.57
\documentclass{report}
\renewcommand{\chaptername}{Capitolul} \newtheorem{guess}{Propozi\c tia}[chapter]
\begin{document}
\chapter{Rangul unei matrice}\label{unu}
Aceasta este prima propozi\c tie din capitolul \ref{unu}:
\begin{guess} Rangul unei matrice este egal cu num\u arul valorilor sale
singulare nenule.
\end{guess}
\end{document}
2.5. MACRODEFINI ȚII 91
____________________________________________________________________________
Argumentul op țional numbered_like se folose ște, dacă se dorește ca
structuri distincte, de tip teorem ă, să fie numerotate secven țial, cu acela și
contor.
Exemplul 2.58
\documentclass{report}
\newtheorem{teor1}{Teorema}
\newtheorem{teor2}[teor1]
{Axioma} \begin{document}
\begin{teor1}
Unele teoreme sunt
numerotate.
\end{teor1} \begin{teor2}
To\c ti oamenii sunt
muritori. \end{teor2}
\end{document}
Uneori, este indicat s ă se precizeze autorul teoremei sau un alt nume,
sub care rezultatul respectiv este celebru.
Exemplul 2.59
\documentclass{article}
\newtheorem{teor1}{Teorema} \begin{document}
\begin{teor1}[Schur]
Fie perechea de\par
matrice reale p\u atrate
(A,B), … \end{teor1}
\end{document}
Observație. În general, este recomandat ca declara ția \newtheorem să figureze în
preambulul fi șierului surs ă.
Observație. În sintaxa comenzilor \newcommand , \newenvironment și
\newtheorem este interzis ă folosirea spa țiilor între argumente. De exemplu, corect ă este
sintaxa \newtheorem{teor}{Teorema} și nu \newtheorem{teor} {Teorema} .
92 CAPITOLUL 2. INTRODUCERE ÎN LIMBAJUL LaTeX
____________________________________________________________________________
2.5.4 Pachetul ifthen
Pachetul ifthen pune la dispozi ție comenzile \ifthenelse și
\whiledo , pentru scrierea de programe ce con țin teste și bucle. Pachetul
ifthen este încărcat la comanda \usepackage{ifthen} . În continuare,
sunt descrise sintaxele și modurile de utilizare ale comenzilor din acest pachet.
\ifthenelse{ test}{then_txt}{else_txt}
Este o instruc țiune condi țională, iar argumentul test este o expresie
logică care, evaluat ă în LaTeX, poate avea valoarea adevărat sau fals.
Dacă argumentul test are valoarea adevărat, atunci se proceseaz ă
argumentul then_txt ; dacă test are valoarea fals, se proceseaz ă else_txt .
Argumentul test poate fi exprimat prin urm ătoarele expresii:
num1 op num 2 Este o rela ție numeric ă, unde op poate fi unul din
următoarele trei caractere: > = < , iar num1 și num 2 sunt
numere. De exemplu, \value{page}>17 este evaluat ă la
valoarea adevărat, dacă și numai dac ă valoarea curent ă a
contorului page este mai mare ca 17.
\equal{ str1}{str2} Este evaluat ă la valoarea adevărat, dacă și
numai dac ă TeX consider ă str1 și str2 ca fiind egale. TeX poate
considera dou ă argumente (reprezentând comenzi) ca fiind
diferite, chiar dac ă au drept rezultat tip ărirea aceluia și text. De
exemplu \today și May 1, 2001 nu sunt egale, chiar dac ă
prin aplicarea lor rezult ă textul: May 1, 2001. TeX va considera
argumentele str1 și str2 ca fiind egale dac ă, prin înlocuirea
fiecărei comenzi din fiecare argument cu defini ția sa, ele sunt
identice.
\lengthtest{ len1 op len 2} Evalueaz ă relația între lungimile
specificate de argumentele len1 și len2; op poate fi unul din
următoarele trei caractere: > = < . De exemplu,
\length{\parindent<1cm} are valoarea adevărat, dacă
și numai dac ă valoarea curent ă a declara ției \parindent este
mai mică decât 1cm. În procesul de evaluare, o lungime elastic ă
este înlocuit ă cu valoarea sa natural ă (subsecțiunea 2.4.2 ).
2.5. MACRODEFINI ȚII 93
____________________________________________________________________________
\isodd{ num} Este evaluat ă la valoarea adevărat, dacă și numai dac ă
numărul specificat de argumentul num este impar ( odd). Este
folosită pentru a genera texte diferite, în func ție de paritatea
paginilor. Totu și, comanda \isodd{\value{page}} nu
lucrează corect, deoarece contorul page poate avea, de
exemplu, valoarea curent ă 42, chiar dac ă textul procesat se
extinde pe pagina cu num ărul 43. Pentru a rezolva aceast ă
problemă, se folosesc comenzile \label{key} și
\isodd{\pageref{key}} . În momentul când se
proceseaz ă header -ul sau footer -ul unei pagini, contorul page
are chiar valoarea presupus ă de utilizator,
\boolean{ nam} Este evaluat ă la valoarea curent ă a registrului logic
nam, unde nam poate fi o secven ță de litere. Acest registru
trebuie definit de comanda \newboolean{ name}. Valoarea
sa este setat ă, prin comanda \setboolean{ nam}{bool},
unde parametrul bool este fie true (adevărat), fie false
(fals).
Expresiile complexe , reprezentate de argumentul test, pot fi construite
din expresii mai simple, între care se aplic ă operatorii logici
\and , \or și \not , cu parantezele de grupare specificate de
caracterele \( și \).
\whiledo{ test}{body}
Proceseaz ă în mod repetat argumentul body , până ce argumentul logic
test devine fals, unde test este descris la fel ca în cazul instruc țiunii
\ifthenelse . Nu execut ă nimic dac ă, inițial, test are valoarea fals.
Exemplul 2.60
\documentclass{article}
\usepackage{ifthen}
\newcommand{\test}[1]
{\ifthenelse{#1=1}{bun}{r\u au}}
\begin{document}
Variantele pot fi:\par om \test1 sau om \test2.
\end{document}
94 CAPITOLUL 2. INTRODUCERE ÎN LIMBAJUL LaTeX
____________________________________________________________________________
2.5.5 Comenzi fragile
Comenzile LaTeX pot fi împ ărțite în categoriile: fragile sau robuste .
Comenzile de schimbare de stil (sau font), descrise în sec țiunea 2.6, precum și
majoritatea comenzilor din modul matematic (sec țiunea 2.7) sunt robuste.
Orice comand ă cu cel pu țin un argument op țional sau care accept ă o formă cu
“*” este fragil ă.
Unele argumente ale unor comenzi se numesc mobile . O comand ă
fragilă care apare într-un argument mobil produce eroare, dac ă nu este protejat ă
prin comanda \protect . Această comand ă de protejare se aplic ă doar
comenzii pe care o precede; comenzile fragile care, la rândul lor, apar în
argumentul comenzii respective, trebuie s ă fie și ele protejate cu alte comenzi
\protect . Următoarele comenzi și cadre au argumente mobile:
• Comenzile cu un argument ce poate figura în cuprins, în lista de figuri sau
în lista de tabele, respectiv asociate documentului: \addcontentsline ,
\addtocontents , \caption , precum și comenzile de sec ționare
(subsubsec țiunea 2.2.5.3 ). Dacă un argument op țional este folosit la o
comandă \caption sau la o comand ă de secționare, atunci chiar acesta
este argumentul mobil.
• Comenzile de tip ărire la terminal: \typeout și \typein . Argumentul
opțional al comenzii \typein nu este mobil.
• Comenzile utilizate la generarea heading -urilor: \markboth (ambele
argumente sunt mobile) și \markright (subsecțiunea 2.4.2 ). Comenzile
de secționare deja men ționate intr ă, și ele, în aceast ă categorie.
• Cadrul letter (definit în categoria de documente letter ).
• Comanda \thanks .
• Argumentul op țional al comenzii \bibitem .
• declarația @, într-un cadru array sau tabular . (Deși @ nu este o
comandă, totuși comenzile fragile dintr-o @-expresie trebuie protejate
prin comanda \protect , ca și în cazul în care ar figura într-un argument
mobil.)
Toate comenzile de tip lungimi (subsec țiunea 2.4.2 ) sunt robuste și nu
trebuie precedate de o comand ă \protect . Comanda \protect nu trebuie
să apară într-un argument al unei comenzi \setcounter sau, respectiv,
\addtocounter .
2.6. MODUL PARAGRAF 95
____________________________________________________________________________
2.6 MODUL PARAGRAF
Când TeX proceseaz ă un text, el se afl ă într-unul din urm ătoarele
moduri: modul paragraf, modul matematic sau modul “de la stânga la dreapta” (numit și modul LR, de la Left-to-Right ). Modul normal în care proceseaz ă
TeX este modul paragraf. În modul paragraf, TeX consider ă intrările ca o
secvență de cuvinte și propoziții ce trebuie sec ționate pe rânduri, paragrafe și
pagini.
Modurile matematic și LR vor fi prezentate în sec țiunile urm ătoare.
2.6.1 Fonturi
Stilul de tip ărire al unui text, setat prin alegerea tipului și mărimii
fontului, este folosit pentru a indica structura logic ă a documentului.
Iată un exemplu privind diferite tipuri de fonturi disponibile în LaTeX.
Exemplul 2.61
\documentclass{article}
\begin{document}
\textup{Stil Upright. De
obicei, implicit.}\par
\textit{Stil Italic. Pentru
eviden\c tiere.}\par \textsl{Stil Slanted. U\c sor
diferit de italic.}\par
\textsc{Stil small caps.
Utilizat mai rar.}\par
\textmd{Medium series. Adesea implicit.}\par
\textbf{Boldface series.
Pentru titluri.}\par
\textrm{Roman family. Adesea
implicit.}\par \textsf{Familia sans
serif.}\par
\texttt{Familia typewriter.}
\textnormal{Stil normal, acum
Roman.} \end{document}
96 CAPITOLUL 2. INTRODUCERE ÎN LIMBAJUL LaTeX
____________________________________________________________________________
Fiecărei comenzi de setare a stilului de tip ărire îi corespunde o
declarație. Acestea sunt listate în tabelul urm ător.
Tabelul 2.1: Comenzi și declarații de setare a stilului fontului
Comanda Declara ția Comanda Declara ția
\textmd{ text} \mdseries \textup{ text} \upshape
\textbf{ text} \bfseries \textit{ text} \itshape
\textrm{ text} \rmfamily \textsl{ text} \slshape
\textsf{ text} \sffamily \textsc{ text} \scshape
\texttt{ text} \ttfamily \textnormal{ text} \normalfont
De exemplu, text se poate tip ări în stilul bold fie la comanda
\textbf{ text}, fie la apelarea declara ției {\bfseries text}.
Observație. Nici una din comenzile sau declara țiile din tabelul 2.1 nu pot fi folosite în
modul matematic. Comenzile de schimbare a stilului de tip ărire, în modul matematic, sunt
descrise în sec țiunea 2.7.
Mărimea implicit ă a fontului folosit la tip ărire, în LaTeX, este 10pt ,
dar aceasta poate fi setat ă, după dorință, la 11pt sau 12 pt , conform op țiunii
din comanda \documentclass (subsubsec țiunea 2.2.5.1 )
Următoarele declara ții permit schimbarea m ărimii fontului în cadrul
unui document, l ăsând stilul acestuia nemodificat (stilul implicit este Roman.)
Tabelul 2.2 : Declara ții de setare a m ărimii fontului
\tiny \small \large \huge
\scriptsize \normalsize \Large \Huge
\footnotesize \LARGE
Observație. Nici una din aceste comenzi nu poate fi folosit ă în modul matematic.
Toate sunt comenzi fragile.
Mărimea efectiv ă pe care o genereaz ă aceste declara ții depinde de
mărimea implicit ă a fontului cu care se tip ărește textul documentului. În
exemplele urm ătoare, mărimea implicit ă este 10pt .
Declarația \normalsize produce m ărimea implicit ă, comanda
\footnotesize genereaz ă mărimea corespunz ătoare scrierii notelor de
subsol, iar comanda \scriptsize produce m ărimea adecvat ă scrierii
indicilor inferiori și superiori, în cazul formulelor tip ărite cu \normalsize .
2.6. MODUL PARAGRAF 97
____________________________________________________________________________
Exemplul 2.62
\documentclass{article}
\begin{document}
{\tiny Exemplu}\par
{\scriptsize Exemplu}\par {\footnotesize Exemplu}\par
{\small Exemplu}\par
{\normalsize Exemplu}\par
{\large Exemplu}\par
{\Large Exemplu}\par {\LARGE Exemplu}\par
{\huge Exemplu}\par
{\Huge Exemplu}\par
\end{document}
Aceste declara ții pot fi combinate cu declara țiile sau comenzile de
selectare a fontului.
Exemplul 2.63
\documentclass{article}
\begin{document} \sffamily un text scris\par
\textit{cu litere din}\par
\large ce \^\i n ce \Large
mai\par
mari \bfseries \c si mai \par \LARGE groase.
\end{document}
2.6.2 Simboluri speciale și accente
În LaTeX, se pot genera simboluri speciale și accente ce nu sunt
comune limbii engleze. Ele permit inserarea, într-un text în limba englez ă, a
unor texte scurte redactate în alte limbi. Toate comenzile prezentate în aceast ă
secțiune sunt robuste.
În tabelul 2.3, sunt prezentate câteva simboluri care nu sunt comune
limbii engleze și comenzile ce le produc; aceste simboluri pot fi generate atât
în modul paragraf, cât și în modul LR.
98 CAPITOLUL 2. INTRODUCERE ÎN LIMBAJUL LaTeX
____________________________________________________________________________
Tabelul 2.3 : Simboluri speciale permise doar în modurile paragraf și LR
În tabelul 2.4 sunt prezentate comenzile ce genereaz ă șase semne
speciale de punctua ție.
Tabelul 2.4 : Simboluri speciale (permise în orice mod)
Alte simboluri speciale și comenzile ce le genereaz ă au fost prezentate
la începutul sec țiunii 2.2.
În tabelul 2.5 sunt prezentate comenzile ce permit generarea literei o, cu
diferite accente specifice altor limbi decât engleza. Aceste comenzi pot fi folosite doar în modul LR și în modul paragraf. Ele se pot aplica, în forma
specificat ă, oricărei litere.
Tabelul 2.5 : Comenzi pentru generarea de accente aplicate literei o
Alte tipuri de accente, specifice limbii române, au fost prezentate în
subsecțiunea 2.2.3 .
Observație. Comenzile \i și \j genereaz ă literele i, respectiv j f ără punct deasupra.
Reaminitim c ă \i este folosit ă, pentru a construi litera î, la comanda \^{\i} sau \^\i .
2.6. MODUL PARAGRAF 99
____________________________________________________________________________
2.6.3 Gestionarea rândurilor și a paginilor
În general, TeX realizeaz ă optim organizarea textului pe rânduri,
paragrafe și pagini, astfel încât fiecare rând dintr-un paragraf (cu excep ția,
eventual, a ultimului) și respectiv fiecare pagin ă (cu excep ția, eventual, a
ultimei pagini) s ă fie pline. Uneori sunt, îns ă, necesare comenzi speciale în
acest scop. Ca o recomandare general ă, este bine ca formatarea textului s ă fie
ultimul aspect tratat în realizarea unui document în LaTeX. Altfel spus, nu se începe rafinarea format ării, înainte s ă se fi introdus tot textul.
2.6.3.1 Gestionarea rândurilor
\linebreak[ num]
\nolinebreak[ num]
Comenzile \linebreak și \nolinebreak forțează și, respectiv,
inhibă trecerea la un rând nou. Parametrul op țional num este un num ăr
între 0 și 4. O valoarea mai mare a lui num constituie o sugestie mai
puternică pentru a trece, respectiv pentru a nu trece la rândul nou. Dac ă
num este absent, atunci comenzile ac ționează, respectiv, ca în cazul
num = 4, adic ă trecerea la rândul nou este for țată, respectiv interzis ă.
Un mesaj \hbox underfull avertizeaz ă că o comand ă \linebreak
generează spații prea mari între cuvinte pe un rând. Ambele comenzi
sunt fragile și pot fi folosite doar în modul paragraf.
\\[len]
\\*[ len]
\newline
Efectul acestor comenzi este trecerea la un rând nou, f ără a se lăsa
margini egale la stânga și la dreapta rândului curent (i.e. rândul curent
nu este justified ). Argumentul op țional al comenzii \\ adaugă,
deasupra noului rând, un spa țiu vertical suplimentar de dimensiune len.
Forma cu “ *” a comenzii \\ inhibă trecerea la o pagin ă nouă, înainte
de noul rând. Comanda \newline poate fi folosit ă doar în modul
paragraf, într-un paragraf; ea genereaz ă un mesaj de avertizare \hbox
underfull , dacă este utilizat ă la sfârșitul unui paragraf și, respectiv, un
mesaj de eroare, dac ă este utilizat ă între paragrafe. Comanda \\ se
comportă în mod similar, când este utilizat ă în modul paragraf. Ambele
comenzi sunt fragile.
100 CAPITOLUL 2. INTRODUCERE ÎN LIMBAJUL LaTeX
____________________________________________________________________________
\|-
Această comandă permite desp ărțirea în silabe: se trece la rândul
următor și se insereaz ă liniuța de desp ărțire la finele rândului curent.
Este o comand ă robustă.
\hyphenation{ cuvinte}
Sunt declarate permise puncte de desp ărțire, unde cuvinte este o list ă de
cuvinte, separate prin spa ții, iar fiecare punct de desp ărțire, în lista
cuvinte , este marcat prin caracterul -. Este o declara ție global ă și
robustă.
\sloppy
\fussy
Aceste declara ții controleaz ă trecerea la un rând nou. Declara ția
\fussy este implicit ă și gestioneaz ă rândul, astfel încât previne spa ții
prea mari între cuvinte. Declara ția \sloppy face ca LaTeX s ă nu fie
atât de rigid cu spa țierea cuvintelor. \sloppy are acela și efect ca
secvența de instruc țiuni
\begin{sloppypar} pare \end{sloppypar} ,
ce define ște cadrul sloppypar . Argumentul pare reprezint ă mai
multe paragrafe pentru care este activ ă declarația \sloppy .
Trecerea, de la un paragraf la altul, se face l ăsând un rând liber în text
sau la comanda \par .
2.6.3.2 Gestionarea paginilor
\pagebreak[ num]
\nopagebreak[ num]
Comenzile \pagebreak și \nopagebreak forțează și, respectiv,
inhibă trecerea la o nou ă pagină, în stilul onecolumn . Parametrul
opțional num este un num ăr între 0 și 4. O valoare mai mare a lui num
constituie o sugestie mai puternic ă pentru a trece, respectiv pentru a nu
trece la pagina nou ă. Dacă num este absent, atunci comenzile
acționează, respectiv, ca în cazul num = 4, adic ă trecerea la pagina nou ă
este forțată, respectiv interzis ă. Dacă sunt utilizate într-un paragraf,
aceste comenzi se aplic ă punctului imediat urm ător liniei pe care au fost
apelate. Dac ă este activ ă declarația \flushbottom (subsecțiunea
2.6. MODUL PARAGRAF 101
____________________________________________________________________________
2.4.2 ), atunci se genereaz ă un mesaj de avertizare \vbox underfull , în
cazul în care \pagebreak are drept efect prea pu ține rânduri pe
pagină. Comanda \nopagebreak nu are efect, în cazul în care o alt ă
comandă LaTeX a permis, în mod explicit, trecerea la pagin ă nouă în
punctul specificat. Aceste comenzi nu au nici un efect în modul LR sau într-un box.
\enlargethispage{ len}
\enlargethispage*{ len}
Aceste comenzi m ăresc înălțimea paginii procesate, în mod curent, de
LaTeX (i.e. \textheight ) cu valoarea lungimii specificate de
argumentul len; len reprezint ă o lungime rigid ă și poate avea valoare
negativă De exemplu, \enlargethispage{\baselineskip}
va permite introducerea unei linii suplimentare în pagin ă (subsecțiunea
2.4.2 ). Forma cu “ *” a comenzii îngusteaz ă, cât mai mult posibil,
spațiul vertical dintre rânduri, comprimând textul. Este înso țită, în
general, de o comand ă \pagebreak . Sunt comenzi fragile.
\newpage
\clearpage
\cleardoublepage
Aceste comenzi sunt plasate în finalul paragrafului și, respectiv, al
paginii curente, în cazul paginilor cu textul pe o singur ă coloană
(onecolumn ). Orice spa țiu vid în corpul paginii (subsec țiunea 2.4.2 )
apare amplasat în partea inferioar ă a paginii, chiar dac ă declarația
\flushbottom este activ ă. Comenzile \clearpage și
\cleardoublepage determin ă, în plus, și tipărirea tabelelor și
figurilor care au fost create și nu au fost înc ă așezate în pagini; tip ărirea
se poate realiza, dac ă este necesar, pe una sau mai multe pagini flotante
(ce conțin doar tabele sau figuri). În stilul de tip ărire față-verso,
\cleardoublepage transform ă pagina urm ătoare într-una cu num ăr
impar, inserând, dac ă este necesar, o pagin ă goală.
Dacă se folose ște stilul twocolumn , atunci \newpage va avea ca
efect terminarea coloanei curente, mai degrab ă decât a paginii;
comenzile \clearpage și \cleardoublepage termină pagina,
producând, dac ă este necesar, o coloan ă vidă. Aceste comenzi se
utlizează doar în modul paragraf. Comenzile \newpage și
\clearpage sunt robuste.
102 CAPITOLUL 2. INTRODUCERE ÎN LIMBAJUL LaTeX
____________________________________________________________________________
2.6.4 Spa ții
Unele spa ții, necesare la scrierea unui text, sunt predefinite și reprezint ă
parametri de stil (a se vedea și subsecțiunea 2.4.2 ). În continuare, sunt descrise
comenzile ce permit modificarea spa țiilor, măsurate pe vertical ă și pe
orizontală, din structura unei pagini.
\hspace{ len}
\hspace*{ len}
Aceste comenzi au ca efect generarea unui spa țiu, pe orizontal ă, de
lățime len; parametrul len este o lungime exprimat ă într-o form ă
acceptată în LaTeX (subsubsec țiunea 2.4.2 ). Spațiul generat de
\hspace este suprimat, dac ă apare în punctul de trecere la un rând
nou; în acela și caz, spa țiul generat de \hspace* nu este suprimat.
Ambele comenzi sunt robuste.
\vspace{ len}
\vspace*{ len}
Adaugă un spațiu, pe vertical ă, de înălțime len; parametrul len este o
lungime exprimat ă într-o form ă acceptată în LaTeX (subsubsec țiunea
2.4.2 ). Spațiul generat de \vpace este suprimat, dac ă apare în punctul
de trecere la o pagin ă nouă; în acela și caz, spa țiul generat de
\vspace* nu este suprimat. Ambele comenzi pot fi folosite doar în
modul paragraf și sunt fragile.
\bigskip
\medskip \smallskip
Sunt echivalente, respectiv, cu urm ătoarele comenzi:
\vspace{\bigskipamount} \vspace{\smallskip}
\vspace{\medskipamount} ,
unde comenzile \bigskipamount , \medskipamount și
\smallskipamount sunt de tip lungimi și reprezint ă parametri de
stil. Aceste comenzi, generatoare de spa ții, pot fi folosite în defini ții de
cadre, pentru a asigura spa ții verticale standard. Sunt comenzi fragile.
\addvspace{ len}
În mod normal, aceast ă comandă adaugă un spațiu, pe vertical ă, de
înălțime len. Cu toate acestea, dac ă în punctul respectiv a fost ad ăugat,
2.6. MODUL PARAGRAF 103
____________________________________________________________________________
deja, un spa țiu, printr-o comand ă \addspace precedent ă, atunci noua
comandă nu va mai ad ăuga spațiu, decât pân ă la completarea
dimensiunii specificate de parametrul len. Este utilizat ă pentru
adăugarea spa țiilor suplimentare, pe vertical ă, situate deasupra și,
respectiv dedesubtul celor mai multor cadre LaTeX care încep un nou paragraf. Poate fi folosit ă doar în modul paragraf, între paragrafe, i.e.
imediat dup ă o linie goal ă sau după comanda \par . Este o comand ă
fragilă.
\hfill
Este echivalent ă cu \hspace{\fill} (comanda \fill a fost
descrisă în subsubsec țiunea 2.4.2 ).
\vfill
Este echivalent ă cu o linie goal ă, urmat ă de comanda
\vspace{\fill} . Se utilizeaz ă doar în modul paragraf.
\dotfill
Acționează la fel ca \fill (subsubsec țiunea 2.4.2 ), dar produce
puncte.
\hrulefill
Acționează la fel ca \dotfill , dar produce o linie orizontal ă.
\noindent
Suprimă alineatul (i.e. indentarea) la început de paragraf. Nu are nici un
efect dacă este utilizat ă în interiorul unui paragraf.
\par
Sfârșit de paragraf (echivalent ă cu o linie goal ă în text).
\indent
Introduce un spa țiu, pe orizontal ă, a cărei lățime este egal ă cu lățimea
indentării paragrafului. Este utilizat ă pentru a ad ăuga o indentare la
începutul unui paragraf, în cazul în care, în rest, indentarea a fost suprimată.
Observație. Toate aceste comenzi pot primi, ca parametri, lungimi date în oricare din
formele acceptate în LaTeX: se accept ă atât mărimi exprimate într-una din unit ățile de măsură
a lungimilor (subsec țiunea 2.4.2 ), cât și multipli sau submultipli ai unor comenzi de tip
lungimi. De exemplu, \vspace{0.5cm} înseamnă adăugarea unui spa țiu vertical de 0.5cm;
\vspace{2\parskip} înseamnă adăugarea unui spa țiu vertical egal cu dublul distan ței
reprezentate de parskip (comanda \parskip este descris ă în subsec țiunea 2.4.2 ).
104 CAPITOLUL 2. INTRODUCERE ÎN LIMBAJUL LaTeX
____________________________________________________________________________
Exemplul 2.64
\documentclass{article}
\begin{document}
Comanda \verb|\hspace{1cm}|
las\u a un\par spa\c tiu orizontal \par
de 1cm, deci \hspace{1cm}
etc.\par
Numele\hrulefill \par
Prenumele\hrulefill\par Nr.\dotfill \par
din \dotfill\par
Urmeaz\u a spa\c tiu vertical
de 1cm.\par
\vspace{1cm} \noindent Paragraf f\u ar\u a
alineat.
\end{document}
2.6.5 Note marginale
Uneori, este necesar s ă se insereze, în text, comentarii, sub form ă de
note marginale. În acest scop, se poate utiliza comanda
\marginpar[ left_text]{right_text},
care genereaz ă o notă marginal ă, având drept con ținut textul specificat prin
argumentul right_text , dacă nota este a șezată la dreapta sau dac ă nu exist ă
argument op țional, respectiv textul specificat prin left_text , altfel. Textul este
tipărit într-un parbox .
Pentru stilul de tip ărire față-verso și pe o singur ă coloană (opțiunile
twoside și onecolumn ), așezarea implicit ă a note marginale este pe
marginea exterioar ă a paginii, la stânga textului, în cazul paginilor numerotate
par, respectiv la dreapta textului, în cazul paginilor impare. În cazul stilului de tipărire pe o singur ă față și pe o singur ă coloană, așezarea implicit ă a notei
marginale este pe marginea dreapt ă a textului. Aceste amplas ări implicite pot fi
schimbate prin comenzile urm ătoare:
\reversemarginpar – determin ă așezarea notelor marginale pe marginea
opusă celei implicite;
\normalmarginpar – determin ă așezarea notelor pe marginea implicit ă.
2.6. MODUL PARAGRAF 105
____________________________________________________________________________
La apariția unei note marginale într-un paragraf, a șezarea sa este
determinat ă de declara ția activă în punctul unde începe linia goal ă ce încheie
paragraful. În cazul tip ăririi pe dou ă coloane (op țiunea twocolumn ), nota
marginală apare, întotdeauna, la marginea cea mai apropiat ă de coloana ce
conține nota, indiferent de aceste declara ții.
De regulă, o notă marginal ă este așezată astfel încât linia sa de sus s ă
fie la acela și nivel cu linia de text ce con ține comanda \marginpar ; dacă
această comandă apare între paragrafe, atunci nota este, în general, aliniat ă cu
ultima linie a paragrafului precedent comenzii. Oricum, dac ă apare o
suprapunere cu nota marginal ă precedent ă, nota curent ă este deplasat ă în josul
paginii.
Parametrii de stil asocia ți notelor marginale sunt urm ătoarele comenzi
de tip lungimi (a se vedea și Fig.2.5, subsec țiunea 2.4.2 ):
\marginparwidth – reprezint ă lățimea parbox -ului ce con ține nota
marginală;
\marginparsep – reprezint ă spațiul orizontal dintre marginea textului și
nota marginal ă;
\marginparpush – specific ă spațiul vertical minim permis între dou ă note
marginale succesive.
Exemplul 2.65
\documentclass[twoside]{article}
\begin{document} \stepcounter{page}
Suntem la pagina \thepage.\par
Aici apare prima not\u a. \marginpar{\em Nota 1. A\c ti \^\i
nv\u a\c tat la analiz\u a?.}\par
\^Incepe sesiunea (se creeaz\u a nota 2).\marginpar{\em Nota 2. Ave\c ti grij\u a cum v\u a petrece\c ti timpul liber.}\par
Acum este mai interesant\u a via\c ta de student.
\end{document}
106 CAPITOLUL 2. INTRODUCERE ÎN LIMBAJUL LaTeX
____________________________________________________________________________
2.7 MODUL MATEMATIC
TeX este considerat în modul matematic, când genereaz ă formule
matematice. În acest mod, literele sunt considerate simboluri matematice; de exemplu, ab este interpretat ca produsul lui a cu b. Spațiile dintre simboluri
sunt ignorate.
2.7.1 Cadre și stiluri specifice modului matematic
O formulă matematic ă poate să apară, într-un document, fie pe un rând
de text, fie pe un rând separat și dedicat. Pentru fiecare din cele dou ă cazuri
sunt disponibile mai multe comenzi echivalente, ce definesc, de fapt, cadre specifice modului matematic.
TeX poate folosi, doar în modul matematic, una din urm ătoarele patru
declarații de stil pentru editarea formulelor:
\displaystyle – stilul display , implicit pentru simboluri normale, la
formulele scrise pe rânduri dedicate;
\textstyle – stilul text, implicit pentru simboluri normale, la formulele
scrise pe un rând de text;
\scriptstyle – stilul script , implicit pentru indici inferiori și superiori de
nivelul unu;
\scriptscriptstyle – stilul scriptscript , implicit pentru indici de
niveluri superioare.
Cadrele asociate modului matematic sunt: math , displaymath ,
equationarray (subsecțiunea 2.3.5 ) și equation (subsecțiunea 2.3.6 ). În
continuare, este descris modul de creare a cadrelor math și displaymath .
$ formula $
\(formula)\)
\begin{math} formula \end{math}
Aceste trei forme echivalente permit generarea unei formule a șezate
într-o linie de text uzual, prin editarea argumentului formula în stilul
text. Pot fi utilizate în modul LR.
2.7. MODUL MATEMATIC 107
____________________________________________________________________________
\[ formula \]
\begin{displaymath} formula \end{displaymath}
Aceste forme echivalente permit generarea unei formule pe un rând
separat, prin editarea argumentului formula în stilul display . Pot fi
utilizate doar în modul paragraf (sec țiunea 2.6). Formula apare centrat ă
pe rând, cu excep ția cazului în care op țiunea comenzii
\documentclass este fleqn (subsubsec țiunea 2.2.5.1 ). Formula
este nenumerotat ă
Observație. Cadrul equation este similar cu displaymath , cu excep ția faptului
că genereaz ă o formulă numerotat ă, utilizând contorul equation .
2.7.2 Comenzi pentru crearea unor structuri uzuale
Comenzile frecvent folosite la scrierea formulelor matematice sunt
următoarele:
_{sub} – Tipărește argumentul sub ca indice inferior.
^{sup} – Tipărește argumentul sup ca indice superior.
‘ – Tipărește simbolul prim (‘).
\frac{ numar}{numit} – Genereaz ă o fracție cu argumentul numar la
numărător și respectiv numit la numitor.
\sqrt[ n]{arg} – Genereaz ă simbolul pentru r ădăcina de ordinul n a
argumentului arg. Dacă nu apare argumentul op țional, atunci se
generează rădăcina pătrată.
Trei puncte pot fi generate printr-una din urm ătoarele comenzi:
\ldots – Genereaz ă trei puncte a șezate orizontal, în partea inferioar ă a
rândului. Poate fi utilizat ă în orice mod.
\cdots – Genereaz ă trei puncte în centrul rândului.
\vdots – Genereaz ă trei puncte a șezate vertical.
\ddots – Genereaz ă trei puncte dispuse în diagonal ă, de la stânga-sus la
dreapta-jos.
108 CAPITOLUL 2. INTRODUCERE ÎN LIMBAJUL LaTeX
____________________________________________________________________________
Exemplul 2.66
\documentclass[fleqn]{article}
\begin{document}
$x^{2y}, x^{y^{2}},
x^{y}_{1}$\par $x_{2y}, x^{y_{1}},
x_{1}^{y}$\par
\^{\i}nmul\c tind cu $n/2$
rezult\u a \((m+n)/n\).\par
\(x=\frac{u+z/2}{y^{2}+1}\) \par
O r\u ad\u acina p\u atrat\u a
este \(\sqrt{x+y}\).\par
O r\u ad\u acina de ordinul
$n$ este $\sqrt[n]{2}$.\par Se scrie \c sirul:
\[x_{1}, \ldots, x_{n}\]\par
Puncte centrate:
$a + \cdots +z$.\par
$\textstyle{a+b} \scriptstyle{c}
\scriptscriptstyle{d}$
\end{document}
2.7.3 Simboluri matematice
Litere grece ști
O literă greceasc ă se poate genera prin tastarea caracterului backslash
(\), urmat de numele literei dorite, scris cu litere latine mici, în cazul literelor
grecești mici, respectiv cu prima liter ă latină mare, în cazul literelor grece ști
mari. Comenzile necesare scrierii literelor grece ști sunt listate în tabelul 2.6.
Litere caligrafice
În TeX sunt disponibile 26 de litere caligrafice mari, asociate respectiv
literelor latine A, …, Z și generate de comanda \mathcal .
Exemplul 2.67
Alege\c ti $\mathcal{B}$.
2.7. MODUL MATEMATIC 109
____________________________________________________________________________
Tabelul 2.6 : Litere grece ști
Alte simboluri matematice
În TeX sunt disponibile mai multe seturi de simboluri matematice
speciale. Câteva dintre acestea se pot introduce direct de la tastatura standard, cum ar fi + sau >. Altele se ob țin prin aplicarea comenzilor listate în tabelele
2.7, 2.8, 2.9, 2.10 și 2.11.
Tabelul 2.7 : Operatori binari
1
1 Nu sunt listate comenzile \lhd , \rhhd , \unlhd și \unlhd disponibile în pachetul latexsym.
110 CAPITOLUL 2. INTRODUCERE ÎN LIMBAJUL LaTeX
____________________________________________________________________________
Tabelul 2.8 : Operatori rela ționali2
O serie de comenzi generatoare de simboluri matematice, specificate în
notele de subsol 1-4, respectiv asociate tabelelor 2.7-2.10, necesită încărcarea
pachetului latexsym , prin comanda \usepackage{latexsym} .
Tabelul 2.9 : Simboluri de tip s ăgeată3
2 Nu sunt listate comenzile \sqsubset , \sqsupset și \Join , disponibile în pachetul latexsym.
3 Nu este listat ă comanda \leadsto , disponibil ă în pachetul latexsym.
2.7. MODUL MATEMATIC 111
____________________________________________________________________________
Tabelul 2.10 : Diverse simboluri matematice4
Tabelul 2.11 : Operatori mari (de m ărime variabil ă)
Simbolurile din tabelul 2.11 au fost generate în stilul text. Când sunt
generate în cadrul equation sau displaymath , ele apar m ărite.
Exemplul 2.68
\begin{document}Exemplu \^\i n stilul
\textit{display}:\[\sum_{j=1}^{m}y_{j}=\int_{0}^{1}g\]\par
\c si \^\i n stilul \textit{text}: \(\sum_{j=1}^{m}y_{j}=\int_{0}^{1}g\)
\end{document}
4 Nu sunt listate comenzile \mho , \Box și \Diamond , disponibile în pachetul latexsym .
112 CAPITOLUL 2. INTRODUCERE ÎN LIMBAJUL LaTeX
____________________________________________________________________________
Simboluri suplimentare, de nega ție, se pot construi prin aplicarea
comenzii \not , înaintea comenzii ce genereaz ă simbolul nenegat.
Exemplul 2.69
Dac\u a $x \not< y$, atunci $x
\not\leq y-1$.
În cazul în care simbolul de negare / nu apare exact în locul dorit, se utilizeaz ă
comenzile de spa țiere, descrise în subsec țiunea 2.7.6 .
Simbolurile func țiilor matematice uzuale
De regulă, funcțiile matematice uzuale log, exp, sin, etc. se tip ăresc cu
fontul Roman drept, iar argumentele sunt afi șate cu caractere italice. Dac ă,
pentru editarea unei formule în modul matematic, numele func țiilor uzuale s-ar
introduce direct de la tastatur ă, atunci ele ar fi tip ărite cu font italic. Pentru a
evita acest fenomen, se folosesc comenzile listate în tabelul urm ător.
Tabelul 2.12 : Comenzi pentru generarea numelor unor func ții uzuale
\arccos \cot \exp \lim \min \tan
\arcsin \coth \gcd \liminf \Pr \tanh
\arctan \csc \hom \limsup \sec
\arg \deg \ker \ln \sin
\cos \det \inf \log \sinh
\cosh \dim \lg \max \sup
Pentru tip ărirea numelui func ției mod (modulo) se folosesc comenzile \bmod
(pentru o rela ție binară) și \pmod (pentru o rela ție cuprins ă între paranteze).
Exemplul 2.70
$\min (m,n)=a \bmod b$\par
$x \equiv y \pmod{a+b}$
Unele din comenzile din tabelul 2.12 se comport ă, în raport cu
generarea de indici inferior sau superiori, similar cu cele din tabelul 2.11:
indicii apar mai mici dac ă formula este “în text”, respectiv mai mari dac ă
aceasta este pe un rând dedicat.
Observație. TeX poate fi for țat să afișeze altă mărime decât cea asociat ă, implicit,
stilului curent, pentru simbolurile din tabelul 2.11 sau, respectiv, pentru indicii formulelor
generate prin unele din comenzile din tabelul 2.12. În acest scop, se folosesc comenzile
2.7. MODUL MATEMATIC 113
____________________________________________________________________________
\displaystyle , \textstyle , \scriptstyle sau \scriptscriptstyle
(subsecțiunea 2.7.1 ).
Exemplul 2.71
\documentclass{article}
\begin{document}
O formul\u a \^\i n stilul \textit{display}:
\[\lim_{n \rightarrow \infty} y = 0.5\]
arat\u a \textit{"\^\i n text"} astfel: \(\lim_{n \rightarrow \infty} y = 0.5\).\par
\^In text putem scrie mic: $ \frac{1}{C}\int i =u$
sau mare:$ \frac{1}{C}\displaystyle{\int i }=u$.\par
Putem scrie cu indice mic: $e^{x(i)}$ sau cu indice mare:
$e^{\textstyle{y(i)}}$. \end{document}
2.7.4 Tablouri matriceale, delimitatori și formule lungi
Tablouri matriceale
Tablourile matriceale se pot scrie folosind cadrul array , descris în
subsecțiunea 2.3.1 și în subsubsec țiunea 2.3.19.2 . Reamintim c ă sintaxa
corespunz ătoare este urm ătoarea :
\begin{array}[ pos]{cols} linii \end{array}
TeX asociaz ă, fiecărei formule, câte o linie de centru, pe care va fi
plasat, dac ă este cazul, semnul + sau -. Un tablou generat de cadrul array
este, el însu și, o formul ă cu o linie de centru. Elementele unei linii a tabloului
114 CAPITOLUL 2. INTRODUCERE ÎN LIMBAJUL LaTeX
____________________________________________________________________________
sunt poziționate vertical, astfel încât liniile lor de centru s ă fie, toate, la aceea și
înălțime. În mod normal, linia de centru a unui tablou matriceal este situat ă la
jumătatea distan ței dintre linia superioar ă și, respectiv, cea inferioar ă. Poziția
liniei de centru poate fi adus ă la nivelul liniei superioare sau inferioare a
tabloului, cu valorile t (top) și, respectiv b (bottom ), ale argumentului op țional
pos.
Exemplul 2.72
\documentclass{article}
\begin{document}
$x-\left|
\begin{array}{c}
a_{1}\\ \vdots \\ a_{n}
\end{array}\right| – \left|\begin{array}[t]{c}
1+i\\ \vdots \\
3-
\left|\begin{array}[b]{r}
i\\j \end{array}
\right|
\end{array}\right|
$
\end{document}
Delimitatori
Tablourile matriceale din exemplul precedent sunt separate, la dreapta
și la stânga, prin delimitatori de tip bar ă verticală. Acest tip și alți delimitatori,
frecvent utiliza ți în formulele matematice, sunt prezenta ți în tabelul 2.13.
Comenzile din tabelul 2.13 genereaz ă delimitatori de m ărimea indicat ă,
corespunz ătoare mărimii implicite a fontului utilizat (aici 10 pt). Pentru a ajusta
mărimea delimitatorilor la m ărimea formulei delimitate – lucru necesar în
special în cazul tablourilor generate de cadrul array – se folosesc comenzile
\left și \right , în pereche (exemplul 2.72). Fiecare din aceste comenzi se
aplică chiar înaintea comenzii de generare a delimitatorului.
Deși \left și \right trebuie s ă apară în pereche, se poate crea un
delimitator invizibil prin introducerea caracterului “.” imediat dup ă comanda
\left sau \right . Această proprietate este utilizat ă în exemplul 2.73, la
scrierea unei func ții cu acolad ă.
2.7. MODUL MATEMATIC 115
____________________________________________________________________________
Tabelul 2.13 : Delimitatori5
Exemplul 2.73
\documentclass{article}
\begin{document}
$f(x)=\left\{ \begin{array}{ll}
\sin (x)&
\mbox{dac\u a
$|x| \leq \pi$}\\
0 & \mbox{altfel}\\ \end{array}
\right.$
\end{document}
Formule multilinie
Formulele lungi se pot tip ări pe mai multe linii (sau rânduri), folosind
cadrele eqnarray și eqnarray* (subsubsec țiunea 2.3.5 ). Fiecare rând
conține o subformul ă. Dacă se folose ște cadrul eqnarray , atunci fiecare rând
–ce conține câte o subformul ă – în parte este numerotat. Pentru a evita acest
lucru, la sfâr șitul fiecărei linii, cu excep ția celei din urm ă, se introduce
comanda \nonumber (exemplul 2.18).
Un caracter + sau – , situat la începutul unei formule sau al unei
subformule, este considerat, de TeX, ca un operator unar și va fi tip ărit “lipit”
de termenul situat la dreapta sa. Dac ă termenul respectiv apare într-o
subformul ă ce face parte dintr-o singur ă formulă lungă, atunci caracterul + sau
– devine un operator binar și el trebuie tip ărit la o mic ă distanță de termenul
5 Pot fi folosite, drept delimitatori, și o parte din simbolurile de tip s ăgeată din tabelul 2.9; de exemplu,
simbolurile generate prin comenzile \uparrow , \downarrow , \updownarrow și prin tandemurile
acestora, scrise respectiv cu prima liter ă mare dup ă caracterul \.
116 CAPITOLUL 2. INTRODUCERE ÎN LIMBAJUL LaTeX
____________________________________________________________________________
situat la dreapta sa. Acest lucru se realizeaz ă introducând comanda \mbox{} ,
înaintea caracterului + sau -.
Exemplul 2.74
\documentclass{article}
\begin{document}
\centering {Aici "+" apare "lipit" de
$i$:}
\begin{eqnarray*}
y&=&a+b+c\\
& &+i+j+k. \end{eqnarray*}\par
\centering
{Corect este a\c sa:}
\begin{eqnarray*}
y&=&a+b+c\\ & &\mbox{}+i+j+k.
\end{eqnarray*}
\end{document}
2.7.5 Sublinieri și suprapuneri de simboluri
O serie de formule matematice necesit ă scrierea de simboluri
suprapuse. Cadrul array permite suprapunerea, pe vertical ă, a mai multor
simboluri, dar nu este comod de utilizat doar pentru sub- sau supralinieri.
Linii și paranteze sub- și suprapuse
Supra- și sublinierile se pot realiza cu urm ătoarele comenzi:
\overline{ formula} – tipărește argumentul formula , cu o linie orizontal ă
deasupra;
\underline{ formula} – tipărește argumentul formula , cu o linie orizontal ă
dedesubt și poate fi folosit ă în toate modurile.
Următoarele comenzi permit suprapunerea acoladelor orizontale și a
formulele matematice.
\overbrace{ formula} – tipărește argumentul formula , cu o acolad ă
orizontală deasupra;
2.7. MODUL MATEMATIC 117
____________________________________________________________________________
\underbrace{ formula} – tipărește argumentul formula , cu o acolad ă
orizontală dedesubt.
Exemplul 2.75
\documentclass{article}
\begin{document}
Se supraliniaz\u a: $\overline{\overline{x}^{2}
+1}$.\par
Expresia
$\underbrace{\overbrace{
1+\sqrt{6}}^{2}+i+j+k}_{5}$ \par
are 5 termeni din care 2 sunt
numerici.
\end{document}
Accente
Comenzile pentru tip ărirea accentelor, descrise în subsec țiunea 2.6.2 , se
aplică doar în modul paragraf și nu pot fi folosite la scrierea formulelor. În
tabelul 2.14, sunt listate comenzile pentru aplicarea de accente în editarea
formulelor; litera a este aleas ă doar spre exemplificare, iar comenzile se pot
folosi pentru orice alt ă literă.
Tabelul 2.14 : Accente în modul matematic
Versiuni ale simbolurilor generate de comenzile \hat și \tilde , care
se adapteaz ă la lungimea formulei, se pot ob ține prin comenzile \what și
respectiv \wtilde (numele lor provine de la wilde version ). Comenzile
\imath și \jmath genereaz ă literele i și respectiv j fără punct.
Simboluri suprapuse
Comanda
\stackrel{ top}{bot}
118 CAPITOLUL 2. INTRODUCERE ÎN LIMBAJUL LaTeX
____________________________________________________________________________
tipărește argumentul reprezentat de top, deasupra celui reprezentat de bot;
mărimea caracterelor argumentului top corespunde stilului superscript , iar dacă
se dorește schimbarea acesteia, atunci se aplic ă, corespunz ător, una din
comenzile descrise în subsec țiunea 2.7.1 .
Exemplul 2.76
\documentclass{article}
\begin{document} \[\widehat{x+y}=
\widehat{-z}\]\par
\[\vec{x}
\stackrel{\mathrm{def}}{=}
(x_1 \ldots x_n)^{T}\] \end{document}
2.7.6 Spa țieri
Următoarele comenzile genereaz ă spații orizontale în modul matematic:
\, genereaz ă un spațiu îngust spre dreapta;
\! genereaz ă un spațiu îngust negativ (i.e. la stânga);
\: genereaz ă un spațiu mediu spre dreapta;
\; genereaz ă un spațiu lat spre dreapta;
\⊔ genereaz ă un spațiu dintre dou ă cuvinte consecutive ( ⊔ este blank ).
Exemplul 2.77
\documentclass{article}
\begin{document}
\begin{tabular}{lcl}
$\sqrt{2} \, x$& \^\i n loc de
&$\sqrt{2}x$\\ $n/ \! \log{n}$& \^\i n loc de
&$n/\log{n} $\\
$\int\!\!\int{z}\,dx\,dy$&
\^\i n loc de
&$\int\int{z}dxdy$ \end{tabular}
\end{document}
Comanda \, poate fi folosit ă și în modurile paragraf și LR.
2.7. MODUL MATEMATIC 119
____________________________________________________________________________
2.7.7 Schimb ări de stiluri în formulele matematice
În subsec țiunea 2.7.1 , au fost descrise comenzile pentru schimbarea
mărimii simbolurilor în modul matematic.
Comenzile din tabelul urm ător permit schimbarea stilului fontului, în
cazul numerelor, al literelor latine și grecești. Alte elemente ale formulelor,
cum ar fi numele func țiilor matematice log, sin, etc. (tabelul 2. 12), rămân
nemodificate.
Tabelul 2.15 : Comenzile de setare a fontului în mod matematic și efectele lor
Comanda \mathcal a fost descris ă și în subsec țiunea 2.7.3 .
Simbolurile italice, generate de comanda \mathit , sunt spa țiate diferit de
cele generate în stilul italic uzual; \mathit este recomandat ă pentru
simboluri matematice compuse din mai multe litere.
Comanda \boldmath afecteaz ă toate caracterele unei formule și
tipărește formulele matematice în stilul bold; poate fi folosit ă doar în modurile
paragraf sau LR și, de aceea, trebuie introdus ă, împreun ă cu argumentul s ău,
într-un box generat cu \mbox (secțiunea 2.8).
Câteva din comenzile de schimbare de font, ce au fost descrise, sunt
aplicate în exemplul urm ător.
Exemplul 2.78
\documentclass{article}
\begin{document}
$matematic$ – \^\i n mod matematic uzual \par
$\mathit{matematic}$ – la comanda \verb|\mathit| \par
$x+\mbox{\boldmath{$\Re{(g)}$}}=0$ –
cu \verb|\boldmath| \^\i n \verb|\mbox| pentru $\Re{(g)}$ \par $diff+2^{ft} \Psi \log{[\psi]}$ –
\^\i n mod matematic uzual\par
$\mathbf{diff+2^{ft} \Psi \log{[\psi]}}$ –
cu \verb|\mathbf | \par
\mbox{\boldmath{$diff+2^{ft} \Psi \log{[\psi]}$}} – cu \verb|\boldmath| \^\i n mod paragraf \par
\end{document}
120 CAPITOLUL 2. INTRODUCERE ÎN LIMBAJUL LaTeX
____________________________________________________________________________
Observație. Presupunem c ă lucrăm în modul paragraf și că este necesar s ă edităm o
formulă, numită formula_1 , cu caractere bold și apoi formula_2 , cu caractere uzuale în modul
matematic. Dac ă în locul comenzilor
\mbox{\boldmath{$ formula_1$}
s-ar folosi doar
\boldmath{$ formula_1$},
atunci, în mod nedorit, și formula_2 ar apărea cu caractere bold (dac ă \mbox lipsește,
compilatorul LaTeX nu d ă eroare).
2.8 MODUL LR
În modul LR ( Lef-to-Right ), la fel ca și în modul paragraf, TeX
consideră simbolurile primite la intrare ca o secven ță de cuvinte cu spa ții între
ele. Însă, spre deosebire de modul paragraf, în modul LR TeX genereaz ă un
text de la stânga la dreapta, f ără a se începe un rând nou și fără a se verifica
încadrarea în spa țiul disponibil, astfel încât exist ă riscul ca un text, astfel
procesat, s ă iasă din pagin ă.
Textul procesat în modul LR este introdus într-un box, iar la ieșirea din
acest mod box-ul este așezat în pagin ă. Esențial este faptul c ă textul din box nu
este secționat pe mai multe rânduri.
În continuare sunt descrise comenzile care permit culegerea unui text în
modul LR, creându-se box-uri. Ele pot fi folosite în orice mod.
\mbox{ text}
\makebox[ lat][pos]{text}
Aceste comenzi tip ăresc argumentul text în modul LR, plasându-l
într-un box; în cazul comenzii \makebox , argumentul op țional lat
2.8. MODUL LR 121
____________________________________________________________________________
specifică lățimea box-ului, iar pozi ția argumentului text în box este
determinat ă de următoarele valori ale argumentului pos:
c (center ) – centrat, implicit;
r (right ) – aliniat la dreapta;
l (left) – aliniat la stânga;
s (strech ) – spațiile dintre cuvinte sunt ajustate astfel încât
textul să umple întregul box.
\fbox{ text}
\framebox[ lat][pos]{text}
Aceste dou ă comenzi sunt similare cu \mbox și respectiv \makebox ,
cu excepția faptului c ă se genereaz ă și un cadru dreptunghiular, în jurul
box-ului ce con ține argumentul text.
\newsavebox{\ cda}
Declară comanda specificat ă de argumentul \cda ca fiind un buffer
pentru salvarea unor box-uri; comanda \cda trebuie s ă nu fi fost deja
definită, i.e. numele cda trebuie să fie nou.
\sbox{\ cda}{text}
\savebox{\ cda}[lat][pos]{text}
\begin{lrbox}{\ cda} text \end{lrbox}
Aceste comenzi introduc argumentul text într-un box (similar cu
\mbox ), dar în loc s ă-l și tipărească, îl introduc într-un buffer , generat
deja la comanda \newsavebox . În cadrul lrbox , text este salvat f ără
spațiile de la început și de la sfâr șit.
\usebox{\ cda}
Tipărește box-ul cel mai recent salvat în buffer -ul \cda (creat la
comanda \newsavebox ).
\raisebox{ raise_len}[hght][dpth]{text}
Această comandă creează un box prin tipărirea argumentului text în
modul LR; text este ridicat în box cu distan ța specificat ă de raise_len și
extins, deasupra și dedesubtul rândului, cu distan țele specificate de
argumentele hght și respectiv dpth. Dacă argumentul dpth sau ambele
argumente op ționale lipsesc, atunci TeX va folosi extensia curent ă a
box-ului.
122 CAPITOLUL 2. INTRODUCERE ÎN LIMBAJUL LaTeX
____________________________________________________________________________
\rule{ raise_len}{lat}{hght}
Genereaz ă un dreptunghi solid, de l ățime lat și înălțime hght, ridicat
deasupra rândului la distan ța specificat ă de argumentul raise_len (sau
coborât, dac ă raise_len are valoare negativ ă). raise_len are valoarea
implicită 0in.
\width
\height
\depth \totalheight
Sunt comenzi de tip lungimi, ce pot fi aplicate argumentelor lat al
comenzilor \makebox , \framebox și \savebox și argumentelor
raise_len , hght și dpth ale comenzii \raisebox . Se refer ă la
dimensiunile (l ățime, în ălțime, adâncime și respectiv
înălțime+adâncime ale) box-ului obținut prin tip ărirea argumentului
text.
Stilul este controlat de urm ătoarele comenzi:
\fboxrule precizeaz ă lățimea liniei trasate de \fbox și \framebox ;
\fboxsep precizeaz ă spațiul dintre con ținutul și marginile box-ului generat
cu\fbox și \framebox .
Comanda \mbox este folosit ă în exemplul 2.78 din finalul sec țiunii
precedente. Iat ă alte exemple de generare de text în modul LR.
Exemplul 2.79
\documentclass{article}
\begin{document}
Apare un \framebox[1in][l]{om}
la \fbox{orizont}.\par Compara\c ti
\fbox{acest \em{box}} cu
\fbox{
\rule[-0.5cm]{0cm}{1cm}
acest \em{box} }.\par
XXX\framebox[0.5in]
{diver\c si oameni}XXX.
\end{document}
2.8. MODUL LR 123
____________________________________________________________________________
Exemplul 2.80
\documentclass{article}
\begin{document}
Text \raisebox{0.6ex}{\em{ridicat}}
sau \raisebox{-0.6em}{\em{cobor\^at}}.
\end{document}
Exemplul 2.81
\documentclass{article}
\begin{document}
\newsavebox{\joc}
\savebox{\joc}[1.5cm]{ap\u a}
Este doar \usebox{\joc},\par \usebox{\joc},
\usebox{\joc},\par
peste tot.
\end{document}
Observație. Alte comenzi pentru crearea de box-uri au fost descrise în subsec țiunea
2.3.13 .
2.9 OBSERVA ȚII FINALE
Dificultățile legate de însu șirea limbajului LaTeX sunt mai mult de
natură psihologic ă. Odată deprins, LaTeX asigur ă editarea textelor, conform
celor mai exigente standarde de tehnoredactare. În plus, fi șierul de ie șire, cu
extensia .dvi , este – dup ă cum reiese și din denumirea sa în englez ă: Device
Independent – independent de drive -ul de imprimant ă.
Compilatorul LaTeX este disponibil, gratuit, pe Internet. Reamintim c ă
una din adresele de la care poate fi adus ă versiunea sa pentru Win95 este:
www.stat.uiowa.edu/resources/help/win95/latex.html Prezentul capitol este doar o introducere privind limbajul LaTeX.
Textul său este o combina ție între informa ția de tip “ User’s Guide ” și cea de
tip “ Reference Manual ”. Anexa C con ține o aplica ție din domeniul teoriei
ecuațiilor diferen țiale, iar Anexa D cuprinde o list ă a principalelor comenzi
124 CAPITOLUL 2. INTRODUCERE ÎN LIMBAJUL LaTeX
____________________________________________________________________________
LaTeX, sub form ă de memorator. Cea mai detaliat ă lucrare privind LaTeX
rămâne, pân ă în prezent, cartea lui Leslie Lamport [Lamport 1994].
Din motive pur conjuncturale, acest capitol, la fel ca și întreaga lucrare,
a fost editat în Microsoft Word97, iar exemplele și o parte din tabele au fost
procesate în LaTeX, captate și apoi inserate în text. Dintre lucr ările publicate în
limba român ă, realizate în întregime în LaTeX și care pun în eviden ță
avantajele deosebite ale proces ării textelor științifice în acest limbaj,
recomand ăm tratatul de calcul numeric matriceal de B. Dumitrescu, C. Popeea
și B. Jora [Dumitrescu 1998].
Copyright Notice
© Licențiada.org respectă drepturile de proprietate intelectuală și așteaptă ca toți utilizatorii să facă același lucru. Dacă consideri că un conținut de pe site încalcă drepturile tale de autor, te rugăm să trimiți o notificare DMCA.
Acest articol: INTRODUCERE ÎN LIMBAJUL LaTeX [624943] (ID: 624943)
Dacă considerați că acest conținut vă încalcă drepturile de autor, vă rugăm să depuneți o cerere pe pagina noastră Copyright Takedown.
