Dive into LaTeX
Tereschenko DenisНаступил момент моего откровения. Уверен, найдутся смельчаки, которые уже пробовали написать в латехе конспект\контрольную работу или просто изучал функционал этого сверх мощного инструмента.
Я подобрал для себя комбинацию тулзов, которые позволяют вести конспект даже за самыми быстрыми преподавателями в ВУЗе, пастить код, создавать титульные страницы. В этой статье я пройдусь от самых основ до продвинутого уровня использования.
Examples


Установка
Осознайте - Windows не нужна. Не будем холиварщиками. Просто приведу пример конфигурации в Linux (и только на Linux). Основные пакеты латеха ставятся следующим образом:
sudo apt install texlive-full
That's it. Установка довольно долгая, но в результате ваше оборудывание оснащено всем необходимым для работы.
Выбор редактора
Конечно, вы можете почувствовать себя хардкорщиком в vim\emacs. Но я крайне рекомендую установить atom-editor. Такой выбор детально аргументировать не буду, но стоит назвать достоинства этого редактора: множество дополнений, сниппеты, directory-tree, относительная легковесность.
Далее нам понадобится расширение atom-latex.
Заходим Edit -> Preferences -> Install и вбиваем название расширения. Сразу правильно конфигурируем как показано на скриншоте:

На этом настройка редактора закончена. LaTeX файлы должны компилироваться с предпросмотром по нажатию Ctrl + S.
Шапка
Я потратил очень много времени составляя полную шапку для универсального документа. Конечно, она больше ориентирована на математические дисциплины. Вы можете свободно её fork'нуть и изменить под свои нужды. В ней присутствуют некоторые дефайны (верхние и нижние лимиты), коробочки с теоремами, все необходимые инпуты и, самое важное, подсветка синтаксиса для С++ и Python. Примеры в файле закоментированны. Попробуйте скомпилировать это всё вместе. Да, файл получается изначально немного больше, чем хотелось бы (Порядка 1 МБ). Однако я, увы, не гуру данной технологии и жертвую размером ради универсальности.
Ссылка на репозиторий: https://github.com/noasck/latex_template


Основы
На самом деле, можно привести десятки статей где рассматриваются основы языка ТеХ, но я попытаюсь изложить всё максимально кратко и общо.
Ссылки
- Работа в LaTeX. Создание документа на примере подготовки курсовой работы
- Полезная шпоргалка
- Самоучитель
- Шпора №2
- Справочник по мат. символам
Конечно, вы явно будете гуглить и подглядывать во все эти справочники. Держите их поближе. К слову, гугление даёт удовлетворительный результат в 99,9% случаев. На Stack Overflow гора вопросов посвящённых ТеХ.

Текст, отступы, поля
Для детальной настройки вы можете просмотреть документацию. Я пользуюсь стандартным ГОСТом. ЛаТеХ сам следит за оступами, переносами, интервалами, выравниванием. В коде вы можете ставить сколько угодно пробелов, отступов, табуляций, новых строк. ТеХ сам всё красиво сольёт.
% сперва_комментарии
Форматирование
Все комманды начинаются со слеша \ . Все блоки оборачиваются в {}. Рассмотрим пример:
\begin{centered}
Блок текста, выровняный по центру
\end{centered}
Кое-что из форматирования текста:
\quad Одинарный отступ
\qquad Двойной отступ
\\ Конец строки
\section{Any title} Заголовок 1 уровня
\subsection{Any subtitle} Заголовок 2 уровня

\newpage Новая страница
\textbf{ и тут могла быть ваша реклама } жирно написанный текст.
Математика
Тут всё зависит от ваших целей. Гайд по матрицам, операторам, логике находится в ссылках. Рассмотрим самое необходимое:
$ math $ Внутри знака доллара можно писать мат.формулы.
\be (O_0) \ee Еквивалент целого блока формул (c номером).
$$ Big Bibbas $$ Большая формула по центру. Нельзя сделать перевод строки. Нельзя оставлять пустые строчки в коде между $$ - будет ошибка.
_ Нижний индекс. Можно передавать целые выражения в фигурных скобках.
^ Верхний индекс. Можно передавать целые выражения в фигурных скобках.
Как это работает. Давайте скомпилим небольшой файлик с таким содержанием тела документа. Для наглядности ставлю очень много пробелов.
$ a_bb $
$$ a_{BB} a_b \quad a^b $$
$ a^{abbb} $

$$ a^3 + b^3 = c^3 \text{ Называй меня Ферматист } $$ Можно писать обычный и жирный текст в математических абзацах.
$ \mathbf{N} $ Жирные мат.символы.
$ \mathbb{N} $ Мат. символы с двойным начертанием (sets).
$ \frac{ 2\pi }{3} $ Дроби. Боль всея ЛаТеХа.
І скобка - числитель. ІІ скобка - знаменатель.
Все дальнейшие комманды, константы и прочее смотрим в справочнике. Форматирование, ручное выравнивание, изменения размера шрифта есть в ссылках. Читкаем, знакомимся.
Авторские сниппеты
Кажется, куча символов, букв, их комбинаций. Как это всё писать быстро? Тут нам помогут сниппеты. Заходим в Атом редактор (Edit -> Snippets) и вставляем содержания блока кода в README репозитория с шапкой.
Как понять что какой снипет делает? Я разберу 1 из них.
'limit':
'prefix': 'lim'
'body': ' \\\\lim\\\\limits_{$1\\\\to ${2: \\\\infty}}{$3} = $4'
\lim\limits_{ \to } {}=
При этом курсор первоначально будет находиться на позиции $1, потом (при повторном нажатии TAB) на позиции $2 с выделенным словом \infty (чтобы можно было убрать при желании), потом прыгнет в позицию $3 и $4.
Пример использования каждого из сниппетов (только внешний вид):


Про предпоследний скажу отдельно. В мат. блоке $$ $$, gathered красиво собирает строки друг под другом и объединяет их в 1 блок. Доступен переход на новую строку \\.
И последний сегодня, include graphics
'includegraphics':
'prefix': 'image'
'body': '\\\\begin{center} \\\\includegraphics\\\[scale=$1\\\]\\\{$2\\\} \\\\end\\\{center\\\}'
Позволяет вставлять картинки. Сохраняете изображение в формате png\jpg там же где и .tex файл, и можете его вставить прямо в документ (как вы догадались, scale это число от 0 до 1 обозначающее масштабирование картинки):

Применение ЛаТеХа
Я очень люблю векторную графику, а особенно редактор Inkscape. В нём можно рэндерить целые куски LaTeX формул и очень быстро рисовать от руки точные линии, благодаря векторному пересчёту траектории (Smooth).

Многие наверное знают, что в математическом Python-пакете pandas доступен ввод ТеХ формул в названиях колонок. Также в Jupyter Notebook можно вводить целые конспекты в markdown ячейки.
