Как сделать содержание в латехе
Перейти к содержимому

Как сделать содержание в латехе

  • автор:

Ни слова о луке

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

Процесс будет рассматриваться со стороны Ubuntu/TeX Live, хотя всё рассказанное можно будет сделать и в Windows с использованием MikTeX и на Маке с использованием MacTeX. Также я затрону дополнительные open-source пакеты (версии которых, опять же, есть для всех операционных систем), которые помогут в процессе и опишу какие действия необходимо предпринять, чтобы получившийся в результате документ выглядел максимально близко к желаемому :). Это Inkscape, Gnumeric и пакеты pgfplots и pgfplotstable для LaTex.

Если вы в первый раз используете LaTeX, рекомендую стандартный вводный документ (англ., PDF) и небольшой справочник по форматированию текста (англ.). В качестве документации к pgfplots подойдёт официальная: pgfplots (англ., PDF), pgplotstable (англ., PDF).

Установка

Создадим тестовый документ в любом редакторе (для gedit вы можете установить gedit-latex-plugin ). Условимся, что наш основной документ будет называться work_0001_2010.tex , а все относящиеся к нему файлы будут использовать это название + какой-либо постфикс:

Вставим представленный тект в качестве содержимого, сохраним:

Скомпилируем и посмотрим, что получилось:

Если всё было сделано правильно — перед нами готовый результат.

Титульная страница

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

Содержание включено для примера и оно обновится в соотвествии с главами только при следующей компиляции — это правило для LaTeX. В результате всё это должно выглядеть так:

Титульная страница

Схемы

Есть много способов вставить изображение в LaTeX-документ, и вам подойдёт любой из них, но так как я обо всём рассказываю, то должен рассказать хотя бы об одном. Я подготавливаю схемы в Inkscape (свободный векторный редактор), экспортирую их в PDF и затем вставляю в LaTeX-документ.

Inkscape очень удобен для подготовки схем — у прямых линий (да и у фигур и кривых) можно установить с любых концов стрелки или сделать их пунктирными (Object -> Fill and Stroke -> Stroke Style), сектора можно делать ограничивая углы развёртки у круга, любую фигуру можно залить стандартными для таких схем кистями (хоть в полька-точечку (Object -> Fill and Stroke -> Fill Style -> Polka dots)), кривые удобно рисовать инструментом Кривая Безье и кроме всего прочего есть “примагничивание” (правда оно почему-то включается в свойствах документа (File -> Document Properties -> Snap)). Практически любой график или схему из методички/учебника можно перенести в векторный вид за полчаса.

Итак, экспорт из Inkscape. Исходный файл, по принятому ранее соглашению, назовём work_0001_2010_graph01.svg

В меню File -> Save as… выберем формат *.pdf:

Сохранение в PDF

И отметим конвертацию шрифтов в пути (в Stroke Style -> Width у надписей советую ставить значения 0.1-0.3, иначе надписи в pdf-файле получаются очень толстыми):

Опции экспорта в PDF

Теперь в шапку LaTeX-документа наряду с остальными пакетами нужно добавить пакет graphicx :

Как сделать содержание в латехе

После прочтения предыдущей главы вы должны представлять, из чего состоит документ L A T E X. Вторая глава заполняет эту структуру всем необходимым для производства реальных материалов.

Книги часто верстаются так, чтобы все строчки имели одинаковую длину. L A T E X вставляет необходимые разрывы строк  и пробелы между словами, оптимизируя форматирование абзаца как целого. При необходимости он также переносит слова, которые не помещаются на строке. От класса документа зависит то, как верстаются абзацы. Обычно каждый абзац начинается с красной строки, а дополнительного интервала между ними нет. Подробности смотрите в разделе 5.3.2.

В некоторых случаях может быть необходимо указать L A T E X разорвать строку:

начинают новую строку, не начиная нового абзаца.

запрещает, кроме того, разрыв страницы после вставленного разрыва строки.

начинает новую страницу.

linebreak [ n ] , nolinebreak [ n ] , pagebreak [ n ] и nopagebreak [ n ]

разрывают строку, запрещают разрыв строки, разрывают страницу и запрещают разрыв страницы, соответственно. Необязательный аргумент n позволяет автору влиять на их действие. Он может быть равен числу от нуля до четырех. Устанавливая n в значение, меньшее 4, вы оставляете L A T E X возможность игнорировать вашу команду, если результат будет очень плох.

