Movatterモバイル変換


[0]ホーム

URL:


Пређи на садржај
Википедија
Претрага

TeX

С Википедије, слободне енциклопедије
Овај чланак мождазахтевачишћењеи/илипрерађивање како би се задовољилистандарди квалитета Википедије. Ако сте у могућности,побољшајте овај чланак. (детаљније о уклањању овог шаблона обавештења)
Тех
Програмер(и)Доналд Кнут
Прво издање1978.; пре 47 година (1978)
Стабилно издање
3.14159265 / јануар 2014.; пре 11 година (2014-01)
РепозиторијумУреди на Википодацима
Написан уWEB/паскал
Оперативни системвишеплатформски
Типtypesetting
Лиценцаслободан софтвер
Веб-сајтtug.org

TEX је систем је за обраду ипрелом текста нарачунару.[1] У основи овог система лежиМЕТАФОНТ, језик за опис фонтова и словни обликComputer Modern. Његов творац јеДоналд Кнут, а прва стабилна верзија је реализована 1978. године. Његова основна сврха је писање докумената, чланака и књига које лепо изгледају, структурирано и једноставно генеришу текст који у себи садржи и друге штампане садржаје сем обичног текста, а ту се првенствено мисли на научне текстове са сложенимматематичким формулама ифункцијама као и другим симболима. TeX јеслободан софтвер, и као такав је доступан широком кругу корисника.

TeX је популаран уакадемској сфери, нарочито када су у питањуматематика,компјутерске науке,економија,инжењерство,физика,статистика, иквантитативна психологија. У великој мери је распрострањен уUnixtroff, другом омиљеном систему за форматирање текста, у многим Unix инсталацијама, и користи се за различите намене. TeX је општеприхваћен као најбољи начин за слагање сложених математичких формула, нарочито када се користи у обликуLaTeX,ConTeXt или неког другог пакета шаблона, а данас се такође користи и за друге словослагачке послове. Широко коришћенMIME type за TeX јеapplication/x-tex. У оквиру припрема система, његово име је стилизовано као TEX.

Историја

[уреди |уреди извор]

Када је 1968. године објављен први томThe Art of Computer Programming аутораДоналда Кнута слагање слога је извршеноhot metal typesetting, а подешено наMonotype Corporation. Ова метода, која датира из 19. века, произвела је „добар класични стил” цењен од стране Кнут-а. Када је, 1976. године, објављено друго издање другог тома цела књига морала је поново да прође слагање слога пошто је Monotype технологија увелико замењенаphototypesetting, и оригинални фонтови више нису доступни.[2] Када је Кнут видео галерију доказа његове нове књиге 30. марта 1977. године, нашао је да страшно лоше изгледају.[3] У то време, Кнут је видео по први пут излаз дигиталне припреме система високог квалитета, и заинтересовао се за дигиталну типографију. Разочаравајућа галерија доказа дала му је финалну мотивацију да реши проблем једном за свагда и да за све дизајнира сопствени систем за слагање слога. Дана 13. март 1977. године, написао је допис самом себи у којем описује основне карактеристике TeX-а.[4]

Он је планирао да га заврши током одмора 1978. године, али се десило да развој није замрзнут и спреман за употребу све до 1989. године, више од десет година касније. Десило се да јеGuy Стил посетиоСтанфорд Универзитет током лета 1978. године, када је Кнут развијао своју прву верзију TeX-а. Када се те јесени Стил вратио наМасачусетски технолошки институт, преписао је TeX улаз/излаз (I/O) да ради подIncompatible Timesharing System (ITS) оперативим системом. Прва верзија TeX је написана уSAIL programming language и предвиђена да ради наPDP-10 под StanfordWAITS оперативним системом. За касније верзије TeX-а, Кнут је измислио концептliterate programming, начин да се произведе компактибилниизворни код и умрежену документацију написану у TeX-у из истог почетног фајла. Коришћен је језик који се зовеWEB и производи програме у DEC PDP-10Pascal.

