LaTeX (carte)/Pachete

De la Wikimanuale, o colecţie de manuale libere !


Pachetele oferă facilități suplimentare sistemului LaTeX de bază. Zeci de astfel de pachete sunt instalate odată cu LaTeX și pot fi folosite imediat ce sunt incluse în documente. Ele ar trebui să fie situate pe disc în subdirectoare ale texmf/tex/latex denumite în funcție de numele pachetului. Pentru a afla ce alte pachete sunt disponibile și ce facilități oferă, accesați pagina de căutare CTAN, care include un link către catalogul cuprinzător de pachete al lui Graham Williams.

Un pachet este un fișier sau o colecție de fișiere ce conțin comenzi LaTeX suplimentare și opțiuni de configurare care activează noi facilități sau le modifică pe cele existente. Fișierele ce conțin pachete instalate au terminația .sty (pot fi și fișiere auxiliare). Când încercați să scrieți un document ce necesită un pachet care nu este instalat deja, LaTeX vă va avertiza cu un mesaj de eroare că acesta lipsește. Puteți atunci să faceți download la pachet și să-l instalați urmând instrucțiunile din secțiunea Instalarea de pachete adiționale. Puteți de asemenea să luați de pe net versiuni mai noi ale pachetelor (atât pentru pachetele instalate odată cu LaTeX, cât și pentru cele pe care le-ați adăugat mai târziu). Nu există o limită pentru numărul de pachete pe care le puteți instala pe calculator (în afara de limitele fizice ale capacității discului!), însă există probabil o limită pentru numărul de pachete incluse într-un document, deși acest lucru depinde de mărimea pachetelor. În practică, se întâmplă să includeți uneori zeci de pachete într-un singur document.

Utilizarea unui pachet existent[modificare]

Pentru a folosi un pachet de instalat, inserați o comandă \usepackage în preambulul documentului cu numele pachetului între acolade:

\usepackage{nume_pachet}

Spre exemplu, pentru a utiliza pachetul color, care vă permite să folosiți culori existente și să definiți unele noi, scrieți ceva de genul:

\documentclass[11pt,a4paper,oneside]{report}

\usepackage{color}

\begin{document}
...
\end{document}

Puteți include mai multe pachete cu o singură comandă \usepackage, separând numele pachetelor cu virgule:

\usepackage{pachetul1,pachetul2,pachetul3}

Puteți de asemenea să aveți mai multe comenzi \usepackage într-un singur fișier. Unele pachete permit utilizarea de setări opționale, menționate între paranteze drepte. Dacă folosiți astfel de opțiuni, trebuie ca la includerea unui pachet să folosiți o comandă separată \usepackage, ca în exemplul de mai jos pentru pachetele geometry și inputenc:

\documentclass[11pt,a4paper,oneside]{report}

\usepackage{pslatex,palatino,avant,graphicx,color}
\usepackage[margin=2cm]{geometry}
\usepackage[utf8x]{inputenc}

\begin{document}
 \title{\color{red}Lecții practice de redactare în LaTeX}
 \author{\color{blue}Peter Flynn\\ Silmaril Consultants}
 \date{\color{green}Ianuarie 2011}

 \maketitle

\end{document}

Multe pachete pot avea specificații adiționale de formatare accesibile prin intermediul unor argumente opționale, furnizate între paranteze drepte. Consultați documentația pachetului respectiv pentru a afla opțiunile existente. Puteți da mai multe opțiuni deodată, separate prin virgule:

\usepackage[opțiunea1,opțiunea2,opțiunea3]{''denumire_pachet''}

Documentația pachetelor[modificare]

Pentru a afla ce comenzi oferă un pachet (și astfel cum să-l folosiți), trebuie să citiți documentația. În subdirectorul texmf/doc din directorul de instalare LaTeX se găsesc directoare pline de fișiere .dvi sau .pdf, câte unul pentru fiecare pachet instalat. Acest loc depinde de distribuția sistemului LaTeX, însă se găsește în mod tipic în:

