Limbajul MediaWiki folosește un subset de marcaje TeX (incluzând unele extensii din LaTeX și AMSLaTeX) pentru prezentarea de 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.

Transformare

modificare

Imaginile PNG sunt negru pe alb (nu transparente). Aceste culori, ca și mărimile și tipurile de fonturi, sunt independente de preferințele browser-ului sau CSS. Mărimile și tipurile fonturilor vor devia de obicei de la ceea ce HTML transformă. Alinierea pe verticală cu textul înconjurător poate fi de asemenea o problemă.

Clasa css a imaginilor generate 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>.

Așa cum se obișnuiește în matematică, în afară de numele de funcții și operatori variabilele sunt scrise cu caractere cursive, iar numerele cu litere normale. 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:  .

TeX vs HTML

modificare

Înainte de prezentarea marcajelor TeX pentru caracterele speciale, trebuie notat că, după cum arată 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>   &alpha; α
<math>\sqrt{2}</math>   &radic;2 √2
<math>\sqrt{1-e^2}</math>   &radic;(1-''e''&sup2;) √(1-e²)

Folosirea HTML în locul TeX este încă în discuție. Argumentele pro-HTML sau pro-TeX sunt punctate mai jos.

Argumente pro-HTML

modificare
  1. Formulele in-line HTML se aliniază întotdeauna corect cu restul textului HTML.
  2. 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.

Argumente pro-TeX

modificare
  1. TeX este din punct de vedere semantic superior lui HTML. În TeX, „<math>x</math>” înseamnă „variabila matematică  ”, pe când în HTML „x” ar putea însemna orice. Informația este iremediabil pierdută.
  2. 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.
  3. 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.
  4. 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.


Sintaxă

modificare

Marcajul math intră în interiorul <math> ... </math>. Bara de butoane are un buton special cu care poate fi introdus acest cod.

Ca și în HTML, în TeX spațiile în plus și liniile noi sunt ignorate.

Formatele MediaWiki, variabilele și parametrii nu pot fi folosiți în cadrul marcajelor math. Vezi un model de încercare de folosire a parametrilor în TeX.

Mai jos aveți exemple de utilizare ale celor mai importante simboluri.

Funcții, simboluri, caractere speciale

modificare
Trăsătură 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
 

 

Derivate
\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
 

 
 
 
 

\overrightarrow{\leftarrow} \; \overleftarrow{\rightarrow}
 
\rightharpoonup \; \rightharpoondown 
\; \leftharpoonup \; \leftharpoondown 
\; \upharpoonleft \; \upharpoonright 
\; \downharpoonleft \; \downharpoonright
 
\Leftarrow \; \Rightarrow \; \Leftrightarrow
\Longleftarrow \; \Longrightarrow \; \Longleftrightarrow (or \iff)
\Uparrow \; \Downarrow \; \Updownarrow
 

 
 

Semne 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 {45abcdenpqs}
 

Indici, exponenți, integrale

modificare
Trăsătură Sintaxă Cum arată redat
HTML PNG
Exponent
a^2
   
Indice
a_2
   
Grupare
a^{2+2}
   
a_{i,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''
   
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
 

Fracții, matrice, multilinii

modificare
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>
|}

   
 

Aranjare text

modificare
Trăsătură Sintaxă Cum arată transformată
Dispunere în tabel fără chenar \begin{smallmatrix}

\text{text1} & a & 1 \\ \text{text2} & b & 2 \\ \text{text3} & c & 3 \end{smallmatrix}

 
Dispunere termeni

\begin{align} a_{11} & \; + 0 & +a_{12} \\ a_{21} & \; &+ 0

\end{align}

 
Acoladă deasupra cu text \overbrace{ a + b + c }

^{\text{Text}}

 
\overbrace{ a + b + c }

_{\text{Text}}

 
Acoladă dedesupt cu text \underbrace{ a + b + c }

^{\text{Text}}

 
\underbrace{ a + b + c }

_{\text{Text}}

 
Formulă cu chenar <table border="1">

<tr> <td width="100"><center><math> E = mc^2 </math></center> </td> </tr>

</table>

 
Formulă numerotată <table>

<tr> <td width="50"> </td> <td width="150"> <math> E = mc^2 </math> </td> <td width="50"> <math> (1) </math> </td> </tr> </table>

 

 