Нова верзија TeX, преписана од нуле и названа TeX82, објављена је 1982. године. Међу другим променама, оригиналниалгоритам за прелом речи на крају реда је замењен новим алгоритмом који је написао Франк Лианг. Такође, TeX82 користиfixed-point arithmetic уместоfloating-point, како би се осигурала репродуктивност резултата у различитим рачунарима,[5] и укључује правуTuring-complete програмског језика, након интензивног лобирања од стране Guy Steele.[6] Године 1989. Доналд Кнут је објавио нову верзију TeX-а иМЕТАФОНТ.[7] Упркос жељи да задржи програм стабилним, Кнут је схватио да 128 различитих карактера за унос текста није довољно да прими друге језике сем енглеског; стога је главна промена у верзији 3.0 способност TeX-a за рад са8-битним улазом, дозвољавајући 256 различитих знакова уноса текста.

Од верзије 3, TeX се користио карактеристичнимнумеричким системом за означавање верзије, где су допуне означене додавањем екстра цифре на крају децимале, тако да број верзијаасимптотски тежиπ. То је одраз чињенице да је TeX сада веома стабилан, а само су мале исправке предвиђене. Тренутна верзија TeX-а је 3.14159265; последњи пут је ажуриран 2014-01-12.[8] Дизајн је замрзнут након верзије 3.0, нове карактеристике или фундаменталне промене неће бити додаване, тако да ће све нове верзије садржати самоbug fixes. Иако је сам Доналд Кнут предложио неколико области у којима би се TeX могао побољшати, он је навео да чврсто верује да има непромењен систем који ће произвести исти излаз сада и у будућности, што је важније од увођења нове функције. Из тог разлога он је изјавио да је „апсолутно коначна промена (да се учини након моје смрти)” да се промени број верзије наπ, и у том тренутку све преостале грешке ће постати карактеристике.[9] Такође, METAFONT након верзије 2.0 асимптотски тежиe, и сличне промене ће бити примењене након Кнутове смрти.

Пошто је изворни код TeX-a у суштини ујавном домену (види доле), другим програмерима је дозвољено (и изричито се подстичу) за побољшање система, али је потребно да користите други назив за дистрибуцију модификованог TeX-а, што значи да уизворни код могу даље развијати. На пример,омега пројекат је развијен после 1991. године, првенствено за побољшање Тех за вишејезичне припремне способности. Кнут је развио „незваничну” модификовану верзију, као што јеTeX-XeT, који омогућава кориснику мешовите текстове написанеслева надесно и здесна налево уписаној форми, а у истом документу.[10]

Систем за слагање слога

[уреди |уреди извор]

TeX команде обично почињу саbackslash и груписане су увитичастим заградама. Скоро све синтаксне особине TeX-а се могу мењати у ходу, што TeX улаз чини тешким за анализу осим самог TeX-а. TeX јеmacro- иtoken-based language: много команди, укључујући и оне које дефинише корисник, је проширено у ходу, а само су извршни непрошириви токени остали. Због тога је само проширење практично без споредних ефеката.Tail recursion макрои не заузимају простор меморије, а if-then-else конструкције су на располагању. Ово чини да је TeXTuring-complete језик чак и на нивоу проширења.[11] Систем се може поделити у четири нивоа: у првом, карактери се читају из улазног фајла и додељен им је код категорије (понекад се назива „catcode”, скраћено). Комбинација backslash (заправо, било који знак од нулте категорије) затим слова (карактери категорије 11) или неког другог карактера замењује контролни знак секвенце. У том смислу, ова фаза је као лексичке анализе, иако не формира бројеве из цифара. У наредној фази, са могућношћу проширења контролне секвенце (као што су уређаја или дефинисаним макроима) су замењени њиховим текстом. Улаз за трећу фазу је тада ток знакова (укључујући и оне са посебним значењем) и unexpandable контролне секвенце (обично задатке и визуелне команде). Сада се карактери монтирају у параграфу. TeX-ов алгоритам за прелом параграфа ради тако што оптимизује тачку прелома за цео параграф. Четврта фаза прекида вертикалну листу линија и другог материјала у оквиру једне стране.