Distribuție Cale
MiKTeX C:\Program Files\MiKTeX 2.7\doc\latex
teTeX /usr/share/texmf-tetex/doc/latex
texlive /usr/share/texmf-texlive/doc/latex

În general, cele mai multe pachete sunt în subdirectorul latex, deși alte pachete (cum sunt BibTeX și pachetele pentru fonturi) se găsesc în alte subdirectoare din doc. Directoarele cu documentația au același nume cu pachetul (spre exemplu, amsmath), care includ în general unul sau mai multe documente relevante într-o serie de formate (dvi, txt, pdf, etc.). Documentele au în general același nume ca pachetul, însă sunt unele excepții (spre exemplu, documentația pentru amsmath poate fi în fișierul latex/amsmath/amsdoc.dvi pentru unele distribuții). Dacă nu ați instalat și documentația odată cu sistemul LaTeX, puteți lua fișierele DVI sau PDF respective de pe site-ul CTAN. Înainte de a utiliza un pachet, ar fi bine să citiți cu atenție documentația, mai ales subsecțiunea intitulată de obicei "User Interface" (Interfața cu utilizatorul), care descrie comenzile puse la dispoziția de acel pachet. Nu puteți să ghiciți pur și simplu și să sperați că va merge: trebuie să vă convingeți că este așa.

Instalarea de pachete adiționale[modificare]

Cele mai multe distribuții LaTeX au o serie de pachete de stiluri pre-instalate, însă puteți găsi multe altele pe net. Cel mai bun loc să căutați pachete pentru stiluri pe Internet este CTAN (http://www.ctan.org/). Îndată ce ați identificat un pachet de care aveți nevoie și pe care nu-l aveți deja (sau îl aveți, dar vă trebuie o versiune mai nouă), folosiți indexurile de pe orice server CTAN pentru a găsi pachetul necesar și directorul de unde puteți să-l luați.

Dacă sunteți pe un sistem Linux (cum este Debian), puteți instala pachetele prin intermediul unui manager de pachete (de genul Synaptic).

Descărcarea de pachete[modificare]

Trebuie să luați întotdeauna două fișiere, unul cu extensia .dtx și celălalt cu extensia .ins. Primul este un fișier DOCTeX, care combină programul pentru pachet și documentația acestuia într-un singur fișier. Al doilea este scriptul de instalare (mult mai mic). Trebuie să faceți download întotdeauna la ambele fișiere. Dacă cele două fișiere nu sunt acolo, poate să însemne unul din următoarele două lucruri:

  • Fie pachetul face parte dintr-un grup mult mai mare, pe care în mod normal nu ar trebui să-l aduceți la zi decât dacă schimbați versiunea de LaTeX;
  • fie este unul din puținele și neobișnuitele pachete care încă mai sunt furnizate sub forma unui singur fișier .sty menit pentru versiunea de acum învechită de LaTeX 2.09.

Descărcați ambele fișiere într-un director temporar. Deseori veți găsi un fișier readme.txt cu o scurtă descriere a pachetului. Evident, ar fi bine să citiți mai întâi acest fișier.

Instalarea unui pachet[modificare]

Trebuie să urmați patru pași pentru a instala un pachet în LaTeX:

1. Extrageți fișierele. Rulați comanda de compilare LaTeX pentru fișierul .ins. Asta înseamnă să deschideți fișierul în editorul de texte folosit pentru LaTeX și să-l procesați ca pe orice alt document LaTeX (ceea ce și este), sau, dacă preferați, să rulați în terminal în directorul temporar comanda latex urmată de numele fișierului cu extensia .ins. Asta va extrage toate fișierele necesare din fișierul .dtx (de aceea trebuie să fie amândouă în directorul temporar). Notați undeva denumirile fișierelor create dacă sunt foarte multe (citiți fișierul jurnal generat (log file) dacă vreți să revedeți numele acestora).

2. Creați documentația. Rulați comanda de compilare LaTeX pentru fișierul .dtx. S-ar putea să fie necesar să rulați comanda latex de două sau mai multe ori, pentru a rezolva referințele (la fel ca în cazul oricărui alt document LaTeX). În felul acesta veți obține un fișier .dvi de documentație, care explică la ce folosește pachetul și cum îl puteți utiliza. Dacă vreți să creați un PDF, rulați comanda pdflatex. Dacă ați obținut un fișier .idx, asta înseamnă că documentul conține și un index. Dacă vreți să generați indexul în mod corespunzător, urmați pașii descriși în capitolul Indexare. Câteodată va fi creat un fișier .glo (glosar). Rulați atunci comanda următoare:

makeindex -s gglo.ist -o name.gls name.glo

3. Instalați fișierele. Pe măsură ce listați documentația, mutați sau copiați fișierele create la pasul 1 din directorul temporar în locul sau locurile potrivite din structura de directoare unde este instalat sistemul TeX pe calculator — întotdeauna ierarhia 'locală' de directoare, a) pentru a împiedica noul pachet să suprascrie accidental fișierele din directoarele TeX de bază; și b) ca să împiedicați suprascrierea fișierelor nou instalate când actualizați versiunea de TeX.

