Files
md2gost/md2gost/latex/preamble.py
T

133 lines
4.4 KiB
Python

PREAMBLE = r"""\documentclass[a4paper, 14pt]{extarticle}
\usepackage{geometry}
\geometry{a4paper,tmargin=2cm,bmargin=2cm,lmargin=3cm,rmargin=1.5cm}
\usepackage{fontspec}
\setmainfont{Times New Roman}
\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/} }
\usepackage{float}
\usepackage{wrapfig}
\sloppy
\clubpenalty=10000
\widowpenalty=10000
\usepackage{enumitem}
\setlist[enumerate,1]{label=\arabic*., leftmargin=1.25cm, itemsep=0pt, parsep=0pt}
\setlist[itemize]{label={---}, leftmargin=1.25cm, itemsep=0pt, parsep=0pt}
\usepackage{caption}
\usepackage{hyperref}
\hypersetup {unicode=true}
\DeclareCaptionLabelSeparator*{emdash}{~--- }
\captionsetup[figure]{labelsep=emdash,font=onehalfspacing,position=bottom,name=Рисунок}
\captionsetup[table]{labelsep=emdash,font=onehalfspacing,position=top,name=Таблица,singlelinecheck=false,justification=raggedright}
\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{unicode-math}
\setmathfont{TeX Gyre Termes Math}
\usepackage[perpage]{footmisc}
\usepackage{tabularx}
\usepackage{titlesec}
\renewcommand{\thesection}{\arabic{section}}
\renewcommand{\thesubsection}{\thesection.\arabic{subsection}}
\renewcommand{\thesubsubsection}{\thesubsection.\arabic{subsubsection}}
\titleformat{\section}{\fontsize{14pt}{18pt}\selectfont\bfseries}{}{0em}{\thesection. }
\titleformat{\subsection}{\fontsize{14pt}{18pt}\selectfont\bfseries}{}{0em}{\thesubsection. }
\titleformat{\subsubsection}{\fontsize{14pt}{18pt}\selectfont\bfseries}{}{0em}{\thesubsubsection. }
\titlespacing*{\section}{1.25cm}{0.5ex plus 0.2ex minus 0.2ex}{0.3ex plus 0.1ex minus 0.1ex}
\titlespacing*{\subsection}{1.25cm}{0.5ex plus 0.2ex minus 0.2ex}{0.3ex plus 0.1ex minus 0.1ex}
\titlespacing*{\subsubsection}{1.25cm}{0.5ex plus 0.2ex minus 0.2ex}{0.3ex plus 0.1ex minus 0.1ex}
\usepackage{tocloft}
\addto\captionsrussian{%
\renewcommand{\contentsname}{СОДЕРЖАНИЕ}%
}
\renewcommand{\cfttoctitlefont}{\hfill\fontsize{14pt}{18pt}\selectfont\bfseries}
\renewcommand{\cftaftertoctitle}{\hfill\null}
\setlength{\cftbeforesecskip}{0pt}
\renewcommand{\cftsecaftersnum}{.}
\renewcommand{\cftsubsecaftersnum}{.}
\renewcommand{\cftsubsubsecaftersnum}{.}
\renewcommand{\cftsecleader}{\cftdotfill{\cftdotsep}}
\renewcommand{\cftdotsep}{1}
\cftsetpnumwidth{0.7em}
\cftsetrmarg{1em}
\renewcommand{\cftsecfont}{\mdseries}
\renewcommand{\cftsecpagefont}{\mdseries}
\renewcommand{\cftsubsecfont}{\mdseries}
\renewcommand{\cftsubsubsecfont}{\mdseries}
\setlength{\cftsecindent}{0em}
\setlength{\cftsecnumwidth}{1em}
\setlength{\cftsubsecindent}{0em}
\setlength{\cftsubsecnumwidth}{1.5em}
\setlength{\cftsubsubsecindent}{0em}
\setlength{\cftsubsubsecnumwidth}{2.1em}
\newcommand{\sigline}[3][4cm]{%
\begin{tabular}[t]{@{}c@{}}%
\makebox[#1][c]{\strut #2} \\[-1em]%
\rule{#1}{0.4pt} \\[-1em]%
{\scriptsize #3}%
\end{tabular}%
}
\newcommand{\ptpfieldw}[4][4.5cm]{%
\par\noindent
\makebox[#1][l]{#2}%
\begin{tabular}[t]{@{}c@{}}%
\makebox[#4][c]{#3} \\[-1.05em]%
\rule{#4}{0.4pt}%
\end{tabular}\par}
\newcommand{\ptpfield}[3][4.5cm]{%
\ptpfieldw[#1]{#2}{#3}{\dimexpr\textwidth-#1\relax}}
\newcommand{\ptpfieldnote}[4][4.5cm]{%
\ptpfield[#1]{#2}{#3}%
\par\vspace{-0.7em}%
\hspace*{#1}\makebox[\dimexpr\textwidth-#1\relax][c]{\footnotesize\itshape #4}\par}
\newcommand{\ptpfieldpar}[3][4.5cm]{%
\par\noindent
\makebox[#1][l]{#2}%
\begin{tabular}[t]{@{}c@{}}%
\parbox{\dimexpr\textwidth-#1\relax}{\centering #3} \\[-0.55em]%
\rule{\dimexpr\textwidth-#1\relax}{0.4pt}%
\end{tabular}\par}
\newcommand{\ptpsig}[3]{%
\par\noindent
\begin{tabularx}{\textwidth}{@{}l X c c@{}}%
#1 & & \sigline[4.2cm]{}{\itshape подпись, дата}
& \sigline[4.2cm]{#2}{\itshape #3} \\%
\end{tabularx}\par}
\begin{document}"""
END_DOCUMENT = r"\end{document}" + "\n"