Allow customising LaTeX preamble
This commit is contained in:
parent
1fcea09a59
commit
055c7a343f
@ -42,6 +42,7 @@ with renderer_cls() as renderer:
|
|||||||
|
|
||||||
doc.lmarg = rawdoc.get('lmarg', '1cm')
|
doc.lmarg = rawdoc.get('lmarg', '1cm')
|
||||||
doc.contentsmarg = rawdoc.get('contentsmarg', '1cm')
|
doc.contentsmarg = rawdoc.get('contentsmarg', '1cm')
|
||||||
|
doc.latexpre = rawdoc.get('latexpre', '')
|
||||||
|
|
||||||
doc.full_label_map = {}
|
doc.full_label_map = {}
|
||||||
|
|
||||||
|
@ -278,6 +278,9 @@ class LaTeXRenderer(mistletoe.latex_renderer.LaTeXRenderer):
|
|||||||
|
|
||||||
template = r'''
|
template = r'''
|
||||||
\documentclass[a4paper,12pt]{article}
|
\documentclass[a4paper,12pt]{article}
|
||||||
|
\def\LegalEndPreamble{}
|
||||||
|
\def\LegalBeforeContent{}
|
||||||
|
<latexpre>
|
||||||
<packages>
|
<packages>
|
||||||
% Configuration
|
% Configuration
|
||||||
\usepackage[top=1.25cm,bottom=1.13cm,inner=2cm,outer=2cm,headheight=8pt,headsep=0.5cm,footskip=1cm,includehead,includefoot]{geometry}
|
\usepackage[top=1.25cm,bottom=1.13cm,inner=2cm,outer=2cm,headheight=8pt,headsep=0.5cm,footskip=1cm,includehead,includefoot]{geometry}
|
||||||
@ -311,12 +314,14 @@ class LaTeXRenderer(mistletoe.latex_renderer.LaTeXRenderer):
|
|||||||
\setmathfont[RawFeature=-tlig]{TeX Gyre Termes Math}
|
\setmathfont[RawFeature=-tlig]{TeX Gyre Termes Math}
|
||||||
\newfontfamily{\freeserif}{FreeSerif}[RawFeature=-tlig]
|
\newfontfamily{\freeserif}{FreeSerif}[RawFeature=-tlig]
|
||||||
\renewcommand{\familydefault}{\sfdefault}
|
\renewcommand{\familydefault}{\sfdefault}
|
||||||
|
\LegalEndPreamble
|
||||||
% Front matter
|
% Front matter
|
||||||
\begin{document}
|
\begin{document}
|
||||||
\fancypagestyle{plain}{\fancyhf{}}
|
\fancypagestyle{plain}{\fancyhf{}}
|
||||||
\pagestyle{fancy}\fancyhf{}\renewcommand{\headrulewidth}{0pt}
|
\pagestyle{fancy}\fancyhf{}\renewcommand{\headrulewidth}{0pt}
|
||||||
\lhead{\textsf{\scriptsize <title>}}\rhead{\textsf{\scriptsize <author>}}\lfoot{\textsf{\scriptsize <footer>}}\rfoot{\textsf{\scriptsize\thepage}}
|
\lhead{\textsf{\scriptsize <title>}}\rhead{\textsf{\scriptsize <author>}}\lfoot{\textsf{\scriptsize <footer>}}\rfoot{\textsf{\scriptsize\thepage}}
|
||||||
\pagenumbering{roman}
|
\pagenumbering{roman}
|
||||||
|
\LegalBeforeContent
|
||||||
{\bfseries\centering\fontsize{13pt}{15pt}\selectfont\uppercase{<title>}\par INDEX\par}
|
{\bfseries\centering\fontsize{13pt}{15pt}\selectfont\uppercase{<title>}\par INDEX\par}
|
||||||
\makeatletter\@starttoc{toc}\makeatother
|
\makeatletter\@starttoc{toc}\makeatother
|
||||||
\newpage\pagenumbering{arabic}
|
\newpage\pagenumbering{arabic}
|
||||||
@ -326,6 +331,7 @@ class LaTeXRenderer(mistletoe.latex_renderer.LaTeXRenderer):
|
|||||||
self.footnotes.update(token.footnotes)
|
self.footnotes.update(token.footnotes)
|
||||||
return format(template,
|
return format(template,
|
||||||
inner=self.render_inner(token),
|
inner=self.render_inner(token),
|
||||||
|
latexpre=token.latexpre,
|
||||||
packages=self.render_packages(),
|
packages=self.render_packages(),
|
||||||
title=self.render_raw_text(mistletoe.span_token.RawText(token.title)),
|
title=self.render_raw_text(mistletoe.span_token.RawText(token.title)),
|
||||||
author=self.render_raw_text(mistletoe.span_token.RawText(token.author)),
|
author=self.render_raw_text(mistletoe.span_token.RawText(token.author)),
|
||||||
|
Loading…
Reference in New Issue
Block a user