Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
19 changes: 18 additions & 1 deletion docs/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,12 @@
\KOMAoptions{fontsize=14pt}
```

### Дополнительные макросы

* `\strjustify{... \\ ...}` -- выравнивание сроки (поля) по ширине
* `\noitalicfooter` -- отключение курсива в нижнем колонтитуле на титульном листе
* `\zerotocindent` -- отключение отступов перед номерами разделов, подразделов и т.д. в содержании

## Документация к полям на титульных листах

В пакете существует 3 класса документов: `diploma` (ВКР), `research` (НИРС) и `ordinary` (простой отчёт a la ГОСТ). Каждый из них помимо общих имеет специфичные поля титульного листа.
Expand Down Expand Up @@ -49,6 +55,17 @@
* `\supervisorWithDegree{...}` -- должность, ~~регалии~~ и Фамилия И.О. научного руководителя НИРС (пример: `доцент, к.т.н. Иванов И. И.`);
* `\supervisor{...}` -- И.О. Фамилия руководителя, который допускает к защите.

##### Поля практики

* Особенность: `\theme{...}` не используется.
* `\student{...}` -- полные фамилия имя и отчество студента;
* `\profile{...}` -- номер зачётки;
* `\practiceType{...}` -- тип практики;
* `\practiceKind{...}` -- вид практики;
* `\practiceBase{...}` -- база практики;
* `\supervisor{...}` -- полные фамилия имя и отчество руководителя от предприятия;
* `\departmentSupervisor{...}` -- полные фамилия имя и отчество руководителя от кафедры.

##### Поля титульника класса ordinary

* Особенность `\theme{...}`: это тип (заглавие) работы, например "Отчёт о выполнении лабораторной работы", "Домашняя работа" и т.п., после заглавия следует фраза "по дисциплине";
Expand Down Expand Up @@ -250,4 +267,4 @@ $$
```
Файлик написал Fe-Ti (aka Tim Kravchenko) в 2024 году.
По всем вопросам обращаться в исходный код.
```
```
7 changes: 7 additions & 0 deletions tex/latex/bmstu-iu8/BMSTU-IU8.cls
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,13 @@
применяют следующие сокращения и обозначения:}
\def\fillTitle{\fillResearchTitle}
}
\DeclareOption{practice}{
\def\termsAndDefinitionsLine{В настоящем отчёте о практике
применяют следующие термины с соответствующими определениями:}
\def\abbreviationsLine{В настоящем отчёте о практике
применяют следующие сокращения и обозначения:}
\def\fillTitle{\fillPracticeTitle}
}
\DeclareOption{ordinary}{
\def\termsAndDefinitionsLine{В настоящем документе
применяют следующие термины с соответствующими определениями:}
Expand Down
1 change: 1 addition & 0 deletions tex/latex/bmstu-iu8/DEPENDS.txt
Original file line number Diff line number Diff line change
Expand Up @@ -36,3 +36,4 @@ ltablex # Here (and below) go some dependencies of dependencies
biblatex
ifoddpage
relsize
ifthen
80 changes: 72 additions & 8 deletions tex/latex/bmstu-iu8/styles/IU8-10-titlepage.sty
Original file line number Diff line number Diff line change
Expand Up @@ -2,14 +2,19 @@
\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{IU8-10-titlepage}[2025/02/09 v1.6 Титульный лист]


\newcommand{\strjustify}[1]{\StrCut{#1}{\\}\csA\csB \StrSubstitute{\csA}{\space}{\hfill\space}\csB}

% Команды для задания факультета и кафедры
\newcommand{\faculty}[2]{\gdef\@faculty{<<#1>> (#2)}}
\newcommand{\department}[2]{\gdef\@department{<<#1>> (#2)}}

% Дефолтные значения --- забываем, кому это было надо в первую очередь :)
\providecommand{\@faculty}{<<Информатика и системы управления>> (ИУ)}
\providecommand{\@department}{<<Информационная безопасность>> (ИУ8)}

% Поля для заполнения для ВКР
% Поля для заполнения для ВКР,
% часть полей используется и в других титульных
\def\student#1{\gdef\@student{#1}}
\def\@student{\@latex@warning@no@line{No \noexpand\student given}}

Expand Down Expand Up @@ -56,6 +61,19 @@
\def\supervisorWithDegree#1{\gdef\@supervisorWithDegree{#1}}
\def\@supervisorWithDegree{\@latex@warning@no@line{No \noexpand\supervisorWithDegree given}}

% Поля для заполнения титульников по летней практике
\def\practiceKind#1{\gdef\@practiceKind{#1}}
\def\@practiceKind{\@latex@warning@no@line{No \noexpand\practiceKind given}}

\def\practiceBase#1{\gdef\@practiceBase{#1}}
\def\@practiceBase{\@latex@warning@no@line{No \noexpand\practiceBase given}}

\def\practiceType#1{\gdef\@practiceType{#1}}
\def\@practiceType{\@latex@warning@no@line{No \noexpand\practiceType given}}

\def\departmentSupervisor#1{\gdef\@departmentSupervisor{#1}}
\def\@departmentSupervisor{\@latex@warning@no@line{No \noexpand\departmentSupervisor given}}

% Поля для заполнения "обычных" отчётов
\def\discipline#1{\gdef\@discipline{#1}}
\def\@discipline{\@latex@warning@no@line{No \noexpand\discipline given}}
Expand All @@ -70,9 +88,12 @@
\newcommand{\version}[1]{\gdef\@version{Вариант #1}} % Если указан вариант, то определяем команду
\providecommand{\@version}{~} % Если не указан вариант, то заменяем на пустоту

\newcommand{\noitalicfooter}{\gdef\@italicfooter{}}
\providecommand{\@italicfooter}{\itshape}

\RequirePackage{fancyhdr}
\fancypagestyle{year}{
\fancyfoot[C]{\itshape Москва, \the\year~г.}
\fancyfoot[C]{\@italicfooter Москва, \the\year~г.}
\renewcommand{\headrulewidth}{0pt}
\fancyhead{}
}
Expand Down Expand Up @@ -116,11 +137,12 @@
\noindent\makebox[\linewidth]{\rule{\textwidth}{2pt}}
\makebox[\linewidth]{\rule{\textwidth}{1pt}}
\end{center}
\begin{flushleft}
\fontsize{12pt}{14pt}\selectfont
ФАКУЛЬТЕТ \tabto{3cm} \@faculty \\
КАФЕДРА \tabto{3cm} \@department
\end{flushleft}
{\fontsize{12pt}{14pt} \selectfont \noindent
\begin{tabular}{lp{0.7\linewidth}}
ФАКУЛЬТЕТ \tabto{3cm} & \@faculty \\
КАФЕДРА \tabto{3cm} & \@department
\end{tabular}
}
}

\newcommand\fillingBox[3][\maxlen]{
Expand Down Expand Up @@ -241,6 +263,47 @@
\makeUlineStack[3.5cm]{~}{(Подпись, дата)} \hfill\\
}


\newcommand\fillPracticeTitle{

\vfill

\noindent\begin{center}
\centering
{\bfseries\fontsize{20pt}{25pt}\selectfont ОТЧЁТ~ПО~\@practiceKind~ПРАКТИКЕ}
\end{center}

\bigskip

{\fontsize{12pt}{15pt}\selectfont \noindent
Тип пратики: \@practiceType \\
Название предприятия: \@practiceBase \\
}

\vfill

{\fontsize{12pt}{15pt}\selectfont \noindent
\begin{tabular}{p{0.6\linewidth}c}

Студент: группа \@group, л.д. \@profile &\\
\@student & \makeUlineStack[0.3\linewidth]{~}{(Подпись, дата)} \\

Руководитель от предприятия:&\\
\@supervisor & \makeUlineStack[0.3\linewidth]{~}{(Подпись, дата)} \\
Руководитель от кафедры:&\\
\@departmentSupervisor & \makeUlineStack[0.3\linewidth]{~}{(Подпись, дата)} \\
\end{tabular}
}

\vfill

\enablescore

\vfill

\clearpage
}

\newcommand\fillOrdinaryTitle{

\vfill
Expand All @@ -256,7 +319,7 @@
\vfill

{\fontsize{12pt}{15pt}\selectfont
\reverseFillingBox{Студент \hspace{\widthof{Преподаватель}-\widthof{Студент}}\makeUlineStack[\widthof{\@group}]{\@group}{(Группа)}}{\@student}
\reverseFillingBox{Студент \hspace{\widthof{Преподаватель}-\widthof{Студент}}\makeUlineStack[\widthof{\@group}]{\@group}{(Группа)}}{\@student} \\
\reverseFillingBox{Преподаватель\quad\hspace{\widthof{\@group}}}{\@supervisor}
}
\bigskip
Expand Down Expand Up @@ -284,6 +347,7 @@
\CompLen{\@economicsConsultant}
\CompLen{\@lawsConsultant}
\CompLen{\@normController}
\CompLen{\@departmentSupervisor}

\thispagestyle{year}
\makeBMSTUHeader
Expand Down
18 changes: 14 additions & 4 deletions tex/latex/bmstu-iu8/styles/IU8-13-contents.sty
Original file line number Diff line number Diff line change
Expand Up @@ -12,19 +12,29 @@
\@starttoc{toc}
}


% Нулевой отступ в содержании (TestVKR)
\newcommand{\zerotocindent}{\gdef\@tocindentsec{0mm} \gdef\@tocindentsubsec{0mm} \gdef\@tocindentsubsubsec{0mm}}

% Дефолтные значения
\providecommand{\@tocindentsec}{5mm}
\providecommand{\@tocindentsubsec}{10mm}
\providecommand{\@tocindentsubsubsec}{15mm}


\renewcommand*\l@section{\@dottedtocline{0}{0mm}{2em}}
\renewcommand*\l@structure{\@dottedtocline{0}{0mm}{0em}}
% ГОСТ 7.32-2017. Пункт 5.4.1:
% Обозначения подразделов приводят после абзацного отступа,
% равного двум знакам, относительно обозначения разделов.
\renewcommand*\l@section{\@dottedtocline{1}{5mm}{3em}}
\renewcommand*\l@subsection{\@dottedtocline{1}{10mm}{3em}}
\renewcommand*\l@section{\@dottedtocline{1}{\@tocindentsec}{3em}}
\renewcommand*\l@subsection{\@dottedtocline{1}{\@tocindentsubsec}{3em}}
% ГОСТ 7.32-2017. Пункт 5.4.1:
% Обозначения пунктов приводят после абзацного отступа,
% равного четырем знакам, относительно обозначения разделов.
\renewcommand*\l@subsubsection{\@dottedtocline{2}{15mm}{4em}}
\renewcommand*\l@subsubsection{\@dottedtocline{2}{\@tocindentsubsubsec}{4em}}
% Остальное - индуктивно
\renewcommand*\l@paragraph{\@dottedtocline{3}{15mm}{5em}}
\renewcommand*\l@paragraph{\@dottedtocline{3}{\@tocindentsubsubsec}{5em}}


\setcounter{secnumdepth}{5} % Глубина заголовков - до пятого уровня
Expand Down