Expresia "locul potrivit" generează câteodată confuzie, mai ales dacă versiunea TeX pe care o aveți instalată este veche sau nu este în conformitate cu Structura de Directoare TeX (TeX Directory Structure sau TDS). Pentru un sistem conform cu TDS, acesta este fie a) pentru pachetele LaTeX, un subdirector cu nume corespunzător din texmf-local/tex/latex/ în /usr/share/ (sau texmf/tex/latex/ în /usr/local/share/); sau b) un subdirector cu nume corespunzător din texmf-local/ în /usr/share/ (sau texmf/ în /usr/local/share/) pentru fișiere de stil de genul BibTeX, care nu sunt doar pentru LaTeX, ci pentru orice sistem TeX. "Cu nume corespunzător" înseamnă o denumire descriptivă și semnificativă pentru pachet (și probabil scurtă). Pentru un pachet cu numele paralist, spre exemplu, aș denumi directorul paralist. Deseori aveți de mutat un singur fișier .sty, însă în cazul pachetelor complexe, pot fi mai multe, și s-ar putea să fie necesar să le mutați în locuri diferite. Spre exemplu, noile pachete BibTeX sau pentru fonturi vor avea în mod tipic mai multe fișiere de instalat. De aceea e bine să creați un subdirector pentru pachet în loc să puneți fișierele laolaltă în același director. Dacă aveți fișiere de configurare sau de alt tip, citiți documentația să vedeți dacă trebuie mutate într-un loc anume.

De exemplu, pentru MiKTeX 2.7 sau o versiune ulterioară (în Windows), directorul de instalare este în Program Files/MiKTeX 2.7 (numele exact al folderului variază cu versiunea MiKTeX instalată). Potrivit tabelului de mai jos, mutați fișierele în subdirectoarele corespunzătoare din structura de directoare a MiKTeX (creați directoare noi, dacă este cazul).

Unde mutați fișierele din pachete
Tip Director (în texmf-local/) Descriere
.cls tex/latex/base Fișier cu clasa de documente
.sty tex/latex/denumire_pachet Fișier de stil: conținutul normal al pachetului
.bst bibtex/bst/denumire_pachet Fișier de stil BibTeX
.mf fonts/source/public/denumire_font Descriere pentru fonturile METAFONT
.fd tex/latex/mfnfss Fișiere de definire pentru fonturile METAFONT
.fd tex/latex/psnfss Fișiere de definire pentru fonturile PostScript de tipul 1
.pfb /fonts/type1/grup_font/denumire_font Descriere pentru fonturile PostScript de tipul 1
.afm /fonts/afm/grup_font/denumire_font Dimensiuni pentru fonturile Adobe de tipul 1
.tfm /fonts/tfm/grup_font/denumire_font Dimensiuni TeX pentru fonturile METAFONT de tipul 1
.vf /fonts/vf/grup_font/denumire_font Fonturi virtuale TeX
.dvi /doc Documentația pachetului în format DVI
.pdf /doc Documentația pachetului în format PDF
altele tex/latex/denumire_pachet Alte tipuri de fișiere, dacă nu se precizează altfel

