TeXը համակարգչային շարվածքի համակարգ է, որը մշակել է ամերիկացի պրոֆեսորԴոնալդ Կնուտը համակարգչային տպագրության ստեղծման նպատակով։ Շատերը TeX-ը համարում են մաթեմատիկական բանաձևեր գրելու լավագույն տարբերակը։ Դրա շնորհիվ TeX-ը ունի լայն տարածում ակադեմիական շրջանակներում, հատկապես ֆիզիկոսների և մաթեմատիկոսների շրջանում։ Անունը հնչում է «ՏեԽ» (հունարենից թաթգմանաբար՝ τέχνη - արվեստ, վարպետություն)[1]։
Ի տարբերություն տեքստերի շարվածքի համար նախատեսված այլ միջոցների, որոնք կառուցված ենWYSIWYG սկզբունքով, TeX-ում օգտագործողը նշում է միայն տեքստը և նրա կառուցվածքը, որից TeX-ը հիմնվելով օգտագործողի կողմից տրված կաղապարի վրա ձևավորում է փաստաթուղթը։ Փասաթղթերը հավաքվում են սեփական նշումների լեզվովASCII ֆայլի տեսքով, որը պարունակում է տեղեկություն տեքստի ձևափոխման կամ նկարի ավելացման մասին։Այս ֆայլերը (սովորաբար ունեն «.tex» ընդլայնում) ձևափոխվում են հատուկ ծրագրի միջոցով «.dvi» (deviceindependent — «սարքավորումից անկախ ») ֆայլի, որը կարող է տպվել կամ ցուցադրվել էկրանին։ DVI ֆայերը կարելի է ձևափոխելPostScript,PDF կամ այլ էլեկտրոնային ֆրմատի։TeXի միջուկը իրենից ներկայացնում է ցածր մակարդակի նշումների լեզու, որը պարունակում է տառի բաց թողնման և տառաչափի փոփոխման հրամաններ։ TeX-ում մեծ հնարավորություններ են ստեղծում պատրաստի մակրոսները և ընդլայնումը։ TeX-ի ամենատարածված ընդլայնումըLaTeX-ն է և AMS-TeX-ը։
TeX-ը կարելի է օգտագործել ցանկացած տեսակի տեքստեր հավաքելու համար, սկսած փոքր նամակներից մինչև մեծ գիտական գրքեր։ Ինքնին TeX-ը ստեղծվել է գիտական աշխատանքների շարվածքի համար։
Տառատեսակների ստեղծման համար TeX-ի հետ համատեղ օգտագործվում էԴոնալդ Կնուտ-ի կողմից մշակված METAFONT համակարգը, որում տառատեսակները գրվում ենMeta լեզվով։ Կարող են նաև օգտագործվելPostScript Type 1,TrueType ևOpenType.
METAFONT-ը TEX-ի անմիջական մաս չէ։ Այն տառատեսակների ներկայացման համակարգ է, որը թույլ է տալիս նախագծել և ներկայացնել սիմվոլները տարբեր ալգորիթմներիմիջոցով։Դոնալդ Կնուտը սկսել է աշխատել Metafont-ի վրա 1977 թվականից և առաջին տարբերակը թողարկել է 1979-ին։ Օրիգինալ տարբերակում առկա թերությունների պատճառով Կնուտը ամբողջովին փոխեց METAFONT-ը և ամբողջական տարբերակը թողարկեց 1984-ին, որը օգտագործվում է մինչև հիմա։ METAFONT-ը կարելի է օգտագործել ոչ միայն տառատեսակներ ստեղծելու համար, այլև ցանկացած այլ գրաֆիկական օբյեկտ ստեղծելիս։ Բարդ պատկերների համար ցանկալի է օգտագործելMetaPost, որը իր մեջ օգտագործում էPostScript:
METAFONT-ի օրինակ.
mode_setup;% Define a beanlike shape for the character Bbeginchar("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}\over2a$\bye
Բանաձևը գրվում է այնպես, ինչպես կցանկանայինք գրել ձեռքով գրելուց։ Փաստաթղթում մաթեմատիկական միջավայրը միացնելու համար տողի սկզբում և վերջում դրվում է $ սիմվոլը։Դոնալդ Կնուտը այդ սիմվոլի ընտրությունը բացատրում էր նրանով, որ մաթեմատիկան բանաձևերի գրառումը ինքնին սպասվում է, որ պետք է լինի թանկ։[2]Ցուցադրական մաթեմատիկան(երբ բանաձևը գրվում է նոր տողր կենտրոնում) օգտագործում է կրկնակի $$ տողասկզբի սիմվոլներ։
Markup
Renders as
The quadratic formula is$$-b\pm\sqrt{b^2-4ac}\over2a$$\bye
Մաթեմատիկական տեքստի հավաքում TeX-ի ևAMS Euler տառատեսակի օգտագործմամբ:
Քանի որ TEX-ի հիմնական նպատակը որակյալ շարվածքով գրքերի ստեղծումն էր, դրա համար Դ.Կնուտը մեծ ուշադրություն է դարձրել մաթեմատիկական բանաձևերում հեռավորությունների ապահովմանը[3]։ Կնուտը ուսումնասիրել է մեծաքանակ գրականություն հեռավորությունների ճիշտ կանոններ մշակելու համար[4]։ Մինչ կսահմանվեին TEX-ի նախնական կանոններ անհրաժեշտ հեռավորություն ապահովելու համար, պարզվեց, որ իրականում այն կախված է տառատեսակի չափերից։ Օրինակ Կնուտի կողմից ստեղծվածComputer Modern տառատեսակը հիանալի համապատասխանում էր բոլոր կաննոններին և օգտագործվում է մինչև հիմա, իսկ երբ սկսվեց Computer Modern տառատեսակի օգտագործումը, հեռավորության կանոնները վերասահմանվեցին[5]։ Մաթեմատիկական շարվածքը TeX-ում չընդունվեց առանց քննադատությունների, հատկապես տառատեսակների չափերի տեխնիկական բաղադրիչների մասով, որոնք նախագծվել էին այն դարաշրջանում, երբ հատուկ ուշադրություն էր դարձվում հիշողության պահանջներին։ Դա բերեց որոշակի բաց հատվածների (hacks), որոնք իրենց հերթին առաջացրին նորերը։