formation latex niveau intermédiaireaze/docs/latex4isvd_asur_2.pdf ·...

229
Formation L A T E X — Niveau intermédiaire Jérôme Azé Orsay 26 mars 2013 http://www.lri.fr/~aze/FormationLaTeX

Upload: trantuong

Post on 12-Sep-2018

220 views

Category:

Documents


0 download

TRANSCRIPT

  • Formation LATEX Niveau intermdiaire

    Jrme Az

    Orsay

    26 mars 2013

    http://www.lri.fr/~aze/FormationLaTeX

    http://www.lri.fr/~aze/FormationLaTeX

  • Introduction

    Table des matires

  • Introduction

    Table des matires

  • Introduction

    Remerciements

    Mes prdcesseurs

    Vincent Feuvrier :http://www.math.u-psud.fr/~feuvrier/enseignement/2008/CIES/

    Bernardo da Costa : http://www.math.u-psud.fr/~bernardofpc/latex.php

    http://www.math.u-psud.fr/~feuvrier/enseignement/2008/CIES/http://www.math.u-psud.fr/~bernardofpc/latex.php

  • Introduction

    Table des matires

  • Introduction

    Environnement de travail

    diteur, . . .TexMaker : install sur toutes les machineshttp://www.xm1math.net/texmaker/

    Multiplateformes, gratuit, diteur, compilateur et visualisateur intgr

    http://www.xm1math.net/texmaker/

  • Introduction

    Table des matires

  • Introduction

    Quelques exemples

    Quelques formulesn

    i=1

    1+ ex

    2x

    f (x) =

    { 4 ln(x) if x 25 ln(1+ x) if x 0 else

    Le code associ\[\underset{i=1}{\overset{n}{\sum}} \frac{1+e^{-\alpha x}}{2 x}\]

    \[f(x) = \left\{

    \begin{array}{ll}4 \times ln(x) & \mbox{if }x \le \alpha\\-\frac{2}{5} ln (1+x) & \mbox{if } x \ge \theta\\0 & \mbox{else}

    \end{array}\right.\]

  • Introduction

    Quelques exemples

    Quelques formulesn

    i=1

    1+ ex

    2x

    f (x) =

    { 4 ln(x) if x 25 ln(1+ x) if x 0 else

    Le code associ\[\underset{i=1}{\overset{n}{\sum}} \frac{1+e^{-\alpha x}}{2 x}\]

    \[f(x) = \left\{

    \begin{array}{ll}4 \times ln(x) & \mbox{if }x \le \alpha\\-\frac{2}{5} ln (1+x) & \mbox{if } x \ge \theta\\0 & \mbox{else}

    \end{array}\right.\]

  • Introduction

    Quelques exemples

    Quelques tableaux

    A 0.2 1.4B 1 5C 0.002 5.6

    Le code associ

    \begin{tabular}{|c|l|r|}\cline{2-3}\multicolumn{1}{c|}{} & $\alpha$ & $\beta$\\\hline$A$ & 0.2 & 1.4\\$B$ & 1 & 5\\$C$ & 0.002 & 5.6\\\hline\end{tabular}

  • Introduction

    Quelques exemples

    Quelques tableaux

    A 0.2 1.4B 1 5C 0.002 5.6

    Le code associ

    \begin{tabular}{|c|l|r|}\cline{2-3}\multicolumn{1}{c|}{} & $\alpha$ & $\beta$\\\hline$A$ & 0.2 & 1.4\\$B$ & 1 & 5\\$C$ & 0.002 & 5.6\\\hline\end{tabular}

  • Introduction

    Quelques exemples

    Un peu de chimie

    O

    rt2

    rt1

    The ribose template

    O

    rt1

    In deoxyribose, substituent rt2 is replaced by nothing

    ON N

    N

    NH2

    N Deoxyadenosine is derived from deoxyribose by substituting rt1with adenine

    O

    N N

    N

    NH2

    NLocal redefinition of the rt 1 substituent in deoxyribose works, too

    O

    N O

    NH

    O

    O

    POH

    O

    O

    ON N

    N

    NH2

    N

    O

    POH

    O

    O

    O

    N O

    NH

    O

    Using the previously derived dU and dAtemplates, we can now easily write a DNAmolecule

    Le code associhttp://tex.stackexchange.com/questions/40695/chemfig-and-lego-style-molecule-construction/41051#41051

    http://tex.stackexchange.com/questions/40695/chemfig-and-lego-style-molecule-construction/41051#41051http://tex.stackexchange.com/questions/40695/chemfig-and-lego-style-molecule-construction/41051#41051

  • Introduction

    Quelques exemples

    Un peu de chimie

    O

    rt2

    rt1

    The ribose template

    O

    rt1

    In deoxyribose, substituent rt2 is replaced by nothing

    ON N

    N

    NH2

    N Deoxyadenosine is derived from deoxyribose by substituting rt1with adenine

    O

    N N

    N

    NH2

    NLocal redefinition of the rt 1 substituent in deoxyribose works, too

    O

    N O

    NH

    O

    O

    POH

    O

    O

    ON N

    N

    NH2

    N

    O

    POH

    O

    O

    O

    N O

    NH

    O

    Using the previously derived dU and dAtemplates, we can now easily write a DNAmolecule

    Le code associhttp://tex.stackexchange.com/questions/40695/chemfig-and-lego-style-molecule-construction/41051#41051

    http://tex.stackexchange.com/questions/40695/chemfig-and-lego-style-molecule-construction/41051#41051http://tex.stackexchange.com/questions/40695/chemfig-and-lego-style-molecule-construction/41051#41051

  • Introduction

    Quelques exemples

    Un peu de 3D

    Le code associhttp://www.texample.net/tikz/examples/map-projections/

    http://www.texample.net/tikz/examples/map-projections/

  • Introduction

    Quelques exemples

    Un peu de 3D

    Le code associhttp://www.texample.net/tikz/examples/map-projections/

    http://www.texample.net/tikz/examples/map-projections/

  • Introduction

    Quelques exemples

    Et aussiCes slides

    Le code associ

    \begin{frame}\frametitle{Quelques exemples}\begin{block}{Et aussi}

    Ces slides\end{block}

    \pause

    \begin{block}{Le code associ\e}\verbatiminput{exemple-slides.tex}

    \end{block}

    \end{frame}

  • Introduction

    Quelques exemples

    Et aussiCes slides

    Le code associ

    \begin{frame}\frametitle{Quelques exemples}\begin{block}{Et aussi}

    Ces slides\end{block}

    \pause

    \begin{block}{Le code associ\e}\verbatiminput{exemple-slides.tex}

    \end{block}

    \end{frame}

  • Introduction

    Table des matires

  • Introduction

    La classe letter

    Exemple minimaliste Fichier Intermediaire/code1.tex\ documentclass [ francais ]{ letter }

    \ usepackage [ francais ]{ babel }

    \ address {...\\...\\...}\ signature {...}

    \ begin { document }\ begin { letter }{M ...\\...\\...}

    \ opening {Cher ...}...\ closing {Bien cordialement }

    \end{ letter }\ begin { letter }{M ...\\...\\...}

    \ opening {Cher ...}...\ closing {Bien cordialement }

    \end{ letter }\end{ document }

    \documentclass[francais]{letter}

    \usepackage[francais]{babel}

    \address{...\\...\\...}\signature{...}

    \begin{document} \begin{letter}{M...\\...\\...} \opening{Cher ...} ... \closing{Bien cordialement} \end{letter} \begin{letter}{M...\\...\\...} \opening{Cher ...} ... \closing{Bien cordialement} \end{letter}\end{document}

    Intermediaire/code1.tex

  • Introduction

    La classe letter

    Commandes supplmentaires utiliser juste aprs\closing :

    \cc{...} sil y a des destinatires en copie ;\encl{...} sil y a des pices jointes ;\ps{PS: ...} sil y a un post-scriptum (ou autre).

    Votre adresse

    24 mars 2013

    Adresse du destinataire

    Madame, Monsieur,

    bla bla bla

    Formule de politesse

    Signature

    Copie : Copies a :

    P. J. : Pices jointes

    PS :PS

    PPS :PPS

  • Introduction

    La classe lettre

    Elle fonctionne quasiment comme letter, avec quelques commandessupplmentaires, et respecte mieux les conventions franaises.

    On peut dfinir des paramtres par dfaut pour toutes ses lettres.

    mettre dans un fichier default.ins ou juste avant \opening dans

    chaque lettre Fichier Intermediaire/code2.tex%Nom et signature de l expditeur\name {...}\ signature {...}% Coordonnes de l expditeur\ address {...}\ location {...}\ telephone {...} % on \ notelephone\fax {...} % ou \ nofax\ email {...} % ou \ noemail%lieu d expdition des lettres\lieu {...}

    %Nom et signature de l'expditeur\name{...}\signature{...}%Coordonnes de l'expditeur\address{...}\location{...}\telephone{...}% on \notelephone\fax{...}% ou \nofax\email{...}% ou \noemail%lieu d'expdition des lettres\lieu{...}

    Intermediaire/code2.tex

  • Introduction

    La classe lettre

    Elle fonctionne quasiment comme letter, avec quelques commandessupplmentaires, et respecte mieux les conventions franaises.

    On peut dfinir des paramtres par dfaut pour toutes ses lettres.

    mettre dans un fichier default.ins ou juste avant \opening dans

    chaque lettre Fichier Intermediaire/code2.tex%Nom et signature de l expditeur\name {...}\ signature {...}% Coordonnes de l expditeur\ address {...}\ location {...}\ telephone {...} % on \ notelephone\fax {...} % ou \ nofax\ email {...} % ou \ noemail%lieu d expdition des lettres\lieu {...}

    %Nom et signature de l'expditeur\name{...}\signature{...}%Coordonnes de l'expditeur\address{...}\location{...}\telephone{...}% on \notelephone\fax{...}% ou \nofax\email{...}% ou \noemail%lieu d'expdition des lettres\lieu{...}

    Intermediaire/code2.tex

  • Introduction

    La classe lettre

    Commandes utiliser juste avant \opening :\conc{...} pour dfinir lobjet de la lettre.

    Commandes utiliser juste aprs \closing :\cc{...} sil y a des destinatires en copie ;\encl{...} sil y a des pices jointes ;\ps{PS:}{...} sil y a un post-scriptum.

    Pour faire un tlfax il suffit de remplacer

    \begin{letter}{destinataire}

    par

    \begin{telefax}{numro}{destinataire}

    Votre adresse

    Tl. tlphoneFax : faxE-Mail : email

    Lieu denvoi, Date denvoi

    Adresse du destinataire

    Objet : Objet de la lettre

    Madame, Monsieur,

    bla bla bla

    Formule de politesse

    Signature

    C.c. Copies a :

    P.j. Pices jointes

    PS : PS

    PPS : PPS

    votre adresse

    T L F A X

    TLPHONE : phone TLFAX : fax E-Mail : email

    : Destinataire Tlcopie : +33 4554 123 123

    De : FROM Nombre de pages : 1

    En cas de mauvaise transmission, appelez s.v.p. loprateur tlfax

    Sassonne-le-Creux, le 26 mars 2013

    Objet : Objet de la lettre

    Madame, Monsieur,

    bla bla bla

    Formule de politesse

    Signature

  • Introduction

    La classe lettre

    Commandes utiliser juste avant \opening :\conc{...} pour dfinir lobjet de la lettre.

    Commandes utiliser juste aprs \closing :\cc{...} sil y a des destinatires en copie ;\encl{...} sil y a des pices jointes ;\ps{PS:}{...} sil y a un post-scriptum.

    Pour faire un tlfax il suffit de remplacer

    \begin{letter}{destinataire}

    par

    \begin{telefax}{numro}{destinataire}

    Votre adresse

    Tl. tlphoneFax : faxE-Mail : email

    Lieu denvoi, Date denvoi

    Adresse du destinataire

    Objet : Objet de la lettre

    Madame, Monsieur,

    bla bla bla

    Formule de politesse

    Signature

    C.c. Copies a :

    P.j. Pices jointes

    PS : PS

    PPS : PPS

    votre adresse

    T L F A X

    TLPHONE : phone TLFAX : fax E-Mail : email

    : Destinataire Tlcopie : +33 4554 123 123

    De : FROM Nombre de pages : 1

    En cas de mauvaise transmission, appelez s.v.p. loprateur tlfax

    Sassonne-le-Creux, le 26 mars 2013

    Objet : Objet de la lettre

    Madame, Monsieur,

    bla bla bla

    Formule de politesse

    Signature

  • Introduction

    La classe lettre

    Commandes utiliser juste avant \opening :\conc{...} pour dfinir lobjet de la lettre.

    Commandes utiliser juste aprs \closing :\cc{...} sil y a des destinatires en copie ;\encl{...} sil y a des pices jointes ;\ps{PS:}{...} sil y a un post-scriptum.

    Pour faire un tlfax il suffit de remplacer

    \begin{letter}{destinataire}

    par

    \begin{telefax}{numro}{destinataire}

    Votre adresse

    Tl. tlphoneFax : faxE-Mail : email

    Lieu denvoi, Date denvoi

    Adresse du destinataire

    Objet : Objet de la lettre

    Madame, Monsieur,

    bla bla bla

    Formule de politesse

    Signature

    C.c. Copies a :

    P.j. Pices jointes

    PS : PS

    PPS : PPS

    votre adresse

    T L F A X

    TLPHONE : phone TLFAX : fax E-Mail : email

    : Destinataire Tlcopie : +33 4554 123 123

    De : FROM Nombre de pages : 1

    En cas de mauvaise transmission, appelez s.v.p. loprateur tlfax

    Sassonne-le-Creux, le 26 mars 2013

    Objet : Objet de la lettre

    Madame, Monsieur,

    bla bla bla

    Formule de politesse

    Signature

  • Introduction

    Exercice

    crire une (courte !) lettre adresse la personne de votre choix ;

    la transformer en un tlfax.

  • Introduction

    Exercice

    crire une (courte !) lettre adresse la personne de votre choix ;la transformer en un tlfax.

  • Introduction

    Table des matires

  • Introduction

    crire son CV en LATEX

    Un exemple de CVSur la page web https://www.lri.fr/~aze/formationLaTeX/docs, voustrouverez un package : CV.tar.gz permettant dcrire un CV en LATEX

    https://www.lri.fr/~aze/formationLaTeX/docs

  • Introduction

    Exercice

    crire rapidement le dbut de votre CV

  • Introduction

    Table des matires

  • Introduction

    crire sa thse avec LATEX

    Quelques packages prts lemploi

    http://olivier.commowick.org/thesis_template.php

    http://www.loria.fr/~roegel/TeX/TL.html

    http://olivier.commowick.org/thesis_template.phphttp://www.loria.fr/~roegel/TeX/TL.html

  • Complments au niveau dbutant

    Table des matires

  • Complments au niveau dbutant

    Table des matires

  • Complments au niveau dbutant

    Rgles de ponctuation automatique

    Code Fichier Intermediaire/code3.texL espace entre un point terminant

    une phrase et le dbut de lasuivante est plus longue que lespace sparant deux mots.

    Pour dterminer si un pointtermine une phrase ou non , \TeX\utilise une rgle trs simple : un

    point ( suivi dun espace )termine une phrase sauf sil suit

    une lettre majuscule . Cest lecas par exemple des initiales etsigles : L. Euler .

    SortieLespace entre un point termi-nant une phrase et le dbutde la suivante est plus longueque lespace sparant deuxmots. Pour dterminer si unpoint termine une phrase ounon, TEX utilise une rgle trssimple : un point (suivi dunespace) termine une phrasesauf sil suit une lettre majus-cule. Cest le cas par exempledes initiales et sigles : L. Euler.

    L'espace entre un point terminant une phrase et le dbut de la suivante est plus longue que l'espace sparant deux mots.Pour dterminer si un point termine une phrase ou non, \TeX\ utilise une rgle trs simple: un point (suivi d'un espace) termine une phrase sauf s'il suit une lettre majuscule. C'est le cas par exemple des initiales et sigles : L. Euler.

    Intermediaire/code3.tex

  • Complments au niveau dbutant

    Points ne terminant pas une phrase

    Code Fichier Intermediaire/code4.texPour indiquer qu un point ne

    termine pas une phrase , commepour etc .\ on utilise une espaceforce juste aprs le point .

    Si on ne le met pas , on obtientetc. qui est un peu plus espace .

    SortiePour indiquer quun pointne termine pas une phrase,comme pour etc. on utilise uneespace force juste aprs lepoint. Si on ne le met pas, onobtient etc. qui est un peu plusespace.

    Pour indiquer qu'un point ne termine pas une phrase, comme pour etc.\ on utilise une espace force juste aprs le point.Si on ne le met pas, on obtient etc. qui est un peu plus espace.

    Intermediaire/code4.tex

  • Complments au niveau dbutant

    Points terminant une phrase

    Code Fichier Intermediaire/code5.texPour indiquer qu un point qui suit

    une majuscule termine une phrase, on met \verb |\@| JUSTE AVANT LE

    POINT \@.

    SortiePour indiquer quun point quisuit une majuscule termineune phrase, on met \@ JUSTEAVANT LE POINT.

    Pour indiquer qu'un point qui suit une majuscule termine une phrase, on met \verb|\@| JUSTE AVANT LE POINT\@.

    Intermediaire/code5.tex

  • Complments au niveau dbutant

    We see better in English

    Les conventions despacement en anglais donnent beaucoup plus de diffrence :les espaces aprs des points de fin de phrase sont plus grandes, et peuvents allonger 3 fois plus par rapport aux espaces entre deux mots.

    Code Fichier Intermediaire/code6.tex\ selectlanguage { english }\ ldots at the NATO. But also it is

    possible \ ldots

    \ ldots at the NATO\@. But also itis possible \ ldots

    Sortie

    . . . at the NATO. But also it ispossible . . .. . . at the NATO. But also it ispossible . . .

    Cet exemple a t obtenu avec un peu de chance quand mme !

    \selectlanguage{english}\ldots at the NATO. But also it is possible \ldots

    \ldots at the NATO\@. But also it is possible \ldots

    Intermediaire/code6.tex

  • Complments au niveau dbutant

    Points de suspension

    Code Fichier Intermediaire/code7.texDans le texte , au lieu d utiliser

    ... (qui introduit des espacesincorrectes entre les points ),

    on utilise plutt la commande \verb |\ ldots |, qui fonctionneaussi en mode mathmatique :

    \[a_1,a_2 ,\ ldots ,a_n\]

    SortieDans le texte, au lieu dutili-ser... (qui introduit des espacesincorrectes entre les points),on utilise plutt la commande\ldots, qui fonctionne aussi enmode mathmatique :

    a1, a2, . . . , an

    Comme toute commande qui fait du texte, il est parfois ncessaire dutiliser uneespace force \ aprs.

    Dans le texte, au lieu d'utiliser... (qui introduit des espaces incorrectes entre les points),on utilise plutt la commande \verb|\ldots|, qui fonctionne aussi en mode mathmatique :\[a_1,a_2,\ldots,a_n\]

    Intermediaire/code7.tex

  • Complments au niveau dbutant

    Table des matires

  • Complments au niveau dbutant

    Schma de la compilation

    *.aux

    vv

    88

    *.tex //

    $$

    *.dvi

    *.log

    Le fichier .aux contient (entre autres) des informations pour les tiquettes.Il faut parfois plusieurs compilations successives avant que les changementssoient appliqus au fichier auxiliaire, puis transmis au document en entier. Dansplusieurs cas (surtout pour les rfrences), LATEX avertit quand il est utile decompiler une fois de plus.Le fichier .log contient des informations sur le droulement de la compilation(en particulier les bad boxes).Certaines extensions (minitoc par exemple) utilisent dautres fichiers auxiliairesencore.

  • Complments au niveau dbutant

    Schma de la compilation

    *.aux

    vv

    88

    *.tex //

    $$

    *.dvi

    *.log

    Le fichier .aux contient (entre autres) des informations pour les tiquettes.

    Il faut parfois plusieurs compilations successives avant que les changementssoient appliqus au fichier auxiliaire, puis transmis au document en entier. Dansplusieurs cas (surtout pour les rfrences), LATEX avertit quand il est utile decompiler une fois de plus.Le fichier .log contient des informations sur le droulement de la compilation(en particulier les bad boxes).Certaines extensions (minitoc par exemple) utilisent dautres fichiers auxiliairesencore.

  • Complments au niveau dbutant

    Schma de la compilation

    *.aux

    vv

    88

    *.tex //

    $$

    *.dvi

    *.log

    Le fichier .aux contient (entre autres) des informations pour les tiquettes.Il faut parfois plusieurs compilations successives avant que les changementssoient appliqus au fichier auxiliaire, puis transmis au document en entier. Dansplusieurs cas (surtout pour les rfrences), LATEX avertit quand il est utile decompiler une fois de plus.

    Le fichier .log contient des informations sur le droulement de la compilation(en particulier les bad boxes).Certaines extensions (minitoc par exemple) utilisent dautres fichiers auxiliairesencore.

  • Complments au niveau dbutant

    Schma de la compilation

    *.aux

    vv

    88

    *.tex //

    $$

    *.dvi

    *.log

    Le fichier .aux contient (entre autres) des informations pour les tiquettes.Il faut parfois plusieurs compilations successives avant que les changementssoient appliqus au fichier auxiliaire, puis transmis au document en entier. Dansplusieurs cas (surtout pour les rfrences), LATEX avertit quand il est utile decompiler une fois de plus.Le fichier .log contient des informations sur le droulement de la compilation(en particulier les bad boxes).

    Certaines extensions (minitoc par exemple) utilisent dautres fichiers auxiliairesencore.

  • Complments au niveau dbutant

    Schma de la compilation

    *.aux

    vv

    88

    *.tex //

    $$

    *.dvi

    *.log

    Le fichier .aux contient (entre autres) des informations pour les tiquettes.Il faut parfois plusieurs compilations successives avant que les changementssoient appliqus au fichier auxiliaire, puis transmis au document en entier. Dansplusieurs cas (surtout pour les rfrences), LATEX avertit quand il est utile decompiler une fois de plus.Le fichier .log contient des informations sur le droulement de la compilation(en particulier les bad boxes).Certaines extensions (minitoc par exemple) utilisent dautres fichiers auxiliairesencore.

  • Personnaliser la mise en page

    Table des matires

  • Personnaliser la mise en page

    Table des matires

  • Personnaliser la mise en page

    Structure dune page

    En-tte

    Corps de page

    Pied de page

  • Personnaliser la mise en page

    Foliation

    La commande \pagenumbering{...} permet de spcifier cinq types denumrotation des pages :

    arabic pour la numrotation en chiffres arabes standard ;roman pour des chiffres romains minuscules ;Roman pour des chiffres romains majuscules ;alph pour des lettres minuscules ;Alph pour des lettres majuscules.

  • Personnaliser la mise en page

    Page de titre

    Dans le prambule :\title{...} dfinit le titre ;\author{...} dfinit le(s) auteur(s) ;\date{...} dfinit la date ;\thanks{...} produit une note pour le titre.

    Certaines classes peuvent prendre loption titlepage (avec \documentclass).Dans ce cas la commande \maketitle affichera le titre tout seul sur une pageentire.

  • Personnaliser la mise en page

    Styles de page

    Il y a quatre styles en tout :empty : ni en-tte, ni pied de page ;plain : juste un numro de page en bas (style par dfaut) ;headings : affichage des en-ttes (leur contenu dpend de la classe, par exemplele titre de la section en cours gauche et celui de la sous-section droite) ;myheadings : affiche le contenu donn par \markboth et \markright.

    On change de style pour tout le reste document avec \pagestyle{...} et onpeut changer le style dune page individuelle avec (par exemple)\thispagestyle{empty}.

    Important : si on veut mettre un style particulier la page de titre, il fautmettre \thispagestyle{...} juste aprs \maketitle, sans espace entre lesdeux.

    Certaines extensions (fancyhdr) dfinissent des styles supplmentaires.

  • Personnaliser la mise en page

    Styles de page

    Il y a quatre styles en tout :empty : ni en-tte, ni pied de page ;plain : juste un numro de page en bas (style par dfaut) ;headings : affichage des en-ttes (leur contenu dpend de la classe, par exemplele titre de la section en cours gauche et celui de la sous-section droite) ;myheadings : affiche le contenu donn par \markboth et \markright.

    On change de style pour tout le reste document avec \pagestyle{...} et onpeut changer le style dune page individuelle avec (par exemple)\thispagestyle{empty}.

    Important : si on veut mettre un style particulier la page de titre, il fautmettre \thispagestyle{...} juste aprs \maketitle, sans espace entre lesdeux.

    Certaines extensions (fancyhdr) dfinissent des styles supplmentaires.

  • Personnaliser la mise en page

    Marques gauche et droite

    Lorsque le style de page est myheadings, les commandes\markboth{left head}{right head} et \markright{right head}dfinissent les en-ttes en fonction de la parit de la page.

    Len-tte de gauche est dfinie par la dernire commande \markbothrencontre, celle de droite par la premire commande \markboth ou\markright rencontre sur cette page sil y en a une (ou sinon la derniredonne avant la page).

  • Personnaliser la mise en page

    Exercice

  • Personnaliser la mise en page

    Solution

    Code Fichier Intermediaire/code8.tex\ newpage\ thispagestyle { empty }\null %on peut aussi utiliser \ strut ou ~\ newpage

    \newpage\thispagestyle{empty}\null %on peut aussi utiliser \strut ou ~\newpage

    Intermediaire/code8.tex

  • Personnaliser la mise en page

    Table des matires

  • Personnaliser la mise en page

    Units de mesure fixes

    LATEX reconnat le centimtre (cm), le millimtre (mm), le pouce (in), le point(pt), le pica (pc), le point rduit (sp), le gros point (bp), le point didot (dd) etle cicro (cc).

    Code Fichier Intermediaire/code9.tex\rule {2 cm }{0.1 pt}

    \rule {30 mm }{1 pt}

    \rule {1.5 in }{3 pt}

    \rule {130 pt }{10 pt}

    Sortie

    \rule{2cm}{0.1pt}

    \rule{30mm}{1pt}

    \rule{1.5in}{3pt}

    \rule{130pt}{10pt}

    Intermediaire/code9.tex

  • Personnaliser la mise en page

    Correspondance des units

    Unit Valeur en pt Valeur en cmcm 28.45mm 2.85 0.1in 72.27 2.54pt 0.0351pc 12 0.421sp 1/65536bp 1.004 0.0353dd 1.07 0.0376cc 12.84 0.451

  • Personnaliser la mise en page

    Units de mesure relatives

    Ces units dpendent de la police en cours. LATEX reconnat la largeur de lalettre M (em, utilise pour les espaces horizontales) et la hauteur de lalettre x (ex, utilise pour les espaces verticales).

    Code Fichier Intermediaire/code10.tex\tiny Voici un rectangle \rule {1 em

    }{1 ex}

    \ normalsize Voici un rectangle \rule {1 em }{1 ex}

    \huge Voici un rectangle \rule {1 em}{1 ex}

    SortieVoici un rectangle

    Voici un rectangle

    Voici un rectangle

    \tiny Voici un rectangle \rule{1em}{1ex}

    \normalsize Voici un rectangle \rule{1em}{1ex}

    \huge Voici un rectangle \rule{1em}{1ex}

    Intermediaire/code10.tex

  • Personnaliser la mise en page

    Saut de ligne de hauteur variable

    Code Fichier Intermediaire/code11.texJe vais sauter 1cm \\[1 cm]puis un saut de ligne normal \\[0 pt

    ]puis je saute une hauteur ngative

    \\[ -2 ex]du coup le texte se chevauche \

    ldots

    SortieJe vais sauter 1cm

    puis un saut de ligne normalpuis je saute une hauteur n-gativedu coup le texte se che-vauche. . .

    Je vais sauter 1cm\\[1cm]puis un saut de ligne normal\\[0pt]puis je saute une hauteur ngative\\[-2ex]du coup le texte se chevauche\ldots

    Intermediaire/code11.tex

  • Personnaliser la mise en page

    Table des matires

  • Personnaliser la mise en page

    Commandes de longueur

    Certains noms de commandes correspondent des longueurs. On peut leuraffecter une valeur avec \setlength. Par exemple :

    \baselineskip contrle linterligne ;\parindent contrle lindentation des paragraphes ;\parskip contrle lespace vertical entre paragraphes.

    Code Fichier Intermediaire/code12.tex\ setlength \ baselineskip {3 ex}\ setlength \ parindent {1 cm}\ setlength \ parskip {2 ex}

    Le premier paragraphe qui dmontrel effet du changement des

    longueurs sur la mise en page.

    Voici un second paragraphe pourvoir l effet du changement deslongueurs sur la mise en page.

    SortieLe premier paragraphe

    qui dmontre leffet du change-ment des longueurs sur la miseen page.

    Voici un second para-graphe pour voir leffet duchangement des longueurs surla mise en page.

    \setlength\baselineskip{3ex}\setlength\parindent{1cm}\setlength\parskip{2ex}

    Le premier paragraphe qui dmontre l'effet du changement des longueurs sur la mise en page.

    Voici un second paragraphe pour voir l'effet du changement des longueurs sur la mise en page.

    Intermediaire/code12.tex

  • Personnaliser la mise en page

    Arguments de longueur

    Certaines commandes prennent un argument qui est une valeur de longueur(par exemple \\, \rule ou encore \setlength). On peut lui donner commevaleur :

    une valeur explicite comme on la dj vu ;la valeur dune autre longueur ;la valeur dune autre longueur multiplie par un facteur (par exemple0.5\baselineskip).

    Code Fichier Intermediaire/code13.texUn trait qui fait la moiti de la

    largeur disponible et une lignede hauteur :\\

    \rule {0.5\ textwidth }{\ baselineskip}

    SortieUn trait qui fait la moiti de lalargeur disponible et une lignede hauteur :

    Un trait qui fait la moiti de la largeur disponible et une ligne de hauteur:\\\rule{0.5\textwidth}{\baselineskip}

    Intermediaire/code13.tex

  • Personnaliser la mise en page

    Dfinition de nouvelles longueurs

    \newlength : dfinit une nouvelle commande de longueur ;\setlength : affecte une valeur une longueur ;\addtolength : ajoute une valeur une longueur ;

    Code Fichier Intermediaire/code14.tex\ newlength \ testlength\rule {\ testlength }{1 ex}

    \ setlength \ testlength {2 cm}\rule {\ testlength }{1 ex}

    \ addtolength \ testlength {1 cm}\rule {\ testlength }{1 ex}

    \ addtolength \ testlength { -0.5\testlength }

    \rule {\ testlength }{1 ex}

    Sortie

    La valeur dune longueur sa cration est zro.

    \newlength\testlength\rule{\testlength}{1ex}

    \setlength\testlength{2cm}\rule{\testlength}{1ex}

    \addtolength\testlength{1cm}\rule{\testlength}{1ex}

    \addtolength\testlength{-0.5\testlength}\rule{\testlength}{1ex}

    Intermediaire/code14.tex

  • Personnaliser la mise en page

    Longueurs de mise en page globale

    Certaines longueurs dfinissent la mise en page en fonction du format de papieret de la classe. On peut citer :

    \oddsidemargin et \evensidemargin correspondent respectivement aux margesde gauche des pages paires ou impaires (entre le bord du papier et le texte) ;\textwidth dtermine la largeur de texte sur la page (ou \columnwidth dans lecas de textes avec plusieurs colonnes) ;\topmargin rgle la distance verticale entre le bord du papier et len-tte ;\headheight rgle la hauteur de len-tte ;\headsep dfinit la distance verticale entre len-tte et le corps de la page ;\textheight dtermine la hauteur de texte sur le corps de la page ;\footskip dfinit la distance verticale entre le corps et le pied de page ;\footheight rgle la hauteur du pied de page.

  • Personnaliser la mise en page

    Longueurs associes aux tableaux

    \tabcolsep ou \arraycolsep (en fonction de lenvironnement) : moiti delespacement horizontal plac entre les colonnes du tableau ;\arrayrulewidth : largeur des filets crs par |, \hline, \cline ou \vline ;\doublerulesep : espacement entre deux filets successifs crs par || ou\hline\hline.

    Code Fichier Intermediaire/code15.tex\ setlength \ tabcolsep {0.1 in}\ setlength \ arrayrulewidth {3 pt}\ begin { tabular }{r|c|l}Un& tableau &avec \\\ hlinedes& longueurs & spciales\end{ tabular }

    Sortie

    Un tableau avecdes longueurs spciales

    \setlength\tabcolsep{0.1in}\setlength\arrayrulewidth{3pt}\begin{tabular}{r|c|l}Un&tableau&avec\\\hlinedes&longueurs&spciales\end{tabular}

    Intermediaire/code15.tex

  • Personnaliser la mise en page

    Longueurs associes au texte

    grand longueur

    hauteurl profondeur

    La ligne bleue est la ligne de baseChaque caractre possde sa propre boteChaque mot possde sa propre boteetc. . .

  • Personnaliser la mise en page

    Longueurs associes au texte

    grand longueur

    hauteurl profondeur

    La ligne bleue est la ligne de base

    Chaque caractre possde sa propre boteChaque mot possde sa propre boteetc. . .

  • Personnaliser la mise en page

    Longueurs associes au texte

    grand longueur

    hauteurl profondeur

    La ligne bleue est la ligne de baseChaque caractre possde sa propre bote

    Chaque mot possde sa propre boteetc. . .

  • Personnaliser la mise en page

    Longueurs associes au texte

    grand longueur

    hauteurl profondeur

    La ligne bleue est la ligne de baseChaque caractre possde sa propre boteChaque mot possde sa propre boteetc. . .

  • Personnaliser la mise en page

    Changer des longueurs en fonction du contenu

    \settowidth : permet de stocker la largeur du texte (avec la police et la taillecourante) dans une longueur ;\settoheight : permet de stocker la hauteur du texte (au-dessus de la ligne debase) dans une longueur ;\settodepth : permet de stocker la profondeur du texte (au-dessous de la lignede base) dans une longueur ;

    Code Fichier Intermediaire/code16.tex\ newlength \ longueur\ settowidth \ longueur { barrer }Exemple : on peut \ makebox [0 pt ][l

    ]{\ rule [0.4 ex ]{\ longueur }{1 pt }}barrer du texte grce a.

    SortieExemple : on peut barrer dutexte grce a.

    \newlength\longueur\settowidth\longueur{barrer}Exemple: on peut \makebox[0pt][l]{\rule[0.4ex]{\longueur}{1pt}}barrer du texte grce a.

    Intermediaire/code16.tex

  • Personnaliser la mise en page

    Table des matires

  • Personnaliser la mise en page

    Mode LR

    Le texte va occuper une seule ligne (donc aucun paragraphe ou de saut de lignenest autoris). Il peut dpasser des limites de la bote.

    \makebox[length][pos]{texte} : affiche texte dans une bote LR de longueurlength. Largument optionnel pos contrle la position du texte dans la bote (cpar dfaut pour centr, l pour gauche et r pour droite). Commande utilepour faire croire LATEX quun mot est dune longueur diffrente.\mbox{texte} : affiche texte dans une bote LR dont la longueur sadapteautomatiquement au contenu. Utilis pour viter un passage la ligne parexemple.

    Code Fichier Intermediaire/code17.tex\ makebox [3 cm ][r]{ Ce texte va tre

    dcal gauche }

    \mbox{ Cette ligne ne sera pascoupe mme si elle est troplongue }

    % Mais elle fera une Overfullbox la compilation

    SortieCe texte va tre dcal gauche

    Cette ligne ne sera pas coupe mme si elle est trop longue

    \makebox[3cm][r]{Ce texte va tre dcal gauche}

    \mbox{Cette ligne ne sera pas coupe mme si elle est trop longue}% Mais elle fera une ``Overfull box'' la compilation

    Intermediaire/code17.tex

  • Personnaliser la mise en page

    Mode paragraphe

    Ces botes permettent dcrire du texte dune taille fixe avec des sauts deligne. lindentation des paragraphes (\parindent) est remise zroautomatiquement, on peut toutefois la changer.

    \parbox[pos]{width}{texte} : affiche texte dans une bote de largeur width,largument optionnel pos permet de prciser lalignement vertical par rapport laligne de texte courante. Par dfaut, cest m (centr) on peut utiliser t (pouraligner le haut avec la ligne courante) et b (pour aligner le bas avec la lignecourante).\begin{minipage}[pos]{width} ...texte... \end{minipage} : mme usage,il est en outre possible dutiliser des notes de bas de paragraphe.

    Code Fichier Intermediaire/code18.tex\ begin { minipage }{0.6\ textwidth }\

    paperwidth =1.1764705882\ textwidth\ setlength \ parindent {1 cm}Voici un paragraphe \ footnote {qui

    possde une indentation de 1\,cm.} dans une minipage .

    \end{ minipage }

    SortieVoici un

    paragraphe a dansune minipage.

    a. qui possde uneindentation de 1 cm.

    \begin{minipage}{0.6\textwidth}\paperwidth=1.1764705882\textwidth\setlength\parindent{1cm}Voici un paragraphe\footnote{qui possde une indentation de 1\,cm.} dans une minipage.\end{minipage}

    Intermediaire/code18.tex

  • Personnaliser la mise en page

    Botes dans les tableaux

    Le spcificateur de colonne p prend en argument une longueur : il cre danschaque cellule une bote en mode paragraphe de la largeur souhaite, alignesur la ligne suprieure. Les spcificateurs m et b (dfinis par lextension array)fonctionnent de manire identique mais imposent un alignement verticalrespectivement centr ou sur la ligne infrieure.

    Code Fichier Intermediaire/code19.tex\ begin { tabular }{p{1 cm }|p{3 cm }}Dans ce& tableau \\\ hlinetoutes les colonnes &sont de

    largeur fixe , ce qui occasionnedes passages la ligne \ ldots

    \end{ tabular }

    Sortie

    Dansce

    tableau

    toutesles co-lonnes

    sont de largeur fixe,ce qui occasionne despassages la ligne. . .

    \begin{tabular}{p{1cm}|p{3cm}}Dans ce&tableau\\\hlinetoutes les colonnes&sont de largeur fixe, ce qui occasionne des passages la ligne\ldots\end{tabular}

    Intermediaire/code19.tex

  • Personnaliser la mise en page

    Botes dcoratives

    \framebox[length][pos]{texte} : affiche texte dans un cadre, les argumentslength et pos ont la mme fonction que pour \makebox. Les longueurs\fboxsep et \fboxrule contrlent respectivement la distance du contenu aucadre et la largeur du trait du cadre ;\fbox{texte} : version de framebox analogue mbox : la longueur est calculeautomatiquement.\rule[raise]{width}{height} : affiche un rectangle noir de taillewidthheight. Loption raise permet de donner un dcalage vertical parrapport la ligne de base ;lextension fancybox introduit des botes dcoratives supplmentaires sutilisantcomme \fbox (\shadowbox, \doublebox, \ovalbox, etc).

    Code Fichier Intermediaire/code20.texLe texte \fbox{ encadr } cest \

    Ovalbox {joli} mais pas trs \shadowbox { lisible }.

    Sortie

    Le texte encadr cest joli

    mais pas trslisible

    .

    Le texte \fbox{encadr} c'est \Ovalbox{joli} mais pas trs \shadowbox{lisible}.

    Intermediaire/code20.tex

  • Personnaliser la mise en page

    Botes dcales

    \raisebox{raise}[above][below]{texte} : affiche texte en le dcalant deraise par rapport la ligne de base. Les arguments optionnels above et belowpermettent en plus de faire croire LATEX que le texte stend en haut et en bas.

    Code Fichier Intermediaire/code21.texOn peut mettre du texte \ raisebox

    {1 ex }{ plus haut} ou \ raisebox {-1ex }{ plus bas} et on peut fairecroire \ LaTeX \ qu il occupebeaucoup de \fbox {\ raisebox {0 pt}[1 cm ][1 cm ]{ place }}.

    SortieOn peut mettre du texteplus haut ou plus bas et onpeut faire croire LATEX quil

    occupe beaucoup de place .

    On peut mettre du texte \raisebox{1ex}{plus haut} ou \raisebox{-1ex}{plus bas} et on peut faire croire \LaTeX\ qu'il occupe beaucoup de \fbox{\raisebox{0pt}[1cm][1cm]{place}}.

    Intermediaire/code21.tex

  • Personnaliser la mise en page

    Botes dformantes

    Ne fonctionne pas avec les fichiers dvi (mais ps et pdf devraient saffichercorrectement).

    \reflectbox{texte} : affiche texte avec une symtrie daxe vertical ;\scalebox{hscale}[vscale]{texte} : dilate le texte dun facteur hscale (etoptionnellement dun facteur diffrent vscale verticalement) ;\rotatebox{angle}{texte} : applique une rotation dangle degrs texte.

    Code Fichier Intermediaire/code22.tex\ reflectbox { l envers }

    \ scalebox {3}{ Dilat }

    \ scalebox {0.5}[2]{ Contract }

    \ rotatebox {45}{ Pivot }

    Sortie

    lenvers

    DilatContractPivot

    \reflectbox{ l'envers}

    \scalebox{3}{Dilat}

    \scalebox{0.5}[2]{Contract}

    \rotatebox{45}{Pivot}

    Intermediaire/code22.tex

  • Personnaliser la mise en page

    Botes colores

    Ncessite lextension color.

    Code Fichier Intermediaire/code23.tex\ colorbox {red }{ Seule la couleur de

    fond change }

    Sortie

    Seule la couleur de fond change

    \colorbox{red}{Seule la couleur de fond change}

    Intermediaire/code23.tex

  • Personnaliser la mise en page

    Longueurs associes aux botes

    chaque bote en cours de traitement sont associes quatre longueurs.\width : largeur de la bote courante ;\height : hauteur de la bote courante ;\depth : profondeur de la bote courante ;\totalheight : hauteur totale de la bote courante (somme de sa hauteur et desa profondeur).

    Code Fichier Intermediaire/code24.tex\ framebox [1.5\ width ]{ Bote trop

    large }

    \ framebox [0.5\ width ]{ Bote pasassez large }

    Sortie

    Bote trop large

    Bote pas assez large

    \framebox[1.5\width]{Bote trop large}

    \framebox[0.5\width]{Bote pas assez large}

    Intermediaire/code24.tex

  • Personnaliser la mise en page

    Table des matires

  • Personnaliser la mise en page

    Espaces verticales standard

    Les commandes \smallskip, \medskip et \bigskip permettent dinsrer unespacement vertical de hauteur proportionnelle la police utilise(respectivement \smallskipamount, \medskipamount et \bigskipamount).On peut les utiliser avant un saut de paragraphe ou de ligne.

    Code Fichier Intermediaire/code25.texEntre chaque paragraphe

    je fais un petit saut\ smallskip

    puis un moyen \ medskip

    puis un grand \ bigskip

    qui m amne ici.

    SortieEntre chaque paragrapheje fais un petit saut

    puis un moyen

    puis un grand

    qui mamne ici.

    Entre chaque paragraphe

    je fais un petit saut\smallskip

    puis un moyen\medskip

    puis un grand\bigskip

    qui m'amne ici.

    Intermediaire/code25.tex

  • Personnaliser la mise en page

    Espaces explicites

    \vspace{size} : ajoute une espace verticale de hauteur size entre deux lignes ;\hspace{size} : ajoute une espace horizontale de longueur size entre deuxcaractres ;

    Code Fichier Intermediaire/code26.texUn premier paragraphe .\ vspace {2 cm}

    Des mots\ hspace {2 cm} spars par 2cm.

    SortieUn premier paragraphe.

    Des mots sparspar 2cm.

    Un premier paragraphe.\vspace{2cm}

    Des mots\hspace{2cm}spars par 2cm.

    Intermediaire/code26.tex

  • Personnaliser la mise en page

    Exercice

    Sortie

    Comment obtenir des espaces dun pouce en haut et en bas du texte ?

  • Personnaliser la mise en page

    Solution

    Code Fichier Intermediaire/code27.tex\ vspace {1 in}Comment obtenir des espaces dun pouce en haut et en bas du texte ?\ vspace {1 in}

    \vspace{1in}Comment obtenir des espaces d'un pouce en haut et en bas du texte?\vspace{1in}

    Intermediaire/code27.tex

  • Personnaliser la mise en page

    Espaces explicites forces

    \vspace*{size} : ajoute une espace verticale de hauteur size qui ne sera pascoupe si elle dpasse de la page ;\hspace*{size} : ajoute une espace horizontale de longueur size qui ne serapas coupe si elle dpasse de la ligne ;

    Code Fichier Intermediaire/code29.texCeci est une espace qui a t \

    hspace {3 cm} automatiquementsupprime .

    Voil une espace qui est toujours\ hspace *{3 cm} conserve .

    SortieCeci est une espace qui a tautomatiquement supprime.Voil une espacequi est toujours

    conser-ve.

    Ceci est une espace qui a t \hspace{3cm} automatiquement supprime.

    Voil une espace qui est toujours \hspace*{3cm} conserve.

    Intermediaire/code29.tex

  • Personnaliser la mise en page

    Espaces lastiques

    Les longueurs peuvent tre donnes avec une marge (on parle de colle). Parexemple : 1 cm 5mm. En fonction du mode (vertical ou horizontal), LATEXadaptera les valeurs pour avoir le meilleur rendu.

    Code Fichier Intermediaire/code30.texVoici une ligne \ hspace {1 cm plus 5

    mm minus 5mm} avec une espacelastique .

    Une autre ligne \ hspace {1 cm plus 5mm minus 5mm} pour montrercomment a peut changer .

    SortieVoici une ligne avec uneespace lastique.Une autre ligne pour mon-trer comment a peut changer.

    Voici une ligne\hspace{1cm plus 5mm minus 5mm} avec une espace lastique.

    Une autre ligne\hspace{1cm plus 5mm minus 5mm} pour montrer comment a peut changer.

    Intermediaire/code30.tex

  • Personnaliser la mise en page

    Espaces infinisLes commandes \hfill et \vfill (ou \hspace{\fill}) et\vspace{\fill})) insrent un espace lastique spcial qui remplit toute lahauteur ou largeur disponible.Attention : LATEX supprime les espaces en dbut et fin de ligne ou de page. Onpeut insrer un caractre fantme (\null) pour lviter, ou alors utiliser desespaces forces.

    Code Fichier Intermediaire/code31.texDu texte centr

    \ vfill verticalement \ vfill

    et\ hfill horizontalement \ hfill \null

    \ hspace *{\ fill} Autre faon \ hspace*{\ fill}

    SortieDu texte centr

    verticalement

    et horizontalementAutre faon

    Du texte centr

    \vfill verticalement\vfill

    et\hfill horizontalement\hfill\null

    \hspace*{\fill}Autre faon\hspace*{\fill}

    Intermediaire/code31.tex

  • Personnaliser la mise en page

    Exercice

    SortieComment mettre un mot au bout de la ligne ?

  • Personnaliser la mise en page

    Solution

    Code Fichier Intermediaire/code33.texComment mettre un mot\ hfill au bout de la ligne ?

    Comment mettre un mot\hfill au bout de la ligne?

    Intermediaire/code33.tex

  • Personnaliser la mise en page

    Exercice

    SortieJean Dupond 18 dcembre 2013

    Exercice de LATEXExemples et applications

    Paris Sud

  • Personnaliser la mise en page

    Solution

    Code Fichier Intermediaire/code34.texJean \ textsc { Dupond }\ hfill \ today \\[\ fill]\null\ hfill \ Ovalbox { Exercice de \ LaTeX }\ hfill \null \\[\ bigskipamount ]\null\ hfill {\ footnotesize Exemples et applications }\ hfill \null \\[\

    fill]\null\ hfill \ textsc { Paris Sud}

    Jean \textsc{Dupond}\hfill\today\\[\fill]\null\hfill\Ovalbox{Exercice de \LaTeX}\hfill\null\\[\bigskipamount]\null\hfill{\footnotesize Exemples et applications}\hfill\null\\[\fill]\null\hfill\textsc{Paris Sud}

    Intermediaire/code34.tex

  • Personnaliser la mise en page

    Exercice

    SortieN dordre : 1234 Facult des sciences dOrsay

    THSEPrsente pour obtenir

    LE GRADE DE DOCTEUR EN SCIENCESDE LUNIVERSIT PARIS SUD

    Spcialit : LATEXpar

    Jean Dupond

    Comment faire une page de titre

    Soutenue le 18 dcembre 2013

  • Personnaliser la mise en page

    Solution

    Code Fichier Intermediaire/code35.tex\ scriptsize N\ textdegree \ d ordre : 1234\ hfill Facult des sciences d

    Orsay

    \ vfill

    \ begin { center }\ normalsize \ textbf { THSE }\ medskip \\\ scriptsize Prsente pour obtenir \ medskip \\\ small LE GRADE DE DOCTEUR EN SCIENCES \\DE L UNIVERSIT PARIS SUD\ medskip \\\ scriptsize Spcialit : \ LaTeX \ smallskip \\par\ smallskip \\Jean \ textsc { Dupond }\\[\ fill]\ normalsize \fbox {\ bfseries \ scshape Comment faire une page de titre }\end{ center }

    \ vfill

    \ scriptsize Soutenue le \ today

    \scriptsize N\textdegree\ d'ordre: 1234\hfill Facult des sciences d'Orsay

    \vfill

    \begin{center}\normalsize\textbf{THSE}\medskip\\\scriptsize Prsente pour obtenir\medskip\\\small LE GRADE DE DOCTEUR EN SCIENCES\\DE L'UNIVERSIT PARIS SUD\medskip\\\scriptsize Spcialit: \LaTeX\smallskip\\par\smallskip\\Jean \textsc{Dupond}\\[\fill]\normalsize\fbox{\bfseries\scshape Comment faire une page de titre}\end{center}

    \vfill

    \scriptsize Soutenue le \today

    Intermediaire/code35.tex

  • Personnaliser LATEX

    Table des matires

  • Personnaliser LATEX

    Table des matires

  • Personnaliser LATEX

    Commentaires de fin de ligne

    Lune des particularits de LATEX est dignorer les espaces en dbut de lignesitus aprs une ligne termine par un commentaire. Cela permet dcrire ducode indent sans introduire despaces supplmentaires non dsires.

    Code Fichier Intermediaire/code36.texUn mot qui change tout le long:\ color {red}anti%\ textbf {%

    consti %\ color { green }%tu%\ textit {%

    tion%}%nelle %\ color {blue}%ment%

    }%.

    SortieUn mot qui changetout le long :anticonstitutionnellement.

    Un mot qui change tout le long:\color{red}anti%\textbf{% consti% \color{green}% tu% \textit{% tion% }% nelle% \color{blue}% ment%}%.

    Intermediaire/code36.tex

  • Personnaliser LATEX

    Documents multilingues

    Tout dabord on passe comme options lextension babel tous les langagesdsirs spars par des virgules, le dernier tant le langage principal. Ensuite,utiliser \selectlanguage{lang} lendroit dsir (et ne pas oublier de revenirde la mme faon au langage principal ensuite).

    Code Fichier Intermediaire/code37.tex%\ usepackage [english , francais ]{

    babel } dans le prambule\ begin { abstract }Cest le rsum en

    franais .\ end{ abstract }\ selectlanguage { english }\ begin { abstract }This is the

    English abstract .\ end{ abstract }\ selectlanguage { francais }

    Sortie

    Rsum

    Cest le rsum enfranais.

    Abstract

    This is the Englishabstract.

    %\usepackage[english,francais]{babel} dans le prambule\begin{abstract}C'est le rsum en franais.\end{abstract}\selectlanguage{english}\begin{abstract}This is the English abstract.\end{abstract}\selectlanguage{francais}

    Intermediaire/code37.tex

  • Personnaliser LATEX

    Disposition des flottants

    Les environnements figure et table prennent un argument optionnel qui peutprendre une combinaison des valeurs suivantes :

    h pour inciter disposer le flottant ici ;t pour inciter disposer le flottant en haut de la page ;b pour le bas de la page ;p pour le mettre sur une page supplmentaire ;! pour formuler une demande de placement avec insistance.

    Code Fichier Intermediaire/code38.tex\ begin { figure }[h!]

    \ includegraphics [ width =0.9\ textwidth ]{ image .eps}\ caption {Ma figure }\ label { myfigure }

    \end{ figure }

    \begin{figure}[h!] \includegraphics[width=0.9\textwidth]{image.eps} \caption{Ma figure} \label{myfigure}\end{figure}

    Intermediaire/code38.tex

  • Personnaliser LATEX

    Disposition force

    Les flottants peuvent, dans certains cas, tre disposs par LATEX trs loin delemplacement o ils sont dfinis, parfois mme avant.

    Lextension flafter empche les flottants dtre disposs avant leur dfinition.

    La commande \clearpage termine la page en cours et affiche tous les flottantsen suspens. Si le saut de page est indsirable on peut utiliser\afterpage{\clearpage} qui ncessite lextension afterpage.

    On peut aussi utiliser la commande \FloatBarrier de lextension placeins.La commande \suppressfloats empche tout flottant dtre dispos sur lapage en cours. Elle peut prendre un argument optionnel (t ou b) pour interdirele haut ou le bas de la page uniquement.

  • Personnaliser LATEX

    Notes de bas de page dans les titres et flottants

    Sans entrer dans les dtails, \footnote est une commande fragile, cest--direque son argument nest pas plac au mme endroit que son utilisation. Il fautdonc la protger lorsquon lutilise dans les titres. Dans le cas des flottantscest beaucoup plus compliqu ; on peut sen tirer en utilisant unenvironnement minipage.

    Code Fichier Intermediaire/code39.tex\ section {Une section \ protect \ footnote {Avec une note protge }}

    \ begin { figure }\ includegraphics [ width =2 cm ]{ lenna .png}\ caption {%

    \ begin { minipage }{\ textwidth }%Cette figure a une note\ footnote {De bas de paragraphe }.%

    \end{ minipage }%}

    \end{ figure }

    \section{Une section\protect\footnote{Avec une note protge}}

    \begin{figure} \includegraphics[width=2cm]{lenna.png} \caption{% \begin{minipage}{\textwidth}% Cette figure a une note\footnote{De bas de paragraphe}.% \end{minipage}% }\end{figure}

    Intermediaire/code39.tex

  • Personnaliser LATEX

    Table des matires

  • Personnaliser LATEX

    Dfinition dun compteur

    \newcounter{XXX} : dfinit le compteur XXX. Attention, il sagit dun nom formde lettres uniquement, sans antislash ;\setcounter{XXX}{valeur} : stocke le nombre entier valeur dans le compteurXXX ;\stepcounter{XXX} : incrmente le compteur XXX ;\addtocounter{XXX}{valeur} : ajoute le nombre valeur au compteur XXX ;\theXXX : cette commande est automatiquement dfinie par \newcounter{XXX},et affiche les caractres numriques (chiffres arabes) formant la valeur ducompteur XXX.

    Code Fichier Intermediaire/code40.tex\ newcounter {XXX}Mon compteur vaut \theXXX , puis \

    stepcounter {XXX }\ theXXX , puis \addtocounter {XXX }{\ theXXX }\ theXXX.

    SortieMon compteur vaut 0, puis 1,puis 2.

    \newcounter{XXX}Mon compteur vaut \theXXX, puis \stepcounter{XXX}\theXXX, puis \addtocounter{XXX}{\theXXX}\theXXX.

    Intermediaire/code40.tex

  • Personnaliser LATEX

    Quelques compteurs prdfinis

    page : le numro de la page en cours ;part et chapter : le numro de la partie ou du chapitre en cours ;section, subsection et subsubsection : le numro de la section, sous-sectionou sous-sous-section en cours ;equation, figure, table : le numro de la dernire quation, figure ou table ;footnote : le numro de la dernire note de bas de page ;enumi, enumii, enumiii, enumiv : le numro de llment en cours dans unenumration (avec plusieurs niveaux dimbrication) ;

    Code Fichier Intermediaire/code41.texNous sommes page \thepage , section

    \ thesection .

    SortieNous sommes page 104, section4.

    Nous sommes page \thepage, section \thesection.

    Intermediaire/code41.tex

  • Personnaliser LATEX

    Exercice

    Comment numroter la premire page partir de zro ?

  • Personnaliser LATEX

    Solution

    Utiliser \setcounter{page}{0} au dbut du document.

  • Personnaliser LATEX

    Affichage de la valeur dun compteur

    \arabic{XXX} : affiche le compteur en chiffres arabes (quivalente \theXXX) ;\roman{XXX} : chiffres romains en minuscules ;\Roman{XXX} : chiffres romains en majuscules ;\alph{XXX} : numrotations par des lettres minuscules (entre 1 et 26) ;\Alph{XXX} : numrotations par des lettres majuscules (entre 1 et 26) ;\fnsymbol{XXX} : utilisation de neuf symboles spciaux (, , , , , , , et ).

    Code Fichier Intermediaire/code42.tex\ newcounter { Siecle }\ setcounter { Siecle }{21}Au \ Roman { Siecle }\ ieme\ sicle ,

    les ordinateurs dominrent laplante .

    SortieAu XXIe sicle, les ordinateursdominrent la plante.

    \newcounter{Siecle}\setcounter{Siecle}{21}Au \Roman{Siecle}\ieme\ sicle, les ordinateurs dominrent la plante.

    Intermediaire/code42.tex

  • Personnaliser LATEX

    Table des matires

  • Personnaliser LATEX

    Lextension geometry

    Permet de spcifier les marges et les diffrentes tailles de mise en page en uneseule ligne.

    Code Fichier Intermediaire/code43.tex%Mode paysage\ usepackage [ landscape ]{ geometry }

    %Des marges horizontales et verticales de 2 cm tout autour du texte\ usepackage [ margin =2 cm ]{ geometry }

    %Du texte de 7 pouces par 10 centr dans la page\ usepackage [text ={7in ,10 in}, centering ]{ geometry }

    %Des marges diffrentes selon le ct de la page\ usepackage [ hmargin ={4cm ,2 cm}, vmargin ={2cm ,3 cm }]{ geometry }

    %Mode paysage\usepackage[landscape]{geometry}

    %Des marges horizontales et verticales de 2 cm tout autour du texte\usepackage[margin=2cm]{geometry}

    %Du texte de 7 pouces par 10 centr dans la page\usepackage[text={7in,10in},centering]{geometry}

    %Des marges diffrentes selon le ct de la page\usepackage[hmargin={4cm,2cm},vmargin={2cm,3cm}]{geometry}

    Intermediaire/code43.tex

  • Personnaliser LATEX

    Exercice

  • Personnaliser LATEX

    Solution

    Code Fichier Intermediaire/code44.tex\ usepackage [ margin =0 pt ]{ geometry }

    \usepackage[margin=0pt]{geometry}

    Intermediaire/code44.tex

  • Personnaliser LATEX

    Lextension multicol

    Cette extension introduit lenvironnement multicols, qui permet de changerlocalement le nombre de colonnes. On peut sauter la colonne suivante avec\columnbreak.

    La longueur \columnseprule contrle lpaisseur du trait de sparation (pardfaut zro) et \columnsep lespace entre les colonnes.

    Code Fichier Intermediaire/code45.tex\ setlength \ columnseprule {1 pt}\ begin { multicols }{3}Du texte sur plusieurs colonnes c

    est bien , mais attention ce queles colonnes soient assez largessinon a peut devenir trs laid.

    \end{ multicols }

    Sortie

    Dutextesur plu-sieurscolonnescestbien,

    mais at-tention ce queles co-lonnessoientassez

    largessinona peutdeve-nir trslaid.

    \setlength\columnseprule{1pt}\begin{multicols}{3}Du texte sur plusieurs colonnes c'est bien, mais attention ce que les colonnes soient assez larges sinon a peut devenir trs laid.\end{multicols}

    Intermediaire/code45.tex

  • Personnaliser LATEX

    Exercice

    Sortie1 Quatre colonnes

    Voici une premiresection sur quatrecolonnes. Voici unepremire section

    sur quatre colonnes.Voici une premiresection sur quatrecolonnes. Voici une

    premire sectionsur quatre colonnes.Voici une premiresection sur quatre

    colonnes.

    2 Trois colonnes

    Voil une seconde sectionsur trois colonnes.

    Voil une seconde sectionsur trois colonnes. Voil uneseconde section sur trois co-lonnes. Voil une secondesection sur trois colonnes.

    Voil une seconde sectionsur trois colonnes. Voil uneseconde section sur trois co-lonnes. Voil une secondesection sur trois colonnes.

  • Personnaliser LATEX

    Solution

    Code Fichier Intermediaire/code46.tex\ setlength \ columnseprule {1 pt}\ section { Quatre colonnes }\ begin { multicols }{4}Voici une premire section sur quatre colonnes . Voici une premire

    section sur quatre colonnes . Voici une premire section sur quatrecolonnes . Voici une premire section sur quatre colonnes . Voici une

    premire section sur quatre colonnes .\end{ multicols }\ section { Trois colonnes }\ begin { multicols }{3}Voil une seconde section sur trois colonnes .\ columnbreak

    Voil une seconde section sur trois colonnes . Voil une secondesection sur trois colonnes . Voil une seconde section sur troiscolonnes . Voil une seconde section sur trois colonnes . Voil uneseconde section sur trois colonnes . Voil une seconde section surtrois colonnes .

    \end{ multicols }

    \setlength\columnseprule{1pt}\section{Quatre colonnes}\begin{multicols}{4}Voici une premire section sur quatre colonnes. Voici une premire section sur quatre colonnes. Voici une premire section sur quatre colonnes. Voici une premire section sur quatre colonnes. Voici une premire section sur quatre colonnes.\end{multicols}\section{Trois colonnes}\begin{multicols}{3}Voil une seconde section sur trois colonnes.\columnbreak

    Voil une seconde section sur trois colonnes. Voil une seconde section sur trois colonnes. Voil une seconde section sur trois colonnes. Voil une seconde section sur trois colonnes. Voil une seconde section sur trois colonnes. Voil une seconde section sur trois colonnes.\end{multicols}

    Intermediaire/code46.tex

  • Personnaliser LATEX

    Lextension verbatimCette extension permet dajouter du texte faon machine crire, sans ychanger quoi que ce soit. En particulier les sauts de ligne et espaces sontconservs tels quels. noter que le verbatim ne peut pas tre utilis commeargument dune commande.

    \verb|texte| : ajoute tout le texte compris entre les deux barres. Il est aussipossible dutiliser nimporte quel autre symbole pour dlimiter le texte (au cas oil contient |), et il nest pas possible de sauter de ligne ;\begin{verbatim}...\end{verbatim} : mme principe, mais on peut sauter deslignes dans le texte ;\verbatiminput{fichier} : ajoute le contenu dun fichier.

    Code Fichier Intermediaire/code47.texLa commande \verb |\ LaTeX | affiche

    \ LaTeX .\ begin { verbatim }Si la ligne est trop longue , elle

    va dpasser de la page.Les sauts de ligne sont respects ,et les espaces sont

    conserves\end{ verbatim }

    SortieLa commande \LaTeX afficheLATEX.

    Si la ligne est trop longue, elle va dpasser de la page.Les sauts de ligne sont respects,et les espaces sont conserves

    La commande \verb|\LaTeX| affiche \LaTeX.\begin{verbatim}Si la ligne est trop longue, elle va dpasser de la page.Les sauts de ligne sont respects,et les espaces sont conserves\end{verbatim}

    Intermediaire/code47.tex

  • Personnaliser LATEX

    Lextension fancyhdrElle introduit le style de page supplmentaire fancy (utilisable avec\pagestyle). On peut modifier len-tte avec :

    \lhead[pages paires]{page impaires} pour afficher du texte gauche delen-tte ;\chead[pages paires]{page impaires} pour afficher du texte au centre delen-tte ;\rhead[pages paires]{page impaires} pour afficher du texte droite delen-tte.

    Les commandes \lfoot, \cfoot et \rfoot sutilisent de mme pour le pied depage.

    On peut aussi utiliser \fancyhead[position]{texte} et\fancyfoot[position]{texte} o position est compos des lettres L (left),C (centr), R (right), O (odd) et E (even).

    On peut encore utiliser \fancyhf[position]{texte} avec H pour indiquerlen-tte et F pour le pied de page.

    Les commandes \headrulewidth et \footrulewidth contrlent lpaisseur dutrait vertical en-dessous de len-tte et au-dessus du pied de page (attention, cene sont pas des longueurs !).

  • Personnaliser LATEX

    Lextension fancyhdr

    Code Fichier Intermediaire/code48.tex% Supprimer le trait den -tte\ renewcommand \ headrulewidth {0 pt}

    % Dsactiver toutes les dcorations\ fancyhf {}

    % Style standard\ fancyfoot [C]{\ thepage }

    %Ou encore\ fancyhf [CF ]{\ thepage }

    % Exemple classique\ lhead [\ textbf {\ thepage }]{\ textsl {\ rightmark }}\ rhead [\ textsl {\ leftmark }]{\ textbf {\ thepage }}

    % Formulation quivalente\ fancyhead [LE ,RO ]{\ textbf {\ thepage }}\ fancyhead [LO ]{\ textsl {\ rightmark }}\ fancyhead [RE ]{\ textsl {\ leftmark }}

    %Supprimer le trait d'en-tte\renewcommand\headrulewidth{0pt}

    %Dsactiver toutes les dcorations\fancyhf{}

    %Style standard\fancyfoot[C]{\thepage}

    %Ou encore\fancyhf[CF]{\thepage}

    %Exemple classique\lhead[\textbf{\thepage}]{\textsl{\rightmark}}\rhead[\textsl{\leftmark}]{\textbf{\thepage}}

    %Formulation quivalente\fancyhead[LE,RO]{\textbf{\thepage}}\fancyhead[LO]{\textsl{\rightmark}}\fancyhead[RE]{\textsl{\leftmark}}

    Intermediaire/code48.tex

  • Personnaliser LATEX

    Lextension lastpage

    Cette extension cre automatiquement une tiquette appele LastPage placesur la dernire page du document. Comme toutes les tiquettes, elle peutncessiter une double compilation pour tre mise jour.

    Code Fichier Intermediaire/code49.texCe document contient \ pageref {

    LastPage }~ pages au total .

    SortieCe document contient ?? pagesau total.

    Ce document contient \pageref{LastPage}~pages au total.

    Intermediaire/code49.tex

  • Personnaliser LATEX

    Exercice

  • Personnaliser LATEX

    Solution

    Code Fichier Intermediaire/code50.tex\ pagestyle { fancy }\ cfoot {Page \ thepage /\ pageref { LastPage }}

    \pagestyle{fancy}\cfoot{Page \thepage/\pageref{LastPage}}

    Intermediaire/code50.tex

  • Personnaliser LATEX

    Table des matires

  • Personnaliser LATEX

    Nouvelles commandes

    On utilise \newcommand\xxx{...}. La commande \xxx ne doit pas tre djdfinie. On peut utiliser \providecommand avec la mme syntaxe, qui dfinit lacommande seulement si celle-ci ne lest pas dj.

    Code Fichier Intermediaire/code51.tex\ newcommand \ acidlysergic { acide 6-

    M\-thyl -9 ,10 - di\-de\-hy\-dro\-er\-go\-li\-ne -8- car\-bo\-xy\-li\-que}

    L \ acidlysergic \ est long taper !

    \ newcommand \bi {\ begin { itemize }}\ newcommand \ei {\ end{ itemize }}\bi\item les commandes \verb |\ bi|\item et \verb |\ ei|\item sont plus courtes taper !\ei

    SortieLacide 6-Mthyl-9,10-didehy-droergoline-8-carboxylique estlong taper !

    les commandes \biet \eisont plus courtes taper !

    \newcommand\acidlysergic{acide 6-M\-thyl-9,10-di\-de\-hy\-dro\-er\-go\-li\-ne-8-car\-bo\-xy\-li\-que}L'\acidlysergic\ est long taper!

    \newcommand\bi{\begin{itemize}}\newcommand\ei{\end{itemize}}\bi\item les commandes \verb|\bi|\item et \verb|\ei|\item sont plus courtes taper!\ei

    Intermediaire/code51.tex

  • Personnaliser LATEX

    Nouvelles commandes avec paramtres

    La commande \newcommand peut prendre un paramtre optionnel comprisentre 1 et 9 qui dfinit le nombre darguments de la nouvelle commande.Ceux-ci seront identifis par #1, #2, . . . #9 dans la dfinition.

    Code Fichier Intermediaire/code52.tex\ newcommand \ evidence [1]{%

    \fbox {\ color {red }\ textbf {#1}} %}Ce \ evidence {mot} est mis en \

    evidence { vidence }.

    \ newcommand \norm [2]{$\ sqrt {(#1)^2+(#2) ^2}$}

    Distance : \norm{a-b}{c-d}.

    Sortie

    Ce mot est mis envidence .Distance :

    (a b)2 + (c d)2.

    \newcommand\evidence[1]{% \fbox{\color{red}\textbf{#1}}%}Ce \evidence{mot} est mis en \evidence{vidence}.

    \newcommand\norm[2]{$\sqrt{(#1)^2+(#2)^2}$}Distance: \norm{a-b}{c-d}.

    Intermediaire/code52.tex

  • Personnaliser LATEX

    Nouvelles commandes avec paramtre optionnel

    \newcommand peut prendre un second paramtre optionnel qui rend le premierparamtre de la nouvelle commande optionnel et permet de lui associer unevaleur par dfaut.

    Code Fichier Intermediaire/code53.tex\ newlength \ longueur\ newcommand \ strikeout [2][1 pt ]{%

    \ settowidth \ longueur {#2}%\ makebox [0 pt ][l]{\ rule [0.4 ex ]{\

    longueur }{#1}} %#2%

    }Ce \ strikeout { texte } est \

    strikeout [3 pt ]{ barr }.

    SortieCe texte est barr.

    \newlength\longueur\newcommand\strikeout[2][1pt]{% \settowidth\longueur{#2}% \makebox[0pt][l]{\rule[0.4ex]{\longueur}{#1}}% #2%}Ce \strikeout{texte} est \strikeout[3pt]{barr}.

    Intermediaire/code53.tex

  • Personnaliser LATEX

    Nouveaux environnements

    \newenvironment{nom}{debut}{fin} dfinit un nouvel environnement.Lorsque celui-ci sera utilis, le contenu de debut et fin sera insr de chaquect du texte dans lenvironnement.

    Code Fichier Intermediaire/code54.tex\ newenvironment { redquotation }{\

    begin { quotation }\ color {red} < >\ end{ quotation }}

    \ begin { redquotation }Cest un peu flashy , non?\end{ redquotation }

    Sortie Cest un peu

    flashy, non ?

    \newenvironment{redquotation}{\begin{quotation}\color{red}\end{quotation}}

    \begin{redquotation}C'est un peu flashy, non?\end{redquotation}

    Intermediaire/code54.tex

  • Personnaliser LATEX

    Table des matires

  • Personnaliser LATEX

    Redfinir les commandes

    La commande \renewcommand sutilise comme \newcommand pour redfinir descommandes dj existantes. Exemples dutilisation :

    \renewcommand\headrulewidth{0pt} (avec lextension fancyhdr) ;\renewcommand\baselinestretch{2} pour passer en interligne double ;\renewcommand\arraystretch{1.5} change linterligne des tableaux ;\renewcommand\figurename{Dessin} pour changer le nom des figures ;\renewcommand\tablename{Listing} pour changer le nom des tables ;\renewcommand\contentsname{Sommaire} pour changer le nom de la table desmatires.

    Code Fichier Intermediaire/code55.tex%Pour faire apparaitre le chapitre et la section en cours dans les

    en - ttes\ renewcommand \ chaptermark [1]{\ markboth {#1}{}}\ renewcommand \ sectionmark [1]{\ markright {#1}{}}

    %Pour faire apparaitre le chapitre et la section en cours dans les en-ttes\renewcommand\chaptermark[1]{\markboth{#1}{}}\renewcommand\sectionmark[1]{\markright{#1}{}}

    Intermediaire/code55.tex

  • Personnaliser LATEX

    Exercice

  • Personnaliser LATEX

    Solution

    Code Fichier Intermediaire/code56.tex\ renewcommand \ thefootnote {\ fnsymbol { footnote }}

    \renewcommand\thefootnote{\fnsymbol{footnote}}

    Intermediaire/code56.tex

  • Personnaliser LATEX

    Exercice

    SortieComment changer la numrotation des lments dune numration ?A. Les

    a. commandesb.

    B. redfinirC. sont

    a. \labelenumib. \labelenumiic. \labelenumiiid. \labelenumiv

  • Personnaliser LATEX

    Solution

    Code Fichier Intermediaire/code57.tex\ renewcommand \ labelenumi {\ Alph{ enumi }}\ renewcommand \ labelenumii {\ alph{ enumii }}Comment changer la numrotation des lments dune numration ?\ begin { enumerate }

    \item Les\ begin { enumerate }

    \item commandes\item

    \end{ enumerate }\item redfinir\item sont\ begin { enumerate }

    \item\verb |\ labelenumi |\item\verb |\ labelenumii |\item\verb |\ labelenumiii |\item\verb |\ labelenumiv |

    \end{ enumerate }\end{ enumerate }

    \renewcommand\labelenumi{\Alph{enumi}}\renewcommand\labelenumii{\alph{enumii}}Comment changer la numrotation des lments d'une numration?\begin{enumerate} \item Les \begin{enumerate} \item commandes \item \end{enumerate} \item redfinir \item sont \begin{enumerate} \item\verb|\labelenumi| \item\verb|\labelenumii| \item\verb|\labelenumiii| \item\verb|\labelenumiv| \end{enumerate}\end{enumerate}

    Intermediaire/code57.tex

  • Personnaliser LATEX

    Utiliser lancienne dfinition

    On peut copier une commande existante sous un autre nom avec\def\nouvelle=\ancienne. On peut alors utiliser lancienne dfinition dans\renewcommand.

    Code Fichier Intermediaire/code59.tex\let\ oldsection =\ section\ renewcommand \ section [1]{\

    oldsection {\ underline {#1}}}\ section { Section souligne }

    En thorie a nest pas lameilleure faon de redfinir lacommande \verb |\ section |.

    \ section { Section souligne }

    Mais a fonctionne .

    Sortie

    1 Section souligne

    En thorie a nest pas la meilleurefaon de redfinir la commande\section.

    2 Section souligne

    Mais a fonctionne.

    \let\oldsection=\section\renewcommand\section[1]{\oldsection{\underline{#1}}}\section{Section souligne}

    En thorie a n'est pas la meilleure faon de redfinir la commande \verb|\section|.

    \section{Section souligne}

    Mais a fonctionne.

    Intermediaire/code59.tex

  • Personnaliser LATEX

    Redfinir les environnements

    On utilise \renewenvironment. Pour redfinir lenvironnement XXX partir deson ancienne dfinition, il faut pralablement dupliquer les commandes \XXX et\endXXX avec \let.

    Code Fichier Intermediaire/code60.tex\let\ oldquotation =\ quotation\let\ oldendquotation =\ endquotation\ renewenvironment { quotation }{%

    \ oldquotation %\ color {blue}%

    }{%\ oldendquotation %

    }\ begin { quotation }Une citation bleue .\end{ quotation }

    SortieUne citation

    bleue.

    \let\oldquotation=\quotation\let\oldendquotation=\endquotation\renewenvironment{quotation}{% \oldquotation% \color{blue}%}{% \oldendquotation%}\begin{quotation}Une citation bleue.\end{quotation}

    Intermediaire/code60.tex

  • Grer de gros documents

    Table des matires

  • Grer de gros documents

    Table des matires

  • Grer de gros documents

    Utiliser les commentaires !

    Code Fichier Intermediaire/code61.tex%a peut tre une bonne ide de souligner les sections , sous -

    sections etc ... de faon les mettre en valeur et les reprer dupremier coup doeil.

    % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\ section { Grer de gros documents }% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

    % --------------------------------%\ subsection {S organiser }

    %a peut tre une bonne ide de souligner les sections, sous-sections etc... de faon les mettre en valeur et les reprer du premier coup d'oeil.

    %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\section{Grer de gros documents}%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

    %--------------------------------%\subsection{S'organiser}

    Intermediaire/code61.tex

  • Grer de gros documents

    Rpartir le contenu dans des sous-fichiers

    Il y a deux commandes qui permettent de faire a : \input{fichier} ou\include{fichier} o fichier est le nom dun fichier .tex sans extension. la diffrence de la premire, \include gnre un fichier .log supplmentaireet commence toujours une nouvelle page. Par contre, include ne peut pas treutilise dans le prambule, ni semboter (un fichier appel avec \include nepeut pas contenir cette commande).

    Dans le prambule, la commande \includeonly{fichier1,fichier2,...}dsactive linclusion des fichiers qui ne sont pas dans la liste, en ignorant lescommande \include{...} supplmentaires. Cela permet de compiler unepartie sans changer les changements de pages : trs utile quand les extensionscommencent prendre beaucoup de temps !

  • Grer de gros documents

    Une manire dorganiser sa thse

    Code Fichier Intermediaire/code62.tex\ documentclass { report }

    %Packages , format , etc ...\ input { format }

    \ begin { document }

    \ maketitle% Rsum (s)\ input { abstract }

    \ input { partie 1}\ input { partie 2}\ input { partie 3}

    \end{ document }

    \documentclass{report}

    %Packages, format, etc...\input{format}

    \begin{document}

    \maketitle%Rsum(s)\input{abstract}

    \input{partie1}\input{partie2}\input{partie3}

    \end{document}

    Intermediaire/code62.tex

  • Grer de gros documents

    Mettre les figures dans un sous-rpertoire

    Lextension graphicx permet dinsrer des images avec la commande\includegraphics. On peut spcifier un rpertoire o les figures serontrecherches avec \graphicspath{dossier}. Par exemple le sous-dossierfigures/ lintrieur du rpertoire du document est un choix possible...

  • Grer de gros documents

    Table des matires

  • Grer de gros documents

    Listes personnalises

    Lenvironnement list sutilise avec deux arguments :

    Code Fichier Intermediaire/code63.tex\ begin {list }{ label }{ spacing }

    \item Premier lment\item Deuxime lment....

    \end{list}

    label permet de dfinir ltiquette utilise et spacing permet de changer leslongueurs dfinissant les espaces de la liste.

    \begin{list}{label}{spacing} \item Premier lment \item Deuxime lment ....\end{list}

    Intermediaire/code63.tex

  • Grer de gros documents

    Listes personnalises

    Les longueurs modifiables sont les suivantes :\topsep : espace verticale entre la liste et ce qui la prcde ;\partopsep : espace verticale supplmentaire lorsque la liste est prcde duneligne vide (on utilise gnralement une longueur lastique) ;\itemsep : sparation verticale entre les lments ;\parsep : sparation verticale entre les paragraphes dun mme lment ;\leftmargin et rightmargin : espaces gauche et droite entre la liste et soncontenant ;\itemindent : indentation du premier paragraphe dun lment (ventuellementngatif) ;\listparindent : indentation des paragraphes suivants ;\labelsep : sparation entre ltiquette et le dbut dun lment ;\labelwidth : largeur minimale de ltiquette ;\usecounter{XXX} : indique dincrmenter le compteur XXX chaque \item.

  • Grer de gros documents

    Listes personnalises

    Code Fichier Intermediaire/code64.tex\ newcounter { maliste }\ begin {list }{\ Elment ~\ Roman {

    maliste } --- }{\ usecounter {maliste }\ setlength \ leftmargin {1 cm}\ setlength \ itemsep {1 cm }}\item Cest le premier lment ;\item et le second .

    \end{list}

    Sortie

    lment I Cest le pre-mier lment ;

    lment II et le second.

    \newcounter{maliste}\begin{list}{\'Elment~\Roman{maliste} --- }{\usecounter{maliste}\setlength\leftmargin{1cm}\setlength\itemsep{1cm}} \item C'est le premier lment ; \item et le second.\end{list}

    Intermediaire/code64.tex

  • Grer de gros documents

    ExerciceComment faire un environnement de liste avec des questions numrotes dansla marge, et un espace pour rpondre en-dessous ?

    Du texte avant la question pour constater que lin-dentation des paragraphes est conserve.

    Question 1. Voici la premire question, voici la premire question,voici la premire question.

    Noter le changement de paragraphe avant litem sui-vant, et lindentation correspondante.

    Question 2. Voici la deuxime question, voici la deuxime ques-tion, voici la deuxime question.

    Du texte aprs la dernire question (avec une espaceverticale avant).

  • Grer de gros documents

    Solution

    Code Fichier Intermediaire/code65.tex\ newcounter { question }\ newenvironment { question }{%

    \ begin {list }{\ hfill Question ~\ arabic { question }.}{\ usecounter { question }\ setlength \ labelwidth {6 cm}\ setlength \ labelsep {.3\ parindent }\ setlength \ itemsep {5 cm plus 1cm minus 1cm}\ setlength \ itemindent {\ parindent }\ setlength \ listparindent {\ parindent }\ setlength \ leftmargin {0 cm}

    }%}{%

    \end{list }\ vspace *{1 cm}%}%\ begin { question }

    \item Voici la premire question , voici la premire question ,voici la premire question .

    \item Voici la deuxime question , voici la deuxime question ,voici la deuxime question .

    \end{ question }

    \newcounter{question}\newenvironment{question}{% \begin{list}{\hfill Question~\arabic{question}.}{ \usecounter{question} \setlength\labelwidth{6cm} \setlength\labelsep{.3\parindent} \setlength\itemsep{5cm plus 1cm minus 1cm} \setlength\itemindent{\parindent} \setlength\listparindent{\parindent} \setlength\leftmargin{0cm}}%}{% \end{list}\vspace*{1cm}%}%\begin{question} \item Voici la premire question, voici la premire question, voici la premire question. \item Voici la deuxime question, voici la deuxime question, voici la deuxime question.\end{question}

    Intermediaire/code65.tex

  • Grer de gros documents

    Compilation des tables

    *.toc, *.lot, *.lof

    vv

    ::

    *.tex // *.dvi

    Le fichier .toc contient la table des matires.Le fichier .lot contient la liste des tables.Le fichier .lof contient la liste des figures.

  • Grer de gros documents

    Compilation des tables

    *.toc, *.lot, *.lof

    vv

    ::

    *.tex // *.dvi

    Le fichier .toc contient la table des matires.

    Le fichier .lot contient la liste des tables.Le fichier .lof contient la liste des figures.

  • Grer de gros documents

    Compilation des tables

    *.toc, *.lot, *.lof

    vv

    ::

    *.tex // *.dvi

    Le fichier .toc contient la table des matires.Le fichier .lot contient la liste des tables.

    Le fichier .lof contient la liste des figures.

  • Grer de gros documents

    Compilation des tables

    *.toc, *.lot, *.lof

    vv

    ::

    *.tex // *.dvi

    Le fichier .toc contient la table des matires.Le fichier .lot contient la liste des tables.Le fichier .lof contient la liste des figures.

  • Grer de gros documents

    Gnration des tables

    \tableofcontents : affiche la table des matires ;\listoftables : affiche la liste des tables ;\listoffigures : affiche la liste des figures ;\addcontentsline{type}{level}{texte} : ajoute une entre dans une liste.Largument type (toc, lot ou lof) spcifie quelle liste, level quel niveau dela liste (par exemple section, subsection pour toc, table pour lot ou encorefigure pour tof). Les version toiles des commandes et environnementscorrespondants (\section*, \begin{figure*}) najoutent rien dans la liste, etsuppriment la numrotation.

  • Grer de gros documents

    Agir sur la table des matires

    Les commandes de sectionnement(\section, etc.) prennent unargument optionnel (par dfaut lemme que largument obligatoire)qui spcifie le titre apparaitredans la table des matires. Lacommande \caption fait de mmepour les flottants.

    Le compteur tocdepth permet dergler la profondeur maximale de latable des matires.

    Niveau tocdepthpart -1

    chapter 0section 1

    subsection 2subsubsection 3

    paragraph 4subparagraph 5

    Remarque : seules les classesreport et book dfinissent \partet \chapter, mais les indices sontles mmes pour article.

  • Grer de gros documents

    Agir sur la table des matires

    Les commandes de sectionnementne sont plus numrotes partirdune certaine profondeur(\paragraph par dfaut).

    Le compteur secnumdepth indiquela dernire profondeur qui estnumrote.

    Niveau secnumdepthpart -1

    chapter 0section 1

    subsection 2subsubsection 3

    paragraph 4subparagraph 5

    Remarque : seules les classesreport et book dfinissent \partet \chapter, mais les indices sontles mmes pour article.

  • Grer de gros documents

    Changer le format des sections : lextension titlesecOn peut utiliser directement les options de lextension :

    rm, sf, tt, md, bf, up, it, sl, scbig, medium, small, tinyraggedleft, center, raggedrightcompact

    On peut changer le format de numrotation avec \titlelabel{format}, parexemple :

    Code Fichier Intermediaire/code66.tex\ titlelabel {\ thetitle .\ hspace {2 em }}

    On peut aussi changer le style dun niveau en particulier avec\titleformat*{command}{format}, par exemple :

    Code Fichier Intermediaire/code67.tex\ titleformat *{\ section }{\ itshape }

    \titlelabel{\thetitle.\hspace{2em}}

    \titleformat*{\section}{\itshape}

    Intermediaire/code66.texIntermediaire/code67.tex

  • Grer de gros documents

    Personnaliser la table des matires : lextensiontitletoc

    On utilise

    \titlecontents{section}[left]{above}{before with label}{before without label}{filler and page}[after]

    Par exemple :

    Code Fichier Intermediaire/code68.tex\ titlecontents { section }

    [1.5 em]{}{\ contentslabel {2.3 em }}{\ hspace *{ -2.3 em }}{\ titlerule *[1 pc ]{.}\ contentspage }

    \titlecontents{section} [1.5em] {} {\contentslabel{2.3em}} {\hspace*{-2.3em}} {\titlerule*[1pc]{.}\contentspage}

    Intermediaire/code68.tex

  • Grer de gros documents

    Tables des matires partielles

    Lextension minitoc permet de gnrer des sommaires partiels, par exemplepour chaque chapitre.

    Code Fichier Intermediaire/code69.tex\ documentclass { report }\ usepackage { minitoc }

    \ begin { document }% Activation\ dominitoc\ tableofcontents

    \ chapter { Introduction }\ minitoc\ section { Quelques rappels }\ section { Quelques dfinitions }

    \end{ document }

    \documentclass{report}\usepackage{minitoc}

    \begin{document}%Activation\dominitoc\tableofcontents

    \chapter{Introduction}\minitoc\section{Quelques rappels}\section{Quelques dfinitions}

    \end{document}

    Intermediaire/code69.tex

  • Grer de gros documents

    Table des matires

  • Grer de gros documents

    Compilation

    *.ind

    *.tex //

    $$

    *.dvi

    *.idx

    *.idx //

    $$

    *.ind

    *.ilg

    Les flches pleines indiquent la compilation LATEX, les flches en pointills avecmakeindex.

  • Grer de gros documents

    Entres

    Avant toute chose on utilise \usepackage{makeidx}, puis \makeindex dans leprambule. Lindex sera affich grce par la commande \printindex dans ledocument.

    L o lon souhaite indiquer que le mot XXX apparait, on utilise \index{XXX}juste ct. Lorsquun mot indexer contient des caractres accentus onutilise par exemple \index{ete@t} (sinon il ne sera pas class correctementdans la liste). Mme remarque si on souhaite utiliser des commandes.

    Code Fichier Intermediaire/code70.texBias\ index { Bias@ \ textsc {Bias }},

    dont la sagesse est plus durablesur la terre que ne fut Prine \index { Priene@Prine } sa patrie ,[...] disait que [...]. Ceprincipe \ index { principe }, premire vue , pourrait semblerpeut -tre trop prudent .

    SortieBias, dont la sagesse est plusdurable sur la terre que nefut Prine sa patrie, [...] di-sait que [...]. Ce principe, premire vue, pourrait semblerpeut-tre trop prudent.

    Bias\index{Bias@\textsc{Bias}}, dont la sagesse est plus durable sur la terre que ne fut Prine\index{Priene@Prine} sa patrie, [...] disait que [...]. Ce principe\index{principe}, premire vue, pourrait sembler peut-tre trop prudent.

    Intermediaire/code70.tex

  • Grer de gros documents

    Sous-entres

    On utilise des points dexclamation : \index{Principale!sous-entree}. Ilest bien sr possible davoir des rcritures, dans quel cas on posera larrobaseaprs lentre.

    Code Fichier Intermediaire/code71.texBias\ index { Bias@ \ textsc {Bias }}

    [...] disait que , dans lapratique de l amiti \ index {Relations humaines ! amitie@amiti}, il faut se comporter demanire ne pas perdre de vue quelle peut se changer un jour enune haine \ index { Relationshumaines ! haine } implacable .

    SortieBias [...] disait que, dans lapratique de lamiti, il faut secomporter de manire ne pasperdre de vue quelle peut sechanger un jour en une haineimplacable.

    Bias\index{Bias@\textsc{Bias}} [...] disait que, dans la pratique de l'amiti\index{Relations humaines!amitie@amiti}, il faut se comporter de manire ne pas perdre de vue qu'elle peut se changer un jour en une haine\index{Relations humaines!haine} implacable.

    Intermediaire/code71.tex

  • Grer de gros documents

    Rfrences croises

    Les rfrences croises sont introduites par une barre verticale. Donc on peutfaire \index{Principale!sous-entree@sous-entre|see{Autre}}Cela a leffet particulier dempcher les rfrences possdant une telle barre(par exemple, si vous compilez une liste de notations usuelles en maths. . . voilencore une bonne raison de prfrer $\vert$ ou $\Vert$ les entrerdirectement).

    Code Fichier Intermediaire/code72.texCe principe \ index { principe },

    premire vue , pourrait semblerpeut -tre trop prudent etcontraire la franchise qui estle principal charme des relations

    amicales \ index { amicales |see{Relations humaines }}; mais , quand

    on y aura rflchi \ index {principe ! reflechir@rflechir |see{Bias }} plus profondment , on letrouvera fort utile .

    SortieCe principe, premire vue,pourrait sembler peut-tretrop prudent et contraire lafranchise qui est le principalcharme des relations amicales ;mais, quand on y aura rflchiplus profondment, on letrouvera fort utile.

    Ce principe\index{principe}, premire vue, pourrait sembler peut-tre trop prudent et contraire la franchise qui est le principal charme des relations amicales\index{amicales|see{Relations humaines}}; mais, quand on y aura rflchi\index{principe!reflechir@rflechir|see{Bias}} plus profondment, on le trouvera fort utile.

    Intermediaire/code72.tex

  • Grer de gros documents

    Rsultat

  • Grer de gros documents

    Table des matires

  • Grer de gros documents

    Compilation

    *.bbl

    *.tex //

    %%

    *.dvi

    *.aux

    *.aux

    *.bib //

    $$

    *.bbl

    *.blg

    Les flches pleines indiquent la compilation LATEX, les flches en pointills avecBibTeX.

  • Grer de gros documents

    Utilisation

    La commande \bibliographystyle{style} permet de dfinir le style desrfrences du document. Puis \bibliography{fichier} o fichier est lenom du fichier .bib sans extension affiche la liste des rfrences. BibTeXnaffichera que celles qui sont effectivement cits (on peut donc utiliser lemme fichier .bib pour tous ses documents).

    On peut faire une citation invisible avec \nocite{ref} ou encore \nocite{*}pour afficher la totalit du fichier .bib.

    Quelques styles courants :plain, classement par ordre alphabtique, rfrence par des numros ;unsrt, classement par ordre dapparition, rfrence par des numros ;abbrv, semblable plain mais plus succinct ;alpha, semblable plain mais rfrence par les initiales des auteurs et la datede publication ;

  • Grer de gros documents

    Exemple de fichier .bib

    Code Fichier Intermediaire/code73.tex@book {lamport ,

    title ={\ LaTeX : a document preparation system },author ={ Lamport , L.},year ={1989} ,publisher ={ Addison - Wesley Longman Publishing Co., Inc. Boston , MA ,

    USA}}

    @book {knuth ,title ={ The \TeX book},author ={ Knuth , D.E. and Bibby , D.},year ={1986} ,publisher ={ Addison - Wesley Reading , Mass}

    }

    @book{lamport, title={\LaTeX: a document preparation system}, author={Lamport, L.}, year={1989}, publisher={Addison-Wesley Longman Publishing Co., Inc. Boston, MA, USA}}

    @book{knuth, title={The \TeX book}, author={Knuth, D.E. and Bibby, D.}, year={1986}, publisher={Addison-Wesley Reading, Mass}}

    Intermediaire/code73.tex

  • Grer de gros documents

    Exercice

    Sortie

  • Grer de gros documents

    Solution

    Code Fichier Intermediaire/code74.tex\ bibliographystyle { alpha }\ nocite {lamport , knuth }\ bibliography { example }

    \bibliographystyle{alpha}\nocite{lamport,knuth}\bibliography{example}

    Intermediaire/code74.tex

  • Formules mathmatiques avances

    Table des matires

  • Formules mathmatiques avances

    Table des matires