Testwiki:Formatul TeX

De la testwiki
Sari la navigare Sari la căutare

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.

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.

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 litere scrise italic; numerele nu sunt. Pentru alte texte, (precum etichetele de variabile) pentru a evita transformarea în scris italic ca pentru variabile, folosiți \mbox sau \mathrm. De exemplu, <math>\mbox{abc}</math> arată abc.

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> α &alpha; α
<math>\sqrt{2}</math> 2 &radic;2 √2
<math>\sqrt{1-e^2}</math> 1e2 &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

  1. Formulele In-line HTML formulae 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

  1. TeX este din punct de vedere semnatic 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ă.
  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 familiar 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.

Funcții, simboluri, caractere speciale

Caracteristică Sintaxă Cum arată transformată
Accente/Diacritice
\acute{a} \quad \grave{a} \quad \breve{a} \quad \check{a} \quad \tilde{a}
a´a`a˘aˇa~
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
sinx+lny+sgnz

sina cosb tanc cotd sece cscf
sinhg coshh tanhi cothj
arcsink arccosl arctanm
limn lim supo lim infp
minq maxr infs supt
expu lgv logw
kerx degxgcdxPrx detxhomx argxdimx

Funcții standard (greșit)
sin x + ln y + sgn z
sinx+lny+sgnz
Aritmetică modulo
s_k \equiv 0 \pmod{m}
a \bmod b
sk0(modm)

amodb

Derivative
\nabla \; \partial x \; dx \; \dot x \; \ddot y
xdxx˙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
pq¯p¬¬q
Radical
\sqrt{2}\approx 1.4
21.4
\sqrt[n]{x}
xn
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
45
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

(or)

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}
45𝒶𝒷𝒸𝒹𝓃𝓅𝓆𝓈

Indici, exponenți, integrale

Feature Syntax How it looks rendered
HTML PNG
Exponent
a^2
a2 a2
Indice
a_2
a2 a2
Grupare
a^{2+2}
a2+2 a2+2
a_{i,j}
ai,j ai,j
Combinare de indici și exponenți
x_2^3
x23
Indici și exponenți anteriori
{}_1^2\!X_3^4
12X34
Derivate (PNG forțat)
x', y'', f', f''\!
  x,y,f,f
Derivate (este posibil ca f în italic să se suprapună cu apostroful în HTML)
x', y'', f', f''
x,y,f,f x,y,f,f
Derivative (greșit în HTML)
x^\prime, y^{\prime\prime}
x,y x,y
Derivate (greșit în PNG)
x\prime, y\prime\prime
x,y x,y
Puncte derivate
\dot{x}, \ddot{x}
x˙,x¨
Sublinieri, Supralinieri, vectori
\hat a \ \bar b \ \vec c
a^ b¯ c
\overrightarrow{a b} \ \overleftarrow{c d} \ \widehat{d e f}
ab cd def^
\overline{g h i} \ \underline{j k l}
ghi jkl_
Acolade suprapuse
\begin{matrix} 5050 \ \overbrace{ 1+2+\cdots+100 } \end{matrix}
5050 1+2++100
Acolade subpuse
\begin{matrix} \underbrace{ a+b+\cdots+z } \ 26 \end{matrix}
a+b++z 26
Sume
\sum_{k=1}^N k^2
k=1Nk2
Sume (forțând \textstyle)
\begin{matrix} \sum_{k=1}^N k^2 \end{matrix}
k=1Nk2
Produse
\prod_{i=1}^N x_i
i=1Nxi
Produse (forțând \textstyle)
\begin{matrix} \prod_{i=1}^N x_i \end{matrix}
i=1Nxi
Coproduse
\coprod_{i=1}^N x_i
i=1Nxi
Coproduse (forțând \textstyle)
\begin{matrix} \coprod_{i=1}^N x_i \end{matrix}
i=1Nxi
Limite
\lim_{n \to \infty}x_n
limnxn
Limite (forțând \textstyle)
\begin{matrix} \lim_{n \to \infty}x_n \end{matrix}
limnxn
Integrale
\int_{-N}^{N} e^x\, dx
NNexdx
Integrale (forțând \textstyle)
\begin{matrix} \int_{-N}^{N} e^x\, dx \end{matrix}
NNexdx
Integrale duble
\iint_{D}^{W} \, dx\,dy
DWdxdy
Integrale triple
\iiint_{E}^{V} \, dx\,dy\,dz
EVdxdydz
Integrale cvadruple
\iiiint_{F}^{U} \, dx\,dy\,dz\,dt
FUdxdydzdt
Integrale cu cerculeț
\oint_{C} x^3\, dx + 4y^2\, dy
Cx3dx+4y2dy
Intersecții
\bigcap_1^{n} p
1np
Reuniuni
\bigcup_1^{k} p
1kp


Fracții, matrici, multilinii

Trăsătură Sintaxă Cum arată transformată
Fracții \frac{2}{4}=0.5 or {2 \over 4}=0.5 24=0.5
Fracții mici (forțând \textstyle) \begin{matrix} \frac{2}{4} \end{matrix} = 0.5 24=0.5
Coeficienți binomiali {n \choose k} (nk)
Matrici \begin{matrix} x & y \\ z & v \end{matrix} xyzv
\begin{vmatrix} x & y \\ z & v \end{vmatrix} |xyzv|
\begin{Vmatrix} x & y \\ z & v \end{Vmatrix} xyzv
\begin{bmatrix} 0 & \cdots & 0 \\ \vdots &

\ddots & \vdots \\ 0 & \cdots &

0\end{bmatrix}
[0000]
\begin{Bmatrix} x & y \\ z & v \end{Bmatrix} {xyzv}
\begin{pmatrix} x & y \\ z & v \end{pmatrix} (xyzv)
Cazuri în acolade f(n) = \begin{cases} n/2, & \mbox{if }n\mbox{ este par} \\ 3n+1, & \mbox{if }n\mbox{ este impar} \end{cases} f(n)={n/2,if n este par3n+1,if n este impar
Ecuații multiliniare \begin{matrix}f(n+1) & = & (n+1)^2 \\ \ & = & n^2 + 2n + 1 \end{matrix} f(n+1)=(n+1)2 =n2+2n+1
Alternatică la ecuații multiliniare (folosind tabele)

{|
|-
|<math>f(n+1)</math>
|<math>=(n+1)^2</math>
|-
|
|<math>=n^2 + 2n + 1</math>
|}

f(n+1) =(n+1)2
=n2+2n+1

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

\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

A B Γ Δ E Z H Θ I K Λ M N Ξ Π P Σ T Υ Φ X Ψ Ω

α β γ δ ϵ ζ η θ ι κ λ μ ν ξ π ρ σ τ υ ϕ χ ψ ω

ε ϝ ϑ ϰ ϖ ϱ ς φ

Evidențiere de tablă \mathbb{N}\ \mathbb{Z}\ \mathbb{Q}\ \mathbb{R}\ \mathbb{C}     
Îngroșare (vectori) \mathbf{x}\cdot\mathbf{y} = 0 𝐱𝐲=0
Îngroșare (grecești) \boldsymbol{\alpha} + \boldsymbol{\beta} + \boldsymbol{\gamma} α+β+γ
Italice \mathit{ABCDE abcde 1234} 𝐴𝐵𝐶𝐷𝐸𝑎𝑏𝑐𝑑𝑒1234
Fațadă romană \mathrm{ABCDE abcde 1234} ABCDEabcde1234
Fațadă Fraktur \mathfrak{ABCDE abcde 1234} 𝔄𝔅𝔇𝔈𝔞𝔟𝔠𝔡𝔢1234
Caligrafie \mathcal{ABCDE abcde 1234} 𝒜𝒞𝒟𝒶𝒷𝒸𝒹1234
Evreiești \aleph \beth \gimel \daleth    
Caractere non-italice \mbox{abc} abc abc
Caractere amestecate italic (greșit) \mbox{if} n \mbox{is even} ifneste par ifneste par
Caractere amestecate italic (corect) \mbox{if }n\mbox{ is even} if n este par if n este par

Paranteze mari, paranteze pătrate, acolade, bare

Trăsătură Sintaxă Cum arată transformată
Greșit ( \frac{1}{2} ) (12)
Corect \left ( \frac{1}{2} \right ) (12)

Se pot folosi delimitatori diferiți cu \left și \right:

Trăsătură Sintaxă Cum arată transformată
Paranteze \left ( \frac{a}{b} \right ) (ab)
Paranteze pătrate \left [ \frac{a}{b} \right ] \quad \left \lbrack \frac{a}{b} \right \rbrack [ab][ab]
Acolade \left \{ \frac{a}{b} \right \} \quad \left \lbrace \frac{a}{b} \right \rbrace {ab}{ab}
Paranteze unghiulare \left \langle \frac{a}{b} \right \rangle ab
Bare și bare duble \left | \frac{a}{b} \right \vert \left \Vert \frac{c}{d} \right \| |ab|cd
Funcții floor și ceiling: \left \lfloor \frac{a}{b} \right \rfloor \left \lceil \frac{c}{d} \right \rceil abcd
Slash-uri și backslash-uri \left / \frac{a}{b} \right \backslash /ab\
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 ababab

Delimitatorii pot fi amestecați, atât timp cât \left și \right se potrivesc

\left [ 0,1 \right )
\left \langle \psi \right |

[0,1)
ψ|

Folosiți \left. și \right. dacă nu vreți ca un delimitator să apară: \left . \frac{A}{B} \right \} \to X AB}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

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 ab
Spațiu quad a \quad b ab
Spațiu de text a\ b a b
Spațiu de text fără conversie PNG a \mbox{ } b a b
Spațiu mare a\;b ab
Spațiu mediu a\>b [not supported]
Spațiu mic a\,b ab
Fără spațiu ab ab
Spațiu mic negativ a\!b ab

Aliniere cu textul normal

Datorită CSS-ului implicit

img.tex { vertical-align: middle; }

o expresie precum NNexdx 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.

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 etse 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 ecemplele de mai sus).

De exemplu:

Sintaxă Cum arată transformată
a^{c+2} ac+2
a^{c+2} \, ac+2
a^{\,\!c+2} ac+2
a^{b^{c+2}} abc+2 (GREȘIT cu opțiunea "HTML if possible or else PNG"!)
a^{b^{c+2}} \, abc+2 (GREȘIT cu opțiunea"HTML if possible or else PNG"!)
a^{b^{c+2}}\approx 5 abc+25 (datorită lui "" se afișează corect, codul "\,\!" fiind nenecesar)
a^{b^{\,\!c+2}} abc+2
\int_{-N}^{N} e^x\, dx NNexdx


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:

<!-- \,\! etse pentru a păstra formula în format PNG în loc de HTML. Nu-l eliminați.-->

Exemple

Polinoame pătratice

ax2+bx+c=0

<math>ax^2 + bx + c = 0</math>

Polinoame pătratice (forțare PNG)

ax2+bx+c=0

<math>ax^2 + bx + c = 0\,</math>

Formulă pătratică

x1,2=b±b24ac2a

<math>x_{1,2}=\frac{-b\pm\sqrt{b^2-4ac}}{2a}</math>

Paranteze înalte și fracții

2=((3x)×23x)

<math>2 = \left( \frac{\left(3-x\right) \times 2}{3-x} \right)</math>

Integrale

axasf(y)dyds=axf(y)(xy)dy

<math>\int_a^x \int_a^s f(y)\,dy\,ds = \int_a^x f(y)(x-y)\,dy</math>

Sume

m=1n=1m2n3m(m3n+n3m)

<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

u+p(x)u+q(x)u=f(x),x>a

<math>u'' + p(x)u' + q(x)u=f(x),\quad x>a</math>

Numere complexe

|z¯|=|z|,|(z¯)n|=|z|n,arg(zn)=narg(z)

<math>|\bar{z}| = |z|, |(\bar{z})^n| = |z|^n, \arg(z^n) = n \arg(z)\,</math>

Limite

limzz0f(z)=f(z0)

<math>\lim_{z\rightarrow z_0} f(z)=f(z_0)\,</math>

Ecuații integrale

ϕn(κ)=14π2κ20sin(κR)κRR[R2Dn(R)R]dR

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

Exemplu

ϕn(κ)=0.033Cn2κ11/3,1L0κ1l0

<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

f(x)={11x<012x=0x0<x1

<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

pFq(a1,...,ap;c1,...,cq;z)=n=0(a1)n(ap)n(c1)n(cq)nznn!

 <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

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.

Vizitați de asemenea

Legături externe