on master help sign in
TechDoc.cls+109−77
since splitsnapshots
unifiedsplit
@@ -1,6 +1,6 @@
1% creator: ilyakooo0
1% creator: ilyakooo0
2% extra credit: dashared
2% extra credit: dashared
3−% version: 1.0.2
3+% version: 1.0.4
4
4
5\NeedsTeXFormat{LaTeX2e}
5\NeedsTeXFormat{LaTeX2e}
6
6
@@ -27,6 +27,8 @@
27\RequirePackage{enumitem}
27\RequirePackage{enumitem}
28\RequirePackage{tocloft}
28\RequirePackage{tocloft}
29\RequirePackage{caption}
29\RequirePackage{caption}
30+\RequirePackage{etoolbox}
31+\RequirePackage{iflang}
30
32
31\setcounter{secnumdepth}{4}
33\setcounter{secnumdepth}{4}
32
34
@@ -43,13 +45,12 @@
43
45
44
46
45\setenumerate[1]{label={\arabic*)}}
47\setenumerate[1]{label={\arabic*)}}
46−\setenumerate[2]{label={\asbuk*)}}
48+\setenumerate[2]{label={--}}
47−\setenumerate[3]{label={\roman*)}}
49+\setenumerate[3]{label={\asbuk*)}}
48
50
51+\DeclareUnicodeCharacter{306}{{\color{red} \textbf{По всей видимости либо ты откуда-то не очень хорошо скопировал, либо у тебя с вводом что-то не то, потому что буква Й у тебя состоит из двух скаляров юникода. Удали этот Й и напечатай его заново. (Выйди и зайди нормально)} }}
49
52
50−\DeclareUnicodeCharacter{306}{{\color{red} \textbf{По всей видимости либо ты откуда-то не очень хорошо скопировал, либо у тиебя с вводом что-то не то потому что буква Й у тебя состоит из двух скаляров юникода. Удали этот Й и напечатай его заново. (Выйди и зайди норимально)} }}
51−
52−\RequirePackage[main=russian,english]{babel}
53+\RequirePackage[russian,english]{babel}
53
54
54\titlelabel{\thetitle.~}
55\titlelabel{\thetitle.~}
55
56
@@ -70,9 +71,17 @@
70}
71}
71
72
72\geometry{left=20mm, right=10mm, top=25mm, bottom=25mm, headheight=25mm}
73\geometry{left=20mm, right=10mm, top=25mm, bottom=25mm, headheight=25mm}
73−
74+
75+\DeclareCaptionLabelSeparator{emdash}{ --- }
76+\captionsetup{
77+ justification=centering,
78+ singlelinecheck=false,
79+ labelsep=emdash
80+}
81+
82+
74 %% Header
83 %% Header
75−
84+
76\pagestyle{fancy}
85\pagestyle{fancy}
77\fancyhf{}
86\fancyhf{}
78\fancyhead[C]{
87\fancyhead[C]{
@@ -88,11 +97,11 @@
88 \begin{tabular}{|p{0.30\linewidth}|p{0.14\linewidth}|p{0.15\linewidth}|p{0.14\linewidth}|p{0.14\linewidth}|}
97 \begin{tabular}{|p{0.30\linewidth}|p{0.14\linewidth}|p{0.15\linewidth}|p{0.14\linewidth}|p{0.14\linewidth}|}
89 \hline
98 \hline
90 & & & & \\ \hline
99 & & & & \\ \hline
91− Изм. & Лист & \textnumero~докум. & Подп. & Дата\\
100+ \IfLanguageName{english}{Change}{Изм.} & \IfLanguageName{english}{Page}{Лист} & \IfLanguageName{english}{Document num.}{\textnumero~докум.} & \IfLanguageName{english}{Signature}{Подп.} & \IfLanguageName{english}{Date}{Дата}\\
92 \hline
101 \hline
93 \footnotesize{\@documentCode}& & & &\\
102 \footnotesize{\@documentCode}& & & &\\
94 \hline
103 \hline
95− Инв. \textnumero~подл. & Подп. и дата & Взам. инв. \textnumero & Инв. \textnumero~дубл.& Подп. и дата \\
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}{Подп. и дата} \\
96 \hline
105 \hline
97 \end{tabular}
106 \end{tabular}
98 }
107 }
@@ -118,15 +127,21 @@
118 \renewcommand{\@title}{#1}
127 \renewcommand{\@title}{#1}
119}
128}
120
129
130+\newcommand{\@institute}{
131+ \IfLanguageName{english}
132+ {national research university\\<<higher school of economics>>}
121−\newcommand{\@institute}{правительство российской федерации\\
133+ {правительство российской федерации\\
122 национальный исследовательский университет \\
134 национальный исследовательский университет \\
123− «высшая школа экономики»}
135+ «высшая школа экономики»}}
124\newcommand{\institute}[1]{
136\newcommand{\institute}[1]{
125 \renewcommand{\@institute}{#1}
137 \renewcommand{\@institute}{#1}
126}
138}
127
139
140+\newcommand{\@faculty}{
141+ \IfLanguageName{english}
142+ {Faculty of Computer Science}
128−\newcommand{\@faculty}{Факультет компьютерных наук\\
143+ {Факультет компьютерных наук\\
129− Департамент программной инженерии}
144+ Департамент программной инженерии}}
130\newcommand{\faculty}[1]{
145\newcommand{\faculty}[1]{
131 \renewcommand{\@faculty}{#1}
146 \renewcommand{\@faculty}{#1}
132}
147}
@@ -138,9 +153,12 @@
138 \renewcommand{\@academicTeacherName}{#2}
153 \renewcommand{\@academicTeacherName}{#2}
139}
154}
140
155
141−\newcommand{\@academicSupervisorName}{В. В. Шилов}
156+\newcommand{\@academicSupervisorName}{\IfLanguageName{english}{V. V. Shilov}{В. В. Шилов}}
157+\newcommand{\@academicSupervisorTitle}{
158+ \IfLanguageName{english}
159+ {Academic supervisor of the <<software engineering>> programme, PhD}
142−\newcommand{\@academicSupervisorTitle}{Академический руководитель образовательной программы «Программная инженерия»
160+ {Академический руководитель образовательной программы «Программная инженерия»
143− профессор департамента программной инженерии, канд. техн. наук}
161+ профессор департамента программной инженерии, канд. техн. наук}}
144\newcommand{\academicSupervisor}[2]{
162\newcommand{\academicSupervisor}[2]{
145 \renewcommand{\@academicSupervisorTitle}{#1}
163 \renewcommand{\@academicSupervisorTitle}{#1}
146 \renewcommand{\@academicSupervisorName}{#2}
164 \renewcommand{\@academicSupervisorName}{#2}
@@ -168,7 +186,7 @@
168 \renewcommand{\@year}{#1}
186 \renewcommand{\@year}{#1}
169}
187}
170
188
171−\newcommand{\@city}{Москва}
189+\newcommand{\@city}{\IfLanguageName{english}{Moscow}{Москва}}
172\newcommand{\city}[1]{
190\newcommand{\city}[1]{
173 \renewcommand{\@city}{#1}
191 \renewcommand{\@city}{#1}
174}
192}
@@ -176,11 +194,11 @@
176\newcommand{\@titleTable}{
194\newcommand{\@titleTable}{
177\reversemarginpar\marginpar{\rotatebox{90}{\begin{tabular}{|p{25mm}|p{35mm}|p{25mm}|p{25mm}|p{35mm}|}
195\reversemarginpar\marginpar{\rotatebox{90}{\begin{tabular}{|p{25mm}|p{35mm}|p{25mm}|p{25mm}|p{35mm}|}
178 \hline
196 \hline
179− \rule{0mm}{5mm}Инв. \textnumero~подл & Подп. и дата & Взам. инв. \textnumero& Инв. \textnumero~дубл.&Подп. и дата\\
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}{Подп. и дата}\\
180 \hline
198 \hline
181 \rule{0mm}{7mm}& & & & \\
199 \rule{0mm}{7mm}& & & & \\
182 \hline
200 \hline
183−\end{tabular}}}
201+\end{tabular}}}
184}
202}
185
203
186\titleformat{\subsection}{\normalfont\large\bfseries\raggedright}{\thesubsection.~}{0mm}{}
204\titleformat{\subsection}{\normalfont\large\bfseries\raggedright}{\thesubsection.~}{0mm}{}
@@ -202,11 +220,11 @@
202 \@startAdditions
220 \@startAdditions
203 \stepcounter{section}
221 \stepcounter{section}
204 \begin{flushright}
222 \begin{flushright}
205− \Large \textbf{\textsc{приложение \arabic{section}}}
223+ \Large \textbf{\textsc{\IfLanguageName{english}{appendix}{приложение} \asbuk{section}}}
206 \end{flushright}
224 \end{flushright}
207 \setcounter{@tempSection}{\arabic{section}}
225 \setcounter{@tempSection}{\arabic{section}}
208 \setcounter{secnumdepth}{0}
226 \setcounter{secnumdepth}{0}
209− \section[Приложение \arabic{@tempSection}]{#1}
227+ \section[Приложение \Asbuk{@tempSection}]{#1}
210 \setcounter{secnumdepth}{4}
228 \setcounter{secnumdepth}{4}
211}
229}
212
230
@@ -215,51 +233,51 @@
215\newcommand{\@LU}{
233\newcommand{\@LU}{
216 \begin{center}
234 \begin{center}
217 \textsc{\textbf{\@institute}}
235 \textsc{\textbf{\@institute}}
218− \par\vspace{5mm}
236+ \par\vspace{5mm}
219 \upshape\mdseries
237 \upshape\mdseries
220 \@faculty
238 \@faculty
221
239
222− \par\vspace{10mm}
240+ \par\vspace{10mm}
223−
241+
224 \begin{tabular}[h!]{P{0.45\textwidth} P{0.45\textwidth}}
242 \begin{tabular}[h!]{P{0.45\textwidth} P{0.45\textwidth}}
225−
243+
226− \textit{СОГЛАСОВАНО} & \textsl{УТВЕРЖДАЮ}\\
244+ \textit{\IfLanguageName{english}{COORDINATED}{СОГЛАСОВАНО}} & \textsl{\IfLanguageName{english}{APPROVED}{УТВЕРЖДАЮ}}\\
227 & \\
245 & \\
228− \@academicTeacherTitle & \@academicSupervisorTitle \\
246+ \@academicTeacherTitle & \@academicSupervisorTitle \\
229 & \\
247 & \\
230− \underline{\hspace{4cm}} \@academicTeacherName & \underline{\hspace{4cm}} \@academicSupervisorName \\
248+ \underline{\hspace{4cm}} \@academicTeacherName & \underline{\hspace{4cm}} \@academicSupervisorName \\
231− <<\underline{\hspace{1cm}}>> \underline{\hspace{3cm}} \@year{} г. & <<\underline{\hspace{1cm}}>> \underline{\hspace{3cm}} \@year{} г.\\
249+ <<\underline{\hspace{1cm}}>> \underline{\hspace{3cm}} \@year{} \IfLanguageName{english}{}{г.} & <<\underline{\hspace{1cm}}>> \underline{\hspace{3cm}} \@year{} \IfLanguageName{english}{}{г.}\\
232 \end{tabular}
250 \end{tabular}
233
251
234−
252+
235 \vspace{15mm}
253 \vspace{15mm}
236 {\LARGE{\textsc{\textbf{\MakeLowercase{\@title}}}}}
254 {\LARGE{\textsc{\textbf{\MakeLowercase{\@title}}}}}
237−
255+
238 \vspace{6mm}
256 \vspace{6mm}
239
257
240 \textbf{\@documentTitle}
258 \textbf{\@documentTitle}
241−
259+
242 \vspace{6mm}
260 \vspace{6mm}
243
261
244− \textbf{\textsc{Лист Утверждения}}
262+ \textbf{\textsc{\IfLanguageName{english}{Approval Sheet}{Лист Утверждения}}}
245
263
246 \vspace{6mm}
264 \vspace{6mm}
247
265
248 \textbf{\@documentCode{}-ЛУ}
266 \textbf{\@documentCode{}-ЛУ}
249
267
250 \end{center}
268 \end{center}
251−
269+
252−
270+
253 \vfill
271 \vfill
254 \hfill
272 \hfill
255 \begin{tabular}{c}
273 \begin{tabular}{c}
256− \\
274+ \\
257− Исполнитель: \@authorTitle
275+ \IfLanguageName{english}{Author}{Исполнитель}: \@authorTitle
258− \\
276+ \\
259 \underline{\hspace{4cm}} \@author
277 \underline{\hspace{4cm}} \@author
260− \\
278+ \\
261− <<\underline{\hspace{1cm}}>> \underline{\hspace{4cm}} \@year~г.
279+ <<\underline{\hspace{1cm}}>> \underline{\hspace{4cm}} \@year\IfLanguageName{english}{}{~г.}
262− \end{tabular}
280+ \end{tabular}
263
281
264 \@titleTable
282 \@titleTable
265
283
@@ -268,7 +286,7 @@
268 \begin{center}
286 \begin{center}
269 \@city~\@year
287 \@city~\@year
270 \end{center}
288 \end{center}
271−
289+
272 \vspace{-20mm}
290 \vspace{-20mm}
273}
291}
274
292
@@ -279,52 +297,52 @@
279\renewcommand{\maketitle}{
297\renewcommand{\maketitle}{
280 \pagestyle{empty}
298 \pagestyle{empty}
281 \clearpage
299 \clearpage
282−
300+
283 \begin{titlepage}
301 \begin{titlepage}
284−
302+
285 \@LU
303 \@LU
286−
304+
287 \newpage
305 \newpage
288−
306+
289− \textbf{\textsc{Утверждён}}
307+ \textbf{\textsc{\IfLanguageName{english}{Approved}{Утверждён}}}
290−
308+
291 \textbf{\@documentCode{}-ЛУ}
309 \textbf{\@documentCode{}-ЛУ}
292−
310+
293 \vspace{40mm}
311 \vspace{40mm}
294−
312+
295 \begin{center}
313 \begin{center}
296− {\LARGE{\textsc{\textbf{\MakeLowercase{\@title}}}}}
314+ {\LARGE{\textsc{\textbf{\MakeLowercase{\@title}}}}}
297−
315+
298 \vspace{6mm}
316 \vspace{6mm}
299−
317+
300 \textbf{\@documentTitle}
318 \textbf{\@documentTitle}
301−
319+
302 \vspace{6mm}
320 \vspace{6mm}
303−
321+
304 \textbf{\@documentCode}
322 \textbf{\@documentCode}
305−
323+
306 \vspace{6mm}
324 \vspace{6mm}
307−
325+
308− \textbf{Листов \pageref{LastPage}}
326+ \textbf{\IfLanguageName{english}{\pageref{LastPage} pages}{Листов \pageref{LastPage}}}
309
327
310 \end{center}
328 \end{center}
311−
329+
312 \vfill
330 \vfill
313−
331+
314 \@titleTable
332 \@titleTable
315−
333+
316 \vspace{80mm}
334 \vspace{80mm}
317
335
318 \begin{center}
336 \begin{center}
319 \@city~\@year
337 \@city~\@year
320 \end{center}
338 \end{center}
321−
339+
322 \vspace{-20mm}
340 \vspace{-20mm}
323
341
324 \end{titlepage}
342 \end{titlepage}
325−
343+
326 \pagestyle{fancy}
344 \pagestyle{fancy}
327−
345+
328 \setcounter{page}{2}
346 \setcounter{page}{2}
329}
347}
330
348
@@ -332,20 +350,20 @@
332\newcommand{\registrationList}{%
350\newcommand{\registrationList}{%
333 \clearpage
351 \clearpage
334 \newpage
352 \newpage
335−
353+
336 \@startAdditions
354 \@startAdditions
337−
355+
338 % \setcounter{secnumdepth}{0}
356 % \setcounter{secnumdepth}{0}
339− \section*{Лист регистрации изменений}
357+ \section*{\IfLanguageName{english}{Change registration sheet}{Лист регистрации изменений}}
340 % \setcounter{secnumdepth}{4}
358 % \setcounter{secnumdepth}{4}
341−
359+
342 \cfoot{}
360 \cfoot{}
343−
361+
344 \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}|}
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}|}
345−
363+
346 \hline
364 \hline
347− \multirow{2}{*}{Изм.} & \multicolumn{4}{c|}{Номера листов} & Всего листов в документе & \textnumero{} доку-мента & Входящий \textnumero{} сопрово-дит.~докум. и дата & Под-пись & Дата \\ [5ex] \cline{2-5}
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}
348− & из-ме-нен-ных & заме-нен-ных & но-вых & аннул-лиро-ван-ных & & & & & \\[10ex]
366+ & \IfLanguageName{english}{Mo-di-fied}{из-ме-нен-ных} & \IfLanguageName{english}{Re-pla-ced}{заме-нен-ных} & \IfLanguageName{english}{Ad-ded}{но-вых} & \IfLanguageName{english}{An-nul-led}{анну-лиро-ван-ных} & & & & & \\[10ex]
349 \hline
367 \hline
350 & & & & & & & & & \\[5ex]
368 & & & & & & & & & \\[5ex]
351 \hline
369 \hline
@@ -374,7 +392,7 @@
374 & & & & & & & & & \\[5ex]
392 & & & & & & & & & \\[5ex]
375 \hline
393 \hline
376 \end{tabular}
394 \end{tabular}
377−
395+
378 \newpage
396 \newpage
379 \cfoot{
397 \cfoot{
380 \@foot
398 \@foot
@@ -385,10 +403,10 @@
385%% Code
403%% Code
386
404
387\newcommand{\programmingLanguage}[1]{
405\newcommand{\programmingLanguage}[1]{
388− \lstset{language=#1}
406+ \lstset{language=#1}
389}
407}
390
408
391−%% [#1]: ref id
409+%% [#1]: ref id
392%% #2: file
410%% #2: file
393%% #3: caption
411%% #3: caption
394\newcommand{\floatCode}[3][]{
412\newcommand{\floatCode}[3][]{
@@ -400,7 +418,17 @@
400}
418}
401
419
402\newcommand{\code}[1]{%
420\newcommand{\code}[1]{%
403− \lstinputlisting[frame=single,basicstyle=\footnotesize\ttfamily]{#1}
421+ \lstinputlisting[frame=single,basicstyle=\footnotesize\ttfamily]{#1}
422+}
423+
424+\renewcommand{\code}[2]{%
425+ \lstinputlisting [frame=single, basicstyle=\footnotesize\ttfamily, caption={#2}, captionpos=b] {#1}
426+}
427+
428+\newcommand{\lcode}[1]{
429+ \begin{lstlisting}%
430+#1
431+ \end{lstlisting}%
404}
432}
405
433
406% [#1]: caption
434% [#1]: caption
@@ -437,4 +465,8 @@
437
465
438\titleformat{\section}[block]{\Large\bfseries\filcenter}{\thesection.}{0mm}{~}
466\titleformat{\section}[block]{\Large\bfseries\filcenter}{\thesection.}{0mm}{~}
439
467
468+\newcommand{\sectionsAreChapters}{
469+ \titleformat{\section}[block]{\Large\bfseries\filcenter}{\IfLanguageName{english}{Chapter}{Глава} \thesection.}{0mm}{~}
470+}
471+
440\newcommand{\sectionbreak}{\clearpage}
472\newcommand{\sectionbreak}{\clearpage}
example/tz.pdf

Binary file not shown.

example/tz.tex+2
@@ -2,6 +2,8 @@
2% extra credit: dashared
2% extra credit: dashared
3% version: 1.0.1
3% version: 1.0.1
4
4
5+\PassOptionsToPackage{main=russian,english}{babel}
6+
5\documentclass{../TechDoc}
7\documentclass{../TechDoc}
6
8
7\title{Редактор векторных изображений на платформе iOS <<Dotrix>>}
9\title{Редактор векторных изображений на платформе iOS <<Dotrix>>}