Полезный бойлерплейт для отчётов по работам в университете — с ним 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, то после титульной страницы создастся содержание документа.