4. Actualizați indexul. La final, rulați programul TeX de indexare pentru a actualiza baza de date cu pachetele. Acest program face parte din orice versiune modernă de TeX, denumirea sa variind în funcție de distribuția LaTeX pe care o folosiți (citiți documentația LaTeX pentru a afla):

  • teTeX, TeX Live, fpTeX: texhash
  • web2c: mktexlsr
  • MiKTeX: initexmf --update-fndb (sau folosiți interfața grafică)
  • MiKTeX 2.7 sau versiuni mai noi, instalate pe Widows XP sau versiuni mai noi de Windows: Start -> All Programs -> MiKTeX -> Settings. În meniul Settings alegeți primul tab și dați clic pe butonul Refresh FNDB (MiKTeX va căuta în directorul Program Files și va actualiza lista cu denumirile de fișiere din baza de date — File Name DataBase). După aceea, verificați apăsând tasta 'OK'.
Ultimul pas este absolut esențial. Fără el nimic nu va merge.

Motivul pentru care acest proces nu a fost automatizat peste tot este că încă mai sunt mii de sisteme TeX în uz neconforme cu TDS, cum ar fi versiunile instalate pe sistemele UNIX partajate (fără MMU) și pe unele sisteme Microsoft Windows, astfel că nu este posibil pentru un program de instalare să ghicească unde să pună fișierele: trebuie să faceți lucrul acesta manual. Sunt și alte sisteme pe care administratorul, utilizatorul, sau cel care s-a ocupat de instalarea TeX a ales să nu respecte structura de directoare TDS recomandată, sau nu a putut face asta din motive de politică sau securitate (ca în cazul unui sistem partajat unde nu se poate scrie într-un director protejat). Motivul pentru directorul texmf-local (denumit texmf.local pe unele sisteme sau texmf dacă este situat în /usr/local/share/) este să ofere un loc pentru modificări locale sau actualizări personale, mai ales dacă sunteți un utilizator pe un sistem partajat sau gestionat de un administrator (Unix, Linux, VMS, Windows NT/2000/XP, etc.), unde nu aveți dreptul de a scrie în structura principală de directoare TeX. Puteți avea de asemenea un subdirector personal texmf în propriul director de logare. Versiunea TeX instalată trebuie configurată în așa fel încât să caute mai întâi în aceste directoare, astfel ca orice actualizări ale pachetelor standard să fie găsite acolo înaintea copiilor suprascrise din directorul texmf de bază. Toate versiunile TeX moderne ar trebui să aibă acest comportament implicit, dar dacă nu este așa, puteți edita manual fișierul de configurare texmf/web2c/texmf.cnf.

Pachete individuale[modificare]

Iată o listă (incompletă) de pachete utile pe care le puteți utiliza pentru tot felul de documente. Fiecare pachet are o scurtă descriere lângă el și, acolo unde se poate, un link către o secțiune care descrie acel pachet în detaliu. Toate (dacă nu se specifică altfel) trebuie incluse în distribuția LaTeX cu denumirea nume_pachet.sty. Pentru mai multe informații, vezi documentația pachetului respectiv, după cum se descrie în secțiunea precedentă. Lista este în ordine alfabetică.

