LaTeX/Напреднија математика
Ова страница описује нека напреднија коришћења математике у LaTeXу. Конкретно, највише користи “AMS-LaTeX” пакете, које је обезбедило Амреричко друштво математичара.
Нумерисање једначина
[уреди]equation
окружење аутоматски нумеризује једначине:
\begin{equation}
f(x)=(x+a)(x+b)
\end{equation}
|
|
Такође, можете користити \label
и \ref
(или \eqref
из amsmath пакета) команде да бисте редом означили и нумерисали једначине. За једначину број 1, \ref
резултат у и \eqref
резултат у :
\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$.
|
|
Даље информације можете пронаћи у поглављу Ознаке и референцирање.
Како би нумерација пратила наслове и поднаслове, морате користити amsmath пакет или “AMS” класну документацију. Онда унесите
\numberwithin{equation}{section}
|
у увод, како бисте добили нумерацију на нивоу наслова или
\numberwithin{equation}{subsection}
|
како би нумерацију вратили на ниво поднаслова.
\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}
|
|
Ако стил који користите захтева стављање тачака после редних бројева (нпр. као што се то захтева у пољској типографији, \numberwithin{equation}{subsection}
команда, у уводу, ће резултирати да бројеви једначина, у примеру изнад буду написани као следећи: (1.1..1).
Како бисте избацили дупликат тачку, одмах након тога додајте следећу команду \numberwithin{equation}{section}
:
\renewcommand{\theequation}{\thesection\arabic{equation}}
|
За шему нумерисања коришћењем \numberwithin{equation}{subsection}
, употребите:
\renewcommand{\theequation}{\thesubsection\arabic{equation}}
|
у уводу вашег документа.
Приметити: Иако можда изгледа као да \renewcommand
ради сама од себе, неће ресетовати број једначина у сваком наслову. Мора се користити заједно са ручним ресетовањем бројева једначина после почетка сваког новог наслова, или са много чистијим \numberwithin
.
Подређено нумерисање једначина
[уреди]Како бисте нумерисали подређене једначине у нумерисаном окружењу једначина, тај део документа у subequations окружењеt:
\begin{subequations}
Максвелова једначина:
\begin{align}
B'&=-\nabla \times E,\\
E'&=\nabla \times B - 4\pi j,
\end{align}
\end{subequations}
|
|
Референцирање подређених једначина може бити урађено било којом од две методе: додавањем ознаке после \begin{subequations}
команде, што ће риференцирати главну једначину (1.1 изнад), или додавањем ознаке на крају сваког реда, пре \\
команде, што ће риференцирати подређене једначине (1.1a или 1.1b изнад). Могуће је додати обе ознаке, у случају да су оба типа риференцирања потребна.
Вретикално усклађивање приказане математике
[уреди]Проблем, који се често појављивао са приказаним окружењима, (displaymath и equation), јесте немогућност обухватања вишеструких редова. Док је могуће дефинисати редове индивидуално, али то их неће ускладити.
Изнад и испод
[уреди]\overset
и \underset
команде пишу симболе испод и изнад уписаних симбола "above" и "below" израза.
Без “AmsTex” исти резултат \overset
се може оджати уз помоћ \stackrel
.
Ово може посебно бити корисно за прављење нових бинарних релација:
\[
A \overset{!}{=} B; A \stackrel{!}{=} B
\]
|
|
или да се прикаже употреба Лопиталовог правила.:
\[
\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}}
\]
|
|
Згодно је дефинисати нови оператор који ће ставити знак једнакости између “H” и обезбеђене фракције:
\newcommand{\Heq}[1]{\overset{\left[#1\right]}{\underset{\mathrm{H}}{=}}}
|
који редукује пример изнад:
\[
\lim_{x\to 0}{\frac{e^x-1}{2x}}
\Heq{\frac{0}{0}}
\lim_{x\to 0}{\frac{e^x}{2}}={\frac{1}{2}}
\]
|
Ако је циљ коментарисати одређене делове једначина, \overbrace
и \underbrace
команде могу бити корисније. Међутим, оне имају другачију синтаксу (и могу се поравнати \vphantom
командом):
\[
z = \overbrace{
\underbrace{x}_\text{real} + i
\underbrace{y}_\text{imaginary}
}^\text{complex number}
\]
|
|
Понекад је коментар дужи од формуле која се коментарише, што може проузроковати проблем са размацима. Ово се може отклонити коришћењем \mathclap
команде[1]:
\[
y = a + f(\underbrace{b x}_{
\ge 0 \text{ by assumption}})
= a + f(\underbrace{b x}_{
\mathclap{\ge 0 \text{ by assumption}}})
\]
|
Алтернативно, за употребу заграда користите \underbracket
и \overbracket
команде[1]:
\[
z = \overbracket[3pt]{
\underbracket{x}_{\text{real}} +
\underbracket[0.5pt][7pt]{iy}_{\text{imaginary}}
}^{\text{complex number}}
\]
|
Опциони аргументи постављају редом дебљину и висину заграда:
\underbracket[rule thickness][bracket height]{argument}_{text below}
|
\xleftarrow
и \xrightarrow
команде дају стрелице које продужују дужину текста. Опет, синтакса је другачија: опциони аргумент (користи [
и ]
) прецизира сабскипту, и обавезан аргумент (користи {
and }
) прецизира суперскрипту (што се може оставити празно убацивањем празног простора).
\[
A \xleftarrow{\text{this way}} B
\xrightarrow[\text{or that way}]{ } C
\]
|
|
За још проширених стрелица, морате користити mathtools пакет:
\[
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\\
\]
|
и за харпуне:
\[
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 и align*
[уреди]align и align* окружења, омогућена кроз amsmath пакет, се користе за аранжирање једначина, које се простиру кроз више редова. За матрице и табеле, \\
прецизира “ломљење” редова, и &
се користи да укаже тачку у којој би редови требало да буду поравнати.
align* окружење се користи као displaymath или equation* окружење:
\begin{align*}
f(x) &= (x+a)(x+b) \\
&= x^2 + (a+b)x + ab
\end{align*}
|
|
Приметити да align окружење не мора бити “угнежђено” унутар equation (или сличног) окружења. Уместо тога, align је замена за таква окружења; садржај унутар align се аутоматски ставља унутар математичког мода.
align* потискује нумеризацију. Како бисте присилили нумеризацију специфичног реда, користите \tag{...}
команду пре “ломљења” реда.
align је слично, али аутоматски нумеризује сваки ред као и equation окружење. Можемо се позивати на појединачне редове уметањем \label{...}
пре паузе реда. \nonumber
или \notag
команда се може користити за потискивање датог реда:
\begin{align}
f(x) &= x^4 + 7x^3 + 2x^2 \nonumber \\
&\qquad {} + 10x + 12
\end{align}
|
|
Приметите да смо додали мало увлачења у другом реду. Такође, морамо убацити дупле заграде ({}
) пре + знака, иначе LaTeX неће направити исправан размак после знака + . За ралог за ово јесте да, без заграда, LaTeX интерпретира знак + као унарног оператора, уместо бинарног, какав он заправо јесте.
Могућа су и компликованија равнаља, са додатним &
на једном реду, наводећи вишеструке "колоне једначина", од којих је свака поравната. Следећи пример илуструје правило поравнања align* окружења:
\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*}
|
|
Заграде које овухватају више редова
[уреди]Ако желите да се заграда настави на следећи ред, урадите следеће:
\begin{align}
f(x) &= \pi \left\{ x^4 + 7x^3 + 2x^2 \right.\nonumber\\
&\qquad \left. {} + 10x + 12 \right\}
\end{align}
|
|
У овој конструкцији, величине леве и десне заграде нису аутоматски једнаке, упркос употребе \left\{
и \right\}
. Ово је зато што је сваки ред записан као потпуно одвојена једначина —приметите употребу \right.
и \left.
тако да нема неупарених \left
и \right
команди, унутар реда (ово није потребно ако је формула у једном реду). Можете контролисати, ручно, величину заграда уз помоћ \big
, \Big
, \bigg
, и \Bigg
команди.
Алтернативно, висина више једначине може бити замењена у другу коришћењем \vphantom
команде:
\begin{align}
A &= \left(\int_t XXX \right.\nonumber\\
&\qquad \left.\vphantom{\int_t} YYY \dots \right)
\end{align}
|
|
Коришћење поравнатих заграда за функције у више делова
[уреди]Такође, можете користити \left\{
и \right.
за писање оваквих функција:
\[f(x) = \left\{
\begin{array}{lr}
x^2 & : x < 0\\
x^3 & : x \ge 0
\end{array}
\right.
\]
|
|
cases окружење
[уреди]cases окружење дозвољава писање вишеделних функција;
\[
u(x) =
\begin{cases}
\exp{x} & \text{if } x \geq 0 \\
1 & \text{if } x < 0
\end{cases}
\]
|
|
LaTeX ће се онда побринути за дефинисање и поравнање колона.
Унутар cases, математички стил текста се користи са резултатом као што је:
Приказани стил се може користити уместо претходног, уз dcases окружење[1] из mathtools:
\[
a =
\begin{dcases}
\int x\, \mathrm{d} x\\
b^2
\end{dcases}
\]
|
|
Често се друга колона састоји од нормалног текста. Да би био намештен у нормалан римски фонт документа, може се користити dcases* окружење:[1]
\[
f(x) = \begin{dcases*}
x & when $x$ is even\\
-x & when $x$ is odd
\end{dcases*}
\]
|
|
Друга окружења
[уреди]Иако су најкориснија окружења align and align* , постоје, такође, још неколико окружења која могу бити од користи:
Име окружења | Опис | Белешке |
---|---|---|
eqnarray и eqnarray* | Слично align и align* | Нису препоручљива, јер су размаци неконстанти |
multline и multline* | Први ред лево поравнат, последљи ред десно поравнат | Број једначине је вертикално поравнат са првим редом и није центриран као код осталих окружења |
gather и gather* | Везане једначине без поравнања | |
flalign и flalign* | Слично align, али лево поравната прва колона једначине, а десно поравната последња колона | |
alignat и alignat* | Узима аргумент који карактерише број колона. Дозвољава контролу хоризонталних размака између једначина. | Ово окружење узима један аргумент, број “колона једначине”: броји максималан број & у било ком реду , додаје 1 и дели са 2. [1]
|
Такође, постоји неколико окружења, која не формирају математичко окружење сами од себе, и могу бити коришћена за прављење блокова за сложене структуре:
Име математичког окружења | Опис |
---|---|
gathered | Дозвољава прикупљање једначина како би се поставиле једна испод друге и даје им један број. |
split | Слично align*, али се користи унутар другог математичког окружења. |
aligned | Слично align, користи се унутар другог математичког окружења. |
alignedat | Слично alignat, и као такво узима додатни аргумент који спецификује број колона једначина које треба поставити. |
На пример:
\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*}
|
Увучене једначине
[уреди]Како бисте увуклу једначину, можете поставити fleqn у класу документа и онда одредити посебну вредност за \mathindent
варијаблу:
\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! |
}
Прекид страна у математичком окружењу
[уреди]Да бисте наговестили LaTeX-у да убаци “ломљење” стране унутар amsmath окружења, можете користити \displaybreak
команду пре “ломљења” реда. Као и са \pagebreak
, \displaybreak
може узети опциони аргумент између 0 и 4, који означава ниво жеље “ломљења” стране. Где 0 значи "допуштено је да се ломи овде", а 4 присиљава “ломљење”. Без аргумената је исто као и 4.
Алтернативно, можете омогућити аутоматско “ломљење” стране у математичком окружењу са \allowdisplaybreaks
. Он исто може имати опциони аргумент који означава приоритет “ломљења” стране у једначинама. Слично томе, 1 значи "дозволи ломљење стране, али је избегавај" и 4 значи "ломи кад год хоћеш". Можете забранити ломљење стране после датог реда коришћењем \\*
.
LaTeX ће унети “ломљење” стране у дугачким једначинама, ако постоји текст унет преко \intertext{}
:
\begin{equation}
\boxed{x^2+y^2 = z^2}
\end{equation}
|
Уколико желите да ставите цео ред или више једначина унутар “кутије”, користите minipage унутар \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}
}
|
Такође постоји математички алат \Aboxed{}
Ово дефинише нову команду, којој се можемо обратити унутар тела:
\[
\argmax_c f(c)
\]
|
|
Напредније форматирање
[уреди]Лимеси
[уреди]Постоје стандарди за постављање сабскрипти и суперскрипти. На пример, границе за lim операцију се углавном постављају испод симбола:
\begin{equation}
\lim_{a\to \infty} \tfrac{1}{a}
\end{equation}
|
|
Како бисте оборили ово понашање, користите \nolimits
операцију:
\begin{equation}
\lim\nolimits_{a\to \infty} \tfrac{1}{a}
\end{equation}
|
|
lim унутар текста (унутар $...$
) ће имати своје границе постављене са стране, тако да додатно руковођење неће бити потребно. Како бисмо оборили ово понашање, користимо \limits
команду.
Слична команда може ставити сабскрипте испод симбола, који их углавном имају са стране:
\begin{equation}
\int_a^b x^2 \mathrm{d} x
\end{equation}
|
|
Границе испод и изнад:
\begin{equation}
\int\limits_a^b x^2 \mathrm{d} x
\end{equation}
|
|
Како бисте променили уобичајна места, са стране, симбола за рачунање суме за сваки случај, додајте nosumlimits опцију у amsmath пакету. Како бисте променили места интегралних симбола, додајте intlimits међу опције. nonamelimits се може користити за промену уобичајно названих операција као што је det, min, lim, итд.
За стварање једностраних граница, користите \underset
као што следи:
\begin{equation}
\lim_{a \underset{>}{\to} 0} \frac{1}{a}
\end{equation}
|
|
Сабскрипте и суперскрипте
[уреди]Можете ставити симболе у суперскрипте или сабскрипте (у симболима за рачунање сума) уз помоћ \nolimits
:
\begin{equation}
\sum\nolimits' C_n
\end{equation}
|
|
Немогуће је помешати их са типичном употребом таквих симбола:
\begin{equation}
\sum_{n=1}\nolimits' C_n
\end{equation}
|
|
Како бисте додали и почетак и крај симболу, можете користити \sideset
команду:
\begin{equation}
\sideset{}{'}\sum_{n=1}C_n
\end{equation}
|
|
Веома је флексибилно: на пример, за убацивање слова у сваки угао симбола користите ову команду:
\begin{equation}
\sideset{_a^b}{_c^d}\sum
\end{equation}
|
|
Ако желите да их ставите у угао произвољних симбола, треба да користите \fourIdx
из fouridx пакета.
Али једносоставно груписање, такође, може решити овај проблем:
\begin{equation}
{\sum\limits_{n=1} }'C_n
\end{equation}
|
|
пошто се математичке операције могу користити са и без граница. Ако желите да му промените стање, једноставно га групишите. Ако желите, од њега можете направити другу математичку операцију, и онда можете имати границе и опет границе.
Вишередне сабскрипте
[уреди]Како бисте направили вишередне сабскрипте, користите \substack
команду:
\begin{equation}
\prod_{\substack{
1\le i \le n\\
1\le j \le m}}
M_{i,j}
\end{equation}
|
|
Текст у поравнатом математичком приказу
[уреди]Како бисте додали мале ускличнике у математичко окружење, користите \intertext
команду:
\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}
|
Приметите да било какво коришћење ове команде не мења поравнање.
Такође, у примеру изнад, команда \shortintertext{}
из mathtools пакета, се могла користити уместо “intertext”-а, како би редуковала количину вертикално белог простора између редова.
Мењање величине фонта
[уреди]Може доћи време када ћете желети да имате контролу око величине фонта. На пример, коришћење математике текстуалног мода, по “дифолту” обичан разломак ће овако изгледаи: , а желите да га покаже већег, као кад је у “приказ” моду, али да још увек буде унутар реда, овако: .
Једноставан приступ је да се искористе унапред дефинисане величине за математичке елеменате:
Команда величине | Опис |
---|---|
\displaystyle
|
Величина за једначине у режиму приказа |
\textstyle
|
Величина за једначине у текстуалном моду |
\scriptstyle
|
Величина за прве саб/суперскрипте |
\scriptscriptstyle
|
Величина за следеће саб/суперскрипте |
Класичан пример за ово јесте куцање настављеног разломка. Следећи код је пример:
\begin{equation}
x = a_0 + \frac{1}{a_1 + \frac{1}{a_2 + \frac{1}{a_3 + a_4}}}
\end{equation}
|
|
Као што можете видети, како се разломци наставља, постају све мањи (мада, неће бити мањи од ових у примеру, где су они досегли \scriptstyle
границу). Ако желите да величина буде константна, можете поставити да сваки разломак користи ”display style” ; нпр.
\begin{equation}
x = a_0 + \frac{1}{\displaystyle a_1
+ \frac{1}{\displaystyle a_2
+ \frac{1}{\displaystyle a_3 + a_4}}}
\end{equation}
|
|
Други приступ јесте коришћење \DeclareMathSizes
команде, како бисте изабрали жељену величину. Једино можете дефинисати величине за \displaystyle
, \textstyle
, итд. Једна, потенцијална, мана јесте та да команда поставља глобалне математичке величине, које могу бити коришћене једино у уводу документа.
Али је веома лако за коришћење: \DeclareMathSizes{ds}{ts}{ss}{sss}
, где је ds display size, ts је text size, итд. Вредности које уносите се сматрају као “pt” величине.
Имајте на уму, да се промене само одвијају ако вредност у првом аргументу одговара тренутној величини текста документа. Стога је уобичајено да се види низ декларација у уводу, како би се главни фонт променио. Нпр.,
\DeclareMathSizes{10}{18}{12}{8} % За величину 10
\DeclareMathSizes{11}{19}{13}{9} % За величину 11
\DeclareMathSizes{12}{20}{14}{10} % За величину 12
|
Форсирање \displaystyle-а за сву математику у документу
[уреди]Ставите:
\everymath{\displaystyle}
|
пре
\begin{document}
|
како бисте сву математику “исфорсирали” у
\displaystyle
|
.
Подешавање вертикалног белог простора око приказане математике
[уреди]Постоје 4 параметра која контролишу вертикални бео простор око приказане математике:
\abovedisplayskip=12pt
\belowdisplayskip=12pt
\abovedisplayshortskip=0pt
\belowdisplayshortskip=7pt
|
Кратки пропусти се користе ако се претходни ред завршава, хоризонтално, пре формуле. Ови параметри се морају поставити после
\begin{document}
|
.
Белешке
[уреди]