Áttekintés
A MathJax a Latex-es egyenletszerkesztő, ami általánosabb szabvánnyá nőtte ki magát. Latex-ben a következőképpen tudunk egyenletet beszúrni:
\begin{equation}
3+2=5
\end{equation}
Közvetlenül HTML kódba is bírhatjuk, ha betöltjük a https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-chtml.js JavaScript modult, majd folyószövegben \(…\), kiemelve $$…$$ közé írjuk:
<html>
<head>
<script src="https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-chtml.js"></script>
</head>
<body>
Folyószövegben \(3+2=5\). Kiemelve:
$$3+2=5$$
</body>
</html>
A Wikidot oldalon az alábbi módszert alkalmazhatjuk:
[[math]]
3+2=5
[[/math]]
Az eredmény:
(1)Ez esetben mindenképpen új sorba kerül, középre, és sorszámot kap. Ha ezt nem szeretnénk (pl. folyószövegbe szeretnénk írni, vagy balra igazítva, sorszámozás nélkül), akkor a következőt alkalmazhatjuk:
[[$ 3+2=5 $]]
Az eredmény:
$3+2=5$
A neten fellelhető hasznos anyagok:
A LaTeX matematikája nagyon jól dokumentált:
- https://docs.mathjax.org/en/latest/index.html
- https://en.wikibooks.org/wiki/LaTeX/Mathematics
- http://www.onemathematicalcat.org/MathJaxDocumentation/TeXSyntax.htm: ez egy igen részletes táblázat a lehetőségekről
- https://math.meta.stackexchange.com/questions/5020/mathjax-basic-tutorial-and-quick-reference (egy Stack Exchange kérdésként szerintem a legjobb összefoglaló, válasz nélkül)
- https://www.physicsoverflow.org/15329/mathjax-basic-tutorial-and-quick-reference (hasonló az előzőh9z, kicsit kibővítve)
Általános elvek
Az alábbi általános elveket vegyük figyelembe:
- A műveletek elé visszaper jelet kell írni: \. Pl. \sqrt 2, eredmény: $\sqrt 2$.
- Csoportosítani a kapcsos zárójel ({…}) segítségével tudunk. Pl. \sqrt{25}, eredmény: $\sqrt{25}$.
- A speciális karakterek elé szintén visszaper jelet kell írni: \%, \&, \{, \}, \#, \$. Eredmény: $\%, \&, \{, \}, \#, \$$.
Szimbólumok
A matematikai képletek beírásakor elég gyorsan belefutunk abba a problémába, hogy a billentyűzeten a kívánt szimbólumot nem találjuk. Pl. hogyan írjuk le a végtelen (∞) szimbólumot? Ezt valójában kétféleképpen is be tudjuk szúrni:
- Mindegyiknek van egy visszaperrel kezdődő kódja, pl. a végtelen jelnek ez a \infty.
- Az unicode karakterkészlet szinte mindent tartalmaz közvetlenül. Elvileg ezt beírhatjuk az Alt kódokkal (Alt + a kódja a numerikus billentyűzeten), de ez nálam nem úgy működik, ahogy kellene.
- Az alábbi oldalról tudjuk a vágólapra másolni: https://copychar.cc/.
Az alábbi táblázat tartalmazza a legfontosabb szimbólumokat, az eredményt, a hozzá tartózó kódot, valamint közvetlenül a vágólapra másolható változatot.
Megnevezés | Szimbólum | Kód | Közvetlenül beírt karakter |
---|---|---|---|
Egyenlőségek és egyenlőtlenséget | |||
nem egyenlő | $\neq$ | \neq | ≠ |
közelítőleg | $\approx$ | \approx | ≈ |
nagyságrendileg | $\sim$ | \sim | ~ |
ekvivalens | $\equiv$ | \equiv | ≡ |
izomorf | $\cong$ | \cong | |
kisebb | $\lt$ | \lt | < |
nagyobb | $\gt$ | \gt | > |
kisebb vagy egyenlő | $\le$ | \le | ≤ |
nagyobb vagy egyenlő | $\ge$ | \ge | ≥ |
sokkal kisebb | $\ll$ | \ll | |
sokkal nagyobb | $\gg$ | \gg | |
Műveletek | |||
plusz-mínusz | $\pm$ | \pm | ± |
mínusz-plusz | $\mp$ | \mp | |
szorzás | $\cdot$ | \cdot | ∙ |
mátrixszorzás | $\times$ | \times | × |
osztás | $\div$ | \div | ÷ |
karika | $\circ$ | \circ | |
Halmazműveletek | |||
unió | $\cup$ | \cup | ∪ |
metszet | $\cap$ | \cap | ∩ |
különbség | $\setminus$ | \setminus | \ |
valódi részhalmaz | $\subset$ | \subset | |
részhalmaz | $\subseteq$ | \subseteq | |
valódi részhalmaz | $\subsetneq$ | \subsetneq | |
nagyobb halmaz | $\supset$ | \supset | |
eleme | $\in$ | \in | |
nem eleme | $\notin$ | \notin | |
üres halmaz | $\emptyset$ | \emptyset | |
üres halmaz | $\varnothing$ | \varnothing | |
Logika | |||
és | $\land$ | \land | ∧ |
vagy | $\lor$ | \lor | ∨ |
nem | $\lnot$ | \lnot | ¬ |
minden | $\forall$ | \forall | ∀ |
létezik | $\exists$ | \exists | |
igaz | $\top$ | \top | |
hamis | $\bot$ | \bot | |
következik | $\vdash$ | \vdash | |
Nyilak, pontok | |||
jobbra nyíl | $\to$ | \to | → |
jobbra nyíl | $\rightarrow$ | \rightarrow | → |
balra nyíl | $\leftarrow$ | \leftarrow | ← |
következtetés jobbra | $\Rightarrow$ | \Rightarrow | ⇒ |
következtetés balra | $\Leftarrow$ | \Leftarrow | |
leképezés | $\mapsto$ | \mapsto | |
felsorolás | $x_1, \ldots, x_n$ | x_1, \ldots, x_n | … |
középső pontok | $x_1 + \cdots + x_n$ | x_1 + \cdots + x_n | |
Görög kisbetűk | |||
alfa | $\alpha$ | \alpha | α |
béta | $\beta$ | \beta | β |
gamma | $\gamma$ | \gamma | γ |
delta | $\delta$ | \delta | δ |
epszilon | $\epsilon$, $\varepsilon$ | \epsilon, \varepsilon | ϵ, ε |
dzéta | $\zeta$ | \zeta | ζ |
éta | $\eta$ | \eta | η |
théta | $\theta$, $\vartheta$ | \theta, \vartheta | θ, ϑ |
ióta | $\iota$ | \iota | ι |
kappa | $\kappa$ | \kappa | κ |
lambda | $\lambda$ | \lambda | λ |
mű | $\mu$ | \mu | μ |
nű | $\nu$ | \nu | ν |
kszí | $\xi$ | \xi | ξ |
omikron | $\omicron$ | \omicron | ο |
pí | $\pi$, $\varpi$ | \pi, \varpi | π, ϖ |
ró | $\rho$, $\varrho$ | \rho, \varrho | ρ, ϱ |
szigma | $\sigma$, $\varsigma$ | \sigma, \varsigma | σ, ς |
tau | $\tau$ | \tau | τ |
üpszilon | $\upsilon$ | \upsilon | υ |
fí | $\phi$, $\varphi$ | \phi, \varphi | ϕ, φ |
khí | $\chi$ | \chi | χ |
pszí | $\psi$ | \psi | ψ |
ómega | $\omega$ | \omega | ω |
Görög nagybetűk | |||
Alfa | $\mathrm{A}$ | \mathrm{A} | Α |
Béta | $\mathrm{B}$ | \mathrm{B} | Β |
Gamma | $\Gamma$ | \Gamma | Γ |
Delta | $\Delta$ | \Delta | Δ |
Epszilon | $\mathrm{E}$ | \mathrm{E} | Ε |
Dzéta | $\mathrm{Z}$ | \mathrm{Z} | Ζ |
Éta | $\mathrm{H}$ | \mathrm{H} | Η |
Théta | $\Theta$ | \Theta | Θ |
Ióta | $\mathrm{I}$ | \mathrm{I} | Ι |
Kappa | $\mathrm{K}$ | \mathrm{K} | Κ |
Lambda | $\Lambda$ | \Lambda | Λ |
Mű | $\mathrm{M}$ | \mathrm{M} | Μ |
Nű | $\mathrm{N}$ | \mathrm{N} | Ν |
Kszí | $\Xi$ | \Xi | Ξ |
Omikron | $\mathrm{O}$ | \mathrm{O} | Ο |
Pí | $\Pi$, $\varPi$ | \Pi, \varPi | Π |
Ró | $\mathrm{P}$ | \mathrm{P | Ρ |
Szigma | $\Sigma$ | \Sigma | Σ |
Tau | $\mathrm{T}$ | \mathrm{T} | Τ |
Üpszilon | $\Upsilon$ | \Upsilon | Υ |
Fí | $\Phi$ | \Phi | Φ |
Khí | $\mathrm{X}$ | \mathrm{X} | Χ |
Pszí | $\Psi$ | \Psi | Ψ |
Ómega | $\Omega$ | \Omega | Ω |
Egyéb szimbólumok | |||
végtelen | $\infty$ | \infty | ∞ |
alef | $\aleph$ | \aleph | |
nabla | $\nabla$ | \nabla | ∇ |
parciális deriválás | $\partial$ | \partial | ∂ |
valós rész | $\Re$ | \Re | |
képzetes rész | $\Im$ | \Im | |
írott l | $\ell$ | \ell | ℓ |
Módosítók
Az alábbi módszerek módosítják a szimbólumok kinézetét. Mindegyike esetben alkalmazható a kapcsos zárójel.
Megnevezés | Eredmény | Kód |
---|---|---|
alsó index | $x_i$ | x_i |
felső index | $x^2$ | x^2 |
kalap | $\hat x$ | \hat x |
felülvonás | $\bar x$ | \bar x |
vektor | $\vec x$ | \vec x |
felső nyíl | $\overrightarrow x$ | \overrightarrow x |
pont a karakter felett | $\dot x$ | \dot x |
két pont a karakter felett | $\ddot x$ | \ddot x |
Összetett műveletek
Megnevezés | Eredmény | Képlet |
---|---|---|
hatványozás | $x^2$ | x^2 |
hatványozás | $x^{10}$ | x^{10} |
gyökvonás | $\sqrt 2$ | \sqrt 2 |
gyökvonás | $\sqrt{25}$ | \sqrt{25} |
gyökvonás | $\sqrt[3]{27}$ | \sqrt[3]{27} |
tört | $\frac23$ | \frac23 |
tört | $\frac{15}{50}$ | \frac{15}{50} |
tört | ${15 \over 50}$ | {15 \over 50} |
tört | $a=\frac{\frac{b}{c}}{\frac{d}{e}}$ | a=\frac{\frac{b}{c}}{\frac{d}{e}} |
binomiális | $\binom{n}{k}$ | \binom{n}{k} |
binomiális | ${n \choose k}$ | {n \choose k} |
összeg | $\sum{x_i}$ | \sum{x_i} |
összeg | $\sum_{i=1}^{n}{x_i}$ | \sum_{i=1}^{n}{x_i} |
összeg | $\sum\limits_{i=1}^{n}{x_i}$ | \sum\limits_{i=1}^{n}{x_i} |
szorzat | $\prod\limits_{i=1}^{n}{x_i}$ | \prod\limits_{i=1}^{n}{x_i} |
integrál | $\int x^2 dx$ | \int x dx |
integrál | $\int_0^3 x^2 dx$ | \int_0^3 x^2 dx |
integrál | $\int\limits_0^3 x^2 dx$ | \int\limits_0^3 x^2 dx |
integrál | $\int\limits_{-100}^{100} x^2 dx$ | \int\limits_{-100}^{100} x^2 dx |
metszet | $\bigcap\limits_{i=1}^n A_i$ | \bigcap\limits_{i=1}^n A_i |
unió | $\bigcup\limits_{i=1}^n A_i$ | \bigcup\limits_{i=1}^n A_i |
határérték | $\lim\limits_{x\to\infty}{2x\over x+1}$ | \lim\limits_{x\to\infty}{2x\over x+1} |
Függvények
A MathJax alapértelmezésben dőlt betűsen szedi a karaktereket, mintha minden beírt karakter változó lenne, valamint a szóközöket is törli. Ez zavaró akkor, ha a karakterek függvényt jelentenek, és nem változót. Pl.
sin x
eredménye:
$sin x$
Ez nem az, amit akartunk. A MathJax tartalmazza beépítve a leggyakoribb függvényeket, melyeket visszaperrel lehet beírni:
\sin x
ennek eredménye:
$\sin x$
Lássuk a legfontosabbakat!
Megnevezés | Eredmény | Képlet |
---|---|---|
szinusz | $\sin x$ | \sin x |
koszinusz | $\cos x$ | \cos x |
tangens | $\tan x$ | \tan x |
kotangens | $\cot x$ | \cot x |
szekáns | $\sec x$ | \sec x |
koszekáns | $\csc x$ | \csc x |
arkusz szinusz | $\arcsin x$ | \arcsin x |
arkusz koszinusz | $\arccos x$ | \arccos x |
arkusz tangens | $\arctan x$ | \arctan x |
hiperbolikus szinusz | $\sinh x$ | \sinh x |
hiperbolikus koszinusz | $\cosh x$ | \cosh x |
hiperbolikus tangens | $\tanh x$ | \tanh x |
hiperbolikus kotangens | $\coth x$ | \coth x |
logaritmus | $\log_2 8 = 3$ | \log_2 8 = 3 |
tízes alapú logaritmus | $\lg 100 = 2$ | \lg 100 = 2 |
természetes alapú logaritmus | $\ln e^x = x$ | \ln e^x = x |
maradék képzés | $m \mod n$ | m \mod n |
maradékosztály | $m \pmod n$ | m \pmod n |
minimum | $\min$ | \min |
maximum | $\max$ | \max |
határérték | $\lim$ | \lim |
Előfordulhat, hogy valamit függvényként szeretnénk írni, de a MathJax azt nem engedi. Pl. a fenti példákban a tangenst és kotangenst úgy írtuk, hogy \tan és \cot. Magyarországon viszont elsősorban a tg és ctg jelölést alkalmazzák, ám \tg ill. \ctg függvény nincs. Ahhoz, hogy legyen, be kell vezetni. A következő parancsokat kell bárhova beírni az oldalra (így, egy sorba):
\DeclareMathOperator{\tg}{tg}\DeclareMathOperator{\ctg}{ctg}
Ezt most itt is megtesszük, bár az eredmény láthatatlan.
$\DeclareMathOperator{\tg}{tg}\DeclareMathOperator{\ctg}{ctg}$
Ezután már ezeket is használhatjuk: \tg x ill. \ctg x, melynek eredményei $\tg x$ ill. $\ctg x$.
Furcsa, hogy a konstansoknak nem alakult ki külön jelölésük. A pí-t a \pi beírásával tudjuk használni, míg az e-t az e beírásával.
Szöveg beszúrása
Előfordulhat, hogy a képletbe folyószöveget szeretnénk beírni. Ezt a \text paranccsal tudjuk megtenni, pl.:
\frac{a+b}{c+d}\text{, ahol c+d nem 0}
melynek eredménye:
$\frac{a+b}{c+d}\text{, ahol c+d nem 0}$
Ha szövegen belül matematikai rész következik, akkor azt dollár jelek közé kell tenni. A fenti példa a következőképpen szép:
\frac{a+b}{c+d}\text{, ahol $c+d$ nem $0$}
melynek eredménye:
$\frac{a+b}{c+d}\text{, ahol $c+d$ nem $0$}$
A tapasztalatom az, hogy a képleten belüli szövegben az ékezeteket rosszul kezeli.
Különböző fontokat is alkalmazhatunk a képletben.
Megnevezés | Eredmény | Képlet |
---|---|---|
blackboard bold | $\mathbb{ABCDEFGHIJKLMNOPQRSTUVWXYZ}$ | \mathbb{ABCDEFGHIJKLMNOPQRSTUVWXYZ} |
$\mathbb{abcdefghijklmnopqrstuvwxyz}$ | \mathbb{abcdefghijklmnopqrstuvwxyz} | |
vastag | $\mathbf{ABCDEFGHIJKLMNOPQRSTUVWXYZ}$ | \mathbf{ABCDEFGHIJKLMNOPQRSTUVWXYZ} |
$\mathbf{abcdefghijklmnopqrstuvwxyz}$ | \mathbf{abcdefghijklmnopqrstuvwxyz} | |
írógép | $\mathtt{ABCDEFGHIJKLMNOPQRSTUVWXYZ}$ | \mathtt{ABCDEFGHIJKLMNOPQRSTUVWXYZ} |
$\mathtt{abcdefghijklmnopqrstuvwxyz}$ | \mathtt{abcdefghijklmnopqrstuvwxyz} | |
roman | $\mathrm{ABCDEFGHIJKLMNOPQRSTUVWXYZ}$ | \mathrm{ABCDEFGHIJKLMNOPQRSTUVWXYZ} |
$\mathrm{abcdefghijklmnopqrstuvwxyz}$ | \mathrm{abcdefghijklmnopqrstuvwxyz} | |
kalligrafikus | $\mathcal{ABCDEFGHIJKLMNOPQRSTUVWXYZ}$ | \mathcal{ABCDEFGHIJKLMNOPQRSTUVWXYZ} |
$\mathcal{abcdefghijklmnopqrstuvwxyz}$ | \mathcal{abcdefghijklmnopqrstuvwxyz} | |
nagy írott | $\mathscr{ABCDEFGHIJKLMNOPQRSTUVWXYZ}$ | \mathscr{ABCDEFGHIJKLMNOPQRSTUVWXYZ} |
gótikus | $\mathfrak{ABCDEFGHIJKLMNOPQRSTUVWXYZ}$ | \mathfrak{ABCDEFGHIJKLMNOPQRSTUVWXYZ} |
$\mathfrak{abcdefghijklmnopqrstuvwxyz}$ | \mathfrak{abcdefghijklmnopqrstuvwxyz} |
Zárójelek
A látszat ellenére zárójeleket (sem) nem egyszerű rajzolni, több okból kifolyólag is. Egyrészt a kapcsos zárójelnek speciális jelentése van, összefogja a benne levő dolgokat, aminek sok esetben van jelentősége (pl. mi tartozik a gyök alá). A másik probléma az, hogy jó lenne, ha a zárójel "nőne" a képlettel együtt, pl. egy tört esetén legyen nagyobb, mint ha nem lenne tört.
Vegyük a következő példát!
(\frac{a+b}{c+d})^2
melynek eredménye:
$(\frac{a+b}{c+d})^2$
Látható, hogy a zárójel kisebb mint amekkorára számítottunk. A megoldás: \left( és \right):
\left(\frac{a+b}{c+d}\right)^2
melynek eredménye:
$\left(\frac{a+b}{c+d}\right)^2$
Hasonlóan használhatjuk a kapcsos (\left{…\right}) és szögletes (\left[…\right]) zárójeleket is.
Ha egy kapcsos zárójelet arra szeretnénk használni, hogy egy függvény értékét intervallumonként adjunk meg, akkor a következő módszert alkalmazhatjuk:
|x|=\begin{cases}\
-x & \text{ha $x<0$} \\\
0 & \text{ha $x=0$} \\\
x & \text{ha $x>0$}\
\end{cases}
melynek eredménye:
$|x|=\begin{cases} -x & \text{ha $x<0$} \\ 0 & \text{ha $x=0$} \\ x & \text{ha $x>0$}\end{cases}$
Megjegyzés: Latex-ben mindegyik sorban eggyel kevesebb visszaper jelre van szükség; ezen a ponton eltér a Latex és a Wikidot.
Ha alul össze szeretnénk valamit fogni, akkor a következővel tudjuk megtenni:
b\cdot a = \underbrace{a+\cdots+a}_{b}
melynek eredménye:
$b\cdot a = \underbrace{a+\cdots+a}_{\text{$b$-szer}}$
Példák
Megnevezés | Eredmény | Képlet |
---|---|---|
a másodfokú egyenlet megoldóképlete | $x_{1,2}=\frac{-b\pm\sqrt{b^2-4\cdot a\cdot c}}{2\cdot a}$ | x_{1,2}=\frac{-b\pm\sqrt{b^2-4\cdot a\cdot c{2\cdot a}}} |
a normális eloszlás sűrűségfüggvénye | $f(x) = \frac{1}{\sigma\sqrt{2\pi}}\cdot e^{-\frac{(x-\mu)^2}{2\sigma^2}}$ | f(x) = \frac{1}{\sigma\sqrt{2\pi}}\cdot e^{-\frac{(x-\mu)^2}{2\sigma^2}} |
koszinusztétel | $\cos\gamma=\frac{a^2+b^2-c^2}{2\cdot a\cdot b}$ | \cos\gamma=\frac{a^2+b^2-c^2}{2\cdot a\cdot b} |
időfüggő Schrödinger-egyenlet 1 | $\left[ \frac{-\hbar^2}{2m}\nabla^2 + V(\mathbf{r}) \right] \Psi(\mathbf{r}) = E \Psi(\mathbf{r})$ | \left[ \frac{-\hbar^2}{2m}\nabla^2 + V(\mathbf{r}) \right] \Psi(\mathbf{r}) = E \Psi(\mathbf{r}) |
1 ezt másoltam a https://en.wikipedia.org/wiki/Schrödinger_equation oldalról
Hátrányai
Úgy tartom tisztességesnek, hogy essen szó a MathJax hátrányairól is. A következőket találtam:
- Nem egyszerű, sőt, kifejezetten összetett rendszerről van szó. Használatához mindenképpen szükséges a rendszernek legalább alapszintű elsajátítása.
- A forrás rosszul olvasható. Már egy közepes képlet is szinte áttekinthetetlen.
- Nem konzekvens. Helyenként másképp működik böngészőben mint Latex-ben.
- Bugos. Az ékezetes karaktereket rosszul kezeli; egy-egy felesleges szóköz vagy új sor érthetetlen hibákhoz vezet stb. Nem valószínű, hogy ezeket valaha is kijavítják.
- Az előzőekből adódik, hogy esetenként nehéz segítséget kapni. Mivel komplikált, kevesen foglalkoznak vele, így a neten fellelhető anyag is kevés, ráadásul azok döntő többsége Latex-ről szól, ami nem feltétlenül úgy működik más rendszerekben.
- A természetéből fakadóan esetenként lassú. Pl. ha egy weboldalon túl sok a képlet, akkor akár több másodpercre is "lefagyhat", amíg a JavaScript megformázza az eredményt.