LaTeX (carte)/Matematică avansată

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


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[modificare]

Mediul equation numerotează automat ecuațiile.

\begin{equation} f(x)=(x+a)(x+b) \end{equation}

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):

\begin{equation} \label{ec:o-ec} 5^2 - 5 = 20 \end{equation} creează o referință la ecuația \ref{ec:o-ec}.


\begin{equation} \label{ec:erl} a = bq + r \end{equation} unde \eqref{ec:erl} este adevărată dacă $a$ și $b$ sunt întregi, iar $b \neq c$.



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

\numberwithin{equation}{section}

în preambul pentru ca enumerarea să corespundă nivelului secțiunii sau

\numberwithin{equation}{subsection}

pentru ca enumerarea să se adapteze nivelului subsecțiunii.

\documentclass[12pt]{article} \usepackage{amsmath} \numberwithin{equation}{subsection} \begin{document} \section{Prima Secțiune} \subsection{O subsecțiune} \begin{equation} L' = {L}{\sqrt{1-\frac{v^2}{c^2}}} \end{equation} \end{document}

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

\renewcommand{\theequation}{\thesection.\arabic{equation}}

Numerotarea la nivelul subsecțiunii cu comanda

\renewcommand{\theequation}{\thesubsection.\arabic{equation}}

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[modificare]

Pentru a numerota ecuațiile subordonate într-un mediu de ecuații numerotate, plasați partea documentului ce le conține într-un mediu subequations:

\section{Prima Secțiune} \renewcommand{\theequation}{\thesection.\arabic{equation}} \begin{subequations} Ecuațiile lui Maxwell: \begin{align} B'&=-\partial \times E,\\ E'&=\partial \times B - 4\pi j, \end{align} \end{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[modificare]

O 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[modificare]

Comenzile \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:

\[ A \overset{!}{=} B; A \stackrel{!}{=} B \]

sau pentru a prezenta utilizarea legii lui L'Hôpital:

\[ \lim_{x\to 0}{\frac{e^x-1}{2x}} \overset{\left[\frac{0}{0}\right]}{\underset{\mathrm{H}}{=}} \lim_{x\to 0}{\frac{e^x}{2}}={\frac{1}{2}} \]

Este convenabil să definim un nou operator ce va seta semnul de egalitate cu H și fracția:

\newcommand{\Heg}[1]{\overset{\left[#1\right]}{\underset{\mathrm{H}}{=}}}

pentru a reduce exemplul de mai sus la:

\[ \lim_{x\to 0}{\frac{e^x-1}{2x}} \Heg{\frac{0}{0}} \lim_{x\to 0}{\frac{e^x}{2}}={\frac{1}{2}} \]

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ă:

\[ z = \overbrace{ \underbrace{x}_\text{real} + \underbrace{iy}_\text{imaginar} }^\text{număr complex} \]

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]:

\[ y = a + f(\underbrace{b x}_{ \ge 0 \text{ conform ipotezei}}) = a + f(\underbrace{b x}_{ \mathclap{\ge 0 \text{ conform ipotezei}}}) \]

Latex-mathclap-exemplu.png

Ca o alternativă, pentru a folosi paranteze drepte în loc de acolade, utilizați comenzile \underbracket și \overbracket[2]:

\[ z = \overbracket[3pt]{ \underbracket{x}_{\text{real}} + \underbracket[0.5pt][7pt]{iy}_{\text{imaginar}} }^{\mbox{număr complex}} \]

Latex-mathtools-brackets.png

Argumentele opționale setează grosimea liniei, respectiv înălțimea parantezei drepte:

\underbracket[grosime linie][înălțime paranteză dreaptă]{argument}_{text dedesubt}

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.

\[ A \xleftarrow{\text{așa}} B \xrightarrow[\text{sau așa}]{} C \]

Pentru săgeți mai extensibile, trebuie să utilizați pachetul mathtools:

\begin{align*} A \xleftrightarrow[sub]{peste} B\\ B \xLeftarrow[sub]{peste} C\\ C \xRightarrow[sub]{peste} D\\ D \xLeftrightarrow[sub]{peste} E\\ E \xhookleftarrow[sub]{peste} F\\ F \xhookrightarrow[sub]{peste} G\\ G \xmapsto[sub]{peste} H \end{align*}

LaTeX-mathtools-săgeţi.png

Pentru cârlige:

\begin{align*} H \xrightharpoondown[sub]{peste} I\\ I \xrightharpoonup[sub]{peste} J\\ J \xleftharpoondown[sub]{peste} K\\ K \xleftharpoonup[sub]{peste} L\\ L \xrightleftharpoons[sub]{peste} M\\ M \xleftrightharpoons[sub]{peste} N \end{align*}

Latex-mathtools-cârlige.png

align și align*[modificare]

Mediile 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*:

\begin{align*} f(x) &= (x+a)(x+b) \\ &= x^2 + (a+b)x + ab \end{align*}

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:

\begin{align} f(x) &= x^4 + 7x^3 + 2x^2 \nonumber \\ &\qquad {} + 10x + 12 \end{align}

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[modificare]

Mai 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:

\begin{align} f(x) &= \pi \left\{ x^4 + 7x^3 + 2x^2 \right.\nonumber\\ &\qquad \left. {} + 10x + 12 \right\} \end{align}

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:

\begin{align} A &= \left(\int_t XXX \right.\nonumber\\ &\qquad \left.\vphantom{\int_t} YYY \dots \right) \end{align}

Mediul cases[modificare]

Mediul cases[1] permite scrierea de funcții pe ramuri:

\[ u(x) = \begin{cases} \exp{x} & \text{dacă } x \geq 0 \\ 1 & \text{dacă } x < 0 \end{cases} \]

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]:

\[ a = \begin{dcases} \int x\, dx\\[10px] b^2 \end{dcases} \]

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]:

\[ f(x) = \begin{dcases*} x & pentru $x$ par\\ -x & pentru $x$ impar \end{dcases*} \]

Alte medii[modificare]

Deș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:

\begin{equation} \left.\begin{aligned} B'&=-\partial \times E,\\ E'&=\partial \times B - 4\pi j, \end{aligned} \right\} \qquad \text{Ecuațiile lui Maxwell} \end{equation}

