LaTeX для новичков. Часть 3:Базовая разметка

Часть 0 --- http://pikabu.ru/story/latex_dlya_novichkov_vvedenie_4999494

Часть 1 --- http://pikabu.ru/story/latex_dlya_novichkov_chast_1redaktory...

Часть 2 --- http://pikabu.ru/story/latex_dlya_novichkov_chast_2dvizhki_i...

LaTeX для новичков. Часть 3:Базовая разметка Латех, Совет, Длиннопост, LaTeX ПО

Ви таки думали что автор сдался и больше не будет писать? Автор таки не сдался, а взял небольшой перерыв на маленькую войну с MS Word под названием "ОГРАНИЧЕНИЕ ТОКА СТАТОРА В ЧАСТОТНО-РЕГУЛИРУЕМОМ АСИНХРОННОМ ЭЛЕКТРОПРИВОДЕ ПРИ СКАЛЯРНОМ УПРАВЛЕНИИ".

Поскольку все документы LaTeX являются чистым текстом, оформление в них описывается командами разметки, которые при сборки разворачиваются в примитивы TeX (те самые размеры шрифтов, начертание и т.д. которые зачастую выставляются в Word вручную). Для написания работ в готовом шаблоне требует знания лишь базовых, очень простых команд разметки. Во многих редакторах они вынесены прямо на панели или в меню, поэтому запутаться в них достаточно сложно.



1) Команды структуры:

Команды структуры описывают иерархическую структуру документа и формируют содержание.

\part => \chapter => \section => \subsection => \subsubsection => \paragraph => \subparagraph

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

Также, если к этим командам дописать звёздочку, то раздел не будет пронумерован и отображён в содержании.

Нужно добавить приложения с другой нумерацией? Используйте команду \appendix и все разделы после неё сменят нумерацию (по умолчанию с цифр на буквы). Многие редакторы умеют отслеживать структуру документа по этим командам, например на картинке ниже на левой показана структура документа, а по центру список для быстрой вставки.

Пример использования:

\chapter[Боль и отчаяние]{Как студент заключение экспертной комиссии подписывать ходил}

Внимание (!) НЕ все перечисленные команды доступны во всех классах, например в article и его производных есть только section и ниже. Также, настоятельно рекомендуется использовать эти команды последовательно (выделять отдельный параграф в целой главе --- не самая хорошая идея).

LaTeX для новичков. Часть 3:Базовая разметка Латех, Совет, Длиннопост, LaTeX ПО

2) Текстовые команды:

Команды указывающие на размер и начертание текста. Присутствуют, но напрямую в тексте практически не используются.


а) Команды размера. В LaTeX не используются абсолютные размеры (12pt, 14pt) текста. Вместо них используется базовый размер и относительные от него размеры. Базовый размер является абсолютным и задаётся в самом начале преамбулы документы, в опциях класса например:

\documentclass[a4paper,12pt]{article}

Внимание (!) стандартные классы LaTeX не могут использовать размеры больше чем 12pt как базовые. Если вам требуются большие, используйте класс extarticle.

Относительные размеры текста используются в самом документе и имеют следующую конструкцию использования {\Huge Huge}. Образцы размеров приведены на картинке.

LaTeX для новичков. Часть 3:Базовая разметка Латех, Совет, Длиннопост, LaTeX ПО

б) Команды начертания. Внимание (!) для выделения предпочтительно использовать не команды жирного или курсивного текста, а команду \emph{}. Это умная команда, по умолчанию выделяет курсивом. Корректно справляется с выделением внутри выделения. Конструкция использования \emph{emph}. Стандартные стили показаны на картинке.

LaTeX для новичков. Часть 3:Базовая разметка Латех, Совет, Длиннопост, LaTeX ПО

3) Команды форматирования

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

а) Пробелы кроме первого игнорируются. Отформатировать пробелами и табами ничего не выйдет. Для редких случаев когда нужно быстро подвинуть фрагмент текста (например оформляя фамилии на титульном листе) есть команда \hspace{4cm}, вместо сантиметров подставляются единицы по вкусу --- mm, cm, pt, in и т.д.. Работает и с отрицательными значениями (сдвиг влево). Использовать рекомендуется разово (!).

б) Переносы строк. Первый воспринимается как пробел, второй как начало нового абзаца, остальные игнорируются. Есть команда переноса строки \\ которая используется для начала нового абзаца и в качестве переноса строки в таблицах, списках и т.д. Для получения расстояния между абзацами больше стандартного, можно использовать конструкцию \\[4cm], или (менее рекомендуемый вариант) \vspace{4cm}. Работает аналогично \hspace{}, т.е. и с отрицательными значениями

