TeX

Վիքիպեդիայից՝ ազատ հանրագիտարանից
TeX
TeX logo.svg
Texniccenter.png
Տեսակ typesetting software‎[1], ծրագրավորման լեզու և նշագրման լեզու
Նախագծումը՝ Դոնալդ Կնուտ
Գրված է՝ Web և Պասկալ
Լույս տեսավ՝ 1978
Վերջին կայուն տարբերակ 3.14159265 (հունվար 2014)[2]
Արտոնագիր GNU GPL
Կայք tug.org
Աղբյուր կոդ tug.org/svn/texlive/trunk/
TeX Վիքիպահեստում

TeXը համակարգչային շարվածքի համակարգ է, որը մշակել է ամերիկացի պրոֆեսոր Դոնալդ Կնուտը համակարգչային տպագրության ստեղծման նպատակով։ Շատերը TeX-ը համարում են մաթեմատիկական բանաձևեր գրելու լավագույն տարբերակը։ Դրա շնորհիվ TeX-ը ունի լայն տարածում ակադեմիական շրջանակներում, հատկապես ֆիզիկոսների և մաթեմատիկոսների շրջանում։ Անունը հնչում է «ՏեԽ» (հունարենից թաթգմանաբար՝ τέχνη - արվեստ, վարպետություն)[3]:

Յուրահատկությունները[խմբագրել | խմբագրել կոդը]

Ի տարբերություն տեքստերի շարվածքի համար նախատեսված այլ միջոցների, որոնք կառուցված են WYSIWYG սկզբունքով, TeX-ում օգտագործողը նշում է միայն տեքստը և նրա կառուցվածքը, որից TeX-ը հիմնվելով օգտագործողի կողմից տրված կաղապարի վրա ձևավորում է փաստաթուղթը։ Փասաթղթերը հավաքվում են սեփական նշումների լեզվով ASCII ֆայլի տեսքով, որը պարունակում է տեղեկություն տեքստի ձևափոխման կամ նկարի ավելացման մասին։ Այս ֆայլերը (սովորաբար ունեն «.tex» ընդլայնում) ձևափոխվում են հատուկ ծրագրի միջոցով «.dvi» (device independent — «սարքավորումից անկախ ») ֆայլի, որը կարող է տպվել կամ ցուցադրվել էկրանին։ DVI ֆայերը կարելի է ձևափոխել PostScript, PDF կամ այլ էլեկտրոնային ֆրմատի։ TeXի միջուկը իրենից ներկայացնում է ցածր մակարդակի նշումների լեզու, որը պարունակում է տառի բաց թողնման և տառաչափի փոփոխման հրամաններ։ TeX-ում մեծ հնարավորություններ են ստեղծում պատրաստի մակրոսները և ընդլայնումը։ TeX-ի ամենատարածված ընդլայնումը LaTeX-ն է և AMS-TeX-ը։

Օգտագործումը[խմբագրել | խմբագրել կոդը]

TeX-ը կարելի է օգտագործել ցանկացած տեսակի տեքստեր հավաքելու համար, սկսած փոքր նամակներից մինչև մեծ գիտական գրքեր։ Ինքնին TeX-ը ստեղծվել է գիտական աշխատանքների շարվածքի համար։

Տառատեսակները[խմբագրել | խմբագրել կոդը]

Տառատեսակների ստեղծման համար TeX-ի հետ համատեղ օգտագործվում է Դոնալդ Կնուտ-ի կողմից մշակված METAFONT համակարգը, որում տառատեսակները գրվում են Meta լեզվով։ Կարող են նաև օգտագործվել PostScript Type 1, TrueType և OpenType.

METAFONT[խմբագրել | խմբագրել կոդը]

METAFONT-ը TEX-ի անմիջական մաս չէ։ Այն տառատեսակների ներկայացման համակարգ է, որը թույլ է տալիս նախագծել և ներկայացնել սիմվոլները տարբեր ալգորիթմների միջոցով։Դոնալդ Կնուտը սկսել է աշխատել Metafont-ի վրա 1977 թվականից և առաջին տարբերակը թողարկել է 1979-ին։ Օրիգինալ տարբերակում առկա թերությունների պատճառով Կնուտը ամբողջովին փոխեց METAFONT-ը և ամբողջական տարբերակը թողարկեց 1984-ին, որը օգտագործվում է մինչև հիմա։ METAFONT-ը կարելի է օգտագործել ոչ միայն տառատեսակներ ստեղծելու համար, այլև ցանկացած այլ գրաֆիկական օբյեկտ ստեղծելիս։ Բարդ պատկերների համար ցանկալի է օգտագործել MetaPost, որը իր մեջ օգտագործում է PostScript:

METAFONT-ի օրինակ.

mode_setup;

