LaTeX/Речник

Извор: Викикњиге
Иди на навигацију Иди на претрагу
LaTeX logo.svg

LaTeX

Почетак
  1. Увод100% завршен  Dec 13, 2015
  2. Инсталација100% завршен  Dec 13, 2015
  3. Инсталација додатних пакета 100% завршен  Dec 13, 2015
  4. Основе 100% завршен  Dec 13, 2015
  5. Како пронаћи помоћ 100% завршен  Dec 13, 2015

Заједнички елементи

  1. Структура документа 100% завршен  Dec 28, 2015
  2. Форматирање текста 100% завршен  Dec 27, 2015
  3. Форматирање параграфа 100% завршен  Јан 02, 2016
  4. Боје 100% завршен  Jan 10, 2016
  5. Слова100% завршен  Jan 10, 2016
  6. Структура листи 100% завршен  Jan 10, 2016
  7. Посебни знакови 100% завршен  Jan 10, 2016
  8. Интернационализација 100% завршен  Jan 10, 2016
  9. Ротација 100% завршен  Jan 10, 2016
  10. Табеле 100% завршен  Jan 10, 2016
  11. Стварање наслова 100% завршен  Jan 10, 2016
  12. Распоред стране 100% завршен  Jan 10, 2016
  13. Увоз графике 100% завршен  Jan 10, 2016
  14. Фигуре и натписи100% завршен  Jan 10, 2016
  15. Фусноте и Маргине100% завршен  Jan 10, 2016
  16. Хиперлинкови 100% завршен  Jan 10, 2016
  17. Ознаке и референцирање100% завршен  Jan 10, 2016

Механика

  1. Грешке и упозорења 75% завршен  Јан 02, 2016
  2. Дужине 100% завршен  Јан 02, 2016
  3. Бројачи 100% завршен  Јан 02, 2016
  4. Кутије 100% завршен  Јан 02, 2016
  5. Правила и носачи 100% завршен  Јан 02, 2016

Технички текстови

  1. Математика100% завршен  Jan 10, 2016
  2. Напреднија математика 75% завршен  Jan 10, 2016
  3. Теореме
  4. Хемијска графика 75% завршен  Јан 02, 2016
  5. Алгоритми 75% завршен  Јан 02, 2016
  6. Листирање изворног кода 100% завршен  Јан 02, 2016
  7. Лингвистика 75% завршен  Јан 02, 2016

Посебне стране

  1. Индексирање 75% завршен  Јан 02, 2016
  2. Речник 75% завршен  Јан 02, 2016
  3. Управљање библиографијом‎ 75% завршен  Jan 10, 2016
  4. Више библиографије

Посебни документи

  1. Писма 50% завршен  Јан 02, 2016
  2. Презентације 75% завршен  Јан 02, 2016
  3. Учитељски део 75% завршен  Jan 10, 2016
  4. Кратка биографија 50% завршен  Јан 02, 2016

Креирање графика

  1. Представљање процедуралних графика 100% завршен  Јан 02, 2016
  2. МетаПостови 0% завршен  Јан 02, 2016
  3. Слика 50% завршен  Јан 02, 2016
  4. PGF/TikZ 25% завршен  Јан 02, 2016
  5. PSTricks 50% завршен  Јан 02, 2016
  6. Xy-pic 25% завршен  Јан 02, 2016
  7. Прављење 3D графикa 75% завршен  Јан 02, 2016

Програмирање

  1. Макрои 100% завршен  Jan 10, 2016
  2. Обичан ТеХ‎ 100% завршен  Jan 10, 2016
  3. Креирање пакета 100% завршен  Jan 10, 2016
  4. Теме 75% завршен  Jan 10, 2016

Разно

  1. Модуларни Документи 100% завршен  Jan 10, 2016
  2. Заједничко писање LaTeX докумената 75% завршен  Jan 10, 2016
  3. Отпремање у друге формате 100% завршен  Jan 10, 2016

Помоћ и препоруке

  1. Најчешће постављана питања 100% завршен  Jan 10, 2016
  2. Савети и трикови 75% завршен  Jan 10, 2016

