[UPDATE] рефакторинг: handlers, fontspec, Docker optimization
This commit is contained in:
@@ -1,25 +1,29 @@
|
||||
PREAMBLE = r"""\documentclass[a4paper, 14pt]{extarticle}
|
||||
\usepackage{geometry}
|
||||
\geometry{a4paper,tmargin=2cm,bmargin=2cm,lmargin=3cm,rmargin=1cm}
|
||||
\usepackage[T2A]{fontenc}
|
||||
\usepackage[utf8]{inputenc}
|
||||
\usepackage{fontspec}
|
||||
\setmainfont{Liberation Serif}
|
||||
\setsansfont{Liberation Sans}
|
||||
\setmonofont{Liberation Mono}
|
||||
\usepackage[english, main=russian]{babel}
|
||||
\usepackage{textcomp}
|
||||
\usepackage{indentfirst}
|
||||
\setlength{\parindent}{1.25cm}
|
||||
\usepackage{setspace}
|
||||
\onehalfspacing
|
||||
\usepackage{graphicx}
|
||||
\graphicspath{ {./images/} }
|
||||
\graphicspath{ {./} {./images/} }
|
||||
\usepackage{wrapfig}
|
||||
\linespread{1.3}
|
||||
\sloppy
|
||||
\clubpenalty=10000
|
||||
\widowpenalty=10000
|
||||
\usepackage{enumitem}
|
||||
\setlist[enumerate,1]{label=\arabic*., leftmargin=1.25cm, itemsep=0pt, parsep=0pt}
|
||||
\usepackage{caption}
|
||||
\usepackage{hyperref}
|
||||
\hypersetup {unicode=true}
|
||||
\DeclareCaptionLabelSeparator*{emdash}{~--- }
|
||||
\captionsetup[figure]{labelsep=emdash,font=onehalfspacing,position=bottom}
|
||||
\usepackage{mathptmx}
|
||||
\usepackage{listings}
|
||||
\lstset{
|
||||
basicstyle=\ttfamily\footnotesize,
|
||||
|
||||
+14
-10
@@ -8,12 +8,13 @@ def render_titlepage(fm: dict[str, str]) -> str:
|
||||
student = fm.get("студент", "")
|
||||
advisor = fm.get("преподаватель", "")
|
||||
group = fm.get("группа", "")
|
||||
year = fm.get("год", "2026")
|
||||
|
||||
header_lines = [
|
||||
r"\vspace*{-0.7ex}",
|
||||
r"\hspace*{-6pt}\centerline{Министерство науки и высшего образования Российской Федерации}",
|
||||
r"\vspace*{-0.7ex}",
|
||||
r"\centerline{Федеральное государственное бюджетное образовательное учреждение }",
|
||||
r"\centerline{Федеральное государственное автономное образовательное учреждение}",
|
||||
r"\vspace*{-0.7ex}",
|
||||
r"\centerline{высшего образования}",
|
||||
r"\vspace*{-0.7ex}",
|
||||
@@ -21,6 +22,8 @@ def render_titlepage(fm: dict[str, str]) -> str:
|
||||
r"\vspace*{-0.7ex}",
|
||||
r"\centerline{имени Н.Э. Баумана>>}",
|
||||
r"\vspace*{-0.7ex}",
|
||||
r"\centerline{(национальный исследовательский университет)>>}",
|
||||
r"\vspace*{-0.7ex}",
|
||||
r"\centerline{(МГТУ им. Н.Э. Баумана)}",
|
||||
]
|
||||
header = "\n".join(header_lines)
|
||||
@@ -62,23 +65,24 @@ def render_titlepage(fm: dict[str, str]) -> str:
|
||||
"\\vspace{11em}\n"
|
||||
"\n"
|
||||
"\\begin{center}\n"
|
||||
f"\\Large {{\\bf {title}}} \\\\\n"
|
||||
"\\end{center}\\normalsize\n"
|
||||
f"\\fontsize{{22pt}}{{26pt}}\\selectfont \\bfseries {title} \\\\\n"
|
||||
"\\end{center}\n"
|
||||
"\n"
|
||||
"\\vspace{8em}\n"
|
||||
"\n"
|
||||
"\\begin{flushright}\n"
|
||||
f" {{Студент группы {group} {student} \\hspace*{{15pt}}\\\\\n"
|
||||
" \\vspace{2ex}\n"
|
||||
f" Преподаватель {advisor}\\hspace*{{15pt}}}}\n"
|
||||
"\\end{flushright}\n"
|
||||
"\\noindent Студент группы " + group + "\n"
|
||||
"\\hfill \\underline{\\hspace{3cm}} \\hfill \\underline{\\hspace{4cm}} \\\\\n"
|
||||
"\\hfill (Группа) \\hfill (Подпись, дата) \\hfill (И.О. Фамилия) \\\\\n"
|
||||
"\\vspace{2ex}\n"
|
||||
"\n"
|
||||
"\\bigskip\n"
|
||||
"\\noindent Преподаватель " + advisor + "\n"
|
||||
"\\hfill \\underline{\\hspace{3cm}} \\hfill \\underline{\\hspace{4cm}} \\\\\n"
|
||||
"\\hfill \\hfill (Подпись, дата) \\hfill (И.О. Фамилия)\n"
|
||||
"\n"
|
||||
"\\vfill\n"
|
||||
"\n"
|
||||
"\\begin{center}\n"
|
||||
"\\textsl{Москва 2025}\n"
|
||||
f"\\textsl{{{year} г.}}\n"
|
||||
"\\end{center}\n"
|
||||
"\\end{titlepage}"
|
||||
)
|
||||
|
||||
Reference in New Issue
Block a user