From a326d24711b773fa338b162fd1e98bbc8f8ce993 Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Mon, 24 Jan 2022 21:41:19 +0000 Subject: bmstu (24jan22) git-svn-id: svn://tug.org/texlive/trunk@61731 c570f23f-e606-0410-a88d-b1316a301751 --- Master/texmf-dist/doc/latex/bmstu/README.md | 21 ++ Master/texmf-dist/doc/latex/bmstu/examples.pdf | Bin 0 -> 877742 bytes Master/texmf-dist/doc/latex/bmstu/examples.tex | 155 +++++++++++++ Master/texmf-dist/doc/latex/bmstu/tux.png | Bin 0 -> 78838 bytes Master/texmf-dist/doc/latex/bmstu/tuz.png | Bin 0 -> 354190 bytes Master/texmf-dist/source/latex/bmstu/main.c | 9 + .../texmf-dist/tex/latex/bmstu/bmstu-appendix.sty | 37 +++ Master/texmf-dist/tex/latex/bmstu/bmstu-biblio.sty | 23 ++ .../texmf-dist/tex/latex/bmstu/bmstu-defabbr.sty | 51 +++++ Master/texmf-dist/tex/latex/bmstu/bmstu-essay.sty | 68 ++++++ Master/texmf-dist/tex/latex/bmstu/bmstu-figure.sty | 52 +++++ .../texmf-dist/tex/latex/bmstu/bmstu-listing.sty | 63 ++++++ Master/texmf-dist/tex/latex/bmstu/bmstu-logo.pdf | Bin 0 -> 129396 bytes Master/texmf-dist/tex/latex/bmstu/bmstu-title.sty | 247 +++++++++++++++++++++ Master/texmf-dist/tex/latex/bmstu/bmstu-toc.sty | 23 ++ Master/texmf-dist/tex/latex/bmstu/bmstu.cls | 115 ++++++++++ Master/tlpkg/bin/tlpkg-ctan-check | 2 +- Master/tlpkg/libexec/ctan2tds | 2 + Master/tlpkg/tlpsrc/bmstu.tlpsrc | 0 Master/tlpkg/tlpsrc/collection-publishers.tlpsrc | 1 + 20 files changed, 868 insertions(+), 1 deletion(-) create mode 100644 Master/texmf-dist/doc/latex/bmstu/README.md create mode 100644 Master/texmf-dist/doc/latex/bmstu/examples.pdf create mode 100644 Master/texmf-dist/doc/latex/bmstu/examples.tex create mode 100644 Master/texmf-dist/doc/latex/bmstu/tux.png create mode 100644 Master/texmf-dist/doc/latex/bmstu/tuz.png create mode 100644 Master/texmf-dist/source/latex/bmstu/main.c create mode 100644 Master/texmf-dist/tex/latex/bmstu/bmstu-appendix.sty create mode 100644 Master/texmf-dist/tex/latex/bmstu/bmstu-biblio.sty create mode 100644 Master/texmf-dist/tex/latex/bmstu/bmstu-defabbr.sty create mode 100644 Master/texmf-dist/tex/latex/bmstu/bmstu-essay.sty create mode 100644 Master/texmf-dist/tex/latex/bmstu/bmstu-figure.sty create mode 100644 Master/texmf-dist/tex/latex/bmstu/bmstu-listing.sty create mode 100644 Master/texmf-dist/tex/latex/bmstu/bmstu-logo.pdf create mode 100644 Master/texmf-dist/tex/latex/bmstu/bmstu-title.sty create mode 100644 Master/texmf-dist/tex/latex/bmstu/bmstu-toc.sty create mode 100644 Master/texmf-dist/tex/latex/bmstu/bmstu.cls create mode 100644 Master/tlpkg/tlpsrc/bmstu.tlpsrc (limited to 'Master') diff --git a/Master/texmf-dist/doc/latex/bmstu/README.md b/Master/texmf-dist/doc/latex/bmstu/README.md new file mode 100644 index 00000000000..e62cb3cd35b --- /dev/null +++ b/Master/texmf-dist/doc/latex/bmstu/README.md @@ -0,0 +1,21 @@ +# bmstu package + +Release 2022-01-24 (v1.0.0) + +## Overview + +The class defines commands and environments for creating reports and explanatory notes in Bauman Moscow State Technical University (Russia). + +Generated files correspond to [requirements of Bauman Moscow State Technical University](https://mf.bmstu.ru/info/uu/ot/norm_docs/docs/polozhenie_normcontrol_pril1.pdf) and [GOST 7.32-2017](https://docs.cntd.ru/document/1200157208). Explanatory notes to graduate qualification works are successfully tested by [TestVKR](https://vkr.bmstu.ru/) (build 203). + +Please go to the official repository at https://github.com/Orianti/bmstu-latex-class to submit bug reports, request new features, etc. + +## License +This work (except `bmstu-logo.pdf`) is distributed under The LaTeX Project Public License. + +File `bmstu-logo.pdf` is a logo of Bauman Moscow State Technical University and complies with fair use (article 1274 of the Russian Civil Code). + +--- + +Copyright © 2020-2022 Mikael Novikov
+All rights reserved. \ No newline at end of file diff --git a/Master/texmf-dist/doc/latex/bmstu/examples.pdf b/Master/texmf-dist/doc/latex/bmstu/examples.pdf new file mode 100644 index 00000000000..89f3f3d6026 Binary files /dev/null and b/Master/texmf-dist/doc/latex/bmstu/examples.pdf differ diff --git a/Master/texmf-dist/doc/latex/bmstu/examples.tex b/Master/texmf-dist/doc/latex/bmstu/examples.tex new file mode 100644 index 00000000000..f95b1fc21f0 --- /dev/null +++ b/Master/texmf-dist/doc/latex/bmstu/examples.tex @@ -0,0 +1,155 @@ +\documentclass{bmstu} + +\begin{document} + +% Аргументы, помеченные как необязательные, могут быть пустыми. В таком случае соответствующее этому аргументу поле (например, ФИО консультанта) добавлено не будет. + +% Титульная страница + +% Отчет + +\makereporttitle + {Информатика, искусственный интеллект и системы управления} % Название факультета + {Программное обеспечение ЭВМ и информационные технологии} % Название кафедры + {лабораторной работе №~1} % Название работы (в дат. падеже) + {Операционные системы} % Название курса (необязательный аргумент) + {Обработчик прерывания от системного таймера} % Тема работы + {} % Номер варианта (необязательный аргумент) + {ИУ7-51Б} % Номер группы + {Иванов~И.~И.} % ФИО студента + {Петров~П.~П.} % ФИО преподавателя + +% Расчетно-пояснительная записка к курсовой работе + +\makecourseworktitle + {Информатика, искусственный интеллект и системы управления} % Название факультета + {Программное обеспечение ЭВМ и информационные технологии} % Название кафедры + {Исследование распределения памяти в многопоточных приложениях Linux} % Тема работы + {ИУ7-71Б} % Номер группы + {Иванов~И.~И.} % ФИО студента + {Петров~П.~П.} % ФИО научного руководителя + {Сидоров~С.~С.} % ФИО консультанта (необязательный аргумент) + {Кузнецов~К.~К.} % ФИО консультанта (необязательный аргумент) + +% Отчет по научно-исследовательской работе + +\makeresearchtitle + {Информатика, искусственный интеллект и системы управления} % Название факультета + {Программное обеспечение ЭВМ и информационные технологии} % Название кафедры + {Исследование методов генерации исходного кода} % Тема работы + {ИУ7-81Б} % Номер группы + {Иванов~И.~И.} % ФИО студента + {Петров~П.~П.} % ФИО научного руководителя + {} % ФИО консультанта (необязательный аргумент) + {} % ФИО консультанта (необязательный аргумент) + +% Расчетно-пояснительная записка к выпускной квалификационной работе + +\makethesistitle + {Информатика, искусственный интеллект и системы управления} % Название факультета + {Программное обеспечение ЭВМ и информационные технологии} % Название кафедры + {Метод обнаружения спутников как точечных объектов на изображении} % Тема работы + {ИУ7-81Б} % Номер группы + {Иванов~И.~И.} % ФИО студента + {Петров~П.~П.} % ФИО научного руководителя + {Сидоров~С.~С.} % ФИО консультанта (необязательный аргумент) + {} % ФИО консультанта (необязательный аргумент) + {Кузнецов~К.~К.} % ФИО нормоконтролера + +% Рисунок + +% Рисункам, добавленным следующими командами, присваивается метка `img:<имя файла без расширения>`. + +% Без обтекание текста + +На~рисунке~\ref{img:tux} символ семейства Unix-подобных операционных систем Linux. +Он отличается от~<<обычных>> пингвинов желтым цветом клюва и~лап. + +\includeimage + {tux} % Имя файла без расширения (файл должен быть расположен в директории inc/img/) + {f} % Обтекание (без обтекания) + {h} % Положение рисунка (см. figure из пакета float) + {0.25\textwidth} % Ширина рисунка + {Символ Linux (Tux)} % Подпись рисунка + +Cоздатель официального талисмана Linux~--- Ларри Юинг~--- американский программист и~дизайнер. +Известен также как создатель логотипа компании Ximian. +Живёт в~Остине (штат~Техас) вместе со~своей женой Евой и~дочерью Кристи. + +% С обтеканием текста + +\includeimage + {tuz} % Имя файла без расширения (файл должен быть расположен в директории inc/img/) + {w} % Обтекание (с обтеканием) + {r} % Положение рисунка (см. wrapfigure из пакета wrapfig) + {0.33\textwidth} % Ширина рисунка + {Tuz} % Подпись рисунка + +История Tux началась в~1996~году, когда в~списке рассылки разработчиков ядра Linux появились первые разговоры о~талисмане. +Среди множества предложений можно было выделить либо пародии на~логотипы других ОС, либо~стандартных животных. +Дискуссии несколько утихли после того, как Линус Торвальдс случайно обмолвился о~том, что ему нравятся пингвины. +Было несколько попыток нарисовать пингвинов в~разных позах, после чего поступило предложение логотипа в~виде пингвина, держащего Землю. + +В~качестве символа ядра~версии 2.6.29 принят тасманский дьявол Tuz (см.~рисунок~\ref{img:tuz}), изображение которого ранее служило талисманом конференции linux.conf.au 2009. +На~этой конференции Линус Торвальдс провёл успешную акцию по~благотворительной продаже игрушек Linux Tasmanian devil за~сохранение популяции Тасманского дьявола. \newpage + +% Листинг + +% Листингам, добавленным следующими командами, присваивается метка `lst:<имя файла с расширением>`. + +% Простой + +% C подсветкой синтаксиса и нумерацией строк + +% Обратите внимание, что добавление подсветки синтаксиса и нумерации строк приводит к ошибкам TestVKR. При этом ГОСТ 7.32-2017 не регулирует оформление исходного кода программ. + +% Если не будет указан язык программирования или указанный язык не поддерживается, подсветка синтаксиса работать не будет. + +На~листингах представлен исходный код программы Hello World на~языке программирования C в~двух вариантах оформления. + +\includelisting + {main.c} % Имя файла с расширением (файл должен быть расположен в директории inc/lst/) + {Исходный код программы Hello World} % Подпись листинга + +\includelistingpretty + {main.c} % Имя файла с расширением (файл должен быть расположен в директории inc/lst/) + {c} % Язык программирования (необязательный аргумент) + {Исходный код программы Hello World} % Подпись листинга + +% Заголовки + +\chapter{Операционные системы} + +\section{Unix} + +Unix (<> является зарегистрированной торговой маркой организации The~Open~Group) --- семейство переносимых, многозадачных и~многопользовательских операционных систем, которые основаны на~идеях оригинального проекта AT\&T Unix, разработанного в~1970-х~годах в~исследовательском центре Bell Labs Кеном Томпсоном, Деннисом Ритчи и~другими. + +\subsection{Обзор} + +Первая система Unix была разработана в подразделении Bell~Labs компании AT\&T. С~тех пор было создано большое количество различных Unix-систем. + +Юридически право называться <> имеют лишь те операционные системы, которые прошли сертификацию на~соответствие стандарту Single UNIX Specification. +Остальные~же, хотя и~используют сходные концепции и~технологии, называются Unix-подобными операционными системами (англ.~Unix-like). + +\subsubsection{Особенности} + +Основное отличие Unix-подобных систем от~других операционных систем заключается в~том, что это изначально многопользовательские многозадачные системы. +В~Unix может одновременно работать сразу много людей, каждый за~своим терминалом, при этом каждый из~них может выполнять множество различных вычислительных процессов, которые будут использовать ресурсы именно этого компьютера. \newpage + +% Формулы + +\begin{equation}\label{equ:matrix} + \frac{n!}{k!(n-k)!} = \binom{n}{k} +\end{equation} + +\begin{equation*} + A_{m,n} = + \begin{pmatrix} + a_{1,1} & a_{1,2} & \cdots & a_{1,n} \\ + a_{2,1} & a_{2,2} & \cdots & a_{2,n} \\ + \vdots & \vdots & \ddots & \vdots \\ + a_{m,1} & a_{m,2} & \cdots & a_{m,n} + \end{pmatrix} +\end{equation*} + +\end{document} \ No newline at end of file diff --git a/Master/texmf-dist/doc/latex/bmstu/tux.png b/Master/texmf-dist/doc/latex/bmstu/tux.png new file mode 100644 index 00000000000..c5f088ba767 Binary files /dev/null and b/Master/texmf-dist/doc/latex/bmstu/tux.png differ diff --git a/Master/texmf-dist/doc/latex/bmstu/tuz.png b/Master/texmf-dist/doc/latex/bmstu/tuz.png new file mode 100644 index 00000000000..b7c34071827 Binary files /dev/null and b/Master/texmf-dist/doc/latex/bmstu/tuz.png differ diff --git a/Master/texmf-dist/source/latex/bmstu/main.c b/Master/texmf-dist/source/latex/bmstu/main.c new file mode 100644 index 00000000000..42dcc471bd5 --- /dev/null +++ b/Master/texmf-dist/source/latex/bmstu/main.c @@ -0,0 +1,9 @@ +#include + +// Hello World Program in C + +int main() +{ + printf("Hello World\n"); + return 0; +} 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 Binary files /dev/null and b/Master/texmf-dist/tex/latex/bmstu/bmstu-logo.pdf 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} diff --git a/Master/tlpkg/bin/tlpkg-ctan-check b/Master/tlpkg/bin/tlpkg-ctan-check index df46389f59b..6fdabb1f7b7 100755 --- a/Master/tlpkg/bin/tlpkg-ctan-check +++ b/Master/tlpkg/bin/tlpkg-ctan-check @@ -138,7 +138,7 @@ my @TLP_working = qw( bitelist bithesis bitpattern bitset bitter bizcard bjfuthesis blacklettert1 blindtext blkarray blochsphere block blockdraw_mp bloques blowup blox - bmstu-iu8 bnumexpr bodegraph bodeplot bohr boisik bold-extra + bmstu bmstu-iu8 bnumexpr bodegraph bodeplot bohr boisik bold-extra boites boldtensors bondgraph bondgraphs book-of-common-prayer bookcover bookdb bookest bookhands booklet bookman bookmark bookshelf booktabs booktabs-de booktabs-fr boolexpr boondox bophook diff --git a/Master/tlpkg/libexec/ctan2tds b/Master/tlpkg/libexec/ctan2tds index b66abb98587..4861805e9ef 100755 --- a/Master/tlpkg/libexec/ctan2tds +++ b/Master/tlpkg/libexec/ctan2tds @@ -223,6 +223,7 @@ chomp (my $ctan_root = `tlpkginfo --ctan-root`); 'blanks', "die 'skipping, unknown license (and c.1992)'", 'blockdraw_mp',"&MAKEflatten", 'blu', "die 'skipping, too old'", + 'bmstu', "&MAKEflatten", 'bmstu-iu8', "&MAKEflatten", 'bnf-plain', "die 'skipping, unknown license (and c.1992)'", 'bookhands', "&MAKEwilson", @@ -1912,6 +1913,7 @@ $standardtex 'blockdraw_mp','NULL', # skip .sty's 'booktabs-de', 'NULL', # doc package 'booktabs-fr', 'NULL', # doc package + 'bmstu', 'bmstu-logo\.pdf|' . $standardtex, 'bussproofs-extra', 'bussproofs-extra.sty', # not bpextra.sty 'breqn', '\.sty|\.sym', 'buctthesis', 'buct.*cls', diff --git a/Master/tlpkg/tlpsrc/bmstu.tlpsrc b/Master/tlpkg/tlpsrc/bmstu.tlpsrc new file mode 100644 index 00000000000..e69de29bb2d diff --git a/Master/tlpkg/tlpsrc/collection-publishers.tlpsrc b/Master/tlpkg/tlpsrc/collection-publishers.tlpsrc index 0e3dc96f468..3bfd7fd4bfa 100644 --- a/Master/tlpkg/tlpsrc/collection-publishers.tlpsrc +++ b/Master/tlpkg/tlpsrc/collection-publishers.tlpsrc @@ -38,6 +38,7 @@ depend beilstein depend bfh-ci depend bgteubner depend bjfuthesis +depend bmstu depend bmstu-iu8 depend br-lex depend brandeis-dissertation -- cgit v1.2.3