L A T E X всегда пытается производить наилучшее из возможных разбиение строк. Если он не может найти способ разбить строки в соответствии со своими стандартами, он позволяет одной строке выступать из абзаца вправо. L A T E X затем выводит диагностику (<<overfull hbox>>) во время обработки входного файла. Чаще всего это случается, когда L A T E X не может найти место для переноса слова. Давая команду sloppy, вы можете сказать, чтобы L A T E X несколько ослабил свои стандарты. Тогда он сможет предотвратить такие слишком длинные строки, увеличивая интервалы между словами — даже, если конечный вывод будет не оптимален. В этом случае пользователь получит предупреждение (<<underfull hbox>>). В большинстве случаев результат выглядит не очень хорошо. Команда fussy действует в обратную сторону.

   
2.1.2 Переносы

L A T E X переносит слова, когда это необходимо. Если алгоритм переносов не находит правильных точек переноса, вы можете исправить положение, сказав T E X об исключении при помощи следующих команд.

вызывает перенос слов, перечисленных в ее аргументе, только в местах, отмеченных << — >>. Эта команда должна даваться в преамбуле входного файла, и должна содержать только слова, состоящие из обычных букв. Регистр букв игнорируется. Следующий пример разрешает переносы в слове <<hyphenation>>, так же, как и в слове << Hyphenation>>, и запрещает переносы в словах <<FORTRAN>>, <<Fortran>> и <<fortran>>.

Команда — вставляет в слово выборочный перенос. Он также становится единственной разрешенной точкой переноса в этом слове. Эта команда в особенности полезна для слов, содержащих специальные символы (например, символы с акцентами), потому что L A T E X не переносит такие слова автоматически.

I think this is: supercal ifragilisticexpi alidocious

Несколько слов можно удержать вместе на одной строке командой

Она будет в любом случае сохранять свой аргумент вместе.

Параметр имя файла должен содержать имя файла.

Для набора кавычек  вы не должны использовать знак »  , как на пишущей машинке. При верстке существуют специальные знаки открывающей и закрывающей кавычек. В L A T E X используйте два знака ` в качестве открывающей кавычки и два знака ‘ в качестве закрывающей.

«Пожалуйста, нажмите клавишу `x’ »

L A T E X знает про четыре вида тире. Три из них вы можете получить различным числом последовательных знаков — . Четвертое на самом деле не тире вовсе, а математический знак минус:

мальчик-с-пальчик, X-лучи
страницы 13-67
да — или нет?
0, 1 и -1

Эти тире называются так: — дефис, — короткое тире, — длинное тире и $-$ знак минуса.  

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

Не так . а вот так:
Нью-Йорк, Токио, Будапешт, .

Некоторые комбинации букв верстаются не просто набором разных букв друг за другом, а с использованием специальных символов 8 .

ff fi fl ffi. вместо ff fi fl ffi .

Эти так называемые  лигатуры могут быть запрещены вставкой mbox <> между двумя соответствующими буквами. Это может быть необходимо для слов, образованных из двух частей.

Не «shelfful»
а «shelfful»

Чтобы поместить знак акцента над буквами i или j, точки над ними должны быть удалены. Это достигается набором \i и \j .

Акценты и специальные символы  

   
2.3 Поддержка иностранных языков

Для многих языков эти изменения достигаются использованием пакета babel (автор Johannes Braams). Для этого ваша система L A T E X должна быть специально сконфигурирована. Ваш [4] может включать дополнительную информацию об этом.

Если ваша система уже соответствующим образом сконфигурирована, вы можете активизировать пакет babel добавлением команды

после команды \documentclass . Какие язык и поддерживает ваша система, также может быть указано в [4].

Для некоторых языков babel указывает также новые команды, упрощающие ввод специальных символов. Например, немецкий язык содержит множество диакритических знаков (äöü). С использованием babel вы можете вводить ö, печатая «o вместо \»o .

Некоторые компьютерные системы позволяют вам вводить специальные символы прямо с клавиатуры. L A T E X может обрабатывать такие символы. Начиная с выпуска L A T E X2 e от декабря 1994г., поддержка нескольких входных кодировок является частью базовой поставки L A T E X2 e . Ознакомьтесь с пакетом inputenc. При использовании этого пакета вы должны понимать, что другие могут неправильно видеть ваши входные файлы на своем компьютере из-за использования другой кодировки. Например, немецкий акцент ä на IBM PC кодируется как 132, а на некоторых Unix системах, использующих ISO-LATIN 1, — как 228. Поэтому используйте эту возможность с осторожностью.