Додаци

  1. Аутори 0% завршен  Jan 10, 2016
  2. Линкови 0% завршен  Jan 10, 2016
  3. Ознаке пакета 0% завршен  Jan 10, 2016
  4. Примери LaTeX докумената 0% завршен  Jan 10, 2016
  5. Индекс 0% завршен  Jan 10, 2016
  6. Речник наредби 0% завршен  Jan 10, 2016

Многи технички документи користе термине или акрониме који су непознати општој јавности. Честа је пракса да се дода речник да се таква документа начине приступачнијим.

glossaries пакет со може кориситти за прављење речника. Он подржава више речника, акронима, и симбола. Овај пакет замењује glossary пакет и он се може користити уместо nomencl пакета.[1] Корисници којима је потребно лакше решење требало би да размисле о томе да ручно кодирају уносе коришћењем описног окружења, или longtabu окружења омогућеног од стране tabu пакета.


Почетак[уреди]

Ставите \usepackage{glossaries} и \makeglossaries у вашу преамбулу (после \usepackage{hyperref} ако постоји). Онда дефинишите било који број \newglossaryentry и \newacronym уноса речника и акронима у вашу преамбулу (препоручено) или пре прве праве употреба увашем документ. Коначно додајте \printglossaries позив да пронађете листу речника унутар ваше структуре докумената. Онда исправите ваше писање са \gls{mylabel} макроима (и сличним стварима) да бисте истовремено унели ваш предефинисан текст и направили асоциони речник. Процесуирање датотеке сада мора укључивати позив за makeglossaries за којим следи најмање једно даље позивање latex-а или pdflatex--а.

Употреба glossaries[уреди]

Да бисте користили glossaries пакет, морате га посебно учитати:

\usepackage{glossaries}

ако желите да користите xindy (препоручено) за индексирање фразе, насупрот makeindex (по нормали), морате да прецизирате xindy опцију:

\usepackage[xindy]{glossaries}

Да би вам се речник појавио у вашем садржају, морате да прецизирате toc опцију:

\usepackage[toc]{glossaries}

Погледајте још и прилагођено име на дну ове стране.

Коначно, унесите следећу команду у преамбули вашег документа да бисте генерисали речник:

\makeglossaries

Било које везе у резултујућем речнику неће бити "реактивне" ако не учитате glossaries пакет после hyperref пакета.

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

Дефинисање уноса у речник[уреди]

Да бисте користили унос из речника прво морате да га дефинишете. Постоје неколико начина за дефинисање уноса, у зависности од тога шта дефинишете и како ће то што дефинишете бити употребљено.

Приметите да дефинисан унос неће неће бити укључен у штампани речник ако није коришћен у документу. Ово вам омогућује да направите речник општих појмова само ставите \include у свим вашим документима.

Дефинисање термина[уреди]

Да бисте дефинисали појам у речнику користите \newglossaryentry макро:

\newglossaryentry{<ознака>}{<settings>}

<ознака> је посебна ознака која се користи за идентификацију уноса у речнику, <settings> су парови раздвојени зарезом key=value који се користе за дефиницију уноса.

На пример, да бисте дефинисали рачунарски унос:

\newglossaryentry{computer}
{
  name=рачунар,
  description={је програмирана машина која прихвата улазне информације,
               чува и манипулише подацима, обезбеђује
               излазне информације у корисном формату}
}

Пример изнад дефинише унос који има исту ознаку као и име уноса. Ово није увек случај што ће и следећи унос показати:

\newglossaryentry{naiive}
{
  name=na\"{\i}ve,
  description={је француска позајмица (придев, од naïf)
               који указује на немањље или показује недостатак искуства,
               разумевања и софистицираности}
}

