LaTeX/Naprednija matematika
Ova stranica opisuje neka naprednija korišćenja matematike u LaTeXu. Konkretno, najviše koristi “AMS-LaTeX” pakete, koje je obezbedilo Amreričko društvo matematičara.
Numerisanje jednačina
[uredi]equation
okruženje automatski numerizuje jednačine:
\begin{equation}
f(x)=(x+a)(x+b)
\end{equation}
|
|
Takođe, možete koristiti \label
i \ref
(ili \eqref
iz amsmath paketa) komande da biste redom označili i numerisali jednačine. Za jednačinu broj 1, \ref
rezultat u i \eqref
rezultat u :
\begin{equation} \label{eq:someequation}
5^2 - 5 = 20
\end{equation}
ово референцира једначину \ref{eq:someequation}.
|
|
\begin{equation} \label{eq:erl}
a = bq + r
\end{equation}
где је \eqref{eq:erl} тачно ако су $a$ и $b$ интиџери, важи $b \neq c$.
|
|
Dalje informacije možete pronaći u poglavlju Oznake i referenciranje.
Kako bi numeracija pratila naslove i podnaslove, morate koristiti amsmath paket ili “AMS” klasnu dokumentaciju. Onda unesite
\numberwithin{equation}{section}
|
u uvod, kako biste dobili numeraciju na nivou naslova ili
\numberwithin{equation}{subsection}
|
kako bi numeraciju vratili na nivo podnaslova.
\documentclass[12pt]{article}
\usepackage{amsmath}
\numberwithin{equation}{subsection}
\begin{document}
\section{First Section}
\subsection{A subsection}
\begin{equation}
L' = {L}{\sqrt{1-\frac{v^2}{c^2}}}
\end{equation}
\end{document}
|
|
Ako stil koji koristite zahteva stavljanje tačaka posle rednih brojeva (npr. kao što se to zahteva u poljskoj tipografiji, \numberwithin{equation}{subsection}
komanda, u uvodu, će rezultirati da brojevi jednačina, u primeru iznad budu napisani kao sledeći: (1.1..1).
Kako biste izbacili duplikat tačku, odmah nakon toga dodajte sledeću komandu \numberwithin{equation}{section}
:
\renewcommand{\theequation}{\thesection\arabic{equation}}
|
Za šemu numerisanja korišćenjem \numberwithin{equation}{subsection}
, upotrebite:
\renewcommand{\theequation}{\thesubsection\arabic{equation}}
|
u uvodu vašeg dokumenta.
Primetiti: Iako možda izgleda kao da \renewcommand
radi sama od sebe, neće resetovati broj jednačina u svakom naslovu. Mora se koristiti zajedno sa ručnim resetovanjem brojeva jednačina posle početka svakog novog naslova, ili sa mnogo čistijim \numberwithin
.
Podređeno numerisanje jednačina
[uredi]Kako biste numerisali podređene jednačine u numerisanom okruženju jednačina, taj deo dokumenta u subequations okruženjet:
\begin{subequations}
Максвелова једначина:
\begin{align}
B'&=-\nabla \times E,\\
E'&=\nabla \times B - 4\pi j,
\end{align}
\end{subequations}
|
|
Referenciranje podređenih jednačina može biti urađeno bilo kojom od dve metode: dodavanjem oznake posle \begin{subequations}
komande, što će riferencirati glavnu jednačinu (1.1 iznad), ili dodavanjem oznake na kraju svakog reda, pre \\
komande, što će riferencirati podređene jednačine (1.1a ili 1.1b iznad). Moguće je dodati obe oznake, u slučaju da su oba tipa riferenciranja potrebna.
Vretikalno usklađivanje prikazane matematike
[uredi]Problem, koji se često pojavljivao sa prikazanim okruženjima, (displaymath i equation), jeste nemogućnost obuhvatanja višestrukih redova. Dok je moguće definisati redove individualno, ali to ih neće uskladiti.
Iznad i ispod
[uredi]\overset
i \underset
komande pišu simbole ispod i iznad upisanih simbola "above" i "below" izraza.
Bez “AmsTex” isti rezultat \overset
se može odžati uz pomoć \stackrel
.
Ovo može posebno biti korisno za pravljenje novih binarnih relacija:
\[
A \overset{!}{=} B; A \stackrel{!}{=} B
\]
|
|
ili da se prikaže upotreba Lopitalovog pravila.:
\[
\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}}
\]
|
|
Zgodno je definisati novi operator koji će staviti znak jednakosti između “H” i obezbeđene frakcije:
\newcommand{\Heq}[1]{\overset{\left[#1\right]}{\underset{\mathrm{H}}{=}}}
|
koji redukuje primer iznad:
\[
\lim_{x\to 0}{\frac{e^x-1}{2x}}
\Heq{\frac{0}{0}}
\lim_{x\to 0}{\frac{e^x}{2}}={\frac{1}{2}}
\]
|
Ako je cilj komentarisati određene delove jednačina, \overbrace
i \underbrace
komande mogu biti korisnije. Međutim, one imaju drugačiju sintaksu (i mogu se poravnati \vphantom
komandom):
\[
z = \overbrace{
\underbrace{x}_\text{real} + i
\underbrace{y}_\text{imaginary}
}^\text{complex number}
\]
|
|
Ponekad je komentar duži od formule koja se komentariše, što može prouzrokovati problem sa razmacima. Ovo se može otkloniti korišćenjem \mathclap
komande[1]:
\[
y = a + f(\underbrace{b x}_{
\ge 0 \text{ by assumption}})
= a + f(\underbrace{b x}_{
\mathclap{\ge 0 \text{ by assumption}}})
\]
|
Alternativno, za upotrebu zagrada koristite \underbracket
i \overbracket
komande[1]:
\[
z = \overbracket[3pt]{
\underbracket{x}_{\text{real}} +
\underbracket[0.5pt][7pt]{iy}_{\text{imaginary}}
}^{\text{complex number}}
\]
|
Opcioni argumenti postavljaju redom debljinu i visinu zagrada:
\underbracket[rule thickness][bracket height]{argument}_{text below}
|
\xleftarrow
i \xrightarrow
komande daju strelice koje produžuju dužinu teksta. Opet, sintaksa je drugačija: opcioni argument (koristi [
i ]
) precizira sabskiptu, i obavezan argument (koristi {
and }
) precizira superskriptu (što se može ostaviti prazno ubacivanjem praznog prostora).
\[
A \xleftarrow{\text{this way}} B
\xrightarrow[\text{or that way}]{ } C
\]
|
|
Za još proširenih strelica, morate koristiti mathtools paket:
\[
a \xleftrightarrow[under]{over} b\\
%
A \xLeftarrow[under]{over} B\\
%
B \xRightarrow[under]{over} C\\
%
C \xLeftrightarrow[under]{over} D\\
%
D \xhookleftarrow[under]{over} E\\
%
E \xhookrightarrow[under]{over} F\\
%
F \xmapsto[under]{over} G\\
\]
|
i za harpune:
\[
H \xrightharpoondown[under]{over} I\\
%
I \xrightharpoonup[under]{over} J\\
%
J \xleftharpoondown[under]{over} K\\
%
K \xleftharpoonup[under]{over} L\\
%
L \xrightleftharpoons[under]{over} M\\
%
M \xleftrightharpoons[under]{over} N
\]
|
align i align*
[uredi]align i align* okruženja, omogućena kroz amsmath paket, se koriste za aranžiranje jednačina, koje se prostiru kroz više redova. Za matrice i tabele, \\
precizira “lomljenje” redova, i &
se koristi da ukaže tačku u kojoj bi redovi trebalo da budu poravnati.
align* okruženje se koristi kao displaymath ili equation* okruženje:
\begin{align*}
f(x) &= (x+a)(x+b) \\
&= x^2 + (a+b)x + ab
\end{align*}
|
|
Primetiti da align okruženje ne mora biti “ugnežđeno” unutar equation (ili sličnog) okruženja. Umesto toga, align je zamena za takva okruženja; sadržaj unutar align se automatski stavlja unutar matematičkog moda.
align* potiskuje numerizaciju. Kako biste prisilili numerizaciju specifičnog reda, koristite \tag{...}
komandu pre “lomljenja” reda.
align je slično, ali automatski numerizuje svaki red kao i equation okruženje. Možemo se pozivati na pojedinačne redove umetanjem \label{...}
pre pauze reda. \nonumber
ili \notag
komanda se može koristiti za potiskivanje datog reda:
\begin{align}
f(x) &= x^4 + 7x^3 + 2x^2 \nonumber \\
&\qquad {} + 10x + 12
\end{align}
|
|
Primetite da smo dodali malo uvlačenja u drugom redu. Takođe, moramo ubaciti duple zagrade ({}
) pre + znaka, inače LaTeX neće napraviti ispravan razmak posle znaka + . Za ralog za ovo jeste da, bez zagrada, LaTeX interpretira znak + kao unarnog operatora, umesto binarnog, kakav on zapravo jeste.
Moguća su i komplikovanija ravnalja, sa dodatnim &
na jednom redu, navodeći višestruke "kolone jednačina", od kojih je svaka poravnata. Sledeći primer ilustruje pravilo poravnanja align* okruženja:
\begin{align*}
f(x) &= a x^2+b x +c & g(x) &= d x^3 \\
f'(x) &= 2 a x +b & g'(x) &= 3 d x^2
\end{align*}
|
|
Zagrade koje ovuhvataju više redova
[uredi]Ako želite da se zagrada nastavi na sledeći red, uradite sledeće:
\begin{align}
f(x) &= \pi \left\{ x^4 + 7x^3 + 2x^2 \right.\nonumber\\
&\qquad \left. {} + 10x + 12 \right\}
\end{align}
|
|
U ovoj konstrukciji, veličine leve i desne zagrade nisu automatski jednake, uprkos upotrebe \left\{
i \right\}
. Ovo je zato što je svaki red zapisan kao potpuno odvojena jednačina —primetite upotrebu \right.
i \left.
tako da nema neuparenih \left
i \right
komandi, unutar reda (ovo nije potrebno ako je formula u jednom redu). Možete kontrolisati, ručno, veličinu zagrada uz pomoć \big
, \Big
, \bigg
, i \Bigg
komandi.
Alternativno, visina više jednačine može biti zamenjena u drugu korišćenjem \vphantom
komande:
\begin{align}
A &= \left(\int_t XXX \right.\nonumber\\
&\qquad \left.\vphantom{\int_t} YYY \dots \right)
\end{align}
|
|
Korišćenje poravnatih zagrada za funkcije u više delova
[uredi]Takođe, možete koristiti \left\{
i \right.
za pisanje ovakvih funkcija:
\[f(x) = \left\{
\begin{array}{lr}
x^2 & : x < 0\\
x^3 & : x \ge 0
\end{array}
\right.
\]
|
|
cases okruženje
[uredi]cases okruženje dozvoljava pisanje višedelnih funkcija;
\[
u(x) =
\begin{cases}
\exp{x} & \text{if } x \geq 0 \\
1 & \text{if } x < 0
\end{cases}
\]
|
|
LaTeX će se onda pobrinuti za definisanje i poravnanje kolona.
Unutar cases, matematički stil teksta se koristi sa rezultatom kao što je:
Prikazani stil se može koristiti umesto prethodnog, uz dcases okruženje[1] iz mathtools:
\[
a =
\begin{dcases}
\int x\, \mathrm{d} x\\
b^2
\end{dcases}
\]
|
|
Često se druga kolona sastoji od normalnog teksta. Da bi bio namešten u normalan rimski font dokumenta, može se koristiti dcases* okruženje:[1]
\[
f(x) = \begin{dcases*}
x & when $x$ is even\\
-x & when $x$ is odd
\end{dcases*}
\]
|
|
Druga okruženja
[uredi]Iako su najkorisnija okruženja align and align* , postoje, takođe, još nekoliko okruženja koja mogu biti od koristi:
Ime okruženja | Opis | Beleške |
---|---|---|
eqnarray i eqnarray* | Slično align i align* | Nisu preporučljiva, jer su razmaci nekonstanti |
multline i multline* | Prvi red levo poravnat, posledlji red desno poravnat | Broj jednačine je vertikalno poravnat sa prvim redom i nije centriran kao kod ostalih okruženja |
gather i gather* | Vezane jednačine bez poravnanja | |
flalign i flalign* | Slično align, ali levo poravnata prva kolona jednačine, a desno poravnata poslednja kolona | |
alignat i alignat* | Uzima argument koji karakteriše broj kolona. Dozvoljava kontrolu horizontalnih razmaka između jednačina. | Ovo okruženje uzima jedan argument, broj “kolona jednačine”: broji maksimalan broj & u bilo kom redu , dodaje 1 i deli sa 2. [1]
|
Takođe, postoji nekoliko okruženja, koja ne formiraju matematičko okruženje sami od sebe, i mogu biti korišćena za pravljenje blokova za složene strukture:
Ime matematičkog okruženja | Opis |
---|---|
gathered | Dozvoljava prikupljanje jednačina kako bi se postavile jedna ispod druge i daje im jedan broj. |
split | Slično align*, ali se koristi unutar drugog matematičkog okruženja. |
aligned | Slično align, koristi se unutar drugog matematičkog okruženja. |
alignedat | Slično alignat, i kao takvo uzima dodatni argument koji specifikuje broj kolona jednačina koje treba postaviti. |
Na primer:
\begin{equation}
\left.\begin{aligned}
B'&=-\partial \times E,\\
E'&=\partial \times B - 4\pi j,
\end{aligned}
\right\}
\qquad \text{Максвелова једначина}
\end{equation}
|
|
\begin{alignat}{2}
\sigma_1 &= x + y &\quad \sigma_2 &= \frac{x}{y} \\
\sigma_1' &= \frac{\partial x + y}{\partial x} & \sigma_2'
&= \frac{\partial \frac{x}{y}}{\partial x}
\end{alignat}
|
|
\begin{gather*}
a_0=\frac{1}{\pi}\int\limits_{-\pi}^{\pi}f(x)\,\mathrm{d}x\\[6pt]
\begin{split}
a_n=\frac{1}{\pi}\int\limits_{-\pi}^{\pi}f(x)\cos nx\,\mathrm{d}x=\\
=\frac{1}{\pi}\int\limits_{-\pi}^{\pi}x^2\cos nx\,\mathrm{d}x
\end{split}\\[6pt]
\begin{split}
b_n=\frac{1}{\pi}\int\limits_{-\pi}^{\pi}f(x)\sin nx\,\mathrm{d}x=\\
=\frac{1}{\pi}\int\limits_{-\pi}^{\pi}x^2\sin nx\,\mathrm{d}x
\end{split}\\[6pt]
\end{gather*}
|
Uvučene jednačine
[uredi]Kako biste uvuklu jednačinu, možete postaviti fleqn u klasu dokumenta i onda odrediti posebnu vrednost za \mathindent
varijablu:
\documentclass[a4paper,fleqn]{report}
\usepackage{amsmath}
\setlength{\mathindent}{1cm}
\begin{document}
\noindent Ојлерова формула је дата испод:
\begin{equation*}
e^{ix} = \cos{x} + i \sin{x}.
\end{equation*}
\noindent Ово је веома важна формула.
\end{document
|
Rendering missing! |
}
Prekid strana u matematičkom okruženju
[uredi]Da biste nagovestili LaTeX-u da ubaci “lomljenje” strane unutar amsmath okruženja, možete koristiti \displaybreak
komandu pre “lomljenja” reda. Kao i sa \pagebreak
, \displaybreak
može uzeti opcioni argument između 0 i 4, koji označava nivo želje “lomljenja” strane. Gde 0 znači "dopušteno je da se lomi ovde", a 4 prisiljava “lomljenje”. Bez argumenata je isto kao i 4.
Alternativno, možete omogućiti automatsko “lomljenje” strane u matematičkom okruženju sa \allowdisplaybreaks
. On isto može imati opcioni argument koji označava prioritet “lomljenja” strane u jednačinama. Slično tome, 1 znači "dozvoli lomljenje strane, ali je izbegavaj" i 4 znači "lomi kad god hoćeš". Možete zabraniti lomljenje strane posle datog reda korišćenjem \\*
.
LaTeX će uneti “lomljenje” strane u dugačkim jednačinama, ako postoji tekst unet preko \intertext{}
:
\begin{equation}
\boxed{x^2+y^2 = z^2}
\end{equation}
|
Ukoliko želite da stavite ceo red ili više jednačina unutar “kutije”, koristite minipage unutar \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}
}
|
Takođe postoji matematički alat \Aboxed{}
Ovo definiše novu komandu, kojoj se možemo obratiti unutar tela:
\[
\argmax_c f(c)
\]
|
|
Naprednije formatiranje
[uredi]Limesi
[uredi]Postoje standardi za postavljanje sabskripti i superskripti. Na primer, granice za lim operaciju se uglavnom postavljaju ispod simbola:
\begin{equation}
\lim_{a\to \infty} \tfrac{1}{a}
\end{equation}
|
|
Kako biste oborili ovo ponašanje, koristite \nolimits
operaciju:
\begin{equation}
\lim\nolimits_{a\to \infty} \tfrac{1}{a}
\end{equation}
|
|
lim unutar teksta (unutar $...$
) će imati svoje granice postavljene sa strane, tako da dodatno rukovođenje neće biti potrebno. Kako bismo oborili ovo ponašanje, koristimo \limits
komandu.
Slična komanda može staviti sabskripte ispod simbola, koji ih uglavnom imaju sa strane:
\begin{equation}
\int_a^b x^2 \mathrm{d} x
\end{equation}
|
|
Granice ispod i iznad:
\begin{equation}
\int\limits_a^b x^2 \mathrm{d} x
\end{equation}
|
|
Kako biste promenili uobičajna mesta, sa strane, simbola za računanje sume za svaki slučaj, dodajte nosumlimits opciju u amsmath paketu. Kako biste promenili mesta integralnih simbola, dodajte intlimits među opcije. nonamelimits se može koristiti za promenu uobičajno nazvanih operacija kao što je det, min, lim, itd.
Za stvaranje jednostranih granica, koristite \underset
kao što sledi:
\begin{equation}
\lim_{a \underset{>}{\to} 0} \frac{1}{a}
\end{equation}
|
|
Sabskripte i superskripte
[uredi]Možete staviti simbole u superskripte ili sabskripte (u simbolima za računanje suma) uz pomoć \nolimits
:
\begin{equation}
\sum\nolimits' C_n
\end{equation}
|
|
Nemoguće je pomešati ih sa tipičnom upotrebom takvih simbola:
\begin{equation}
\sum_{n=1}\nolimits' C_n
\end{equation}
|
|
Kako biste dodali i početak i kraj simbolu, možete koristiti \sideset
komandu:
\begin{equation}
\sideset{}{'}\sum_{n=1}C_n
\end{equation}
|
|
Veoma je fleksibilno: na primer, za ubacivanje slova u svaki ugao simbola koristite ovu komandu:
\begin{equation}
\sideset{_a^b}{_c^d}\sum
\end{equation}
|
|
Ako želite da ih stavite u ugao proizvoljnih simbola, treba da koristite \fourIdx
iz fouridx paketa.
Ali jednosostavno grupisanje, takođe, može rešiti ovaj problem:
\begin{equation}
{\sum\limits_{n=1} }'C_n
\end{equation}
|
|
pošto se matematičke operacije mogu koristiti sa i bez granica. Ako želite da mu promenite stanje, jednostavno ga grupišite. Ako želite, od njega možete napraviti drugu matematičku operaciju, i onda možete imati granice i opet granice.
Višeredne sabskripte
[uredi]Kako biste napravili višeredne sabskripte, koristite \substack
komandu:
\begin{equation}
\prod_{\substack{
1\le i \le n\\
1\le j \le m}}
M_{i,j}
\end{equation}
|
|
Tekst u poravnatom matematičkom prikazu
[uredi]Kako biste dodali male uskličnike u matematičko okruženje, koristite \intertext
komandu:
\begin{minipage}{3in}
\begin{align*}
\intertext{If}
A &= \sigma_1+\sigma_2\\
B &= \rho_1+\rho_2\\
\intertext{then}
C(x) &= e^{Ax^2+\pi}+B
\end{align*}
\end{minipage}
|
Primetite da bilo kakvo korišćenje ove komande ne menja poravnanje.
Takođe, u primeru iznad, komanda \shortintertext{}
iz mathtools paketa, se mogla koristiti umesto “intertext”-a, kako bi redukovala količinu vertikalno belog prostora između redova.
Menjanje veličine fonta
[uredi]Može doći vreme kada ćete želeti da imate kontrolu oko veličine fonta. Na primer, korišćenje matematike tekstualnog moda, po “difoltu” običan razlomak će ovako izgledai: , a želite da ga pokaže većeg, kao kad je u “prikaz” modu, ali da još uvek bude unutar reda, ovako: .
Jednostavan pristup je da se iskoriste unapred definisane veličine za matematičke elemenate:
Komanda veličine | Opis |
---|---|
\displaystyle
|
Veličina za jednačine u režimu prikaza |
\textstyle
|
Veličina za jednačine u tekstualnom modu |
\scriptstyle
|
Veličina za prve sab/superskripte |
\scriptscriptstyle
|
Veličina za sledeće sab/superskripte |
Klasičan primer za ovo jeste kucanje nastavljenog razlomka. Sledeći kod je primer:
\begin{equation}
x = a_0 + \frac{1}{a_1 + \frac{1}{a_2 + \frac{1}{a_3 + a_4}}}
\end{equation}
|
|
Kao što možete videti, kako se razlomci nastavlja, postaju sve manji (mada, neće biti manji od ovih u primeru, gde su oni dosegli \scriptstyle
granicu). Ako želite da veličina bude konstantna, možete postaviti da svaki razlomak koristi ”display style” ; npr.
\begin{equation}
x = a_0 + \frac{1}{\displaystyle a_1
+ \frac{1}{\displaystyle a_2
+ \frac{1}{\displaystyle a_3 + a_4}}}
\end{equation}
|
|
Drugi pristup jeste korišćenje \DeclareMathSizes
komande, kako biste izabrali željenu veličinu. Jedino možete definisati veličine za \displaystyle
, \textstyle
, itd. Jedna, potencijalna, mana jeste ta da komanda postavlja globalne matematičke veličine, koje mogu biti korišćene jedino u uvodu dokumenta.
Ali je veoma lako za korišćenje: \DeclareMathSizes{ds}{ts}{ss}{sss}
, gde je ds display size, ts je text size, itd. Vrednosti koje unosite se smatraju kao “pt” veličine.
Imajte na umu, da se promene samo odvijaju ako vrednost u prvom argumentu odgovara trenutnoj veličini teksta dokumenta. Stoga je uobičajeno da se vidi niz deklaracija u uvodu, kako bi se glavni font promenio. Npr.,
\DeclareMathSizes{10}{18}{12}{8} % За величину 10
\DeclareMathSizes{11}{19}{13}{9} % За величину 11
\DeclareMathSizes{12}{20}{14}{10} % За величину 12
|
Forsiranje \displaystyle-a za svu matematiku u dokumentu
[uredi]Stavite:
\everymath{\displaystyle}
|
pre
\begin{document}
|
kako biste svu matematiku “isforsirali” u
\displaystyle
|
.
Podešavanje vertikalnog belog prostora oko prikazane matematike
[uredi]Postoje 4 parametra koja kontrolišu vertikalni beo prostor oko prikazane matematike:
\abovedisplayskip=12pt
\belowdisplayskip=12pt
\abovedisplayshortskip=0pt
\belowdisplayshortskip=7pt
|
Kratki propusti se koriste ako se prethodni red završava, horizontalno, pre formule. Ovi parametri se moraju postaviti posle
\begin{document}
|
.
Beleške
[uredi]