Как сделать сноску в latex

Как создать

Каталог классов и стилей LaTeX. Часть 10. Работа со справочно-поисковым аппаратом издания

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

Перекрёстные ссылки

Самый простой и наглядный способ навигации по документу – это внутренние перекрёстные ссылки между различными фрагментами документа.

Оглавление

Оглавление является одним из важнейших компонентов документа, так как поиск информации в книге начинается именно с содержания.

Колонтитулы

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

Сноски

Механизм сносок позволяет вынести какую-то информацию из основного повествования, но при этом обеспечить её привязку к тексту документа.

Затекстовые примечания

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

Заметки на полях

Если документ обладает полями большого размера, то их тоже можно использовать для размещения информации.

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

Серьёзная литература всегда опирается на не менее серьёзные источники. Традиционно для оформления библиографии в LaTeX используется пакет BibTeX. Если в библиографических bib-файлах есть русскоязычные источники, то для их обработки необходимо использовать исполняемый файл bibtexu. Так можно воспользоваться пакетом Biblatex.

Biblatex

Пакет biblatex — это современное расширение для bibtex с множеством улучшений и дополнений. Для обработки файлов, которые были созданы в формате BibTeX, следует использовать исполняемый файл biber и обязательно прочитать документацию на предмет несовместимых стилей.

Указатель

Алфавитный указатель сильно повышает ценность книги как справочного материала. Стандартный инструмент LaTeX для создания указателей makeindex по умолчанию не поддерживает кириллицу, поэтому (необходимо пользоваться дополнительным сценарием rumakeindex из пакета t2). Если же алфавитный указатель создаётся с нуля, то лучше воспользоваться пакетом xindy.

Заключение

В этой статье была рассмотрена функциональность, предоставляемая LaTeX для организации справочно-поискового аппарата издания (сноски, содержание, библиография и т.д.).

Мы уже почти завершили знакомство с пакетами каталога TeX Live, и нам осталось рассмотреть только возможности, которые могут упростить процесс работы над документом за счёт «автоматизации» некоторых операций с помощью простейшего API.

Источник

Набор текста

Буквальное воспроизведение(verbatim, verb)

Окружение verbatim предназначено для буквального воспроизведения имеющихся в файле символов (шрифтом типа пишушей машинки). Одной только команды \ttfamily для этого недостаточно, поскольку воспроизводимый текст может содержать, например, команды TeX’а, и необходимо, чтобы они печатались, а не исполнялись.

Между \begin и \end могут идти любые символы (в том числе символ «\» и непарные фигурные скобки), за исключением последовательности символов \end . После этого надо написать \end в отдельной строке, ничего, кроме этого текста, не содержащей (для всех прочих LaTeX’овских окружений это не обязательно). При этом между «\end» и «» не должно быть пробела (также вопреки общим правилам: обычно такой пробел, как и вообще пробел после имени команды, состоящего из букв, ни на что не влияет).

Описанные окружение и команда удобны, когда надо имитировать машинописный текст, текст на мониторе компьютера, или набирать тексты компьютерных программ. В данном руководстве \verb и verbatim широко использовались для набора LaTeX’овских и TeX’овских команд.

У команды \verb и окружения verbatim есть варианты «со звездочкой». От своих вариантов без звездочки они отличаются тем, что пробел изображается знаком .

Если вы забудете «закрывающий символ» в команде \verb или сделаете опечатку в тексте \end , то в лучшем случае получите уйму сообщений об ошибке, а в худшем — завесите компьютер.

Абзацы нестандартной формы

Пусть нам потребовалось создать абзац c «отрицательным» абзацным отступом, в котором все строки, кроме первой, начинаются на расстоянии одного сантиметра от полей. Этого можно добиться следующим образом:

Значение параметра \hangafter — номер строки, после которой начинается дополнительный отступ. По умолчанию значение \hangafter равно единице (как и было в нашем первом примере).