% Define a beanlike shape for the character B
beginchar("B", 11pt#, 11pt#, 0);
 % Setup coordinates as an equation system
 y1=y2=y3=0;
 y4=y5=y6=h;
 x1=x4=0;
 x2=x5=w;
 x3=x6=2*w;

 % Define pen
 pickup pencircle xscaled 0.2w yscaled 0.04w rotated 45;

 % Draw the character curve
 draw z1..z3..z6{z2-z6}..z5..{z4-z2}z4..cycle;
endchar;

end

Օրինակներ[խմբագրել | խմբագրել կոդը]

Մաթեմատիկական օրինակ[խմբագրել | խմբագրել կոդը]

TeX-ը ապահովում է մաթեմատիկական բանաձևերի տարբեր ներկայացումներ։ Օրինակ քառակուսային հավասարման արմատի բանաձևը, որը քառակուսային հավասարման լուծումն է ներկայացվում է այսպես.

Markup Renders as
The quadratic formula is $-b \pm \sqrt{b^2 - 4ac} \over 2a$ \bye

Բանաձևը գրվում է այնպես, ինչպես կցանկանայինք գրել ձեռքով գրելուց։ Փաստաթղթում մաթեմատիկական միջավայրը միացնելու համար տողի սկզբում և վերջում դրվում է $ սիմվոլը։ Դոնալդ Կնուտը այդ սիմվոլի ընտրությունը բացատրում էր նրանով, որ մաթեմատիկան բանաձևերի գրառումը ինքնին սպասվում է, որ պետք է լինի թանկ։[4] Ցուցադրական մաթեմատիկան(երբ բանաձևը գրվում է նոր տողր կենտրոնում) օգտագործում է կրկնակի $$ տողասկզբի սիմվոլներ։

Markup Renders as
The quadratic formula is $$-b \pm \sqrt{b^2 - 4ac} \over 2a$$ \bye

Մաթեմատիկական բանաձևերի հեռավորությունները[խմբագրել | խմբագրել կոդը]

Մաթեմատիկական տեքստի հավաքում TeX-ի և AMS Euler տառատեսակի օգտագործմամբ:

Քանի որ TEX-ի հիմնական նպատակը որակյալ շարվածքով գրքերի ստեղծումն էր, դրա համար Դ.Կնուտը մեծ ուշադրություն է դարձրել մաթեմատիկական բանաձևերում հեռավորությունների ապահովմանը։[5]: Կնուտը ուսումնասիրել է մեծաքանակ գրականություն հեռավորությունների ճիշտ կանոններ մշակելու համար։[6] Մինչ կսահմանվեին TEX-ի նախնական կանոններ անհրաժեշտ հեռավորություն ապահովելու համար, պարզվեց, որ իրականում այն կախված է տառատեսակի չափերից։ Օրինակ Կնուտի կողմից ստեղծված Computer Modern տառատեսակը հիանալի համապատասխանում էր բոլոր կաննոններին և օգտագործվում է մինչև հիմա, իսկ երբ սկսվեց Computer Modern տառատեսակի օգտագործումը, հեռավորության կանոնները վերասահմանվեցին։[7] Մաթեմատիկական շարվածքը TeX-ում չնդունվեց առանց քննադատությունների, հատկապես տառատեսակների չափերի տեխնիկական բաղադրիչների մասով, որոնք նախագծվել էին այն դարաշրջանում, երբ հատուկ ուշադրություն էր դարձվում հիշողության պահանջներին։ Դա բերեց որոշակի բաց հատվածների (hacks), որոնք իրենց հերթին առաջացրին նորերը։

OpenType math-ը մեծամասամբ վերցված է TeX-ից, բայց ունի շատ նոր հատկություններ։ .[8][9][10]

Արտաքին հղումներ[խմբագրել | խմբագրել կոդը]

TeX Frequently Asked Questions on the Web], UK: List of TeX, http://www.tex.ac.uk/cgi-bin/texfaq2html?introduction=yes 

Ծանոթագրություններ[խմբագրել | խմբագրել կոդը]

  1. https://www.tug.org/whatis.html
  2. http://mirrors.ctan.org/systems/knuth/dist/tex/tex.web
  3. TeX Frequently Asked Questions — question label «TeXpronounce»
  4. Knuth, 1984, մեկնաբանություն՝ Ch. 16: Typing Math Formulas, էջ` 127
  5. Slater, Robert (1989), Portraits in Silicon, MIT Press, p. 349, ISBN 9780262691314, https://books.google.am/books?id=aWTtMyYmKhUC&pg=PA349 
  6. Donald E. Knuth. Questions and Answers II, TUGboat 17 (1996), p. 355–367. Reprinted as chapter 32 of Digital Typography, p. 620–624.
  7. Donald E. Knuth. Typesetting Concrete Mathematics, TUGboat 10 (1989), p. 31–36, p. 342. Reprinted as chapter 18 of Digital Typography, p. 367–378.
  8. http://blogs.msdn.com/b/murrays/archive/2006/09/13/752206.aspx
  9. http://blogs.msdn.com/b/murrays/archive/2006/11/15/lineservices.aspx
  10. http://www.ntg.nl/maps/38/03.pdf