Полезный бойлерплейт для отчётов по работам в университете — с ним Latex станет сказкой! ✨
Боейлерплейт представляет из себя комбинацию трёх файлов:
report.tex
— шаблон отчёта, который использует два файла нижеtitlepage.tex
— шаблон титульной страницы и раздела «Содержание»settings.tex
— файл с настройками LaTeX и импортами нужных пакетов
В разделе «Как пользоваться» подробная инструкция по установке всего нужного.
Не забудьте заглянуть в раздел «Как настроить», чтобы научиться работать с бойлерплейтом и настроить его под себя.
- Скачайте к себе бойлерплейт, нажав сюда или выполнив в терминале команду ниже.
git clone /~https://github.com/snowlue/latex-report-boileplate.git
- Спрячьте скачанные файлы
settings.tex
,titlepage.tex
иitmo_logo.png
в надёжное место или положите в папку с работой.
Итак, есть несколько способов установить шаблон отчёта report.tex
.
Для удобного создания нового отчёта, лучше настроить сниппет, который будет помогать заполнять все поля.
Для VS Code (здесь работать с LaTeX удобнее)
- Нажмите File → Preferences → Configure Snippets → New Global Snippets file...
В русской локали: Файл → Настройки → Настройка фрагментов → Новый файл с глобальным фрагментом кода... - Введите любое название, например,
latex-report-snippet
- Очистите открывшийся файл
- Вставьте содержимое файла
report.code-snippets
- Теперь просто откройте новый TeX-файл, напиши
/report
и нажмите Enter!
Для IDE от JetBrains
- Нажмите File → Settings → разверните Editor → File and Code Templates → Files → Значок «+»
- В поле Name введите любое название, например,
Latex report
- В поле Extension введите
tex
- В поле File name введите
report
- Ниже вставьте содержимое файла
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
, то после титульной страницы создастся содержание документа.