%\pdfoutput1
%\pdfmapfile{yh.map}
\documentclass[10pt,hyperref={pdfpagelabels=false}]{beamer}
\definecolor{kugreen}{RGB}{46,83,84}
\definecolor{kugreenlys}{RGB}{86,157,160}
\definecolor{kugreenlyslys}{RGB}{165,165,165}
\definecolor{kugreenlyslyslys}{RGB}{242,242,242}
\setbeamercovered{transparent}
\mode<presentation>
{ \usetheme{PaloAlto}
\usecolortheme[named=kugreen]{structure}
\useinnertheme{circles}
\usefonttheme[onlymath]{serif}
\setbeamercovered{transparent}
\setbeamertemplate{blocks}[rounded][shadow=true]
}
\input{yhbeamer-pres.tex}
\usepackage{pgfpages,qtree,url,fontspec,dad}
%\usepackage[utf8x]{inputenc}
\setbeameroption{hide notes}
\usepackage{tikz-dependency}
\usepackage[round]{natbib}
\renewcommand{\newblock}{}
%\usepackage[all]{xy}
\usepackage{amsmath,amsfonts,amscd,multicol,eurosym,array,yhmath}
%\def\rmdefault{cmr}
%\def\sfdefault{cmr}
%\usepackage{ucs}
%\usepackage[utf8]{inputenc}
%\usepackage[T1]{fontenc}
%\usepackage[francais]{babel}
\title{Formation doctorale \LaTeX}
\author{Yannis Haralambous (Télécom Bretagne)}
\date{7/6/2015}
\begin{document}
%\fontfamily{cmr}\selectfont
\maketitle
\def\yem#1{\texttt{\textbackslash #1} $\csname#1\endcsname$\relax}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{frame}[fragile]
\frametitle{Plan du cours}
\begin{itemize}
\item Philosophie, généralités, morphologie, syntaxe, commandes de base, bon nombre de choses utiles
\item Index, bibliographie
\item Présentations
\item Mathématiques (micro- et macro-typographie)
\item Pages Web avec formules (MathJax)
\item Arbres syntaxiques, graphes
\item Lettrage de figures
\item \LaTeX\ avancé, les coulisses de \TeX
\item Personnalisation de style
\end{itemize}
\end{frame}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{frame}[fragile]
\frametitle{Philosophie}
\begin{itemize}
\item\TeX\ est un des plus anciens logiciels libres (1978) et le premier à avoir massivement déclenché la créativité de ses utilisateurs ;
\item\TeX\ est un typographe dans la machine, un langage de programmation, une syntaxe pour écrire les mathématiques, et pour certains : une \og religion\fg{} ;
\item\LaTeX\ est une surcouche du langage de programmation \TeX{} ;
\item on utilise le paradigme de la programmation : édition du source, compilation, débogage ;
\item que l'on peut traduire en jargon d'imprimerie : préparation de copie, composition, correction d'épreuves ;
\item sauf que là où il y avait un auteur, un éditeur, un imprimeur, et un correcteur, aujourd'hui il n'y a qu'une seule personne : l'\og utilisateur\fg{}.
\end{itemize}
\end{frame}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{frame}[fragile]
\frametitle{Généralités --- mode opératoire}
\begin{itemize}
\item\LaTeX\ est un système de préparation de document, basé sur le langage de programmation \TeX ;
\smallskip
%\mode<beamer>{\includegraphics[scale=.3]{img/latex1w.pdf}}
\includegraphics[scale=.3]{latex1.pdf}
\item mode opératoire sous Unix ou assimilé : on écrit le code \LaTeX\ dans un fichier \texttt{toto.tex}, et puis plusieurs approches :
\begin{enumerate}
\item on compile : \texttt{latex toto}
et on obtient \texttt{toto.dvi}. On convertit en PostScript :
\texttt{dvips -o toto.ps toto}
et éventuellement en PDF : \texttt{ps2pdf toto.ps}
\item ou alors on compile directement \texttt{pdflatex toto}
\item ou alors \texttt{xelatex toto} si le document comporte des écritures non-latines.
\end{enumerate}
\end{itemize}
\end{frame}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{frame}[fragile]
\frametitle{Il existe aussi des IDE...}
\resizebox{!}{6cm}{\includegraphics{6TQJQ.png}}
\medskip
\TeX Shop (Mac), \TeX nicCenter (Windows), \TeX studio, etc., cf.
\small\url{http://tex.stackexchange.com/questions/339/latex-editors-ides}
\end{frame}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{frame}[fragile]
\frametitle{Un projets, plusieurs fichiers}
\begin{itemize}
\item Le nom de fichier devient le nom de projet ;
\item l'extension de nom de fichier indique sa nature : \texttt{.tex}, \texttt{.log}, \texttt{.dvi}, \texttt{.ps}, \texttt{.pdf}, \texttt{.aux}, \texttt{.sty}, \texttt{.cls}, \texttt{.idx}, \texttt{.ind}, \texttt{.bib}, \texttt{.bbl} et tant d'autres...
\item dans la suite on s'intéressera avant tout aux fichiers \texttt{.tex} qui contiennent le code source de notre document.
\end{itemize}
\end{frame}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{frame}[fragile]
\frametitle{Conventions du mode texte, orthotypographie}
\begin{itemize}
\item Plusieurs blancs = un blanc ;
\item plusieurs lignes blanches = une ligne blanche = un changement de paragraphe ;
\item on écrit \verb=--=, \verb=---=, \verb=<<=, \verb=>>=, \verb=``=, \verb=''=, \verb=!`=, \verb=?`= pour --, ---, \og , \fg{}, ``, '', !`, ?` ;
\item on écrit \verb=~= pour le blanc insécable ;
\item dans un document français composé en France, en Belgique ou en Suisse (package \texttt{babel}, option \texttt{francais}), on laissera un blanc devant la double ponctuation ainsi qu'avant et après le tiret long [\texttt{babel} insère un blanc insécable devant le deux-points et une espace fine insécable dans les autres cas] ;
\item dans un document français composé au Canada, ou un document anglais (package \texttt{babel}, option \texttt{english}), on ne laissera pas de blanc devant la double ponctuation ou autour du tiret long.
\end{itemize}
\end{frame}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{frame}[fragile]
\frametitle{L'antislash \textbackslash}
\begin{itemize}
\item Si l'arabe est la langue du \arab{D}, \TeX\ est le langage de l'antislash ;
\item que les anglophones appellent \emph{backslash} ;
\item et les Québecois \emph{contre-oblique} ;
\item et qui est arrivé dans nos claviers grâce au/à cause du langage ALGOL.
\end{itemize}
\end{frame}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{frame}[fragile]
\frametitle{Modes, caractères spéciaux}
\begin{itemize}
\item Mode \emph{texte} (par défaut, contrairement à C, Perl, etc.) ;
\item mode \emph{mathématique} (entre dollars) : \verb=x, $x$= donnent : x, $x$ ;
\item mode \emph{commentaire} (précédé d'un \%) ;
\item mode \emph{verbatim} (environnement \texttt{verbatim}) ;
\item les caractères spéciaux sont : \verb=\= et \verb=#= (commandes), \verb=$= (mode math), \texttt{\%} (commentaires), \verb=^= (exposants), \verb=_= (indices), \verb=&= (tableaux), \verb={= et \verb=}= (groupes). Pour les obtenir en tant que glyphes, on écrira : \verb=\textbackslash=, \verb=\#=, \verb=\$=, \verb=\%=, \verb=\^{}=, \verb=\_=, \verb=\&=, \verb=\{=, \verb=\}=.
\end{itemize}
\end{frame}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{frame}[fragile]
\frametitle{Commandes, groupes}
\begin{itemize}
\item Un \emph{nom de commande} commence par une contre-oblique \verb=\= ;
\item il est composé soit d'un seul caractère (quelconque) soit d'une ou plusieurs lettres (entre a et z, A et Z) ;
\item \fbox{Piège du débutant} : le blanc qui suit un nom de commande est un \og faux blanc\fg{} (il ne sert qu'à indiquer la fin de nom de commande), ainsi \verb*=\TeX est bien= donne \og \TeX est bien\fg{} ;%*
\item un \emph{groupe} est un bloc de texte entre accolades : \texttt{\{un groupe\}}. \TeX{} considère un groupe comme un seul objet ;
\item les commandes peuvent être suivies d'\emph{arguments} : ceux-ci sont des caractères isolés ou des groupes : \verb=\emph{=\texttt{n'est-ce pas\}} donne \og \emph{n'est-ce pas}\fg{} ;
\item le premier argument d'une commande peut être \emph{optionnel}, on l'écrira entre crochets : \verb=\section[titre court]{titre long}=.
\end{itemize}
\end{frame}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%\begin{frame}[fragile]
%\frametitle{Texte --- Exemple franco-français}
%
%\texttt{Qui a dit qu'écrire était simple ?}
%
%\texttt{Le n}\verb=\up{o}~2=\texttt{ de l'équipe}\verb=~---=\texttt{ si l'on veut}\\
%\texttt{bien appeler cela }\verb=<<\,=\texttt{une équipe}\verb=\,\fg{}~---=\texttt{ a dit :}\\
%\verb=\og{}=\texttt{Sachez-le bien, nous sommes des }\verb=\textit{has been},=\\
%\texttt{c'est-à-dire des }\verb=``=\texttt{ayant été}\verb=''\fg{}.=\\
%\texttt{Le }\verb=\textsc{xxi}\up{e}~=\texttt{siècle fait mal...}
%
%\bigskip
%
%Qui a dit qu'écrire était simple ?
%
%Le n\up{o}~2 de l'équipe~--- si l'on veut
%bien appeler cela \og \,une équipe\,\fg{}~--- a dit :
%\og{}Sachez-le bien, nous sommes des \textit{has
%been}, c'est-à-dire des ``ayant été''\fg{}.
%Le \textsc{xxi}\up{e}~siècle fait mal...
%
%\bigskip
%
%Pièges de césure : un mot précédé par un guillemet (ou contenant un trait d'union) ne sera pas coupé. Utiliser \verb=<<\,\penalty10000\hskip0pt= et \verb=-\hskip0pt=.
%
%\end{frame}
%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%\begin{frame}[fragile]
%\frametitle{Texte --- Exemple anglo-anglais}
%
%\begin{verbatim}
%\noindent Who said writing is easy?
%
%Mr.\ two of the team---if we can call
%it ``a team''---has said: ``Be aware of
%the fact that we are `has beens'.'' The
%21st~century hurts\ldots
%\end{verbatim}
%
%\bigskip
%
%\noindent Who said writing is easy?
%
%Mr.\ two of the team---if we can call
%it ``a team''---has said: ``Be aware of
%the fact that we are `has beens'.'' The
%21st~century hurts\ldots
%
%\end{frame}
%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{frame}[fragile]
\frametitle{Environnements}
\begin{itemize}
\item Un \emph{environnement} est une paire de commandes \texttt{\textbackslash begin\{\emph{mot-clé}\}} et \texttt{\textbackslash end\{\emph{mot-clé}\}}. Les environnements doivent être imbriqués ;
\item les commandes de début d'environnement peuvent être suivies d'arguments :
\verb=\begin{tabular}{|c|c|c}=
\end{itemize}
\end{frame}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{frame}[fragile]
\frametitle{Structure de document \LaTeX\ typique}
\begin{verbatim}
\documentclass[11pt]{article}
\usepackage[francais,english]{babel}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\begin{document}
... corps du document ...
\end{document}
\end{verbatim}
\begin{itemize}
\item La commande \verb=\documentclass= contient la classe du document. Les classes les plus courantes sont : \texttt{book}, \texttt{article} et \texttt{report}. Les options les plus importantes sont : \texttt{10pt}, \texttt{11pt}, \texttt{12pt}, \texttt{a4paper}, \texttt{landscape}, \texttt{final}, \texttt{draft}, \texttt{oneside}, \texttt{twoside}, \texttt{openright}, \texttt{openany}, \texttt{onecolumn}, \texttt{twocolumn}, \texttt{notitlepage}, \texttt{titlepage}.
\end{itemize}
\end{frame}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{frame}[fragile]
\frametitle{Packages}
\begin{itemize}
\item La commande \verb=\usepackage= charge des \emph{packages}. Les plus importants sont : \texttt{babel} (avec option \texttt{francais}, \texttt{english}, etc.), \texttt{graphics} (avec option \texttt{dvips}), \texttt{color} (avec option \texttt{dvips}), \texttt{fontenc} (avec option \texttt{T1}), \texttt{inputenc} (avec options \texttt{utf8}, \texttt{latin1}, \texttt{applemac}, etc.), \texttt{multicol}, \texttt{ifthen}, \texttt{fancyhead}, \texttt{array}, \texttt{amsmath}, \texttt{amsfonts}, etc.
\item Un admin sous \TeX Live, peut installer un package en écrivant :
\begin{verbatim}
sudo tlmgr install nom_du_package
\end{verbatim}
ainsi que mettre à jour tous les packages :
\begin{verbatim}
sudo tlmgr update --self
sudo tlmgr update --all
\end{verbatim}
\item les classes sont contenues dans des fichiers \texttt{.cls}, les packages (ou \og feuilles de style\fg{}) dans des fichiers \texttt{.sty}. Parfois on trouve des \og options de classe\fg{} dans des fichiers \texttt{.clo}.
\end{itemize}
\end{frame}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{frame}[fragile]
\frametitle{La page de titre, le sommaire}
\begin{itemize}
\item On décrit la page de titre dans le préambule ;
\item \verb=\title= pour le titre ;
\item \verb=\author= pour le(s) nom(s) d'auteur (quand il y en a plusieurs, on sépare par \verb=\and=) ;
\item \verb=\date= pour donner une date explicite (ou vide), sinon \TeX\ mettra la date courante ;
\item une fois entrés dans le corps du document, \verb=\maketitle= ;
\item et \verb=\tableofcontents= pour obtenir un sommaire.
\end{itemize}
\begin{verbatim}
\title{Traité de pifométrie}
\author{Daniel Schmilblick\thanks{Université de Plouzané}
\and
Michel Tartenpion\thanks{ENS de Dresseurs de Phoques}}
\date{9 mars 2009}
\begin{document}
\maketitle
\tableofcontents
\end{verbatim}
\end{frame}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{frame}[fragile]
\frametitle{Structure de document}
\begin{itemize}
\item des parties \texttt{\textbackslash part\{\emph{Titre de la partie}\}} (pas pour les articles) ;
\item des chapitres \texttt{\textbackslash chapter\{\emph{Titre du chapitre}\}} (pas pour les articles) ;
\item des sections \texttt{\textbackslash section\{\emph{Titre de la section}\}} ;
\item des sous-sections \texttt{\textbackslash subsection\{\emph{Titre de la sous-section}\}} ;
\item des sous-sous-sections \texttt{\textbackslash subsubsection\{\emph{Titre de la sous-sous-section}\}}.
\end{itemize}
\medskip
Toutes ces commandes prennent un argument optionnel destiné au titre courant et au sommaire.
\end{frame}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%\begin{frame}[fragile]
%\frametitle{Travailler avec plusieurs fichiers}
%
%\begin{itemize}
%\item On peut toujours utiliser \verb=\input{fichier}= pour charger d'autres fichiers ;
%
%\item mais il est plus intéressant d'utiliser \verb=\includeonly= et \verb=\include= :
%\end{itemize}
%
%\medskip
%
%\begin{verbatim}
%\documentclass{report}
%\includeonly{chap1,chap2}
%\begin{document}
%\include{chap1}
%\include{chap2}
%\include{chap3}
%\appendix
%\include{annexe1}
%\include{annexe2}
%\end{document}
%\end{verbatim}
%
%\end{frame}
%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{frame}[fragile]
\frametitle{Commandes usuelles avec argument(s)}
\begin{itemize}
\item Divisions hiérarchiques du document : \verb=\part=, \verb=\chapter=, \verb=\section=, \verb=\subsection=, \verb=\subsubsection=, \verb=\paragraph=, \verb=\subparagraph= ;
\item notes de bas de page : \verb=\footnote= (mais aussi \verb=\footnotetext= et \verb=\footnotemark=) ;
\item enrichissement : \verb=\emph=, \verb=\textbf=, \verb=\textit=, \verb=\textsl=, \verb=\textsf=, \verb=\texttt=, \verb=\textsc=, \verb=\textul= (avec package \texttt{underlin}) ;
\item couleur (package \texttt{color}) : \verb=\textcolor{=\texttt{\textit{nom}\}\{...\}} ou
\verb=\textcolor[rgb]{=\texttt{\textit{r},\textit{v},\textit{b}\}\{...\}} ou \verb=\textcolor[cmyk]{=\texttt{\textit{\textit{c},\textit{m},\textit{j},\textit{n}}\}\{...\}}.
\end{itemize}
\end{frame}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{frame}[fragile]
\frametitle{Commandes usuelles sans argument}
\begin{itemize}
\item On limite, le cas échéant, leurs effet en les mettant dans un groupe ;
\item taille des caractères : \verb=\tiny=, \verb=\scriptsize=, \verb=\footnotesize=, \verb=\small=, \verb=\normalsize=, \verb=\large=, \verb=\Large=, \verb=\LARGE=, \verb=\huge=, \verb=\Huge= ;
\item la malheureuse ligature franco-française \verb=\oe \OE= délaissée par ISO~8859-1 et ménacée d'extinction par sa non-présence sur les claviers ;
\item \verb=\TeX= (\TeX), \verb=\LaTeX= (\LaTeX), \verb=\euro= avec package \texttt{eurosym} (\euro), \verb=\today= (\today) ;
\item \verb=\,= (espace fine), \verb=\frenchspacing= (pas d'espacement étendu après un point de fin de phrase), \verb=\\= (passage à la ligne forcé), \verb=\noindent= (début de ligne sans retrait), \verb=\quad= (un cadratin de blanc), \verb=\qquad= (un double cadratin) ;
\item \verb=\ldots= pour les point de suspension dans un texte anglais (Attention ! on écrira simplement ... dans un texte français).
\end{itemize}
\end{frame}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{frame}[fragile]
\frametitle{Environnements usuels : citations, listes}
\begin{itemize}
\item \texttt{quote} pour les citations sans retrait ;
\item \texttt{quotation} pour les citations avec retrait ;
\item \texttt{center} pour les blocs de texte centrés ;
\item \texttt{itemize} pour les listes non énumératives. Chaque entrée de la liste est précédée de la commande \verb=\item{}=, ou \verb=\item[=\texttt{\textit{marque}]} ;
\item \texttt{enumerate} pour les listes énumératives, même utilisation que \texttt{itemize} ;
\item \texttt{description} pour les \og glossaires\fg{} : on met le lemme dans l'argument optionnel de \verb=\item=.
\end{itemize}
\end{frame}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%\begin{frame}[fragile]
%\frametitle{Environnements usuels : mini-pages}
%
%\begin{itemize}
%
%\item \texttt{minipage} avec attribut \texttt{\textit{largeur}}, produit une \og mini-page\fg{} de cette largeur ;
%
%\item les notes de bas de page sont placées dans la mini-page ;
%
%\item la mini-page est alignée avec son contexte selon la valeur de l'argument optionnel : \texttt{t} (en haut), \texttt{b} (en bas), \texttt{m} (centrée) ;
%
%\item Exemple :
%
%\medskip
%
%\begin{minipage}[t]{5cm}Une mini-page (option~\texttt{t}) de cinq centimètres de largeur\unskip\footnote{Avec une note de bas de page interne.}.\end{minipage}
%
%\end{itemize}
%
%\end{frame}
%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{frame}[fragile]
\frametitle{Tableaux 1/6}
\begin{itemize}
\item on utilise l'environnement \texttt{tabular} avec, en guise d'argument, un \emph{format} ;
\item on décrit le tableau ligne par ligne, chaque ligne étant structurée comme le format l'indique ;
\item le format comporte une lettre \texttt{c}, \texttt{l} ou \texttt{r} par cellule selon qu'elle est centrée, justifiée à gauche ou justifiée à droite, un \texttt{|} pour chaque filet vertical et un \texttt{||} pour chaque filet vertical double ;
\item dans la description de chaque ligne, les contenus des cellules sont séparés par des \verb=&=, et à la fin de la ligne on met un \verb=\\=, suivi d'un (ou de deux) \verb=\hline= si l'on souhaite un filet horizontal au dessus de la ligne suivante ;
\end{itemize}
\end{frame}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{frame}[fragile]
\frametitle{Tableaux 2/6}
\begin{itemize}
\item Exemple :
\begin{verbatim}
\begin{tabular}{|c||c|}\hline
A & B\\\hline\hline
C & D\\\hline
\end{tabular}
\end{verbatim}
\item donnera : \begin{tabular}{|c||c|}\hline
A & B\\\hline\hline
C & D\\\hline
\end{tabular}
\end{itemize}
\end{frame}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{frame}[fragile]
\frametitle{Tableaux 3/6}
\begin{itemize}
\item Pour avoir des cellules multi-colonnes, on écrira à la place de ces cellules :
\verb=\multicolumn{=\texttt{\textit{n}\}\{\textit{format}\}\{\textit{contenu}\}}
\item Exemple :
\begin{verbatim}
\begin{tabular}{|c|c|c|c|}\hline
A & B & C & D\\\hline
\multicolumn{3}{|c|}{E} & F\\\hline
\end{tabular}
\end{verbatim}
\item donnera : \begin{tabular}{|c|c|c|c|}\hline
A & B & C & D\\\hline
\multicolumn{3}{|c|}{E} & F\\\hline
\end{tabular}
\end{itemize}
\end{frame}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{frame}[fragile]
\frametitle{Tableaux 4/6}
\begin{itemize}
\item Pour avoir des filets horizontaux partiels on écrira à la place de \verb=\hline= un ou plusieurs :
\verb=\cline{=\texttt{\textit{début}-\textit{fin}\}}
\item Exemple :
\begin{verbatim}
\begin{tabular}{|c|c|c|c|}\hline
A & B & C & D\\\cline{1-2}\cline{4-4}
E & F & G & H\\\hline
\end{tabular}
\end{verbatim}
\item donnera : \begin{tabular}{|c|c|c|c|}\hline
A & B & C & D\\\cline{1-2}\cline{4-4}
E & F & G & H\\\hline
\end{tabular}
\end{itemize}
\end{frame}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{frame}[fragile]
\frametitle{Tableaux 5/6}
\begin{itemize}
\item Pour avoir des cellules qui contiennent des paragraphes entiers de texte (charger le package \texttt{array} !) on écrira dans le format \texttt{m\{\textit{largeur}\}}, \texttt{p\{\textit{largeur}\}} ou \texttt{b\{\textit{largeur}\}}, selon que la cellule paragraphe doit être centrée, justifiée vers le haut ou justifiée vers le bas, par rapport aux cellules mono-lignes ;
\item Exemple :
\begin{verbatim}
\begin{tabular}{|c|p{2cm}|m{2cm}|b{2cm}|}\hline
Une ligne & Quelques mots & Quelques mots
& Quelques mots \\\hline\end{tabular}
\end{verbatim}
\item donnera :
\medskip
\begin{tabular}{|c|p{2cm}|m{2cm}|b{2cm}|}\hline
Une ligne &
Quelques mots de texte &
Quelques mots de texte &
Quelques mots de texte \\\hline
\end{tabular}
\end{itemize}
\end{frame}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{frame}[fragile]
\frametitle{Tableaux 6/6}
\begin{itemize}
\item Pour remplacer le blanc inter-cellules par autre chose, on écrira \verb=@{...}= dans le format, par exemple : \verb=@{}c@{}c@{}= ;
\item pour obtenir des cellules paragraphe d'égale largeur, on utilisera la lettre \texttt{X} (package \texttt{tabularx}) ;
\item pour obtenir des cellules multi-lignes, on utilisera le package \texttt{multirow} ;
\item pour obtenir des tableaux multi-pages, on utilisera le package \texttt{supertab} ou le package \texttt{longtable} ;
\item pour obtenir des cellules coloriées, on utilisera le package \texttt{colortab} ;
\item \textsc{Théorème :} \textit{Tous ces packages sont compatibles.} (Démonstration laissée au lecteur.)
\end{itemize}
\end{frame}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{frame}[fragile]
\frametitle{Références croisées}
\begin{itemize}
\item \verb=\label{=\texttt{\textit{mot-clé}\}} pour créer un marqueur ;
\item \verb=\ref{=\texttt{\textit{mot-clé}\}} pour obtenir un numéro du subdivision, de note, de figure, de table, etc. ;
\item \verb=\pageref{=\texttt{\textit{mot-clé}\}} pour obtenir un numéro de page ;
\item le package \emph{showkeys} permet de montrer tous les mots-clés utilisés ;
\item le package \emph{hyperref} transforme les appels de référence croisée en liens hypertexte dans les documents PDF.
\end{itemize}
\end{frame}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{frame}[fragile]
\frametitle{Multicolonnage}
\begin{multicols}{2}
\begin{itemize}
\item Package \texttt{multicol} ;
\item \verb=\begin{multicols}{nombre}= ;
\item on dispose des dimensions \verb=\columnsep= et \verb=\columnseprule= ;
\item et de la commande \verb=\columnbreak=.
\end{itemize}
Longtemps, je me suis couché de bonne heure. Parfois, à peine ma bougie éteinte, mes yeux se fermaient si vite que je n'avais pas le temps de me dire : « Je m'endors. » Et, une demi-heure après, la pensée qu'il était temps de chercher le sommeil m'éveillait ; je voulais poser le volume que je croyais avoir dans les mains et souffler ma lumière ; je n'avais pas cessé en dormant de faire des réflexions sur ce que je venais de lire, mais ces réflexions avaient pris un tour particulier ; il me semblait que j'étais moi-même ce dont parlait l'ouvrage : une église, un quatuor, la rivalité de François I\up{er} et de Charles-Quint.\end{multicols}
\end{frame}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{frame}[fragile]
\frametitle{Objets flottants}
\begin{itemize}
\item Une invention de \TeX ;
\item les rôles changent : on fait des suggestions, le logiciel décide...
\item les environnements \texttt{figure} et \texttt{table} permettent d'obtenir des objets flottants. Dans leur argument optionnel on peut indiquer \texttt{h} (ici), \texttt{t} (haut de page), \texttt{b} (bas de page), suivi également d'un point d'exclamation. Le placement des figures est un des points faibles de \LaTeX ;
\item avec le package \texttt{float} on peut aussi utiliser \texttt{H} (utilisé tout seul) ;
\item la commande \verb=\caption= sert à indiquer la légende de la figure flottante ou du tableau flottant.
\item ATTENTION : ne pas confondre la commande d'objet flottant avec le contenu de l'objet (\texttt{figure} n'est pas une figure, c'est un cadre invisible qui peut contenir une figure... ou autre chose).
\end{itemize}
\end{frame}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{frame}[fragile]
\frametitle{\TeX\ seulement : inclusion d'images EPS ou PS}
\begin{itemize}
\item une image EPS contient normalement une ligne du type
\begin{verbatim}
%%BoundingBox: 0 0 3903 2695
\end{verbatim}
Ces quatre nombres sont les coordonnées PostScript de l'enveloppe de l'image (\emph{bounding box}), dans l'espace de coordonnées de la page PostScript.
\item pour include une image EPS \texttt{toto.eps} de \emph{bounding box} $x_b$, $y_b$, $x_t$, $y_t$ dans un document \LaTeX{} on écrira (avec le package \texttt{graphics}) :
\verb=\includegraphics[=$x_b$\texttt{,}$y_b$\texttt{][}$x_t$\texttt{,}$y_t$\verb=]{toto.eps}=
[Attention : pas de point dans les noms de fichier !]
\item avec \verb=\includegraphics*= on cache tout ce qui se trouve à l'extérieur de la bounding box ;
\end{itemize}
\end{frame}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{frame}[fragile]
\frametitle{pdf\TeX\ seulement : incl. d'images PNG ou PDF}
\begin{itemize}
\item \emph{pdf\TeX} ne reconnaît que le format PDF et quelques formats bitmap, comme JPEG et PNG ;
\item pour inclure des images EPS dans des documents PDF générés par pdf\TeX, il faut d'abord les convertir en PDF, à l'aide de \emph{epstopdf} ;
\item ATTENTION : utiliser \emph{epstopdf} et non pas \emph{ps2pdf}, pour avoir les bonnes marges.
\end{itemize}
\end{frame}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{frame}[fragile]
\frametitle{Manipulation d'image}
\begin{itemize}
\item Pour mettre l'image à l'échelle on écrira \verb=\scalebox{=\texttt{\emph{f}\}\{...\}} ;
\item ou \verb=\resizebox{=\texttt{\emph{largeur}\}\{\emph{hauteur}\}\{...\}}, où l'un des deux arguments peut être \texttt{!} pour garder les proportions.
\item ou \verb=\rotatebox{=\texttt{\emph{angle}\}\{...\}}, pour tourner l'image.
\item Peut être appliqué à \rotatebox{90}{autre chose} qu'à des \scalebox{5}{images}.
\end{itemize}
\end{frame}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{frame}[fragile]
\frametitle{Changer de langue}
\begin{itemize}
\item le package \texttt{babel} admet un certain nombre d'options : breton, bulgarian, croatian, czech, dutch, english, finnish, francais, german, polytonikogreek, hebrew, magyar, italian, norsk, polish, portuges, romanian, russian, serbian, slovak, slovene, spanish, swedish, turkish, ukenglish, ukrainian, etc. ;
\item on met la langue dominante en dernier ;
\item on utilise \verb=\selectlanguage{langue}= pour changer de langue ;
\item on utilise \verb=\foreignlanguage{langue}{phrase}= si c'est juste une phrase ;
\item on utilise l'environnement \texttt{hyphenrules} si l'on veut changer uniquement les règles de césure ;
\item on dispose d'un test \verb=\iflanguage{langue}{vrai}{faux}=.
\end{itemize}
\end{frame}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{frame}[fragile]
\frametitle{Césure}
\begin{itemize}
\item les règles de césure de chaque langue sont appliquées automatiquement ;
\item utiliser \verb=\-= pour forcer la césure potentielle ;
\item utiliser \verb=\discretionary{ck}{k-}{k}= pour les césures spéciales ;
\item utiliser \verb=\hyphenation{Ha-ra-lam-bous Bech-stein}= pour des mots qui arrivent souvent dans le texte ;
\item pour déboguer lire le fichier log : il fournit une liste des motifs de césure chargés, les activer explicitement par la commande \verb=\language=\texttt{\emph{i}} ;
\item pour éviter la césure utiliser \verb=\language99= ;
\item si un mot refuse de se couper mettre \verb=\hskip0pt= ou \verb=\penalty10000\hskip0pt= devant.
\end{itemize}
\end{frame}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{frame}[fragile]
\frametitle{Écrire en arabe}
\begin{verbatim}
\usepackage{dad}
...
\arab{\begin{center}
\textbf{rbA`YAt AlxYAm}
\end{verbatim}
\medskip
\arab{\begin{center}
\textbf{rbA`YAt AlxYAm}
\medskip
\begin{minipage}{10cm}
sm`t SUtA hAtfA fY AlsH--\kesh--r n--\kesh--AdI mn AlRYb rfAt Albsh--\kesh--r\\
hbUA Aml'aUA k'as AlmnI qb--\kesh--l 'an tml'a k--\kesh--'as Al`m--\kesh--r kf Alq--\kesh--dr\\
lA tshRl AlbAl bmADY Alzm--\kesh--An UlA b--\kesh--'At Al`Y--\kesh--sh qb--\kesh--l Al'aUAn\\
U'aR--\kesh--nm mn AlHAD--\kesh--r ldhAt--\kesh--h flYs f--\kesh--Y Tb--\kesh--` AllYAl--\kesh--Y Al'am--\kesh--An\\
Rd bZhr AlRYb UAlYUm l--\kesh--Y Ukm YxYb AlZ--\kesh--n f--\kesh--Y Almqb--\kesh--l\\
Uls--\kesh--t bAlRAf--\kesh--l Ht--\kesh--I 'arI jm--\kesh--Al dnY--\kesh--AY U lA Ajtl--\kesh--I\\
Alqlb qd 'aDnAh `shq Aljm--\kesh--Al UAlS--\kesh--dr q--\kesh--d D--\kesh--Aq bm--\kesh--A lA Yq--\kesh--Al\\
YA rb hl YrDYk hdhA AlZlm--\kesh--A UAlm--\kesh--A| Yns--\kesh--Ab 'am--\kesh--Am--\kesh--Y zlAl\\
'aUlI bhdhA Alqlb 'an Yxfq--\kesh--A U fY RrAm AlH--\kesh--b 'an YHtrq--\kesh--A\\
mA 'aDY` AlYUm AldhY m--\kesh--r b--\kesh--Y mn RYr 'an 'ahUI U 'an 'a`shq--\kesh--A
\end{minipage}
\end{center}}
%\begin{verbatim}
%\documentclass[12pt]{article}
%\usepackage{fontspec,xunicode,xltxtra,arabxetex}
%\defaultfontfeatures{Mapping=tex-text}
%\newfontfamily\arabicfont[Script=Arabic]{Scheherazade.ttf}
%\usepackage[arabic]{babel}
%\begin{document}
%\selectlanguage{arabic}\begin{arab}[utf]
%\end{verbatim}
%\scalebox{0.85}{\includegraphics{exemple-arabe.pdf}}
%\begin{verbatim}
%\end{arab}\end{document}
%\end{verbatim}
%\medskip
%Voir \url{https://www.writelatex.com/1100146gwfcsb#/2596462/} pour un exemple sous Write\LaTeX. La fonte peut être récupérée ici : \url{http://scripts.sil.org/cms/scripts/page.php?site_id=nrsi&id=Scheherazade}
\end{frame}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%\begin{frame}[fragile]
%\frametitle{Écrire en arabe}
%\begin{verbatim}
%\documentclass[12pt]{article}
%\usepackage{fontspec,xunicode,xltxtra,arabxetex}
%\defaultfontfeatures{Mapping=tex-text}
%\newfontfamily\arabicfont[Script=Arabic]{Scheherazade.ttf}
%\usepackage[arabic]{babel}
%\begin{document}
%\selectlanguage{arabic}\begin{arab}[utf]
%\end{verbatim}
%\scalebox{0.85}{\includegraphics{exemple-arabe.pdf}}
%\begin{verbatim}
%\end{arab}\end{document}
%\end{verbatim}
%\medskip
%Voir \url{https://www.writelatex.com/1100146gwfcsb#/2596462/} pour un exemple sous Write\LaTeX. La fonte peut être récupérée ici : \url{http://scripts.sil.org/cms/scripts/page.php?site_id=nrsi&id=Scheherazade}
%\end{frame}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{frame}[fragile]
\frametitle{Écrire en chinois}
\begin{verbatim}
\documentclass[UTF8,nofonts]{ctexart}
\setCJKmainfont{WenQuanYi Zen Hei}
\setCJKsansfont{WenQuanYi Zen Hei}
\setCJKmonofont{WenQuanYi Zen Hei Mono}
\usepackage{fontspec}
\begin{document}
\end{verbatim}
\scalebox{0.7}{\includegraphics{exemple-chinois.pdf}}
\begin{verbatim}
\end{document}
\end{verbatim}
\medskip
Voir \url{https://www.overleaf.com/1103482vjjjkp#/2605956/} pour un exemple sous Write\LaTeX.
\end{frame}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{frame}[fragile]
\frametitle{Écrire dans d'autres langues}
\begin{verbatim}
\documentclass{article}
\usepackage{fontspec}
\setmainfont{Lucida Grande}
\usepackage[vietnamese,russian,greek,english]{polyglossia}
\begin{document}
\end{verbatim}
\scalebox{0.7}{\includegraphics{exemple-autres.pdf}}
\begin{verbatim}
\end{document}
\end{verbatim}
\medskip
Attention : installer \TeX live 2009 ou plus récent, choisir une fonte système avec les glyphes nécessaires.
\end{frame}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{frame}[fragile]
\frametitle{Le code informatique}
\begin{itemize}
\item L'environnement \texttt{verbatim} et la commande \verb=\verb= (dont le délimiteur d'argument peut être choisi librement) ;
\item \verb=\begin{multicols}{nombre}= ;
\item le package \texttt{fancyvrb} permet d'ajouter des numéros de ligne, d'inclure des commandes dans le code, etc. :
\end{itemize}
\medskip
\begin{verbatim}
\begin{Verbatim}[numbers=left,commandchars=\|\[\]]
Voici |emph[ce que] \emph{ça donne}...
... quand |emph[on utilise] fancyvrb
\end{Verbatim}
\end{verbatim}
\medskip
\leavevmode\llap{{\footnotesize 1}\kern6pt}\texttt{Voici \emph{ce que} \textbackslash emph\{ça donne\}...}\\
\leavevmode\llap{{\footnotesize 2}\kern6pt}\texttt{... quand \emph{on utilise} fancyvrb}
\end{frame}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%\begin{frame}[fragile]
%\frametitle{Synchronisation}
%
%\begin{itemize}
%
%\item En utilisant l'option de ligne de commande \texttt{pdflatex -synctex=1} certains prévieweurs PDF proposent un mécanisme de synchronisation avec l'éditeur de texte ;
%
%\item le logiciel \emph{Skim} sur MacOS X, le fait par le biais de la combinaison de touches commande-majuscule + clic.
%
%\item test : CLIQUER ICI.
%
%\end{itemize}
%
%\end{frame}
%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{frame}[fragile]
\frametitle{Index}
\begin{itemize}
\item On met la commande \verb=\makeindex= dans le préambule et on utilise le package \emph{makeidx} ;
\item on met la commande \verb=\printindex= là où l'index doit être composé ;
\item pour indexer \texttt{\emph{toto}} on écrit \verb=\index{=\texttt{\emph{toto}\}} ;
\item pour indiquer un certain nombre de pages parlant de «toto», on écrira \verb=\index{toto|(}= au début et \verb=\index{toto|)}= à la fin ;
\item pour appliquer la commande \verb=\machin= au numéro de page, on écrira \verb=\index{toto|machin}= ;
\item les sous-entrées se séparent avec des points d'exclamation :
\verb=\index{=\texttt{\emph{France}!\emph{Finistère}!\emph{Brest}\}} ;
\item pour trier une entrée de manière spéciale (par exemple \og $\beta$\fg{} trié en tant que \emph{beta}) écrire \verb=\index{beta@$\beta$}=. Le faire aussi pour les accents : \verb=\index{degenere@=\texttt{dégénéré}\verb=}= ;
\item ensuite lancer le programme \texttt{makeindex \emph{nom de fichier}} et recompiler. Pour déboguer consulter les fichiers \verb=.idx= et \verb=.ind=.
\end{itemize}
\end{frame}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{frame}[fragile]
\frametitle{Bibliographie}
\begin{itemize}
\item On se crée une base de entrées bibliographiques \texttt{mabase.bib} écrites en Bib\TeX ;
\item chaque entrée a une référence \texttt{toto}. On écrira \verb=\cite{=\texttt{\emph{toto}\}} dans le texte ;
\item ou \verb=\cite[=\texttt{\emph{p. 123}]\{\emph{toto}\}} quand il y a un complément d'information ;
\item on peut réunir plusieurs références \verb=\cite{=\texttt{\emph{toto,tata,titi}\}} ;
\item et on dispose aussi de \verb=\nocite= pour inclure des entrées dans la biblio, de manière transparente (cf. \verb=\nocite{*}=) ;
\item enfin, on écrira les deux lignes suivantes pour obtenir la bibliographie :
\verb=\bibliographystyle{plain}=\\
\verb=\bibliography{mabase1,mabase2,mabase3}=
\item ensuite on lance le programme \texttt{bibtex \emph{nom de fichier}} et on recompile deux fois.
\end{itemize}
\end{frame}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{frame}[fragile]
\frametitle{Exemple de fichier Bib\TeX}
\verb|@string{YH = "Yannis Haralambous"}|\\
\verb|@book{Haralambous:2003-fetc,|\\
\verb| year = {2003},|\\
\verb| url = {http://www.oreilly.fr/catalogue/284177273X},|\\
\verb| title = {{Fontes \& codages}},|\\
\verb| publisher = {O'Reilly France},|\\
\verb| author = YH,|\\
\verb| isbn = "978-2-84177-273-5",|\\
\verb|}|
\medskip
On écrira donc \verb=\cite{Haralambous:2003-fetc}= pour obtenir :
\bigskip
\textbf{Références bibliographiques}
\medskip
[1] \ \textsc{Haralambous, Y.}, \textit{Fontes \& codages}, O'Reilly France, 2003.
\end{frame}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{frame}[fragile]
\frametitle{Types d'entrées Bib\TeX}
\begin{itemize}
\item \texttt{article} : author, title, journal, year ;
\item \texttt{book} : author/editor, title, publisher, year ;
\item \texttt{booklet} : title ;
\item \texttt{inbook} : author, title, chapter/pages, publisher, year ;
\item \texttt{inproceedings} : author, title, booktitle, year ;
\item \texttt{manual} : title ;
\item \texttt{masterthesis} : author, title, school, year ;
\item \texttt{misc} : ;
\item \texttt{phdthesis} : author, title, school, year ;
\item \texttt{proceedings} : title, year ;
\item \texttt{techreport} : author, title, institution, year ;
\item \texttt{unpublished} : author, title, note.
\end{itemize}
\medskip
(Nous n'avons indiqué que les champs obligatoires.)
\end{frame}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{frame}[fragile]
\frametitle{Logiciel BibDesk (sur Mac)}
\noindent\resizebox{10cm}{!}{\includegraphics{bibdesk.jpg}}
\end{frame}
\section{Les présentations}
%\mypart{Les présentations}{Ou : comment éviter un certain \emph{M\$ PowerPoint}}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{frame}[fragile]
\frametitle{Le package \emph{beamer}}
\begin{itemize}
\item<1> il faut installer les packages \emph{beamer}, \emph{pgf}, \emph{xcolor} ;
\item<2> on demande la classe de document \texttt{beamer} ;
\item<2-3> on choisit un thème graphique :
\verb=\usetheme{tb}=
\item<3-4> chaque transparent est un environnement \texttt{frame} :
\medskip
\verb=\begin{frame}{Le package \emph{beamer}}=\\
\verb=\begin{itemize}=\\
\verb=\item il faut installer les packages \emph{beamer},=\\
\verb=\emph{pgf}, \emph{xcolor} ;=\\
\verb=...=\\
\verb=\end{itemize}=\\
\verb=\end{frame}=
\end{itemize}
\end{frame}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{frame}[fragile]
\frametitle{Couches, modes, transitions, animations}
\begin{itemize}
\item pour obtenir différentes couches on fait suivre les \verb=\item= d'un \verb=<1>= ou \verb=<2-3>= ou \verb=<4->= ;
\item pour indiquer si une commande doit être exécutée en mode \og transparents\fg{} ou en mode \og polycopié\fg{} on utilise
\verb=\mode<beamer>{...}=\\
\verb=\mode<handout>{...}=
\item pour obtenir des transitions ou pour insérer des animations il faut utiliser le package \texttt{multimedia} ;
\item la transition d'un transparent à l'autre peut être décrite par une commande du type \verb=\transdissolve= suivie d'une indication de couche et éventuellement un argument optionnel (\texttt{duration=} secondes, \texttt{direction=} 0, 90, 180, 270) ;
\item on peut inclure des animations (AVI, MPEG, etc.) à l'aide de la commande \verb=\movie=, exemple :
\verb|\movie[width=3cm,height=2cm,poster]{}{monanim.avi}|
\end{itemize}
\end{frame}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%\begin{frame}[fragile]
%\frametitle{Présentation ou polycopié de cours ?}
%\begin{itemize}
%\item Pour produire les transparents de ce cours j'ai utilisé :
%\begin{verbatim}
%\pdfoutput1
%\documentclass[10pt,utf8]{beamer}
%\usetheme{AnnArbor}
%\usecolortheme{crane}
%...
%\end{verbatim}
%\item pour produire le polycopié de ce cours, j'ai utilisé :
%\begin{verbatim}
%\pdfoutput1
%\documentclass[handout,10pt,utf8]{beamer}
%\usecolortheme{dove}
%...
%\end{verbatim}
%\item on peut personnaliser et configurer à volonté...
%\end{itemize}
%\end{frame}
\section{Les mathématiques - Aspects micro}
%\mypart{Les mathématiques}{Aspects micro-typographiques}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{frame}[fragile]
\frametitle{Le mode mathématique}
[Dans la suite on utilisera systématiquement les packages \texttt{amsmath}, \texttt{amssymb} et \texttt{amsfonts}]
\begin{itemize}
\item Les formules mathématiques font partie intégrante de \TeX. Pour écrire une formule on passe en \emph{mode mathématique} ;
\item en mode mathématique les blancs ne comptent plus et les lignes blanches sont interdites ;
\item on inclut les formules mathématiques courtes par des dollars : \verb=$x^2$= ($x^2$) et les formules en vedette par des doubles dollars : \verb:$$x=1$$:
$$x=1$$
\end{itemize}
\end{frame}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{frame}[fragile]
\frametitle{Mathématiques de base}
\begin{itemize}
\item En mode mathématique les lettres deviennent des variables et sont donc composées en italiques (\og mathématiques\fg{}) ;
\item les opérateurs \verb=+=, \verb:=:, \verb=-=, \verb=<=, \verb=>=, la ponctuation, les parenthèses et les crochets s'utilisent normalement : $1 < x+1 =y-2 < 2$ ;
\item les exposants et indices s'obtiennent à l'aide de \verb=^= et \verb=_= : \verb=$x^{12}_{ab}$= donnera $x^{12}_{ab}$ ;
\item pour les tenseurs, utiliser \verb=\phantom=. Pour obtenir $x^{ijk}_{\phantom{ijk}\ell mn}$ au lieu de $x^{ijk}_{\ell mn}$, on écrira :
\medskip
\verb=$x^{ijk}_{\phantom{ijk}\ell mn}$=.
\end{itemize}
\end{frame}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{frame}[fragile]
\frametitle{Mathématiques de base}
\begin{itemize}
\item pour les racines on écrira \verb=\sqrt[n]{2}= ($\sqrt[n]{2}$), le cas par défaut étant la racine carrée ;
\item pour les flèches avec fonction on écrira \verb=\xleftarrow= et \verb=\xrightarrow= (la fonction au-dessus est l'argument obligatoire, celle au-dessous, l'argument optionnel) ;
\item pour les fractions on écrira \verb=\frac{x}{y}= ($\frac xy$) ;
\item pour les fractions continues on utilisera \verb=\cfrac=, exemple : \verb=\cfrac{1}{1+\cfrac{1}{1+\cfrac{1}{1+\cfrac{1}{1+\dotsb}}}}=, qui donnera : $\displaystyle\cfrac{1}{1+\cfrac{1}{1+\cfrac{1}{1+\cfrac{1}{1+\dotsb}}}}$
\end{itemize}
\end{frame}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{frame}[fragile]
\frametitle{Mathématiques de base}
\begin{itemize}
\item on a six types de points de suspension : \yem{dotsc} pour les points entourés de virgules [attention, les virgules ne sont pas incluses !], \yem{dotsb} pour les points d'opérateurs binaires, \yem{dotsm} pour les points de multiplication, \yem{dotsi} pour les points de signes d'intégrales, \yem{dotso} pour les autres cas horizontaux, \yem{vdots} pour les points verticaux ;
\item les lettres grecques s'obtiennent par des commandes \verb=\alpha= ... \verb=\omega=, \verb=\Gamma= ... \verb=\Omega= ;
\item utiliser \yem{varepsilon} plutôt que \yem{epsilon} ;
\item on a deux thétas (\yem{theta}, \yem{vartheta}), deux phis (\yem{phi}, \yem{varphi}), deux rhos (\yem{rho}, \yem{varrho}) ;
\item par contre, éviter d'utiliser \yem{varsigma}, \yem{varkappa}, \yem{varpi} et \yem{digamma}.
\end{itemize}
\end{frame}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{frame}[fragile]
\frametitle{Mathématiques de base}
\begin{itemize}
\item Les lettres \og rondes\fg{}, les ensembles de nombres et les gothiques s'obtiennent resp. par \verb=\mathcal= ($\mathcal{A}$, $\mathcal{B}$, ...), \verb=\mathbb= ($\mathbb{Q}$, $\mathbb{R}$, ...), \verb=\mathfrak= ($\mathfrak{A}$, $\mathfrak{B}$, ...). Attention : pas de bas de casse rondes ou \og blackboard\fg{} ;
\item pour les symboles gras, on utilise \verb=\boldsymbol= (à consommer avec modération) ;
\item pour le \og prime\fg{}, le \og second\fg{}, etc. on utilise des quotes : \verb=a' b'' c'''= donnera $a' b'' c'''$ (sauf quand on voudra combiner le prime avec un exposant : \verb=x^{\prime\,n}= donnera $x^{\prime\,n}$.
\end{itemize}
\end{frame}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{frame}[fragile]
\frametitle{Symboles mathématiques}
\begin{itemize}
\item On dispose de plusieurs centaines de symboles mathématiques : des opérateurs \yem{pm}, \yem{circ}, \yem{cap}, \yem{otimes}, \yem{star},...
\item des relations \yem{leq}, \yem{parallel}, \yem{subset}, \yem{in}, ...
\item des flèches \yem{to}, \yem{longrightarrow}, \yem{iff}, \yem{Longleftrightarrow}, \yem{uparrow}, \yem{nearrow}, ...
\item des symboles divers \yem{aleph}, \yem{Re}, \yem{nabla}, \yem{exists}, \yem{forall}, \yem{infty}, \yem{ell}, \yem{emptyset}, \yem{partial}, ...
\item des délimiteurs \verb=\{= ($\{$), \yem{langle}, \verb=|= ($|$), \verb=\|= ($\|$) ...
\end{itemize}
\end{frame}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{frame}[fragile]
\frametitle{Les \og grands\fg{} opérateurs 1/2}
\begin{itemize}
\item On dispose de certains opérateurs de taille variable : \yem{sum} (à ne pas confondre avec \yem{Sigma}), \yem{prod} (à ne pas confondre avec \yem{Pi}), \yem{coprod}, \yem{int}, \yem{oint}, \yem{iint}, \yem{iiint}, \yem{iiiint}, \yem{bigoplus}, \yem{bigotimes}, ...
\item ces opérateurs sont composés de manière différente selon le contexte : dans une ligne de texte, \verb:\sum_{i=0}^{n}: donnera $\sum_{i=0}^{n}$, alors que dans une formule en vedette, il donnera
$$\sum_{i=0}^{n}$$
\end{itemize}
\end{frame}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{frame}[fragile]
\frametitle{Les \og grands\fg{} opérateurs 2/2}
\begin{itemize}
\item On peut forcer la taille d'affichage et le placement des exposants/indices avec \verb=\displaystyle= et \verb=\textstyle= (À.C.A.M.) :
\begin{verbatim}
\displaystyle\sum_{i=0}^{n}\int_0^{\infty}f_i =
\textstyle\sum_{i=0}^{n}\int_0^{\infty}f_i
\end{verbatim}
{\centering $\displaystyle\sum_{i=0}^{n}\int_0^{\infty}f_i =
\textstyle\sum_{i=0}^{n}\int_0^{\infty}f_i
$
}
\item lorsqu'un grand opérateur nécessite des \og exposants\fg{} ou \og indices\fg{} de plusieurs lignes, on utilise \verb=\substack=. Exemple : \verb:\sum_{\substack{i=0\\j=0}}^{\infty}: donnera
{\centering $\displaystyle\sum_{\substack{i=0\\j=0}}^{\infty}$
}
\end{itemize}
\end{frame}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{frame}[fragile]
\frametitle{Les \og grands\fg{} délimiteurs}
\begin{itemize}
\item Les délimiteurs peuvent prendre une taille quelconque ;
\item pour cela on utilise les commandes \verb=\left= et \verb=\right= suivis du délimiteur en question : \verb=\left(=, \verb=\right\}=, \verb=\left\langle=, etc. Exemple :
$$\left\langle\frac{\frac{1+x}{1-x}}{\frac{1+y}{1-y}}\right\rangle$$
\item les commandes \verb=\left= et \verb=\right= vont de paire ; si, pour une raison quelconque, on ne veut qu'un seul grand délimiteur, on écrira un point à la place du délimiteur \verb=\right.= ;
\item le package \texttt{yhmath} propose des délimiteurs encore plus grands.
\end{itemize}
\end{frame}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{frame}[fragile]
\frametitle{Les accents mathématiques 1/2}
\begin{itemize}
\item Alors qu'en mode texte on écrit directement les lettres accentuées (à condition d'utiliser le package \texttt{inputenc}), en mode mathématique on a des commandes pour cela : \verb=\acute= ($\acute{a}$), \verb=\grave= ($\grave{a}$), \verb=\hat= ($\hat{a}$), \verb=\tilde= ($\tilde{a}$), \verb=\bar= ($\bar{a}$), \verb=\vec= ($\vec{a}$), \verb=\dot= ($\dot{a}$), \verb=\ddot= ($\ddot{a}$), \verb=\dddot= ($\dddot{a}$), \verb=\ddddot= ($\ddddot{a}$), \verb=\breve= ($\breve a$), \verb=\ring= ($\ring{a}$, package \texttt{yhmath}) ;
\item les accents peuvent se combiner, mais alors on écrira les commandes avec une lettre majuscule : \verb=\Hat{\Hat{A}}= donnera $\Hat{\Hat{A}}$ ;
\item quand l'expression à accentuer est plus large, on utilise \verb=\widehat= ($\widehat{ABC}$), \verb=\widetilde= ($\widetilde{ABC}$). Dans \texttt{yhmath} il existe également un \verb=\wideparen= ($\wideparen{ABC}$), \verb=\widetriangle= ($\widetriangle{ABC}$)\footnote{Les Américains écriront plutôt $\triangle ABC$ pour le triangle $\widetriangle{ABC}$ et $\angle ABC$ pour l'angle $\widehat{ABC}$.\\} et même un \verb=\widering= ($\widering{ABC}$) ;
\end{itemize}
\end{frame}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{frame}[fragile]
\frametitle{Les accents mathématiques 2/2}
\begin{itemize}
\item les flèches extensibles au-dessus ou au-dessous des expressions s'obtiennent par \verb=\overrightarrow=, \verb=\underrightarrow=, etc. : $\overrightarrow{ABCDE}$ ;
\item les barres extensibles s'obtiennent avec \verb=\overline= et \verb=\underline= ;
\item les accolades extensibles s'obtiennent avec \verb=\underbrace= et \verb=\overbrace=. Exemple :
\vskip-5mm
$$
\rlap{\ensuremath{\phantom{a+{}}\overbrace{\phantom{\ensuremath{b+c}}{}+d}^{3\text{ termes}}}}\underbrace{a+b+c}_{3\text{ termes}}
$$
\item (dans l'exemple ci-dessus, le bricolage est autorisé : on utilisera des commandes très sympathiques comme \verb=\rlap=, \verb=\phantom=, \verb=\smash=)
\item pour placer des symboles au-dessus ou au-dessous d'autres symboles, on utilisera \verb=\overset= et \verb=\underset=. Exemple : \verb=\overset{*}{x}= produira $\overset{*}{x}$.
\end{itemize}
\end{frame}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{frame}[fragile]
\frametitle{Les opérateurs textuels 1/2}
\begin{itemize}
\item Il est de très mauvais goût\footnote{Et c'est un des indicateurs des mauvais \TeX istes... donc, méfiez-vous !\\} d'écrire $logx$ pour le logarithme de $x$. L'écriture correcte est $\log x$ ;
\item on dispose d'un grand nombre de commandes pour les opérateurs textuels : \yem{log}, \yem{cos}, \yem{max}, \yem{sup}, \yem{lim},...
\item certains de ces opérateurs ont un comportement particulier vis-à-vis des exposants et indices, ainsi \verb=\lim_{n\to\infty}= donnera : $\displaystyle\lim_{n\to\infty}$.
\end{itemize}
\end{frame}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{frame}[fragile]
\frametitle{Les opérateurs textuels 2/2}
\begin{itemize}
\item Pour définir de nouveaux opérateurs textuels on utilise \verb=\DeclareMathOperator= (dans le préambule !) qui prend en premier argument la commande ainsi définie, et en deuxième argument la chaîne de texte. Exemple : \verb=\DeclareMathOperator{\tg}{tg}= ;
\item attention : dans le deuxième argument de \verb=\DeclareMathOperator= on est tout de même en mode mathématique. Les éventuels accents s'écrivent alors comme des accents mathématiques. Exemple : \verb=\DeclareMathOperator{\Det}{D\acute{e}t}= ;
\item pour obtenir un opérateur dont le comportement est similaire à celui de \og lim\fg{}, on utilise la même commande suivie d'un astérisque. Exemple : \verb=\DeclareMathOperator*{\argmax}{arg\,max}= ;
\item une solution de facilité pour ne pas passer par ces commandes est \verb=\mathrm=.
\end{itemize}
\end{frame}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{frame}[fragile]
\frametitle{Le texte dans les formules}
\begin{itemize}
\item Pour inclure du texte\footnote{NE PAS CONFONDRE texte et opérateurs textuels : on écrira «$f(x)=x\text{ et ainsi de suite}$» en texte, mais «$\mathrm{grad}(X)$» en romain mathématique puisque c'est un opérateur.\\} dans des formules, on se sert de \verb=\text= ;
\item exemple : \verb=$x^{x^{\text{beaucoup...}}}$= qui donnera $x^{x^{\text{beaucoup...}}}$ ;
\item à l'intérieur de \verb=\text= on peut utiliser des accents et toute commande du mode texte ;
\item attention : \verb=\text= ne participe pas à l'espacement des formules mathématiques. Il convient d'ajouter des espaces : \verb=$x\text{ ou }y$= ($x\text{ ou }y$) est meilleur que \verb=$x \text{ou} y$= ($x \text{ou} y$) ;
\item le piège : \verb=\text= hérite du contexte textuel courant. Si on est en italiques à l'extérieur de la formule, on le sera également dans \verb=\text=. Donc, ne pas utiliser \verb=\text= pour les opérateurs mathématiques, mais uniquement lorsqu'il s'agit d'un commentaire de la formule...
\end{itemize}
\end{frame}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{frame}[fragile]
\frametitle{Les matrices}
\begin{itemize}
\item Les matrices s'écrivent comme des tableaux : on sépare les cellules par \verb=&= et les lignes par \verb=\\= ;
\item l'environnement de matrice dépend du délimiteur : \texttt{pmatrix} pour les matrices, \texttt{vmatrix} pour les déterminants, \texttt{bmatrix} avec des crochets, \texttt{Bmatrix} avec des accolades, \texttt{Vmatrix} avec des doubles barres verticales. \texttt{yhmath} définit un \texttt{amatrix}, avec des angles $\langle\;\rangle$.
\verb=\begin{pmatrix}1&0&0\\0&1&0\\0&0&1\end{pmatrix}= donne :
$$\begin{pmatrix}1&0&0\\0&1&0\\0&0&1\end{pmatrix} ;$$
\item il existe aussi un environnement \texttt{matrix} sans délimiteurs, ainsi qu'un \texttt{smallmatrix} sans délimiteurs et de plus petite taille, comme ici : $\left(\begin{smallmatrix}a&b\\c&d\end{smallmatrix}\right)$.
\end{itemize}
\end{frame}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{frame}[fragile]
\frametitle{Micro-typographie fine 1/2}
\begin{itemize}
\item Pour \TeX\ il existe huit types de symboles mathématiques : les symboles ordinaires, les opérateurs binaires, les symboles d'ouverture (d'expression), les symboles de fermeture, la ponctuation, les grands opérateurs, les relations, et les alphanumériques ;
\item ainsi, $=$, qui est une relation, ne sera pas espacée comme $.$ qui est un signe de ponctuation, comparer $a=b$ et $a.b$ ;
\item pour forcer le comportement d'un symbole vis-à-vis de l'espacement, on dispose des commandes \verb=\mathord=, \verb=\mathbin=, \verb=\mathopen=, \verb=\mathclose=, \verb=\mathpunct=, \verb=\mathop=, \verb=\mathrel= et \verb=\mathalpha= ;
\item exemple : pour utiliser le point comme opérateur binaire, on écrira \verb=a\mathbin{.}b=, ce qui donne : $a\mathbin{.}b$.
\end{itemize}
\end{frame}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{frame}[fragile]
\frametitle{Micro-typographie fine 2/2}
\begin{itemize}
\item Parfois il convient d'espacer un peu \og manuellement\fg{}. Ainsi, on laissera dans une intégrale un peu de blanc entre l'expression à intégrer et l'opérateur d'intégration : $\int f(x)\,dx$. Pour cela on dispose de certaines commandes qui laissent du blanc : \verb=\,= (espace fine), \verb=\:= (espace moyenne), \verb=\;= (espace un peu plus large) ;
\item Exemples : $\int f(x)\,dx$ est meilleur que $\int f(x)dx$ ;
\item $(1-x)(1-x^2)(1-x^3)\,(1-y)(1-y^2)(1-y^3)$
est meilleur que
$(1-x)(1-x^2)(1-x^3)(1-y)(1-y^2)(1-y^3)$ ;
\item parfois on veut, au contraire, rapprocher deux expressions : on y parvient en utilisant la commande \verb=\!= (ÀCAM).
\end{itemize}
\end{frame}
\section{Les mathématiques - Aspects macro}
%\mypart{Les mathématiques}{Aspects macro-typographiques}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{frame}[fragile]
\frametitle{Formules en vedette}
\begin{itemize}
\item La manière \og propre\fg{} d'obtenir des formules en vedette sous \LaTeX\ est d'utiliser l'environnement \texttt{equation}. Celui-ci va automatiquement numéroter les formules (compteur \texttt{equation}) :
\begin{equation}
ax^2+bx+c=0 \iff x=\frac{-b\pm\sqrt{b^2-4ac}}{2a} ;
\end{equation}
\item la numérotation se fait normalement à droite, sauf si on charge le module \texttt{amsmath} avec l'option \texttt{leqno} ;
\item on peut forcer un numéro de formule à l'aide de \verb=\tag{...}=, il sera placé entre parenthèses (selon la feuille de style). En utilisant \verb=\tag*{...}= on obtient une expression sans parenthèses ;
\item l'environnement \texttt{equation*} produit une formule en vedette non numérotée.
\end{itemize}
\end{frame}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{frame}[fragile]
\frametitle{Équations trop longues 1/2}
\begin{itemize}
\item Si l'équation est trop longue, on peut la couper en plusieurs lignes dans un environnement \texttt{multline}. La première ligne sera composée fer à gauche, la dernière fer à droite, et les autres lignes centrées. Le numéro se placera sur la dernière ligne si on le compose à droite, ou sur la première si on le compose à gauche. Exemple :
\vskip-7mm
\begin{multline}
\Gamma[E(f(X)|Y),g(Y)]=E[E(f(X)|Y)g(Y)]\\
= E[f(X)\,g(Y)]=E[f(X)\,E(g(Y)|X)]\\
=\Gamma[f(X),E(g(Y)|X)]
\end{multline}
\begin{verbatim}
\begin{multline}
\Gamma[E(f(X)|Y),g(Y)]=E[E(f(X)|Y)g(Y)]\\
= E[f(X)\,g(Y)]=E[f(X)\,E(g(Y)|X)]\\
=\Gamma[f(X),E(g(Y)|X)]
\end{multline}
\end{verbatim}
\end{itemize}
\end{frame}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{frame}[fragile]
\frametitle{Équations trop longues 2/2}
\begin{itemize}
\item Si en plus on souhaite un alignement on utilisera l'environnement \texttt{split}, à l'intérieur d'un \texttt{equation}, en plaçant un \verb=&= devant les endroits à aligner :
\begin{equation}\begin{split}
\Gamma[E(f(X)|Y),g(Y)]&=E[E(f(X)|Y)g(Y)]\\
&= E[f(X)\,g(Y)]\\
&=E[f(X)\,E(g(Y)|X)]\\
&=\Gamma[f(X),E(g(Y)|X)]
\end{split}\end{equation}
\begin{verbatim}
\begin{equation}\begin{split}
\Gamma[E(f(X)|Y),g(Y)]&=E[E(f(X)|Y)g(Y)]\\
&= E[f(X)\,g(Y)]\\ &=E[f(X)\,E(g(Y)|X)]\\
&=\Gamma[f(X),E(g(Y)|X)]
\end{split}\end{equation}
\end{verbatim}
\end{itemize}
\end{frame}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{frame}[fragile]
\frametitle{Groupes d'équations 1/3}
\begin{itemize}
\item Pour grouper plusieurs équations on utilise l'environnement \texttt{gather}. L'effet est le même que pour une suite d'\texttt{equation}, mais l'espacement vertical entre les équations est meilleur :
\begin{gather}
x^2+y^2+z^2=1\\
2x^3+3y^3+4z^3=0
\end{gather}
\begin{verbatim}
\begin{gather}
x^2+y^2+z^2=1\\
2x^3+3y^3+4z^3=0
\end{gather}
\end{verbatim}
\end{itemize}
\end{frame}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{frame}[fragile]
\frametitle{Groupes d'équations 2/3}
\begin{itemize}
\item L'environnement \texttt{align} permet de grouper plusieurs équations sur la même ligne, et des aligner sur plusieurs lignes. On utilisera $2n-1$ caractères \verb=&= pour $n$ équations (un pour chaque point d'alignement et un entre deux équations). Exemple :
\vskip-5mm
\begin{align}
f(x)&=1 & f(y)&=1 & f(z)&=1\\
f'(x)&=0 & f'(y)&=0 & f'(z)&=0\\
\intertext{et ainsi de suite, jusqu'à :}
f^{(n)}(x)&=0 & f^{(n)}(y)&=0 & f^{(n)}(z)&=0
\end{align}
\end{itemize}
\end{frame}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{frame}[fragile]
\frametitle{Groupes d'équations 3/3}
\begin{verbatim}
\begin{align}
f(x)&=1 & f(y)&=1 & f(z)&=1\\
f'(x)&=0 & f'(y)&=0 & f'(z)&=0\\
\intertext{et ainsi de suite, jusqu'à :}
f^{(n)}(x)&=0 & f^{(n)}(y)&=0 & f^{(n)}(z)&=0
\end{align}
\end{verbatim}
\begin{itemize}
\item la commande \verb=\intertext= permet d'insérer du texte entre deux formules sans perdre les points d'alignement.
\end{itemize}
\end{frame}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{frame}[fragile]
\frametitle{Mini-groupes d'équations 1/2}
\begin{itemize}
\item Les environnements \texttt{gather} et \texttt{align} utilisent toute la largeur de la page. Pour produire des mini-groupes on peut utiliser \texttt{gathered} et \texttt{aligned}, à l'intérieur d'un \texttt{equation} ou autre environnement de formule en vedette :
\vskip-5mm
\begin{equation}
\vec{v_1} = \vec{v_2} \iff \left\{ \begin{aligned}2(a+b)&=c\\x&=y+z+w\end{aligned} \right\} \iff \sqrt{|t_1\wedge t_2|}=0 ;
\end{equation}
\begin{verbatim}
\begin{equation}
\vec{v_1} = \vec{v_2} \iff \left\{
\begin{aligned}2(a+b)&=c\\x&=y+z+w\end{aligned}
\right\} \iff \sqrt{|t_1\wedge t_2|}=0 ;
\end{equation}
\end{verbatim}
\end{itemize}
\end{frame}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{frame}[fragile]
\frametitle{Mini-groupes d'équations 2/2}
\begin{itemize}
\item Pour produire une liste de cas on utilise \texttt{cases}, à l'intérieur d'un \texttt{equation} :
\end{itemize}
\begin{equation}
f(x) = \begin{cases}\frac 1x & \quad\text{si $x > 0$}\\
+\infty & \quad\text{si $x = 0$}\\
-\frac 1x & \quad\text{si $x < 0$}
\end{cases}
\end{equation}
\begin{verbatim}
\begin{equation}
f(x) = \begin{cases}\frac 1x & \quad\text{si $x > 0$}\\
+\infty & \quad\text{si $x = 0$}\\
-\frac 1x & \quad\text{si $x < 0$}
\end{cases}
\end{equation}
\end{verbatim}
\end{frame}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{frame}[fragile]
\frametitle{Théorèmes, lemmes, etc. 1/2}
\begin{itemize}
\item Plutôt que de définir une fois pour tous les cas possibles de théorèmes, lemmes, corollaires, principes, axiomes, énoncés, remarques, notes, conjectures, et j'en passe, avec leurs numérotations respectives et interdépendantes, \LaTeX\ propose une manière standard de définir de telles structures ;
\item en écrivant \verb=\newtheorem{theo}{=\texttt{Théorème}\verb=}= on définit une nouvelle structure nommée \og Théorème\fg{} dont l'environnement \LaTeX\ porte le nom \texttt{theo}. Cette structure a sa propre numérotation ;
\item en écrivant \verb=\newtheorem{theo}{=\texttt{Théorème\}[chapter]} la numérotation de nos \og théorèmes\fg{} sera remise à zéro dans chaque nouveau chapitre ;
\item en écrivant \verb=\newtheorem*=, la nouvelle structure n'est pas numérotée ;
\end{itemize}
\end{frame}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{frame}[fragile]
\frametitle{Théorèmes, lemmes, etc. 2/2}
\begin{itemize}
\item En écrivant \verb=\newtheorem{=\texttt{thei\}[theo]\{Théorème important\}} on définit une structure qui partage le même compteur que la structure \texttt{theo}.
\item on dispose de six styles d'énoncé : \texttt{plain}, \texttt{change} (le numéro en premier), \texttt{margin} (le nombre dans la marge), et les mêmes trois avec le titre seul sur uhne ligne : \texttt{break}, \texttt{changebreak}, \texttt{marginbreak} ;
\item on écrivant \verb=\theoremstyle{...}= avant la définition d'énoncé, il sera dans ce style ;
\item on peut personnaliser davantage, avec \verb=\theorembodyfont= et \verb=\theoremheaderfont=, qui prennent comme argument une description de la fonte à utiliser (sans le \verb=\selectfont=).
\end{itemize}
\end{frame}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{frame}[fragile]
\frametitle{L'approche XY-pic 1/6}
\begin{itemize}
\item On charge le package \texttt{xy} avec l'option \texttt{all} (et \texttt{ps} et \texttt{dvips} si on n'est pas sous \emph{pdf\TeX}) ;
\item un diagramme commutatif est écrit dans un élément \verb=\xymatrix= (lui-même dans un environnement mathématique) ;
\item comme dans \texttt{CD} on écrit les sommets, mais les flèches se mettent juste après les sommets \emph{dont elles partent}. La syntaxe est \verb=\ar[.]= où \texttt{.} est \texttt{u} (vers le haut), \texttt{d} (le bas), \texttt{r} (droite), \texttt{l} (gauche) :
\begin{center}\includegraphics{xy1.pdf}\end{center}
\begin{verbatim}
$$\xymatrix{
A \ar[d] & B \ar[l] \ar[r] & C \ar[r] \ar[d] & D \\
E \ar[r] & F \ar[u] \ar[r] & G \ar[r] & H \ar[u]}$$
\end{verbatim}
\end{itemize}
\end{frame}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{frame}[fragile]
\frametitle{L'approche XY-pic 2/6}
\begin{itemize}
\item Pour ajouter des labels aux flèches, on utilise \verb=^= (au-dessus), \verb=|= (au milieu) et \verb=_= (au-dessous) après la commande \verb=\ar[.]= ;
\item pour centrer une entrée sur la flèche, écrire un tiret après le chapeau (resp. le souligné ou la barre verticale) : \verb=^-=, \verb=_-=, \verb=|-= ;
\item les flèches diagonales s'obtiennent en mettant dans l'argument optionnel de \verb=\ar= autant de lettres \texttt{u}, \texttt{d}, \texttt{r} et \texttt{l} qu'il y a des pas dans la direction correspondante :
\begin{center}\includegraphics{xy2.pdf}\end{center}
\end{itemize}
\end{frame}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{frame}[fragile]
\frametitle{L'approche XY-pic 3/6}
\begin{verbatim}
$$\xymatrix{
A \ar[r] \ar[d] \ar[dr] \ar[drr]
\ar[drrr] \ar[drrrr] \ar[drrrrr] &
B \ar[r] & C \ar[r] & D \ar[r] & E \ar[r] & F \ar[d]\\
A' \ar[r] & B' \ar[r] & C' \ar[r]
& D' \ar[r] & E' \ar[r] & F'
}$$
\end{verbatim}
\end{frame}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{frame}[fragile]
\frametitle{L'approche XY-pic 4/6}
\begin{itemize}
\item Les flèches deviennent curvilignes quand on ajoute \verb=@/^/= ou \verb=@/_/= :
\begin{center}\includegraphics{xy3.pdf}\end{center}
\begin{verbatim}
$$\xymatrix{A \ar[r] \ar[dd] \ar@/^/[ddr]
\ar@/^/[ddrr] \ar@/^/[ddrrr] \ar@/^/[ddrrrr]
\ar@/^/[ddrrrrr] & B \ar[r] & C \ar[r] &
D \ar[r] & E \ar[r] & F \ar[dd]\\
{} & {} & {} & {}& {}\\ A' \ar[r] & B' \ar[r]
& C' \ar[r] & D' \ar[r] & E' \ar[r] & F'}$$
\end{verbatim}
\end{itemize}
\end{frame}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{frame}[fragile]
\frametitle{L'approche XY-pic 5/6}
\begin{itemize}
\item Les flèches de différents styles s'obtiennent par \verb:@{=>}: (double flèche), \verb:@{.>}: (flèche pointillée), \verb=@{:>}= (flèche pointillée double), \verb=@{~>}= (flèche ondulée), \verb=@{-->}= (flèche en petits traits), \verb=@{}= (flèche vide) ;
\begin{center}\includegraphics{xy4.pdf}\end{center}
\begin{verbatim}
$$\xymatrix{A \ar[r] \ar@{}[dr]|{\circlearrowleft}
\ar[d] & B \ar@{.>}[r] \ar[d] & C \ar@{.>}[d]\\
D \ar[r] & E \ar@{~>}[r] & F}$$
\end{verbatim}
\end{itemize}
\end{frame}
\begin{frame}[fragile]
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\frametitle{L'approche XY-pic 6/6}
\begin{itemize}
\item On peut déplacer les flèches transversalement à l'aide de \verb=@<1ex>= :
\begin{center}\includegraphics{xy5.pdf}\end{center}
\medskip
\begin{verbatim}
$$\xymatrix{A \ar@<.5ex>@/^/[r] \ar@<-.5ex>@/^/[r]
\ar@<.5ex>@/_/[d] \ar@<-.5ex>@/_/[d]
& B \ar@<.5ex>@/^/[d] \ar@<-.5ex>@/^/[d]\\
C \ar@<.5ex>@/_/[r] \ar@<-.5ex>@/_/[r] & D}$$
\end{verbatim}
\end{itemize}
\end{frame}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\section{Pages Web avec formules}
%\mypart{Pages Web avec formules}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{frame}[fragile]
\frametitle{MathJax}
\begin{itemize}
\item Les pages Web ordinaires utilisent des balises XML pour représenter leur structure, enrichies de code JavaScript (exécuté sur le client) ;
\item Inclure dans l'élément \texttt{head} le code :
{\small
\texttt{<script type="text/javascript"}\\
\texttt{src="https://d3eoax9i5htok0.cloudfront.net/mathjax/latest/
MathJax.js?config=TeX-AMS-MML\_HTMLorMML">}\\
\texttt{</script>}
}
\item puis écrire les formules en \TeX{} en utilisant \verb=\( \)= à la place des simples dollars, et les doubles dollars normalement pour les formules en vedette.
\item Plus d'info : \url{http://www.mathjax.org/docs/2.0/start.html}
\end{itemize}
\end{frame}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{frame}[fragile]
\frametitle{Exemple}
\begin{verbatim}
<html>
<head>
<script type="text/javascript"
src="https://d3eoax9i5htok0.cloudfront.net/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML">
</script>
<title>Pomponnette, c'est maintenant que tu reviens ?</title>
</head>
<body>
<h1>Oh qu'elle est belle, ma formule !</h1>
La vie continue : \( \forall \varepsilon, \exists \eta,
|x-x_0|<\eta \Rightarrow |f(x)-f(x_0)|<\varepsilon \).
Une simple vérité :
$$-1\leq \sin(x)\leq 1.$$
</body>
</html>
\end{verbatim}
\end{frame}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{frame}[fragile]
\frametitle{Résultat}
\resizebox{10cm}{!}{\includegraphics{pomponnette.jpg}}
\end{frame}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{frame}[fragile]
\frametitle{Dessiner un graphe}
\begin{tikzpicture}[->,>=stealth',x=.75cm,y=1.5cm,shorten >=1pt,auto,node distance=3cm,
thick,main node/.style={circle,fill=blue!20,draw,font=\small}]
\node[main node] (1) at (0,1) {1};
\node[main node] (2) at (2,2) {2};
\node[main node] (3) at (3,1) {3};
\node[main node] (4) at (5,2) {4};
\node[main node] (5) at (1,0) {5};
\node[main node] (6) at (4,0) {6};
\path[every node/.style={font=\sffamily\small}]
(1) edge (2)
edge [transform canvas={yshift=.75mm}] (4)
edge (5)
edge (6)
(2) edge (3)
(3) edge (5)
edge (6)
(4) edge [transform canvas={yshift=-.75mm}] (1)
edge (3)
edge (6)
edge [loop above] (4)
(5) edge (6);
\end{tikzpicture}
\end{frame}
\begin{frame}[fragile]
\frametitle{Dessiner un graphe}
\begin{verbatim}
\begin{tikzpicture}[->,>=stealth',x=.75cm,y=1.5cm,shorten >=1pt,auto,node distance=3cm,
thick,main node/.style={circle,fill=blue!20,draw,font=\small}]
\node[main node] (1) at (0,1) {1};
\node[main node] (2) at (2,2) {2};
\node[main node] (3) at (3,1) {3};
\node[main node] (4) at (5,2) {4};
\node[main node] (5) at (1,0) {5};
\node[main node] (6) at (4,0) {6};
\path[every node/.style={font=\sffamily\small}]
(1) edge (2)
edge [transform canvas={yshift=.75mm}] (4)
edge (5)
edge (6)
(2) edge (3)
(3) edge (5)
edge (6)
(4) edge [transform canvas={yshift=-.75mm}] (1)
edge (3)
edge (6)
edge [loop above] (4)
(5) edge (6);
\end{tikzpicture}
\end{verbatim}
\end{frame}
%\mypart{Lettrage de figures\\(\emph{dvips} uniquement !)}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{frame}[fragile]
\frametitle{Lettrage de figures : PSFrag 1/5}
\begin{itemize}
\item À l'aide du package \texttt{psfrag} (ne marche pas sous Write\LaTeX) on peut placer des formules mathématiques composées par \LaTeX\ dans une figure EPS ;
\item soit la figure \texttt{simple.eps} suivante, dont les labels sont des chaînes de caractères uniques, composés en Courier :
\begin{center}
\scalebox{.5}{\includegraphics{simple.pdf}}
\end{center}
\end{itemize}
\end{frame}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{frame}[fragile]
\frametitle{PSFrag 2/5}
\begin{itemize}
\item En incluant le code suivant avant \verb=\includegraphics= :
\begin{verbatim}
\psfrag{A}{$\sqrt{a^2_1+a^2_2}$}
\psfrag{B}{$\sqrt{b^2_1+b^2_2}$}
\psfrag{C}{$\sqrt{c^2_1+c^2_2}$}
\psfrag{D}{$\sqrt{d^2_1+d^2_2}$}
\psfrag{E}{$\sqrt{e^2_1+e^2_2}$}
\end{verbatim}
on obtient : \includegraphics{simple2.pdf}
\end{itemize}
\end{frame}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{frame}[fragile]
\frametitle{PSFrag 3/5}
\begin{itemize}
\item Pour optimiser le positionnement des formules on adopte la syntaxe suivante :
\begin{center}
\scalebox{1}{\includegraphics{xypic-reperes.pdf}}
\end{center}
\end{itemize}
\end{frame}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{frame}[fragile]
\frametitle{PSFrag 4/5}
\begin{itemize}
\item La commande \verb=\psfrag= prend quatre arguments optionnels : le \emph{répère choisi au niveau de \LaTeX}, le \emph{répère choisi au niveau de PostScript}, le \emph{facteur d'échelle d'agrandissement}, l'\emph{angle de rotation}. Ainsi, avec :
\begin{verbatim}
\psfrag{A}[rt][rt]{$\sqrt{a^2_1+a^2_2}$}
\psfrag{B}[cB][cB]{$\sqrt{b^2_1+b^2_2}$}
\psfrag{E}[rB][rB]{$\sqrt{e^2_1+e^2_2}$}
\end{verbatim}
on obtient : \quad \includegraphics{simple3.pdf}
\end{itemize}
\end{frame}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{frame}[fragile]
\frametitle{PSFrag 5/5}
\begin{verbatim}
\psfrag{A}[rt][rt][2.0]{$\sqrt{a^2_1+a^2_2}$}
\psfrag{B}[cB][cB][2.0]{$\sqrt{b^2_1+b^2_2}$}
\psfrag{C}[lB][lB][2.0]{$\sqrt{c^2_1+c^2_2}$}
\psfrag{D}[lB][lB][2.0]{$\sqrt{d^2_1+d^2_2}$}
\psfrag{E}[rB][rB][2.0]{$\sqrt{e^2_1+e^2_2}$}
\end{verbatim}
\medskip
{\centering
\includegraphics{simple4.pdf}
}
\end{frame}
\section{\LaTeX\ avancé}
%\mypart{\LaTeX\ avancé}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{frame}[fragile]
\frametitle{NFSS (\textit{New Font Selection Scheme})}
\begin{itemize}
\item Pour décrire une fonte, NFSS utilise cinq attributs :
\begin{enumerate}
\item le nom de famille, \verb=\fontfamily{...}=,
\item la graisse/chasse, \verb=\fontseries{...}=, par défaut \texttt{m}, le gras étendu étant \texttt{bx} (on a aussi \verb=\bfseries=),
\item le \og style\fg{}, \verb=\fontshape{...}=, par défaut \texttt{n}, les italiques étant \texttt{it} (on a aussi \verb=\itshape=) et les petites capitales \texttt{sc} (\verb=\scshape=),
\item le corps et l'interlignage, \verb=\fontsize{...}{...}=,
\item le codage, \verb=\fontencoding{...}=, par défaut \texttt{OT1} mais il vaut mieux utiliser \texttt{T1} ;
\end{enumerate}
\item après les différents choix, on utilise \verb=\selectfont= pour envoyer la requête à NFSS.
\item pour plus d'informations consulter \resizebox{!}{2cm}{\includegraphics{5176VV481JL_SL500_AA240_.jpg}}
\resizebox{!}{2cm}{\includegraphics{9780596102425_bkt.jpg}}
\end{itemize}
\end{frame}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{frame}[fragile]
\frametitle{Définir des commandes \og à l'ancienne\fg{}}
\begin{itemize}
\item On écrit \verb=\def\toto{...}=, et avec des arguments :
\verb=\def\toto#1#2{... #1 ... #2 ...}= ;
\item on ne peut utiliser que neuf arguments ;
\item quand on imbrique des définitions on utilise des doubles (triples, etc.) dièses :
\verb=\def\toto#1{\def\titi##1{... ##1 ... #1}}= ;
\item on peut définir un motif d'utilisation de la commande : si l'on définit \verb=\toto= avec \verb=\def\toto,#1/#2..#3:{qqch}=, on l'utilisera alors de la même manière :
\verb=\toto,un/deux..trois:= ;
\item si un des arguments de la commande est susceptible de contenir plus d'un paragraphe, on écrira \verb=\long\def...=
\end{itemize}
\end{frame}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{frame}[fragile]
\frametitle{Définir des commandes \og à la \LaTeXe\fg{}}
\begin{itemize}
\item On écrit \verb=\newcommand{\toto}{...}=, et avec des arguments :
\verb=\newcommand{\toto}[2]{... #1 ... #2 ...}= ;
\item \verb=\newcommand= vérifie si la commande n'a pas été déjà définie, sinon on utilise \verb=\renewcommand= (renouvellement forcé) ou \verb=\providecommand= (pas de redéfinition, pas de message d'erreur) ;
\item il nous permet de définir un argument optionnel (c'est forcement~\verb=#1=) :
\verb=\newcommand{\toto}[1][=\texttt{\textit{valeur}}\verb=]{... #1 ... #2 ...}=, qui s'utilisera
\verb=\toto{qqch}= ou \verb=\toto[qqch]{qqch}=.
\end{itemize}
\end{frame}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{frame}[fragile]
\frametitle{Définir des environnements}
\begin{itemize}
\item On écrit : \verb=\newenvironment{=\texttt{\textit{nom}\}[\textit{arg}]\{\textit{début}\}\{\textit{fin}\}}
où \texttt{\textit{arg}} est le nombre d'arguments, \texttt{\textit{début}} le code à exécuter au début de l'environnement, et \texttt{\textit{fin}} celui de la fin ;
\item on peut utiliser \verb=#1=, \verb=#2=, ... uniquement dans la partie \texttt{\textit{début}} ;
\item le contenu d'un environnement est automatiquement inclus dans un groupe ;
\item on a également un \verb=\renewenvironment=.
\end{itemize}
\end{frame}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{frame}[fragile]
\frametitle{Les compteurs 1/2}
\begin{itemize}
\item Parmi les compteurs prédéfinis on trouve : \texttt{part}, \texttt{chapter}, \texttt{section}, \texttt{subsection}, \texttt{subsubsection}, \texttt{paragraph}, \texttt{subparagraph}, \texttt{page}, \texttt{equation}, \texttt{figure}, \texttt{table}, \texttt{footnote} ;
\item la valeur d'un compteur est donnée par \verb=\arabic{=\texttt{\textit{nom}\}}, \verb=\roman=, \verb=\Roman=, \verb=\alph= (pour $i<=26$), \verb=\Alph= ;
\item ou \verb=\the=\texttt{\textit{nom}} \og à l'ancienne\fg{} ;
\end{itemize}
\end{frame}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{frame}[fragile]
\frametitle{Les compteurs 2/2}
\begin{itemize}
\item On définit un nouveau compteur avec \verb=\newcounter{=\texttt{\textit{nom}\}} (ou
\verb=\newcounter{=\texttt{\textit{nom}\}[\textit{ancien}]} si le changement de valeur de l'ancien compteur doit annuler le nouveau) ;
\item on change la valeur d'un compteur avec \verb=\setcounter{=\rlap{\texttt{\textit{nom}\}\{\textit{valeur}\}} ;}
\item on incrémente un compteur de un avec \verb=\stepcounter{=\texttt{\textit{nom}\}} ;
\item ou avec \verb=\refstepcounter{=\texttt{\textit{nom}\}} (qui a l'avantage de positionner \verb=\ref= sur ce compteur) ;
\item on incrémente un compteur de \texttt{\textit{valeur}} avec \verb=\addtocounter{=\texttt{\textit{nom}\}\{\textit{valeur}\}} ;
\end{itemize}
\end{frame}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{frame}[fragile]
\frametitle{Les dimensions et longueurs 1/2}
\begin{itemize}
\item \TeX\ utilise les dimensions suivantes : \texttt{pt} (point anglosaxon), \texttt{bp} (point PostScript), \texttt{dd} (point Didot), \texttt{sp} (très petit !), \texttt{mm}, \texttt{cm}, \texttt{in}, \texttt{pc} (= 12 \texttt{pt}), \texttt{cc} (= 12 \texttt{dd}), \texttt{ex} (la grosseur d'\oe il), \texttt{em} (le cadratin) ;
\item on a des dimensions \emph{rigides} et des dimensions \emph{souples}. Une dimension souple est de la forme \texttt{\textit{rig} plus \textit{agr} minus \textit{rét}} ;
\item dans une dimension souple, l'agrandissement et le rétrécissement peuvent être infinis, et de plusieurs ordres d'infinité : \texttt{fil}, \texttt{fill}, \texttt{filll} (sous $\Omega$ également \texttt{fi}) ;
\item avec \verb=\kern1pt= on introduit du blanc horizontal rigide ;
\end{itemize}
\end{frame}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{frame}[fragile]
\frametitle{Les dimensions et longueurs 2/2}
\begin{itemize}
\item Avec \verb=\hspace{10pt plus 1fil minus 5pt}= on introduit du blanc horizontal souple ;
\item \verb=\hspace*= fonctionne comme \verb=\hspace= mais est opérationnelle également en début de ligne ;
\item on dispose des commandes prédéfinies \verb=\hfill= (blanc horizontal infini), \verb=\hrulefill= (filet infini), \verb=\dotfill= (points de suspension infinis) ;
\item avec \verb=\vspace= et \verb=\vspace*= on introduit un blanc vertical (la version avec astérisque fonctionne également en haut de page) ;
\item certaines commandes prédéfinies nous facilitent l'insertion de blancs verticaux : \verb=\smallskip=, \verb=\medskip=, \verb=\bigskip=, \verb=\vfill= (blanc vertical infini).
\end{itemize}
\end{frame}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{frame}[fragile]
\frametitle{Modes et boîtes 1/2}
\begin{itemize}
\item La mise en page sous \TeX\ se fait dans différents modes, dont les plus importants sont le mode vertical et le mode horizontal ;
\item \TeX\ construit et imbrique des boîtes (horizontales et verticales) qui vont de la page tout entière jusqu'au glyphe, en passant par les lignes et les mots ;
\item on peut créer des boîtes artificiellement : \og à l'ancienne\fg{} ce sera des \verb=\hbox= et des \verb=\vbox= ;
\item \og à la \LaTeX\fg{} ce sera des \verb=\mbox=. L'intérêt de mettre du texte dans un boîte est qu'il devient indivisible ;
\end{itemize}
\end{frame}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{frame}[fragile]
\frametitle{Modes et boîtes 2/2}
\begin{itemize}
\item \verb=\fbox= va, en plus, encadrer le contenu de la boîte, \fbox{comme ceci} (l'épaisseur du filet est donnée par la longueur \verb=\fboxrule=, le blanc entre le contenu et le filet par \verb=\fboxsep=) ;
\item \verb=\parbox{=\texttt{\textit{largeur}\}\{...\}} peut contenir tout un paragraphe de texte ;
\item \verb=\fbox= ne peut pas contenir directement un paragraphe de texte, mais on peut mettre un \verb=\parbox= dans un \verb=\fbox=.
\end{itemize}
\end{frame}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{frame}[fragile]
\frametitle{Moteur de composition}
\begin{itemize}
\item \TeX\ va couper les lignes en paragraphes selon 3 passes :
\item première passe : sans césure (\verb=\pretolerance=) ;
\item deuxième passe : avec césure (\verb=\tolerance=) et les valeurs de \emph{stretch} et \emph{shrink} données par la fonte ;
\item troisième passe : en remplaçant le \emph{stretch} par \verb=\emergencystretch= ;
\item on utilise un algorithme de plus court chemin dans un graphe acyclique.
\end{itemize}
\end{frame}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{frame}[fragile]
\frametitle{Moteur de composition}
\rlap{\kern-.5cm\smash{\raise-17cm\hbox{\includegraphics{fondblanc.pdf}}}}
\includegraphics[scale=.8]{hommeecrit.pdf}
\medskip
\includegraphics[scale=.8]{graphe.pdf}
\end{frame}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{frame}[fragile]
\frametitle{Moteur de composition}
\includegraphics[scale=.7]{paragraphes.pdf}
\end{frame}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{frame}[fragile]
\frametitle{L'algorithme de césure}
\begin{itemize}
\item \verb=\language= ;
\item \texttt{o1}, \texttt{1m}, \texttt{2m1m} : \texttt{co2m1mu1ni1ca1tion} ;
\item \texttt{1c}, \texttt{1n}, \texttt{2n1n} : \texttt{mé1co2n1nue} ;
\item \texttt{.co4n4} : \texttt{co4n4science} ;
\item ce qui manque : plusieurs niveaux, césure au niveau des caractères et non des glyphes.
\end{itemize}
\end{frame}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{frame}[fragile]
\frametitle{DVI et fontes}
\begin{itemize}
\item DVI contient des ``opcodes'' ;
\item il permet de faire les choses suivantes : placer glyphe et avancer, placer glyphe sans avancer, se déplacer horizontalement, se déplacer verticalement, composer boîte noire, inclure spéciale, définir fonte, sélectionner fonte, nouvelle page, push et pop de la position ;
\item une fonte TFM contient un certain nombre d'infos générales, et pour chaque glyphe : sa hauteur, profondeur, chasse et correction italique. Elle contient aussi des paires de crénage et des ligatures intelligentes (\texttt{LIG}, \texttt{LIG/}, \texttt{/LIG}, \texttt{/LIG/}, \texttt{LIG/>}, \texttt{/LIG>}, \texttt{/LIG/>}, \texttt{/LIG/>\hskip0pt>}) ;
\item une fonte virtuelle contient les mêmes opcodes qu'un fichier DVI (mis à part le début de page) ;
\item luaTeX\ s'ouvre aux OpenType.
\end{itemize}
\end{frame}
%
%%---------------------------------------------------------------------- SLIDE -
%\begin{slide}{Ce qui n'a pas été vu...}
%
%\begin{itemize}
%\item Le \og verbatim\fg{}...
%
%\item les aspects \og programmation\fg{} : tests, boucles, booléennes...
%
%\item les aspects linguistiques : utilisation d'autres langues (\emph{kenavo !}) et d'autres écritures comme le \japanese{\:65E5\:672C\:8A9E}, césure...
%
%\item les codages...
%
%\item les fontes...
%
%\end{itemize}
%
%\end{slide}
%%------------------------------------------------------------------------------
\section{Personnalisation de style}
%\mypart{Personnalisation de style}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{frame}[fragile]
\frametitle{Articulation des fichiers 1/2}
On crée un \emph{package} (fichier \verb=.sty=) dans lequel on met :
\begin{itemize}
\item \verb=\NeedsTeXFormat{LaTeX2e}[=\texttt{\emph{date}]} ;
\item \verb=\ProvidesPackage{nom_package}= ;
\item \verb=\ProvidesFile{nom_fichier}= ;
\item \verb=\DeclareOption{nom_option}{code_a_executer}= ;
\item \verb=\DeclareOption*{code_a_executer}= en cas de nom d'option inconnu ;
\item \verb=\ExecuteOptions{liste_options}= pour indiquer des valeurs par défaut ;
\item \verb=\ProcessOptions= pour traiter les options.
\end{itemize}
\end{frame}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{frame}[fragile]
\frametitle{Articulation des fichiers 2/2}
On a des options globales (celles de la classe) et locales (celles du package). Avec \verb=\PassOptionsToPackage{liste_options}{package}= on peut transmettre des options à un package.
\begin{itemize}
\item \verb=\usepackage{package}= dans le fichier \verb=.tex= ;
\item \verb=\RequirePackage[liste_options]{package}= ne le charge que si nécessaire ;
\item \verb=\RequirePackageWithOptions{package}= le package appelé hérite des options de l'appelant ;
\item \verb=\AtBeginDocument{code}= code à exécuter en début de document ;
\item \verb=\AtEndDocument{code}= code à exécuter en fin de document ;
\item \verb=\IfFileExists{fichier}{si_oui}{si_non}= exécuter du code si un fichier existe ;
\item \verb=\InputIfFileExists{fichier}{si_oui}{si_non}= idem mais lit le code à partir du fichier après celui de \texttt{si\_oui}.
\end{itemize}
\end{frame}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{frame}[fragile]
\frametitle{Dimensions globales}
\begin{itemize}
\item \verb=\paperheight= et \verb=\paperwidth= ;
\item \verb=\textheight= et \verb=\textwidth= ;
\item \verb=\hoffset= et \verb=\voffset= (par défaut : 1in) ;
\item \verb=\evensidemargin=, \verb=\oddsidemargin=, \verb=\topmargin= ;
\item \verb=\headheight= (hauteur du titre courant supérieur) et \verb=\headsep= (distance entre t.c. et corps du texte) ;
\item \verb=\footskip= distance entre bas du corps du texte et bas du titre courant inférieur ;
\item paramètres à changer avec \verb=\setlength\dimension{valeur}= ;
\item le package \texttt{layouts} permet de vérifier ;
\item le package \texttt{crop} met des hirondelles.
\end{itemize}
\end{frame}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{frame}[fragile]
\frametitle{Les titres courants}
\begin{itemize}
\item package \texttt{fancyhdr}
\item \verb=\pagestyle{fancy}= ;
\item remplir \verb=\fancyhead[positions]{en_haut}= et \verb=\fancyfoot[positions]{en_bas}= ;
\item les positions : \texttt{L}/\texttt{C}/\texttt{R} suivi de \texttt{O}/\texttt{E} (impair/pair), séparés par des virgules ;
\item exemple : \texttt{[LE,RO]} ;
\item \verb=\renewcommand\headrulewidth{0.4pt}= et idem pour \texttt{foot} pour le filet ;
\item \verb=\fancyheadoffset[positions]{taille}= pour aller dans la marge ;
\item \verb=\fancypagestyle{plain}{...définitions...}= pour créer/modifier un autre style (par exemple \texttt{plain} pour les premières pages de chapitre.
\end{itemize}
\end{frame}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{frame}[fragile]
\frametitle{Les sections}
On a une commande générique pour créer les sections :
\medskip
\verb=\@startsection{nom}{niveau}{retrait}{avant}{apr=\texttt{è}\verb=s}{style}=
\medskip
\begin{itemize}
\item nom : celui par lequel on va l'appeler ;
\item niveau : chapitre = 0, section = 1, etc. ;
\item retrait : le retrait global du titre de section ;
\item avant : glue verticale avant le titre ;
\item après : glue verticale après le titre ;
\item style : des instructions sans argument pour décrire le style.
\end{itemize}
\medskip
On écrira donc :
\medskip
\verb=\makeatletter=
\verb=\renewcommand\subsection{%=
\verb=\@startsection{subsection}{2}{...}{...}{...}{...}}=
\verb=\makeatother=
\end{frame}
\end{document}