Utilizator:Strainu/Ajutor/Formatul TeX

De la Wikipedia, enciclopedia liberă

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 | modificare sursă]

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 | modificare sursă]

Î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 | modificare sursă]

  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 | modificare sursă]

  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 | modificare sursă]

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 | modificare sursă]

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 | modificare sursă]

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 | modificare sursă]

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

Fonturi[modificare | modificare sursă]

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} colspan="2"\
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 | modificare sursă]

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 | modificare sursă]

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 | modificare sursă]

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 | modificare sursă]

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 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}
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 | modificare sursă]

Nume Formulă Rezultat
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>

Defecte[modificare | modificare sursă]

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 Bugzilla în categoria MediaWiki extensions.

Vezi şi[modificare | modificare sursă]

Legături externe[modificare | modificare sursă]