Исходник болванки для курсового проекта -- это файл blank_course_report.tex
. Там же описаны указания по оформлению элементов записки (листингов, рисунков, таблиц, перечислений). Исходник болванки для отчёта по практике --- файл blank_practice_2022.tex
. Также с указаниями.
Файл Emblem.png
-- это герб МГТУ для отрисовки на титульной странице. Список литературы помещается в файл с расширением bib
(подробнее об этом можно почитать в соответствующем разделе болванки). Остальные вспомогательные файлы (SCP_new.ref
, thesis_latex.jpg
, google_latex.png
) относятся к тексту конкретной болванки и для сборки других проектов не нужны.
Также завезены две болванки для beamer
, содержащие футеры и титульники с эмблемой МГТУ. Тёмная тема (тёмный титульный лист) менее формальная, вполне подходит для конференций. Светлая тема подойдёт для презентаций, подготовленных на защиту ВКР. В них есть ограничение: большой титульник и заголовки слайдов - только однострочные. Обойти его можно, если чуть-чуть поковыряться в sty
-файле и убрать контуры с соответствующих объектов. Эти болванки можно брать и менять цветовую палитру, шрифты и фоновую картинку по своему желанию.
Ссылка на конкурентов: https://github.com/Orianti/bmstu-latex-class
- Плюсы: у них всё красиво разобрано на окружения и нет в явном виде этого ужасного заголовка. И не нужно бубна для сборки - всё устанавливается из менеджера пакетов.
- Минусы: у них гарнитура cmr (это не по госту и сразу видно), истинного размера 14,5, а не 14 (дада, это латеховские штучки с пойнтами реальными vs декларированными). Ещё пакет не приспособлен для генерации непечатных записок (некликабельные референсы), что, впрочем, легко исправляется. И листинги нескрепные, без кириллицы (пакет
listings
), из-за чего при реальном применении студентами начинается ерунда с нормоконтролем. - Замечание: кто будет пользоваться их болванкой для оформления отчёта по практике, титульный лист отсекайте, т.к. у кафедры ИУ9 он с этого года по своей особой форме.
- Резюме: для тех, кто не смог продраться через трансляцию исходников этой болванки, в самый раз. Но итоговый тайпсет красивее на ИУ9 :-)
- Выводы: иу9 нужен собственный пакет в CTAN
с рефалом и лексерами
Зачем нужно возиться с установкой LaTeX. если есть Word и аналоги?
Пояснять, что математику делать в ворде --- это извращение, я тут не буду. Не такое уж извращение, если формул немного и они стандартные. А вот есть у вас текст по информатике, в котором есть башни индексов и математические символы (логические и теоретико-множественные), и эти башни индексов и логика там в каждом абзаце и не по разу, то ворд-интоксикация будет вам гарантирована. К тому же, именно в таких текстах максимально актуальны макросы.
Про перекрёстные ссылки и плавающие объекты всё уже написано в болванке. Дополнительно отмечу очень мощную систему векторной графики tikz
, допускающую и визуализацию графиков, и трансляцию в неё улучшенных dot-диаграмм, а также захват координат отрисованных объектов. Конечно, это в первую очередь для тех, кто хочет в науку. Учить tikz
только ради выпускной записки --- развлечение не для слабых духом.
К тому же, возиться с установкой не нужно, если собирать проект в Overleaf. Зато редактирование происходит в текстовой форме, как в нормальном ЯП, и это значит, можно делать коммиты и отслеживать изменения. Очень удобно, если вы с научным руководителем пропускаете работу через несколько итераций правок.
Оттранслированные latex-ом листинги считаются программой TestVkr плавающими объектами, которые должны нумероваться и именоваться. Поэтому в текующей версии болванки листинги должны быть меньше или равны одной странице (многостраничные листинги не поддерживаются). Да, это моя недоработка, и многостраничные листинги с "продолжение листинга N", как в классе longtable, ещё предстоит сделать. А пока лучше не рисковать с нормоконтролем и minted-блоки делать не слишком длинными.
- Плавающие объекты "уехали" на другую страницу, и теперь верхнее поле неправильное. Что делать?
Такое может случиться, если на этой странице остались только плавающие объекты, без текста. Значит, можно отделить их от текста принудительно. Находим код виновников, перед ним ставим тег \newpage
, а в модификаторах размещения ставим [H]
(а не [!h]
или что-то подобное) - принудительное размещение в той позиции, на которой начинается код. Верхнее поле станет корректным.
- В моей работе много алгебраических терминов и опечаток, из-за этого мне сказали отключить переносы. Как этого добиться?
Если есть такой риск, то лучше превентивно:
\hyphenpenalty=10000
\exhyphenpenalty=10000
Это отключит переносы, но не алгебру и собственные имена в тексте. Поэтому, если все опечатки исправлены, а "иррефлексивность" и "бисимуляция" всё ещё не дают пройти нормоконтроль, пишем по адресу и объясняем ситуацию. Учтите, что запрет переносов может сподвигнуть некоторые плавающие объекты сдвинуться, и перепроверьте поля.
- В моей фамилии или фамилии моего научного руководителя есть буквы д, ц, щ, р, у. Из-за этого подчёркивание под ними на титульнике "уехало" вниз.
Включаем \raisebox
. Например, для буквы "д" хватит поднять фамилию на четверть икса вверх:
\raisebox{0.25ex}{А.Н. Непейвода}
- Нумерация страниц не учитывает техзадание и календарный план, которые должны быть прошиты после титульника.
Решается очень просто: находим перед ОТСЮДА СОБСТВЕННО ТЕКСТ
команду \setcounter{page}{2}
и заменяем 2
на тот номер страницы, который вам нужен (стандартно 5
). Постарайтесь сделать это до распечатки :(
- Листинги выходят за правое поле страницы.
У вас minted
? Нет проблем - используем модификатор breaklines
. Например, так:
\begin{minted}
[frame=single, fontsize = \scriptsize, linenos, breaklines, xleftmargin = 1.5em]{c++}
Кстати, размер кода тоже разумно варьировать: \scriptsize
и \footnotesize
оба приемлемы.
- Неправильное левое поле страниц на перечислении.
Если у вас это перечисление занимает три страницы (или даже одну, но целиком), то я бы тоже ругалась на месте TestVkr
, потому что это --- попытка сделать страницу уже больше чем на 1 см.
Такие перечисления нужно делать обычным текстом с абзацами.