Када дефинишете термине, морате да запамтите да ће њих сачувати или makeindex или xindy. Док је xindy мало више свестан LaTeX-а, он ради тако што изоставља latex макрое (\"{\i}) и самим тим нетачно сортира пример изнад као nave. makeindex се неће показати много боље, зато што не разуме TeX макрое, он ће интерпретирати реч онако како је дефинисана, стављајући је унутар класе симбола, пре речи које починњу са naa. Зато је потребно проширити наш пример и прецизирати како ће се речи сортирати:

\newglossaryentry{naiive}
{
  name=na\"{\i}ve,
  description={is a French loanword (adjective, form of naïf)
               indicating having or showing a lack of experience,
               understanding or sophistication},
  sort=naive
}

Такође можете прецизирати форме множине, ако се оне не промирају додавањем лсова “s” (научићемо како да их користимо у следећем делу):

\newglossaryentry{Linux}
{
  name=Linux,
  description={is a generic term referring to the family of Unix-like
               computer operating systems that use the Linux kernel},
  plural=Linuces
}

Или, за акрониме:

\newacronym[longplural={Frames per Second}]{fpsLabel}{FPS}{Frame per Second}

Ово ће избегавати погрешне дугачке множине: Frame per Seconds.

До сада, уноси у речник су били дефинисани као листе кључних-вредности. Понекад, је опис много комплекснији од само једног параграфа. На пример, можда ћете пожелети да иамте више параграфа, детаљне листе, фигуре, табеле, итд. За талве речничке уносе користите команду longnewglossaryentry у којој опис прати листу кључних-вредности. РАчунарски унос онда изгледа овако:

\longnewglossaryentry{рачунар}
{
  name=рачунар
  description={је програмирана машина која прима улазне информације,
               чува и манипулише подацима, и обезбеђује
               излазне информације у корисном формату}

Дефинисање симбола[уреди]

Дефинисани уноси такође могу бити симболи:

\newglossaryentry{pi}
{
  name={\ensuremath{\pi}},
  description={однос обима круга и његовог
               пречника},
  sort=pi
}

Такође ,можете дефинисати и име и симбол:

\newglossaryentry{реалан број}
{
  name={реалан број},
  description={укључује и рационалне бројеве, као што су $42$ и 
               $\frac{-23}{129}$, и иарционалне бројеве, 
               као што су $\pi$ и квадратни корен од два; или,
               реалан број може иамти бескрајно децимално
               представљање, као што је $2.4871773339\ldots$ где
               где бројеви настављају на неки начин; или,на реални
               бројеви се може мислити као тачке на бесконачно
               дугачкој бројевној линији},
  symbol={\ensuremath{\mathbb{R}}}
}

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

Дефинисање акронима[уреди]

Да бисте дефинисали нови акроним можете да користите \newacronym макро:

\newacronym{<ознака>}{<abbrv>}{<full>}

где је <ознака> посебна ознака која дефинише акроним, <abbrv> је скраћени облик акронима и <full> проширен текст. На пример:

\newacronym{lvm}{LVM}{Logical Volume Manager}

Дефинисање акронима се може ставити у посебну листу ако користите acronym опцију пакета:

\usepackage[acronym]{glossaries}

Употреба дефинисаних термина[уреди]

Када сте дефинисали термин, можете га користите у документу. Постоје многе различите команде које се користе за референцирање термина из речника.

Опште референце[уреди]

Општа референца се користи са \gls командом. Ако, на пример, ако имате уносе у речник дефинисане као ови изнад, можете их користити на овај начин:

\Gls{naiive} people don't know about
alternative \gls{computer} operating systems:
\glspl{Linux}, BSDs and GNU/Hurd.

Naïve people don't know about alternative computer opera-
ting systems: Linuces, BSDs and GNU/Hurd.

Опис команде употребљене у примеру изнад:

\gls{<ознака>}

Ова команда штампа термин који је у асоцијацији са <ознаком> која је прошла као аргумент. Ако је hyperref пакет очитан пре glossaries он ће аутоматски бити хиперлинкован у унос из речника.

\glspl{<ознака>}

Ова команда штампа множину описаног термина, осим тога она се понаша исто као и gls.

\Gls{<ознака>}

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

\Glspl{<ознака>}

Ова команда штампа форму множине са првим словом термина промењеним у велико слово.

\glslink{<ознака>}{<алтернативни текст>}

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

\glssymbol{<ознака>}

Ова команда штампа шта год је дефинисано у \newglossaryentry{<ознака>}{симбол={Излаз од glssymbol}, ...}

\glsdesc{<ознака>}

Ова команда штампа шта год је дефинисано у \newglossaryentry{<ознака>}{опис={Излаз од glsdesc}, ...}

Позивајући акрониме[уреди]

Акроними се понашају мало другачије од обичних речничких термина. При првој употреби \gls команда ће показати "<full> (<abbrv>)". На каснијим употребама само ће скраћеница бити приказана.

За ресетовање прве употребе акронима користите:

\glsreset{<ознака>}

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

\glsresetall

Ако само желите да одштампате дугачку верзију акронима без скраћенице "<full>", користите :

\acrlong{<ознака>}

Ако само желите да одштампате дугачку верзију акронима са скраћеницом "<full> (<abbrv>)", користите :

\acrfull{<ознака>}

Ако само желите да штампате скраћеницу "<abbrv>", користите :

\acrshort{<ознака>}

Приказивање речника[уреди]

ДА бисте приказали сортирану листу термина морате да додате:

\printglossaries

на место где желите да се речник и листа акронима појаве.

Ако сви уноси треба да сеодштампају команда

\glsaddall

се може убацити пре \printglossaries. Можда ћете такође пожелети да употребите \usepackage[nonumberlist]{glossaries} да угушите листу локација унутар речника.

Одвојен речник и листа акронима[уреди]

\printglossaries ће приказати све речнике у реду по којем су били дефинисани.[2] Ако ниједан пролагођен речник није дефинисан, уобичајен речник и листа акронима ће бити приказани.

Речник и листа акронима могу бити приказани одвојено на различитим местима[3]:

\usepackage[acronym]{glossaries}

\printglossary[type=\acronymtype] % штампа само листу акронима

Неки текст између листе акронима и речника.

\printglossary % ако није уведена никаква друга опција уобичајени речник ће бити одштампан.

Дупли уноси са референцом ка уносом у речнику из акронима[уреди]

Може бити корисно да имате и акроним и унос у речник за исти термин. Да бисте повезали ова два, дефинишие акроним са референцом ка уносу у речнику на овај начин:

\newglossaryentry{gls-OWD} {
  name={One-Way Delay},
  description={Време које пакет користи да прође кроз мрежу од једног домаћина до другог},
}
\newacronym[see={[Glossary:]{gls-OWD}}]{OWD}{OWD}{One-Way Delay\glsadd{gls-OWD}}
Реферисање до акронима се врши са \gls{OWD} а до речника са \gls{gls-OWD}

Да бисмо ово начинили лакшим, можемо да користимо ову команду (модификовану од примера у званичним документима):

Синтакса: \newdualentry[glossary options][acronym options]{label}{abbrv}{long}{description}
\usepackage{xparse}
\DeclareDocumentCommand{\newdualentry}{ O{} O{} m m m m } {
  \newglossaryentry{gls-#3}{name={#5},text={#5\glsadd{#3}},
    description={#6},#1
  }
  \makeglossaries
  \newacronym[see={[Glossary:]{gls-#3}},#2]{#3}{#4}{#5\glsadd{gls-#3}}
}

онда, дефинишите нове (дупле) уносе за речник и листе акронима на овај начин:

\newdualentry{OWD} % ознака
  {OWD}            % скраћеница
  {One-Way Delay}  % дужи облик
  {Време које пакет користи да прође кроз мрежу од једног домаћина до другог} % опис

Прилагођено име[уреди]

Име речничког дела се може заменити са прилагођеним именом или превести на различит језик. Додајте опцију title у \printglossary да би прецизирали наслов речника. Додајте опцију toctitle да бисте прецизирали наслов коришћен у садржају (ако није искоришћен, title се користи по нормали). [4]

\printglossary[title=Листа термина,toctitle=Термини и скраћенице]

Уклањање тачке[уреди]

Да изоставите тачку на крају сваког описа, користите овај код:

\usepackage[nopostdot]{glossaries}

Мењање презентације уноса речника употребом стилова речника[уреди]

Велики број већ направљених стилова је доступан, и могу се лапо променити коришћењем

% Мора се написати пре \printglossaries
\glossarystyle{<newstyle>}

Често коришћени стилови укључују листу

Мој термин има веома дугачак опис 7, 9

altlist (убацује нов ред после термина и увученог описа)

Мој термин 
   има веома дугачак опис 7, 9

altlistgroup или listgroup (група додаје груписање базирано на првим словима термина)

M
мој први термин 
   Има веома дугачак опис 7, 9
Мој други термин 
   Има дугачак опис 7, 9

altlisthypergroup или listhypergroup (hyper додаје хиперлинкован 'индекс' на врху сваког речника да се пребаци на групу)

A|B|C|D|F|G|I|M|O|R|S|C|D|G|M|P
A                                                
A First term 
   Has some long description 7, 9
B
Barely missed first 
   Has some long description 7, 9

Стварање вашег документа[уреди]

Стварање вашег документа и његовог речника сахтева три корака:

  1. направите ваш LaTeX документ — ово ће такође генерисати датотеке потребне за makeglossaries
  2. призовите makeglossaries — скрипту која бира тачно кодирање знакова и језичке опције и која ће такође покренути xindy или makeindex ако су оне прецизиране у вашој документној датотеци
  3. направите ваш LaTeX документ поново — да бисте произвели документ са речничким уносима

Према томе:

latex doc
makeglossaries doc
latex doc

где је latex ваш уобичајени позив за прављење (можда pdflatex) и doc је име ваше LaTeX главне датотеке.

Ако су ваши уноси међусобно повезани (уноси су међусобно повезани са другим уносима које \gls позива), мораћете да одрадите кораке 1 и 2 два пута, то јест, по следећем редоследу: 1, 2, 1, 2, 3.

Ако се сусретнете са проблемима, погледајте doc.log и doc.glg датотеке у текстуалном едитору за трагове.

Пример за употребу у виндоусу са Texmaker-ом[уреди]

Компајлирајте речник са xindy - У виндоусу са Texmaker[уреди]

У TeX Live и од јуна 2015 у MikTeX xindy је већ укључен.

Постоји само један проблем са путем директоријума инсталације за MikTeX садржајне просторе. Може се решити преко следеће измене: http://tex.stackexchange.com/questions/251221/miktex-and-xindy-problems/251801#251801

Морате да поново покренете Texmaker после инсталције xindy, да бисте ажурирали PATH референце ка xindy и перл бинарима.

Онда, у Texmaker-у, идите на User -> User Commands -> Edit User Commands.
Изаберите команду 1

  1. Ставкаизменија = makeglossaries
  2. Команда = makeglossaries %

Сада притисните Alt+Shift+F1а затим ->F1

Приметите, за употребу са "користите направљен директоријум" опцијом Texmaker-а: makeglossaries мора да пронађе aux датотеку. Срећом, док Texmaker овде не помаже, опција -d <dir> од стране makeglossaries обезбеђује за поддиректоријумски случај. Зато би команда у овом случају требала бити:
Команда = makeglossaries -d build % уместо тога.

Преамбула документа[уреди]

У преамбули треба бити укључено (приметите, hyperref треба бити учитано пре речника):

\usepackage[nomain,acronym,xindy,toc]{glossaries} % nomain, ако дефинишете речнике у датотеци, и употребите \include{INP-00-glossary}
\makeglossaries
\usepackage[xindy]{imakeidx}
\makeindex

Дефиниције речника[уреди]

Напишите све ваше речнике/акрониме у датотеку: Нпр: INP-00-glossary.tex

\newacronym{ddye}{D$_{\text{dye}}$}{donor dye, ex. Alexa 488}
\newacronym[description={\glslink{r0}{F\"{o}rster distance}}]{R0}{$R_{0}$}{F\"{o}rster distance}
\newglossaryentry{r0}{name=\glslink{R0}{\ensuremath{R_{0}}},text=F\"{o}rster distance,description={F\"{o}rster distance, where 50\% ...}, sort=R}
\newglossaryentry{kdeac}{name=\glslink{R0}{\ensuremath{k_{DEAC}}},text=$k_{DEAC}$, description={is the rate of deactivation from ... and emission)}, sort=k}

Укључите дефиниције речника и штампајте речник[уреди]

Укључите дефиниције речника у преамбули (Пре "\begin{document}")

\loadglsentries[main]{INP-00-glossary}
% или коришћењем \input:
%\input{INP-00-glossary}

\begin{document}

Штампај речнике, близу смо краја

\appendix
\bibliographystyle{plainnat}
\bibliography{bibtex}
\printindex
\printglossaries
\end{document}

Референце[уреди]

  • Коришћење LaTeX-а за писање докторских дизертација, Nicola L.C. Talbot, [1]
  • Glossaries, Nomenclature, Lists of Symbols and Acronyms, Nicola L. C. Talbot, link


Претходно: Индексирање Индекс Следеће: Управљање библиографијом