TeX има прецизно знање о величинама свих знакова и симбола, као и начина на који користи ове информације, и начина на који израчунава оптимали распоред слова по реду и редова по страни. На крају производиDVI фајл („DeVice Independent”) који садржи коначне положаје свих знакова. Овакав*.dvi фајл може бити штампан директно на одговарајући штампач, или може бити конвертован у други формат. Данас се често користиpdfTeX, којим се потпуно заобилази DVI. Основни систем разуме око 300 команди, које се зовуprimitives.[12] Ове команде су ниског нивоа и ретко се користе од стране корисника, а већина њих обезбеђује функционалност формата датотека (predumped memory images of TeX after large macro collections have been loaded). Кнутов оригинални подразумевани формат, са додатних 600 команди је Plain TeX.[13] Најраспрострањенији формат јеLaTeX, првобитно развијен од странеЛеслие Лампорт, који обухвата стилове докумената за књиге, писма, сјалдове, итд, и додаје подршку за референцирање и аутоматско нумерисање поглавља и једначина. Још један формат који је у широкој употреби јеAMS-TeX, који је произведен од странеАмеричког математичког друштва и пружа много више user-friendly команди, којима се може изменити часопис на начин да се уклопи са стилом њихове издавачке куће. Већина карактеристика AMS-TeX може се користити у LaTeX помоћу AMS „пакета”. Ово се називаAMS-LaTeX. Други формати укључујућиConTeXt, пре свега се користе за стоно издаваштво и већином су написани од стране Hans Hagen наPragma.

Како TeX ради

[уреди |уреди извор]
Узорак страница направљена коришћењем TeX-а саLaTeX макроима

ЈедноставанЗдраво свете програм у Plain TeX изгледа:

Здраво, Свете\bye% marks the end of the file; not shown in the final output

Ово може бити у датотециmyfile.tex јер је .tex уобичајенаекстензија за обичне TeX датотеке. По default, све што следи је знак за проценат на линији за коментар, и то је текст који TeX игнорише. Покрећући на овом фајлу (на пример, куцајућиtex myfile.tex уcommand-line interpreter, или позивајући га изграфичког корисничког интерфејса) створиће се излазни фајл под називомmyfile.dvi, који представља садржај странице уdeviceindependent формату (DVI). DVI фајл може сада бити гладан на екрану монитора или конвертован у одговарајући формат за било који од различитих штампача чији device driver постоји (подршка за штампач углавном није карактеристика оперативних система у време када је створена TeX). Кнут је рекао да не постоји ништа инхерентно у TeX-у што захтева DVI као излазни формат, а касније Tex верзије, пре свега pdfTeX, XeTeX и LuaTeX, дају подршку директно уPDF.

Пример математичке формуле

[уреди |уреди извор]

Посебно за математичке формуле TeX нуди другачију текстуалну синтаксу. На пример,квадратна једначина (чије је решењеквадратна формула) појављује се као:

ВикиозначавањеРезултат у чланку
The quadratic formula is$-b\pm\sqrt{b^2-4ac}\over2a$\bye

Формула је штампана на начин као да је особа писала руком, или сложила једначину у текст. У документу, улазни деоматематички модел се врши почевши са $ симболом, затим се уноси формула у TeX синтакси, и затвара са другим истим симболом са којим је отворена. Кнут је у шали објаснио да је изабрао знак долар да укаже на почетак и крај математичког мода у plain TeX-у јер је слагање слога и математичких формула традиционално требало да буде скупо.[14]Display mathematics (математичка формула представљена у центру новог реда) је слична претходном примеру али користи $$ уместо једног $ симбола. На пример, горња квадратна формула представљена на математички начин је:

ВикиозначавањеРезултат у чланку
The quadratic formula is$$-b\pm\sqrt{b^2-4ac}\over2a$$\bye

Нови аспекти

[уреди |уреди извор]

Софтвер TeX-а обухвата неколико аспеката који нису били доступни, или су нижег квалитета у, другим програмима за припрему текста у време када је TeX објављен. Неке од новина су базиране на основу занимљивих алгоритама, а довеле су до неколико теза које су објавили Кнутови студенти. Док су нека од ових открића сада укључена у друге програме за слагања слога, други, као што су правила за математички размак, су још увек јединствени.

