LaTeX (carte)/Matematică avansată
Această pagină prezintă trăsături mai avansate ale matematicii din LaTeX. În particular, folosește în mare măsură pachetul amsmath oferit de Societatea Americană de Matematică (American Mathematical Society).
Numerotarea ecuațiilor
modificareMediul equation
numerotează automat ecuațiile.
|
|
Puteți utiliza de asemenea comenzile \label
și \ref
pentru a eticheta, respectiv a face referințe la ecuații. Sau puteți folosi comanda \eqref
, însă aceasta necesită pachetul amsmath. Iată un exemplu ce vă arată cum puteți stabili referințe cu ajutorul comenzii \ref
(are ca rezultat pentru ecuația 1), iar apoi cum să folosiți \eqref
din pachetul amsmath (are ca rezultat pentru ecuația 1):
|
|
|
|
Notă: Pentru afișarea caracterelor românești trebuie să includeți un pachet pentru acestea, cum ar fi inputenc cu opțiunea pentru UTF:
\usepackage[utf8x]{inputenc}
Pentru mai multe informații, vezi capitolul Etichete și referințe.
Pentru ca enumerarea să urmeze tiparul secțiunii sau subsecțiunii curente, trebuie să folosiți pachetul amsmath sau documente din clasa AMS. Apoi scrieți
|
în preambul pentru ca enumerarea să corespundă nivelului secțiunii sau
|
pentru ca enumerarea să se adapteze nivelului subsecțiunii.
|
|
Dacă stilul folosit pune puncte după numere, comanda \numberwithin{equation}{subsection}
în preambul va face ca numărul ecuației din exemplul de mai sus să fie afișat în felul următor: (1.1.1).
Pentru numerotarea la nivelul secțiunii, puteți folosi și comanda
|
Numerotarea la nivelul subsecțiunii cu comanda
|
este echivalentă cu versiunea din exemplul anterior, cu condiția ca această comandă să fie în preambul sau înaintea oricăror ecuații.
Notă: Puteți folosi aceste ultime comenzi pentru a schimba numerotarea ecuațiilor în interiorul documentului.
Numerotarea ecuațiilor subordonate
modificarePentru a numerota ecuațiile subordonate într-un mediu de ecuații numerotate, plasați partea documentului ce le conține într-un mediu subequations:
|
|
Nu uitați că pentru afișarea caracterelor românești trebuie să includeți un pachet pentru acestea, cum ar fi inputenc cu opțiunea pentru UTF:
\usepackage[utf8x]{inputenc}
Formule matematice în modul de afișare aliniate vertical
modificareO problemă des întâlnită cu mediile de afișare (displaymath și equation) este lipsa abilității de a se întinde pe mai multe linii. Deși puteți defini liniile individual, acestea nu vor fi aliniate.
Deasupra și dedesubt
modificareComenzile \overset
și \underset
[1] scriu simboluri deasupra și dedesubtul expresiilor.
Fără AMS în TeX, același rezultat al \overset
poate fi obținut cu \stackrel
.
Acest lucru poate fi deosebit de util pentru a crea noi relații binare:
|
|
sau pentru a prezenta utilizarea legii lui L'Hôpital:
|
|
Este convenabil să definim un nou operator ce va seta semnul de egalitate cu H și fracția:
|
pentru a reduce exemplul de mai sus la:
|
Dacă vreți să scrieți comentarii în anumite părți ale unei ecuații, comenzile \overbrace
și \underbrace
pot fi mai utile, cu toate acestea, ele au o sintaxă diferită:
|
|
Câteodată comentariile sunt mai lungi decât formula comentată, ceea ce poate genera probleme de spațiere. Acestea nu sunt înlăturate cu comanda \mathclap
[2]:
|
Ca o alternativă, pentru a folosi paranteze drepte în loc de acolade, utilizați comenzile \underbracket
și \overbracket
[2]:
|
Argumentele opționale setează grosimea liniei, respectiv înălțimea parantezei drepte:
|
Comenzile \xleftarrow
și \xrightarrow
[1] produc săgeți care se extind pe toată lungimea textului. Din nou, sintaxa este diferită: argumentul opțional (scris cu ajutorul [
și ]
) specifică partea de sub săgeată, iar argumentul obligatoriu (între {
și }
) specifică partea de deasupra săgeții.
|
|
Pentru săgeți mai extensibile, trebuie să utilizați pachetul mathtools:
|
Pentru cârlige:
|
align și align*
modificareMediile align și align*[1] sunt folosite pentru aranjarea ecuațiilor pe mai multe linii. La fel ca în cazul matricilor și tabelelor, \\
specifică o linie nouă, iar &
se folosește pentru a indica punctul în care liniile ar trebui aliniate.
Mediul align* se folosește la fel ca displaymath sau equation*:
|
|
Pentru a forța numerotarea unei linii specifice, utilizați comanda \tag{...}
înainte de capătul de linie.
Mediul align este similar, însă numerotează automat fiecare linie, la fel ca mediul equation. Se poate face referire la liniile individuale plasând o comandă \label{...}
înainte de capătul de linie. Puteți folosi una din comenzile \nonumber
sau \notag
pentru a suprima numărul unei linii date:
|
|
Notați că am adăugat o anume indentare la a doua linie. De asemenea, trebuie să inserăm acolade {} înainte de semnul + întrucât altfel LaTeX nu va crea spațierea corectă după +. Motivul pentru asta este că fără acolade, LaTeX interpretează semnul + ca pe un operator unar, în locul operatorul binar, după cum este de așteptat.
Acolade care se întind pe mai multe linii
modificareMai multe caractere &
pe o singură linie vor specifica mai multe coloane, fiecare dintre ele fiind aliniată corespunzător. Dacă vreți ca o acoladă să continue pe linia următoare, faceți următoarele:
|
|
Dimensiunile celor două acolade devin egale și corespund mărimii tipice a simbolurilor dintre ele prin comenzile \left\{
și \right\}
. Însă deoarece aceste două comenzi apar pe linii diferite, trebuie să le echilibrăm cu comenzile \right.
și \left.
. (În mod normal acestea nu sunt necesare dacă formula este pe o singură linie.) Ca o alternativă, puteți controla manual dimensiunea acoladelor cu ajutorul comenzilor \big
, \Big
, \bigg
, \Bigg
.
Pentru a potrivi automat mărimea celor două acolade pentru o ecuație înaltă, utilizați comanda \vphantom
:
|
|
Mediul cases
modificareMediul cases[1] permite scrierea de funcții pe ramuri:
|
|
La fel ca mai înainte, nu trebuie să aveți grijă de definiția sau alinierea coloanelor, LaTeX va face asta automat.
Din păcate, setează mediul matematic intern la stilul text, ducând la un astfel de rezultat:
Pentru a forța stilul de afișare pentru ecuații în cadrul acestei construcții, utilizați mediul dcases[2]:
|
|
Deseori a doua coloană constă mai ales din text normal. Pentru a o seta la fontul roman normal al documentului, folosiți mediul dcases*[2]:
|
|
Alte medii
modificareDeși mediile align și align* sunt cele mai utile, sunt multe alte medii ce pot fi și ele de interes:
Mediu | Descriere | Note |
---|---|---|
eqnarray și eqnarray* | Similar cu align și align* | Nerecomandat deoarece spațierea este inconsistentă |
multline și multline*[1] | Prima linie este aliniată la stânga, ultima linie este aliniată la dreapta | Numărul ecuației este aliniat vertical cu prima linie, nefiind centrat ca în cazul altor medii. |
gather și gather*[1] | Ecuații consecutive fără aliniere | |
flalign și flalign*[1] | Similar cu align, însă aliniază la stânga prima coloană a ecuației și la dreapta ultima coloană | |
alignat și alignat*[1] | Ia un argument ce specifică numărul de coloane. Permite controlul explicit al spațiului orizontal dintre ecuații | Puteți calcula numărul de coloane numărând caracterele & de pe o linie, la care adăugați 1, iar rezultatul îl împărțiți la 2
|
Sunt și câteva medii ce nu reprezintă medii matematice prin ele însele, dat care pot fi utilizate pentru a construi structuri mai elaborate:
Mediu matematic | Descriere | Note |
---|---|---|
gathered[1] | Permite strângerea laolaltă a mai multor ecuații, care urmează să fie așezate una sub alta și care vor primi un singur număr de ecuație | |
split[1] | Similar cu align*, însă folosit într-un alt mediu matematic de afișare | |
aligned[1] | Similar cu align, însă folosit într-un alt mediu matematic de afișare | |
alignedat[1] | Similar cu alignat, și la fel ca el, ia un argument adițional ce specifică numărul de coloane de setat pentru ecuații |
Spre exemplu:
|
|
|
|
Ecuații indentate
modificarePentru a indenta o ecuație, puteți seta parametrul fleqn în clasa documentului, iar apoi să specificați o anumită valoare pentru variabila \mathindent
:
|
Sfârșitul de pagină în medii matematice
modificarePentru a sugera sistemului LaTeX să treacă la pagina următoare într-unul din mediile amsmath, puteți folosi comanda \displaybreak
înaintea unui capăt de linie. La fel ca în cazul \pagebreak
, \displaybreak
poate lua un argument opțional între 0 și 4, care denotă nivelul de dezirabilitate de a trece la pagina următoare în acea situație dată. Valoarea 0 înseamnă "se permite trecerea la pagina următoare aici", 4 forțează sfârșitul de pagină. Nici un argument înseamnă valoarea 4.
Ca o alternativă, puteți activa sfârșitul de linie automat în mediile matematice cu comanda\allowdisplaybreaks
. Și aceasta are un argument opțional, care denotă în ce măsură se permite trecerea la pagina următoare în ecuații. În mod similar, 1 înseamnă "se permite sfârșitul de pagină, însă în general se evită", iar 4 înseamnă "treci la pagina următoare când dorești". Puteți împiedica sfârșitul paginii după o linie dată cu ajutorul comenzii \\*
.
LaTeX va insera un sfârșit de pagină într-o ecuație lungă (cu mediul align, de exemplu) dacă adaugă ceva text în plus cu comanda \intertext{text}
, fără alte comenzi.
Un caz specific de utilizare poate arăta în felul următor:
|
Ecuații cuprinse într-un cadru
modificarePentru o singură ecuație, cu eticheta în afara căsuței, utilizați comanda \boxed{}
:
|
Dacă vreți ca întreaga linie sau mai multe ecuații să fie încadrate, folosiți un mediu minipage într-o căsuță \fbox{}
:
|
Operatori personalizați
modificareDeși LaTeX pune la dispoziție mulți operatori de uz comun, câteodată veți avea nevoie să creați unul nou, spre exemplu pentru a scrie operatorul argmax. Comenzile \operatorname
și \operatorname*
[1] afișează astfel de operatori, versiunea cu stea *
setează opțiunea cu underscore dedesubt, ca pentru operatorul \lim
:
|
|
Totuși, dacă operatorul este des folosit, este de preferat ca noul operator să fie încorporat în sistemul LaTeX, pentru documentul curent. Comenzile \DeclareMathOperator
și \DeclareMathOperator*
[1] sunt specificate în preambulul documentului:
|
Asta definește o nouă comandă, ce poate fi folosită în corpul documentului:
|
|
Formatare avansată
modificareLimite
modificareExistă anumite setări implicite pentru plasarea indicilor și exponenților. Spre exemplu, limitele pentru operatorul lim se așează de obicei sub simbol, în felul următor:
|
|
Pentru a modifica acest comportament implicit, utilizați operatorul \nolimits
:
|
|
Un operator lim în text (în cadrul $...$
) va plasa limitele pe lateral. Dacă vreți ca argumentul comenzii _
să fie plasat sub limită, folosiți comanda \limits
, plasată imediat după operator:
|
|
În mod asemănător, puteți așeza indicii care de obicei sunt plasați lateral:
|
|
deasupra și dedesubtul unui simbol:
|
|
Pentru a seta așezarea implicită laterală pentru toate cazurile unui simbol de însumare (în modul de afișare), adăugați opțiunea nosumlimits pachetului amsmath. Pentru a schimba așezarea implicită a limitelor intervalului pentru integrale adăugați parametrul intlimits la opțiuni și nonamelimits pentru a modifica plasarea implicită pentru operatorii named, de genul det, min, lim, etc.
Indici și exponenți
modificareDeși puteți așeza caractere pe poziție de indici sau de exponenți în cazul simbolurilor de genul sumelor cu comanda prezentată mai devreme \nolimits
:
|
|
este imposibil să le îmbinați cu utilizarea tipică a acestor simboluri:
|
|
Pentru a adăuga atât apostroful, cât și limita la un simbol, trebuie să utilizați comanda \sideset
:
|
|
Este foarte flexibilă, spre example, poate pune litere în fiecare colț al simbolului sumei:
|
|
Dacă vreți să faceți asta pentru un simbol arbitrar, puteți folosi comanda \fourIdx
din pachetul fouridx:
|
Indici pe mai multe linii
modificarePentru a produce indici care se pot întinde pe mai multe linii, utilizați comanda \substack
:
|
|
Text în modul matematic de afișare aliniat
modificarePentru a adăuga explicații scurte în mediile matematice, folosiți comanda \intertext
:
|
Notați că utilizarea acestei comenzi nu schimbă alinierea, așa cum ar face mai multe medii align intercalate.
Modificarea dimensiunii fontului
modificareSe pot ivi unele situații în care să preferați un control mai mare asupra dimensiunii fontului pentru formule matematice. Spre exemplu, mediile matematice în modul text —$...$
sau \(...\)
— afișează implicit o fracție simplă (\frac
) în felul următor: . Într-o asemenea situație, ar fi de preferat ca fracția să fie mai mare, ca în modul de afișare —$$...$$
sau \[...\]
, dar să-și păstreze poziția pe linia curentă: .
O abordare simplă constă în utilizarea unor dimensiuni predefinite pentru elementele matematice:
Comandă | Descriere |
---|---|
\displaystyle
|
Dimensiunea ecuațiilor în modul de afișare |
\textstyle
|
Dimensiunea ecuațiilor în modul text |
\scriptstyle
|
Mărimea primului indice sau exponent |
\scriptscriptstyle
|
Mărimea indicelui sau exponentului următor |
Un exemplu clasic în acest sens îl constituie fracțiile continue (deși e mai bine să folosiți comanda \cfrac
[1] descrisă în capitolul Matematică):
|
|
După cum vedeți, pe măsură ce fracțiile continuă, devin mai mici (aici au atins limita \scriptstyle
). Dacă vreți ca dimensiunea să rămână consistentă, puteți declara stilul de afișare pentru fiecare fracție în parte:
|
|
O altă abordare constă în utilizarea comenzii \DeclareMathSizes
pentru a selecta dimensiunile preferate. Puteți redefini doar dimensiunile \displaystyle
, \textstyle
, \scriptstyle
. Un posibil dezavantaj este că această comandă setează valorile globale, întrucât poate fi folosită numai în preambulul documentului.
Totuși, este foarte ușor de folosit: \DeclareMathSizes{df}{da}{dt}{ds}
, unde df înseamnă dimensiunea implicită a fontului (pentru documentul curent), da este dimensiunea în modul de afișare (\displaystyle
), dt dimensiunea în modul text (\textstyle
), iar ds dimensiunea corespunzătoare modului \scriptstyle
. Valorile furnizate se consideră a fi date în puncte (pt).
Notă: modificările valorilor globale au loc numai dacă valoarea primului argument corespunde dimensiunii textului din documentul curent. Se obișnuiește de aceea ca în preambul să fie mai multe declarații de genul acesta, în eventualitatea că se va modifica dimensiunea fontului implicit. Spre exemplu:
|
Note
modificare- ↑ 1,00 1,01 1,02 1,03 1,04 1,05 1,06 1,07 1,08 1,09 1,10 1,11 1,12 1,13 1,14 necesită pachetul amsmath
- ↑ 2,0 2,1 2,2 2,3 necesită pachetul mathtools