LaTeX (carte)/Structura unui document

De la Wikimanuale, o colecţie de manuale libere !
Salt la: navigare, căutare


Scopul principal al scrierii unui text este să transmită idei, informaţii, sau cunoştinţe cititorului. Acesta va înţelege mai bine textul dacă ideile sunt bine structurate, şi vor percepe această structură mult mai bine dacă forma tipografică reflectă structura logică şi semantică a conţinutului.

LaTeX este diferit de alte sisteme de redactare prin faptul că trebuie să-i transmiţi numai structura logică şi semantică a textului. Acesta derivă apoi forma tipografică a textului în funcţie de "regulile" date de fişierul ce conţine setările pentru clasa documentului şi de diverse fişiere de stiluri. LaTeX permite utilizatorilor să-şi structureze documentele cu o serie de structuri ierarhice, printre acestea numărându-se capitole, secţiuni, subsecţiuni şi paragrafe.

Mediul document[modificare]

După declaraţia clasei documentului, textul documentului este cuprins între două comenzi ce identifică începutul şi sfârşitul documentului efectiv:

\documentclass[11pt,a4paper,oneside]{report} \begin{document} ... \end{document}

Textul efectiv al documentului ar fi în locul punctelor. Motivul pentru marcarea explicită a începutului documentului este ca LaTeX să permită inserarea unor specificaţii suplimentare de formatare înaintea acestuia (acolo unde este linia goală în exemplul dinainte: o să ne ocupăm de asta în curând). Motivul pentru marcarea explicită a sfârşitului textului este pentru a oferi un loc în care LaTeX să fie programat să îndeplinească sarcini adiţionale în mod automat la sfârşitul documentului, cum ar fi realizarea unui index.

Un efect secundar util al marcării sfârşitului textului din document este faptul că puteţi scrie comentarii sau păstra ceva text temporar după \end{document}, ştiind că LaTeX nu va încerca niciodată să-l formateze:

... \end{document} Nu uita să iei ultimul capitol de la Dorando!

Preambul[modificare]

Preambulul (preamble) este tot ce intră de la începutul fişierului sursă LaTeX şi până la comanda \begin{document}. În mod normal conţine comenzi ce afectează întregul document.

% simplu.tex - Un articol simplu pentru a ilustra structura documentului. \documentclass{article} \usepackage{mathptmx} \begin{document}

Prima linie este un comentariu (după cum se specifică prin semnul %). Comanda \documentclass ia un argument, care în cazul de faţă este article (articol), întrucât acesta este tipul documentul pe care vrem să-l realizăm. Puteţi să creaţi propriul tip de document, după cum fac deseori jurnaliştii, care oferă pur şi simplu propriul fişier cu setările pentru clasa documentului, ce spune sistemului LaTeX cum să formateze conţinutul. Însă pe moment clasa standard pentru articole (article) este de ajuns pentru noi. \usepackage este o comandă importantă ce spune sistemului LaTeX să utilizeze nişte macrodefiniţii externe. În exemplul nostru, am specificat mathptmx, ceea ce înseamnă că LaTeX va folosi fontul Postscript Times de tipul 1 în locul fontului implicit ComputerModern. Şi în sfârşit, comanda \begin{document}. Aceasta nu face parte în mod strict din preambul, însă o voi menţiona aici oricum, de vreme ce semnifică sfârşitul preambulului, spunând că documentul începe acum.

La început de document[modificare]

La începutul celor mai multe documente se găsesc informaţii despre documentul propriu-zis, cum sunt titlul şi data, ca şi informaţii despre autori, precum numele, adresa, adresa de email, etc. Toate aceste tipuri de informaţii din LaTeX sunt denumite colectiv top matter (ce se găseşte la început de document). Deşi nu este specificat în mod explicit (nu există nicio comandă \topmatter), veţi întâlni probabil termenul în documentaţia LaTeX.

Un exemplu simplu:

\documentclass[11pt,a4paper,oneside]{report} \begin{document} \title{Cum structuraţi un document LaTeX} \author{Andrew Roberts} \date{December 2004} \maketitle \end{document}

