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.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;}