Dive into LaTeX

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 и вбиваем название расширения. Сразу правильно конфигурируем как показано на скриншоте:

Edit -> Prefferences -> Packages -> atom-latex -> Configure

На этом настройка редактора закончена. LaTeX файлы должны компилироваться с предпросмотром по нажатию Ctrl + S.

Шапка

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

Ссылка на репозиторий: https://github.com/noasck/latex_template

Нас интересует 106-я строка.
В действии. Предпросмотр справа. Код слева :)


Основы

На самом деле, можно привести десятки статей где рассматриваются основы языка ТеХ, но я попытаюсь изложить всё максимально кратко и общо.

Ссылки

  1. Работа в LaTeX. Создание документа на примере подготовки курсовой работы
  2. Полезная шпоргалка
  3. Самоучитель
  4. Шпора №2
  5. Справочник по мат. символам

Конечно, вы явно будете гуглить и подглядывать во все эти справочники. Держите их поближе. К слову, гугление даёт удовлетворительный результат в 99,9% случаев. На Stack Overflow гора вопросов посвящённых ТеХ.

Пример быстрого ответа на вопрос "Как сделать текст над стрелочкой"

Текст, отступы, поля

Для детальной настройки вы можете просмотреть документацию. Я пользуюсь стандартным ГОСТом. ЛаТеХ сам следит за оступами, переносами, интервалами, выравниванием. В коде вы можете ставить сколько угодно пробелов, отступов, табуляций, новых строк. ТеХ сам всё красиво сольёт.

% сперва_комментарии

Форматирование

Все комманды начинаются со слеша \ . Все блоки оборачиваются в {}. Рассмотрим пример:

\begin{centered}
Блок текста, выровняный по центру
\end{centered}

Кое-что из форматирования текста:

\quad Одинарный отступ

\qquad Двойной отступ

\\ Конец строки

\section{Any title} Заголовок 1 уровня

\subsection{Any subtitle} Заголовок 2 уровня

\tableofcontents - сшивает заголовки

\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).

Inkscape в действии

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

Jupyter-Lab в действии





Report Page