LaTeX/Индексирање

Извор: testwiki
Пређи на навигацију Пређи на претрагу

Шаблон:LaTeX/Врх Посебно корисно код штампаних књига, индекс је азбучна листа речи и израза са странама књиге на којима се оне могу наћи. LaTeX подржава стварање индекса са његовим пакетом Шаблон:LaTeX/Пакет, и његовим програмом подршке makeindex, који се на неким системима називају makeidx.

Употреба makeidx

Да бисте оспособили функцију индексирања LaTeX-а, Шаблон:LaTeX/Пакет пакет мора бити учитан у преамбули са: Шаблон:LaTeX/Употреба

и посебне конанде за индексирање се морају оспособити тако што ће се ставити Шаблон:LaTeX/Употреба

команда у преамбулу улазне датотеке. Ово би требало урадити унутар преамбуле, пошто она говори LaTeX да направи датотеке потребне за индексирање. ДА би рекли LaTeX шта да индексира, користите Шаблон:LaTeX/Употреба

где је кључ унос индекса и он се не појављује у коначном изгледу. Унесете конаде индексирања на местима у тексту на које ви желите да се индекс реферише, вероватно близу разлога за кључ. На пример, текст Шаблон:LaTeX/Употреба може се поновно написати као Шаблон:LaTeX/Употреба да бисте направили било који унос који се зове 'Фуријова срија' са референцом на циљану страну. Више употреба \index са истим кључем на различитим странама ће додати те циљане стране на тај исти приступ индексу.


ДА бисте показали индекс унутар документа, само користите команду Шаблон:LaTeX/Употреба Уобичајено је да се стави на крају документа. Уобичајени формат индекса је две колоне.


Шаблон:LaTeX/Пакет пакет који долази са LaTeX-ом штампа све приступе индекса у десну маргину текста. Ово је поприлично корисно за корекцију документа и верификацију индекса.

Компилација индекса

Када је улазна датотека процесуирана са LaTeX-ом, свака Шаблон:LaTeX/LaTeX команда пише одговарајући индекс приступ, заједно са тренутним бројем стране, на специјалну датотеку. Ова датотека има исто име као и LaTeX улазна датотека, али различит наставак (.idx). Ова .idx датотека се може обрадити унутар makeindex програма. Укуцајте у командној линији:

makeindex имедатотеке

Приметите да је имедатотеке без наставка: програм ће тражити имедатотеке.idx да би користио команду. Опционо можете додати имедатоетеке.idx директно програму као аргумент. Програм makeindex генерише сортирани индекс са истим основним именом датотеке, али овај пут с наставком .ind. Ако је сада LaTeX улазна датотека обрађена поново, овај сортирани индекс се укључује у документ на месту где LaTeX пронађе Шаблон:LaTeX/LaTeX.

Индекс направљен од стране latex-а са уобичајеним опцијама тако добро или или тако одговарајуће како би ви желели. ДА бисте побољшали изглед индекса makeindex долази са комплетом стилова датотека, обично лоцираних негде у tex структури директоријума, обично испод makeindex поддиректоријума. Да бисте рекли makeindex да користи одређени стила датотека, покрените га са опцијом командне линије:

 makeindex -s [style file] имедатотеке

Ако користите GUI за компилацију latex и индекс датотека, можда ћете морати да подесите ово у опцијама. Ево неколико савета око конфигурације за тишичне алате:

MakeIndex опција у WinEdt

Ако ви рецимо желите дадодате стил индексирања датотека именован простдекс.ist

  • Texify/PDFTexify: Options→Execution Modes→Accessories→PDFTeXify, додај у Switches: --mkidx-option="-s simpleidx.ist"
  • MakeIndex сама: Options→Execution Modes→Accessories→MakeIndex, додај у командној линији: -s simpleidx.ist

Софистицирано индексирање

Испод су примери Шаблон:LaTeX/LaTeX приступа:

Пример Унос индекса Коментар
Шаблон:LaTeX/LaTeX hello, 1 Обичан унос
Шаблон:LaTeX/LaTeX   Peter, 3 Подунос после 'hello'
Шаблон:LaTeX/LaTeX   Sam, 2 Подунос форматиран и сортиран
Шаблон:LaTeX/LaTeX Sam, 2 Формиран унос
Шаблон:LaTeX/LaTeX Lin, 7 Исто као и изнад
Шаблон:LaTeX/LaTeX Jenny, 3 Форматирани број стране
Шаблон:LaTeX/LaTeX Joe, 5 Исто као и изнад
Шаблон:LaTeX/LaTeX école, 4 Руковање акцентима
Шаблон:LaTeX/LaTeX Peter, see hello Упућивање
Шаблон:LaTeX/LaTeX Jen, see also Jenny Исто као и изнад

Подуноси

Ако неки унос има подсекције, оне могу бити обелењене са !. На пример, Шаблон:LaTeX/Употреба би креирало унос индекса са 'cp850' категоризано под 'улаз' (који је и сам категоризован у 'кодирања'). Они се називају подподуноси и подуноси у makeidx терминологији.

Контрола сортирања

У циљу одређивања како је кључ индексирања сортиран, поставите вредност да сортира по вредности пре кључа са @ као сепаратором. Ово је корисно ако постоји било које форматирање или математички режим, тако да би један пример могао бити Шаблон:LaTeX/Употреба тако да ће се унос у индексу показати као 'F' али ће бити сортиран као 'F'.

Да бисте комбинолаи са функцијом изнад са подуносима, требате стилизовати одговарајуће компоненете: Шаблон:LaTeX/Употреба

Промена стила броја стране

Да се промени форматирање броја стране, доделите | и име неке команде која врши форматирање. Ова команда би требало да прихвата само један аргумент.

На пример, ако на страни 3 књиге уведете булдоге и укључите команду Шаблон:LaTeX/Употреба и на страни 10 исте књиге пожелите да покажете главни део о булдозима са подебљаним бројем стране, употребите Шаблон:LaTeX/Употреба Ово ће се појавити у индексу као булдог, 3, 10

Ако користите texindy уместо makeindex, сврстани уноси ће бити такође сортирани, тако да ће сви подебљани уноси бити постављени пре свих осталих по нормали.

Више страница

Да бисте извршили индексирање више страница, додајте |( и |) на крају Шаблон:LaTeX/LaTeX команде, као у Шаблон:LaTeX/Употреба Унос у индексу за подунос 'History' ће бити у распону страна између Шаблон:LaTeX/LaTeX команди.

Употреба специјалних знакова