amsmath Conține extensiile avansate de matematică pentru LaTeX. Documentația completă ar trebui să facă parte din distribuția LaTeX instalată; fișierul se cheamă amsdoc sau amsmath, și poate fi DVI sau PDF. Pentru mai multe informații, vezi capitolul despre Matematică.
amssymb Adaugă simboluri noi de folosit în modul matematic.
amsthm Introduce mediul proof și comanda theoremstyle. Pentru mai multe informații, vezi capitolul Teoreme.
array Extinde posibilitățile LaTeX de gestiune a tabelelor, rezolvând unele probleme și adăugând noi facilități. Cu ajutorul acestui pachet, puteți crea tabele foarte complicate și personalizate. Pentru mai multe informații, vezi capitolul Tabele.
babel Oferă facilitățile de internaționalizare din LaTeX. Trebuie încărcat în orice document, și trebuie să-i dați ca opțiune limba principală în care veți scrie documentul. Pentru mai multe informații, vezi capitolul despre Internaționalizare.
bm Permite utilizarea de litere grecești aldine în modul matematic cu ajutorul comenzii \bm{...}. Acest pachet anulează facilitățile furnizate de pachetul amsbsy.
boxedminipage Introduce mediul boxedminipage, care merge exact ca minipage, însă adaugă un cadru în jurul lui.
caption Permite adaptarea aspectului și așezării notelor pentru figuri, tabele, etc.
cancel Oferă comenzi pentru tăierea expresiilor matematice. Sintaxa este următoarea:
\cancel{x}

sau

\cancelto{0}{x}
changepage Pentru a schimba ușor marginile paginilor. Sintaxa este următoarea:
\changepage{textheight}{textwidth}%
  {evensidemargin}{oddsidemargin}%
  {columnsep}{topmargin}%
  {headheight}{headsep}%
  {footskip}

Toate argumentele pot fi atât numere pozitive, cât și negative; ele vor fi adăugate (păstrând semnul) la variabila corespunzătoare.

cite Ajută la gestionarea citatelor.
color Oferă suport pentru textul colorat. Pentru mai multe informații, vezi capitolul Culori.
easylist Adaugă suport pentru liste imbricate la niveluri arbitrare (folosite pentru a evidenția elementele).
esint Adaugă simboluri adiționale pentru integrale, cum ar fi integralele cu radicali, integrale în sensul acelor de ceasornic pentru mulțimi, etc.
eucal Alte simboluri matematice
fancyhdr Ajută la modificarea antetului și notelor de subsol pentru orice pagină din document. Este descris în capitolul despre Aranjarea în pagină.
fontenc Ajută la alegerea fontului folosit pentru textul din output. S-ar putea să vă trebuiască dacă scrieți documente în altă limbă decât engleza. Vezi capitolul despre Internaționalizare.
geometry Pentru a modifica ușor marginile documentului și dimensiunea paginii
glossaries Ajută la crearea de glosare și liste de acronime. Pentru mai multe informații, vezi capitolul Glosar.
graphicx Pentru imaginile externe
hyperref Oferă LaTeX the posibilitatea de a gestiona linkurile din cadrul documentului sau către orice URL când creați PDF-uri. Pentru mai multe informații, vezi capitolul Hyperlinkuri.
indentfirst Imediat ce este încărcat, începutul oricăror capitol și secțiune se indentează automat cu indentarea comună pentru paragrafe.
inputenc Vă ajută să alegeți codificarea textului de intrare (codul sursă). S-ar putea să fie necesar când scrieți documente într-o altă limbă decât engleza. Vezi capitolul despre Internaționalizare.
latexsym Alte simboluri matematice
listings Puteți insera cod de programare în document. Suportă numeroase limbaje, iar outputul poate fi adaptat. Pentru mai multe informații, vezi secțiunea Pachetul listings din capitolul Formatare avansată.
mathrsfs Alte simboluri matematice
natbib Oferă opțiuni și stiluri adiționale pentru citate.
pdfpages Simplifică inserarea de documente externe PDF sau PS cu mai multe pagini.
rotating Permite rotirea oricărui tip de obiect. Este deosebit de util la rotirea tabelelor. Pentru mai multe informații, vezi secțiunea Pachetul rotating din capitolul Formatare avansată.
setspace Vă permite să modificați spațierea liniilor. Spre exemplu, oferă comanda \doublespacing pentru spațiere dublă (la două rânduri). Pentru mai multe informații, vezi secțiunea Spațierea liniilor din capitolul LaTeX personalizat.
showkeys Este foarte util pentru orice document. Dacă vreți să faceți trimiteri la o imagine sau la o formulă, trebuie să le dați un nume cu ajutorul comenzii \label{...}, la care faceți apoi referire cu comanda \ref{...}. Când compilați documentul, acestea vor fi înlocuite numai cu numere, și nu puteți ști ce etichetă ați folosit decât dacă vă uitați peste codul sursă. Dacă ați încărcat pachetul showkeys, veți vedea eticheta lângă sau deasupra numărului corespunzător din versiunea compilată. Un exemplu de referință la o secțiune este . În felul acesta, puteți urmări cu ușurință etichetele pe care le-ați adăugat sau folosit, previzualizând documentul (DVI sau PDF). Chiar înainte de versiunea finală, înlăturați pachetul (ștergeți linia de includere corespunzătoare din preambul).
showidx Afișează toate intrările din index în marginea stângă a textului. Acest lucru este foarte util pentru corectarea unui document și verificarea indexului. Pentru mai multe informații, vezi capitolul Indexare.
subfiles Documentele "părinte" și "copil" pot fi compilate în același timp fără a modifica documentul "copil". Pentru mai multe informații, vezi secțiunea Pachetul subfiles din capitolul Fișiere multiple.
subfig Permite definirea de mai multe elemente flotante (figuri, tabele) într-un singur mediu, dând titluri și etichete individuale de forma 1a, 1b.
syntonly Dacă adăugați codul următor în preambul:
\usepackage{syntonly}
\syntaxonly

