136 lines
3.5 KiB
TeX
136 lines
3.5 KiB
TeX
\ProvidesPackage{komageneral}
|
|
|
|
% Base packages
|
|
\usepackage{fontspec}
|
|
\usepackage{geometry}
|
|
\usepackage{scrlayer-scrpage} % Already included, will be used instead of fancyhdr
|
|
\usepackage{enumitem}
|
|
\usepackage{caption}
|
|
\usepackage[expansion,protrusion=true]{microtype}
|
|
\usepackage{polyglossia}
|
|
\usepackage{biblatex}
|
|
\usepackage{float}
|
|
\usepackage{xcolor}
|
|
\usepackage{listings}
|
|
\usepackage{longtable}
|
|
\usepackage{wrapfig}
|
|
\usepackage{rotating}
|
|
\usepackage[normalem]{ulem}
|
|
\usepackage{amsmath}
|
|
\usepackage{amssymb}
|
|
\usepackage{capt-of}
|
|
\usepackage{hyperref}
|
|
\usepackage{booktabs}
|
|
\usepackage{grffile}
|
|
\usepackage{unicode-math}
|
|
\usepackage[Export]{adjustbox}
|
|
\usepackage{graphicx}
|
|
|
|
\setdefaultlanguage{english}
|
|
\setotherlanguages{german}
|
|
|
|
\adjustboxset{max size={\textwidth}{0.6\textheight}}
|
|
|
|
\KOMAoptions{toc=flat,toc=listof}
|
|
|
|
% Font settings
|
|
\defaultfontfeatures{Ligatures=TeX, RawFeature={+zero, +liga}}
|
|
\setmainfont{Noto Serif Regular}[BoldFont={Noto Serif Bold}, ItalicFont={Noto Serif Italic}]
|
|
\setsansfont{Noto Sans Regular}[BoldFont={Noto Sans Bold}, ItalicFont={Noto Sans Italic}]
|
|
\setmonofont{Noto Sans Mono}[BoldFont={Noto Sans Mono Bold}, Scale=0.8]
|
|
\linespread{1.25}
|
|
|
|
% Geometry settings
|
|
\geometry{a4paper, left=2cm, right=2cm, top=2cm, bottom=2cm}
|
|
|
|
% Header and footer settings with scrlayer-scrpage instead of fancyhdr
|
|
\pagestyle{scrheadings}
|
|
\clearpairofpagestyles
|
|
\automark[section]{section}
|
|
\ohead{\pagemark}
|
|
\ihead{\leftmark}
|
|
\setkomafont{pageheadfoot}{\normalfont}
|
|
\setkomafont{pagehead}{\normalfont}
|
|
|
|
% Section formatting with KOMA-Script features instead of titlesec
|
|
\setkomafont{section}{\Large\bfseries\sffamily}
|
|
\setkomafont{subsection}{\large\bfseries\sffamily}
|
|
\setkomafont{subsubsection}{\normalsize\bfseries\sffamily}
|
|
|
|
\RedeclareSectionCommand[
|
|
beforeskip=\baselineskip,
|
|
afterskip=0.5\baselineskip
|
|
]{section}
|
|
|
|
\RedeclareSectionCommand[
|
|
beforeskip=\baselineskip,
|
|
afterskip=0.5\baselineskip
|
|
]{subsection}
|
|
|
|
\RedeclareSectionCommand[
|
|
beforeskip=\baselineskip,
|
|
afterskip=0.5\baselineskip
|
|
]{subsubsection}
|
|
|
|
% Define the spacing between section number and title
|
|
\renewcommand{\sectionformat}{%
|
|
\thesection\hspace{1em}%
|
|
}
|
|
|
|
\renewcommand{\subsectionformat}{%
|
|
\thesubsection\hspace{1em}%
|
|
}
|
|
|
|
\renewcommand{\subsubsectionformat}{%
|
|
\thesubsubsection\hspace{1em}%
|
|
}
|
|
|
|
% Set global table font to Noto Sans Condensed Light
|
|
\AtBeginEnvironment{tabular}{\fontspec{Noto Sans Condensed}}
|
|
\AtBeginEnvironment{longtable}{\fontspec{Noto Sans Condensed}}
|
|
|
|
% Caption settings
|
|
\captionsetup{font=small, labelfont=bf}
|
|
|
|
% Custom quote environment
|
|
\usepackage{etoolbox}
|
|
\AtBeginEnvironment{quote}{\itshape}
|
|
|
|
% Custom formatting commands
|
|
\newcommand{\important}[1]{\textbf{#1}}
|
|
\newcommand{\code}[1]{\texttt{#1}}
|
|
|
|
% Title page settings
|
|
\newcommand{\TitlePage}[3]{ % #1 - Logo file, #2 - Company name
|
|
\begin{titlepage}
|
|
\centering
|
|
\vspace*{1cm}
|
|
\includegraphics[width=0.3\textwidth]{#1}\par\vspace{1cm}
|
|
{\Huge #2\par}
|
|
\vspace{2cm}
|
|
{\Large #3\par}
|
|
\vfill
|
|
{\large \today\par}
|
|
\end{titlepage}
|
|
}
|
|
|
|
% Global listing settings
|
|
\lstset{
|
|
basicstyle={\ttfamily\color[rgb]{0.30, 0.34, 0.42}},
|
|
showstringspaces=false,
|
|
keywordstyle={\color[rgb]{0.23, 0.26, 0.32}\textbf},
|
|
commentstyle={\color[rgb]{0.26, 0.30, 0.37}},
|
|
stringstyle={\color[rgb]{0.18, 0.20, 0.25}},
|
|
frame=single,
|
|
numbers=left,
|
|
numbersep=5pt,
|
|
numberstyle={\ttfamily\color[rgb]{0.30, 0.34, 0.42}},
|
|
keepspaces=true,
|
|
showspaces=false,
|
|
showstringspaces=false,
|
|
showtabs=false,
|
|
breaklines=true,
|
|
breakatwhitespace=false,
|
|
tabsize=2,
|
|
columns=fullflexible
|
|
}
|