{
  "notes": {
    "prefix": "notes",
    "body": [
      "%%% compile with `latexmk -xelatex -interaction=nonstop -synctex=1 -shell-escape DOC.tex`",
      "",
      "%%% general article setup",
      "\\documentclass{article}[a4paper]",
      "",
      "%%% general includes",
      "\\usepackage{a4wide}",
      "\\usepackage{mathtools}",
      "\\usepackage{amsthm}",
      "\\usepackage{amssymb}",
      "\\usepackage{amsmath}",
      "\\usepackage{amsfonts}",
      "\\usepackage{hyphenat}",
      "\\usepackage{tikz}",
      "\\usepackage{graphicx}",
      "\\usepackage{xcolor}",
      "\\usepackage{color}",
      "",
      "%%% DEUTSCH!",
      "\\usepackage[ngerman]{babel}",
      "",
      "%%% lorem ipsum text",
      "\\usepackage{blindtext}",
      "",
      "%%% figures in text flow",
      "\\usepackage{wrapfig}",
      "",
      "%%% links in toc etc",
      "\\usepackage{hyperref}",
      "",
      "%%% source code",
      "\\usepackage{listings}",
      "\\usepackage{minted}",
      "\\definecolor{bg}{rgb}{0.95, 0.95, 1.0}",
      "",
      "%%% define own enumeration styles",
      "% use custom labels with `\\begin{enumerate}[label=$\\bullet$]`",
      "% \\arabic*) or \\roman*) also work",
      "\\usepackage{enumerate}",
      "\\usepackage{enumitem}",
      "% don't show gap between list entries",
      "\\setlist{nosep}",
      "\\setlist[enumerate, 1]{label=$\\bullet$}",
      "\\setlist[enumerate, 2]{label=$\\bullet$}",
      "\\setlist[enumerate, 3]{label=$\\bullet$}",
      "",
      "%%% cleaner newline indentation",
      "\\usepackage[parfill]{parskip}",
      "",
      "%%% break page on new section",
      "\\usepackage{titlesec}",
      "\\newcommand{\\sectionbreak}{\\clearpage}",
      "",
      "%%% remove page numbers (fancyhdr provides its own)",
      "\\usepackage{nopageno}",
      "",
      "%%% fancy headers and footers",
      "\\usepackage{fancyhdr}",
      "\\pagestyle{headings}",
      "",
      "%%% theorem-style environments",
      "\\usepackage{proof}",
      "\\theoremstyle{definition}",
      "\\newtheorem{definition}{Definition}[section]",
      "\\newtheorem{example}{Beispiel}[section]",
      "\\newtheorem{algo}{Algorithmus}[section]",
      "\\newtheorem{theorem}{Satz}[section]",
      "\\newtheorem*{remark}{Bemerkung}",
      "",
      "%%% bibtex - cite with \\autocite{}, will show in footnote",
      "\\usepackage{csquotes}",
      "\\usepackage[style=verbose-trad2]{biblatex}",
      "",
      "%%% set metadata",
      "\\title{ \\\\\\[0.2em] \\large }",
      "\\author{Marco Thomas}",
      "\\date{\\today}",
      "",
      "% \\bibliography{bibliography}",
      "",
      "\\begin{document}",
      "",
      "% create title page with toc",
      "\\maketitle",
      "\\newpage",
      "\\tableofcontents",
      "\\newpage",
      "",
      "% begin here; don't forget to relaunch nvim :>",
      "\\section{}",
      "",
      "% \\newpage",
      "% \\printbibliography",
      "",
      "\\end{document}"
    ],
    "description": "Preset to create a new notes document"
  },
  "presentation": {
    "prefix": "presentation",
    "body": [
      "%%% compile with `latexmk -xelatex -interaction=nonstop -synctex=1 -shell-escape DOC.tex",
      "",
      "%%% general beamer setup",
      "\\documentclass[presentation, smaller, aspectratio=169]{beamer}",
      "\\usetheme{Singapore}",
      "\\usecolortheme{rose}",
      "",
      "%%% page numbers in the bottom right",
      "\\addtobeamertemplate{navigation symbols}{}{%",
      "    \\usebeamerfont{footline}%",
      "    \\usebeamercolor[fg]{footline}%",
      "    \\hspace{1em}%",
      "    \\raisebox{2pt}[0pt][0pt]{\\insertframenumber/\\inserttotalframenumber}",
      "}",
      "",
      "%%% DEUTSCH!",
      "\\usepackage[ngerman]{babel}",
      "",
      "%%% general includes",
      "\\usepackage{mathtools}",
      "\\usepackage{amsthm}",
      "\\usepackage{amssymb}",
      "\\usepackage{amsmath}",
      "\\usepackage{hyphenat}",
      "\\usepackage{tikz}",
      "\\usepackage{graphicx}",
      "\\usepackage{color}",
      "\\usepackage{proof}",
      "",
      "%%% source code",
      "\\usepackage{listings}",
      "\\usepackage{minted}",
      "",
      "%%% define own enumeration styles",
      "% use custom labels with `\\begin{enumerate}[label=$\\bullet$]`",
      "% \\arabic*) or \\roman*) also work",
      "\\usepackage{enumerate}",
      "\\usepackage{enumitem}",
      "% don't show gap between list entries",
      "\\setlist{nosep}",
      "\\setlist[enumerate, 1]{label=$\\bullet$}",
      "\\setlist[enumerate, 2]{label=$\\bullet$}",
      "\\setlist[enumerate, 3]{label=$\\bullet$}",
      "",
      "%%% set metadata",
      "\\title{}",
      "\\subtitle{}",
      "\\author{Marco Thomas}",
      "\\date{\\today}",
      "",
      "\\begin{document}",
      "",
      "\\maketitle",
      "\\newpage",
      "\\begin{frame}",
      "  \\frametitle{Inhaltsübersicht}",
      "  \\tableofcontents[hideallsubsections]",
      "\\end{frame}",
      "\\newpage",
      "",
      "% begin here; don't forget to relaunch nvim :>",
      "\\section{}",
      "\\begin{frame}",
      "\\end{frame}",
      "",
      "\\end{document}"
    ],
    "description": "Preset to create a new presentation"
  },
  "letter": {
    "prefix": "letter",
    "body": [
        "%%% compile with TODO",
        "",
        "%%% general letter setup",
        "\\documentclass[",
        "  fontsize=12pt,",
        "  parskip=full,",
        "  paper=A4,",
        "  fromalign=right,",
        "  % set to false if unwanted",
        "  fromphone=true,",
        "  fromemail=true,",
        "  version=last",
        "]{scrlttr2}",
        "",
        "%%% DEUTSCH!",
        "\\usepackage[ngerman]{babel}",
        "",
        "%%% general includes",
        "\\usepackage{pdfpages}",
        "\\usepackage[hidelinks]{hyperref}",
        "",
        "\\begin{document}",
        "",
        "\\makeatletter",
        "",
        "\\renewcommand*{\\raggedsignature}{\\raggedright}",
        "",
        "%%% set metadata; from",
        "\\setkomavar{fromname}{}",
        "\\setkomavar{fromaddress}{street \\\\\\ city_plz}",
        "\\setkomavar{fromphone}{}",
        "\\setkomavar{fromemail}{}",
        "\\setkomavar{place}{}",
        "\\setkomavar{date}{}",
        "\\setkomavar{subject}{}",
        "",
        "% recipient",
        "\\begin{letter}{name \\\\\\ street \\\\\\ city_plz} ",
        "",
        "\\opening{Sehr geehrter}",
        "",
        "% type here; don't forget to relaunch nvim :>",
        "",
        "\\closing{mit freundlichen Grüßen}",
        "",
        "\\end{letter}",
        "\\end{document}"
    ],
    "description": "Wrap figure in text context"
  },
  "wrapfigure": {
    "prefix": "wrapfigure",
    "body": [
      "\\begin{wrapfigure}{${1:l or r}}{0.4\\textwidth}",
      "\t\\centering",
      "\t\\includegraphics[width=0.2\\textwidth]{figures/$2}",
      "\t\\caption{$3}",
      "\t\\label{fig:$4}",
      "\\end{wrapfigure}"
    ],
    "description": "Wrap figure in text context"
  },
  "source": {
    "prefix": "src",
    "body": [
      "\\inputminted[breaklines=true, bgcolor=bg]{${1:language}}{${2:file}}"
    ],
    "description": "Include a source code file"
  },
  "source-direct": {
    "prefix": "srcd",
    "body": [
      "\\begin{minted}[breaklines=true, bgcolor=bg]{${1:language}}",
      "\\end{minted}"
    ],
    "description": "Directly write a code snippet"
  },
  "source-inline": {
    "prefix": "srci",
    "body": ["\\mintinline{${1:language}}{${2:code}}"],
    "description": "Write code inline"
  },
  "german quote": {
    "prefix": "gqq",
    "body": ["\\glqq{}$1\\grqq{}"],
    "description": "German quotes"
  },
  "paragraph": {
    "prefix": "paragraph",
    "body": ["\\paragraph{$1}"],
    "description": "Insert a new paragraph"
  },
  "columns": {
    "prefix": "columns",
    "body": [
      "\\begin{columns}",
      "\t\\begin{column}{0.5\\textwidth}",
      "\t\\end{column}",
      "\t\\begin{column}{0.5\\textwidth}",
      "\t\\end{column}",
      "\\end{columns}"
    ],
    "description": "Create columns env in a slide"
  },
  "frame": {
    "prefix": "frame",
    "body": [
      "\\begin{frame}[fragile]{$1}",
      "\t$2",
      "\\end{frame}"
    ],
    "description": "Create frame env in a slide"
  }
}
