Repository navigation
Expand file tree
/
Copy pathcommon.sty
More file actions
148 lines (117 loc) · 3.81 KB
/
Copy pathcommon.sty
File metadata and controls
148 lines (117 loc) · 3.81 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
% Déclarations d'usage ;-)
%=========================
\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{common}[2014/01/20 Extension commune à mes classes]
% Déclaration des options
%========================
% option pour l'anglais
\newif\if@english\@englishfalse
\DeclareOption{english}{
\@englishtrue
}
\ProcessOptions\relax
% Chargement des packages utiles
%===============================
% pour avoir plus de ressources (nécessaire pour mathtools par exemple)
\RequirePackage{etex}
% pour gérer plus facilement les imports de dossiers
\RequirePackage{import}
% font vectorielles
\RequirePackage{lmodern}
% packages pour l'encodage ...
\RequirePackage[utf8]{inputenc}
\RequirePackage[T1]{fontenc}
% utilisé par babel pour gérer les espaces avec les guillemets
\RequirePackage{xspace}
% babel en français (par défaut) et anglais
\if@english
\RequirePackage[frenchb,british]{babel}
\else
\RequirePackage[british,frenchb]{babel}
\fi
% affichage des urls plus mieux
\RequirePackage{url}
% même style que le texte pour les url
\urlstyle{same}
% pour ne pas avoir de problèmes avec les noms de fichiers avec des points (dot)
\RequirePackage{grffile}
% pour l'inclusion d'images
\RequirePackage{graphicx}
% pour gérer la taille des flottants
\RequirePackage{adjustbox}
% pour insérer des pages pdf entières
\RequirePackage{pdfpages}
% pour avoir de jolis tableaux
\RequirePackage{booktabs}
% pour ajouter plein de trucs de matheux
% rq.: mathtools importe amsmath
\RequirePackage{mathtools}
\RequirePackage{amssymb}
\RequirePackage{amsfonts}
% pour avoir plus de caractères en \mathbb (utiliser \mathbbm)
\RequirePackage{bbm}
% package pour mettre en forme les nombres
\RequirePackage[np]{numprint}
% pour les liens hypertextes
\RequirePackage{hyperref}
% liens en noir
\hypersetup
{
colorlinks,
citecolor=black,
filecolor=black,
linkcolor=black,
urlcolor=black
}
% pour gérer le retour à la ligne dans des citations bibliographiques longues
\RequirePackage{breakcites}
% pour la gestion fine de la typographie
\RequirePackage{microtype}
% pour mettre des "todo"
\RequirePackage{todonotes}
% pour les algorithmes
\if@english
\RequirePackage[vlined,linesnumbered]{algorithm2e}
\else
\RequirePackage[french,vlined,linesnumbered]{algorithm2e}
\fi
% pas de point-virgule à la fin de chaque ligne
\DontPrintSemicolon
% pour créer de nouveaux environnements flottants (utile pour les algorithmes)
\RequirePackage{float,caption}
% pour insérer de longues tables (pour la nomenclature)
\RequirePackage{longtable}
% Symboles manquants
%===================
% associer ° avec \degres (issu de babel/frenchb)
\DeclareUnicodeCharacter{00B0}{\degres}
% symbole euro
\RequirePackage{eurosym}
% utilisation du signe euro du clavier
\DeclareUnicodeCharacter{20AC}{\euro}
% Configurations pour le français
%================================
% pour babel
% - pour l'utilisation des guillemets du clavier
\frenchbsetup{og=«, fg=»}
% - les tables deviennent des tableaux
\addto\captionsfrench{\def\tablename{Tableau}}
% Configuration des flottants
%============================
% configuration de positionnement des flottants
\newcommand{\floatpos}{tbp}
% macro pour inclure une figure
\newcommand{\fig}[2][]{\adjustimage{#1,center,figure=\floatpos}{#2}}
% macro pour inclure une table
\newcommand{\tab}[2][]{%
\adjustbox{#1,center,float={table}[\floatpos]}{\input{#2}}}
% macro pour inclure n'importe quoi
\newcommand{\incfloat}[2][]{\adjustbox{#1,center,figure=\floatpos}{#2}}
% environnement pour insérer un algorithme facilement dans le flottant défini
% ci-dessous
\newenvironment{algorithm2}{\begin{algorithm}[H]}{\end{algorithm}}
% macro pour insérer un algorithme flottant
\floatstyle{ruled}
\newfloat{algo}{\floatpos}{ext}
\floatname{algo}{\algorithmcfname}
\newcommand{\incalgo}[2][]{\adjustbox{#1,center,float={algo}[H]}{\input{#2}}}