Sari la conținut

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.

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: .

Î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.


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

Aranjare text

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

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

Legături externe

[modificare | modificare sursă]