Сноски
Чтобы сделать сноску к какому-то месту в тексте, достаточно использовать команду \footnote с одним обязательным аргументом — текстом сноски. В стандартных классах LaTeX’а сноски8) нумеруются подряд на протяжении всей лекции или даже (в классе article) всего документа. В исходном тексте предыдущий фрагмент выглядел так:
В разделе, посвященном «счетчикам», мы расскажем о том, какие возможности есть для того, чтобы помечать сноски по-другому.
Если после слова, к которому делается сноска, должен стоять знак препинания, то в исходном тексте его надо поставить после закрывающей фигурной скобки, ограничивающей аргумент команды \footnote.
Текст сноски может состоять из нескольких абзацев; в этом случае они, как обычно, разделяются пустой строкой.
К сожалению, весьма непросто заставить TeX автоматически нумеровать сноски так, чтобы нумерация начиналась заново на каждой странице. В LaTeX’е, в частности, такая возможность не предусмотрена. Если вы готовы пожертвовать автоматической нумерацией сносок, то можно воспользоваться командой \footnote с необязательным аргументом. Этот необязательный аргумент ставится (в квадратных скобках) перед обязательным\footnote[2003]<Вот какой интересный номер!>. Предыдущий фрагмент выглядел в исходном тексте так:
При использовании команды \footnote с необязательным аргументом автоматическая нумерация сносок не сбивается: предыдущая сноска имела номер \arabic
В случае, если вы хотите сделать сноску к тексту, входящему в » блок» (например, в аргумент команды \mbox; в лекции 8 мы расскажем о том, что такое блок в общем случае и какими командами блоки генерируются), команда \footnote непригодна. Вот как надо ставить сноски в этом случае:
В этом случае получится нормальная сноска, напоминающая нам, что в названии романа \mbox<``Три\footnotemark\ мушкетера''>\footnotetext <А не четыре!>фигурируют три мушкетера, а не четыре. Если бы мы просто написали \footnote, то увидели бы на печати только номер, но не саму сноску. Обратите также внимание на «backslash с пробелом» после команды \footnotemark: мы его поставили, чтобы между словами » три» и «мушкетера» на печати был пробел.
Если вы к тому же хотите вручную задать номер сноски к тексту, входящему в «блок», то нужно задать этот номер дважды: первый раз в качестве необязательного аргумента команды \footnotemark (обязательных аргументов у этой команды не предусмотрено), а второй раз — в качестве необязательного аргумента команды \footnotetext (необязательный аргумент этой команды должен идти перед обязательным):
Каталог классов и стилей 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
Описанные окружение и команда удобны, когда надо имитировать машинописный текст, текст на мониторе компьютера, или набирать тексты компьютерных программ. В данном руководстве \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 (необязательный аргумент этой команды должен идти перед обязательным):
Как сделать сноску в latex
После прочтения предыдущей главы вы должны представлять, из чего состоит документ L A T E X. Вторая глава заполняет эту структуру всем необходимым для производства реальных материалов.
Книги часто верстаются так, чтобы все строчки имели одинаковую длину. L A T E X вставляет необходимые разрывы строк и пробелы между словами, оптимизируя форматирование абзаца как целого. При необходимости он также переносит слова, которые не помещаются на строке. От класса документа зависит то, как верстаются абзацы. Обычно каждый абзац начинается с красной строки, а дополнительного интервала между ними нет. Подробности смотрите в разделе 5.3.2.
В некоторых случаях может быть необходимо указать L A T E X разорвать строку:
или
newline
начинают новую строку, не начиная нового абзаца.
запрещает, кроме того, разрыв страницы после вставленного разрыва строки.
newpage
начинает новую страницу.
разрывают строку, запрещают разрыв строки, разрывают страницу и запрещают разрыв страницы, соответственно. Необязательный аргумент n позволяет автору влиять на их действие. Он может быть равен числу от нуля до четырех. Устанавливая n в значение, меньшее 4, вы оставляете L A T E X возможность игнорировать вашу команду, если результат будет очень плох.
2.1.2 Переносы
L A T E X переносит слова, когда это необходимо. Если алгоритм переносов не находит правильных точек переноса, вы можете исправить положение, сказав T E X об исключении при помощи следующих команд.
hyphenation
Команда — вставляет в слово выборочный перенос. Он также становится единственной разрешенной точкой переноса в этом слове. Эта команда в особенности полезна для слов, содержащих специальные символы (например, символы с акцентами), потому что L A T E X не переносит такие слова автоматически.
I think this is: supercal ifragilisticexpi alidocious
Несколько слов можно удержать вместе на одной строке командой
mbox
Она будет в любом случае сохранять свой аргумент вместе.
Параметр имя файла должен содержать имя файла.
«Пожалуйста, нажмите клавишу `x’ »
На пишущей машинке точка или запятая занимают то же пространство, что и любая другая буква. Напечатанные в книге, эти символы занимают очень мало места и верстаются очень близко к предшествующей букве. Поэтому вы не можете ввести многоточие просто напечатав три точки, так как расстояние между ними будет неправильным. Кроме того, для многоточия есть специальная команда, называющаяся
ldots
Эти так называемые лигатуры могут быть запрещены вставкой mbox <> между двумя соответствующими буквами. Это может быть необходимо для слов, образованных из двух частей.
Не «shelfful»
а «shelfful»
Акценты и специальные символы
2.3 Поддержка иностранных языков
Для многих языков эти изменения достигаются использованием пакета babel (автор Johannes Braams). Для этого ваша система L A T E X должна быть специально сконфигурирована. Ваш [4] может включать дополнительную информацию об этом.
Если ваша система уже соответствующим образом сконфигурирована, вы можете активизировать пакет babel добавлением команды
usepackage [ язык ]
К счастью, большинство современных поставок T E X содержат копию шрифтов EC. Эти шрифты выглядят, как шрифты Computer Modern, но содержат специальные символы для большинства акцентированных букв, используемых в европейских языках. Используя эти шрифты, вы можете улучшить переносы в не-английских документах. Шрифты EC активизируются включением в преамбуле вашего документа пакета fontenc.
usepackage [T1]
Любое исключение из этих предположений должно быть явно оговорено автором. Знак \ >> перед пробелом дает в результате пробел, который не будет увеличен. Знак
>> дает пробел, который не может увеличиться и который, кроме того, запрещает разрыв строки. Команда \@ перед точкой указывает, что эта точка заканчивает предложение, несмотря на то, что стоит за буквой верхнего регистра.
I like BASIC. What about you? Mr. Smith was happy to see her
cf. Fig. 5
I like BASIC. What about you?
Дополнительный пробел после точек можно запретить командой
frenchspacing
которая указывает L A T E X не вставлять пробела после точки более, чем после обычных символов. Это обычно для языков, отличных от английского, за исключением библиографий. Если вы используете frenchspacing, команда \@ не нужна.
Класс article включает следующие команды секционирования:
section <. >
paragraph <. >
subsection <. >
subparagraph <. >
subsubsection <. >
appendix
В классах report и book вы можете использовать две дополнительные команды:
part <. >
chapter
Так как глав (chapters) в классе article нет, то статьи довольно легко добавлять в книгу в качестве глав. Интервалы между разделами, нумерация и размер шрифта заголовков устанавливаются L A T E X автоматически.
L A T E X создает оглавление, беря заголовки разделов и номера страниц из предыдущего прохода по документу. Команда
tableofcontents
вставляет оглавление в то место, где она вызвана. Чтобы получить правильное оглавление, новый документ должен быть обработан L A T E X дважды. В особых случаях может быть необходим и третий проход. Когда это потребуется, L A T E X вас предупредит.
Все вышеперечисленные команды секционирования существуют также в вариантах со звездочкой. Такой вариант получается добавлением * к имени команды. Они генерируют заголовки разделов, которые не нумеруются и не включаются в оглавление. Например, команда \section <Справка>становится \section* <Справка>.
Обычно заголовки разделов появляются в оглавлении точно в том же виде, в каком они вводятся в тексте. Иногда это невозможно из-за того, что заголовок слишком длинен для оглавления. Элемент оглавления может в этом случае указываться необязательным аргументом перед собственно заголовком.
\chapter[Прочтите! Это замечательно]<Это
— длинный,
длинный и очень нудный заголовок>
Титульный лист документа в целом генерируется при помощи команды
maketitle
Его содержимое должно быть определено командами
title <. >,
author <. >и
date
Пример некоторых из упомянутых команд может быть найден на иллюстрации.
frontmatter,
mainmatter и
backmatter Они полезны для деления вашей публикации. Команды изменяют заголовки глав и нумерацию страниц так, как это ожидается от книги. 11
В книгах, отчетах и статьях часто встречаются перекрестные ссылки на иллюстрации, таблицы и отдельные части текста. Для этого L A T E X предоставляет следующие команды: label < метка >,
ref < метка >и
pageref
Ссылка на этот раздел выглядит так: >
footnote
печатает сноску внизу текущей страницы.
emph
Если вы используете выделение в уже выделенном тексте, то L A T E X использует прямой шрифт.
2.9 Окружения
Для верстки специальных видов текста L A T E X определяет множество окружений для разных типов форматирования:
begin < название >текст
end
где название определяет окружение. Окружения можно вызывать внутри окружений, соблюдая порядок вызова и возврата:
В следующих разделах рассказывается обо всех важных окружениях.
Окружения flushleft и flushright форматируют абзацы, выровненные влево или вправо. Окружение center дает центрированный текст. Если вы не используете для указания разрывов строк, L A T E X определит их автоматически.
Окружение quote полезно для цитат, важных фраз и примеров.
Типографское правило для длины строки:
Никакая строка не должна содержать больше 66 символов.
Вот почему L A T E X делает такими широкими поля страниц.
Существуют еще два похожих окружения: quotation и verse. Окружение quotation полезно для более длинных цитат, охватывающих несколько абзацев, потому что оно начинает абзацы с красной строки. Окружение verse используют для стихов, где важны разрывы строк. Строки разделяются при помощи в конце строки и пустой строки после каждой строфы.
Я знаю только одно английское стихотворение наизусть: про Шалтая-Болтая:
Humpty Dumpty sat on a wall:
Humpty Dumpty had a great fall.
All the King’s horses and all the King’s men
Couldn’t put Humpty together again.
Текст, заключенные между \begin < verbatim >и \end
Внутри абзаца аналогичную функцию выполняет команда
verb + текст +
Команду verb тоже можно использовать аналогичным образом со звездочкой:
Окружение verbatim и команду \verb нельзя использовать внутри параметров других команд.
Окружение tabular используют для верстки таблиц, возможно, с горизонтальными и вертикальными линиями. L A T E X автоматически определяет ширину столбцов.
Аргумент спецификация команды
определяет формат таблицы. Используйте l для столбца текста, выровненного влево, r для текста, выровненного вправо и c для центрированного текста, p < ширина >для столбца, содержащего выровненный текст с переносом строк, и | для вертикальной линии. Внутри окружения tabular знак & >> переходит к следующему столбцу, команда начинает новую строку, а
hline вставляет горизонтальную линию.
54 | шестнадцатеричное |
124 | восьмеричное |
1010100 | двоичное |
84 | десятичное |
Добро пожаловать в абзац в рамочке. Надеемся, вам всем тут понравится. |
нет ведущего пробела |
ведущий пробел слева и справа |
Выражение с | Значение | ||
3 | . | 1416 | |
36 | . | 46 | |
80662 | . | 7 |
Для решения этой проблемы любая иллюстрация или таблица, не умещающаяся на текущей странице, может `плавать’, перемещаясь на следующую страницу в процессе заполнения текстом текущей. L A T E X предлагает для плавающих объектов два окружения, одно для таблиц и одно для иллюстраций. Чтобы полностью использовать их преимущества, важно примерно представлять, как L A T E X обрабатывает плавающие объекты. Иначе они могут стать источником разочарования из-за того, что L A T E X помещает их не туда, куда вы хотите.
Давайте вначале рассмотрим команды, предоставляемые L A T E X для плавающих объектов.
Любой материал, включенный в окружения figure или table, трактуется как плавающий. Оба окружения имеют необязательный параметр \begin
\begin