LaTeX/Структура документа
Главна сврха писања документа је представљање идеја, информација или знања ономе ко чита. Читалац ће боље разумети документ ако су идеје уредно представљене, и лакше ће схватити структуру ако се типографске форме правило одражавају на логичку и семантичку структуру садржаја.
LaTeX је другачији од осталих система за писање у томе што ви морате да означите логичку и семантичку структуру текста. Он даље резултује типографске форме документа по задатим правилима у фајлу класе документа и другим датотекама за стилове. LaTeX омогућава корисницима да структуирају њихов документ са различитим хијерархијским конструкторима, укључујући поглавља, секције, подсекције и параграфе.
Глобална структура
уредиКада LaTeX обрађује улазну датотеку, очекује се од њега да прати одређену структуру. Зато свака улазна датотека мора да садржи наредбе
\documentclass{...}
\begin{document}
...
\end{document}
|
Простор између \documentclass{...}
и \begin{document}
се зове преамбула. Он обично садржи наредбе које утичу на цео документ.
После преамбуле, текст вашег документа је затворен између две наредбе које одређују почетак и крај документа:
\begin{document}
...
\end{document}
|
Ваш текст постављате где се налазе тачке. Разлог за означавање почетка текста је тај што LaTeX дозвољава убацивање додатних спецификација изнад (где је празан ред у горњем примери: што ћемо ускоро и употребити). Разлог за означавање краја текста обезбеђује место LaTeX-у да се програмира за додатне ствари аутоматски на крају документа, као што је индексирање.
Корисна последица означавања краја текста у документа је та што можете чувати коментаре или привремени текст испод \end{document}
са знањем да LaTeX никада неће да прикаже исти:
\end{document}
...
|
Преамбула
уредиКласе документа
уредиКада обрађује улазну датотеку, LaTeX-у је потребно да зна тип документа који аутор жели да направи. Ово се одређује са \documentclass
наредбом. Препоручује се да се документ декларише на самом почетку.
\documentclass[опција]{класа}
|
Овде, class
одређује тип документа који се креира. LaTeX дистрибуција обезбеђује додатне класе за друге документе, укључујући слова и слајдове. Такође можете направити сопствену класу, што је чест случај код новина, где једноставно обезбеђују властиту класу, која говори LaTeX-у како да се форматира документ. Ми ћемо за сад бити задовољно стандардном класом за чланке (article). Параметар options
ближе одређује особине класе документа. Опције морају бити раздвојене запетом.
Пример: улазна датотека за LaTeX документ може почети са линијом
\documentclass[11pt,twoside,a4paper]{article}
|
што упућује LaTeX да врати документ као чланак, са подразумеваним словима величине 11, и да припреми документ за дупло-страно штампање на А4 папиру.
Ово су неке класе документа које се могу користити са LaTeX-ом:
article | За чланке у научним часописима, презентације, краће извештаје, документацију, позивнице, ... |
IEEEtran | За чланке са IEEE форматом трансакције. |
proc | Класа за обрађивање базирана на класи article. |
report | За дуже извештаје који садрже неколико поглавља, за мале књиге, тезе ... |
book | За праве књиге. |
slides | За слајдове. Класа користи велика санс-сериф слова. |
memoir | За стабилно мењање резултата документа. Базирано на book класи, али са њом можете направити било коју врсту документа [1] |
letter | За писање писама. |
beamer | За састављање презентација (види LaTeX/Презентације). |
Стандардне класе документа које су део LaTeX-а су направљене да буду подједнаке, и зато имају доста заједничких опција. Друге класе могу имати различите опције (или ниједну исту). Обично, класе са треће стране долазе са неком документацијом која вас више упућује на ту класу. Најчешће опције за стандарне класе докумената су представљене у следећој табели:
10pt, 11pt, 12pt | Подешава величину подразумеваног фонта у документу. Ако ниједна опција није одређена, 10pt се узима као подразумевано. |
a4paper, letterpaper,... | Дефинише величину папира. Подразумевана величина је letterpaper; Међутим, многе Европске дистрибуције TeX-а сада долазе са подразумеваним a4paper, не letterpaper, и ово је такође случај свих дистрибуција pdfLaTeX. Осим ових, a5paper, b5paper, executivepaper, и legalpaper могу бити изабрани. |
fleqn | При приказу резултата, формуле се налазе лево, а не у средини. |
leqno | Постављање броја формуле са леве стране, а не са десне. |
titlepage, notitlepage | Одређује да ли нова страна треба да почне после наслова документа или не. Класа article подразумевано не почиње са новом страном, док report и book почињу. |
twocolumn | Говори LaTeX-у да представи документ у две колоне уместо у једну. |
twoside, oneside | Одређује да ли резултат треба да буде једностран или двостран. Класа article и report су једностране, док је класа book двострана по подразумеваним вредностима. Приметите да ова опција утиче само на стил документа. Опција twoside не говори штамачу да аутоматски штампа двострано. |
landscape | Мења лист документа у лежећи положај. |
openright, openany | Чини да поглавља почињу или само на десној страни или на следећој доступној. Ово не ради са класом article, пошто у њој не постоје поглавља. Класа report подразумевано почиње са поглављима на следећој доступној страни, а класа book почиње одма са десне стране. |
draft | чини да LaTeX указује на проблем прелома и поравнања речи са малим квадратом на десној страни маргине, тако да човек може брзо уочити проблем. Такође прати укључивање слика и приказује само оквир где би се оне нормално приказивале. |
На пример, ако желите report да буде у 12pt стилу на A4, али штампан са једне стране у draft моду, користићете:
\documentclass[12pt,a4paper,oneside,draft]{report}
|
Пакети
уредиДок будете писали ваш документ, вероватно ћете наићи на неке делове где обичан LaTeX не може да реши ваш проблем. Ако желите да укључите слике, обојени текст или изворни код из фајта у документ, требало би да проширите способности LaTeX-а. Да би проширили LaTeX користите пакете. Неки пакети долазе у основи LaTeX дистрибуције. Други се посебно додају. Модерне TeX дистрибуције долазе са великим бројем преинсталираних пакета. Наредба за употребу пакета је једноставна: \usepackage
:
\usepackage[опција]{пакет}
|
наредба, где је package назив пакета и options листа речи која циља на додатке у оквиру пакета. На пример, да користите пакет color, који допушта приказ боја, користићете:
\documentclass{report}
\usepackage{color}
\begin{document}
...
\end{document}
|
Можете убацити неколико опција приликом позива пакета, а сваку одвајате запетом.
\usepackage[опција1,опција2,опција3]{''име_пакета''}
|
Окружење документа
уредиЗаглавље
уредиНа почетку већине докумената, биће информација о самом документу, као што је наслов и датум, али такође и информације о ауторима, односно име, адреса, емаил, итд. Сви ови типови информација у LaTeX-у спадају у заглавље. Иако никад није експлицитно назначено (не постоји \topmatter
наредба) на коју ћете вероватно рачунати у изразима у LaTeX документацији.
Прост пример:
\documentclass[11pt,a4paper]{report}
\begin{document}
\title{Структура LaTeX документа}
\author{Перо Ложач}
\date{Децембар 2015}
\maketitle
\end{document}
|
Наредбе \title
, \author
, и \date
су само-објашњиве. Поставите наслов, име аутора, датум у витичастим заградама после релевантне наредбе. Наслов и аутор су условни (ако желите да LaTeX пише заглавље аутоматски); ако не ставите наредбу \date
, LaTeX користи данашњи датум као подразумевани. Увек завршавате заљлавље са наредбом \maketitle
, која говори LaTeX-у да је завршено и да може да подеси заглавље по задатим информацијама и класи (стилу) коју користите. Ако избаците \maketitle
, заглавље се никада неће приказати (осим ако не напишете своје).
Ево и мало сложенији пример:
\title{How to Structure a \LaTeX{} Document}
\author{Луне Шћекић\\
Школа рачунара,\\
Универзитет,\\
Књига,\\
Србија,\\
Број 1234\\
\texttt{studentgeneracije@latex.carobnjak}}
\date{\today}
\maketitle
|
Као што можете видети, можете користити наребе као аргументе \title
и друге. Дупла коса црта (\\
) представља LaTeX наредбу за прелом реда и увлачење.
Ако постоје два аутора, одвојите их са наредбом \and
:
\title{Наш забавни документ}
\author{Џана Доу \and Џони Доу}
\date{\today}
\maketitle
|
Употребом овог приступа, можете креирати само основни резултат чији је садржај тешко променити. Ако желите да наслов креирате слободно, погедајте део о креирању наслова.
Предговор
уредиИз разлога што већина истраживачких радова има предговор, постоји дефинисана наредба која говори LaTeX-у који део садржаја представља предговор. Он се јавља у логичком реду, после заглавља, а пре главног дела садржаја. Ова наредба је доступна за класе документа article и report, али не и book.
\documentclass{article}
\begin{document}
\begin{abstract}
Ваш предговор иде овде...
...
\end{abstract}
...
\end{document}
|
LaTeX ће подразумевано реч "Abstract" схватати као наслов вашег предговора. Ако желите да промените у нешто друго, нпр. ,,Извршни збир", додајте следећи код пре почетка окружења предговора
\renewcommand{\abstractname}{Извршни збир}
|
Наредбе секција
уредиНаредба за унос секција је прилично природна. Наравно, неке наредбе су приближно различите у зависности од класе документа. На пример, book има поглавље, али article нема. Следи пример неких наредби структура из simple.tex.
\chapter{Увод}
Текст овог поглавља...
\section{Структура}
Текст овог поглавља...
\subsection{Главна тема}
Текст овог подпоглавља...
\subsubsection{Информације о чланку}
Текст овог подпоглавља...
|
Приметите да не треба да означите делове бројевима; LaTeX ће то урадити за вас. Такође, за секције, не треба да користите \begin
и \end
наредбе да укажете на то који део припада задатом блоку.
LaTeX обезбеђује 7 нивоа дубине при дефинисању секција (види табелу испод). Свака секција у овој табели је субсекција оне изнад ње.
Command | Level | Comment |
---|---|---|
\part{''part''}
|
-1 | нема у letters |
\chapter{''chapter''}
|
0 | само у books и reports |
\section{''section''}
|
1 | нема у letters |
\subsection{''subsection''}
|
2 | нема у letters |
\subsubsection{''subsubsection''}
|
3 | нема у letters |
\paragraph{''paragraph''}
|
4 | нема у letters |
\subparagraph{''subparagraph''}
|
5 | нема у letters |
Сви наслови секција су аутоматски додати у садржај (ако сте одлучили да га убаците). Али ако ручно дизајнирате промене у вашем заљлављу, на пример веома дугачак наслов, или неки специјални прелом реда или играње са словима, то ће се појавити у садржају такође, што обично не желите. LaTeX дозвољава да задате додатне опције приказа наслова у садржају. Ове алтернативе иду у [квадратним заградама] пре витичастих заграда:
\section[Утицај на флуктуације запослених]{Анализа ефикасности ревидиране политике запошљавања особља у посебном седишту}
|
Набрајање секција
уредиНабрајање секција се изводи аутоматски у LaTeX-у, тако да се немате мука да их додате, а све што је потребно је да убаците наслов између витичастих заграда. Делови постају римски бројеви (Део I, Део II, итд.); поглавља и секције добиају децималне вредности као овај документ, а додаци (који су специјални случајеви поглавља, и деле исте структуру) се организују словима (A, B, C, итд.).
Можете променити дубину броја који се појављује тако што ћете укључити или искљичити селективно. Подразумевано је подешено на 2. Ако само желите делове, поглавља и секције набројане бројевима, без подсекција, можете променити вредност secnumdepth бројача употребом наредбе \setcounter
, задајући дубину нивоа који желите. На пример, ако желите да промените на "1":
\setcounter{secnumdepth}{1}
|
Повезани бројач tocdepth, којим одређујете дубину у садржају. Може се подесити на исти начин secnumdepth. На пример:
\setcounter{tocdepth}{3}
|
Да би добили секцију без броја испред наслова што не иде у садржај, додајте звездицу после имена наредбе, испред витичастих заграда:
\subsection*{Увод}
|
Све дивизионе наредбе од \part*
до \subparagraph*
имају ову "звездану" верзију која се може користити у специјални случајевима за ненумерисани наслов када би подешавање secnumdepth нормално то нумерисало.
Ако желите да ненумеришете секцију у садржају, користите наредбу \addcontentsline
као овде:
\section*{Увод}
\addcontentsline{toc}{section}{Увод}
|
Запазите да ако користите ПДФ адресирање, потребно је да додате фантомску секцију да би адреса водила на право место у документу. Наредба \phantomsection
дефинисана је у hyperref пакету, и нормално се имплементира, као што следи:
\phantomsection
\addcontentsline{toc}{section}{Увод}
\section*{Увод}
|
За поглавља би такође требало да очистите страну (то ће исправити нумерисање страна у садржају):
\cleardoublepage
\phantomsection
\addcontentsline{toc}{chapter}{Литература}
\bibliographystyle{unsrt}
\bibliography{my_bib_file}
|
Вредност где почиње нумерисање секција може бити подешено следећом наредбом:
\setcounter{section}{4}
|
Следећа секција после ове наредбе ће бити са бројем 5.
За више детаља о набрајању, види посвећено поглавље.
Стилови нумерисања секција
уредиВиди Нумерисање.
Обични параграфи
уредиПараграф долази после секције наслова. Једноставно откуцајте текст и оставите празнан ред између параграфа. Празан ред значи да ,,почне нови параграф овде": што не значи да ћете добити празан ред у резултату. За форматирање увучености параграфа и прореда између параграфа, погледајте Форматирање параграфа.
Садржај
уредиСви аутоматски нумерисани наслови се убацују у садржај аутоматски. Ви не морате да прикажете садржај, али ако желите, само додајте наредбу \tableofcontents
на месту на коме желите да се штампа (Обично после преговора или закључка).
Записи за садржај се евидентирају сваки пут када се обради документ, и репродукују следећи пут када се обради, тако да морате да поново покренете LaTeX још једном како би били сигурни да су сви бројеви страна правилно израчунати. Већ смо видели како се користи опциони аргумент за наредбе секција да додате текст у садржај који је мало другачији од оног штампаног у телу документа. Такође је могуће додати додатне редове у садржају, да се укључе додатни или ненумерисани наслови.
Наредба \listoffigures
и \listoftables
ради на исти начин као и \tableofcontents
да аутоматски излиста све ваше табеле и фигуре. Ако их користите, оне обично иду после \tableofcontents
наредбе. Наредба \tableofcontents
обично приказује само нумерисане наслове, и само до нивоа дефинисаног са tocdepth бројачем, али ако можете да додате додатне делове са наредбом \addcontentsline
. На пример, ако користите ненумерисане наслове за идрешене делове као што је су рецимо Литература или Предговор, можете их приказати на следећи начин:
\subsection*{Предговор}
\addcontentsline{toc}{subsection}{Предговор}
|
Ово ће форматирати ненумерисани "Предговор" у стилу "субсекције". Можете користити исти механизам да додате делове за листу слика или листу табела са мењањем lof или lot са toc. Ако користите пакет hyperref и линкови не упућују на исправно поглавље, наредба \phantomsection
у комбинацији са \clearpage
или \cleardoublepage
се може искористити (види такође Ознаке и референцирање):
\cleardoublepage
\phantomsection
\addcontentsline{toc}{chapter}{Листа слика}
\listoffigures
|
Да би променили име садржају, треба да налепите следећу команду \renewcommand{\contentsname}{<Ново име садржаја>}
у преамбули вашег документа. Да би променили име за листу слика или листу табела можете само да замените \contentsname
са \listfigurename
за листу слика и \listtablename
за листу табела.
Дубина
уредиОбичан садржај ће приказати наслове до трећег нивоа и изнад. Да би променили колико дубоко ће ваш садржај приказивати наслове аутоматски, поставите следећу команду у вашој преамбули:
\setcounter{tocdepth}{4}
|
Ово ће учинити да ваш садржај укључује све до параграфа. Нивои су дефинисани горе, на овој страни. Имајте на уму да ово решење не дозвољава динамичку промену дубине.
Можете променити дубину одређеног типа секције, што може бити корисно за ПДФ везе (ако користите пакет hyperref ) :
\makeatletter
\renewcommand*{\toclevel@chapter}{-1} % Поставите дубину поглавља на истом нивоу као и \part.
\chapter{Закључак}
\renewcommand*{\toclevel@chapter}{0} % Поставите дубину поглавља назад на њену подразумевану вредност.
\makeatother
|
У циљу даљег подешавања приказа или нумерације садржаја, на пример, ако би требало да додатак буде мање детаљан, можете употребити tocvsec2 пакет (CTAN, doc).
Структура књиге
уредиОбична LaTeX book класа прати исти распоред описан изнад са истим додацима. Нормално ће слика бити двострана, нпр. лева и десна маргина ће се мењати у зависности од броја стране. Поред тога тренутно поглавље и секције ће се штампати у заглављу.
Ако не користите поглавља, она је једва корисно да користите book класу.
Додатно, класа пружа макрое да промените форматирање неким местима у документу. Пружамо вам неке савете о томе како да их користите правилно. [1]
\begin{document}
\frontmatter
\maketitle
% Уводно поглавље
\chapter{Предговор}
% ...
\mainmatter
\chapter{Прво поглавље}
% ...
\appendix
\chapter{Први додатак}
\backmatter
\chapter{Закључак}
|
- Предња материја неће бити нумерисана. Број страна ће бити штампан римским бројевима. Предња материја није предвиђена да има делове, пошто ће они бити бројеви
0.n
јер не постоји нумерисање поглавља. Погледајте поглавље Нумерисање за исправку. - Поглавље главне материје ради по обичају. Наредба ресетује нумерисање страна. Број страна ће се приказати арапским бројевима.
- Марко
\appendix
се може употребити да укаже на то да следеће секције или поглавља буду нумерисане као додаци. Додаци се могу користити и за класу article такође:
\appendix
\section{Први додатак}
|
Само користите једном \appendix
марко за све додатке.
- Задња материја се понаша као и предња. Има исти проблем са нумерисањем секција.
Као опште правило, требало би да избегнете мешање реда наредби. Пошто су све наредбе опционе, можете размотрити да користите само неколико њих.
Приметите да се посебни делови, као што је садржај сматрају као ненумерисано поглавље.
Ред страна
уредиОво је стандарни ред страна за књиге.
- Предња материја
- Полу-наслов
- Празна страна
- Наслов
- Информације (издавач, година, итд.)
- Посвећено, ако јесте, у супротном празна страна
- Садржај
- Списак слика (може бити на крају такође)
- Уводно поглавље
- Главна материја
- Главна темпа
- Додатак
- Нека подређена поглавља
- Задња материја
- Литература
- Речник / Индекс
Посебне стране
уредиСвеобухватни радови често имају посебне странице на крају, као што су индекси, речници и литературу. Пошто је ово прилично комплексна тема, више детаља можете наћи у наменски делу Посебне стране .
Литература
уредиСваки добар истраживачи рад ће имати пуну листи референци. LaTeX има два начина за убацивање референци унутар документа:
- можете их убацити у самом документу. Једноставније је, али вам може узети више времена ако пишете неколико радова о сличним темама, па изнова и изнова морате цитирати исту књигу.
- можете их чувати у екстерном BibTeX фајлу , а онда их повезати уз помоћ наредби са вашим документом и употребити Bibtex стил за дефинисање њиховог појављивања. На овај начин можете направити малу базу референци коју можете користити и једноставно повезивати, пуштајући да LaTeX ради за вас.
Да научите како да додате литературу у документ, погледајте део везан за менаџмент литературе.
Референце
уреди