Comenzile \title, \author şi \date nu au nevoie de explicaţii suplimentare. Scrieţi titlul, numele autorului şi data între acolade după comanda corespunzătoare. Titlul şi autorul sunt de obicei obligatorii (cel puţin dacă vreţi ca LaTeX să scrie titlul automat); dacă omiteţi comanda \date, LaTeX foloseşte implicit data curentă. Întotdeauna terminaţi partea de la începutul documentului cu comanda \maketitle, care transmite sistemului LaTeX că aceasta s-a încheiat şi că poate să formateze titlul în concordanţă cu informaţiile oferite şi cu clasa (stilul) utilizat. Dacă omiteţi comanda \maketitle, nu va fi afişat niciun titlu (în afară de cazul în care scrieţi unul explicit la începutul documentului).

Iată un exemplu mai complicat:

\title{Cum structuraţi un document \LaTeX{}} \author{Andrew Roberts\\ School of Computing,\\ University of Leeds,\\ Leeds,\\ United Kingdom,\\ LS2 1HE\\ \texttt{andyr@comp.leeds.ac.uk}} \date{\today} \maketitle

După cum vedeţi, puteţi folosi comenzi ca argumente ale comenzii \title şi ale altor comenzi. Backslash dublu (\\) este comanda LaTeX pentru a forţa trecerea la o linie nouă. LaTeX decide în mod normal singur unde să treacă la o linie nouă, şi în general are dreptate, însă câteodată aveţi nevoie de o linie mai scurtă, ca aici, şi atunci trebuie să adăugaţi un sfârşit de linie (\\).

Dacă sunt doi sau mai mulţi autori, puteţi să-i separaţi cu comanda \and:

\title{Documentul nostru nostim} \author{Jane Doe \and John Doe} \date{\today} \maketitle

\maketitle este singurul element care trebuie să fie situat după comanda \begin{document}, celelalte pot fi situate în preambul sau în corpul documentului (după \begin{document}). Dacă aveţi o clasă de la o firmă de publicaţii, sau dacă folosiţi clasa article a AMS (amsart), atunci puteţi folosi mai multe comenzi diferite pentru a introduce informaţiile legate de autori. Adresa de email este la sfârşit, iar comanda \texttt formatează adresa de email folosind un font mono-spaţiat. Comanda implementată în LaTeX \today va fi înlocuită cu data curentă la procesare, însă puteţi să specificaţi ce dată vreţi, în ce format doriţi. Dacă nu specificaţi nicio dată între acolade, atunci data va fi omisă.

Folosind această abordare, puteţi crea numai un output simplu, al cărui aspect este foarte greu de schimbat. Dacă vreţi să creaţi un titlu cu mai multe facilităţi, consultaţi secţiunea Crearea unui titlu.

Rezumat[modificare]

Deoarece cele mai multe lucrări ştiinţifice au un rezumat la început, există comenzi predefinite ce spun sistemlui LaTeX care parte a conţinutului constituie rezumatul. Aceasta ar trebui să apară în ordinea logică a documentului, prin urmare, după partea de la începutul documentului (top matter) cu data şi autorii, însă înainte de secţiunile principale ale corpului documentului. Această comandă este disponibilă pentru clasele de documente articol (article) şi raport (report), însă nu şi pentru carte (book).

\documentclass{article} \begin{document} \begin{abstract} Rezumat ... ... \end{abstract} ... \end{document}

Implicit, LaTeX va folosi cuvântul "Abstract" ca titlu pentru rezumat. Dacă vreţi să-l schimbaţi, spre exemplu în "Rezumat", adăugaţi linia următoare la preambul:

\renewcommand{\abstractname}{Rezumat}

Comenzi de împărţire pe secţiuni[modificare]

Comenzile pentru inserarea secţiunilor sunt foarte intuitive. Desigur, anumite comenzi sunt corespunzătoare numai pentru anumite clase de documente. Spre exemplu, o carte are capitole, însă un articol nu are. Iată o versiune modificată a câtorva comenzi de structurare utilizate în simplu.tex.

\section{Introducere} Conţinutul secţiunii curente... \section{Structură} Conţinutul secţiunii prezente... \subsection{Începutul documentului} Conţinutul acestei subsecţiuni... \subsubsection{Informaţii despre articole} Conţinutul subsubsecţiunii de faţă...

După cum puteţi vedea, comenzile sunt foarte intuitive. Observaţi că nu trebuie să specificaţi numere pentru secţiuni. LaTeX le va numerota singur! De asemenea, pentru secţiuni, nu trebuie să marcaţi conţinutul ce aparţine unui bloc dat, cu ajutorul unor comenzi \begin şi \end, de exemplu. LaTeX oferă 7 niveluri de ierarhizare pentru definirea secţiunilor:

