summaryrefslogtreecommitdiff
path: root/macros/latex/contrib/bmstu/bmstu-essay.sty
diff options
context:
space:
mode:
Diffstat (limited to 'macros/latex/contrib/bmstu/bmstu-essay.sty')
-rw-r--r--macros/latex/contrib/bmstu/bmstu-essay.sty68
1 files changed, 68 insertions, 0 deletions
diff --git a/macros/latex/contrib/bmstu/bmstu-essay.sty b/macros/latex/contrib/bmstu/bmstu-essay.sty
new file mode 100644
index 0000000000..316623de2f
--- /dev/null
+++ b/macros/latex/contrib/bmstu/bmstu-essay.sty
@@ -0,0 +1,68 @@
+%% bmstu_essay.sty
+%% Copyright 2023 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