I very much like the typesetting in Numdam's writeup of Éléments de géométrie algébrique. I find the font particularily pleasing, and the headers are nice as well. I've heard this is how it looked in the original release; I would like to snatch it. Does anyone know the name of the font, or does anyone have a general setup?
-
@Eivind You can view the information in Acrobat Reader by accessing the menu File->properties->fonts and see all the Helveticas and Courier!– yannislCommented Apr 17, 2011 at 20:26
-
1@Yiannis: Quite obviously it is neither Helvetica nor Courier (the document is a scan).– CaramdirCommented Apr 17, 2011 at 20:28
-
4The text font is Baskerville– egregCommented Apr 17, 2011 at 20:36
-
@Caramdir ..oops! downloaded it and checked in Reader and that is what I got! But you are right it is a scan, I wonder why the reader is giving me fonts.– yannislCommented Apr 17, 2011 at 21:13
-
2A wider set of techniques for figuring out what font is used are at graphicdesign.stackexchange.com/questions/374/…– Charles StewartCommented Apr 18, 2011 at 10:27
3 Answers
A Baskerville substitute that is freely available for TeX is Baskervald ADF. \usepackage{baskervald}
, but I don't think it looks so much like the Baskerville cut that's in the EGA. See what you think.
Maybe you'll prefer ITC New Baskerville. There is TeX support via \usepackage{nbaskerv}
but you'll have to purchase the font itself.
A font was specially commissioned to look like the old EGA : the SMF Baskerville font. It is not, however, publicly available. You can see a description of the project (in french, I'm afraid) in the article Une police mathématique pour la Société mathématique de France : le SMF Baskerville (A mathematical font for the French Mathematical Society: the SMF Baskerville). There's a comparison of the font with the original on page 13.
Micropress sells a Baskerville-based font called BA Math, but you might find it quite different to what the EGA fonts look like (the most notable change is the width of the math italic letter, which have lost their characteristic Baskerville narrowness).
With Michael Sharpe's Baskervaldx
and newtxmath
packages one can come fairly close to the style of EGA. For example
\documentclass[a4paper]{report}
\usepackage[french]{babel}
\usepackage{titlesec}
\usepackage[osf]{Baskervaldx}
\usepackage[frenchmath,baskervaldx]{newtxmath}
\titleclass{\newpara}{straight}[\subsection]
\newcounter{newpara}
\renewcommand\thenewpara{\thesubsection.\arabic{newpara}}
\titleformat{\newpara}
[runin] % shape
{\bfseries} % title and label format
{(\thenewpara)} % label
{1ex} % sep
{} % before title code
\titlespacing{\newpara}{\parindent}{0pt}{1ex}
\newcommand{\numberedpara}{\newpara{}} % the main command we'll actually use
\setcounter{secnumdepth}{4} % allows numbering for \newpara
\titleformat{\chapter}
[display] % shape
{\filcenter} % title and label format
{\Large\MakeUppercase{\chaptername}~\thechapter} % label
{4ex} % sep
{\LARGE\bfseries\MakeUppercase} % before title code
\renewcommand{\thesection}{\arabic{section}}
\titleformat{\section}
{\large\filcenter} % title and label format
{\S\;\bfseries\thesection.} % label
{1ex} % sep
{\bfseries\MakeUppercase} % before title code
\newcommand{\periodafter}[1]{#1.}
\titleformat{\subsection}
{\normalsize\bfseries}
{\thesubsection.}
{1ex}
{\periodafter}
[\setcounter{newpara}{0}]
\setcounter{chapter}{-1}
\begin{document}
\chapter{Préliminaires}
\section{Anneaux de fractions}
\setcounter{subsection}{-1}
\subsection{Anneaux et algèbres}
\numberedpara
Tous les anneaux considérés dans ce Traité posséderont un \emph{élément unité};
tous les modules sur un tel anneau seront supposés \emph{unitaires};
les homomorphismes d'anneaux seront toujours supposés \emph{transformer l'élément
unité en élément unité}; sauf mention expresse du contraire, un sous-anneau d'un
anneau $A$ sera \emph{supposé contenir Vêlement unité de} $A$. Nous considérerons
surtout des anneaux \emph{commutatifs}, et lorsque nous parlerons d'anneau sans
préciser, il sera sous-entendu qu'il s'agit d'un anneau commutatif. Si $A$ est un
anneau non nécessairement commutatif, par $A$-module nous entendrons toujours un
module \emph{à gauche}, sauf mention expresse du contraire.
\numberedpara
Soient $A,B$ deux anneaux non nécessairement commutatifs, $\varphi:A\to B$ un
homomorphisme. Tout $B$-module à gauche (resp. à droite) $M$ peut être muni
d'une structure de $A$-module à gauche (resp. à droite) en posant $a.m=\varphi(a).m$
(resp. $m.a=m.\varphi(a)$); lorsqu'il sera nécessaire de distinguer sur $M$ les
structures de $A$-module et de $B$-module, nous désignerons par $M_{[\varphi]}$ le
$A$-module à gauche (resp. à droite) ainsi défini. Si $L$ est un $A$-module, un
homomorphisme $u:L\to M_{[\varphi]}$ est donc un homomorphisme de groupes commutatifs
tel que $u(a.x)=\varphi(a).u(x)$ pur $a\in A$, $x\in L$; on dira aussi que c'est un
\emph{$\varphi$-homomorphisme} $L\to M$, et que le couple $(\varphi,u)$ (ou, par abus
de language, $u$) est un \emph{di-homomorphisme} de $(A,L)$ dans $(B,M)$. Les couples
$(A,L)$ formés d'un anneau $A$ et d'un $A$-module $L$ formet donc une \emph{catégorie}
pour laquelle les morphismes sont les di-homomorphismes.
\numberedpara
Sous les hypothèses de (1.0.2), si $\mathfrak{I}$ est un idéal à gauche (resp. à droite)
de $A$, nous noterons $B\mathfrak{I}$ (resp. $\mathfrak{I}B$) l'idéal à gauche (resp. à
droite) $B\varphi(\mathfrak{I})$ (resp. $\varphi(\mathfrak{I})B$) de $B$ engendré par
$\varphi(\mathfrak{I})$; c'est aussi l'image de l'homomorphisme canonique
$B\otimes_A \mathfrak{I}\to B$ (resp. $\mathfrak{I}\otimes_A B\to B$) de $B$-modules à
gauche (resp. à droite).
\vdots
\section{Espaces Irréductibles. Espaces Noethériens}
\subsection{Espaces irréductibles}
\end{document}
Note the baskervaldx
option of newtxmath
which gives the Baskervald italic lowercase letters in math.
If you plan to use this setup for a document in English, your preamble might look instead like
\documentclass{report}
\usepackage{titlesec} % comment out if not using fancy titles
\usepackage[osf]{Baskervaldx}
\usepackage[baskervaldx]{newtxmath}
If you really want to imitate the style of EGA, this should be a start:
Source:
\documentclass{EGAstyle}
\setcounter{chapter}{-1} % EGA starts with chapter 0
\begin{document}
\chapter{Préliminaires}
\section{Anneaux de fractions}
\setcounter{subsection}{-1}
\subsection{Anneaux et algèbres}
\numberedpara
Tous les anneaux considérés dans ce Traité posséderont un \emph{élément unité};
tous les modules sur un tel anneau seront supposés \emph{unitaires};
les homomorphismes d'anneaux seront toujours supposés \emph{transformer l'élément
unité en élément unité}; sauf mention expresse du contraire, un sous-anneau d'un
anneau $A$ sera \emph{supposé contenir Vêlement unité de} $A$. Nous considérerons
surtout des anneaux \emph{commutatifs}, et lorsque nous parlerons d'anneau sans
préciser, il sera sous-entendu qu'il s'agit d'un anneau commutatif. Si $A$ est un
anneau non nécessairement commutatif, par $A$-module nous entendrons toujours un
module \emph{à gauche}, sauf mention expresse du contraire.
\numberedpara \label{homom-def}
Soient $A,B$ deux anneaux non nécessairement commutatifs, $\varphi:A\to B$ un homomorphisme.
Tout $B$-module à gauche (resp. à droite) $M$ peut être muni d'une structure de $A$-module
à gauche (resp. à droite) en posant $a.m=\varphi(a).m$ (resp. $m.a=m.\varphi(a)$); lorsqu'il
sera nécessaire de distinguer sur $M$ les structures de $A$-module et de $B$-module, nous
désignerons par $M_{[\varphi]}$ le $A$-module à gauche (resp. à droite) ainsi défini. Si
$L$ est un $A$-module, un homomorphisme $u:L\to M_{[\varphi]}$ est donc un homomorphisme
de groupes commutatifs tel que $u(a.x)=\varphi(a).u(x)$ pur $a\in A$, $x\in L$; on dira
aussi que c'est un \emph{$\varphi$-homomorphisme} $L\to M$, et que le couple $(\varphi,u)$
(ou, par abus de language, $u$) est un \emph{di-homomorphisme} de $(A,L)$ dans $(B,M)$. Les
couples $(A,L)$ formés d'un anneau $A$ et d'un $A$-module $L$ formet donc une \emph{catégorie}
pour laquelle les morphismes sont les di-homomorphismes.
\numberedpara
Sous les hypothèses de (\ref{homom-def}), si $\mathfrak{I}$ est un idéal à gauche (resp. à
droite) de $A$, nous noterons $B\mathfrak{I}$ (resp. $\mathfrak{I}B$) l'idéal à gauche (resp.
à droite) $B\varphi(\mathfrak{I})$ (resp. $\varphi(\mathfrak{I})B$) de $B$ engendré par
$\varphi(\mathfrak{I})$; c'est aussi l'image de l'homomorphisme canonique
$B\otimes_A \mathfrak{I}\to B$ (resp. $\mathfrak{I}\otimes_A B\to B$) de $B$-modules à gauche
(resp. à droite).
\numberedpara
Si $A$ est un anneau (commutatif), $B$ un anneau non nécessairement commutatif, la donnée d'une
structure de \emph{$A$-algèbre} sur $B$ équivaut à la donnée d'un homomorphisme d'anneaux
$\varphi:A\to B$ tel que $\varphi(A)$ soit contenu dans le centre de $B$. Pour tout idéal
$\mathfrak{I}$ de $A$, $\mathfrak{I}B=B\mathfrak{I}$ est alors un idéal bilatère de $B$, et pour
tout $B$-module $M$, $\mathfrak{I}M$ est alors un $B$-module égal à $(B\mathfrak{I})M$.
\numberedpara
Nous ne reviendrons pas sur les notions de \emph{module de type fini} et d'\emph{algèbre}
(commutative) \emph{de type fini}; dire qu'un $A$-module $M$ est de type fini signifie qu'il
existe une suite exacte $A^p\to M\to 0$. On dit qu'un $A$-module $M$ admet une \emph{présentation finie}
s'il est isomorphe au conoyau d'un homomorphisme $A^p\to A^q$, autrement dit s'il existe une suite
exacte $A^p\to A^q\to M\to 0$. On notera que sur un anneau \emph{noethérien} $A$, tout $A$-mdoule
de type fini admet une présentation finie.
\section{Espaces Irréductibles. Espaces Noethériens}
\subsection{Espaces irréductibles}
\numberedpara
On dit qu'un espace topologique $X$ est \emph{irréductible} s'il est non vide et s'il n'est pas
réunion de deux sous-espaces fermés distincts de $X$. Il revient au même de dire que $X\neq\emptyset$
et que l'intersection de deux ouverts (et par suite d'un nombre fini d'ouverts) non vides de $X$
est non vide, ou que tout ouvert non vide est partout dense, ou que toute partie fermée $\neq X$
est \emph{rare}, ou enfin que tout ouvert de X est \emph{connexe}.
\numberedpara
Pour qu'un sous-espace $Y$ d'un espace topologique $X$ soit irréductible, il faut et il suffit que
son adhérence $\overline{Y}$ soit irréductible. En particulier, tout sous-espace qui est l'adhérence
$\overline{\{x\}}$ d'un sous-espace réduit à un point est irréductible; nous exprimerons la relation
$y\in\overline{\{x\}}$ (équivalente à $\overline{\{y\}}\subset \overline{\{x\}}$ en disant que $y$
est \emph{spécialisation de} $x$ ou que $x$ est une \emph{générisation de} $y$. Lorsqu'il existe
dans un espace irréductible $X$ un point $x$ tel que $X=\overline{\{x\}}$, nous dirons que $x$ est
\emph{point générique} de $X$. Tout ouvert non vide de $X$ contient alors $x$ et tout sous-espace
contenant $x$ admet $x$ pour point générique.
\numberedpara
Rappelons qu'on appelle \emph{espace de Kolmogoroff} un espace topologique $X$
vérifiant l'axiome de séparation:
$(T_0)$ Si $x\neq y$ sont deux points quelconques de $X$, il existe un ensemble ouvert contenant
l'un des points $x,y$ et non l'autre.
Si un espace de Kolmogoroff irréductible admet un point générique, il n'en admet
qu'\emph{un seul} puisqu'un ouvert non vide contient tout point générique.
\section{Compléments sur les faisceaux}
\subsection{Faisceaux à valeurs dans une catégorie}
\numberedpara \label{probleme-uni}
Soient $\boldK$ une catégorie, $(A_\alpha)_{\alpha\in I}$, $(A_{\alpha\beta})_{(\alpha,\beta)\in I\times I}$
deux familles d'objets de $\boldK$ telles que $A_{\beta\alpha}=A_{\alpha\beta}$,
$(\rho_{\alpha\beta})_{(\alpha,\beta)\in I\times I}$ une famille de morphismes
$\rho_{\alpha\beta}:A_\alpha\to A_{\alpha\beta}$. Nous dirons qu'un couple formé d'un objet $A$
de $\boldK$ et d'une famille de morphismes $\rho_\alpha:A\to A_\alpha$ est \emph{solution du problème universel}
défini par la donnée des familles $(A_\alpha)$, $(A_{\alpha\beta})$ et $(\rho_{\alpha\beta})$ si,
pour tout objet $B$ de $\boldK$, l'application qui, à tout $f\in\Hom(B,A)$ fait correspondre la
famille $(\rho_\alpha\circ f)\in \prod_\alpha\Hom(B,A_\alpha)$ est une \emph{bijection} de
$\Hom(B,A)$ sur l'ensemble des $(f_\alpha)$ telles que
$\rho_{\alpha\beta}\circ f_\alpha = \rho_{\beta\alpha}\circ f_\beta$ pour tout couple d'indices
$(\alpha,\beta)$. On voit aussitôt que s'il existe une telle solution, elle est unique à un isomorphisme près.
\numberedpara
Nous ne rappellerons pas la définition d'un \emph{préfaisceau} $U\to \mathscr{F}(U)$ sur un
espace topologique $X$, à valeurs dans une catégorie $\boldK$ (G, I, 1.9); nous dirons qu'un
tel préfaisceau est un faisceau à valeurs dans $\boldK$ s'il satisfait à l'axiome suivant:
(F) {\itshape Pour tout recouvrement $(U_\alpha)$ d'un ouvert $U$ de $X$ par des ouverts
$U_\alpha$ contenus dans $U$, si on désigne par $\rho_\alpha$ \emph{(resp. $\rho_{\alpha\beta}$)}
le morphisme de restriction
\[\mathscr{F}(U)\to \mathscr{F}(U_\alpha) \quad \textup{(resp. $\mathscr{F}(U_\alpha)\to \mathscr{F}(U_\alpha\cap U_\beta)$),}\]
le couple formé de $\mathscr{F}(U)$ et de la famille $(\rho_\alpha)$ est solution du problème
universel pour $(\mathscr{F}(U_\alpha))$, $(\mathscr{F}(U_\alpha\cap U_\beta))$ et
$(\rho_{\alpha\beta})$} (\ref{probleme-uni}) \footnote{C'est un cas particulier de la notion
générale de \emph{limite projective} (non filtrante) (\emph{voir} (T, 1, 1.8) et le livre en
préparation annoncé dans l'Introduction).}.
\begingroup
\renewcommand{\thechapter}{PREMIER}
\chapter{Le langage des schémas}
\endgroup
\ChapterTOC
Les §§ i à 8 ne font guère que développer un langage, celui qui sera utilisé dans
toute la suite. Notons cependant que, conformément à l'esprit général de ce Traité,
les §§ 7 et 8 seront moins utilisés que les autres, et de façon moins essentielle;
on n'a d'ailleurs parlé des schémas de Chevalley que pour faire le lien avec le
langage de Chevalley [i] et Nagata [9]. Le § 9 donne des définitions et résultats
sur les faisceaux quasi-cohérents, dont certains ne se bornent plus à une traduction
en langage «géométrique» de notions connues d'Algèbre commutative, mais sont déjà
de nature globale; ils seront indispensables, dès les chapitres suivants, dans
l'étude globale des morphismes. Enfin, le § 10 introduit une généralisation de la
notion de schéma, qui nous servira d'intermédiaire au chapitre III pour formuler
et démontrer de façon commode les résultats fondamentaux de l'étude cohomologique
des morphismes propres ; par ailleurs, signalons que la notion de schéma formel
semble indispensable pour exprimer certains faits de la «théorie des modules»
(problèmes de classification des variétés algébriques). Les résultats du § 10 ne
seront pas utilisés avant le § 3 du chapitre III et il est recommandé d'en omettre
la lecture jusque-là.
\section{Schémas affines}
\subsection{Le spectre premier d'un anneau}
\numberedpara
\textit{Notations:} Soient $A$ un anneau (commutatif), $M$ un $A$-module. Dans
ce chapitre et les suivants, nous utiliserons constamment les notations suivantes:
$\Spec(A)=$ \emph{ensemble des idéaux premiers} de $A$, appelé aussi
\emph{spectre premier} de $A$; pour un $x\in X=\Spec(A)$, il sera souvent commode
d'écrire $\mathfrak{j}_x$ au lieu de $x$. Pour que $\Spec(A)$ soit \emph{vide},
il faut et il suffiet que l'anneau $A$ soit réduit à 0.
$A_x=A_{\mathfrak{j}_x}=$ \emph{anneau (local) des fractions} $S^{-1}A$, où $S=A-\mathfrak{j}_x$.
$\mathfrak{m}_x=\mathfrak{j}_xA_{\mathfrak{j}_x}=$ \emph{idéal maximal de} $A_x$.
$\resfield(x)=A_x/\mathfrak{m}_x=$ \emph{corps résiduel de} $A_x$, isomorphe
canoniquement au corps des fractions de l'anneau intègre $A/\mathfrak{j_x}$,
auquel on l'identifie.
$f(x)=$ \emph{classe de} $f$ mod. $\mathfrak{j}_x$, dans $A/\mathfrak{j}_x\subset \resfield(x)$,
pour $f\in A$ et $x\in X$. On dit encore que $f(x)$ est le \emph{valeur} de $f$ au
point $x\in\Spec(A)$; les relations $f(x)=0$ et $f\in\mathfrak{j}_x$ sont équivalentes.
$M_x=M\otimes_A A_x=$ \emph{module des fractions à dénominateurs dans} $A-\mathfrak{j}_x$.
$\mathfrak{r}(E)=$ \emph{racine de l'idéal de $A$ engendré par une partie $E$ de $A$}.
$V(E)=$ \emph{ensemble des $x\in X$ tels que $E\subset \mathfrak{j}_x$}
(ou encore ensemble des $x\in X$ te;s que $f(x)=0$ pour tout $f\in E$),
pour $E\subset A$. On a donc
\begin{equation} \label{radical}
\mathfrak{r}(E) = \bigcap_{x\in V(E)} \mathfrak{j}_x
\end{equation}
$V(f)=V(\{f\})$ pour $f\in A$.
$D(f)=X-V(f)=$ \emph{ensemble des $x\in X$ où $f(x)\neq 0$}.
\begin{proposition}[label=vanishing-props]
On a les propriétés suivantes:
\begin{enumerate}
\item $V(0)=X$, $V(1)=\emptyset$.
\item La relation $E\subset E'$ entraîne $V(E)\supset V(E')$.
\item Pour toute famille $(E_\lambda)$ de parties de $A$, $V(\bigcup_\lambda E_\lambda)=V(\sum_\lambda E_\lambda)=\bigcap_\lambda V(E_\lambda)$.
\item $V(EE')=V(E)\cup V(E')$.
\item $V(E)=V(\mathfrak{r}(E))$.
\end{enumerate}
\end{proposition}
Les propriétés (i), (ii), (iii) sont triviales, et (v) résulte de (ii)
et de la formule (\ref{radical}). Il est évident que $V(EE')\supset V(E)\cup V(E')$;
inversement, se $x\notin V(E)$ et $x\notin V(E')$, il existe $f\in E$ set
$f'\in E'$ tels que $f(x)\neq 0$ et $f'(x)\neq 0$ dans $\resfield(x)$,
d'où $f(x)f'(x)\neq 0$, autrement dit $x\notin V(EE')$, ce qui prouve (iv).
La prop. (\ref{vanishing-props}) montre entre autres que les ensembles
de la forme $V(E)$ (où $E$ parcourt l'ensemble des parties de $A$) sont
les \emph{ensembles fermés} d'une topologie sur $X$, que nous appellerons
la \emph{topologie spectrale} \footnote{L'introduction de cette topologie
en géométrie algébrique est due à Zariski. Aussi est-elle souvent appelée
la «topologie de Zariski» de $X$}; sauf mention expresse du contraire,
on supposera toujours $X=\Spec(A)$ muni de la topologie spectrale.
\section{Préschémas et morphismes de préschémas}
\section{Produits de préschémas}
\section{Sous-préschémas et morphismes d'immersion}
\section{Préschémas réduits; condition de séparation}
\section{Conditions de finitude}
\section{Applications rationnelles}
\section{Les schémas de Chevalley}
\section{Compléments sur les faisceaux quasi-cohérents}
\section{Schémas formels}
\chapter{Étude globale élémentaire de quelques classes de morphismes}
\ChapterTOC
Les diverses classes de morphismes étudiées dans ce chapitre le sont
sans faire grand usage des méthodes cohomologiques; une étude plus
poussée, utilisant ces dernières méthodes, en sera faite au chapitre
III, où on utilisera surtout les §§ 2, 4 et 5 du chapitre II. Le § 8
peut être omis en première lecture: il donne quelques compléments au
formalisme développé dans les §§ i à 3, se réduisant à des applications
faciles de ce formalisme, et nous en ferons un usage moins constant
que des autres résultats de ce chapitre.
\section{Morphismes affines}
La plupart des résultats de ce paragraphe sont les contreparties «globales»
de ceux du chapitre I\ier, § 1; ils ne sont donc pas essentiellement
nouveaux et fournissent simplement un langage commode pour la suite.
\subsection{$S$-préschémas et $\mathscr{O}_S$-Algèbres}
\numberedpara Soient $S$ un préschéma, $X$ un $S$-préschéma, $f:X\to S$
son morphisme structural. On sait (\textbf{0}, 4.2.4) que l'image directe
$f_*(\mathscr{O}_X)$ est une $\mathscr{O}_S$-Algèbre, que noterons
$\mathscr{A}(X)$ lorsqu'il n'en résultera pas de confusion; si $U$ est
un ouvert de $S$, on a
\[\mathscr{A}(f^{-1}(U))=\mathscr{A}(X)\vert U.\]
\section{Spectres premiers homogènes}
\section{Spectre homogène d'un faisceau d'algèbres graduées}
\section{Fibres projectifs. Faisceaux amples}
\section{Morphismes quasi-affines; morphismes quasi-projectifs; morphismes propres; morphismes projectifs}
\section{Morphismes entiers et morphismes finis}
\section{Critères valuatifs}
\section{Schémas éclatés; cônes projetants; fermeture projective}
\end{document}
Class file:
\ProvidesClass{EGAstyle}
%%% Document Class %%%
\LoadClass[a4paper,twoside,12pt]{report}
%%% Layout and Formatting %%%
\RequirePackage[hcentering,headsep=2ex,headheight=13.6pt,footskip=20pt,bottom=23ex,includefoot,heightrounded]{geometry}
\RequirePackage{titlesec} % section heading customization
\RequirePackage{titletoc} % TOC customization
\RequirePackage{fancyhdr} % headers and footers
\RequirePackage{enumitem} % list customization
%%% Math %%%
\RequirePackage[
leqno % equation numbers on left
]{mathtools}
\RequirePackage{amsthm}
\RequirePackage{thmtools}
%%% Fonts %%%
\RequirePackage[
osf % old style numbers in text
]{Baskervaldx} % text font
\RequirePackage[
frenchmath, % upright capital Roman and capital/lowercase Greek letters in math
baskervaldx, % baskervaldx lowercase letters in math
]{newtxmath} % math font
\RequirePackage[scr=boondox]{mathalpha} % \mathscr font
%%% French conventions %%%
\RequirePackage[french]{babel}
\frenchsetup{
og=«,fg=», % proper spacing with « and »
}
\RequirePackage[
babel=true % allows French-specific microtypographical improvements
]{microtype} % microtypography, plus letterspacing with \textls
%%% Section Headings %%%
\DeclareRobustCommand\test@chap@diff[1]{\ifnum#1=\value{chapter}\relax\else\textbf{\thechapter}, \fi}
%% new section type for numbered paragraphs (with subsubsection numbering)
\titleclass{\newpara}{straight}[\subsection]
\newcounter{newpara}
\renewcommand\thenewpara{\test@chap@diff{\arabic{chapter}}\thesubsection.\arabic{newpara}}
\titleformat{\newpara}
[runin] % shape
{\bfseries} % title and label format
{(\thenewpara)} % label
{1ex} % sep
{} % before title code
\titlespacing{\newpara}{\parindent}{0pt}{1ex}
\titlecontents{newpara}{}{}{}{} % should never appear in TOC but get errors without this
\newcommand{\numberedpara}{\newpara{}} % the main command we'll actually use
\setcounter{secnumdepth}{4} % allows numbering for \newpara
%% chapter formatting
\titleformat{\chapter}
[display] % shape
{\filcenter} % title and label format
{\Large\MakeUppercase{\chaptername}~\thechapter} % label
{4ex} % sep
{\LARGE\bfseries\MakeUppercase} % before title code
\titlespacing*{\chapter}{0pt}{40pt}{20pt}
%% section formatting
\renewcommand{\thesection}{\arabic{section}}
\titleformat{\section}
{\filcenter} % title and label format
{§\;\bfseries\thesection.} % label
{1ex} % sep
{\bfseries\MakeUppercase} % before title code
\titlespacing*{\section}{0pt}{5ex plus 1ex minus .2ex}{2.3ex plus .2ex}
%% subsection formatting
\newcommand{\periodafter}[1]{#1.}
\titleformat{\subsection}
{\normalsize\bfseries} % title and label format
{\thesubsection.} % label
{1ex} % sep
{\periodafter} % before title code
[\setcounter{newpara}{0}] % reset paranum counter
%%% Header and Footer %%%
\renewcommand{\headrulewidth}{0pt} % remove head rule
\fancypagestyle{plain}{% redefine pagestyle for chapter pages
\fancyhf{}
\fancyfoot[LE,RO]{\footnotesize\itshape \thepage}
}
\fancyhf{} % clear existing header/footer
%% header
\fancyhead[LE,RO]{\footnotesize \thepage} % upper page numbering, alternate side even/odd
\fancyhead[RE]{\footnotesize Chap. \thechapter} % chapter number for even pages
\fancyhead[CE]{\small\scshape \textls[200]{a. grothendieck}} % author name for even pages
\fancyhead[LO]{\footnotesize §\;\thesection} % section number for odd pages
\fancyhead[CO]{\small\scshape éléments de géométrie algébrique} % book title for odd pages
%% footer
\fancyfoot[LE,RO]{\footnotesize\itshape \thepage} % lower page numbering, alternate side even/odd
\pagestyle{fancy} % actually set the page style
%%% Partial TOC's %%%
\titlecontents{locsection}
[1.9em]
{\hangindent0.6em}
{\contentslabel[§\;\hfill\thecontentslabel.]{1.9em}\enspace}
{\hspace*{-1.9em}}
{.}
\newcommand{\ChapterTOC}{%
\vspace*{-4ex}
\begin{center}
\rule{8em}{1pt} \\[4ex]
\textbf{Sommaire}
\end{center}
\startcontents[chapters]
\printcontents[chapters]{loc}{1}[1]{}
\vspace*{\baselineskip}
}
%%% Other Global Settings %%%
\setlength{\parindent}{4.5ex} % bigger paragraph indent than default
\renewcommand{\theequation}{\test@chap@diff{\arabic{chapter}}\thenewpara.\arabic{equation}} % equation numbers follow newpara counter
\newtagform{bold}[\bfseries]{\bfseries(}{)} % bold equation numbers
\usetagform{bold}
% set default enumerate style to that of EGA
\setlist[enumerate,1]{label=\textup{(\roman*)},align=left,itemsep=0pt,left=\parindent .. 0pt,itemindent=2\parindent}
%%% Theorems %%%
% in EGA, the theorems and paragraphs use the same numbering
\declaretheoremstyle[
headfont=\itshape,
bodyfont=\itshape,
headindent=\parindent,
headformat={\NAME~\textbf{\textup{(\NUMBER)}}},
headpunct={. --- }
]{EGAthmstyle}
\declaretheorem[sharenumber=newpara,style=EGAthmstyle]{corollaire}
\declaretheorem[sharenumber=newpara,style=EGAthmstyle,name=Définition]{definition}
\declaretheorem[sharenumber=newpara,style=EGAthmstyle]{lemme}
\declaretheorem[sharenumber=newpara,style=EGAthmstyle]{proposition}
\declaretheorem[sharenumber=newpara,style=EGAthmstyle,name=Théorème]{theoreme}
\declaretheoremstyle[
headfont=\itshape,
headindent=\parindent,
headformat={\textbf{\textup{(\NUMBER)}}~\NAME},
headpunct={. --- }
]{EGAexmplstyle}
\declaretheorem[sharenumber=newpara,style=EGAexmplstyle]{exemple}
\declaretheoremstyle[
headfont=\itshape,
bodyfont=\normalfont,
headindent=\parindent,
headformat={\NAME~\textbf{\textup{(\NUMBER)}}},
headpunct={. --- }
]{EGArmkstyle}
\declaretheorem[sharenumber=newpara,style=EGArmkstyle]{remarque}
%%% Common math expressions in EGA %%%
\newcommand{\boldK}{\textit{\textbf{\textsc{\large k}}}\mkern1mu}
\DeclareMathOperator{\Hom}{Hom}
\DeclareMathOperator{\Spec}{Spec}
\DeclareMathOperator{\resfield}{\textbf{\textit{k}}}
%%% footnotes in parentheses
\NewCommandCopy{\oldfootnote}{\footnote}
\RenewDocumentCommand{\footnote}{ o +m }{(\hspace*{-.1em}\IfValueTF{#1}{\oldfootnote[#1]{#2}}{\oldfootnote{#2}})}
\renewcommand*{\insertfootnotemarkFB}{%
\parindent=\parindentFFN
\rule\z@\footnotesep
\setbox\@tempboxa\hbox{\@thefnmark}%
\ifdim\wd\@tempboxa>\z@
\llap{(\hspace*{.05em}\textsuperscript{\@thefnmark})}\kernFFN
\fi}
\renewcommand\footnoterule{\kern-3pt \hrule width 1in \kern 2.6pt} % shorten footnote rule