TEX Live 2017: Приручник*

Карл Бери, уредник
http://tug.org/texlive/

превод на српски језик
Никола Лечић
nikola.lecic@anthesphoria.net

мај 2017

Садржај

1 Увод
 1.1 TEX Live и TEX Collection
 1.2 Подржани оперативни системи
 1.3 Основна инсталација TEX Live-а
 1.4 На шта треба обратити пажњу што се тиче сигурности
 1.5 Помоћ у раду
2 Преглед TEX Live-а
 2.1 TEX Collection: TEX Live, proTEXt, MacTEX
 2.2 TEX Live: директоријуми највишег нивоа
 2.3 Садржај директоријума texmf
 2.4 Проширења TEX
 2.5 Други истакнути програми у TEX Live
3 Инсталација
 3.1 Покретање инсталационог програма
  3.1.1 Unix
  3.1.2 Mac OS X
  3.1.3 Windows
  3.1.4 Cygwin
  3.1.5 Инсталација у текстуалном режиму
  3.1.6 Инсталација у експертском графичком режиму
  3.1.7 Инсталација у поједностављеном графичком („wizard“) режиму
 3.2 Употреба инсталационог програма
  3.2.1 Мени за избор платформе (само на Unix-у)
  3.2.2 Избор компоненти
  3.2.3 Директоријуми
  3.2.4 Опције
 3.3 Параметри програма install-tl на командној линији
  3.3.1 Параметар -repository
 3.4 Постинсталациони задаци
  3.4.1 Системске променљиве на Unix-у
  3.4.2 Системске променљиве: глобална подешавања
  3.4.3 Надоградње преко Интернета после инсталације са DVD-ја
  3.4.4 Подешавање системских фонтова за XeTEX и LuaTEX
  3.4.5 ConTEXt Mark IV
  3.4.6 Укључивање локалних и личних макроа
  3.4.7 Укључивање спољних фонтова
 3.5 Тестирање инсталације
 3.6 Додатни софтвер који се може преузети са Интернета
4 Специјализоване инсталације
 4.1 Инсталације које дели више корисника или више компјутера
 4.2 Преносиве инсталације на USB-диску
5 Одржавање инсталације помоћу tlmgr
 5.1 tlmgr у графичком (GUI) режиму рада
 5.2 Примери позивања tlmgr-а са командне линије
6 Напомене за Windows
 6.1 Могућности специфичне за Windows
 6.2 Додатни софтвер за Windows
 6.3 Лични кориснички директоријум на Windows-у
 6.4 Windows-ов „registry“
 6.5 Овлашћења на Windows-у
 6.6 Увећавање максимума доступне меморије на Windows-у и Cygwin-у
7 Кориснички водич кроз Web2C
 7.1 Проналажење фајлова помоћу Kpathsea
  7.1.1 Извори путања
  7.1.2 Конфигурациони фајлови
  7.1.3 Прерачунавање путање
  7.1.4 Стандардно прерачунавање
  7.1.5 Прерачунавање заграда
  7.1.6 Прерачунавање поддиректоријума
  7.1.7 Списак специјалних симбола и њихово значење: преглед
 7.2 Базе података са именима фајлова
  7.2.1 База података ls-R
  7.2.2 Самостални програм за претраживање: kpsewhich
  7.2.3 Примери употребе
  7.2.4 Поступци отклањања грешака
 7.3 Опције током рада (runtime options)
8 Захвалнице
9 Историја издањā
 9.1 Прошлост
  9.1.1 2003
  9.1.2 2004
  9.1.3 2005
  9.1.4 2006–2007
  9.1.5 2008
  9.1.6 2009
  9.1.7 2010
  9.1.8 2011
  9.1.9 2012
  9.1.10 2013
  9.1.11 2014
  9.1.12 2015
  9.1.13 2016
 9.2 Тренутно стање — 2017
 9.3 Будућност

1 Увод

1.1 TEX Live и TEX Collection

У овом документу су описане главне могућности софтверске дистрибуције TEX Live, која се састоји од TEX-а и програма који су повезани са њим, и која се прави за GNU/Linux и друге варијанте Unix-а, Mac OS X и Windows.

TEX Live се може преузети са Интернета или добити преко TEX Collection DVD-ја који групе корисника TEX-а дистрибуирају својим члановима, и на разне друге начине. Одељак 2.1 укратко описује садржај DVD-ја. TEX Live и TEX Collection су резултат удружених напора многих група корисника TEX-а. Овај документ описује пре свега сâм TEX Live.

У TEX Live су укључени програми TEX, LATEX2ε, ConTEXt, Metafont, MetaPost, BibTEX и многи други, обимна колекција макроа, фонтова и документације, као и подршка за припрему текста на много разних писама и језика из свих делова света.

Кратак преглед најважнијих промена у овом издању TEX Live-а налази се на крају документа, у одељку 9 (стр. 87).

1.2 Подржани оперативни системи

TEX Live садржи унапред компајлиране програме за многе варијанте Unix-а, укључујући GNU/Linux и Mac OS X. Такође, ту су и верзије програма за Cygwin. Пошто је изворни код укључен у дистрибуцију, програми се могу компајлирати и на платформама1 за које немамо унапред припремљене бинарне фајлове.

Што се тиче Windows-а, подржани су само Windows 7 и касније верзије. Windows Vista, XP и 2000 ће са великом вероватноћом и даље радити за највећи број ствари. Не постоје посебни 64-битни програми за Windows; уместо тога, 32-битни програми би требало да раде на 64-битним системима.

Погледајте одељек 2.1 ако Вам је потребно више информација о алтернативним решењима за Windows и Mac OS X.

1.3 Основна инсталација TEX Live-а