Если значение параметра \hangindent отрицательно и равно , то дополнительный отступ размером будет отсчитываться от правого, а не левого поля (в каких именно строках будет этот дополнительный отступ, по-прежнему определяется значением \hangafter ):

Начало этого причудливого абзаца выглядело в исходном тексте так:

Сноски

Чтобы сделать сноску к какому-то месту в тексте, достаточно использовать команду \ footnote с одним обязательным аргументом — текстом сноски. В стандартных классах LaTeX’а сноски 8 Вроде этой. нумеруются подряд на протяжении всей лекции или даже (в классе article ) всего документа. В исходном тексте предыдущий фрагмент выглядел так:

Читайте также:  Как сделать взбитые сливки сладкими

В разделе, посвященном «счетчикам», мы расскажем о том, какие возможности есть для того, чтобы помечать сноски по-другому.

Текст сноски может состоять из нескольких абзацев; в этом случае они, как обычно, разделяются пустой строкой.

К сожалению, весьма непросто заставить TeX автоматически нумеровать сноски так, чтобы нумерация начиналась заново на каждой странице. В LaTeX’е, в частности, такая возможность не предусмотрена. Если вы готовы пожертвовать автоматической нумерацией сносок, то можно воспользоваться командой \footnote с необязательным аргументом. Этот необязательный аргумент ставится (в квадратных скобках) перед обязательным \footnote [2003] <Вот какой интересный номер!>. Предыдущий фрагмент выглядел в исходном тексте так:

В случае, если вы хотите сделать сноску к тексту, входящему в » блок» (например, в аргумент команды \mbox ; в «Блоки и клей» мы расскажем о том, что такое блок в общем случае и какими командами блоки генерируются), команда \ footnote непригодна. Вот как надо ставить сноски в этом случае:

Если вы к тому же хотите вручную задать номер сноски к тексту, входящему в «блок», то нужно задать этот номер дважды: первый раз в качестве необязательного аргумента команды \footnotemark (обязательных аргументов у этой команды не предусмотрено), а второй раз — в качестве необязательного аргумента команды \footnotetext (необязательный аргумент этой команды должен идти перед обязательным):

Источник

LXF92:LaTeX

Подписка на печатную версию Весь 2015 год (12 номеров) Первое полугодие (6 номеров) Второе полугодие (6 номеров) Подписка на электронную версию Весь 2015 год (12 номеров) Первое полугодие (6 номеров) Второе полугодие (6 номеров) Подшивки старых номеров журнала (печатные версии) Весь 2014 год (12 номеров) Первое полугодие (6 номеров) Второе полугодие (6 номеров)

Содержание

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Читайте также:  Как сделать ребенка книга читать

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

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

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

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

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

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

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

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

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

Колонтитулы

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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-исходнику, нужно выбрать стиль сортировки библиографии:

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

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

Читайте также:  Как сделать сайт в denwer

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

Список литературы, оформленный с помощью BibTeX. Стиль gost780u.

В дополнение к команде цитирования \cite в случае подключения библиографической базы можно использовать инструкцию \nocite. Команда \nocite не создаёт никакой ссылки в тексте, но упомянутая запись отображается в списке литературы.

Сама по себе база состоит из записей вида:

После знака «коммерческое at» @ идёт тип записи. В фигурных скобках вслед за меткой через запятую перечисляются пары ключ-значение. BibTeX поддерживает определённый набор типов записей, каждому из которых соответствуют свои обязательные и необязательные поля (Если к названию необязательного поля добавить OPT (note->OPTnote), то такие такие поля игнорируются, даже если присутствуют в записи). Если не заполнено обязательное поле, то при компиляции BibTeX генерирует ошибку. Имеются следующие стандартные типы записей (BibTeX не чувствителен к регистру):

Значение полей в большинстве случаев понятно из их названия. Исключением, пожалуй, является поле crossref, в качестве значения которого можно передать ссылку на другую запись, откуда BibTeX при трансляции возьмёт значения всех недостающих полей записи. Из особенностей следует упомянуть, что авторы в поле author разделяются с помощью союза and.

