%%% Работа с русским языком \usepackage{cmap} % поиск в PDF \usepackage{mathtext} % русские буквы в формулах \usepackage[T2A]{fontenc} % кодировка \usepackage[utf8]{inputenc} % кодировка исходного текста \usepackage[english,russian]{babel} % локализация и переносы \usepackage{subcaption} \captionsetup{compatibility=false} %%% Дополнительная работа с математикой \usepackage{amsmath,amsfonts,amssymb,amsthm,mathtools} % AMS \usepackage{icomma} % "Умная" запятая: $0,2$ --- число, $0, 2$ --- перечисление \usepackage{amsthm} \usepackage{enumitem} %% Номера формул %\mathtoolsset{showonlyrefs=true} % Показывать номера только у тех формул, на которые есть \eqref{} в тексте. %\usepackage{leqno} % Нумерация формул слева % for tables added 12.11.18 %\usepackage[format=simple,labelsep=space,tableposition=below]{caption} \usepackage{float} % for H and HT options \usepackage[section]{placeins} \usepackage{caption} \DeclareCaptionLabelSeparator{emdash}{ --- } \captionsetup{ justification=raggedright, singlelinecheck=false, labelsep=emdash } \usepackage{listings} \renewcommand\labelitemi{--} \setcounter{secnumdepth}{4} \usepackage[figurename=Рисунок]{caption} \newcommand{\programmingLanguage}[1]{ \lstset{language=#1} } \usepackage{titlesec} \usepackage{hyperref} \usepackage{cleveref} \usepackage{etoolbox} \usepackage{lastpage} %% Перенос знаков в формулах (по Львовскому) \newcommand*{\hm}[1]{#1\nobreak\discretionary{} {\hbox{$\mathsurround=0pt #1$}}{}} \usepackage{indentfirst} % пакет для первой красной строки по ГОСТам РФ %%% Работа с картинками \usepackage{graphicx} % Для вставки рисунков \graphicspath{{images/}{images2/}} % папки с картинками \setlength\fboxsep{3pt} % Отступ рамки \fbox{} от рисунка \setlength\fboxrule{1pt} % Толщина линий рамки \fbox{} \usepackage{wrapfig} % Обтекание рисунков текстом %%% BF for row \newcommand{\rowstyle}[1]{\gdef\currentrowstyle{#1}% #1\ignorespaces } %%% Работа с таблицами \usepackage{array,tabularx,tabulary,booktabs} % Дополнительная работа с таблицами \usepackage{longtable} % Длинные таблицы \usepackage{multirow} % Слияние строк в таблице \newcolumntype{C}[1]{>{\centering\arraybackslash}p{#1}} % centered version of 'p' column type %%% Теоремы \theoremstyle{plain} % Это стиль по умолчанию, его можно не переопределять. \newtheorem{theorem}{Теорема}[section] \newtheorem{proposition}[theorem]{Утверждение} \theoremstyle{definition} % "Определение" \newtheorem{corollary}{Следствие}[theorem] \newtheorem{problem}{Задача}[section] \theoremstyle{remark} % "Примечание" \newtheorem*{nonum}{Решение} \usepackage{array} % aligning text inside the tabular %%% Программирование \usepackage{etoolbox} % логические операторы \usepackage{layout} %%% Страница \usepackage{extsizes} % Возможность сделать 14-й шрифт \usepackage{geometry} % Простой способ задавать поля \geometry{top=2cm} \geometry{bottom=20mm} \geometry{left=30mm} \geometry{right=15mm} \geometry{bindingoffset=0cm} \geometry{bottom = 1in} % \usepackage{fancybox} \usepackage{fancyhdr} % Колонтитулы \pagestyle{fancy} \renewcommand{\headrulewidth}{0mm} % Толщина линейки, отчеркивающей верхний колонтитул %\lfoot{Нижний левый} %\rfoot{Нижний правый} %\rhead{Верхний правый} %\chead{Верхний в центре} %\lhead{Верхний левый} \cfoot{Москва \@year{}} % По умолчанию здесь номер страницы \usepackage{setspace} % Интерлиньяж %\onehalfspacing % Интерлиньяж 1.5 %\doublespacing % Интерлиньяж 2 \singlespacing % Интерлиньяж 1 \usepackage{lastpage} % Узнать, сколько всего страниц в документе. \usepackage{soulutf8} % Модификаторы начертания \usepackage{hyperref} \usepackage[usenames,dvipsnames,svgnames,table,rgb]{xcolor} \hypersetup{ % Гиперссылки unicode=true, % русские буквы в раздела PDF pdftitle={Заголовок}, % Заголовок pdfauthor={Автор}, % Автор pdfsubject={Тема}, % Тема pdfcreator={Создатель}, % Создатель pdfproducer={Производитель}, % Производитель pdfkeywords={keyword1} {key2} {key3}, % Ключевые слова colorlinks=true, % false: ссылки в рамках; true: цветные ссылки linkcolor=black, % внутренние ссылки citecolor=black , % на библиографию filecolor=black , % на файлы urlcolor=black % на URL } % define year \newcommand{\@year}{2019} \renewcommand{\year}[1]{ \renewcommand{\@year}{#1} } % define doc number \newcommand{\@docNumber}{{\color{red}{TODO}}} \newcommand{\docNumber}[1]{ \renewcommand{\@docNumber}{#1} } % define doc number \newcommand{\@supervPos}{{\color{red}{TODO}}} \newcommand{\@supervName}{{\color{red}{TODO}}} \newcommand{\supervisor}[2]{ \renewcommand{\@supervPos}{#1} \renewcommand{\@supervName}{#2} } % define student name and group \newcommand{\@student}{{\color{red}{TODO}}} \newcommand{\@groupName}{{\color{red}{TODO}}} \newcommand{\student}[2]{ \renewcommand{\@student}{#2} \renewcommand{\@groupName}{#1} } % define doc project name \newcommand{\@project}{{\color{red}{TODO}}} \newcommand{\project}[1]{ \renewcommand{\@project}{#1} } % define doc format \newcommand{\@docFormat}{{\color{red}{FORMAT TODO}}} \newcommand{\docFormat}[1]{ \renewcommand{\@docFormat}{#1} } %%% for code and listings \newcommand{\code}[1]{% \lstinputlisting[frame=single,basicstyle=\footnotesize\ttfamily]{#1} } \renewcommand{\code}[2]{% \lstinputlisting [frame=single, basicstyle=\footnotesize\ttfamily, caption={#2}, captionpos=b,language=TeX,breaklines] {#1} } \newcommand{\@startAdditions}{ \setcounter{section}{0} \renewcommand{\sectionbreak}{} \titleformat{\section}[block]{\Large\bfseries\filright}{}{0mm}{} \renewcommand{\@startAdditions}{} } \newcounter{@tempSection} \newcommand{\sectionbreak}{\clearpage} \newcommand{\customlabel}[2]{% \protected@write \@auxout {}{\string \newlabel {#1}{{#2}{\thepage}{#2}{#1}{}} }% \hypertarget{#1}{} } %%% addition. example: ПРИЛОЖЕНИЕ А \newcommand{\addition}[2]{% \clearpage \newpage \@startAdditions \stepcounter{section} \begin{flushright} \Large \textbf{\textsc{приложение \alph{section}}} \end{flushright} \setcounter{@tempSection}{\arabic{section}} \setcounter{secnumdepth}{0} \section[Приложение \Alph{@tempSection}]{#1} \setcounter{secnumdepth}{4} \customlabel{#2}{\Alph{section}} } %% [#1]: ref id %% #2: file %% #3: caption \newcommand{\floatCode}[3][]{ \begin{figure}[hbp] \lstinputlisting [frame=single,basicstyle=\footnotesize\ttfamily] {#2} \ifblank{#3}{}{\caption{#3}} \ifblank{#1}{}{\label{#1}} \end{figure} } %% Свои команды \DeclareMathOperator{\sgn}{\mathop{sgn}} \newcommand{\tabForFirstPage} {\reversemarginpar\marginpar{\rotatebox{90}{\begin{tabular}{|l|l|l|l|l|} \hline Инв. \text{№} подл & Подп. и дата & Взам. инв. \text{№} & Инв. \text{№} дубл.&Подп. и дата\\ \hline & & & & \\ \hline \end{tabular}}}} \setlength{\oddsidemargin}{0mm} \newcommand{\itsHSE}{\begin{center} \scshape \bfseries правительство российской федерации\\ национальный исследовательский университет \\ «высшая школа экономики» \par\vspace{5mm} \upshape\mdseries \rmfamily\normalsize Факультет компьютерных наук\\ Департамент программной инженерии \end{center}} \newcommand{\academicTeacher}[2]{ \begin{table}[h] \begin{center} \begin{tabular}{ >{\centering\arraybackslash}p{0.5\textwidth} >{\centering\arraybackslash}p{0.45\textwidth} } \textsl{СОГЛАСОВАНО} & \textsl{УТВЕРЖДАЮ}\\ #1 & Академический руководитель образовательной программы «Программная инженерия» профессор департамента программной инженерии, канд. техн. наук\\ & \\ \underline{\hspace{4cm}} #2 & \underline{\hspace{4cm}} В. В. Шилов\\ <<\underline{\hspace{1cm}}>> \underline{\hspace{3cm}} \@year{} г.&<<\underline{\hspace{1cm}}>> \underline{\hspace{3cm}} \@year{} г.\\ \end{tabular} \end{center} \end{table} } \newcommand{\academicTeacherVKR}{ \vspace{1cm} \hfill\begin{tabular}{>{\centering\arraybackslash}p{0.45\textwidth} } \textsl{УТВЕРЖДАЮ}\\ Академический руководитель образовательной программы «Программная инженерия» профессор департамента программной инженерии, канд. техн. наук\\ \\ \underline{\hspace{4cm}} В. В. Шилов\\ <<\underline{\hspace{1cm}}>> \underline{\hspace{3cm}} \@year{} г.\\ \end{tabular} } \newcommand{\secondPage}{ \pagestyle{fancy} \lhead{УТВЕРЖДЕН \newline \@docNumber{}-ЛУ} \vspace*{9cm} \begingroup \centering \projectName{\@project{}} \titleListTwo{\@docFormat{}} \listNumber{\textbf{Листов \pageref{LastPage}}} \endgroup \vspace{8cm} \tabForFirstPage \vspace*{\fill} } \newcommand{\anonsection}[1]{\section*{#1}\addcontentsline{toc}{section}{#1}} \newcommand{\anonsubsection}[1]{\subsection*{#1}\addcontentsline{toc}{subsection}{#1}} \newcommand{\sectionVKR}[1]{\section*{Глава \thesection. #1}\addcontentsline{toc}{section}{Глава \thesection. #1}} \newcommand{\thirdPage}{ \lhead{ } \chead{\vfill \thepage \vfill \@docNumber{}} \rhead{ } \cfoot{ } \cfoot{\tabForTZ} \tableofcontents } \newcommand{\thirdPageWithoutTOC}{ \lhead{ } \chead{\vfill \thepage \vfill \@docNumber{}} \rhead{ } \cfoot{ } \cfoot{\tabForTZ} } \newcommand{\clearPage}{ \lhead{ } \chead{ } \rhead{ } \cfoot{ } \cfoot{\thepage} } \newcommand{\projectName}[1]{ \begin{center} \large{\textsc{\textbf{#1}}} \end{center} } \newcommand{\projectNameDraft}[1]{ \vspace*{3cm} \begin{center} \large{ОТЧЕТ \\ по преддипломной практике \\ Подготовка ВКР на тему \\ \vspace*{1cm} \textsc{\textbf{#1}}} \end{center} \vspace*{1cm} } \newcommand{\projectNameVKR}[1]{ \vspace*{2cm} \begin{center} \large{\textbf{Выпускная квалификационная работа} на тему \\ \vspace*{0.5cm} \textbf{<<#1>>} \\ \vspace*{0.5cm} по направлению подготовки 09.03.04 <<Программная инженерия>> } \end{center} \vspace*{2cm} } \newcommand{\checked}[3]{ \vspace{15mm} \begin{tabular}{p{0.33\textwidth} p{0.33\textwidth} p{0.33\textwidth}} \multicolumn{3}{l}{\textbf{#2}}\\ \multicolumn{3}{l}{#3}\\ \multicolumn{3}{l}{}\\ Дата: {#1} & $\underset{\text{(оценка)}}{\underline{\hspace{4cm}}}$ & $\underset{\text{(подпись)}}{\underline{\hspace{4cm}}}$ \\ \end{tabular} \begin{tabular}{p{0.33\textwidth} p{0.33\textwidth} p{0.33\textwidth}} \multicolumn{3}{l}{\textbf{Оценка комиссии}}\\ \multicolumn{3}{l}{}\\ $\underset{\text{(дата)}}{\underline{\hspace{4cm}}}$ & $\underset{\text{(оценка)}}{\underline{\hspace{4cm}}}$ & $\underset{\text{(подпись)}}{\underline{\hspace{4cm}}}$ \\ \end{tabular} } %\renewcommand{\familydefault}{\sfdefault} % Начертание шрифта \newcommand{\titleList}{ \begin{center} \par\vspace{4mm} \textbf{\@docFormat{}} \par\vspace{6mm} \textbf{ ЛИСТ УТВЕРЖДЕНИЯ} \par\vspace{6mm} \textbf{\@docNumber{}-ЛУ} \par\vspace{60mm} \end{center}} \newcommand{\titleListTwo}[2]{ \begin{center} \par\vspace{4mm} \textbf{#1} \par\vspace{6mm} \textbf{\@docNumber{}} \end{center}} \newcommand{\firstPage}{ \itsHSE \academicTeacher{\@supervPos{}}{\@supervName{}} \projectName{\@project{}} \titleList \nameOfAuthor \tabForFirstPage } \newcommand{\draftVKR}{ \itsHSE \projectNameDraft{\@project{}} \nameOfAuthorDraft \checked{26.04.21}{Руководитель практики от НИУ ВШЭ}{Доцент департамента программной инженерии Салех Хади Мухаммед} } \newcommand{\VKR}{ \itsHSE \academicTeacherVKR \projectNameVKR{\@project{}} \nameOfAuthorVKR } \newcommand{\nameOfAuthorDraft}{ \hfill\begin{tabular}{r} \\ Выполнила студентка \\ образовательной программы \\ 09.03.04 <<Программная инженерия>> \\ группы \@groupName{} \\ \@student{} \\ <<\underline{\hspace{1cm}}>> \underline{\hspace{3cm}} \@year{} г. \end{tabular} \vspace{1cm} } \newcommand{\nameOfAuthorVKR}{ \begin{table}[h] \begin{flushleft} \begin{tabular}{ >{\arraybackslash}p{0.5\textwidth} >{\arraybackslash}p{0.45\textwidth} } \@supervPos{} & Выполнила студентка \vfill образовательной программы \vfill 09.03.04 <<Программная инженерия>> \vfill группы \@groupName{} \\ \@supervName{} & \@student{} \\ & \\ $\underset{\text{(дата, подпись)}}{\underline{\hspace{5cm}}}$ & $\underset{\text{(дата, подпись)}}{\underline{\hspace{5cm}}}$ \\ \end{tabular} \end{flushleft} \end{table} } \newcommand{\nameOfAuthor}{ \hfill\begin{tabular}{c} \\ Исполнитель: студент группы \@groupName{} \\ \underline{\hspace{4cm}} \@student{} \\ <<\underline{\hspace{1cm}}>> \underline{\hspace{4cm}} \@year{} г. \end{tabular} } \newcommand{\listNumber}[1]{\textbf{Листов #1}} \newcommand{\listRegistration}{% \cfoot{ } \begin{tabular}{|p{0.05\linewidth}|p{0.04\linewidth}|p{0.06\linewidth}|p{0.06\linewidth}|p{0.06\linewidth}|p{0.1\linewidth}|p{0.1\linewidth}|p{0.12\linewidth}|p{0.05\linewidth}|p{0.05\linewidth}|} \hline \multicolumn{10}{|c|}{\textbf{Лист регистрации изменений}}\\ \hline \multirow{2}{*}{Изм.} & \multicolumn{4}{c|}{Номера листов} & Всего листов в документе& $\text{№}$ документа& Входящий $\text{№}$ сопроводит. докум. и дата& Под-пись& Дата\\[5ex] \cline{2-5} &из-ме-нен-ных&заме-нен-ных&но-вых&аннул-лиро-ван-ных& & & & & \\[10ex] \hline & & & & & & & & & \\[5ex] \hline & & & & & & & & & \\[5ex] \hline & & & & & & & & & \\[5ex] \hline & & & & & & & & & \\[5ex] \hline & & & & & & & & & \\[5ex] \hline & & & & & & & & & \\[5ex] \hline & & & & & & & & & \\[5ex] \hline & & & & & & & & & \\[5ex] \hline & & & & & & & & & \\[5ex] \hline & & & & & & & & & \\[5ex] \hline & & & & & & & & & \\[5ex] \hline & & & & & & & & & \\[5ex] \hline & & & & & & & & & \\[5ex] \hline \end{tabular} } \newcommand{\tabForTZ}{% \begin{tabular}{|p{0.31\linewidth}|p{0.15\linewidth}|p{0.16\linewidth}|p{0.16\linewidth}|p{0.15\linewidth}|} \hline Изм. & Лист & $\text{№}$ докум. & Подп. & Дата\\ \hline \scriptsize{\@docNumber{}}& & & &\\ \hline Инв. $\text{№}$ подл. & Подп. и дата & Взам. инв. $\text{№}$ & Инв. $\text{№}$ дубл.& Подп. и дата \\ \hline \end{tabular} } \usepackage{multicol} % Несколько колонок