в) Вставка пустых страниц. Разрыв страницы вызывается командой \clearpage. При этом все не размещённые картинки будут вставлены на полученное пустое место (о вставках иллюстраций будет рассказано подробнее в следующих частях). Две страницы с разрывом вставляет команда \cleardoublepage.

г) Работа с относительными размерами страницы. Сколько раз при работе в Word или PowerPoint вы хотели кинуть клавиатуру в стену, потому что они делают всё что угодно, лишь бы не вставить рисунок по ширине страницы с сохранением пропорций. В LaTeX есть радикальное решение проблем с размерами. Это относительные размеры страницы которы можно вставлять прямо в команды. Приведем здесь основные:

1. Ширина текущего блока текста \linewidth

2. Параметры страницы (устанавливаются один раз, автоматически, в преамбуле) \textheight,\textwidth

3. Параметры листа бумаги (физического листа) \paperheight,\paperwidth

Остальные стандартные длины можно найти здесь https://en.wikibooks.org/wiki/LaTeX/Lengths

Длины очень легки в использовании. Для примера покажем как разделить два абзаца расстоянием строго равным половине высоты страницы \\[0.5\textheight]. Еще раз о длинах будет сказано в разделе про иллюстрации.

4) Перечисления

В LaTeX есть отлично работающие перечисления. Они представляют собой конструкции вида:

\begin{description}

\item [Что описываем] описание

\item[Что еще описываем] описание

\end{description}

Какие бывают списки:

нумерованный --- enumerate

с точками --- itemize

предмет-описание --- description

Так же возможны списки внутри списков (как уровни списков в Word). Они ничем не ограничены, просто нужно написать ещё один список внутри списка (не забыв что под-список будет являться элементом над-списка, поэтому ему нужна команда \item).

LaTeX для новичков. Часть 3:Базовая разметка Латех, Совет, Длиннопост, LaTeX ПО

5) Маркеры и ссылки

LaTeX имеет лучшую систему ссылок в индустрии, и не просто лучшую, а ещё и простейшую! Работать с ней исключительно просто:

а) добавляем маркер (на что ссылаться будем) вплотную к нужному объекту --- \label{eq:superteorema}. Это пример общепринятого маркера -- он состоит из указания на какой тип обьекта ссылаемся (eq --- equation, уравнение), разделителя в виде двоеточия и идентификатора объекта (уникального внутри документа). Повторение идентификатора вызывает предупреждения и портит работу счётчика маркеров.

б) ссылаемся на маркер. Автор использует пакет для умных ссылок cleveref, позволяющий надёжно ссылаться на все типы объектов двумя командами \cref{eq:superteorema} и \Cref{eq:superteorema}, где первый вариант для ссылки внутри предложения, а второй в начале предложения. Для ссылки на несколько объектов нужно просто перечислить их или указать диапазон через дефис.


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

4
Автор поста оценил этот комментарий

@pyshchpyshch ,@stopkin ,@4M0D4 ,@Hesed ,@bulkaschaem ,@Aleshonne , @Shahirrim ,@saimhe ,@saimhe ,@AleksandrRonin

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

P.S. бакалавриат --- зло. магистратура --- зло. магистратура с малым количеством бюджетных мест --- зло в квадрате. конференция за два дня до госэкзаменов --- зло в кубе.

раскрыть ветку
1
DELETED
Автор поста оценил этот комментарий

Автор, пили еще! Для формул приходится пользоваться MathType-ом, давненько уже хочу с него соскочить... А все никак, т.к. ворд для формул - зло. Злище просто.
У меня, кстати, тоже конференция в одном городе, а через пару дней защита в другом) причем защита после ночной смены) капец

раскрыть ветку
1
Автор поста оценил этот комментарий
Я где-то недавно читал, что использовать ручные переводы строк не рекомендуется, только если ломаются переносы.
раскрыть ветку
Автор поста оценил этот комментарий

Часто по работе возникает необходимость сверстать документ такой структуры: на странице текст, а затем разлинованная (в клетку) часть для текста. Например, условие задачи + место для её решения.

Сложность возникает из-за того, что текст на каждой странице имеет разную высоту и, следовательно, разлинованная часть тоже.
Как можно определить высоту текста в latex? Или, например, остановить линовку в конце страницы?