Математички размак

[уреди |уреди извор]
Математички текст сложен коришћењем TeX-а иAMS Euler фонта

Пошто је основни циљ TeX језика квалитетна припрема за издаваче књига,Кнут је посветио велику пажњу размацима и правилима за математичке формуле.[15][16] Он је радио на три рада који се сматрају стандардима изврсности математичке типографије: сложио је слог за књиге издавачке кућеAddison-Wesley Publishing's (која је штампала књигуThe Art of Computer Programming), а нарочито рад од Hans Wolf иJoseph Louis Lagrange (термодинамичке иновације, +1856); издања математичког журналаActa Mathematica који датира из периода око 1900. године; и копијуIndagationes Mathematicae,Холандског математичког часописа. Кнут је пажљиво погледао ове штампане радове да би сортирао и пронашао најбољи скуп правила за размак.[17] Док TeX даје нека основна правила и алате потребне да одредите одговарајуће размак, тачни параметри зависе од фонта који се користи за писање формуле. На пример, размак за Кнутов фонтComputer Modern је прецизно и фино подешен током година, а сада је и постављен; али када се други фонтови, као што суAMS Euler, користе по први пут, нови параметри размака морају бити јасно дефинисани.[18]

Припрема слога за математичке формуле у TeX-у није без критике, нарочито у вези са техничким детаљима показатеља фонта, који су дизајнирани у ери када је значајна пажња посвећена захтевима за складиштење. То је довело до неких „hacks” преоптерећења у неким областима, што је заузврат довело до захтева за другим „hacks”. На нивоу естетике, такође је критиковано освежавање текста.[19] СпецификацијаOpenType math фонта се у великој мери ослања на TeX, али има и неке нове карактеристике / побољшања.[20][21][22]

Подела речи на слогове на крају реда и поравнање

[уреди |уреди извор]

У поређењу са ручним припремама, проблемпоравнања је лако решити у дигиталном систему као што је TeX, који, под условом да су обезбеђени добри примери за прелом реда, може аутоматски ширити размак између речи да попуни простор до краја реда. Проблем је, дакле, да се пронађе скуп контролних тачака које ће дати највише визуелно пријатан резултат. Многи алгоритми за поделу речи на крају реда користеfirst-fit approach, где су утврђене тачке прекида за сваку линију једна за другом, а не дозвољавају да се тачка прекида мења пошто је се изабрана.[23] Такав систем није у стању да дефинише тачку прекида у зависности од ефекта који ће имати на следећим линијама. Поређења ради,укупан-фит алгоритама за разбијање линија који користи TeX, а који је развијен од стране Доналда Кнута иMichael Plass разматрасве могуће тачке прекида у пасусу, и потом налази оптималну комбинацију линије прекида који ће произвести највише глобално пријатан аранжман.

Формално, алгоритам дефинише вредност под називомлоше која је повезана са сваким могућим преломом линије; лоше се повећава уколико се места на линији морају да протежу или превише смањују да би линија задржала тачну ширину. Казне се додају ако је преломна тачка посебно непожељна: на пример, ако се мора цртицом поделити реч, ако су две линије за редом преломљене на слогове на крају реда, или ако је врло лабава линија после које одмах следи веома кратка линија. Ако параграф садржиn{\displaystyle n} могућих тачака прекида број ситуација које се морају проценити наивно је2n{\displaystyle 2^{n}}. Међутим, методомдинамичко програмирање, сложеност алгоритма може се свести наO(n2){\displaystyle O(n^{2})} (видиВелико О нотација). Даља поједностављења (на пример, не тестирају веома вероватну тачку прекида као што је растављање у првој речи на став), доводе до ефикасног алгоритма чији је покренут време је готово увек редаn{\displaystyle n}. Сличан алгоритам се користи за одређивање најбољих начина да се прекине параграф преко две стране, како би се избеглоудовице илисирочад (линије које се појављују само на страници док је остатак параграфа је на следећој или претходној страни). Међутим, генерално, теза одMichael Plass показује како је проблем прелома стране може битиNP-complete због додатних компликација постављања фигура.[24] TeX је усвојио неколико другиг програма за стварање алгоритма за прелом линије, као што суAdobe InDesign (adesktop publishingapplication)[25] and theGNUfmtUnixcommand line utility.[26]

