kaffesky-markdown-templates/convertion_templates_pandoc/template_pdf-via-xelatex/template_first-skyfritt-example.tex
2026-03-27 12:21:04 +01:00

233 lines
9.5 KiB
TeX
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

%% Pandoc LaTeX Template
%% Usage: pandoc input.md -o output.pdf --template=template_first-skyfritt-example.tex
\documentclass[12pt, a4paper]{article}
%% ── Encoding & language ───────────────────────────────────────────────────────
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[english]{babel}
%% ── Page geometry ─────────────────────────────────────────────────────────────
%% A4 at 12pt Roboto. Text width ~155mm → ~68 chars/line, within the
%% 4575 char optimal range (Bringhurst). Bottom is slightly deeper than
%% top to give the page number visual breathing room and anchor the page.
\usepackage[
a4paper,
top = 27mm,
bottom = 32mm,
left = 28mm,
right = 28mm,
footskip = 14mm
]{geometry}
%% ── Font: Roboto (requires XeLaTeX or LuaLaTeX) ──────────────────────────────
\usepackage{fontspec}
\setmainfont{Roboto}[
UprightFont = *-Regular,
BoldFont = *-Bold,
ItalicFont = *-Italic,
BoldItalicFont = *-BoldItalic
]
\setsansfont{Roboto}
\setmonofont{Menlo}[Scale=0.9]
%% ── Colours ───────────────────────────────────────────────────────────────────
\usepackage{xcolor}
\definecolor{accent}{HTML}{2C3E50}
\definecolor{muted}{HTML}{7F8C8D}
\definecolor{vertbar}{HTML}{297ab3}
%% ── Hyperlinks ────────────────────────────────────────────────────────────────
\usepackage[
colorlinks = true,
linkcolor = accent,
urlcolor = accent,
citecolor = accent
]{hyperref}
%% ── Page footer only ──────────────────────────────────────────────────────────
%% No header. Page number centred in the footer at footnotesize so it
%% sits quietly without competing with the text.
\usepackage{fancyhdr}
\pagestyle{fancy}
\fancyhf{}
\fancyfoot[C]{\footnotesize\textcolor{muted}{\thepage}}
\renewcommand{\headrulewidth}{0pt}
\renewcommand{\footrulewidth}{0pt}
%% ── Section styling ───────────────────────────────────────────────────────────
\usepackage{titlesec}
\titleformat{\section}
{\large\bfseries\color{accent}}{\thesection}{1em}{\MakeUppercase}[\titlerule]
\newcommand{\sectionbreak}{\clearpage}
\titleformat{\subsection}
{\normalsize\bfseries\color{accent}}{\thesubsection}{1em}{}
\titleformat{\subsubsection}
{\normalsize\itshape}{\thesubsubsection}{1em}{}
%% ── Table of contents styling ─────────────────────────────────────────────────
\usepackage{tocloft}
\renewcommand{\cftsecfont}{\bfseries}
\renewcommand{\cftsecpagefont}{\bfseries}
\setlength{\cftbeforesecskip}{4pt}
%% ── Section numbering ─────────────────────────────────────────────────────────
%% By default sections are NOT auto-numbered, because Markdown headings already
%% carry their own numbers (e.g. "## 1. Introduction").
%% Pass --number-sections to pandoc to enable LaTeX auto-numbering instead.
$if(numbersections)$
\setcounter{secnumdepth}{$if(secnumdepth)$$secnumdepth$$else$3$endif$}
$else$
\setcounter{secnumdepth}{0}
$endif$
%% ── Tables ────────────────────────────────────────────────────────────────────
\usepackage{booktabs}
\usepackage{longtable}
\usepackage{array}
\usepackage{caption}
\usepackage{colortbl}
%% Table colours
\definecolor{tableheadbg}{HTML}{2C3E50} %% same as accent — dark header
\definecolor{tablerowA}{HTML}{FFFFFF} %% white rows
\definecolor{tablerowB}{HTML}{F0F3F4} %% very light grey alternate rows
\definecolor{tablerule}{HTML}{BDC3C7} %% light rule colour
%% Caption styling
\captionsetup[table]{
font = {small, color=muted},
labelfont = bf,
position = above,
skip = 4pt
}
%% Tighten row height slightly and add a hint of left/right cell padding
\setlength{\tabcolsep}{10pt}
\renewcommand{\arraystretch}{1.35}
%% Wrap every longtable in alternating-row colours.
%% Row 1 (the header) gets the dark accent background; from row 2 onward
%% rows alternate tablerowA / tablerowB.
\AtBeginEnvironment{longtable}{%
\rowcolors{2}{tablerowB}{tablerowA}%
\arrayrulecolor{tablerule}%
}
%% Style the header row: white bold text on dark accent background.
%% \rowcolor in row 1 overrides the \rowcolors cycling for that row only.
\newcommand{\tableheader}{%
\rowcolor{tableheadbg}%
\color{white}\bfseries%
}
%% Pandoc emits \toprule / \midrule / \bottomrule from booktabs.
%% Override rule weights to match the softer palette.
\setlength{\heavyrulewidth}{0.8pt}
\setlength{\lightrulewidth}{0.4pt}
\setlength{\cmidrulewidth}{0.4pt}
\makeatletter
\newcounter{none}
\makeatother
%% ── Graphics & figures ────────────────────────────────────────────────────────
\usepackage{graphicx}
$if(templatedir)$
\graphicspath{{$templatedir$/}}
$endif$
\usepackage{float}
\makeatletter
\def\maxwidth{\ifdim\Gin@nat@width>\linewidth\linewidth\else\Gin@nat@width\fi}
\makeatother
\setkeys{Gin}{width=\maxwidth, keepaspectratio}
\usepackage{etoolbox}
\usepackage{tikz}
%% ── Code listings ─────────────────────────────────────────────────────────────
\usepackage{fancyvrb}
\usepackage{listings}
\lstset{
basicstyle = \small\ttfamily,
breaklines = true,
frame = single,
rulecolor = \color{muted},
commentstyle = \color{muted},
keywordstyle = \color{accent}\bfseries
}
%% ── Pandoc shims ──────────────────────────────────────────────────────────────
\providecommand{\tightlist}{%
\setlength{\itemsep}{0pt}\setlength{\parskip}{0pt}}
$if(highlighting-macros)$
$highlighting-macros$
$endif$
%% ── Blockquotes ───────────────────────────────────────────────────────────────
\AtBeginEnvironment{quote}{\fontsize{11pt}{13.2pt}\selectfont}
%% ── Spacing ───────────────────────────────────────────────────────────────────
\usepackage{parskip}
\setlength{\parskip}{6pt}
\usepackage{setspace}
\onehalfspacing
%% ══════════════════════════════════════════════════════════════════════════════
%% DOCUMENT
%% ══════════════════════════════════════════════════════════════════════════════
\begin{document}
%% ── Title page ────────────────────────────────────────────────────────────────
\begin{titlepage}
\thispagestyle{empty}
%% ── Full-height left vertical bar ─────────────────────────────────────────
\begin{tikzpicture}[remember picture, overlay]
\fill[vertbar] (current page.north west)
rectangle ++(1.27cm, -29.70cm);
\end{tikzpicture}
\raggedright
\vspace*{0.3cm}
\includegraphics[width=5.5cm]{skyfritt-logo_borderless.pdf}\par
\vspace{1.3cm}
{\fontsize{38}{32}\selectfont\color{accent}\MakeUppercase{$title$} \par}
\vspace{0.5cm}
{\color{vertbar}\rule{3.31cm}{0.2cm}}
\vspace{1cm}
$if(subtitle)$
{\fontsize{15}{20}\selectfont $subtitle$ \par}
\vspace{1cm}
$endif$
$if(author)$
{\large $for(author)$$author$$sep$ \\ $endfor$ \par}
\vspace{0.5cm}
$endif$
$if(date)$
{\normalsize\textcolor{muted}{$date$} \par}
$endif$
\vfill
$if(description)$
\begin{minipage}{0.7\textwidth}
\raggedright\small\textcolor{muted}{$description$}
\end{minipage}
$endif$
\end{titlepage}
%% ── Table of contents ─────────────────────────────────────────────────────────
\clearpage
\tableofcontents
\clearpage
%% ── Main content ──────────────────────────────────────────────────────────────
$body$
\end{document}