LaTeX-documentation/styledoc19.sty

522 lines
16 KiB
TeX
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

%%% Работа с русским языком
\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} % Несколько колонок