Иной случай — с кодировкой шрифта. Она определяет, в какой позиции в пределах шрифта T E X находится каждая буква. Оригинальный T E X шрифт Computer Modern содержит только 128 символов из старого 7-битного набора символов ASCII. Когда требуются акцентированные символы, T E X создает их, комбинируя нормальный символ с акцентом. Несмотря на то, что результирующая верстка выглядит прекрасно, этот подход не дает автоматическим переносам работать внутри слов, использующих акцентированные символы.

К счастью, большинство современных поставок T E X содержат копию шрифтов EC. Эти шрифты выглядят, как шрифты Computer Modern, но содержат специальные символы для большинства акцентированных букв, используемых в европейских языках. Используя эти шрифты, вы можете улучшить переносы в не-английских документах. Шрифты EC активизируются включением в преамбуле вашего документа пакета fontenc.

Настоящие шрифты EC следуют кодировке T1 . Отсюда — опция команды usepackage.

Для получения ровного правого края вывода L A T E X вставляет различные интервалы между словами. В конце предложения он вставляет слегка больший интервал, делая текст более читабельным 9 . L A T E X предполагает, что предложения заканчиваются точками, вопросительными или восклицательными знаками. Если точка следует за буквой в верхнем регистре, она не считается концом предложения, так как точки после букв верхнего регистра обычно используются для сокращений.

Любое исключение из этих предположений должно быть явно оговорено автором. Знак << \ >> перед пробелом дает в результате пробел, который не будет увеличен. Знак <<

>> дает пробел, который не может увеличиться и который, кроме того, запрещает разрыв строки. Команда \@ перед точкой указывает, что эта точка заканчивает предложение, несмотря на то, что стоит за буквой верхнего регистра.  

I like BASIC. What about you? Mr. Smith was happy to see her
cf. Fig. 5
I like BASIC. What about you?

Дополнительный пробел после точек можно запретить командой

которая указывает L A T E X не вставлять пробела после точки более, чем после обычных символов. Это обычно для языков, отличных от английского, за исключением библиографий. Если вы используете frenchspacing, команда \@ не нужна.

Чтобы помочь читателю ориентироваться в вашей работе, вы должны разделять ее на главы, разделы и подразделы. L A T E X поддерживает это специальными командами, принимающими в качестве аргумента заголовок раздела. Ваше дело — использовать их в надлежащем порядке.

Класс article включает следующие команды секционирования:

section <. >paragraph <. >
subsection <. >subparagraph <. >
subsubsection <. >appendix

В классах report и book вы можете использовать две дополнительные команды:

Так как глав (chapters) в классе article нет, то статьи довольно легко добавлять в книгу в качестве глав. Интервалы между разделами, нумерация и размер шрифта заголовков устанавливаются L A T E X автоматически.

  • Команда part не влияет на последовательность нумерования глав.
  • Команда appendix аргумента не имеет. Она просто начинает нумеровать главы 10 буквами вместо цифр.

L A T E X создает оглавление, беря заголовки разделов и номера страниц из предыдущего прохода по документу. Команда

вставляет оглавление в то место, где она вызвана. Чтобы получить правильное оглавление, новый документ должен быть обработан L A T E X дважды. В особых случаях может быть необходим и третий проход. Когда это потребуется, L A T E X вас предупредит.

Все вышеперечисленные команды секционирования существуют также в вариантах со звездочкой. Такой вариант получается добавлением * к имени команды. Они генерируют заголовки разделов, которые не нумеруются и не включаются в оглавление. Например, команда \section <Справка>становится \section* <Справка>.

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

\chapter[Прочтите! Это замечательно]<Это

— длинный,
длинный и очень нудный заголовок>

Титульный лист    документа в целом генерируется при помощи команды

Его содержимое должно быть определено командами

title <. >, author <. >и date

до момента вызова \maketitle . Аргумент команды authors может содержать несколько имен, разделенных командами and.

Пример некоторых из упомянутых команд может быть найден на иллюстрации.

Помимо описанных выше команд секционирования, L A T E X2 e вводит три дополнительных команды для использования с классом book .

frontmatter, mainmatter и backmatter Они полезны для деления вашей публикации. Команды изменяют заголовки глав и нумерацию страниц так, как это ожидается от книги. 11

