Все, что указано выше, start{document}
Пакеты, метаданные и порядок загрузки: что должно быть в преамбуле, а что нет.
Все, что указано выше, start{document}
Все, что находится между \documentclass{...} и \begin{document}, является преамбулой. Он не создает видимого текста. Он настраивает прогон. Шрифты, поля, пакеты, пользовательские команды и метаданные документа — все находится здесь, поэтому преамбула зрелой статьи часто длиннее, чем ее введение. Как только вы узнаете, что делает каждая строка, скопированный шаблон перестанет быть волшебством и превратится в контрольный список.
Анатомия
\documentclass[11pt,a4paper]{article}
\usepackage[utf8]{inputenc}\usepackage[T1]{fontenc}\usepackage[margin=1in]{geometry}\usepackage{amsmath,amssymb}\usepackage{graphicx,booktabs}\usepackage{hyperref} % load late
\title{Title}\author{You}\date{\today}Параметры в \documentclass устанавливают глобальные значения по умолчанию: 11pt — это базовый размер шрифта, от которого масштабируется все остальное, а a4paper объявляет размер бумаги. Две строки кодировки являются историческими компаньонами: inputenc сообщает движку, что ваш исходный файл имеет формат UTF-8, а fontenc выбирает кодировку шрифта, поэтому символы с диакритическими знаками являются настоящими глифами, а не составными. Текущий LaTeX уже предполагает ввод UTF-8, поэтому вы увидите, что эти строки опущены в новых документах, но они безвредны, и шаблоны сохраняют их для совместимости.
Средний блок загружает пакеты возможностей. geometry устанавливает поля в одном варианте, amsmath и amssymb предоставляют математические среды и символы, необходимые практически для каждого технического документа, graphicx включает \includegraphics для рисунков, а booktabs предоставляет правила, благодаря которым таблицы выглядят профессионально. Наконец, hyperref делает ссылки и цитаты кликабельными и намеренно загружается последним, поскольку переопределяет внутреннее устройство многих других пакетов.
Строки \title, \author и \date хранят только метаданные. Ничего не печатается, пока \maketitle не запустится в теле, поэтому они вообще могут находиться в преамбуле.
Практические правила
Несколько привычек сохраняют преамбулы здоровыми. Загружайте один пакет для каждого задания и не допускайте накопления пакетов, которые борются за одну и ту же территорию, например, с помощью двух способов установки полей. Оставьте гиперссылку в конце, а после нее должно идти несколько задокументированных исключений, таких как умный еф. Поместите варианты выбора для всего документа в параметры класса, а не разбрасывайте их, чтобы «11pt» или «twocolumn» объявлялись один раз, чтобы каждый мог их увидеть. И как только ваши пользовательские макросы перерастут несколько строк, переместите их в файл .sty, чтобы несколько документов могли использовать один набор определений.
Самая полезная дисциплина — негативная: если вы не знаете, зачем нужна строка преамбулы, выясните это до того, как от нее зависит ваш документ. В скопированных преамбулах накапливаются дедлайны, а в дедлайнах скрываются конфликты пакетов. См. также скелет документа и сравнение двигателей.
Preamble checkOptional practice quiz
A short check on what this lesson covers. Wrong answers show the right one. Choices are shuffled each attempt. You can retry as often as you like.