thesis/src/preamble.tex

228 lines
5.6 KiB
TeX

%{{{ packages "
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[english,main=french]{babel}
\usepackage{CJKutf8}
\usepackage{lmodern}
\usepackage{microtype}
% openright: chapters start on right page
% \usepackage[inner=40mm,outer=20mm,top=25mm,bottom=25mm]{geometry}
\usepackage[width=160mm,top=25mm,bottom=25mm]{geometry}
\usepackage{fancyhdr}
\usepackage{caption}
\usepackage{titling}
\usepackage{subcaption}
\usepackage{titletoc}
\usepackage{abstract}
\usepackage{shapepar}
\usepackage{emptypage}
\usepackage{minted}% before csquotes
\usepackage{csquotes}
\usepackage[
backend=biber,backref=true,
style=authoryear,citestyle=authoryear,sorting=nyt,
dashed=false,
maxbibnames=99,maxcitenames=2,uniquelist=false,
language=auto]{biblatex}
\AtEveryBibitem{\clearfield{month}}
\AtEveryBibitem{\clearfield{day}}
\DeclareNameAlias{sortname}{last-first}
\usepackage{array}
\usepackage{float}
\usepackage{flafter}
\usepackage[bottom]{footmisc}
\usepackage{multicol}
\usepackage[section]{placeins}% prevent float to go out of its section
\usepackage{amsmath}% cleveref
\usepackage{amsthm}
\usepackage{amssymb}
\usepackage{stmaryrd}
\usepackage{xcolor}
\usepackage{xspace}
\usepackage{setspace}
\usepackage{suffix}
\usepackage[binary-units]{siunitx}
\usepackage{algorithm}
\usepackage{tikz}
\usepackage{ifthen}
\usepackage[tikz]{ocgx2}
\usepackage{tikz-qtree}
\usepackage{morewrites}% increase 16 open files limit (scrwfile is incompatible with titletoc)
\usepackage{chngcntr}
\PassOptionsToPackage{hyphens}{url}
\usepackage{hyperref}
\usepackage[noabbrev,nameinlink]{cleveref}% after hyperref (see documentation)
\usepackage[commentColor=black!75]{algpseudocodex}% after cleveref
\usepackage[acronyms,section=chapter]{glossaries-extra}% after hyperref
\usepackage{sty/acref}% after cleveref
%}}}
%{{{ configuration "
\title{Application de la métaprogrammation template à la conception de bibliothèques actives de
parallélisation assistée}
\author{Alexis Pereda}
% \date{}
\input{src/usr/bibstyle}
\addbibresource{src/references.bib}
\AtEveryCite{\restorecommand\mkbibnamefamily}% disable small caps in citations
\setcounter{tocdepth}{2}
\setcounter{secnumdepth}{4}
\renewcommand{\baselinestretch}{1.15}
\AtBeginDocument{
\counterwithin{listing}{chapter}
\counterwithin{algorithm}{chapter}
}
\sisetup{locale=FR}
\DeclareSIUnit{\octet}{o}
\microtypesetup{
protrusion=alltext-nott,
expansion=alltext-nott,
final
}
\floatplacement{listing}{H}
\hypersetup{
pdftitle={\thetitle},
pdfauthor={\theauthor},
pdfsubject={\thetitle},
pdfcreator={\theauthor},
pdfproducer={\theauthor},
pdfkeywords={C++, métaprogrammation, template, parallélisation, parallélisation automatique,
répétabilité},
pdfnewwindow=true,
colorlinks,
linkcolor={red!50!black},
citecolor={blue!50!black},
urlcolor={blue!80!black}
}
%{{{ TikZ "
\usetikzlibrary{shapes,matrix,fit,spy,arrows.meta,chains,backgrounds}
\usetikzlibrary{positioning,intersections,calc}
\usetikzlibrary{decorations.pathreplacing,decorations.pathmorphing}
\usetikzlibrary{shadows,patterns}
\usetikzlibrary{external}
\AtBeginEnvironment{tikzpicture}{\shorthandoff{;}}
%}}}
%{{{ acref "
\crefname{listing}{extrait de code}{extraits de code}
\Crefname{listing}{Extrait de code}{Extraits de code}
\acrefarticle{listing}{l'}{L'}
%}}}
%{{{ locale "
\renewcommand{\listingscaption}{Extrait de code}
\renewcommand{\listoflistingscaption}{Liste des extraits de code}
\DefineBibliographyStrings{french}{%
backrefpage = {page},
backrefpages = {pages},
in = {dans},
}
\DeclareFieldFormat{titlecase}{\MakeSentenceCase{\foreignlanguage{english}{#1}}}
%}}}
%{{{ fancyhdr "
\setlength{\headheight}{14pt}
\addtolength{\topmargin}{-2pt}
%}}}
%{{{ thanks "
\newenvironment{thesisthanks}{\cleardoublepage\newgeometry{width=160mm,top=25mm,bottom=25mm}\chapter*{Remerciements}\thispagestyle{empty}}{}
%}}}
%{{{ abstract "
\renewcommand*{\abstractnamefont}{\flushleft\huge\bfseries}%
\patchcmd{\endabstract}{\null}{}{}{}%
\AtBeginEnvironment{abstract}{\newgeometry{width=160mm,top=25mm,bottom=25mm}}%
%}}}
%}}}
%{{{ input extra configuration "
\input{src/usr/alg}
\input{src/usr/header}
\input{src/usr/listing}
\input{src/usr/math}
\input{src/usr/ocg}
\input{src/usr/tikz}
%}}}
%{{{ other input "
\input{src/tikz/common}
%}}}
%{{{ commands "
\newcommand*{\en}[1]{\foreignlanguage{english}{\textit{#1}}}
\newcommand*{\encitetitle}[1]{{\foreignlanguage{english}{\citetitle{#1}}}}
\newcommand*{\chapterdir}{}
\newcommand*{\inputchd}[2]{\input{src/#1/\chapterdir/#2}}
\newcommand*{\labelchd}[2]{\label{#1:\chapterdir/#2}}
\newcommand*{\inputsrc}[1]{\input{src/\chapterdir/#1}}
\newcommand*{\inputlst}[2]{\inputchd{lst}{#1}\caption{#2}\labelchd{lst}{#1}}
\newcommand*{\inputfig}[2]{\centering\inputchd{fig}{#1}\caption{#2}\labelchd{fig}{#1}}
\newcommand*{\inputalg}[2]{\caption{#2}\labelchd{alg}{#1}\inputchd{alg}{#1}}
\WithSuffix\newcommand\inputlst*[1]{\inputchd{lst}{#1}}
\WithSuffix\newcommand\inputfig*[1]{\inputchd{fig}{#1}}
\WithSuffix\newcommand\inputalg*[1]{\inputchd{alg}{#1}}
\newcommand*{\chapterx}[2]{
\glsresetall
\chapter{#2}\label{ch:#1}
\thispagestyle{chapter}
\renewcommand*{\chapterdir}{#1}
\addtocontents{lol}{\protect\addvspace{10pt}}
\addtocontents{loa}{\protect\addvspace{10pt}}
\startcontents[chapters]
{
\hypersetup{linkcolor=black}
\setcounter{tocdepth}{3}
\printcontents[chapters]{}{1}{}
}
\newpage
\tikzsetexternalprefix{buildfig/\chapterdir _}
}
\WithSuffix\newcommand\chapterx*[1]{%
\glsresetall
\chapter*{#1}
\addcontentsline{toc}{chapter}{#1}
\markboth{#1}{#1}
}
\def\compilationversion{}
\input{src/commands}
%}}}
%{{{ glossaries "
\makeglossaries
\setabbreviationstyle[acronym]{short-long}
\input{src/acronyms}
%}}}