TEX Live се може инсталирати са DVD-ја или преко Интернета (http://tug.org/texlive/acquire.html). Сам програм за инсталацију који ради преко мреже је мали и скида све што је задато са Интернета.

Програм за инсталацију са DVD-ја Вам омогућава да инсталирате TEX Live на локални диск. TEX Live се не може директно покретати са DVD-ја (као ни из DVD .iso одраза), али зато можете да припремите преносиву радну верзију на нпр. USB-диску (погледајте одељак 4.2). Инсталација је детаљно описана у одељцима који следе (стр. 13); укратко, поступак изгледа овако:

1.4 На шта треба обратити пажњу што се тиче сигурности

Према нашем најдубљем знању и уверењу, основни TEX програми који чине језгро TEX Live-a изузетно су робусни (и увек су били такви). Међутим, допунски програми који су укључени у TEX Live нису нужно на истом нивоу, упркос великим напорима. Као и увек, требало би да будете опрезни када покрећете програме да обрађују непоуздане улазне податке; најсигурније што можете да урадите јесте да то увек радите у новом поддиректоријуму.

Потреба за опрезом је нарочито важна на Windows-у, пошто Windows обично тражи програме у текућем директоријуму пре него на било ко другом месту, без обзира на путању за претрагу коју задаје корисник. Ово отвара широку лепезу могућности за напад. Ми смо санирали многе сигурносне пропусте, али неки превиди су без сумње и даље ту, нарочито у програмима који нам долазе са стране. Стога препоручујемо да проверите да ли радни директоријум садржи сумњиве, пре свега извршне фајлове (бинарне или скрипте). Њих обично нема, и свакако не би требало да се створе обичном обрадом неког документа.

Коначно, TEX (и пратећи програми) често стварају нове фајлове када обрађују документ, што је особина која се може злоупотребити на много разних начина. Да поновимо, обрада непознатих докумената у новом поддиректоријуму је најсигурније што можете да урадите.

1.5 Помоћ у раду

Заједница корисника TEX-а је активна и пријатељски расположена, тако да се и на најозбиљнија питања на крају нађе одговор. Међутим, ова подршка је неформалне природе будући да долази од волонтерā и случајних читалаца мејлинг-листа, тако да је нарочито важно да „урадите домаћи задатак“ пре него што нешто питате. (Ако више волите загарантовану комерцијалну подршку, можете се у потпуности одрећи TEX Live-а и купити одговарајући систем; на страници http://tug.org/interest.html#vendors постоји списак таквих продаваца.)

Ово је листа расположивих ресурса датих отприлике редоследом по коме препоручујемо да их користите:

Страница за почетнике
Ако сте нови у TEX-у, страница http://tug.org/begin.html нуди кратак увод у систем.
TEX FAQ
(питања везана за TEX која се често постављају) представља огромну збирку одговора на све врсте питања, од најосновнијих до најсложенијих. Та збирка је укључена у TEX Live и налази се у директоријуму texmf-dist/doc/generic/FAQ-en/, а доступна је и на Интернету преко http://www.tex.ac.uk/faq. Молимо Вас да одговоре прво овде потражите.
TEX Catalogue
(TEX-каталог) Ако тражите неки специфичан пакет, фонт или програм, TEX-каталог је место на коме треба отпочети претрагу. То је огромна колекција свих ствари које имају везе са TEX-ом. Погледајте http://mirror.ctan.org/help/Catalogue/.
TEX ресурси на Интернету
Интернет-страница http://tug.org/interest.html садржи многе линкове који имају везе са TEX-ом, нарочито на бројне књиге, приручнике и чланке о свим аспектима система.
архивирана подршка
Најважнији форуми на којима можете добити помоћ су Usenet група news:comp.text.tex, мејлинг-листа texhax@tug. org и http://tex.stackexchange.com, сајт са питањима и одговорима посвећеним TEX-у, који одржавају сами корисници. Архиве ових форума садрже велики број питања и одговора прикупљених током много година; претраживе архиве прва два доступне су преко http://groups.google.com/group/comp.text.tex/topics и http://tug.org/mail-archives/texhax. Такође, обична претрага Интернета, на пример преко http://google.com, никад није наодмет.
постављање питања
Ако и даље не можете да пронађете одговор, можете да поставите питање на comp.text.tex користећи Google или свој newsreader, или на texhax@ tug.org путем електронске поште. Али, пре него што поставите питање, молимо Вас да прочитате овај текст из FAQ колекције како бисте увећали шансе да добијете користан одговор: http://www.tex.ac.uk/cgi-bin/texfaq2html?label=askquestion. Треба поменути и Интернет-страницу LATEX заједнице (LATEX Community, http://www.latex-community.org/) и њихов форум http://www.latex-community.org/forum/, као и Интернет-портал TEX StackExchange, http://tex.stackexchange.com/.
подршка везана за TEX Live
Ако желите да пријавите грешку или ако имате предлоге и коментаре везане за дистрибуцију, инсталацију или документацију TEX Live-а, мејлинг-листа је tex-live@tug.org. Међутим, ако се Ваше питање тиче употребе неког посебног програма укљученог у TEX Live, молимо Вас да пишете особи која тренутно одржава тај програм или на одговарајућу мејлинг-листу. Врло често, покретање програма са параметром --help даје адресу на коју треба пријавити грешке.

С друге стране, ту је пружање помоћи онима који постављају питања. И comp.text.tex и texhax су отворени за сваког, па стога будите слободни да се прикључите; почните да читате и помозите где можете.

2 Преглед TEX Live-а

Овај одељак описује садржај дистрибуције TEX Collection и њеног саставног дела, TEX Live-а.

2.1 TEX Collection: TEX Live, proTEXt, MacTEX

TEX Collection DVD обухвата:

TEX Live
Комплетан TEX систем који се може инсталирати на диск. Интернет-страница: http://tug.org/texlive/.
MacTEX
Варијанта TEX Live-а за Mac OS X; укључује инсталациони програм писан специјално за Mac OS X и још неке Mac апликације. Интернет-страница: http://tug.org/mactex/.
proTEXt
Рађен као проширење Windows дистрибуције MiKTEX, proTEXt укључује неколико допунских алатки и поједностављује инсталацију. Он је у потпуности независан од TEX Live-а и има сопствена упутства за инсталацију. Интернет-страница: http://tug.org/protext.
CTAN
Сајт-копија (mirror) репозиторијума CTAN (http://www.ctan.org/).

Лиценце које одређују услове умножавања CTAN-а и пакета protext нису нужно исте као у TEX Live-у, па стога будите опрезни када их редистрибуирате или преправљате.

2.2 TEX Live: директоријуми највишег нивоа

Ево списка и кратких описа директоријумā највишег нивоа у TEX Live инсталацији:

bin

Програми TEX система, груписани по платформама.

readme-*.dir

Кратак преглед TEX Live-a и корисни линкови на разним језицима, у HTML и текстуалном формату.

source

Изворни кôд свих програма који су укључени у TEX Live, укључујући средишње TEX дистрибуције засноване на Web2C-у.

texmf-dist

Главни директоријум. Погледајте опис променљиве TEXMFDIST у следећем одељку.

tlpkg

Скрипте, програми и подаци потребни за одржавање инсталације, као и фајлови специфични за Windows.

Осим управо набројаних директоријума, на највишем нивоу дистрибуције налазе се и инсталационе скрипте и README (ПРОЧИТАЈ-МЕ) фајлови на разним језицима.

Што се тиче документације, од помоћи може да буде исцрпна колекција линкова у фајлу doc.html, који се налази у директоријуму највишег нивоа. Документација за готово све (пакети, формати, фонтови, приручници за програме, man-странице, Info-фајлови) налази се у texmf/doc. Документација за TEX пакете и формате налази се у texmf-dist/doc. Можете да употребите програм texdoc ако желите да пронађете било који део документације.

Документација о самој дистрибуцији TEX Live налази се у texmf/doc/texlive и доступна је на неколико језика:

2.3 Садржај директоријума texmf

Овај одељак даје списак унапред дефинисаних променљивих које одређују распоред података унутар директоријума texmf, сврху којој служе, као и њихов подразумевани положај и својства унутар TEX Live-а. Команда tlmgr conf приказује вредности ових променљивих тако да лако можете да видите на који директоријум (дрво) на Вашој инсталацији оне упућују.

Сви ови директоријуми (дрвета), укључујући и лични, треба да поштују TDS (структуру TEX директоријума, односно TEX Directory Structure — http://tug.org/tds), са свим безбројним поддиректоријумима карактеристичним за њу, иначе може да се деси да се неки фајлови не могу пронаћи. Одељак 3.4.6 (стр. 47) детаљно се бави овом темом. Претрага се врши од последњег наведеног директоријума уназад. Другим речима, претрага се завршава ако је фајл пронађен у директоријуму који је наведен касније у листи.

TEXMFDIST

Дрво које садржи готово све фајлове оригиналне дистрибуције: конфигурационе фајлове, помоћне скрипте, пакете, фонтове, итд. (Најважнији изузетак су програми који зависе од операционог система, и који су смештени у паралелни директоријум bin/.)

TEXMFLOCAL

Дрво које администратори могу да користе за инсталацију додатних или надограђених макроа, фонтова, итд; садржај овог дрвета важи за цео систем.

TEXMFSYSVAR

(Глобално важеће) дрво које користе texconfig-sys, updmap-sys, fmtutil-sys и tlmgr за чување (кешираних) података које разни програми користе током рада, као што су формати и мапе.

TEXMFSYSCONFIG

(Глобално важеће) дрво које користе апликације texconfig-sys, updmap-sys и fmtutil-sys за чување измењених конфигурационих података.

TEXMFHOME

Дрво које корисници могу да користе за своје личне инсталације додатних или надограђених макроа, фонтова, итд; вредност ове променљиве динамички се прилагођава положају личног директоријума сваког појединог корисника.

TEXMFCONFIG

(Лично корисниково) дрво које апликације texconfig, updmap и fmtutil користе за чување измењених конфигурационих података.

TEXMFSYSVAR

(Лично корисниково) дрво у коме апликације texconfig, updmap и fmtutil чувају аутоматски направљене податаке које разни програми користе током рада, као што су формати и мапе.

TEXMFCACHE

Дрво (или више дрвета) које ConTEXt MkIV и LuaLATEX користе за чување (кешираних) радних података. Подразумевана вредност ове променљиве је TEXMFSYSVAR, а ако се тамо не могу уписивати подаци, онда се узима вредност TEXMFVAR.

Подразумевана структура директоријума изгледа овако:

корен система
може да садржи више различитих издања TEX Live-а:
2016

Претходно издање.

2017

Тренутно издање.

bin

 

i386-freebsd    

програми за FreeBSD

i386-linux      

програми за GNU/Linux

...

universal-darwin

програми за Mac OS X

x86_64-darwin   

програми за Mac OS X

win32           

програми за Windows

texmf-dist  

TEXMFDIST и TEXMFMAIN

texmf-var   

TEXMFSYSVAR, TEXMFCACHE

texmf-config

TEXMFSYSCONFIG

texmf-local

TEXMFLOCAL, заједнички за сва издања.

корисников лични директоријум
($HOME или %USERPROFILE%)
.texlive2016

Лични направљени и конфигурациони подаци за претходно издање.

.texlive2017

Лични направљени и конфигурациони подаци за тренутно издање.

texmf-var   

TEXMFVAR, TEXMFCACHE

texmf-config

TEXMFCONFIG

texmf

TEXMFHOME Лични макрои итд.

2.4 Проширења TEX

Кнутов [Knuth] оригинални TEX је замрзнут: осим ретких поправки грешака, у њега се не уносе никакве исправке. Изворни TEX је још увек присутан у TEX Live-у као програм tex, и тако ће и остати у будућности. TEX Live садржи неколико проширених варијанти TEX-а (познатих као TEX engines — „TEX мотори“):

e-TEX
додаје неколико нових примитивā  (којe се односе на проширење макроа, читање симболā, класе ознака, додатне могућности за отклањање грешака и још пуно тога), као и проширење звано TEX--XE T које служи за припрему докумената са садржајем на језицима који се пишу са лева на десно, уз оне који се пишу са десна на лево. У подразумеваном режиму, e-TEX је 100% компатибилан са стандардним TEX-ом. Погледајте texmf-dist/doc/etex/base/etex_man.pdf.
pdfTEX
је изграђен на проширењима које је донео e-TEX, додајући на њих подршку за прављење докумената директно у PDF формату (поред уобичајеног DVI) и много проширења невезаних за излаз. Ово је програм који се користи за већину формата, као што су etex, latex, pdflatex. Интернет страница пројекта је http://www.pdftex.org/. Упутство за употребу је texmf-dist/doc/pdftex/manual/pdftex-a.pdf, а примери који демонстрирају неке од његових могућности налазе се у texmf-dist/doc/pdftex/manual/samplepdf/samplepdf.tex.
LuaTEX
је предвиђен да буде наследник pdfTEX-а, и углавном је (мада не у потпуности) компатибилан са својим претходницима. Намера је такође да он буде функционални надскуп Aleph-а (погледајте ниже), премда нема намере да се подржи техничка компатибилност. Уграђени интерпретер језика Lua (http://www.lua.org/) омогућава елегантна решења за многе тешко решиве проблеме у TEX-у. Када се позива као texlua, функционише као самостални Lua интерпретер и као такав је већ у употреби унутар TEX Live-а. Интернет-страница пројекта је http://www.luatex.org/ а приручник је texmf-dist/doc/luatex/base/luatex.pdf.
XeTEX
додаје подршку за унос текста према Unicode стандарду уз употребу OpenType фонтова; XeTEX може да користи фонтове који већ постоје на систему; ова подршка је урађена уз употребу спољних библиотека. Погледајте http://tug.org/xetex.
Omega (Omega)
је заснован на Unicode стандарду (сваки знак заузима 16 бита), па стога подржава рад са скоро свим светским писмима у исто време. Он подржава и тзв. „Omega процесе превођења“ („Omega Translation Processes“ — OTP) за извођење сложених транформација над произвољним улазом. Omega није више укључен у TEX Live као одвојени програм; одржавамо само Aleph (погледајте испод).
Aleph
комбинује проширења која су донели Omega и e-TEX. Погледајте texmf-dist/doc/aleph/base.

2.5 Други истакнути програми у TEX Live

Ево неколико других важних програма који су укључени у TEX Live и који се често користе:

bibtex

подршка за прављење библиографијā.

makeindex, xindy

подршка за прављење индексā.

dvips

пребацује DVI формат у PostScript.

xdvi

програм за приказивање DVI формата у графичком систему X (X Window System).

dviconcat, dviselect

рад са документима у DVI формату.

dvipdfmx

пребацује DVI у PDF; служи као алтернатива приступу који омогућава pdfTEX (објашњено у претходном одељку).

psselect, psnup…

алатке за баратање PostScript документима.

pdfjam, pdfjoin…

алатке за баратање PDF документима.

context, mtxrun

програми за ConTEXt и PDF.

htlatex, …

tex4ht: конвертор из (LA )TEX у HTML, XML и друге формате.

конвертор из TEX-а у HTML, XML и много других формата.

3 Инсталација

3.1 Покретање инсталационог програма

За почетак, потребан Вам је TEX Collection DVD или програм за инсталирање TEX Live-а преко Интернета (net installer). Пронађите инсталациону скрипту: она се зове install-tl на Unix-има, а install-tl-windows.bat на Windows-у. На страници http://tug.org/texlive/acquire.html налазе се додатне информације како можете да дођете до софтвера.

Net installer, .zip или .tar.gz:
Скините га са CTAN-а, налази се у директоријуму systems/ texlive/tlnet; преко путање http://mirror.ctan.org/systems/texlive/tlnet требало би да будете аутоматски пребачени на географски најближи сајт-копију (mirror) који садржи најновије верзије целокупног садржаја. Можете да преузмете install-tl.zip, који се може користити и под Unix-ом и под Windows-ом, или значајно мањи install-unx.tar.gz (само за Unix). Када распакујете фајл који сте преузели, у поддиректоријуму install-tl наћи ћете фајлове install-tl и install-tl-windows.bat.
Net installer, Windows .exe:
Скините га са CTAN-а као и у претходном случају, и покрените двоструким кликом миша. Покренуће се иницијални инсталер; погледајте слику 1. Он нуди три опције: „Једноставна инсталација“ („Simple install“) покреће поједностављени графички („wizard“) режим рада инсталационог програма, „Напредна инсталација“ („Custom install“) покреће инсталацију у експертском графичком режиму („expert GUI“), описану у одељку 3.1.3. Ако изаберете трећу опцију, садржај преузете архиве ће бити само распакован на диск.
TEX Collection DVD:
Уђите у директоријум texlive на DVD-ју. На Windows-у се инсталациони програм обично сам покреће када убаците DVD. DVD можете добити ако постанете члан неке групе корисника TEX-а (наша срдачна препорука да урадите тако, погледајте http://tug.org/usergroups.html), тако што ћете га купити (http://tug.org/store), или тако што ћете сами нарезати ISO фајл. На већини система можете и да директно приступите садржају ISO одраза („mount“). Ако после инсталације преко DVD-ја или ISO одраза желите да наставите са надоградњама преко Интернета, погледајте одељак 3.4.3.



Слика 1: Иницијални Windows .exe инсталер


Без обзира на то који извор користите, покреће се један исти инсталер. Највидљивија разлика је то што преко мреже („Net installer“) добијате пакете који су доступни у том тренутку. За разлику од тога, DVD и ISO фајлови се не освежавају у периоду између главних издања.

Ако за преузимање са Интернета морате да користите прокси, треба да у сагласности са њим подесите фајл ~/.wgetrc или одговарајуће системске променљиве програма Wget (http://www.gnu.org/software/wget/manual/html_node/Proxies.html). TEX Live за преузимање увек користи GNU Wget. Наравно, то нема никаквог значаја ако инсталирате са DVD-ја или из ISO фајла.

Наредни одељци детаљно објашњавају како се инсталациони програм користи.

3.1.1 Unix

Од сада па надаље, означава „промпт“ („shell prompt“); оно што уноси корисник приказано је подебљаним словима. Скрипта install-tl је написана у језику Perl. Најједноставнији начин да је покренете на Unix системима изгледа овако:

perl /путања/до/програма/за/инсталацију/install-tl
(Уместо тога, можете је просто позвати са perl /путања/до/инсталера/install-tl ако је скрипта извршни фајл — има „права на извршавање“, речено Unix језиком — итд; нећемо понављати све ове варијације.) Може се десити да је потребно да повећате прозор свог терминала како би у њега стао цео садржај програма (слика 2).

Ако желите да обавите инсталацију у експертском графичком режиму („expert GUI“, слика 3), биће Вам потребан модул Perl::TK компајлиран са XFT подршком; то је обично тако на GNU/Linux-у, али није нужно случај на другим системима.2 Када све буде спремно, откуцајте:

perl install-tl -gui

Ако желите да видите комплетан списак разних опција, откуцајте:

perl install-tl -help

Упозорење везано за корисничка овлашћења на Unix системима: Инсталациони програм TEX Live-а ће поштовати Ваш umask који важи у време инсталације. Дакле, ако желите да инсталирани систем користе и други корисници, побрините се да подесите одговарајуће дозволе, на пример, umask 002. Исцрпније информације о команди umask можете пронаћи у документацији на Вашем систему.

Посебни обзири везани за Cygwin: За разлику од других система компатибилних са Unix-ом, Cygwin у свом стандардном облику не садржи све неопходне програме који су потребни инсталационом програму TEX Live-а. Одељак 3.1.4 посвећен је овој теми.

3.1.2 Mac OS X

Као што је поменуто у одељку 2.1, за Mac OS X је припремљена посебна дистрибуција по имену MacTEX (http://tug.org/mactex). Препоручујемо да на Mac OS X систему користите изворни инсталациони програм уместо оног који је укључен у TEX Live зато што ће MacTEX верзија урадити и нека додатна подешавања специфична за Mac OS X, пре свега она која Вам омогућавају да се лако пребацујете са једне на другу дистрибуцију TEX-а (MacTEX, Fink, MacPorts…) које поштују тзв. TEXDist структуру података.

MacTEX је строго заснован на TEX Live-у и главни TEX директоријуми су у потпуности исти. MacTEX на ту структуру додаје неколико допунских директоријума са документацијом и апликацијама специфичним за Mac.

3.1.3 Windows

Ако користите нераспаковани .zip фајл преузет са Интернета или ако се инсталациони програм са DVD-ја не отвори аутоматски, двапут кликните install-tl-windows.bat. Ако желите да имате више могућности око подешавања разних параметара, нпр. да изаберете или не изаберете поједине колекције пакета, уместо поменутог програма покрените install-tl-advanced.bat.

Инсталациони програм се може покренути и са командне линије (command-prompt). У наставку текста, ће означавати промпт; оно што куца корисник биће штампано подебљаним словима. Када уђете у директоријум у коме се налази инсталациони програм, откуцајте:

install-tl-windows

Можете да употребите и апсолутну путању, на пример:

D:\texlive\install-tl-windows
Овај конкретан пример значи да користите TEX Collection DVD и да је ознака оптичког драјва на Вашем компјутеру D:. Слика 4 приказује поједностављени графички („wizard“) режим рада инсталационог програма; овај режим се на Windows-у подразумева.

Ако хоћете да инсталирате у текстуалном режиму, откуцајте:

install-tl-windows -no-gui

Комплетан списак опцијā добићете ако откуцате:

install-tl-windows -help


Installing TeX Live 2017 from: ...
Platform: amd64-freebsd => "FreeBSD on x86_64"
Distribution: live (compressed)
Directory for temporary files: /tmp
...
 Detected platform: FreeBSD on x86_64

 <B> binary platforms: 1 out of 19

 <S> set installation scheme (scheme-full)

 <C> customizing installation collections
   40 collections out of 41, disk space required: 4900 MB

 <D> directories:
   TEXDIR (the main TeX directory):
     /usr/local/texlive/2017
   ...

 <O> options:
   [ ] use letter size instead of A4 by default
   ...

   <V> set up for portable installation

Actions:
 <I> start installation to hard disk
 <P> save installation profile to "texlive.profile" and exit
 <H> help
 <Q> quit

Слика 2: Главни екран инсталационог програма (FreeBSD)



pict

Слика 3: Инсталациони програм у експертском графичком („Expert GUI“) режиму (FreeBSD)



pict

Слика 4: Инсталациони програм у поједностављеном графичком („Wizard“) режиму (Windows)


3.1.4 Cygwin

Пре него што почнете инсталацију, покрените Cygwin-ов програм setup.exe како бисте инсталирали пакете perl и wget уколико не постоје на Вашем систему. Препоручују се и ови додатни пакети:

3.1.5 Инсталација у текстуалном режиму

Слика 2 приказује главни екран инсталационог програма у текстуалном режиму рада на Unix-у. Текстуални режим је стандард на Unix-у.

У овом режиму, инсталациони програм се искључиво ослања на командну линију; употреба курзора није могућа. На пример, не можете да употебите дугме „Тab“ да се премештате од поља до поља за избор и унос текста. Просто откуцате нешто на промпту (разлика између великих и малих слова је битна) и притиснете Enter; тада се цео екран терминала поново испуњава измењеним садржајем.

Текстуални интерфејс је с разлогом овако примитиван: он је дизајниран да ради на што је год могуће већем броју оперативних система, укључујући и оне са тако једноставним инсталацијама које садрже само чист Perl.

3.1.6 Инсталација у експертском графичком режиму

Слика 3 приказује експертски графички режим рада на FreeBSD систему. Основна разлика у односу на текстуални режим јесте то што овде можете да користите дугмиће и меније.

Овај режим рада се може изричито позвати помоћу

install-tl -gui=perltk

3.1.7 Инсталација у поједностављеном графичком („wizard“) режиму

Ако није другачије захтевано, на Windows-у инсталациони програм користи најједноставнији режим рада који смо могли да осмислимо и који се зове „wizard“ („чаробњак“ — слика 4). Програм у том режиму инсталира све и не пита скоро ништа. Ако желите да подешавате инсталацију, треба да користите неки од горе описаних режима.

На другим оперативним системима овај режим се може изричито позвати помоћу

install-tl -gui=wizard

3.2 Употреба инсталационог програма

Инсталер је направљен са намером да буде мање-више јасан по себи, али ево неколико напомена о разним опцијама.

3.2.1 Мени за избор платформе (само на Unix-у)


Available platforms:
===============================================================================
   a [ ] Cygwin on Intel x86 (i386-cygwin)
   b [ ] Cygwin on x86_64 (x86_64-cygwin)
   c [ ] MacOSX legacy (10.5-10.6) on Intel x86 (i386-darwin)
   d [ ] MacOSX legacy (10.5) on PowerPC (powerpc-darwin)
   e [ ] MacOSX current on x86_64 (x86_64-darwin)
   f [ ] MacOSX legacy (10.6-10.9) on x86_64 (x86_64-darwinlegacy)
   g [X] FreeBSD on x86_64 (amd64-freebsd)
   h [ ] FreeBSD on Intel x86 (i386-freebsd)
   i [ ] GNU/Linux on ARM (armel-linux)
   j [ ] GNU/Linux on ARMhf (armhf-linux)
   k [ ] GNU/Linux on Intel x86 (i386-linux)
   l [ ] GNU/Linux on PowerPC (powerpc-linux)
   m [ ] GNU/Linux on x86_64 (x86_64-linux)
   o [ ] NetBSD on x86_64 (amd64-netbsd)
   p [ ] NetBSD on Intel x86 (i386-netbsd)
   s [ ] Solaris on Intel x86 (i386-solaris)
   t [ ] Solaris on Sparc (sparc-solaris)
   u [ ] Solaris on x86_64 (x86_64-solaris)
   v [ ] Windows (win32)

Слика 5: Мени за избор платформе (тј. архитектуре и оперативног система) за програме


Слика 5 приказује мени са подржаним платформама (в. фусноту 1 за објашњење израза „платформа“) за програме, у текстуалном режиму. Подразумева се да ће бити инсталиране само верзије програма за тип процесора и оперативни систем на коме сте покренули инсталацију. Можете, међутим, изабрати и да инсталирате верзије програма и за неке друге платформе. Ово може да буде корисно ако се TEX заједнички користи на мрежи са разнородним машинама или на компјутерима који на себи имају неколико различитих оперативних система.

3.2.2 Избор компоненти


Select scheme:
===============================================================================
 a [X] full scheme (everything)
 b [ ] medium scheme (small + more packages and languages)
 c [ ] small scheme (basic + xetex, metapost, a few languages)
 d [ ] basic scheme (plain and latex)
 e [ ] minimal scheme (plain only)
 f [ ] ConTeXt scheme
 g [ ] GUST TeX Live scheme
 h [ ] infrastructure-only scheme (no TeX at all)
 i [ ] teTeX scheme (more than medium, but nowhere near full)
 j [ ] custom selection of collections

Слика 6: Мени са шемама


Слика 6 приказује TEX Live-ов мени са шемама; преко њега можете изабрати „шему“, тј. један кохерентан скуп колекција пакета. Подразумевана „пуна“ (full) шема инсталира све. Препоручује се да тако и урадите; ипак, можете да изаберете и „основну“ (basic) шему прикладну за мале системе, „минималну“ (minimal) шему за потребе тестирања и „средњу“ (medium) шему — заправо teTeX — нешто у средини између претходна два. Постоје такође и разне специјализоване шеме и шеме прилагођене некој посебној земљи.


pict

Слика 7: Мени са колекцијама


Одабир шеме може да се даље разради помоћу менија „колекције“ (слика 7, овог пута, за промену, приказан у графичком режиму).

Колекције су за један ниво детаљније него шеме — поједностављено речено, једна шема се састоји од неколико колекција, колекција се састоји од једног или више пакетā, а пакет (најнижи ниво груписања у TEX Live-у) садржи стварне фајлове TEX макроа, фонтова, итд.

Ако желите још више контроле него што нуде менији са колекцијама, можете да користите TEX Live Manager (tlmgr) након инсталације (подгледајте одељак 5); помоћу њега можете да контролишете инсталацију на нивоу пакетā.

3.2.3 Директоријуми

Подразумевани распоред директоријумā описан је у одељку 2.3, стр. 9. Стандардни директоријум у који се смешта инсталација је /usr/local/texlive/2017 на Unix-у, односно %SystemDrive%\texlive\2017 на Windows-у. На тај начин можете лако одржавати више паралелних инсталација TEX Live, по једну за свако издање (обично једно годишње, као у овом случају), и можете се лако пребацивати са једне на другу простим мењањем путање за претрагу.

Директоријум за инсталацију можете променити у инсталеру подешавајући променљиву TEXDIR. Како се мењају ова и друге опције приказано је на слици 3. Најчешћи разлог за промену је недостатак простора на партицији на којој се налази подразумевани директоријум (комплетан TEX Live има неколико гигабајта) или недостатак права уписивања на подразумевано место (не морате да будете root или администратор да бисте инсталирали TEX Live, али морате имати право уписивања у циљни директоријум).

Директоријуми за инсталацију могу да се промене и пре покретања инсталера подешавањем одређених системских променљивих (најчешће су то TEXLIVE_INSTALL_PREFIX или TEXLIVE_INSTALL_TEXDIR); у документацији коју даје install-tl --help (доступна на Интернету на страници http://tug.org/texlive/doc/install-tl.html) наћи ћете комплетан списак и много више детаља.

Разумна алтернатива за инсталацију је неки директоријум унутар личног директоријума, посебно ако ћете једини корисник бити Ви. Употребите „~“ да означите лични директоријум, на пример „~/texlive/2017“.

Препоручујемо да укључите ознаку за годину у име изабраног директоријума како бисте били у могућности да држите различита издања TEX Live-а једно поред другог. (Такође, можете и да помоћу симболичког линка одржавате име независно од верзије, нпр. /usr/local/texlive-cur и да тај линк касније промените након тестирања новог издања.)

Промена вредности променљиве TEXDIR у инсталационом програму повлачи за собом и промену директоријумā TEXMFLOCAL, TEXMFSYSVAR и TEXMFSYSCONFIG.

Препоручујемо да користите TEXMFHOME као место за личне макрое и пакете. Подразумевана вредност је ~/texmf. Насупрот TEXDIR-у, овде се ознака ~ чува у новозаписаним конфигурационим фајловима зато што означава лични директоријум особе која који користи TEX. Он на Unix-у узима вредност $HOME а на Windows-у постаје %USERPROFILE%. Посебна, већ помало сувишна напомена: TEXMFHOME, као и сва дрвета са подацима, мора бити организовано у складу са TDS; у противном се може десити да фајлови не могу да се пронађу.

TEXMFVAR је место где се смештају кеширани подаци који се стварају током рада програмā и који се разликују од корисника до корисника. LuaLATEX и ConTEXt MkIV (погледајте одељак 3.4.5, стр. 47) користе у те сврхе директоријум TEXMFCACHE; његова подразумевана вредност је TEXMFSYSVAR, а у случају да тамо не могу да се уписују подаци, узима се вредност TEXMFVAR.

3.2.4 Опције


Options setup:
===============================================================================
 <P> use letter size instead of A4 by default:          [ ]
 <E> execution of restricted list of programs:          [X]
 <F> create format files:                               [X]
 <D> install font/macro doc tree:                       [X]
 <S> install font/macro source tree:                    [X]
 <L> create symlinks in standard directories:           [ ]
            binaries to:
            manpages to:
                info to:
 <Y> after installation, get package updates from CTAN: [X]

Слика 8: Мени са опцијама (Unix)


Слика 8 приказује мени са опцијама у текстуалном режиму рада. Следи више информација о свакој од њих:

узети Letter као подразумевану величину папира уместо A4
(use letter size instead of A4 by default): Избор подразумеване величине папира. Наравно, можете да употребите било коју величину папира ако се за тим укаже потреба у неком посебном документу.
извршавање ограничене листе програма
(execution of restricted list of programs): Почев од TEX Live 2010, покретање једног броја спољних програма дозвољено је у стандардној инсталацији. Листа дозвољених програма (која је веома кратка) дата је у texmf.cnf. Више детаља можете наћи у списку новитета за TEX Live 2010 (одељак 9.1.7).
направи фајлове са форматима
(create format files): Иако фајлови са форматима које не користите заузимају место на диску и одузимају време да се направе, препоручује се да оставите ову опцију укључену: ако то не урадите, формати ће по потреби бити прављени у личним директоријумима корисника (дрво TEXMFVAR). На том месту неће бити аутоматски освежени ако се, рецимо, појави нова верзија програма или правила за прелом текста, па корисник лако може да има проблем са некомпатибилним форматима.
инсталирај изворни кôд и документацију фонтова и макроа
(install font/macro doc/source tree): Ако су ове опције укључене, биће преузети са Интернета и инсталирани документација и изворни кôд који су саставни део већине пакета. Искључивање ове опције се не препоручује.
направи симболичке линкове у системским директоријумима
(create symlinks in standard directories): Ова опција (само на Unix-у) служи да избегнете подешавање променљивих из радног окружења (environment variables). Без ове опције, директоријуми TEX Live-а обично морају да се додају у PATH, MANPATH и INFOPATH. Биће Вам потребно и овлашћење за уписивање у те системске директоријуме. Ова опција је пре свега намењена да би се TEX Live систему приступало кроз директоријуме који су већ познати кориснику, као што је /usr/local/bin, али само ако они пре тога нису садржавали никакве фајлове везане за TEX. Ову опцију не треба користити тако да она мења фајлове који већ постоје тако што ћете, на пример, у овом контексту задати неки системски директоријум. Најбоље је — и ми то препоручујемо — да ову опцију оставите искључену.
после инсталације обнављати пакете преко CTAN-а
(after installation, get package updates from CTAN): Када инсталирате са DVD-ја, ова опција се подразумева зато што већина корисника жели да преузме све нове верзије пакета са CTAN-а које се појаве током године. Једини разумни разлог да искључите ову опцију појављује се у случају када са DVD-ја инсталирате само део система и планирате да га касније проширите. У сваком случају, репозиторијум пакетā који се користи за инсталацију и за будуће освежавање система може да се подеси и касније; погледајте одељке 3.3.1 и 3.4.3.

Опције специфичне за Windows, доступне у напредној верзији Perl/Tk (графичког) интерфејса:

подесити променљиву PATH у „registry“-ју
(adjust PATH setting in registry): Сви програми инсталирани на систему видеће директоријум са програмима TEX Live у својој путањи за претрагу.
додати пречице у менију
(add menu shortcuts): Ако је ова опција укључена, у Start мениjу Windows-а појавиће се подмени „TEX Live“. Поред „TEX Live menu“ и „No shortcuts“, постоји и трећа опција (Launcher entry. Она је описана у одељку 4.1.
повежи типове фајлова са одговарајућим програмима
(change file associations): Расположиве варијанте су „само у новим случајевима“ („only new“ — прави нове везе али не дира старе), „увек“ („all“) и „не“ („none“).
инсталирати програм TEXworks
(install TEXworks front end)

Када су сви параметри подешени према Вашој жељи, можете да притиснете „I“ (у текстуалном интерфејсу) или „Инсталирај TEX Live“ (у графичком, тj. Perl/Tk GUI интерфејсу) како бисте започели поступак инсталације. Када се све заврши, пређите на одељак 3.4 и прочитајте шта после тога има да се уради, ако уопште нешто буде потребно.

3.3 Параметри програма install-tl на командној линији

Откуцајте

install-tl -help
како бисте добили списак свих параметара које можете да употребите на командној линији. Можете да користите и - и -- испред назива параметра. Ово је списак могућности које се најчешће употребљавају:

-gui

Ако је могуће биће употребљена графичка (GUI) верзија инсталационог програма. За ово је потребан Perl/Tk модул (http://tug.org/texlive/distro.html#perltk) компајлиран са подршком за XFT; ако Perl/Tk није доступан, инсталација се наставља у текстуалном режиму.

-no-gui

Изричито захтевање употребе текстуалног режима рада, чак и на Windows-у.

-lang LL

Задавање језика инсталационог програма према стандардном двословном коду LL. Инсталациони програм ће покушати да установи који се језик користи на систему; ако не успе или ако језик није доступан, пребациће се на енглески. Команда install-tl --help ће приказати листу расположивих језика. Инсталациони програм је преведен на српски; покрените га помоћу install-tl -gui -lang sr.

-portable

Припрема преносиве инсталације на USB-диску. Овај параметар се може изабрати и у текстуалном режиму инсталера (помоћу команде V), као и у графичком режиму. Погледајте одељак 4.2.

-profile file

Учитава инсталациони профил file и обавља инсталацију без интеракције са корисником. Инсталациони програм увек записује фајл texlive.profile у tlpkg, поддиректоријум Ваше инсталације. Помоћу ове опције поменути фајл се може употребити да се, на пример, идентична инсталација понови да неком другом систему. Осим тога, можете да лако припремите сопствени профил тако што промените вредности у профилу који је аутоматски направљен (простом изменом вредности у текст едитору) или да подесите да профил буде празан фајл (у ком случају ће инсталациони програм без питања инсталирати TEX Live са подразумеваним параметрима).

Ова опција задаје програму да изнова употреби такав фајл тако да, након прве инсталације, можете да инсталирате TEX Live на више система или компјутера у режиму без постављања питања (batch mode), понављајући све опције које сте првобитно изабрали.

-repository url-or-directory

Одређује репозиторијум из кога ће се инсталирати пакети; погледајте следећи одељак.

-in-place

(Ова опција је унета у документацију због комплетности. Немојте је користити ако не знате тачно шта радите.) Ако већ имате копију TEX Live-а направљену помоћу rsync, svn или друге копије самог TEX Live-а (погледајте http://tug.org/texlive/acquire-mirror.html), онда се овим параметром задаје да се употреби то што имате, такво какво је; биће обављене само неопходне постинсталационе радње. Будите пажљиви зато што фајл tlpkg/texlive.tlpdb може бити пребрисан новом верзијом; на Вама је да га сачувате. Такође, уклањање пакетā мора да се уради ручно. стите овај параметар ако не знате тачно шта радите. Ова опција не може да се укључи преко графичког интерфејса инсталера.

3.3.1 Параметар -repository

Подразумевани репозиторијум пакета је један од сајтова-копија (mirror) CTAN-a који се аутоматски одређује преко http://mirror.ctan.org.

Ако не желите да користите овај систем, вредност локације може да буде путања (URL) која почиње са ftp:, http: или file:/, или пак да буде обична путања до локалног директоријума. (Када задајете http: или ftp:, завршни знак „/“ и/или завршни текст „/tlpkg“ се игноришу.)

На пример, можете да изаберете неки посебан CTAN mirror отприлике овако: http://ctan.example.org/tex-archive/systems/texlive/tlnet/, стављајући право име сервера (hostname) и његову специфичну путању до CTAN-садржаја уместо ctan.example.org/tex-archive. Увек свежа листа серверā који држе свеже копије садржаја CTAN-а налази се на http://ctan.org/mirrors.

Ако је задата вредност локална (путања или URL који почиње са file:/), употребиће се спаковани фајлови из поддиректоријума archive у репозиторијуму (чак и у случају да су распаковани фајлови доступни упоредо са њима).

3.4 Постинсталациони задаци

Може се десити да је потребно урадити нешто и после инсталације.

3.4.1 Системске променљиве на Unix-у

Ако сте изабрали да се направе симболички линкови у стандардним директоријумима (као што је објашњено у одељку 3.2.4), онда нема потребе да се преправљају системске променљиве.3 У супротном се на Unix системима директоријум са програмима за Ваш оперативни систем мора додати у путању за претрагу. (На Windows-у о овоме инсталер сам води рачуна.)

Сваки подржани оперативни систем има свој поддиректоријум унутар TEXDIR/bin. На слици 5 можете да видите списак поддиректоријума и одговарајућих платформи.

По избору можете да додате и директоријуме са man-страницама и Info-документацијом у одговарајуће путање за претрагу, уколико желите да системске алатке могу да их уоче. Може се десити да man-странице постану аутоматски доступне и после проширивања списка путања из системске променљиве PATH.

Ако користите shell компатибилан са Bourne shell (као што је нпр. bash) и Intel x86 GNU/Linux, и ако сте задржали подразумевани распоред директоријума као у нашем примеру, фајл који треба да уредите требало би да буде $HOME/.profile (или неки други фајл који се позива из .profile), а линије које треба додати изгледале би овако:

PATH=/usr/local/texlive/2017/bin/i386-linux:$PATH; export PATH
MANPATH=/usr/local/texlive/2017/texmf-dist/doc/man:$MANPATH; export MANPATH
INFOPATH=/usr/local/texlive/2017/texmf-dist/doc/info:$INFOPATH; export INFOPATH

Ако користите csh или tcsh, фајл који треба уредити обично је $HOME/.cshrc, а линије које треба додати изгледале би овако:

setenv PATH /usr/local/texlive/2017/bin/i386-linux:$PATH
setenv MANPATH /usr/local/texlive/2017/texmf-dist/doc/man:$MANPATH
setenv INFOPATH /usr/local/texlive/2017/texmf-dist/doc/info:$INFOPATH

Ако у својим конфигурационим фајловима („који почињу са тачком“) већ имате нека подешавања ове врсте, онда би наравно требало да уклопите TEX Live директоријуме у већ постојеће вредности.

3.4.2 Системске променљиве: глобална подешавања

Ако желите да промене описане у претходном одељку важе глобално и за сваког новог корисника на систему, онда сте препуштени сами себи; напросто постоји превише варијација од система до система у погледу тога како и где се ове ствари подешавају.

Можемо Вам дати два савета: (1) пробајте да потражите фајл /etc/manpath.config и да, ако постоји, додате линије као што су ове:

MANPATH_MAP /usr/local/texlive/2017/bin/i386-linux \
            /usr/local/texlive/2017/texmf-dist/doc/man

Или, (2) потрáжите фајл /etc/environment; у њему би могле бити дефинисане путање за претрагу и друге подразумеване системске променљиве.

Осим тога, у свим директоријумима са програмима на Unix системима прави се симболички линк man који показује према texmf-dist/doc/man. Неке варијанте програма man, као што је стандардни man на Mac OS X-у, аутоматски ће се снаћи са новом путањом; на тај начин ћете избећи потребу да било шта подешавате на путањама за претрагу.

3.4.3 Надоградње преко Интернета после инсталације са DVD-ја

Ако сте инсталирали TEX Live са DVD-ја и желите да после тога преузимате надоградње са Интернета, потребно је да покренете ову команду — али тек пошто сте проширили своју питању за претрагу (као што је описано у претходном одељку):

tlmgr option repository http://mirror.ctan.org/systems/texlive/tlnet

Ова команда говори програму tlmgr да употреби оближњу сајт-копију (mirror) CTAN-а за будуће надоградње. Надоградње ће се овим путем аутоматски обављати ако сте инсталирали TEX Live са DVD-ја, према опцији описаној у одељку 3.2.4.

У случају проблема са аутоматским избором најближег сајта, можете да назначите неку посебну копију (mirror) CTAN-а са списка доступног на http://ctan.org/mirrors. Користите тачну путању до поддиректоријума tlnet на том сајту, као што је урађено у нашем примеру.

3.4.4 Подешавање системских фонтова за XeTEX и LuaTEX

XeTEX и LuaTEX могу да користе не само фонтове који су укључени у TEX Live, него и било који фонт инсталиран на Вашем систему. Они то раде на сличан, али не идентичан начин.

На Windows-у су фонтови укључени у TEX Live аутоматски по називу доступни XeTEX-у. Како би на Mac OS X-у фонтови били доступни на исти начин, по називу, неопходне су неке додатне радње; погледајте Интернет-страницу MacTEX-а (http://tug.org/mactex). Ако Вам је потребна таква функционалност на другим оперативним системима из Unix породице, прочитајте остатак овог одељка.

Ако сте инсталирали пакет xetex на оперативном систему из Unix породице, морате да подесите систем тако да може да пронађе фонтове из TEX Live-а према стварном називу фонта, а не просто према именима фајлова од којих се фонт састоји.

Како бисмо олакшали овај задатак, када се инсталира пакет xetex (у иницијалној поставци или накнадно) прави се и одговарајући конфигурациони фајл TEXMFSYSVAR/fonts/conf/texlive-fontconfig.conf.

Како бисте начинили фонтове из TEX Live-а видљивим за цео систем, подразумевајући да имате одговарајућа овлашћења на систему, урадите следеће:

  1. прекопирајте фајл texlive-fontconfig.conf у /etc/fonts/conf.d/09-texlive. conf;
  2. покрените fc-cache -fsv.

Ако немате овлашћења да ово урадите или ако Вам је довољно да фонтови из TEX Live-а буду видљиви само једном кориснику, можете да урадите следеће:

  1. прекопирајте texlive-fontconfig.conf у ~/.fonts.conf, где ~ представља Ваш лични директоријум;
  2. покрените fc-cache -fv.

Команда fc-list ће излистати називе свих фонтова расположивих на Вашем систему. Ако је позовете помоћу fc-list : family style file spacing (унесите аргументе баш у том облику), биће приказане пробране информације које ће Вам највероватније бити веома корисне за рад.

3.4.5 ConTEXt Mark IV

И „стари“ ConTEXt (Mark II) и „нови“ ConTEXt (Mark IV) требало би да раде без икаквих интервенција након инсталације TEX Live-а; тако би требало и да остане ако за надоградње будете користили само tlmgr.

Ипак, пошто ConTEXt MkIV не користи библиотеку Kpathsea, неопходне су неке ручне интервенције кад год ручно инсталирате нове фајлове (без tlmgr). После сваке такве инсталације корисник мора да покрене команду

luatools --generate

како би освежио кеширане радне податке које ConTEXt чува на диску. Направљени фајлови се смештају у TEXMFCACHE; подразумевана вредност ове променљиве у TEX Live-у је TEXMFSYSVAR;TEXMFVAR.

ConTEXt MkIV ће читати из свих путања поменутих у TEXMFCACHE, а податке ће смештати у прву путању у коју се може уписивати. Приликом читања, последње установљено поклапање ће имати предност у случају дуплираних кешираних података.

Више информација можете наћи на http://wiki.contextgarden.net/Running_Mark_IV.

3.4.6 Укључивање локалних и личних макроа

Ова тема је имплицтно већ начета у одељку 2.3: TEXMFLOCAL (чија је подразумевана вредност /usr/local/texlive/texmf-local или %SystemDrive%\texlive\texmf-local на Windows-у) јесте место предвиђено за локалне фонтове и макрое који се употребљавају на целом систему, док је TEXMFHOME (чија је подразумевана вредност $HOME/texmf или %USERPROFILE%\texmf) намењен за корисникове личне фонтове и макрое. Предвиђено је да се ови директоријуми не мењају од издања до издања и да нове верзије TEX Live-а аутоматски узимају у обзир њихов садржај. Стога је најбоље да се суздржите од подешавања вредности променљиве TEXMFLOCAL на нешто што је превише удаљено од главног директоријума TEX Live-а, иначе ћете морати ручно да мењате ту вредност за свако будуће издање.

У оба ова директоријума фајлови треба да буду распоређени у одговарајуће поддиректоријуме у складу са структуром TEX директоријума (TDS) — погледајте http://tug.org/tds или прегледајте фајл texmf-dist/web2c/texmf.cnf. На пример, једна LATEX класа или пакет треба да се ставе у TEXMFLOCAL/tex/latex или у TEXMFHOME/tex/latex, или у неки поддиректоријум поменутих директоријума.

Функционалност директоријума TEXMFLOCAL зависи од тога да ли је база података са именима фајлова увек свежа; у супротном фајлови неће моћи да се пронађу. Базу можете освежити командом mktexlsr или употребом дугмета „Поново постави базу података са фајловима“ („Reinit file database“) — наћи ћете га у језичку за конфигурацију програма TEX Live Manager (tlmgr) када он ради у графичком (GUI) режиму.

Подразумевана вредност сваке ове променљиве једнака je једном посебном директоријуму, као што је малочас показано. Ово правило није стриктно. На пример, ако Вам је потребно да се лако пребацујете навише и наниже кроз разне верзије великих пакета, можете да одржавате више директоријума (дрвета) за Ваше сопствене потребе. То се ради тако што се TEXMFHOME подеси као списак директоријума одвојених зарезима, унутар заграда:

  TEXMFHOME = {/мој/дир1,/мојдир2,/неки/трећи/дир}

Одељак 7.1.5 се детаљно бави прерачунавањем заграда.

3.4.7 Укључивање спољних фонтова

Нажалост, ово је веома компликован задатак. Немојте ни да размишљате о овоме уколико нисте вољни да се удубите у најситније детаље инсталације TEX-а. У TEX Live је укључен велики број квалитетних фонтова, па стога препоручујемо да их прегледате зато што се оно што тражите може већ налазити у дистрибуцији.

Једна од алтернативā које Вам стоје на располагању јесте да користите XeTEX или LuaTEX (погледајте одељак 2.4); ови програми Вам омогућавају да користите фонтове из оперативног система без икакве инсталације унутар TEX-а.

Ако ипак морате да се упустите у ову сложену материју, погледајте http://tug.org/fonts/fontinstall.html: на тој страни смо најбоље што смо могли описали неопходну процедуру.

3.5 Тестирање инсталације

Након што сте инсталирали TEX Live, природно је да ћете желети да га испробате како бисте могли да почнете са израдом свих тих дивних докумената и/или фонтова.

Оно што ће Вам вероватно прво затребати јесте погодан специјализовани едитор. TEX Live инсталира TEXworks (http://tug.org/texworks) само на Windows-у, док MacTEXинсталира TEXShop (http://pages.uoregon.edu/koch/texshop. На другим Unix системима мораћете сами да изаберете погодан едитор. Избор је велики; неке расположиве опције су изложене у следећем одељку; погледајте и http://tug.org/interest.html#editors. У принципу, можете да користите било који едитор специјализован за чисти текст, укључујући и оне који немају никакве посебне механизме предвиђене за TEX.

Остатак овог одељка описује неке основне поступке за проверу функционалности новог система. Овде ћемо дати команде за Unix-е; ако користите Mac OS X или Windows, вероватно ћете све ове команде покретати покренути кроз графички интерфејс, мада принцип остаје исти.

  1. Најпре проверите да ли можете да покренете сам програм tex:

    tex --version
    TeX 3.14159265 (TeX Live ...)
    Copyright ... D.E. Knuth.
    ...
    Ако овде добијете поруку „command not found“ („команда се не може пронаћи“) уместо података о верзији TEX-а и ауторским правима, или ако је верзија коју видите старија, то највероватније значи да немате исправан поддиректоријум bin као елемент у системској променљиви PATH. Погледајте како се подешавају системске променљиве на стр. 45.
  2. Покушајте да обрадите основни LATEX фајл:

    latex sample2e.tex
    pdfTeX 3.14... (TeX Live ...)
    ...
    Output written on sample2e.dvi (3 pages, 7484 bytes).
    Transcript written on sample2e.log.
    Ако LATEX не успе да пронађе sample2e.tex или неки други фајл, највероватније је у питању нека збрка старих и нових системских променљивих или конфигурационих фајлова; у таквим случајевима се препоручује да, за почетак, обришете вредности свих системских променљивих које имају везе са TEX-ом. (Ако Вам треба дубља анализа, може се од самог TEX програма тражити да извести које путање употребљава за претрагу и шта притом успева да пронађе; погледајте одељак „Поступци за отклањање грешака“ [debugging] на стр. 78.)
  3. Затим прегледајте како изгледа документ који сте добили овом обрадом:

    xdvi sample2e.dvi    # Unix
    dviout sample2e.dvi  # Windows
    Требало би да се појави нови прозор са лепим документом који објашњава неке основне ствари о LATEX-у. (Узгред, тај текст је врло корисно прочитати ако сте почетник.) Како би програм xdvi радио, морате имати покренут графички X сервер; ако X не ради или ако је системска променљива DISPLAY неправилно подешена, добићете грешку „Can"t open display“ („Није могуће отворити дисплеј“).
  4. Направите PostScript фајл за штампање или гледање на екрану:

    dvips sample2e.dvi -o sample2e.ps
  5. Направите PDF уместо DVI фајла; ова команда ће обрадити .tex фајл и директно направити PDF:

    pdflatex sample2e.tex
  6. Прегледајте добијени PDF фајл:

    gv sample2e.pdf
    или:
    xpdf sample2e.pdf
    Ни gv ни xpdf нису укључени у TEX Live, тако да морате да их сами одвојено инсталирате. Погледајте http://www.gnu.org/software/gv и http://www.foolabs.com/xpdf ако Вам треба више информација о овим програмима. Наравно, има још много других програма у којима можете отварати PDF фајлове. Ако користите Windows, препоручујемо да пробате Sumatra PDF (http://blog.kowalczyk.info/software/sumatrapdf).
  7. Може бити корисно да пробате и друге тест-фајлове осим sample2e.tex:

    small2e.tex:

    једноставнији документ него sample2e; сврха му је да минимализује величину података који се обрађују ако се појаве неки проблеми;

    testpage.tex:

    проверава понашање Вашег штампача (ивице, итд);

    nfssfont.tex:

    служи да одштампате табеле фонтова и одговарајуће тестове везане за њих;

    testfont.tex:

    такође за табеле са фонтовима, али користи основни TEX;

    story.tex:

    најчистији канонски тест-фајл за TEX који се може направити; морате да откуцате „\bye“ када се појави упит са звездицом (*) након што покренете „tex story.tex“.

  8. Ако сте инсталирали пакет xetex, можете да испробате да ли су системски фонтови видљиви за XeTEX на овај начин:

    xetex opentype-info.tex
    This is XeTeX, Version 3.14...
    ...
    Output written on opentype-info.pdf (1 page).
    Transcript written on opentype-info.log.

    Ако добијете поруку „Invalid fontname "Latin Modern Roman/ICU"…“ („Неисправно име фонта "Latin Modern Roman/ICU"…“), онда морате да подесите систем тако да се фонтови укључени у TEX Live могу пронаћи. Погледајте одељак 3.4.4.

3.6 Додатни софтвер који се може преузети са Интернета

Ако сте нови у TEX-у, или Вам из било ког разлога треба помоћ око писања докумената у TEX-у или LATEX-у, молимо Вас да посетите http://tug.org/begin.html: ту ћете наћи неке текстове који су веома добри као увод.

Ово су линкови ка Интернет-страницама са још неким програмима који би могли да Вам буду од користи:

Ghostscript
https://ghostscript.com/;
Perl
http://www.perl.org/ са додатним пакетима са CPAN-а, http://www.cpan.org/.
ImageMagick
http://www.imagemagick.com, за обраду слика и пребацивање из једног формата у други.
NetPBM
http://netpbm.sourceforge.net/, такође за обраду слика.
Едитори специјализовани за TEX
Овде имате велики избор и све зависи од Вашег укуса. Ево само неколико, по абецедном реду (неки од побројаних програма раде само на Windows-у):

Још исцрпнији списак пакета и програма налази се на http://tug.org/interest.html.

4 Специјализоване инсталације

Претходни одељци бавили су се основним процесом инсталације. Сада прелазимо на неке специјализоване случајеве.

4.1 Инсталације које дели више корисника или више компјутера

TEX Live је дизајниран тако га истовремено могу употребљавати корисници који имају разне оперативне системе на некој компјутерској мрежи. Ако се држите стандардног распореда директоријума, подешавања не садрже ниједну фиксирану путању: локације фајлова који су потребни TEX Live програмима проналазе се релативно у односу на саме програме. Овакав приступ постаје јасан ако погледате главни конфигурациони фајл $TEXMFDIST/web2c/texmf.cnf, који садржи овакве линије:

TEXMFROOT = $SELFAUTOPARENT
...
TEXMFDIST = $TEXMFROOT/texmf-dist
...
TEXMFLOCAL = $SELFAUTOGRANDPARENT/texmf-local

Ово значи да корисници других оперативних система само треба да додају директоријум који садржи верзије програма за њихову платформу у своје путање за претрагу како би добили поставку спремну за употребу.

На исти начин можете да инсталирате TEX Live локално и да онда накнадно преместите целу хијерархију на неко друго место на мрежи.

За кориснике Windows-а у TEX Live је укључен програм tlaunch. Помоћу њега је веома лако покренути разне TEX програме или пронаћи потребну документацију, простим притиском на одговарајуће дугме или кроз мени. Интерфејс овог програма лако је прилагодити сопственим потребама путем одговарајућег .ini фајла. Када се први пут покрене, tlaunch понавља одређене постинсталационе радње специфичне за Windows (подешава путању за претраге TEX Live-a и повезује одређене типове фајлова са одговарајућим програмима), али само за тренутног корисника. То значи да на другим компјутерима на локалној мрежи који могу да приступају тој инсталацији TEX Live-а само треба подесити пречицу до tlaunch. Више детаља о свему овоме можете пронаћи у документацији (texdoc tlaunch или на https://ctan.org/pkg/tlaunch).

4.2 Преносиве инсталације на USB-диску

Ако инсталациони програм покренете са параметром -portable (или употребите команду V у текстуалном режиму, односно ако изаберете одговарајућу опцију у графичком режиму), направиће се потпуно затворена и самостална инсталација TEX Live-а и биће изостављена интеграција са остатком система. Такву инсталацију можете да направите директно на USB-диску или да је на USB-диск касније копирате.

Како бисте покренули TEX из овакве преносиве инсталације, морате да додате одговарајући директоријум са програмима у путању за претрагу у свом терминалу. На Windows-у ово можете да урадите помоћу двоструког клика миша на tl-tray-menu (налази се на првом нивоу инсталације), и тиме направите радну („tray“) иконицу, која даје избор између неколико уобичајених задатака, као што је приказано на следећој слици:

pict

Ставка „More…“ објашњава како овај мени можете да прилагодите својим потребама.

5 Одржавање инсталације помоћу tlmgr


pict

Слика 9: tlmgr у графичком (GUI) режиму рада: главни прозор, стање после учитавања података са удаљеног репозиторијума.



pict

Слика 10: tlmgr у графичком режиму: Општа подешавања
pict
Слика 11: tlmgr у графичком режиму: Подешавање величине папира


TEX Live садржи програм по имену tlmgr који служи за одржавање TEX Live-а након почетне инсталације. Његове могућности између осталог укључују:

Функционалност програма tlmgr обухвата и превазилази могућности програма texconfig. Још увек дистрибуирамо и одржавамо texconfig зато што постоје корисници који су на њега навикли, али изричито препоручујемо да користите tlmgr.

5.1 tlmgr у графичком (GUI) режиму рада

tlmgr се може покренути у графичком (GUI) режиму (слика 9) помоћу

tlmgr -gui
(српски језик добијате помоћу -gui-lang sr) или преко Start менија на Windows-у: Start, Programs, TeX Live …, TeX Live Manager. Када притиснете „Учитај“ („Load“), програм приказује списак доступних и инсталираних пакета. Овде се наравно подразумева да је извор инсталације (installation source) исправно задат, функционалан и доступан.

Слике 10 и 11 приказују изглед програма приликом подешавања општих опција и величине папира.

5.2 Примери позивања tlmgr-а са командне линије

Након почетне инсталације, можете да освежите свој систем најновијим доступним верзијама целокупног садржаја помоћу:

tlmgr update -all
Ако Вас ово чини нервозним, прво пробајте

tlmgr update -all -dry-run
или (са мање објашњења):

tlmgr update -list

Следећи сложенији пример додаје једну колекцију (све што је везано за XeTEX), и то из једног локалног директоријума:

tlmgr -repository /local/mirror/tlnet install collection-xetex
Ова команда даје следеће поруке (скраћено):
install: collection-xetex
install: arabxetex
...
install: xetex
install: xetexconfig
install: xetex.i386-linux
running post install action for xetex
install: xetex-def
...
running mktexlsr
mktexlsr: Updating /usr/local/texlive/2017/texmf-dist/ls-R...
...
running fmtutil-sys --missing
...
Transcript written on xelatex.log.
fmtutil: /usr/local/texlive/2017/texmf-var/web2c/xetex/xelatex.fmt installed.

Као што видите, tlmgr инсталира све неопходне пакете и води рачуна о свим радњама које су неопходне после инсталације, што у овом случају обухвата освежавање базе података са именима фајлова и поновно прављење неких формата. У претходном примеру смо направили нове формате за XeTEX.

Ако Вам је потребан опис пакета (или колекције или шеме), откуцајте:

tlmgr show collection-latexextra
Команда даје следећи излаз:
package:    collection-latexextra
category:   Collection
shortdesc:  LaTeX supplementary packages
longdesc:   A very large collection of add-on packages for LaTeX.
installed:  Yes
revision:   32768

Последње и најважније, пуна документација о програму tlmgr налази се на страници http://tug.org/texlive/tlmgr.html, а можете је видети и ако откуцате:

tlmgr -help

6 Напомене за Windows

6.1 Могућности специфичне за Windows

Осим онога што је описано у претходним одељцима, инсталациони програм на Windows-у обавља још неке додатне ствари:

Менији и пречице.
У Start менију се додаје нови одељак „TEX Live“, преко кога се могу позивати неки графички (GUI) програми (tlmgr, texdoctk, PS_View (psv) PostScript previewer) и преко кога можете да дођете до једног дела документације.
Повезивање класа докумената са одговарајућим програмима.
Ако су инсталирани, TeXworks, Dviout и PS_view постају или подразумевани програми за одговарајуће класе докумената или добијају ставку у менију „Open with“ („отвори помоћу“), који се добија када документима поменутих класа приступите притиском на десно дугме миша.
Превођење бит-мапа у eps формат.
Разни формати који за основу имају бит-мапе добијају ставку bitmap2eps у свом менију „Open with“ („отвори помоћу“), који се добија притиском на десно дугме миша. Bitmap2eps је једноставна скрипта која омогућава да sam2p и bmeps обаве главни део посла.
Аутоматско подешавање путања.
Није потребна никаква ручна интервенција по овом питању.
Уклањање.
Инсталациони програм додаје одговарајућу ставку за TEX Live у „Add/Remove Programs“. Дугме за деинсталацију у графичком (GUI) режиму програма TEX Live Manager („Уклони“) пребацује вас управо тамо. Ако је TEX Live инсталиран само за једног корисника, инсталациони програм ће направити и ставку за деинсталацију у Start менију Windows-а.
Заштита од измена.
Ако сте инсталацију обавили као администратор, директоријуми који садрже TEX Live биће write-protected, тј. заштићени од измена, барем у „обичним“ околностима (ако је TEX Live инсталиран на NTFS партицију на непокретном диску).

Ово нису све могућности специфичне за Windows; погледајте и секцију 4.1, у којој се говори о програму tlaunch.

6.2 Додатни софтвер за Windows

За целовиту инсталацију TEX Live-а потребни су помоћни пакети који обично не постоје на Windows компјутеру. TEX Live обезбеђује карике које недостају. Следећи програми се инсталирају као део TEX Live-а само на Windows-у:

Perl и Ghostscript.
Због важности Perl-а и Ghostscript-а, TEX Live садржи „скривене“ копије ових програма. TEX Live програми који их користе знају где треба да их потраже, али не одају њихово присуство кроз системске променљиве или путем измена у „registry“-ју. То нису целовите инсталације и не би требало да дођу у сукоб са неком правом инсталацијом Perl-а или Ghostscript-а која је Windows-у видљива.
PS_View.
Такође се инсталира и PS_View, програм у коме се могу отворити PostScript и PDF фајлови; погледајте слику 12.


pict

Слика 12: PS_View може да приказује садржај под великим увећањем


dviout.
На Windows-у се инсталира и dviout, програм у коме можете да прегледате DVI фајлове. У почетку, када почнете да га употребљавате за ту сврху, dviout ће правити потребне фонтове (зато што фонтови за екран нису инсталирани). После неког времена у употреби, направиће се већина фонтова која Вам је потребна и ретко ћете виђати прозор који Вас обавештава о овом поступку. О овом програму можете добити много више података на Интернет страници (коју топло препоручујемо).
TEXworks.
TEXworks је едитор специјализован за TEX; он има уграђен приказивач PDF фајлова.
Алатке за командну линију.
Осим уобичајених TEX Live програма, на Windows-у се инсталира и известан број Windows верзијā уобичајених Unix алатки за командну линију. Ту спадају gzip, unzip и алати из пројекта xpdf (pdfinfo, pdffonts…). Сâм xpdf viewer (прегледач) нема верзију која ради на Windows-у. Jедна алтернатива јесте да уместо њега преузмете Sumatra PDF viewer, који је заснован на xpdf-у; Интернет-страница пројекта је https://www.sumatrapdfreader.org/free-pdf-reader.html.
fc-list, fc-cache…
Алатке из библиотеке fontconfig омогућавају XeTEX-у да барата системским фонтовима на Windows-у. Можете да користите fc-list да одредите имена фонтова која задајете у XeTEX-овој проширеној команди \font. Ако је потребно, најпре покрените fc-cache како би се подаци о фонтовима освежили.

6.3 Лични кориснички директоријум на Windows-у

Еквивалент Unix-овом личном директоријуму корисника (home) на Windows-у јесте директоријум %USERPROFILE%. На Windows-у Vista и новијим то је обично C:\Users\<username>. У фајлу texmf.cnf и у Kpathsea уопште, симбол ~ ће се претворити у исправну путању и на Windows-у и на Unix-у.

6.4 Windows-ов „registry“

Windows држи скоро сва подешавања у тзв. „registry“-ју. То складиште садржи скуп хијерархијски организованих кључева, са неколико кључева највишег нивоа. Најважнији за инсталационе програме су HKEY_CURRENT_USER и HKEY_LOCAL_MACHINE, или скраћено HKCU и HKLM. Део „registry“-ја HKCU налази се у личном директоријуму корисника (погледајте одељак 6.3). HKLM се обично налази у поддиректоријуму директоријума званог Windows.

У неким случајевима, информације о систему се могу добити из системских променљивих, али неке, на пример локација пречицā, и даље захтевају да се консултује „registry“. Трајно подешавање системских променљивих такође захтева приступ „registry“-ју.

6.5 Овлашћења на Windows-у

У новијим верзијама Windows-а постоји разлика између обичних корисника и администратора; само администратори имају слободан приступ целом оперативном систему. Уложили смо доста напора да омогућимо да се TEX Live може инсталирати без администраторских овлашћења.

Ако је инсталер покренут са администраторским овлашћењима, постоји опција да се TEX Live инсталира за све кориснике. Ако се ово изабере, пречице се праве за све кориснике и мењају се поставке на нивоу система. У супротном, пречице и одељци у менију праве се само за текућег корисника и мења се само његово окружење.

Без обзира на то да ли корисник има статус администратора или не, подразумевани основни директоријум за TEX Live који предлаже инсталациони програм увек је унутар %SystemDrive%. Програм увек тестира да ли тренутни корисник може да уписује податке у тај основни директоријум.

Може се појавити проблем ако корисник није администратор а TEX већ постоји у путањи за претрагу програма. Пошто се радна путања за претрагу састоји од системског дела иза кога следи кориснички део са својим путањама, нови TEX Live никад неће добити предност. Како би се решила ова ситуација, инсталациони програм прави пречицу до командног промпта у коме су нови TEX Live програми стављени испред локалне путање за претрагу. Нови TEX Live ће увек бити употребљив унутар таквог командног промпта. Пречица за TEXworks, ако се тај програм инсталира, такође додаје TEX Live на почетак путање за претрагу, тако да би и тај едитор требало да буде имун на ове проблеме са путањама.

На Windows-у Vista и новијим верзијма постоји још једна особеност: чак иако сте улоговани као администратор, морате да изричито затражите администраторксе привилегије. У ствари, нема много сврхе да узимате улогу правог администратора. Уместо тога, кликните десним дугметом миша на програм који желите да покренете или на његову пречицу, и то ће Вам у нормалним околностима дати могућност да „покренете програм као администратор“ („Run as administrator“).

6.6 Увећавање максимума доступне меморије на Windows-у и Cygwin-у

Корисницима Windows-а и Cygwin-а (погледајте одаљак 3.1.4 о специфичностима инсталације на Cygwin-у) може да се деси да остану без меморије када покрећу неке програме укључене у TEX Live. На пример, asy може да остане без меморије ако покушате да заузмете низ (array) од 25.000.000 реалних бројева, а LuaTEX може да остане без меморије ако покушавате да обрадите документ са много великих фонтова.

Што се тиче Cygwin-а, можете да увећате расположиву меморију ако пратите одговарајућа упутства из њиховог водича за кориснике (Cygwin User"s Guide — http://www.cygwin.com/cygwin-ug-net/setup-maxmem.html).

На Windows-у морате да направите један додатни фајл, рецимо moremem.reg, који садржи следеће четири линије:

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\Software\Cygwin]
"heap_chunk_in_mb"=dword:ffffff00

и да онда извршите команду regedit /s moremem.reg као администратор. (Ако желите да увећате меморију само за тренутног корисника уместо на целом систему, употребите кључ HKEY_CURRENT_USER.)

7 Кориснички водич кроз Web2C

Web2C је интегрисана колекција програма везаних за TEX: сâм TEX, Metafont, MetaPost, BibTEX, итд. Web2C је срце TEX Live-а. Интернет-страница пројекта, на којој се налази најновији приручник и много других ствари, налази се на http://tug.org/web2c.

Мало историје: првобитну имплементацију је направио Томас Рокицки [Tomas Rokicki], који је 1987. развио први „TEX-у-C“ разрадивши изворну Unix верзију, оригинални рад Хауарда Трикија [Howard Trickey] и Павела Кертиса [Pavel Curtis].

Одржавање система је наставио Тим Морган [Tim Morgan] и током тог периода име је промењено у Web-to-C. 1990. године рад је преузео Карл Бери [Karl Berry] који је уз помоћ више десетина сарадника одржавао пројекат до 1997, када је предао штафету Олафу Веберу [Olaf Weber], који је руковођење вратио Карлу 2006. године.

Web2C систем ради на Unix-у, 32-битним Windows системима, Mac OS X-у и многим другим оперативним системима. Он користи оригинални Кнутов [Knuth] кôд за TEX и друге основне програме написане у „WEB систему за писмено програмирање“ (WEB literate programming system) и преводи их у језик C. Језгро састављено од TEX програмā који се третирају на овај начин чине:

bibtex

Рад са библиографијама.

dvicopy

Рад са виртуелним фонтовима у DVI фајловима.

dvitomp

Претвара DVI у MPX (MetaPost слике).

dvitype

Претвара DVI у читљив текст.

gftodvi

Визуализација изворних (generic) фонтова.

gftopk

Претвара изворне (generic) у спаковане (packed) фонтове.

gftype

Претвара GF (изворне фонтове) у читљив текст.

mf

Програм за прављење породицā фонтова (typeface families).

mft

„Лепо штампање“ (prettyprinting) Metafont кôда

mpost

Програм за прављење техничких дијаграма.

patgen

Програм за прављење правилā за прелом речи (hyphenation patterns).

pktogf

Претвара спаковане (packed) у изворне (generic) фонтове.

pktype

Претвара PK у читљив текст.

pltotf

Претвара текстуални списак особина фонта у acroTFM.

pooltype

Приказује WEB pool фајлове.

tangle

Преводи WEB кôд у језик Pascal.

tex

Припрема текста.

tftopl

Претвара TFM у текстуални списак особина фонта.

vftovp

Претвара виртуелни фонт у виртуелни списак особинā.

vptovf

Претвара виртуелни списак особинā у виртуелни фонт.

weave

Преводи WEB кôд у TEX.

Прецизне функције и синтакса ових програма описани су у документацији која долази уз одговарајуће пакете, као и уз сâм Web2C. Међутим, корисно је знати неколико заједничких принципа који важе за све њих зато што на тај начин можете боље да искористите своју Web2C инсталацију.

Сви ови програми поштују ове стандардне GNU параметре:

--help

штампање основног прегледа употребе.

--verbose

штампање детаљнијег извештаја о раду.

--version

штампање података о верзији, иза кога следи напуштање програма.

Да би одредили положај разних фајлова, Web2C програми користе библиотеку за претрагу Kpathsea (http://tug.org/kpathsea). Ова библиотека користи комбинацију системских променљивих и конфигурационих фајлова како би оптимизовала претрагу кроз (огромни) садржај TEX система. Web2C може да упоредо користи више хијерархија за претрагу, што је корисно за одржавање стандардних дистрибуција TEX-а упоредо са локалним и личним проширењима у одвојеним директоријумима. Како би се претраживање убрзало, директоријум највишег нивоа у свакој хијерархији има фајл ls-R који садржи записе састављене од имена и релативне путање за све фајлове који се налазе ниже по хијерархији у том директоријуму.

7.1 Проналажење фајлова помоћу Kpathsea

Опишимо најпре механизам трагања који користи библиотека Kpathsea.

Путањом за претрагу (search path) називамо списак елемената путање раздвојених двотачком или тачка-зарезом; ти елементи су обично имена директоријума, мада путања за претрагу може да се састави од елемената који потичу из разних извора. Када тражи фајл „my-file“ по путањи „.:/dir“, Kpathsea проверава један по један сваки елемент путање: прво ./my-file, затим /dir/my-file, и враћа први погодак (уз могућност да врати и све поготке одједном).

Како би се оптимално прилагодила конвенцијама свих оперативних система, на системима који нису сродни са Unix-ом Kpathsea може да користи и друге сепараторе а не само двотачку („:“) и косу црту („/“).

Када проверава поједини елемент путање p, Kpathsea прво проверава да ли се унапред припремљена база података (погледајте „База података са именима фајлова“ на страни 73) може употребити за p, тј. да ли се база података налази у директоријуму који је префикс од p. Ако је то случај, задата путања се рàвнā према садржају базе података.

Премда је најједноставнији и најуобичајенији елемент путање име директоријума, Kpathsea подржава и додатне могућности у путањама за претрагу: „рашчлањене“ подразумеване вредности (layered default values, односно вредности које имају предност једна у односу на другу зависно од извора у односу на који се користе), имена системских променљивих, вредности из конфигурационих фајлова, личне директоријуме корисникā, као и наредбе за рекурзивно претраживање поддиректоријумā. Стога кажемо да Kpathsea прерачунава4 елемент путање, што значи да он трансформише све спецификације у основно име (или имена) директоријума. Ово је описано у наредним одељцима у истом поретку у коме се претрага и врши.

Обратите пажњу на један детаљ: ако је име фајла који се тражи апсолутно или изричито задато у релативном облику, тј. ако почиње са „/“, „./“ или „../“, Kpathsea просто проверава да ли тај фајл постоји.

7.1.1 Извори путања

Путања за претрагу може имати разне изворе. Ово је редослед у коме их Kpathsea користи:

  1. Системске променљиве подешене од стране корисника, на пример TEXINPUTS. Системске променљиве које садрже име програма придодато на крају иза тачке добијају предност; нпр. ако је име покренутог програма „latex“, онда ће TEXINPUTS. latex имати предност у односу на TEXINPUTS.
  2. Конфигурациони фајл специфичан за поједини програм, нпр. линија „S /a:/b“ у фајлу config.ps који припада програму dvips.
  3. Конфигурациони фајл texmf.cnf који припада Kpathsea-у, и који садржи линију као што је „TEXINPUTS=/c:/d“ (погледајте ниже).
  4. Вредност задата у време компајлирања.

Како се према свакој од набројаних ставки формирају вредности за неку задату путању можете да пратите ако употребите опцију за отклањање грешака (debugging) — погледајте одељак „Поступци за отклањање грешака“ на страни 78).

7.1.2 Конфигурациони фајлови

Kpathsea чита конфигурационе фајлове назване texmf.cnf (ови фајлови су предвиђени да се читају само када програми раде) и из њих узима путању за претрагу и друге дефиниције. Путања за претрагу која се користи да се сáми ови фајлови лоцирају зове се TEXMFCNF, али ми не препоручујемо да постављате ову (нити било коју другу) системску променљиву.

Уместо тога, уобичајени инсталациони процес доводи до обликовања фајла .../2017/texmf.cnf. Ако морате да начините неке промене вредности које су тамо уписане као подразумеване (што обично није потребно), онда је овај фајл место где те вредности треба уписати. Главни конфигурациони фајл је .../2017/texmf-dist/web2c/texmf.cnf; њега не би требало да преправљате зато што ће се промене изгубити када се верзија инсталирана путем дистрибуције освежи.

Сви фајлови названи texmf.cnf који се нађу у путањи за претрагу биће прочитани и дефиниције из претходних фајлова биће замењене онима на које се касније наиђе. На пример, ако је путања за претрагу .:$TEXMF, вредности из ./texmf.cnf имају предност у односу на оне из $TEXMF/texmf.cnf.

Део конфигурационог фајла који илуструје већину ових ствари приказан је у следећој табели:

TEXMF              = {$TEXMFLOCAL,!!$TEXMFMAIN}
TEXINPUTS.latex    = .;$TEXMF/tex/{latex,generic;}//
TEXINPUTS.fontinst = .;$TEXMF/tex//;$TEXMF/fonts/afm//
% e-TeX related files
TEXINPUTS.elatex   = .;$TEXMF/{etex,tex}/{latex,generic;}//
TEXINPUTS.etex     = .;$TEXMF/{etex,tex}/{eplain,plain,generic;}//

7.1.3 Прерачунавање путање

Kpathsea препознаје неке специјалне ознаке и конструкције у путањама за претрагу, сличне онима из Unix шкољки (shells). На пример, сложена путања ~$USER/{foo,bar}//baz претвара се после прерачунавања у све поддиректоријуме унутар директоријумā foo и bar у личном директоријуму корисника $USER, и то само онакве који садрже у себи директоријум или фајл по имену baz. Овакве трансформације објашњене су у следећем одељку.

7.1.4 Стандардно прерачунавање

Ако путања за претрагу са највећим приоритетом (погледајте „Извори путања“ на стр. 68) садржи једну додатну двотачку (на почетку, на крају, или удвојену) Kpathsea убацује на том месту путању која је следећу по приоритету у оквиру задате претраге. Ако та уметнута путања има додатну двотачку, исто се дешава са следећим расположивим приоритетом по важности. На пример, ако су системске променљиве постављене овако:

setenv TEXINPUTS /home/karl:
и ако је вредност променљиве TEXINPUTS из texmf.cnf једнака

  .:$TEXMF//tex
онда ће коначна вредност која ће бити употребљена за претрагу бити:

  /home/karl:.:$TEXMF//tex

Пошто би било бескорисно уметати подразумевану вредност на више од једног места, Kpathsea трансформише само један додатни „:“ а остале оставља како јесу. Програм најпре тражи има ли „:“ на почетку реда, затим на крају, а затим тражи двоструке „:“.

7.1.5 Прерачунавање заграда

Једна корисна могућност је и прерачунавање заграда: на пример, v{a,b}w се претвара у vaw:vbw. Дозвољено је уметање заграда унутар постојећег пара заграда; захваљујући овоме могуће је имати више TEX хијерархија директоријумā тако што се \$TEXMF-у додели листа заграда. На пример, у фајлу texmf.cnf је направљена оваква дефиниција (у овом примеру стварни кôд је поједностављен):

  TEXMF = {$TEXMFVAR,$TEXMFHOME,!!$TEXMFLOCAL,!!$TEXMFDIST}

Ово можемо да употребимо да, на пример, дефинишемо директоријуме које TEX узима у обзир када учитава спољне фајлове:

  TEXINPUTS = .;$TEXMF/tex//

што значи да ће се претрага, након задржавања у тренутном директоријуму, обавити искључиво у дрветима \$TEXMFVAR/tex, \$TEXMFHOME/tex, \$TEXMFLOCAL/tex и \$TEXMFDIST/tex (последња два користе базу података са фајловима ls-R). Ово представља удобан начин да одржавате две паралелне структуре TEX-а, једну „замрзнуту“ (на пример на CD-у) и једну која се непрестано освежава новим верзијама чим се појаве. Пошто користимо променљиву \$TEXMF у свим дефиницијама, можемо бити сигурни да ће увек оно дрво које се освежава бити прво које се претражује.

7.1.6 Прерачунавање поддиректоријума

Две или више узастопних косих црта у елементу путање које следе иза директоријума d трансформишу се у списак свих поддиректоријума који се по хијерархији налазе испод d: прво иду они који су непосредно испод d, затим они испод њих, итд. На сваком од тих нивоа редослед којим се директоријуми претражују није изричито одређен.

Ако ставите неки део имена фајла после „//“, биће укључени само поддиректоријуми који садрже поклапање са тим делом имена. На пример, „/a//b“ се претвара у директоријуме /a/1/b, /a/2/b, /a/1/1/b итд, али не у /a/b/c или /a/1.

Могуће је употребити и више конструкција са „//“ у једној путањи, али се „//“ на почетку путање игнорише.

7.1.7 Списак специјалних симбола и њихово значење: преглед

Следећа листа даје преглед специјалних симбола у конфигурационим фајловима које користи Kpathsea.

:

Сепаратор у задавању путање; на почетку или на крају путање служи уместо подразумеваног прерачунавања путање.

;

Сепаратор на системима који нису сродни са Unix-им (понаша се исто као :).

\$

Прерачунавање променљиве.

 ~

Представља корисников лични директоријум.

{...}

Прерачунавање заградā.

//

Прерачунавање поддиректоријумā (може да стоји било где у путањи изузев на почетку).

%

Почетак коментара.

Ознака да следи наставак текста (омогућава ставке које се простиру кроз више линија).

!!

Претраживање искључиво базе података да се нађе фајл, диск се не претражује.

7.2 Базе података са именима фајлова

Kpathsea покушава да колико је могуће смањи физички приступ диску када обавља своје претраге. Упркос томе, на инсталацијама са великим бројем директоријума, претраживање свих могућих директоријума да би се нашао задати фајл може предуго да траје (ово је нарочито случај ако се мора проћи више стотина директоријума који садрже фонтове). Из тог разлога је Kpathsea осмишљен да може да користи унапред састављену „базу података“ — заправо текстуални фајл — по имену ls-R, који повезује стварне фајлове са одговарајућим директоријумима и на тај начин елиминише потребу да се диску често приступа.

Други фајл — база података, по имену aliases, омогућава Вам да дате додатна имена фајловима који су излистани у ls-R. Ово може да буде од користи ако је потребно да се у неком изворном коду поштује конвенција о именима фајлова која потиче из система DOS 8.3.

7.2.1 База података ls-R

Као што је малочас објашњено, име главне базе података са фајловима мора бити ls-R. Можете да ставите по један такав фајл у корен сваке TEX-хијерархије коју имате и коју желите да претражујете помоћу Kpathsea (подразумева се \$TEXMF). Kpathsea увек проверава да ли има неки ls-R дуж TEXMFDBS.

Препоручени начин да направите и одржавате „ls-R“ јесте да покренете скрипту mktexlsr (која је укључена у дистрибуцију). Њу позивају разне „mktex“… скрипте. У принципу, ова скрипта напросто покреће команду

cd /корен/texmf/хијерархије && \ls -1LAR ./ >ls-R
уз претпоставку да команда ls на Вашем систему даје исправан излаз (GNU ls је таква команда). Како бисте били сигурни да је база података увек свежа, најлакши начин је да је редовно преправљате користећи cron, тако да се она аутоматски освежава увек када се неки већ инсталирани фајл промени, као што је случај када се инсталира или освежава неки LATEX пакет.

Ако фајл не може да се пронађе у бази података, подразумевана радња коју предузима Kpathsea јесте да крене у претрагу директно на диску. Ако, међутим, неки поједини елемент путање почиње са „!!“, претражиће се само база података, никада сâм диск.

7.2.2 Самостални програм за претраживање: kpsewhich

Програм kpsewhich изводи претраживање независно од било које апликације. У овом смислу он може бити користан и као нека врста програма find ако треба лоцирати појединачне фајлове у TEX-хијерархијама (kpsewhich се заиста и користи веома интензивно у скриптама „mktex“… које су део дистрибуције).

kpsewhich option... filename...
Опције назначене у option могу да почну и са „-“ и са „--“; такође, дозвољено је и било које недвосмислено скраћивање.

Kpathsea третира сваки аргумент са командне линије (који није опција) као име фајла, и враћа први фајл који пронађе. Не постоји могућност да се врате сва имена фајлова са појединим именом (ако Вам је тако нешто потребно, употребите Unix команду „find“).

Следи опис најважнијих параметара.

--dpi=num


Задаје резолуцију num; ово се тиче само претрага за фајловима типа „gf“ и „pk“. „-D“ је синоним, омогућен ради компатибилности са dvips. Подразумевана вредност је 600.

--format=name


Задаје да се тражи формат name. Подразумевани формат се претпоставља на основу имена фајла. За формате који немају једнозначан наставак, као што су нпр. помоћни фајлови програма MetaPost или конфигурациони фајлови програма dvips, морате назначити име које је познато Kpathsea-у, на пример tex или enc files. Покрените kpsewhich --help ако желите да видите целовит списак.

--mode=string


Задаје режим по имену string; ово се тиче једино претрага за фајловима типа „gf“ и „pk“. Нема подразумеване вредности: тражиће се фајлови за све режиме.

--must-exist


Задаје да се учини све што је могуће да се фајлови пронађу; пре свега се мисли на прибегавање директном претраживању диска. Подразумева се да се, ефикасности ради, проверава само база података ls-R.

--path=string


Претрага ће се вршити низ путању string (обично су то елементи раздвојени двотачкама), уместо да се путања за претрагу претпоставља на основу имена фајла. Подржани су „//“ и сва стандардна прерачунавања и трансформације. Параметри „--path“ и „--format“ узајамно се искључују.

--progname=name


Задаје name као име програма. Ово може да утиче на путање за претрагу путем могућности дописивања имена програма (.progname). Подразумевана вредност је kpsewhich.

--show-path=name


Приказује путању која се користи да се пронађе фајл или тип фајла name. Могу се користити и наставци за имена фајлова (.pk, .vf, итд), као и сама имена, баш као у случају опције „--format“.

--debug=num


Поставља ниво потраге за грешкама на num.

7.2.3 Примери употребе

Погледајмо сада Kpathsea на делу. Ево једне једноставне претраге:

kpsewhich article.cls
   /usr/local/texmf-dist/tex/latex/base/article.cls
Оно што тражимо је фајл article.cls. Пошто је наставак „.cls“ недвосмислен, не морамо да посебно назначимо да желимо да тражимо фајл типа tex (директоријуми који садрже фајлове са изворним TEX кôдом). Тражимо га у поддиректоријуму tex/latex/base који се налази у TEX Live директоријуму „texmf-dist“. На сличан начин, сви фајлови у примерима који следе проналазе се без проблема захваљујући својим недвосмисленим наставцима:

kpsewhich array.sty
   /usr/local/texmf-dist/tex/latex/tools/array.sty
kpsewhich latin1.def
   /usr/local/texmf-dist/tex/latex/base/latin1.def
kpsewhich size10.clo
   /usr/local/texmf-dist/tex/latex/base/size10.clo
kpsewhich small2e.tex
   /usr/local/texmf-dist/tex/latex/base/small2e.tex
kpsewhich tugboat.bib
   /usr/local/texmf-dist/bibtex/bib/beebe/tugboat.bib

Узгред, последњи фајл из овог низа је библиографска база података програма BibTEX која се односи на чланке у часопису TUGboat.

kpsewhich cmr10.pk
Фајловe типa .pk (фонтови направљени као бит-мапе) користе приказивачи као што су dvips и xdvi. У овом случају се не враћа никаква вредност пошто нема унапред припремљених Computer Modern „.pk“ фајлова у TEX Live-у — подразумева се да се користе Type 1 варијанте.

kpsewhich wsuipa10.pk
   /usr/local/texmf-var/fonts/pk/ljfour/public/wsuipa/wsuipa10.600pk
За ове фонтове (фонетски алфабет, производ Универзитета Вашингтона) морамо да генеришемо „.pk“ фајлове, и пошто је подразумевани режим програма Metafont на нашем систему ljfour са основном резолуцијом од 600 dpi (тачака по инчу), имамо баш овај резултат.

kpsewhich -dpi=300 wsuipa10.pk
У овом случају, међутим, када је изричито назначено да смо заинтересовани за резолуцију од 300 dpi (-dpi=300), видимо да такав фонт није расположив на систему. Остаје на програмима као што су dvips или xdvi да сами направе потребне .pk фајлове помоћу скрипте mktexpk.

Сада ћемо размотрити заглавља (headers) и конфигурационе фајлове програма dvips. Погледајмо најпре један веома често коришћени фајл, пролог tex.pro за TEX подршку, а затим један општи конфигурациони фајл (config.ps) и PostScript фонт-мапу psfonts.map — од издања TEX Live-а из 2004. фајлови са мапама и кодним распоредима имају своје сопствене путање за претрагу и нов положај унутар texmf дрветā. Пошто је наставак „.ps“ вишесмислен, морамо да изричито назначимо који тип имамо у виду (dvips config) за фајл config.ps.

kpsewhich tex.pro
   /usr/local/texmf/dvips/base/tex.pro
kpsewhich --format="dvips config" config.ps
   /usr/local/texmf/dvips/config/config.ps
kpsewhich psfonts.map
   /usr/local/texmf/fonts/map/dvips/updmap/psfonts.map

Погледајмо сада поближе помоћне фајлове програма PostScript који се тичу фонта URW Times. Префикси за ове фајлове су, према стандардној шеми за именовање фонтова, „utm“. Први фајл који разматрамо је један конфигурациони фајл, који садржи име фајла са одговарајућом мапом:

kpsewhich --format="dvips config" config.utm
   /usr/local/texmf-dist/dvips/psnfss/config.utm
Садржај тог фајла је

  p +utm.map
што указује на фајл utm.map, и он је следећи ког желимо да лоцирамо.

kpsewhich utm.map
   /usr/local/texmf-dist/fonts/map/dvips/times/utm.map
Овај фајл са мапом одређује имена фајлова Type 1 PostScript фонтова у URW колекцији. Његов садржај изгледа овако (приказујемо само део):

utmb8r  NimbusRomNo9L-Medi    ... <utmb8a.pfb
utmbi8r NimbusRomNo9L-MediItal... <utmbi8a.pfb
utmr8r  NimbusRomNo9L-Regu    ... <utmr8a.pfb
utmri8r NimbusRomNo9L-ReguItal... <utmri8a.pfb
utmbo8r NimbusRomNo9L-Medi    ... <utmb8a.pfb
utmro8r NimbusRomNo9L-Regu    ... <utmr8a.pfb
Узмимо, на пример, инстанцу фонта Times Roman по имену utmr8a.pfb и потрáжимо њен положај у директоријуму texmf, уз трагање за фонт-фајловима типа Type 1:

kpsewhich utmr8a.pfb
   /usr/local/texmf-dist/fonts/type1/urw/times/utmr8a.pfb

Из ових примера требало би да буде јасно како лако можете да одредите положај било ког задатог фајла. Ово је нарочито важно ако сумњате да је у обради неког документа употребљена погрешна верзија неког фајла, пошто ће Вам kpsewhich приказати само први фајл на који наиђе.

7.2.4 Поступци отклањања грешака

Понекад је неопходно да се испита како неки програм разрешава упућивања на одређене фајлове. Да би помогао у таквим ситуацијама, Kpathsea нуди разне нивое излаза у режиму трагања за грешкама (debugging):

 1

Статистика директног приступа диску. Када се претрага обавља са свежом ls-R базом, ово не би требало да дâ готово никакав излаз.

 2

Упућивања на „hash“ табеле (као што је база података ls-R, фајлови са мапама, конфигурациони фајлови).

 4

Операције отварања и затварања фајлова.

 8

Опште информације о путањама које Kpathsea користи за разне типове фајлова. Ово је корисно када треба установити на ком месту је нека поједина путања за неки фајл дефинисана.

16

Листа директоријума за сваки елемент путање (ово је релевантно само ако се претражује диск).

32

Претраге за фајловима.

64

Вредности променљивих.

Вредност -1 ће активирати све описане опције; у пракси је ово обично и најкорисније.

На сличан начин, ако се програм dvips покрене са одговарајућом комбинацијом ових опција, може се до најситнијих детаља пратити одакле се узимају поједини фајлови. Или, ако се неки фајл не пронађе, детаљан излаз који смо добили показује у којим је директоријумима програм покушавао да нађе задати фајл, тако да се може добити неки наговештај о томе где лежи проблем.

Уопштено говорећи, будући да већина програма позива библиотеку Kpathsea интерно, опција за отклањање грешака се може укључити путем системске променљиве KPATHSEA_DEBUG тако што се она подеси на неку вредност (или комбинацију вредности) описану у претходној табели.

(Напомена за кориснике Windows-а: на овом систему није лако преусмерити све поруке које даје неки програм у фајл. За сврхе дијагностиковања можете привремено да подесите одговарајућу променљиву помоћу SET KPATHSEA_DEBUG_OUTPUT=err.log.)

Размотримо као пример један мали фајл са LATEX кôдом, hello-world.tex („Здраво, свете!“), са следећим садржајем:

  \documentclass{article}
  \begin{document}
  Hello World!
  \end{document}

Овај мали фајл користи само фонт cmr10, па погледајмо стога како dvips припрема PostScript фајл (желимо да користимо Type 1 верзију фонтова из породице Computer Modern, отуда опција -Pcms).

dvips -d4100 hello-world -Pcms -o
У овом случају смо комбиновали ниво 4 за отклањање грешака програма dvips (тј. путање везане за фонтове) са прерачунавањем елемента путање преко Kpathsea (погледајте упутство за употребу програма dvips). Излаз (незнатно пресложен) може се видети на слици 13.


debug:start search(file=texmf.cnf, must_exist=1, find_all=1,
  path=.:/usr/local/bin/texlive:/usr/local/bin:
       /usr/local/bin/texmf/web2c:/usr/local:
       /usr/local/texmf/web2c:/.:/./teTeX/TeX/texmf/web2c:).
kdebug:start search(file=ls-R, must_exist=1, find_all=1,
  path=~/tex:/usr/local/texmf).
kdebug:search(ls-R) =>/usr/local/texmf/ls-R
kdebug:start search(file=aliases, must_exist=1, find_all=1,
  path=~/tex:/usr/local/texmf).
kdebug:search(aliases) => /usr/local/texmf/aliases
kdebug:start search(file=config.ps, must_exist=0, find_all=0,
  path=.:~/tex:!!/usr/local/texmf/dvips//).
kdebug:search(config.ps) => /usr/local/texmf/dvips/config/config.ps
kdebug:start search(file=/root/.dvipsrc, must_exist=0, find_all=0,
  path=.:~/tex:!!/usr/local/texmf/dvips//).
search(file=/home/goossens/.dvipsrc, must_exist=1, find_all=0,
  path=.:~/tex/dvips//:!!/usr/local/texmf/dvips//).
kdebug:search($HOME/.dvipsrc) =>
kdebug:start search(file=config.cms, must_exist=0, find_all=0,
  path=.:~/tex/dvips//:!!/usr/local/texmf/dvips//).
kdebug:search(config.cms)
=>/usr/local/texmf/dvips/cms/config.cms
Слика 13: Тражење конфигурационих фајлова

dvips почиње тако што лоцира своје сопствене конфигурационе фајлове. Најпре налази texmf.cnf, и тај фајл му даје дефиниције путања на којима треба наћи друге фајлове, затим се проналази база података ls-R (како би се трагање за фајловима оптимизовало), и коначно фајл aliases, који омогућава да се зада више имена за исти фајл (нпр. кратка имена у стилу система DOS 8.3 или читкије дуже варијанте). Затим dvips прелази на тражење општег конфигурационог фајла config.ps, пре него што прегледа фајл са подешавањима по имену .dvipsrc (који, у овом случају, није пронађен). Коначно, dvips налази конфигурациони фајл за породицу PostScript фонтова Computer Modern, који се зове config.cms (ово је иницирано зато што је уз команду dvips употребљена опција -Pcms). Овај фајл садржи листу фајлова са мапама који дефинишу однос између TEX-а, PostScript-а и стварних имена фонтова на диску.

more /usr/local/texmf/dvips/cms/config.cms
   p +ams.map
   p +cms.map
   p +cmbkm.map
   p +amsbkm.map
dvips налази све ове фајлове, као и општи фајл са мапом по имену psfonts.map, који се увек учитава (он садржи декларације за најчешће коришћене PostScript фонтове; последњи део одељка 7.2.3 садржи више информација о коришћењу фајлова са мапама за PostScript фонтове).

На овом ступњу dvips се представља кориснику:

This is dvips(k) 5.92b Copyright 2002 Radical Eye Software (www.radicaleye.com)
Затим прелази на тражење пролог фајла texc.pro:


kdebug:start search(file=texc.pro, must_exist=0, find_all=0,
  path=.:~/tex/dvips//:!!/usr/local/texmf/dvips//:
       ~/tex/fonts/type1//:!!/usr/local/texmf/fonts/type1//).
kdebug:search(texc.pro) => /usr/local/texmf/dvips/base/texc.pro

Нашавши поменути фајл, dvips исписује датум и време и обавештава нас да ће направити фајл hello-world.ps, затим да му треба фонт-фајл cmr10, као и да ће овај последњи бити означен као „резидентан“ (тј. да му нису потребне бит-мапе):


TeX output 1998.02.26:1204" -> hello-world.ps
Defining font () cmr10 at 10.0pt
Font cmr10 <CMR10> is resident.
Сада се претрага наставља, овог пута за фајлом cmr10.tfm; када га пронађе, упућује се на још неколико пролог фајлова (нису приказани), и на крају се лоцира Type 1 облик фонта, који се зове cmr10.pfb, и тај податак се укључује у фајл са излазом (погледајте последњу линију).


kdebug:start search(file=cmr10.tfm, must_exist=1, find_all=0,
  path=.:~/tex/fonts/tfm//:!!/usr/local/texmf/fonts/tfm//:
       /var/tex/fonts/tfm//).
kdebug:search(cmr10.tfm) => /usr/local/texmf/fonts/tfm/public/cm/cmr10.tfm
kdebug:start search(file=texps.pro, must_exist=0, find_all=0,
   ...
<texps.pro>
kdebug:start search(file=cmr10.pfb, must_exist=0, find_all=0,
  path=.:~/tex/dvips//:!!/usr/local/texmf/dvips//:
       ~/tex/fonts/type1//:!!/usr/local/texmf/fonts/type1//).
kdebug:search(cmr10.pfb) => /usr/local/texmf/fonts/type1/public/cm/cmr10.pfb
<cmr10.pfb>[1]

7.3 Опције током рада (runtime options)

Још једна корисна способност Web2C-а јесте могућност да се контролише велики број меморијских параметара (а посебно „array sizes“) путем фајла texmf.cnf који чита Kpathsea. Подешавања која се тичу меморије могу се пронаћи у делу 3 тог фајла у TEX Live дистрибуцији. Важнији параметри које можете да подесите су:

main_memory

Укупна расположива меморија (Total words of memory available) за TEX, Metafont и MetaPost. За сваку вредност се мора направити посебан фајл са форматом. На пример, можете да направите „огромну“ (huge) верзију TEX-a и да назовете фајл са форматом hugetex.fmt. Према стандардним правилима означавања именā програмā којих се држи Kpathsea, посебна вредност променљиве main_memory прочитаће се из фајла texmf.cnf.

extra_mem_bot

Додатни простор за „велике“ („large“) структуре података које прави TEX: оквири (boxes), лепак (glue), места прелома (breakpoints) итд. Посебно корисно ако користите PI CTEX.

font_mem_size

Количина меморије за податке о фонтовима која стоји TEX-у на располагању. Ово је мање-више укупна величина свих прочитаних TFM фајлова.

hash_extra

Додатни простор за „hash“ табелу са именима контролних секвенци. Само ~10.000 контролних секвенци може да се смести у главну „hash“ табелу; ако имате велику књигу са бројним унакрсним референцама, може се лако десити да то није довољно. Подразумевана вредност променљиве hash_extra је 50000.

Наравно, ово није замена за праве динамичке низове и методе располагања меморијом, али пошто је изузетно тешко да се тако нешто изведе у садашњем изворном кôду TEX-а, ови параметри за покретање програма представљају практични компромис који ипак даје и нешто флексибилности.

8 Захвалнице

TEX Live је резултат заједничких напора практично свих група корисника TEX-а. Овим издањем TEX Live-а руководио је Карл Бери [Karl Berry]. Групе и појединци набројани на списку који следи, они који су у прошлости радили на TEX Live-у и они који су тренутно активни, заслужују нашу велику захвалност.

Програме за подржане оперативне системе припремили су: Карл Бери [Karl Berry] (i386-linux), Марк Бодоан [Marc Baudoin] (amd64-netbsd, i386-netbsd), Кен Браун [Ken Brown] (i386-cygwin, x86_64-cygwin), Борис Вејцман [Борис Вейцман] (armel-linux), Сајмон Дејлс [Simon Dales] (armhf-linux), Акира Какуто [Akira Kakuto] (win32), Дик Коч [Dick Koch] (universal-darwin), Никола Лечић [Nikola Lečić] (amd64-freebsd, i386-freebsd), Мојца Миклавец [Mojca Miklavec] (i386-darwin, powerpc-darwin, x86_64-darwinlegacy, i386-solaris, x86_64-solaris, sparc-solaris), Норберт Прајнинг [Norbert Preining] (x86_64-linux), Томас Шмиц [Thomas Schmitz] (powerpc-linux). Процес компајлирања TEX Live-а описан је на http://tug.org/texlive/build.html.

Преводиоци ове документације: Дени Битузе [Denis Bitouz"e] (француски), Сташек Ваврикевич [Staszek Wawrykiewicz] (пољски), Борис Вејцман [Борис Вейцман] (руски), Ђигод Ђијанг [Jjgod Jiang], Ђинсонг Џао [Jinsong Zhao], Јие Ванг [Yue Wang] и Хелин Гаи [Helin Gai] (кинески), Карлос Енрикез Фигуерас [Carlos Enriquez Figueras] (шпански), Никола Лечић (српски), Марко Паланте [Marco Pallante] (италијански), Петр Сојка [Petr Sojka] и Јан Буша [Ján Buša] (чешки/словачки), Уве Цигенхаген [Uwe Ziegenhagen] (немачки), Интернет-страница са документацијом за TEX Live је http://tug.org/texlive/doc.html.

Наравно, најважнија захвалница мора ићи Доналду Кнуту [Donald Knuth], најпре зато што је изумео TEX, а потом зато што га је поклонио свету.

9 Историја издањā

9.1 Прошлост

Крајем 1993. године у Холандском удружењу корисникā TEX-а се, током рада на пројекту 4AllTEX CD (намењеног корисницима MS-DOS-а), појавила идеја да се можда може направити јединствени CD за све системе. То је био преамбициозан циљ за оно време; ипак, идеја не само што је дала подстрек да се доврши рад на иначе веома успешном 4AllTEX CD пројекту, него је из ње произашла и радна група названа Технички савет TUG-а (Удружења корисникā TEX-а) која је радила на структури TEX директоријума (TEX Directory Structurehttp://tug.org/tds); група је осмислила како да се направи конзистентна и употребљива колекција помоћних TEX фајлова. Целовит нацрт TDS-а објављен је у децембарском издању часописа TUGboat из 1995. и већ на том раном стадијуму било је јасно да би такву структуру требало следити и на CD-у. Дистрибуција TEX Live која је пред Вама представља директан резултат преданости те радне групе. Такође је било јасно да је успех 4AllTEX CD-а показао да корисници Unix-а могу имати користи од тако функционалног система, и управо ова идеја представља други главни мотив за рад на TEX Live-у.

Предузели смо прве кораке да направимо такав TDS CD који би радио на Unix-у на јесен 1995. и брзо смо схватили да је teTEX Томаса Есера [Thomas Esser] савршена полазна тачка, пошто је он већ имао подршку за више оперативних система и пошто је био направљен узимајући у обзир преносивост у погледу организације фајлова које ти системи користе. Томас се сложио да помогне и озбиљан рад је почео почетком 1996. Прво издање објављено је у мају исте године. Почетком 1997, Карл Бери [Karl Berry] је објавио ново издање система Web2C, које је укључивало готово све могућности које је Томас Есер већ убацио у teTEX, и тако смо одлучили да се друго издање CD-а базира на стандардном Web2C-у, уз додатак скрипте texconfig из teTEX-а. Треће издање CD-а заснивало се на темељно прерађеној верзији Web2C-a (7.2), коју је урадио Олаф Вебер [Olaf Weber]; истовремено је урађена и нова верзија teTEX-а, а TEX Live је укључио скоро све његове могућности. Четврто издање следило је исти смер, укључивало је нову верзију teTEX-а и ново издање Web2C-а (7.3). Систем је овог пута имао и потпуну подршку за Windows захваљујући Фабрису Попиноу (Fabrice Popineau).

За пето издање (март 2000) многи делови CD-а су редизајнирани и темељније тестирани, а биле су укључене и нове верзије више стотина пакета. Подаци о пакетима спаковани су у XML фајлове. Ипак, највећа промена у TEX Live 5 била је то што су уклоњени сви програми који нису рађени у складу са идејом слободног софтвера. Наиме, намера је била да од тада све у TEX Live-у буде у сагласности са Debian-овим упутствима за слободни софтвер (Debian Free Software Guidelines — http://www.debian.org/intro/free); учинили смо све што је тада било у нашој моћи да проверимо лиценце свих пакета; били бисмо веома захвални ако нас известите о било којој грешци коју смо направили.

Шесто издање (јул 2001) садржавало је још више освеженог материјала. Главна промена био је нов инсталациони концепт: корисник од сада може да изабере много одређенији скуп колекција које су му потребне. Језичке колекције биле су комплетно преуређене за ово издање: избор неке од њих од тада не значи да се само инсталирају одговарајући макрои, фонтови итд, него да се уз то припреми и одговарајући language.dat.

Седмо издање из 2002. укључивало је велики новитет у облику подршке за Mac OS X, и већ уобичајено огромни број освежења свих врста пакета и програма. Један од најважнијих циљева овог издања била је и поновна интеграција кôда са teTEX-ом како би се елиминисао раскорак направљен у верзијама 5 и 6.

9.1.1 2003

2003. године, услед непрестаног прилива измена и допуна, схватили смо да је TEX Live толико нарастао да више није могао да стане на један CD, тако да смо га поделили на три одвојене дистрибуције (погледајте одељак 2.1, стр. 8). Уз то,

9.1.2 2004

2004. године десиле су се многе промене:

9.1.3 2005

Издање из 2005. објављено је, као и увек, са великим бројем измена Инфраструктура је остала релативно непромењена у односу на 2004. Неизбежно, понешто је морало другачије да се уради:

9.1.4 2006–2007

Током 2006. и 2007. главни додатак TEX Live-у био је програм XeTEX, доступан путем команди xetex и xelatex; погледајте http://scripts.sil.org/xetex.

Такође, значајно је обновљен и унапређен програм MetaPost, уз велике планове за будућност (http://tug.org/metapost/articles); настављен је и развој pdfTEX-а (http://tug.org/applications/pdftex).

TEX-ов .fmt (high-speed format) и слични фајлови за MetaPost и Metafont сада су смештени у директоријуме унутар texmf/web2c уместо у сâм тај директоријум (премда се тај директоријум и даље претражује, зарад постојећих .fmt фајлова). Поддиректоријуми су названи према програмима (врстама TEX-а) који су у употреби, као што су tex, pdftex или xetex. Ова промена не би требало да буде видљива у свакодневној употреби.

(Чисти) tex програм више не чита прву линију која почиње са %& како би одредио који формат да покрене; tex је сада чисти кнутовски TEX. (LATEX и сви други и даље читају линије са %&.)

Наравно, и ове године смо, као и обично, унели стотине надоградњи свих пакета и програма. Као и увек, молимо Вас да проверите да ли постоје нове верзије на CTAN-у (http://mirror.ctan.org).

Што се тиче интерног рада програмерског тима, развојно дрво TEX Live-а се сада држи под контролом система Subversion, са уобичајеним веб-интерфејсом за прегледање кôда; можете доћи до одговарајућих страница преко наше уводне Интернет-стране. Премда није оставила много видљивих трагова у коначном издању из ове године, очекујемо да ће ова промена обезбедити стабилан развојни темељ за године које долазе.

Коначно, у мају 2006. Томас Есер [Thomas Esser] је објавио да више неће радити на teTEX-у (http://tug.org/tetex). Директна последица овог потеза било је огромно интересовање за TEX Live, посебно међу GNU/Linux дистрибуцијама. (У TEX Live-у сада постоји нова инсталациона шема tetex, која даје приближни еквивалент.) Надамо се да ће се ово у једном тренутку преточити у побољшање квалитета TEX окружења за све кориснике.

9.1.5 2008

2008. године цела инфраструктура TEX Live-а је редизајнирана и исписана испочетка. Сви подаци о инсталацији сада су смештени у текстуалном фајлу tlpkg/texlive.tlpdb.

Између осталог, ово је коначно омогућило да се инсталција TEX Live-а освежава преко Интернета након почетног смештања на диск, што је функционалност коју је MiKTEX имао пре много година. Очекујемо да корисницима редовно стављамо на располагање нове пакете чим се објаве на CTAN-у.

У дистрибуцију је укључен важан нови дериват LuaTEX (http://luatex.org); поред новог нивоа флексибилности у припреми текста, он уводи и сјајан језик за писање команди у облику скрипте (scripting language), који може да се користи и унутар и ван TEX докумената.

Подршка за Windows и платформе засноване на Unix-у сада је много униформнија. Нарочито је битно то што је сада већина скрипти које су написане у језицима Perl и Lua сада доступна и на Windows-у зато што се Perl дистрибуира у оквиру TEX Live-а.

Нова скрипта tlmgr (одељак 5) сада представља општи интерфејс за одржавање TEX Live-а после почетне инсталације. Она барата новим верзијама пакетā и води рачуна о одговарајућим прерадама фајлова са форматима, мапама (map files), фајловима везаним за поједине језике, уз могућност да се укључе и локални додаци.

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

Програм за прављење индексā xindy (http://xindy.sourceforge.net/) укључен је за већину подржаних оперативних система.

Алатка kpsewhich сада може да врати све поготке за задати фајл (опција –all) или да ограничи поготке на задати поддиректоријум (опција –subdir).

Програм dvipdfmx сада има могућност да извуче податке о висини и ширини текста (bounding box) ако се позове као extractbb; ово је била једна од последњих могућности које је имао dvipdfm а које нису постојале у dvipdfmx-у.

Уклоњена су алтернативна имена (алиаси) за фонтове Times-Roman, Helvetica итд. Различити пакети очекују различито понашање од тих имена (пре свега очекују да имају различите кодне распореде), и није постојао добар начин да се ово реши.

Уклоњен је формат platex како би се разрешио конфликт око имена са потпуно независним јапанским platex-ом; пакет polski сада представља главни ослонац за све што се тиче пољског језика.

Интерно, WEB string pool фајлови сада су компајлирани као бинарни фајлови, како би се олакшале надоградње.

Коначно, промене које је увео Доналд Кнут [Donald Knuth] у свом раду „Дорада TEX-а из 2008“ („TEX tuneup of 2008“) укључене су у ово издање. Погледајте http://tug.org/TUGboat/Articles/tb29-2/tb92knut.pdf.

9.1.6 2009

У издању из 2009, PDF је постављен као подразумевани излазни формат за Lua(LA )TEX како би се искористиле могућности напредне LuaTEX-ове подршке за OpenType итд. Нови програми названи dviluatex и dvilualatex покрећу LuaTEX са излазом у DVI формату. Интернет-страница LuaTEX-а је http://luatex.org.

Програм Omega и формат Lambda су уклоњени, након дискусије са ауторима пројекта Omega. У дистрибуцији су остале надограђене верзије Aleph-а и Lamed-а, као и алатке из пројекта Omega.

Укључено је и ново издање AMS Type 1 фонтова, међу њима и Computer Modern: на тај начин је постало доступно неколико промена обликā које је Кнут [Knuth] током претходних година унео у изворни Metafont кôд, а побољшан је и „hinting“. Херман Цапф [Hermann Zapf] је темељно редизајнирао Ојлер [Euler] фонтове (в. http://tug.org/TUGboat/Articles/tb29-2/tb92hagen-euler.pdf). У свим овим случајевима, метрика је остала непромењена. Интернет-страница фонтова Америчког математичког друштва (AMS) је http://www.ams.org/tex/amsfonts.html.

У дистрибуцију су укључене верзије новог графичког (GUI) окружења TEXworks за Windows и MacTEX. Ако желите да користите TEXworks на другим оперативним системима, погледајте Интернет-страницу пројекта http://tug.org/texworks. TEXworks је програм писан за више платформи и инспирисан је Mac OS X едитором TeXShop, са циљем да олакша свакодневни рад у TEX-у.

Такође, укључене су верзије графичког програма Asymptote за неколико оперативних система. Он интерпретира језик за описивање цртежā који личи на MetaPost, али са развијеном подршком за тродимензионалне пројекције и многим другим могућностима. Интернет-страница овог програма је http://asymptote.sourceforge.net.

Засебни програм dvipdfm замењен је dvipdfmx-ом; dvipdfmx може да ради у посебном режиму компатибилности ако се позове са старим именом. dvipdfmx укључује подршку за кинески, јапански и корејски (CJK) и током година које су прошле од последњег издања dvipdfm-а накупило се много исправки.

Додати су програми за платформе i386-cygwin и i386-netbsd; посаветовани смо да корисници OpenBSD-ја добијају TEX Live преко свог система за пакете; такође, било је и тешкоћа да се направе програми који би имали шансу да раде на више од једног издања тог оперативног система.

Још неколико малих промена: сада користимо компресију типа xz, која представља стабилну замену за lzma (http://tukaani.org/xz/); знак $ је сада дозвољен у именима фајлова уколико то не доводи то поклапања са именом неке постојеће променљиве; библиотека Kpathsea сада има подршку за multi-threading (неопходно за нову верзију програма MetaPost); читаво компајлирање TEX Live-а сада се заснива на систему Automake.

На крају, једна напомена везана за прошлост: сва издања TEX Live-а, са допунским материјалом као што су налепнице и омоти за CD-ове, доступна су на страници ftp://tug.org/historic/systems/texlive.

9.1.7 2010

У издању TEX Live-а из 2010. године подразумевана верзија PDF формата који праве разни програми постављена је на 1.5; ово омогућава бољу компресију докумената. Ова промена важи за све TEX програме када им је задато да праве PDF, као и за dvipdfmx. Ако желите да вратите верзију на PDF 1.4, учитајте LATEX пакет по имену pdf14 или подесите \pdfminorversion=4.

pdf(LA )TEX сада аутоматски пребацује задати Encapsulated PostScript (EPS) фајл у PDF формат помоћу пакета epstopdf; исто важи и ако је учитан LATEX-ов конфигурациони фајл graphics.cfg и ако је излаз подешен на PDF. Стандардне опције су подешене са намером да елиминишу могућност да се неки ручно урађени PDF фајл случајно пребрише у том процесу, али Ви свеједно можете да спречите да се epstopdf учитава стављајући \newcommand{\DoNotLoadEpstopdf}{} (или \def...) пре команде \documentclass. Исто тако, epstopdf се не учитава ако се користи пакет pst-pdf. Више детаља о овим стварима можете пронаћи у документацији укљученој у пакет epstopdf (http://ctan.org/pkg/epstopdf-pkg).

Још једна промена која има везе са овим: сада је покретање малог броја спољних команди од стране TEX-a (путем \write18) активирано у стандардној инсталацији. Ове команде су: repstopdf, makeindex, kpsewhich, bibtex и bibtex8; списак је одређен у фајлу texmf.cnf. Ако радите у окружењу у коме морате да укинете покретање свих таквих спољних команди, можете да искључите одговарајућу опцију у инсталационом програму (погледајте одељак 3.2.4) или да промените вредност након инсталације помоћу команде tlmgr conf texmf shell_escape 0.

Промена која следи из претходне две јесте то што ће BibTEX и Makeindex сада, у стандардној конфигурацији, одбити да уписују своје излазне фајлове у произвољни директоријум (као и сâм TEX). Ова промена је уведена да би се искористила могућност да се bibtex и makeindex додају на листу дозвољених команди путем \write18; из поменутих разлога оне су у тај списак и укључене. Ако желите да промените ово подразумевано понашање, можете да дефинишете системску променљиву TEXMFOUTPUT или да промените параметар openout_any.

XeTEX сада подржава микротипографске ефекте (margin kerning) на исти начин као pdfTEX. (Проширивање фонтова [font expansion] тренутно није подржано.)

У стандардној конфигурацији, tlmgr сада прави по једну резервну копију (бекап) за сваки надограђени пакет (tlmgr option autobackup 1), тако да се пакети чије освежавање не успе могу лако повратити у радно стање помоћу tlmgr restore. Ако надограђујете пакете после инсталације а немате простора на диску за резервне копије, покрените команду tlmgr option autobackup 0.

У TEX Live су укључени неки нови програми: pTEX и алатке повезане са њим, специјализовани за припрему текста на јапанском језику; програм BibTEXU који уводи подршку за Unicode у BibTEX; алатка chktex (http://baruch.ev-en.org/proj/chktex) која проверава исправност (LA )TEX докумената; програм за пребацивање из DVI у SVG векторски формат (http://dvisvgm.sourceforge.net).

Додате су верзије програмā за пет нових платформи: amd64-freebsd, amd64-kfreebsd, i386-freebsd, i386-kfreebsd, x86_64-darwin и x86_64-solaris.

Једна промена из TEX Live 2009 коју смо пропустили да евидентирамо: бројни програми везани за TEX4ht (http://tug.org/tex4ht) склоњени су из директоријума са извршним фајловима. Програм mk4ht сада покрива све могуће tex4ht комбинације.

На нашу велику жалост, издање TEX Live-а на TEX Collection DVD-ју више не може да се покреће „живо“ (live): DVD као медиј просто више није довољно велики. У томе има, међутим, и једна успутна предност: инсталација са DVD-ја је сада много бржа.

9.1.8 2011

Издање TEX Live-a из 2011. године донело је релативно мало промена.

Програми за Mac OS X (universal-darwin и x86_64-darwin) сада раде само на систему Leopard и на новијим издањима; Panther и Tiger нису више подржани.

Укључен је програм за обраду библиографија biber; постоје верзије за све уобичајене оперативне системе. Развој овог софтвера је тесно повезан са пакетом biblatex. biber поставља на нове основе библиографске могућности које постоје у LATEX-у.

Програм MetaPost (mpost) више не прави и не користи .mem фајлове. Неопховни фајлови, као што је plain.mp, напросто се изнова читају сваки пут када се програм покрене. Ова промена везана је за подршку MetaPost-а као библиотеке, што је још једна значајна, премда за кориснике невидљива промена.

Имплементација програма updmap у програмском језику Perl, која је раније била у употреби само на Windows-у, сада је прерађена и стављена у употребу на свим платформама. Ова промена не би требало да буде видљива за кориснике, осим што ће од сада програм радити много брже.

Враћени су програми initex и inimf, али не и остале ini* варијанте.

9.1.9 2012

tlmgr сада може да обавља надоградње користећи неколико репозиторијума на Интернету упоредо. О овоме можете да прочитате више у документацији TEX Live менаџера (tlmgr help).

Подразумевана вредност параметра \XeTeXdashbreakstate сада је 1 (и за xetex и за xelatex). То значи да ће се линије ломити после средњих и великих цртā (em-dash и en-dash), као што је увек био случај у чистом TEX-у, LATEX-у, LuaTEX-у, итд. У постојећим XeTEX документима у којима је неопходно задржати потпуну компатибилност по питању ломљења линије иза црте морате изричито да подесите вредност \XeTeXdashbreakstate на 0.

Фајлови које праве pdftex и dvips (између осталих) сада могу да буду већи од 2 гигабајта.

35 стандардних PostScript фонтова сада се уграђују у све фајлове које прави dvips, зато што се појавило много разних верзија ових „стандардних“ фонтова.

У режиму рада \write18 (у коме је дозвољено покретање само малог броја спољних команди), још једна команда додата је у повлашћени списак у стандардној инсталацији: mpost.

Фајл texmf.cnf се сада може пронаћи и у ../texmf-local, тј. преко /usr/local/texlive/texmf-local/web2c/texmf.cnf (ако постоји).

Скрипта updmap сада чита updmap.cfg у сваком дрвету уместо само једну глобалну конфигурацију. Ова промена нема никаквих практичних последица за кориснике који нису директно мењали updmap.cfg фајлове. Више информација можете пронаћи у документацији скрипте updmap (покрените updmap \mbox{--help}).

Додате су нове платформе armel-linux и mipsel-linux; платформе sparc-linux и i386-netbsd удаљене су из главне дистрибуције TEX Live-а.

9.1.10 2013

Структура дистрибуције: директоријум највишег нивоа texmf/ је ради једноставности спојен са texmf-dist/ и више не постоји. Сада Kpathsea променљиве TEXMFMAIN и TEXMFDIST обе показују на texmf-dist.

Инсталација и пакети: Велики број малих језичких колекција је груписан како би се процес инсталације упростио.

MetaPost сада без употребе спољних програма подржава излаз у формату PNG и IEEE стандард бројева двоструке тачности (floating-point — IEEE double).

LuaTEX сада садржи Lua 5.2 и нову библиотеку pdfscanner, која му омогућава да процесуира спољне PDF документе и још много тога (погледајте Интернет страницу овог пројекта).

XeTEX сада (такође погледајте Интернет страницу пројекта):

xdvi: сада користи FreeType уместо t1lib за рендеринг.

microtype.sty: доноси нове микротипографске могућности, укључујући побољшану подршку за XeTEX (protrusion) и LuaTEX (protrusion, font expansion, tracking).

tlmgr: нова подкоманда pinning уведена је да олакша конфигурисање рада TEX Live у случају да користите више репозиторијума на Интернету истовремено; погледајте одговарајући одељак у tlmgr --help (или исти садржај преко Интернета, на http://tug.org/texlive/doc/tlmgr.html#MULTIPLE-REPOSITORIES).

Платформе: armhf-linux, mips-irix, i386-netbsd и amd64-netbsd су враћене или укључене први пут; powerpc-aix је уклоњен из дистрибуције.

9.1.11 2014

Ову годину је обележила још једна мала поправка у Кнутовом TEX-у. Она се пројектује на све деривативне програме („engines“), али ће једина видљива промена највероватније бити то што ће се у иницијалном излазу програма поново појављивати речи preloaded format. Према Кнутовим речима, то означава формат који може бити учитан уколико нема додатних инструкција, и не означава „undumped“ формат који се садржи у извршном фајлу. Овај формат се може променити на разне начине.

pdfTEX: Додат је нови параметар за укидање порука о упозорењима, \pdfsuppresswarningpagegroup; додате су нове примитиве за размак између речи које треба да помогну око реформатирања прелома текста у формату PDF (text reflowing): \pdfinterwordspaceon, \pdfinterwordspaceoff, \pdffakespace.

LuaTEX: Унете су значајне измене и поправке у механизме учитавања фонтова и преноса речи. Највећа новина су нова варијанта овог дериватива, luajittex (http://foundry.supelec.fr/projects/luajittex) и његови „рођаци“, texluajit и texluajitc. Они користе „just-in-time“ компајлер језика Lua (детаље можете пронаћи у чланку магазина TUGboat: http://tug.org/TUGboat/tb34-1/tb106scarso.pdf). luajittex је још увек у развојној фази и није доступан на свим оперативним системима; такође, сматра се нестабилнијим од luatex. Ни ми ни његови аутори не препоручујемо да га користите осим ако не желите да експериментишете са jit над кôдом написаним на језику Lua.

XeTEX: Сада су на свим оперативним системима подржани исти формати слика, укључујући и Mac OS X; уведена је политика избегавања посезања за тзв. уникодном еквиваленцијом („compatibility decomposition“ — декомпозиција саставних симбола Уникода), с тим што се то не односи на друге варијанте еквиваленције; OpenType фонтови сада имају предност у односу на фонтове са технологијом Graphite, ради компатибилности са ранијим верзијама XeTEX-а.

MetaPost: Сада је подржан нови бројни систем, decimal, као и нова одговарајућа интерна променљива, numberprecision; у фајл plain.mp је, према Кнутовом савету, додата нова дефиниција drawdot-а; између осталог, исправљене су багови везани за излаз у форматима SVG и PNG.

Алатка ConTEXt-а, pstopdf, биће уклоњена као самостална команда у једном тренутку након издања, због конфликта са програмима са истим именом који постоје на неким оперативним системима. Моћи ће да се позове (може и сада) помоћу mtxrun --script pstopdf.

Нови одговорни програмер је темељно прерадио psutils. Неке алатке које су се ретко користиле, (fix*, getafm, psmerge, showchar) сада се налазе у директоријуму scripts/, а не у општем директоријуму са другим програмима (ова одлука ће бити промењена ако се испостави да доноси проблеме). Додата је нова скрипта, psjoin.

MacTEX, специјализовани дериват TEX Live-а (одељак 3.1.2), више не укључује опционалне пакете фонтова Latin Modern и TEX Gyre прилагођене само за рад на Mac OS X, зато што је корисницима веома лако да их инсталирају у случају потребе. Избачен је и програм convert (део ImageMagick-а), пошто TEX4ht (конкретно tex4ht.env) сада директно користи Ghostscript.

Колекција langcjk (језичка подршка за кинески, јапански и корејски) сада је подељена на три мање колекције.

TEX Live сада подржава платформу x86_64-cygwin и више не подржава mips-irix; Microsoft више не подржава Windows XP, тако да наши програми на том систему могу да престану да раде како треба у било ком тренутку.

9.1.12 2015

LATEX2ε сада у стандардној конфигурацији садржи допуне које су се раније активирале помоћу пакета fixltx2e (пакет као опција више не постоји). Нови пакет latexrelease и други механизми омогућавају контролу ових измена. У документима LATEX News #22 и „LATEX changes“ можете да прочитате детаље. Узгред, пакети babel и psnfss, без обзира на то што су део језгра LATEX-а, развијају се одвојено и требало би и даље да раде: њих се ове промене не тичу.

LATEX2ε се сада интерно може конфигурисати према стандарду Unicode (који симболи представљају слова, како се именују примитиве итд); та подешавања су се раније задавала на нивоу TEX Live-а. Ова промена би требало да буде невидљива за кориснике. Неколико интерних контролних секвенци ниског нивоа добило је нова имена, али укупно понашање би требало да остане непромењено.

pdfTEX: Овај дериват сада подржава JPEG Exif и JFIF. Не приказује се чак ни упозорење ако је \pdfinclusionerrorlevel негативан. Синхронизован је са xpdf 3.04.

LuaTEX: Укључена је нова библиотека newtokenlib за скенирање токена. Исправљене су грешке везане за normal генератор случајних бројева, као и многе друге.

XeTEX: Унапређено је баратање сликама. Програм xetex од сада прво покушава да покрене xdvipdfmx из сопственог директоријума, а не онај који има предност према системској променљивој PATH. Интерни XDV кодови операцијā су промењени.

MetaPost: Уведен је нови бројевни систем binary. Уведени су нови програми са подршком за јапански upmpost и updvitomp, аналогни up*tex.

MacTEX: CJK фонтови из TEX Live-а сада су доступни Ghostscript пакету који је укључен у MacTEX. Панел за избор TEX дистрибуције (The TEX Distribution Preference Pane) сада ради на Yosemite (Mac OS X 10.10). XeTEX више не подржава „resource-fork font suitcases“ (ови фајлови обично немају екстензију); „data-fork suitcases“ (.dfont фајлови) остају подржани.

Инфраструктура: Скрипта fmtutil сада чита fmtutil.cnf у сваком стаблу посебно, као што то ради updmap. Web2C скрипте mktex* (укључујући mktexlsr, mktextfm и mktexpk) сада дају предност програмима који се налазе у њиховом сопственом директоријуму; до сада је предност имала локација из системске променљиве PATH.

Платформе: Програми за *-kfreebsd су уклоњени из дистрибуције зато што се на овој породици оперативних система TEX Live сада лако може инсталирати интерним путем.

Подршка за неке додатне платформе је обезбеђена преко странице http://tug.org/texlive/custom-bin.html. Неке подржане платформе се од сада не дистрибуирају на DVD-ју (због ограниченог простора), али се и даље могу уобичајеним путем инсталирати преко Интернета.

9.1.13 2016

LuaTEX: Велике измене примитивā (укључујући промене имена и укидање), као и ново устројство структуре нодова. Преглед ових измена представљен је у чланку Ханса Хахена [Hans Hagen] „LuaTEX 0.90 backend change for PDF and more“ (http://tug.org/TUGboat/tb37-1/tb115hagen-pdf.pdf). Детаљан опис налази се у Приручнику за LuaTEX: texmf-dist/doc/luatex/base/luatex.pdf.

Metafont: У дистрибуцију су укључени нови чланови породице, MFlua и MFluajit. Они представљају покушај интеграције Metafont-а и језика Lua, и налазе се у експерименталној фази.

MetaPost: Исправљене су неке грешке и направљени нови кораци ка верзији 2.0.

Сви деривативи осим LuaTEX-a сада узимају у обзир вредност системске променљиве SOURCE_DATE_EPOCH. LuaTEX ће ову функционалност подржавати у следећем издању. Оригинални tex је намерно изузет. Ако поменута системска променљива има неку вредност, она се користи за временске ознаке у резултујућем PDF фајлу. Ако је, осим ње, подешена и променљива SOURCE_DATE_EPOCH_TEX_PRIMITIVES, онда се према вредности SOURCE_DATE_EPOCH подешавају примитиве \year, \month, \day и \time. Приручник pdfTEX-а садржи више детаља и примере.

pdfTEX: Нове примитиве \pdfinfoomitdate, \pdftrailerid и \pdfsuppressptexinfo омогућавају контролу одговарајућих вредности које се уписују у PDF, и које се мењају приликом сваког покретања програма (ово се тиче само резултујућег PDF фајла, а не DVI).

XeTEX: Додате су нове примитиве: \XeTeXhyphenatablelength, \XeTeXgenerateactualtext, \XeTeXinterwordspaceshaping и \mdfivesum; максималан број класā словā увећан је на 4096; увећан је id-бајт верзије DVI.

Измене у другим програмима:

MacTEX: Нема више Панела за избор TEX дистрибуције (The TEX Distribution Preference Pane); његову улогу је преузео TEX Live Utility. Укључене су нове верзије апликација специфичних за ову дистрибуцију. За кориснике којима је потребна интеграција разник CJK фонтова у Ghostscript предвиђена је скрипта cjk-gs-integrate.

Инфраструктура: Сада је могуће конфигурисати tlmgr на системском нивоу; TEX Live сада контролише криптографске суме пакетā и, ако је доступан GPG, проверава криптографске потписе током освежавања преко Интернета. Криптографско верификовање спроводе и инсталер и tlmgr. Ако GPG није доступан, сви описани процеси се обављају као раније.

Платформе: alpha-linux и mipsel-linux више нису укључени у дистрибуцију.

9.2 Тренутно стање — 2017

LuaTEX: Више контроле на свим нивоима функционалности (callbacks, слагање текста, приступ интерним променљавама); библиотека за динамичко учитавање кôда (ffi) укључења је на неким платформама.

pdfTEX: Прошлогодишња системска променљива SOURCE_DATE_EPOCH_TEX_PRIMITIVES промењена је на FORCE_SOURCE_DATE; ова промена се не тиче функционалности; ако листа токена \pdfpageattr садржи стринг /MediaBox, изоставља се излаз подразумеваног /MediaBox.

XeTEX: За обраду математичког садржаја по Unicode/OpenType сада се користе MATH таблице библиотеке HarfBuzz; исправљено неколико багова.

dvips: Ако је, као резултат вишеструке примене \special команде, у .dvi фајлу више пута задата величина папира (papersize), излаз ће се формирати на основу последње, а не на основу прве (као раније). То је урађено да би се понашање усагласило са dvipdfmx и логиком многих пакетā. Ако не желите ову промену у понашању, употребите параметар -L0 (коме одговара конфигурациони параметар L0).

epTEX, eupTEX: Нове примитиве из pdfTEX-а: \pdfuniformdeviate, \pdfnormaldeviate, \pdfrandomseed, \pdfsetrandomseed, \pdfelapsedtime и \pdfresettimer.

MacTEX: Од ове године MacTEX ће, под платформом x86_64-darwin, подржавати само верзије Mac OS X за које Apple обезбеђује надоградње које се тичу безбедности; у овом тренутку то су Yosemite, El Capitan и Sierra (10.10 и новије верзије). Програми за старије верзије Mac OS X неће бити укључени у MacTEX, али ће и даље бити доступни у TEX Live-у (платформе x86_64-darwinlegacy, i386-darwin и powerpc-darwin).

Инфраструктура: Ново подразумевано понашање је да се сада дрво TEXMFLOCAL претражује пре TEXMFSYSCONFIG и TEXMFSYSVAR; очекујемо да ће се нова пракса боље слагати са очекивањима корисника код којих одређени локални фајлови треба да имају предност у односу на системске. Осим тога, tlmgr има нови режим под називом shell, који се може користити за писање скрипти или интерактивно, и нову команду conf auxtrees, која омогућава да се лако додају или уклоне одговарајуће хијејархије података.

updmap и fmtutil: Ове скрипте сада упозоравају корисника ако су позване без изричито назначеног тзв. системског режима (тј. без updmap-sys, fmtutil-sys или опције -sys) или корисничког режима (тј. без updmap-user, fmtutil-user или опције -user). Надамо се да ће ово решити стари проблем: често се дешавало да корисник случајно покрене скрипте у корисничком режиму и тако изгуби будуће системске надоградње. Детаљније о овоме можете прочитати на страници http://tug.org/texlive/scripts-sys-user.html.

install-tl: MacTEX сада подразумева да је ~/Library/... лични директоријум корисника. Додата је нова опција -init-from-profile, која омогућава да се инсталација покрене на основу вредности променљивих задатих у одређеном профилу; у ту сврху додата је команда P, помоћу које је могуће сачувати жељени профил; уведене су нове променљиве за имена профилā (мада се старе и даље прихватају).

SyncTEX: фајл са привременим (tmp) подацима сада је foo.synctex(busy), уместо ранијег foo.synctex.gz(busy) (нема више .gz). Корисничке програме и системе који уклањају привремене податке треба прилагодити овој промени.

Остали програми: Укључен је нови портабилни програм texosquery-jre8, који служи да се из TEX документа разазнају locale и друге информације специфичне за оперативни систем; програм је укључен у подразумевани списак shell_escape_commands. (Старије верзије JRE могу се користити за texosquery, али та комбинација неће функционисати у „restricted mode“.)

Платформе: Погледајте ставку о MacTEX из овог одељка; нема других измена.

9.3 Будућност

TEX Live није савршен! (И никада неће ни бити.) Намера нам је да наставимо да издајемо нове верзије, да пружимо више помоћног материјала, више алатки, више инсталационих програма и (наравно) још боље подешену и тестирану структуру макроа и фонтова, који се са своје стране непрестано усавршавају. Сав овај рад обављају волонтери у свом слободном времену, тако да посла увек има на претек. Стога Вас позивамо да посетите страницу http://tug.org/texlive/contribute.html.

Молимо Вас да шаљете исправке, предлоге и понуде за сарадњу на:

tex-live@tug.org
http://tug.org/texlive

Срећно TEX-овање!

_____________________________________________________________________________________

Serbian translation of TEX Live Guide: TEX Live 2017. Copyright (C) 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017 Nikola Lečić [nikola.lecic@anthesphoria.net] (the translator).

Redistribution and use in source (LuaLATEX code) and "compiled" forms (XDV, SGML, HTML, PDF, PostScript, RTF and so forth) with or without modification, are permitted provided that the following conditions are met:

THIS DOCUMENTATION IS PROVIDED BY THE TRANSLATOR "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE TRANSLATOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS DOCUMENTATION, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

*Превод текста: Karl Berry (ed.), The TEX Live Guide: TEX Live 2017. Ова верзија превода је еквивалент TEX кôда из фајла texlive-en.tex, SVN r44314. Услови под којима можете да користите овај превод дати су на крају документа, као и у фајлу texlive-sr.tex.

1Платформа представља комбинацију архитектуре и оперативног система: нпр. оперативни систем FreeBSD који ради на 64-битном Intel или AMD процесору јесте платформа по имену amd64-freebsd. Развојни тим TEX Live-a се одлучио да овом изразу дâ предност у односу на израз „оперативни систем“ и ми ћемо следити ту одлуку колико је то могуће, мада не у свим случајевима (пре свега у српском преводу програмā install-tl и tlmgr, у којима би употреба израза архитектура могла лако да збуни корисника пошто тамо није могуће дати овакво објашњење) — прим. прев.

2Ово нарочито важи ако користите ћириличне верзије програма, укључујући и српску; фонтови могу бити читљиви, али ће изгледати веома лоше — прим. прев.

3Системска променљива је превод израза environment variable. Други могући превод био би променљива из окружења, али смо се одлучили да избегнемо ту конструкцију зато што је она по нашем мишљењу (1) мање јасна корисницима Windows-а и зато што (2) обе имају мање-више исто значење у пракси — прим. прев.

4Прерачунавање је превод израза expanding; генерално се ради о замени неког једноставног израза неким компликованијим садржајем до кога се долази одговарајућим алгоритмом; стога, у зависности од контекста, може да значи и рашчлањавање и проширивање прим. прев.

5Израз whitespace означава све врсте „провидних знакова“, пре свега размак („space“) и „Tab“ — прим. прев.