В книгах, отчетах и статьях часто встречаются перекрестные ссылки на иллюстрации, таблицы и отдельные части текста. Для этого L A T E X предоставляет следующие команды: label < метка >, ref < метка >и pageref

где метка — выбранный пользователем идентификатор. L A T E X заменяет \ref номером раздела, подраздела, иллюстрации, таблицы или уравнения, где была использована соответствующая команда \label . \pageref печатает номер страницы, соответствующей команде \label . Здесь также используются номера из предыдущего прохода.

Ссылка на этот раздел   выглядит так: <<см. раздел 2.6 на стр. .>>

печатает сноску внизу текущей страницы.

Пользователи L A T E X часто употребляют сноски 12 .

В рукописи, напечатанной на машинке, важные слова подчеркиваются . В печатных изданиях эти слова выделяются . Команда для переключения на шрифт выделения называется

Ее аргументом является текст для выделения .

Если вы используете выделение в уже выделенном тексте, то L A T E X использует прямой шрифт.

   
2.9 Окружения

Для верстки специальных видов текста L A T E X определяет множество  окружений для разных типов форматирования:

begin < название >текст end

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

В следующих разделах рассказывается обо всех важных окружениях.

Окружение itemize подходит для простых списков, окружение enumerate — для нумерованных списков, а окружение description — для описаний.

Окружения flushleft и flushright форматируют абзацы, выровненные влево или вправо.  Окружение center дает центрированный текст. Если вы не используете для указания разрывов строк, L A T E X определит их автоматически.

Окружение quote полезно для цитат, важных фраз и примеров.

Типографское правило для длины строки:

Никакая строка не должна содержать больше 66 символов.

Вот почему L A T E X делает такими широкими поля страниц.

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

Я знаю только одно английское стихотворение наизусть: про Шалтая-Болтая:

Текст, заключенные между \begin < verbatim >и \end будет напрямую напечатан, как набранный на пишущей машинке, со всеми пробелами и возвратами каретки, без выполнения каких бы то ни было команд L A T E X.

Внутри абзаца аналогичную функцию выполняет команда

Здесь << + >> — это только пример символа-ограничителя. Вы может использовать любой символ, кроме букв, << * >> или пробела. Многие примеры на L A T E X в этом буклете набраны этой командой.

Команду verb тоже можно использовать аналогичным образом со звездочкой:

Окружение verbatim и команду \verb нельзя использовать внутри параметров других команд.

Окружение tabular используют для верстки таблиц, возможно, с горизонтальными и вертикальными линиями. L A T E X автоматически определяет ширину столбцов.

Аргумент спецификация команды

определяет формат таблицы. Используйте l для столбца текста, выровненного влево, r для текста, выровненного вправо и c для центрированного текста, p < ширина >для столбца, содержащего выровненный текст с переносом строк, и | для вертикальной линии. Внутри окружения tabular знак << & >> переходит к следующему столбцу, команда начинает новую строку, а hline вставляет горизонтальную линию.  

54 шестнадцатеричное
124 восьмеричное
1010100 двоичное
84 десятичное

Добро пожаловать в абзац в рамочке. Надеемся, вам всем тут понравится.

При помощи конструкции @ <. >можно указать разделитель столбцов. Эта команда удаляет пробел между столбцами и заменяет его на то, что включено в фигурные скобки. Одно из частых использований этой команды показано ниже, при рассказе о проблеме выравнивания по десятичной точке. Другое возможно использование — для подавления ведущего пробела в таблице при помощи @<> :

нет ведущего пробела

ведущий пробел слева и справа

  Поскольку встроенный способ выровнять числовые столбцы по десятичной точке отсутствует 13 , мы можем <<обмануть>> T E X и добиться этого при помощи двух столбцов: выровненной вправо целой части и выровненной влево дробной. Команда @ <.>в строке \begin заменяет нормальный пробел между столбцами просто на <<.>>, давая эффект одного столбца, выровненного по десятичной точке. Не забудьте заменить в ваших числах точку на разделитель столбцов ( & )! Метку столбца можно поместить над нашим числовым <<столбцом>> командой multicolumn:

Выражение с Значение
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 для плавающих объектов.

называемый спецификацией размещения . Этот параметр используется для указания L A T E X, куда можно перемещать плавающий объект. Спецификация размещения конструируется путем собирания в строчку ключей размещения плавающего объекта .

 

Таб.: Ключи размещения плавающего объекта
 
