Журнал LinuxFormat - перейти на главную

LXF92:LaTeX

Материал из Linuxformat
(Различия между версиями)
Перейти к: навигация, поиск
(Новая: Категория:Учебники : '''Компьютерные TeXнологии''' Учимся использовать культовую систему вёрстки {{Ци...)
 
Строка 6: Строка 6:
 
==Справочно-поисковый аппарат издания==
 
==Справочно-поисковый аппарат издания==
  
: '''ЧАСТЬ 9''' TeX создавался для верстки книг и сегодня '''Евгений Балдин''' рассмотрит всё то, без чего немыслимо серьезное  произведение – оглавление, предметный указатель, сноски и т.д..
+
: '''ЧАСТЬ 9''' ''TeX'' создавался для верстки книг и сегодня '''Евгений Балдин''' рассмотрит всё то, без чего немыслимо серьезное  произведение – оглавление, предметный указатель, сноски и т.д..
 +
 
 +
::::''На этом же этаже располагалось книгохранилище. По поводу''
 +
::::''его размеров рассказывали, что в глубине, в полукилометре''
 +
::::''от входа, идёт вдоль стеллажей неплохое шоссе, оснащённое''
 +
::::''верстовые столбами.''
 +
:::::::''«Понедельник начинается в субботу»''
 +
:::::::::''Аркадий и Борис Стругацкие.''
 +
 
 +
Книги делятся на те, что читаются один раз и те, что многократно перечитываются. Наличие информации о структуре книги
 +
повышает ценность любого текста. Отсутствие этой информации – прямой намёк, что после прочтения произведение следует забыть
 +
и выбросить.
 +
 
 +
Справочно-поисковый аппарат издания позволяет читателю облегчить и ускорить поиск имеющихся в книге объектов. В качестве элементов, из которых складывается справочного-поисковая система, можно
 +
упомянуть рубрикацию, оглавление, колонтитулы, ссылки, подстрочные примечания, алфавитный указатель и библиографию.
 +
 
 +
Этот аппарат существует исключительно для читателя, и он достаточно трудоёмок при создании, но сложности не должны пугать истинных энтузиастов в деле создания текстов, так как их преодоление значительно повышают ценность серьёзного произведения.
 +
 
 +
===Рубрикация и оглавление===
 +
 
 +
:::''Нужны ли книге оглавление или содержание? Любой скажет: что за вопрос, конечно, нужны. И не только в книге научной и  деловой. В любой.''
 +
''А.Э. Мильчин. «Культура издания»''
 +
 
 +
Для оформления разделов в основном используются команды секционирования: '''\section, \subsection, \subsubsection, \paragraph ''' и '''\subparagraph.'''
 +
 
 +
Команды перечислены в порядке убывания значимости при рубрикации. Обычно любой сколько-нибудь сложный текст следует начинать
 +
с планирования структуры, то есть создать шаблон, примерно следующего вида:
 +
 
 +
<code>
 +
\documentclass[a4paper,12pt]{ncc}
 +
\usepackage[warn]{mathtext}
 +
\usepackage[T2A]{fontenc}
 +
\usepackage[koi8-r]{inputenc}
 +
\usepackage[english,russian]{babel}
 +
\usepackage{indentfirst}
 +
\title{Пример рубрикации}
 +
\author{А.\,В.~Тор}
 +
\begin{document}
 +
\maketitle{}
 +
\tableofcontents{}
 +
\section{Раздел}
 +
\label{sec:section}
 +
Основной элемент рубрикации.
 +
\subsection{Подраздел}
 +
\label{sec:subsection}
 +
Вспомогательный элемент рубрикации.
 +
\subsubsection[Подподраздел]{Что-то более мелкое чем подраздел}
 +
\label{sec:subsubsection}
 +
Вспомогательный для вспомогательного. В содержании выводится
 +
краткая версия заголовка.
 +
\paragraph{Параграф}
 +
\label{sec:paragraph}
 +
Важный параграф.
 +
\subparagraph{Подпараграф}
 +
\label{sec:subparagraph}
 +
Параграф чуть менее важный.
 +
\section*{Раздел, отсутствующий в содержании}
 +
Всяко бывает. Иногда и такое нужно.
 +
\section*{Заключение}
 +
\label{sec:afterwords}
 +
\addcontentsline{toc}{section}{Заключение}
 +
Заключение, в отличие от, скажем, раздела~\ref{sec:subsection}
 +
на странице~\pageref{sec:subsection}, нумеровать не надо, но в
 +
содержании отразить необходимо.
 +
\appendix
 +
\section{Приложение}
 +
\label{appendix}
 +
\end{document}
 +
</code>
 +
 
 +
[[Изображение:LXF92_latex01.jpg|Пример рубрикации]]
 +
 
 +
'''Пример рубрикации и оглавления.'''
 +
 
 +
Результат компиляции кода представлен на иллюстрации. Кроме
 +
самих заголовков разделов, созданных с помощью команд секционирования, в начале документа создаётся оглавление. За это отвечает команда '''\tableofcontents'''. При каждой компиляции информация о разделах собирается в файле с тем же именем, что и у tex-файла, но с расширением '''toc'''. При следующей компиляции обновлённая информация
 +
о разделах используется для создания оглавления.
 +
 
 +
Уровень, до которого информация отображается в оглавлении, можно поменять, изменив значение переменной '''tocdepth''', например, так:
 +
 
 +
\setcounter{tocdepth}{2}
 +
 
 +
В этом случае будет показана информация о разделах вплоть до
 +
второго уровня. Раздел типа '''\section''' соответствует первому уровню
 +
секционирования, '''\subsection''' – второму, и так далее.
 +
 
 +
Кроме оглавления, можно вывести список иллюстраций '''\listoffigures'''
 +
и таблиц '''\listoftables'''. Информация об иллюстрациях и таблицах автоматически собирается в файлах с расширениями '''.lof''' и '''.lot'''.
 +
 
 +
Для добавления какой-то информации в оглавление в обход
 +
команд секционирования можно воспользоваться командой
 +
 
 +
\addcontentsline{toc}{«уровень раздела»}{«строка в оглавлении»}
 +
 
 +
У этой команды три аргумента. Первый аргумент соответствует
 +
расширению файла ('''.toc, .lof''' или '''.lot'''), в который добавляется «строка
 +
в оглавлении». Уровень раздела определяется именами команд секционирования, то есть '''section, subsection''' и так далее. Команды ''LaTeX'' при передаче в файлы списков следует защищать командой '''\protect''', дабы
 +
избежать проблемы с «хрупкими» инструкциями.
 +
 
 +
Команда '''\appendix''' отделяет приложение от основного текста. После
 +
её вызова правила нумерация разделов изменяется. '''\appendix''' тоже
 +
является командой секционирования.
 +
 
 +
===Ссылки и примечания===
 +
 
 +
Иногда не хочется разбивать канву повествования, и в то же время
 +
необходимо как-то вставить пояснение. Это можно сделать, просто
 +
сославшись на какой-то другой фрагмент текста с помощью ссылки
 +
или вставив пояснение на этой же странице с помощью подстрочного
 +
примечания.
 +
 
 +
===Механизм ссылок===
 +
 
 +
В примере, демонстрирующем работу команд секционирования, вслед
 +
за каждой такой командой ставилась метка с помощью инструкции
 +
'''\label'''. Метка представляет собой последовательность ASCII-символов.
 +
Префикс '''sec:''' автоматически добавляется AUCTeX во время вставки
 +
метки при редактировании tex-файла в ''Emacs''. Этот префикс существует исключительно для удобства автора, так что можно обойтись без
 +
него. При компиляции документа информация о имеющихся метках
 +
добавляется в файл с расширением '''.aux'''. Для того, чтобы извлечь эту
 +
информацию, то есть номер раздела (команда '''\ref''') или номер страницы ('''\pageref'''), необходимо пропустить текст через ''LaTeX'' ещё раз.
 +
 
 +
Для того, чтобы можно было сослаться на внешний документ, следует воспользоваться пакетом ''xr''. В этом случае в преамбуле необходимо добавить примерно такие инструкции:
 +
 
 +
\usepackage{xr}
 +
\externaldocument[EXT-]{externaldoc}
 +
 
 +
Это позволяет получить доступ к меткам файла '''externaldoc.tex'''.
 +
Обращение к меткам, как и обычно, осуществляется помощью команд
 +
'''\ref/\pageref''', только перед именем метки добавляется префикс '''EXT-'''.
 +
Можно обойтись и без префикса, так как этот параметр является опциональным, но в этом случае повышается вероятность конфликта из-за существования одинаковых меток.
 +
 
 +
Ссылаться можно не только на разделы. Метки внутри нумерованных окружений, типа '''equation''' (выключенные математические формулы1) или '''theorem''' (теоремы), принимают их номер. Это так же касается
 +
рисунков (окружение '''figure''') и таблиц (окружение '''tabular'''). В этом случае '''\label''' должна следовать сразу за командой '''\caption''', формирующей
 +
подпись к плавающему объекту.
 +
 
 +
Общего рецепта создания ссылок на электронные ресурсы нет.
 +
Проще всего использовать команду '''\url''' из одноимённого пакета:
 +
 
 +
[[Изображение:LXF92_latex02.png|LXF92_latex02.png]]
 +
 
 +
В адресной строке должны отсутствовать символы '''%, #, ^,''' и она не
 +
должна заканчиваться символом '''\'''. Если есть желание уйти и от этих
 +
ограничений, то аналогично команде '''\verb''' инструкцию можно использовать и так: <code>\url!http://www.адрес.ru!</code>.
 +
 
 +
В плане создания и управления гиперссылками также интересен
 +
пакет ''hyperref'', который предоставляет схожую функциональность и
 +
позволяет создавать гиперссылки в pdf-документах, но это уже совсем
 +
другая история:
 +
 
 +
%загрузка пакет hyperref
 +
\usepackage[unicode=true]{hyperref}
 +
 
 +
===Подстрочные примечания===
 +
 
 +
Подстрочное примечание формируется с помощью команды '''\footnote'''.
 +
Правила оформления примечаний прописываются в определении
 +
класса, и без особых на то причин менять их не стоит. Примечание,
 +
если позволяет место, печатается на той же странице, где помещена
 +
ссылка, и отделяется от текста разделительной линией.
 +
 
 +
[[Изображение:LXF92_latex03.png|LXF92_latex03.png]]
 +
 
 +
Примечание можно добавлять и внутри окружения '''minipage''', но тогда оно печатается внутри окружения:
 +
 
 +
[[Изображение:LXF92_latex04.png|LXF92_latex04.png]]
 +
 
 +
Необязательный параметр '''\footnote''' позволяет присвоить примеча
 +
нию значение по выбору пользователя.
 +
 
 +
Для того чтобы можно было сделать сноску внутри заголовка раз
 +
дела, необходимо защитить инструкцию '''\footnote''' командой '''\protect'''
 +
команда создания подстрочного примечания является «хрупкой»:
 +
 
 +
\section{Заголовок\protect\footnote{Подстрочное примечание.}}
 +
 
 +
Иногда, в сложных ситуациях, например, когда требуется сделать
 +
подстрочное примечание внутри бокса, для формирования сноски
 +
требуется прибегнуть к независимым командам создания ссылки и
 +
создания примечания:
 +
 
 +
\footnotemark[num]
 +
\footnotetext[num]{«сноска»}
 +
 
 +
Необязательный параметр '''num''', как и в случае '''\footnote''', позволяет
 +
формировать свою нумерацию. Для хранения текущего номера ссылки
 +
используется счётчик '''footnote'''.
 +
 
 +
===Колонтитулы===
 +
 
 +
Правила формирования колонтитулов целиком зависит от выбранного
 +
класса документа. Если же хочется изменить значения по умолчанию
 +
то проще всего выбрать стиль страницы '''myheadings''' и сформировать
 +
колонтитулы:
 +
 
 +
\pagestyle{myheadings}
 +
\markboth{«левый колонтитул»}{«правый колонтитул»}
 +
 
 +
Если печать односторонняя, то достаточно воспользоваться коман
 +
дой '''\markright''', которая имеет только один аргумент.
 +
 
 +
Для полного управления содержимым колонтитулов лучше всего
 +
подходит пакет '''fancyhdr'''. Подробно об этом пакеты было рассказано
 +
ранее в статье «Вёрстка», раздел «Стили страницы» ([[LXF89:LaTeX|LXF89]]).
 +
 
 +
===Библиография===
 +
 
 +
:::''Книги создаются не в безвоздушном или бескнижном пространстве.''
 +
 
 +
''А.Э. Мильчин. «Культура издания»''
 +
 
 +
Хорошая книга представляет из себя ценность, но даже самая лучшая
 +
книга не в состоянии охватить абсолютно все аспекты рассматривае
 +
мой в ней темы. Книги существуют в книжном пространстве. Всегда
 +
можно найти что-то, на чём книга основывалась; что-то, что развивает
 +
основную идею; и что-то, что позволяет взглянуть на главную тему с
 +
другой стороны. Список литературы только украшает книгу.
 +
 
 +
Для ссылок на литературу используется команда
 +
 
 +
\cite[«комментарий»]{«список меток»}
 +
 
 +
Метки либо формируются автором самостоятельно внутри окруже
 +
ния '''thebibliography''':
 +
 
 +
Полезно почитать книгу \cite[Роженко]{rozenko-2005}.
 +
\begin{thebibliography}{9}
 +
\bibitem{rozenko-2005}Роженко А.И. Искусство вёрстки в
 +
\LaTeX’е. \newblock --- Новосибирск: Изд. ИВМиМГ СО~РАН,
 +
2005. 398~с.
 +
\end{thebibliography}
 +
 
 +
либо используется механизм ''BibTeX''. Команда '''\newblock''' позволяет
 +
логически разделить разные по смыслу элементы. В качестве обязательного аргумента окружения '''thebibliography''' требуется передать
 +
текст, соответствующий самой широкой метке, для выравнивания. Тоесть, если список литературы содержит меньше 10 записей, то достаточно передать однобуквенную фразу, например, «9», а в случае двузначного числа книг в списке уже потребуется «99», и так далее.
 +
 
 +
[[Изображение:LXF92_latex05.png|LXF92_latex05.png]]
 +
 
 +
'''Пример библиографической ссылки.'''
 +
 
 +
Как и в случае с перекрёстными ссылками, информация о списке
 +
литературы заносится в файл с расширением '''aux''', то есть для правильного его отображения необходимо два прохода ''LaTeX''.
 +
 
 +
Для того чтобы можно было использовать кириллицу в метках для
 +
цитирования литературы, то есть иметь возможность написать что-то
 +
вроде:
 +
 
 +
\cite{Котельников-2004}
 +
  …
 +
\bibitem{Котельников-2004}
 +
 
 +
Следует воспользоваться пакетом '''citehack''':
 +
 
 +
\usepackage{citehack}
 +
 
 +
Из названия пакета очевидно, что это «хак» со всеми вытекающими
 +
последствиями и что им не следует злоупотреблять.
 +
 
 +
===BibTeX===
 +
 
 +
[[Изображение:LXF92_latex06.jpg|Конвейер ''LaTeX+BibTeX'']]
 +
 
 +
'''Конвейер ''LaTeX+BibTeX''. tex – ''LaTeX''-исходник, bib – библиографическая база, bst – стилевой файл для библиографии, blg – log-файл ''BibTeX'', bbl – отсортированный список литературы, aux – информация о ссылках.'''
 +
 
 +
    Список литературы можно оформлять вручную. Есть какой-никакой
 +
стандарт, например, тот же ГОСТ 7.80-00 или ГОСТ 7.1-84 (ГОСТ на оформление библиографического указателя, принятый в 2000 году. Правила оформления могут нравиться или не нравиться, но это всё-таки хоть какой-то стандарт). Его можно
 +
просто взять и следовать подробной инструкции. Но далеко не все
 +
издательства подчиняются этому стандарту, в котором, например, нет
 +
информации о том, как нужно оформлять www-ссылки. Да и вообще,
 +
список сопутствующей литературы – это нечто большее, чем просто
 +
довесок к статье или книге: это вполне самостоятельный фрагмент
 +
информации, который очень полезно уметь представлять по-разному.
 +
 
 +
Для решения этой проблемы Орен Поташник разработал программу ''BibTeX'', которая сама формирует окружение '''thebibliography''', получая
 +
информацию из текстовой библиографической базы. Структура библиографической базы ''BibTeX'' является довольно распространённым
 +
форматом, который использует в том числе и Google Scholar (http://scholar.google.com/), не говоря уж о том, что основной архив электронных препринтов http://xxx.lanl.gov предоставляет библиографическую
 +
информацию исключительно в виде записей ''BibTeX''.
 +
 
 +
Из программного обеспечения, позволяющего работать с ''BibTeX'',
 +
следует упомянуть встроенный в ''Emacs'' пакет ''RefTeX'' и ''JabRef'' http://jabref.sourceforge.net/. Тот, кто не освоил ''Emacs'', и кому не нравится
 +
Java, может поискать программные пакеты ''gBib'' и ''KBib'' для Gnome и
 +
KDE соответственно. Простой конвертер ''BibTeX2html'' позволяет получить список литературы в html-виде. Естественно, и простое редактирование текстового файла вручную также никто не отменял.
 +
 
 +
Как правило, библиографическая база в формате ''BibTeX'' хранится в файле с расширением '''.bib'''. Перед тем, как с помощью команды '''\bibliography''' подключить базу к ''LaTeX''-исходнику, нужно выбрать стиль
 +
сортировки библиографии:
 +
 
 +
\bibliographystyle{«стиль»}
 +
\bibliography{«имя bib-файла»}
 +
 
 +
В ''LaTeX'' есть четыре стандартных стиля для формирования списка
 +
литературы:
 +
 
 +
* '''plain''' – открытый стиль. Библиографические записи помечаются
 +
порядковыми номерами и сортируются в алфавитном порядке. Чтобы
 +
правильно отсортировать библиографию на русском языке, необходимо вместо ''BibTeX'' воспользоваться командой ''BibTeX8'', указав с помощью ключа '''--csfile''' соответствующее правило сортировки (В стандартной поставке ''LaTeX'' есть правило для сортировки для кодовой страницы '''cp866 cp866rus.csf'''. На основе этого файла можно создать правило для другой кодовой страницы.)
 +
 
 +
* '''unsrt''' – несортирующий стиль. В отличии от '''plain''', порядок представления списка литературы определяется порядком цитирования библиографии в тексте.
 +
 
 +
* '''alpha''' – алфавитный стиль. Вместо нумерации библиографии используются имена меток. Литература сортируется по меткам.
 +
 
 +
* '''abbrv''' – аббревиатурный стиль. Вместо полных имён авторов, названий месяцев и журналов печатаются сокращения. Сортировка и нумерация соответствует стилю '''plain'''.
 +
 
 +
'''Максим Поляков''' разработал стили для ''BibTeX'', соответствующие
 +
ГОСТ 7.80-00 и GOST 7.1-84: '''gost780s/gost71s''', аналогичные '''plain''' и
 +
'''gost780u/gost71u''', аналогичные '''unsrt'''. Описание этих стилей представлено в стандартной документации в виде файлов '''gost780.pdf''' и '''gost71.pdf'''. Многие журналы, принимающие публикации в ''LaTeX'', имеют
 +
свои собственные ''BibTeX''-стили. В стандартной поставке TeXLive 2007
 +
идёт более 200 различных библиографических стилей – есть из чего
 +
выбирать.

Версия 07:58, 20 ноября 2008

Компьютерные TeXнологии Учимся использовать культовую систему вёрстки


Содержание

Справочно-поисковый аппарат издания

ЧАСТЬ 9 TeX создавался для верстки книг и сегодня Евгений Балдин рассмотрит всё то, без чего немыслимо серьезное произведение – оглавление, предметный указатель, сноски и т.д..
На этом же этаже располагалось книгохранилище. По поводу
его размеров рассказывали, что в глубине, в полукилометре
от входа, идёт вдоль стеллажей неплохое шоссе, оснащённое
верстовые столбами.
«Понедельник начинается в субботу»
Аркадий и Борис Стругацкие.

Книги делятся на те, что читаются один раз и те, что многократно перечитываются. Наличие информации о структуре книги повышает ценность любого текста. Отсутствие этой информации – прямой намёк, что после прочтения произведение следует забыть и выбросить.

Справочно-поисковый аппарат издания позволяет читателю облегчить и ускорить поиск имеющихся в книге объектов. В качестве элементов, из которых складывается справочного-поисковая система, можно упомянуть рубрикацию, оглавление, колонтитулы, ссылки, подстрочные примечания, алфавитный указатель и библиографию.

Этот аппарат существует исключительно для читателя, и он достаточно трудоёмок при создании, но сложности не должны пугать истинных энтузиастов в деле создания текстов, так как их преодоление значительно повышают ценность серьёзного произведения.

Рубрикация и оглавление

Нужны ли книге оглавление или содержание? Любой скажет: что за вопрос, конечно, нужны. И не только в книге научной и деловой. В любой.

А.Э. Мильчин. «Культура издания»

Для оформления разделов в основном используются команды секционирования: \section, \subsection, \subsubsection, \paragraph и \subparagraph.

Команды перечислены в порядке убывания значимости при рубрикации. Обычно любой сколько-нибудь сложный текст следует начинать с планирования структуры, то есть создать шаблон, примерно следующего вида:

\documentclass[a4paper,12pt]{ncc}
\usepackage[warn]{mathtext}
\usepackage[T2A]{fontenc}
\usepackage[koi8-r]{inputenc}
\usepackage[english,russian]{babel}
\usepackage{indentfirst}
\title{Пример рубрикации}
\author{А.\,В.~Тор}
\begin{document}
\maketitle{}
\tableofcontents{}
\section{Раздел}
\label{sec:section}
Основной элемент рубрикации.
\subsection{Подраздел}
\label{sec:subsection}
Вспомогательный элемент рубрикации.
\subsubsection[Подподраздел]{Что-то более мелкое чем подраздел}
\label{sec:subsubsection}
Вспомогательный для вспомогательного. В содержании выводится
краткая версия заголовка.
\paragraph{Параграф}
\label{sec:paragraph}
Важный параграф.
\subparagraph{Подпараграф}
\label{sec:subparagraph}
Параграф чуть менее важный.
\section*{Раздел, отсутствующий в содержании}
Всяко бывает. Иногда и такое нужно.
\section*{Заключение}
\label{sec:afterwords}
\addcontentsline{toc}{section}{Заключение}
Заключение, в отличие от, скажем, раздела~\ref{sec:subsection}
на странице~\pageref{sec:subsection}, нумеровать не надо, но в
содержании отразить необходимо.
\appendix
\section{Приложение}
\label{appendix}
\end{document}

Пример рубрикации

Пример рубрикации и оглавления.

Результат компиляции кода представлен на иллюстрации. Кроме самих заголовков разделов, созданных с помощью команд секционирования, в начале документа создаётся оглавление. За это отвечает команда \tableofcontents. При каждой компиляции информация о разделах собирается в файле с тем же именем, что и у tex-файла, но с расширением toc. При следующей компиляции обновлённая информация о разделах используется для создания оглавления.

Уровень, до которого информация отображается в оглавлении, можно поменять, изменив значение переменной tocdepth, например, так:

\setcounter{tocdepth}{2}

В этом случае будет показана информация о разделах вплоть до второго уровня. Раздел типа \section соответствует первому уровню секционирования, \subsection – второму, и так далее.

Кроме оглавления, можно вывести список иллюстраций \listoffigures и таблиц \listoftables. Информация об иллюстрациях и таблицах автоматически собирается в файлах с расширениями .lof и .lot.

Для добавления какой-то информации в оглавление в обход команд секционирования можно воспользоваться командой

\addcontentsline{toc}{«уровень раздела»}{«строка в оглавлении»}

У этой команды три аргумента. Первый аргумент соответствует расширению файла (.toc, .lof или .lot), в который добавляется «строка в оглавлении». Уровень раздела определяется именами команд секционирования, то есть section, subsection и так далее. Команды LaTeX при передаче в файлы списков следует защищать командой \protect, дабы избежать проблемы с «хрупкими» инструкциями.

Команда \appendix отделяет приложение от основного текста. После её вызова правила нумерация разделов изменяется. \appendix тоже является командой секционирования.

Ссылки и примечания

Иногда не хочется разбивать канву повествования, и в то же время необходимо как-то вставить пояснение. Это можно сделать, просто сославшись на какой-то другой фрагмент текста с помощью ссылки или вставив пояснение на этой же странице с помощью подстрочного примечания.

Механизм ссылок

В примере, демонстрирующем работу команд секционирования, вслед за каждой такой командой ставилась метка с помощью инструкции \label. Метка представляет собой последовательность ASCII-символов. Префикс sec: автоматически добавляется AUCTeX во время вставки метки при редактировании tex-файла в Emacs. Этот префикс существует исключительно для удобства автора, так что можно обойтись без него. При компиляции документа информация о имеющихся метках добавляется в файл с расширением .aux. Для того, чтобы извлечь эту информацию, то есть номер раздела (команда \ref) или номер страницы (\pageref), необходимо пропустить текст через LaTeX ещё раз.

Для того, чтобы можно было сослаться на внешний документ, следует воспользоваться пакетом xr. В этом случае в преамбуле необходимо добавить примерно такие инструкции:

\usepackage{xr}
\externaldocument[EXT-]{externaldoc}

Это позволяет получить доступ к меткам файла externaldoc.tex. Обращение к меткам, как и обычно, осуществляется помощью команд \ref/\pageref, только перед именем метки добавляется префикс EXT-. Можно обойтись и без префикса, так как этот параметр является опциональным, но в этом случае повышается вероятность конфликта из-за существования одинаковых меток.

Ссылаться можно не только на разделы. Метки внутри нумерованных окружений, типа equation (выключенные математические формулы1) или theorem (теоремы), принимают их номер. Это так же касается рисунков (окружение figure) и таблиц (окружение tabular). В этом случае \label должна следовать сразу за командой \caption, формирующей подпись к плавающему объекту.

Общего рецепта создания ссылок на электронные ресурсы нет. Проще всего использовать команду \url из одноимённого пакета:

LXF92_latex02.png

В адресной строке должны отсутствовать символы %, #, ^, и она не должна заканчиваться символом \. Если есть желание уйти и от этих ограничений, то аналогично команде \verb инструкцию можно использовать и так: \url!http://www.адрес.ru!.

В плане создания и управления гиперссылками также интересен пакет hyperref, который предоставляет схожую функциональность и позволяет создавать гиперссылки в pdf-документах, но это уже совсем другая история:

%загрузка пакет hyperref
\usepackage[unicode=true]{hyperref}

Подстрочные примечания

Подстрочное примечание формируется с помощью команды \footnote. Правила оформления примечаний прописываются в определении класса, и без особых на то причин менять их не стоит. Примечание, если позволяет место, печатается на той же странице, где помещена ссылка, и отделяется от текста разделительной линией.

LXF92_latex03.png

Примечание можно добавлять и внутри окружения minipage, но тогда оно печатается внутри окружения:

LXF92_latex04.png

Необязательный параметр \footnote позволяет присвоить примеча нию значение по выбору пользователя.

Для того чтобы можно было сделать сноску внутри заголовка раз дела, необходимо защитить инструкцию \footnote командой \protect команда создания подстрочного примечания является «хрупкой»:

\section{Заголовок\protect\footnote{Подстрочное примечание.}}

Иногда, в сложных ситуациях, например, когда требуется сделать подстрочное примечание внутри бокса, для формирования сноски требуется прибегнуть к независимым командам создания ссылки и создания примечания:

\footnotemark[num]
\footnotetext[num]{«сноска»}

Необязательный параметр num, как и в случае \footnote, позволяет формировать свою нумерацию. Для хранения текущего номера ссылки используется счётчик footnote.

Колонтитулы

Правила формирования колонтитулов целиком зависит от выбранного класса документа. Если же хочется изменить значения по умолчанию то проще всего выбрать стиль страницы myheadings и сформировать колонтитулы:

\pagestyle{myheadings}
\markboth{«левый колонтитул»}{«правый колонтитул»}

Если печать односторонняя, то достаточно воспользоваться коман дой \markright, которая имеет только один аргумент.

Для полного управления содержимым колонтитулов лучше всего подходит пакет fancyhdr. Подробно об этом пакеты было рассказано ранее в статье «Вёрстка», раздел «Стили страницы» (LXF89).

Библиография

Книги создаются не в безвоздушном или бескнижном пространстве.

А.Э. Мильчин. «Культура издания»

Хорошая книга представляет из себя ценность, но даже самая лучшая книга не в состоянии охватить абсолютно все аспекты рассматривае мой в ней темы. Книги существуют в книжном пространстве. Всегда можно найти что-то, на чём книга основывалась; что-то, что развивает основную идею; и что-то, что позволяет взглянуть на главную тему с другой стороны. Список литературы только украшает книгу.

Для ссылок на литературу используется команда

\cite[«комментарий»]{«список меток»}

Метки либо формируются автором самостоятельно внутри окруже ния thebibliography:

Полезно почитать книгу \cite[Роженко]{rozenko-2005}.
\begin{thebibliography}{9}
\bibitem{rozenko-2005}Роженко А.И. Искусство вёрстки в
\LaTeX’е. \newblock --- Новосибирск: Изд. ИВМиМГ СО~РАН,
2005. 398~с.
\end{thebibliography}

либо используется механизм BibTeX. Команда \newblock позволяет логически разделить разные по смыслу элементы. В качестве обязательного аргумента окружения thebibliography требуется передать текст, соответствующий самой широкой метке, для выравнивания. Тоесть, если список литературы содержит меньше 10 записей, то достаточно передать однобуквенную фразу, например, «9», а в случае двузначного числа книг в списке уже потребуется «99», и так далее.

LXF92_latex05.png

Пример библиографической ссылки.

Как и в случае с перекрёстными ссылками, информация о списке литературы заносится в файл с расширением aux, то есть для правильного его отображения необходимо два прохода LaTeX.

Для того чтобы можно было использовать кириллицу в метках для цитирования литературы, то есть иметь возможность написать что-то вроде:

\cite{Котельников-2004}
 …
\bibitem{Котельников-2004}

Следует воспользоваться пакетом citehack:

\usepackage{citehack}

Из названия пакета очевидно, что это «хак» со всеми вытекающими последствиями и что им не следует злоупотреблять.

BibTeX

Конвейер LaTeX+BibTeX

Конвейер LaTeX+BibTeX. tex – LaTeX-исходник, bib – библиографическая база, bst – стилевой файл для библиографии, blg – log-файл BibTeX, bbl – отсортированный список литературы, aux – информация о ссылках.

   Список литературы можно оформлять вручную. Есть какой-никакой

стандарт, например, тот же ГОСТ 7.80-00 или ГОСТ 7.1-84 (ГОСТ на оформление библиографического указателя, принятый в 2000 году. Правила оформления могут нравиться или не нравиться, но это всё-таки хоть какой-то стандарт). Его можно просто взять и следовать подробной инструкции. Но далеко не все издательства подчиняются этому стандарту, в котором, например, нет информации о том, как нужно оформлять www-ссылки. Да и вообще, список сопутствующей литературы – это нечто большее, чем просто довесок к статье или книге: это вполне самостоятельный фрагмент информации, который очень полезно уметь представлять по-разному.

Для решения этой проблемы Орен Поташник разработал программу BibTeX, которая сама формирует окружение thebibliography, получая информацию из текстовой библиографической базы. Структура библиографической базы BibTeX является довольно распространённым форматом, который использует в том числе и Google Scholar (http://scholar.google.com/), не говоря уж о том, что основной архив электронных препринтов http://xxx.lanl.gov предоставляет библиографическую информацию исключительно в виде записей BibTeX.

Из программного обеспечения, позволяющего работать с BibTeX, следует упомянуть встроенный в Emacs пакет RefTeX и JabRef http://jabref.sourceforge.net/. Тот, кто не освоил Emacs, и кому не нравится Java, может поискать программные пакеты gBib и KBib для Gnome и KDE соответственно. Простой конвертер BibTeX2html позволяет получить список литературы в html-виде. Естественно, и простое редактирование текстового файла вручную также никто не отменял.

Как правило, библиографическая база в формате BibTeX хранится в файле с расширением .bib. Перед тем, как с помощью команды \bibliography подключить базу к LaTeX-исходнику, нужно выбрать стиль сортировки библиографии:

\bibliographystyle{«стиль»}
\bibliography{«имя bib-файла»}

В LaTeX есть четыре стандартных стиля для формирования списка литературы:

  • plain – открытый стиль. Библиографические записи помечаются

порядковыми номерами и сортируются в алфавитном порядке. Чтобы правильно отсортировать библиографию на русском языке, необходимо вместо BibTeX воспользоваться командой BibTeX8, указав с помощью ключа --csfile соответствующее правило сортировки (В стандартной поставке LaTeX есть правило для сортировки для кодовой страницы cp866 cp866rus.csf. На основе этого файла можно создать правило для другой кодовой страницы.)

  • unsrt – несортирующий стиль. В отличии от plain, порядок представления списка литературы определяется порядком цитирования библиографии в тексте.
  • alpha – алфавитный стиль. Вместо нумерации библиографии используются имена меток. Литература сортируется по меткам.
  • abbrv – аббревиатурный стиль. Вместо полных имён авторов, названий месяцев и журналов печатаются сокращения. Сортировка и нумерация соответствует стилю plain.

Максим Поляков разработал стили для BibTeX, соответствующие ГОСТ 7.80-00 и GOST 7.1-84: gost780s/gost71s, аналогичные plain и gost780u/gost71u, аналогичные unsrt. Описание этих стилей представлено в стандартной документации в виде файлов gost780.pdf и gost71.pdf. Многие журналы, принимающие публикации в LaTeX, имеют свои собственные BibTeX-стили. В стандартной поставке TeXLive 2007 идёт более 200 различных библиографических стилей – есть из чего выбирать.

Персональные инструменты
купить
подписаться
Яндекс.Метрика