LaTeX trece rapid prin document verificând numai sintaxa și modul de utilizare a comenzilor, însă nu produce niciun document de ieșire (DVI sau PDF). Deoarece LaTeX rulează mai repede în modul acesta, puteți economisi mult timp. Dacă vreți să generați output, comentați pur și simplu linia a doua.

textcomp Oferă simboluri adiționale, spre exemplu, săgeți ca \textrightarrow, simboluri pentru monede naționale (\texteuro,...), lucruri de genul \textcelsius și multe altele.
theorem Puteți schimba stilul teoremelor nou definite. Pentru mai multe informații, vezi capitolul Teoreme.
todonotes Vă permite să inserați note legate de sintaxă \todo{Adaugă detalii.}
siunitx Vă ajută la formatarea corectă a unităților de măsură internaționale (SI-units). Spre exemplu, \SI{12}{\mega\herz}. Produce automat spațierea corectă între numărul dat și unitatea respectivă. Notați că și celelalte unități de măsură sunt setate, cum ar fi dB, rad, ...
ulem Permite sublinierea textului (cu linii drepte sau ondulate). Găsiți câteva exemple în capitolul Formatare.
url Definește comanda \url{...}. URL-urile conțin deseori caractere speciale cum sunt _ și &. Pentru a le putea scrie, trebuie să dați comanda corespunzătoare pentru ele în LaTeX, prin inserarea unui backslash, însă dacă folosiți comanda \url{...}, nu trebuie să eludați niciun caracter special, iar comanda va asigura formatarea corespunzătoare. Dacă folosiți pachetul hyperref, nu trebuie să mai încărcați și pachetul url, întrucât hyperref oferă deja comanda \url{...}.
verbatim Îmbunătățește mediul verbatim, rezolvând unele probleme de programare. Mai mult, oferă mediul comment, care vă permite să adăugați comentarii de mai multe linii sau să comentați părți mari de cod.
wrapfig Ajută la inserarea de imagini înconjurate de text. Am discutat despre el în capitolul Elemente flotante, figuri și note.
xypic Se folosește la crearea de arbori, grafuri, diagrame (comutative), și altele asemenea.

Crearea de pachete[modificare]

Vezi

Resurse externe[modificare]

Modul cel mai bun de a căuta pachete LaTeX a fost deja menționat: CTAN: Căutare. Resurse adiționale de la Catalogul TeX Online:


Anterior: Culori LaTeX Următor: Subiecte avansate