Init
This commit is contained in:
@@ -0,0 +1,4 @@
|
||||
from md2gost.latex.preamble import END_DOCUMENT, PREAMBLE
|
||||
from md2gost.latex.titlepage import render_titlepage
|
||||
|
||||
__all__ = ["END_DOCUMENT", "PREAMBLE", "render_titlepage"]
|
||||
@@ -0,0 +1,49 @@
|
||||
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[english, main=russian]{babel}
|
||||
\usepackage{textcomp}
|
||||
\usepackage{indentfirst}
|
||||
\usepackage{graphicx}
|
||||
\graphicspath{ {./images/} }
|
||||
\usepackage{wrapfig}
|
||||
\linespread{1.3}
|
||||
\sloppy
|
||||
\clubpenalty=10000
|
||||
\widowpenalty=10000
|
||||
\usepackage{enumitem}
|
||||
\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,
|
||||
breakatwhitespace=false,
|
||||
breaklines=true,
|
||||
captionpos=t,
|
||||
inputencoding=utf8,
|
||||
frame=single,
|
||||
keepspaces=true,
|
||||
keywordstyle=\bf,
|
||||
numbers=left,
|
||||
numbersep=5pt,
|
||||
xleftmargin=25pt,
|
||||
xrightmargin=25pt,
|
||||
showspaces=false,
|
||||
showstringspaces=false,
|
||||
showtabs=false,
|
||||
stepnumber=1,
|
||||
tabsize=2,
|
||||
}
|
||||
\usepackage{amsthm,amsfonts,amsmath,amssymb,amscd}
|
||||
\usepackage{mathtools}
|
||||
\usepackage[perpage]{footmisc}
|
||||
|
||||
\begin{document}"""
|
||||
|
||||
END_DOCUMENT = r"\end{document}"
|
||||
@@ -0,0 +1,84 @@
|
||||
from __future__ import annotations
|
||||
|
||||
|
||||
def render_titlepage(fm: dict[str, str]) -> str:
|
||||
faculty = fm.get("факультет", "")
|
||||
department = fm.get("кафедра", "")
|
||||
title = fm.get("название", "")
|
||||
student = fm.get("студент", "")
|
||||
advisor = fm.get("преподаватель", "")
|
||||
group = fm.get("группа", "")
|
||||
|
||||
header_lines = [
|
||||
r"\vspace*{-0.7ex}",
|
||||
r"\hspace*{-6pt}\centerline{Министерство науки и высшего образования Российской Федерации}",
|
||||
r"\vspace*{-0.7ex}",
|
||||
r"\centerline{Федеральное государственное бюджетное образовательное учреждение }",
|
||||
r"\vspace*{-0.7ex}",
|
||||
r"\centerline{высшего образования}",
|
||||
r"\vspace*{-0.7ex}",
|
||||
r"\centerline{<<Московский государственный технический университет}",
|
||||
r"\vspace*{-0.7ex}",
|
||||
r"\centerline{имени Н.Э. Баумана>>}",
|
||||
r"\vspace*{-0.7ex}",
|
||||
r"\centerline{(МГТУ им. Н.Э. Баумана)}",
|
||||
]
|
||||
header = "\n".join(header_lines)
|
||||
|
||||
return (
|
||||
"\\begin{titlepage}\n"
|
||||
"\\thispagestyle{empty}\n"
|
||||
"\\newpage\n"
|
||||
"\n"
|
||||
"\\vspace*{-60pt}\n"
|
||||
"\\hspace{-65pt}\n"
|
||||
"\\begin{minipage}{0.3\\textwidth}\n"
|
||||
"\\hspace*{-20pt}\\centering\n"
|
||||
"\\includegraphics[width=\\textwidth]{emblem}\n"
|
||||
"\\end{minipage}\n"
|
||||
f"\\begin{{minipage}}{{0.67\\textwidth}}\\small \\textbf{{\n"
|
||||
f"{header}\n"
|
||||
"}}\n"
|
||||
"\\end{minipage}\n"
|
||||
"\n"
|
||||
"\\vspace{-25pt}\n"
|
||||
"\\hspace{-35pt}\\rule{\\textwidth}{2.3pt}\n"
|
||||
"\n"
|
||||
"\\vspace*{-20.3pt}\n"
|
||||
"\\hspace{-35pt}\\rule{\\textwidth}{0.4pt}\n"
|
||||
"\n"
|
||||
f"\\vspace{{1.5ex}}\n"
|
||||
f"\\hspace{{-35pt}} \\noindent \\small ФАКУЛЬТЕТ\\hspace{{80pt}} {faculty}\n"
|
||||
"\n"
|
||||
"\\vspace*{-16pt}\n"
|
||||
"\\hspace{47pt}\\rule{0.83\\textwidth}{0.4pt}\n"
|
||||
"\n"
|
||||
f"\\vspace{{0.5ex}}\n"
|
||||
f"\\hspace{{-35pt}} \\noindent \\small КАФЕДРА\\hspace{{50pt}} {department}\n"
|
||||
"\n"
|
||||
"\\vspace*{-16pt}\n"
|
||||
"\\hspace{30pt}\\rule{0.866\\textwidth}{0.4pt}\n"
|
||||
"\n"
|
||||
"\\vspace{11em}\n"
|
||||
"\n"
|
||||
"\\begin{center}\n"
|
||||
f"\\Large {{\\bf {title}}} \\\\\n"
|
||||
"\\end{center}\\normalsize\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"
|
||||
"\n"
|
||||
"\\bigskip\n"
|
||||
"\n"
|
||||
"\\vfill\n"
|
||||
"\n"
|
||||
"\\begin{center}\n"
|
||||
"\\textsl{Москва 2025}\n"
|
||||
"\\end{center}\n"
|
||||
"\\end{titlepage}"
|
||||
)
|
||||
Reference in New Issue
Block a user