Как сделать список в latex
Перекрестные ссылки
Чтобы сослаться на отмеченный объект используется команда \ref <имя>. На ее месте в тексте документа будет напечатан номер, присвоенный объекту LaTeX’ом. Так, поставив ссылку на указанную выше формулу мы увидим: (1), хотя в исходном тексте документа стояло: \ref
Наконец, команда \pageref <имя>печатает номер страницы, на которой расположен объект с данным именем.
и заменит команды \ref <неизвестное_имя>на ‘??’, так что неопределенную ссылку легко будет обнаружить.
Обработка документа, содержащего ссылки, происходит в два этапа: сначала компилятор сохраняет имена объектов (метки) и рассчитывает соответствующие им номера, затем он заменяет команды \ref этими номерами. Поэтому документ со ссылками необходимо транслировать дважды. Если вы сделаете это только один раз, то LaTeX будет использовать информацию, которую он собрал во время предыдущей трансляции, и которая могла устареть. Однако LaTeX предупредит вас об этом:
получим в готовом документе:
Поскольку одни и те же команды используются для ссылок на разные виды объектов, то в больших документах может возникнуть путаница, связанная с дублированием имен меток.
Допустим, мы хотим создать рисунок:
Так как рисунок создан для примера, то использование метки sample для него, как и для указанной выше формулы, выглядело бы логично. В результате возникло бы дублирование меток;
Мы избежали этой проблемы, добавив к метке префикс, указывающий на тип объекта. Префикс может быть произвольной строкой, но существуют общепринятые соглашения. Они перечислены в таблице.
Префикс: | Объект |
---|---|
chap: | глава (chapter) |
sec: | раздел (section) |
fig: | рисунок (figure) |
tab: | таблица (table) |
eq: | уравнение (equation) |
lst: | исходный код (listing) |
itm: | пункт нумерованного списка (item) |
Следуя этим соглашениям, обозначим ссылку на рисунок как \label
Все, о чем мы здесь до сих пор говорили, касалось встроенных возможностей LaTeX. Существенно расширить их можно, подключив пакет hyperref. Например, если, сославшись на уравнение, вы хотите указать вместо его номера какой-то текст, это можно сделать с помощью команды \hyperref :
Для приведенного выше уравнения это может выглядеть так:
Как оформить статью в LaTeX
Потребность набрать статью в TeX/LaTeX всегда возникает срочно. И срочность эта тем выше, чем меньше будущий автор знаком с LaTeX (или TeX). Поэтому не будем тратить время на исторический экскурс, установление разницы между TeX и LaTeX, и тонкости произношения названий, а сразу приступим к оформлению статьи.
Для этого нужно: 1) установить TeX и редактор для работы с ним, например, Texmaker или TeXstudio (я использую последний) или 2) воспользоваться онлайновым TeX-редактором, например Overleaf или ShareLaTeX (потребуется бесплатная регистрация).
Статья, которую мы хотим написать, выглядит так
Будем оформлять её постепенно.
1. Создадим простейший документ LaTeX:
Всё, что находится между \begin
Перед \begin
Она говорит, что созданный документ — статья (article).
В LaTeX существует множество классов, задающих то или иное оформление документа: статья, отчёт, книга, презентация и т. п.
Многие солидные журналы предлагают собственные классы для оформления статей. Например, публикации в журналах Американского физического общества оформляются при помощи класса revtex:
(четвёрка означает номер версии класса).
2. Добавим в документ произвольный текст, оттранслируем его
Как видно, набранный на русском языке текст не отображается в готовом документе. Исправим это.
3. Добавим в преамбулу следующие строки
4. При наборе текста, абзацы нужно разделять пустой строкой. В качестве примера наберём следующий текст:
5. Теперь укажем название ( \title ), автора ( \author ) и дату создания статьи ( \date ):
Разумеется, можно указывать не все, а только часть этих данных.
Команда \maketitle отображает указанные данные в документе (можете убрать её и посмотреть, что получится).
В качестве даты мы указали сегодняшнее число ( \today ), поэтому результаты трансляции у нас с вами будут немного отличаться.
6. Добавим команды, управляющие начертанием шрифта и его размером:
Поначалу кажется, что все эти команды будет трудно запомнить. На практике же, то что используются часто, запоминается сами собой. Для остальных команд существует меню
и панели инструментов
которые есть в любом редакторе для работы с TeX.
7. Наберём следующий текст:
8. Займёмся структурой документа. Мы уже немного умеем набирать текст — вот и поместим его в отдельный раздел. Остальные разделы зарезервируем под примеры вставки формул и рисунков.
так, чтобы получилось следующее:
Вынесенные в отдельный абзац, так называемые выключные формулы, окружаются \[ и \] или \begin
Добавим в раздел «Немного математики» следующий текст:
TeX автоматически сжимает внутритекстовые формулы так, чтобы они занимали меньше места по высоте. Вы можете проверить это, поместив внутрь абзаца интеграл из последней формулы.
Чтобы упростить набор формул, в редакторах TeX’а существуют панели инструментов с «подсказками»:
10. Рисунки, выполненные в виде файлов графических форматов (PNG, JPEG, PDF и т.п.), вставляются в документ при помощи команды \includegraphics :
В нашем случае, помимо вставки рисунка, выполняется уменьшение его размеров в 2 раза.
Файл TeX_lion.jpg должен находится в одном каталоге с текстом статьи.
Чтобы всё это сработало, нужно указать в преамбуле документа:
— что означает «подключить пакет graphicx».
Пакеты — это тематические наборы функций, расширяющие возможности TeX в том или ином направлении. Мы уже использовали их, когда нужно было обеспечить поддержку кириллицы.
11. Вставленный рисунок нужно центрировать и добавить к нему заголовок. Сделать это можно, поместив нужные команды в окружение figure :
12. Чтобы сослаться на какой-то объект — рисунок, таблицу, раздел или уравнение — нужно пометить этот объект командой \label <имя_объекта>. Ссылка выполняется командой \ref <имя_объекта>.
Изменим текст раздела Иллюстрации следующим образом:
Обработка документа со ссылками происходит в два этапа: сначала транслятор сохраняет имена объектов и рассчитывает соответствующие им номера, затем он заменяет команды \ref этими номерами. Поэтому такой документ нужно, вообще говоря, транслировать дважды. Некоторые редакторы TeX’а достаточно «умны» и автоматически транслируют документ нужное число раз.
13. Статья почти готова. Теперь можно добавить аннотацию
и заняться оформлением документа в целом, то есть размерами шрифтов, полей страницы и т. п.
Подобные классы обычно основываются на базовом классе article, к которому добавлены некоторые настройки.
В качестве примера мы настроим: 1) базовый размер шрифта, а также 2) размер страницы и величину полей документа.
Увеличим размер базового шрифта с 10 пунктов (pt), принятых по умолчанию, до 12 пунктов
При этом соответственно увеличатся и все относительные размеры, заданные командами вроде \tiny и \Huge ).
Настройку параметров страницы выполним с помощью пакета geometry:
a4paper задаёт размер страницы (А4), остальные параметры задают размеры полей документа: левого, правого, верхнего и нижнего (в сантиметрах).
Транслируем документ и получим
— то, что и требовалось.
Мы можем легко изменить оформление документа, использовав для этого другие классы. Например, разработанный в Германии пакет KOMA-Script предлагает использовать для оформления статей класс scrartcl.
Заменив в \documentclass article на scrartcl, получим
15. Примеры оформления статей и правила хорошего «типографического» тона можно найти в руководстве, подготовленном издательством ФИЗМАТЛИТ, и сборнике примеров.
Читайте также
Комментарии
Дмитрий Храмов
Компьютерное моделирование и все, что с ним связано: сбор данных, их анализ, разработка математических моделей, софт для моделирования, визуализации и оформления публикаций. Ну и за жизнь немного.
Каталог классов и стилей LaTeX. Часть 1. Каталог пакетов для набора текста
Если для поставленной задачи существует готовое решение, то им следует воспользоваться, но предварительно это решение необходимо найти и изучить документацию по нему. Каталог пакетов TeX Live 2013 предназначен для решения первой проблемы, но вторую проблему вам придётся решать самостоятельно.
В данном цикле статей мы постараемся помочь и в решении второй проблемы, представив подробный список пакетов для решения самых разных задач, возникающих в процессе создания, форматирования и печати текстов в системе LaTeX. Как правило, каждый пакет упоминается не более одного раза и только в одном разделе, и если вам не удалось обнаружить необходимую функциональность, например, рисование диаграмм, в разделе «Математика», то имеет смысл поискать в разделе «Графики, гистограммы и диаграммы».
В данном цикле статей упомянуты не все пакеты TeX Live 2013, так мы проигнорируем пакеты, которые не могут использоваться совместно с русским языком. Часть пакетов пропущена по причине невнятной документации, из-за наличия более современной или более популярной альтернативы или из-за своей недружелюбности к пользователю. Структура каталога создавалась с оглядкой на структуру книги Евгения Балдина «Компьютерная типография LaTeX».
Каталог пакетов для набора текста
Текст может выглядеть и как плавный поток равнинной реки или быть неотличимым от горного буйного течения. Для этого существуют пакеты, которые позволяют влиять на представление текста.
Интернационализация и локализация
LaTeX с самого начала создавался с учётом поддержки текстов на различных языках. Поэтому существует ряд стилей, предназначенных для создания документов на языках, отличных от английского.
Русификация
Пунктуация
В первом приближении LaTeX правильно выставляет все знаки препинания. С помощью пакета microtype можно организовать даже висячую пунктуацию, но для некоторых задач этого может оказаться недостаточным и тогда на помощь придут следующие пакеты.
Выделение текста
Если отдельные фрагменты текста должны выделяться по сравнению с остальными, для этого можно воспользоваться стилями, перечисленными ниже. Но в разделе «Боксы» тоже можно найти интересные способы выделения фрагментов текста.
Разделительные линии
Разделительные линии помогают отделять фрагменты текста друг от друга.
Форматирование параграфа
Рассмотрим стили, доступные для форматирования параграфов:
Cтили для определения списков
Списки используются для оформления перечислений разного рода элементов.
Неформатированный текст
Для LaTeX пробелы и переносы в параграфе не имеют значения, система сама знает, как лучше переносить текст, но некоторые фрагменты текста нужно отобразить один в один или не отображать совсем.
Цитирование и эпиграфы
При работе над текстом часто возникает необходимость выделить фрагмент текста в качестве цитаты.
Акронимы
Зачастую красивое, но чересчур длинное название приходится сокращать с помощью акронимов – ООН – Организация Объединённых Наций.
Рубрикация
Задача автора – разделить текст на разделы согласно логике повествования, задача LaTex – обеспечить оформление этих разделов
Титульный лист
Титульный лист — это витрина документа, и его оформление в большинстве случае не поддаётся автоматическому форматированию.
Боксы
Боксы — это элементарный строительный материал для TeX, так как система сама определяет их, прежде чем склеить в строки, абзацы, а затем страницы, но боксы можно создавать и самостоятельно.
Заключение
В этой статье мы только начали знакомиться с многообразием стилей, доступных в каталоге пакетов TeX Live 2013.
Начинать необходимо с самых базовых возможностей, относящихся к непосредственному форматированию текста, но в следующих статьях будут упомянуты пакеты, предназначенные для решения узкоспециализированных задач.
Создание таблиц в LaTeX
В редакторах документов LaTeX есть визуальные средства для создания таблиц, подобные имеющимся в MS Word. Для оформления сложных (в смысле форматирования) таблиц существует МНОЖЕСТВО пакетов (вот лишь краткая сводка)
Здесь мы рассмотрим только создание таблиц: вручную, визуальными средствами и с помощью импорта данных.
Вручную: tabular и table
Первая строка tabular имеет вид:
Аргумент столбцы задает количество столбцов, выравнивание текста в них и использование вертикальных линий в качестве границ. Реализуются это с помощью следующих символов:
обозначение | значение |
---|---|
l | выравнивание по левому краю |
с | выравнивание по центру |
r | выравнивание по правому краю |
p | колонка заданной ширины с текстом, вертикально выровненным по верхнему краю строки |
| | вертикальная линия |
|| | двойная вертикальная линия |
Внутри окружения tabular записываются строки таблицы, разделенные на ячейки. Для этого используются следующие команды:
обозначение | значение |
---|---|
& | разделитель столбцов |
| конец строки (Можно задать дополнительный пробел перед следующей строкой, указав после величину пробела в квадратных скобках. Например: [6pt] ) | |
\hline | горизонтальная линия |
Примеры:
Пробелы между символами, управляющими отображением столбцов, не нужны, но есть смысл ставить их для лучшей читаемости.
По умолчанию столбцы таблицы будут растягиваться в ширину независимо от того, поместится ли готовая таблица на страницу или нет. Задать ширину столбца можно с помощью p <'ширина'>. Ширина указывается в единицах, понятных LaTeX’у, например, в пунктах (pt) или сантиметрах (cm), или в долях ширины текста ( \textwidth ).
Необязательный параметр положение используется для того, чтобы указать расположение таблицы по вертикали относительно базовой линии окружающего текста. Это может быть полезно, если таблица не вынесена из текста, как это обычно бывает, а является частью абзаца. Чтобы указать расположение используются следующие символы:
обозначение | значение |
---|---|
b | выравнивание по нижнему краю |
с | выравнивание по центру (по умолчанию) |
t | выравнивание по верхнему краю |
Визуальное редактирование: Texmaker, Kile
Аналогичное средство есть и в редакторе Kile:
В результате в текст документа будет вставлено готовое окружение tabular с данными.
Если устанавливать редактор не хочется, а упростить создание таблиц нужно, то к вашим услугам онлайновый генератор таблиц.
Импорт данных: csvsimple, pgfplotstable, datatool.
Пусть имеется файл данных testdata.csv
который нужно импортировать в таблицу LaTeX.
Преобразование файла данных в таблицу можно выполнить с помощью пакета csvsimple :
«`latex:) \documentclass
Заметьте, что мы не только сделали новые заголовки, но и изменили порядок следования столбцов, не меняя ничего в файле данных.
Как видим csvsimple вовсе не так прост. Однако пакет pgfplotstable предлагает еще больше возможностей. Начнем с простейшего примера, в котором аргументами команды \pgfplotstabletypeset являются имя файла данных и разделитель ( col sep ) — запятая ( comma ):
По умолчанию данные округляются до сотых и выравниваются по центру столбца.
Обратите внимание на индивидуальный стиль первого столбца и дополнение числа до требуемого количества знаков после запятой нулями.
Мы вновь переставили столбцы местами. Кроме того, обратите внимание на стили горизонтальных линий, заданные для первой и последней строк таблицы.
Пакет datatool позволяет не только создавать таблицы на основе импортируемых данных, но и строить графики, столбчатые и круговые диаграммы. Здесь самое время остановить перечисление, поскольку объем руководства пользователя к пакету превышает 200 страниц. Вот пример отображения страницы, импортированной с помощью datatool
До сих пор мы рассматривали импорт данных, не содержащих символы кириллицы. Пусть в нашем распоряжении файл satellites.csv такого содержания:
ИСЗ | Дата запуска | Масса, кг Спутник-1 | 4 октября 1957 | 83,6 Спутник-2 | 3 ноября 1957 | 508,3 Эксплорер-1 | 1 февраля 1958 | 21,5
Ничто не мешает нам поместить полученную таблицу в окружение table (то же самое можно было сделать и во всех предыдущих примерах импорта). Не забудем указать основной язык документа ( \selectlanguage ) для оформления заголовка таблицы.
Следует отметить, что при работе с файлами данных, содержащими кириллицу могут возникать проблемы. Как правило, они связаны с различием кодировок документа (например, UTF8) и файла (например, windows-1251).
Кроме указанных пакетов, есть немало сторонних инструментов для конвертации таблиц в LaTeX:
Читайте также
Комментарии
Дмитрий Храмов
Компьютерное моделирование и все, что с ним связано: сбор данных, их анализ, разработка математических моделей, софт для моделирования, визуализации и оформления публикаций. Ну и за жизнь немного.