Documente Academic
Documente Profesional
Documente Cultură
Introducere in Limbajul Latex PDF
Introducere in Limbajul Latex PDF
2.1 INTRODUCERE
O lucrare este predat editorului care, dup verificarea semantic de
ctre un grup de recenzori, va accepta lucrarea. O lucrare acceptat pentru
publicare va trebui aranjat n pagin, operaie fcut de ctre tehnoredactor,
care hotrte dimensiunile paginii, fonturile, aspectul general etc. Aceste
informaii formeaz layout-ul lucrrii ce va trebui publicat. Zearul culege
textul, urmnd acest model i scoate o prim copie, ce va fi supus corecturilor
gramaticale. Dup corectur, lucrarea se tiprete n numrul dorit de
exemplare.
Dac recenzia este fcut de oameni, celelalte operaii 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
rspndire i disponibilitate, am ales LaTeX.
n scenariul de mai sus, LaTeX este tehnoredactorul i TeX este zearul.
TeX este un program elaborat de Donald E. Knuth [Knuth 1984], care se
folosete la culegerea i tiprirea 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 cri, articole, rapoarte i scrisori.
LaTeX este un pachet de macrodefiniii 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. poziia
figurilor, a tabelelor, etc.) poate s varieze dramatic, atunci cnd textul este
portat la un calculator ce are instalat alt driver de imprimant. Dependena de
12 CAPITOLUL 2. INTRODUCERE N LIMBAJUL LaTeX
____________________________________________________________________________
Fig. 2.1 Un exemplu simplu de articol scris n LaTeX. Rezultatul procesrii este redat n fig. 2.2.
14 CAPITOLUL 2. INTRODUCERE N LIMBAJUL LaTeX
____________________________________________________________________________
Fig. 2.2 Rezultatul procesrii fiierului surs din fig. 2.1 (setup-ul paginii n LaTeX este diferit).
2.1. INTRODUCERE 15
____________________________________________________________________________
Observaie. n funcie de clasa sau categoria din care face parte documentul, mai apar
i alte fiiere 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 combinaie cu \index i va conine
comenzile \indexentry aferente;
*.gb creat dac apare comanda \makeofglossary.
Imaginea documentului poate fi vizualizat sub DOS cu ajutorul
comenzii v numefiier. Sub X WINDOWS, vizualizarea se poate realiza
uitiliznd comanda xdvi numefiier. Tiprirea se va realiza cu ajutorul unui
utilitar ce poate accesa imprimanta. Pentru DOS, tiprirea 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 numefiier, iar pentru o
imprimant HEWLETT PACKARD LJ comanda este dvihplj numefiier.
Pentru Windows95, vizualizarea i tiprirea se realizeaz cu utilitarul Yap. Sub
sistemul de operare Unix se utilizeaz o procedur asemntoare. Cnd se
dispune de o imprimant PostScript, utilitarul dvi2ps transform fiierul
*.dvi ntr-un fiier *.ps (i.e. PostScript).
Observaie. La referine ncruciate 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
fiiere care la prima procesare nu au fost create nc.
2.2. NOIUNI FUNDAMENTALE PRIVIND LaTeX 17
___________________________________________________________________________
De multe ori, caracterul blank (spaiu) are acelai efect dac apare o
singur dat sau ca un ir de blank-uri.
Caracterul newline (linie nou) este echivalent cu blank, atunci cnd
apare o singur dat. Mai mult de dou astfel de caractere succesive semnific
terminarea unui paragraf i nceputul unuia nou.
Exemplul 2.2
Execuia fiierului surs urmtor
\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 cuvntul LaTeX, iar
un caracter backslash plasat la sfritul comenzii rezolv problema.
Exemplul 2.3
\LaTeX\ este un program de tehnoredactare
are ca rezultat textul
Observaie. n cele ce urmeaz, n cadrul exemplelor prezentate, dac acestea apar pe
dou coloane, fiierul surs *.tex apare n dreapta, iar textul rezultat este inserat pe coloana
din stnga. Dac ele sunt prezentate grupate orizontal, atunci fiierul *.tex apare primul. n
primele exemple a fost folosit mai ales clasa report dar, dac nu se specific altfel,
comenzile din fiierul *.tex respectiv sunt valabile pentru toate clasele de documente.
Caracterul rnd nou este echivalent cu spaiu i, ca urmare, paragrafele
se vor separa printr-un rnd gol sau utiliznd 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. NOIUNI FUNDAMENTALE PRIVIND LaTeX 19
___________________________________________________________________________
de control \tt pentru fontul typewriter sau \bf pentru bold face
(subseciunea 2.6.1).
Dac numai cteva cuvinte se tipresc 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 secvenele de
control cu parametri, se vor utiliza tot paranteze acolade. Prin parametru se
nelege orice ir de caractere ntre acolade sau un caracter, dac acoladele
lipsesc. De exemplu, comanda
\haspace {4cm}
indic inserarea unui spaiu orizontal de 4 cm.
Observaie. Acoladele ce delimiteaz un parametru nu pot forma un grup. Ca urmare,
dac se dorete refacerea valorii unei variabile LaTeX, dup modificarea sa prin executarea
unei comenzi corespunztoare, atunci chiar comanda trebuie inclus n grup.
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 rnduri separate se delimiteaz cu cte o
pereche de secvene 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 secvenele de control \alpha,
\beta sau \frac cu parametrii afereni.
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 operaiilor sunt poziionai 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. NOIUNI FUNDAMENTALE PRIVIND LaTeX 21
___________________________________________________________________________
O alt variant ce uureaz editarea este cea de creare a unui fiier cu
extensia .sty, cu rolul de a defini diacriticele [Pusztai 1994]. Acest fiier va fi
creat n funcie de limba n care se editeaz i va fi nglobat n sursa LaTeX.
Pentru desprirea n silabe, se poate utiliza un set de abloane ce sunt
alese la iniializarea 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 desprirea n
silabe a cuvntului mama, oriunde este ntlnit n text. Scrierea cuvntului
concesie n forma con\-ce\-si\-e are ca efect desprirea n silabe a
sa doar n locul indicat.
Detalii suplimentare privind comenzile de generare a accentelor sunt
prezentate n subseciunea 2.6.2.
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}
\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 punctuaie. Literele mari i mici
sunt interpretate distinct. Comanda \label, plasat n textul uzual, asigneaz
numrul unitii curente prin parametrul key; dac ea apare n interiorul unui
mediu numerotat, atunci acel numr este asignat argumentului key.
Pentru a evita crearea accidental a dou etichete cu acelai nume, se
utilizeaz etichete constnd dintr-un prefix i un sufix, separate prin caracterul
:. Prefixele convenionale 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 numrul unitii secionale, numrul ecuaiei
etc., din comanda \label corespunztoare.
Deosebit de util este i comanda
\pageref{key}
care permite referirea la pagina unde este plasat entitatea etichetat de
\label, ca n exemplul urmtor.
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
____________________________________________________________________________
\tableofcontents
\listoffigures
\listoftables
Fiecare din aceste comenzi se pune n locul n care se dorete s apar
lista respectiv. Ca rezultat, este generat un fiier (header), dar nu se ncepe
automat o nou pagin. Dac se dorete 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. Fiierul are acelai nume cu fiierul rdcin i,
respectiv, extensia
.toc pentru \ tableofcontents,
.lof pentru \listoffigures sau
.lot pentru \listoftables.
Scrierea altor fiiere, n afar de cele cu extensia .dvi i respectiv
.log, poate fi inhibat prin comanda \nofiles.
Adugarea de noi linii, n oricare din cele trei fiiere, se poate realiza
prin comenzile
\addcontentsline{file}{sec_unit}{entry}
\addtocontents{file}{text}
unde:
file este o extensie a fiierul n care trebuie scris informaia i poate fi
toc, lof, sau lot;
sec_unit poate fi:
- nume de unitate de document (part, section, chapter, etc.),
dac fiierul are extensia .toc,
- figure, dac fiierul are extensia .lof sau
- table, dac fiierul are extensia .lot;
entry reprezint textul inserat.
32 CAPITOLUL 2. INTRODUCERE N LIMBAJUL LaTeX
____________________________________________________________________________
2.3 CADRE
LaTeX pune la dispoziie mai multe tipuri de cadre (n englez
environments), cu scopul delimitrii unor entiti, cum ar fi ecuaii, tabele,
figuri, iruri, liste sau, n general, paragrafe cu diverse caracteristici distincte de
ale textului ordinar.
Orice cadru ncepe i se sfrete n acelai mod:
\begin{environment_name}
text
\end{environment_name}
unde environment_name este numele cadrului, iar text este coninutul cadrului.
Numele cadrului poate fi unul din urmtoarele:
array (iruri i tabele cu simboluri matematice)
center (linii centrate)
description (liste etichetate)
enumerate (liste numerotate)
eqnarray (secvene de ecuaii aliniate)
equation (ecuaie)
figure (figuri)
flushleft (paragraf aliniat la stnga)
flushright (paragraf aliniat la dreapta)
itemize (list marcat cu bullets)
letter (scrisoare)
list (list generic)
minipage (pagin miniatural)
picture (figur cu text, sgei, 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, fr numerotare)
verbatim (lucrul n regim main de scris)
2.3. CADRE 33
____________________________________________________________________________
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}
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
____________________________________________________________________________
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. CADRE 39
____________________________________________________________________________
\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}
42 CAPITOLUL 2. INTRODUCERE N LIMBAJUL LaTeX
____________________________________________________________________________
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
____________________________________________________________________________
Textul precedent
Label
\labelwidth \itemindent
Elementul 1 \rightmargin
Paragraful 1
\leftmargin
\listparindent \parsep
Elementul 1
Paragraful 2
\itemsep + \parsep
Label
Elementul 2
Fig. 2.3 - Semnificaia parameterilor din cadrul list (a se vedea i subseciunea 2.4.2).
Comanda
\parbox
este similar cu cadrul minipage, are acelai argument opional pos i un
argument width. Este utilizat, n general, pentru un parbox cu un volum redus
de text, ce nu conine 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 poziionrii verticale se realizeaz cu comanda
\raisebox (subseciunea 2.8).
(2,2)
2
(-2.1,1)
1
originea
x
-2.1 2
unitate de
lungime
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 51
____________________________________________________________________________
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}
2.3. CADRE 53
____________________________________________________________________________
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."
54 CAPITOLUL 2. INTRODUCERE N LIMBAJUL LaTeX
____________________________________________________________________________
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}
Comanda
\cline{i-j}
subliniaz elementele tabelului, ncepnd de la coloana i pn 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 spaiu ntre
linii; delimitrile generate de caracterul |, din argumentul cols, nu apar n acest
spaiu.
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 61
____________________________________________________________________________
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}
\begin{thebibliography}{widest_label}
\bibitem[label]{cite_key}
.
.
\end{thebibliography}
Cadrul thebibliography permite crearea manual a unei liste de
referine bibliografice. n clasa article, lista de referine este intitulat
References, iar n clasa report, Bibliography. Parametrul widest_label
specific un text care, tiprit, este aproximativ tot att de lat ct elementul de
lime maxim, generat de comenzile \bibitem.
Comanda
\bibitem[label]{cite_key}
genereaz o nregistrare cu eticheta label. Dac argumentul label lipsete, se
genereaz un numr cu rolul etichetei, utiliznd contorul enumi (subseciunea
2.4.1). Parametrul cite_key este orice secven de litere, numere sau semne de
punctuaie diferite de virgul ,. Aceast comand scrie, n fiierul cu extensia
.aux, o nregistrare coninnd cite_key i eticheta label a elementului. Cnd
acest fiier *.aux este citit, la comanda \begin{document}, eticheta
elementului este asociat cu cite_key, astfel nct, prin comanda \cite,
referina respectiv genereaz eticheta label asociat.
Comanda
\cite[text]{key_list}
genereaz citarea, n text, a referinelor asociate cu etichetele din lista key_list,
prin nregistrri din fiierul *.aux, citit la comanda \begin{document}.
Argumentul key_list este o list de etichete de citare. Argumentul opional text
va aprea 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 citri, n fiierul *.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}
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}
Exemplul urmtor arat cum se poate redacta textul din exemplul 2.42
n limba romn, prin redefinirea numelor seciunilor (conform subseciunii
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}
unde style se refer la fiierul style.bst, care definete felul cum vor arta
citatele. Stilurile standard, distribuite de BibTeX ,sunt urmtoarele:
alpha sortare n ordine alfabetic, cu etichete constituite din numele
autorului i anul apariiei publicaiei;
plain sortare n ordine alfabetic, cu etichete numerice;
unsrt similar cu plain, dar elementele apar n ordinea citrii, fr
sortare;
abbrv - similar cu plain, dar etichetele sunt mult mai compacte.
n plus, pot fi activate numeroase alte fiiere style pentru BibTeX,
conform cerinelor diverselor edituri i conform layout-urilor specifice pentru
diverse reviste.
Argumentul comenzii \bibliography se refer la fiierul
bibfile.bib, care ar trebui s conin baza Dvs. de date, n format BibTeX.
Detalii privind organizarea bazei de date se gsesc n [Lamport 1994] i n
fiierul btxdoc.dvi, ce nsoete documentaia MiKTeX (disponibil la
adresa www.stat.uiowa.edu/resources/help/win95/latex.html) care conine i
lucrarea BibTeXing, scris de Oren Patashnik [Patashnik 1988]. Cteva
elemente din aceast lucrare sunt prezentate, succint, n Anexa B.
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.4.1 Contori
Pentru numerotare, n LaTeX se asociaz, n mod automat, un contor.
Numele contorului este acelai cu numele cadrului sau al comenzii care
genereaz numrul (cu excepia celor fr \). n continuare, este prezentat lista
contorilor utilizai, pentru controlul numerotrii, n categoriile standard de
documente LaTeX.
\newcounter{newctr}[within]
Definete un nou contor, cu numele newctr, iniializat la zero, cu
valoarea numeric (returant de \thenewctr) afiat n stilul definit
prin \arabic{newctr}. Este o declaraie global i nu poate fi
folosit ntr-un fiier inclus, declarat cu comanda \include. Se
utilizeaz doar n preambul (a se vedea i subseciunea 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 cte ori
contorul within este incrementat prin comenzile
\stepcounter sau \refstepcounter.
\refstepcounter{ctr}
\stepcounter{ctr}
Comenzile incrementeaz valoarea contorului ctr cu unu, resetnd
valoarea oricrui 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 \thectr.
\setcounter{ctr}{num}
Seteaz valoarea contorului ctr la num. Este o declaraie global.
\value{ctr}
Genereaz valoarea contorului ctr, care poate fi astfel folosit ntr-o
expresie. Este utilizat, cu precdere, n argumentul num al comenzilor
72 CAPITOLUL 2. INTRODUCERE N LIMBAJUL LaTeX
____________________________________________________________________________
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}
Urmtoarele comenzi tipresc valoarea contorului ctr, n formatul
indicat:
\alph{ctr} Litere latine mici (valoarea lui ctr trebuie s fie mai mic dect
27).
\Alph{ctr} Litere latine mari (valoarea lui ctr trebuie s fie mai mic dect
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 dect 10.
2.4. VARIABILE INTERNE LaTeX 73
____________________________________________________________________________
1 in
\topmargin
1 in Header \headheight
\oddsidemargin sau
\headsep
\evensidemargin
\textwidth
\marginparwidth
N ota
m arginala
\textheight
\pageheight
\footskip
\footheight Footer
\pagewidth
Fig. 2.5 - Parametrii de stil ai paginii; la paginile pare, notele marginale sunt n stnga corpului
textului.
\markright{right_head}
\markboth{left_head}{right_head} Aceste comenzi specific urmtoarea
informaie coninut n header, pentru stilurile de pagin headings i
myheadings:
pentru pagina din stnga, header-ul este definit de argumentul
left_head al ultimei comenzi \markboth, ce apare nainte de
sfritul 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
____________________________________________________________________________
2.4. VARIABILE INTERNE LaTeX 81
____________________________________________________________________________
2.5 MACRODEFINIII
De regul, compilatoarele lucreaz cu macrodefiniii numite, pe scurt,
macrouri. Un macrou reprezint, n esen, o secven de comenzi ce va fi
nlocuit, n timpul procesrii, cu definiia macroului respectiv. Din acest punct
de vedere, LaTeX poate fi considerat un pachet de macrouri.
Definiia unui macrou poate consta dintr-un text obinuit mpreun,
eventual, cu alte macrouri i/sau primitive TeX. Primitivele TeX sunt secvene
de control, recunoscute de TeX i care nu pot fi nlocuite cu alte comenzi.
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}
Observaie. 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 ntlnirea
ei, primul caracter $ determin TeX s ias din modul matematic i s ncerce
s execute \Gamma n modul paragraf. Dac \newcommand definete o
comand ce refer un obiect matematic (funcie, expresie, formul etc.) i care
va trebui repetat i n modul matematic, atunci, n argumentul def, se folosete
comanda
\ensuremath{expresie}
care asigur faptul c argumentul expresie (reprezintnd un ir de caractere i
comenzi ce descriu obiectul matematic n spe) este tiprit n modul
matematic, indiferent de modul curent (subseciunile 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. MACRODEFINIII 85
____________________________________________________________________________
Parantezele rotunde, ( i ), din argumentul def, nu delimiteaz efectul
unei declaraii. Pentru a limita cmpul de aciune al unei declaraii, coninute n
argumentul def, trebuie adugate, n definiia comenzii, paranteze suplimentare,
de tip acolad { i }. Altfel, aciunea 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
____________________________________________________________________________
opt Dac acest argument este prezent, atunci primul din cele arg argumente
ale cadrului este opional i are valoarea implicit opt. Dac acest
argument lipsete, atunci toate argumentele cadrului sunt obligatorii.
begdef Reprezint textul folosit, n fiierul surs, pentru a nlocui
instruciunea \begin{num}; un parametru de forma #n n begdef este
nlocuit cu textul corespunztor argumentului cu numrul n al comenzii
\begin{num}, n momentul n care are loc aceast substituire.
enddef Reprezint textul folosit, n fiierul surs, pentru a nlocui
instruciunea \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}
Observaie. Argumentele begdef i enddef pot conine 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 rndul 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
____________________________________________________________________________
Prezena argumentului opional final al comenzii \newtheorem
determin numerotarea cadrului, n interiorul unitii secionale 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. MACRODEFINIII 91
____________________________________________________________________________
\whiledo{test}{body}
Proceseaz n mod repetat argumentul body, pn ce argumentul logic
test devine fals, unde test este descris la fel ca n cazul instruciunii
\ifthenelse. Nu execut nimic dac, iniial, 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.6.1 Fonturi
Stilul de tiprire al unui text, setat prin alegerea tipului i mrimii
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
____________________________________________________________________________
Observaie. Nici una din aceste comenzi nu poate fi folosit n modul matematic.
Toate sunt comenzi fragile.
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 declaraii pot fi combinate cu declaraiile 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}
\linebreak[num]
\nolinebreak[num]
Comenzile \linebreak i \nolinebreak foreaz i, respectiv,
inhib trecerea la un rnd nou. Parametrul opional num este un numr
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 rndul nou. Dac
num este absent, atunci comenzile acioneaz, respectiv, ca n cazul
num = 4, adic trecerea la rndul nou este forat, respectiv interzis.
Un mesaj \hbox underfull avertizeaz c o comand \linebreak
genereaz spaii prea mari ntre cuvinte pe un rnd. Ambele comenzi
sunt fragile i pot fi folosite doar n modul paragraf.
\\[len]
\\*[len]
\newline
Efectul acestor comenzi este trecerea la un rnd nou, fr a se lsa
margini egale la stnga i la dreapta rndului curent (i.e. rndul curent
nu este justified). Argumentul opional al comenzii \\ adaug,
deasupra noului rnd, un spaiu vertical suplimentar de dimensiune len.
Forma cu * a comenzii \\ inhib trecerea la o pagin nou, nainte
de noul rnd. Comanda \newline poate fi folosit doar n modul
paragraf, ntr-un paragraf; ea genereaz un mesaj de avertizare \hbox
underfull, dac este utilizat la sfritul unui paragraf i, respectiv, un
mesaj de eroare, dac este utilizat ntre paragrafe. Comanda \\ se
comport n mod similar, cnd este utilizat n modul paragraf. Ambele
comenzi sunt fragile.
100 CAPITOLUL 2. INTRODUCERE N LIMBAJUL LaTeX
____________________________________________________________________________
\|-
Aceast comand permite desprirea n silabe: se trece la rndul
urmtor i se insereaz liniua de desprire la finele rndului curent.
Este o comand robust.
\hyphenation{cuvinte}
Sunt declarate permise puncte de desprire, unde cuvinte este o list de
cuvinte, separate prin spaii, iar fiecare punct de desprire, n lista
cuvinte, este marcat prin caracterul -. Este o declaraie global i
robust.
\sloppy
\fussy
Aceste declaraii controleaz trecerea la un rnd nou. Declaraia
\fussy este implicit i gestioneaz rndul, astfel nct previne spaii
prea mari ntre cuvinte. Declaraia \sloppy face ca LaTeX s nu fie
att de rigid cu spaierea cuvintelor. \sloppy are acelai efect ca
secvena de instruciuni
\begin{sloppypar} pare \end{sloppypar},
ce definete cadrul sloppypar. Argumentul pare reprezint mai
multe paragrafe pentru care este activ declaraia \sloppy.
Trecerea, de la un paragraf la altul, se face lsnd un rnd liber n text
sau la comanda \par.
\pagebreak[num]
\nopagebreak[num]
Comenzile \pagebreak i \nopagebreak foreaz i, respectiv,
inhib trecerea la o nou pagin, n stilul onecolumn. Parametrul
opional num este un numr 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
acioneaz, respectiv, ca n cazul num = 4, adic trecerea la pagina nou
este forat, respectiv interzis. Dac sunt utilizate ntr-un paragraf,
aceste comenzi se aplic punctului imediat urmtor liniei pe care au fost
apelate. Dac este activ declaraia \flushbottom (subseciunea
2.6. MODUL PARAGRAF 101
____________________________________________________________________________
2.6.4 Spaii
Unele spaii, necesare la scrierea unui text, sunt predefinite i reprezint
parametri de stil (a se vedea i subseciunea 2.4.2). n continuare, sunt descrise
comenzile ce permit modificarea spaiilor, msurate pe vertical i pe
orizontal, din structura unei pagini.
\hspace{len}
\hspace*{len}
Aceste comenzi au ca efect generarea unui spaiu, pe orizontal, de
lime len; parametrul len este o lungime exprimat ntr-o form
acceptat n LaTeX (subsubseciunea 2.4.2). Spaiul generat de
\hspace este suprimat, dac apare n punctul de trecere la un rnd
nou; n acelai caz, spaiul generat de \hspace* nu este suprimat.
Ambele comenzi sunt robuste.
\vspace{len}
\vspace*{len}
Adaug un spaiu, pe vertical, de nlime len; parametrul len este o
lungime exprimat ntr-o form acceptat n LaTeX (subsubseciunea
2.4.2). Spaiul generat de \vpace este suprimat, dac apare n punctul
de trecere la o pagin nou; n acelai caz, spaiul 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 urmtoarele 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 spaii, pot fi folosite n definiii de
cadre, pentru a asigura spaii verticale standard. Sunt comenzi fragile.
\addvspace{len}
n mod normal, aceast comand adaug un spaiu, pe vertical, de
nlime len. Cu toate acestea, dac n punctul respectiv a fost adugat,
2.6. MODUL PARAGRAF 103
____________________________________________________________________________
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}
106 CAPITOLUL 2. INTRODUCERE N LIMBAJUL LaTeX
____________________________________________________________________________
$ formula $
\(formula)\)
\begin{math} formula \end{math}
Aceste trei forme echivalente permit generarea unei formule aezate
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 rnd
separat, prin editarea argumentului formula n stilul display. Pot fi
utilizate doar n modul paragraf (seciunea 2.6). Formula apare centrat
pe rnd, cu excepia cazului n care opiunea comenzii
\documentclass este fleqn (subsubseciunea 2.2.5.1). Formula
este nenumerotat
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}
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
____________________________________________________________________________
1
Nu sunt listate comenzile \lhd, \rhhd, \unlhd i \unlhd disponibile n pachetul latexsym.
110 CAPITOLUL 2. INTRODUCERE N LIMBAJUL LaTeX
____________________________________________________________________________
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
____________________________________________________________________________
Simbolurile din tabelul 2.11 au fost generate n stilul text. Cnd sunt
generate n cadrul equation sau displaymath, ele apar mrite.
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
____________________________________________________________________________
n cazul n care simbolul de negare / nu apare exact n locul dorit, se utilizeaz
comenzile de spaiere, descrise n subseciunea 2.7.6.
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 rnd dedicat.
Observaie. TeX poate fi forat s afieze alt mrime dect 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
____________________________________________________________________________
Tablouri matriceale
Tablourile matriceale se pot scrie folosind cadrul array, descris n
subseciunea 2.3.1 i n subsubseciunea 2.3.19.2. Reamintim c sintaxa
corespunztoare este urmtoarea :
\begin{array}[pos]{cols} linii \end{array}
TeX asociaz, fiecrei formule, cte o linie de centru, pe care va fi
plasat, dac este cazul, semnul + sau -. Un tablou generat de cadrul array
este, el nsui, o formul cu o linie de centru. Elementele unei linii a tabloului
114 CAPITOLUL 2. INTRODUCERE N LIMBAJUL LaTeX
____________________________________________________________________________
sunt poziionate vertical, astfel nct liniile lor de centru s fie, toate, la aceeai
nlime. n mod normal, linia de centru a unui tablou matriceal este situat la
jumtatea distanei dintre linia superioar i, respectiv, cea inferioar. Poziia
liniei de centru poate fi adus la nivelul liniei superioare sau inferioare a
tabloului, cu valorile t (top) i, respectiv b (bottom), ale argumentului opional
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 stnga, prin delimitatori de tip bar vertical. Acest tip i ali delimitatori,
frecvent utilizai n formulele matematice, sunt prezentai n tabelul 2.13.
Comenzile din tabelul 2.13 genereaz delimitatori de mrimea indicat,
corespunztoare mrimii implicite a fontului utilizat (aici 10 pt). Pentru a ajusta
mrimea delimitatorilor la mrimea 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.
Dei \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 funcii cu acolad.
2.7. MODUL MATEMATIC 115
____________________________________________________________________________
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 tipri pe mai multe linii (sau rnduri), folosind
cadrele eqnarray i eqnarray* (subsubseciunea 2.3.5). Fiecare rnd
conine o subformul. Dac se folosete cadrul eqnarray, atunci fiecare rnd
ce conine cte o subformul n parte este numerotat. Pentru a evita acest
lucru, la sfritul fiecrei linii, cu excepia 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 tiprit 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 tiprit la o mic distan de termenul
5
Pot fi folosite, drept delimitatori, i o parte din simbolurile de tip sgeat 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
____________________________________________________________________________
Accente
Comenzile pentru tiprirea accentelor, descrise n subseciunea 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
Simboluri suprapuse
Comanda
\stackrel{top}{bot}
118 CAPITOLUL 2. INTRODUCERE N LIMBAJUL LaTeX
____________________________________________________________________________
2.7.6 Spaieri
Urmtoarele comenzile genereaz spaii orizontale n modul matematic:
\, genereaz un spaiu ngust spre dreapta;
\! genereaz un spaiu ngust negativ (i.e. la stnga);
\: genereaz un spaiu mediu spre dreapta;
\; genereaz un spaiu lat spre dreapta;
\ genereaz un spaiu 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
____________________________________________________________________________
Observaie. Presupunem c lucrm n modul paragraf i c este necesar s editm 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 aprea cu caractere bold (dac \mbox lipsete,
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 spaii ntre
ele. ns, spre deosebire de modul paragraf, n modul LR TeX genereaz un
text de la stnga la dreapta, fr a se ncepe un rnd nou i fr a se verifica
ncadrarea n spaiul disponibil, astfel nct exist riscul ca un text, astfel
procesat, s ias din pagin.
Textul procesat n modul LR este introdus ntr-un box, iar la ieirea din
acest mod box-ul este aezat n pagin. Esenial este faptul c textul din box nu
este secionat pe mai multe rnduri.
n continuare sunt descrise comenzile care permit culegerea unui text n
modul LR, crendu-se box-uri. Ele pot fi folosite n orice mod.
\mbox{text}
\makebox[lat][pos]{text}
Aceste comenzi tipresc argumentul text n modul LR, plasndu-l
ntr-un box; n cazul comenzii \makebox, argumentul opional lat
2.8. MODUL LR 121
____________________________________________________________________________
\fbox{text}
\framebox[lat][pos]{text}
Aceste dou comenzi sunt similare cu \mbox i respectiv \makebox,
cu excepia faptului c se genereaz i un cadru dreptunghiular, n jurul
box-ului ce conine 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 tipreasc, l introduc ntr-un buffer, generat
deja la comanda \newsavebox. n cadrul lrbox, text este salvat fr
spaiile de la nceput i de la sfrit.
\usebox{\cda}
Tiprete 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 tiprirea argumentului text n
modul LR; text este ridicat n box cu distana specificat de raise_len i
extins, deasupra i dedesubtul rndului, cu distanele specificate de
argumentele hght i respectiv dpth. Dac argumentul dpth sau ambele
argumente opionale 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 lime lat i nlime hght, ridicat
deasupra rndului la distana specificat de argumentul raise_len (sau
cobort, 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 (lime, nlime, adncime i respectiv
nlime+adncime ale) box-ului obinut prin tiprirea argumentului
text.
Stilul este controlat de urmtoarele comenzi:
\fboxrule precizeaz limea liniei trasate de \fbox i \framebox;
\fboxsep precizeaz spaiul dintre coninutul i marginile box-ului generat
cu\fbox i \framebox .
Comanda \mbox este folosit n exemplul 2.78 din finalul seciunii
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}
Observaie. Alte comenzi pentru crearea de box-uri au fost descrise n subseciunea
2.3.13.
LaTeX, sub form de memorator. Cea mai detaliat lucrare privind LaTeX
rmne, pn 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 lucrrile publicate n
limba romn, realizate n ntregime n LaTeX i care pun n eviden
avantajele deosebite ale procesrii textelor tiinifice n acest limbaj,
recomandm tratatul de calcul numeric matriceal de B. Dumitrescu, C. Popeea
i B. Jora [Dumitrescu 1998].