Ключ Разрешает помещать объект .
h здесь же , в том самом месте текста, где он появился. Обычно используется для маленьких объектов.
t наверху страницы
b внизу страницы
p на специальной странице , содержащей только плавающие объекты.
! не рассматривать большинство внутренних параметров , которые могут предотвратить размещение этого объекта.

Например, таблицу можно начать следующей строкой:

Спецификация размещения   [!hbp] позволяет L A T E X разместить таблицу прямо по месту ( h ), или внизу той же страницы ( b ), или на выделенной странице ( p ), и все это — даже если это будет смотреться не так уж хорошо ( ! ). Если никакой спецификации размещения не задано, стандартные классы предполагают [tbp] . LaTeX размещает каждый встреченный плавающий объект в соответствии с заданной автором спецификацией. Если объект нельзя поместить на текущей странице, он откладывается, помещаясь в очередь иллюстраций  или в очередь таблиц  14 . Когда начинается новая страница, L A T E X проверяет, можно ли заполнить специальную страницу плавающими объектами из очередей. Если нет, то первый объект из каждой очереди считается только что встретившимся в тексте: L A T E X снова пытается разместить их в соответствии с их спецификациями (за исключением `h’, что уже невозможно). Новые встреченные в тексте плавающие объекты помещаются в соответствующие очереди. L A T E X сохраняет порядок, в котором встретились плавающие объекты соответствующего типа. Поэтому иллюстрация, которую не удается разместить, отталкивает все дальнейшие иллюстрации к концу документа. Следовательно:

После объяснения этих механизмов остается еще несколько замечания про окружения table и figure. Командой

вы можете задать заголовок для объекта. Увеличивающийся номер и строка <<Рисунок>> или <<Таблица>> добавляются L A T E X.

listoffigures и listoftables

работают аналогично команде \tableofcontents , печатая список иллюстраций или таблиц, соответственно. В этих списках заголовки повторяются целиком. Если вы используете длинные заголовки, то вы должны предоставить их краткий вариант для включения в списки. Это делается помещением краткого варианта в квадратные скобки после команды \caption .

При помощи \label и \ref можно делать ссылки из вашего текста на плавающий объект.

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

В этом примере 15 L A T E X будет очень сильно ( ! ) стараться разместить иллюстрацию прямо по месту ( h ). Если это невозможно, он попытается разместить ее внизу страницы ( b ). Если ему не удастся поместить иллюстрацию на текущей странице, он выяснит, можно ли создать страницу плавающих объектов, содержащую эту иллюстрацию и, возможно, некоторые таблицы из очереди таблиц. Если для отдельной страницы материала еще не накопилось, L A T E X начинает новую страницу и снова рассматривает иллюстрацию, как если бы она только что появилась в тексте.

В определенных случаях может быть необходимо использовать команду

clearpage или даже cleardoublepage

Она указывает L A T E X немедленно разместить все плавающие объекты, остававшиеся в очередях, и затем начать новую страницу. cleardoublepage, помимо этого, начинает новую левостороннюю страницу.

Позже вы узнаете, как включать в ваши документы L A T E X рисунки в формате P OST S CRIPT .

Научный форум dxdy

Я хочу чтобы Latex автоматический написал в мести единичка самой главы например как рисунка
Изображение

i Тема перемещена из форума «Software» в форум «TeXнические обсуждения»

Последний раз редактировалось Red_Herring 22.03.2014, 02:54, всего редактировалось 1 раз.

См. образец [lipsum нужен просто для заполнения «мусором»]

Что не получается? Мой код или что-то другое? И какую ошибку? Процитируйте, а лучше покажите log. Я не ясновидящий, к сожалению

Выкиньте все \usepackage и все \lipsum[2-3] нафиг! Они нужны только для наполнения мусором.

Тоже возможно (если кодировка документа такая). Правда, непонятно, почему продолжать использовать кодировку, поддерживающую только русский (+ ASCII латинский), а не вдобавок украинский, казахский, французский и немецкий,….

Последний раз редактировалось Red_Herring 22.03.2014, 10:40, всего редактировалось 1 раз.

[quote http://dxdy.ru/post839558.html#p839558″ >сообщении #839558″] andrewkhv
Спасибо получился! но намоем преамбула что то дает ошибку.
Пожалуйста помогите что надо добавит на маем преамбул. Вот мой преамбул

Опять таки мы не ясновидящие: надо указывать ошибку. По крайней мере одна очевидна:

А что Вы нумеровать-то собрались? lemma как следует то неопределена (и соответствующего счетчика нет)!
Вот после того как загружен amsthm u Вас будет

то это будет работать. Разумеется надо будет писать

И также с теоремами, следствиями и т.д. и т.п. А вообще-то Ваша преамбула напоминает городскую свалку. Какие-такие очумелые ручки ЭТО соорудили? Кстати \def очень опасная команда и рекомендуется не использовать кроме крайней необходимости. Замените на \newcommand или если будет ошибка, что команда уже определена на \renewcommand .

Зачем пакет graphics если есть graphicx? xcolor лучше чем color.

Да вы что на a5 страничках печатать собрались (а5 это обычный а4 разрезанный пополам)

Red_Herring
Спасибо за такие замечание. Я исправил на некоторый ваше замечаний.

Но мой Вопрос такой и осталось. Для того чтобы в мести 1. показался Глава 1, что надо делать?

Red_Herring
Спасибо за такие замечание. Я исправил на некоторый ваше замечаний.

Но мой Вопрос такой и осталось. Для того чтобы в мести 1. показался Глава 1, что надо делать?

Смотрите код, который я поставил и введите те же самые пакеты и определения в свою преамбулу.

Осваиваем LaTeX за 30 минут

LaTEX (произносится как «лэйтех» или «латех») представляет собой инструмент для создания профессиональных документов. В его основе лежит парадигма редактирования WYSIWYM (что вижу, то и подразумеваю), то есть от пользователя требуется сосредоточиться только на содержимом документа, оставив его форматирование программе. Вместо ручного распределения текста по странице, как это делается в Microsoft Word или LibreOffice Writer, можно просто его вводить, позволив LaTeX заняться остальным.

Зачем нужен LaTeX?

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

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

Одна из наиболее веских причин, по которой многие используют LaTeX, заключается в отделении содержания документа от его стиля. Это означает, что после написания содержимого, можно с легкостью изменять его внешний вид. Аналогичным образом, можно создать один стиль документа и использовать его для стандартизации внешнего вида других.

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

Пишем первый документ

Изначально нам потребуется новый проект, начать который можно либо создав файл .tex , либо через Overleaf. Возьмем простейший пример:

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

Первая строка объявляет тип документа, называемый классом. Класс определяет общее представление документа. Для разных типов документов требуются разные классы, то есть для CV/резюме будет использоваться свой класс, а для научного труда свой. В данном случае классом является article , самый простой и распространенный в LaTeX. Другие типы документов, с которыми вам, возможно, придется работать, могут потребовать использования других классов, например book или report .

После этого мы пишем содержание документа, заключенное в теги \begin и \end , представляющие его тело. Можете начать писать здесь текст и при желании вносить в него изменения.

Чтобы увидеть результат этих изменений в PDF, документ нужно скомпилировать. В Overleaf для этого нужно просто нажать Recompile. (Также можете настроить проект на автоматическую перекомпиляцию в процессе редактирования файлов, нажав на небольшую стрелку рядом с кнопкой Recompile и установив Auto Compile как On).

Если вы используете базовый текстовый редактор, например gedit, emacs, vim, sublime, блокнот и пр., то нужно будет компилировать документ вручную. Для этого просто выполните в терминале pdflatex <your document> . Подробнее об этом процессе можете почитать здесь.

При использовании специального редактора LaTeX вроде TeXmaker или TeXworks нужно просто нажать кнопку Recompile. Если не знаете, где она находится, обратитесь к документации.

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

Преамбула документа

В предыдущем примере текст вводился после команды \begin . Все, что содержится в файле .tex до этого места, называется преамбулой. В ней можно определить тип создаваемого документа, используемый язык, нужные библиотеки (подробнее позже) и ряд других элементов. Вот пример типичной преамбулы:

А вот подробное разъяснение каждой строки:

Как уже говорилось, этой командой определяется тип документа. В нее также можно передавать дополнительные параметры, включенные в квадратные скобки через запятую. В данном примере эти параметры устанавливают размер шрифта ( 12pt ) и размер страницы ( letterpaper ). Конечно же, для шрифта можно установить и другие размеры ( 9pt , 11pt , 12pt ), но если размер не задан, то предустановленным значением будет 10pt . Что же касается размера страницы, то для него доступны варианты a4paper и legalpaper . Подробнее об этом можете почитать в статье Page size and margins.

Эта команда задает кодировку документа. Ее можно опустить либо изменить на другой вариант, но рекомендуется использовать именно utf-8. Если вам не требуется конкретно другая кодировка, либо вы просто не уверены, то добавьте эту строку во вступление.

Добавление заголовка, автора и даты

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

Здесь размещается имя автора. При желании можно также добавить в фигурные скобки следующую команду:

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

Дату можно ввести вручную или использовать команду \today , чтобы она обновлялась автоматически при компиляции документа.

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

Теперь, когда вы присвоили документу заголовок, автора и дату, можно вывести в нем эту информацию с помощью команды \maketitle . Ее нужно включить в ту часть тела документа, где вы хотите видеть заголовок.

Добавление комментариев

Как и в случае с любым кодом, зачастую будет нелишним добавлять комментарии. Комментарии – это включаемые в документ текстовые элементы, которые в итоге не отображаются и никак не него не влияют. Они помогают организовывать работу, делать пометки или закомментировать (отключать) строки/разделы при отладке. Чтобы создать комментарий в LaTeX, просто наберите символ % в начале строки, как показано ниже:

Жирный, курсив и подчеркивание

  • Жирный текст в LaTeX пишется внутри команды \textbf <. >;
  • Курсив пишется с помощью команды \textit <. >;
  • Подчеркнутый текст оформляется с помощью команды \underline <. >.

А вот еще одна очень простая команда: \emph <. >. Выполняемые ей для аргумента действия определяются контекстом – внутри обычного текста его выделенная часть переводится в курсив, а при использовании команды в курсивном тексте происходит обратное.

Более того, некоторые пакеты, например Beamer, изменяют поведение команды \emph .

Добавление изображений

В Overleaf для добавления изображений их сначала нужно будет загрузить.

LaTeX не способен обрабатывать изображения самостоятельно, поэтому приходится использовать сторонний пакет. С помощью пакетов можно измерять предустановленный вид документа LaTeX и совершать другие действия. В данном случае нам нужно добавить в документ изображение, для чего потребуется библиотека graphicx , которая привнесет новые команды: \includegraphics <. >и \graphicspath <. >. Для использования graphicx включите во вступление следующую строку: \usepackage .

Команда \graphicspath < > сообщает LaTeX, что изображения находятся в каталоге images в текущей директории.

Команда \includegraphics , в свою очередь, уже конкретно добавляет изображение в документ. Здесь universe представляет имя файла, содержащего изображение, без его расширения, поэтому universe.png стал просто universe . Имя файла изображения не должно содержать пробелов и многоточий.

Примечание: расширение файла включить можно, но лучше его опустить. В этом случае LaTeX будет искать все поддерживаемые форматы. Также при загрузке файлов обычно рекомендуется указывать расширение в нижнем регистре.

Подписи, метки и ссылки

С помощью окружения figure изображения можно подписывать, размечать, а также делать на них ссылки:

В примере выше показаны три важные команды:

Примечание: если вы используете подписи и ссылки на собственном компьютере, то вам потребуется скомпилировать документ дважды, чтобы они сработали. Overleaf делает это автоматически.

Создание списков

Списки в LaTeX создаются очень просто. Делается это с помощью различных окружений списков. Окружения – это разделы, которые требуется представить отличным от остальной части документа образом. Начинаются они с \begin <. >, а завершаются на \end <. >.

Существует два основных типа списков: упорядоченные и неупорядоченные. Каждый из них реализуется в собственном окружении.

Неупорядоченные списки

Неупорядоченные списки создаются пространством itemize. Каждая запись должна предваряться управляющей последовательностью \item , как показано ниже:

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

Упорядоченные списки

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

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

Добавление математических выражений

Одно из главных удобств LaTeX состоит в простоте использования математических выражений. Этот инструмент предоставляет два режима их написания: режим inline (встраивание) и режим display (отображение). Первый используется для написания формул, являющихся частью текста. Второй позволяет создавать выражения, не входящие в состав текста или абзаца, а размещаемые на отдельных строках. Вот пример режима встраивания:

Для размещения уравнений в режиме встраивания используйте один из следующих разграничителей: \( . \) , $ . $ или \begin . \end . Работают они равнозначно, поэтому выбор определяется лишь собственным предпочтением.

Режим отображения предлагает два варианта: без нумерации и с нумерацией.

Для вывода уравнений в режиме отображения используйте один из следующих разграничителей: \[ . \] , \begin . \end или \begin . \end . Применять $$ . $$ нежелательно, так как он может внести несогласованные интервалы, а также коряво работать с некотороми математическими пакетами.

Важно: окружение equation* предоставляется в виде стороннего пакета. Подробнее об этом рекомендую почитать статью по amsmath.

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

Возможности использования математики в LaTeX безграничны, и перечислить их все здесь просто нереально. Так что рекомендую дополнительно почитать соответствующие материалы по теме:

    (Математические выражения) (Сноски и индексы) (Скобки и кавычки) (Дроби и многочлены) (Выравнивание уравнений) (Операторы) (Интервалы в математическом режиме) (Интегралы, суммы и пределы) (Стиль отображения в математическом режиме) (Список греческих букв и математических символов) (Математические шрифты)

Базовое форматирование

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

Аннотации

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

Абзацы и перевод строки

Когда при написании документа вам требуется начать новый абзац, нужно дважды нажать «Ввод», вставив таким образом двойную пустую строку. Имейте ввиду, что отступ абзацев LaTeX делает автоматически.

Чтобы создать новую строку без создания очередного абзаца нужно вставить точку разрыва строки, для чего используется \\ (двойной обратный слэш, как в примере) или команда \newline.
При этом не следует использовать несколько \\ или \newline для «имитации» абзацев с увеличенными интервалами между ними, так как это приведет к конфликту с внутренними алгоритмами LaTeX. Для подобного эффекта рекомендуется использовать двойные пустые строки, после чего добавлять во вступление \usepackage .

Дополнительную информацию по теме можно найти в статье Paragraphs and new lines.

Главы и разделы

Команды для организации документа варьируются в зависимости от его типа. Простейшей формой организации выступает деление на разделы, доступное во всех форматах.

Команда \section<> отмечает начало нового раздела, а внутри скобок содержит его имя. Нумерация разделов происходит автоматически и может быть отключена добавлением символа * в команду создания раздела: \section*<> . Можно также использовать подразделы, \subsection<> и даже подподразделы, \subsubsection<> . Ниже перечислены основные уровни вложенности:

Обратите внимание, что \part и \chapter доступны только в классах report и book .

Более подробный разбор структуры документа описан в статье Sections and Chapters.

Создание таблиц

Простые таблицы

Вот простейший пример создания таблицы:

По умолчанию для создания таблиц в LaTeX используется окружение tabular . В этом окружении нужно указывать параметр, в нашем случае . В таком виде он сообщит LaTeX, что в таблице будет три столбца, и текст внутри этих столбцов нужно разместить по центру. Можно также использовать r для выравнивания текста по правому краю и l для выравнивания по левому.

Для указания разрывов в записях таблицы используется символ & . Количество символов выравнивания в каждой строке всегда должно быть на один меньше, чем количество столбцов. Чтобы перейти к очередной строке таблицы используется команда создания новой строки, \\ . Всю таблицу мы заключаем в окружение center , чтобы она размещалась по центру страницы.

Добавление границ

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

Границы можно добавлять при помощи команды рисования горизонтальной линии \hline и параметра рисования вертикальной линии | .

  • < |c|c|c| >: эта команда объявляет, что в таблице будут использованы три столбца, разделенные вертикальными линиями. На необходимость вертикального разделения указывает символ |.
  • \hline : эта команда вставит горизонтальную линию. В примере выше горизонтальными линиями мы ограничили верх и низ таблицы, но при желании ими можно разделить ее всю.

Порой создание таблиц в LaTeX вызывает затруднения, поэтому вам может потребоваться обратиться к онлайн-инструменту TablesGenerator.com, чтобы экспортировать код LaTeX для окружения tabular . Копировать и вставлять данные из приложений электронных таблиц можно через опцию FilePaste table data.

Подписи, метки и ссылки

Как и изображения, таблицы можно пописывать и делать на них ссылки. Единственное отличие – это использование вместо figure окружения table .

Примечание: если вы используете подписи и ссылки на своем компьютере, то для работоспособности ссылок нужно будет скомпилировать документ дважды. Overleaf делает это автоматически.

Добавление содержания

Процесс создания содержания очень прост и реализуется командой \tableofcontents :

Разделы, подразделы и главы включаются в содержание автоматически. Чтобы добавить записи вручную, например для указания непронумерованного раздела, используйте команду \addcontentsline , как показано в примере.

Скачивание готового документа

Завершенный документ в формате PDF можно скачать через расположенное слева меню, кликнув PDF.

Есть и более быстрый способ через нажатие кнопки Download PDF в окне просмотра PDF, как показано ниже:

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *