Wikipedia:Formatul TeX
De la Wikipedia, enciclopedia liberă
[modifică] MediaWiki şi TeX
MediaWiki foloseşte un subset de marcaje TeX (incluzând unele extensii din LaTeX şi AMSLaTeX) pentru formule matematice. Generează imagini PNG sau marcaje HTML, depinzând de preferinţele utilizatorului şi de complexitatea expresiei. În viitor, odată ce mai multe browsere vor fi mai deştepte, va fi capabil să genereze HTML avansat sau chiar MathML în cele mai multe cazuri.
Mai precis, MediaWiki filtrează marcajele prin Texvc, care, la rândul lui, transmite comenzile lui TeX pentru transformare. Deci numai o parte din întregul limbaj TeX este suportat; vezi mai jos pentru detalii.
[modifică] Sintaxă
Marcajul math intră în interiorul <math> ... </math>
. Bara de butoane are unul pentru acesta.
Ca şi în HTML, în TeX spaţiile în plus şi liniile noi sunt ignorate.
Template-urile MediaWiki, variabilele şi parametrii nu pot fi folosite în cadrul marcajelor math, vezi model de de încercare de folosire a parametrilor în TeX.
[modifică] Transformare
Imaginile PNG sunt negru pe alb (nu transparente). Aceste culori, ca şi mărimile şi tipurile de font-uri, sunt independente de preferinţele browser-ului sau CSS. Mărimile şi tipurile font-urilor vor devia de obicei de la ceea ce HTML transformă. Alinierea pe verticală cu textul înconjurător poate fi de asemenea o problemă. Selectorul css al imaginilor este img.tex.
Atributul alt
al imaginilor PNG (textul care este afişat dacă browser-ul dv. nu poate afişa imaginea) este wikitext-ul care le-a produs, excluzând <math>
şi </math>
.
În afară de numele de funcţii şi operatori, cum se obişnuieşte în matematică, variabilele sunt scrise cu caractere cursive; numerele nu sunt. Alte texte (precum etichetele de variabile), pentru a evita transformarea în scris cursiv, necesită \mbox
sau \mathrm
. De exemplu, <math>\mbox{abc}</math>
arată astfel: abc.
[modifică] TeX vs HTML
Înainte de prezentarea marcajelor TeX pentru caracterele speciale, trebuie notat că, după cum arartă tabelul de comparaţie, uneori, rezultate similare pot fi obţinute şi în HTML (vezi Caractere speciale).
Sintaxă TeX (forţare PNG) | Transformare TeX | Sintaxă HTML | Transformare HTML |
---|---|---|---|
<math>\alpha\,</math> | ![]() |
α | α |
<math>\sqrt{2}</math> | ![]() |
√2 | √2 |
<math>\sqrt{1-e^2}</math> | ![]() |
√(1-''e''²) | √(1-e²) |
Folosirea HTML în locul TeX este încă în discuţie. Argumentele pro-HTML sau pro-TeX sunt punctate mai jos.
[modifică] Argumente pro-HTML
- Formulele in-line HTML se aliniază întotdeauna corect cu restul textului HTML.
- Fundalul formulei, stilul şi mărimea font-ului folosit se potriveşte cu restul conţinutului HTML şi respectă preferinţele selectate în CSS şi în browser.
[modifică] Argumente pro-TeX
- TeX este din punct de vedere semantic superior lui HTML. În TeX, „
<math>x</math>
” înseamnă „variabila matematică x”, pe când în HTML „x
” ar putea însemna orice. Informaţia este iremediabil pierdută. - TeX a fost în mod special creat pentru scrierea de formule, deci textul de introdus este mai simplu şi mai natural, iar rezultatul arată mult mai bine. De asemenea, cine a scris matematică la nivel profesional este deja familiarizat cu TeX.
- O consecinţă a punctului 1 este că TeX poate fi transformat în HTML, dar nu invers. Asta înseamnă că pe server putem oricând transforma o formulă, bazându-ne pe complexitatea ei, pe poziţia din text, preferinţele utilizatorului, tipul browser-ului etc. Aşa că, unde este posibil, toate beneficiile HTML pot fi reţinute, împreună cu cele ale TeX. Este adevărat că situaţia de faţă nu este ideală, dar aceasta nu este un motiv suficient pentru a se renunţa la informaţie/conţinut. Este mai degrabă un motiv pentru a ajuta la îmbunătăţire.
- Scriind în TeX, editorii nu trebuie să se îngrijoreze dacă această sau acea versiune a acestui sau acelui browser suportă această sau acea entitate HTML. Povara acestei decizii este pusă pe umerii serverului. Această caracteristică nu funcţionează în cazul formulelor HTML, care pot fi cu uşurinţă transformate greşit sau diferit faţă de intenţiile editorului pe un browser diferit.
[modifică] Funcţii, simboluri, caractere speciale
Caracteristică | Sintaxă | Cum arată transformată |
---|---|---|
Accente/Diacritice |
\acute{a} \grave{a} \breve{a} \check{a} \tilde{a} \AA |
![]() |
Funcţii standard (bine) |
\sin x + \ln y +\operatorname{sgn} z< \sin a \ \cos b \ \tan c \ \cot d \ \sec e \ \csc f< \sinh g \ \cosh h \ \tanh i \ \coth j \arcsin k \ \arccos l \ \arctan m \lim n \ \limsup o \ \liminf p \min q \ \max r \ \inf s \ \sup t \exp u \ \lg v \ \log w \ker x \ \deg x \gcd x \Pr x \ \det x \hom x \ \arg x \dim x |
![]()
|
Funcţii standard (greşit) |
sin x + ln y + sgn z |
![]() |
Aritmetică modulo |
s_k \equiv 0 \pmod{m} a \bmod b |
![]() |
Derivative |
\nabla \; \partial x \; dx \; \dot x \; \ddot y |
![]() |
Mulţimi (Este posibil ca simbolurile pătrate să nu funcţioneze pentru unele wiki) |
\forall \; \exists \; \empty \; \emptyset \; \varnothing \in \ni \not\in \notin \subset \subseteq \supset \supseteq \cap \bigcap \cup \bigcup \biguplus |
![]() |
\sqsubset \sqsubseteq \sqsupset \sqsupseteq \sqcap \sqcup \bigsqcup |
![]() |
|
Logică |
p \land \wedge \; \bigwedge \; \bar{q} \to p \; \lor \vee \; \bigvee \; \lnot \; \neg q \; \setminus \; \smallsetminus |
![]() |
Radical |
\sqrt{2}\approx 1.4 |
![]() |
\sqrt[n]{x} |
![]() |
|
Relaţii |
\sim \; \approx \; \simeq \; \cong \; \le \; < \; \ll \; \gg \; \ge \; > \; \equiv \; \not\equiv \; \ne \; \propto \; \pm \; \mp |
![]() |
Geometrie |
\Diamond \; \Box \; \triangle \; \angle \; \perp \; \mid \; \nmid \; \| \; 45^\circ |
![]() |
Săgeţi (Este posibil ca harpoanele să nu funcţioneze pentru unele wiki) |
\leftarrow \; \gets \; \rightarrow \; \to \; \leftrightarrow \longleftarrow \; \longrightarrow \mapsto \; \longmapsto \; \hookrightarrow \; \hookleftarrow \nearrow \; \searrow \; \swarrow \; \nwarrow \uparrow \; \downarrow \; \updownarrow |
![]()
|
\rightharpoonup \; \rightharpoondown \; \leftharpoonup \; \leftharpoondown \; \upharpoonleft \; \upharpoonright \; \downharpoonleft \; \downharpoonright |
![]() |
|
\Leftarrow \; \Rightarrow \; \Leftrightarrow \Longleftarrow \; \Longrightarrow \; \Longleftrightarrow (or \iff) \Uparrow \; \Downarrow \; \Updownarrow |
![]()
|
|
Speciale |
\eth \; \S \; \P \; \% \; \dagger \; \ddagger \; \star \; * \; \ldots \smile \frown \wr \oplus \bigoplus \otimes \bigotimes \times \cdot \circ \bullet \bigodot \triangleleft \triangleright \infty \bot \top \vdash \vDash \Vdash \models \lVert \rVert \imath \; \hbar \; \ell \; \mho \; \Finv \; \Re \; \Im \; \wp \; \complement \quad \diamondsuit \; \heartsuit \; \clubsuit \; \spadesuit \; \Game \quad \flat \; \natural \; \sharp |
![]()
|
Minuscule \mathcal are unele extra |
\mathcal {45abcdenpqs} |
![]() |
[modifică] Indici, exponenţi, integrale
Feature | Syntax | How it looks rendered | |
---|---|---|---|
HTML | PNG | ||
Exponent |
a^2 |
a2 | ![]() |
Indice |
a_2 |
a2 | ![]() |
Grupare |
a^{2+2} |
a2 + 2 | ![]() |
a_{i,j} |
ai,j | ![]() |
|
Combinare de indici şi exponenţi |
x_2^3 |
![]() |
|
Indici şi exponenţi anteriori |
{}_1^2\!X_3^4 |
![]() |
|
Derivate (PNG forţat) |
x', y'', f', f''\! |
![]() |
|
Derivate (este posibil ca f cursiv să se suprapună cu apostroful în HTML) |
x', y'', f', f'' |
x',y'',f',f'' | ![]() |
Derivative (greşit în HTML) |
x^\prime, y^{\prime\prime} |
![]() |
![]() |
Derivate (greşit în PNG) |
x\prime, y\prime\prime |
![]() |
![]() |
Puncte derivate |
\dot{x}, \ddot{x} |
![]() |
|
Sublinieri, supralinieri, vectori |
\hat a \ \bar b \ \vec c |
![]() |
|
\overrightarrow{a b} \ \overleftarrow{c d} \ \widehat{d e f} |
![]() |
||
\overline{g h i} \ \underline{j k l} |
![]() |
||
Acolade suprapuse |
\begin{matrix} 5050 \ \overbrace{ 1+2+\cdots+100 } \end{matrix} |
![]() |
|
Acolade subpuse |
\begin{matrix} \underbrace{ a+b+\cdots+z } \ 26 \end{matrix} |
![]() |
|
Sume |
\sum_{k=1}^N k^2 |
![]() |
|
Sume (forţând \textstyle) |
\begin{matrix} \sum_{k=1}^N k^2 \end{matrix} |
![]() |
|
Produse |
\prod_{i=1}^N x_i |
![]() |
|
Produse (forţând \textstyle) |
\begin{matrix} \prod_{i=1}^N x_i \end{matrix} |
![]() |
|
Coproduse |
\coprod_{i=1}^N x_i |
![]() |
|
Coproduse (forţând \textstyle) |
\begin{matrix} \coprod_{i=1}^N x_i \end{matrix} |
![]() |
|
Limite |
\lim_{n \to \infty}x_n |
![]() |
|
Limite (forţând \textstyle) |
\begin{matrix} \lim_{n \to \infty}x_n \end{matrix} |
![]() |
|
Integrale |
\int_{-N}^{N} e^x\, dx |
![]() |
|
Integrale (forţând \textstyle) |
\begin{matrix} \int_{-N}^{N} e^x\, dx \end{matrix} |
![]() |
|
Integrale duble |
\iint_{D}^{W} \, dx\,dy |
![]() |
|
Integrale triple |
\iiint_{E}^{V} \, dx\,dy\,dz |
![]() |
|
Integrale cvadruple |
\iiiint_{F}^{U} \, dx\,dy\,dz\,dt |
![]() |
|
Integrale cu cerculeţ |
\oint_{C} x^3\, dx + 4y^2\, dy |
![]() |
|
Intersecţii |
\bigcap_1^{n} p |
![]() |
|
Reuniuni |
\bigcup_1^{k} p |
![]() |
[modifică] Fracţii, matrice, multilinii
Trăsătură | Sintaxă | Cum arată transformată | ||||
---|---|---|---|---|---|---|
Fracţii | \frac{2}{4}=0.5 or {2 \over 4}=0.5 | ![]() |
||||
Fracţii mici (forţând \textstyle) | \begin{matrix} \frac{2}{4} \end{matrix} = 0.5 | ![]() |
||||
Coeficienţi binomiali | {n \choose k} | ![]() |
||||
Matrice | \begin{matrix} x & y \\ z & v \end{matrix} | ![]() |
||||
\begin{vmatrix} x & y \\ z & v \end{vmatrix} | ![]() |
|||||
\begin{Vmatrix} x & y \\ z & v \end{Vmatrix} | ![]() |
|||||
\begin{bmatrix} 0 & \cdots & 0 \\ \vdots &
\ddots & \vdots \\ 0 & \cdots & 0\end{bmatrix} |
![]() |
|||||
\begin{Bmatrix} x & y \\ z & v \end{Bmatrix} | ![]() |
|||||
\begin{pmatrix} x & y \\ z & v \end{pmatrix} | ![]() |
|||||
Cazuri în acolade | f(n) = \begin{cases} n/2, & \mbox{pentru }n\mbox{ par} \\ 3n+1, & \mbox{pentru }n\mbox{ impar} \end{cases} | ![]() |
||||
Ecuaţii multiliniare | \begin{matrix}f(n+1) & = & (n+1)^2 \\ \ & = & n^2 + 2n + 1 \end{matrix} | ![]() |
||||
Alternativă la ecuaţii multiliniare (folosind tabele) |
{| |- |<math>f(n+1)</math> |<math>=(n+1)^2</math> |- | |<math>=n^2 + 2n + 1</math> |} |
|
[modifică] Fonturi
Trăsătură | Sintaxă | Cum arată transformată | |
---|---|---|---|
Alfabetul grec (Observaţi absenţa lui omicron; observaţi de asemenea că unele majuscule greceşti sunt transformate identic cu majusculele corespondente latine) |
\Alpha\ \Beta\ \Gamma\ \Delta\ \Epsilon\ \Zeta\ \Eta\ \Theta\ \Iota\ \Kappa\ \Lambda\ \Mu\ \Nu\ \Xi\ \Pi\ \Rho\ \Sigma\ \Tau\ \Upsilon\ \Phi\ \Chi\ \Psi\ \Omega |
|
|
Evidenţiere de tablă | \mathbb{N}\ \mathbb{Z}\ \mathbb{Q}\ \mathbb{R}\ \mathbb{C} | ![]() |
|
Aldine (vectori) | \mathbf{x}\cdot\mathbf{y} = 0 | ![]() |
|
Aldine (greceşti) | \boldsymbol{\alpha} + \boldsymbol{\beta} + \boldsymbol{\gamma} | ![]() |
|
Cursive | \mathit{ABCDE abcde 1234} | ![]() |
|
Faţadă romană | \mathrm{ABCDE abcde 1234} | ![]() |
|
Faţadă Fraktur | \mathfrak{ABCDE abcde 1234} | ![]() |
|
Caligrafie | \mathcal{ABCDE abcde 1234} | ![]() |
|
Evreieşti | \aleph \beth \gimel \daleth | ![]() |
|
Caractere drepte (necursive) | \mbox{abc} | abc | ![]() |
Caractere amestecate (greşit) | \mbox{pentru} n \mbox{par} | pentrunpar | ![]() |
Caractere amestecate (corect) | \mbox{pentru }n\mbox{ par} | pentru n par | ![]() |
[modifică] Paranteze mari, paranteze pătrate, acolade, bare
Trăsătură | Sintaxă | Cum arată transformată |
---|---|---|
Greşit | ( \frac{1}{2} ) | ![]() |
Corect | \left ( \frac{1}{2} \right ) | ![]() |
Se pot folosi delimitatori diferiţi cu \left şi \right:
Trăsătură | Sintaxă | Cum arată transformată | |
---|---|---|---|
Paranteze | \left ( \frac{a}{b} \right ) | ![]() |
|
Paranteze pătrate | \left [ \frac{a}{b} \right ] \quad \left \lbrack \frac{a}{b} \right \rbrack | ![]() |
|
Acolade | \left \{ \frac{a}{b} \right \} \quad \left \lbrace \frac{a}{b} \right \rbrace | ![]() |
|
Paranteze unghiulare | \left \langle \frac{a}{b} \right \rangle | ![]() |
|
Bare şi bare duble | \left | \frac{a}{b} \right \vert \left \Vert \frac{c}{d} \right \| | ![]() |
|
Funcţii floor şi ceiling: | \left \lfloor \frac{a}{b} \right \rfloor \left \lceil \frac{c}{d} \right \rceil | ![]() |
|
Slash-uri şi backslash-uri | \left / \frac{a}{b} \right \backslash | ![]() |
|
Săgeţi sus, jos şi sus-jos | \left \uparrow \frac{a}{b} \right \downarrow \quad \left \Uparrow \frac{a}{b} \right \Downarrow \quad \left \updownarrow \frac{a}{b} \right \Updownarrow | ![]() |
|
Delimitatorii pot fi amestecaţi, atât timp cât \left şi \right se potrivesc |
\left [ 0,1 \right ) |
|
|
Folosiţi \left. şi \right. dacă nu vreţi ca un delimitator să apară: | \left . \frac{A}{B} \right \} \to X | ![]() |
|
Mărimea delimitatorilor | \big( \Big( \bigg( \Bigg( ... \Bigg] \bigg] \Big] \big] |
|
|
\big\{ \Big\{ \bigg\{ \Bigg\{ ... \Bigg\rangle \bigg\rangle \Big\rangle \big\rangle |
|
||
\big\| \Big\| \bigg\| \Bigg\| ... \Bigg| \bigg| \Big| \big| | ![]() |
||
\big\lfloor \Big\lfloor \bigg\lfloor \Bigg\lfloor ... \Bigg\rceil \bigg\rceil \Big\rceil \big\rceil |
|
||
\big\uparrow \Big\uparrow \bigg\uparrow \Bigg\uparrow ... \Bigg\Downarrow \bigg\Downarrow \Big\Downarrow \big\Downarrow |
|
[modifică] Spaţiere
Observaţi că TeX mânuieşte spaţierea automat de cele mai multe ori, dar este posibil ca uneori să aveţi nevoie de spaţiere manuală.
Trăsătură | Sintaxă | Cum arată trasnformată |
---|---|---|
Spaţiu quad dublu | a \qquad b | ![]() |
Spaţiu quad | a \quad b | ![]() |
Spaţiu de text | a\ b | ![]() |
Spaţiu de text fără conversie PNG | a \mbox{ } b | a b |
Spaţiu mare | a\;b | ![]() |
Spaţiu mediu | a\>b | [not supported] |
Spaţiu mic | a\,b | ![]() |
Fără spaţiu | ab | ![]() |
Spaţiu mic negativ | a\!b | ![]() |
[modifică] Aliniere cu textul normal
Datorită CSS-ului implicit
img.tex { vertical-align: middle; }
o expresie precum arată corect.
Dacă trebuie să o aliniaţi altcumva, folosiţi <font style="vertical-align:-100%;"><math>...</math></font> şi jucaţi-vă cu argumentul vertical-align până obţineţi rezultatul dorit; în orice caz, felul în care arată depinde de browser şi de setările acestuia.
De asemenea, observaţi că dacă vă bazaţi pe această formatare, dacă/când formatarea serverului va fi reparată în emisii următoare, ca un rezultat al acestei aranjări manuale formula dumneavostră va fi aliniată incorect. Deci folosiţi-o cu economie, dacă nu deloc.
[modifică] Transformare PNG forţată
Pentru a forţa o formulă să se transforme în PNG, adăugaţi \, (spaţiu mic) la sfârşitul formulei (unde nu este transformată). Aşa este forţată în format PNG dacă utilizaotrul este în modul „HTML if simple”, dar nu dacă este în modul „HTML if possible” (setările pentru transformare matematică în preferences).
Puteţi de asemenea folosi \,\! (spaţiu mic şi spaţiu negativ, care îl anulează) oriunde în cadrul tag-ului math. Acesta forţează în PNG chiar şi în modul „HTML if possible”, spre deosebire de \,.
Aceasta e folositoare pentru păstrarea transformării, de exemplu, sau pentru repararea formulelor care se transformă incorect în HTML (la un moment dat, a^{2+2} s-a transformat cu un _ în plus), sau pentru a demonstra cum ceva se transformă când ar fi apărut, în mod normal, ca HTML (ca în exemplele de mai sus).
De exemplu:
Sintaxă | Cum arată transformată |
---|---|
a^{c+2} | ac + 2 |
a^{c+2} \, | ![]() |
a^{\,\!c+2} | ![]() |
a^{b^{c+2}} | ![]() |
a^{b^{c+2}} \, | ![]() |
a^{b^{c+2}}\approx 5 | ![]() ![]() |
a^{b^{\,\!c+2}} | ![]() |
\int_{-N}^{N} e^x\, dx | ![]() |
Aceasta a fost testată cu majoritatea formulelor prezente în această pagină şi pare să funcţioneze corect.
Aţi putea să includeţi în documentul HTML un comentariu pentru ca oamenii să nu „corecteze” formula eliminându-l:
- <!-- \,\! este pentru a păstra formula în format PNG în loc de HTML. Nu-l eliminaţi.-->
[modifică] Exemple
[modifică] Polinoame pătratice
ax2 + bx + c = 0
<math>ax^2 + bx + c = 0</math>
[modifică] Polinoame pătratice (forţare PNG)
<math>ax^2 + bx + c = 0\,</math>
[modifică] Formulă pătratică
<math>x_{1,2}=\frac{-b\pm\sqrt{b^2-4ac}}{2a}</math>
[modifică] Paranteze înalte şi fracţii
<math>2 = \left( \frac{\left(3-x\right) \times 2}{3-x} \right)</math>
[modifică] Integrale
<math>\int_a^x \int_a^s f(y)\,dy\,ds = \int_a^x f(y)(x-y)\,dy</math>
[modifică] Sume
<math>\sum_{m=1}^\infty\sum_{n=1}^\infty\frac{m^2\,n} {3^m\left(m\,3^n+n\,3^m\right)}</math>
[modifică] Ecuaţii diferenţiale
<math>u'' + p(x)u' + q(x)u=f(x),\quad x>a</math>
[modifică] Numere complexe
<math>|\bar{z}| = |z|, |(\bar{z})^n| = |z|^n, \arg(z^n) = n \arg(z)\,</math>
[modifică] Limite
<math>\lim_{z\rightarrow z_0} f(z)=f(z_0)\,</math>
[modifică] Ecuaţii integrale
<math>\phi_n(\kappa) = \frac{1}{4\pi^2\kappa^2} \int_0^\infty \frac{\sin(\kappa R)}{\kappa R} \frac{\partial}{\partial R}\left[R^2\frac{\partial D_n(R)}{\partial R}\right]\,dR</math>
[modifică] Exemplu
<math>\phi_n(\kappa) = 0.033C_n^2\kappa^{-11/3},\quad \frac{1}{L_0}\ll\kappa\ll\frac{1}{l_0}\,</math>
[modifică] Continuitate şi cazuri
<math>f(x) = \begin{cases}1 & -1 \le x < 0\\ \frac{1}{2} & x = 0\\x&0<x\le 1\end{cases}</math>
[modifică] Indice prefixat
<math>{}_pF_q(a_1,...,a_p;c_1,...,c_q;z) = \sum_{n=0}^\infty \frac{(a_1)_n\cdot\cdot\cdot(a_p)_n}{(c_1)_n\cdot\cdot\cdot(c_q)_n}\frac{z^n}{n!}\,</math>
[modifică] Defecte
Discuţii, rapoarte de defecte şi trăsături dorite trebuie să meargă la Wikitech-l mailing list. Pot fi afişate şi la Mediazilla sub MediaWiki extensions.
[modifică] Vizitaţi de asemenea
- Typesetting of mathematical formulas
- Proposed m:GNU LilyPond support
- Tabel de simboluri matematice
- m:Blahtex, or blahtex: un convertor din LaTeX în MathML pentru Wikipedia
- Ajutor pentru editarea unei pagini Wiki
[modifică] Legături externe
- Ghid LaTex PDF în lb. română http://www.fil.unibuc.ro/~solcan/wt/gwltx.pdf
- Un tutorial LaTeX. http://www.maths.tcd.ie/~dwilkins/LaTeXPrimer/
- Un document PDF prezentând TeX -- vezi de la pagina 39 pentru o prezentare a matematicii: http://www.ctan.org/tex-archive/info/gentle/gentle.pdf
- Un document PDF prezentând LaTeX -- sari la pagina 59 pentru secţiunea matematică. Vezi pagina 72 pentru o listă completă a simbolurilor LaTeX şi AMS-LaTeX. http://www.ctan.org/tex-archive/info/lshort/english/lshort.pdf
- TeX reference card: http://www.csit.fsu.edu/~mimi/tex/tex-refcard-letter.pdf
- http://www.ams.org/tex/amslatex.html
- A set of public domain fixed-size math symbol bitmaps: http://us.metamath.org/symbols/symbols.html
- MathML - A product of the W3C Math working group, is a low-level specification for describing mathematics as a basis for machine to machine communication. http://www.w3.org/Math/