summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/latex/bmstu
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2022-01-24 21:41:19 +0000
committerKarl Berry <karl@freefriends.org>2022-01-24 21:41:19 +0000
commita326d24711b773fa338b162fd1e98bbc8f8ce993 (patch)
treee219fe73a8cca4af8f612a4befd9e9493e2fe07c /Master/texmf-dist/tex/latex/bmstu
parent6f9dbf5a40fb4ec3ae9fe99d140a5bdcd004a504 (diff)
bmstu (24jan22)
git-svn-id: svn://tug.org/texlive/trunk@61731 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/latex/bmstu')
-rw-r--r--Master/texmf-dist/tex/latex/bmstu/bmstu-appendix.sty37
-rw-r--r--Master/texmf-dist/tex/latex/bmstu/bmstu-biblio.sty23
-rw-r--r--Master/texmf-dist/tex/latex/bmstu/bmstu-defabbr.sty51
-rw-r--r--Master/texmf-dist/tex/latex/bmstu/bmstu-essay.sty68
-rw-r--r--Master/texmf-dist/tex/latex/bmstu/bmstu-figure.sty52
-rw-r--r--Master/texmf-dist/tex/latex/bmstu/bmstu-listing.sty63
-rw-r--r--Master/texmf-dist/tex/latex/bmstu/bmstu-logo.pdfbin0 -> 129396 bytes
-rw-r--r--Master/texmf-dist/tex/latex/bmstu/bmstu-title.sty247
-rw-r--r--Master/texmf-dist/tex/latex/bmstu/bmstu-toc.sty23
-rw-r--r--Master/texmf-dist/tex/latex/bmstu/bmstu.cls115
10 files changed, 679 insertions, 0 deletions
diff --git a/Master/texmf-dist/tex/latex/bmstu/bmstu-appendix.sty b/Master/texmf-dist/tex/latex/bmstu/bmstu-appendix.sty
new file mode 100644
index 00000000000..a276edec33e
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/bmstu/bmstu-appendix.sty
@@ -0,0 +1,37 @@
+%% bmstu_appendix.sty
+%% Copyright 2022 Mikael Novikov
+%
+% This work may be distributed and/or modified under the
+% conditions of the LaTeX Project Public License, either version 1.3
+% of this license or (at your option) any later version.
+% The latest version of this license is in
+% http://www.latex-project.org/lppl.txt
+% and version 1.3 or later is part of all distributions of LaTeX
+% version 2005/12/01 or later.
+%
+% This work has the LPPL maintenance status `maintained'.
+%
+% The Current Maintainer of this work is Mikael Novikov.
+%
+% This work consists of all files listed in manifest.txt.
+
+% Установка заголовков приложений
+\RequirePackage[
+ titletoc,
+ title,
+]{appendix}
+\AtBeginDocument{\renewcommand{\appendixname}{ПРИЛОЖЕНИЕ}}
+
+% Создание приложений
+\let\oldappendices\appendices
+\let\oldendappendices\endappendices
+\renewenvironment{appendices}
+{
+ \titleformat{\chapter}{\large\bfseries}{\appendixname~\thechapter}{0pt}{\centering\large\bfseries\\}
+ \setcounter{appendixchapters}{0}
+ \oldappendices
+ \renewcommand{\thechapter}{\Asbuk{chapter}}
+}
+{
+ \oldendappendices
+}
diff --git a/Master/texmf-dist/tex/latex/bmstu/bmstu-biblio.sty b/Master/texmf-dist/tex/latex/bmstu/bmstu-biblio.sty
new file mode 100644
index 00000000000..0b08161c90b
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/bmstu/bmstu-biblio.sty
@@ -0,0 +1,23 @@
+%% bmstu_biblio.sty
+%% Copyright 2022 Mikael Novikov
+%
+% This work may be distributed and/or modified under the
+% conditions of the LaTeX Project Public License, either version 1.3
+% of this license or (at your option) any later version.
+% The latest version of this license is in
+% http://www.latex-project.org/lppl.txt
+% and version 1.3 or later is part of all distributions of LaTeX
+% version 2005/12/01 or later.
+%
+% This work has the LPPL maintenance status `maintained'.
+%
+% The Current Maintainer of this work is Mikael Novikov.
+%
+% This work consists of all files listed in manifest.txt.
+
+% Создание списка использованных источников
+\newcommand{\makebibliography}
+{
+ \printbibliography[title=СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ]
+ \addcontentsline{toc}{chapter}{СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ}
+} \ No newline at end of file
diff --git a/Master/texmf-dist/tex/latex/bmstu/bmstu-defabbr.sty b/Master/texmf-dist/tex/latex/bmstu/bmstu-defabbr.sty
new file mode 100644
index 00000000000..9c557ac6bdf
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/bmstu/bmstu-defabbr.sty
@@ -0,0 +1,51 @@
+%% bmstu_defabbr.sty
+%% Copyright 2022 Mikael Novikov
+%
+% This work may be distributed and/or modified under the
+% conditions of the LaTeX Project Public License, either version 1.3
+% of this license or (at your option) any later version.
+% The latest version of this license is in
+% http://www.latex-project.org/lppl.txt
+% and version 1.3 or later is part of all distributions of LaTeX
+% version 2005/12/01 or later.
+%
+% This work has the LPPL maintenance status `maintained'.
+%
+% The Current Maintainer of this work is Mikael Novikov.
+%
+% This work consists of all files listed in manifest.txt.
+
+% Создание элемента
+\RequirePackage{enumitem}
+\newcommand{\definition}[2]
+{
+ \item \noindent #1 --- #2
+}
+
+% Создание страницы определений
+\newenvironment{definitions}
+{
+ \chapter*{ОПРЕДЕЛЕНИЯ}
+ \addcontentsline{toc}{chapter}{ОПРЕДЕЛЕНИЯ}
+
+ В настоящей расчетно-пояснительной записке применяют следующие термины с соответствующими определениями.
+
+ \begin{description}[leftmargin=0pt]
+ }
+ {
+ \end{description}
+}
+
+% Создание страницы обозначений и сокращений
+\newenvironment{abbreviations}
+{
+ \chapter*{ОБОЗНАЧЕНИЯ И СОКРАЩЕНИЯ}
+ \addcontentsline{toc}{chapter}{ОБОЗНАЧЕНИЯ И СОКРАЩЕНИЯ}
+
+ В настоящей расчетно-пояснительной записке применяют следующие сокращения и обозначения.
+
+ \begin{description}[leftmargin=0pt]
+ }
+ {
+ \end{description}
+} \ No newline at end of file
diff --git a/Master/texmf-dist/tex/latex/bmstu/bmstu-essay.sty b/Master/texmf-dist/tex/latex/bmstu/bmstu-essay.sty
new file mode 100644
index 00000000000..55766d90580
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/bmstu/bmstu-essay.sty
@@ -0,0 +1,68 @@
+%% bmstu_essay.sty
+%% Copyright 2022 Mikael Novikov
+%
+% This work may be distributed and/or modified under the
+% conditions of the LaTeX Project Public License, either version 1.3
+% of this license or (at your option) any later version.
+% The latest version of this license is in
+% http://www.latex-project.org/lppl.txt
+% and version 1.3 or later is part of all distributions of LaTeX
+% version 2005/12/01 or later.
+%
+% This work has the LPPL maintenance status `maintained'.
+%
+% The Current Maintainer of this work is Mikael Novikov.
+%
+% This work consists of all files listed in manifest.txt.
+
+% Подсчет количества страниц
+\RequirePackage{lastpage}
+
+% Подсчет количества рисунков и таблиц
+\RequirePackage{etoolbox}
+\newcounter{totfigures}
+\newcounter{tottables}
+\providecommand\totfig{}
+\providecommand\tottab{}
+\makeatletter
+\AtEndDocument{%
+ \addtocounter{totfigures}{\value{figure}}%
+ \addtocounter{tottables}{\value{table}}%
+ \immediate\write\@mainaux{%
+ \string\gdef\string\totfig{\number\value{totfigures}}%
+ \string\gdef\string\tottab{\number\value{tottables}}%
+ }%
+}
+\makeatother
+\pretocmd{\chapter}{\addtocounter{totfigures}{\value{figure}}\setcounter{figure}{0}}{}{}
+\pretocmd{\chapter}{\addtocounter{tottables}{\value{table}}\setcounter{table}{0}}{}{}
+
+% Подсчет количества использованных источников
+\newcounter{totbibentries}
+\newcommand*{\listcounted}{}
+\providecommand\totbib{}
+\makeatletter
+\AtDataInput{%
+ \xifinlist{\abx@field@entrykey}\listcounted%
+ {}%
+ {\stepcounter{totbibentries}%
+ \listxadd\listcounted{\abx@field@entrykey}}%
+}%
+\makeatother
+
+% Подсчет количества приложений
+\usepackage{totcount, assoccnt}
+\newcounter{appendixchapters}
+\DeclareAssociatedCounters{chapter}{appendixchapters}
+\regtotcounter{appendixchapters}
+
+% Создание страницы реферата
+\newenvironment{essay}[1]
+{
+ \chapter*{РЕФЕРАТ}
+ \addcontentsline{toc}{chapter}{РЕФЕРАТ}
+
+ Расчетно-пояснительная записка \begin{NoHyper}\pageref{LastPage}\end{NoHyper}~с., \totfig~рис., \tottab~табл., \thetotbibentries~источн., \total{appendixchapters}~прил.
+
+ \noindent \MakeUppercase{#1} \par
+}{} \ No newline at end of file
diff --git a/Master/texmf-dist/tex/latex/bmstu/bmstu-figure.sty b/Master/texmf-dist/tex/latex/bmstu/bmstu-figure.sty
new file mode 100644
index 00000000000..d2817ca6686
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/bmstu/bmstu-figure.sty
@@ -0,0 +1,52 @@
+%% bmstu_figure.sty
+%% Copyright 2022 Mikael Novikov
+%
+% This work may be distributed and/or modified under the
+% conditions of the LaTeX Project Public License, either version 1.3
+% of this license or (at your option) any later version.
+% The latest version of this license is in
+% http://www.latex-project.org/lppl.txt
+% and version 1.3 or later is part of all distributions of LaTeX
+% version 2005/12/01 or later.
+%
+% This work has the LPPL maintenance status `maintained'.
+%
+% The Current Maintainer of this work is Mikael Novikov.
+%
+% This work consists of all files listed in manifest.txt.
+
+% Подключения пакетов фигур
+\RequirePackage{graphicx}
+\RequirePackage{float}
+\RequirePackage{wrapfig}
+\RequirePackage{tikzscale}
+
+% Подключения пакета графиков
+\RequirePackage{pgfplots}
+\pgfplotsset{compat=newest}
+
+% Команда создания рисунка
+\newcommand{\includeimage}[5]
+{
+ \ifthenelse{\equal{#2}{f}}
+ {
+ \begin{figure}[#3]
+ \center{\includegraphics[width=#4]{inc/img/#1}}
+ \caption{#5}
+ \label{img:#1}
+ \end{figure}
+ }
+ {
+ \ifthenelse{\equal{#2}{w}}
+ {
+ \begin{wrapfigure}{#3}{#4}
+ \center{\includegraphics[width=#4]{inc/img/#1}}
+ \caption{#5}
+ \label{img:#1}
+ \end{wrapfigure}
+ }
+ {
+ \PackageError{bmstu}{unknown image type}{}
+ }
+ }
+} \ No newline at end of file
diff --git a/Master/texmf-dist/tex/latex/bmstu/bmstu-listing.sty b/Master/texmf-dist/tex/latex/bmstu/bmstu-listing.sty
new file mode 100644
index 00000000000..1f39686a0eb
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/bmstu/bmstu-listing.sty
@@ -0,0 +1,63 @@
+%% bmstu_listing.sty
+%% Copyright 2022 Mikael Novikov
+%
+% This work may be distributed and/or modified under the
+% conditions of the LaTeX Project Public License, either version 1.3
+% of this license or (at your option) any later version.
+% The latest version of this license is in
+% http://www.latex-project.org/lppl.txt
+% and version 1.3 or later is part of all distributions of LaTeX
+% version 2005/12/01 or later.
+%
+% This work has the LPPL maintenance status `maintained'.
+%
+% The Current Maintainer of this work is Mikael Novikov.
+%
+% This work consists of all files listed in manifest.txt.
+
+% Настройка листингов
+\RequirePackage{listings}
+\RequirePackage{listingsutf8}
+\lstset{
+ inputencoding=utf8/koi8-r,
+ basicstyle=\small\ttfamily,
+ rulecolor=\color{black},
+ escapeinside={\%*}{*)},
+ breaklines=true,
+ breakatwhitespace=true,
+ tabsize=4,
+ showstringspaces=false,
+ float=h!,
+ abovecaptionskip=-5pt,
+}
+
+% Команда создания простого листинга
+\newcommand{\includelisting}[2]
+{
+ \lstinputlisting[
+ frame=single,
+ caption={#2},
+ label={lst:#1},
+ ]{inc/lst/#1}
+}
+
+\definecolor{numbers}{rgb}{0.5, 0.5, 0.5}
+\definecolor{keywords}{rgb}{0.13, 0.13, 1}
+\definecolor{comments}{rgb}{0, 0.5, 0}
+\definecolor{strings}{rgb}{0.9, 0, 0}
+
+% Команда создания листинга с подсветкой синтаксиса и нумерацией строк
+\newcommand{\includelistingpretty}[3]
+{
+ \lstinputlisting[
+ language={#2},
+ keywordstyle=\color{keywords},
+ stringstyle=\color{strings},
+ commentstyle=\color{comments},
+ frame=leftline,
+ numbers=left,
+ numberstyle=\footnotesize\color{numbers},
+ caption={#3},
+ label={lst:#1},
+ ]{inc/lst/#1}
+} \ No newline at end of file
diff --git a/Master/texmf-dist/tex/latex/bmstu/bmstu-logo.pdf b/Master/texmf-dist/tex/latex/bmstu/bmstu-logo.pdf
new file mode 100644
index 00000000000..226943b0b46
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/bmstu/bmstu-logo.pdf
Binary files differ
diff --git a/Master/texmf-dist/tex/latex/bmstu/bmstu-title.sty b/Master/texmf-dist/tex/latex/bmstu/bmstu-title.sty
new file mode 100644
index 00000000000..ea707bdc7a0
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/bmstu/bmstu-title.sty
@@ -0,0 +1,247 @@
+%% bmstu_title.sty
+%% Copyright 2022 Mikael Novikov
+%
+% This work may be distributed and/or modified under the
+% conditions of the LaTeX Project Public License, either version 1.3
+% of this license or (at your option) any later version.
+% The latest version of this license is in
+% http://www.latex-project.org/lppl.txt
+% and version 1.3 or later is part of all distributions of LaTeX
+% version 2005/12/01 or later.
+%
+% This work has the LPPL maintenance status `maintained'.
+%
+% The Current Maintainer of this work is Mikael Novikov.
+%
+% This work consists of all files listed in manifest.txt.
+
+% Установка мета-данных выходного файла
+\newcommand{\documentmeta}[4]
+{
+ \hypersetup{
+ pdftitle={#1 #2 #3},
+ pdfsubject={#4},
+ pdfauthor={#2}
+ }
+}
+
+% Cоздание полей
+\RequirePackage[normalem]{ulem}
+\RequirePackage{stackengine}
+\newcommand{\longunderline}[1]
+{
+ \uline{#1\hfill\mbox{}}
+}
+\newcommand{\fixunderline}[3]
+{
+ $\underset{\text{#3}}{\text{\uline{\stackengine{0pt}{\hspace{#2}}{\text{#1}}{O}{c}{F}{F}{L}}}}$
+}
+
+% Создание горизонтальной линии
+\makeatletter
+\newcommand{\vhrulefill}[1]
+{
+ \leavevmode\leaders\hrule\@height#1\hfill \kern\z@
+}
+\makeatother
+
+% Создание шапки титульной страницы
+\newcommand{\titlepageheader}[2]
+{
+ \begin{wrapfigure}[7]{l}{0.14\linewidth}
+ \vspace{3.4mm}
+ \hspace{-8mm}
+ \includegraphics[width=0.89\linewidth]{img/bmstu-logo}
+ \end{wrapfigure}
+
+ {
+ \singlespacing \small
+ Министерство науки и высшего образования Российской Федерации \\
+ Федеральное государственное бюджетное образовательное учреждение \\
+ высшего образования \\
+ <<Московский государственный технический университет \\
+ имени Н.~Э.~Баумана \\
+ (национальный исследовательский университет)>> \\
+ (МГТУ им. Н.~Э.~Баумана) \\
+ }
+
+ \vspace{-4.2mm}
+ \vhrulefill{0.9mm} \\
+ \vspace{-7mm}
+ \vhrulefill{0.2mm} \\
+ \vspace{2.8mm}
+
+ {
+ \small
+ ФАКУЛЬТЕТ \longunderline{<<#1>>} \\
+ \vspace{3.3mm}
+ КАФЕДРА \longunderline{<<#2>>} \\
+ }
+}
+
+% Установка заголовков отчета по НИР
+\newcommand{\titlepageresearchtitle}[1]
+{
+ {
+ \LARGE \bfseries
+ ОТЧЕТ \\
+ }
+ \vspace{5mm}
+ {
+ \Large \itshape
+ ПО НАУЧНО-ИССЛЕДОВАТЕЛЬСКОЙ РАБОТЕ \\
+ \vspace{5mm}
+ НА ТЕМУ: \\
+ <<#1>> \\
+ }
+}
+
+% Установка заголовков РПЗ
+\newcommand{\titlepagenotetitle}[2]
+{
+ {
+ \LARGE \bfseries
+ РАСЧЕТНО-ПОЯСНИТЕЛЬНАЯ ЗАПИСКА \\
+ }
+ \vspace{5mm}
+ {
+ \Large \itshape
+ #1 \\
+ \vspace{5mm}
+ НА ТЕМУ: \\
+ <<#2>> \\
+ }
+}
+
+% Установка заголовков отчета
+\newcommand{\titlepagereporttitle}[4]
+{
+ \textbf{ОТЧЕТ} \\
+ по #1 \\
+ \ifthenelse{\isempty{#2}}{}{по курсу <<#2>> \\}
+ \ifthenelse{\isempty{#3}}{}{на тему: <<#3>> \\}
+ \ifthenelse{\isempty{#4}}{}{Вариант №~#4 \\}
+}
+
+% Создание поля студента
+\newcommand{\titlepagestudent}[2]
+{
+ Студент \fixunderline{#1}{25mm}{(Группа)} &
+ \fixunderline{}{40mm}{(Подпись, дата)} \vspace{1.3mm} &
+ \fixunderline{#2}{40mm}{(И.~О.~Фамилия)} \\
+}
+
+% Создание прочих полей
+\newcommand{\titlepageothers}[2]
+{
+ #1 &
+ \fixunderline{}{40mm}{(Подпись, дата)} \vspace{1.3mm} &
+ \fixunderline{#2}{40mm}{(И.~О.~Фамилия)} \\
+}
+
+% Установка исполнителей работы
+\newcommand{\titlepageauthors}[7]
+{
+ {
+ \small
+ \begin{tabularx}{\textwidth}{@{}>{\hsize=.5\hsize}X>{\hsize=.25\hsize}X>{\hsize=.25\hsize}X@{}}
+ \titlepagestudent{#1}{#2}
+ \titlepageothers{#3}{#4}
+ \ifthenelse{\isempty{#5}}{}{\titlepageothers{Консультант}{#5}}
+ \ifthenelse{\isempty{#6}}{}{\titlepageothers{Консультант}{#6}}
+ \ifthenelse{\isempty{#7}}{}{\titlepageothers{Нормоконтролер}{#7}}
+ \end{tabularx}
+ }
+}
+
+% Создание титульной страницы РПЗ к ВКР
+\newcommand{\makethesistitle}[9]
+{
+ \documentmeta{РПЗ к ВКР}{#5}{#4}{#3}
+
+ \begin{titlepage}
+ \centering
+
+ \titlepageheader{#1}{#2}
+ \vspace{15.8mm}
+
+ \titlepagenotetitle{К ВЫПУСКНОЙ КВАЛИФИКАЦИОННОЙ РАБОТЕ}{#3}
+ \vfill
+
+ \titlepageauthors{#4}{#5}{Руководитель ВКР}{#6}{#7}{#8}{#9}
+ \vspace{14mm}
+
+ \textit{{\the\year} г.}
+ \end{titlepage}
+
+ \setcounter{page}{2}
+}
+
+% Создание титульной страницы отчета по НИР
+\newcommand{\makeresearchtitle}[8]
+{
+ \documentmeta{Отчет по НИР}{#5}{#4}{#3}
+
+ \begin{titlepage}
+ \centering
+
+ \titlepageheader{#1}{#2}
+ \vspace{15.8mm}
+
+ \titlepageresearchtitle{#3}
+ \vfill
+
+ \titlepageauthors{#4}{#5}{Руководитель НИР}{#6}{#7}{#8}{}
+ \vspace{14mm}
+
+ \textit{{\the\year} г.}
+ \end{titlepage}
+
+ \setcounter{page}{2}
+}
+
+% Создание титульной страницы РПЗ к КР
+\newcommand{\makecourseworktitle}[8]
+{
+ \documentmeta{РПЗ к КР}{#5}{#4}{#3}
+
+ \begin{titlepage}
+ \centering
+
+ \titlepageheader{#1}{#2}
+ \vspace{15.8mm}
+
+ \titlepagenotetitle{К КУРСОВОЙ РАБОТЕ}{#3}
+ \vfill
+
+ \titlepageauthors{#4}{#5}{Руководитель курсовой работы}{#6}{#7}{#8}{}
+ \vspace{14mm}
+
+ \textit{{\the\year} г.}
+ \end{titlepage}
+
+ \setcounter{page}{2}
+}
+
+% Создание титульной страницы отчета
+\newcommand{\makereporttitle}[9]
+{
+ \documentmeta{Отчет}{#8}{#3 #4}{#5}
+
+ \begin{titlepage}
+ \centering
+
+ \titlepageheader{#1}{#2}
+ \vspace{15.8mm}
+
+ \titlepagereporttitle{#3}{#4}{#5}{#6}
+ \vfill
+
+ \titlepageauthors{#7}{#8}{Преподаватель}{#9}{}{}{}
+ \vspace{14mm}
+
+ \textit{{\the\year} г.}
+ \end{titlepage}
+
+ \setcounter{page}{2}
+} \ No newline at end of file
diff --git a/Master/texmf-dist/tex/latex/bmstu/bmstu-toc.sty b/Master/texmf-dist/tex/latex/bmstu/bmstu-toc.sty
new file mode 100644
index 00000000000..809698a1705
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/bmstu/bmstu-toc.sty
@@ -0,0 +1,23 @@
+%% bmstu_toc.sty
+%% Copyright 2022 Mikael Novikov
+%
+% This work may be distributed and/or modified under the
+% conditions of the LaTeX Project Public License, either version 1.3
+% of this license or (at your option) any later version.
+% The latest version of this license is in
+% http://www.latex-project.org/lppl.txt
+% and version 1.3 or later is part of all distributions of LaTeX
+% version 2005/12/01 or later.
+%
+% This work has the LPPL maintenance status `maintained'.
+%
+% The Current Maintainer of this work is Mikael Novikov.
+%
+% This work consists of all files listed in manifest.txt.
+
+% Создание содержания
+\newcommand{\maketableofcontents}
+{
+ \renewcommand\contentsname{СОДЕРЖАНИЕ}
+ \tableofcontents
+} \ No newline at end of file
diff --git a/Master/texmf-dist/tex/latex/bmstu/bmstu.cls b/Master/texmf-dist/tex/latex/bmstu/bmstu.cls
new file mode 100644
index 00000000000..10f59f876dd
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/bmstu/bmstu.cls
@@ -0,0 +1,115 @@
+%% bmstu.cls
+%% Copyright 2022 Mikael Novikov
+%
+% This work may be distributed and/or modified under the
+% conditions of the LaTeX Project Public License, either version 1.3
+% of this license or (at your option) any later version.
+% The latest version of this license is in
+% http://www.latex-project.org/lppl.txt
+% and version 1.3 or later is part of all distributions of LaTeX
+% version 2005/12/01 or later.
+%
+% This work has the LPPL maintenance status `maintained'.
+%
+% The Current Maintainer of this work is Mikael Novikov.
+%
+% This work consists of all files listed in manifest.txt.
+
+\NeedsTeXFormat{LaTeX2e}
+
+\ProvidesClass{bmstu}[2022/01/24 v1.0.0 BMSTU class]
+
+% Установка базового класса
+\LoadClass[14pt]{extreport}
+
+% Настройка кодировки и языков
+\RequirePackage[T1,T2A]{fontenc}
+\RequirePackage[utf8]{inputenc}
+\RequirePackage[english,main=russian]{babel}
+\RequirePackage{fix-cm}
+
+% Настройка полей
+\RequirePackage[
+ left=30mm,
+ right=10mm, % Является требованием МГТУ, не соответствует ГОСТ 7.32-2017
+ top=20mm,
+ bottom=20mm,
+]{geometry}
+
+% Настройка переносов
+\RequirePackage{microtype}
+\sloppy
+
+% Настройка межстрочного интервала
+\RequirePackage{setspace}
+\onehalfspacing
+
+% Настройка абзацного отступа
+\RequirePackage{indentfirst}
+\setlength{\parindent}{12.5mm}
+
+% Настройка заголовков
+\makeatletter
+\renewcommand\LARGE{\@setfontsize\LARGE{22pt}{20}}
+\renewcommand\Large{\@setfontsize\Large{20pt}{20}}
+\renewcommand\large{\@setfontsize\large{16pt}{20}}
+\makeatother
+\RequirePackage{titlesec}
+\titleformat{\chapter}[block]{\hspace{\parindent}\large\bfseries}{\thechapter}{0.5em}{\large\bfseries\raggedright}
+\titleformat{name=\chapter,numberless}[block]{\hspace{\parindent}}{}{0pt}{\large\bfseries\centering}
+\titleformat{\section}[block]{\hspace{\parindent}\large\bfseries}{\thesection}{0.5em}{\large\bfseries\raggedright}
+\titleformat{\subsection}[block]{\hspace{\parindent}\large\bfseries}{\thesubsection}{0.5em}{\large\bfseries\raggedright}
+\titleformat{\subsubsection}[block]{\hspace{\parindent}\large\bfseries}{\thesubsection}{0.5em}{\large\bfseries\raggedright}
+\titlespacing{\chapter}{12.5mm}{-22pt}{10pt}
+\titlespacing{\section}{12.5mm}{10pt}{10pt}
+\titlespacing{\subsection}{12.5mm}{10pt}{10pt}
+\titlespacing{\subsubsection}{12.5mm}{10pt}{10pt}
+
+% Подключение пакета цветов
+\RequirePackage{xcolor}
+
+\RequirePackage{bmstu-figure}
+\RequirePackage{bmstu-listing}
+
+% Подключение пакетов таблиц
+\RequirePackage{tabularx}
+\RequirePackage{booktabs}
+
+% Настройка подписей
+\RequirePackage[
+ labelsep=endash,
+ figurename=Рисунок,
+ singlelinecheck=false,
+]{caption}
+\captionsetup[figure]{justification=centering}
+
+% Подключение пакетов для альбомной ориентации
+\RequirePackage{lscape}
+\RequirePackage{afterpage}
+
+% Подключение математических пакетов
+\RequirePackage{amsmath}
+\RequirePackage{amssymb}
+
+% Настройка библиографии
+\RequirePackage[
+ style=gost-numeric,
+ language=auto,
+ autolang=other,
+ sorting=none,
+]{biblatex}
+\RequirePackage{csquotes}
+\DeclareFieldFormat{urldate}{(дата обращения:\addspace\thefield{urlday}\adddot \thefield{urlmonth}\adddot\thefield{urlyear})}
+
+% Подключение пакета гиперссылок
+\RequirePackage[unicode,hidelinks]{hyperref}
+
+% Подключение пакета управляющих конструкций
+\RequirePackage{xifthen}
+
+\RequirePackage{bmstu-title}
+\RequirePackage{bmstu-essay}
+\RequirePackage{bmstu-toc}
+\RequirePackage{bmstu-defabbr}
+\RequirePackage{bmstu-biblio}
+\RequirePackage{bmstu-appendix}