@@ -1,7 +1,3 @@
2−% extra credit: dashared
5\NeedsTeXFormat{LaTeX2e}
1\NeedsTeXFormat{LaTeX2e}
7\ProvidesClass{TechDoc}
3\ProvidesClass{TechDoc}
@@ -27,8 +23,6 @@
27\RequirePackage{enumitem}
23\RequirePackage{enumitem}
28\RequirePackage{tocloft}
24\RequirePackage{tocloft}
29\RequirePackage{caption}
25\RequirePackage{caption}
30−\RequirePackage{etoolbox}
31−\RequirePackage{iflang}
33\setcounter{secnumdepth}{4}
27\setcounter{secnumdepth}{4}
@@ -45,12 +39,13 @@
47\setenumerate[1]{label={\arabic*)}}
41\setenumerate[1]{label={\arabic*)}}
48−\setenumerate[2]{label={--}}
42+\setenumerate[2]{label={\asbuk*)}}
49−\setenumerate[3]{label={\asbuk*)}}
43+\setenumerate[3]{label={\roman*)}}
51−\DeclareUnicodeCharacter{306}{{\color{red} \textbf{По всей видимости либо ты откуда-то не очень хорошо скопировал, либо у тебя с вводом что-то не то, потому что буква Й у тебя состоит из двух скаляров юникода. Удали этот Й и напечатай его заново. (Выйди и зайди нормально)} }}
46+\DeclareUnicodeCharacter{306}{{\color{red} \textbf{По всей видимости либо ты откуда-то не очень хорошо скопировал, либо у тиебя с вводом что-то не то потому что буква Й у тебя состоит из двух скаляров юникода. Удали этот Й и напечатай его заново. (Выйди и зайди норимально)} }}
53−\RequirePackage[russian,english]{babel}
48+\RequirePackage[main=russian,english]{babel}
55\titlelabel{\thetitle.~}
50\titlelabel{\thetitle.~}
@@ -71,17 +66,9 @@
73\geometry{left=20mm, right=10mm, top=25mm, bottom=25mm, headheight=25mm}
68\geometry{left=20mm, right=10mm, top=25mm, bottom=25mm, headheight=25mm}
75−\DeclareCaptionLabelSeparator{emdash}{ --- }
77− justification=centering,
78− singlelinecheck=false,
85\pagestyle{fancy}
72\pagestyle{fancy}
87\fancyhead[C]{
74\fancyhead[C]{
@@ -91,24 +78,20 @@
92\renewcommand\headrulewidth{0pt}
79\renewcommand\headrulewidth{0pt}
97− \begin{tabular}{|p{0.30\linewidth}|p{0.14\linewidth}|p{0.15\linewidth}|p{0.14\linewidth}|p{0.14\linewidth}|}
100− \IfLanguageName{english}{Change}{Изм.} & \IfLanguageName{english}{Page}{Лист} & \IfLanguageName{english}{Document num.}{\textnumero~докум.} & \IfLanguageName{english}{Signature}{Подп.} & \IfLanguageName{english}{Date}{Дата}\\
102− \footnotesize{\@documentCode}& & & &\\
104− \IfLanguageName{english}{inv. num. of orig.}{Инв. \textnumero~подл.} & \IfLanguageName{english}{Sig. and date}{Подп. и дата} & \IfLanguageName{english}{inv. num.}{Взам. инв. \textnumero} & \IfLanguageName{english}{inv. num. of copy}{Инв. \textnumero~дубл.}& \IfLanguageName{english}{Sig. and date}{Подп. и дата} \\
111−\@foot
82+\vspace{-7mm}
84+\begin{tabular}{|p{0.30\linewidth}|p{0.14\linewidth}|p{0.15\linewidth}|p{0.14\linewidth}|p{0.14\linewidth}|}
87+ Изм. & Лист & \textnumero~докум. & Подп. & Дата\\
89+ \footnotesize{\@documentCode}& & & &\\
91+ Инв. \textnumero~подл. & Подп. и дата & Взам. инв. \textnumero & Инв. \textnumero~дубл.& Подп. и дата \\
114\setcounter{page}{2}
97\setcounter{page}{2}
@@ -127,21 +110,15 @@
127 \renewcommand{\@title}{#1}
110 \renewcommand{\@title}{#1}
130−\newcommand{\@institute}{
131− \IfLanguageName{english}
132− {national research university\\<<higher school of economics>>}
133− {правительство российской федерации\\
113+\newcommand{\@institute}{правительство российской федерации\\
134 национальный исследовательский университет \\
114 национальный исследовательский университет \\
135− «высшая школа экономики»}}
115+ «высшая школа экономики»}
136\newcommand{\institute}[1]{
116\newcommand{\institute}[1]{
137 \renewcommand{\@institute}{#1}
117 \renewcommand{\@institute}{#1}
140−\newcommand{\@faculty}{
141− \IfLanguageName{english}
142− {Faculty of Computer Science}
143− {Факультет компьютерных наук\\
120+\newcommand{\@faculty}{Факультет компьютерных наук\\
144− Департамент программной инженерии}}
121+ Департамент программной инженерии}
145\newcommand{\faculty}[1]{
122\newcommand{\faculty}[1]{
146 \renewcommand{\@faculty}{#1}
123 \renewcommand{\@faculty}{#1}
@@ -153,12 +130,9 @@
153 \renewcommand{\@academicTeacherName}{#2}
130 \renewcommand{\@academicTeacherName}{#2}
156−\newcommand{\@academicSupervisorName}{\IfLanguageName{english}{V. V. Shilov}{В. В. Шилов}}
133+\newcommand{\@academicSupervisorName}{В. В. Шилов}
157−\newcommand{\@academicSupervisorTitle}{
158− \IfLanguageName{english}
159− {Academic supervisor of the <<software engineering>> programme, PhD}
160− {Академический руководитель образовательной программы «Программная инженерия»
134+\newcommand{\@academicSupervisorTitle}{Академический руководитель образовательной программы «Программная инженерия»
161− профессор департамента программной инженерии, канд. техн. наук}}
135+ профессор департамента программной инженерии, канд. техн. наук}
162\newcommand{\academicSupervisor}[2]{
136\newcommand{\academicSupervisor}[2]{
163 \renewcommand{\@academicSupervisorTitle}{#1}
137 \renewcommand{\@academicSupervisorTitle}{#1}
164 \renewcommand{\@academicSupervisorName}{#2}
138 \renewcommand{\@academicSupervisorName}{#2}
@@ -186,19 +160,19 @@
186 \renewcommand{\@year}{#1}
160 \renewcommand{\@year}{#1}
189−\newcommand{\@city}{\IfLanguageName{english}{Moscow}{Москва}}
163+\newcommand{\@city}{Москва}
190\newcommand{\city}[1]{
164\newcommand{\city}[1]{
191 \renewcommand{\@city}{#1}
165 \renewcommand{\@city}{#1}
194\newcommand{\@titleTable}{
168\newcommand{\@titleTable}{
195−\reversemarginpar\marginpar{\rotatebox{90}{\begin{tabular}{|p{25mm}|p{35mm}|p{25mm}|p{25mm}|p{35mm}|}
169+\reversemarginpar\marginpar{\rotatebox{90}{\begin{tabular}{|l|l|l|l|l|}
197− \rule{0mm}{5mm}\IfLanguageName{english}{inv. num. of orig.}{Инв. \textnumero~подл} & \IfLanguageName{english}{Sig. and date}{Подп. и дата} & \IfLanguageName{english}{inv. num}{Взам. инв. \textnumero}& \IfLanguageName{english}{inv. num. of copy}{Инв. \textnumero~дубл.}&\IfLanguageName{english}{Sig. and date}{Подп. и дата}\\
171+ Инв. \textnumero~подл & Подп. и дата & Взам. инв. \textnumero& Инв. \textnumero~дубл.&Подп. и дата\\
199− \rule{0mm}{7mm}& & & & \\
173+ & & & & \\
201−\end{tabular}}}
175+\end{tabular}}}
204\titleformat{\subsection}{\normalfont\large\bfseries\raggedright}{\thesubsection.~}{0mm}{}
178\titleformat{\subsection}{\normalfont\large\bfseries\raggedright}{\thesubsection.~}{0mm}{}
@@ -220,11 +194,11 @@
220 \@startAdditions
194 \@startAdditions
221 \stepcounter{section}
195 \stepcounter{section}
222 \begin{flushright}
196 \begin{flushright}
223− \Large \textbf{\textsc{\IfLanguageName{english}{appendix}{приложение} \asbuk{section}}}
197+ \Large \textbf{\textsc{приложение \arabic{section}}}
224 \end{flushright}
198 \end{flushright}
225 \setcounter{@tempSection}{\arabic{section}}
199 \setcounter{@tempSection}{\arabic{section}}
226 \setcounter{secnumdepth}{0}
200 \setcounter{secnumdepth}{0}
227− \section[Приложение \Asbuk{@tempSection}]{#1}
201+ \section[Приложение \arabic{@tempSection}]{#1}
228 \setcounter{secnumdepth}{4}
202 \setcounter{secnumdepth}{4}
@@ -233,51 +207,51 @@
233\newcommand{\@LU}{
207\newcommand{\@LU}{
234 \begin{center}
208 \begin{center}
235 \textsc{\textbf{\@institute}}
209 \textsc{\textbf{\@institute}}
236− \par\vspace{5mm}
210+ \par\vspace{5mm}
237 \upshape\mdseries
211 \upshape\mdseries
238 \@faculty
212 \@faculty
240− \par\vspace{10mm}
214+ \par\vspace{10mm}
242 \begin{tabular}[h!]{P{0.45\textwidth} P{0.45\textwidth}}
216 \begin{tabular}[h!]{P{0.45\textwidth} P{0.45\textwidth}}
244− \textit{\IfLanguageName{english}{COORDINATED}{СОГЛАСОВАНО}} & \textsl{\IfLanguageName{english}{APPROVED}{УТВЕРЖДАЮ}}\\
218+ \textit{СОГЛАСОВАНО} & \textsl{УТВЕРЖДАЮ}\\
246− \@academicTeacherTitle & \@academicSupervisorTitle \\
220+ \@academicTeacherTitle & \@academicSupervisorTitle \\
248− \underline{\hspace{4cm}} \@academicTeacherName & \underline{\hspace{4cm}} \@academicSupervisorName \\
222+ \underline{\hspace{4cm}} \@academicTeacherName & \underline{\hspace{4cm}} \@academicSupervisorName \\
249− <<\underline{\hspace{1cm}}>> \underline{\hspace{3cm}} \@year{} \IfLanguageName{english}{}{г.} & <<\underline{\hspace{1cm}}>> \underline{\hspace{3cm}} \@year{} \IfLanguageName{english}{}{г.}\\
223+ <<\underline{\hspace{1cm}}>> \underline{\hspace{3cm}} \@year{} г. & <<\underline{\hspace{1cm}}>> \underline{\hspace{3cm}} \@year{} г.\\
250 \end{tabular}
224 \end{tabular}
253 \vspace{15mm}
227 \vspace{15mm}
254 {\LARGE{\textsc{\textbf{\MakeLowercase{\@title}}}}}
228 {\LARGE{\textsc{\textbf{\MakeLowercase{\@title}}}}}
256 \vspace{6mm}
230 \vspace{6mm}
258 \textbf{\@documentTitle}
232 \textbf{\@documentTitle}
260 \vspace{6mm}
234 \vspace{6mm}
262− \textbf{\textsc{\IfLanguageName{english}{Approval Sheet}{Лист Утверждения}}}
236+ \textbf{\textsc{Лист Утверждения}}
264 \vspace{6mm}
238 \vspace{6mm}
266 \textbf{\@documentCode{}-ЛУ}
240 \textbf{\@documentCode{}-ЛУ}
268 \end{center}
242 \end{center}
273 \begin{tabular}{c}
247 \begin{tabular}{c}
275− \IfLanguageName{english}{Author}{Исполнитель}: \@authorTitle
249+ Исполнитель: \@authorTitle
277 \underline{\hspace{4cm}} \@author
251 \underline{\hspace{4cm}} \@author
279− <<\underline{\hspace{1cm}}>> \underline{\hspace{4cm}} \@year\IfLanguageName{english}{}{~г.}
253+ <<\underline{\hspace{1cm}}>> \underline{\hspace{4cm}} \@year~г.
280− \end{tabular}
254+ \end{tabular}
282 \@titleTable
256 \@titleTable
@@ -286,7 +260,7 @@
286 \begin{center}
260 \begin{center}
287 \@city~\@year
261 \@city~\@year
288 \end{center}
262 \end{center}
290 \vspace{-20mm}
264 \vspace{-20mm}
@@ -297,52 +271,52 @@
297\renewcommand{\maketitle}{
271\renewcommand{\maketitle}{
298 \pagestyle{empty}
272 \pagestyle{empty}
299 \clearpage
273 \clearpage
301 \begin{titlepage}
275 \begin{titlepage}
307− \textbf{\textsc{\IfLanguageName{english}{Approved}{Утверждён}}}
281+ \textbf{\textsc{Утверждён}}
309 \textbf{\@documentCode{}-ЛУ}
283 \textbf{\@documentCode{}-ЛУ}
311 \vspace{40mm}
285 \vspace{40mm}
313 \begin{center}
287 \begin{center}
314− {\LARGE{\textsc{\textbf{\MakeLowercase{\@title}}}}}
288+ {\LARGE{\textsc{\textbf{\MakeLowercase{\@title}}}}}
316 \vspace{6mm}
290 \vspace{6mm}
318 \textbf{\@documentTitle}
292 \textbf{\@documentTitle}
320 \vspace{6mm}
294 \vspace{6mm}
322 \textbf{\@documentCode}
296 \textbf{\@documentCode}
324 \vspace{6mm}
298 \vspace{6mm}
326− \textbf{\IfLanguageName{english}{\pageref{LastPage} pages}{Листов \pageref{LastPage}}}
300+ \textbf{Листов \pageref{LastPage}}
328 \end{center}
302 \end{center}
332 \@titleTable
306 \@titleTable
334 \vspace{80mm}
308 \vspace{80mm}
336 \begin{center}
310 \begin{center}
337 \@city~\@year
311 \@city~\@year
338 \end{center}
312 \end{center}
340 \vspace{-20mm}
314 \vspace{-20mm}
342 \end{titlepage}
316 \end{titlepage}
344 \pagestyle{fancy}
318 \pagestyle{fancy}
346 \setcounter{page}{2}
320 \setcounter{page}{2}
@@ -350,20 +324,18 @@
350\newcommand{\registrationList}{%
324\newcommand{\registrationList}{%
351 \clearpage
325 \clearpage
354 \@startAdditions
328 \@startAdditions
356− % \setcounter{secnumdepth}{0}
330+ \setcounter{secnumdepth}{0}
357− \section*{\IfLanguageName{english}{Change registration sheet}{Лист регистрации изменений}}
331+ \section{Лист регистрации изменений}
358− % \setcounter{secnumdepth}{4}
332+ \setcounter{secnumdepth}{4}
362 \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}|}
334 \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}|}
365− \multirow{2}{*}{\IfLanguageName{english}{\shortstack[l]{Cha-\\nge}}{Изм.}} & \multicolumn{4}{c|}{\IfLanguageName{english}{Page number}{Номера листов}} & \IfLanguageName{english}{Total number of pages}{Всего листов в документе} & \IfLanguageName{english}{Document number}{\textnumero{} доку-мента} & \IfLanguageName{english}{Number of accompanying documents and date}{Входящий \textnumero{} сопрово-дит.~докум. и дата} & \IfLanguageName{english}{Sig-na-ture}{Под-пись} & \IfLanguageName{english}{Date}{Дата} \\ [5ex] \cline{2-5}
337+ \multirow{2}{*}{Изм.} & \multicolumn{4}{c|}{Номера листов} & Всего листов в документе & \textnumero{} доку-мента & Входящий \textnumero{} сопрово-дит.~докум. и дата & Под-пись & Дата \\ [5ex] \cline{2-5}
366− & \IfLanguageName{english}{Mo-di-fied}{из-ме-нен-ных} & \IfLanguageName{english}{Re-pla-ced}{заме-нен-ных} & \IfLanguageName{english}{Ad-ded}{но-вых} & \IfLanguageName{english}{An-nul-led}{анну-лиро-ван-ных} & & & & & \\[10ex]
338+ & из-ме-нен-ных & заме-нен-ных & но-вых & аннул-лиро-ван-ных & & & & & \\[10ex]
368 & & & & & & & & & \\[5ex]
340 & & & & & & & & & \\[5ex]
@@ -392,21 +364,16 @@
392 & & & & & & & & & \\[5ex]
364 & & & & & & & & & \\[5ex]
394 \end{tabular}
366 \end{tabular}
405\newcommand{\programmingLanguage}[1]{
372\newcommand{\programmingLanguage}[1]{
406− \lstset{language=#1}
373+ \lstset{language=#1}
409−%% [#1]: ref id
376+%% [#1]: ref id
410%% #2: file
377%% #2: file
411%% #3: caption
378%% #3: caption
412\newcommand{\floatCode}[3][]{
379\newcommand{\floatCode}[3][]{
@@ -418,17 +385,7 @@
420\newcommand{\code}[1]{%
387\newcommand{\code}[1]{%
421− \lstinputlisting[frame=single,basicstyle=\footnotesize\ttfamily]{#1}
424−\renewcommand{\code}[2]{%
425− \lstinputlisting [frame=single, basicstyle=\footnotesize\ttfamily, caption={#2}, captionpos=b] {#1}
388+ \lstinputlisting[frame=single,basicstyle=\footnotesize\ttfamily]{#1}
428−\newcommand{\lcode}[1]{
434% [#1]: caption
391% [#1]: caption
@@ -465,8 +422,4 @@
466\titleformat{\section}[block]{\Large\bfseries\filcenter}{\thesection.}{0mm}{~}
423\titleformat{\section}[block]{\Large\bfseries\filcenter}{\thesection.}{0mm}{~}
468−\newcommand{\sectionsAreChapters}{
469− \titleformat{\section}[block]{\Large\bfseries\filcenter}{\IfLanguageName{english}{Chapter}{Глава} \thesection.}{0mm}{~}
472\newcommand{\sectionbreak}{\clearpage}
425\newcommand{\sectionbreak}{\clearpage}