Comandă Nivel Comentariu
\part{parte} -1 nu în scrisori
\chapter{capitol} 0 numai pentru cărţi şi rapoarte
\section{secţiune} 1 nu în scrisori
\subsection{subsecţiune} 2 nu în scrisori
\subsubsection{subsubsecţiune} 3 nu în scrisori
\paragraph{paragraf} 4 nu în scrisori
\subparagraph{subparagraf} 5 nu în scrisori

Toate titlurile secţiunilor sunt adăugate automat cuprinsului (dacă vă hotărâţi să inseraţi un cuprins în document). Însă dacă faceţi schimbări manuale de stil antetului, spre exemplu un titlu foarte lung, sau caractere de sfârşit de linie speciale sau fonturi mai deosebite, acestea vor apare la rândul lor în Tabla de materii, lucru care cel mai probabil nu vreţi să se întâmple. LaTeX vă permite să daţi o versiune suplimentară opţională textului antetului, care va fi folosită numai în Cuprins şi în antetele din document. Această opţiune alternativă de antet se scrie în [paranteze drepte] înainte de acolade:

\section[Efectul tranferului de personal]{O analiză a efectului revizuirii politicilor de recrutare asupra tranferului de personal la sediile filialelor}

Numerotarea secţiunilor[modificare]

Numerotarea secţiunilor este făcută în mod automat de LaTeX, aşa că nu vă deranjaţi să realizaţi asta explicit, inseraţi numai antetul dorit între acolade. Părţile sunt numerotate cu cifre romane (Partea I, Partea II, etc.); capitolele şi secţiunile cu cifre arabe, ca documentul de faţă, iar anexele (care sunt doar un caz special de capitole şi au aceeaşi structură) sunt etichetate cu litere mari (A, B, C, etc.). Puteţi schimba nivelul de ierarhizare până la care merge numerotarea secţiunilor, astfel încât puteţi să o opriţi selectiv. Implicit se seteză la valoarea 2. Dacă doriţi ca numai părţile, capitolele şi secţiunile să fie numerotate, nu subsecţiunile sau subsubsecţiunile, etc., puteţi schimba valoarea contorului secnumdepth cu ajutorul comenzii \setcounter, dând un nivel de ierarhizare corespunzător din tabelul precedent. Spre exemplu, dacă vreţi să fie "1":

\setcounter{secnumdepth}{1}

Un contor corelat este tocdepth, care specifică nivelul de ierarhizare pe care îl ia Cuprinsul (Table of Contents - TOC). Poate fi resetat în exact acelaşi mod ca şi secnumdepth. Spre exemplu:

\setcounter{tocdepth}{3}

Pentru a obţine un antet de secţiune nenumerotat şi care nu intră în Cuprins, adăugaţi un asterisc după numele comenzii la începutul acoladei:

\subsection*{Introducere}

Toate comenzile de structurare de la \part* la \subparagraph* au această versiune "cu steluţă" ce poate fi folosită în condiţii speciale pentru a obţine un antet nenumerotat atunci când conform cu setarea secnumdepth ar fi numerotat.

Dacă vreţi ca secţiunea nenumerotată să fie totuşi inclusă în Cuprins, folosiţi comanda \addcontentsline în felul următor:

\section*{Introducere} \addcontentsline{toc}{section}{Introducere}

Notaţi că dacă folosiţi marcaje în document (bookmarks) pentru PDF, va trebui să adăugaţi o secţiune fantomă (phantom) astfel ca acel bookmark să indice corect locul din document:

\phantomsection \addcontentsline{toc}{section}{Introducere} \section*{Introduction}

Pentru capitole va trebui de asemenea să terminaţi pagina curentă (acest lucru va corecta şi numărătoarea paginilor în Cuprins):

\cleardoublepage \phantomsection \addcontentsline{toc}{chapter}{Bibliografie} \bibliographystyle{unsrt} % unsorted - nesortat \bibliography{fişierul_meu_bib}

Valoarea de la care porneşte numărătoarea secţiunilor poate fi setată cu următoarea comandă:

\setcounter{section}{4}

Secţiunea următoare acestei comenzi va fi numerotată cu 5.

Comanda \phantomsection este definită în pachetul hyperref. Ea permite hyperref să pună un hyper marker la pagina corectă (selectarea din Cuprins a Bibliografiei vă trimite la pagina corectă la care incepe Bibliografia în document).

Anexe[modificare]