ДА би ставили вредности са !, @, или |, који су иначе знакови прекида, у индексу, морате цитирати оце знакове у Шаблон:LaTeX/LaTeX команди тако што ћете ставити дупле наводнике (") испред њих, само можете ставити " унутар индекса тако што ћете га цитирати (т.ј., кључ за " би био Шаблон:LaTeX/LaTeX).

Ово правило не важи за \", зато ставите слова ä у индекс, можете и даље користити Шаблон:LaTeX/LaTeX.

Листа скраћеница

Можете да направите листу скраћеница са пакетом Шаблон:LaTeX/Пакет [1]. Можда ћете такође бити заинтересовани за употребу Шаблон:LaTeX/Пакет пакета описаног у Речник поглављу. Друга опција је пакет Шаблон:LaTeX/Пакет [2].

Да бисте оспособили функцију номенкалтуре LaTeX-а, Шаблон:LaTeX/Пакет пакет мора бити учитан у преамбули са: Шаблон:LaTeX/Употреба

Издајте Шаблон:LaTeX/LaTeX команду за сваки симбол који желите да буде укључен у листу номенклатуре. Најбоље место за ову команду је одмах пошто уведете симпол по први пут. Ставите Шаблон:LaTeX/LaTeX на место где желите да имате вашу листу неменклатуре.

Затим покрените LaTeX два пута

makeindex имедатотеке.nlo  -s nomencl.ist -o имедатотеке.nls

после чега ћете покренути LaTeX још једном.

ДА би додали листу скраћеница у садржај, Шаблон:LaTeX/Параметар опциај се може користити када се декалрише Шаблон:LaTeX/Пакет пакет, т.ј. Шаблон:LaTeX/Употреба уместо употребе кода у Adding Index to Table Of Contents секцији.

Наслов листе се може променити коришћењем следеће команде: Шаблон:LaTeX/Употреба

Више индекса

Ако вам је потребно више индекса можете да користите пакет Шаблон:LaTeX/Пакет [3].

Овај пакет обезбеђује исте команде као Шаблон:LaTeX/Пакет, али сада такође морате пропустити име као први аргумент сваке команде. Шаблон:LaTeX/Употреба

Додавање индекса садржају

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

Да бисте додали индекс поглављу, употребите ове команде: Шаблон:LaTeX/Употреба

Ако користите класу књига, можда ћете желети да га стартујете на непарној страници коришћењем Шаблон:LaTeX/LaTeX.

Интернационални индекси

Ако желите да сортирате уносе које имају интернационалне знакове (као што су ő, ą, ó, ç, итд.) можете открити да сортирање "није баш добро". У већини случајева ови знакови се третирају као посебни знакови и заврше у истој групи као и @, ¶ или µ. У већини језика које користе латинично писмо то није тачно.

Генерисање индекса

На жалост, тренутна верзија xindy и Шаблон:LaTeX/Пакет су неспојиви. Када користите Шаблон:LaTeX/Параметар или Шаблон:LaTeX/Параметар модификаторе, texindy ће штампати поруку грешке:unknown cross-reference-class `hyperindexformat'! (ignored) и неће додати те странице у индекс. Решење за ову грешку описану на разговору.

Да бисте генерисали датотеку интернационалног индекса морате да користите texindy уместо makeindex.

xindy је много прошириви и и развијени систем индексирања него makeindex систем.

На пример, није потребно написати: Шаблон:LaTeX/Употреба да бисте добили Lin унос после LAN и пре LZA, довољно је написати Шаблон:LaTeX/Употреба

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

На жалост, генерисање индекса који су спремни за употребу од стране LaTeX употребом xindy је мало компликованије него са makeindex.

Прво, морамо да знамо у ком кодирању .tex је пројектна датотека сачувана. У већини случајева биће сачувана као UTF-8 или ISO-8859-1, мада ако живите, на пример у Пољској може бити ISO-8859-2 или CP-1250. Проверите параметар inputenc пакета.

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

Ја не знам да ли други језици имају сличне проблеме, али са пољским, ако је ваша .tex сачувана коришћењем UTF-8, .ind произведен од стране texindy ће бити кодиран у ISO-8859-2 ако користите само -L polish. Док није проблем са уносима који садрже пољска слова, како LaTeX намерно кодира сва слова у обичан ASCII, јесте за акцентована слова на почетку речи, оне стварају нове групе уноса индекса, ако имате, на пример "średnia" унос, добићете "Ś" кодирану у ISO-8859-2 .ind датотеци. LaTeX не воли ако је део датотеке у UTF-8 а други део у IS-8859-2. Очигледно решење (додавање -C utf8) не ради, texindy престаје са радо са

ERROR: Could not find file "tex/inputenc/utf8.xdy"

грешком. Да би се во поправило, морате да учитате стил дефиниција за наслове користећи -M switch:

-M lang/polish/utf8

На крају ми морамо да покренемо такву команду:

texindy -L polish -M lang/polish/utf8 имедатотеке.idx

Још један начин да сереши овај порблем је да користите "iconv" да направите utf8.xdy од latin2.xdy

 iconv -f latin2 -t utf8 latin2.xdy >utf8.xdy 

у фасцикли

  /usr/share/xindy/tex/inputenc 

(Морате имати рут привилегије)


Xindy у kile

Дa бисте користили texindy уместо makeindex у kile, морате или да редефинишете MakeIndex алатку у Settings → Configure Kile... → Tools → Build, или да дефинишете нову алтку и редефинишете остале алатке да бисте је коритили (на пример тако што ћете је додати у QuickBuild).

xindy дефиниција би требало да изгледа налик на ово:

General:
 Command: texindy
 Options: -L polish -M lang/polish/utf8 -I latex '%S.idx'
Advanced:
 Type: Run Outside of Kile
 Class: Compile
 Source extension: idx
 Target extension: ind
 Target file: <empty>
 Relative dir: <empty>
 State: Editor
Menu:
 Add tool to Build menu: Compile
 Icon: the one you like


Шаблон:LaTeX/Дно


en:LaTeX/Indexing