summaryrefslogtreecommitdiffstats
path: root/config/macros.tex
blob: 396b23e405cf9c547c0fcf979359804e1d4287ea (plain)
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
149
150
%%% Emacs: -*- mode:latex; coding:utf-8; -*-

%%
%% Macros pour les formules
%%

%% Opérateurs en caractères romains, etc.

% Macro pour définir un opérateur dans une police quelconque
\newcommand\DeclareMathOperatorWithFont[3]{%
\newcommand{#1}{\mathop{\kern0pt\relax#2{#3}}\nolimits}}

\DeclareMathOperatorWithFont{\Hom}{\mathsf}{Hom}
\DeclareMathOperatorWithFont{\End}{\mathsf}{End}
\DeclareMathOperatorWithFont{\Isom}{\mathsf}{Isom}
\DeclareMathOperatorWithFont{\Aut}{\mathsf}{Aut}
\DeclareMathOperatorWithFont{\Int}{\mathsf}{Int}
\DeclareMathOperatorWithFont{\Out}{\mathsf}{Out}

\DeclareMathOperatorWithFont{\Id}{\mathrm}{Id}
\DeclareMathOperatorWithFont{\Ker}{\mathrm}{Ker}
\DeclareMathOperatorWithFont{\Fix}{\mathrm}{Fix}

\DeclareMathOperatorWithFont{\pgcd}{\mathrm}{pgcd}
\DeclareMathOperatorWithFont{\ppcm}{\mathrm}{ppcm}

\DeclareMathOperatorWithFont{\prlim}{\mathrm}{lim}
\DeclareMathOperatorWithFont{\colim}{\mathrm}{colim}

\DeclareMathOperatorWithFont{\car}{\mathrm}{car}
\DeclareMathOperatorWithFont{\Frob}{\mathrm}{Frob}

\DeclareMathOperatorWithFont{\Tr}{\mathrm}{Tr}
\DeclareMathOperatorWithFont{\N}{\mathrm}{N}

\DeclareMathOperatorWithFont{\ob}{\mathsf}{Ob}

\newcommand{\op}{^{\mathsf{op}}}
\newcommand{\sep}{^{\mathrm{sép}}}
\newcommand{\alg}{^{\mathrm{alg}}}

%% Ensembles usuels
\newcommand{\ZZ}{\mathbf{Z}}
\newcommand{\NN}{\mathbf{N}}
\newcommand{\RR}{\mathbf{R}}
\newcommand{\QQ}{\mathbf{Q}}
\newcommand{\CC}{\mathbf{C}}
\newcommand{\PP}{\mathbf{P}}
\newcommand{\FF}{\mathbf{F}}
\newcommand{\GG}{\mathbf{G}}

%% Divers

% Barre oblique apparaissant dans A/k
\newcommand{\bo}{/}

% Symbole de Legendre
\newcommand{\Legendre}[2]{\left(\frac{#1}{#2}\right)}

% Police pour les catégories
\newcommand{\categ}[1]{\mathtt{#1}}

\newcommand{\Ens}{\categ{Ens}}

%% Tiret et trait d'union en mode maths

% Trouvé sur <URL: http://tug.org/pipermail/luatex/2010-October/002192.html >
\makeatletter
\def\DeclareUnicodeMathSymbol#1#2#3#4{
  \global\luatexUmathchardef#1=
    "\mathchar@type#2
    "\the\csname sym#3\endcsname
    #4
}
\makeatother

%\DeclareMathSymbol{\tiret}{\mathord}{operators}{"2013}
\DeclareUnicodeMathSymbol{\tiret}{\mathord}{operators}{"2013}
\DeclareMathSymbol{\traitdunion}{\mathord}{operators}{"2D}

%% Symboles divers
\DeclareUnicodeMathSymbol{\boxempty}{\mathord}{operators}{"25A1}

%% Caractères japonais
% On définit la police IPA Mincho.  L'argument range semble ne pas fonctionner !
\setmathfont[range={"4E00-"9FFF},Script=CJK]{IPAMincho}
% On sauve le nom LaTeX de famille de cette police
\ExplSyntaxOn
\let\saveIPAMinchoFamily\um_symfont_tl
\ExplSyntaxOff
% Maintenant on peut définir les caractères eux-mêmes
\Umathcode`米="0"\the\csname sym\saveIPAMinchoFamily\endcsname"7C73
\DeclareUnicodeMathSymbol{\yone}{\mathord}{\saveIPAMinchoFamily}{"7C73}
\Umathcode`田="0"\the\csname sym\saveIPAMinchoFamily\endcsname"7530
\DeclareUnicodeMathSymbol{\yoneDA}{\mathord}{\saveIPAMinchoFamily}{"7530}

% Voir <URL: http://tex.stackexchange.com/questions/95304/spacing-changes-when-using-unicode-math-range-feature-why >
\setmathfont[range={}]{XITS Math}

%% Fabrice n'aime pas les noms anglais
\let\chap\widehat
\let\sur\overline
\let\sous\underline

%%
%% Environnements français
%%

\newtheorem{lemme2}[subsubsection]{Lemme}
\newtheorem{proposition2}[subsubsection]{Proposition}
\newtheorem{theoreme2}[subsubsection]{Théorème}
% Ce qui suit définit l'environnement {théorème2} comme exactement synonyme de {theoreme2}
\expandafter\expandafter\expandafter\let\expandafter\expandafter\csname théorème2\endcsname\csname theoreme2\endcsname
\expandafter\expandafter\expandafter\let\expandafter\expandafter\csname endthéorème2\endcsname\csname endtheoreme2\endcsname
\newtheorem{corollaire2}[subsubsection]{Corollaire}
\newtheorem{definition2}[subsubsection]{Définition}
% Ce qui suit définit l'environnement {définition2} comme exactement synonyme de {definition2}
\expandafter\expandafter\expandafter\let\expandafter\expandafter\csname définition2\endcsname\csname definition2\endcsname
\expandafter\expandafter\expandafter\let\expandafter\expandafter\csname enddéfinition2\endcsname\csname enddefinition2\endcsname
\newtheorem{convention2}[subsubsection]{Convention}
\newtheorem{remarque2}[subsubsection]{Remarque}
\newtheorem{remarques2}[subsubsection]{Remarques}
\newtheorem{exemple2}[subsubsection]{Exemple}
\newtheorem{exemples2}[subsubsection]{Exemples}
\newtheorem{exercice2}[subsubsection]{Exercice}
\newtheorem{algorithme2}[subsubsection]{Algorithme}

\renewcommand{\proofname}{Démonstration}
% Ce qui suit définit l'environnement {démo} comme exactement synonyme de {proof}
\expandafter\let\csname démo\endcsname\proof
\expandafter\let\csname enddémo\endcsname\endproof

\renewcommand{\contentsname}{Table des matières}

%%
%% Macros générales
%%

%% Référence externe (chapitre #1, référence #2)
\newcommand\refext[2]{\textbf{#1}-\ref{#2}}

%% Commentaires
\newcommand\commentaire[1]{\textcolor{Magenta}{#1}}
\newcommand\XXX{\textcolor{Magenta}{(XXX)}}

%%
%% Paramétrages divers
%%
\setcounter{tocdepth}{2}