diff options
Diffstat (limited to 'macros/latex/contrib/bmstu/bmstu.cls')
-rw-r--r-- | macros/latex/contrib/bmstu/bmstu.cls | 115 |
1 files changed, 115 insertions, 0 deletions
diff --git a/macros/latex/contrib/bmstu/bmstu.cls b/macros/latex/contrib/bmstu/bmstu.cls new file mode 100644 index 0000000000..10f59f876d --- /dev/null +++ b/macros/latex/contrib/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} |