-
-
Save universvm/5eaa79f8c65a42c5914b449fc4a53069 to your computer and use it in GitHub Desktop.
%% | |
% Copyright (c) 2017 - 2021, Pascal Wagler; | |
% Copyright (c) 2014 - 2021, John MacFarlane | |
% | |
% All rights reserved. | |
% | |
% Redistribution and use in source and binary forms, with or without | |
% modification, are permitted provided that the following conditions | |
% are met: | |
% | |
% - Redistributions of source code must retain the above copyright | |
% notice, this list of conditions and the following disclaimer. | |
% | |
% - Redistributions in binary form must reproduce the above copyright | |
% notice, this list of conditions and the following disclaimer in the | |
% documentation and/or other materials provided with the distribution. | |
% | |
% - Neither the name of John MacFarlane nor the names of other | |
% contributors may be used to endorse or promote products derived | |
% from this software without specific prior written permission. | |
% | |
% THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS | |
% "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT | |
% LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS | |
% FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE | |
% COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, | |
% INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, | |
% BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; | |
% LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER | |
% CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT | |
% LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN | |
% ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE | |
% POSSIBILITY OF SUCH DAMAGE. | |
%% | |
%% | |
% This is the Eisvogel pandoc LaTeX template. | |
% | |
% For usage information and examples visit the official GitHub page: | |
% https://github.com/Wandmalfarbe/pandoc-latex-template | |
%% | |
% Options for packages loaded elsewhere | |
\PassOptionsToPackage{unicode$for(hyperrefoptions)$,$hyperrefoptions$$endfor$}{hyperref} | |
\PassOptionsToPackage{hyphens}{url} | |
\PassOptionsToPackage{dvipsnames,svgnames,x11names,table}{xcolor} | |
$if(CJKmainfont)$ | |
\PassOptionsToPackage{space}{xeCJK} | |
$endif$ | |
% | |
\documentclass[ | |
$if(fontsize)$ | |
$fontsize$, | |
$endif$ | |
$if(papersize)$ | |
$papersize$paper, | |
$else$ | |
paper=a4, | |
$endif$ | |
$if(beamer)$ | |
ignorenonframetext, | |
$if(handout)$ | |
handout, | |
$endif$ | |
$if(aspectratio)$ | |
aspectratio=$aspectratio$, | |
$endif$ | |
$endif$ | |
$for(classoption)$ | |
$classoption$$sep$, | |
$endfor$ | |
,captions=tableheading | |
]{$if(beamer)$$documentclass$$else$$if(book)$scrbook$else$scrartcl$endif$$endif$} | |
$if(beamer)$ | |
$if(background-image)$ | |
\usebackgroundtemplate{% | |
\includegraphics[width=\paperwidth]{$background-image$}% | |
} | |
$endif$ | |
\usepackage{pgfpages} | |
\setbeamertemplate{caption}[numbered] | |
\setbeamertemplate{caption label separator}{: } | |
\setbeamercolor{caption name}{fg=normal text.fg} | |
\beamertemplatenavigationsymbols$if(navigation)$$navigation$$else$empty$endif$ | |
$for(beameroption)$ | |
\setbeameroption{$beameroption$} | |
$endfor$ | |
% Prevent slide breaks in the middle of a paragraph | |
\widowpenalties 1 10000 | |
\raggedbottom | |
$if(section-titles)$ | |
\setbeamertemplate{part page}{ | |
\centering | |
\begin{beamercolorbox}[sep=16pt,center]{part title} | |
\usebeamerfont{part title}\insertpart\par | |
\end{beamercolorbox} | |
} | |
\setbeamertemplate{section page}{ | |
\centering | |
\begin{beamercolorbox}[sep=12pt,center]{part title} | |
\usebeamerfont{section title}\insertsection\par | |
\end{beamercolorbox} | |
} | |
\setbeamertemplate{subsection page}{ | |
\centering | |
\begin{beamercolorbox}[sep=8pt,center]{part title} | |
\usebeamerfont{subsection title}\insertsubsection\par | |
\end{beamercolorbox} | |
} | |
\AtBeginPart{ | |
\frame{\partpage} | |
} | |
\AtBeginSection{ | |
\ifbibliography | |
\else | |
\frame{\sectionpage} | |
\fi | |
} | |
\AtBeginSubsection{ | |
\frame{\subsectionpage} | |
} | |
$endif$ | |
$endif$ | |
$if(beamerarticle)$ | |
\usepackage{beamerarticle} % needs to be loaded first | |
$endif$ | |
\usepackage{amsmath,amssymb} | |
$if(linestretch)$ | |
\usepackage{setspace} | |
$else$ | |
% Use setspace anyway because we change the default line spacing. | |
% The spacing is changed early to affect the titlepage and the TOC. | |
\usepackage{setspace} | |
\setstretch{1.2} | |
$endif$ | |
\usepackage{iftex} | |
\ifPDFTeX | |
\usepackage[$if(fontenc)$$fontenc$$else$T1$endif$]{fontenc} | |
\usepackage[utf8]{inputenc} | |
\usepackage{textcomp} % provide euro and other symbols | |
\else % if luatex or xetex | |
$if(mathspec)$ | |
\ifXeTeX | |
\usepackage{mathspec} % this also loads fontspec | |
\else | |
\usepackage{unicode-math} % this also loads fontspec | |
\fi | |
$else$ | |
\usepackage{unicode-math} % this also loads fontspec | |
$endif$ | |
\defaultfontfeatures{Scale=MatchLowercase}$-- must come before Beamer theme | |
\defaultfontfeatures[\rmfamily]{Ligatures=TeX,Scale=1} | |
\fi | |
$if(fontfamily)$ | |
$else$ | |
$-- Set default font before Beamer theme so the theme can override it | |
\usepackage{lmodern} | |
$endif$ | |
$-- Set Beamer theme before user font settings so they can override theme | |
$if(beamer)$ | |
$if(theme)$ | |
\usetheme[$for(themeoptions)$$themeoptions$$sep$,$endfor$]{$theme$} | |
$endif$ | |
$if(colortheme)$ | |
\usecolortheme{$colortheme$} | |
$endif$ | |
$if(fonttheme)$ | |
\usefonttheme{$fonttheme$} | |
$endif$ | |
$if(mainfont)$ | |
\usefonttheme{serif} % use mainfont rather than sansfont for slide text | |
$endif$ | |
$if(innertheme)$ | |
\useinnertheme{$innertheme$} | |
$endif$ | |
$if(outertheme)$ | |
\useoutertheme{$outertheme$} | |
$endif$ | |
$endif$ | |
$-- User font settings (must come after default font and Beamer theme) | |
$if(fontfamily)$ | |
\usepackage[$for(fontfamilyoptions)$$fontfamilyoptions$$sep$,$endfor$]{$fontfamily$} | |
$endif$ | |
\ifPDFTeX\else | |
% xetex/luatex font selection | |
$if(mainfont)$ | |
\setmainfont[$for(mainfontoptions)$$mainfontoptions$$sep$,$endfor$]{$mainfont$} | |
$endif$ | |
$if(sansfont)$ | |
\setsansfont[$for(sansfontoptions)$$sansfontoptions$$sep$,$endfor$]{$sansfont$} | |
$endif$ | |
$if(monofont)$ | |
\setmonofont[$for(monofontoptions)$$monofontoptions$$sep$,$endfor$]{$monofont$} | |
$endif$ | |
$for(fontfamilies)$ | |
\newfontfamily{$fontfamilies.name$}[$for(fontfamilies.options)$$fontfamilies.options$$sep$,$endfor$]{$fontfamilies.font$} | |
$endfor$ | |
$if(mathfont)$ | |
$if(mathspec)$ | |
\ifXeTeX | |
\setmathfont(Digits,Latin,Greek)[$for(mathfontoptions)$$mathfontoptions$$sep$,$endfor$]{$mathfont$} | |
\else | |
\setmathfont[$for(mathfontoptions)$$mathfontoptions$$sep$,$endfor$]{$mathfont$} | |
\fi | |
$else$ | |
\setmathfont[$for(mathfontoptions)$$mathfontoptions$$sep$,$endfor$]{$mathfont$} | |
$endif$ | |
$endif$ | |
$if(CJKmainfont)$ | |
\ifXeTeX | |
\usepackage{xeCJK} | |
\setCJKmainfont[$for(CJKoptions)$$CJKoptions$$sep$,$endfor$]{$CJKmainfont$} | |
\fi | |
$endif$ | |
$if(luatexjapresetoptions)$ | |
\ifLuaTeX | |
\usepackage[$for(luatexjapresetoptions)$$luatexjapresetoptions$$sep$,$endfor$]{luatexja-preset} | |
\fi | |
$endif$ | |
$if(CJKmainfont)$ | |
\ifLuaTeX | |
\usepackage[$for(luatexjafontspecoptions)$$luatexjafontspecoptions$$sep$,$endfor$]{luatexja-fontspec} | |
\setmainjfont[$for(CJKoptions)$$CJKoptions$$sep$,$endfor$]{$CJKmainfont$} | |
\fi | |
$endif$ | |
\fi | |
$if(zero-width-non-joiner)$ | |
%% Support for zero-width non-joiner characters. | |
\makeatletter | |
\def\zerowidthnonjoiner{% | |
% Prevent ligatures and adjust kerning, but still support hyphenating. | |
\texorpdfstring{% | |
\TextOrMath{\nobreak\discretionary{-}{}{\kern.03em}% | |
\ifvmode\else\nobreak\hskip\z@skip\fi}{}% | |
}{}% | |
} | |
\makeatother | |
\ifPDFTeX | |
\DeclareUnicodeCharacter{200C}{\zerowidthnonjoiner} | |
\else | |
\catcode`^^^^200c=\active | |
\protected\def ^^^^200c{\zerowidthnonjoiner} | |
\fi | |
%% End of ZWNJ support | |
$endif$ | |
% Use upquote if available, for straight quotes in verbatim environments | |
\IfFileExists{upquote.sty}{\usepackage{upquote}}{} | |
\IfFileExists{microtype.sty}{% use microtype if available | |
\usepackage[$for(microtypeoptions)$$microtypeoptions$$sep$,$endfor$]{microtype} | |
\UseMicrotypeSet[protrusion]{basicmath} % disable protrusion for tt fonts | |
}{} | |
$if(indent)$ | |
$else$ | |
\makeatletter | |
\@ifundefined{KOMAClassName}{% if non-KOMA class | |
\IfFileExists{parskip.sty}{% | |
\usepackage{parskip} | |
}{% else | |
\setlength{\parindent}{0pt} | |
\setlength{\parskip}{6pt plus 2pt minus 1pt}} | |
}{% if KOMA class | |
\KOMAoptions{parskip=half}} | |
\makeatother | |
$endif$ | |
$if(verbatim-in-note)$ | |
\usepackage{fancyvrb} | |
$endif$ | |
\usepackage{xcolor} | |
\definecolor{default-linkcolor}{HTML}{A50000} | |
\definecolor{default-filecolor}{HTML}{A50000} | |
\definecolor{default-citecolor}{HTML}{4077C0} | |
\definecolor{default-urlcolor}{HTML}{4077C0} | |
$if(footnotes-pretty)$ | |
% load footmisc in order to customize footnotes (footmisc has to be loaded before hyperref, cf. https://tex.stackexchange.com/a/169124/144087) | |
\usepackage[hang,flushmargin,bottom,multiple]{footmisc} | |
\setlength{\footnotemargin}{0.8em} % set space between footnote nr and text | |
\setlength{\footnotesep}{\baselineskip} % set space between multiple footnotes | |
\setlength{\skip\footins}{0.3cm} % set space between page content and footnote | |
\setlength{\footskip}{0.9cm} % set space between footnote and page bottom | |
$endif$ | |
$if(geometry)$ | |
$if(beamer)$ | |
\geometry{$for(geometry)$$geometry$$sep$,$endfor$} | |
$else$ | |
\usepackage[$for(geometry)$$geometry$$sep$,$endfor$]{geometry} | |
$endif$ | |
$else$ | |
$if(beamer)$ | |
$else$ | |
\usepackage[margin=2.5cm,includehead=true,includefoot=true,centering,$for(geometry)$$geometry$$sep$,$endfor$]{geometry} | |
$endif$ | |
$endif$ | |
$if(titlepage-logo)$ | |
\usepackage[export]{adjustbox} | |
\usepackage{graphicx} | |
\usepackage{ragged2e} | |
$endif$ | |
$if(beamer)$ | |
\newif\ifbibliography | |
$endif$ | |
$if(listings)$ | |
\usepackage{listings} | |
\newcommand{\passthrough}[1]{#1} | |
\lstset{defaultdialect=[5.3]Lua} | |
\lstset{defaultdialect=[x86masm]Assembler} | |
$endif$ | |
$if(listings-no-page-break)$ | |
\usepackage{etoolbox} | |
\BeforeBeginEnvironment{lstlisting}{\par\noindent\begin{minipage}{\linewidth}} | |
\AfterEndEnvironment{lstlisting}{\end{minipage}\par\addvspace{\topskip}} | |
$endif$ | |
$if(lhs)$ | |
\lstnewenvironment{code}{\lstset{language=Haskell,basicstyle=\small\ttfamily}}{} | |
$endif$ | |
$if(highlighting-macros)$ | |
$highlighting-macros$ | |
% Workaround/bugfix from jannick0. | |
% See https://github.com/jgm/pandoc/issues/4302#issuecomment-360669013) | |
% or https://github.com/Wandmalfarbe/pandoc-latex-template/issues/2 | |
% | |
% Redefine the verbatim environment 'Highlighting' to break long lines (with | |
% the help of fvextra). Redefinition is necessary because it is unlikely that | |
% pandoc includes fvextra in the default template. | |
\usepackage{fvextra} | |
\DefineVerbatimEnvironment{Highlighting}{Verbatim}{breaklines,fontsize=$if(code-block-font-size)$$code-block-font-size$$else$\small$endif$,commandchars=\\\{\}} | |
$endif$ | |
$if(tables)$ | |
\usepackage{longtable,booktabs,array} | |
$if(multirow)$ | |
\usepackage{multirow} | |
$endif$ | |
\usepackage{calc} % for calculating minipage widths | |
$if(beamer)$ | |
\usepackage{caption} | |
% Make caption package work with longtable | |
\makeatletter | |
\def\fnum@table{\tablename~\thetable} | |
\makeatother | |
$else$ | |
% Correct order of tables after \paragraph or \subparagraph | |
\usepackage{etoolbox} | |
\makeatletter | |
\patchcmd\longtable{\par}{\if@noskipsec\mbox{}\fi\par}{}{} | |
\makeatother | |
% Allow footnotes in longtable head/foot | |
\IfFileExists{footnotehyper.sty}{\usepackage{footnotehyper}}{\usepackage{footnote}} | |
\makesavenoteenv{longtable} | |
$endif$ | |
$endif$ | |
% add backlinks to footnote references, cf. https://tex.stackexchange.com/questions/302266/make-footnote-clickable-both-ways | |
$if(footnotes-disable-backlinks)$ | |
$else$ | |
\usepackage{footnotebackref} | |
$endif$ | |
$if(graphics)$ | |
\usepackage{graphicx} | |
\makeatletter | |
\def\maxwidth{\ifdim\Gin@nat@width>\linewidth\linewidth\else\Gin@nat@width\fi} | |
\def\maxheight{\ifdim\Gin@nat@height>\textheight\textheight\else\Gin@nat@height\fi} | |
\makeatother | |
% Scale images if necessary, so that they will not overflow the page | |
% margins by default, and it is still possible to overwrite the defaults | |
% using explicit options in \includegraphics[width, height, ...]{} | |
\setkeys{Gin}{width=\maxwidth,height=\maxheight,keepaspectratio} | |
% Set default figure placement to htbp | |
\makeatletter | |
\def\fps@figure{htbp} | |
\makeatother | |
$endif$ | |
$if(svg)$ | |
\usepackage{svg} | |
$endif$ | |
$if(strikeout)$ | |
$-- also used for underline | |
\usepackage{soul} | |
$endif$ | |
\setlength{\emergencystretch}{3em} % prevent overfull lines | |
\providecommand{\tightlist}{% | |
\setlength{\itemsep}{0pt}\setlength{\parskip}{0pt}} | |
$if(numbersections)$ | |
\setcounter{secnumdepth}{$if(secnumdepth)$$secnumdepth$$else$5$endif$} | |
$else$ | |
\setcounter{secnumdepth}{-\maxdimen} % remove section numbering | |
$endif$ | |
$if(beamer)$ | |
$else$ | |
$if(block-headings)$ | |
% Make \paragraph and \subparagraph free-standing | |
\ifx\paragraph\undefined\else | |
\let\oldparagraph\paragraph | |
\renewcommand{\paragraph}[1]{\oldparagraph{#1}\mbox{}} | |
\fi | |
\ifx\subparagraph\undefined\else | |
\let\oldsubparagraph\subparagraph | |
\renewcommand{\subparagraph}[1]{\oldsubparagraph{#1}\mbox{}} | |
\fi | |
$endif$ | |
$endif$ | |
$if(pagestyle)$ | |
\pagestyle{$pagestyle$} | |
$endif$ | |
$if(csl-refs)$ | |
\newlength{\cslhangindent} | |
\setlength{\cslhangindent}{1.5em} | |
\newlength{\csllabelwidth} | |
\setlength{\csllabelwidth}{3em} | |
\newlength{\cslentryspacingunit} % times entry-spacing | |
\setlength{\cslentryspacingunit}{\parskip} | |
\newenvironment{CSLReferences}[2] % #1 hanging-ident, #2 entry spacing | |
{% don't indent paragraphs | |
\setlength{\parindent}{0pt} | |
% turn on hanging indent if param 1 is 1 | |
\ifodd #1 | |
\let\oldpar\par | |
\def\par{\hangindent=\cslhangindent\oldpar} | |
\fi | |
% set entry spacing | |
\setlength{\parskip}{#2\cslentryspacingunit} | |
}% | |
{} | |
\usepackage{calc} | |
\newcommand{\CSLBlock}[1]{#1\hfill\break} | |
\newcommand{\CSLLeftMargin}[1]{\parbox[t]{\csllabelwidth}{#1}} | |
\newcommand{\CSLRightInline}[1]{\parbox[t]{\linewidth - \csllabelwidth}{#1}\break} | |
\newcommand{\CSLIndent}[1]{\hspace{\cslhangindent}#1} | |
$endif$ | |
$if(lang)$ | |
\ifLuaTeX | |
\usepackage[bidi=basic]{babel} | |
\else | |
\usepackage[bidi=default]{babel} | |
\fi | |
$if(babel-lang)$ | |
\babelprovide[main,import]{$babel-lang$} | |
$endif$ | |
$for(babel-otherlangs)$ | |
\babelprovide[import]{$babel-otherlangs$} | |
$endfor$ | |
% get rid of language-specific shorthands (see #6817): | |
\let\LanguageShortHands\languageshorthands | |
\def\languageshorthands#1{} | |
$endif$ | |
$for(header-includes)$ | |
$header-includes$ | |
$endfor$ | |
\ifLuaTeX | |
\usepackage{selnolig} % disable illegal ligatures | |
\fi | |
$if(dir)$ | |
\ifPDFTeX | |
\TeXXeTstate=1 | |
\newcommand{\RL}[1]{\beginR #1\endR} | |
\newcommand{\LR}[1]{\beginL #1\endL} | |
\newenvironment{RTL}{\beginR}{\endR} | |
\newenvironment{LTR}{\beginL}{\endL} | |
\fi | |
$endif$ | |
$if(natbib)$ | |
\usepackage[$natbiboptions$]{natbib} | |
\bibliographystyle{$if(biblio-style)$$biblio-style$$else$plainnat$endif$} | |
$endif$ | |
$if(biblatex)$ | |
\usepackage[$if(biblio-style)$style=$biblio-style$,$endif$$for(biblatexoptions)$$biblatexoptions$$sep$,$endfor$]{biblatex} | |
$for(bibliography)$ | |
\addbibresource{$bibliography$} | |
$endfor$ | |
$endif$ | |
$if(nocite-ids)$ | |
\nocite{$for(nocite-ids)$$it$$sep$, $endfor$} | |
$endif$ | |
$if(csquotes)$ | |
\usepackage{csquotes} | |
$endif$ | |
\IfFileExists{bookmark.sty}{\usepackage{bookmark}}{\usepackage{hyperref}} | |
\IfFileExists{xurl.sty}{\usepackage{xurl}}{} % add URL line breaks if available | |
\urlstyle{$if(urlstyle)$$urlstyle$$else$same$endif$} | |
$if(links-as-notes)$ | |
% Make links footnotes instead of hotlinks: | |
\DeclareRobustCommand{\href}[2]{#2\footnote{\url{#1}}} | |
$endif$ | |
$if(verbatim-in-note)$ | |
\VerbatimFootnotes % allow verbatim text in footnotes | |
$endif$ | |
\hypersetup{ | |
$if(title-meta)$ | |
pdftitle={$title-meta$}, | |
$endif$ | |
$if(author-meta)$ | |
pdfauthor={$author-meta$}, | |
$endif$ | |
$if(lang)$ | |
pdflang={$lang$}, | |
$endif$ | |
$if(subject)$ | |
pdfsubject={$subject$}, | |
$endif$ | |
$if(keywords)$ | |
pdfkeywords={$for(keywords)$$keywords$$sep$, $endfor$}, | |
$endif$ | |
$if(colorlinks)$ | |
colorlinks=true, | |
linkcolor={$if(linkcolor)$$linkcolor$$else$default-linkcolor$endif$}, | |
filecolor={$if(filecolor)$$filecolor$$else$default-filecolor$endif$}, | |
citecolor={$if(citecolor)$$citecolor$$else$default-citecolor$endif$}, | |
urlcolor={$if(urlcolor)$$urlcolor$$else$default-urlcolor$endif$}, | |
$else$ | |
hidelinks, | |
$endif$ | |
breaklinks=true, | |
pdfcreator={LaTeX via pandoc with the Eisvogel template}} | |
$if(title)$ | |
\title{$title$$if(thanks)$\thanks{$thanks$}$endif$} | |
$endif$ | |
$if(subtitle)$ | |
$if(beamer)$ | |
$else$ | |
\usepackage{etoolbox} | |
\makeatletter | |
\providecommand{\subtitle}[1]{% add subtitle to \maketitle | |
\apptocmd{\@title}{\par {\large #1 \par}}{}{} | |
} | |
\makeatother | |
$endif$ | |
\subtitle{$subtitle$} | |
$endif$ | |
\author{$for(author)$$author$$sep$ \and $endfor$} | |
\date{$date$} | |
$if(beamer)$ | |
$if(institute)$ | |
\institute{$for(institute)$$institute$$sep$ \and $endfor$} | |
$endif$ | |
$if(titlegraphic)$ | |
\titlegraphic{\includegraphics{$titlegraphic$}} | |
$endif$ | |
$if(logo)$ | |
\logo{\includegraphics{$logo$}} | |
$endif$ | |
$endif$ | |
%% | |
%% added | |
%% | |
$if(page-background)$ | |
\usepackage[pages=all]{background} | |
$endif$ | |
% | |
% for the background color of the title page | |
% | |
$if(titlepage)$ | |
\usepackage{pagecolor} | |
\usepackage{afterpage} | |
$if(titlepage-background)$ | |
\usepackage{tikz} | |
$endif$ | |
$if(geometry)$ | |
$else$ | |
\usepackage[margin=2.5cm,includehead=true,includefoot=true,centering]{geometry} | |
$endif$ | |
$endif$ | |
% | |
% break urls | |
% | |
\PassOptionsToPackage{hyphens}{url} | |
% | |
% When using babel or polyglossia with biblatex, loading csquotes is recommended | |
% to ensure that quoted texts are typeset according to the rules of your main language. | |
% | |
\usepackage{csquotes} | |
% | |
% captions | |
% | |
\definecolor{caption-color}{HTML}{777777} | |
$if(beamer)$ | |
$else$ | |
\usepackage[font={stretch=1.2}, textfont={color=caption-color}, position=top, skip=4mm, labelfont=bf, singlelinecheck=false, justification=$if(caption-justification)$$caption-justification$$else$raggedright$endif$]{caption} | |
\setcapindent{0em} | |
$endif$ | |
% | |
% blockquote | |
% | |
\definecolor{blockquote-border}{RGB}{221,221,221} | |
\definecolor{blockquote-text}{RGB}{119,119,119} | |
\usepackage{mdframed} | |
\newmdenv[rightline=false,bottomline=false,topline=false,linewidth=3pt,linecolor=blockquote-border,skipabove=\parskip]{customblockquote} | |
\renewenvironment{quote}{\begin{customblockquote}\list{}{\rightmargin=0em\leftmargin=0em}% | |
\item\relax\color{blockquote-text}\ignorespaces}{\unskip\unskip\endlist\end{customblockquote}} | |
% | |
% Source Sans Pro as the default font family | |
% Source Code Pro for monospace text | |
% | |
% 'default' option sets the default | |
% font family to Source Sans Pro, not \sfdefault. | |
% | |
\ifnum 0\ifxetex 1\fi\ifluatex 1\fi=0 % if pdftex | |
$if(fontfamily)$ | |
$else$ | |
\usepackage[default]{sourcesanspro} | |
\usepackage{sourcecodepro} | |
$endif$ | |
\else % if not pdftex | |
$if(mainfont)$ | |
$else$ | |
\usepackage[default]{sourcesanspro} | |
\usepackage{sourcecodepro} | |
% XeLaTeX specific adjustments for straight quotes: https://tex.stackexchange.com/a/354887 | |
% This issue is already fixed (see https://github.com/silkeh/latex-sourcecodepro/pull/5) but the | |
% fix is still unreleased. | |
% TODO: Remove this workaround when the new version of sourcecodepro is released on CTAN. | |
\ifxetex | |
\makeatletter | |
\defaultfontfeatures[\ttfamily] | |
{ Numbers = \sourcecodepro@figurestyle, | |
Scale = \SourceCodePro@scale, | |
Extension = .otf } | |
\setmonofont | |
[ UprightFont = *-\sourcecodepro@regstyle, | |
ItalicFont = *-\sourcecodepro@regstyle It, | |
BoldFont = *-\sourcecodepro@boldstyle, | |
BoldItalicFont = *-\sourcecodepro@boldstyle It ] | |
{SourceCodePro} | |
\makeatother | |
\fi | |
$endif$ | |
\fi | |
% | |
% heading color | |
% | |
\definecolor{heading-color}{RGB}{40,40,40} | |
$if(beamer)$ | |
$else$ | |
\addtokomafont{section}{\color{heading-color}} | |
$endif$ | |
% When using the classes report, scrreprt, book, | |
% scrbook or memoir, uncomment the following line. | |
%\addtokomafont{chapter}{\color{heading-color}} | |
% | |
% variables for title, author and date | |
% | |
$if(beamer)$ | |
$else$ | |
\usepackage{titling} | |
\title{$title$} | |
\author{$for(author)$$author$$sep$, $endfor$} | |
\date{$date$} | |
$endif$ | |
% | |
% tables | |
% | |
$if(tables)$ | |
\definecolor{table-row-color}{HTML}{F5F5F5} | |
\definecolor{table-rule-color}{HTML}{999999} | |
%\arrayrulecolor{black!40} | |
\arrayrulecolor{table-rule-color} % color of \toprule, \midrule, \bottomrule | |
\setlength\heavyrulewidth{0.3ex} % thickness of \toprule, \bottomrule | |
\renewcommand{\arraystretch}{1.3} % spacing (padding) | |
$if(table-use-row-colors)$ | |
% TODO: This doesn't work anymore. I don't know why. | |
% Reset rownum counter so that each table | |
% starts with the same row colors. | |
% https://tex.stackexchange.com/questions/170637/restarting-rowcolors | |
% | |
% Unfortunately the colored cells extend beyond the edge of the | |
% table because pandoc uses @-expressions (@{}) like so: | |
% | |
% \begin{longtable}[]{@{}ll@{}} | |
% \end{longtable} | |
% | |
% https://en.wikibooks.org/wiki/LaTeX/Tables#.40-expressions | |
\let\oldlongtable\longtable | |
\let\endoldlongtable\endlongtable | |
\renewenvironment{longtable}{ | |
\rowcolors{3}{}{table-row-color!100} % row color | |
\oldlongtable} { | |
\endoldlongtable | |
\global\rownum=0\relax} | |
$endif$ | |
$endif$ | |
% | |
% remove paragraph indention | |
% | |
\setlength{\parindent}{0pt} | |
\setlength{\parskip}{6pt plus 2pt minus 1pt} | |
\setlength{\emergencystretch}{3em} % prevent overfull lines | |
% | |
% | |
% Listings | |
% | |
% | |
$if(listings)$ | |
% | |
% general listing colors | |
% | |
\definecolor{listing-background}{HTML}{F7F7F7} | |
\definecolor{listing-rule}{HTML}{B3B2B3} | |
\definecolor{listing-numbers}{HTML}{B3B2B3} | |
\definecolor{listing-text-color}{HTML}{000000} | |
\definecolor{listing-keyword}{HTML}{435489} | |
\definecolor{listing-keyword-2}{HTML}{1284CA} % additional keywords | |
\definecolor{listing-keyword-3}{HTML}{9137CB} % additional keywords | |
\definecolor{listing-identifier}{HTML}{435489} | |
\definecolor{listing-string}{HTML}{00999A} | |
\definecolor{listing-comment}{HTML}{8E8E8E} | |
\lstdefinestyle{eisvogel_listing_style}{ | |
language = java, | |
$if(listings-disable-line-numbers)$ | |
xleftmargin = 0.6em, | |
framexleftmargin = 0.4em, | |
$else$ | |
numbers = left, | |
xleftmargin = 2.7em, | |
framexleftmargin = 2.5em, | |
$endif$ | |
backgroundcolor = \color{listing-background}, | |
basicstyle = \color{listing-text-color}\linespread{1.0}% | |
\lst@ifdisplaystyle% | |
$if(code-block-font-size)$$code-block-font-size$$else$\small$endif$% | |
\fi\ttfamily{}, | |
breaklines = true, | |
frame = single, | |
framesep = 0.19em, | |
rulecolor = \color{listing-rule}, | |
frameround = ffff, | |
tabsize = 4, | |
numberstyle = \color{listing-numbers}, | |
aboveskip = 1.0em, | |
belowskip = 0.1em, | |
abovecaptionskip = 0em, | |
belowcaptionskip = 1.0em, | |
keywordstyle = {\color{listing-keyword}\bfseries}, | |
keywordstyle = {[2]\color{listing-keyword-2}\bfseries}, | |
keywordstyle = {[3]\color{listing-keyword-3}\bfseries\itshape}, | |
sensitive = true, | |
identifierstyle = \color{listing-identifier}, | |
commentstyle = \color{listing-comment}, | |
stringstyle = \color{listing-string}, | |
showstringspaces = false, | |
escapeinside = {/*@}{@*/}, % Allow LaTeX inside these special comments | |
literate = | |
{á}{{\'a}}1 {é}{{\'e}}1 {í}{{\'i}}1 {ó}{{\'o}}1 {ú}{{\'u}}1 | |
{Á}{{\'A}}1 {É}{{\'E}}1 {Í}{{\'I}}1 {Ó}{{\'O}}1 {Ú}{{\'U}}1 | |
{à}{{\`a}}1 {è}{{\'e}}1 {ì}{{\`i}}1 {ò}{{\`o}}1 {ù}{{\`u}}1 | |
{À}{{\`A}}1 {È}{{\'E}}1 {Ì}{{\`I}}1 {Ò}{{\`O}}1 {Ù}{{\`U}}1 | |
{ä}{{\"a}}1 {ë}{{\"e}}1 {ï}{{\"i}}1 {ö}{{\"o}}1 {ü}{{\"u}}1 | |
{Ä}{{\"A}}1 {Ë}{{\"E}}1 {Ï}{{\"I}}1 {Ö}{{\"O}}1 {Ü}{{\"U}}1 | |
{â}{{\^a}}1 {ê}{{\^e}}1 {î}{{\^i}}1 {ô}{{\^o}}1 {û}{{\^u}}1 | |
{Â}{{\^A}}1 {Ê}{{\^E}}1 {Î}{{\^I}}1 {Ô}{{\^O}}1 {Û}{{\^U}}1 | |
{œ}{{\oe}}1 {Œ}{{\OE}}1 {æ}{{\ae}}1 {Æ}{{\AE}}1 {ß}{{\ss}}1 | |
{ç}{{\c c}}1 {Ç}{{\c C}}1 {ø}{{\o}}1 {å}{{\r a}}1 {Å}{{\r A}}1 | |
{€}{{\EUR}}1 {£}{{\pounds}}1 {«}{{\guillemotleft}}1 | |
{»}{{\guillemotright}}1 {ñ}{{\~n}}1 {Ñ}{{\~N}}1 {¿}{{?`}}1 | |
{…}{{\ldots}}1 {≥}{{>=}}1 {≤}{{<=}}1 {„}{{\glqq}}1 {“}{{\grqq}}1 | |
{”}{{''}}1 | |
} | |
\lstset{style=eisvogel_listing_style} | |
% | |
% Java (Java SE 12, 2019-06-22) | |
% | |
\lstdefinelanguage{Java}{ | |
morekeywords={ | |
% normal keywords (without data types) | |
abstract,assert,break,case,catch,class,continue,default, | |
do,else,enum,exports,extends,final,finally,for,if,implements, | |
import,instanceof,interface,module,native,new,package,private, | |
protected,public,requires,return,static,strictfp,super,switch, | |
synchronized,this,throw,throws,transient,try,volatile,while, | |
% var is an identifier | |
var | |
}, | |
morekeywords={[2] % data types | |
% primitive data types | |
boolean,byte,char,double,float,int,long,short, | |
% String | |
String, | |
% primitive wrapper types | |
Boolean,Byte,Character,Double,Float,Integer,Long,Short | |
% number types | |
Number,AtomicInteger,AtomicLong,BigDecimal,BigInteger,DoubleAccumulator,DoubleAdder,LongAccumulator,LongAdder,Short, | |
% other | |
Object,Void,void | |
}, | |
morekeywords={[3] % literals | |
% reserved words for literal values | |
null,true,false, | |
}, | |
sensitive, | |
morecomment = [l]//, | |
morecomment = [s]{/*}{*/}, | |
morecomment = [s]{/**}{*/}, | |
morestring = [b]", | |
morestring = [b]', | |
} | |
\lstdefinelanguage{XML}{ | |
morestring = [b]", | |
moredelim = [s][\bfseries\color{listing-keyword}]{<}{\ }, | |
moredelim = [s][\bfseries\color{listing-keyword}]{</}{>}, | |
moredelim = [l][\bfseries\color{listing-keyword}]{/>}, | |
moredelim = [l][\bfseries\color{listing-keyword}]{>}, | |
morecomment = [s]{<?}{?>}, | |
morecomment = [s]{<!--}{-->}, | |
commentstyle = \color{listing-comment}, | |
stringstyle = \color{listing-string}, | |
identifierstyle = \color{listing-identifier} | |
} | |
$endif$ | |
% | |
% header and footer | |
% | |
$if(beamer)$ | |
$else$ | |
$if(disable-header-and-footer)$ | |
$else$ | |
\usepackage[headsepline,footsepline]{scrlayer-scrpage} | |
\newpairofpagestyles{eisvogel-header-footer}{ | |
\clearpairofpagestyles | |
\ihead*{$if(header-left)$$header-left$$else$$title$$endif$} | |
\chead*{$if(header-center)$$header-center$$else$$endif$} | |
\ohead*{$if(header-right)$$header-right$$else$$date$$endif$} | |
\ifoot*{$if(footer-left)$$footer-left$$else$$for(author)$$author$$sep$, $endfor$$endif$} | |
\cfoot*{$if(footer-center)$$footer-center$$else$$endif$} | |
\ofoot*{$if(footer-right)$$footer-right$$else$\thepage$endif$} | |
\addtokomafont{pageheadfoot}{\upshape} | |
} | |
\pagestyle{eisvogel-header-footer} | |
$if(book)$ | |
\deftripstyle{ChapterStyle}{}{}{}{}{\pagemark}{} | |
\renewcommand*{\chapterpagestyle}{ChapterStyle} | |
$endif$ | |
$if(page-background)$ | |
\backgroundsetup{ | |
scale=1, | |
color=black, | |
opacity=$if(page-background-opacity)$$page-background-opacity$$else$0.2$endif$, | |
angle=0, | |
contents={% | |
\includegraphics[width=\paperwidth,height=\paperheight]{$page-background$} | |
}% | |
} | |
$endif$ | |
$endif$ | |
$endif$ | |
%% | |
%% end added | |
%% | |
\begin{document} | |
%% | |
%% begin titlepage | |
%% | |
$if(beamer)$ | |
$else$ | |
$if(titlepage)$ | |
\begin{titlepage} | |
$if(titlepage-background)$ | |
\newgeometry{top=2cm, right=4cm, bottom=3cm, left=4cm} | |
$else$ | |
$endif$ | |
$if(titlepage-color)$ | |
\definecolor{titlepage-color}{HTML}{$titlepage-color$} | |
\newpagecolor{titlepage-color}\afterpage{\restorepagecolor} | |
$endif$ | |
$if(titlepage-background)$ | |
\tikz[remember picture,overlay] \node[inner sep=0pt] at (current page.center){\includegraphics[width=\paperwidth,height=\paperheight]{$titlepage-background$}}; | |
$endif$ | |
\newcommand{\colorRule}[3][black]{\textcolor[HTML]{#1}{\rule{#2}{#3}}} | |
\begin{flushleft} | |
\noindent | |
\\[-1em] | |
\color[HTML]{$if(titlepage-text-color)$$titlepage-text-color$$else$5F5F5F$endif$} | |
\makebox[0pt][l]{\colorRule[$if(titlepage-rule-color)$$titlepage-rule-color$$else$435488$endif$]{1.3\textwidth}{$if(titlepage-rule-height)$$titlepage-rule-height$$else$4$endif$pt}} | |
\par | |
\noindent | |
$if(titlepage-background)$ | |
% The titlepage with a background image has other text spacing and text size | |
{ | |
\setstretch{2} | |
\vfill | |
\vskip -8em | |
\noindent {\huge \textbf{\textsf{$title$}}} | |
$if(subtitle)$ | |
\vskip 1em | |
{\Large \textsf{$subtitle$}} | |
$endif$ | |
\vskip 2em | |
\noindent {\Large \textit{$for(author)$$author$$sep$, $endfor$} \vskip 0.6em \textsf{$date$}} | |
\vfill | |
} | |
$else$ | |
{ | |
\begin{center} | |
\setstretch{1.4} | |
\vfill | |
\noindent {\huge \textbf{\textsf{$title$}}} | |
$if(subtitle)$ | |
\vskip 1em | |
{\Large \textsf{$subtitle$}} | |
$endif$ | |
\vskip 2em | |
\noindent {\Large \textit{$for(author)$$author$$sep$, $endfor$}} | |
\vfill | |
\end{center} | |
} | |
$endif$ | |
$if(titlepage-logo)$ | |
\noindent | |
\begin{center} | |
\includegraphics[width=$if(logo-width)$$logo-width$$else$35mm$endif$]{$titlepage-logo$} | |
\end{center} | |
$endif$ | |
$if(text1)$ | |
\begin{center} | |
{\large \textsf{$text1$}} | |
\end{center} | |
$endif$ | |
$if(text2)$ | |
\begin{center} | |
{\large \textsf{$text2$}} | |
\end{center} | |
$endif$ | |
$if(text3)$ | |
\begin{center} | |
{\large \textsf{$text3$}} | |
\end{center} | |
$endif$ | |
$if(text4)$ | |
\begin{center} | |
{\large \textsf{$text4$}} | |
\end{center} | |
$endif$ | |
$if(titlepage-background)$ | |
$else$ | |
$endif$ | |
\end{flushleft} | |
\end{titlepage} | |
\restoregeometry | |
\pagenumbering{arabic} | |
$endif$ | |
$endif$ | |
%% | |
%% end titlepage | |
%% | |
$if(has-frontmatter)$ | |
\frontmatter | |
$endif$ | |
$if(title)$ | |
$if(beamer)$ | |
\frame{\titlepage} | |
% don't generate the default title | |
% $else$ | |
% \maketitle | |
\pagenumbering{Roman} % set the numbering style to lowercase letter | |
$endif$ | |
$if(abstract)$ | |
\begin{center} | |
{\LARGE \textbf{\textsf{Abstract}}} | |
\end{center} | |
\begin{abstract} | |
\begin{justify} | |
$abstract$ | |
\end{justify} | |
\end{abstract} | |
\pagebreak | |
$endif$ | |
$if(acknowledgements)$ | |
\begin{center} | |
{\LARGE \textbf{\textsf{Acknowledgements}}} | |
\end{center} | |
\begin{abstract} | |
\begin{justify} | |
$acknowledgements$ | |
\end{justify} | |
\end{abstract} | |
\pagebreak | |
$endif$ | |
$endif$ | |
\pagenumbering{arabic} % set the numbering style to lowercase letter | |
\setcounter{page}{0} % Set the page counter to 3 | |
$if(first-chapter)$ | |
\setcounter{chapter}{$first-chapter$} | |
\addtocounter{chapter}{-1} | |
$endif$ | |
$for(include-before)$ | |
$include-before$ | |
$endfor$ | |
$if(toc)$ | |
$if(toc-title)$ | |
\renewcommand*\contentsname{$toc-title$} | |
$endif$ | |
$if(beamer)$ | |
\begin{frame}[allowframebreaks] | |
$if(toc-title)$ | |
\frametitle{$toc-title$} | |
$endif$ | |
\tableofcontents[hideallsubsections] | |
\end{frame} | |
$if(toc-own-page)$ | |
\newpage | |
$endif$ | |
$else$ | |
{ | |
$if(colorlinks)$ | |
\hypersetup{linkcolor=$if(toccolor)$$toccolor$$else$$endif$} | |
$endif$ | |
\setcounter{tocdepth}{$toc-depth$} | |
\tableofcontents | |
$if(toc-own-page)$ | |
\newpage | |
$endif$ | |
} | |
$endif$ | |
$endif$ | |
$if(lof)$ | |
\listoffigures | |
$endif$ | |
$if(lot)$ | |
\listoftables | |
$endif$ | |
$if(linestretch)$ | |
\setstretch{$linestretch$} | |
$endif$ | |
$if(has-frontmatter)$ | |
\mainmatter | |
$endif$ | |
$body$ | |
$if(has-frontmatter)$ | |
\backmatter | |
$endif$ | |
$if(natbib)$ | |
$if(bibliography)$ | |
$if(biblio-title)$ | |
$if(has-chapters)$ | |
\renewcommand\bibname{$biblio-title$} | |
$else$ | |
\renewcommand\refname{$biblio-title$} | |
$endif$ | |
$endif$ | |
$if(beamer)$ | |
\begin{frame}[allowframebreaks]{$biblio-title$} | |
\bibliographytrue | |
$endif$ | |
\bibliography{$for(bibliography)$$bibliography$$sep$,$endfor$} | |
$if(beamer)$ | |
\end{frame} | |
$endif$ | |
$endif$ | |
$endif$ | |
$if(biblatex)$ | |
$if(beamer)$ | |
\begin{frame}[allowframebreaks]{$biblio-title$} | |
\bibliographytrue | |
\printbibliography[heading=none] | |
\end{frame} | |
$else$ | |
\printbibliography$if(biblio-title)$[title=$biblio-title$]$endif$ | |
$endif$ | |
$endif$ | |
$for(include-after)$ | |
$include-after$ | |
$endfor$ | |
\end{document} |
@ntino67 this is very weird. I don't understand how you can have absolutely no errors.
- Does the plugin generate a PDF if you don't select a template?
- Have you tried selecting different templates? Can you generate a PDF?
If the answer to both questions is no, I suggest to uninstall the plugin, make sure obsidian is updated and reinstall it.
If the problem persists, take a video and open an issue with the plugin because this is probably some other bug unrelated to this.
Could you please provide me a screenshot of where the error is located ?
Both the no template and the academic paper template work. Only the dissertation give me nothing.
2024-06-12.11-40-28.mp4
@ntino67 it seems like there's a bug in the plugin. I was able to replicate on my side with the newest version of the plugin. could you please open an issue https://github.com/mokeyish/obsidian-enhancing-export
@ntino67 apologies for the double message. It seems like my pandoc path was wrong in the setting. I am able to export now. Could you try completely quitting obsidian and then export to PDF using the dissertation template?
If not, can you try exporting to TEX with the dissertation template?
Okay so I just don't know what's happening anymore.
I tried to do a video of what you said I needed to do and... just check it out I don't know x)
2024-06-12.13-18-01.mp4
I don't understand, I can export my MOC in the dissertation format but not my internship report ? That's so weird
It just happened to me as I was filming, I had no idea that I could even export in the dissertation format. I'll try to change the content of my page.
@universvm Okay so I managed to pinpoint the problem by deleting one line in the YAML after the other. Apparently it's the titlepage-logo
that blocked me from exporting. But it was a hard thing to pinpoint without any error console! I don't know why I don't have one.
And for that I needed to export a document where I didn't had any YAML 😭
So now I have a question, how do I edit my abstract and acknowledgement title ? Because I'm french so it would be great if I can edit them.
And more than anything, can you link me an issue or a text on how to properly implement a titlepage-logo ? It's hard to debug without console errors...
Hi @ntino67 I'm glad you found out what the problem was. That's quite weird indeed. Ok let's try this:
Could you try following the guide but instead of this gist use these files: https://github.com/universvm/obsidian-pandoc-templates/tree/main/dissertation
These are identical to what is in Obsidian Enhancing Export. Could you try to follow the guide in the Medium blog (under LEGACY) and see if you get these to work?
We're very close to getting this to work. For the moment let's ignore the logo. If you get this to work, you can change the template manually in the areas that you need.
Let's worry about the logo once you got everything else up and running.
Nice!
This works the --template dissertation.tex
now.
Never did LaTeX templates but I'll figure out how to implement abstract-title and everything I did, it shouldn't be too hard.
Thank you very much! You were my last hope I was a full day on it and didn't understood why it wasn't working but now I can finally export it in a nice and professional way :)
@ntino67 Yay glad we made it. Honestly, maybe you can just modify the dissertation.tex template and fix the titles like "Abstract" manually to French?
All good !
I managed to implement the variable for the titles. Tested it and worked perfectly fine!
$if(abstract)$
\begin{center}
{\LARGE \textbf{\textsf{$if(abstract-title)$$abstract-title$$else$Abstract$endif$}}}
\end{center}
\begin{abstract}
\begin{justify}
$abstract$
\end{justify}
\end{abstract}
\pagebreak
$endif$
$if(acknowledgements)$
\begin{center}
{\LARGE \textbf{\textsf{$if(acknowledgements-title)$$acknowledgements-title$$else$Acknowledgements$endif$}}}
\end{center}
\begin{abstract}
\begin{justify}
$acknowledgements$
\end{justify}
\end{abstract}
\pagebreak
$endif$
$if(no-toc)$
$else$
\renewcommand*\contentsname{$if(toc-title)$$toc-title$$else$Table of Contents$endif$}
$if(beamer)$
\begin{frame}[allowframebreaks]
\frametitle{$if(toc-title)$$toc-title$$else$Table of Contents$endif$}
\tableofcontents[hideallsubsections]
\end{frame}
\newpage
$else$
{
$if(colorlinks)$
\hypersetup{linkcolor=$if(toccolor)$$toccolor$$else$$endif$}
$endif$
\setcounter{tocdepth}{$toc-depth$}
\tableofcontents
\newpage
}
$endif$
$endif$
Here are the changes if you are interested :)
Great to hear! @ntino67 I'm glad we sorted this out!
Thank you for your guidance!
I followed thoroughly your post, but I must be missing something. When I select dissertation nothing happens. I don't have any interface for my errors. Am I missing something is there a shortcut to open the console errors ?