Коришћење TeX-a

[уреди |уреди извор]

У неколико техничких области, као што су информатика, математика, инжењерство и физика, TeX је постаоде факто стандард. Бројни магазини, журнали и листови у овим областима су произведени употребном TeX-a или LaTeX-a, омогућавајући ауторима да пошаљу своје сирове рукописе написане у TeX-у.[27] Многе публикације у другим областима, укључујући речнике и правне публикације, које су произведене користећи TeX, нису биле тако успешне као у више техничким областима, јер TeX је првенствено намењен математици. Када је дизајнирао TeX, Доналд Кнут није веровао да би један систем за слагање слога одговарао потребама свих; уместо тога, он је дизајнирао многе кукице унутар програма тако да је било могуће писати проширења, и објавио је изворни код, надајући се да ће издавачи прилагодити дизајн њиховим потребама. Док су такви додаци створани (укључујући и неке додатке од стране самог Кнута), већина људи ће повећати TeX само помоћу макроа и то је остао систем повезан са техничким припремама.[28][29][30]

Могуће је користити TeX за аутоматско генерисање софистицираног распореда када су у питању XML податци. Разлике у синтакси између два описа језика може да се превазиђе уз помоћTeXML. У контексту XML објављивања, TeX се на тај начин може сматрати као алтернатива заXSL-FO. TeX дозвољава да се научни радови у математичким дисциплинама своду на релативно мале фајлове, које би могле бити изречене на страни клијента, што омогућава потпуно слагање слога у научним радовима који се размењују преко раног Интернета, чак и када слање великих датотека било тешко. Ово је утрло пут за стварање спремишта научних радова, као што суarXiv, кроз које радови могу бити 'објављени' без посредника издавача.[31]

Могуће је убацити TeX формуле уМедијаВики странице користећи<math> ознаку.

Заједница

[уреди |уреди извор]
TeX Users Group's logo

Значајна лица у TeX заједници укључујући TeX Users Group, која издајеTUGboat иThe PracTeX Journal, покривају широк спектар тема издигиталне типографије од значаја за TeX.Deutschsprachige Anwendervereinigung TeX је највећа корисничка група уНемачкој. TeX Users Group је основана 1980. године у образовне и научне сврхе, и нуди организацију за оне који имају интерес за типографију и дизајн фонта, а при томе су корисници TeX система за слагање слога који је изумеоДоналд Кнут. TeX Users Group заступа интересе TeX корисника широм света. TeX Users Group објављујечасописTUGboat три пута годишње.tex.stackexchange.com је активна локација за питања и одговоре како за нове тако и за искусне TeX кориснике подједнако.

Види још

[уреди |уреди извор]

Референце

