В этом блоге публикуются заметки и решения, найденные в процессе работы, освоения и жизни в дистрибутиве Debian GNU/Linux.
Как оформить текст в LaTeX: вёрстка текста
Этот пост является частью большой статьи «Как оформить диплом в LaTeX?», которую написал virens, ведущий блога «Записки дебианщика».
Вёрстка текста В разных книжках по ТеХу приведена просто прорва всякого хлама: вёрстка стихов, каких-то невообразимых цитат и прочей экзотики. Попробуйте отыскать на этом кладбище такую простую вещь, как межстрочный интервал или текст в верхнем регистре!
Теперь обещанные житейские приёмы работы в LaTeX. Поставить неразрывный пробел в ЛаТеХе можно тильдой
. Например, полезно ставить неразрывный пробел при цитировании или ссылках, чтобы ссылки не уезжали на другие строки. Например: это ссылка
Пробелы внутри формул. Если выбранные TEX’ом интервалы внутри формул вас не удовлетворяют, можно их изменить с помощью специальных команд. Важнейшими являются \, для очень маленьких пробелов, \; для средних, \quad и \qquad для больших пробелов, а также \! для уменьшения интервала.
Редко, однако приходится в некоторых словах ставить ударения, к примеру, во фразе «. характеризуется большими шумами. ». Ударение в LaTeX можно поставить так: перед нужной буквой ставим обратный слеш и апостроф \’ (это символ, который находится рядом с клавишей Enter). И даже так любимую Евгением Балдиным букву Ё можно сделать из обычной е так: \» e.
Более того, иногда требуется сократить межстрочный интервал в LaTeX в библиографии. Делается это так [источник]: включаем пакет setspace и наслаждаемся результатом сокращения лошадиных расстояний в оглавлении:
\begin < spacing ><2.5> This paragraph has \\ huge gaps \\ between lines. \end
Скачиваем и устанавливаем WinEdt + MikTex или ставим Texmaker
Общее оформление документа
Начинается каждый документ с объявления типа документа (например article), размера шрифта и других атрибутов.
Далее нужно подключать различные пакеты, без них мало что можно будет сделать.
Если Вы читаете эту статью со смартфона, имейте в виду, что никаких переносов делать не надо. Пишите все команды слитно.
Во вставляемых листах не нужно отдельно писать documentclass и прочее, по логике это просто кусок текста, который вставляется в конечную страницу.
\tableofcontents
Вставляет автоматически сгенерированное оглавление. (каждый раз, когда тегом \section или \subsection или \subsubsection вводится новая глава LaTeX запоминает это и потом сам создает оглавление)
\section <Введение>
Первая глава будет называться «Введение»
\subsection <Состояние ядерной энергетики в мире>
Подпункт первой главы
\end
Заканчиваем документ
Таблицы и изображения имеют свойства появляться не там куда вы их хотите поместить, а там, куда их размещает LaTeX. Теоретически с этим можно бороться с помощью одного из параметров:
Параметры [h], [h!], [H] всё более настойчиво будут рекомендовать LaTeXу разместить объект именно там, где он и стоит.
Но [H] у меня воспринимается за ошибку а остальные почти никакого эффекта не дают. Поэтому после некоторых рисунков приходится вставлять тег
— который воспринимается LaTeXом как конец той области куда можно вставлять объекты, введенные в код выше.
такого действия не имеет.
Как вставить изображение LaTeX
Необходимый минимум знаний
Изображения нужно предварительно конвертировать в формат .eps.
Это означает, что .jpg, gif, .png и другие форматы работать не будут.
Про то как конвертировать в eps c помощью ImageMagick вы можете прочитать в моей статье jpg и png в eps
Также конвертировать в eps можно с помощью GIMP и другими способами
Не забывайте конвертировать изображения.
\caption <Название изображения номер один.\cite> \label
Название графика и ссылка на него.
Дополнительная информация
Для удобства изображения можно хранить в отдельных каталогах. Например, по отдельному каталогу на каждую главу диплома. Все каталоги нужно перечислить, для того чтобы LaTeX смог их найти.
Самое адекватное описание этой операции я нашёл в книге Роженко А.И. «Искусство верстки в LaTeXe»
Добавление таблиц в LaTeX
\begin
— этот тег начинает таблицу
\caption <Название таблицы \cite>
— название таблицы и ссылка на источник
\label
— метка, на которую потом можно будет ссылаться
\begin <|c|c|c|>\begin
— сама таблица начнётся после этого тега; три столбца, выравненные по центру
\hline
— рисует горизонтальную линию
Страна & число & Мощность (МВт (эл)) \\ \hline
— первая строка
Аргентина & 1 & 692 \\ \hline
— вторая строка
\end
— заканчивает таблицу
\end
— заканчивает таблицу
Таблица, которая задана с помощью
Может занять слишком много места и не поместиться по ширине, для того, чтобы избежать этого, вместо простого выравнивания можно зафиксировать ширину столбцов
Теперь слишком широкий текст автоматически будет переноситься на следующую строку внутри столбца.
В WinEdt 6.0 есть кнопка, с помощью которой можно быстро вставлять таблицы нужного размера.
Однако, сперва нужно использовать теги
\begin
\caption <Название таблицы>\label
Чтобы объединить столбцы можно воспользоваться тегом
— где <2>— это число столбцов, которые нужно объединить <|c|>— выравнивание по центру
Сегодня я хочу вам представить ещё одну статью, посвящённую графическим возможностям издательской системы LaTeX. На сей раз речь пойдёт о цвете. Чаще всего эти возможности LaTeX игнорируются, так как доля цветных публикация довольна мала. К тому же чрезмерное использование цвета может только навредить — пёстрый многоцветный документ трудно читать и смотрится он малопривлекательно. Но умелое использование цвета может очень способствовать восприятию контента: выделение заголовков, подзаголовков, цитат, важных частей текста и даже ячеек таблиц помогает быстро уловить суть, не вчитываясь в подробности. Так что кому стало интересно, жмём по ссылке:
Цвет в LaTeX
Модель rgb. В модели rgb любой цвет получается в результате смешения лучей света трёх базовых цветов: красного (red), зелёного (green) и синего (blue). Вообще данную модель не применяют в полиграфии, так как она основана на цветных лучах света (как в кинескопе, наших ЖК-мониторах или на фотоплёнке). Для печати традиционно используется модель cmyk, о которой речь пойдёт ниже. Спецификация цвета в модели rgb задаётся трёмя перечисленными через запятую числами в диапазоне от 0 до 1, которые соответствуют интенсивности базовых составляющих цвета. Например, желтый цвет задаётся как 1, 1, 0, белый — как 1, 1, 1, а 0, 0, 0 — даёт чёрный цвет.
Модель gray. Серый цвет получается при смешении в равных пропорциях базовых цветов из модели rgb с интенсивностью меньше единицы. Спецификация цвета в модели gray задаётся одним числом от 0 до 1, например 0.5 вместо 0.5, 0.5, 0.5 в модели rgb. Чёрному цвету соответсвует 0, белому — 1.
Модель cmyk. Если на лист бумаги нанести красную краску и затем осветить его белым светом, то только красная составляющая света отразится от бумаги. Нанесём теперь на бумагу красную краску густо посаженными точками, а затем заполним все промежутки между красными точками зелёной краской. Теперь от листа бумаги отразится как красный, так и зелёный свет. Издали различить отдельные точки нельзя, поэтому глаз получит смесь красного и зелёного цвета и бумага выглядит жёлтой. [Если краски наносить не точками, а сплошной заливкой, то краска перемешается и получится грязный красноватый цвет.] На этом основывается цветовая модель cmyk. В этой модели спецификация цвета задаётся четырьмя перечисленными через запятую числами от 0 до 1, которые соответствуют «количеству» голубой (cyan), пурпурной (magenta), жёлтой (yellow) и чёрной (black) краски на белом листе бумаги. Белому цвету соответствует спецификация 0, 0, 0, 0 (на белом листе бумаги нет никакой краски), а чёрному — 0, 0, 0, 1.
Цветной текст
Изменить цвет текста в документе можно либо командой \textcolor[model] либо декларацией <\color[model]text> Здесь model — цветовая модель, spec — спецификация цвета. Пример: \textcolor <Красный,>\textcolor[cmyk]<0,1,1,0><опять красный,> \textcolor[rgb]<1,0,0> <и ещё раз красный!> Красный, опять красный, и ещё раз красный!
Цветные боксы
Цветной фон страницы
Изменить цвет страницы можно декларацией \pagecolor[model] Здесь model — цветовая модель, spec — спецификация цвета. Область действия декларации не ограничевается никакими скобками. Чтобы вернуть белый цвет страниц, надо вызвать команду \pagecolor.
Цветные таблицы
\begin<|l|c|> \rowcolor[gray] <.9>один & два \\ \rowcolor[gray] <.6>три & четыре \end
\def\tabrowsep<\noalign<\vskip 2pt>> \newcolumntype <% ><\columncolor[gray]<.9>>p<1.7cm>> \begin[t]<*2H> \rowcolor[gray]<.6>один & два\\\tabrowsep три & четыре \\\tabrowsep пять & шесть \end
\setlength\arrayrulewidth<2pt>\arrayrulecolor \setlength\doublerulesep<2pt>\doublerulesepcolor \begin<||l||c||> \hline\hline один & два \\ три & четыре \\ \hline\hline \end
Ну вот собственно и всё. Для написания статьи использовалась книга Владимира Сюткина «Цвет в LaTeX2e». Надеюсь, кому-нибудь будет полезной эта статья. Тут лежит оригинал статьи. Спасибо.
LaTEX (произносится как «лэйтех» или «латех») представляет собой инструмент для создания профессиональных документов. В его основе лежит парадигма редактирования WYSIWYM (что вижу, то и подразумеваю), то есть от пользователя требуется сосредоточиться только на содержимом документа, оставив его форматирование программе. Вместо ручного распределения текста по странице, как это делается в Microsoft Word или LibreOffice Writer, можно просто его вводить, позволив LaTeX заняться остальным.
Зачем нужен LaTeX?
Этот инструмент используется повсеместно для создания научных документов, написания книг, а также многих других форм публикаций. Он позволяет не только создавать красиво оформленные документы, но также дает пользователям возможность очень быстро реализовывать такие сложные элементы печатного набора, как математические выражения, таблицы, ссылки и библиографии, получая согласованную разметку по всем разделам.
Благодаря доступности большого числа открытых библиотек (об этом чуть позже) возможности LaTEX становятся практически безграничны. Эти библиотеки расширяют возможности пользователей еще больше, позволяя добавлять сноски, рисовать схемы и пр.
Одна из наиболее веских причин, по которой многие используют LaTeX, заключается в отделении содержания документа от его стиля. Это означает, что после написания содержимого, можно с легкостью изменять его внешний вид. Аналогичным образом, можно создать один стиль документа и использовать его для стандартизации внешнего вида других.
Это позволяет научным журналам создавать шаблоны для предлагаемых на рассмотрение материалов. Такие шаблоны имеют заданную разметку, в результате чего добавить остается лишь содержание. На деле существуют сотни подобных шаблонов, начиная с различных резюме и заканчивая презентациями слайдов.
Пишем первый документ
Здесь мы видим, что LaTeX уже позаботился о первом элементе форматирования, сделав отступ в начальной строке абзаца. Теперь более подробно рассмотрим, за что отвечает каждая часть кода.
После этого мы пишем содержание документа, заключенное в теги \begin и \end , представляющие его тело. Можете начать писать здесь текст и при желании вносить в него изменения.
Чтобы увидеть результат этих изменений в PDF, документ нужно скомпилировать. В Overleaf для этого нужно просто нажать Recompile. (Также можете настроить проект на автоматическую перекомпиляцию в процессе редактирования файлов, нажав на небольшую стрелку рядом с кнопкой Recompile и установив Auto Compile как On).
При использовании специального редактора LaTeX вроде TeXmaker или TeXworks нужно просто нажать кнопку Recompile. Если не знаете, где она находится, обратитесь к документации.
Теперь, когда вы разобрались, как добавлять в документ содержимое, следующим шагом будет его именование. Для этого необходимо вкратце разобрать преамбулу.
Преамбула документа
А вот подробное разъяснение каждой строки:
Эта команда задает кодировку документа. Ее можно опустить либо изменить на другой вариант, но рекомендуется использовать именно utf-8. Если вам не требуется конкретно другая кодировка, либо вы просто не уверены, то добавьте эту строку во вступление.
Добавление заголовка, автора и даты
Для добавления в документ заголовка, автора и даты необходимо внести во вступление три строки (только не в основное тело документа):
Здесь размещается имя автора. При желании можно также добавить в фигурные скобки следующую команду:
После добавления перечисленных строк преамбула должна выглядеть так:
Добавление комментариев
Как и в случае с любым кодом, зачастую будет нелишним добавлять комментарии. Комментарии – это включаемые в документ текстовые элементы, которые в итоге не отображаются и никак не него не влияют. Они помогают организовывать работу, делать пометки или закомментировать (отключать) строки/разделы при отладке. Чтобы создать комментарий в LaTeX, просто наберите символ % в начале строки, как показано ниже:
Жирный, курсив и подчеркивание
А вот еще одна очень простая команда: \emph <. >. Выполняемые ей для аргумента действия определяются контекстом – внутри обычного текста его выделенная часть переводится в курсив, а при использовании команды в курсивном тексте происходит обратное.
Добавление изображений
В Overleaf для добавления изображений их сначала нужно будет загрузить.
Команда \graphicspath < > сообщает LaTeX, что изображения находятся в каталоге images в текущей директории.
Примечание: расширение файла включить можно, но лучше его опустить. В этом случае LaTeX будет искать все поддерживаемые форматы. Также при загрузке файлов обычно рекомендуется указывать расширение в нижнем регистре.
Подписи, метки и ссылки
С помощью окружения figure изображения можно подписывать, размечать, а также делать на них ссылки:
В примере выше показаны три важные команды:
Примечание: если вы используете подписи и ссылки на собственном компьютере, то вам потребуется скомпилировать документ дважды, чтобы они сработали. Overleaf делает это автоматически.
Создание списков
Списки в LaTeX создаются очень просто. Делается это с помощью различных окружений списков. Окружения – это разделы, которые требуется представить отличным от остальной части документа образом. Начинаются они с \begin <. >, а завершаются на \end <. >.
Существует два основных типа списков: упорядоченные и неупорядоченные. Каждый из них реализуется в собственном окружении.
Неупорядоченные списки
По умолчанию отдельные записи обозначаются черной точкой, или буллетом. Текст в записях может иметь неограниченную длину.
Упорядоченные списки
Для упорядоченных списков используется тот же синтаксис, но в другом окружении. В данном случае этим окружением выступает enumerate :
Добавление математических выражений
Одно из главных удобств LaTeX состоит в простоте использования математических выражений. Этот инструмент предоставляет два режима их написания: режим inline (встраивание) и режим display (отображение). Первый используется для написания формул, являющихся частью текста. Второй позволяет создавать выражения, не входящие в состав текста или абзаца, а размещаемые на отдельных строках. Вот пример режима встраивания:
Режим отображения предлагает два варианта: без нумерации и с нумерацией.
Важно: окружение equation* предоставляется в виде стороннего пакета. Подробнее об этом рекомендую почитать статью по amsmath.
Для использования многих команд при работе с математикой необходим пакет amsmath, поэтому не забудьте его добавить. Ниже показан пример некоторых его базовых команд:
Возможности использования математики в LaTeX безграничны, и перечислить их все здесь просто нереально. Так что рекомендую дополнительно почитать соответствующие материалы по теме:
Базовое форматирование
Теперь разберем написание аннотаций, а также форматирование документов LaTeX в разных главах, разделах и абзацах.
Аннотации
Абзацы и перевод строки
Когда при написании документа вам требуется начать новый абзац, нужно дважды нажать «Ввод», вставив таким образом двойную пустую строку. Имейте ввиду, что отступ абзацев LaTeX делает автоматически.
Чтобы создать новую строку без создания очередного абзаца нужно вставить точку разрыва строки, для чего используется \\ (двойной обратный слэш, как в примере) или команда \newline. При этом не следует использовать несколько \\ или \newline для «имитации» абзацев с увеличенными интервалами между ними, так как это приведет к конфликту с внутренними алгоритмами LaTeX. Для подобного эффекта рекомендуется использовать двойные пустые строки, после чего добавлять во вступление \usepackage .
Дополнительную информацию по теме можно найти в статье Paragraphs and new lines.
Главы и разделы
Команды для организации документа варьируются в зависимости от его типа. Простейшей формой организации выступает деление на разделы, доступное во всех форматах.
Более подробный разбор структуры документа описан в статье Sections and Chapters.
Создание таблиц
Простые таблицы
Вот простейший пример создания таблицы:
Добавление границ
Окружение tabular достаточно гибкое и позволяет размещать разделяющие строки между каждым столбцом.
Подписи, метки и ссылки
Примечание: если вы используете подписи и ссылки на своем компьютере, то для работоспособности ссылок нужно будет скомпилировать документ дважды. Overleaf делает это автоматически.
Добавление содержания
Процесс создания содержания очень прост и реализуется командой \tableofcontents :
Скачивание готового документа
Завершенный документ в формате PDF можно скачать через расположенное слева меню, кликнув PDF.
Есть и более быстрый способ через нажатие кнопки Download PDF в окне просмотра PDF, как показано ниже:
Скачиваем и устанавливаем WinEdt + MikTex или ставим Texmaker
Общее оформление документа
Начинается каждый документ с объявления типа документа (например article), размера шрифта и других атрибутов.
Далее нужно подключать различные пакеты, без них мало что можно будет сделать.
Если Вы читаете эту статью со смартфона, имейте в виду, что никаких переносов делать не надо. Пишите все команды слитно.
Во вставляемых листах не нужно отдельно писать documentclass и прочее, по логике это просто кусок текста, который вставляется в конечную страницу.
\tableofcontents
Вставляет автоматически сгенерированное оглавление. (каждый раз, когда тегом \section или \subsection или \subsubsection вводится новая глава LaTeX запоминает это и потом сам создает оглавление)
\section <Введение>
Первая глава будет называться «Введение»
\subsection <Состояние ядерной энергетики в мире>
Подпункт первой главы
\end
Заканчиваем документ
Таблицы и изображения имеют свойства появляться не там куда вы их хотите поместить, а там, куда их размещает LaTeX. Теоретически с этим можно бороться с помощью одного из параметров:
Параметры [h], [h!], [H] всё более настойчиво будут рекомендовать LaTeXу разместить объект именно там, где он и стоит.
Но [H] у меня воспринимается за ошибку а остальные почти никакого эффекта не дают. Поэтому после некоторых рисунков приходится вставлять тег
— который воспринимается LaTeXом как конец той области куда можно вставлять объекты, введенные в код выше.
такого действия не имеет.
Как вставить изображение LaTeX
Необходимый минимум знаний
Изображения нужно предварительно конвертировать в формат .eps.
Это означает, что .jpg, gif, .png и другие форматы работать не будут.
Про то как конвертировать в eps c помощью ImageMagick вы можете прочитать в моей статье jpg и png в eps
Также конвертировать в eps можно с помощью GIMP и другими способами
Не забывайте конвертировать изображения.
\caption <Название изображения номер один.\cite> \label
Название графика и ссылка на него.
Дополнительная информация
Для удобства изображения можно хранить в отдельных каталогах. Например, по отдельному каталогу на каждую главу диплома. Все каталоги нужно перечислить, для того чтобы LaTeX смог их найти.
Самое адекватное описание этой операции я нашёл в книге Роженко А.И. «Искусство верстки в LaTeXe»
Добавление таблиц в LaTeX
\begin
— этот тег начинает таблицу
\caption <Название таблицы \cite>
— название таблицы и ссылка на источник
\label
— метка, на которую потом можно будет ссылаться
\begin <|c|c|c|>\begin
— сама таблица начнётся после этого тега; три столбца, выравненные по центру
\hline
— рисует горизонтальную линию
Страна & число & Мощность (МВт (эл)) \\ \hline
— первая строка
Аргентина & 1 & 692 \\ \hline
— вторая строка
\end
— заканчивает таблицу
\end
— заканчивает таблицу
Таблица, которая задана с помощью
Может занять слишком много места и не поместиться по ширине, для того, чтобы избежать этого, вместо простого выравнивания можно зафиксировать ширину столбцов
Теперь слишком широкий текст автоматически будет переноситься на следующую строку внутри столбца.
В WinEdt 6.0 есть кнопка, с помощью которой можно быстро вставлять таблицы нужного размера.
Однако, сперва нужно использовать теги
\begin
\caption <Название таблицы>\label
Чтобы объединить столбцы можно воспользоваться тегом
— где <2>— это число столбцов, которые нужно объединить <|c|>— выравнивание по центру