mirror of
https://github.com/dashared/LaTeX-documentation.git
synced 2024-11-22 05:12:17 +03:00
522 lines
16 KiB
TeX
522 lines
16 KiB
TeX
|
||
%%% Работа с русским языком
|
||
\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} % Несколько колонок
|
||
|