summaryrefslogtreecommitdiff
path: root/macros/latex/contrib/bmstu/sty
diff options
context:
space:
mode:
authorNorbert Preining <norbert@preining.info>2022-01-25 03:01:54 +0000
committerNorbert Preining <norbert@preining.info>2022-01-25 03:01:54 +0000
commit54e627ff3ae26ebf28688e2cf04b2ed9fb3a393b (patch)
tree5a2f425ce86bd69fad53eebbef6ad56bff1fc9de /macros/latex/contrib/bmstu/sty
parent17f5b660e0ce0c5c1b1dc095df8213e078963809 (diff)
CTAN sync 202201250301
Diffstat (limited to 'macros/latex/contrib/bmstu/sty')
-rw-r--r--macros/latex/contrib/bmstu/sty/bmstu-appendix.sty37
-rw-r--r--macros/latex/contrib/bmstu/sty/bmstu-biblio.sty23
-rw-r--r--macros/latex/contrib/bmstu/sty/bmstu-defabbr.sty51
-rw-r--r--macros/latex/contrib/bmstu/sty/bmstu-essay.sty68
-rw-r--r--macros/latex/contrib/bmstu/sty/bmstu-figure.sty52
-rw-r--r--macros/latex/contrib/bmstu/sty/bmstu-listing.sty63
-rw-r--r--macros/latex/contrib/bmstu/sty/bmstu-title.sty247
-rw-r--r--macros/latex/contrib/bmstu/sty/bmstu-toc.sty23
8 files changed, 564 insertions, 0 deletions
diff --git a/macros/latex/contrib/bmstu/sty/bmstu-appendix.sty b/macros/latex/contrib/bmstu/sty/bmstu-appendix.sty
new file mode 100644
index 0000000000..a276edec33
--- /dev/null
+++ b/macros/latex/contrib/bmstu/sty/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/macros/latex/contrib/bmstu/sty/bmstu-biblio.sty b/macros/latex/contrib/bmstu/sty/bmstu-biblio.sty
new file mode 100644
index 0000000000..0b08161c90
--- /dev/null
+++ b/macros/latex/contrib/bmstu/sty/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/macros/latex/contrib/bmstu/sty/bmstu-defabbr.sty b/macros/latex/contrib/bmstu/sty/bmstu-defabbr.sty
new file mode 100644
index 0000000000..9c557ac6bd
--- /dev/null
+++ b/macros/latex/contrib/bmstu/sty/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/macros/latex/contrib/bmstu/sty/bmstu-essay.sty b/macros/latex/contrib/bmstu/sty/bmstu-essay.sty
new file mode 100644
index 0000000000..55766d9058
--- /dev/null
+++ b/macros/latex/contrib/bmstu/sty/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/macros/latex/contrib/bmstu/sty/bmstu-figure.sty b/macros/latex/contrib/bmstu/sty/bmstu-figure.sty
new file mode 100644
index 0000000000..d2817ca668
--- /dev/null
+++ b/macros/latex/contrib/bmstu/sty/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/macros/latex/contrib/bmstu/sty/bmstu-listing.sty b/macros/latex/contrib/bmstu/sty/bmstu-listing.sty
new file mode 100644
index 0000000000..1f39686a0e
--- /dev/null
+++ b/macros/latex/contrib/bmstu/sty/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/macros/latex/contrib/bmstu/sty/bmstu-title.sty b/macros/latex/contrib/bmstu/sty/bmstu-title.sty
new file mode 100644
index 0000000000..ea707bdc7a
--- /dev/null
+++ b/macros/latex/contrib/bmstu/sty/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/macros/latex/contrib/bmstu/sty/bmstu-toc.sty b/macros/latex/contrib/bmstu/sty/bmstu-toc.sty
new file mode 100644
index 0000000000..809698a170
--- /dev/null
+++ b/macros/latex/contrib/bmstu/sty/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