Skip to content

Полезный бойлерплейт, с которым Latex станет сказкой! ✨

License

Notifications You must be signed in to change notification settings

snowlue/latex-report-boileplate

Repository files navigation

LaTeX report boileplate

Полезный бойлерплейт для отчётов по работам в университете — с ним Latex станет сказкой! ✨

Боейлерплейт представляет из себя комбинацию трёх файлов:

  • report.tex — шаблон отчёта, который использует два файла ниже
  • titlepage.tex — шаблон титульной страницы и раздела «Содержание»
  • settings.tex — файл с настройками LaTeX и импортами нужных пакетов

В разделе «Как пользоваться» подробная инструкция по установке всего нужного.

Не забудьте заглянуть в раздел «Как настроить», чтобы научиться работать с бойлерплейтом и настроить его под себя.

Как пользоваться

  1. Скачайте к себе бойлерплейт, нажав сюда или выполнив в терминале команду ниже.
git clone /~https://github.com/snowlue/latex-report-boileplate.git
  1. Спрячьте скачанные файлы settings.tex, titlepage.tex и itmo_logo.png в надёжное место или положите в папку с работой.

Итак, есть несколько способов установить шаблон отчёта report.tex.

Рекомендуемый способ — настройка сниппета в IDE

Для удобного создания нового отчёта, лучше настроить сниппет, который будет помогать заполнять все поля.

Для VS Code (здесь работать с LaTeX удобнее)
  1. Нажмите File → Preferences → Configure Snippets → New Global Snippets file...
    В русской локали: Файл → Настройки → Настройка фрагментов → Новый файл с глобальным фрагментом кода...
  2. Введите любое название, например, latex-report-snippet
  3. Очистите открывшийся файл
  4. Вставьте содержимое файла report.code-snippets
  • Теперь просто откройте новый TeX-файл, напиши /report и нажмите Enter!
Для IDE от JetBrains
  1. Нажмите File → Settings → разверните Editor → File and Code Templates → Files → Значок «+»
  2. В поле Name введите любое название, например, Latex report
  3. В поле Extension введите tex
  4. В поле File name введите report
  5. Ниже вставьте содержимое файла report.jbide-templates
  • Теперь просто при открытом проекте нажмите ПКМ → New, выберите созданный шаблон и заполните все нужные поля!

Нерекомендуемый, но более простой способ

Копируйте каждый раз файл report.tex в папку с новой работой — этот файл и будет вашим основным документом. Читайте раздел «Как настроить», чтобы понять, что и куда вставлять.

Как настроить

Аргументы для заполнения бойлерплейта вставляются в строках, начинающихся с \newcommand, в последних фигурных скобках. Ниже описывается значение каждого поля и пара примеров.

  • worktype — тип работы
    Практическая работа
    Лабораторная работа №1

  • workname — название работы
    Разработка и отладка консольных приложений
    Работа с файлами и потоками данных

  • teachername — ФИО преподавателя
    Иванов А.Б.
    Петров В.Г.

  • studentname — ФИО студента, выполняющего работу и оформляющего отчёт (опциональное, если задано students, но лучше всегда указывать хотя бы автора отчёта для метаданных PDF)
    Иванов А.Б.
    Петров В.Г.

  • students — ФИО студентов, выполняющих работу в группе (опциональное)
    123456, Иванов А.Б. \\ 234567, Петров В.Г. \\ 345678, Сидоров

  • varnum — номер варианта (опциональное)
    3
    69

  • studystream — номер потока (опциональное)
    Прог.МК R22 бак 1.3
    АЯ-C1/20

  • groupnumber — номер группы (опциональное)
    R3243
    P34123

  • copyrightyear — год, выставляемый в низу титульной страницы (опциональное, по умолчанию текущий год)
    2007
    2048

  • logo — логотип университета, представляемый в верху титульника (опциональное, по умолчанию логотип ИТМО)
    \includegraphics[width=0.18\textwidth]{polikek_logo.png}
    \includegraphics[width=0.25\textwidth]{sharazhka_logo.png}

  • \showTOCtrue — добавляет раздел «Содержание» после титульного листа; закомментируйте или удалите эту строку, если вам не нужно содержание документа

Если вы устанавливали шаблон отчёта рекомендуемым способом, то вы также можете настроить сниппет в IDE, который скопировали из файла, удалив оттуда поля, которые вам не нужны, на ваш взгляд. Например, если вы студент ИТМО, то вам вряд ли нужна строка с установкой логотипа университета.

Полезные команды

В settings.tex определены полезные команды, которые я часто использую в своей работе, чтобы техать красивые отчёты и не тратить много времени на написание одних и тех же кусков кода.

  • \addsection{name} — добавляет отцентрированный заголовок первого уровня без числа слева с текстом name, для меня это более приемлемый и человеческий вид
  • \addsubsection{name} — добавляет такой же заголовок второго уровня
  • \addsubsubsection{name} — добавляет такой же заголовок третьего уровня

  • \quotebox{text} — выделяет переданный text отступом с вертикальной чертой слева, чтобы текст выглядел как цитата
  • \NB — отображает значок «nota bene»

  • \Let — отображает значок «пусть», которого нет в LaTeX
  • \squared{text} — обрамляет переданный text прямоугольником
  • \msquared{math} — делает то же самое, но с выражением math
    $\squared{\sqrt{49}}$
    \msquared{\sqrt{49}}
    \squared{Ответ:}

  • \argmax{arg} — прописывает argmax с аргументом arg под ним
  • \max{arg} — прописывает max с аргументом arg под ним
  • \argmin{arg} — прописывает argmin с аргументом arg под ним
  • \min{arg} — прописывает min с аргументом arg под ним
    \max{x}f(x) \min{} — для обычного min выполнить с пустым аргументом

  • \e — отображает экспоненту константой, а не курсивом
  • \at — рисует вертикальную черту, указывающую границы интеграла после интегрирования
  • \oldint — отображает оригинальный интеграл, поскольку обычный \int переопределён так, чтобы пределы интегрирования отображались не с боку интеграла, а над и под ним

  • \shifts{lspace}{object}{rspace} — сдвигает object слева на lspace и справа на rspace, иногда помогает убрать слишком большие отступы в выражениях

Как всё работает

В report.tex через \input подключаются файлы settings.tex и titlepage.tex. В этих двух подключённых файлах в разных местах заданы определёные команды-плейсхолдеры и условные конструкции — т.е. когда, например, вызывается \studystream, то должно вернуться «АЯ-C1/20», но если такая команда не определена, то блока с номером потока и вовсе не будет на титульном листе.

В settings.tex в сущности определена преамбула со всеми импортами и определениями переменных. По всему файлу расставлены комментарии — можно открыть и изучить его.

В titlepage.tex, как следует из названия, определена титульная страница и динамически обновляемое содержание документа. В коде используется относительный импорт логотипа itmo_logo.png, который должен лежать рядом с titlepage.tex.

В шаблоне отчёта report.tex через \newcommand объявляются те самые команды, возвращающие контент, которым заполнится весь бойлерплейт. Также используется условная переменная \showTOC, объявленная в setting.tex и проверяющаяся в titlepage.tex. Если между двумя подключениями вставить \showTOCtrue, то после титульной страницы создастся содержание документа.

About

Полезный бойлерплейт, с которым Latex станет сказкой! ✨

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Languages