Кроме перечисленных стандартных полей при использовании библиографических ГОСТ-стилей gost780u/gost71u и gost780s/gost71s можно использовать поля numpages – число страниц и language – влияет на сортировку при выборе стиля типа plain. Допустимые значения для поля language – russian, ukrainian и english по умолчанию.

Алфавитный указатель

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

Конвейер LaTeX+MakeIndex. tex – LaTeX-исходник, idx – не отсортированный индекс (полуфабрикат), ist – стилевой файл для указателя, ilg – log-файл MakeIndex, ind – отсортированный указатель.

Для создания «полуфабриката» алфавитного указателя в преамбуле помещается инструкция

Cлова, которые нужно поместить в указатель, отмечаются с помощью команды \index.

Сама по себе команда \index игнорируется, но всё, что в ней отмечается вместе с информацией о положении команды, заносится в файл с расширением .idx. Имя idx-файла по умолчанию соответствует имени основного документа. Полуфабрикатом idx-файл является потому, что записи хранятся в нём в неотсортированном виде. С помощью программы сортировки rumakeindex’ получается отформатированный правильным образом указатель в файле с расширением .ind. Этот файл уже можно вставить в документ:

Это же делает и команда \printindex из пакета makeidx. В дополнение к подключению индекса команда \printindex проверяет существование индексного файла и не даёт LaTeX генерировать ошибку в случае его отсутствия. Пакет makeidx содержит ещё несколько полезных команд для создания индекса, поэтому его в любом случае имеет смысл загрузить.

Программа rumakeindex является простейшим скриптом, где с помощью sed кириллические буквы из внутреннего представления LaTeX переводятся в koi8-r и правильным образом сортируются с использованием стандартного механизма makeindex. Если необходимо отсортировать индексный файл для включения в текст, использующий другую кодовую страницу, или вас просто не устраивают правила сортировки, этот скрипт легко переделать.

Оригинальная программа сортировки индекса makeindex (подробная документация представлена в файле makeindex.dvi) была написана довольно давно и, естественно, не учитывала национальных особенностей других языков, кроме английского и немецкого. Впрочем, она оказалась слишком гибка, чтобы полностью отказаться от неё в пользу другого механизма сортировки, уже нормально поддерживающего интернационализацию. Наиболее вероятным претендентом на замену уже долгое время является xindy (http://www.xindy.org/), который «из коробки» поддерживает множество языков вплоть до клингонского, но до сих пор отсутствует в основных LaTeX-дистрибутивах.

Аргумент команды \index может содержать любые символы, кроме !, “, @ и |. Их специальное значение проявляется только внутри команды. Чтобы убрать специальное значение этих символов внутри \index необходимо добавить перед ними символ (двойную кавычку). На рисунке представлен пример простейшего указателя. Ниже будут раскрыты методы его создания.

Пример готового алфавитного указателя.

Для формирования многоуровневых иерархических указателей используется разделитель в виде восклицательного знака !:

Команды \index с одинаковыми аргументами группируются в одну запись с полным списком страниц.

Символ вертикальной черты | используется для отделения видимого аргумента от управляющих знаков. Команда \see (перекрёстная ссылка на другую запись), определённая в пакете makeidx, должна идти в индексе вслед за этим разделителем:

С помощью вертикальной черты можно также сформировать указатель на диапазон страниц:

Иногда номер страницы нужно как-то выделить. Команды выделения текста также должны идти после вертикальной черты:

Конструкция «ключ»@«запись» используется для правильной сортировки внутри \index. По «ключу» производится сортировка, а «запись» выводится в предметном указателе.

Заключение

Написать любую книгу безумно тяжело. Сделать её полезной – почти невозможно. Справочно-поисковый аппарат издания – лишь инструмент на этом пути, но инструмент, неоднократно проверенный грамотным человечеством. Можно путь пройти и без него, но с ним будет гораздо интереснее. LXF

Источник

Оцените статью
Полезные советы и лайфхаки для жизни
Adblock
detector