LaTeX suportă şi numerotarea separată a anexelor. Macroul \appendix poate fi folosit pentru a indica faptul că secţiunile sau capitolele următoare vor fi numerotate ca anexe.

În clasele raport sau carte, acest lucru se scrie:

\appendix \chapter{Prima Anexă}

Pentru clasa articol, folosiţi:

\appendix \section{Prima Anexă}

Paragrafe[modificare]

Paragrafele de text vin după antetele secţiunilor. Pur şi simplu scrieţi textul şi lăsaţi o linie liberă între paragrafe. Linia liberă înseamnă "începe un paragraf nou aici": nu înseamnă că o linie liberă va fi scrisă în documentul rezultat. Pentru formatarea indentării paragrafelor şi spaţierea dintre paragrafe, vezi secţiunea Formatare.

Cuprins[modificare]

Toate antetele auto-numerotate sunt incluse automat în Cuprins. Nu trebuie să adăugaţi un Cuprins la document, dar dacă vreţi s-o faceţi, adăugaţi comanda \tableofcontents în locul în care vreţi să apară cuprinsul în documentul de ieşire (de obicei după Rezumat).

Intrările din Cuprins sunt reordonate la fiecare nouă procesare a documentului şi reproduse la procesarea următoare, astfel că trebuie să compilaţi fişierul LaTeX încă o dată pentru a fi siguri că toate referinţele la numerele de pagini din Cuprins au fost calculate corect. Am văzut deja cum putem folosi un argument opţional la comenzile de scriere a secţiunilor pentru a adăuga text la Cuprins care diferă puţin de cel afişat în corpul documentului. Se pot adăuga de asemenea linii suplimentare la Cuprins, pentru a forţa includerea antetelor secţiunilor suplimentare sau nenumerotate.

Comenzile \listoffigures şi \listoftables merg exact la fel ca \tableofcontents, listând automat toate tabelele şi figurile. Dacă le folosiţi, în mod normal le veţi scrie după comanda \tableofcontents. Comanda \tableofcontents afişează în mod normal numai antetele secţiunilor numerotate şi numai până la nivelul de ierarhizare definit de contorul tocdepth, însă puteţi adăuga intrări suplimentare cu comanda \addcontentsline. Spre exemplu, dacă folosiţi un antet de secţiune nenumerotată pentru a începe un text preliminar de genul unei Prefeţe sau Cuvânt înainte, puteţi scrie:

\subsection*{Prefaţă} \addcontentsline{toc}{subsection}{Prefaţă}

Aceste comenzi vor formata o intrare nenumerotată în Cuprins pentru "Prefaţă" în stilul "subsection". Puteţi folosi acelaşi mecanism pentru a adăuga linii la Lista de figuri sau la Lista de tabele, scriind lof sau lot în loc de toc.

Pentru a schimba numele Cuprinsului, trebuie să folosiţi această comandă în preambulul documentului:

\renewcommand{\contentsname}{Titlu nou pentru cuprins}

Denumirile listei de figuri List of Figures (LoF) şi listei de tabele List of Tables (LoT) pot fi schimbate înlocuind \contentsname cu \listfigurename pentru LoF şi cu \listtablename pentru LoT.

Niveluri de ierarhizare[modificare]

Cuprinsul implicit va lista antete până la nivelul de ierarhizare 3. Pentru a schimba acest nivel implicit folosiţi în preambul comanda:

\setcounter{tocdepth}{4}

Asta va face cuprinsul să includă tot până la paragrafe. Nivelurile sunt definite mai sus pe această pagină (într-un tabel).

Bibliografie[modificare]

Orice lucrare bună de cercetare are o listă de referinţe. Sunt două moduri prin care puteţi insera referinţe în LaTeX:

  • le puteţi include direct în document. E mai simplu, însă vă poate lua mult timp dacă scrieţi mai multe lucrări cu subiecte similare astfel încât trebuie să citaţi des aceleaşi cărţi.
  • le puteţi păstra într-un fişier BibTeX extern, iar apoi le puteţi lega la document printr-o comandă şi folosi stilul Bibtex pentru a le defini aspectul din document. În felul acesta puteţi crea o mică bază de date a referinţelor pe care le-aţi putea folosi şi pur şi simplu să le legaţi la document, lăsând sistemul LaTeX să lucreze pentru voi.

Pentru a afla cum puteţi adăuga o bibliografie documentului, consultaţi secţiunea Gestiunea bibliografiei.


Anterior: Elemente de bază LaTeX Următor: Erori şi avertismente