[уреди |уреди извор]
  1. ^Самарџић, А.LATEX2ϵ{\displaystyle 2\epsilon } за ауторе (страна 7.), Компјутер библиотека Чачак. 2003. ISBN978-86-7310-277-1.
  2. ^Knuth, Donald Ervin, „1. Commemorative lecture for theKyoto Prize,Kyoto, 1996”,Digital Typography 
  3. ^Digital Typography. pp. 5. „I had spent 15 years writing those books, but if they were going to look awful I didn't want to write any more.”
  4. ^Knuth, Donald Ervin,TEXDR.AFT [мртва веза]
  5. ^Knuth & Plass, стр. 144 harvnb грешка: no target: CITEREFKnuthPlass (help)
  6. ^Donald E. Knuth,Knuth meets NTG members, NTG: MAPS.16 (1996), 38—49. Reprinted asQuestions and Answers, III, chapter 33 ofDigital Typography. pp. 648.
  7. ^Donald E. Knuth.The New Versions of TeX and METAFONT, TUGboat10 (1989), 325—328;11 (1990), 12. Reprinted as chapter 29 ofDigital Typography.
  8. ^„TeX 14 release”. Приступљено20. 1. 2014. 
  9. ^Donald E. Knuth.The future of TeX and METAFONT, NTG journal MAPS (1990), 489. Reprinted as chapter 30 ofDigital Typography. pp. 571.
  10. ^Donald E. Knuth and Pierre MacKay.Mixing Right-to-Left Texts with Left-to-Right Texts, TUGboat8 (1987), 14—25. Reprinted as chapter 4 ofDigital Typography.
  11. ^Jeffrey, Alan (1990),„Lists in TeX's Mouth”(PDF),TUGboat,11 (2): 237—45 
  12. ^Knuth 1984, стр. 9.
  13. ^Plain TeX (source code), CTAN 
  14. ^Knuth 1984, стр. 127, Ch. 16: Typing Math Formulas.
  15. ^Slater, Robert (1989).Portraits in Silicon. MIT Press. стр. 349.ISBN 978-0-262-69131-4. 
  16. ^Syropoulos, Apostolos; Tsolomitis, Antonis; Sofroniou, Nick (2003).Digital Typography Using LaTeX. Springer. стр. 93.ISBN 978-0-387-95217-8. 
  17. ^Donald E. Knuth.Questions and Answers II, TUGboat17 (1996). pp. 355—367. Reprinted as chapter 32 ofDigital Typography. pp. 620—624.
  18. ^Donald E. Knuth.Typesetting Concrete Mathematics, TUGboat10 (1989). pp. 31—36. pp. 342. Reprinted as chapter 18 ofDigital Typography. pp. 367—378.
  19. ^Ulrik Vieth (2001)Math typesetting in TEX: The good, the bad, the ugly
  20. ^High-Quality Editing and Display of Mathematical Text in Office 2007 — Murray Sargent: Math in Office
  21. ^LineServices — Murray Sargent: Math in Office
  22. ^http://www.ntg.nl/maps/38/03.pdf
  23. ^Barnett, Michael P (1965),Computer Typesetting: Experiments and Prospects,Cambridge,MA:MIT Press 
  24. ^Knuth & Plass 1981.
  25. ^„Donald E. Knuth”,TUGboat (interview),Advogato,21: 103—10, 2000, Архивирано изоригинала(PDF) 22. 01. 2009. г., Приступљено28. 12. 2016 
  26. ^„4.1 fmt: Reformat paragraph text”,Core GNU utilities (GNU coreutils) manual, GNU Project, 2016 
  27. ^Beebe, стр. 10. sfn грешка: no target: CITEREFBeebe (help)
  28. ^Knuth, Donald Ervin; MacKay, Pierre (1987),„Mixing Right-to-Left Texts with Left-to-Right Texts”(PDF),TUGboat,8: 14—25 . Reprinted as„Chapter 4”,Digital Typography 
  29. ^Knuth, Donald Ervin (1996), „Questions and Answers I”,TUGboat,17: 7—22 . Reprinted as„Chapter 31”,Digital Typography, стр. 598 
  30. ^Knuth, Donald Ervin (1996), „Questions and Answers II”,TUGboat,17: 355—67 . Reprinted as„Chapter 32”,Digital Typography, стр. 616—17 
  31. ^O'Connell, Heath (2000). „Physicists Thriving with Paperless Publishing”.arXiv:physics/0007040Слободан приступ. 

Литература

[уреди |уреди извор]

Спољашње везе

[уреди |уреди извор]
Публикације
Софтвер
Фонтови
Литерарно програмирање
Алгоритми
Остало
Макро пакети
Алтернативне TEX машине
Дистрибуција
Заједница
Повезан
TEX уређивачи
Отвореног кода
Бесплатан софтвер
Малопродаја
Међународне
Државне
Остале
Портал:
Преузето из „https://sr.wikipedia.org/w/index.php?title=TeX&oldid=28525648
Категорије:
Сакривене категорије:

[8]ページ先頭

©2009-2025 Movatter.jp