Texte/Fonturi suprapuse
\bigcirc \; + \; a  \; \Rightarrow \;\; \bigcirc  \!\!\!\!\! a
o \; +  \; e\; \Rightarrow  \;\;\; o  \! e
\iiint \; + \; \subset \; \supset  \;\;\; \Rightarrow \;  \int \!\!\!\!\! \int \!\!\!\!\! \int \!\!\!\!\!\!\!\!\!\!\! \subset   \supset

 


 


 

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

\alpha\ \beta\ \gamma\ \delta\ \epsilon\ \zeta\ \eta\ \theta\ \iota\ \kappa\ \lambda\ \mu\ \nu\ \xi\ \pi\ \rho\ \sigma\ \tau\ \upsilon\ \phi\ \chi\ \psi\ \omega

\varepsilon\ \digamma\ \vartheta\ \varkappa\ \varpi\ \varrho\ \varsigma\ \varphi

 

 

 

 

 

 

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}    
Caractere amestecate (greșit) \mbox{pentru} n \mbox{par}    
Caractere amestecate (corect) \mbox{pentru }n\mbox{ par}    

Paranteze mari, paranteze pătrate, acolade, bare

modificare
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 )
\left \langle \psi \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

 

Spațiere

modificare

TeX face 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  
Spațiu mare a\;b  
Spațiu mic a\,b  
Fără spațiu ab  
Spațiu mic negativ a\!b  

Aliniere cu textul normal

modificare

Datorită CSS-ului implicit

img.tex { vertical-align: middle; }

o expresie precum   arată corect.

Dacă trebuie să o aliniați în alt fel, 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ă va depinde de tipul de browser și de setările acestuia.

De asemenea, țineți cont de faptul că atunci când formatarea implicită va fi corectată (într-o versiune ulterioară de MediaWiki), alinierea dvs. nu v-a mai fi corectă. Este deci recomandat să o evitați pe cât posibil.

Transformare PNG forțată

modificare

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ă utilizatorul este în modul „HTML if simple”, dar nu dacă este în modul „HTML if possible” (setările pentru transformare matematică în preferințe).

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}  
a^{c+2} \,  
a^{\,\!c+2}  
a^{b^{c+2}}   (GREȘIT cu opțiunea "HTML if possible or else PNG"!)
a^{b^{c+2}} \,   (GREȘIT cu opțiunea"HTML if possible or else PNG"!)
a^{b^{c+2}}\approx 5   (datorită lui " " se afișează corect, codul "\,\!" fiind nenecesar)
a^{b^{\,\!c+2}}  
\int_{-N}^{N} e^x\, dx  


Această opțiune a fost testată cu majoritatea formulelor prezente în această pagină și pare să funcționeze corect. Este recomandat ca atunci când o folosiți 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. Vă rugăm să nu-l eliminați.-->

Exemple complexe

modificare
Nume Rezultat Formulă
Polinoame pătratice   <math>ax^2 + bx + c = 0</math>
Polinoame pătratice (forțare PNG)   <math>ax^2 + bx + c = 0\,</math>
Formulă pătratică   <math>x_{1,2}=\frac{-b\pm\sqrt{b^2-4ac}}{2a}</math>
Paranteze înalte și fracții   <math>2 = \left( \frac{\left(3-x\right) \times 2}{3-x} \right)</math>
Integrale   <math>\int_a^x \int_a^s f(y)\,dy\,ds = \int_a^x f(y)(x-y)\,dy</math>
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>
Ecuații diferențiale   <math>u'' + p(x)u' + q(x)u=f(x),\quad x>a</math>
Numere complexe   <math>|\bar{z}| = |z|, |(\bar{z})^n| = |z|^n, \arg(z^n) = n \arg(z)\,</math>
Limite   <math>\lim_{z\rightarrow z_0} f(z)=f(z_0)\,</math>
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>
  <math>\phi_n(\kappa) =
0.033C_n^2\kappa^{-11/3},\quad \frac{1}{L_0}\ll\kappa\ll\frac{1}{l_0}\,</math>
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>
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>

Discuțiile, rapoartele de defecte și îmbunătățirile dorite trebuie să fie puse pe Lista de discuții Wikitech-l. Pot fi vizualizate și la Phabricator în categoria MediaWiki extensions.

Vezi și

modificare

Legături externe

modificare