diff --git a/tex/SCWorks.cls b/tex/SCWorks.cls
new file mode 100644
index 0000000..9a3494d
--- /dev/null
+++ b/tex/SCWorks.cls
@@ -0,0 +1,915 @@
+\LoadClass[14pt]{extarticle}
+%\RequirePackage[14pt]{extsizes}
+\RequirePackage[
+ a4paper, mag=1000,
+ left=2.5cm, right=1.5cm, top=2cm, bottom=2cm, bindingoffset=0cm,
+ headheight=0cm, footskip=1cm, headsep=0cm
+ ]{geometry}
+\RequirePackage{setspace}
+\RequirePackage{calc}
+\RequirePackage{titlesec}
+\RequirePackage{titletoc}
+\RequirePackage{caption}
+\RequirePackage[inline]{enumitem}
+
+
+
+
+% --------------------------------------------------------------------------%
+% Input data
+% --------------------------------------------------------------------------%
+\def\chair#1{\gdef\@chair{#1}}\chair{\hbox to 3cm{\hrulefill}}
+\def\worktype#1{\gdef\@worktype{#1}}
+\def\worktitle{\@title}
+\def\typework#1{\gdef\@typework{#1}}
+\def\disserform#1{\gdef\@disserform{#1}}
+\def\disserformP#1{\gdef\@disserformP{#1}}
+\def\disserformR#1{\gdef\@disserformR{#1}}
+\def\disserformV#1{\gdef\@disserformV{#1}}
+\def\course#1{\gdef\@course{#1}}\course{2}
+\def\group#1{\gdef\@group{#1}}\group{211}
+\def\department#1{\gdef\@department{#1}}\department{\cyr\cyrf\cyra\cyrk%
+\cyru\cyrl\cyrsftsn\cyrt\cyre\cyrt\cyra\ \CYRK\CYRN\cyri\CYRI\CYRT}
+\def\otdelenie#1{\gdef\@otdelenie{#1}}
+\def\studentName{\@author}
+%\def\studentName#1{\gdef\@studentName{#1}}
+\def\satitle#1{\gdef\@satitle{#1}}\satitle{\hbox to 3cm{\hrulefill}}
+\def\saname#1{\gdef\@saname{#1}}\saname{\hbox to 3cm{\hrulefill}}
+\def\critictitle#1{\gdef\@critictitle{#1}}\critictitle{\hbox to 3cm{\hrulefill}}
+\def\criticname#1{\gdef\@criticname{#1}}\criticname{\hbox to 3cm{\hrulefill}}
+\def\secrname#1{\gdef\@secrname{#1}}\secrname{\hbox to 3cm{\hrulefill}}
+\def\chtitle#1{\gdef\@chtitle{#1}}\chtitle{\hbox to 3cm{\hrulefill}}
+\def\chname#1{\gdef\@chname{#1}}\chname{\hbox to 3cm{\hrulefill}}
+%\def\year#1{\gdef\@year{#1}}
+\def\spectype#1{\gdef\@spectype{#1}}
+\def\spectyperod#1{\gdef\@spectyperod{#1}}
+\def\workform#1{\gdef\@workform{#1}}
+\def\practtype#1{\gdef\@practtype{#1}}\practtype{\cyr\cyru\cyrch\cyre\cyrb%
+\cyrn\cyra\cyrya}
+\def\term#1{\gdef\@term{#1}}\term{2}
+\def\duration#1{\gdef\@duration{#1}}\duration{2}
+\def\protnum#1{\gdef\@protnum{#1}}\protnum{\hbox to 1cm{\hrulefill}}
+\def\protdate#1{\gdef\@protdate{#1}}\protdate{\hbox to 3cm{\hrulefill}}
+\def\practStart#1{\gdef\@practStart{#1}}\practStart{\hbox to 3cm{\hrulefill}}
+\def\practFinish#1{\gdef\@practFinish{#1}}\practFinish{\hbox to 3cm{\hrulefill}}
+\def\reviewtype#1{\gdef\@reviewtype{#1}}\reviewtype{\CYRO\CYRT%
+\CYRZ\CYRERY\CYRV}
+
+\def\patitle#1{\gdef\@patitle{#1}}\patitle{\@satitle}
+\def\paname#1{\gdef\@paname{#1}}\paname{\@saname}
+
+\def\napravlenie#1{\gdef\@napravlenie{#1}}\napravlenie{\hbox to 3cm{\hrulefill}}
+\def\Napravlenie{\@napravlenie}
+
+
+\def\studenttitle#1{\gdef\@studenttitle{#1}}\studenttitle{\cyr\cyrs\cyrt%
+\cyru\cyrd\cyre\cyrn\cyrt\cyra}
+\def\studentdone#1{\gdef\@studentdone{#1}}\studentdone{\cyrp\cyrr\cyro%
+\cyrsh\cyre\cyrd\cyrsh\cyre\cyrg\cyro}
+\def\studentfemale{\studenttitle{\cyrs\cyrt\cyru\cyrd\cyre\cyrn\cyrt%
+\cyrk\cyri}\studentdone{\cyrp\cyrr\cyro\cyrsh\cyre\cyrd\cyrsh%
+\cyre\cyrishrt}}
+
+%\newcommand{\MakeTitle}{}
+
+\def\workname#1{\gdef\@workname{#1}}
+
+%\hbox to 3cm{\hrulefill}
+
+% --------------------------------------------------------------------------%
+
+
+\newcommand{\signature}[2]{
+\hbox to 7cm{#1\hfill} \hbox to 3cm{\hrulefill} \hbox to 6cm{\hfill #2}}
+
+\newcommand{\inlinesignature}[2]{%
+#1\qquad \hbox to 3cm{\hrulefill}\quad #2}
+
+
+\newcommand{\signatureline}{}
+
+% --------------------------------------------------------------------------%
+\newcommand{\scaleUnivName}{0.97}
+
+\DeclareOption{times}{%
+ \renewcommand{\rmdefault}{ftm}
+ \renewcommand{\scaleUnivName}{1.0}
+}
+
+\DeclareOption{spec}{%
+ \spectype{\cyr\cyrs\cyrp\cyre\cyrc\cyri\cyra\cyrl\cyrsftsn\cyrn\cyro%
+ \cyrs\cyrt\cyri}
+ \spectyperod{\cyrs\cyrp\cyre\cyrc\cyri\cyra\cyrl\cyrsftsn\cyrn\cyro%
+ \cyrs\cyrt\cyri}
+ \workform{\cyr\CYRS\CYRP\CYRE\CYRC\CYRI\CYRA\CYRL\CYRI\CYRS\CYRT\CYRA}
+ \disserform{\CYRD\CYRI\CYRP\CYRL\CYRO\CYRM\CYRN\CYRA\CYRYA\ \CYRR\CYRA%
+ \CYRB\CYRO\CYRT\CYRA}
+ \disserformP{\CYRD\CYRI\CYRP\CYRL\CYRO\CYRM\CYRN\CYRO\CYRISHRT\ \CYRR%
+ \CYRA\CYRB\CYRO\CYRT\CYRE}
+ \disserformR{\CYRD\CYRI\CYRP\CYRL\CYRO\CYRM\CYRN\CYRO\CYRISHRT\ \CYRR%
+ \CYRA\CYRB\CYRO\CYRT\CYRERY}
+ \disserformV{\CYRD\CYRI\CYRP\CYRL\CYRO\CYRM\CYRN\CYRU\CYRYU\ \CYRR\CYRA%
+ \CYRB\CYRO\CYRT\CYRU}
+}
+
+\DeclareOption{bachelor}{%
+ \spectype{\cyr\cyrn\cyra\cyrp\cyrr\cyra\cyrv\cyrl\cyre\cyrn\cyri\cyrya}
+ \spectyperod{\cyr\cyrn\cyra\cyrp\cyrr\cyra\cyrv\cyrl\cyre\cyrn\cyri \cyryu}
+ \workform{\cyr\CYRB\CYRA\CYRK\CYRA\CYRL\CYRA\CYRV\CYRR\CYRA}
+ \disserform{\CYRB\CYRA\CYRK\CYRA\CYRL\CYRA\CYRV\CYRR\CYRS\CYRK\CYRA%
+ \CYRYA\ \CYRR\CYRA\CYRB\CYRO\CYRT\CYRA}
+ \disserformP{\CYRB\CYRA\CYRK\CYRA\CYRL\CYRA\CYRV\CYRR\CYRS\CYRK\CYRO%
+ \CYRISHRT\ \CYRR\CYRA\CYRB\CYRO\CYRT\CYRE}
+ \disserformR{\CYRB\CYRA\CYRK\CYRA\CYRL\CYRA\CYRV\CYRR\CYRS\CYRK\CYRO%
+ \CYRISHRT\ \CYRR\CYRA\CYRB\CYRO\CYRT\CYRERY}
+ \disserformV{\CYRB\CYRA\CYRK\CYRA\CYRL\CYRA\CYRV\CYRR\CYRS\CYRK\CYRU%
+ \CYRYU\ \CYRR\CYRA\CYRB\CYRO\CYRT\CYRU}
+}
+
+\DeclareOption{master}{%
+ \spectype{\cyr\cyrn\cyra\cyrp\cyrr\cyra\cyrv\cyrl\cyre\cyrn\cyri\cyrya}
+ \spectyperod{\cyr\cyrn\cyra\cyrp\cyrr\cyra\cyrv\cyrl\cyre\cyrn\cyri \cyryu}
+ \workform{\cyr\CYRM\CYRA\CYRG\CYRI\CYRS\CYRT\CYRR\CYRA}
+ \disserform{\CYRM\CYRA\CYRG\CYRI\CYRS\CYRT\CYRE\CYRR\CYRS\CYRK\CYRA%
+ \CYRYA\ \CYRR\CYRA\CYRB\CYRO\CYRT\CYRA}
+ \disserformP{\CYRM\CYRA\CYRG\CYRI\CYRS\CYRT\CYRE\CYRR\CYRS\CYRK\CYRO%
+ \CYRISHRT\ \CYRR\CYRA\CYRB\CYRO\CYRT\CYRE}
+ \disserformR{\CYRM\CYRA\CYRG\CYRI\CYRS\CYRT\CYRE\CYRR\CYRS\CYRK\CYRO%
+ \CYRISHRT\ \CYRR\CYRA\CYRB\CYRO\CYRT\CYRERY}
+ \disserformV{\CYRM\CYRA\CYRG\CYRI\CYRS\CYRT\CYRE\CYRR\CYRS\CYRK\CYRU%
+ \CYRYU\ \CYRR\CYRA\CYRB\CYRO\CYRT\CYRU}
+}
+
+\DeclareOption{coursework}{%
+ \worktype{\cyr\CYRK\cyru\cyrr\cyrs\cyro\cyrv\cyra\cyrya\ \cyrr\cyra\cyrb%
+ \cyro\cyrt\cyra}
+ \renewcommand{\maketitle}{\CDMakeTitle}
+ \workname{\MakeUppercase{\@worktype}}
+ \typework{\cyr\cyrn\cyra\cyrp\cyri\cyrs\cyra\cyrn\cyra}
+}
+
+\DeclareOption{documentation}{%
+ \worktype{\cyr\CYRK\cyru\cyrr\cyrs\cyro\cyrv\cyra\cyrya\ \cyrr\cyra\cyrb%
+ \cyro\cyrt\cyra}
+ \renewcommand{\maketitle}{\CDMakeTitle}
+ \workname{\MakeUppercase{}}
+ \typework{\cyr\cyrn\cyra\cyrp\cyri\cyrs\cyra\cyrn\cyra}
+}
+
+\DeclareOption{diploma}{%
+ \worktype{\cyr\CYRV\cyrery\cyrp\cyru\cyrs\cyrk\cyrn\cyra\cyrya\ \cyrk\cyrv%
+ \cyra\cyrl\cyri\cyrf\cyri\cyrk\cyra\cyrc\cyri\cyro\cyrn\cyrn\cyra%
+ \cyrya\ \cyrr\cyra\cyrb\cyro\cyrt\cyra}
+ \worktype{\ \cyrr\cyra\cyrb\cyro\cyrt\cyra}
+ \renewcommand{\maketitle}{\CDMakeTitle}
+ \workname{\MakeUppercase{\@disserform}}
+ \typework{\cyr\cyrn\cyra\cyrp\cyri\cyrs\cyra\cyrn\cyra}
+}
+
+\DeclareOption{autoref}{%
+ \workname{\cyr\CYRA\CYRV\CYRT\CYRO\CYRR\CYRE\CYRF\CYRE\CYRR\CYRA\CYRT\ %
+ \MakeUppercase{\@disserformR}}
+ \worktype{\ \cyrr\cyra\cyrb\cyro\cyrt\cyra}
+ \renewcommand{\maketitle}{\CDMakeTitle}
+ %\workname{\MakeUppercase{\@disserform}}
+ \typework{\cyr\cyrn\cyra\cyrp\cyri\cyrs\cyra\cyrn\cyra}
+}
+
+\DeclareOption{nir}{%
+ \workname{\cyr\CYRO\CYRT\CYRCH\CYRE\CYRT\ \CYRO\ \CYRN\CYRA\CYRU\CYRCH%
+ \CYRN\CYRO-\CYRI\CYRS\CYRS\CYRL\CYRE\CYRD\CYRO\CYRV\CYRA\CYRT\CYRE\CYRL%
+ \CYRSFTSN\CYRS\CYRK\CYRO\CYRISHRT\ \CYRR\CYRA\CYRB\CYRO\CYRT\CYRE}
+ \worktype{\ \cyrr\cyra\cyrb\cyro\cyrt\cyra}
+ \renewcommand{\maketitle}{\CDMakeTitle}
+ %\workname{\MakeUppercase{\@disserform}}
+ \typework{\cyr\cyrn\cyra\cyrp\cyri\cyrs\cyra\cyrn\cyra}
+}
+
+\DeclareOption{pract}{%
+ \worktype{\cyr\CYRO\cyrt\cyrch\cyre\cyrt\ \cyro\ \cyrp\cyrr\cyra\cyrk\cyrt%
+ \cyri\cyrk\cyre}
+ \renewcommand{\maketitle}{\MakeTitlePr}
+ \typework{\cyr\cyrn\cyra\cyrp\cyri\cyrs\cyra\cyrn}
+}
+
+\DeclareOption{review}{%
+ \reviewtype{\CYRO\CYRT\CYRZ\CYRERY\CYRV}
+ \worktype{\cyrn\cyra\cyru\cyrch\cyrn\cyro\cyrg\cyro\ \cyrr\cyru\cyrk%
+ \cyro\cyrv\cyro\cyrd\cyri\cyrt\cyre\cyrl\cyrya\ \cyro\ \cyrv\cyrery%
+ \cyrp\cyru\cyrs\cyrk\cyrn\cyro\cyrishrt\ \cyrk\cyrv\cyra\cyrl\cyri\cyrf%
+ \cyri\cyrk\cyra\cyrc\cyri\cyro\cyrn\cyrn\cyro\cyrishrt\ \cyrr\cyra\cyrb%
+ \cyro\cyrt\cyre}
+ \workname{\cyr\cyrn\cyra\cyru\cyrch\cyrn\cyro\cyrg\cyro\ \cyrr\cyru\cyrk%
+ \cyro\cyrv\cyro\cyrd\cyri\cyrt\cyre\cyrl\cyrya\ \cyro\ \MakeLowercase{\@disserformP}}
+ %\workname{\@worktype\ \MakeLowercase{\@workform}}
+ \renewcommand{\maketitle}{\MakeTitleReview}
+ \renewcommand{\signatureline}{%
+ \par\noindent%
+ \CYRN\cyra\cyru\cyrch\cyrn\cyrery\cyrishrt\ \cyrr\cyru\cyrk\cyro\cyrv%
+ \cyro\cyrd\cyri\cyrt\cyre\cyrl\cyrsftsn\\%
+ \signature{\@satitle}{\@saname}\\%
+ }
+}
+
+\DeclareOption{assignment}{%
+ \reviewtype{\CYRZ\CYRA\CYRD\CYRA\CYRN\CYRI\CYRE}
+ \worktype{\cyrn\cyra\ \cyrv\cyrery\cyrp\cyru\cyrs\cyrk\cyrn\cyru%
+ \cyryu\ \cyrk\cyrv\cyra\cyrl\cyri\cyrf\cyri\cyrk\cyra\cyrc\cyri\cyro%
+ \cyrn\cyrn\cyru\cyryu\ \cyrr\cyra\cyrb\cyro\cyrt\cyru}
+ \workname{\cyr\cyrn\cyra\ \MakeLowercase{\@disserformV}}
+ %\workname{\@worktype\ \MakeLowercase{\@workform}}
+ \renewcommand{\maketitle}{\MakeTitleAssign}
+ \renewcommand{\signatureline}{%
+
+ \vfill%
+ \noindent%
+ \textbf{\CYRS\cyrr\cyro\cyrk\ \cyrp\cyrr\cyre\cyrd\cyro\cyrs\cyrt\cyra%
+ \cyrv\cyrl\cyre\cyrn\cyri\cyrya\ \cyrr\cyra\cyrb\cyro\cyrt\cyrery:}\ \@practFinish
+
+ \vspace{2em}\raggedright
+ \noindent \CYRR\cyra\cyrs\cyrs\cyrm\cyro\cyrt\cyrr\cyre\cyrn\cyro\ %
+ \cyrn\cyra\ \cyrz\cyra\cyrs\cyre\cyrd\cyra\cyrn\cyri\cyri\ \cyrk\cyra%
+ \cyrf\cyre\cyrd\cyrr\cyrery\ \@chair
+
+ \vspace{1em}
+ \CYRP\cyrr\cyro\cyrt\cyro\cyrk\cyro\cyrl\ \textnumero\ \@protnum\ \cyro%
+ \cyrt\ \@protdate
+
+ \vspace{1em}
+ \raggedright
+ \noindent
+ \inlinesignature{\CYRS\cyre\cyrk\cyrr\cyre\cyrt\cyra\cyrr\cyrsftsn}{\@secrname}
+
+ \vspace{2em}
+ \noindent\raggedright
+ \CYRD\cyra\cyrt\cyra\ \cyrv\cyrery\cyrd\cyra\cyrch\cyri\ \cyrz\cyra%
+ \cyrd\cyra\cyrn\cyri\cyrya\ \@practStart
+
+ \vspace{1em}
+ \noindent\raggedright
+ \inlinesignature{\CYRZ\cyra\cyrd\cyra\cyrn\cyri\cyre\ \cyrp\cyro\cyrl%
+ \cyru\cyrch\cyri\cyrl}{\hbox to 3cm{\hrulefill}}
+
+ \vspace{1cm}
+ }
+}
+
+\DeclareOption{critique}{%
+ \reviewtype{\CYRR\CYRE\CYRC\CYRE\CYRN\CYRZ\CYRI\CYRYA}
+ \worktype{\cyrn\cyra\ \cyrv\cyrery\cyrp\cyru\cyrs\cyrk\cyrn\cyru%
+ \cyryu\ \cyrk\cyrv\cyra\cyrl\cyri\cyrf\cyri\cyrk\cyra\cyrc\cyri\cyro%
+ \cyrn\cyrn\cyru\cyryu\ \cyrr\cyra\cyrb\cyro\cyrt\cyru}
+ \workname{\cyr\cyrn\cyra\ \MakeLowercase{\@disserformV}}
+ %\workname{\@worktype\ \MakeLowercase{\@workform}}
+ \renewcommand{\maketitle}{\MakeTitleReview}
+ \renewcommand{\signatureline}{%
+ \par\noindent%
+ \CYRR\cyre\cyrc\cyre\cyrn\cyrz\cyre\cyrn\cyrt\\%
+ \signature{\@critictitle}{\@criticname}\\%
+ }
+}
+
+
+\DeclareOption{referat}{%
+ \worktype{\cyr\CYRR\cyre\cyrf\cyre\cyrr\cyra\cyrt}
+ \workname{\MakeUppercase{\@worktype}}
+ \renewcommand{\maketitle}{\RefMakeTitle}
+ \typework{\cyr\cyrn\cyra\cyrp\cyri\cyrs\cyra\cyrn}
+}
+
+\DeclareOption{och}{%
+ \otdelenie{\cyr\cyro\cyrch\cyrn\cyro\cyrishrt\ \cyrf\cyro\cyrr\cyrm%
+ \cyrery\ \cyro\cyrb\cyru\cyrch\cyre\cyrn\cyri\cyrya}
+}
+
+\DeclareOption{zaoch}{%
+ \otdelenie{\cyr\cyrz\cyra\cyro\cyrch\cyrn\cyro\cyrishrt\ \cyrf\cyro\cyrr%
+ \cyrm\cyrery\ \cyro\cyrb\cyru\cyrch\cyre\cyrn\cyri\cyrya}
+}
+
+\ExecuteOptions{coursework,och,bachelor}
+\ProcessOptions
+
+% --------------------------------------------------------------------------%
+\newcommand*{\hm}[1]{#1\nobreak\discretionary{}%
+{\hbox{$\mathsurround=0pt #1$}}{}}
+% --------------------------------------------------------------------------%
+
+% --------------------------------------------------------------------------%
+
+\onehalfspacing
+\parindent=1.25cm
+\pagestyle{headings}
+\renewcommand{\@oddhead}{}
+\renewcommand{\@oddfoot}{\hfil \thepage}
+
+% --------------------------------------------------------------------------%
+% Table and figure numbering by sections
+% --------------------------------------------------------------------------%
+\newif\if@secNumbering\@secNumberingfalse
+\newcommand{\secNumbering}{
+ \renewcommand{\thefigure}{\arabic{section}.\arabic{figure}}
+ \renewcommand{\thetable}{\arabic{section}.\arabic{table}}
+ \renewcommand{\theequation}{\arabic{section}.\arabic{equation}}
+ \@addtoreset{figure}{section}
+ \@addtoreset{table}{section}
+ \@addtoreset{equation}{section}
+ \@secNumberingtrue
+}
+% --------------------------------------------------------------------------%
+
+% --------------------------------------------------------------------------%
+% Table and figure captions
+% --------------------------------------------------------------------------%
+\def\CaptionName#1{\gdef\@captionname{#1}}
+\newlength\tmp %10cm
+\setlength{\tmp}{1ex}
+\setlength{\belowcaptionskip}{1ex}
+\setlength{\abovecaptionskip}{1ex}
+
+\captionsetup[figure]{name=\CYRR\cyri\cyrs\cyru\cyrn\cyro\cyrk, labelsep=endash,
+ justification=centering, font={small}, skip=\abovecaptionskip, position=below}
+\captionsetup[table]{name=\CYRT\cyra\cyrb\cyrl\cyri\cyrc\cyra, labelsep=endash, format=plain,
+ justification=RaggedRight, singlelinecheck=false, font={small}, position=top}
+
+% --------------------------------------------------------------------------%
+% Table of contents
+% --------------------------------------------------------------------------%
+\renewcommand{\tableofcontents}%
+{\structformat\section*{\uppercase{\cyr\CYRS\CYRO\CYRD\CYRE\CYRR\CYRZH\CYRA%
+\CYRN\CYRI\CYRE}}\secformat\@starttoc{toc}
+\thispagestyle{empty}}
+
+\renewcommand{\@dotsep}{1.5}
+\renewcommand{\@pnumwidth}{1.0em}
+
+\newcommand{\l@abcd}[2]{{\@dottedtocline{0}{0pt}{0pt}{#1}{#2}}}
+
+\renewcommand{\l@section}{\@dottedtocline{1}{0em}{1.5em}}
+\renewcommand{\l@subsection}{\@dottedtocline{2}{1.5em}{2.3em}}
+% --------------------------------------------------------------------------%
+
+% --------------------------------------------------------------------------%
+% Sections, subsections
+% --------------------------------------------------------------------------%
+% Numbering
+\renewcommand{\thesection}{\arabic{section}}
+\renewcommand{\thesubsection}{\arabic{section}.\arabic{subsection}}
+\renewcommand{\thesubsubsection}{\arabic{section}.\arabic{subsection}.\arabic{subsubsection}}
+
+\newcommand{\sectionbreak}{\clearpage}
+
+% Contents, intro, conclusion
+\newcommand{\structformat}
+{
+ \titlespacing{\section}
+ {0cm}{3ex plus 1ex minus .2ex}{1.4ex plus.2ex}
+ \titleformat{\section}[block]
+ {\centering\bfseries}
+ {\thesection}{0ex}{}
+}
+
+% Sections, subsections
+\newcommand{\secformat}
+{
+ \titlespacing{\section}
+ {0cm}{3ex plus 1ex minus .2ex}{0.4ex plus.2ex}
+ \titleformat{\section}[block]
+ {\hspace{1.25cm}\raggedright\bfseries}
+ {\thesection}{1ex}{}
+}
+
+\newif\if@hyperrefloaded\@hyperrefloadedfalse
+\AtBeginDocument{\@ifpackageloaded{hyperref}%
+ {\@hyperrefloadedtrue}{\@hyperrefloadedfalse}%
+}
+
+%\RequirePackage{ifthen}
+\newcommand{\starsection}[1]{
+ \structformat
+ \section*{#1}%
+ \if@hyperrefloaded
+ \phantomsection
+ \fi
+ \addcontentsline{toc}{section}{#1}
+ \setcounter{section}{0}
+ \secformat
+}
+
+
+\setcounter{section}{0}
+\secformat
+
+
+\newcommand{\intro}{\starsection{\cyr\CYRV\CYRV\CYRE\CYRD\CYRE%
+\CYRN\CYRI\CYRE}}
+\newcommand{\abbreviations}{\starsection{\CYRO\CYRB\CYRO\CYRZ\CYRN\CYRA%
+\CYRCH\CYRE\CYRN\CYRI\CYRYA\ \CYRI\ \CYRS\CYRO\CYRK\CYRR\CYRA\CYRSHCH%
+\CYRE\CYRN\CYRI\CYRYA}}
+\newcommand{\definitions}{\starsection{\CYRO\CYRP\CYRR\CYRE\CYRD\CYRE%
+\CYRL\CYRE\CYRN\CYRI\CYRYA}}
+\newcommand{\defabbr}{\starsection{\CYRO\CYRP\CYRR\CYRE\CYRD\CYRE\CYRL%
+\CYRE\CYRN\CYRI\CYRYA, \CYRO\CYRB\CYRO\CYRZ\CYRN\CYRA\CYRCH\CYRE\CYRN%
+\CYRI\CYRYA\ \CYRI\ \CYRS\CYRO\CYRK\CYRR\CYRA\CYRSHCH\CYRE\CYRN\CYRI\CYRYA}}
+\newcommand{\conclusion}{\starsection{\cyr\CYRZ\CYRA\CYRK\CYRL\CYRYU%
+\CYRCH\CYRE\CYRN\CYRI\CYRE}}
+
+% Section and subsection parameters
+\titlespacing{\section}
+{0cm}{3ex plus 1ex minus .2ex}{0.4ex plus.2ex}
+
+\titleformat{\subsection}[block]
+{\hspace{1.25cm}\normalfont\bfseries}
+{\thesubsection}{1ex}{}
+\titlespacing{\subsection}
+{0cm}{2ex plus 1ex minus .2ex}{.4ex plus.2ex}
+
+\titleformat{\subsubsection}[block]
+{\hspace{1.25cm}\normalfont}
+{\thesubsubsection}{1ex}{}
+\titlespacing{\subsubsection}
+{0cm}{2ex plus 1ex minus .2ex}{.4ex plus.2ex}
+
+% --------------------------------------------------------------------------%
+
+% --------------------------------------------------------------------------%
+
+
+%\AddEnumerateCounter{\Asbuk}{\@Asbuk}{\CYRM}
+%\AddEnumerateCounter{\asbuk}{\@asbuk}{\cyrm}
+
+\makeatletter
+\def\redeflsection{\def\l@section{\@dottedtocline{1}{0em}{10em}}}
+\renewcommand{\appendix}{\par%
+
+ \renewcommand{\secNumbering}{
+ \renewcommand{\thefigure}{\Asbuk{section}.\arabic{figure}}
+ \renewcommand{\thetable}{\Asbuk{section}.\arabic{table}}
+ \renewcommand{\theequation}{\Asbuk{section}.\arabic{equation}}
+ \@addtoreset{figure}{section}
+ \@addtoreset{table}{section}
+ \@addtoreset{equation}{section}
+
+ }
+ \if@secNumbering
+ \secNumbering
+ \fi
+ \setcounter{section}{0}%
+ \setcounter{subsection}{0}%
+ \renewcommand{\appendixname}{\cyr\CYRP\CYRR\CYRI\CYRL\CYRO\CYRZH\CYRE%
+ \CYRN\CYRI\CYRE}%
+ \def\sectionname{\appendixname}%
+ \addtocontents{toc}{\protect\redeflsection}%
+ \gdef\thesection{\Asbuk{section}}%
+ \titlespacing{\section}
+ %{0cm}{1ex plus 0.1ex minus .2ex}{1.1ex plus.1ex}
+ {0cm}{3ex plus 1ex minus .2ex}{0.4ex plus.2ex}
+ \titleformat{\section}[display]
+ {\centering\normalfont\bfseries}
+ {\appendixname\hspace{1ex}\thesection}{0ex}{}
+
+
+ \titlecontents{section}
+ [3ex]
+ {\hspace{-3ex}}
+ {\appendixname~\thecontentslabel\hspace{2ex}}
+ {\hspace{2.3em}}
+ {\titlerule*[0.98ex]{.}\contentspage}
+
+}
+
+
+
+% --------------------------------------------------------------------------%
+% Title pages
+% --------------------------------------------------------------------------%
+%\newcommand{\shapka}{{\centering \CYRM\CYRI\CYRN\CYRO\CYRB\CYRR\CYRN\CYRA%
+%\CYRU\CYRK\CYRI\ \CYRR\CYRO\CYRS\CYRS\CYRI\CYRI\\ %
+%\CYRF\cyre\cyrd\cyre\cyrr\cyra\cyrl\cyrsftsn\cyrn\cyro\cyre\ \cyrg\cyro%
+%\cyrs\cyru\cyrd\cyra\cyrr\cyrs\cyrt\cyrv\cyre\cyrn\cyrn\cyro\cyre\ %
+%\cyrb\cyryu\cyrd\cyrzh\cyre\cyrt\cyrn\cyro\cyre\ \cyro\cyrb\cyrr\cyra%
+%\cyrz\cyro\cyrv\cyra\cyrt\cyre\cyrl\cyrsftsn\cyrn\cyro\cyre\ \cyru%
+%\cyrch\cyrr\cyre\cyrzh\cyrd\cyre\cyrn\cyri\cyre\ \cyrv\cyrery\cyrs%
+%\cyrsh\cyre\cyrg\cyro\ \cyro\cyrb\cyrr\cyra\cyrz%
+%\cyro\cyrv\cyra\cyrn\cyri\cyrya\\
+%\textbf{<<\CYRS\CYRA\CYRR\CYRA\CYRT\CYRO\CYRV\CYRS\CYRK\CYRI\CYRISHRT\ %
+%\CYRN\CYRA\CYRC\CYRI\CYRO\CYRN\CYRA\CYRL\CYRSFTSN\CYRN\CYRERY%
+%\CYRISHRT\ \CYRI\CYRS\CYRS\CYRL\CYRE\CYRD\CYRO\CYRV\CYRA\CYRT\CYRE\CYRL%
+%\CYRSFTSN\CYRS\CYRK\CYRI\CYRISHRT\ %
+%\CYRG\CYRO\CYRS\CYRU\CYRD\CYRA\CYRR\CYRS\CYRT\CYRV\CYRE\CYRN\CYRN\CYRERY%
+%\CYRISHRT\ \CYRU\CYRN\CYRI\CYRV\CYRE\CYRR\CYRS\CYRI\CYRT\CYRE\CYRT\ %
+%\CYRI\CYRM\CYRE\CYRN\CYRI~\CYRN.\,\CYRG.\,\CYRCH\CYRE\CYRR\CYRN\CYRERY%
+%\CYRSH\CYRE\CYRV\CYRS\CYRK\CYRO\CYRG\CYRO>>}\\}}
+
+%\newcommand{\shapka}{{\centering \CYRM\CYRI\CYRN\CYRO\CYRB\CYRR\CYRN\CYRA%
+%\CYRU\CYRK\CYRI\ \CYRR\CYRO\CYRS\CYRS\CYRI\CYRI\\ \hspace{-1em}%
+%\CYRF\cyre\cyrd\cyre\cyrr\cyra\cyrl\cyrsftsn\cyrn\cyro\cyre\ \cyrg\cyro%
+%\cyrs\cyru\cyrd\cyra\cyrr\cyrs\cyrt\cyrv\cyre\cyrn\cyrn\cyro\cyre\ %
+%\cyrb\cyryu\cyrd\cyrzh\cyre\cyrt\cyrn\cyro\cyre\ \cyro\cyrb\cyrr\cyra%
+%\cyrz\cyro\cyrv\cyra\cyrt\cyre\cyrl\cyrsftsn\cyrn\cyro\cyre\ \cyru%
+%\cyrch\cyrr\cyre\cyrzh\cyrd\cyre\cyrn\cyri\cyre\ \\\cyrv\cyrery\cyrs%
+%\cyrsh\cyre\cyrg\cyro\ \cyro\cyrb\cyrr\cyra\cyrz%
+%\cyro\cyrv\cyra\cyrn\cyri\cyrya\\\hspace{-2em}
+%{
+%\textbf{<<\CYRS\CYRA\CYRR\CYRA\CYRT\CYRO\CYRV\CYRS\CYRK\CYRI\CYRISHRT\ %
+%\CYRN\CYRA\CYRC\CYRI\CYRO\CYRN\CYRA\CYRL\CYRSFTSN\CYRN\CYRERY%
+%\CYRISHRT\ \CYRI\CYRS\CYRS\CYRL\CYRE\CYRD\CYRO\CYRV\CYRA\CYRT\CYRE\CYRL%
+%\CYRSFTSN\CYRS\CYRK\CYRI\CYRISHRT}} \\%
+%{\textbf{\CYRG\CYRO\CYRS\CYRU\CYRD\CYRA\CYRR\CYRS\CYRT\CYRV\CYRE\CYRN\CYRN\CYRERY%
+%\CYRISHRT\ \CYRU\CYRN\CYRI\CYRV\CYRE\CYRR\CYRS\CYRI\CYRT\CYRE\CYRT}} \\%
+%{\textbf{\CYRI\CYRM\CYRE\CYRN\CYRI~\CYRN.\,\CYRG.\,\CYRCH\CYRE\CYRR\CYRN\CYRERY%
+%\CYRSH\CYRE\CYRV\CYRS\CYRK\CYRO\CYRG\CYRO>>}}\\}}
+
+\newcommand{\shapka}{{\centering \CYRM\CYRI\CYRN\CYRO\CYRB\CYRR\CYRN\CYRA%
+\CYRU\CYRK\CYRI\ \CYRR\CYRO\CYRS\CYRS\CYRI\CYRI\\ %
+\CYRF\cyre\cyrd\cyre\cyrr\cyra\cyrl\cyrsftsn\cyrn\cyro\cyre\ \cyrg\cyro%
+\cyrs\cyru\cyrd\cyra\cyrr\cyrs\cyrt\cyrv\cyre\cyrn\cyrn\cyro\cyre\ %
+\cyrb\cyryu\cyrd\cyrzh\cyre\cyrt\cyrn\cyro\cyre\ \cyro\cyrb\cyrr\cyra%
+\cyrz\cyro\cyrv\cyra\cyrt\cyre\cyrl\cyrsftsn\cyrn\cyro\cyre\ \cyru%
+\cyrch\cyrr\cyre\cyrzh\cyrd\cyre\cyrn\cyri\cyre\ \\\cyrv\cyrery\cyrs%
+\cyrsh\cyre\cyrg\cyro\ \cyro\cyrb\cyrr\cyra\cyrz%
+\cyro\cyrv\cyra\cyrn\cyri\cyrya\\[0.2em]
+
+\centerline{\scalebox{\scaleUnivName}[1.0]{\parbox[t]{1.1\textwidth}
+{\centering
+\textbf{<<\CYRS\CYRA\CYRR\CYRA\CYRT\CYRO\CYRV\CYRS\CYRK\CYRI\CYRISHRT\ %
+\CYRN\CYRA\CYRC\CYRI\CYRO\CYRN\CYRA\CYRL\CYRSFTSN\CYRN\CYRERY%
+\CYRISHRT\ \CYRI\CYRS\CYRS\CYRL\CYRE\CYRD\CYRO\CYRV\CYRA\CYRT\CYRE\CYRL%
+\CYRSFTSN\CYRS\CYRK\CYRI\CYRISHRT\ \\%
+\CYRG\CYRO\CYRS\CYRU\CYRD\CYRA\CYRR\CYRS\CYRT\CYRV\CYRE\CYRN\CYRN\CYRERY%
+\CYRISHRT\ \CYRU\CYRN\CYRI\CYRV\CYRE\CYRR\CYRS\CYRI\CYRT\CYRE\CYRT\ \\%
+\CYRI\CYRM\CYRE\CYRN\CYRI~\CYRN.\,\CYRG.\,\CYRCH\CYRE\CYRR\CYRN\CYRERY%
+\CYRSH\CYRE\CYRV\CYRS\CYRK\CYRO\CYRG\CYRO>>}}}}}}
+
+\newcommand{\CDMakeTitle}
+{
+\thispagestyle{empty}
+\shapka
+%\vspace{0.5cm}
+\begin{center}
+%\parbox{8cm}{
+%\raggedright
+\CYRK\cyra\cyrf\cyre\cyrd\cyrr\cyra\ \@chair
+%}
+\end{center}
+
+\vspace{14pt}
+\vspace{1cm}
+{\centering
+\textbf{\MakeUppercase{\@title}}
+\\[0.3cm]
+{\@workname}
+
+}
+
+\vspace{1.5cm}
+\begin{flushleft}
+\@studenttitle\ \@course\ \cyrk\cyru\cyrr\cyrs\cyra\ \@group\ \cyrg%
+\cyrr\cyru\cyrp\cyrp\cyrery\\
+\@spectype\ \@napravlenie\\
+\@department\\
+\@author
+\end{flushleft}
+\vfill
+
+\noindent
+\CYRN\cyra\cyru\cyrch\cyrn\cyrery\cyrishrt\ \cyrr\cyru\cyrk\cyro\cyrv%
+\cyro\cyrd\cyri\cyrt\cyre\cyrl\cyrsftsn\\
+\signature{\@satitle}{\@saname}\\[14pt]
+\CYRZ\cyra\cyrv\cyre\cyrd\cyru\cyryu\cyrshch\cyri\cyrishrt\ \cyrk\cyra%
+\cyrf\cyre\cyrd\cyrr\cyro\cyrishrt\\
+\signature{\@chtitle}{\@chname}
+
+\vfill
+{\centering{\cyr\CYRS\cyra\cyrr\cyra\cyrt\cyro\cyrv\ \@date}
+
+}
+\newpage
+}
+% --------------------------------------------------------------------------%
+
+% --------------------------------------------------------------------------%
+% Title page of internship
+% --------------------------------------------------------------------------%
+\newcommand{\MakeTitlePr}
+{
+\thispagestyle{empty}
+\begin{center}
+\shapka
+\end{center}
+\vspace{0.5cm}
+
+
+\begin{flushright}
+ \parbox{7cm}{
+ \begin{flushleft}
+ \CYRU\CYRT\CYRV\CYRE\CYRR\CYRZH\CYRD\CYRA\CYRYU\\
+ \CYRZ\cyra\cyrv.\cyrk\cyra\cyrf\cyre\cyrd\cyrr\cyro\cyrishrt,\\
+ \@chtitle\\
+ \hbox to 7cm{\hrulefill\ \@chname}
+ \end{flushleft}
+ }
+\end{flushright}
+
+\vspace{1cm}
+\begin{center}\textbf{\MakeUppercase{\@worktype}}\end{center}
+\begin{flushleft}
+ \vspace{12pt}
+ \@studenttitle\ \@course\ \cyrk\cyru\cyrr\cyrs\cyra\ \@group\ \cyrg%
+ \cyrr\cyru\cyrp\cyrp\cyrery\ \@department\\
+ \@author
+ \vspace{0.5cm}
+
+
+ \cyrv\cyri\cyrd\ \cyrp\cyrr\cyra\cyrk\cyrt\cyri\cyrk\cyri: \@practtype\\
+ \cyrk\cyra\cyrf\cyre\cyrd\cyrr\cyra: \@chair\\
+ \cyrk\cyru\cyrr\cyrs: \@course\\
+ \cyrs\cyre\cyrm\cyre\cyrs\cyrt\cyrr: \@term\\
+ \cyrp\cyrr\cyro\cyrd\cyro\cyrl\cyrzh\cyri\cyrt\cyre\cyrl\cyrsftsn\cyrn%
+ \cyro\cyrs\cyrt\cyrsftsn: \@duration\ \cyrn\cyre\cyrd., \cyrs\ \@practStart\ \cyrg. \cyrp\cyro\ \@practFinish\ \cyrg.
+\end{flushleft}
+%\parindent=-0.2cm
+\vspace{1cm}
+
+\noindent
+\CYRR\cyru\cyrk\cyro\cyrv\cyro\cyrd\cyri\cyrt\cyre\cyrl\cyrsftsn\ \cyrp%
+\cyrr\cyra\cyrk\cyrt\cyri\cyrk\cyri\ \cyro\cyrt\ \cyru\cyrn\cyri\cyrv%
+\cyre\cyrr\cyrs\cyri\cyrt\cyre\cyrt\cyra,\\[12pt]%
+\signature{\@satitle}{\@saname}\\[14pt]
+\CYRR\cyru\cyrk\cyro\cyrv\cyro\cyrd\cyri\cyrt\cyre\cyrl\cyrsftsn\ \cyrp%
+\cyrr\cyra\cyrk\cyrt\cyri\cyrk\cyri\ \cyro\cyrt\ \cyro\cyrr\cyrg\cyra%
+\cyrn\cyri\cyrz\cyra\cyrc\cyri\cyri\ (\cyru\cyrch\cyrr\cyre\cyrzh\cyrd%
+\cyre\cyrn\cyri\cyrya, \cyrp\cyrr\cyre\cyrd\cyrp\cyrr\cyri\cyrya\cyrt%
+\cyri\cyrya),\\[12pt]%
+\signature{\@patitle}{\@paname}
+
+\newpage
+\thispagestyle{empty}
+\vspace*{11cm}
+\CYRT\cyre\cyrm\cyra\ \cyrp\cyrr\cyra\cyrk\cyrt\cyri\cyrk\cyri:<<\@title>>
+\parindent=1.25cm
+\newpage
+}
+% --------------------------------------------------------------------------%
+
+% --------------------------------------------------------------------------%
+% Title page of review
+% --------------------------------------------------------------------------%
+\newcommand{\MakeTitleReview}
+{
+\pagestyle{empty}
+\begin{center}
+\shapka
+\end{center}
+
+
+{
+\centering
+\textbf{\MakeUppercase{\@reviewtype}}\\[-0.3em]
+\textbf{\@workname}\\[0.3em]
+<<{\MakeUppercase{\@title}}>>
+
+\@studenttitle\ \@course\ \cyrk\cyru\cyrr\cyrs\cyra\ %
+\@department\\
+
+\centering
+{\@author}\\
+
+\centering
+\@studentdone\ \cyro\cyrb\cyru\cyrch\cyre\cyrn\cyri\cyre\ \cyrp%
+\cyro\ \@spectyperod\ \@napravlenie
+
+}
+\vspace{2em}
+}
+% --------------------------------------------------------------------------%
+
+
+% --------------------------------------------------------------------------%
+% Title page of assignment
+% --------------------------------------------------------------------------%
+\newcommand{\MakeTitleAssign}
+{
+\pagestyle{empty}
+\begin{center}
+\shapka
+\end{center}
+
+{
+\centering
+\CYRK\cyra\cyrf\cyre\cyrd\cyrr\cyra\ \@chair
+
+
+\vspace{6em}
+\centering
+\textbf{\MakeUppercase{\@reviewtype}\\%[-0.3em]
+\@workname}
+
+\vspace{0.3em}
+\raggedright
+\cyrp\cyro\ \@spectyperod\ \@napravlenie\\
+\@studenttitle\ \@course\ \cyrk\cyru\cyrr\cyrs\cyra\ %
+\@department\\
+\MakeUppercase{\@author}\\
+\textbf{\CYRT\cyre\cyrm\cyra\ \cyrr\cyra\cyrb\cyro\cyrt\cyrery:} <<{\MakeUppercase{\@title}}>>
+
+}
+
+\vfill
+
+\noindent
+\CYRN\cyra\cyru\cyrch\cyrn\cyrery\cyrishrt\ \cyrr\cyru\cyrk\cyro\cyrv%
+\cyro\cyrd\cyri\cyrt\cyre\cyrl\cyrsftsn\\
+\signature{\@satitle}{\@saname}\\[14pt]
+\CYRZ\cyra\cyrv\cyre\cyrd\cyru\cyryu\cyrshch\cyri\cyrishrt\ \cyrk\cyra%
+\cyrf\cyre\cyrd\cyrr\cyro\cyrishrt\\
+\signature{\@chtitle}{\@chname}
+
+\vfill
+{\centering{\cyr\CYRS\cyra\cyrr\cyra\cyrt\cyro\cyrv\ \@date}
+
+}
+\newpage
+\begin{center}\bf
+C\cyro\cyrd\cyre\cyrr\cyrzh\cyra\cyrn\cyri\cyre\ \cyrr\cyra\cyrb%
+\cyro\cyrt\cyrery
+\end{center}
+}
+% --------------------------------------------------------------------------%
+
+% --------------------------------------------------------------------------%
+% Referat title page
+% --------------------------------------------------------------------------%
+\newcommand{\RefMakeTitle}
+{
+\thispagestyle{empty}
+\shapka
+
+\vspace{3cm}
+{\centering
+\textbf{\MakeUppercase{\@title}}
+\\[0.3cm]
+{\@workname}
+
+}
+
+\vspace{1.5cm}
+\begin{flushleft}
+\@studenttitle\ \@course\ \cyrk\cyru\cyrr\cyrs\cyra\ \@group\ \cyrg%
+\cyrr\cyru\cyrp\cyrp\cyrery\\
+\@spectype\ \@napravlenie\\
+\@department\\
+\@author
+\end{flushleft}
+\vfill
+
+\noindent
+\CYRP\cyrr\cyro\cyrv\cyre\cyrr\cyri\cyrl\\
+\signature{\@satitle}{\@saname}
+
+\vfill
+{\centering{\cyr\CYRS\cyra\cyrr\cyra\cyrt\cyro\cyrv\ \@date}
+
+}
+\newpage
+}
+% --------------------------------------------------------------------------%
+
+% --------------------------------------------------------------------------%
+% Last page
+% --------------------------------------------------------------------------%
+\newcommand{\lastpage}
+{
+\newpage
+\thispagestyle{empty}
+\vspace*{11cm}
+\@worktype\ <<\@title>>\ \@typework\ \cyrm\cyrn\cyro\cyrishrt\ %
+\cyrs\cyra\cyrm\cyro\cyrs\cyrt\cyro\cyrya\cyrt\cyre\cyrl\cyrsftsn\cyrn%
+\cyro, \cyri\ \cyrn\cyra\ \cyrv\cyrs\cyre\ \cyri\cyrs\cyrt\cyro\cyrch%
+\cyrn\cyri\cyrk\cyri, \cyri\cyrm\cyre\cyryu\cyrshch\cyri\cyre\cyrs%
+\cyrya\ \cyrv\ \cyrr\cyra\cyrb\cyro\cyrt\cyre, \cyrd\cyra\cyrn\cyrery\ %
+\cyrs\cyro\cyro\cyrt\cyrv\cyre\cyrs\cyrt\cyrv\cyru\cyryu\cyrshch\cyri%
+\cyre\ \cyrs\cyrs\cyrery\cyrl\cyrk\cyri.\par
+\parindent=9cm
+\parbox{8cm}{
+\begin{flushleft}
+\hbox to 6cm{\hbox to 3.5cm{\hrulefill}/\hbox to 3.5cm{\hrulefill}/}
+\end{flushleft}
+}
+}
+
+\AddEnumerateCounter{\Asbuk}{\@Asbuk}{\CYRM}
+\AddEnumerateCounter{\asbuk}{\@asbuk}{\cyrm}
+
+% --------------------------------------------------------------------------%
+% enumerations
+% --------------------------------------------------------------------------%
+\setlist{noitemsep}
+%\setlist[1]{labelindent=\parindent} % < Usually a good idea
+\setlist[itemize]{
+%leftmargin=52pt,
+rightmargin=0pt,
+labelsep=7pt,
+labelwidth=20pt,
+itemindent=0pt,
+listparindent=0pt,
+topsep=0pt,%4pt plus 2pt minus 4pt,
+partopsep=0pt,% plus 1pt minus 1pt,
+parsep=0pt,% plus 1pt,
+itemsep=0 pt%\parsep
+}
+\setlist[enumerate]{
+%leftmargin=52pt,
+rightmargin=0pt,
+labelsep=5pt,
+labelwidth=20pt,
+itemindent=0pt,
+listparindent=0pt,
+topsep=0pt,%4pt plus 2pt minus 4pt,
+partopsep=0pt,% plus 1pt minus 1pt,
+parsep=0pt,% plus 1pt,
+itemsep=0pt%\parsep
+}
+\setlist[itemize,1]{label={\normalfont\bfseries\textemdash}}
+%\setlist[enumerate]{labelsep=*, leftmargin=1.5pc}
+\setlist[enumerate,1]{label=\arabic*., ref=\arabic*}
+\setlist[enumerate,2]{label=\emph{\asbuk*}), ref=\theenumi.\emph{\asbuk*}}
+\setlist[enumerate,3]{label=\roman*., ref=\theenumii.\roman*}
+\setlist[enumerate,4]{label=\Asbuk*., ref=\theenumiii.\Asbuk*}
+%\setlist[description]{font=\sffamily\bfseries}
+
+%%%\renewcommand{\@listI}{%
+%%%\leftmargin=52pt
+%%%\rightmargin=0pt
+%%%\labelsep=7pt
+%%%\labelwidth=20pt
+%%%\itemindent=0pt
+%%%\listparindent=0pt
+%%%\topsep=4pt plus 2pt minus 4pt
+%%%\partopsep=0pt plus 1pt minus 1pt
+%%%\parsep=0pt plus 1pt
+%%%\itemsep=\parsep}
+
+%%%\renewcommand\theenumi {\@arabic\c@enumi}
+%%%\renewcommand\theenumii {\asbuk{enumii}}
+%%%\renewcommand\theenumiii{\@roman\c@enumiii}
+%%%\renewcommand\theenumiv {\Asbuk{enumiv}}
+%%%\newcommand\atheenumi{\asbuk{enumi}}
+%%%\newcommand\atheenumii{\asbuk{enumii}}
+%%%\renewcommand\labelenumi {\theenumi.}
+%%%\renewcommand\labelenumii {\theenumii.}
+%%%\renewcommand\labelenumiii{\theenumiii.}
+%%%\renewcommand\labelenumiv {\theenumiv.}
+%%%\renewcommand\p@enumii {\theenumi}
+%%%\renewcommand\p@enumiii {\theenumi.\theenumii}
+%%%\renewcommand\p@enumiv {\p@enumiii.\theenumiii}
+%%%\renewcommand\labelitemi {\normalfont\bfseries\textemdash}
+%%%\renewcommand\labelitemii {\normalfont\bfseries\textendash}
+%%%\renewcommand\labelitemiii{\textperiodcentered}
+%%%\renewcommand\labelitemiv {\textasteriskcentered}
+%%%
+%%%\renewcommand{\@listI}{%
+%%%\leftmargin=52pt
+%%%\rightmargin=0pt
+%%%\labelsep=7pt
+%%%\labelwidth=20pt
+%%%\itemindent=0pt
+%%%\listparindent=0pt
+%%%\topsep=4pt plus 2pt minus 4pt
+%%%\partopsep=0pt plus 1pt minus 1pt
+%%%\parsep=0pt plus 1pt
+%%%\itemsep=\parsep}
+% --------------------------------------------------------------------------%
+
+
+% --------------------------------------------------------------------------%
+% References
+% --------------------------------------------------------------------------%
+\makeatletter
+\def\@biblabel#1{#1 }
+
+\renewenvironment{thebibliography}[1]
+{
+ \starsection{\cyr\CYRS\CYRP\CYRI\CYRS\CYRO\CYRK\ \CYRI\CYRS\CYRP\CYRO\CYRL%
+ \CYRSFTSN\CYRZ\CYRO\CYRV\CYRA\CYRN\CYRN\CYRERY\CYRH\ \CYRI\CYRS\CYRT%
+ \CYRO\CYRCH\CYRN\CYRI\CYRK\CYRO\CYRV}
+ \list{\@biblabel{\@arabic\c@enumiv}}%
+ {\settowidth\labelwidth{\@biblabel{#1}}%
+ \leftmargin\labelwidth
+ \advance\leftmargin\labelsep
+ \setlength{\itemsep}{0pt}
+ \@openbib@code
+ \usecounter{enumiv}%
+ \let\p@enumiv\@empty
+ \renewcommand\theenumiv{\@arabic\c@enumiv}}%
+ \sloppy
+ \clubpenalty4000
+ \@clubpenalty \clubpenalty
+ \widowpenalty4000%
+ \sfcode`\.\@m}
+{\def\@noitemerr
+ {\@latex@warning{Empty `thebibliography' environment}}%
+ \endlist}
+
+\makeatother
+% --------------------------------------------------------------------------%
diff --git a/tex/example-work.aux b/tex/example-work.aux
new file mode 100644
index 0000000..7940a1d
--- /dev/null
+++ b/tex/example-work.aux
@@ -0,0 +1,78 @@
+\relax
+\providecommand\hyper@newdestlabel[2]{}
+\providecommand\babel@aux[2]{}
+\@nameuse{bbl@beforestart}
+\catcode `"\active
+\providecommand\HyperFirstAtBeginDocument{\AtBeginDocument}
+\HyperFirstAtBeginDocument{\ifx\hyper@anchor\@undefined
+\global\let\oldcontentsline\contentsline
+\gdef\contentsline#1#2#3#4{\oldcontentsline{#1}{#2}{#3}}
+\global\let\oldnewlabel\newlabel
+\gdef\newlabel#1#2{\newlabelxx{#1}#2}
+\gdef\newlabelxx#1#2#3#4#5#6{\oldnewlabel{#1}{{#2}{#3}}}
+\AtEndDocument{\ifx\hyper@anchor\@undefined
+\let\contentsline\oldcontentsline
+\let\newlabel\oldnewlabel
+\fi}
+\fi}
+\global\let\hyper@last\relax
+\gdef\HyperFirstAtBeginDocument#1{#1}
+\providecommand\HyField@AuxAddToFields[1]{}
+\providecommand\HyField@AuxAddToCoFields[2]{}
+\babel@aux{russian}{}
+\@writefile{toc}{\contentsline {section}{\cyrillictext \CYRV \CYRV \CYRE \CYRD \CYRE \CYRN \CYRI \CYRE }{3}{section*.1}\protected@file@percent }
+\citation{IITMMM_2017}
+\citation{Algo_2013}
+\@writefile{toc}{\contentsline {section}{\numberline {1}\IeC {\CYRV }\IeC {\cyrv }\IeC {\cyre }\IeC {\cyrd }\IeC {\cyre }\IeC {\cyrn }\IeC {\cyri }\IeC {\cyre }}{4}{section.1}\protected@file@percent }
+\@writefile{toc}{\contentsline {subsection}{\numberline {1.1}\IeC {\CYRG }\IeC {\cyrr }\IeC {\cyra }\IeC {\cyrf }\IeC {\cyrery }}{4}{subsection.1.1}\protected@file@percent }
+\@writefile{lof}{\contentsline {figure}{\numberline {1}{\ignorespaces \IeC {\CYRP }\IeC {\cyrr }\IeC {\cyri }\IeC {\cyrm }\IeC {\cyre }\IeC {\cyrr } \IeC {\cyro }\IeC {\cyrr }\IeC {\cyrg }\IeC {\cyrr }\IeC {\cyra }\IeC {\cyrf }\IeC {\cyra }\relax }}{4}{figure.caption.2}\protected@file@percent }
+\providecommand*\caption@xref[2]{\@setref\relax\@undefined{#1}}
+\newlabel{fig:orgrapf_example}{{1}{4}{Пример орграфа\relax }{figure.caption.2}{}}
+\@writefile{lof}{\contentsline {figure}{\numberline {2}{\ignorespaces \IeC {\CYRP }\IeC {\cyrr }\IeC {\cyri }\IeC {\cyrm }\IeC {\cyre }\IeC {\cyrr } \IeC {\cyrn }\IeC {\cyre }\IeC {\cyro }\IeC {\cyrr }\IeC {\cyri }\IeC {\cyre }\IeC {\cyrn }\IeC {\cyrt }\IeC {\cyri }\IeC {\cyrr }\IeC {\cyro }\IeC {\cyrv }\IeC {\cyra }\IeC {\cyrn }\IeC {\cyrn }\IeC {\cyro }\IeC {\cyrg }\IeC {\cyro } \IeC {\cyrg }\IeC {\cyrr }\IeC {\cyra }\IeC {\cyrf }\IeC {\cyra }\relax }}{5}{figure.caption.3}\protected@file@percent }
+\newlabel{fig:grapf_example}{{2}{5}{Пример неориентированного графа\relax }{figure.caption.3}{}}
+\@writefile{toc}{\contentsline {section}{\numberline {2}\IeC {\CYRI }\IeC {\cyrs }\IeC {\cyrt }\IeC {\cyro }\IeC {\cyrr }\IeC {\cyri }\IeC {\cyrya } \IeC {\cyrs }\IeC {\cyro }\IeC {\cyrz }\IeC {\cyrd }\IeC {\cyra }\IeC {\cyrn }\IeC {\cyri }\IeC {\cyrya } \IeC {\cyrya }\IeC {\cyrz }\IeC {\cyrery }\IeC {\cyrk }\IeC {\cyra } SQL}{6}{section.2}\protected@file@percent }
+\@writefile{toc}{\contentsline {subsection}{\numberline {2.1}\IeC {\CYRS }\IeC {\cyro }\IeC {\cyrz }\IeC {\cyrd }\IeC {\cyra }\IeC {\cyrt }\IeC {\cyre }\IeC {\cyrl }\IeC {\cyri }}{6}{subsection.2.1}\protected@file@percent }
+\@writefile{toc}{\contentsline {subsection}{\numberline {2.2}\IeC {\CYRE }\IeC {\cyrshch }\IeC {\cyre } \IeC {\cyrerev }\IeC {\cyrl }\IeC {\cyre }\IeC {\cyrm }\IeC {\cyre }\IeC {\cyrn }\IeC {\cyrt }\IeC {\cyrery } \IeC {\cyrm }\IeC {\cyra }\IeC {\cyrt }\IeC {\cyre }\IeC {\cyrm }\IeC {\cyra }\IeC {\cyrt }\IeC {\cyri }\IeC {\cyrch }\IeC {\cyre }\IeC {\cyrs }\IeC {\cyrk }\IeC {\cyro }\IeC {\cyrg }\IeC {\cyro } \IeC {\cyrt }\IeC {\cyre }\IeC {\cyrk }\IeC {\cyrs }\IeC {\cyrt }\IeC {\cyra }}{6}{subsection.2.2}\protected@file@percent }
+\@writefile{lof}{\contentsline {figure}{\numberline {3}{\ignorespaces \IeC {\CYRN }\IeC {\cyre }\IeC {\cyrishrt }\IeC {\cyrr }\IeC {\cyro }\IeC {\cyrn }\relax }}{6}{figure.caption.4}\protected@file@percent }
+\newlabel{neuron}{{3}{6}{Нейрон\relax }{figure.caption.4}{}}
+\@writefile{toc}{\contentsline {subsection}{\numberline {2.3}\IeC {\CYRS }\IeC {\cyrn }\IeC {\cyro }\IeC {\cyrv }\IeC {\cyra } \IeC {\cyrm }\IeC {\cyra }\IeC {\cyrt }\IeC {\cyre }\IeC {\cyrm }\IeC {\cyra }\IeC {\cyrt }\IeC {\cyri }\IeC {\cyrch }\IeC {\cyre }\IeC {\cyrs }\IeC {\cyrk }\IeC {\cyri }\IeC {\cyrishrt } \IeC {\cyrt }\IeC {\cyre }\IeC {\cyrk }\IeC {\cyrs }\IeC {\cyrt }}{7}{subsection.2.3}\protected@file@percent }
+\@writefile{lof}{\contentsline {figure}{\numberline {4}{\ignorespaces \IeC {\CYRA }\IeC {\cyrr }\IeC {\cyrh }\IeC {\cyri }\IeC {\cyrt }\IeC {\cyre }\IeC {\cyrk }\IeC {\cyrt }\IeC {\cyru }\IeC {\cyrr }\IeC {\cyra } \IeC {\cyrm }\IeC {\cyrn }\IeC {\cyro }\IeC {\cyrg }\IeC {\cyro }\IeC {\cyrs }\IeC {\cyrl }\IeC {\cyro }\IeC {\cyrishrt }\IeC {\cyrn }\IeC {\cyro }\IeC {\cyrishrt } \IeC {\cyrs }\IeC {\cyre }\IeC {\cyrt }\IeC {\cyri } \IeC {\cyrp }\IeC {\cyrr }\IeC {\cyrya }\IeC {\cyrm }\IeC {\cyro }\IeC {\cyrg }\IeC {\cyro } \IeC {\cyrr }\IeC {\cyra }\IeC {\cyrs }\IeC {\cyrp }\IeC {\cyrr }\IeC {\cyro }\IeC {\cyrs }\IeC {\cyrt }\IeC {\cyrr }\IeC {\cyra }\IeC {\cyrn }\IeC {\cyre }\IeC {\cyrn }\IeC {\cyri }\IeC {\cyrya }\relax }}{8}{figure.caption.5}\protected@file@percent }
+\newlabel{net1}{{4}{8}{Архитектура многослойной сети прямого распространения\relax }{figure.caption.5}{}}
+\@writefile{lof}{\contentsline {figure}{\numberline {5}{\ignorespaces \IeC {\CYRP }\IeC {\cyrr }\IeC {\cyri }\IeC {\cyrm }\IeC {\cyre }\IeC {\cyrr } \IeC {\cyrn }\IeC {\cyre }\IeC {\cyrishrt }\IeC {\cyrr }\IeC {\cyro }\IeC {\cyrn }\IeC {\cyrn }\IeC {\cyro }\IeC {\cyrishrt } \IeC {\cyrs }\IeC {\cyre }\IeC {\cyrt }\IeC {\cyri }\relax }}{8}{figure.caption.6}\protected@file@percent }
+\newlabel{net2}{{5}{8}{Пример нейронной сети\relax }{figure.caption.6}{}}
+\@writefile{toc}{\contentsline {section}{\numberline {3}\IeC {\CYRR }\IeC {\cyra }\IeC {\cyrz }\IeC {\cyrd }\IeC {\cyre }\IeC {\cyrl } \IeC {\cyrs } \IeC {\cyrp }\IeC {\cyro }\IeC {\cyrd }\IeC {\cyrr }\IeC {\cyra }\IeC {\cyrz }\IeC {\cyrd }\IeC {\cyre }\IeC {\cyrl }\IeC {\cyra }\IeC {\cyrm }\IeC {\cyri }}{9}{section.3}\protected@file@percent }
+\@writefile{toc}{\contentsline {subsection}{\numberline {3.1}\IeC {\CYRT }\IeC {\cyre }\IeC {\cyrk }\IeC {\cyrs }\IeC {\cyrt } \IeC {\cyrs } \IeC {\cyrf }\IeC {\cyro }\IeC {\cyrr }\IeC {\cyrm }\IeC {\cyru }\IeC {\cyrl }\IeC {\cyra }\IeC {\cyrm }\IeC {\cyri } \IeC {\cyri } \IeC {\cyrl }\IeC {\cyre }\IeC {\cyrm }\IeC {\cyrm }\IeC {\cyro }\IeC {\cyrishrt }}{9}{subsection.3.1}\protected@file@percent }
+\newlabel{eq:ex01}{{1}{9}{Текст с формулами и леммой}{equation.3.1}{}}
+\newlabel{lem:1}{{1}{9}{}{lem.1}{}}
+\newlabel{it:1lem1}{{{1}}{9}{}{Item.1}{}}
+\newlabel{it:2lem1}{{{2}}{9}{}{Item.2}{}}
+\newlabel{eq:ex02}{{2}{9}{}{equation.3.2}{}}
+\newlabel{eq:ex03}{{3}{9}{Текст с формулами и леммой}{equation.3.3}{}}
+\@writefile{toc}{\contentsline {subsection}{\numberline {3.2}\IeC {\CYRN }\IeC {\cyra }\IeC {\cyrz }\IeC {\cyrv }\IeC {\cyra }\IeC {\cyrn }\IeC {\cyri }\IeC {\cyre } \IeC {\cyrd }\IeC {\cyrr }\IeC {\cyru }\IeC {\cyrg }\IeC {\cyro }\IeC {\cyrg }\IeC {\cyro } \IeC {\cyrp }\IeC {\cyro }\IeC {\cyrd }\IeC {\cyrr }\IeC {\cyra }\IeC {\cyrz }\IeC {\cyrd }\IeC {\cyre }\IeC {\cyrl }\IeC {\cyra }}{10}{subsection.3.2}\protected@file@percent }
+\@writefile{toc}{\contentsline {subsubsection}{\numberline {3.2.1}\IeC {\CYRB }\IeC {\cyro }\IeC {\cyrl }\IeC {\cyre }\IeC {\cyre } \IeC {\cyrm }\IeC {\cyre }\IeC {\cyrl }\IeC {\cyrk }\IeC {\cyri }\IeC {\cyrishrt } \IeC {\cyrp }\IeC {\cyro }\IeC {\cyrd }\IeC {\cyrr }\IeC {\cyra }\IeC {\cyrz }\IeC {\cyrd }\IeC {\cyre }\IeC {\cyrl }}{10}{subsubsection.3.2.1}\protected@file@percent }
+\@writefile{toc}{\contentsline {subsubsection}{\numberline {3.2.2}\IeC {\CYRT }\IeC {\cyre }\IeC {\cyrk }\IeC {\cyrs }\IeC {\cyrt } \IeC {\cyrs } \IeC {\cyrt }\IeC {\cyra }\IeC {\cyrb }\IeC {\cyrl }\IeC {\cyri }\IeC {\cyrc }\IeC {\cyre }\IeC {\cyrishrt }}{10}{subsubsection.3.2.2}\protected@file@percent }
+\@writefile{lot}{\contentsline {table}{\numberline {1}{\ignorespaces \IeC {\CYRR }\IeC {\cyre }\IeC {\cyrz }\IeC {\cyru }\IeC {\cyrl }\IeC {\cyrsftsn }\IeC {\cyrt }\IeC {\cyra }\IeC {\cyrt } \IeC {\cyrs }\IeC {\cyro }\IeC {\cyrk }\IeC {\cyrr }\IeC {\cyra }\IeC {\cyrshch }\IeC {\cyre }\IeC {\cyrn }\IeC {\cyri }\IeC {\cyrya } \IeC {\cyrs }\IeC {\cyrl }\IeC {\cyro }\IeC {\cyrv }\IeC {\cyra }\IeC {\cyrr }\IeC {\cyre }\IeC {\cyrishrt } \IeC {\cyrn }\IeC {\cyre }\IeC {\cyri }\IeC {\cyrs }\IeC {\cyrp }\IeC {\cyrr }\IeC {\cyra }\IeC {\cyrv }\IeC {\cyrn }\IeC {\cyro }\IeC {\cyrs }\IeC {\cyrt }\IeC {\cyre }\IeC {\cyrishrt } \IeC {\cyrp }\IeC {\cyrr }\IeC {\cyri } \IeC {\cyrp }\IeC {\cyro }\IeC {\cyrm }\IeC {\cyro }\IeC {\cyrshch }\IeC {\cyri } \IeC {\cyrm }\IeC {\cyra }\IeC {\cyrs }\IeC {\cyro }\IeC {\cyrk }\relax }}{10}{table.caption.7}\protected@file@percent }
+\newlabel{table-1}{{1}{10}{Результат сокращения словарей неисправностей при помощи масок\relax }{table.caption.7}{}}
+\@writefile{toc}{\contentsline {subsubsection}{\numberline {3.2.3}\IeC {\CYRT }\IeC {\cyre }\IeC {\cyrk }\IeC {\cyrs }\IeC {\cyrt } \IeC {\cyrs } \IeC {\cyrk }\IeC {\cyro }\IeC {\cyrd }\IeC {\cyro }\IeC {\cyrm } \IeC {\cyrp }\IeC {\cyrr }\IeC {\cyro }\IeC {\cyrg }\IeC {\cyrr }\IeC {\cyra }\IeC {\cyrm }\IeC {\cyrm }\IeC {\cyrery }}{11}{subsubsection.3.2.3}\protected@file@percent }
+\@writefile{lot}{\contentsline {table}{\numberline {2}{\ignorespaces \IeC {\CYRM }\IeC {\cyra }\IeC {\cyrs }\IeC {\cyrs }\IeC {\cyri }\IeC {\cyrv }\IeC {\cyrery } \texttt {column}, \texttt {value} \IeC {\cyri } \texttt {rowIndex}\relax }}{12}{table.caption.8}\protected@file@percent }
+\newlabel{tab:mat-arrays}{{2}{12}{Массивы \texttt {column}, \texttt {value} и \texttt {rowIndex}\relax }{table.caption.8}{}}
+\bibstyle{gost780uv}
+\bibdata{thesis}
+\@writefile{toc}{\contentsline {section}{\cyrillictext \CYRZ \CYRA \CYRK \CYRL \CYRYU \CYRCH \CYRE \CYRN \CYRI \CYRE }{14}{section*.9}\protected@file@percent }
+\bibcite{IITMMM_2017}{1}
+\bibcite{Algo_2013}{2}
+\@writefile{toc}{\contentsline {section}{\cyrillictext \CYRS \CYRP \CYRI \CYRS \CYRO \CYRK \ \CYRI \CYRS \CYRP \CYRO \CYRL \CYRSFTSN \CYRZ \CYRO \CYRV \CYRA \CYRN \CYRN \CYRERY \CYRH \ \CYRI \CYRS \CYRT \CYRO \CYRCH \CYRN \CYRI \CYRK \CYRO \CYRV }{15}{section*.10}\protected@file@percent }
+\@writefile{toc}{\redeflsection }
+\@writefile{toc}{\ttl@change@i {\@ne }{section}{3ex}{\hspace {-3ex}}{\appendixname ~\thecontentslabel \hspace {2ex}}{\hspace {2.3em}}{\titlerule *[0.98ex]{.}\contentspage }\relax }
+\@writefile{toc}{\ttl@change@v {section}{}{}{}\relax }
+\@writefile{toc}{\contentsline {section}{\numberline {\CYRA }\IeC {\CYRN }\IeC {\cyru }\IeC {\cyrm }\IeC {\cyre }\IeC {\cyrr }\IeC {\cyru }\IeC {\cyre }\IeC {\cyrm }\IeC {\cyrery }\IeC {\cyre } \IeC {\cyro }\IeC {\cyrb }\IeC {\cyrhrdsn }\IeC {\cyre }\IeC {\cyrk }\IeC {\cyrt }\IeC {\cyrery } \IeC {\cyrv } \IeC {\cyrp }\IeC {\cyrr }\IeC {\cyri }\IeC {\cyrl }\IeC {\cyro }\IeC {\cyrzh }\IeC {\cyre }\IeC {\cyrn }\IeC {\cyri }\IeC {\cyri }}{16}{appendix.A}\protected@file@percent }
+\@writefile{lot}{\contentsline {table}{\numberline {3}{\ignorespaces Results of pass-fail dictionary reduction with the help of masks\relax }}{16}{table.caption.11}\protected@file@percent }
+\newlabel{table-2}{{3}{16}{Results of pass-fail dictionary reduction with the help of masks\relax }{table.caption.11}{}}
+\@writefile{lof}{\contentsline {figure}{\numberline {6}{\ignorespaces \IeC {\CYRP }\IeC {\cyro }\IeC {\cyrd }\IeC {\cyrp }\IeC {\cyri }\IeC {\cyrs }\IeC {\cyrsftsn } \IeC {\cyrk } \IeC {\cyrr }\IeC {\cyri }\IeC {\cyrs }\IeC {\cyru }\IeC {\cyrn }\IeC {\cyrk }\IeC {\cyru }\relax }}{16}{figure.caption.12}\protected@file@percent }
+\newlabel{fig:f3}{{6}{16}{Подпись к рисунку\relax }{figure.caption.12}{}}
+\@writefile{lot}{\contentsline {table}{\numberline {4}{\ignorespaces \relax }}{16}{table.caption.13}\protected@file@percent }
+\@writefile{toc}{\contentsline {section}{\numberline {\CYRB }\IeC {\CYRL }\IeC {\cyri }\IeC {\cyrs }\IeC {\cyrt }\IeC {\cyri }\IeC {\cyrn }\IeC {\cyrg } \IeC {\cyrp }\IeC {\cyrr }\IeC {\cyro }\IeC {\cyrg }\IeC {\cyrr }\IeC {\cyra }\IeC {\cyrm }\IeC {\cyrm }\IeC {\cyrery }}{17}{appendix.B}\protected@file@percent }
+\newlabel{pril-1}{{\CYRB }{17}{Листинг программы}{appendix.B}{}}
+\@writefile{toc}{\contentsline {section}{\numberline {\CYRV }\IeC {\CYRM }\IeC {\cyrn }\IeC {\cyro }\IeC {\cyrg }\IeC {\cyro }\IeC {\cyrs }\IeC {\cyrt }\IeC {\cyrr }\IeC {\cyra }\IeC {\cyrn }\IeC {\cyri }\IeC {\cyrch }\IeC {\cyrn }\IeC {\cyra }\IeC {\cyrya } \IeC {\cyrt }\IeC {\cyra }\IeC {\cyrb }\IeC {\cyrl }\IeC {\cyri }\IeC {\cyrc }\IeC {\cyra }}{19}{appendix.C}\protected@file@percent }
+\ttl@finishall
+\gdef \@abspage@last{19}
diff --git a/tex/example-work.bbl b/tex/example-work.bbl
new file mode 100644
index 0000000..1c21d1d
--- /dev/null
+++ b/tex/example-work.bbl
@@ -0,0 +1,27 @@
+\begin{thebibliography}{1}
+\def\selectlanguageifdefined#1{
+\expandafter\ifx\csname date#1\endcsname\relax
+\else\language\csname l@#1\endcsname\fi}
+\ifx\undefined\url\def\url#1{{\small #1}}\else\fi
+\ifx\undefined\BibAuthor\def\BibAuthor#1{\emph{#1}}\else\fi
+\ifx\undefined\BibTitle\def\BibTitle#1{#1}\else\fi
+\ifx\undefined\BibUrl\def\BibUrl#1{\url{#1}}\else\fi
+\ifx\undefined\BibAnnote\def\BibAnnote#1{}\else\fi
+\ifx\undefined\BibSection\def\BibSection#1#2#3{}\else\fi
+
+\bibitem{IITMMM_2017}
+\selectlanguageifdefined{english}
+\BibAuthor{Захарова,~В.~Е.} \BibTitle{ТЕОРИЯ ГРАФОВ: Учебное пособие}~/
+ В.~Е.~Захарова, Д.~В.~Алексеев. "---
+\newblock Нижегородский университет, 2017. "---
+\newblock P.~119.
+
+\bibitem{Algo_2013}
+\selectlanguageifdefined{english}
+\BibAuthor{Кормен,~Томас~Х.} \BibTitle{Алгоритмы: построение и анализ, 2-е
+ издание}~/ Томас~Х.~Кормен, Чарльз~И.~Лейзерсон, Роналд~Л.~Ривест,
+ Клиффорд~Штайн. "---
+\newblock Издательский дом \"Вильямс\", 2013. "---
+\newblock P.~1296.
+
+\end{thebibliography}
diff --git a/tex/example-work.blg b/tex/example-work.blg
new file mode 100644
index 0000000..35022a0
--- /dev/null
+++ b/tex/example-work.blg
@@ -0,0 +1,19 @@
+This is 8-bit Big BibTeX version 0.99d
+Implementation: Microsoft(R) C/C++ for Win32
+Release version: 3.71 (04 mar 2019)
+
+The 8-bit codepage and sorting file: cp1251.csf
+The top-level auxiliary file: example-work.aux
+The style file: gost780uv.bst
+Reallocated glb_str_ptr (elt_size=4) to 10 items from 0.
+Reallocated global_strs (elt_size=1001) to 10 items from 0.
+Reallocated glb_str_end (elt_size=4) to 10 items from 0.
+Database file #1: thesis.bib
+
+Here's how much of BibTeX's memory you used:
+ Cites: 2 out of 750
+ Fields: 34 out of 5000
+ Hash table: 18794 out of 19000
+ Strings: 665 out of 19000
+ Free string pool: 5758 out of 65000
+ Wizard functions: 2649 out of 3000
diff --git a/tex/example-work.out b/tex/example-work.out
new file mode 100644
index 0000000..0b753a7
--- /dev/null
+++ b/tex/example-work.out
@@ -0,0 +1,18 @@
+\BOOKMARK [1][-]{section*.1}{\376\377\004\022\004\022\004\025\004\024\004\025\004\035\004\030\004\025}{}% 1
+\BOOKMARK [1][-]{section.1}{\376\377\004\022\004\062\004\065\004\064\004\065\004\075\004\070\004\065}{}% 2
+\BOOKMARK [2][-]{subsection.1.1}{\376\377\004\023\004\100\004\060\004\104\004\113}{section.1}% 3
+\BOOKMARK [1][-]{section.2}{\376\377\004\030\004\101\004\102\004\076\004\100\004\070\004\117\000\040\004\101\004\076\004\067\004\064\004\060\004\075\004\070\004\117\000\040\004\117\004\067\004\113\004\072\004\060\000\040\000S\000Q\000L}{}% 4
+\BOOKMARK [2][-]{subsection.2.1}{\376\377\004\041\004\076\004\067\004\064\004\060\004\102\004\065\004\073\004\070}{section.2}% 5
+\BOOKMARK [2][-]{subsection.2.2}{\376\377\004\025\004\111\004\065\000\040\004\115\004\073\004\065\004\074\004\065\004\075\004\102\004\113\000\040\004\074\004\060\004\102\004\065\004\074\004\060\004\102\004\070\004\107\004\065\004\101\004\072\004\076\004\063\004\076\000\040\004\102\004\065\004\072\004\101\004\102\004\060}{section.2}% 6
+\BOOKMARK [2][-]{subsection.2.3}{\376\377\004\041\004\075\004\076\004\062\004\060\000\040\004\074\004\060\004\102\004\065\004\074\004\060\004\102\004\070\004\107\004\065\004\101\004\072\004\070\004\071\000\040\004\102\004\065\004\072\004\101\004\102}{section.2}% 7
+\BOOKMARK [1][-]{section.3}{\376\377\004\040\004\060\004\067\004\064\004\065\004\073\000\040\004\101\000\040\004\077\004\076\004\064\004\100\004\060\004\067\004\064\004\065\004\073\004\060\004\074\004\070}{}% 8
+\BOOKMARK [2][-]{subsection.3.1}{\376\377\004\042\004\065\004\072\004\101\004\102\000\040\004\101\000\040\004\104\004\076\004\100\004\074\004\103\004\073\004\060\004\074\004\070\000\040\004\070\000\040\004\073\004\065\004\074\004\074\004\076\004\071}{section.3}% 9
+\BOOKMARK [2][-]{subsection.3.2}{\376\377\004\035\004\060\004\067\004\062\004\060\004\075\004\070\004\065\000\040\004\064\004\100\004\103\004\063\004\076\004\063\004\076\000\040\004\077\004\076\004\064\004\100\004\060\004\067\004\064\004\065\004\073\004\060}{section.3}% 10
+\BOOKMARK [3][-]{subsubsection.3.2.1}{\376\377\004\021\004\076\004\073\004\065\004\065\000\040\004\074\004\065\004\073\004\072\004\070\004\071\000\040\004\077\004\076\004\064\004\100\004\060\004\067\004\064\004\065\004\073}{subsection.3.2}% 11
+\BOOKMARK [3][-]{subsubsection.3.2.2}{\376\377\004\042\004\065\004\072\004\101\004\102\000\040\004\101\000\040\004\102\004\060\004\061\004\073\004\070\004\106\004\065\004\071}{subsection.3.2}% 12
+\BOOKMARK [3][-]{subsubsection.3.2.3}{\376\377\004\042\004\065\004\072\004\101\004\102\000\040\004\101\000\040\004\072\004\076\004\064\004\076\004\074\000\040\004\077\004\100\004\076\004\063\004\100\004\060\004\074\004\074\004\113}{subsection.3.2}% 13
+\BOOKMARK [1][-]{section*.9}{\376\377\004\027\004\020\004\032\004\033\004\056\004\047\004\025\004\035\004\030\004\025}{}% 14
+\BOOKMARK [1][-]{section*.10}{\376\377\004\041\004\037\004\030\004\041\004\036\004\032\000\040\004\030\004\041\004\037\004\036\004\033\004\054\004\027\004\036\004\022\004\020\004\035\004\035\004\053\004\045\000\040\004\030\004\041\004\042\004\036\004\047\004\035\004\030\004\032\004\036\004\022}{}% 15
+\BOOKMARK [1][-]{appendix.A}{\376\377\004\035\004\103\004\074\004\065\004\100\004\103\004\065\004\074\004\113\004\065\000\040\004\076\004\061\004\112\004\065\004\072\004\102\004\113\000\040\004\062\000\040\004\077\004\100\004\070\004\073\004\076\004\066\004\065\004\075\004\070\004\070}{}% 16
+\BOOKMARK [1][-]{appendix.B}{\376\377\004\033\004\070\004\101\004\102\004\070\004\075\004\063\000\040\004\077\004\100\004\076\004\063\004\100\004\060\004\074\004\074\004\113}{}% 17
+\BOOKMARK [1][-]{appendix.C}{\376\377\004\034\004\075\004\076\004\063\004\076\004\101\004\102\004\100\004\060\004\075\004\070\004\107\004\075\004\060\004\117\000\040\004\102\004\060\004\061\004\073\004\070\004\106\004\060}{}% 18
diff --git a/tex/example-work.pdf b/tex/example-work.pdf
new file mode 100644
index 0000000..e0420dd
Binary files /dev/null and b/tex/example-work.pdf differ
diff --git a/tex/example-work.run.xml b/tex/example-work.run.xml
new file mode 100644
index 0000000..3385d9e
--- /dev/null
+++ b/tex/example-work.run.xml
@@ -0,0 +1,83 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+]>
+
+
+ latex
+
+ example-work.bcf
+
+
+ example-work.bbl
+
+
+ blx-dm.def
+ blx-compat.def
+ biblatex.def
+ standard.bbx
+ numeric.bbx
+ numeric.cbx
+ biblatex.cfg
+ russian.lbx
+ english.lbx
+
+
+
+ biber
+
+ biber
+ example-work
+
+
+ example-work.bcf
+
+
+
+ example-work.bbl
+
+
+ example-work.bcf
+
+
+
diff --git a/tex/example-work.synctex.gz b/tex/example-work.synctex.gz
new file mode 100644
index 0000000..e93bf0d
Binary files /dev/null and b/tex/example-work.synctex.gz differ
diff --git a/tex/example-work.tex b/tex/example-work.tex
new file mode 100644
index 0000000..9e65060
--- /dev/null
+++ b/tex/example-work.tex
@@ -0,0 +1,561 @@
+\documentclass[bachelor, och, coursework]{SCWorks}
+% параметр - тип обучения - одно из значений:
+% spec - специальность
+% bachelor - бакалавриат (по умолчанию)
+% master - магистратура
+% параметр - форма обучения - одно из значений:
+% och - очное (по умолчанию)
+% zaoch - заочное
+% параметр - тип работы - одно из значений:
+% referat - реферат
+% coursework - курсовая работа (по умолчанию)
+% diploma - дипломная работа
+% pract - отчет по практике
+% pract - отчет о научно-исследовательской работе
+% autoref - автореферат выпускной работы
+% assignment - задание на выпускную квалификационную работу
+% review - отзыв руководителя
+% critique - рецензия на выпускную работу
+% параметр - включение шрифта
+% times - включение шрифта Times New Roman (если установлен)
+% по умолчанию выключен
+\usepackage[T2A]{fontenc}
+\usepackage[cp1251]{inputenc}
+\usepackage{graphicx}
+\usepackage{minted}
+\usepackage{spverbatim}
+\usepackage{float}
+
+\usepackage[sort,compress]{cite}
+\usepackage{amsmath}
+\usepackage{amssymb}
+\usepackage{amsthm}
+\usepackage{fancyvrb}
+\usepackage{longtable}
+\usepackage{array}
+\usepackage[english,russian]{babel}
+
+
+\usepackage[colorlinks=true]{hyperref}
+
+
+\newcommand{\eqdef}{\stackrel {\rm def}{=}}
+
+\newtheorem{lem}{Лемма}
+
+\begin{document}
+
+% Кафедра (в родительном падеже)
+\chair{математической кибернетики и компьютерных наук}
+
+% Тема работы
+\title{Создание приложения для отрисовки графов и алгоритмов для работы с ними}
+
+% Курс
+\course{2}
+
+% Группа
+\group{211}
+
+% Факультет (в родительном падеже) (по умолчанию "факультета КНиИТ")
+%\department{факультета КНиИТ}
+
+% Специальность/направление код - наименование
+\napravlenie{02.03.02 "--- Фундаментальная информатика и информационные технологии}
+%\napravlenie{02.03.01 "--- Математическое обеспечение и администрирование информационных систем}
+%\napravlenie{09.03.01 "--- Информатика и вычислительная техника}
+%\napravlenie{09.03.04 "--- Программная инженерия}
+%\napravlenie{10.05.01 "--- Компьютерная безопасность}
+
+% Для студентки. Для работы студента следующая команда не нужна.
+%\studenttitle{Студентки}
+
+% Фамилия, имя, отчество в родительном падеже
+\author{Морозова Андрея Денисовича}
+
+% Заведующий кафедрой
+\chtitle{к.\,ф.-м.\,н., доцент} % степень, звание
+\chname{А.\,С.\,Иванов}
+
+%Научный руководитель (для реферата преподаватель проверяющий работу)
+\satitle{ст. преподаватель} %должность, степень, звание
+\saname{М.\,И.\,Сафрончик}
+
+% Семестр (только для практики, для остальных
+% типов работ не используется)
+\term{2}
+
+% Год выполнения отчета
+\date{2021}
+
+\maketitle
+
+% Включение нумерации рисунков, формул и таблиц по разделам
+% (по умолчанию - нумерация сквозная)
+% (допускается оба вида нумерации)
+%\secNumbering
+
+\tableofcontents
+
+% Раздел "Обозначения и сокращения". Может отсутствовать в работе
+%\abbreviations
+%\begin{description}
+% \item SQL "--- англ. structured query language — «язык структурированных запросов;
+% \item $\det B$ "--- определитель матрицы $B$;
+% \item ИНС "--- Искусственная нейронная сеть;
+% \item FANN "--- Feedforward Artifitial Neural Network
+%\end{description}
+
+% Раздел "Определения". Может отсутствовать в работе
+%\definitions
+
+% Раздел "Определения, обозначения и сокращения". Может отсутствовать в работе.
+% Если присутствует, то заменяет собой разделы "Обозначения и сокращения" и "Определения"
+%\defabbr
+
+
+% Раздел "Введение"
+\intro
+Целью настоящей работы является изучение работы фреймворка для кроссплатформенной разработки "Flutter", и разработка приложения для создания графов и взаимодействия с ними.
+
+Поставлены задачи:
+\begin{itemize}
+ \item разбор алгоритмов на графах
+ \item разбор работы с Flutter
+ \item построение приложения
+\end{itemize}
+
+\section{Введение}
+\subsection{Графы}
+Граф --- математический объект, состоящий из двух множеств. Одно из
+них --- любое конечное множество, его элементы называются \textit{вершинами}
+графа. Другое множество состоит из пар вершин, эти пары называются
+\textit{ребрами} графа.~\cite{IITMMM_2017}
+
+\textbf{Ориентированный граф} определяется как пара \textit{(V, E)}, где \textit{V} --- конечное множество, а \textit{E} --- бинарное отношение на \textit{V}, т.~е. подмножество множества ${V \times V}$. Ориентированный граф для краткости называют \textbf{орграфом}. Множетсво $V$ называют \textbf{множеством вершин графа}, а его элемент называют \textbf{вершиной} графа. Множество $E$ называют \textbf{множеством рёбер}, а его элементы называют \textbf{рёбрами}. Граф может содержать \textbf{рёбра-циклы}, соединяющие вершину с собой. На рисунке~\ref{fig:orgrapf_example} изображен оринетированный граф с множеством вершин \{0, 1, 2, 3, 4\}.~\citenum{Algo_2013}
+
+\begin{figure}[!ht]
+ \centering
+ \includegraphics[width=9cm]{./pic/orgraph.png}
+ \caption{\label{fig:orgrapf_example}
+ Пример орграфа}
+\end{figure}
+
+В \textbf{неориентированном} графе $G = (V, E)$ множество ребер состоит из \textbf{неупорядоченных} пар вершин: парами являются множества $\{u, v\}$, где $u, v \in V$ и $u \neq v$. Для неориентированного графа $\{u, v\}$ и $\{v, u\}$ обозначают одно и то же ребро. Неориентированный граф не может содержать рёбер-циклов, и каждое ребро состоит из двух различных вершин. На рисунке~\ref{fig:grapf_example} изображен неориентированный граф с множеством вершин \{0, 1, 2, 2, 4\}
+
+\begin{figure}[!ht]
+ \centering
+ \includegraphics[width=9cm]{./pic/graph.png}
+ \caption{\label{fig:grapf_example}
+ Пример неориентированного графа}
+\end{figure}
+
+\section{История создания языка SQL}
+\subsection{Создатели}
+Создателями языка SQL являются Реймонд Боус (англ. Ray Boyce) и Дональд Чемберлин (англ. Donald Chamberlin)
+
+
+
+\subsection{Еще элементы математического текста}
+Нейрон является составной частью нейронной сети. Он состоит из
+элементов трех типов: умножителей (синапсов), сумматора и
+нелинейного преобразователя. Синапсы осуществляют связь между
+нейронами, умножают входной сигнал на число, характеризующее силу
+связи (вес синапса). Сумматор выполняет сложение сигналов,
+поступающих по синаптическим связям от других нейронов, и внешних
+входных сигналов. Нелинейный преобразователь реализует нелинейную
+функцию одного аргумента "--- выхода сумматора. Эта функция
+называется функцией активации или передаточной функцией. На рисунке~\ref{neuron} приведено строение одного нейрона.
+
+Нейрон в целом реализует скалярную функцию векторного аргумента.
+Математическая модель нейрона:
+\[
+ s = \sum\limits_{i = 1}^n w_i x_i + b,
+\]
+\[
+ y = f(s),
+\]
+где $w_i $ "--- вес синапса; $i = 1,\ldots ,n$; $b$ "--- значение
+смещения; $s$ "--- результат суммирования; $x_i $ "--- $i$-тый
+компонент входного вектора (входной сигнал), \linebreak $i = 1,\ldots, n$;
+$y$ "--- выходной сигнал нейрона; $n$ "--- число входов нейрона;
+$f(s)$ "--- нелинейное преобразование (функция активации).
+\begin{figure}[ht]
+ \centering
+ %\includegraphics{Neuron}
+ \caption{Нейрон}\label{neuron}
+\end{figure}
+
+В качестве функции активации нейронов берут обычно одну из
+следующих:
+\begin{itemize}
+ \item пороговая функция активации;
+ \item экспоненциальная сигмоида;
+ \item рациональная сигмоида;
+ \item гиперболический тангенс.
+\end{itemize}
+
+Данные функции активации обладают таким важным свойством как
+нелинейность. Нелинейность функции активации принципиальна для
+построения нейронных сетей. Если бы нейроны были линейными
+элементами, то любая последовательность нейронов также производила
+бы линейное преобразование и вся нейронная сеть была бы
+эквивалентна одному нейрону (или одному слою нейронов в случае
+нескольких выходов). Нелинейность разрушает суперпозицию и
+приводит к тому, что возможности нейросети существенно выше
+возможностей отдельных нейронов.
+
+\subsection{Снова математический текст}
+Опишем самую популярную архитектуру
+ "--- многослойный персептрон с последовательными связями и
+сигмоидальной функцией активации (\foreignlanguage{english}{Feedforward Artifitial Neural
+Network, FANN}).
+
+В многослойных нейронных сетях с последовательными связями нейроны
+делятся на группы с общим входным сигналом "--- слои. Стандартная
+сеть состоит из $L$ слоев, пронумерованных слева направо. Каждый
+слой содержит совокупность нейронов с едиными входными сигналами.
+Внешние входные сигналы подаются на входы нейронов входного слоя
+(его часто нумеруют как нулевой), а выходами сети являются
+выходные сигналы последнего слоя. Кроме входного и выходного слоев
+в многослойной нейронной сети есть один или несколько скрытых
+слоев, соединенных последовательно в прямом направлении и не
+содержащих связей между элементами внутри слоя и обратных связей
+между слоями. Число нейронов в слое может быть любым и не зависит
+от количества нейронов в других слоях. Архитектура нейронной сети
+прямого распространения сигнала приведена на рисунке~\ref{net1}.
+
+На каждый нейрон первого слоя подаются все элементы внешнего
+входного сигнала. Все выходы нейронов $i$-го слоя подаются на
+каждый нейрон слоя $i+1$.
+
+Нейроны выполняют взвешенное суммирование элементов входных
+сигналов. К сумме прибавляется смещение нейрона. Над результатом
+суммирования выполняется нелинейное преобразование "--- функция
+активации (передаточная функция). Значение функции активации есть
+выход нейрона. Приведем схему многослойного персептрона. Нейроны
+представлены кружками, связи между нейронами "--- линиями со
+стрелками.
+
+\begin{figure}[ht]
+ \centering
+ %\includegraphics{NN-Scheme}
+ \caption{Архитектура многослойной сети прямого
+ распространения}\label{net1}
+\end{figure}
+
+Функционирование сети выполняется в соответствии с формулами:
+\[
+ s_j^{\left[ k \right]} = \sum\limits_{i = 1}^{N_{k - 1} }
+ {w_{ji}^{\left[ k \right]} y_i^{\left[ {k - 1} \right]} +
+ b_j^{[k]} ,\ \ j = 1,\ldots ,N_k ,\ \ k = 1,\ldots ,L;}
+\]
+\[
+ y_j^{\left[ k \right]} = f(s_j^{\left[ k \right]} ),\ \ j =
+ 1,\ldots ,N_k ,\ \ k = 1,\ldots ,L-1,
+\]
+\[
+ y_j^{\left[ L \right]} = s_j^{\left[ L \right]} ,
+\]
+где
+\begin{itemize}
+ \item
+ $y_i^{\left[ {k - 1} \right]}$ "--- выходной сигнал $i$-го нейрона
+ $(k - 1)$-го слоя; \item $w_{ji}^{\left[ k \right]}$ "--- вес связи
+ между $j$-м нейроном слоя $(k-1)$ и $i$-м нейроном $k$-го
+ слоя;
+ \item
+ $b_j^{\left[ k \right]}$ "--- значение смещения $j$-го
+ нейрона $k$-го слоя;
+ \item
+ $y = f(s)$ "--- функция активации;
+ \item
+ $y_j^{\left[ k \right]}$ "--- выходной сигнал $j$-го
+ нейрона $k$-го слоя;
+ \item
+ $N_k$ "--- число узлов слоя $k$;
+ \item
+ $L$ "--- общее число основных слоев;
+ \item
+ $n = N_0$ "--- размерность входного вектора;
+ \item
+ $m = N_L$ "---
+ размерность выходного вектора сети.
+\end{itemize}
+
+На рисунке~\ref{net2} представлена сеть прямого распространения
+сигнала с 5 входами, 3 нейронами в скрытом слое и 2 нейронами в
+выходном слое.
+\begin{figure}[hb]
+ \centering
+ %\includegraphics{NN-Persep}
+ \caption{Пример нейронной сети}\label{net2}
+\end{figure}
+
+
+\section{Раздел с подразделами}
+\subsection{Текст с формулами и леммой}
+
+Обозначим $[y_0,y_1,\ldots,y_p;f]$ разделенную разность порядка $p$ функции $f$ по узлам $y_0> впервые был предложен Гарри Марковицем. В 1989 он был награжден премией имени Джона фон Неймана в том числе и за вклад в теорию методов для разреженных матриц.
+
+В большинстве источников, разреженной матрицей называется матрица, в которой мало ненулевых элементов. Это нельзя назвать определением из-за слова <<мало>>. В понятие разреженной матрицы определяется так: <<Мы можем называть матрицу разреженной, если применение к ней методов, описываемых в книге, экономит память и/или время>>. Таким образом, следует дать определение алгоритму для разреженных матриц. Алгоритмом для разреженных матриц будем называть алгоритм, у которого время работы и необходимый объем памяти зависят от количества ненулевых элементов в матрице.
+
+Размерность квадратной матрицы $A$ будем обозначать $n$, а количество ненулевых элементов в ней $|A|$.
+
+Плотные матрицы обычно хранятся в качестве двумерного массива $n\times n$. Будем обозначать такой массив a. Разреженные матрицы не стоит хранить таким способом из-за слишком большого потребления памяти, которая будет занята в основном нулевыми элементами.
+
+Один из вариантов представления разреженных матриц в памяти компьютера "--- в виде трех массивов: \verb"column", \verb"value" и \verb"rowIndex". Размеры массивов \verb"column" и \verb"value" равны $|A|$. Размер \verb"rowIndex" равен $n+1$. Ненулевые элементы матрицы $A$ хранятся последовательно по строкам в этих массивах. Элемент \verb"column[i]" содержит номер столбца, в котором содержится \verb"i"-й ненулевой элемент, а \verb"value[i]" "--- его величину. Массив \verb"rowIndex[i]" содержит в себе индекс первого ненулевого элемента \verb"i"-й строки. Все ненулевые элементы \verb"i"-й строки содержатся в массивах \verb"column" и \verb"value" в элементах с индексами от \verb"rowIndex[i]" по \verb"rowIndex[i + 1]-1". Для удобства полагают \verb"rowIndex["$n$\verb"]"$=|A|$.
+
+Для примера рассмотрим следующую матрицу:
+\[
+ \left(
+ \begin{matrix}
+ 1 & 0 & 5 & 0 & 0 \\
+ 0 & 2 & 7 & 4 & 0 \\
+ 0 & 0 & 1 & 0 & 0 \\
+ 9 & 6 & 0 & 3 & 0 \\
+ 0 & 0 & 3 & 0 & 5
+ \end{matrix}
+ \right)
+\]
+
+Массивы \verb"column", \verb"value" и \verb"rowIndex" для этой матрицы представлены в таблице~\ref{tab:mat-arrays}.
+\begin{table}[ht]\small
+ \caption{Массивы \texttt{column}, \texttt{value} и \texttt{rowIndex}}\label{tab:mat-arrays}
+ \begin{tabular}{|l|c|c|c|c|c|c|c|c|c|c|c|c|} \cline{2-13}
+ \multicolumn{1}{c|}{} & 0 & 1 & 2 & 3 & 4 & 5 & 6 & 7 & 8 & 9 & 10 & 11 \\ \cline{2-13}\hline
+ \verb"column" & 0 & 2 & 1 & 2 & 3 & 2 & 0 & 1 & 3 & 2 & 4 & \\ \hline\hline
+ \verb"value" & 1 & 5 & 2 & 7 & 4 & 1 & 9 & 6 & 3 & 3 & 5 & \\ \hline\hline
+ \verb"rowIndex" & 0 & 2 & 5 & 6 & 9 & 11 & & & & & & \\ \hline
+ \end{tabular}
+\end{table}
+
+Неизвестный вектор и вектор правой части хранятся в виде массивов размера $n$. Массив неизвестного вектора обозначают \verb"x", а массив правой части "--- \verb"rhs".
+
+Рассмотрим пример алгоритма для разреженных матриц. Алгоритм решения СЛАУ, представленной нижнетреугольной матрицей \verb"a", можно реализовать двумя вложенными циклами по \verb"n":
+\begin{Verbatim}[fontsize=\small, numbers=left]
+for(int i = 0; i $<$ n; ++i){
+ x[i] = rhs[i];
+ for(int j = 0; j $<$ i; ++j)
+ x[i] -= a[i][j] * x[j];
+ x[i] /= a[i][i];
+}
+\end{Verbatim}
+
+Но, если матрица \verb"a" хранится в разреженном виде, то в данном алгоритме можно проходить только по ненулевым элементам \verb"a":
+\begin{Verbatim}[fontsize=\small, numbers=left]
+for(int i = 0; i $<$ n; ++i){
+ x[i] = rhs[i];
+ for(int j = rowIndex[i]; j $<$ rowIndex[i + 1] - 1; ++j)
+ x[i] -= value[j] * x[column[j]];
+ x[i] /= value[rowIndex[i + 1] - 1];
+}
+\end{Verbatim}
+В первом случае оценка времени работы будет $O(n^{2})$, а во втором $O(|A|)$.
+
+Методы для разреженных матриц основаны на следующих главных принципах
+
+
+% Раздел "Заключение"
+\conclusion
+В настоящей работы приведен пример оформления студенческой работы средствами системы \LaTeX.
+
+Показано, как можно оформить документ в соответствии:
+\begin{itemize}
+ \item с правилами оформления курсовых и выпускных квалификационных работ, принятых в Саратовском государственном университете в 2012 году;
+ \item с правилами оформления титульного листа отчета о прохождении практики в соответствии со стандартом.
+\end{itemize}
+
+
+%Библиографический список, составленный вручную, без использования BibTeX
+%
+%\begin{thebibliography}{99}
+% \bibitem{Ione} Источник 1.
+% \bibitem{Itwo} Источник 2
+%\end{thebibliography}
+
+%Библиографический список, составленный с помощью BibTeX
+%
+\bibliographystyle{gost780uv}
+\bibliography{thesis}
+
+% Окончание основного документа и начало приложений
+% Каждая последующая секция документа будет являться приложением
+\appendix
+
+\section{Нумеруемые объекты в приложении}
+
+\begin{table}[!ht]
+ \footnotesize
+ \caption{Results of pass-fail dictionary reduction with the help
+ of masks} \label{table-2}
+ \begin{tabular}{|p{1.5cm}|
+ p{1.5cm}|
+ p{1.5cm}|
+ p{1.5cm}|
+ p{1cm}|
+ p{1.5cm}|
+ p{1.5cm}|
+ p{1cm}|}
+ \hline \centering Circuit & Number of modelled faults & Number of test
+ vectors in the test set & The volume of pass-fail dictionary,
+ \linebreak bit & The volume of found mask & The volume of
+ masked dictionary, \linebreak bit & \raggedright \% of pass-fail dictionary
+ & CPU running time, \linebreak min
+ \\
+ \hline S298 & 177 & 322 & 56994 & 30 & 5310 & 9,32\% & 0,07\\
+ \hline S344 & 240 & 127 & 30480 & 29 & 6960 & 22,83\% & 0,04\\
+ \hline S349 & 243 & 134 & 32562 & 35 & 8505 & 26,12\% & 0,05\\
+ \hline S382 & 190 & 2074 & 394060 & 28 & 5320 & 1,35\% & 0,43\\
+ \hline S386 & 274 & 286 & 78364 & 65 & 17810 & 22,73\% & 0,26\\
+ \hline S400 & 194 & 2214 & 429516 & 32 & 6208 & 1,45\% & 0,99\\
+ \hline S444 & 191 & 2240 & 427840 & 30 & 5730 & 1,34\% & 0,98\\
+ \hline S526 & 138 & 2258 & 311604 & 28 & 3864 & 1,24\% & 0,61\\
+ \hline S641 & 345 & 209 & 72105 & 58 & 20010 & 27,75\% & 0,24\\
+ \hline S713 & 343 & 173 & 59339 & 58 & 19894 & 33,53\% & 0,19\\
+ \hline S820 & 712 & 1115 & 793880 & 147 & 104664 & 13,18\% & 9,09\\
+ \hline S832 & 719 & 1137 & 817503 & 151 & 108569 & 13,28\% & 9,20\\
+ \hline S953 & 326 & 14 & 4564 & 13 & 4238 & 92,86\% & 0,01\\
+ \hline S1423 & 293 & 150 & 43950 & 58 & 16994 & 38,67\% & 0,15\\
+ \hline S1488 & 1359 & 1170 & 1590030 & 158 & 214722 & 13,50\% & 26,69\\
+ \hline
+ \end{tabular}
+\end{table}
+
+\begin{equation}
+ F(x)=\int\limits_a^bf(x)\,dx.
+\end{equation}
+
+
+\begin{figure}[!ht]
+ \centering
+ \includegraphics[width=6cm]{fig2.png}
+ \caption{\label{fig:f3}%
+ Подпись к рисунку}
+\end{figure}
+
+
+\begin{table}[!ht]
+\caption{}
+\begin{tabular}{|c|c|}
+ \hline
+ 0 & 1\cr
+ \hline
+ 1 & 0\cr
+ \hline
+\end{tabular}
+\end{table}
+
+
+\section{Листинг программы}\label{pril-1}
+Код приложения \verb"task.pl".
+
+\VerbatimInput[fontsize=\small, numbers=left, numbersep=2pt]{task.pl}
+
+
+
+\section{Многостраничная таблица}
+
+\noindent
+
+
+\end{document}
diff --git a/tex/example-work.toc b/tex/example-work.toc
new file mode 100644
index 0000000..4e3ec57
--- /dev/null
+++ b/tex/example-work.toc
@@ -0,0 +1,23 @@
+\babel@toc {russian}{}\relax
+\contentsline {section}{\cyrillictext \CYRV \CYRV \CYRE \CYRD \CYRE \CYRN \CYRI \CYRE }{3}{section*.1}%
+\contentsline {section}{\numberline {1}\IeC {\CYRV }\IeC {\cyrv }\IeC {\cyre }\IeC {\cyrd }\IeC {\cyre }\IeC {\cyrn }\IeC {\cyri }\IeC {\cyre }}{4}{section.1}%
+\contentsline {subsection}{\numberline {1.1}\IeC {\CYRG }\IeC {\cyrr }\IeC {\cyra }\IeC {\cyrf }\IeC {\cyrery }}{4}{subsection.1.1}%
+\contentsline {section}{\numberline {2}\IeC {\CYRI }\IeC {\cyrs }\IeC {\cyrt }\IeC {\cyro }\IeC {\cyrr }\IeC {\cyri }\IeC {\cyrya } \IeC {\cyrs }\IeC {\cyro }\IeC {\cyrz }\IeC {\cyrd }\IeC {\cyra }\IeC {\cyrn }\IeC {\cyri }\IeC {\cyrya } \IeC {\cyrya }\IeC {\cyrz }\IeC {\cyrery }\IeC {\cyrk }\IeC {\cyra } SQL}{6}{section.2}%
+\contentsline {subsection}{\numberline {2.1}\IeC {\CYRS }\IeC {\cyro }\IeC {\cyrz }\IeC {\cyrd }\IeC {\cyra }\IeC {\cyrt }\IeC {\cyre }\IeC {\cyrl }\IeC {\cyri }}{6}{subsection.2.1}%
+\contentsline {subsection}{\numberline {2.2}\IeC {\CYRE }\IeC {\cyrshch }\IeC {\cyre } \IeC {\cyrerev }\IeC {\cyrl }\IeC {\cyre }\IeC {\cyrm }\IeC {\cyre }\IeC {\cyrn }\IeC {\cyrt }\IeC {\cyrery } \IeC {\cyrm }\IeC {\cyra }\IeC {\cyrt }\IeC {\cyre }\IeC {\cyrm }\IeC {\cyra }\IeC {\cyrt }\IeC {\cyri }\IeC {\cyrch }\IeC {\cyre }\IeC {\cyrs }\IeC {\cyrk }\IeC {\cyro }\IeC {\cyrg }\IeC {\cyro } \IeC {\cyrt }\IeC {\cyre }\IeC {\cyrk }\IeC {\cyrs }\IeC {\cyrt }\IeC {\cyra }}{6}{subsection.2.2}%
+\contentsline {subsection}{\numberline {2.3}\IeC {\CYRS }\IeC {\cyrn }\IeC {\cyro }\IeC {\cyrv }\IeC {\cyra } \IeC {\cyrm }\IeC {\cyra }\IeC {\cyrt }\IeC {\cyre }\IeC {\cyrm }\IeC {\cyra }\IeC {\cyrt }\IeC {\cyri }\IeC {\cyrch }\IeC {\cyre }\IeC {\cyrs }\IeC {\cyrk }\IeC {\cyri }\IeC {\cyrishrt } \IeC {\cyrt }\IeC {\cyre }\IeC {\cyrk }\IeC {\cyrs }\IeC {\cyrt }}{7}{subsection.2.3}%
+\contentsline {section}{\numberline {3}\IeC {\CYRR }\IeC {\cyra }\IeC {\cyrz }\IeC {\cyrd }\IeC {\cyre }\IeC {\cyrl } \IeC {\cyrs } \IeC {\cyrp }\IeC {\cyro }\IeC {\cyrd }\IeC {\cyrr }\IeC {\cyra }\IeC {\cyrz }\IeC {\cyrd }\IeC {\cyre }\IeC {\cyrl }\IeC {\cyra }\IeC {\cyrm }\IeC {\cyri }}{9}{section.3}%
+\contentsline {subsection}{\numberline {3.1}\IeC {\CYRT }\IeC {\cyre }\IeC {\cyrk }\IeC {\cyrs }\IeC {\cyrt } \IeC {\cyrs } \IeC {\cyrf }\IeC {\cyro }\IeC {\cyrr }\IeC {\cyrm }\IeC {\cyru }\IeC {\cyrl }\IeC {\cyra }\IeC {\cyrm }\IeC {\cyri } \IeC {\cyri } \IeC {\cyrl }\IeC {\cyre }\IeC {\cyrm }\IeC {\cyrm }\IeC {\cyro }\IeC {\cyrishrt }}{9}{subsection.3.1}%
+\contentsline {subsection}{\numberline {3.2}\IeC {\CYRN }\IeC {\cyra }\IeC {\cyrz }\IeC {\cyrv }\IeC {\cyra }\IeC {\cyrn }\IeC {\cyri }\IeC {\cyre } \IeC {\cyrd }\IeC {\cyrr }\IeC {\cyru }\IeC {\cyrg }\IeC {\cyro }\IeC {\cyrg }\IeC {\cyro } \IeC {\cyrp }\IeC {\cyro }\IeC {\cyrd }\IeC {\cyrr }\IeC {\cyra }\IeC {\cyrz }\IeC {\cyrd }\IeC {\cyre }\IeC {\cyrl }\IeC {\cyra }}{10}{subsection.3.2}%
+\contentsline {subsubsection}{\numberline {3.2.1}\IeC {\CYRB }\IeC {\cyro }\IeC {\cyrl }\IeC {\cyre }\IeC {\cyre } \IeC {\cyrm }\IeC {\cyre }\IeC {\cyrl }\IeC {\cyrk }\IeC {\cyri }\IeC {\cyrishrt } \IeC {\cyrp }\IeC {\cyro }\IeC {\cyrd }\IeC {\cyrr }\IeC {\cyra }\IeC {\cyrz }\IeC {\cyrd }\IeC {\cyre }\IeC {\cyrl }}{10}{subsubsection.3.2.1}%
+\contentsline {subsubsection}{\numberline {3.2.2}\IeC {\CYRT }\IeC {\cyre }\IeC {\cyrk }\IeC {\cyrs }\IeC {\cyrt } \IeC {\cyrs } \IeC {\cyrt }\IeC {\cyra }\IeC {\cyrb }\IeC {\cyrl }\IeC {\cyri }\IeC {\cyrc }\IeC {\cyre }\IeC {\cyrishrt }}{10}{subsubsection.3.2.2}%
+\contentsline {subsubsection}{\numberline {3.2.3}\IeC {\CYRT }\IeC {\cyre }\IeC {\cyrk }\IeC {\cyrs }\IeC {\cyrt } \IeC {\cyrs } \IeC {\cyrk }\IeC {\cyro }\IeC {\cyrd }\IeC {\cyro }\IeC {\cyrm } \IeC {\cyrp }\IeC {\cyrr }\IeC {\cyro }\IeC {\cyrg }\IeC {\cyrr }\IeC {\cyra }\IeC {\cyrm }\IeC {\cyrm }\IeC {\cyrery }}{11}{subsubsection.3.2.3}%
+\contentsline {section}{\cyrillictext \CYRZ \CYRA \CYRK \CYRL \CYRYU \CYRCH \CYRE \CYRN \CYRI \CYRE }{14}{section*.9}%
+\contentsline {section}{\cyrillictext \CYRS \CYRP \CYRI \CYRS \CYRO \CYRK \ \CYRI \CYRS \CYRP \CYRO \CYRL \CYRSFTSN \CYRZ \CYRO \CYRV \CYRA \CYRN \CYRN \CYRERY \CYRH \ \CYRI \CYRS \CYRT \CYRO \CYRCH \CYRN \CYRI \CYRK \CYRO \CYRV }{15}{section*.10}%
+\redeflsection
+\ttl@change@i {\@ne }{section}{3ex}{\hspace {-3ex}}{\appendixname ~\thecontentslabel \hspace {2ex}}{\hspace {2.3em}}{\titlerule *[0.98ex]{.}\contentspage }\relax
+\ttl@change@v {section}{}{}{}\relax
+\contentsline {section}{\numberline {\CYRA }\IeC {\CYRN }\IeC {\cyru }\IeC {\cyrm }\IeC {\cyre }\IeC {\cyrr }\IeC {\cyru }\IeC {\cyre }\IeC {\cyrm }\IeC {\cyrery }\IeC {\cyre } \IeC {\cyro }\IeC {\cyrb }\IeC {\cyrhrdsn }\IeC {\cyre }\IeC {\cyrk }\IeC {\cyrt }\IeC {\cyrery } \IeC {\cyrv } \IeC {\cyrp }\IeC {\cyrr }\IeC {\cyri }\IeC {\cyrl }\IeC {\cyro }\IeC {\cyrzh }\IeC {\cyre }\IeC {\cyrn }\IeC {\cyri }\IeC {\cyri }}{16}{appendix.A}%
+\contentsline {section}{\numberline {\CYRB }\IeC {\CYRL }\IeC {\cyri }\IeC {\cyrs }\IeC {\cyrt }\IeC {\cyri }\IeC {\cyrn }\IeC {\cyrg } \IeC {\cyrp }\IeC {\cyrr }\IeC {\cyro }\IeC {\cyrg }\IeC {\cyrr }\IeC {\cyra }\IeC {\cyrm }\IeC {\cyrm }\IeC {\cyrery }}{17}{appendix.B}%
+\contentsline {section}{\numberline {\CYRV }\IeC {\CYRM }\IeC {\cyrn }\IeC {\cyro }\IeC {\cyrg }\IeC {\cyro }\IeC {\cyrs }\IeC {\cyrt }\IeC {\cyrr }\IeC {\cyra }\IeC {\cyrn }\IeC {\cyri }\IeC {\cyrch }\IeC {\cyrn }\IeC {\cyra }\IeC {\cyrya } \IeC {\cyrt }\IeC {\cyra }\IeC {\cyrb }\IeC {\cyrl }\IeC {\cyri }\IeC {\cyrc }\IeC {\cyra }}{19}{appendix.C}%
+\contentsfinish
diff --git a/tex/fig2.png b/tex/fig2.png
new file mode 100644
index 0000000..51171a2
Binary files /dev/null and b/tex/fig2.png differ
diff --git a/tex/gost780uv.bst b/tex/gost780uv.bst
new file mode 100644
index 0000000..9f956d1
--- /dev/null
+++ b/tex/gost780uv.bst
@@ -0,0 +1,1408 @@
+%%
+%% This is file `gost780uv.bst',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% plainv.dtx (with options: `gost780uv')
+%%
+%% Copyright 1996-2003 Maksym Polyakov.
+%% Version 2003.05.10
+%%
+%% This file may be distributed and/or modified under the
+%% conditions of the LaTeX Project Public License, either version 1.2
+%% 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.2 or later is part of all distributions of LaTeX
+%% version 1999/12/01 or later.
+%%
+%% Please, send bug reports via e-mail:
+%% polyama at auburn dot edu
+%%
+%% Modified by Konstantin Vorontsov, 2003, voron at ccas dot ru.
+%%
+%%
+%% This bibliography style attempts
+%% to format bibliography according to
+%% GOST 7.1-84 and GOST 7.80-00
+%%
+%% For the Ukrainian|Russian bibliographic entries
+%% you need to create field
+%% language = {ukrainian|russian}.
+%% Default language is English.
+%% Field numpages for books must contain number of pages.
+%% Optional field url will format url (using hyperref, if loaded).
+%%
+%% See examples in examples.[pdf|zip]
+%%
+%% Requires 8-bit bibtex with switch -B and csf file supporting cyrillic.
+%% bibtex8 -B -c .csf
+%%
+%% 06.06.2003 by Konstantin Vorontsov:
+%% New ENTRY "annote" added for output annotations.
+%% New ENTRY "abstract" is equivalent to "annote" for compatibility with JabRef.
+%% New commands \BibUrl, \BibAnnote added
+%% for customize urls and annotations.
+%% New commands \BibAuthor, \BibTitle added
+%% for customize authors and titles.
+%% New command \BibSection{cite}{title}{text} added
+%% for support sections in unsorted bibliography.
+%%
+
+ENTRY
+ { address
+ annote
+ abstract
+ author
+ booktitle
+ bookauthor
+ chapter
+ edition
+ editor
+ compiler
+ howpublished
+ institution
+ journal
+ key
+ language
+ month
+ note
+ number
+ organization
+ pages
+ numpages
+ publisher
+ school
+ series
+ text
+ title
+ type
+ url
+ volume
+ year
+ }
+ {}
+ { label }
+
+INTEGERS { output.state before.all mid.sentence after.sentence after.block
+after.dblslash after.slash after.column after.semicolumn after.url}
+
+FUNCTION {init.state.consts}
+{ #0 'before.all :=
+ #1 'mid.sentence :=
+ #2 'after.sentence :=
+ #3 'after.block :=
+ #4 'after.dblslash :=
+ #5 'after.slash :=
+ #6 'after.column :=
+ #7 'after.semicolumn :=
+}
+
+STRINGS { s t }
+
+FUNCTION {output.nonnull}
+{ 's :=
+ output.state mid.sentence =
+ { ", " * write$ }
+ { output.state after.block =
+ { add.period$ write$
+ " " quote$ "--- " * * write$
+ newline$
+ "\newblock " write$
+ }
+ { output.state before.all =
+ 'write$
+ { output.state after.dblslash =
+ { "~// " * write$ }
+ { output.state after.slash =
+ { "~/ " * write$ }
+ { output.state after.column =
+ { ": " * write$ }
+ { output.state after.semicolumn =
+ { "; " * write$ }
+ { add.period$ " " * write$ }
+ if$
+ }
+ if$
+ }
+ if$
+ }
+ if$
+ }
+ if$
+ }
+ if$
+ mid.sentence 'output.state :=
+ }
+ if$
+ s
+}
+
+FUNCTION {output}
+{ duplicate$ empty$
+ 'pop$
+ 'output.nonnull
+ if$
+}
+
+FUNCTION {output.check}
+{ 't :=
+ duplicate$ empty$
+ { pop$ "empty " t * " in " * cite$ * warning$ }
+ 'output.nonnull
+ if$
+}
+
+FUNCTION {fin.entry}
+{ add.period$
+ write$
+ newline$
+}
+
+FUNCTION {new.block}
+{ output.state before.all =
+ 'skip$
+ { after.block 'output.state := }
+ if$
+}
+
+FUNCTION {new.dblslash}
+{ output.state before.all =
+ 'skip$
+ { after.dblslash 'output.state := }
+ if$
+}
+
+FUNCTION {new.slash}
+{ output.state before.all =
+ 'skip$
+ { after.slash 'output.state := }
+ if$
+}
+
+FUNCTION {new.column}
+{ output.state before.all =
+ 'skip$
+ { after.column 'output.state := }
+ if$
+}
+
+FUNCTION {new.semicolumn}
+{ output.state before.all =
+ 'skip$
+ { after.semicolumn 'output.state := }
+ if$
+}
+
+FUNCTION {new.sentence}
+{ output.state after.block =
+ 'skip$
+ { output.state before.all =
+ 'skip$
+ { after.sentence 'output.state := }
+ if$
+ }
+ if$
+}
+
+FUNCTION {new.par}
+{ output.state before.all =
+ 'skip$
+ { after.sentence 'output.state := }
+ if$
+}
+
+FUNCTION {add.blank}
+{ " " * before.all 'output.state :=
+}
+
+FUNCTION {not}
+{ { #0 }
+ { #1 }
+ if$
+}
+
+FUNCTION {and}
+{ 'skip$
+ { pop$ #0 }
+ if$
+}
+
+FUNCTION {or}
+{ { pop$ #1 }
+ 'skip$
+ if$
+}
+
+FUNCTION {non.stop}
+{ duplicate$
+ "}" * add.period$
+ #-1 #1 substring$ "." =
+}
+
+FUNCTION {new.block.checka}
+{ empty$
+ 'skip$
+ 'new.block
+ if$
+}
+
+FUNCTION {new.block.checkb}
+{ empty$
+ swap$ empty$
+ and
+ 'skip$
+ 'new.block
+ if$
+}
+
+FUNCTION {new.sentence.checka}
+{ empty$
+ 'skip$
+ 'new.sentence
+ if$
+}
+
+FUNCTION {new.sentence.checkb}
+{ empty$
+ swap$ empty$
+ and
+ 'skip$
+ 'new.sentence
+ if$
+}
+
+FUNCTION {field.or.null}
+{ duplicate$ empty$
+ { pop$ "" }
+ 'skip$
+ if$
+}
+
+FUNCTION {emphasize}
+{ duplicate$ empty$
+ { pop$ "" }
+ { "\emph{" swap$ * "}" * }
+ if$
+}
+
+FUNCTION {BibAuthor}
+{ duplicate$ empty$
+ { pop$ "" }
+ { "\BibAuthor{" swap$ * "}" * }
+ if$
+}
+
+FUNCTION {BibTitle}
+{ duplicate$ empty$
+ { pop$ "" }
+ { "\BibTitle{" swap$ * "}" * }
+ if$
+}
+
+FUNCTION {space.word}
+{ " " swap$ * " " * }
+
+FUNCTION {bbl.edby} % { "\bbledby{}" }
+{ language empty$
+ {"Ed. by "}
+ { language "ukrainian" =
+ {"{\cyr\CYRP\cyrii\cyrd\ \cyrr\cyre\cyrd.\ }"}
+ { language "russian" =
+ {"{\cyr\CYRP\cyro\cyrd\ \cyrr\cyre\cyrd.\ }"}
+ {"language is not defined: " language "edited by" * * warning$ "edited by"}
+ if$}
+ if$}
+ if$
+}
+
+FUNCTION {bbl.cmplr}
+{ language empty$
+ {"Compiler "}
+ { language "ukrainian" =
+ {"{\cyr\CYRU\cyrk\cyrl\.\ }"}
+ { language "russian" =
+ {"{\cyr\CYRS\cyro\cyrs\cyrt.\ }"}
+ {"language is not defined: " language "compiler" * * warning$ "compiler"}
+ if$}
+ if$}
+ if$
+}
+
+FUNCTION {bbl.edition} % { "\bbledition{}" }
+{ language empty$
+ {"edition"}
+ { language "ukrainian" =
+ {"{\cyr\cyrv\cyri\cyrd.}"}
+ { language "russian" =
+ {"{\cyr\cyri\cyrz\cyrd.}"}
+ {"language is not defined: " language "edition" * * warning$ "edition"}
+ if$}
+ if$}
+ if$
+}
+
+FUNCTION {bbl.vvolume} % { "\bblVolume{}" }
+{ language empty$
+ {"Volume"}
+ { language "ukrainian" = language "russian" = or
+ {"\CYRT\cyro\cyrm"}
+ {"language is not defined: " language "Volume" * * warning$ "Volume"}
+ if$}
+ if$
+}
+
+FUNCTION {bbl.vvol} % { "\bblVol{}" }
+{ language empty$
+ {"Vol."}
+ { language "ukrainian" = language "russian" = or
+ {"\CYRT."}
+ {"language is not defined: " language "Vol." * * warning$ "Vol."}
+ if$}
+ if$
+}
+
+FUNCTION {bbl.iissue} % { "\bblIssue{}" }
+{ language empty$
+ {"Issue"}
+ { language "ukrainian" =
+ {"\CYRV\cyri\cyrp\cyru\cyrs\cyrk"}
+ { language "russian" =
+ {"\CYRV\cyrery\cyrp\cyru\cyrs\cyrk"}
+ {"language is not defined: " language * warning$ "Issue"}
+ if$}
+ if$}
+ if$
+}
+
+FUNCTION {bbl.iiss} % { "\bblIss{}" }
+{ language empty$
+ {"Iss."}
+ { language "ukrainian" =
+ {"\CYRV\cyri\cyrp."}
+ { language "russian" =
+ {"\CYRV\cyrery\cyrp."}
+ {"language is not defined: " language * warning$ "Issue"}
+ if$}
+ if$}
+ if$
+}
+
+FUNCTION {bbl.of} % { "\bblof{}" }
+{ language empty$
+ {"of"}
+ { language "ukrainian" =
+ {"{\cyr\cyrii\cyrz}"}
+ { language "russian" =
+ {"{\cyr\cyri\cyrz}"}
+ {"language is not defined: " language "of" * * warning$ "of"}
+ if$}
+ if$}
+ if$
+}
+
+FUNCTION {bbl.etal} % { "\bblof{}" }
+{ language empty$
+ {"et~al."}
+ { language "ukrainian" =
+ {"{\cyr\cyrt\cyra~\cyrii\cyrn.}"}
+ { language "russian" =
+ {"{\cyr\cyri~\cyrd\cyrr.}"}
+ {"language is not defined: " language "at al" * * warning$ "at al."}
+ if$}
+ if$}
+ if$
+}
+
+FUNCTION {bbl.nnumber} % { "\bblNumber{}" }
+{ language empty$
+ {"Number"}
+ { language "ukrainian" = language "russian" = or
+ {"\CYRN\cyro\cyrm\cyre\cyrr"}
+ {"language is not defined: " language "Number" * * warning$ "Number"}
+ if$}
+ if$
+}
+
+FUNCTION {bbl.number} % { "\bblnumber{}" }
+{ language empty$
+ {"number"}
+ { language "ukrainian" = language "russian" = or
+ {"{\cyr\cyrn\cyro\cyrm\cyre\cyrr}"}
+ {"language is not defined: " language "number" * * warning$ "number"}
+ if$}
+ if$
+}
+
+FUNCTION {bbl.nr} % { "\bblno{}" }
+{ language empty$
+ {"no."}
+ { language "ukrainian" = language "russian" = or
+ {"{\cyr\textnumero}"}
+ {"language is not defined: " language "no." * * warning$ "no."}
+ if$}
+ if$
+}
+
+FUNCTION {bbl.nnr} % { "\bblno{}" }
+{ language empty$
+ {"No."}
+ { language "ukrainian" = language "russian" = or
+ {"{\cyr\textnumero}"}
+ {"language is not defined: " language "No." * * warning$ "No."}
+ if$}
+ if$
+}
+
+FUNCTION {bbl.in} % { "\bblin{}" }
+{ language empty$
+ {"in"}
+ { language "ukrainian" = language "russian" = or
+ {"{\cyr\cyrv}"}
+ {"language is not defined: " language "in" * * warning$ "in"}
+ if$}
+ if$
+}
+
+FUNCTION {bbl.iin} % { "\bblIn{}" }
+{ language empty$
+ {"In"}
+ { language "ukrainian" = language "russian" = or
+ {"\CYRV"}
+ {"language is not defined: " language "In" * * warning$ "In"}
+ if$}
+ if$
+}
+
+FUNCTION {bbl.pages} % { "\bblpp." }
+{ language empty$
+ {"pp."}
+ { language "ukrainian" = language "russian" = or
+ {"{\cyr\cyrs.}"}
+ {"language is not defined: " language "pp." * * warning$ "pp."}
+ if$}
+ if$
+}
+
+FUNCTION {bbl.page} % { "\bblp."
+{ language empty$
+ {"p."}
+ { language "ukrainian" = language "russian" = or
+ {"{\cyr\cyrs.}"}
+ {"language is not defined: " language "p." * * warning$ "p."}
+ if$}
+ if$
+}
+
+FUNCTION {bbl.ppages}% { "\bblPp." }
+{ language empty$
+ {"Pp."}
+ { language "ukrainian" = language "russian" = or
+ {"{\cyr\CYRS.}"}
+ {"language is not defined: " language "Pp." * * warning$ "Pp."}
+ if$}
+ if$
+}
+
+FUNCTION {bbl.ppage} % { "\bblP." }
+{ language empty$
+ {"P."}
+ { language "ukrainian" = language "russian" = or
+ {"{\cyr\CYRS.}"}
+ {"language is not defined: " language "P." * * warning$ "P."}
+ if$}
+ if$
+}
+
+
+FUNCTION {bbl.techrep} { "Tech. Rep." }
+FUNCTION {bbl.mthesis} { "Master's thesis" }
+FUNCTION {bbl.phdthesis} { "Ph.D. thesis" }
+
+INTEGERS { nameptr namesleft numnames }
+
+
+FUNCTION {format.names}
+{
+ #1 "{vv~}{ll}{~jj}{,~ff}" format.name$
+}
+
+
+FUNCTION {format.names.rev}
+{ 's :=
+ #1 'nameptr :=
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+ { s nameptr
+ "{ff}{~vv}{~ll}{, jj}"
+ format.name$ 't :=
+ nameptr #1 >
+ {
+ nameptr #8 =
+ numnames #8 > and
+ { "others" 't :=
+ #1 'namesleft := }
+ 'skip$
+ if$
+ namesleft #1 >
+ { ", " * t * }
+ {
+ t "others" =
+ { " " * bbl.etal * }
+ { ", " * t * }
+ if$
+ }
+ if$
+ }
+ 't
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+}
+
+FUNCTION {format.authors}
+{ author empty$
+ { "" }
+ { author format.names BibAuthor}
+ if$
+}
+
+FUNCTION {format.bookauthors}
+{ bookauthor empty$
+ { "" }
+ { bookauthor format.names}
+ if$
+}
+
+FUNCTION {format.authors.after}
+{ author empty$
+ { "" }
+ { author format.names.rev}
+ if$
+}
+
+FUNCTION {format.bookauthors.after}
+{ bookauthor empty$
+ { "" }
+ { bookauthor format.names.rev}
+ if$
+}
+
+FUNCTION {format.editors.after}
+{ editor empty$
+ { "" }
+ { bbl.edby editor format.names.rev *
+ }
+ if$
+}
+
+FUNCTION {format.compiler.after}
+{ compiler empty$
+ { "" }
+ { bbl.cmplr compiler format.names.rev *
+ }
+ if$
+}
+
+FUNCTION {format.title}
+{ title empty$
+ { "" }
+ { title "t" change.case$ BibTitle
+ }
+ if$
+}
+
+FUNCTION {output.address.publisher.date}
+{
+ address empty$
+ 'skip$
+ { address output
+ publisher empty$
+ 'skip$
+ { new.column
+ }
+ if$
+ }
+ if$
+ publisher output
+ year "year" output.check
+}
+
+FUNCTION {output.bibitem}
+{ newline$
+ "\bibitem{" write$
+ cite$ write$
+ "}" write$
+ newline$
+ "\selectlanguageifdefined{" write$
+ language empty$
+ {"english" write$}
+ {language write$}
+ if$
+ "}" write$ newline$
+ ""
+ before.all 'output.state :=
+}
+
+FUNCTION {n.dashify}
+{ 't :=
+ ""
+ { t empty$ not }
+ { t #1 #1 substring$ "-" =
+ { t #1 #2 substring$ "--" = not
+ { "--" *
+ t #2 global.max$ substring$ 't :=
+ }
+ { { t #1 #1 substring$ "-" = }
+ { "-" *
+ t #2 global.max$ substring$ 't :=
+ }
+ while$
+ }
+ if$
+ }
+ { t #1 #1 substring$ *
+ t #2 global.max$ substring$ 't :=
+ }
+ if$
+ }
+ while$
+}
+
+FUNCTION {word.in}
+{ bbl.iin
+ " " * }
+
+FUNCTION {format.date}
+{ year empty$
+ { month empty$
+ { "" }
+ { "there's a month but no year in " cite$ * warning$
+ month
+ }
+ if$
+ }
+ { month empty$
+ 'year
+ { month " " * year * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.btitle}
+{ title BibTitle
+}
+
+FUNCTION {tie.or.space.connect}
+{ duplicate$ text.length$ #3 <
+ { "~" }
+ { " " }
+ if$
+ swap$ * *
+}
+
+FUNCTION {tie.connect}
+ {"~"
+ swap$ * *
+ }
+
+FUNCTION {either.or.check}
+{ empty$
+ 'pop$
+ { "can't use both " swap$ * " fields in " * cite$ * warning$ }
+ if$
+}
+
+FUNCTION {format.bvolume}
+{ volume empty$
+ { "" }
+ { bbl.vvol volume tie.connect
+ series empty$
+ 'skip$
+ { bbl.of space.word * series emphasize * }
+ if$
+ "volume and number" number either.or.check
+ }
+ if$
+}
+
+FUNCTION {format.number.series}
+{ volume empty$
+ { number empty$
+ { series field.or.null }
+ { series empty$
+ { "there's a number but no series in " cite$ * warning$
+ bbl.nnr }
+ {
+ %new.dblslash
+ new.sentence
+ series
+ bbl.nr
+ tie.or.space.connect}
+ if$
+ number tie.or.space.connect
+ }
+ if$
+ }
+ { "" }
+ if$
+}
+
+FUNCTION {is.num}
+{ chr.to.int$
+ duplicate$ "0" chr.to.int$ < not
+ swap$ "9" chr.to.int$ > not and
+}
+
+FUNCTION {extract.num}
+{ duplicate$ 't :=
+ "" 's :=
+ { t empty$ not }
+ { t #1 #1 substring$
+ t #2 global.max$ substring$ 't :=
+ duplicate$ is.num
+ { s swap$ * 's := }
+ { pop$ "" 't := }
+ if$
+ }
+ while$
+ s empty$
+ 'skip$
+ { pop$ s }
+ if$
+}
+
+
+FUNCTION {convert.edition}
+{ edition
+}
+
+FUNCTION {format.edition}
+{ edition empty$
+ { "" }
+ { output.state mid.sentence =
+ { convert.edition "l" change.case$ " " * bbl.edition * }
+ { convert.edition "t" change.case$ " " * bbl.edition * }
+ if$
+ }
+ if$
+}
+
+INTEGERS { multiresult }
+
+FUNCTION {multi.page.check}
+{ 't :=
+ #0 'multiresult :=
+ { multiresult not
+ t empty$ not
+ and
+ }
+ { t #1 #1 substring$
+ duplicate$ "-" =
+ swap$ duplicate$ "," =
+ swap$ "+" =
+ or or
+ { #1 'multiresult := }
+ { t #2 global.max$ substring$ 't := }
+ if$
+ }
+ while$
+ multiresult
+}
+
+FUNCTION {format.pages}
+{ pages empty$
+ { "" }
+ { pages multi.page.check
+ { bbl.ppages pages n.dashify tie.connect }
+ { bbl.ppage pages tie.connect }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.pages.page}
+{ pages empty$
+ { numpages empty$
+ { "" }
+ { numpages bbl.pages tie.connect }
+ if$}
+ { format.pages}
+ if$
+}
+
+FUNCTION {format.vol.num.pages}
+{ volume field.or.null
+ number empty$
+ 'skip$
+ {
+ ", no." number tie.or.space.connect *
+ volume empty$
+ { "there's a number but no volume in " cite$ * warning$ }
+ 'skip$
+ if$
+ }
+ if$
+ pages empty$
+ 'skip$
+ { duplicate$ empty$
+ { pop$ format.pages }
+ { ": " * pages n.dashify * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.volume}
+{ volume empty$
+ { "" }
+ { bbl.vvol volume tie.connect }
+ if$
+}
+
+FUNCTION {format.number}
+{ number empty$
+ { "" }
+ { bbl.nr number tie.connect }
+ if$
+}
+
+
+FUNCTION {empty.misc.check}
+{ author empty$ title empty$ howpublished empty$
+ month empty$ year empty$ note empty$
+ and and and and and
+ key empty$ not and
+ { "all relevant fields are empty in " cite$ * warning$ }
+ 'skip$
+ if$
+}
+
+FUNCTION {format.thesis.type}
+{ type empty$
+ 'skip$
+ { pop$
+ type "t" change.case$
+ }
+ if$
+}
+
+FUNCTION {format.tr.number}
+{ type empty$
+ { bbl.techrep }
+ 'type
+ if$
+ number empty$
+ { "t" change.case$ }
+ { number tie.or.space.connect }
+ if$
+}
+
+FUNCTION {author.before}
+{
+ author empty$
+ 'skip$
+ {author num.names$ #8 <
+ {format.authors output
+ new.sentence}
+ 'skip$
+ if$}
+ if$
+}
+
+FUNCTION {bookauthor.before}
+{
+ bookauthor empty$
+ 'skip$
+ {bookauthor num.names$ #8 <
+ {format.bookauthors output
+ new.sentence}
+ 'skip$
+ if$}
+ if$
+}
+
+
+FUNCTION {author.after}
+{
+ author empty$
+ 'skip$
+ {format.authors.after output
+ new.semicolumn }
+ if$
+}
+FUNCTION {bookauthor.after}
+{
+ bookauthor empty$
+ 'skip$
+ {format.bookauthors.after output
+ new.semicolumn }
+ if$
+}
+
+FUNCTION {editor.organization.after}
+{
+ compiler empty$
+ {}
+ { format.compiler.after output
+ new.semicolumn
+ }
+ if$
+ editor empty$
+ {}
+ { format.editors.after output
+ new.semicolumn
+ }
+ if$
+ organization empty$
+ {}
+ { organization output
+ new.semicolumn
+ }
+ if$
+}
+
+FUNCTION {format.url}
+{ url empty$
+ { "" }
+ {
+ "\BibUrl{" url * "}" *
+ }
+ if$
+}
+
+FUNCTION {fin.entry.std}
+{ new.block
+ note output
+ new.par
+ format.url output
+ new.par
+ annote empty$
+ {
+ abstract empty$
+ { fin.entry }
+ {
+ "\BibAnnote{"
+ output before.all 'output.state :=
+ abstract add.period$
+ output before.all 'output.state :=
+ "}" output
+ write$
+ newline$
+ }
+ if$
+ }
+ {
+ "\BibAnnote{"
+ output before.all 'output.state :=
+ annote add.period$
+ output before.all 'output.state :=
+ "}" output
+ write$
+ newline$
+}
+ if$
+}
+
+FUNCTION {bibsection}
+{
+ newline$
+ "\BibSection{" write$
+ cite$ write$
+ "}{" write$
+ title write$
+ "}{" write$
+ text empty$
+ 'skip$
+ { newline$ text write$ }
+ if$
+ "}" write$
+ newline$
+ before.all 'output.state :=
+}
+
+FUNCTION {article}
+{ output.bibitem
+ author.before
+ format.title "title" output.check
+ new.slash
+ author.after
+ new.dblslash
+ journal emphasize "journal" output.check
+ new.block
+ format.date output
+ new.block
+ format.volume output
+ format.number output
+ new.block
+ format.pages.page output
+ fin.entry.std
+}
+
+FUNCTION {book}
+{ output.bibitem
+ author.before
+ format.btitle "title" output.check
+ new.slash
+ author.after
+ editor.organization.after
+ new.sentence
+ format.number.series output
+ new.block
+ format.edition output
+ new.block
+ output.address.publisher.date
+ new.block
+ format.bvolume output
+ new.block
+ format.pages.page output
+ fin.entry.std
+}
+
+FUNCTION {booklet}
+{ output.bibitem
+ author.before
+ format.title "title" output.check
+ new.slash
+ author.after
+ editor.organization.after
+ new.block
+ howpublished output
+ address output
+ format.date output
+ fin.entry.std
+}
+
+FUNCTION {inbook}
+{ output.bibitem
+ author.before
+ format.btitle "title" output.check
+ new.slash
+ author.after
+ new.dblslash
+ bookauthor.before
+ booktitle "booktitle" output.check
+ new.slash
+ bookauthor.after
+ editor.organization.after
+ new.block
+ format.edition output
+ new.block
+ format.number.series output
+ new.sentence
+ output.address.publisher.date
+ new.block
+ format.bvolume output
+ new.block
+ format.pages.page output
+ fin.entry.std
+}
+
+FUNCTION {incollection}
+{ output.bibitem
+ author.before
+ new.sentence
+ format.title "title" output.check
+ new.slash
+ author.after
+ new.dblslash
+ booktitle "booktitle" output.check
+ new.slash
+ editor.organization.after
+ new.block
+ output.address.publisher.date
+ new.block
+ format.bvolume output
+ format.number.series output
+ new.block
+ format.pages.page output
+ fin.entry.std
+}
+
+FUNCTION {inproceedings}
+{ output.bibitem
+ author.before
+ new.sentence
+ format.title "title" output.check
+ new.dblslash
+ booktitle "booktitle" output.check
+ new.slash
+ editor.organization.after
+ new.block
+ format.bvolume output
+ format.number.series output
+ new.block
+ address empty$
+ { publisher output
+ format.date "year" output.check
+ }
+ { address output.nonnull
+ new.column
+ publisher output
+ format.date "year" output.check
+ }
+ if$
+ new.block
+ format.pages.page output
+ fin.entry.std
+}
+
+FUNCTION {conference} { inproceedings }
+
+FUNCTION {manual}
+{ output.bibitem
+ author empty$
+ { organization empty$
+ 'skip$
+ { organization output.nonnull
+ address output
+ }
+ if$
+ }
+ { format.authors output.nonnull }
+ if$
+ new.block
+ format.btitle "title" output.check
+ author empty$
+ { organization empty$
+ {
+ address new.block.checka
+ address output
+ }
+ 'skip$
+ if$
+ }
+ {
+ organization address new.block.checkb
+ organization output
+ address output
+ }
+ if$
+ format.edition output
+ format.date output
+ fin.entry.std
+}
+
+FUNCTION {mastersthesis}
+{ output.bibitem
+ format.authors "author" output.check
+ new.block
+ format.btitle "title" output.check
+ new.block
+ bbl.mthesis format.thesis.type output.nonnull
+ school "school" output.check
+ address output
+ format.date "year" output.check
+ fin.entry.std
+}
+
+FUNCTION {misc}
+{ output.bibitem
+ format.authors output
+ title howpublished new.sentence.checkb
+ format.title output
+ howpublished new.block.checka
+ howpublished output
+ new.block
+ format.date output
+ fin.entry.std
+}
+
+FUNCTION {phdthesis}
+{ output.bibitem
+ format.authors "author" output.check
+ new.sentence
+ format.btitle "title" output.check
+ new.column
+ bbl.phdthesis format.thesis.type output.nonnull
+ new.slash
+ school "school" output.check
+ new.block
+ output.address.publisher.date
+ new.block
+ format.pages.page output
+ fin.entry.std
+}
+
+FUNCTION {proceedings}
+{ output.bibitem
+ format.btitle "title" output.check
+ new.slash
+ editor.organization.after
+ new.block
+ format.bvolume output
+ format.number.series output
+ address empty$
+ { publisher output
+ format.date "year" output.check
+ }
+ { address output.nonnull
+ format.date "year" output.check
+ new.sentence
+ publisher output
+ }
+ if$
+ fin.entry.std
+}
+
+FUNCTION {techreport}
+{ output.bibitem
+ author.before
+ new.sentence
+ format.title "title" output.check
+ new.column
+ format.tr.number output.nonnull
+ new.slash
+ author.after
+ editor.organization.after
+ new.block
+ address output
+ new.column
+%% institution "institution" output.check
+ institution output
+ format.date "year" output.check
+ fin.entry.std
+}
+
+FUNCTION {unpublished}
+{ output.bibitem
+ author.before
+ format.btitle "title" output.check
+ new.slash
+ author.after
+ editor.organization.after
+ fin.entry.std
+}
+
+FUNCTION {default.type} { misc }
+
+MACRO {jan} {"\bbljan{}"}
+
+MACRO {feb} {"\bblfeb{}"}
+
+MACRO {mar} {"\bblmar{}"}
+
+MACRO {apr} {"\bblapr{}"}
+
+MACRO {may} {"\bblmay{}"}
+
+MACRO {jun} {"\bbljun{}"}
+
+MACRO {jul} {"\bbljul{}"}
+
+MACRO {aug} {"\bblaug{}"}
+
+MACRO {sep} {"\bblsep{}"}
+
+MACRO {oct} {"\bbloct{}"}
+
+MACRO {nov} {"\bblnov{}"}
+
+MACRO {dec} {"\bbldec{}"}
+
+MACRO {acmcs} {"ACM Computing Surveys"}
+
+MACRO {acta} {"Acta Informatica"}
+
+MACRO {cacm} {"Communications of the ACM"}
+
+MACRO {ibmjrd} {"IBM Journal of Research and Development"}
+
+MACRO {ibmsj} {"IBM Systems Journal"}
+
+MACRO {ieeese} {"IEEE Transactions on Software Engineering"}
+
+MACRO {ieeetc} {"IEEE Transactions on Computers"}
+
+MACRO {ieeetcad}
+ {"IEEE Transactions on Computer-Aided Design of Integrated Circuits"}
+
+MACRO {ipl} {"Information Processing Letters"}
+
+MACRO {jacm} {"Journal of the ACM"}
+
+MACRO {jcss} {"Journal of Computer and System Sciences"}
+
+MACRO {scp} {"Science of Computer Programming"}
+
+MACRO {sicomp} {"SIAM Journal on Computing"}
+
+MACRO {tocs} {"ACM Transactions on Computer Systems"}
+
+MACRO {tods} {"ACM Transactions on Database Systems"}
+
+MACRO {tog} {"ACM Transactions on Graphics"}
+
+MACRO {toms} {"ACM Transactions on Mathematical Software"}
+
+MACRO {toois} {"ACM Transactions on Office Information Systems"}
+
+MACRO {toplas} {"ACM Transactions on Programming Languages and Systems"}
+
+MACRO {tcs} {"Theoretical Computer Science"}
+
+READ
+
+
+STRINGS { longest.label }
+
+INTEGERS { number.label longest.label.width }
+
+FUNCTION {initialize.longest.label}
+{ "" 'longest.label :=
+ #1 'number.label :=
+ #0 'longest.label.width :=
+}
+
+FUNCTION {longest.label.pass}
+{ number.label int.to.str$ 'label :=
+ number.label #1 + 'number.label :=
+ label width$ longest.label.width >
+ { label 'longest.label :=
+ label width$ 'longest.label.width :=
+ }
+ 'skip$
+ if$
+}
+
+EXECUTE {initialize.longest.label}
+
+ITERATE {longest.label.pass}
+
+FUNCTION {begin.bib}
+{ "\begin{thebibliography}{" longest.label * "}" * write$ newline$
+ "\def\selectlanguageifdefined#1{" write$ newline$
+ "\expandafter\ifx\csname date#1\endcsname\relax" write$ newline$
+ "\else\language\csname l@#1\endcsname\fi}" write$ newline$
+ "\ifx\undefined\url\def\url#1{{\small #1}}\else\fi" write$ newline$
+ "\ifx\undefined\BibAuthor\def\BibAuthor#1{\emph{#1}}\else\fi" write$ newline$
+ "\ifx\undefined\BibTitle\def\BibTitle#1{#1}\else\fi" write$ newline$
+ "\ifx\undefined\BibUrl\def\BibUrl#1{\url{#1}}\else\fi" write$ newline$
+ "\ifx\undefined\BibAnnote\def\BibAnnote#1{}\else\fi" write$ newline$
+ "\ifx\undefined\BibSection\def\BibSection#1#2#3{}\else\fi" write$ newline$
+ preamble$ empty$
+ 'skip$
+ { preamble$ write$ newline$ }
+ if$
+}
+
+EXECUTE {begin.bib}
+
+EXECUTE {init.state.consts}
+
+ITERATE {call.type$}
+
+FUNCTION {end.bib}
+{ newline$
+ "\end{thebibliography}" write$ newline$
+}
+
+EXECUTE {end.bib}
+
+%%
+%% End of file `gost780uv.bst'.
diff --git a/tex/pic/graph.png b/tex/pic/graph.png
new file mode 100644
index 0000000..ff4a874
Binary files /dev/null and b/tex/pic/graph.png differ
diff --git a/tex/pic/orgraph.png b/tex/pic/orgraph.png
new file mode 100644
index 0000000..0946173
Binary files /dev/null and b/tex/pic/orgraph.png differ
diff --git a/tex/task.pl b/tex/task.pl
new file mode 100644
index 0000000..069d2c8
--- /dev/null
+++ b/tex/task.pl
@@ -0,0 +1,41 @@
+use locale;
+use encoding "cp866";
+{
+ print "Имя папки: "; my $folder_name=<>;
+ chomp($folder_name);
+ my @files = `chcp 866 & attrib $folder_name\\*.pl`;
+ if (substr($files[1],0,15) eq 'Не найден путь:') {
+ print "Путь не найден. Попробуйте еще.\n";
+ redo;
+ }
+ elsif (substr($files[1],0,15) eq 'Не найден файл:') {
+ print "Папка не содержит файлов .txt .\n";
+ last;
+ }
+ else {
+ foreach my $file (@files[1 .. $#files]){
+ my $file_name = substr($file, 11);
+ chomp($file_name);
+ open(FH,"<$file_name") or die $!;
+ my %hash = ();
+ foreach $chunk (){
+ my @words = $chunk =~ /([\@\%\$][a-zA-Z_0-9]+[\[\{]?)/g;
+ foreach my $word (@words) {
+ $word = "\$".substr($word, 1)
+ if (substr($word, 0, 1) eq '@' &&
+ substr($word, -1) eq '[');
+ $word = "\$".substr($word, 1)."["
+ if (substr($word, 0, 1) eq '@');
+ $word = "\$".substr($word, 1)."{"
+ if (substr($word, 0, 1) eq '%');
+ $hash{$word}++;
+ };
+ };
+ my @xs = keys %hash;
+ print @xs;
+ close(FH);
+ my $ans = scalar(@xs);
+ print "$file_name : $ans\n";
+ }
+ }
+}
\ No newline at end of file
diff --git a/tex/tex.zip b/tex/tex.zip
new file mode 100644
index 0000000..aa68044
Binary files /dev/null and b/tex/tex.zip differ
diff --git a/tex/thesis.bib b/tex/thesis.bib
new file mode 100644
index 0000000..5b36cf7
--- /dev/null
+++ b/tex/thesis.bib
@@ -0,0 +1,20 @@
+% Encoding: windows-1251
+
+@Book{IITMMM_2017,
+ author = {Захарова, В. Е. and Алексеев, Д. В.},
+ title = {ТЕОРИЯ ГРАФОВ: Учебное пособие},
+ adress = {Нижний Новгород},
+ publisher = {Нижегородский университет},
+ year = {2017},
+ pages = {119},
+}
+
+@BOOK {Algo_2013,
+ author={Кормен, Томас Х. and Лейзерсон, Чарльз И. and Ривест, Роналд Л. and Штайн, Клиффорд},
+ title={Алгоритмы: построение и анализ, 2-е издание},
+ year={2013},
+ pages={1296},
+ publisher={Издательский дом \"Вильямс\"},
+}
+
+@Comment{jabref-meta: databaseType:bibtex;}