| @ -0,0 +1,12 @@ | |||
| Fichiers d’en-tête communs pour LaTeX | |||
| Ordre d’inclusion [opt=optionnel] : | |||
| * \usepackage{headers_science} % Mathématiques, unités | |||
| * \usepackage{headers_lectures} % Outils pour écrire un cours [opt] | |||
| * \usepackage{headers_refs} % Références, bibliographies, tables des figures, index [opt] | |||
| * \usepackage{headers_fonts} % Polices et langues | |||
| * \usepackage{headers_figs} % Inclusions de figures, TikZ | |||
| * \usepackage{headers_exp} % Outils pour la mise en page de sujets de TP [opt] | |||
| * \usepackage{layout_style} % Adaptation de la mise en page | |||
| * \usepackage{macros} % Commandes persos | |||
| @ -0,0 +1,16 @@ | |||
| % Pour les symboles spéciaux utilisés | |||
| \usepackage{dictsym} | |||
| % Environnements pour les listes de matériels et les mesures | |||
| \usepackage{enumitem} | |||
| \newenvironment{matos}{\begin{itemize}[label=\dstechnical, noitemsep, topsep=3pt, partopsep=0pt]}{\end{itemize}} | |||
| \newenvironment{solutions}{\begin{itemize}[label=\dschemical, noitemsep, topsep=3pt, partopsep=0pt]}{\end{itemize}} | |||
| \newenvironment{mesures}{\begin{itemize}[label=\dsmathematical, noitemsep, topsep=3pt, partopsep=0pt]}{\end{itemize}} | |||
| \usepackage{tcolorbox} | |||
| \tcbuselibrary{breakable} | |||
| \newtcolorbox{experience}[3]{parbox=false,breakable,title=\dsrailways : \textbf{#1} \hfill \fontspec{FreeSerif.otf}{\symbol{"231B}} : \SI{#2}{\min}\\\dsliterary : {#3}} | |||
| % Coloration syntaxique des codes python | |||
| \usepackage{minted} | |||
| \usemintedstyle{friendly} | |||
| @ -0,0 +1,49 @@ | |||
| % Schémas en tous genres, objets graphiques… | |||
| \usepackage{tikz} | |||
| \usepackage{standalone} % Figure TikZ externes | |||
| \usepackage{tikzscale} % Redimensionnement des figures TikZ via \includegraphics | |||
| %TODO: TikZ externalization | |||
| \usetikzlibrary{calc,decorations.markings,decorations.pathmorphing,shapes} | |||
| \usepackage[ | |||
| RPvoltages, % Tensions positives | |||
| straightvoltages, % Représentées par des flèches droites | |||
| europeanresistors, % Conducteur ohmique rectangulaires | |||
| cuteinductors, % Bobines à la française | |||
| siunitx % Utilisation des unités dans les labels | |||
| ]{circuitikz} | |||
| \tikzset{EVS/.style={european voltage source,bipole/is voltage=false,voltage/distance from node=0.3}} | |||
| \tikzset{pile/.style={battery1,bipole/is voltage=false,voltage/distance from node=0.2}} | |||
| % Cf. https://github.com/circuitikz/circuitikz/issues/410 + v^> | |||
| % Couleurs de Matplotlib | |||
| \definecolor{C0}{HTML}{1F77B4} | |||
| \definecolor{C1}{HTML}{FF7F0E} | |||
| \definecolor{C2}{HTML}{2CA02C} | |||
| \definecolor{C3}{HTML}{D62728} | |||
| \definecolor{C4}{HTML}{9467BD} | |||
| \definecolor{C5}{HTML}{8C564B} | |||
| \definecolor{C6}{HTML}{E377C2} | |||
| \definecolor{C7}{HTML}{7F7F7F} | |||
| \definecolor{C8}{HTML}{BCBD22} | |||
| \definecolor{C9}{HTML}{17BECF} | |||
| % Inclusion de figures | |||
| \usepackage{graphicx} | |||
| % Figures centrées | |||
| \makeatletter | |||
| \g@addto@macro\@floatboxreset\centering | |||
| \makeatother | |||
| % Pour tracer un contour noir autour d’une figure avec \fbox si nécessaire | |||
| \setlength\fboxrule{0.5pt} | |||
| \setlength\fboxsep{-0.5pt} % Pour éviter un “Overfull \hbox” de 1pt | |||
| % Gestion des légendes des figures, doit être après babel | |||
| \usepackage[ | |||
| format=plain, | |||
| labelfont={sc,small}, | |||
| textfont={small} | |||
| ]{caption} | |||
| \usepackage{subcaption} % Sous-figures & légendes associées | |||
| \captionsetup[subfigure]{margin=5pt} | |||
| @ -0,0 +1,31 @@ | |||
| % Définition des polices du document | |||
| \usepackage{fontspec} | |||
| \defaultfontfeatures[EBGaramond]{Ligatures=TeX,Numbers={Lining,Proportional}} | |||
| \setmainfont[ | |||
| Extension = .otf, | |||
| UprightFont = *-Regular, | |||
| ItalicFont = *-Italic, | |||
| BoldFont = *-Bold, | |||
| BoldItalicFont = *-BoldItalic | |||
| ]{EBGaramond} | |||
| % Police pour les mathématiques | |||
| \usepackage[math-style=french]{unicode-math} | |||
| \setmathfont[StylisticSet={2}]{Garamond-Math.otf} | |||
| %StylisticSet | |||
| %2 → Curved \partial | |||
| %7 → \int variant | |||
| %8 → Garamond-compatible \mathcal (experimental) | |||
| % Micro-typography | |||
| \usepackage[factor=500,tracking,babel=true]{microtype} | |||
| \SetTracking{encoding={*}, shape=sc}{0} % Fix bug with microtype tracking in TeX Live 2019+ | |||
| % Lettrine | |||
| \usepackage{lettrine} | |||
| \setcounter{DefaultLines}{4} | |||
| \renewcommand{\LettrineFontHook}{\color[gray]{0.5}} | |||
| % Utilisation de babel pour les paramètres de langues | |||
| \usepackage[english,main=french]{babel} | |||
| \frenchbsetup{ItemLabels=\textendash} | |||
| @ -0,0 +1,3 @@ | |||
| % Example pseudo-env | |||
| \newcommand{\example}[1]{\subparagraph{\color{gray}Exemple :\hspace{-1.25ex}} \textcolor{gray}{#1}\ifhmode\newline\fi} | |||
| \newcommand{\application}[1]{\subparagraph{\color{gray}Application :\hspace{-1.25ex}} \textcolor{gray}{#1}\ifhmode\newline\fi} | |||
| @ -0,0 +1,93 @@ | |||
| % Ajouts dans la table des matières | |||
| \KOMAoption{toc}{bibliography} | |||
| %\KOMAoption{toc}{bibliography,index} | |||
| % Références croisées | |||
| \usepackage{cleveref} | |||
| % Bibliographie | |||
| \usepackage[ | |||
| natbib=true, % Pour pouvoir garder/utiliser les commandes natbib | |||
| backref=true, % Indique les pages citant les articles dans la bibliographie | |||
| style=authoryear-comp, % Style Auteur(s)-Année avec compression | |||
| labelnumber, % Pour pouvoir faire aussi des citation numériques | |||
| defernumbers, % Pour séparer les deux numérotations | |||
| sorting=nyvt, % Tri par nom, année, volume, titre pour la biblio | |||
| sortcites=false, % Mais pas de tri lors des citations | |||
| uniquelist=minyear, % Éviter les citations trop verbeuses | |||
| uniquename=init, % Ne considérer que l’initiale du prénom pour décider l’unicité d’un auteur | |||
| maxcitenames=2, % Pas plus de deux noms pour les citations | |||
| maxbibnames=4, % Jusqu’à 4 noms affichés dans la biblio | |||
| minbibnames=4, % Et pas moins si ça dépasse | |||
| dashed=false, % Répétition des noms dans la bibliographie | |||
| doi=false, % Ne pas afficher le DOI, en lien sur le titre | |||
| url=false, % Ne pas afficher l’URL, en lien sur le titre | |||
| isbn=false, % Ne pas afficher l’ISBN | |||
| autolang=hyphen % Hyphénation en fonction de la langue | |||
| ]{biblatex} | |||
| % Guillemets en fonction de la langue dans la bibliographie | |||
| \usepackage{csquotes} | |||
| \makeatletter | |||
| \def\blx@hook@initlang{\csq@reset=0\csq@setstyle{\abx@field@langid}} | |||
| \makeatletter | |||
| % Nom, Prénom pour tous | |||
| \DeclareNameAlias{sortname}{family-given} | |||
| % Pas de “In :” pour les articles | |||
| \renewbibmacro{in:}{\ifentrytype{article}{}{\printtext{\bibstring{in}\intitlepunct}}} | |||
| % Citations numériques pour les articles choisis | |||
| \newbibmacro*{cite:num}{\printtext[bibhyperref]{\printfield{labelnumber}}} | |||
| \DeclareCiteCommand{\citenum} | |||
| {\bibopenbracket} | |||
| {\usebibmacro{prenote}\usebibmacro{citeindex}\usebibmacro{cite:num}\usebibmacro{postnote}} | |||
| {\multicitedelim} | |||
| {\bibclosebracket} | |||
| % Ajouts des numéros dans la bibliographie par conséquent | |||
| \DeclareFieldFormat[book,inbook,proceedings,thesis]{labelnumber}{\RN{#1}} % Numérotation romaine séparée | |||
| \DeclareFieldFormat{labelnumberwidth}{#1.} | |||
| \defbibenvironment{bibliography}{% | |||
| \list{% | |||
| \printtext[labelnumberwidth]{% | |||
| \printfield{labelprefix}% | |||
| \printfield{labelnumber}% | |||
| }% | |||
| }{% | |||
| \setlength{\labelwidth}{\labelnumberwidth}% | |||
| \setlength{\leftmargin}{\labelwidth}% | |||
| \setlength{\labelsep}{\biblabelsep}% | |||
| \addtolength{\leftmargin}{\labelsep}% | |||
| \setlength{\itemsep}{\bibitemsep}% | |||
| \setlength{\parsep}{\bibparsep}}% | |||
| \renewcommand*{\makelabel}[1]{\hss##1}% | |||
| }% | |||
| {\endlist}% | |||
| {\item}% | |||
| % DOI/URL comme lien sur le titre au lieu de l’affichage | |||
| \newbibmacro{string+doiurl}[1]{% | |||
| \iffieldundef{doi}{% | |||
| \iffieldundef{url}{% | |||
| #1% | |||
| }{% | |||
| \href{\thefield{url}}{#1}% | |||
| }% | |||
| }{% | |||
| \href{https://dx.doi.org/\thefield{doi}}{#1}% | |||
| }% | |||
| } | |||
| \DeclareFieldFormat{title}{\usebibmacro{string+doiurl}{\mkbibemph{#1}}} | |||
| \DeclareFieldFormat[article,inproceedings,inbook]{title}{\usebibmacro{string+doiurl}{\mkbibquote{#1}}} | |||
| \DeclareFieldFormat{url}{} % Désactiver l’affichage de l’URL aussi pour les @online | |||
| % Déclarer les articles comme en anglais par défaut | |||
| \DeclareSourcemap{ | |||
| \maps[datatype=bibtex]{ | |||
| \map{ | |||
| \step[fieldset=langid,fieldvalue=english] | |||
| } | |||
| } | |||
| } | |||
| @ -0,0 +1,38 @@ | |||
| %% Paquets utile pour les maths/la science | |||
| \usepackage{mathtools} % La base | |||
| % Corrections de l’espacement autour des \left et \right | |||
| \usepackage{mleftright} | |||
| \mleftright | |||
| % Pour de belles frations et dérivées | |||
| \usepackage{xfrac} | |||
| \usepackage{esdiff} | |||
| % Mise en formes des unités | |||
| \protected\def\numpi{\text{\ensuremath{\pi}}} | |||
| \usepackage{siunitx} | |||
| \sisetup{ | |||
| number-unit-product = \,, | |||
| inter-unit-product = \ensuremath{\!\cdot\!}, | |||
| list-units = single, | |||
| multi-part-units = single, | |||
| range-units = single, | |||
| input-signs = {+ − ±}, | |||
| input-symbols = {π …}, | |||
| input-comparators = {< = > ≈ ≥ ≫ ≤ ≪ ∼ ≲ ≳ ≃} | |||
| } | |||
| \newcommand{\numtrange}[2]{\numrange[range-phrase = --]{#1}{#2}} | |||
| \newcommand{\SItrange}[3]{\SIrange[range-phrase = --]{#1}{#2}{#3}} | |||
| % Éléments atomiques, réactions, molécules | |||
| \usepackage[version=4,arrows=pgf{latex}{0.09ex}]{mhchem} | |||
| \usepackage{chemfig} | |||
| % Gestion avancée des tableaux | |||
| \usepackage{multirow} | |||
| \usepackage{makecell} | |||
| \usepackage{booktabs} | |||
| \usepackage{longtable} % Tableaux sur plusieurs pages (utilisé pour les acronymes, constantes et symboles) | |||
| \newcolumntype{d}{@{}c@{}} | |||
| \newcolumntype{C}[1]{>{\centering}m{#1}} | |||
| @ -0,0 +1,41 @@ | |||
| % Style avancée pour l’en-tête et les pieds-de-page | |||
| %\usepackage{scrlayer-scrpage} | |||
| %\ofoot*{∼\thepage∼} % Partie externe du pied de page | |||
| \recalctypearea % Recompute typearea after selecting the font | |||
| \usepackage{geometry} % Use geometry for some advance layout | |||
| % Since top is half of bottom, we had half of top to topmargin to get vmarginratio={1:1} without changing the textheight or headersep | |||
| \addtolength{\topmargin}{.5\topmargin} % Start with topmargin, else the .5in is already added | |||
| \addtolength{\topmargin}{.5in} | |||
| \addtolength{\topmargin}{.5\headsep} | |||
| \addtolength{\topmargin}{.5\headheight} | |||
| % Reduce a bit the footskip | |||
| \setlength{\footskip}{2\headsep} | |||
| % Règles typographiques de l’imprimerie nationale | |||
| \usepackage[parindent,lastparline,nosingleletter]{impnattypo} | |||
| % Lignes orphelines | |||
| \usepackage[all]{nowidow} | |||
| % Custom minitoc | |||
| \usepackage{etoc} | |||
| \newcommand{\minitoc}{% | |||
| \etocsettocstyle{\subsection*{Sommaire\vspace{-1em}\\\rule{\textwidth}{0.5pt}}}{}% | |||
| \etocsetstyle{section}{}{}{\etocsavedsectiontocline{\bfseries\numberline{\etocnumber}\etocname}{\bfseries\etocpage}}{}% | |||
| \etocsetstyle{subsection}{}{}{\etocsavedsubsectiontocline{\numberline{\etocnumber}\etocname}{\etocpage}}{}% | |||
| {\small\localtableofcontents}% | |||
| \noindent\rule{\textwidth}{0.5pt}% | |||
| \vspace{1em} | |||
| } | |||
| % Nombres tabulés pour les numéros de pages dans les tables des matières | |||
| \DeclareTOCStyleEntry[pagenumberformat={\bfseries\addfontfeatures{Numbers=Monospaced}}]{default}{part} | |||
| \DeclareTOCStyleEntry[pagenumberformat={\bfseries\addfontfeatures{Numbers=Monospaced}}]{default}{chapter} | |||
| \DeclareTOCStyleEntry[pagenumberformat={\addfontfeatures{Numbers=Monospaced}}]{default}{section} | |||
| \DeclareTOCStyleEntry[pagenumberformat={\addfontfeatures{Numbers=Monospaced}}]{default}{subsection} | |||
| \makeatletter | |||
| \renewcommand{\@pnumwidth}{1.6em} % Compensation de l’espace supplémentaire occupé | |||
| \makeatother | |||
| @ -0,0 +1,40 @@ | |||
| % Quelques commandes personnalisées | |||
| % Tables globales | |||
| \newenvironment{chaptable}[2]{ | |||
| \addchap*{#1} | |||
| \begin{longtable}{#2} | |||
| }{% | |||
| \end{longtable} | |||
| \addtocounter{table}{-1}% Ne pas compter comme une table | |||
| } | |||
| % En-têtes de tableau | |||
| \setlength{\heavyrulewidth}{0.1em} | |||
| % Typographie | |||
| \newcommand{\chapterend}{\vspace{1em}\begin{center}\large ☙❧\end{center}} % Cul-de-lampe | |||
| \newcommand{\siecle}[1]{\textsc{\romannumeral #1}\ieme{}~siècle} | |||
| \newcommand{\eg}{\textit{e.g.}} | |||
| \newcommand{\cf}{\textit{cf.} } | |||
| % Outils mathématiques | |||
| \AtBeginDocument{% Requis par unicode-math | |||
| \renewcommand{\vec}{\symbf} | |||
| \renewcommand{\nabla}{\vec{∇}} | |||
| \renewcommand{\div}[1]{\nabla · #1} | |||
| } | |||
| % Opérateurs usuels | |||
| \DeclareMathOperator{\di}{d\!} | |||
| \newcommand{\mean}[1]{\left<#1\right>} | |||
| \newcommand{\grad}[1]{\nabla\left(#1\right)} | |||
| \newcommand{\rot}[1]{\nabla × #1} | |||
| % Expressions parenthésées | |||
| \newcommand{\pa}[1]{\left(#1\right)} | |||
| \newcommand{\logp}[1]{\log\pa{#1}} | |||
| \newcommand{\fracp}[2]{\pa{\frac{#1}{#2}}} | |||
| % Grandeurs physiques classiques | |||
| \newcommand{\Ec}{ℰ_\text{c}} | |||
| \newcommand{\Ep}{ℰ_\text{p}} | |||
| \newcommand{\Em}{ℰ_\text{m}} | |||