-
Notifications
You must be signed in to change notification settings - Fork 32
/
spbudiploma.sty
116 lines (100 loc) · 4.67 KB
/
spbudiploma.sty
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
% --------------------- Титульник ВКР СПбГУ -----------------------------
% Автор: Тоскин Николай, [email protected]
% Если заметили ошибку, напишите на email
% Если хотите добавить изменение самостоятельно:
% https://github.com/itonik/spbu_diploma/
% Использованы материалы:
% habr.com/ru/post/144648/
% cpsconf.ru
% Документы ниже могут уже быть неактуальны, тем не менее за годы ничего
% нового не появилось
% Текст:
% http://edu.spbu.ru/images/data/normativ_acts/local/20181030_10432_1.pdf
% Титульный лист:
% http://edu.spbu.ru/images/data/normativ_acts/local/20180703_6616_1.pdf
% -----------------------------------------------------------------------
% Глобальные поля
\usepackage[left=30mm, top=20mm, right=15mm, bottom=20mm,nohead, includefoot,footskip=35pt]{geometry}
% Язык, кодировка, шрифт
\usepackage[utf8]{inputenc}
\usepackage[T2A]{fontenc}
\usepackage[english,russian]{babel}
% Межстрочный интервал = 1.5pt
\usepackage{setspace}
\onehalfspacing
% Абзацный отступ = 1.25см
\usepackage{indentfirst}
\setlength\parindent{12.5mm}
% Пакет для содержания
\usepackage{tocloft}
% Команда для специальных разделов (введение, обзор литературы, etc)
% Не нумеруются в содержании, по уровню вложенности:
\newcommand{\specialsection}[1]{
\phantomsection
\bigskip\smallskip\hspace{-12.5mm}
\normalfont\fontsize{18}{18}\textbf{#1}
\par\bigskip\normalfont\normalsize
\addcontentsline{toc}{section}{#1}
}
% Размеры заголовков разделов и подразделов
\usepackage{titlesec}
% Раздел: 18pt, добавляем слово "Глава"
\titleformat{\section}
{\normalfont\fontsize{18}{18}\bfseries}{Глава \thesection. \hskip-1em}{1em}{}
% Подраздел: 16pt
\titleformat{\subsection}
{\normalfont\fontsize{16}{16}\bfseries}{\thesubsection}{1em}{}
% Сожержание
% Выравнивание заголовка по центру (да, да, хак с отступом слева \hspace{0.31\textwidth})
% т.к. окружение center и \centering не работают
\renewcommand{\cfttoctitlefont}{\hspace{0.31\textwidth} \bfseries\Large}
\renewcommand{\cftbeforetoctitleskip}{-1em}
% Слово "Глава" в содержании
\renewcommand{\cftsecpresnum}{Глава\space}
\newlength\mylength
\settowidth\mylength{\cftsecpresnum}
\addtolength\cftsecnumwidth{\mylength}
% Строки с точками
\renewcommand{\cftsecleader}{\cftdotfill{\cftdotsep}}
% Точки после цифр в в содержании
\renewcommand{\cftsecaftersnum}{.}
\renewcommand{\cftsubsecaftersnum}{.}
% Подровнять subsection под точку главы
% (если глав будет больше десяти, будет чуть хуже)
\setlength{\cftsubsecindent}{2.68em}
% Интервал глав
\setlength{\cftbeforesecskip}{4pt}
\renewcommand{\cftsecpagefont}{\normalfont}
% Шрифт подписи (caption) = 12pt
% (Повезло, что small как раз равен 12pt)
\usepackage[font=small,labelfont=bf]{caption}
% Пакет, который позволяет собирать один документ TeX из нескольких
\usepackage{import}
% Пакет, реализующий гиперссылки. Никакого расскрашивания
\usepackage[colorlinks=false,unicode=true]{hyperref}
\newcommand{\ITEM}{\vspace{-0.2cm}\item}
\newcommand{\MList}[1]{\par\begin{itemize}#1\end{itemize}}
\newcommand{\NList}[1]{\par\begin{enumerate}#1\end{enumerate}}
% Нумерация только тех формул, на которые в тексте присутствует ссылка
\usepackage{autonum}
% Список литературы
\renewenvironment{thebibliography}[1]
{\bigskip
{\centering\large\bf Список литературы\par}%
\addcontentsline{toc}{section}{Список литературы}
\smallskip
\list{\@biblabel{\@arabic\c@enumiv}}%
{\settowidth\labelwidth{\@biblabel{#1}}%
\leftmargin\labelwidth
\advance\leftmargin\labelsep
\@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}