\begin{alignat}{2} \sigma_1 &= x + y &\quad \sigma_2 &= \frac{x}{y} \\[10px] \sigma_1' &= \frac{\partial x + y}{\partial x} & \sigma_2' &= \frac{\partial \frac{x}{y}}{\partial x} \end{alignat}

Ecuații indentate[modificare]

Pentru a indenta o ecuație, puteți seta parametrul fleqn în clasa documentului, iar apoi să specificați o anumită valoare pentru variabila \mathindent:

\documentclass[a4paper,fleqn]{report} \usepackage{amsmath} \setlength{\mathindent}{1cm} \begin{document} \noindent Formula lui Euler: \begin{equation*} e^{ix} = \cos{x} + i \sin{x} \end{equation*} \noindent Această formulă e foarte importantă. \end{document}

Latex ecuaţii indentate.png

Sfârșitul de pagină în medii matematice[modificare]

Pentru 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:

\begin{align*} &\vdots\\ &=12+7 \int_0^2 \left( -\frac{1}{4}\left(e^{-4t_1}+e^{4t_1-8}\right) \right)\,dt_1\displaybreak[3]\\ &= 12-\frac{7}{4}\int_0^2 e^{-4t_1}+e^{4t_1-8}\,dt_1\\ &\vdots % \end{align*}

LaTeX-displaybreak-in-math.png

Ecuații cuprinse într-un cadru[modificare]

Pentru o singură ecuație, cu eticheta în afara căsuței, utilizați comanda \boxed{}:

\begin{equation} \boxed{x^2+y^2 = z^2} \end{equation}

LaTeX-boxed-equation.png

Dacă vreți ca întreaga linie sau mai multe ecuații să fie încadrate, folosiți un mediu minipage într-o căsuță \fbox{}:

\fbox{ \addtolength{\linewidth}{-2\fboxsep}% \addtolength{\linewidth}{-2\fboxrule}% \begin{minipage}{\linewidth} \begin{equation} x^2+y^2=z^2 \end{equation} \end{minipage} }

LaTeX-boxed-formula-minipage.png

Operatori personalizați[modificare]

Deș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:

\[ \operatorname{arg\,max}_a f(a) = \operatorname*{arg\,max}_b f(b) \]

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:

\DeclareMathOperator*{\argmax}{arg\,max}

Asta definește o nouă comandă, ce poate fi folosită în corpul documentului:

\[ \argmax_c f(c) \]

Formatare avansată[modificare]

Limite[modificare]

Există 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:

\begin{equation} \lim_{a\to \infty} \tfrac{1}{a} \end{equation}

Pentru a modifica acest comportament implicit, utilizați operatorul \nolimits:

\begin{equation} \lim\nolimits_{a\to \infty} \tfrac{1}{a} \end{equation}

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:

$\lim\limits_{a\to \infty} \tfrac{1}{a}$

În mod asemănător, puteți așeza indicii care de obicei sunt plasați lateral:

\begin{equation} \int_a^b x^2 \end{equation}

deasupra și dedesubtul unui simbol:

\begin{equation} \int\limits_a^b x^2 \end{equation}

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[modificare]

Deș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:

\begin{equation} \sum\nolimits' C_n \end{equation}

este imposibil să le îmbinați cu utilizarea tipică a acestor simboluri:

\begin{equation} \sum_{n=1}\nolimits' C_n \end{equation}

Pentru a adăuga atât apostroful, cât și limita la un simbol, trebuie să utilizați comanda \sideset:

\begin{equation} \sideset{}{'}\sum_{n=1}C_n \end{equation}

Este foarte flexibilă, spre example, poate pune litere în fiecare colț al simbolului sumei:

\begin{equation} \sideset{_a^b}{_c^d}\sum \end{equation}

Dacă vreți să faceți asta pentru un simbol arbitrar, puteți folosi comanda \fourIdx din pachetul fouridx:

\begin{equation} \fourIdx{a}{b}{c}{d}{\left(\dfrac{x}{y}\right)} \end{equation}

Latex fourIdx.png

Indici pe mai multe linii[modificare]

Pentru a produce indici care se pot întinde pe mai multe linii, utilizați comanda \substack:

\begin{equation} \prod_{\substack{ 1\le i \le n\\ 1\le j \le m}} M_{i,j} \end{equation}

Text în modul matematic de afișare aliniat[modificare]

Pentru a adăuga explicații scurte în mediile matematice, folosiți comanda \intertext:

\begin{minipage}{3in} \begin{align*} \intertext{Dacă} A &= \sigma_1+\sigma_2\\ B &= \rho_1+\rho_2\\ \intertext{atunci} C(x) &= e^{Ax^2+\pi}+B \end{align*} \end{minipage}

Latex intertext.png

Notați că utilizarea acestei comenzi nu schimbă alinierea, așa cum ar face mai multe medii align intercalate.

Modificarea dimensiunii fontului[modificare]

Se 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ă):

\begin{equation} x = a_0 + \frac{1}{a_1 + \frac{1}{a_2 + \frac{1}{a_3 + a_4}}} \end{equation}

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:

\begin{equation} x = a_0 + \frac{1}{\displaystyle a_1 + \frac{1}{\displaystyle a_2 + \frac{1}{\displaystyle a_3 + a_4}}} \end{equation}

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:

\DeclareMathSizes{10}{18}{12}{8} % Pentru text de mărime 10 \DeclareMathSizes{11}{19}{13}{9} % Pentru dimensiunea 11 a textului \DeclareMathSizes{12}{20}{14}{10} % Pentru text de mărime 12pt

Note[modificare]

  1. 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. 2,0 2,1 2,2 2,3 necesită pachetul mathtools


Anterior: Matematică LaTeX Următor: Teoreme