diff options
Diffstat (limited to 'Master')
53 files changed, 3408 insertions, 4109 deletions
diff --git a/Master/texmf-dist/doc/latex/guide-latex-fr/Archives/guide-latex-fr_V2.pdf b/Master/texmf-dist/doc/latex/guide-latex-fr/Archives/guide-latex-fr_V2.pdf Binary files differdeleted file mode 100644 index e4c82ecf594..00000000000 --- a/Master/texmf-dist/doc/latex/guide-latex-fr/Archives/guide-latex-fr_V2.pdf +++ /dev/null diff --git a/Master/texmf-dist/doc/latex/guide-latex-fr/Archives/guide-latex-fr_V3_intro.pdf b/Master/texmf-dist/doc/latex/guide-latex-fr/Archives/guide-latex-fr_V3_intro.pdf Binary files differdeleted file mode 100644 index 8b0563d562a..00000000000 --- a/Master/texmf-dist/doc/latex/guide-latex-fr/Archives/guide-latex-fr_V3_intro.pdf +++ /dev/null diff --git a/Master/texmf-dist/doc/latex/guide-latex-fr/Chapitres/annexes.tex b/Master/texmf-dist/doc/latex/guide-latex-fr/Chapitres/annexes.tex index 98b0f0fe8ac..0d5d9232ebf 100644 --- a/Master/texmf-dist/doc/latex/guide-latex-fr/Chapitres/annexes.tex +++ b/Master/texmf-dist/doc/latex/guide-latex-fr/Chapitres/annexes.tex @@ -4,6 +4,7 @@ \renewcommand{\thetable}{A.\arabic{table}} \setcounter{table}{0} + % Page 1 -- Rappel de mise en forme \vspace*{\fill} @@ -26,7 +27,8 @@ Texte & Rendu & Environnement \\ \midrule \vspace*{\fill}\clearpage -% Page 2 -- Symboles courants sous \LaTeX{} + +% Page 2 -- Symboles courants sous LaTeX \vspace*{\fill} @@ -67,6 +69,7 @@ Texte & Rendu & Environnement \\ \midrule \vspace*{\fill}\clearpage + % Page 3 -- Symboles du package pifont \vspace*{\fill} @@ -102,11 +105,43 @@ Texte & Rendu & Environnement \\ \midrule \end{tabular}} \end{table} -\vspace*{\fill}\newpage +\vspace*{\fill}\clearpage + +% Page 4 -- Changement de police sous LaTeX + +\vspace*{\fill} + +\begin{table}[H] +\centering +\caption{Liste non exhaustive des polices sous \LaTeX{}} +\label{annexes-code-police} +\begin{tabular*}{\linewidth}{@{\extracolsep{\fill}}lll} \toprule +\textbf{Police} & \textbf{Package} & \textbf{\verb?<code-police>?} \\ \midrule +Bookman & \verb?bookman? & \verb?pbk? \\ +Charter & \verb?charter? & \verb?bch? \\ +Computer Modern Roman & (défaut) & \verb?cmr? \\ +Computer Modern Sans Serif & (défaut) & \verb?cmss? \\ +Computer Modern Typewriter & (défaut) & \verb?cmtt? \\ +Courier & \verb?courier? & \verb?pcr? \\ +Fourier & \verb?fourier? & \verb?put? \\ +Garamond & \verb?ebgaramond? & \\ +& \verb?ebgaramond-maths? & \\ +Helvetica & \verb?helvet? & \verb?phv? \\ +Latin Modern Roman & \verb?lmodern? & \verb?lmr? \\ +Latin Modern Sans Serif & \verb?lmodern? & \verb?lmss? \\ +Latin Modern Typewriter & \verb?lmodern? & \verb?lmtt? \\ +New Century Schoolbook & \verb?newcent? & \\ +Palatino & \verb?mathpazo? & \\ +\TeX{} Gyre Bonum & \verb?tgbonum? & \verb?qbk? \\ +Times & \verb?mathptmx? & \verb?ptm? \\ +Zapf Chancery & \verb?chancery? & \\ \bottomrule +\end{tabular*} +\end{table} + +\vspace*{\fill}\clearpage -% Page 4 -- Symboles mathématiques courants -%\vspace*{\fill} +% Page 5 -- Symboles mathématiques courants \begin{table}[H] \centering @@ -142,10 +177,10 @@ Texte & Rendu & Environnement \\ \midrule \end{tabular*} \end{table} -%\vspace*{\fill} \clearpage -% Page 5 -- Lettres grecques + +% Page 6 -- Lettres grecques \vspace*{\fill} @@ -165,4 +200,182 @@ $\Theta$ & \verb?\Theta? & $\Pi$ & \verb?\Pi? & $\Phi$ & \verb?\Phi? \end{tabular} \end{table} -\vspace*{\fill}
\ No newline at end of file +\vspace*{\fill}\clearpage + + +% Page 7 -- TikZ & possibilités (commandes, options) + +\begin{table}[H] +\centering +\caption{Liste non exhaustive des commandes et options disponibles avec \TikZ{}} +% Passage à p (colonne 2) pour pouvoir utiliser \newline +\begin{tabular*}{\linewidth}{@{\extracolsep{\fill}}lp{\linewidth}} \toprule +\textbf{Commandes / Options} & \textbf{Description} \\ \midrule +\verb?--? & Pour tracer un trait droit \\ +\verb?|-? ou \verb?-|? & Pour tracer un trait vertical \newline puis horizontal (ou l'inverse) \\ +\verb?||? & \textbf{Indisponible !} \\ +\verb?rectangle? & \multirow{2}{*}{\parbox{\linewidth}{Choix de forme \newline (contour fermé)}} \\ +\verb?circle? & \\ +\verb?cycle? & Pour fermer un chemin \\ +\verb?plot? & Pour tracer une fonction (maths) \\ \\ + +\verb?\draw[<options>] (A) -- (B);? & Tracer un trait entre \verb?A? et \verb?B? \\ +\verb?\fill[<options>] (A) -- (B);? & Remplir la zone entre \verb?A? et \verb?B? \\ +\verb?\filldraw[<options>] (A) -- (B);? & Tracer et remplir la zone entre \verb?A? et \verb?B? \\ +\verb?draw = <couleur>? & Définir la couleur du tracé \\ +\verb?fill = <couleur>? & Définir la couleur du remplissage \\ +\verb?line width = <longueur>? & Définir l'épaisseur du trait \\ +\verb?dotted? ou \verb?dashed? & Changer la forme du trait \\ +\verb?rounded corners? & \multirow{2}{*}{Changer les jointures} \\ +\verb?sharp corners? & \\ +\verb?line join = <type>? & Autres jointures \newline (\verb?round?, \verb?bevel? \& \verb?miter?) \\ +\verb?shift = {(<coord>)}? & Décalage \\ +\verb?xshift = <taille>? & Décalage horizontal \\ +\verb?yshift = <taille>? & Décalage vertical \\ \\ + +\verb?\path[<options>] (A) -- (B);? & Définir un chemin entre \verb?A? et \verb?B? \\ +\verb?\coordinate (<nom>) at (<coord>);? & Définir une coordonnée \verb?<nom>? \newline au point \verb?(<coord>)? \\ + +\verb?node? & cf. \autoref{annexes-tikz-node} \\ \bottomrule +\end{tabular*} +\end{table} + +\clearpage + + +% Page 8 -- TikZ & possibilités (node) + +\begin{table}[H] +\caption{Liste non exhaustive des options disponibles avec \TikZ{} (\texttt{node})} +\label{annexes-tikz-node} + +\begin{code}{} +\node[<options>] (<nom>) at (<coord>) {<texte>}; +\end{code} + +\begin{quote} +Placer \verb?<texte>? à l'emplacement \verb?(<coord>)? (autre \verb?node? ou coordonnées) et lui attribuer le nom \verb?<nom>? (optionnel) +\end{quote} + +\begin{tabular*}{\linewidth}{@{\extracolsep{\fill}}lp{\linewidth}} \toprule +\textbf{Options} & \textbf{Description} \\ \midrule +\verb?draw = <couleur>? & Afficher le contour du \verb?node? \\ +\verb?fill = <couleur>? & Remplir l'intérieur du \verb?node? \\ +\verb?text = <couleur>? & Colorer le texte à l'intérieur du \verb?node? \\ +\verb?font = <mise-en-forme>? & Mettre en forme le texte du \verb?node? \newline (\verb?\bfseries?, \verb?itshape?, \verb?\small?, etc.) \\ +\verb?align = <position>? & Alignement horizontal du texte \newline à l'intérieur du \verb?node? \newline (\verb?left?, \verb?center? ou \verb?right?) \\ \\ + +\verb?inner sep = <taille>? & Espacement entre le texte et \newline le bord du \verb?node? \\ +\verb?outer sep = <taille>? & Espacement entre le bord du \verb?node? \newline et les autres éléments \\ \\ + +\verb?text width = <taille>? & Largeur du bloc de texte du \verb?node? \\ +\verb?minimum width = <taille>? & Largeur minimale du \verb?node? \\ +\verb?minimum height = <taille>? & Hauteur minimale du \verb?node? \\ \\ + +\verb?<position>? & Indiquer la position du \verb?node? \newline par rapport à \verb?(<coord>)? \newline (\verb?above?, \verb?below?, \verb?left? ou \verb?right?) \\ +\verb?anchor = <ancre>? & Indiquer le point d'ancrage de \verb?(<coord>)? \\ +\verb?rotate = <angle>? & Faire pivoter le \verb?node? \\ \bottomrule +\end{tabular*} +\end{table} + +Autres solutions de positionnement : cf. la bibliothèque \verb?positioning?. + +\clearpage + + +% Page 9 -- TikZ & librairies + +% Longtable incompatible avec table +% Table nécessaire pour caption +\begin{table}[H] +\caption{Liste des librairies disponibles avec \TikZ{}} +\label{annexes-tikz-bibliotheques} + +\begin{code}{} +\usetikzlibrary{<nom-bibliotheque>} +\end{code} +\end{table} + +\begin{tableaubilan}{0.45\linewidth}{0.45\linewidth}{Bibliothèque \TikZ{}}{Description} +\verb?3d? & Dessiner des formes en 3D \\ +\verb?angles? & Dessiner des angles \\ +\verb?animations? & Créer des animations \\ +\verb?arrows.meta? & Obtenir plus de flèches et pouvoir en créer \\ +\verb?automata? & Dessiner des automates finis (diagrammes d'état) et des machines de Turing \\ +\verb?babel? & Interagir avec le package éponyme et éviter les conflits \\ +\verb?backgrounds? & Créer des arrières-plans colorés et afficher un quadrillage \\ +\verb?bending? & Courber les flèches \\ +\verb?calc? & Calculer des coordonnées \\ +\verb?calendar? & Créer des calendriers \\ +\verb?chains? & Créer des chaînes \\ +\verb?circuits? & \multirow{7}{*}{\parbox{\linewidth}{Dessiner des circuits électriques (package \verb?circuitikz? si besoin)}} \\ +\verb?circuits.ee? \\ +\verb?circuits.logic? \\ +\verb?circuits.logic.CDH? \\ +\verb?circuits.logic.IEC? \\ +\verb?circuits.logic.US? \\ +\verb?circuit.ee.IEC? \\ +\verb?circular? & Créer des dessins algorithmiques circulaires \\ +\verb?curvilinear? & Dessiner des transformations non linéaires (comme des courbes de Bézier) \\ +\verb?datavisualization? & \multirow{3}{*}{\parbox{\linewidth}{Définir les styles nécessaires à la visualisation de données}} \\ +\verb?datavisualization.formats.functions? \\ +\verb?datavisualization.polar? \\ +\verb?decorations? & \multirow{8}{*}{\parbox{\linewidth}{Appliquer des transformations à des chemins (\verb?path?) et les décorer}} \\ +\verb?decorations.footprints? \\ +\verb?decorations.fractals? \\ +\verb?decorations.markings? \\ +\verb?decorations.pathmorphing? \\ +\verb?decorations.pathreplacing? \\ +\verb?decorations.shapes? \\ +\verb?decorations.text? \\ +\verb?er? (\textit{entity-relationship}) & Dessiner des diagrammes entité-association \\ +\verb?external? & Exporter des dessins \TikZ{} \\ +\verb?fadings? & Estomper les couleurs \\ +\verb?fit? & Créer un \verb?node? qui contient un jeu de coordonnées \\ +\verb?fixedpointarithmetic? & Augmenter la limite de calcul de \TikZ{} (package \verb?fp? obligatoire, temps de calcul plus longs) \\ +\verb?folding? & Créer des patrons ou des objets à plier \\ +\verb?force? & Dessiner avec des ``efforts'' (\verb?node? tirés ou comprimés) \\ +\verb?fpu? (\textit{floating point unit}) & Permettre le calcul scientifique avec des nombres réels \\ +\verb?graphdrawing? (Lua\LaTeX{}) & Automatiser le dessin de graphes \\ +\verb?graphs? et \verb?graphs.standard? & Dessiner des graphes avec la commande \verb?graph? \\ +\verb?intersections? & Calculer la (les) intersection(s) de 2 chemins \\ +\verb?layered? & Tracer des graphes avec des couches horizontales \\ +\verb?lindenmayersystems? & Créer des ``\textit{L-systems}'' \\ +\verb?math? & Définir des fonctions mathématiques et exécuter des opérations mathématiques \\ +\verb?matrix? & Définir des options et styles supplémentaires pour les matrices de \verb?node? \\ +\verb?mindmap? & Créer des cartes heuristiques \\ +\verb?patterns? & Définir de nouveaux motifs de remplissage \\ +\verb?perspective? & Dessiner des objets en perspective avec 1, 2 ou 3 points de fuite \\ +\verb?petri? & Dessiner des réseaux de Petri \\ +\verb?phylogenetics? & Tracer des arbres phylogénétiques \\ +\verb?plothandlers? & Définir des \og \textit{plot handlers} \fg{} supplémentaires \\ +\verb?plotmarks? & Définir des marqueurs (sommets d'un tracé) \\ +\verb?positioning? & Définir des options supplémentaires pour placer les \verb?node? \\ +\verb?profiler? & Simplifier l'optimisation de la compilation \\ +\verb?quotes? & Placer des commentaires facilement à côté d'un \verb?node? \\ +\verb?rdf? (\textit{resource description framework}) & Ajouter des ``annotations'' à un fichier généré par \TikZ{} \\ +\verb?routing? & Connecter les extrémités d'un graphe \\ +\verb?scopes? & Simplifier l'appel de l'environnement \verb?scope? \\ +\verb?shadings? & Créer des dégradés de couleurs \\ +\verb?shadows? & Créer des ombrages \\ +\verb?shapes.arrows? & \multirow{11}{*}{\parbox{\linewidth}{Définir de nouveaux formats de \verb?node? et plus encore}} \\ +\verb?shapes.callout? \\ +\verb?shapes.gates.ee? \\ +\verb?shapes.gates.ee.IEC? \\ +\verb?shapes.gates.logic? \\ +\verb?shapes.gates.logic.IEC? \\ +\verb?shapes.gates.logic.US? \\ +\verb?shapes.geometric? \\ +\verb?shapes.misc? \\ +\verb?shapes.multipart? \\ +\verb?shapes.symbols? \\ +\verb?spy? & Faire des grossissements \\ +\verb?svg.path? & Définir des chemins avec la syntaxe \verb?SVG? \\ +\verb?through? & Créer des formes qui passent par un point précis \\ +\verb?topaths? (chargé automatiquement) & Définir l'opérateur \verb?to? \\ +\verb?trees? & Dessiner des arbres \\ +\verb?turtle? & Créer des ``\textit{turtle graphics}'' (langage \verb?Logo?) \\ +\verb?views? & Créer des ``vues'' (transformations d'une partie d'un dessin) +\end{tableaubilan} + +\clearpage
\ No newline at end of file diff --git a/Master/texmf-dist/doc/latex/guide-latex-fr/Chapitres/code_base.tex b/Master/texmf-dist/doc/latex/guide-latex-fr/Chapitres/code-base.tex index aac7623de4a..aac7623de4a 100644 --- a/Master/texmf-dist/doc/latex/guide-latex-fr/Chapitres/code_base.tex +++ b/Master/texmf-dist/doc/latex/guide-latex-fr/Chapitres/code-base.tex diff --git a/Master/texmf-dist/doc/latex/guide-latex-fr/Chapitres/commandes.tex b/Master/texmf-dist/doc/latex/guide-latex-fr/Chapitres/commandes.tex new file mode 100644 index 00000000000..ec62918fe50 --- /dev/null +++ b/Master/texmf-dist/doc/latex/guide-latex-fr/Chapitres/commandes.tex @@ -0,0 +1,139 @@ +% Commandes créées + +% Page de garde et mind map +\definecolor{BlueFR}{RGB}{0,35,149} +\definecolor{RedFR}{RGB}{237,41,57} +\definecolor{NewOrange}{RGB}{247,111,43} +\definecolor{Gold}{RGB}{255,215,0} + +% Aperçu Texmaker (Aide_LaTeX1.png) -- Hred = Red - Hyellow = Gold +\definecolor{Horange}{RGB}{255,156,0} +\definecolor{Hgreen}{RGB}{0,167,0} +\definecolor{Hblue}{RGB}{0,234,255} +\definecolor{Hpurple}{RGB}{169,15,219} + +% Signature +\definecolor{lightningcyan}{RGB}{59,195,235} + + +% Raccourcis +\newcommand{\Windows}{\texttt{Windows}} +\newcommand{\Linux}{\texttt{Linux}} +\newcommand{\Apple}{\texttt{Apple}} +\newcommand{\LinkedIn}{\texttt{LinkedIn}} +\newcommand{\MiKTeX}{\texttt{MiKTeX}} +\newcommand{\Texmaker}{\texttt{Texmaker}} +\newcommand{\TikZ}{Ti\textit{k}Z} +\newcommand{\Beamer}{\texttt{Beamer}} +\newcommand{\Paint}{\texttt{Paint}} +\newcommand{\GIMP}{\texttt{GIMP}} +\newcommand{\Inkscape}{\texttt{Inkscape}} + +\newcommand{\folder}{\textcolor[RGB]{255,231,157}{\faFolder}} + + +% Tableau bilan +\newenvironment{tableaubilan}[4]{ + \begin{longtable}{p{#1}p{#2}} + % Définition des headers & footers du longtable + {\hspace*{\fill}\textsc{#3}\hspace*{\fill}} & {\hspace*{\fill}\textsc{#4}\hspace*{\fill}} \\ \midrule + \endhead + \multicolumn{2}{r}{\textit{(suite sur la page suivante)}} \\ + \endfoot + \multicolumn{2}{@{\hrulefill}c@{\hrulefill}}{\raisebox{-3pt}{~~\textsc{Fin du tableau}~~}} + \endlastfoot +}{\end{longtable}} + + +% "Boîtes" -- Package tcolorbox +% Boîtes types +\newtcolorbox{boitetype}[4][]{enhanced, breakable, before upper = {\parindent17.6pt}, beforeafter skip = \baselineskip, colframe = #3, colback = #4, boxrule = 2pt, arc = 4mm, fonttitle = \bfseries, title = {#2}, coltitle = black, #1} % before upper = alinéa dans boîte + +\newtcolorbox{boitecointype}[7][]{% +cornerrulewidth/.store in = {\tcbcornerrulewidth}, +cornerrulewidth = #7, +topcornercolor/.store in = {\tcbtopcornercolor}, +topcornercolor = #3, +bottomcornercolor/.store in = {\tcbbottomcornercolor}, +bottomcornercolor = #4, +enhanced, breakable, before upper = {\parindent17.6pt}, beforeafter skip = \baselineskip, sharp corners, boxrule = 0pt, colback = #5, title = {#2}, fonttitle = \bfseries, coltitle = black, colbacktitle = #6, underlay unbroken = { + \draw[\tcbtopcornercolor, line width = \tcbcornerrulewidth] ([xshift = -\tcbcornerrulewidth/2]frame.west) -- ([shift = {(-\tcbcornerrulewidth/2,\tcbcornerrulewidth/2)}]frame.north west) -- ([yshift = \tcbcornerrulewidth/2]frame.north); + \draw[\tcbtopcornercolor, line width = \tcbcornerrulewidth] ([xshift = \tcbcornerrulewidth/2]frame.east) -- ([shift = {(\tcbcornerrulewidth/2,-\tcbcornerrulewidth/2)}]frame.south east) -- ([yshift = -\tcbcornerrulewidth/2]frame.south); +}, underlay first = { + \draw[\tcbtopcornercolor, line width = \tcbcornerrulewidth] ([xshift = -\tcbcornerrulewidth/2]frame.west) -- ([shift = {(-\tcbcornerrulewidth/2,\tcbcornerrulewidth/2)}]frame.north west) -- ([yshift = \tcbcornerrulewidth/2]frame.north); +}, underlay last = { + \draw[\tcbtopcornercolor, line width = \tcbcornerrulewidth] ([xshift = \tcbcornerrulewidth/2]frame.east) -- ([shift = {(\tcbcornerrulewidth/2,-\tcbcornerrulewidth/2)}]frame.south east) -- ([yshift = -\tcbcornerrulewidth/2]frame.south); +}, #1} + + +% Construction des autres boîtes en fonction d'une boîte type +\newenvironment{boite}[3][]{\begin{boitetype}[#1]{#2}{#3}{white}}{\end{boitetype}} +\newenvironment{boitecoin}[3][]{\begin{boitecointype}[#1]{#2}{#3}{#3}{#3!5!white}{#3!50}{2pt}}{\end{boitecointype}} + +\newenvironment{regles}[2][]{\begin{boitetype}[sharp corners, boxrule = 3pt, coltitle = white, #1]{#2}{BrickRed}{Goldenrod}}{\end{boitetype}} +\newenvironment{definition}[2][]{\begin{boitecoin}[#1]{#2}{Green}}{\end{boitecoin}} +\newenvironment{conseil}[2][]{\begin{boitetype}[#1]{#2}{cyan}{cyan!40}}{\end{boitetype}} +\newenvironment{attention}[2][]{\begin{boitetype}[left = 6mm, coltitle = white, sharp corners = west, underlay = {% + \path[fill = yellow!50!black] (frame.south west) rectangle node[white] {\huge\bfseries{}!} ([xshift = 4mm]frame.north west); +}, drop fuzzy shadow, #1]{#2}{yellow!20!black}{yellow!50}}{\end{boitetype}} % Nouvelle boîte "attention" -- Inspiration : boîte "marker" (code source guide tcolorbox) + + +%%% --- Explications --- %%% + +% Ne fonctionne pas : \newenvironment{code}[2][]{\begin{boitecodetype}[#1]{#2}{LimeGreen}{LimeGreen!5!white}{LimeGreen!50}{2pt}{TeX}}{\end{boitecodetype}} + +% Boite type avec listings impossible --> problème lors de l'appel du nouvel environnement +% (en gros, avec une couche supplémentaire \newenvironment, listings n'arrive pas à bien détecter le début et la fin de l'environnement donc erreur) + +% Solution : +% Utilisation de styles (commandes propres à tcolorbox & listings) pour recenser les options à utiliser +% Création ensuite de 3 environnements (distincts et non imbriqués) mais avec appel de ces commandes +% ==> gain de lignes et généralisation possible + +%%% --- FIN Explications --- %%% + +% Stockage de 2 variables principales (plus propre) +% Autre solution : utiliser le code source tcolorbox (tcbcol@frame : couleur définie par colback) +% Attention : breakable non appliqué si "listing side text" (pas de coupure) +% ==> faire des "petits" bouts de code +\tcbset{ +codemainoptions/.style = { + maincolor/.store in = {\tcbmaincol}, + maincolor = LimeGreen, + rulewidth/.store in = {\tcbrulewidth}, + rulewidth = 2pt, + enhanced, breakable, beforeafter skip = \baselineskip, sharp corners, boxrule = \tcbrulewidth, colframe = \tcbmaincol, colback = \tcbmaincol!15, drop fuzzy shadow, colbacktitle = \tcbmaincol!50, coltitle = black, fonttitle = \bfseries, title = {#1}, + attach boxed title to top center = {yshift = -\tcbrulewidth/2-\tcboxedtitleheight/2, yshifttext = -\tcboxedtitleheight/2}, boxed title style = {boxrule = \tcbrulewidth, frame code = { + \path[tcb fill frame] ([xshift = -3mm]frame.west) -- (frame.north west) -- (frame.north east) -- ([xshift = 3mm]frame.east) -- (frame.south east) -- (frame.south west) -- cycle;}, interior code = { + \path[tcb fill interior] ([xshift = -2mm]interior.west) -- (interior.north west) -- (interior.north east) -- ([xshift = 2mm]interior.east) -- (interior.south east) -- (interior.south west) -- cycle;}} +} +} + +\lstdefinestyle{mainlststyle}{ +language = {[LaTeX]TeX}, +style = tcblatex, +texcsstyle = *\color{cyan!65!black}, +commentstyle = \color{gray}, +tabsize = 4, +keepspaces = true, +breaklines = true, +breakatwhitespace = false, +inputencoding = utf8, +numbers = none, +showspaces = false, +showtabs = false, +showstringspaces = false +} + +% N.B. : #2 = titre de la boite +\newtcblisting{code}[2][]{codemainoptions = {#2}, listing options = {style = mainlststyle}, listing only, #1} + +\newtcblisting{codedisplay}[2][]{codemainoptions = {#2}, listing options = {style = mainlststyle}, listing side text, righthand ratio = 0.4, sidebyside gap = 13mm, bicolor, colbacklower = white, #1} + +% compilable listing ==> compiler "main.tex" avec "-shell-escape" +\newtcblisting{coderesult}[2][]{codemainoptions = {#2}, listing options = {style = mainlststyle}, listing and comment, bicolor, colbacklower = white, compilable listing, run pdflatex, pdf comment, freeze pdf, comment style = {raster columns = 2, drop lifted shadow}, #1} + +% Boîte spéciale code TikZ +% 1ère idée : nouvelle boîte brute avec listing and comment (comment = {\resizebox{\linewidth}{!}{\tcbuselistingtext}} -- \tcbuse... = contenu de la boîte soit code TikZ) +% 2nde idée : se contenter d'un "listing and text" avec structure boîte "codedisplay" +\newtcblisting{codetikz}[2][]{codemainoptions = {#2}, listing options = {style = mainlststyle}, listing and text, bicolor, colbacklower = white, #1}
\ No newline at end of file diff --git a/Master/texmf-dist/doc/latex/guide-latex-fr/Chapitres/config.tex b/Master/texmf-dist/doc/latex/guide-latex-fr/Chapitres/config.tex deleted file mode 100644 index 3922058dffb..00000000000 --- a/Master/texmf-dist/doc/latex/guide-latex-fr/Chapitres/config.tex +++ /dev/null @@ -1,158 +0,0 @@ -% PDFLaTeX -\usepackage{lmodern} -\usepackage[french]{babel} -\usepackage[utf8]{inputenc} -\usepackage[T1]{fontenc} -\usepackage{lettrine, lipsum} % Pour mettre des lettrines - Pour les tests - -\usepackage{fancyhdr, fourier-orns} % En-têtes et pieds de pages -- Bonus pour les en-têtes (\headrule) -\fancyhf{} % Efface tout -\fancypagestyle{mainstyle}{ -\renewcommand{\headrulewidth}{0pt} -\fancyhead[L]{\textsc{\nouppercase{\leftmark}}} % Mettre l'en-tête en small capitals -\renewcommand{\footrulewidth}{0pt} -\fancyfoot[C]{\thepage}} -\pagestyle{plain} % mainstyle appliqué plus tard -\renewcommand{\headrule}{\hrulefill \raisebox{-2.1pt}[10pt][10pt]{\quad\decofourleft\decotwo\decofourright\quad}\hrulefill} - -\usepackage{graphicx, float, subcaption} % Pour mettre les images -\graphicspath{{./Images/}} % Sous-répertoire pour mettre les images - -\usepackage{enumitem, multicol, pifont, eurosym} % Pour les listes à puce -\setlist[itemize, 1]{label = {--}, itemsep = \baselineskip} -\setlist[enumerate, 1]{label = \arabic*), itemsep = \baselineskip} - -\usepackage{amsmath, amsfonts, amssymb, mathrsfs, esvect, stmaryrd} % Pour faire des maths - -\usepackage{array, booktabs, longtable} % Pour les tableaux -\renewcommand{\arraystretch}{1.3} -\newcolumntype{C}[1]{>{\centering\arraybackslash}m{#1}} - -\usepackage[breakable, listings, skins]{tcolorbox} % Boîtes personnalisables -\usepackage{pgfornament, pgfplots} % TikZ et tracé de fonctions -\usetikzlibrary{arrows, arrows.meta, decorations.text, mindmap, positioning} - -\usepackage{pdfpages, qrcode} % Pour inclure des PDF -- Pour le QR Code - -\usepackage[hyphens]{url} % Pour des césures correctes dans les URLs -\usepackage[pdfauthor = {{Adrien Bouzigues - I13 Cl215}}, pdftitle = {{Initiation à LaTeX}}, pdfstartview = Fit, pdfpagelayout = SinglePage, pdfnewwindow = true, bookmarksnumbered = true, breaklinks, colorlinks, linkcolor = red, urlcolor = black, citecolor = cyan, linktoc = all]{hyperref} % Renvois -- Options Adobe - -% Chargement après hyperref selon le guide d'utilisation -\usepackage[os = win]{menukeys} % Pour "écrire" des touches claviers -\renewmenumacro{\keys}[+]{shadowedroundedkeys} % Style choisi pour les touches -- [+] = séparateur - -\makeatletter\@addtoreset{section}{chapter}\makeatother % RAZ des numéros de section après un chapitre -\renewcommand{\thepart}{\Roman{part}} -\renewcommand{\thechapter}{\arabic{chapter}} -\renewcommand{\thesection}{\thechapter.\arabic{section}} - - -% Commandes créées -% Page de garde et mind map -\definecolor{BlueFR}{RGB}{0,35,149} -\definecolor{RedFR}{RGB}{237,41,57} -\definecolor{NewOrange}{RGB}{247,111,43} -\definecolor{Gold}{RGB}{255,215,0} -\definecolor{NewGold}{RGB}{130,114,46} -\definecolor{LOrchid}{RGB}{177,97,245} -\definecolor{LOrange}{RGB}{255,102,32} -\definecolor{LLimeGreen}{RGB}{140,251,0} -\definecolor{LCyan}{RGB}{4,254,251} -\definecolor{LRed}{RGB}{255,12,12} - -% Aperçu Texmaker (Aide_LaTeX1.png) -- Hred = Red - Hyellow = Gold -\definecolor{Horange}{RGB}{255,156,0} -\definecolor{Hgreen}{RGB}{0,167,0} -\definecolor{Hblue}{RGB}{0,234,255} -\definecolor{Hpurple}{RGB}{169,15,219} - - -% Raccourcis -\newcommand{\Windows}{\texttt{Windows}} -\newcommand{\Linux}{\texttt{Linux}} -\newcommand{\Apple}{\texttt{Apple}} -\newcommand{\LinkedIn}{\texttt{LinkedIn}} -\newcommand{\MiKTeX}{\texttt{MiKTeX}} -\newcommand{\Texmaker}{\texttt{Texmaker}} -\newcommand{\TikZ}{Ti\textit{k}Z} -\newcommand{\Paint}{\texttt{Paint}} -\newcommand{\GIMP}{\texttt{GIMP}} -\newcommand{\Inkscape}{\texttt{Inkscape}} - - -% "Boîtes" -- Package tcolorbox -% Boîtes types -\newtcolorbox{boitetype}[4][]{enhanced, breakable, before upper = {\parindent17.6pt}, beforeafter skip = \baselineskip, colframe = #3, colback = #4, boxrule = 2pt, arc = 4mm, fonttitle = \bfseries, title = {#2}, coltitle = black, #1} % before upper = alinéa dans boîte - -\newtcolorbox{boitecointype}[7][]{% -cornerrulewidth/.store in = {\tcbcornerrulewidth}, -cornerrulewidth = #7, -topcornercolor/.store in = {\tcbtopcornercolor}, -topcornercolor = #3, -bottomcornercolor/.store in = {\tcbbottomcornercolor}, -bottomcornercolor = #4, -enhanced, breakable, before upper = {\parindent17.6pt}, beforeafter skip = \baselineskip, sharp corners, boxrule = 0pt, colback = #5, title = {#2}, fonttitle = \bfseries, coltitle = black, colbacktitle = #6, underlay unbroken = { - \draw[\tcbtopcornercolor, line width = \tcbcornerrulewidth] ([xshift = -\tcbcornerrulewidth/2]frame.west) -- ([shift = {(-\tcbcornerrulewidth/2,\tcbcornerrulewidth/2)}]frame.north west) -- ([yshift = \tcbcornerrulewidth/2]frame.north); - \draw[\tcbtopcornercolor, line width = \tcbcornerrulewidth] ([xshift = \tcbcornerrulewidth/2]frame.east) -- ([shift = {(\tcbcornerrulewidth/2,-\tcbcornerrulewidth/2)}]frame.south east) -- ([yshift = -\tcbcornerrulewidth/2]frame.south); -}, underlay first = { - \draw[\tcbtopcornercolor, line width = \tcbcornerrulewidth] ([xshift = -\tcbcornerrulewidth/2]frame.west) -- ([shift = {(-\tcbcornerrulewidth/2,\tcbcornerrulewidth/2)}]frame.north west) -- ([yshift = \tcbcornerrulewidth/2]frame.north); -}, underlay last = { - \draw[\tcbtopcornercolor, line width = \tcbcornerrulewidth] ([xshift = \tcbcornerrulewidth/2]frame.east) -- ([shift = {(\tcbcornerrulewidth/2,-\tcbcornerrulewidth/2)}]frame.south east) -- ([yshift = -\tcbcornerrulewidth/2]frame.south); -}, #1} - - -% Construction des autres boîtes en fonction d'une boîte type -\newenvironment{boite}[3][]{\begin{boitetype}[#1]{#2}{#3}{white}}{\end{boitetype}} -\newenvironment{boitecoin}[3][]{\begin{boitecointype}[#1]{#2}{#3}{#3}{#3!5!white}{#3!50}{2pt}}{\end{boitecointype}} - -\newenvironment{regles}[2][]{\begin{boitetype}[sharp corners, boxrule = 3pt, coltitle = white, #1]{#2}{BrickRed}{Goldenrod}}{\end{boitetype}} -\newenvironment{definition}[2][]{\begin{boitecoin}[#1]{#2}{Green}}{\end{boitecoin}} -\newenvironment{conseil}[2][]{\begin{boitetype}[#1]{#2}{cyan}{cyan!40}}{\end{boitetype}} -\newenvironment{attention}[2][]{\begin{boitetype}[left = 6mm, coltitle = white, sharp corners = west, underlay = {% - \path[fill = yellow!50!black] (frame.south west) rectangle node[white] {\huge\bfseries{}!} ([xshift = 4mm]frame.north west); -}, drop fuzzy shadow, #1]{#2}{yellow!20!black}{yellow!50}}{\end{boitetype}} % Nouvelle boîte "attention" -- Inspiration : boîte "marker" (code source guide tcolorbox) - -% Utilité ? --> Si non, à supprimer ! -%\newenvironment{exemple}[2][]{\begin{boitetype}[sharp corners, boxrule = 0pt, #1]{#2}{Goldenrod}{Goldenrod!40}}{\end{boitetype}} - -% !!! A supprimer !!! Temporaire (génération V2) -\newenvironment{conseilbox}[2][]{\begin{boitetype}[#1]{#2}{cyan}{cyan!40}}{\end{boitetype}} -\newenvironment{attentionbox}[2][]{\begin{boitetype}[#1]{#2}{orange}{orange!40}}{\end{boitetype}} -% !!! Fin suppression !!! - -% Boite type avec listing impossible --> problème lors de l'appel du nouvel environnement (en gros, avec une couche supplémentaire \newenvironment, listing n'arrive pas à bien détecter le début et la fin de l'environnement donc erreur) -%\newtcblisting{code}[2][]{enhanced, breakable, before upper = {\parindent17.6pt}, beforeafter skip = \baselineskip, colframe = LimeGreen, colback = LimeGreen!5, boxrule = 2pt, arc = 4mm, fonttitle = \bfseries, title = {#2}, coltitle = black, colbacktitle = LimeGreen!50, listing options = {basicstyle = \ttfamily\small, keepspaces = true, columns = flexible, breaklines = true, inputencoding = utf8, language = TeX, numbers = none, showstringspaces = false, commentstyle = \color{gray}}, listing only, #1} % Ou passer en "listing and text" ? (affichage du résultat ==> enlever/commenter tous les préambules) - -% Stockage de 2 variables principales (plus propre) -% Autre solution : utiliser le code source tcolorbox (tcbcol@frame : couleur définie par colback) -% Attention : breakable impossible si "listing side text"... -\newtcblisting{code}[2][]{ -maincolor/.store in = {\tcbmaincol}, -maincolor = LimeGreen, -rulewidth/.store in = {\tcbrulewidth}, -rulewidth = 2pt, -enhanced, breakable, beforeafter skip = \baselineskip, sharp corners, boxrule = \tcbrulewidth, colframe = \tcbmaincol, colback = \tcbmaincol!15, colbacktitle = \tcbmaincol!50, coltitle = black, fonttitle = \bfseries, title = {#2}, attach boxed title to top center = {yshift = -\tcbrulewidth/2-\tcboxedtitleheight/2, yshifttext = -\tcboxedtitleheight/2}, boxed title style = {boxrule = \tcbrulewidth, frame code = { - \path[tcb fill frame] ([xshift = -3mm]frame.west) -- (frame.north west) -- (frame.north east) -- ([xshift = 3mm]frame.east) -- (frame.south east) -- (frame.south west) -- cycle;}, interior code = { - \path[tcb fill interior] ([xshift = -2mm]interior.west) -- (interior.north west) -- (interior.north east) -- ([xshift = 2mm]interior.east) -- (interior.south east) -- (interior.south west) -- cycle;}}, -listing options = {basicstyle = \ttfamily\small, keepspaces = true, columns = flexible, breaklines = true, breakatwhitespace = true, inputencoding = utf8, language = TeX, numbers = none, showstringspaces = false, commentstyle = \color{gray}}, listing only, drop fuzzy shadow, #1} - -\newtcblisting{codedisplay}[2][]{ -maincolor/.store in = {\tcbmaincol}, -maincolor = LimeGreen, -rulewidth/.store in = {\tcbrulewidth}, -rulewidth = 2pt, -enhanced, breakable, beforeafter skip = \baselineskip, sharp corners, boxrule = \tcbrulewidth, colframe = \tcbmaincol, colback = \tcbmaincol!15, colbacktitle = \tcbmaincol!50, coltitle = black, fonttitle = \bfseries, title = {#2}, attach boxed title to top center = {yshift = -\tcbrulewidth/2-\tcboxedtitleheight/2, yshifttext = -\tcboxedtitleheight/2}, boxed title style = {boxrule = \tcbrulewidth, frame code = { - \path[tcb fill frame] ([xshift = -3mm]frame.west) -- (frame.north west) -- (frame.north east) -- ([xshift = 3mm]frame.east) -- (frame.south east) -- (frame.south west) -- cycle;}, interior code = { - \path[tcb fill interior] ([xshift = -2mm]interior.west) -- (interior.north west) -- (interior.north east) -- ([xshift = 2mm]interior.east) -- (interior.south east) -- (interior.south west) -- cycle;}}, -listing options = {basicstyle = \ttfamily\small, keepspaces = true, columns = flexible, breaklines = true, breakatwhitespace = true, inputencoding = utf8, language = TeX, numbers = none, showstringspaces = false, commentstyle = \color{gray}}, listing side text, righthand ratio = 0.4, sidebyside gap = 13mm, bicolor, colbacklower = white, drop fuzzy shadow, #1} - -% Boîte spéciale code TikZ ??? - -% Ne fonctionne pas... -%\newenvironment{code}[2][]{\begin{boitecodetype}[#1]{#2}{LimeGreen}{LimeGreen!5!white}{LimeGreen!50}{2pt}{TeX}}{\end{boitecodetype}} - -% Nécessaire ? --> chapitre PSTricks... -\newtcblisting{codePY}[2][]{breakable, beforeafter skip = \baselineskip, colframe = Orchid, colback = white, boxrule = 2pt, arc = 6pt, title = \textbf{#2}, coltitle = black, listing options = {basicstyle = \ttfamily\small, keepspaces = true, columns = flexible, breaklines = true, inputencoding = utf8, language = Python, xleftmargin = 17pt, numbers = left, numbersep = 13pt, numberstyle = \ttfamily\footnotesize\color{OrangeRed}, showstringspaces = false, commentstyle = \color{gray}, keywordstyle = \color{Blue}, stringstyle = \color{orange}}, listing only, #1} - -% Pour résoudre le problème des accents dans le code (listings sous tcolorbox) -\lstset{literate = {à }{{\`a}}1 {â}{{\^a}}1 {é}{{\'e}}1 {è}{{\`e}}1 {ê}{{\^e}}1 {î}{{\^i}}1 {ô}{{\^o}}1 {û}{{\^u}}1 {ç}{{\c{}c}}1 {°}{{\degres{}}}1}
\ No newline at end of file diff --git a/Master/texmf-dist/doc/latex/guide-latex-fr/Chapitres/intro.tex b/Master/texmf-dist/doc/latex/guide-latex-fr/Chapitres/intro.tex index 6e8080394d1..94ba55555eb 100644 --- a/Master/texmf-dist/doc/latex/guide-latex-fr/Chapitres/intro.tex +++ b/Master/texmf-dist/doc/latex/guide-latex-fr/Chapitres/intro.tex @@ -5,17 +5,18 @@ \begin{tikzpicture} % Paramétrage \def\poly{13} -\pgfmathsetmacro\polyg{\poly - 1} +\pgfmathtruncatemacro\polyg{\poly - 1} \def\R{0.43\linewidth} \def\ornament{87} +\def\ecart{13pt} % Tracé du polygone avec des "fioritures" -\draw[NewOrange] (90:\R) \foreach \i in {1,...,\polyg} {to[ornament = \ornament] (90-\i*360/\poly:\R)} to[ornament = \ornament] cycle; % Usage de \polyg pour bien fermer avec un cycle +\draw[NewOrange] (90:\R) node[shift = (90:\ecart)] {\poly} \foreach \i in {1,...,\polyg} {to[ornament = \ornament] (90-\i*360/\poly:\R) node[shift = (90-\i*360/\poly:\ecart)] {\i}} to[ornament = \ornament] cycle; % Usage de \polyg pour bien fermer avec un cycle % Image au centre - Décalage possible (ajuster à la main) \node[text width = 0.55\linewidth, align = left] at (0,0) {\vspace{\baselineskip} -Cette {\oe}uvre, création, site ou texte est sous licence Creative Commons Attribution - Pas d'Utilisation Commerciale - Pas de Modification 4.0 International. \\[\baselineskip] +Cette \oe{}uvre, création, site ou texte est sous licence Creative Commons Attribution - Pas d'Utilisation Commerciale - Pas de Modification 4.0 International. \\[\baselineskip] Pour accéder à une copie de cette licence, merci de vous rendre à l'adresse suivante \url{http://creativecommons.org/licenses/by-nc-nd/4.0/} ou d'envoyer un courrier à : \\[\baselineskip] @@ -35,7 +36,7 @@ USA \end{center} \vspace*{\stretch{1}} \begin{Large} -\color{Red}\textbf{Toutes les versions de ce guide sont soumises à cette licence Creative Commons, y compris les plus anciennes qui peuvent circuler et qui n'y font pas explicitement mention.} +\color{red}\textbf{Toutes les versions de ce guide sont soumises à cette licence Creative Commons, y compris les plus anciennes qui peuvent circuler et qui n'y font pas explicitement mention.} \end{Large} \vspace*{\stretch{1}} @@ -45,37 +46,35 @@ USA \end{center} % Mind Map \vspace*{\stretch{1}} -%\resizebox{<horizontal size>}{<vertical size>}{} -% Réduction proportionnelle (argument "!") du dessin \resizebox{\linewidth}{!}{% -\begin{tikzpicture}[mindmap, grow cyclic, align = center, every node/.style = {concept, align = center}, concept color = Gold, level 1/.append style = {level distance = 5cm, sibling angle = 72}, level 2/.append style = {level distance = 3cm, sibling angle = 72}] +\begin{tikzpicture}[mindmap, grow cyclic, every node/.style = {concept, align = center}, concept color = gray!75, level 1/.append style = {level distance = 5cm, sibling angle = 72}, level 2/.append style = {level distance = 3cm, sibling angle = 72}] \node{\huge\textbf{\LaTeX{}}} - child [concept color = LOrchid] { node {Texte \\ (\pageref{chap_texte} \& \pageref{chap_texte_anx})} + child [concept color = violet!50] { node {Texte \\ (\pageref{chap-texte} \& \pageref{chap-texte-details})} child { node {Mise en forme}} child { node {Organiser}} child { node {Page de garde}} child { node {Sommaire}} child { node {En-têtes et pieds}} } - child [concept color = LOrange] { node {Maths \\ (\pageref{chap_maths} \& \pageref{chap_maths_anx})} - child { node {Formules}} - child { node {Ali\-gne\-ment}} % Pour indiquer à LaTeX où faire la césure - Sinon, c'est moche - child { node {Déli\-mi\-teurs}} % Idem - child { node {Matrices}} - } - child [concept color = LLimeGreen] { node {Tableaux \\ (\pageref{chap_table} \& \pageref{chap_table_anx})} + child [concept color = orange!50] { node {Tableaux \\ (\pageref{chap-table} \& \pageref{chap-table-details})} child { node {Tableaux}} child { node {Boîtes}} child { node {\texttt{tcolorbox}}} } - child [concept color = LCyan] { node {Images \\ (\pageref{chap_img} \& \pageref{chap_img_anx})} + child [concept color = brown!50] { node {Dessiner \\ (\pageref{chap-pstricks} \& \pageref{chap-tikz})} + child { node {PSTricks}} + child { node {\TikZ{}}} + } + child [concept color = green!80!black] { node {Maths \\ (\pageref{chap-maths} \& \pageref{chap-maths-details})} + child { node {Formules}} + child { node {Ali\-gne\-ment}} % Pour indiquer à LaTeX où faire la césure -- Sinon, c'est moche + child { node {Déli\-mi\-teurs}} % Idem + child { node {Matrices}} + } + child [concept color = yellow!70!red] { node {Images \\ (\pageref{chap-img} \& \pageref{chap-img-details})} child { node {Formats}} child { node {Insertion}} child { node {Montage}} - } - child [concept color = LRed] { node {Dessiner \\ (\pageref{chap_dessin_pst} \& \pageref{chap_dessin_tikz})} - child { node {\texttt{PSTricks}}} - child { node {\texttt{TikZ}}} }; \end{tikzpicture} } @@ -108,7 +107,7 @@ S'ils ne sont pas légion, il existe d'autres guides en français pour apprendre Et si jamais tu désires retrouver mon guide à jour ainsi que les fichiers d'aide que j'ai récoltés, ils sont disponibles à l'adresse suivante : \begin{center} \url{http://drive.google.com/drive/folders/0BzU2BdcGjfU5Tk1XaXhxbk5JcEE?usp=sharing} \end{center} -N'hésite pas à laisser des commentaires ou à signaler des fautes dans le GForm mis à disposition. Sur ce, bonne lecture ! +N'hésite pas à laisser des commentaires ou à signaler des fautes dans le GForm mis à disposition. Sur ce, bonne lecture ! \\ \begin{flushright} Adrien \textsc{Bouzigues} \\ @@ -118,7 +117,7 @@ I13 Cl215 \newpage % QR Code - Dessin final -\vspace*{\stretch{1}} +\vspace*{\fill} \begin{figure}[H] \centering @@ -126,7 +125,7 @@ I13 Cl215 \caption*{\large\textcolor{BrickRed}{Lien de mon \texttt{Drive} \LaTeX{}\dots{} sous la forme d'un code QR !}} \end{figure} -\vspace*{\stretch{1}} +\vspace*{\fill} \begin{center} \begin{tikzpicture} @@ -136,12 +135,12 @@ I13 Cl215 {\pgfornament[width = 0.2\linewidth, color = Green]{24}}; % Texte arrondi -\draw[White, postaction = {decorate}, decoration = {text along path, text = {|\fontsize{35pt}{15pt}\selectfont\color{NewGold}\scshape|TikZ Seal Of Quality}, text align = center}] +\draw[White, postaction = {decorate}, decoration = {text along path, text = {|\fontsize{35pt}{15pt}\selectfont\color{Gold!90!black}\scshape|TikZ Seal Of Quality}, text align = center}] (0.5\linewidth,0) arc [start angle = -180, end angle = 0, radius = 0.4\linewidth]; \end{tikzpicture} \end{center} -\vspace*{\stretch{1}} +\vspace*{\fill} \newpage diff --git a/Master/texmf-dist/doc/latex/guide-latex-fr/Chapitres/p1-compilation.tex b/Master/texmf-dist/doc/latex/guide-latex-fr/Chapitres/p1-compilation.tex index c4fe84bf364..4ea43fef9a2 100644 --- a/Master/texmf-dist/doc/latex/guide-latex-fr/Chapitres/p1-compilation.tex +++ b/Master/texmf-dist/doc/latex/guide-latex-fr/Chapitres/p1-compilation.tex @@ -22,7 +22,7 @@ Pour entrer un peu plus dans les détails, tu dois donc : \begin{enumerate} Quant au moteur \LaTeX{} utilisé, il en existe plusieurs. Pour débuter, je recommande d'utiliser plutôt pdf\TeX{} (intitulé apparemment PDF\LaTeX{} sous \Texmaker{}), qui permet de passer d'un coup du document \LaTeX{} au fichier PDF final. -Quant aux autres moteurs, je les aborde bien plus loin dans ce guide, en page \pageref{compilation_details}. Je recommande plutôt de t'y rendre une fois que tu as un peu d'expérience sous \LaTeX{}, pour ne pas perdre du temps et acquérir des bases solides. \\ +Quant aux autres moteurs, je les aborde bien plus loin dans ce guide, en page \pageref{compilation-details}. Je recommande plutôt de t'y rendre une fois que tu as un peu d'expérience sous \LaTeX{}, pour ne pas perdre du temps et acquérir des bases solides. \\ Nous savons désormais que nous devons compiler avec le moteur pdf\TeX{}\dots{} mais nous ne savons toujours pas comment faire ! Pas de panique : les logiciels que je t'ai fait installer prennent tout en charge. @@ -76,7 +76,7 @@ N'hésite pas quand tu débutes. Les deux sites sont en français et répondent \section{Compiler avec \Texmaker{}} -Maintenant que l'environnement propre à \Texmaker{} a été présenté, voyons un peu plus dans le détail un dernier point : la compilation. Pour commencer, reprenons le code \og Bonjour monde ! \fg{} utilisé en page \pageref{hello_world} : +Maintenant que l'environnement propre à \Texmaker{} a été présenté, voyons un peu plus dans le détail un dernier point : la compilation. Pour commencer, reprenons le code \og Bonjour monde ! \fg{} utilisé en page \pageref{hello-world} : \begin{code}{Bonjour monde !} \documentclass[]{report} @@ -89,12 +89,12 @@ Bonjour monde ! \end{document} \end{code} -Je suppose que tu as suivi les premières indications fournies en page \pageref{hello_world}, soit ouvrir \Texmaker{}, recopier le code \og Bonjour monde ! \fg{} fourni et enregistrer ton document. +Je suppose que tu as suivi les premières indications fournies, soit ouvrir \Texmaker{}, recopier le code \og Bonjour monde ! \fg{} donné et enregistrer ton document. Si tu n'as pas précisé d'extension, tu remarqueras au passage que ton fichier a été sauvegardé avec l'extension \verb?.tex?, qui correspond à l'extension pour des fichiers \LaTeX{}. \\ Il existe ensuite 3 façons de lancer la compilation de ton document \LaTeX{} : \begin{itemize}[label = \ding{213}] -\item via l'invite de commandes de ton système d'exploitation (le CMD pour les utilisateurs de \Windows{})\dots{} maisje n'en parlerai pas pendant ce guide. +\item via l'invite de commandes de ton système d'exploitation (le CMD pour les utilisateurs de \Windows{})\dots{} mais je n'en parlerai pas pendant ce guide. Sache cependant que c'est possible mais ne présente aucun intérêt comme \Texmaker{} propose des solutions plus pratiques ; diff --git a/Master/texmf-dist/doc/latex/guide-latex-fr/Chapitres/p1-historique.tex b/Master/texmf-dist/doc/latex/guide-latex-fr/Chapitres/p1-historique.tex index c6c8c004d93..9121cb9bad4 100644 --- a/Master/texmf-dist/doc/latex/guide-latex-fr/Chapitres/p1-historique.tex +++ b/Master/texmf-dist/doc/latex/guide-latex-fr/Chapitres/p1-historique.tex @@ -34,7 +34,7 @@ La version actuelle de \LaTeX{} est \LaTeX{}$2\varepsilon$, qui date de 1994. El La dernière version la 1.40.11 date de 2011. pdf\TeX{} n'est plus développé, seules des corrections de bug y sont apportées. -\textbf{C'est ce moteur que nous allons utiliser par la suite,} qui permet de passer du fichier \LaTeX{} au fichier PDF final voulu. +\textbf{C'est ce moteur que nous allons utiliser par la suite,} qui permet de passer directement du fichier \LaTeX{} au fichier PDF final désiré. \subsection*{\'Etymologie et prononciation} diff --git a/Master/texmf-dist/doc/latex/guide-latex-fr/Chapitres/p1-installation.tex b/Master/texmf-dist/doc/latex/guide-latex-fr/Chapitres/p1-installation.tex index f1cf6fcf245..8113893fdb3 100644 --- a/Master/texmf-dist/doc/latex/guide-latex-fr/Chapitres/p1-installation.tex +++ b/Master/texmf-dist/doc/latex/guide-latex-fr/Chapitres/p1-installation.tex @@ -6,7 +6,7 @@ Si tu es un utilisateur d'\Apple{}, je considère déjà ta cause perdue d'avanc \section{Installation de \MiKTeX{}} -\texttt{MiKTeX} est une distribution \LaTeX{}. Bon, je dois t'avouer que je ne sais pas moi-même ce qu'est une distribution\dots{} Ce qui m'intéresse, c'est d'arriver à faire fonctionner l'outil en question. Je vais donc sortir mon joker Wikipédia pour cette fois : +\MiKTeX{} est une distribution \LaTeX{}. Bon, je dois t'avouer que je ne sais pas moi-même ce qu'est une distribution\dots{} Ce qui m'intéresse, c'est d'arriver à faire fonctionner l'outil en question. Je vais donc sortir mon joker Wikipédia pour cette fois : \begin{definition}{Définition d'une distribution (informatique)} {\noindent\huge\bfseries\color{gray!75}\og} @@ -62,7 +62,7 @@ Il est aussi intégralement en français, avantage non négligeable quand tu dé \section{Vérification finale} -\label{hello_world}Si tu tiens à t'assurer que tout fonctionne, tu peux d'ores et déjà procéder à une vérification finale comme décrit ci-après. +Si tu tiens à t'assurer que tout fonctionne, tu peux d'ores et déjà procéder à une vérification finale comme décrit ci-après. \textbf{Si jamais tu rencontres le moindre problème, ne t'attarde pas sur cette partie et poursuis au chapitre suivant,} qui détaille l'utilisation des logiciels récemment installés. \\ @@ -76,6 +76,7 @@ Il est aussi intégralement en français, avantage non négligeable quand tu dé \item Appuyer sur \keys{F6}, attendre un peu, puis aller dans le dossier où tu as sauvegardé le fichier : tu devrais y trouver un PDF avec la ligne \og Bonjour monde ! \fg{} écrite. \end{enumerate} +\label{hello-world} \begin{code}{Bonjour monde !} \documentclass[]{report} diff --git a/Master/texmf-dist/doc/latex/guide-latex-fr/Chapitres/p2-erreurs.tex b/Master/texmf-dist/doc/latex/guide-latex-fr/Chapitres/p2-erreurs.tex index 8a04052ad64..7b963ea3821 100644 --- a/Master/texmf-dist/doc/latex/guide-latex-fr/Chapitres/p2-erreurs.tex +++ b/Master/texmf-dist/doc/latex/guide-latex-fr/Chapitres/p2-erreurs.tex @@ -1,6 +1,6 @@ \chapter{Traitement des erreurs} -\label{chap_erreurs}Les erreurs peuvent être nombreuses sous \LaTeX{} et pas toujours évidentes à corriger. Tout d'abord, nous appelons \og erreur \fg{} en \LaTeX{} tout bout de code qui nuit à la compilation du document et l'empêche de se poursuivre. Une erreur ne permet donc pas au compilateur de produire le fichier PDF espéré. +\label{chap-erreurs}Les erreurs peuvent être nombreuses sous \LaTeX{} et pas toujours évidentes à corriger. Tout d'abord, nous appelons \og erreur \fg{} en \LaTeX{} tout bout de code qui nuit à la compilation du document et l'empêche de se poursuivre. Une erreur ne permet donc pas au compilateur de produire le fichier PDF espéré. Ensuite, il est important de savoir que toutes les erreurs qui vont être abordées sont retournées par \LaTeX{}, suite à la compilation. Ces erreurs sont affichées par \Texmaker{}, dans une fenêtre spécifique tout en bas (bouton \og \verb?Messages/Log? \fg{} en bas à gauche pour faire apparaître la fenêtre \og Informations du compilateur \fg{} si inexistante). @@ -13,15 +13,7 @@ Ensuite, il est important de savoir que toutes les erreurs qui vont être abordà Voyons maintenant la liste des erreurs couramment rencontrées quand tu débutes avec \LaTeX{}, et mes conseils personnels pour les éviter, synthétisée sous forme d'un tableau. \\ -\begin{longtable}{p{0.45\linewidth}p{0.45\linewidth}} -% Définition des headers & footers du longtable -{\hspace*{\fill}\textsc{Les erreurs courantes}\hspace*{\fill}} & {\hspace*{\fill}\textsc{Comment les corriger}\hspace*{\fill}} \\ \hline -\endhead -& \hfill\textit{(suite sur la page suivante)} \\ -\endfoot -\multicolumn{2}{@{\hrulefill}c@{\hrulefill}}{\raisebox{-3pt}{~~\textsc{Fin du tableau}~~}} -\endlastfoot -% Contenu du longtable +\begin{tableaubilan}{0.45\linewidth}{0.45\linewidth}{Les erreurs courantes}{Comment les corriger} \verb?Missing $ inserted? & 2 cas fréquents : \begin{itemize}[label = \ding{213}, leftmargin = *] \item oubli de fermer un mode mathématiques $\Rightarrow$ le fermer avec le symbole \verb?$? manquant ; \item emploi d'un symbole propre au mode mathématiques (\verb?^? ou \verb?_? par exemple) $\Rightarrow$ supprimer le \verb?^? inutile ou utiliser la commande \verb?\_? pour afficher un \textit{underscore} en mode texte. @@ -43,10 +35,10 @@ Voyons maintenant la liste des erreurs couramment rencontrées quand tu débutes \verb?Option clash for package? \par \verb?<nom_package>? & Conflit entre certains packages. \par $\Rightarrow$ Charger les packages dans un ordre bien précis. (exemple : package \verb?xcolor? avanr \verb?wallpaper?). \\ \\ -\verb?Extra alignment tab has? \par \verb?been changed to \cr? & Erreur dans un tableau : oubli hautement probable d'indiquer un changement de ligne (\verb?\\?). \par $Rightarrow$ Ajouter le \verb?\\? manquant. \\ \\ +\verb?Extra alignment tab has? \par \verb?been changed to \cr? & Erreur dans un tableau : oubli hautement probable d'indiquer un changement de ligne (\verb?\\?). \par $\Rightarrow$ Ajouter le \verb?\\? manquant. \\ \\ \verb?! [...] \begin{document}? \par \verb?ended by \end{<env>}? \par ou \par \verb?! [...] \begin{<env>}? \par \verb?[...] ended by \end{document}? & Environnement mal ouvert ou fermé. Très fréquent à cause de l'auto-complétion. \par $\Rightarrow$ Aller à la ligne indiquée par l'erreur, regarder l'environnement concerné, corriger selon le besoin. -\end{longtable} +\end{tableaubilan} Voilà dans les grandes lignes les principales erreurs que j'ai recensées jusqu'à présent. Avec l'expérience, tu verras que tu en feras de moins en moins ou que tu les corrigeras très rapidement. diff --git a/Master/texmf-dist/doc/latex/guide-latex-fr/Chapitres/p2-images.tex b/Master/texmf-dist/doc/latex/guide-latex-fr/Chapitres/p2-images.tex index 0df289fc060..123ef36b850 100644 --- a/Master/texmf-dist/doc/latex/guide-latex-fr/Chapitres/p2-images.tex +++ b/Master/texmf-dist/doc/latex/guide-latex-fr/Chapitres/p2-images.tex @@ -1,8 +1,8 @@ \chapter{Insérer des images} -\label{chap_img}\lettrine{U}{ne} bonne image suffit des fois à remplacer 13 lignes de texte. Découvrons quelques spécificités à leur sujet et comment en insérer sous \LaTeX{}. \\ +\label{chap-img}\lettrine{U}{ne} bonne image suffit des fois à remplacer 13 lignes de texte. Découvrons quelques spécificités à leur sujet et comment en insérer sous \LaTeX{}. \\ -\input{./Chapitres/code_base} +\input{./Chapitres/code-base} \section{Les formats d'images} @@ -150,7 +150,7 @@ Visuellement, nous pouvons considérer l'environnement flottant comme une boîte \draw[Green] (1,-1) node {Image} rectangle (\linewidth-1cm,-3); \draw[cyan] (2,-4) node {Légende} rectangle (\linewidth-2cm,-5); -\draw[<->, > = stealth, red, line width = 5pt] (0.5,-2) -- (0.5,-4); +\draw[<->, > = Stealth, red, line width = 5pt] (0.5,-2) -- (0.5,-4); \end{tikzpicture} \caption{Schématisation d'un environnement flottant} \end{figure} @@ -252,7 +252,7 @@ Bien, voyons maintenant comment faire référence à une image. \section{Les références} -Une image, une équation, un tableau, une partie\dots{} tous ces outils sont bien pratiques mais que valent-ils si tu ne peux y faire référence ? Par exemple, comment écrire \textbf{automatiquement} \og cf. l'image n\degres{}$x$ page $y$ \fg{} ? +Une image, une équation, un tableau, une partie\dots{} tous ces outils sont bien pratiques mais que valent-ils si tu ne peux y faire référence ? Par exemple, comment écrire \textbf{automatiquement} \og cf. l'image \no{}$x$ page $y$ \fg{} ? Le but est bel et bien d'avoir une numérotation automatique : c'est bien plus pratique et moins fatiguant que de devoir corriger tout ton document à la main (et même impossible et impensable sur un rapport de plusieurs centaines de pages). @@ -395,4 +395,4 @@ Pour terminer, si tu veux t'amuser un peu, voici un premier aperçu d'une autre Il existe pas mal d'autres options, ainsi que la très pratique commande \verb?\resizebox?, que nous aurons la chance de recroiser plus tard dans ce guide. Mais je te laisse aller lire la documentation officielle\footnote{Disponible sur \url{https://ctan.org/pkg/graphicx}.}. Les explications de base sont sur ce guide et c'est ce qui m'importe. \\ -Et voilà , tu approches de la fin de ce guide. Tu peux clairement t'arrêter après le \autoref{chap_erreurs} \nameref{chap_erreurs} et revenir à ce guide beaucoup plus tard selon tes besoins.
\ No newline at end of file +Et voilà , tu approches de la fin de ce guide. Tu peux clairement t'arrêter après le \autoref{chap-erreurs} \nameref{chap-erreurs} et revenir à ce guide beaucoup plus tard selon tes besoins.
\ No newline at end of file diff --git a/Master/texmf-dist/doc/latex/guide-latex-fr/Chapitres/p2-maths.tex b/Master/texmf-dist/doc/latex/guide-latex-fr/Chapitres/p2-maths.tex index 94af36ef98f..b0f7870476c 100644 --- a/Master/texmf-dist/doc/latex/guide-latex-fr/Chapitres/p2-maths.tex +++ b/Master/texmf-dist/doc/latex/guide-latex-fr/Chapitres/p2-maths.tex @@ -1,8 +1,8 @@ \chapter{Les mathématiques sous \LaTeX{}} -\label{chap_maths}\lettrine{C}{omme} tu peux le constater, il y a fort à faire sous \LaTeX{}. Les combinaisons sont déjà impressionnantes. Je te laisse maintenant découvrir la raison d'être de \LaTeX{}, ce pourquoi il a été créé : écrire proprement des formules mathématiques ! \\ +\label{chap-maths}\lettrine{C}{omme} tu peux le constater, il y a fort à faire sous \LaTeX{}. Les combinaisons sont déjà impressionnantes. Je te laisse maintenant découvrir la raison d'être de \LaTeX{}, ce pourquoi il a été créé : écrire proprement des formules mathématiques ! \\ -\input{./Chapitres/code_base} +\input{./Chapitres/code-base} \section{Le mode mathématiques} @@ -221,7 +221,7 @@ Bien, maintenant que les choses sont correctement posées, tu peux avoir le meil En effet, écrire $(\cfrac{a}{b})$ et $\left( \cfrac{a}{b} \right)$ sont deux choses totalement différentes. \LaTeX{} est donc capable d'adapter la taille des parenthèses, crochets, accolades et autres, en mode mathématiques, et toujours à condition de le lui signaler. Cette particularité est appelé un \textit{délimiteur}. \begin{regles}{Les règles élémentaires des délimiteurs} -\begin{enumerate}[label = \textbf{\color{BrickRed}Règle \no\arabic* :}, leftmargin = *] +\begin{enumerate}[label = \textbf{\color{BrickRed}Règle \no\arabic*{} :}, leftmargin = *] \item Un délimiteur n'existe qu'en mode mathématiques. \item \textbf{Un délimiteur entrant implique un délimiteur sortant.} @@ -273,7 +273,7 @@ Je préfère le répéter au cas où mais il faut naturellement employer le mode Ce n'est pas compliqué mais c'est aussi soumis à quelques règles. Je préfère donc bien les poser maintenant car nous en aurons besoin un peu plus loin dans ce guide : \begin{regles}{Règles de base pour les matrices -- Introduction aux tableaux} -\begin{enumerate}[label = \textbf{\color{BrickRed}Règle \no\arabic* :}, leftmargin = *] +\begin{enumerate}[label = \textbf{\color{BrickRed}Règle \no\arabic*{} :}, leftmargin = *] \item Il faut considérer une matrice $n \times m$ comme un tableau vide à $n \times m$ cases. \item Une matrice est générée par l'environnement \verb?pmatrix?. @@ -368,7 +368,7 @@ n & = & 20 \\ Pour obtenir ce résultat avec des équations bien alignées, tu dois utiliser l'environnement \verb?align? (ou \verb?align*? pour éviter la numérotation de chaque ligne). -\begin{attention}{\textbf{Ne pas utiliser \texttt{eqnarray} !!!}} +\begin{attention}{\textbf{Ne pas utiliser \verb?eqnarray? !!!}} Après avoir vagabondé sur Internet et essayé différents rendus, je préfère utiliser \verb?align?. Après d'autres recherches, Lars \textsc{Madsen} préconise lui aussi très fortement l'usage de \verb?align? et recommande de bannir toute utilisation de \verb?eqnarray? (un autre environnement pour aligner des équations)\footnote{Article disponible sur : \url{http://www.tug.org/pracjourn/2006-4/madsen/madsen.pdf}.}. \\ S'il y a donc un point à retenir : \textbf{\og Avoid \verb?eqnarray? ! \fg{}} et utilise bien l'environnement \verb?align?. diff --git a/Master/texmf-dist/doc/latex/guide-latex-fr/Chapitres/p2-regles.tex b/Master/texmf-dist/doc/latex/guide-latex-fr/Chapitres/p2-regles.tex index 6104dd037ee..18493be0a12 100644 --- a/Master/texmf-dist/doc/latex/guide-latex-fr/Chapitres/p2-regles.tex +++ b/Master/texmf-dist/doc/latex/guide-latex-fr/Chapitres/p2-regles.tex @@ -5,7 +5,7 @@ Ces règles sont officieuses : je les ai élaborées à partir de mon expérience personnelle avec \LaTeX{}. Elles restent donc pragmatiques et peuvent paraître un peu farfelues mais sont importantes à mes yeux : \begin{regles}{Les 5 règles pragmatiques} -\begin{enumerate}[label = \textbf{\color{BrickRed}Règle \no\arabic* :}, leftmargin = *] +\begin{enumerate}[label = \textbf{\color{BrickRed}Règle \no\arabic*{} :}, leftmargin = *] \item Tout est possible en \LaTeX{}\footnote{Y compris écrire des partitions de musique : \url{http://fr.wikibooks.org/wiki/LaTeX/\%C3\%89crire_de_la_musique}}. \item La règle \no{}1 est toujours vraie. @@ -25,7 +25,7 @@ Passons maintenant sur des règles plus concrètes vis-à -vis de l'écriture d'u Pour écrire du code \LaTeX{}, il existe 3 règles, suffisamment importantes à mon sens pour être en or : \begin{regles}{Les 3 règles d'or en \LaTeX{}} -\begin{enumerate}[label = \textbf{\color{BrickRed}Règle d'or \no\arabic* :}, leftmargin = *] +\begin{enumerate}[label = \textbf{\color{BrickRed}Règle d'or \no\arabic*{} :}, leftmargin = *] \item Toute commande \LaTeX{} débute par un \textit{backslash} ``\verb?\?''. \Windows{} : \keys{\AltGr + 8} @@ -87,7 +87,7 @@ Plusieurs points importants sont à retenir : \item la zone entre \verb?\documentclass? et \verb?\begin{document}? s'appelle le préambule. Je décris cette partie en \ref{preambule} \nameref{preambule}, p. \pageref{preambule} ; -\item un premier exemple d'illustration de la règle d'or n\degres{}3 : un \verb?begin? implique un \verb?end?. +\item un premier exemple d'illustration de la règle d'or \no{}3 : un \verb?begin? implique un \verb?end?. Seuls le texte et les commandes \LaTeX{} écrits entre \verb?\begin{document}? et \verb?\end{document}?, hormis les commentaires, sont interprétés par \LaTeX{} lors de sa création du fichier PDF final ; @@ -100,7 +100,7 @@ Il existe plusieurs classes, à renseigner à l'endroit où il y a écrit \verb? La partie \verb?options? permet ensuite de renseigner toutes les options propres à une classe. Les plus communs sont la taille du papier (A4 : \verb?a4paper?, A5 : \verb?a5paper?) ainsi que la taille de police de base (\verb?10pt?, \verb?11pt? ou \verb?12pt?). Mais il en existe d'autres, en fonction des classes utilisées. \\ -\textbf{Personnellement, je recommande de commencer un nouveau document} par \verb?\documentclass[a4paper, 12pt]{report}?. Ce choix convient pour 90~\% des cas : ainsi, le risque de problème est moindre. +\textbf{Personnellement, je recommande de commencer un nouveau document} par \verb?\documentclass[a4paper, 12pt]{report}?. Ce choix convient pour 90~\% des cas : ainsi, le risque de problème est moindre. \textcolor{orange}{Toutefois, si tu as un petit rapport d'une vingtaine de pages à rédiger, la classe \verb?article? constitue aussi un choix judicieux.} Néanmoins, il faut bien garder à l'esprit que d'autres options de présentation de document existe (\verb?book?, \verb?article? ou \verb?letter?). Ces derniers peuvent toujours servir. @@ -120,25 +120,24 @@ C'est bon ? Toujours là ? Tu verras, avec de la pratique, les bases vont rentre \section{Les packages} -\label{preambule}Si le lecteur curieux ne s'est pas encore empressé de faire des essais, je lui recommande d'essayer le code suivant : +\label{preambule}Si le lecteur curieux ne s'est pas encore empressé de faire des essais, je lui recommande d'essayer le code suivant :\footnote{Les sauts de ligne sont importants pour la lisibilité (règle pragmatique \no{}3).} \begin{code}{Un premier essai} \documentclass[a4paper, 12pt]{report} + \begin{document} J'aime écrire en \LaTeX{} ! \end{document} - -% N.B. : Les sauts de ligne, c'est important pour la lisibilité (règle pragmatique n°3) \end{code} Si jamais tu ne sais pas quoi faire du code, je ne peux que t'inviter à te rendre en page \pageref{compilation_intro}. Tu y trouveras tout un chapitre consacré à la compilation sous \LaTeX{}, soit l'étape pour transformer ton code en un PDF ! \\ \\ Normalement, suite à la compilation, tu as dû obtenir : \begin{center} J'aime crire en \LaTeX{} ! \end{center} -Analysons le résultat. La règle d'or n\degres{}1 commence à prendre du sens : une commande \LaTeX{} commence par un \textit{backslash} ``\verb?\?'' (Ou contre-oblique pour les puristes). Cette commande me permet d'écrire le mot \og LaTeX \fg{} d'une manière plus élégante. +Analysons le résultat. La règle d'or \no{}1 commence à prendre du sens : une commande \LaTeX{} commence par un \textit{backslash} ``\verb?\?'' (ou contre-oblique pour les puristes). Cette commande me permet d'écrire le mot \og LaTeX \fg{} d'une manière plus élégante. Par contre, aucune trace du ``é''. C'est bizarre : moi j'arrive à l'écrire sans souci ! C'est parce que tu n'as pas dit à \LaTeX{} d'écrire en \texttt{UTF-8}\footnote{L'\texttt{UTF-8} est un codage de caractères informatiques, qui tolère les accents : \url{http://fr.wikipedia.org/wiki/UTF-8}.} ! \\ diff --git a/Master/texmf-dist/doc/latex/guide-latex-fr/Chapitres/p2-tableaux.tex b/Master/texmf-dist/doc/latex/guide-latex-fr/Chapitres/p2-tableaux.tex index 015b04a792b..87061e64b53 100644 --- a/Master/texmf-dist/doc/latex/guide-latex-fr/Chapitres/p2-tableaux.tex +++ b/Master/texmf-dist/doc/latex/guide-latex-fr/Chapitres/p2-tableaux.tex @@ -1,8 +1,8 @@ \chapter{Les tableaux et boîtes sous \LaTeX{}} -\label{chap_table}\lettrine{S}{ynthétiser} l'information n'est pas toujours évident. Et pourtant, un bon tableau suffit parfois à véhiculer un message ou à lister des éléments. Voyons comment en créer sous \LaTeX{}. \\ +\label{chap-table}\lettrine{S}{ynthétiser} l'information n'est pas toujours évident. Et pourtant, un bon tableau suffit parfois à véhiculer un message ou à lister des éléments. Voyons comment en créer sous \LaTeX{}. \\ -\input{./Chapitres/code_base} +\input{./Chapitres/code-base} \section{Conventions} diff --git a/Master/texmf-dist/doc/latex/guide-latex-fr/Chapitres/p2-texte.tex b/Master/texmf-dist/doc/latex/guide-latex-fr/Chapitres/p2-texte.tex index 091e3a3a9d5..9cc8be7ebe8 100644 --- a/Master/texmf-dist/doc/latex/guide-latex-fr/Chapitres/p2-texte.tex +++ b/Master/texmf-dist/doc/latex/guide-latex-fr/Chapitres/p2-texte.tex @@ -1,8 +1,8 @@ \chapter{Gestion du texte et mise en forme} -\label{chap_texte}\lettrine{M}{aintenant} que nous connaissons les règles de base pour faire du \LaTeX{} et que les packages ont été introduits, nous allons pouvoir commencer à écrire du texte sous \LaTeX{}. \\ +\label{chap-texte}\lettrine{M}{aintenant} que nous connaissons les règles de base pour faire du \LaTeX{} et que les packages ont été introduits, nous allons pouvoir commencer à écrire du texte sous \LaTeX{}. \\ -\input{./Chapitres/code_base} +\input{./Chapitres/code-base} \section{Notre premier texte} @@ -78,13 +78,13 @@ Bref, beaucoup de façons de sauter des lignes, de manière plutôt concise. Enfin, sache qu'il est possible de rentrer des valeurs négatives, comme \verb?-13mm? ou \verb?-215pt?. C'est surtout pratique pour remonter du texte lors de montages, voire des images si besoin. Je recommande juste de limiter cette pratique : tu risques de perdre beaucoup de temps à ajuster ton document. -\begin{attentionbox}{Une question ?} +\begin{attention}{Une question ?} \og Que se passe-t-il si je vais juste à la ligne dans mon code \LaTeX{} ? \fg{} \\ Rien. Seul un saut de ligne à l'écran compte comme un retour à la ligne. Cependant, pour obtenir un retour à la ligne sur ton document, tu peux aussi terminer ta phrase par la commande \verb?\\? et faire un simple retour à la ligne dans ton code. -\end{attentionbox} +\end{attention} Bon, maintenant que nous avons toutes les cartes en main pour écrire des paragraphes, passons à de la mise en forme. @@ -94,7 +94,7 @@ Bon, maintenant que nous avons toutes les cartes en main pour écrire des paragr Si tu veux mettre un texte en gras ou en italique, il faut donc l'indiquer à \LaTeX{} par le biais de commandes bien spécifiques : -\begin{codedisplay}{Gras \& italique} +\begin{codedisplay}{\textbf{Gras} \& \textit{italique}} \textbf{texte en gras} \\ \textit{texte en italique} @@ -288,7 +288,7 @@ Il existe plusieurs possibilités pour numéroter les différents titres de ton \item \verb?\alph? : pour avoir des lettres minuscules soit a, b, c\dots{} ; -\item \verb?\Alph? : pour avoir des lettres majuscules soit A, B, C\dots{}. \\ +\item \verb?\Alph? : pour avoir des lettres majuscules soit A, B, C\dots{}. \end{itemize} \subsection*{Titre sans numérotation} @@ -331,8 +331,8 @@ Ajouter \verb?breaklinks? dans les options du package \verb?hyperref? permet de \begin{code}{Le sommaire -- Bilan} % Ajout au PREAMBULE -%\usepackage[hyphens]{url} % Pour des césures correctes dans les URLs -%\usepackage[pdfauthor = {{Prénom Nom}}, pdftitle = {{Titre document}}, pdfstartview = Fit, pdfpagelayout = SinglePage, pdfnewwindow = true, bookmarksnumbered = true, breaklinks, colorlinks, linkcolor = red, urlcolor = black, citecolor = cyan, linktoc = all]{hyperref} % Renvois -- Options Adobe/lecteur PDF +\usepackage[hyphens]{url} % Pour des césures correctes dans les URLs +\usepackage[pdfauthor = {{Prénom Nom}}, pdftitle = {{Titre document}}, pdfstartview = Fit, pdfpagelayout = SinglePage, pdfnewwindow = true, bookmarksnumbered = true, breaklinks, colorlinks, linkcolor = red, urlcolor = black, citecolor = cyan, linktoc = all]{hyperref} % Renvois -- Options Adobe/lecteur PDF \begin{document} @@ -412,8 +412,7 @@ Bon, maintenant que nous avons un magnifique sommaire, est-il possible d'ajouter Comme pour le sommaire, il faut d'abord créer la page de garde puis indiquer à \LaTeX{} de l'afficher. Pour la créer, il faut remplir les informations suivantes : \begin{code}{La page de garde -- Création} -% A mettre dans le préambule -% ou après \begin{document} +% Ajout dans le préambule ou après \begin{document} % Titre @@ -615,7 +614,7 @@ J'ai décidé de mettre le texte en gras, mais rien ne m'empêche en cours de rà \textbf{C'est aussi pourquoi je recommande de placer tous les \verb?newcommand? dans le préambule :} c'est plus pratique pour les retrouver s'ils sont tous au même endroit, au lieu d'être dispersés dans le document. -\begin{attentionbox}{Une question ?} +\begin{attention}{Une question ?} \og Pourquoi, dans le second cas, n'y a-t-il pas d'espaces dans le résultat entre \texttt{SAV} et \texttt{propose} ? \fg{} \\ Tu as l'\oe{}il ! Suite à une commande, \LaTeX{} ignore les espaces. Tu peux en ajouter un à la fin de la commande mais il y en aura alors aussi un après la virgule. \\ @@ -623,7 +622,7 @@ Tu as l'\oe{}il ! Suite à une commande, \LaTeX{} ignore les espaces. Tu peux en Pour indiquer à \LaTeX{} la fin de la commande, il faut donc la fermer avec des accolades. C'est ce que je fais par exemple lorsque j'écris \LaTeX{} : le code derrière est \verb?\LaTeX{}?. Il aurait donc fallu écrire dans mon exemple : \verb?notre \SAV{} vous? et \verb?notre \SAV{}, vous?. -\end{attentionbox} +\end{attention} Tu ne trouves pas cet aspect utile pour l'instant mais tu verras que, quand tu prendras un peu d'expérience, tu finiras par créer toi-même tes commandes pour plus de simplicité et de rapidité. \\ @@ -633,29 +632,28 @@ Bien, continuons. C'est quoi déjà la suite ? Ah oui, les listes. \subsection*{La base} -Les listes (à puces ou numérotées) sont des outils fort pratiques quand il s'agit d'énumérer des éléments, faire un inventaire ou décrire des étapes. - -Les listes peuvent donc être soit \textcolor{orange}{non numérotées} (listes dites \og à puces \fg{} : tiret, rond, autres symboles) : il faut alors utiliser l'\textcolor{orange}{environnement \verb?itemize?} ; soit \textcolor{cyan}{numérotées} (numéro ou lettre) : il faut donc passer par l'\textcolor{cyan}{environnement \verb?enumerate?}. +Les listes (à puces ou numérotées) sont très pratiques quand il s'agit d'énumérer des éléments, faire un inventaire ou décrire des étapes. -Pour faire apparaître une puce ou un numéro, il faut utiliser la commande \verb?\item?. \\ +Les listes peuvent donc être soit \textcolor{orange}{non numérotées} (listes dites \og à puces \fg{} : tiret, rond, autres symboles), avec l'\textcolor{orange}{environnement \verb?itemize?} ; soit \textcolor{cyan}{numérotées} (numéro ou lettre), grâce à l'\textcolor{cyan}{environnement \verb?enumerate?}. \\ -Voyons plutôt le résultat avec un exemple : +Pour définir une puce ou un numéro, il faut utiliser la commande \verb?\item?. Voyons plutôt le résultat avec un exemple : -\begin{codedisplay}{Les listes} +\begin{codedisplay}{Une liste à puces} Détail de la chambre : \begin{itemize} \item un lit ; -% Le saut de ligne est optionnel -% --> aération du code LaTeX +% Saut de ligne optionnel (aérer) \item une armoire ; \item et un bureau. \\ % Saut de ligne (\\) licite pour aérer le texte \end{itemize} +\end{codedisplay} -Pour écrire facilement en \LaTeX{}, il faut : +\begin{codedisplay}{Une liste numérotées} +Pour écrire sous \LaTeX{}, il faut : \begin{enumerate} \item Apprendre les bases. @@ -672,7 +670,7 @@ Normalement, tu devrais avoir un résultat un peu différent du mieux : les tire Tout va bien ! J'ai juste une configuration par défaut de \LaTeX{} qui génère ce rendu. Tu peux donc constater que créer des listes sous \LaTeX{} se révèle très facile. Voyons maintenant comment les personnaliser à notre guise ? -\subsection{Personnalisation des listes} +\subsection*{Personnalisation des listes} Pour personnaliser ses listes, il existe un package incontournable : le package \verb?enumitem?. Combiné avec le package \verb?pifont? pour obtenir des symboles supplémentaires et donc avoir de nouvelles puces, c'est la meilleure combinaison possible pour personnaliser simplement ses listes. diff --git a/Master/texmf-dist/doc/latex/guide-latex-fr/Chapitres/p3-TikZ.tex b/Master/texmf-dist/doc/latex/guide-latex-fr/Chapitres/p3-TikZ.tex deleted file mode 100644 index e9a31082a1f..00000000000 --- a/Master/texmf-dist/doc/latex/guide-latex-fr/Chapitres/p3-TikZ.tex +++ /dev/null @@ -1,900 +0,0 @@ -\chapter{Dessiner avec \texttt{TikZ}} - -\label{chap_dessin_tikz}Le seul moyen de pouvoir profiter de toutes les fonctionnalités \LaTeX{} précédemment décrites nécessite de compiler, \textit{a minima}, sous \verb?PDFLaTeX? (ou \verb?XeLaTeX? s'il y a un changement de police). Dans ce cas, pour dessiner, il faut utiliser \texttt{TikZ}. - -Si, comme moi, tu étais un habitué de \texttt{PSTricks}, il peut sembler déroutant de passer à \texttt{TikZ} mais, avec la pratique, il devient facile de réaliser simplement quelques figures. Mais ce n'est pas tout. \texttt{TikZ} est aussi extrêmement puissant, avec énormément de possibilités, comme tu vas pouvoir le découvrir. \\ - -Et si jamais tu t'intéresses à la documentation officielle\footnote{Disponible sur le site du CTAN par exemple, directement sur : \url{http://www.ctan.org/pkg/pgf}}, sache qu'il faut mieux aller d'abord regarder le sommaire ou l'index. Avec plus de 1000 pages d'aide et de code, elle est plutôt bien fournie ! - -\section{Démarrer sous \texttt{TikZ}} - -Tu vas difficilement pouvoir utiliser \texttt{TikZ} si tu ne charges pas le package associé : \verb?tikz?. Si, comme nous le verrons plus tard, tu dois charger des fonctionnalités supplémentaires de \texttt{TikZ}, il faut utiliser, \textbf{juste après} avoir chargé le package, la commande \verb?\usetikzlibrary{nom}?. - -Quant au dessin en lui-même, tout comme pour \texttt{PSTricks}, il faut charger un environnement. Ici, il se nomme \verb?tikzpicture? et n'a pas besoin d'options supplémentaires comme la taille du cadre. Bien au contraire, \texttt{TikZ} produit toujours le résultat le plus compact possible, comme nous le verrons dans un exemple juste après. \\ - -\textcolor{BrickRed}{\textbf{Il existe une règle capitale sous \texttt{TikZ} :}} chaque qui utilise une commande propre à \texttt{TikZ} se termine par un ``\verb?;?''. Toujours. C'est le seul point important à retenir. Tout le reste va finir par rentrer avec un peu de pratique. - -Ensuite, s'il est plus courant de travailler avec des coordonnées cartésiennes $(x,y)$, sache aussi que les coordonnées polaire $(\theta:R)$ sont disponibles, écrites dans le même format que précédemment. \\ - -Ensuite, pour commencer en douceur, le tracé d'un trait sous \texttt{TikZ} se fait de la manière suivante : \begin{center} \verb?\draw (x0,y0) -- (x1,y1);? \end{center} - -La commande \verb?\draw? permet de garantir le tracé tandis que les points à relier par un trait sont donc séparés par ``\verb?--?''. Il existe des fonctions propres à \texttt{TikZ} pour tracer un rectangle -- \verb?(x0,y0) rectangle (x1,y1)? -- ou un cercle -- \verb?(x,y) circle (R)?. Il faut continuer d'utiliser la commande \verb?\draw? au préalable. - -Il est aussi possible d'augmenter l'épaisseur du trait ou de changer sa couleur grâce à des options à introduire entre crochets ``\verb?[]?'', de la manière suivante : \begin{center} \verb?\draw[options] ...;? \end{center} - -Je ne vais pas m'amuser à lister toutes les options possibles et envisageables. Les plus basiques sont présentées ci-après. Les autres sont à chercher en fonction des besoins. \\ - -Bien, voici un premier exemple pour avoir un aperçu concret des bases : - -\begin{code}{Démarrer sous \texttt{TikZ}} -\documentclass[a4paper, 12pt]{report} - -\usepackage{tikz} - - -\begin{document} - -\begin{tikzpicture} -\draw (0,0) -- (1,1); % Trait entre (0,0) et (1,1) -\end{tikzpicture} -\hfill -\begin{tikzpicture} -\draw (2,2) -- (3,3); % Trait entre (2,2) et (3,3) ... sur le code ! -% Dans le rendu final, aucune différence avec le code précédent -\end{tikzpicture} -\hfill -\begin{tikzpicture} -\draw (0,0) rectangle (1,1); -\end{tikzpicture} -\hfill -\begin{tikzpicture} -\draw (0.5,0.5) circle (0.5); -\end{tikzpicture} - -\vspace{\baselineskip} - -% Augmenter l'espace blanc autour de l'image (nécessaire de temps en temps) -% --> Créer une forme "incolore" (blanche par défaut) suffisamment grande -\begin{tikzpicture} -\draw[white] (0,0) rectangle (13,2); -%\draw[red] (0,0) rectangle (13,2); - -\draw (6,0) -- (7,1); -\end{tikzpicture} - -\vspace{\baselineskip} - -% Un apercu des options de base -\begin{tikzpicture} -% Epaisseur du trait : line width = "longueur" -\draw[line width = 1.3mm] (0,0) -- (1,1); -\draw[line width = 5pt] (2,1) -- (3,0); - -% Le "pt" est l'unité par défaut dans les options -\draw[line width = 8] (4,0) -- (5,1); -% Mais les coordonnées sont par défaut en "cm" -\end{tikzpicture} -%\hfill -\begin{tikzpicture} -% Epaisseur du trait : tailles prédéfinies -\draw[thin] (0,0) -- (1,1); -\draw[thick, dashed] (2,1) -- (3,0); % Ligne en tirets -\draw[ultra thick, dotted] (4,0) -- (5,1); % Ligne en pointillés -\end{tikzpicture} -%\hfill -\begin{tikzpicture} -% Changement de couleur d'un trait -\draw[blue] (0,0) -- (1,1); % Plus concis et écriture implicite -\draw[color = orange] (2,1) -- (3,0); % Le nom de l'option -\end{tikzpicture} - -\vspace{\baselineskip} - -\begin{tikzpicture} -% Changement de couleur d'un contour fermé (contour) -\draw[red] (0,0) rectangle (1,1); -\draw[color = green] (2,1) rectangle (3,0); -\draw[draw = purple] (4,0) rectangle (5,1); % Option étrange mais va prendre son sens après -\end{tikzpicture} -\hfill -\begin{tikzpicture} -% Changement de couleur d'un contour fermé (remplissage) -\draw[fill = red] (0,0) rectangle (1,1); % draw de base (donc contour noir) avec remplissage rouge -\fill[color = green] (2,1) rectangle (3,0); % Remplissage pur (sans contour) -\fill[fill = purple] (4,0) rectangle (5,1); % Idem -\end{tikzpicture} - -\vspace{\baselineskip} - -\begin{tikzpicture} -% Changement de couleur d'un contour fermé (contour ET remplissage) -\draw[red, fill = blue] (0.5,0.5) circle (0.5); -\draw[draw = green, fill = orange] (2.5,0.5) circle (0.5); -\filldraw (4.5,0.5) circle (0.5); % Nouvelle commande : contour et remplissage -\filldraw[brown] (6.5,0.5) circle (0.5); -\filldraw[pink, draw = gray] (8.5,0.5) circle (0.5); % etc. -\end{tikzpicture} - -\end{document} -\end{code} - -Tu as tout compris ? Il existe plein d'options extrêmement pratiques mais la couleur et l'épaisseur du trait sont les plus couramment utilisées au début. Il existe aussi des épaisseurs prédéfinies, qui fonctionnent très bien et évitent de perdre du temps à trouver la ``bonne'' épaisseur : - -\begin{itemize}[label = \ding{118}] -\begin{multicols}{2} \raggedcolumns -\item \verb?ultra thin? : 0.1pt, - -\item \verb?very thin? : 0.2pt, - -\item \verb?thin? : 0.4pt (défaut), - -\item \verb?semithick? : 0.6pt, - -\item \verb?thick? : 0.8pt, - -\item \verb?very thick? : 1.2pt, - -\item \verb?ultra thick? : 1.6pt. -\end{multicols} -\end{itemize} - -Essayons maintenant de tracer des figures un peu plus complexes désormais, avec des coordonnées polaires pour changer et les manipuler un peu. - -\section{Un polygone régulier} - -Je pense que tu dois avoir déjà entendu parler d'un polygone régulier. Pour la faire simple et éviter de faire mon pédant trop longtemps, il s'agit d'une figure géométrique fermée, à $N$ côtés de même longueur. - -Une façon très simple d'en créer consiste à passer par des coordonnées polaires. En effet, les sommets $S_i$ d'un polygone régulier sont tous placés sur un cercle de centre $O$ quelconque, de rayon $R$ et la droite $(OS_i)$ forme un angle de $\frac{i \times 360}{N}$ avec l'axe des abscisses. \\ - -Enfin, pour revenir sur l'utilisation de \texttt{TikZ} en elle-même, il faut savoir que toute figure définie par des traits et dont le point d'arrivée coïncide avec le point de départ (figure fermée) doit se conclure de la manière suivante : \verb?-- cycle;?. - -Cette commande permet de proprement fermer la figure. Je te laisse aller faire des recherches ou des essais pour voir la différence avec une fermeture manuelle. Allons plutôt dessiner un polygone régulier, comme un triangle équilatéral pour commencer simplement : - -\begin{code}{Un triangle équilatéral} -\documentclass[a4paper, 12pt]{report} - -\usepackage{tikz} - - -\begin{document} - -% Triangle équilatéral, inscrit dans un cercle de rayon R -% Coordonnées polaires ==> centre (0,0) -\begin{center} -\begin{tikzpicture} -% Rayon R choisi arbitrairement à 3cm -\draw (90:3) -- (210:3) -- (330:3) -- cycle; -\draw[green] (60:3) -- (180:3) -- (300:3) -- cycle; % Une autre possibilité -\draw[red] circle (3); % Pas de centre ==> (0,0) par défaut -\end{tikzpicture} -\end{center} - -\end{document} -\end{code} - -Avouons que c'est plus pratique que de devoir placer 2 points et calculer la position du dernier, surtout si les calculs ne donnent pas une valeur exacte. Ici, notre triangle est bel et bien équilatéral. Il est aussi possible de passer par des points définis au préalable : - -\begin{code}{Définir des points} -\documentclass[a4paper, 12pt]{report} - -\usepackage{tikz} - - -\begin{document} - -% Le principe : -% \coordinate (nom_point) at (x,y)/(theta:R); -\begin{center} -\begin{tikzpicture} -\coordinate (A) at (90:3); -\coordinate (B) at (210:3); -\coordinate (C) at (330:3); - -\draw (A) -- (B) -- (C) -- cycle; -\end{tikzpicture} -\end{center} - -\end{document} -\end{code} - -\section{Automatiser les dessins} - -Bon, tracer un triangle équilatéral, c'est bien. Tracer un hexagone, avec un copier-coller et un peu de patience, c'est faisable. Un tridécagone (polygone régulier à 13 côtés) \dots{} bon, rien d'impossible mais le copier-coller et les modifications ne constituent clairement pas une solution optimale. - -Fort heureusement, il existe le principe des coordonnées absolues et relatives. Pour faire simple, tracer un dessin grâce à une série de coordonnées absolues revient à connaître les positions de toutes les coordonnées par rapport à un repère, l'origine $(0,0)$ généralement mais il peut aussi s'agir d'un autre point. - -Avec les coordonnées relatives, peu importe la position exacte de tous les points : il suffit juste de connaître la position d'un point par rapport à celui qui le précède ! \\ - -Sous \texttt{TikZ}, les coordonnées absolues ne requiert aucune option spécifique, hormis la position du point. Les coordonnées relatives sont reconnaissables grâce au ``\verb?++?'' et il existe un mix des deux, un peu subtil, qui utilise un ``\verb?+?''. - -L'aide officielle peut servir à commencer à digérer mes explications : \og You can add a single + sign in front of a coordinate or two of them as in +(1cm,0cm) or ++(0cm,2cm). Such coordinates are interpreted differently. The first form means ``1cm upwards from the previous specified position'' ; the second means ``2cm to the right of the previous specified position, \textbf{making this the new specified position.}'' \fg{} - -Bien, je pense qu'un petit exemple ne sera pas de trop pour aborder cette notion : - -\begin{code}{Coordonnées absolues et relatives} -\documentclass[a4paper, 12pt]{report} - -\usepackage{tikz} - - -\begin{document} - -% Sans les + ou ++ -\begin{tikzpicture} -\draw[gray, dotted] (0,-1) grid (3,1); % Une trame de fond, pour aider - -\draw (0,0) node[circle, fill = red, inner sep = 2pt] {} -- (1,1) -- (2,0) -- (0,-1) node[circle, fill = blue, inner sep = 2pt] {}; % Le point de départ est toujours le point à partir duquel est appliqué le déplacement -\end{tikzpicture} -\hfill -% Avec le + -\begin{tikzpicture} -\draw[gray, dotted] (0,-1) grid (3,1); % Une trame de fond, pour aider - -\draw (0,0) node[circle, fill = red, inner sep = 2pt] {} -- (1,1) --+ (2,0) --+ (0,-1) node[circle, fill = blue, inner sep = 2pt] {}; % Le dernier point sans "+" est toujours le point à partir duquel est appliqué le déplacement -\end{tikzpicture} -\hfill -% Avec le ++ -\begin{tikzpicture} -\draw[gray, dotted] (0,-1) grid (3,1); % Une trame de fond, pour aider - -\draw (0,0) node[circle, fill = red, inner sep = 2pt] {} --++ (1,1) --++ (2,0) --++ (0,-1) node[circle, fill = blue, inner sep = 2pt] {}; % Chaque nouveau point est le point de départ pour le déplacement d'après -\end{tikzpicture} - -% Je reviendrai sur les "node" par la suite -% Ici, ils permettent un point de repère pour distinguer le départ du tracé de sa fin - -\end{document} -\end{code} - -Et cette méthode s'applique aussi pour les coordonnées polaires. Appliquons alors cette découverte pour nos polygones réguliers. Après tout, il s'agit de prendre le point précédent et de le faire pivoter du bon angle : - -\begin{code}{Coordonnées relatives polaires} -\documentclass[a4paper, 12pt]{report} - -\usepackage{tikz} - - -\begin{document} - -% Cas d'un triangle équilatéral -\begin{tikzpicture} -\draw (0,0) -- (2,0) --++ (120:2) -- cycle; -\end{tikzpicture} -\hfill -% Cas d'un carré -\begin{tikzpicture} -\draw (0,0) -- (2,0) --++ (90:2) --++ (180:2) -- cycle; -\end{tikzpicture} -\hfill -% Cas d'un pentagone -\begin{tikzpicture} -\draw (0,0) -- (2,0) --++ (72:2) --++ (144:2) --++ (216:2) -- cycle; -\end{tikzpicture} - -\end{document} -\end{code} - -\begin{attentionbox}{Une question ?} -\og C'est marrant ton astuce pour tracer le polygone en polaire mais ce n'est toujours pas pratique. Il faut quand même changer à la main les valeurs pour chaque polynôme \dots{} \fg{} \\ - -En effet \dots{} mais j'allais justement annoncer une magnifique solution automatisée ! -\end{attentionbox} - -Il existe trois outils que j'ai découverts suite à mon passage à \texttt{TikZ} et qui se révèlent très utiles dans ce cas : - -\begin{itemize}[label = \ding{213}] -\item \textcolor{OrangeRed}{la définition de variable :} tu peux créer toi-même ta propre variable sous \LaTeX{}\footnote{Très exactement, il s'agit d'une macro. J'apporterai sûrement un correctif et une explication plus poussée lors de la prochaine mise à jour de ce guide et après quelques recherches.}. Appliquée à \texttt{TikZ}, tu peux l'associer en tant que nombre (nombre de côtés d'un polygone régulier par exemple) ou que longueur (rayon du cercle dans lequel le dit polygone est inscrit). Il suffit d'utiliser la commande suivante : \begin{center} \verb?\def\nom{valeur}? \end{center} - -\item \textcolor{OrangeRed}{le calcul de nouvelles variables :} propre à \texttt{TikZ}, cette possibilité peut parfois servir. En l'occurrence, nous dessinons un polygone régulier inscrit dans un cercle de rayon fixé, sans connaître la valeur d'un côté (même si c'est bien plus simple de considérer la taille d'un cercle pour l'affichage). Du coup, si tu tiens à avoir un polygone avec une taille d'arête bien spécifique, tu peux calculer le rayon nécessaire !Pour ce faire, il faut utiliser la commande : \begin{center} \verb?\pgfmathsetmacro\nom{\calcul}? \end{center} - -Il est aussi possible d'utiliser des variables déjà définies pour les intégrer dans le calcul. Les possibilités offertes deviennent alors très intéressantes, \\ - -\item \textcolor{OrangeRed}{la boucle \verb?for? :} oui, comme en informatique, il est possible d'indiquer à \LaTeX{}, et plus particulièrement à \texttt{TikZ} dans notre cas, des tâches répétitives. La formulation est la suivante : \begin{center} \verb?\foreach \nom_var in {1,...,N} {commandes}? \end{center} - -Naturellement, j'ai mis \verb?{1,...,N}? pour l'exemple mais tu peux mettre n'importe quelle valeur numérique, comme \verb?{2,3,4}?, ou même des lettres ! \\ -\end{itemize} - -Voici donc une solution simple qui fonctionne. Il y a sûrement encore moyen de l'améliorer, comme permettre à chaque trait d'avoir une couleur différente (avec \verb?cycle? en fin de ligne sinon c'est moche) mais elle fonctionne déjà plutôt bien : - -\begin{code}{Une solution automatisée} -\documentclass[a4paper, 12pt]{report} - -\usepackage{tikz} - - -\begin{document} - -% Un polygone régulier -\begin{tikzpicture} -% Paramétrage -\def\poly{13} % Nombre entier supérieur à 1 -% % Limite de calcul LaTeX fixée à 16 383 ... -\pgfmathsetmacro\polyg{\poly - 1} -\def\R{2} % 0.25\linewidth est aussi une distance ... - -% Tracé du polygone -\draw[orange] (90:\R) \foreach \i in {1,...,\polyg} {-- (90-\i/\poly*360:\R)} -- cycle; % Usage de \polyg pour bien fermer avec un "cycle" -\end{tikzpicture} -\hfill -% Un amortisseur -\begin{tikzpicture} -\coordinate (O) at (0,0); % Possibilité de changer le 0,0 en argument d'une nouvelle commande ... - -\draw (O) --++ (2,0) --++ (0,-1) --++ (2,0) ++ (-2,1) --++ (0,1) --++ (2,0) node[above left] {\Large{}$\mu$} ++ (-1,0) --++ (0,-2) ++ (0,1) --++ (2,0); -% Utilisation de "++" sans "--" pour déplacer la coordonnée relative (on rebrousse chemin dans le tracé) sans tracer un trait -\end{tikzpicture} - -\end{document} -\end{code} - -\begin{conseilbox}{La gestion des unités} -Il peut arriver que tu définisses une variable mais que sa valeur ne donne pas le résultat attendu, en terme de taille. Par exemple, un rayon \verb?\def\R{50}? de 50pt ou 50mm au lieu de 50cm par défaut, un peu grand, surtout sur une feuille A4 ; une épaisseur de trait \verb?\def\sep{13}? de 13mm au lieu de 13pt par défaut. - -Seulement, écrire \verb?circle (\R{}pt)? ou \verb?line width = \sep mm? ne fonctionne pas car \LaTeX{} n'arrive pas à combiner une variable avec du texte \dots{} \\ - -Heureusement, il existe donc un moyen très simple de résoudre ce problème. Il faut définir une variable unité : \verb?\def\unit{unité}?. Par exemple, nous pouvons écrire \verb?\def\unit{pt}? ou \verb?\def\mm{mm}? s'il y a plusieurs unités et que tu ne veux pas les confondre. - -Il faut ensuite écrire, par exemple, \verb?circle (\R\unit)? ou \verb?line width = \sep\mm?, et le tour est joué ! -\end{conseilbox} - -\begin{attentionbox}{La limite de calcul sous \texttt{TikZ}} -Avec les commandes \verb?\def? et \verb?\pgfmathsetmacro?, il existe une limite de calcul, fixée à 16 383, très exactement $\frac{2^{30} - 1}{2^{16}}$. Du coup, si tu veux tracer un polygone de 17 000 côtés, c'est impossible. Et je n'aborde pas l'intérêt d'un tel tracé : autant utiliser un cercle dans ce cas ! - -Généralement, pour des cas raisonnables, il ne devrait pas y avoir de problème mais il est bon de connaître cette notion. \\ - -Dans le cas où une telle erreur apparaît, le compilateur devrait afficher l'erreur \og \verb?! Dimension too large.? \fg{}. \textcolor{Red}{\textbf{Il peut aussi arriver que cette limite apparaisse alors que les calculs ne dépassent pas la valeur interdite.}} - -Par exemple, trace un polygone de 50 côtés avec mon code précédent et essaye les deux possibilités suivantes dans la boucle \verb?for? : - -\begin{itemize}[label = \ding{213}] -\item \verb?{-- (90-\i/\poly*360:\R)}? : aucun problème, - -\item \verb?{-- (90-\i*360/\poly:\R)}? : problème \dots{} alors que, d'un point de vue purement formel, le calcul est le même ! -\end{itemize} - -De ce que j'ai compris, il s'agit d'une erreur due à un dépassement de pile (\textit{stack overflow}) sous \texttt{TikZ}. Pour l'éviter, il faut \textbf{toujours privilégier les divisions au début du calcul.} -\end{attentionbox} - -\section{Dessiner des figures mathématiques} - -Je ne vais pas m'attarder sur cette section, juste donner deux pistes de recherche. Si tu as beaucoup de figures géométriques à dessiner, et surtout des figures mathématiques, avec beaucoup de sommets, des intersections, \dots{}, tu peux : - -\begin{itemize}[label = \ding{213}] -\item utiliser le logiciel gratuit \texttt{GeoGebra} et exporter les figures en code \texttt{TikZ}, - -\item utiliser le package \verb?tkz-euclide?, qui possède une documentation bien fournie et beaucoup de commandes intéressantes. \\ -\end{itemize} - -% Code pour tracer une fonction mathématiques - -Bien, maintenant que nous connaissons le fonctionnement de \texttt{TikZ} et l'avons un peu manipulé, voyons maintenant des méthodes élégantes pour gérer la forme soit toutes les options accessibles sous \verb?\draw?. - -\section{Gestion des styles} - -Pour commencer, avant même de définir le principe du style sous \texttt{TikZ}, je tiens à aborder le cas toujours assez délicat de l'importation du package \verb?xcolor?, et encore plus de ses options, dont \verb?dvipsnames? pour ma part. - -Il faut déjà savoir qu'il faut toujours charger \verb?xcolor? avant \verb?tikz?. Mais, dans certains cas (utilisation d'autres packages principalement), il peut arriver qu'il y ait un conflit et que l'erreur \verb?Option clash for package xcolor? surgisse. - -Dans ce cas, la seule solution trouvée jusqu'à présent remplace le chargement de \verb?xcolor? dans le préambule par la ligne : \begin{center} \verb?\PassOptionsToPackage{dvipsnames}{xcolor}? \end{center} - -Et si jamais cette solution ne fonctionne toujours pas, placer cette ligne avant même le \verb?\documentclass? convient en dernier recours. \\ - -Venons-en maintenant aux styles. Imaginons un instant que nous avons plein de traits, de rectangles et de cercles à tracer. Bref, pleins de figures qui requiert d'utiliser beaucoup de \verb?\draw?. Nous voulons derrière que toutes les figures aient le même format (couleur, épaisseur de trait, \dots{}). - -Il est alors possible de définir un style global pour un dessin (environnement \verb?tikzpicture?). Au lieu d'écrire \verb?\draw[draw_options]? à chaque fois et de devoir tout changer manuellement, il est possible d'ajouter des options à l'environnement de la manière suivante : \begin{center} \verb?\begin{tikzpicture}[options]? \end{center} - -Au contraire, si nous avons besoin de définir plusieurs styles distincts, c'est possible avec la syntaxe suivante : \begin{center} \verb?\tikzstyle{nom_style} = [draw_options]? \end{center} - -\noindent{}avant d'appeler le style en question dans les options : \verb?\draw[nom_style]?. - -Enfin, il est toujours possible de procéder à des changements ponctuels dans les options d'un \verb?\draw? : \textbf{placés après un style,} ils prédomineront à coup sûr. \\ - -Un petit exemple pour bien comprendre, comme d'habitude : - -\begin{code}{Les styles sous \texttt{TikZ}} -\documentclass[a4paper, 12pt]{report} - -\usepackage[dvipsnames]{xcolor} - -%\PassOptionsToPackage{dvipsnames}{xcolor} % Si erreur avec xcolor --> Enlever le commentaire sur cette ligne et mettre la ligne précédente en commentaire -\usepackage{tikz} - - -\begin{document} - -% Style global -\begin{tikzpicture}[thick, Red, dashed] -\def\R{1.5} -\draw circle (\R); -\draw (\R,0) --++ (-2*\R,0); -\draw (0,\R) --++ (0,-2*\R); -\end{tikzpicture} -\hfill -% Styles locaux -\begin{tikzpicture}[thick, Red, dashed] -\def\R{1.5} -\draw[solid, thin] circle (\R); % solid = trait plein - -\draw (\R,0) --++ (-2*\R,0); % Bien mettre un * pour les calculs -% A ne pas confondre avec l'utilisation des longueurs : 0.5\linewidth, ... -\draw[Cyan, ultra thick] (0,\R) --++ (0,-2*\R); -\end{tikzpicture} -\hfill -% Style groupé -\begin{tikzpicture}[thick, Red, dashed] -\def\R{1.5} - -\tikzstyle{style} = [Orchid, line width = 4pt, line cap = round, dash pattern = on 0pt off 2.5\pgflinewidth] % Style dotted pas très "dot" --> utilisation de line cap & dash pattern - -\draw circle (\R); - -\draw[style] (\R,0) --++ (-2*\R,0); -\draw[style, LimeGreen] (0,\R) --++ (0,-2*\R); % Toujours possible de modifier un style prédéfini -% A bien placer après le nom du style : options lues et appliquées de gauche à droite -\end{tikzpicture} - -\end{document} -\end{code} - -Bien évidemment, ici, le code est très simple et cette notion n'a vraiment d'intérêt quand tu as beaucoup de \verb?\draw? \dots{} ou que tu te rends compte que tu fais beaucoup de changements dans les options. Il devient alors plus intéressant d'automatiser les options avec des styles. - -Maintenant que la mise en forme est bien définie et que nous savons tracer quelques figures élémentaires, pimentons un peu les possibilités : ajoutons du texte. - -\section{Insérer du texte} - -Il n'y a qu'une seule façon d'écrire dans un dessin réalisé sous \texttt{TikZ} : les \verb?node?. Très exactement, les \verb?node? permettent de placer à peu près tout et n'importe quoi à l'endroit souhaité dans le dessin, en particulier du texte. - -Un \verb?node? s'appelle par une commande, selon la syntaxe suivante : \begin{center} \verb?\node[draw_options] at (x,y) {Texte};? \end{center} - -\noindent{}avec plein de possibilités pour \verb?draw_options? comme par exemple : - -\begin{itemize}[label = \ding{213}] -\item \verb?draw? : pour afficher le cadre du \verb?node?, - -\item \verb?circle? : pour avoir un cercle comme cadre au lieu d'un rectangle (défaut). Différents formats sont disponibles et sont explicités dans les exemples ci-après, - -\item \verb?draw = color? : la couleur de la bordure du cadre, - -\item \verb?fill = color? : la couleur de remplissage du cadre, - -\item \verb?text = color? : la couleur du texte, - -\item \verb?minimum width = taille? : largeur minimale du cadre, - -\item \verb?text width = taille? : largeur de la boîte (invisible) dans laquelle est placée le texte. Si \verb?text width? est inférieur à \verb?minimum width?, la boîte en question est centrée, - -\item \verb?minimum height = taille? : hauteur minimale du cadre, - -\item \verb?align = position?, avec \verb?position? qui peut prendre les valeurs \verb?left?, \verb?center? ou \verb?right? : positionnement du texte dans sa boîte (invisible). \\ -\end{itemize} - -Un exemple très simple d'application peut prendre la forme suivante : - -\begin{code}{Utilisation des \texttt{node}} -\documentclass[a4paper, 12pt]{report} - -\usepackage[utf8]{inputenc} -\usepackage[T1]{fontenc} -\usepackage[french]{babel} -\usepackage{lmodern} - -\usepackage{tikz} - - -\begin{document} - -% La base sur les node -\begin{tikzpicture} -\draw (0,0) -- (1,0); - -\node at (0.5,0.5) {Texte}; -\end{tikzpicture} -\hfill -% Quelques options -\begin{tikzpicture} -\node[draw] at (0,0) {some text}; % Affichage de la bordure rectangulaire du node - -\node[draw, circle, align = left] at (4,0) {some text \\ spanning three lines \\ with manual line breaks}; % circle : format du cadre (rectangle par défaut) - -\node[draw = Green, fill = Red, text = White, thick, minimum width = 5cm, text width = 4cm, minimum height = 2cm, align = center] at (2,-2) {some text spanning three lines with automatic line breaks}; -\end{tikzpicture} - -\end{document} -\end{code} - -Pour avoir un aperçu des différents formats disponibles, c'est par ici : - -\begin{code}{Les différents formats de \texttt{node}} -\documentclass[a4paper, 12pt]{report} - -\usepackage[utf8]{inputenc} -\usepackage[T1]{fontenc} -\usepackage[french]{babel} -\usepackage{lmodern} - -\usepackage{tikz} -\usetikzlibrary{shapes} % Pour certains formats de node - - -\begin{document} - -% Formats : rectangle, circle, ellipse, diamond, circle split, forbidden sign, cross out, strike out -% regular polygon, regular polygon sides = 5 -% star, star points = 7 + star point ratio = 0.8 (bonus) -\begin{tikzpicture} -\tikzstyle{ann} = [draw = none, fill = none,right] - -% Affichage sous forme d'un tableau -\matrix[nodes = {draw, ultra thick, fill = blue!20}, row sep = 0.3cm, column sep = 0.5cm] {% - \node[draw = none, fill = none] {Plain node}; & - \node[rectangle] {Rectangle}; & - \node[circle] {Circle}; \\ - \node[ellipse] {Ellipse}; & - \node[circle split] {Circle \nodepart{lower} split}; & - \node[forbidden sign,text width=4em, text centered] {Forbidden sign}; \\ - \node[diamond] {Diamond}; & - \node[cross out] {Cross out}; & - \node[strike out] {Strike out}; \\ - \node[regular polygon, regular polygon sides = 5] {$n = 5$}; & - \node[regular polygon, regular polygon sides = 7] {$n=7$}; & - \node[regular polygon, regular polygon sides = 9] {$n=9$}; & - \node[ann]{Regular polygon}; \\ - \node[star, star points = 4] {$p = 4$}; & - \node[star, star points = 7, star point ratio = 0.8] {$p=7$}; & - \node[star, star points = 10] {$p = 9$}; & - \node[ann]{Star}; \\ -}; -\end{tikzpicture} - -\end{document} -\end{code} - -Mais tu peux tout faire avec des \verb?node?. Par exemple, tu peux les placer à l'intérieur d'un \verb?\draw? pour ajouter de l'information (texte ou symbole). L'intérêt ? Pendant que tu traces ton dessin, tu associes l'information, au lieu de l'ajouter manuellement. C'est très pratique si tu modifies ton dessin ou si les coordonnées sont difficiles à déterminer. \\ - -Reprenons un ancien exemple, qui devrait te sembler plus clair désormais : - -\begin{code}{Ajouter de l'information avec des \texttt{node}} -\documentclass[a4paper, 12pt]{report} - -\usepackage[utf8]{inputenc} -\usepackage[T1]{fontenc} -\usepackage[french]{babel} -\usepackage{lmodern} - -\usepackage{tikz} - - -\begin{document} - -\begin{tikzpicture} -\draw[gray, dotted] (0,-1) grid (3,1); % Une trame de fond, pour aider - -% Les node en cascade, c'est le nec plus ultra ! -\draw (0,0) node[circle, fill = red, inner sep = 2pt] {} node[left, inner sep = 5pt] {Début} --++ (1,1) --++ (2,0) --++ (0,-1) node[circle, fill = blue, inner sep = 2pt] {} node[right] {Fin}; % Option radius possible pour définir la taille du point mais inner sep plus efficace - -\draw (0,0) -- (1,-1) node[right, align = left, font = \small] {Nouvelle \\ branche}; % Positionnement du texte par rapport au centre du noeud -% Possibilités de possitionnement : above, below, left et right -% Des combinaisons comme "above left" sont possibles (ordre à respecter) - -% Saut de ligne "\\" licite dans le node si et seulement si "align = ..." précisé -\end{tikzpicture} - -\end{document} -\end{code} - -Bon, je crois avoir à peu près fait le tour en ce qui concerne la base pour les \verb?node?. Voyons une dernière application, plus poussée : la création de graphes et d'organigrammes. - -\section{Création d'un organigramme} - -Moi-même j'expérimente ces nouveautés donc je suis encore loin d'en maîtriser toutes les subtilités. Je risque donc ne pas être aussi exhaustif que je le souhaite. Je vais donc expliquer le principe de base avant de te laisser examiner trois exemples. \\ - -Sous \texttt{TikZ}, un \verb?node? est constitué de points d'ancrage, répartis de la manière suivante : - -\begin{figure}[H] -\centering -\begin{tikzpicture} -\node[draw = Gray!70, fill = White, text = RedOrange, font = \LARGE{}, line width = 8pt, rounded corners = 8pt, minimum width = 0.5\linewidth, minimum height = 3cm, text width = 0.25\linewidth] (master) at (0,0) {node \og N \fg{}}; - -% Les points d'ancrage les plus intuitifs -\foreach \anchor in {north, north east, east, south east, south, south west, west, north west} {\node at (master.\anchor) {$\times$};} - -\node[above = 5pt] at (master.north) {\texttt{N.north}}; -\node[above right = 5pt] at (master.north east) {\texttt{N.north east}}; -\node[right = 5pt] at (master.east) {\texttt{N.east}}; -\node[below right = 5pt] at (master.south east) {\texttt{N.south east}}; -\node[below = 5pt] at (master.south) {\texttt{N.south}}; -\node[below left = 5pt] at (master.south west) {\texttt{N.south west}}; -\node[left = 5pt] at (master.west) {\texttt{N.west}}; -\node[above left = 5pt] at (master.north west) {\texttt{N.north west}}; - -% Les autres points d'ancrage -\node[text = Cyan] at (master.13) {$\times$}; -\node[text = Green] at (master.base) {$\times$}; -\node[text = Green] at (master.text) {$\times$}; -\node[text = Orchid] at (master.center) {$\times$}; - -\node[right = 5pt, text = Cyan] at (master.13) {\texttt{N.13} (angle)}; -\node[below = 5pt, text = Green] at (master.base) {\texttt{N.base}}; -\node[below left, yshift = -5pt, text = Green] at (master.text) {\texttt{N.text}}; -\node[above = 5pt, text = Orchid] at (master.center) {\texttt{N.center = N}}; -\end{tikzpicture} -\caption{Vue d'un \texttt{node} et de ses points d'ancrage} -\end{figure} - -Voyons maintenant comment utiliser cette notion pour placer deux boîtes. Nous allons : - -\begin{enumerate} -\item placer un premier \verb?node?, par défaut en $(0,0)$, - -\item paramétrer ce \verb?node? pour qu'il ressemble à une boîte, - -\item placer un second \verb?node? relativement au premier. -\end{enumerate} - -L'avantage de cette méthode ? Il faut juste placer un \verb?node? et tout peut se faire relativement à ce dernier. Et grâce aux points d'ancrage, relier deux \verb?node? devient très aisé. - -Enfin, \textbf{il est possible de créer un style global pour tous les \verb?node?}. Il faut juste respecter la syntaxe suivante après la déclaration de l'environnement \verb?tikzpicture? : \begin{center} \verb?[every node/.style = {options}]? \end{center} - -Le code d'initiation est alors le suivant : - -\begin{code}{Initiation aux points d'ancrage} -\documentclass[a4paper, 12pt]{report} - -\usepackage[utf8]{inputenc} -\usepackage[T1]{fontenc} -\usepackage[french]{babel} -\usepackage{lmodern} - -\usepackage{tikz} -\usetikzlibrary{calc} - - -\begin{document} - -\begin{tikzpicture}[every node/.style = {draw = orange, very thick, minimum width = 3cm, minimum height = 2cm}] -% Création du node "master" - Options pour avoir une boîte -\node (master) at (0,0) {Boîte 1}; - -% Création du deuxième node relativement à "master" -\node[anchor = west] at (master.east) {Boîte 2}; -% Positionnement de l'ancrage ouest de la boîte 2 sur l'ancrage est de "master" - -% Troisième node différent relié à "master" -\node[draw = green, fill = gray, minimum width = 2cm] (box) at (2,-3) {Boîte 3}; - -% Tracé du trait automatisé --> placement très précis entre les deux boîtes (milieu vertical) -\coordinate (middle) at ($(master.south)!0.5!(box.north)$); % Création du point milieu entre les ancres master.south et box.north --> tikzlibrary : calc -\draw (master.south) -- (master.south |- middle) -- (middle -| box.north) -- (box.north); - -% Tracé du trait manuellement -%\draw (master.south) --++ (0,-0.3) -| (box.north); -% -| : départ horizontal, arrivée verticale du trait -\end{tikzpicture} - -\end{document} -\end{code} - -Et voici maintenant 3 exemples un peu plus détaillés que je te laisse analyser si tu es intéressé : - -\begin{code}{Organigramme 1 : positionnement de boîtes par ancrage} -\documentclass[a4paper, 12pt]{report} - -\usepackage[utf8]{inputenc} -\usepackage[T1]{fontenc} -\usepackage[french]{babel} -\usepackage{lmodern} - -\usepackage[dvipsnames]{xcolor} - -%\PassOptionsToPackage{dvipsnames}{xcolor} % Si erreur avec xcolor --> Enlever le commentaire sur cette ligne et mettre la ligne précédente en commentaire -\usepackage{tikz} - - -\begin{document} - -% Boite principale en (0,0) -% Positionnement des en-têtes de chaque sous-boîte -% Tracé des traits automatisés - Gestion des styles - -\begin{tikzpicture}[every node/.style = {align = center, draw = Black, fill = RoyalPurple!70, line width = 1.5pt, text width = 3cm, minimum width = 3.5cm, minimum height = 1cm, text = White}] -\node[text width = 2.5cm, minimum width = 3cm] (master) at (0,0) {\Large{}Manager}; - -\tikzstyle{bigbox} = [text width = 3.2cm, minimum width = 3.5cm, minimum height = 3cm] - -\node (boxa) at (-6,-3) {\large{}Team A}; -\node[bigbox, anchor = north] at (boxa.south) {Commercial \linebreak \linebreak Support function}; - -\node (boxb) at (-2,-3) {\large{}Team B}; -\node[bigbox, anchor = north] at (boxb.south) {PHP \linebreak \linebreak JavaScript}; - -\node (boxc) at (2,-3) {\large{}Team C}; -\node[bigbox, anchor = north] at (boxc.south) {Support \linebreak \linebreak Supervision}; - -\node (boxd) at (6,-3) {\large{}Team D}; -\node[bigbox, anchor = north] at (boxd.south) {Report \& KPI \linebreak \linebreak Financial management}; - -\foreach \point in {a, b, c, d} {\draw[very thick] (master.south) --++(0,-1cm) -| (box\point.north);} % Tracé automatisé : -| = départ horizontal, arrivée verticale -%\draw (master.south) --++ (0,-1) --++ (-2,0) --++ (0,-1) ++ (0,1) --++ (-4,0) --++ (0,-1) ++ (6,1) --++ (2,0) --++ (0,-1) ++ (0,1) --++ (4,0) --++ (0,-1); % Ancien tracé manuel moins pratique -\end{tikzpicture} - -% Pour un meilleur centrage de l'organigramme : environnement center et agrandir un peu les marges - -\end{document} -\end{code} - -\begin{code}{Organigramme 2 : utilisation d'un arbre} -\documentclass[a4paper, 12pt]{report} - -\usepackage[utf8]{inputenc} -\usepackage[T1]{fontenc} -\usepackage[french]{babel} -\usepackage{lmodern} - -\usepackage[dvipsnames]{xcolor} - -%\PassOptionsToPackage{dvipsnames}{xcolor} % Si erreur avec xcolor --> Enlever le commentaire sur cette ligne et mettre la ligne précédente en commentaire -\usepackage{tikz} -\usetikzlibrary{trees} - - -\begin{document} - -% Utilisation d'un arbre -% Syntaxe : child { node {Texte} } -% Jouer sur l'encapsulation de plusieurs child pour faire des ramifications - -% Pleins d'options globales disponibles : -% --> gestion de la distance (général ou pour chaque niveau) = sibling distance -% --> format du trait entre deux niveaux = edge from parent - -\begin{tikzpicture}[level 1/.style = {sibling distance = 17em}, level 2/.style = {sibling distance = 8em}, every node/.style = {shape = rectangle, rounded corners, draw, align = center, top color = white, bottom color = blue!20}, edge from parent/.style = {draw, edge from parent path = {(\tikzparentnode.south) -- +(0,-8pt) -| (\tikzchildnode)}}, level distance = 50pt] % Pas de gestion automatique de la taille et de l'espacement -\node {Prenom Nom \\ Chef} - child { node {Prenom Nom \\ Sous-chef} - child { node {Prenom Nom \\ Esclave}} - child { node {Prenom Nom \\ Esclave}} - } - child { node {Prenom Nom \\ Sous-chef} - child { node {Prenom Nom \\ Mineur} - child { node {Prenom Nom \\ Stagiaire}} - child { node {Prenom Nom \\ Stagiaire}} - child { node {Prenom Nom \\ Stagiaire}} - } - child { node {Prenom Nom \\ Esclave}} - }; -\end{tikzpicture} - -\end{document} -\end{code} - -\begin{code}{Organigramme 3 : autre utilisation d'un arbre} -\documentclass[a4paper, 12pt]{report} - -\usepackage[utf8]{inputenc} -\usepackage[T1]{fontenc} -\usepackage[french]{babel} -\usepackage{lmodern} - -\usepackage[dvipsnames]{xcolor} - -%\PassOptionsToPackage{dvipsnames}{xcolor} % Si erreur avec xcolor --> Enlever le commentaire sur cette ligne et mettre la ligne précédente en commentaire -\usepackage{tikz} -\usetikzlibrary{trees} - - -\begin{document} - -% L'arbre précédent est plutôt bien mais est plus adapté au format paysage et s'il y a peu de sous-divisons -% Ou alors amélioration des sous-divisions comme ci-après - -% Création de styles avec un nom dans l'appel de l'environnement - -\begin{tikzpicture}[man/.style = {rectangle, draw, fill = blue!20}, woman/.style = {rectangle, draw, fill = red!20, rounded corners = .8ex}, grandchild/.style = {grow = down, xshift = 1em, anchor = west, edge from parent path = {(\tikzparentnode.south) |- (\tikzchildnode.west)}}, first/.style = {level distance = 6ex}, second/.style = {level distance = 12ex}, third/.style = {level distance = 18ex}, level 1/.style = {sibling distance = 5em}] -% Parents -\coordinate - child[grow = left] {node[man, anchor = east] {Jim}} - child[grow = right] {node[woman,anchor = west] {Jane}} - child[grow = down, level distance = 0ex][edge from parent fork down] -% Children and grandchildren - child{node[man] {Alfred} - child[grandchild, first] {node[man] {Joe}} - child[grandchild, second] {node[woman] {Heather}} - child[grandchild, third] {node[woman] {Barbara}} - } - child{node[woman] {Berta} - child[grandchild, first] {node[man] {Howard}} - } - child {node[man] {Charles}} - child {node[woman] {Doris} - child[grandchild, first] {node[man] {Nick}} - child[grandchild, second] {node[woman] {Liz}} - }; -\end{tikzpicture} - -\end{document} -\end{code} - -\section{Les possibilités offertes par \texttt{TikZ}} - -\texttt{TikZ} met à dispositions de très nombreuses librairies pour réaliser ``tes envies les plus folles'' \dots{} enfin, tout ce que tu as besoin de dessiner ! - -Pour utiliser ces librairies, il suffit d'utiliser la commande suivante dans le préambule, juste après l'appel à \verb?tikz? : \begin{center} \verb?\usetikzlibrary{nom_librairie}? \end{center} - -Ces librairies sont détaillées à la partie V du guide officiel de \texttt{TikZ}, ainsi que sur le site suivant : \url{http://tex.stackexchange.com/questions/42611/list-of-available-tikz-libraries-with-a-short-introduction}. En voici un aperçu résumé : - -\begin{itemize}[label = \ding{118}, itemsep = \baselineskip] % Aération des item -\item \verb?angles? : pour faciliter le dessin d'angles, - -\item \verb?arrows? : pour de nouvelles pointes de flèches, personnalisables, - -\item \verb?automata? : pour dessiner des automates finis (diagrammes d'état) et des machines de Turing, - -\item \verb?babel?, - -\item \verb?backgrounds? : pour créer des arrières-plans colorés dans l'environnement \verb?tikzpicture?. \`A essayer : peut-être qu'il y a un intérêt, - -\item \verb?calc? : pour faire des calculs, généralement sur les coordonnées, - -\item \verb?calendar? : pour créer des calendriers, - -\item \verb?chains? : pour créer des chaînes, - -\item \verb?circuits? : pour dessiner des circuits électriques. Il existe aussi le package \verb?circuitikz?, - -\item \verb?decorations? : pour pouvoir appliquer des transformations à des chemins (\verb?path?) et les décorer., - -\item \verb?er? : pour des dessiner des diagrammes entité-association (er = entity-relationship), - -\item \verb?fadings? : pour estomper les couleurs, - -\item \verb?fit? : pour créer un \verb?node? qui doit contenir des coordonnées définies, - -\item \verb?folding? : pour créer des patrons ou des objets à plier, - -\item \verb?intersections? : pour calculer des intersections de chemins (\verb?path?), - -\item \verb?math? : pour définir des fonctions mathématiques et exécuter des opérations mathématiques, - -\item \verb?matrix? : options et styles supplémentaires pour la création d'une matrice de \verb?node?, - -\item \verb?mindmap? : pour créer des cartes heuristiques. Le c{\oe}ur est placé au centre, tandis que les éléments qui en découlent sont créés à partir de branches (\verb?children?, comme pour les organigrammes ou les arbres). Personnalisation complète possible et annotations disponibles, - -\item \verb?patterns? : pour définir de nouveaux motifs pour du remplissage, - -\item \verb?petri? : pour dessiner des réseaux de Petri, - -\item \verb?plothandlers?, - -\item \verb?plotmarks?, - -\item \verb?shadings? et \verb?shadows? : pour réaliser des ombrages, - -\item \verb?shapes? : pour de nouveaux formats de \verb?node? (ellipse, diamant, étoile, polygone, \dots{}), - -\item \verb?spy? : pour faire des zooms, - -\item \verb?trees? : pour dessiner des arbres (de possibilités). \\ -\end{itemize} - -% circuit élec, page 510 tuy'sss officielle TikZ - -Enfin, il existe aussi d'autres packages pour agrémenter les dessins sous \LaTeX{}. C'est par exemple le cas de \verb?pgfornament?, qui mérite le détour pour fournir beaucoup d'ornements intéressants. - -\begin{figure}[H] -\centering -\pgfornament[color = RedOrange, width = 0.6\linewidth]{60} -\caption{Un premier aperçu du package \texttt{pgfornament}} -\end{figure} - -\section{Le fond d'écran \LaTeX{}} - -Loin d'avoir tout expliqué sur \texttt{TikZ}\footnote{Le guide officiel fait plus de 1000 pages donc tu penses bien que je n'ai fait qu'effleurer le champ des possibles.}, les exemples que j'ai élaborés et mis à disposition au sein de ce guide donnent quand même beaucoup d'informations et de possibilités. - -Naturellement, je suis loin d'être complètement exhaustif et je me suis efforcé d'aborder un maximum de notions fondamentales. Lors de la prochaine modification de ce guide, il y a des chances que je revienne sur cette partie, tant pour améliorer mes explications, mes exemples et l'affichage du code. \\ - -En tout cas, je me suis amusé à réaliser un petit fond d'écran pour mon ordinateur. Naturellement, il prône l'utilisation du \LaTeX{} et joue un peu sur la fibre patriotique. - -Il est à disposition si après si tu veux réaliser une capture d'écran pour l'utiliser toi aussi. Il peut aussi constituer un bon entraînement si tu veux dessiner sous \texttt{TikZ}. - -\newpage - -\includepdf[pages = -, fitpaper]{fond_TikZ}
\ No newline at end of file diff --git a/Master/texmf-dist/doc/latex/guide-latex-fr/Chapitres/p3-beamer.tex b/Master/texmf-dist/doc/latex/guide-latex-fr/Chapitres/p3-beamer.tex index 7776e83909b..d51bdb85d22 100644 --- a/Master/texmf-dist/doc/latex/guide-latex-fr/Chapitres/p3-beamer.tex +++ b/Master/texmf-dist/doc/latex/guide-latex-fr/Chapitres/p3-beamer.tex @@ -1,3 +1,3 @@ -\chapter{Faire des présentations avec \texttt{Beamer}} +\chapter{Faire des présentations avec \Beamer{}} -\`A venir\dots{} (peut-être 2\up{nd} semestre 2019)
\ No newline at end of file +\label{chap-beamer}\`A venir\dots{} (peut-être 2\up{nd} semestre 2019)
\ No newline at end of file diff --git a/Master/texmf-dist/doc/latex/guide-latex-fr/Chapitres/p3-images.tex b/Master/texmf-dist/doc/latex/guide-latex-fr/Chapitres/p3-images.tex index 9e3804d00f2..c19ef67a2e9 100644 --- a/Master/texmf-dist/doc/latex/guide-latex-fr/Chapitres/p3-images.tex +++ b/Master/texmf-dist/doc/latex/guide-latex-fr/Chapitres/p3-images.tex @@ -1,131 +1,73 @@ -\chapter{Images} +\chapter{Images : de nouvelles subtilités} -\label{chap_img_anx} +\label{chap-img-details}\lettrine{C}{omme} pour les mathématiques, l'insertion d'images sous \LaTeX{} est réalisée sans surprise et sans avoir à connaître des techniques très poussées. -\section{Une référence toute prête} - -Les références, c'est bien. Les automatiser, c'est mieux. J'étais plutôt agacé d'écrire constamment \og (cf. \textsc{Figure} \textit{ref} p. \textit{page-ref}) \fg{}, d'autant plus que le mot \og \textsc{Figure} \fg{} peut varier selon la classe. - -Puis, j'ai découvert la commande \verb?\figurename{}? : elle contient justement le nom utilisé dans la légende. Il est donc possible d'automatiser mon problème initial de la manière suivante : - -\begin{code}{Une référence fraîche ! Une !} -\documentclass[a4paper, 12pt]{report} - -\usepackage[utf8]{inputenc} -\usepackage[T1]{fontenc} -\usepackage[french]{babel} -\usepackage{lmodern} - -\usepackage{graphicx, float} +Cependant, au fur et à mesure de la rédaction de tes documents, tu constateras que tu souhaiteras améliorer certains détails. Voici donc quelques astuces supplémentaires toujours utiles ! -\usepackage[hidelinks, breaklinks, linktoc = all]{hyperref} - -\newcommand{\reffig}[1]{(cf. \figurename{} \ref{#1} p. \pageref{#1})} +\section{Une référence toute prête} +Les références, c'est bien. Les automatiser, c'est mieux. J'étais plutôt agacé d'écrire constamment \og (cf. \textsc{Figure} \verb?<ref>? p. \verb?<page-ref>?) \fg{}, d'autant plus que le mot \og \textsc{Figure} \fg{} peut varier selon la classe. -\begin{document} +Puis, j'ai découvert la commande \verb?\figurename{}? : elle contient justement le nom utilisé dans la légende. Il est donc possible d'automatiser mon problème initial grâce à une commande. \\ -\begin{figure}[H] -\centering -%\includegraphics[width = 0.5\linewidth]{test.png} -\caption{La légende} -\label{essai} -\end{figure} +Mais c'est sans compter sur le package \verb?hyperref? qui propose déjà une commande toute prête à ce sujet : \verb?\autoref{<label>}?, qui écrit directement \og Figure \verb?<ref>? \fg{}. -Toutes les explications sont disponibles ci-avant \reffig{essai}. +Mais, si comme moi tu es un puriste et tu tiens à reprendre l'intitulé exact de la légende (soit \og \textsc{Figure} \fg{}, en petites capitales), il faut procéder à un petit correctif manuel \textbf{après} le préambule (pour éviter les conflits avec le package \verb?babel?) : -\end{document} +\begin{code}{} +\renewcommand{\figureautorefname}{\figurename{}} +\renewcommand{\tableautorefname}{\tablename{}} \end{code} -\section{L'environnement \texttt{subfigure}} - -Il peut être intéressant d'afficher plusieurs images avec chacune sa légende, ainsi qu'une légende globale pour toutes les images. Une solution très simple à implémenter est possible grâce au package \verb?subcaption? : - -\begin{itemize}[label = \ding{213}] -\item apport de l'environnement \verb?subfigure?, au fonctionnement identique à une \verb?minipage?, - -\item apport de la commande \verb?\subcaption?, pour mettre une légende sous chaque image. \\ -\end{itemize} - -Un aperçu de cette solution prend la forme suivante : - -\begin{code}{Utilisation de \texttt{subfigure}} -\documentclass[a4paper, 12pt]{report} - -\usepackage[utf8]{inputenc} -\usepackage[T1]{fontenc} -\usepackage[french]{babel} -\usepackage{lmodern} +Et voilà , c'est tout ! Tu peux désormais t'amuser avec cette nouvelle commande très pratique. -\usepackage{graphicx, float, subcaption} +\section{Insérer des légendes intermédiaires} +Il peut être intéressant d'afficher plusieurs images avec chacune sa légende, ainsi qu'une légende globale pour toutes les images. Une solution très simple est possible grâce au package \verb?subcaption? et de la commande éponyme : -\begin{document} +\begin{codedisplay}{Utilisation de \verb?subcaption?} +% Ajout dans le préambule +%\usepackage{graphicx, float, subcaption} -\begin{figure}[H] -% [t] en option : permet d'aligner correctement les images si les sous-légendes sont longues -\begin{subfigure}[t]{0.32\linewidth} -%\includegraphics[width = \linewidth]{image1.png} -\subcaption{Image 1} -\end{subfigure} -\hfill -\begin{subfigure}[t]{0.32\linewidth} -%\includegraphics[width = \linewidth]{image2.png} -\subcaption{Image 2 : avec une très longue légende} -\end{subfigure} -\hfill -\begin{subfigure}[t]{0.32\linewidth} -%\includegraphics[width = \linewidth]{image3.png} -\subcaption{Image 3} -\end{subfigure} -\caption{Images de test} -\end{figure} -% Pas le même rendu au niveau des légendes \begin{figure}[H] -\begin{minipage}{0.32\linewidth} -%\includegraphics[width = \linewidth]{image1.png} -\caption{Image 1} +\begin{minipage}{0.45\linewidth} +\includegraphics[width = \linewidth]{fond.jpg} +\subcaption{Image A} \end{minipage} \hfill -\begin{minipage}{0.32\linewidth} -%\includegraphics[width = \linewidth]{image2.png} -\caption{Image 2} +\begin{minipage}{0.45\linewidth} +\includegraphics[width = \linewidth]{fond.jpg} +\subcaption{Image B} \end{minipage} -\hfill -\begin{minipage}{0.32\linewidth} -%\includegraphics[width = \linewidth]{image3.png} -\caption{Image 3} -\end{minipage} -\caption{Images de test} +\caption{Images A \& B} \end{figure} +\end{codedisplay} -% Les références doivent toujours fonctionner --> faire des essais et lire la documentation - -\end{document} -\end{code} - -\begin{conseilbox}{La petite subtilité} -La commande \verb?\subcaption? ne requiert pas l'utilisation systématique de l'environnement \verb?subfigure?. Elle peut très bien être utilisée avec une \verb?minipage?. \\ +Les références continuent de fonctionner sans contrainte supplémentaire. Ne pas hésiter à faire des tests le cas échéant. -Toutefois, il faut bien comprendre qu'une \verb?\caption? ou \verb?\subcaption? n'est valide que dans un élément flottant soit dans un environnement global \verb?figure?. +\begin{attention}{\verb?subfigure? : l'environnement à bannir !!!} +Le package \verb?subcaption? met à disposition un nouvel environnement, \verb?subfigure?, qui présente peu d'intérêt et dont l'utilisation est à bannir\footnote{Résultat d'une recherche sur un forum un jour, dont je n'ai plus la source.} -De même, l'environnement \verb?subfigure? ne peut être utilisé que dans un environnement \verb?figure?, contrairement à une \verb?minipage? qui peut être utilisée n'importe quand. Cette dernière n'est donc pas considérée comme un flottant. -\end{conseilbox} +Pour rappel/précision, les commandes \verb?\caption? ou \verb?\subcaption? ne sont valides que dans un élément flottant soit dans un environnement global \verb?figure?. +\end{attention} -Enfin, le package \verb?subcaption? charge aussi le package \verb?caption?, ce qui permet d'utiliser la commande \verb?\caption*?. Cette dernière permet d'avoir une légende sans numéro. C'est toujours pratique de temps en temps. +Enfin, le package \verb?subcaption? charge aussi le package \verb?caption?, qui permet d'utiliser la commande \verb?\caption*?. Cette dernière permet d'avoir une légende sans numéro. C'est toujours pratique de temps en temps. \section{Insérer un grand nombre de fichiers} -Il est possible d'être amené, ponctuellement, à regrouper un grande nombre de fichiers (images, \texttt{PDF}, \dots{}) dans un seul et unique \texttt{PDF}. +Il est possible d'être amené, ponctuellement, à regrouper un grande nombre de fichiers (images, PDF\dots{}) dans un seul et unique PDF. -Si écrire toutes les lignes de code ou faire des copier-coller pour n'avoir qu'à modifier les noms de fichiers à la fin peut fonctionner, il existe une méthode plus élégante et efficace qui consiste à utiliser une boucle \verb?for?. - -Ce n'est pas bien compliqué et tout est résumé dans le code ci-dessous : +Si écrire toutes les lignes de code ou faire des copier-coller pour n'avoir qu'à modifier les noms de fichiers à la fin peut fonctionner, il existe une méthode plus élégante et efficace qui consiste à utiliser une boucle \verb?for? sous \LaTeX{}. Tout est résumé dans le code ci-après : \begin{code}{Insertion avec une boucle for} \documentclass[a4paper, 12pt]{report} +\usepackage{lmodern} +\usepackage[french]{babel} +\usepackage[utf8]{inputenc} +\usepackage[T1]{fontenc} + \usepackage{graphicx, float} % Si images \graphicspath{{./Images/}} % Chemin des images \DeclareGraphicsExtensions{.jpg} % Pour définir l'extension des images @@ -141,14 +83,16 @@ Ce n'est pas bien compliqué et tout est résumé dans le code ci-dessous : % #1 = numéro début % #2 = numéro fin % #3 = nom devant le numéro -\newcommand*{\insertgraphicsfiles}[3]{\foreach \i in {#1,...,#2} {% -\begin{figure}[H] -\vspace*{\stretch{1}} -\centering -\includegraphics[width=0.99\linewidth]{#3\i} -\vspace*{\stretch{1}} -\end{figure} -}} +\newcommand*{\insertgraphicsfiles}[3]{% + \foreach \i in {#1,...,#2} {% + \vspace*{\fill} + \begin{figure}[H] + \centering + \includegraphics[width = 0.99\linewidth]{#3\i} + \end{figure} + \vspace*{\fill} + } +} % Insertion images 001 à 009 \insertgraphicsfiles{1}{9}{00} @@ -164,82 +108,82 @@ Ce n'est pas bien compliqué et tout est résumé dans le code ci-dessous : \end{document} \end{code} -Et voilà ! Si tu ne juges pas ce passage intéressant, la réalisation d'un trombinoscope peut constituer une application plus concrète de l'utilisation d'une boucle \verb?for? : +Et voilà ! Le code peut paraître un peu saugrenu car j'ai choisi de numéroter les images de 001 à 999, pour garantir le bon rangement par ordre alphabétique dans l'ordinateur. + +Tu peux bien entendu simplifier le code présenté ou l'adapter selon la façon dont tu nommes tes images. \\ -\begin{code}{Une autre application : le trombinoscope} +Si tu ne juges pas ce passage intéressant, la réalisation d'un trombinoscope peut constituer une application plus concrète de l'utilisation d'une boucle \verb?for? : + +\begin{coderesult}{Réaliser un trombinoscope} \documentclass[a4paper, 12pt]{report} +\usepackage{lmodern} +\usepackage[french]{babel} \usepackage[utf8]{inputenc} \usepackage[T1]{fontenc} -\usepackage[french]{babel} -\usepackage{lmodern} \usepackage{graphicx} \graphicspath{{./Images/}} % Chemin des images -\DeclareGraphicsExtensions{.png} % Pour définir l'extension des images +\DeclareGraphicsExtensions{.jpg} % Pour définir l'extension des images \usepackage{array} \usepackage{pgffor} % Pour les boucles \setlength\parindent{0pt} % Pour supprimer les indentations (inutiles ici) -\newcommand*{\affichechoriste}[3]{\begin{tabular}{c} \includegraphics[width = 0.32\linewidth]{#1} \\ #2 \textsc{#3} \end{tabular} } -% Attention, l'espace après le tabular est indispensable pour les renvois -% Sinon, tout s'affiche sur une seule ligne +\newcommand*{\affiche}[3]{\begin{tabular}{c} \includegraphics[width = 0.32\linewidth]{#1} \\ #2 \textsc{#3} \end{tabular} } +% Attention, l'espace après le \end{tabular} est indispensable pour les renvois. Sinon, tout s'affiche sur une seule ligne + \begin{document} \begin{center} -\Huge{\textsc{Titre}} +\huge{\textsc{Titre}} \end{center} +% Application avec mon image fond.jpg \foreach \prenom/\nom/\fichier in {% -Prénom/Nom/001,% -Prénom/Nom/002,% -Prénom/Nom/003,% -Prénom/Nom/004}{\affichechoriste{\fichier}{\prenom}{\nom}} +Prénom/Nom/fond,% +Prénom/Nom/fond,% +Prénom/Nom/fond,% +Prénom/Nom/fond} {\affiche{\fichier}{\prenom}{\nom}} + % Et ainsi de suite. Il vaut mieux ne pas mettre d'accent ni d'espace dans les noms de fichiers + % Le % en fin de ligne est indispensable au bon fonctionnement de \foreach pour éviter l'insertion de blancs qui troubleraient l'appel du fichier (et permet de faciliter la relecture du code) \end{document} -\end{code} +\end{coderesult} -Nous reviendrons plus tard, avec le chapitre sur \verb?TikZ?, sur des utilisations de la boucle \verb?for?. +Nous reviendrons plus tard, avec le chapitre sur \TikZ{}, \autoref{chap-tikz} p. \pageref{chap-tikz}, sur d'autres utilisations de la boucle \verb?for? sous \LaTeX{}. \section{Insérer un fichier \texttt{.svg}} -Si, comme moi, tu apprécies ne pas avoir de gros pixels immondes au moindre zoom de ton fichier \texttt{.pdf}, il est possible d'importer un fichier \texttt{.svg} (image vectorielle donc pas de pixels au zoom) dans ton document. +Si, comme moi, tu apprécies ne pas avoir de gros pixels immondes au moindre zoom de ton fichier PDF, il est possible d'importer un fichier \verb?.svg? (image vectorielle donc pas de pixels au zoom) dans ton document. \\ -Pour ce faire, aucun package supplémentaire n'est requis et il faut juste suivre la procédure suivante : +Pour ce faire, aucun package supplémentaire n'est requis et il faut juste suivre la procédure suivante : \begin{enumerate} +\item Enregistrer le fichier \verb?.svg? sous \Inkscape{} au format \verb?.pdf? (option \verb?Enregistrer sous?). -\begin{itemize}[label = \ding{118}] -\item exporter le fichier \texttt{.svg} sous \texttt{Inkscape} au format \texttt{.pdf}, +\item Dans les options, choisir ``Exclure le texte\dots{}'' et ``Utiliser la taille\dots{}''. -\item dans les options, choisir ``Exclure le texte \dots{}'' et ``Utiliser la taille \dots{}'', +\item Garder les \textbf{deux} fichiers générés (\verb?.pdf? et \verb?.pdf\_tex?). -\item garder les DEUX fichiers générés (\texttt{.pdf} et \texttt{.pdf\_tex}), +\item Utiliser le code ci-après et compiler le tout. +\end{enumerate} -\item utiliser le code suivant : - -\begin{figure}[H] -\centering -\begin{minipage}{0.5\linewidth} -\begin{verbatim} +\begin{code}{Insérer un fichier \verb?.svg?} \begin{figure}[H] \centering -\def\svgwidth{\columnwidth} -%\input{nom_fichier.pdf_tex} +\def\svgwidth{\columnwidth} % Pour définir la largeur de l'image +%\input{<nom_fichier>.pdf_tex} \caption{Légende éventuelle} \end{figure} -\end{verbatim} -\end{minipage} -\end{figure} -\item compiler, peu importe le mode (\verb?LaTeX?, \verb?PDFLaTeX?, \dots{}). \\ -\end{itemize} +% \def\svgwidth{0.8\linewidth} est aussi envisageable +\end{code} -Et voilà , c'est tout ce qu'il y a à faire. Après, c'est vraiment se prendre le chou pour pas grand chose. Autant rester sous \texttt{Inkscape}, exporter l'image au format \texttt{.eps} et l'intégrer comme n'importe quelle image. +Et voilà , c'est tout ce qu'il y a à faire. Après, c'est vraiment se prendre le chou pour pas grand chose. Autant rester sous \Inkscape{}, enregistrer l'image au format \verb?.eps? et l'intégrer comme n'importe quelle image. -Les pixels ne se verront toujours pas au zoom \dots{} et la compilation se fait sous \verb?LaTeX? comme sous \verb?PDFLaTeX? (création d'un fichier intermédiaire supplémentaire mais génération bien plus rapide). \\ +Les pixels ne se verront toujours pas au zoom et la compilation se fait sans souci sous PDF\LaTeX{} (création d'un fichier intermédiaire supplémentaire mais génération bien plus rapide). \\ Bref, c'était surtout une volonté personnelle d'explorer de nouveaux domaines sous \LaTeX{} mais il faut aussi savoir utiliser des solutions simples parfois.
\ No newline at end of file diff --git a/Master/texmf-dist/doc/latex/guide-latex-fr/Chapitres/p3-intro.tex b/Master/texmf-dist/doc/latex/guide-latex-fr/Chapitres/p3-intro.tex index bdd5a66faff..b2fed72e307 100644 --- a/Master/texmf-dist/doc/latex/guide-latex-fr/Chapitres/p3-intro.tex +++ b/Master/texmf-dist/doc/latex/guide-latex-fr/Chapitres/p3-intro.tex @@ -1,36 +1,37 @@ -\chapter*{Préambule - Le retour} +\chapter*{Préambule -- Le retour} -Ce guide prend désormais une toute nouvelle tournure. \`A partir de cette page, tu décides de mettre un pied dans la cour des grands chez \LaTeX{}. Jusqu'à présent, je t'ai présenté des solutions simples, fonctionnelles et courantes. Désormais, je te rassure, elles seront toujours fonctionnelles mais moins faciles à comprendre et bien plus sophistiquées quant au résultat. +\phantomsection % Lien hyperref cohérent +\addcontentsline{toc}{part}{Préambule -- Le retour} % Ajout table des matières -Toutefois, si un peu d'expérience en \LaTeX{} est donc nécessaire pour comprendre ce qui va suivre\footnote{Je ne vais pas revenir sur les bases : ce guide possède une première partie à ce sujet.}, je continuerai à expliquer un minimum des notions ou certains points. Déjà , je le fais parce que sinon ce document ne mérite plus sinon d'être un guide ; ensuite parce que c'est dans ma nature ; enfin parce que je peux poser ``sur le papier'' mes connaissances et faciliter leur diffusion. \\ +\lettrine{C}{onnaître} quelques notions sous \LaTeX{} peut suffire pour écrire des petits rapports, des fiches personnelles. Mais \LaTeX{} permet de réaliser tellement de contenus différents (lettre, rapport, mémoire, livre, article, guide, présentation\dots{}) qu'il serait dommage de ne pas en profiter. -Du coup, si dans les parties qui vont suivre, un point ne te semble pas clair, je te recommande vivement à aller fouiner un peu sur Internet pour comprendre ce que je fais, avant d'aller crier à l'aide depuis le \texttt{GGform} disponible avec ce guide, toujours à l'adresse suivante : \begin{center} \url{http://drive.google.com/drive/folders/0BzU2BdcGjfU5Tk1XaXhxbk5JcEE?usp=sharing} \end{center} +Cette nouvelle partie de mon guide se concentre désormais sur des solutions plus sophistiquées, ou parfois juste plus anecdotiques. Tu peux très bien ne jamais les utiliser et continuer à rédiger tes documents avec les éléments présentés jusqu'à présent. -\vspace{0.5\baselineskip} +Mais, si comme moi tu es de nature curieuse, ce qui va suivre peut se révéler utile voire intéressant et t'aider à créer des documents de plus en plus personnalisés et adaptés à ton besoin. \\ -Comme je suis aussi extrêmement attentionné, voici une petite liste d'endroits très pratiques pour aller chercher de l'information sur \LaTeX{} : +Dans cette partie, je continuerai de m'efforcer à expliquer les notions en jeu ou les astuces utilisées. Toutefois, si un point ne te semble pas clair, je te recommande vivement à aller fouiner un peu sur Internet pour comprendre ce que je fais\footnote{La solution peut aussi se trouver parmi les (nombreux) documents d'aide que j'ai récoltés, disponibles sur : \url{http://drive.google.com/drive/folders/0BzU2BdcGjfU5Tk1XaXhxbk5JcEE?usp=sharing}.}, avant d'aller crier à l'aide depuis le GForm disponible avec ce guide, toujours à l'adresse suivante : \url{https://goo.gl/forms/J5eNkZI5ZCVOZwpt1}. + +Et comme je reste extrêmement attentionné, voici une petite liste d'endroits très pratiques pour aller chercher de l'information sur \LaTeX{} : \begin{itemize}[label = \ding{213}] -\item \url{http://www.xm1math.net/texmaker/doc_fr.html} : l'aide officielle de \texttt{Texmaker}, qui fournit aussi des indications sur \LaTeX{}, +\item \url{http://www.ctan.org/} : le site qui centralise tous les packages \LaTeX{} et leur documentation officielle ! Une référence absolue donc ; -\item \url{http://www.grappa.univ-lille3.fr/FAQ-LaTeX/} : une FAQ simple mais bien fournie, +\item \url{http://www.xm1math.net/texmaker/doc_fr.html} : l'aide officielle de \Texmaker{}, qui fournit aussi des indications sur \LaTeX{} ; -\item \url{http://fr.wikibooks.org/wiki/LaTeX} : un Wiki sur le \LaTeX{} en français, +\item \url{http://www.grappa.univ-lille3.fr/FAQ-LaTeX/} : une FAQ simple mais bien fournie ; -\item \url{http://en.wikibooks.org/wiki/LaTeX} : le ``même'' Wiki mais en anglais. L'information y est des fois plus précise et complète que sur le précédent, +\item \url{http://fr.wikibooks.org/wiki/LaTeX} : un Wiki sur \LaTeX{} en français. Sa version anglaise -- \url{http://en.wikibooks.org/wiki/LaTeX} -- contient des fois des informations plus précises et complètes ; -\item \textcolor{Cyan}{\url{http://www.ctan.org/} :} le site qui centralise tous les packages \LaTeX{} \dots{} et leur documentation officielle ! Une référence absolue donc, +\item \url{http://tex.stackexchange.com/} : les forums, c'est cool. Un forum sur \LaTeX{}, c'est encore plus cool\dots{} à condition de bien formuler sa demande ; -\item \textcolor{Green}{\url{http://tex.stackexchange.com/} :} les forums, c'est cool. Un forum sur \LaTeX{}, c'est encore plus cool \dots{} à condition de bien formuler sa demande. \\ +\item \url{https://www.latextemplates.com/} et \url{https://www.overleaf.com/latex/templates} : parfois, la solution se trouve dans les \textit{templates}\dots{} \\ \end{itemize} -Et, encore une fois, n'hésite pas à laisser des commentaires ou à signaler des fautes sur ce même \texttt{GGform}. +\input{./Chapitres/code-base} -Désormais j'ai fini de blablater. Ok pour toi ? Es-tu prêt ? Oui ? Alors plongeons un peu plus profondément dans l'univers (fabuleux) de \LaTeX{} ! +Désormais j'ai fini de blablater. Ok pour toi ? Es-tu prêt ? Alors plongeons un peu plus profondément dans l'univers (fabuleux) de \LaTeX{} ! \\ \begin{flushright} Adrien \textsc{Bouzigues} \\ I13 CL215 -\end{flushright} - -\newpage
\ No newline at end of file +\end{flushright}
\ No newline at end of file diff --git a/Master/texmf-dist/doc/latex/guide-latex-fr/Chapitres/p3-maths.tex b/Master/texmf-dist/doc/latex/guide-latex-fr/Chapitres/p3-maths.tex index d00a12632ec..a1b4e307ce5 100644 --- a/Master/texmf-dist/doc/latex/guide-latex-fr/Chapitres/p3-maths.tex +++ b/Master/texmf-dist/doc/latex/guide-latex-fr/Chapitres/p3-maths.tex @@ -1,60 +1,65 @@ -\chapter{Mathématiques} +\chapter{Mathématiques : remarques \& astuces} -\label{chap_maths_anx}La commande officielle pour écrire un vecteur est \verb?\vec? et non pas l'immonde \verb?\overrightarrow?. Il est aussi possible d'utiliser la commande \verb?\vv? du package \verb?esvect?, adapté pour l'écriture de vecteurs. \\ +\label{chap-maths-details}\lettrine{J}{e} rédige très peu de formules mathématiques dans mon quotidien. Ne sois donc pas surpris : si ce chapitre paraît étonnamment court, il contient des informations précieuses ! -Pour placer des barres verticales, ne pas utiliser \verb?Alt Gr + 6? mais la commande \verb?\lvert? pour la gauche ou \verb?\rvert? pour la droite (\verb?\lVert? et \verb?\rVert? pour placer des doubles barres). +\section{Remarques générales} -Dans le cas de délimiteurs, il faut utiliser \verb?\left\vert? ou \verb?\right\vert? (\verb?\left\Vert? et \verb?\right\Vert? pour des doubles barres). \\ +La commande officielle pour écrire un vecteur est \verb?\vec? et non pas l'immonde \verb?\overrightarrow?. Il est aussi possible d'utiliser la commande \verb?\vv? du package \verb?esvect?, adaptée pour l'écriture de vecteurs. -Pour mettre des accolades en-dessous d'une formule en mode mathématiques, la commande \verb?underbrace? est disponible. De même au-dessus avec \verb?overbrace?. \\ +\begin{codedisplay}{} +%\usepackage{esvect} % Commande \vv{AB} -Le package \verb?mathrsfs? permet d'utiliser la commande \verb?\mathscr? pour donner un style différent de celui fourni par \verb?\mathcal?. \\ +Pour les vecteurs, utiliser $\vec{u}$ ou $\vv{u}$ est mieux que $\overrightarrow{u}$. +\end{codedisplay} -Pour un intervalle avec des doubles barres, le package \verb?stmaryrd? et les commandes \verb?\llbracket? et \verb?\rrbracket? fonctionnent à merveille ! +Pour placer des barres verticales, ne pas utiliser \keys{\AltGr + 6} mais la commande \verb?\lvert? pour la gauche ou \verb?\rvert? pour la droite. \verb?\lVert? et \verb?\rVert? sont aussi disponibles pour placer des doubles barres. \\ -\begin{code}{Exemples} -\documentclass[a4paper, 12pt]{report} +Dans le cas de délimiteurs, il faut donc procéder ainsi : \verb?\left\vert? et \verb?\right\vert? ; \verb?\left\Vert? et \verb?\right\Vert? pour des doubles barres. -\usepackage[utf8]{inputenc} -\usepackage[T1]{fontenc} -\usepackage[french]{babel} -\usepackage{lmodern} +\begin{codedisplay}{} +Valeur absolue : $\lvert x \rvert < 215$. -\usepackage{amsmath, amsfonts, amssymb, upgreek, mathrsfs, esvect, stmaryrd} % Présentation de nouveaux packages +Norme : $\lVert \vec{u} \rVert$ ou $\left\Vert \frac{\vec{u}}{13} \right\Vert$ (délimiteurs). +\end{codedisplay} -\begin{document} +Pour mettre des accolades en-dessous d'une formule en mode mathématiques, la commande \verb?underbrace? est disponible. De même au-dessus avec \verb?overbrace?. -\everymath{\displaystyle} +\begin{codedisplay}{} +Un cas bidon : \[\underbrace{1 - 1 + 1 - 1}_{= 0} + 13 = 13\] -Pour les vecteurs, utiliser $\vec{u}$ ou $\vv{u}$ est mieux que $\overrightarrow{u}$. \\ +De même : \[\overbrace{1 - 1 + 1 - 1}^{= 0} + 215 = 215\] +\end{codedisplay} -$\lVert \vec{u} \rVert$ pour une norme ou : $\left\Vert \cfrac{\vec{u}}{13} \right\Vert$ pour les délimiteurs. \\ +Le package \verb?mathrsfs? permet d'utiliser la commande \verb?\mathscr? pour donner un style différent de celui fourni par \verb?\mathcal?. -Un cas bidon : \[\underbrace{1 - 1 + 1 - 1}_{= 0} + 13 = 13\] +\begin{codedisplay}{} +%\usepackage{mathrsfs} % Commande \mathscr{C} -De même : \[\overbrace{1 - 1 + 1 - 1}^{= 0} + 13 = 13\] +Changer la forme des lettres en mode mathématiques est intéressant, comme avec $\mathcal{X}$ pour le polynôme caractéristique ou $\mathscr{C}^0$ pour l'ensemble des fonctions continues. +\end{codedisplay} -Changer la forme des lettres en mode mathématiques est intéressant, comme avec $\mathcal{X}$ pour le polynôme caractéristique ou $\mathscr{C}^0$ pour l'ensemble des fonctions continues. - -Les possibilités sont nombreuses et ne demandent qu'à être explorées \dots{} \\ +Pour un intervalle avec des doubles barres, le package \verb?stmaryrd? et les commandes \verb?\llbracket? et \verb?\rrbracket? fonctionnent à merveille ! -Besoin d'avoir un intervalle d'entiers (doubles barres) ? Du style $\llbracket 0\,;\,n \rrbracket$ en clair. +\begin{codedisplay}{} +%\usepackage{stmaryrd} % Commandes \llbracket & \rrbracket -\end{document} -\end{code} +Soit $n \in \mathbb{N}$. Soit $i \in \llbracket 0 ; n \rrbracket$. +\end{codedisplay} -Il existe aussi d'autres cas plus techniques, comme l'écriture de limites ou plusieurs lignes d'indiçage dans une somme ou un produit \dots{} +\section{Limites et indiçage} -\begin{conseilbox}{\'Ecriture de limites - Indiçages plus complexes} -Pour écrire une limite, comme $\underset{x \to +\infty}{\lim} f(x) = 0$, il faut procéder ainsi : \begin{center} \verb?$\underset{x \to +\infty}{\lim} f(x) = 0$? \end{center} +Il existe d'autres cas plus techniques, comme l'écriture de limites ou de plusieurs lignes d'indiçage dans une somme ou un produit : \begin{itemize}[label = \ding{118}] +\item écriture d'une limite : combiner les commandes \verb?\underset?, \verb?\to? et \verb?\lim? ; -Dans certains cas, il faut même considérer un espace insécable. Personnellement, je trouve $\underset{x \to 13}{\lim}~f(x) = 215$ plus esthétique que $\underset{x \to 13}{\lim} f(x) = 215$. Par rapport à précédemment, la différence provient du $+\infty$ qui dépasse de \og $\lim$ \fg{} et permet donc ``d'aérer'' la formule. Ici, il faut donc procéder ainsi : \begin{center} \verb?$\underset{x \to 13}{\lim}~f(x) = 215$? \end{center} +\item empilement d'indices : emploi de \verb?\substack{<ind_1> \\ <ind_2>}?. \\ +\end{itemize} -\vspace{\baselineskip} +Voyons sur des cas concrets comment nous servir de ces commandes : -Enfin, pour écrire plusieurs lignes l'une sous l'autre, comme $i = 1$ et $i \neq k$ -- sous une somme, un produit ou une intégrale -- il faut utiliser la commande \verb?\substack?. Un exemple avec les polynômes d'interpolation de Lagrange (pour les connaisseurs) sera bien plus pratique qu'une longue explication : \begin{center} \verb?$L_k = \prod_{\substack{j = 0 \\ j \neq k}}^n? \verb?\frac{X - a_j}{a_k - a_j}$? \end{center} +\begin{codedisplay}{Exemples concrets} +Limite : \[\underset{x \to +\infty}{\lim} f(x) = 0\] -\noindent{}ce qui donne $L_k = \prod_{\substack{j = 0 \\ j \neq k}}^n \frac{X - a_j}{a_k - a_j}$. \\ \\ +Polynômes de Lagrange : \[L_k = \prod_{\substack{j = 0 \\ j \neq k}}^n \frac{X - a_j}{a_k - a_j}\] +\end{codedisplay} -\textcolor{Red}{\textbf{Dans tous les cas,}} la littérature montre l'existence d'une commande \verb?\limits? qui peut servir pour ces exemples. Non seulement j'ai lu qu'il était déconseillé de l'utiliser\footnote{Si tu veux savoir pourquoi, je te laisse chercher. Moi, j'ai oublié.}, mais je viens aussi de montrer qu'obtenir un résultat est possible sans cette commande donc évitons de nous compliquer la vie ! -\end{conseilbox}
\ No newline at end of file +La littérature montre l'existence d'une commande \verb?\limits? qui peut servir pour ces exemples. \textbf{Non seulement j'ai lu qu'il était déconseillé de l'utiliser}\footnote{Si tu veux savoir pourquoi, je te laisse chercher. Depuis le temps, j'ai oublié.}, mais tu peux obtenir un résultat propre sans cette commande donc évitons de nous compliquer la vie !
\ No newline at end of file diff --git a/Master/texmf-dist/doc/latex/guide-latex-fr/Chapitres/p3-modes.tex b/Master/texmf-dist/doc/latex/guide-latex-fr/Chapitres/p3-modes.tex deleted file mode 100644 index e371b288e59..00000000000 --- a/Master/texmf-dist/doc/latex/guide-latex-fr/Chapitres/p3-modes.tex +++ /dev/null @@ -1,210 +0,0 @@ -\chapter{Les modes de compilation sous \LaTeX{}} - -\label{compilation_details} - -\section{Présentation des différents modes} - -Revenons un instant sur l'interface \texttt{Texmaker}. Jusqu'à présent, tu as toujours compiler sous \texttt{PDFLaTeX}, comme je t'ai dit de faire. Normalement, à l'exception du code et de l'aperçu, ta fenêtre \texttt{Texmaker} devrait ressembler à : - -\begin{figure}[H] -\includegraphics[width = \linewidth]{Aide_LaTeX7.png} -\caption{Ta fenêtre \texttt{Texmaker}} -\end{figure} - -Il est là dans ce but donc intéressons-nous au cadre rouge sur cette image. Normalement, c'est l'état dans lequel il se trouve. Depuis tes débuts sous \texttt{Texmaker}, il y a de grandes chances que tu cliques sur la flèche horizontale à gauche pour lancer la compilation et que tu demandes l'affichage du résultat avec la flèche de droite. - -Déjà , sache qu'il est possible d'aller beaucoup plus vite avec le clavier. En effet, \texttt{Texmaker} a mis en place des raccourcis, configurables dans \verb?Options? $\rightarrow$ \verb?Configurer Texmaker? $\rightarrow$ \verb?Raccourcis?. Par défaut, appuyer sur \keys{F6} permet de lancer la compilation sous \verb?PDFLaTeX? et, \textbf{une fois que cette dernière est terminée}, appuyer sur \keys{F7} permet d'afficher le résultat. \\ - -Il est même possible d'aller encore plus vite grâce à la compilation rapide (propriété propre à \texttt{Texmaker}, pas à \LaTeX{}). \texttt{Texmaker} est un bon logiciel car il permet justement de combiner à notre guise différentes options pour la compilation et de les réunir sous un seul bouton. La compilation rapide est paramétrable depuis \verb?Options? $\rightarrow$ \verb?Configurer Texmaker? $\rightarrow$ \verb?Compil rapide?. Par défaut, elle est assigné au bouton \keys{F1}. - -Prenons un fichier \verb?.tex? quelconque et choisissons de mettre la compilation rapide sous \verb?PdfLaTeX + Voir PDF?. Appuyons sur \keys{F1} : normalement, la compilation s'est lancée toute seule et le résultat apparaît\footnote{Hormis à l'ouverture d'un document, il peut arriver qu'il faille appuyer deux fois sur \keys{F1} pour forcer l'affichage (petit bug technique de \texttt{Texmaker}).}. C'est plus pratique, ne trouves-tu pas ? \\ - -Si tu es un peu curieux, tu as pu te rendre compte qu'il existe plein d'autres possibilités pour la compilation rapide. Certaines d'entre elles contiennent justement de nouveaux modes de compilation \LaTeX{}. Un mode de compilation, c'est un peu comme une grosse boîte qui prend en entrée un fichier \verb?.tex? pour donner un fichier \verb?.pdf? en sortie. Je n'en sais pas plus sur leur fonctionnement respectif mais je vais tâcher d'être clair par la suite avec quelques schémas : - -\begin{figure}[H] -\centering -\begin{tikzpicture}[every node/.style = {align = center}] -\node (rect) at (0,0) [draw, thick, text width = 2.5cm, minimum width = 3cm, minimum height = 1.5cm, Orange] {Mode de compilation}; -\draw[<-, > = triangle 60] (rect.west) --++ (-1,0) node[left, text width = 1.5cm, Red] {Fichier \texttt{.tex}}; -\draw[->, > = triangle 60] (rect.east) --++ (1,0) node[right, text width = 1.5cm, Green] {Fichier \texttt{.pdf}}; -\end{tikzpicture} -\caption{Schématisation d'un mode de compilation} -\end{figure} - -Ensuite, si nous devons lister les différents modes de compilation, nous pouvons en relever 3 principaux : - -\begin{itemize}[label = \ding{213}] -\item le mode \verb?PDFLaTeX?, - -\item le mode \verb?LaTeX? puis \verb?Dvi -> PS? puis \verb?PS -> PDF?, - -\item le mode \verb?XeLaTeX?. -\end{itemize} - -Il en existe d'autres comme \verb?LuaLaTeX?, voire des solutions plus exotiques (\verb?KaTeX? pour du web par exemple). Ces 3 vont nous suffire pour tout le reste. - -\begin{attentionbox}{Une question ?} -\og Je ne comprends pas à quoi peuvent bien servir ces nouveaux modes de compilation. Après tout, \verb?PDFLaTeX? fonctionne très bien jusqu'à présent \dots{} \fg{} \\ - -En effet, tu as tout à fait raison. Et la conclusion de ce chapitre ira dans ce sens. Mais il existe aussi des classes ou des situations particulières qui ne fonctionnent pas sous \verb?PDFLaTeX? \dots{} mais chaque chose en son temps ! -\end{attentionbox} - -\begin{figure}[H] -\centering -\begin{tikzpicture}[every node/.style = {align = center}] -\node (rect) at (0,0) [draw, thick, text width = 2.5cm, minimum width = 3cm, minimum height = 1.5cm, Orange] {\texttt{LaTeX} \linebreak ou \linebreak \texttt{XeLaTeX}}; -\draw[<-, > = triangle 60] (rect.west) --++ (-1,0) node[left, text width = 1.5cm, Red] {Fichier \texttt{.tex}}; -\draw[->, > = triangle 60] (rect.east) --++ (1,0) node[right, text width = 1.5cm, Green] {Fichier \texttt{.pdf}}; -\draw[<-, > = triangle 60] (rect.north) --++ (0,1) node[above, Cyan] {Contraintes}; -\end{tikzpicture} -\caption{Schématisation de l'utilisation d'un mode de compilation} -\end{figure} - -Bon, voyons un peu ces ``contraintes'' (classes, packages, \dots{}) qui nous obligent à utiliser un mode de compilation plutôt qu'un autre. \\ - -\textcolor{BrickRed}{\textbf{Attention :}} je risque de citer des packages ou classes jamais abordés jusqu'à présent. Certes, selon le préambule, tu peux/dois aller te renseigner à leur sujet. Toutefois, sache aussi que je les présente plus loin dans ce guide. - -\section{Utilisation des différents modes de compilation} - -Si \LaTeX{} est très puissant, il connaît quelques limites et incompatibilités qui empêchent de générer certains résultats. C'est d'ailleurs le but du projet d'amélioration de \LaTeX{} : s'affranchir de ces limites, entre autres. Nom de code : \LaTeX{}3Project ; site officiel : \url{http://www.latex-project.org/latex3/}. \\ - -\`A l'heure actuelle, j'ai recensé les différents cas d'utilisation possibles suivants : - -\begin{enumerate} -\item générer un \texttt{PDF} ``simple'' (rapport normal, avec juste des images et des commandes ``basiques''), - -\item générer un \texttt{PDF} avec des dessins faits sous \texttt{PSTricks} (schémas, circuits électriques, \dots{}), - -\item changer la police d'écriture (cf. p. \pageref{chgt_police}), - -\item inclure et/ou fusionner des fichiers \texttt{PDF} dans le rapport (cf. p. \pageref{fusion_pdf}), - -\item insérer des images vectorielles \texttt{.eps}, - -\item générer une bibliographie, - -\item générer un index (cf. p. \pageref{index}) ; -\end{enumerate} - -\noindent{}et du coup, pour chaque cas, il est donc possible de compiler de la manière suivante, \textcolor{RoyalPurple}{\textbf{avec les contraintes associées :}} - -\begin{enumerate} -\item \verb?PDFLaTeX? $\Rightarrow$ images au format \verb?png? ou \verb?jpg? - -\item[OU] \verb?LaTeX? $\Rightarrow$ images au format \verb?eps? $\Rightarrow$ convertir les images si besoin, \\ % Petit truandage pour que ça rende bien - -\item \verb?LaTeX? $\Rightarrow$ le plus rapide - -\item[OU] \verb?XeLaTeX? $\Rightarrow$ le plus long \dots{} \\ - -\item \verb?XeLaTeX? : attention, certaines commandes ne sont plus interprétées (le symbole \degres{} ne fonctionne plus avec \verb?\degres{}? mais s'écrit directement au clavier ; idem pour \verb?\og? et \verb?\fg? qui peuvent être appelés de manière plus générique par \verb?\guillemotleft{}? et \verb?\guillemotright{}?), \\ - -\item \verb?PDFLaTeX? OU \verb?XeLaTeX?, \\ - -\item \verb?PDFLaTeX? OU \verb?LaTeX?, \\ - -\item \verb?PDFLaTeX? OU \verb?LaTeX?, \\ - -\item \verb?PDFLaTeX? OU \verb?LaTeX? ou \verb?XeLaTeX?. \\ -\end{enumerate} - -Il faut donc bien comprendre que, \textit{a priori}, certaines combinaisons sont impossibles à réaliser : - -\begin{itemize}[label = \ding{213}] -\item dessiner et inclure des \texttt{PDF} $\Rightarrow$ passer sous \verb?XeLaTeX? $\Rightarrow$ génération plus longue \dots{} - -\item dessiner et générer une bibliographie $\Rightarrow$ passer sous \verb?LaTeX? $\Rightarrow$ génération rapide, - -\item dessiner, générer une bibliographie ET inclure des \texttt{PDF} : \textbf{IMPOSSIBLE} \dots{} avec \texttt{PSTricks}. \\ -\end{itemize} - -Après plusieurs recherches et tentatives de réussir à tout générer sous \verb?PDFLaTeX?, comme en témoigne la génération d'index et ce guide, il existe une et une seule manière de réussir à tout combiner (dessins, bibliographie, index, inclusion de \texttt{PDF} et même écrire du code comme je l'ai fait tout le long de ce guide) : dessiner avec \texttt{TikZ}. - -Si tu es intéressé, tu peux aller te renseigner sur Internet ou profiter du chapitre à ce sujet, p. \pageref{chap_dessin_tikz}. - -\begin{attentionbox}{Et les classes ?} -\og Tu as dit que des classes peuvent poser problèmes mais tu n'as cité que des packages pour l'instant. Essaierais-tu de nous tromper ? \fg{} \\ - -Ah, il y en a qui suit, cela fait plaisir. Non, je n'ai pas oublié. Je profite au contraire de la possibilité de générer de telles apartés pour en parler. - -Actuellement, je n'ai rencontré qu'une seule classe qui oblige à compiler sous \verb?LaTeX? : \verb?Powerdot?, pour faire des diaporamas professionnels. Comme il peut être vite pénible d'avoir à convertir une multitude d'images au format \verb?.eps?, une solution consiste à utiliser \verb?Beamer?, qui a le bon goût de fonctionner sous \verb?PDFLaTeX?. \\ - -Pour plus d'informations sur \verb?Beamer?, je te renvoie à la page \pageref{beamer} de ce guide. -\end{attentionbox} - -\section{Bilan} - -Toujours en vie ? Je veux bien croire cette partie un peu technique. Elle demande un peu de pratique et de se frotter aux erreurs pour comprendre le fonctionnement et l'utilisation des modes de compilation. \\ - -Hormis le changement de police, il existe toujours un moyen de compiler sous \verb?PDFLaTeX? (mode rapide et simple à utiliser pour rappel). Et si les explications précédentes sont un peu indigestes de prime abord, j'ai finalisé ce chapitre par un arbre synthétique quant au choix d'un mode de compilation : - -\begin{center} -\begin{tikzpicture}[grow cyclic, text width = 1.3cm, align = center, color = Red, level/.style = {level distance = 2cm, ->, > = triangle 60}, level 1/.style = {level distance = 2.5cm, sibling angle = 60}, level 3/.style = {sibling angle = 45}] -\tikzstyle{PDFstyle} = [Green] -\tikzstyle{Lastyle} = [Orange] -\tikzstyle{Xestyle} = [Cyan] - -\node{\large{}Fichier \texttt{.tex}} - child [color = Orchid] { node {Police} - child [color = Black] { node {Native} - child { node[PDFstyle] {\texttt{PDFLaTeX}}} - child { node[Xestyle] {\texttt{XeLaTeX}}} - } - child [color = Black] { node {Externe} - child { node[Xestyle] {\texttt{XeLaTeX}}} - } - } - child [color = Orchid] { node {Inclure \texttt{PDF}} - child { node[PDFstyle] {\texttt{PDFLaTeX}}} - child { node[Xestyle] {\texttt{XeLaTeX}}} - } - child [color = Orchid] { node {Images} - child [color = Black] { node {\texttt{.jpg} \linebreak \texttt{.png}} - child { node[PDFstyle] {\texttt{PDFLaTeX}}} - child { node[Xestyle] {\texttt{XeLaTeX}}} - } - child [color = Black] { node {\texttt{.eps}} - child { node[PDFstyle] {\texttt{PDFLaTeX}}} - child { node[Xestyle] {\texttt{XeLaTeX}}} - child { node[Lastyle] {\texttt{LaTeX}}} - } - } - child [color = Orchid] { node {Biblio.} - child { node[PDFstyle] {\texttt{PDFLaTeX}}} - child { node[Lastyle] {\texttt{LaTeX}}} - } - child [color = Orchid] { node {Index} - child { node[PDFstyle] {\texttt{PDFLaTeX}}} - child { node[Xestyle] {\texttt{XeLaTeX}}} - } - child [color = Orchid] { node {Dessiner} - child [color = Black] { node {\texttt{PSTricks}} - child { node[Lastyle] {\texttt{LaTeX}}} - child { node[Xestyle] {\texttt{XeLaTeX}}} - } - child [color = Black] { node {\texttt{TikZ}} - child { node[PDFstyle] {\texttt{PDFLaTeX}}} - child { node[Xestyle] {\texttt{XeLaTeX}}} - } - }; -\end{tikzpicture} -\end{center} - -% Petit bilan dans une boite : PDFLaTeX = le plus générique et pratique (conversion directe du tex en pdf) ; LaTeX = série de transformation (rapide sur de petits documents ; plus de temps sur les plus longs car conversion eps to pdf ; emploi obligatoire de l'eps) ; XeLaTeX = un équivalent à PDFLaTeX (moins rapide, quelques rares différences dans les commandes ; utilisation de toutes les polices d'écriture) - -Du coup, si tu veux utiliser plusieurs fonctionnalités, dès lors qu'elles débouchent sur le même mode de compilation, c'est bon, tu peux les utiliser facilement. Sinon, il faut trouver une autre solution ou essayer une autre approche. - -%\begin{boite}[colback = Goldenrod, boxrule = 3 pt, coltitle = White]{Petit bilan}{BrickRed} -\begin{boite}{Petit bilan}{Gold} -Nous avons à disposition 3 modes de compilation : - -\begin{itemize}[label = \ding{118}] -\item \verb?PDFLaTeX? : le plus pratique et simple à utiliser ; conversion directe du fichier \verb?.tex? en \verb?.pdf?, \\ - -\item \verb?LaTeX? et co. : série de transformations (efficaces sur de petits documents mais conversion \verb?PS -> PDF? plus longue sur des documents plus importants) ; emploi obligatoire du format \verb?.eps? pour les images, \\ - -\item \verb?XeLaTeX? : équivalent à \verb?PDFLaTeX? (moins rapide, quelques rares différences dans les commandes pour le texte) ; utilisation possible de n'importe quelle police d'écriture (\textit{Calibri}, \textit{Arial}, \dots{}). -\end{itemize} -\end{boite} - -Bien, je crois avoir assez parlé de théorie désormais. Repassons à un peu plus de pratique sous \LaTeX{}.
\ No newline at end of file diff --git a/Master/texmf-dist/doc/latex/guide-latex-fr/Chapitres/p3-moteurs.tex b/Master/texmf-dist/doc/latex/guide-latex-fr/Chapitres/p3-moteurs.tex new file mode 100644 index 00000000000..1039f14ebe0 --- /dev/null +++ b/Master/texmf-dist/doc/latex/guide-latex-fr/Chapitres/p3-moteurs.tex @@ -0,0 +1,184 @@ +\chapter{Les moteurs de compilation sous \LaTeX{}} + +\label{compilation-details}\lettrine{G}{râce} à \LaTeX{}, l'utilisateur peut rédiger ses documents tout en séparant le fond et la forme. Cette séparation requiert l'emploi d'un \og moteur de compilation \fg{} pour transformer le code en un fichier PDF. + +\section{Présentation des différents moteurs} + +Jusqu'à présent, j'ai toujours recommandé de compiler avec le moteur PDF\LaTeX{}. Toutefois, si tu es un peu curieux, tu as pu te rendre compte qu'il existe plein d'autres possibilités pour la compilation rapide avec \Texmaker{}. Certaines d'entre elles contiennent justement de nouveaux moteurs de compilation \LaTeX{}. \\ + +Pour rappel, la rédaction d'un document sous \LaTeX{} passe par 3 grandes étapes : + +\begin{figure}[H] +\centering +\resizebox{0.95\linewidth}{!}{\input{./Images/compilation_schema}} +\caption{Les 3 étapes pour rédiger un document sous \LaTeX{}} +\end{figure} + +Le moteur de compilation \LaTeX{} utilisé (PDF\LaTeX{} jusqu'à présent) fonctionne un peu comme une boîte noire. Personnellement, je ne sais pas comment elles fonctionne. Je sais qu'un fichier \verb?.tex? est inséré en entrée, le moteur de compilation tourne et fournit en sortie le fichier \verb?.pdf? espéré. + +\begin{figure}[H] +\centering +\begin{tikzpicture}[every node/.style = {align = center}] +\node (rect) at (0,0) [draw, thick, text width = 2.5cm, minimum width = 3cm, minimum height = 1.5cm, orange] {Moteur de compilation}; +\draw[<-, > = Stealth] (rect.west) --++ (-1,0) node[left, text width = 1.5cm, red] {Fichier \verb?.tex?}; +\draw[->, > = Stealth] (rect.east) --++ (1,0) node[right, text width = 1.5cm, Green] {Fichier \verb?.pdf?}; +\end{tikzpicture} +\caption{Schématisation d'un moteur de compilation} +\end{figure} + +Si nous devons lister les différents moteurs de compilation, nous pouvons en relever 3 principaux : + +\begin{itemize}[label = \ding{213}] +\item le moteur PDF\LaTeX{}, utilisé jusqu'à présent ; + +\item le moteur \LaTeX{}\footnote{Moteur éponyme au langage utilisé, attention aux possibles confusions à venir.}, qui fournit un fichier \verb?.dvi? qu'il faut convertir par le choix \verb?Dvi -> PS? puis \verb?PS -> PDF? ; + +\item le moteur \verb?XeLaTeX? ; +\end{itemize} + +\noindent{}accompagnés d'autres moteurs annexes avec leur utilité et leur fonction : \begin{itemize}[label = \ding{213}] +\item le moteur Bib\TeX{}, pour générer des bibliographies ; + +\item le moteur MakeIndex, pour générer des index. +\end{itemize} + +Il en existe d'autres comme Lua\LaTeX{}, voire des solutions plus exotiques avec Ka\TeX{} pour inclure des formules \LaTeX{} dans du HTML par exemple. + +\begin{attention}{Une question ?} +\og Je ne comprends pas à quoi peuvent bien servir ces nouveaux modes de compilation. Après tout, PDF\LaTeX{} fonctionne très bien jusqu'à présent\dots{} \fg{} \\ + +En effet, tu as tout à fait raison. Et la conclusion de ce chapitre ira dans ce sens. Mais il existe aussi des classes (\verb?powerdot? par exemple) ou des packages (\verb?pstricks?) qui ne fonctionnent pas sous PDF\LaTeX{}. Il faut donc parfois recourir à un autre moteur de compilation. + +\begin{figure}[H] +\centering +\begin{tikzpicture}[every node/.style = {align = center}] +\node (rect) at (0,0) [draw, thick, text width = 2.5cm, minimum width = 3cm, minimum height = 1.5cm, orange] {\LaTeX{} \linebreak ou \linebreak Xe\LaTeX{}}; +\draw[<-, > = Stealth] (rect.west) --++ (-1,0) node[left, text width = 1.5cm, red] {Fichier \verb?.tex?}; +\draw[->, > = Stealth] (rect.east) --++ (1,0) node[right, text width = 1.5cm, Green] {Fichier \verb?.pdf?}; +\draw[<-, > = Stealth] (rect.north) --++ (0,1) node[above, cyan] {Contraintes}; +\end{tikzpicture} +\caption{Schématisation de l'utilisation d'un autre moteur de compilation} +\end{figure} +\end{attention} + +Bien, voyons un peu ces contraintes (classes, packages) qui nous obligent à utiliser un autre moteur de compilation que PDF\LaTeX{}. + +\section{Utilisation des différents moteurs de compilation} + +Selon ce que tu désires comme document final, il te faut utiliser des classes et/ou des packages spécifiques parfois. Et il s'avère que certains requièrent l'emploi d'un moteur de compilation bien spécifique. + +\`A l'heure actuelle, pour rédiger un document sous \LaTeX{}, j'ai recensé les cas d'utilisation suivants, avec le(s) moteur(s) associé(s) : + +\begin{tableaubilan}{0.45\linewidth}{0.45\linewidth}{Cas d'utilisation}{Moteur à utiliser} +Générer un PDF ``simple'' \par (rapport normal, avec des commandes ``basiques'' et des images) & PDF\LaTeX{} ou Xe\LaTeX{} $\Rightarrow$ images au format \verb?.png? ou \verb?.jpg? \par \LaTeX{} $\Rightarrow$ images au format \verb?.eps? (convertir les images si besoin) \\ \\ + +Changer la police d'écriture & Si package de police, PDF\LaTeX{} ou \LaTeX{} \par Sinon, Xe\LaTeX{} \& package \verb?fontspec? \par (cf. détails p. \pageref{chgt-police}) \\ \\ + +Inclure et/ou fusionner des fichiers PDF dans le document (cf. p. \pageref{fusion-pdf}) & Package \verb?pdfpages? \par PDF\LaTeX{} ou Xe\LaTeX{} \\ \\ + +Générer une bibliographie (cf. p. \pageref{generer-bibliographie}) & PDF\LaTeX{} ou \LaTeX{} \par Bib\TeX{} pour la biliographie \\ \\ + +Générer un index (cf. p. \pageref{generer-index}) & PDF\LaTeX{} ou XeLaTeX ou \LaTeX{} \par MakeIndex pour l'index \\ \\ + +Générer un PDF avec des dessins (schémas, circuits électriques, diagrammes, etc.) & Package \verb?pstricks? : \LaTeX{} (le plus rapide) ou Xe\LaTeX{} \par Package \verb?tikz? (cf. p. \pageref{chap-tikz}) : PDF\LaTeX{} (le plus rapide et simple) ou \LaTeX{} ou Xe\LaTeX{} \\ \\ + +Réaliser des présentations (\textit{slides}) & Classe \verb?beamer? (cf. p. \pageref{chap-beamer}) : PDF\LaTeX{} ou \LaTeX{} ou Xe\LaTeX{} \par Classe \verb?powerdot? : \LaTeX{} ou Xe\LaTeX{} +\end{tableaubilan} + +\begin{attention}{Une question ?} +\og Pour le changement de police, tu mentionnes dans ton tableau des ``packages de police''. Qu'est-ce donc exactement ? \fg{} \\ + +Il est possible d'appeler un autre package que \verb?lmodern? dans le préambule. Par exemple, un package disponible est \verb?times?, qui donne accès à une police équivalente au \verb?Times New Roman?. + +Cependant, il y a toujours un risque relatif à l'utilisation d'une autre police : comment se comporte la police de manière générale ? qu'en est-il des mathématiques ? etc. Tu peux avoir de mauvaises surprises. \\ + +\textbf{C'est pourquoi je recommande de toujours utiliser la police native de \LaTeX{}} (\verb?Computer Modern?, avec le package \verb?lmodern?). + +Si tu dois la changer, c'est vraiment parce que tu dois faire un rapport et qu'une police spécifique est imposée. \\ + +Pour tous les détails supplémentaires, je te renvoie à la page \pageref{chgt-police}. +\end{attention} + +\begin{conseil}{Insertion d'images au format \texttt{.eps}} +Le format \verb?.eps? n'est pas l'apanage du moteur \LaTeX{}. Tu peux très bien en insérer avec PDF\LaTeX{} (conversion automatique en PDF avant insertion) ou Xe\LaTeX{}. + +Il s'agit d'un format un peu obsolète, utile pour insérer facilement des images vectorielles (format \verb?.svg?), par exemple. +\end{conseil} + +\section{Bilan} + +Toujours en vie ? Je veux bien croire cette partie un peu technique et indigeste. Elle demande un peu de pratique et il faut faire des essais, rencontrer des erreurs pour comprendre le fonctionnement et l'utilisation des moteurs de compilation. + +\begin{regles}{En résumé} +Actuellement, tout est possible et envisageable avec le moteur PDF\LaTeX{}. Techniquement, les moteurs les plus modernes sont Xe\LaTeX{} et Lua\LaTeX{}. Ils constituent un bon substitut à PDF\LaTeX{} le cas échéant. Mais le temps de compilation reste important, encore plus sur les gros documents (développement et améliorations en cours). \\ + +\textbf{C'est bien pourquoi, depuis le début de ce guide, je recommande d'utiliser le moteur PDF\LaTeX{}.} C'est le moteur le plus simple et pratique à utiliser. Il convertit directement ton fichier \verb?.tex? en un PDF. + +Tu peux normalement tout faire avec : rapports, présentations, schémas, bibliographie, index, glossaire, nomenclature, insérer des images et des PDF, etc. \\ + +Enfin, sous \Texmaker{}, le raccourci de \og compilation rapide \fg{} est plus développé pour le moteur PDF\LaTeX{} : automatisation de la bibliographie avec l'ajout de Bib\TeX{}. + +Ce n'est par exemple pas le cas pour Xe\LaTeX{}. Il faut donc lancer les différents moteurs à la main à chaque fois, ce qui se révéler fastidieux et pénible sur le long terme ! +\end{regles} + +\begin{attention}{Ce qu'il faut bannir !} +Avec le recul, la compilation avec le moteur \LaTeX{} et la série de conversion inhérente est peu recommandée. + +Cette série de conversions se révèle efficace sur de petits documents mais le passage \verb?PS2PDF? devient plus long sur des documents plus importants. Le format \verb?.eps? est aussi obligatoire pour les images. Il faut donc aussi convertir toutes les images que tu souhaites insérer (images généralement obtenues sur Internet donc au format \verb?.jpg? ou \verb?.png?). \\ + +Ce moteur se révèle donc long, laborieux et pas toujours pratique : à bannir autant que possible ! +\end{attention} + +%%% Diagramme %%% + +Et pour finir, tu trouveras ci-après (page \pageref{compilation-diagramme}) un diagramme réalisé par mes soins qui rend un peu plus explicite l'usage des différents moteurs de compilation, agrémenté de quelques précisions. + +\begin{table}[H] +\centering +\caption{Détails sur les fichiers annexes} +\begin{minipage}[t]{0.45\linewidth} +\subcaption{Principaux fichiers annexes} +\begin{tabular}{p{0.38\linewidth}p{0.62\linewidth}} +\verb?.aux? & Références \LaTeX{} \\ +\verb?.log? & Rapport compilation \\ +\verb?.out? & Signets du PDF \par (package \verb?hyperref?) \\ +\verb?.synctex.gz? & Visionneuse \Texmaker{} \\ +\verb?.toc? & Table des matières \par (\verb?\tableofcontents?) \\ +\verb?.lof? & Table des figures \par (\verb?\listoffigures?) \\ +\verb?.lot? & Table des tableaux \par (\verb?\listoftables?) +\end{tabular} +\end{minipage} +\hfill +\begin{minipage}[t]{0.45\linewidth} +\subcaption{Autres fichiers annexes} +\begin{tabular}{p{0.38\linewidth}p{0.62\linewidth}} +\verb?.bbl? & Bibliographie mise en forme \\ +\verb?.blg? & Rapport compilation bibliographie \\ +\verb?.idx? & Index brut \\ +\verb?.ind? & Index mis en forme \\ +\verb?.ilg? & Rapport compilation index +\end{tabular} +\end{minipage} +\end{table} + +\newpage + +\begin{landscape} +\thispagestyle{plain} +\label{compilation-diagramme} +\vspace*{\fill} + +\resizebox{\linewidth}{!}{\input{./Images/compilation_diagramme}} + +\vspace{2\baselineskip} + +\begin{itemize}[label = \ding{118}, leftmargin = *] +\item Si génération d'un glossaire (package \verb?glossaries?), le fonctionnement serait similaire à celui d'un index. + +\item Si génération d'une bibliographie et d'un index, \Texmaker{} se charge de lancer tous les moteurs (PDF\LaTeX{}, Bib\TeX{} et MakeIndex) dans le bon ordre (compilation rapide). +\end{itemize} + +\vspace*{\fill} +\end{landscape} + +%%% FIN diagramme %%%
\ No newline at end of file diff --git a/Master/texmf-dist/doc/latex/guide-latex-fr/Chapitres/p3-PST.tex b/Master/texmf-dist/doc/latex/guide-latex-fr/Chapitres/p3-pstricks.tex index 29e1d9c1c4a..1d4f14251f1 100644 --- a/Master/texmf-dist/doc/latex/guide-latex-fr/Chapitres/p3-PST.tex +++ b/Master/texmf-dist/doc/latex/guide-latex-fr/Chapitres/p3-pstricks.tex @@ -1,28 +1,30 @@ -\chapter{Dessiner avec \texttt{PSTricks}} +\chapter{Dessiner avec PSTricks} -\label{chap_dessin_pst}\textbf{Il n'y a rien de pire que d'apprendre une notion, de l'appréhender, d'expérimenter \dots{} pour se rendre compte qu'une autre est meilleure et qu'il faille tout recommencer depuis le début.} \\ +% Date de la dernière Mà J : 26/02/2019 -C'est ce qui m'est arrivé avec \verb?PSTricks?. J'ai appris à dessiner avec ce package, qui requiert de compiler sous \verb?LaTeX? ou \verb?XeLaTeX?. Puis, j'ai découvert \verb?TikZ?, qui fonctionne avec n'importe quel mode de compilation. +\label{chap-pstricks}\lettrine{I}{l} n'y a rien de pire que d'apprendre une notion, de l'appréhender, d'expérimenter\dots{} pour se rendre compte qu'une autre est meilleure et qu'il faille tout recommencer depuis le début. -Je ne vais pas supprimer mon travail initial. Tu peux le consulter. Mais je te recommande de passer directement au chapitre suivant sur \verb?TikZ?. +C'est ce qui m'est arrivé avec PSTricks. J'ai appris à dessiner avec ce package, qui requiert de compiler avec le moteur \LaTeX{} ou Xe\LaTeX{}. Puis, j'ai découvert \TikZ{}, qui fonctionne avec n'importe quel moteur de compilation. \\ + +Je ne vais pas supprimer mon travail initial. Tu peux le consulter. La dernière mise à jour de ce chapitre date du 26 février 2019. Dans tous les cas, \textbf{je te recommande de passer directement au chapitre suivant} sur \TikZ{}. \section{Fonctionnement général} Selon le dessin à réaliser, il faut charger un ou plusieurs packages : \begin{itemize}[label = \ding{213}] -\item \verb?pstricks? : la base pour dessiner avec \verb?PSTricks?, +\item \verb?pstricks? : la base pour dessiner avec PSTricks ; -\item \verb?pst-circ? : pour dessiner des circuits électriques, +\item \verb?pst-circ? : pour dessiner des circuits électriques ; -\item \verb?pst-node? : pour dessiner des diagrammes, +\item \verb?pst-node? : pour dessiner des diagrammes ; -\item \verb?pst-eucl? : pour dessiner des figures géométriques, +\item \verb?pst-eucl? : pour dessiner des figures géométriques ; \item \verb?pstricks-add? : pour ajouter de nouvelles commandes, comme la rotation d'objets par exemple. \\ \end{itemize} -Ensuite, pour indiquer à \LaTeX{} que nous souhaitons dessiner une image sous \verb?PSTricks?, il faut utiliser l'environnement \verb?pspicture?, suivi de la taille maximale de l'image au format \og ($x_{max}$,$y_{max}$) \fg{}. +Ensuite, pour indiquer à \LaTeX{} que nous souhaitons dessiner une image avec PSTricks, il faut utiliser l'environnement \verb?pspicture?, suivi de la taille maximale de l'image au format \verb?(x_max,y_max)?. Une option supplémentaire, \verb?[showgrid = true]?, est très utile pour visualiser le résultat avec un quadrillage en arrière-plan. Ce dernier permet de corriger des points mal placés ou de faciliter les décalages à faire. \\ @@ -32,20 +34,19 @@ Bon, allons faire quelques essais pour mieux saisir le principe de fonctionnemen Le principe de fonctionnement est très simple. Imagine que tu dessines ton circuit électrique sur une feuille de papier. Dans le coin inférieur gauche, tu places un repère et son origine puis tu considères qu'un composant, un fil, etc. revient à se déplacer d'une unité. -Honnêtement, si tu es arrivé jusqu'à cette partie du guide, tu devrais pouvoir aller jeter un coup d'{\oe}il à l'aide sans problème, surtout pour avoir accès à toutes les options disponibles. Je n'ai ni l'envie ni le besoin de le faire ici : quelqu'un l'a parfaitement bien fait à ma place ! \\ - -Mais comme je ne suis pas un monstre, voici deux petits exemples pour te mettre en bouche : +Honnêtement, si tu es arrivé jusqu'à cette partie du guide, tu devrais pouvoir aller jeter un coup d'\oe{}il à l'aide du package sans problème, surtout pour avoir accès à toutes les options disponibles. Voici deux petits exemples pour te mettre en bouche : +% Impossible de générer le résultat avec codedisplay ==> utiliser coderesult si insertion souhaité d'un visuel... \begin{code}{Un cas minimaliste} \documentclass[a4paper, 12pt]{report} -% LaTeX +% LaTeX // XeLaTeX +\usepackage{lmodern} +\usepackage[french]{babel} \usepackage[utf8]{inputenc} \usepackage[T1]{fontenc} -\usepackage[french]{babel} -\usepackage{lmodern} -\usepackage{amsmath, amsfonts, amssymb, upgreek} +\usepackage{amsmath, amsfonts, amssymb} \usepackage[dvipsnames]{xcolor} % Pour les couleurs si besoin \usepackage{pst-circ} % Pour les circuits électriques @@ -66,7 +67,7 @@ Mais comme je ne suis pas un monstre, voici deux petits exemples pour te mettre \coil[dipolestyle = curved](3,1)(4,1){$L$} % Fils -\wire[intensitylabel = $I$, intensitycolor = red, intensitylabelcolor = red](0,1)(1,1) % Ou mettre le texte en rouge avec \textcolor +\wire[intensitylabel = $I$, intensitycolor = red, intensitylabelcolor = red](0,1)(1,1) \wire(2,1)(3,1) \wire(4,1)(5,1) @@ -81,13 +82,13 @@ Mais comme je ne suis pas un monstre, voici deux petits exemples pour te mettre \begin{code}{Un cas plus complet} \documentclass[a4paper, 12pt]{report} -% LaTeX +% LaTeX // XeLaTeX +\usepackage{lmodern} +\usepackage[french]{babel} \usepackage[utf8]{inputenc} \usepackage[T1]{fontenc} -\usepackage[french]{babel} -\usepackage{lmodern} -\usepackage{amsmath, amsfonts, amssymb, upgreek} +\usepackage{amsmath, amsfonts, amssymb} \usepackage[dvipsnames]{xcolor} % Pour les couleurs si besoin \usepackage{pst-circ} % Pour les circuits électriques @@ -102,7 +103,7 @@ Mais comme je ne suis pas un monstre, voici deux petits exemples pour te mettre \resistor(2,1)(2,2){$R$} \coil[dipolestyle = curved](4,1)(4,2){$L$} % Un affichage possible pour une bobine \coil[dipolestyle = elektor](6,3)(7,3){$l$} % Un autre format d'affichage -\resistor(8,1)(8,2){$\cfrac{r}{g}$} +\resistor(8,1)(8,2){$\frac{r}{g}$} % Fils \wire[intensitylabel = $I$, intensitylabeloffset = 0.5](0,3)(2,3) @@ -124,37 +125,40 @@ Mais comme je ne suis pas un monstre, voici deux petits exemples pour te mettre \end{document} \end{code} -\begin{conseilbox}{Conseil personnel} -La génération sous \verb?XeLaTeX? peut se révéler assez longue, surtout si tu cumules de nombreux circuits. \\ +\begin{conseil}{Conseil personnel} +La génération sous Xe\LaTeX{} peut se révéler assez longue, surtout si tu cumules de nombreux circuits. -Après des essais, le temps d'attente est négligeable avec une compilation sous \verb?LaTeX? puis \verb?Dvi -> PS? puis \verb?PS -> PDF?. +Après des essais, le temps d'attente est négligeable avec une compilation sous \LaTeX{}, suivie des conversions d'usage \verb?Dvi -> PS? puis \verb?PS -> PDF?. -Tu peux donc éventuellement rédiger tout ton rapport avec ce mode de compilation. En revanche, ce dernier ne tolère pas les fichiers \verb?.png? ou \verb?.jpg? pour les images. Il faut donc les convertir en fichier \verb?.eps?, grâce au logiciel \verb?GIMP? par exemple. -\end{conseilbox} +Tu peux donc éventuellement rédiger tout ton rapport avec ce dernier moteur de compilation. Pour rappel, ce dernier ne tolère pas les fichiers \verb?.png? ou \verb?.jpg? pour les images. Il faut donc les convertir en fichier \verb?.eps?, grâce au logiciel \GIMP{} par exemple. +\end{conseil} -\begin{attentionbox}{\textit{Nota Bene}} -Tu pourras remarquer que le guide de \verb?pst-circ? utilise une commande \verb?pnode? pour définir les n{\oe}uds et leur donner une lettre. \\ +\begin{attention}{\textit{Nota Bene}} +Tu as peut-être déjà remarqué que le guide de \verb?pst-circ? utilise une commande \verb?\pnode? pour définir les n\oe{}uds et leur donner une lettre. \\ -Sache que ce n'est pas absolument pas nécessaire (la preuve avec mes exemples) et, personnellement, je ne te recommande pas de le faire. Je trouve que c'est plus beaucoup plus long s'il faut déplacer des points. -\end{attentionbox} +Il ne s'agit en aucun d'une obligation, comme l'attestent mes précédents exemples. Personnellement, pour un petit schéma, je ne recommande pas de le faire. Je trouve que c'est plus beaucoup plus long s'il faut déplacer des points. + +Cette solution se révèle toutefois plus pratique pour de grands schémas, s'il y a beaucoup de changements à réaliser avant d'obtenir le résultat souhaité et si tu as beaucoup de points communs, par exemple. +\end{attention} Bon, si tu viens de te rendre compte que \LaTeX{} est extrêmement puissant pour dessiner des circuits d'aussi bonne qualité, sache que ce n'est pas fini. Allons dessiner tout court. \section{Dessiner tout court} -Pour dessiner avec \texttt{PSTricks}, le principe est extrêmement similaire : tu définis des traits ou des formes à partir de coordonnées et \LaTeX{} trace le tout. C'est parti avec un exemple : +Pour dessiner avec PSTricks, le principe est extrêmement similaire : tu définis des traits ou des formes à partir de coordonnées et \LaTeX{} trace le tout. C'est parti avec un exemple : -\begin{code}{Deux dessins} +\begin{code}{Un premier dessin : transmission de la chaleur} \documentclass[a4paper, 12pt]{report} -% LaTeX +% LaTeX // XeLaTeX +\usepackage{lmodern} +\usepackage[french]{babel} \usepackage[utf8]{inputenc} \usepackage[T1]{fontenc} -\usepackage[french]{babel} -\usepackage{lmodern} -\usepackage{amsmath, amsfonts, amssymb, upgreek} +\usepackage{amsmath, amsfonts, amssymb} +\usepackage[dvipsnames]{xcolor} \usepackage{pstricks} % Pas besoin du package xcolor ici % pstricks l'importe automatiquement @@ -164,11 +168,11 @@ Pour dessiner avec \texttt{PSTricks}, le principe est extrêmement similaire : t % Coefficient de transmission thermique d'une paroi \begin{pspicture}(7,4) -\psline[linecolor = green](1.5,4)(1.5,0) % Pour tracer une ligne +\psline[linecolor = Green](1.5,4)(1.5,0) % Pour tracer une ligne \psline(2.5,4)(2.5,0) \psline(3.5,4)(3.5,0) \psline(4.5,4)(4.5,0) -\psline[linecolor = green](5.5,4)(5.5,0) +\psline[linecolor = Green](5.5,4)(5.5,0) \psline[linecolor = red]{->}(0,2)(7,2) \psframe[fillstyle = hlines](1.5,0)(2.5,4) % Pour tracer un rectangle @@ -179,8 +183,8 @@ Pour dessiner avec \texttt{PSTricks}, le principe est extrêmement similaire : t \rput(3,-0.25){2} \rput(4,-0.25){3} \rput(5,-0.25){4} -\rput(1.5,4.25){\textcolor{green}{$T_{S_a}$}} -\rput(5.5,4.25){\textcolor{green}{$T_{S_b}$}} +\rput(1.5,4.25){\textcolor{Green}{$T_{S_a}$}} +\rput(5.5,4.25){\textcolor{Green}{$T_{S_b}$}} \rput(7,1.75){\textcolor{red}{$\Phi$}} \rput(0,3){Ambiance a} \rput(7,3){Ambiance b} @@ -188,7 +192,26 @@ Pour dessiner avec \texttt{PSTricks}, le principe est extrêmement similaire : t \rput(7,2.5){$T_b$} \end{pspicture} -\vspace{2\baselineskip} +\end{document} +\end{code} + +\begin{code}{Un second dessin : tracé et hachurage} +\documentclass[a4paper, 12pt]{report} + +% LaTeX // XeLaTeX +\usepackage{lmodern} +\usepackage[french]{babel} +\usepackage[utf8]{inputenc} +\usepackage[T1]{fontenc} + +\usepackage{amsmath, amsfonts, amssymb} + +\usepackage{pstricks} +% Pas besoin du package xcolor ici +% pstricks l'importe automatiquement + + +\begin{document} % Création d'un domaine hachuré \begin{pspicture}(7,7) @@ -197,7 +220,7 @@ Pour dessiner avec \texttt{PSTricks}, le principe est extrêmement similaire : t \psline{->}(1,0)(1,7) \uput[d](7,1){$t_A$} % Plus pratique pour placer une indication décalée % d = down ; u = up ; l = left ; r = right -\uput[ul](1,7){$t_B$} % Combinaison de position possible DANS CETTE ORDRE (lu ne fonctionne pas) +\uput[ul](1,7){$t_B$} % Combinaison de position possible DANS CET ORDRE (lu ne fonctionne pas) \pscircle[fillcolor = black, fillstyle = solid](6,1){0.1} % Pour tracer un cercle + le remplir \uput[d](6,1){30} @@ -216,158 +239,76 @@ Pour dessiner avec \texttt{PSTricks}, le principe est extrêmement similaire : t \end{document} \end{code} -\begin{conseilbox}{Pour plus de commandes} +\begin{conseil}{Pour plus de commandes} Je ne vois aucun intérêt à faire une liste des commandes et des options possibles. Je t'ai fourni deux exemples pour que tu aies un aperçu du rendu et des possibilités mais à toi d'aller te documenter par la suite. \\ Je te recommande particulièrement d'aller sur : \url{http://fr.wikibooks.org/wiki/LaTeX/Dessiner_avec_LaTeX/Dessiner_avec_PSTricks}. C'est assez complet. -\end{conseilbox} - -\section{\'Eclair} - -Il s'agit d'un dessin que j'ai trouvé sur Internet mais dans un format trop petit. Comme j'en avais besoin, j'ai décidé de le dessiner. Depuis, il est même devenu mon logo personnel ! Cependant, la nature ne m'a pas doté de talents artistiques incroyables, que ce soit sur papier ou une souris à la main. \\ - -Heureusement, Dieu (alias Donald \textsc{Knuth} et Leslie \textsc{Lamport}) a inventé \LaTeX{}, tandis que Spencer \textsc{Kimball} et Peter \textsc{Mattis} ont créé \texttt{GIMP}. J'ai donc pris un papier, reproduit le dessin rapidement et placé les points nécessaires. - -Avec l'outil mesure de \texttt{GIMP}, j'ai déterminé toutes les distances et donc toutes les coordonnées des points en question. - -Avec l'outil pipette, j'ai sélectionné la couleur et suis allé regarder les options pour obtenir le code RGB. \\ - -Trois minutes de code plus tard sous \LaTeX{}, le dessin est prêt. Il y a juste un petit problème d'affichage donc j'ai ajouté quelques packages pour avoir une page à la taille voulu (au revoir le A4). - -\begin{code}{Le code en question} -% Compiler sous le mode LaTeX -\documentclass[12pt]{report} - -\usepackage[french]{babel} - -\usepackage[paperwidth = 50cm, paperheight = 90cm, -left = 2cm, top = 2cm]{geometry} - -\pagestyle{empty} - -\usepackage{pstricks} -\definecolor{bleucyan}{RGB}{59,195,235} % Rappel : pstricks charge xcolor - - -\begin{document} - -\begin{pspicture}(34,77) -\pspolygon*[linecolor = bleucyan](13,0)(33,27)(19,27)(33,50)(16,50)(30,76)(0,34)(9,34)(6,25)(15,39)(9,39)(13,45)(22,45)(8,22)(24,22)(13,0) -\end{pspicture} - -\end{document} -\end{code} - -\section{Tête} - -De même, voici une autre ``création'', ou du moins copie personnelle. Dessinée de la même manière que décrite précédemment, le travail complémentaire a juste consisté à la mettre aux bonnes dimensions grâce à \texttt{GIMP} puis à l'insérer dans un document \LaTeX{} en tant qu'image pour impression. \\ - -Un peu de papier calque m'a ensuite permis de reproduire le motif là où j'en avais envie \dots{} Simple mais diablement efficace ! - -\begin{code}{Le code en question - Le retour} -% Compiler sous le mode LaTeX -\documentclass[12pt]{report} - -\usepackage[french]{babel} - -\usepackage[paperwidth = 70 cm, paperheight = 60 cm, left = 2 cm, -right = 2 cm, top = 2 cm, bottom = 2 cm]{geometry} - -\pagestyle{empty} - -\usepackage{pstricks} - - -\begin{document} - -\begin{pspicture}(64,50) -\psset{linewidth = 0.15} % Réglage des paramètres - -% Partie supérieure - Début sommet corne gauche -\pscurve(0,45)(1,43)(3,39.5)(6,38) -\psline(6,38)(15,38) -\pscurve(15,38)(17.5,43)(20,45)(24,46) -\psline(24,46)(36,46) -\pscurve(36,46)(40,45)(42.5,43)(45,37) -\psline(45,37)(53,37) -\pscurve(53,37)(55,37.5)(60,43) % Sommet corne droite -\pscurve(60,43)(60,37)(56,31)(53,30) -\psline(53,30)(47,30)(49,18)(44,24)(40,18)(36,24)(31,19)(27,24)(22,18)(18,24)(13,20)(13,29)(10,29) -\pscurve(10,29)(7,30)(0,38)(0,45) - -% Partie inférieure - De la gauche vers la droite -\psline(14,8)(14,10)(18,16)(23,11)(27,17)(32,10)(36,17)(40,10)(45,17)(48,12)(48,10) -\pscurve(48,10)(43,5)(34,0) -\psline(34,0)(29,0) -\pscurve(29,0)(20,4)(14,8) - -% Oeil gauche -\psline(21,36)(21,32) -\pscurve(21,32)(22.5,30)(24,29) -\psline(24,29)(27,29)(21,36) - -% Oeil droit -\psline(40,37)(34,29)(36,29) -\pscurve(36,29)(38,30)(39.5,31.5)(40,33) -\psline(40,33)(40,37) -\end{pspicture} - -\end{document} -\end{code} +\end{conseil} \section{Utiliser des coordonnées} -Dans une optique d'automatisation des dessins (un système d'amortisseur en mécanique ou un circuit RLC, utilisés de nombreuses fois, par exemple), il est possible de créer une commande. - -L'argument principal de cette commande serait alors un point de départ pour le schéma (en bas à gauche, en haut à droite ou ailleurs, au choix). Sous \verb?PSTricks?, il s'agirait d'un n{\oe}ud (\verb?node?) et tous les autres sont définis à partir de ce n{\oe}ud d'origine (décalage des abscisses et des ordonnées). +Dans une optique d'automatisation des dessins (un système d'amortisseur en mécanique ou un circuit RLC, utilisés de nombreuses fois, par exemple), il faudrait pouvoir créer une commande. -L'origine sert donc de ``point d'ancrage'' pour positionner le dessin et le reste est construit automatiquement. \\ +L'argument principal de cette commande serait alors un point de départ pour le schéma (en bas à gauche, en haut à droite ou ailleurs, au choix). Sous PSTricks, il s'agirait d'un n\oe{}ud (\verb?node?) et tous les autres sont définis à partir de ce n\oe{}ud d'origine (décalage des abscisses et des ordonnées). \\ -Pour ce faire, il faut procéder de la manière suivante : +L'origine sert donc de ``point d'ancrage'' pour positionner le dessin et le reste est construit automatiquement. Pour ce faire, il faut procéder de la manière suivante : \begin{itemize}[label = \ding{118}] -\item en plus de \verb?pstricks?, charger le package \verb?pst-node?, +\item en plus de \verb?pstricks?, charger le package \verb?pst-node? ; -\item définir tous les n{\oe}uds grâce à la commande : \begin{center} \verb?\psnodes(x1,y1){noeud1}..(xN,yN){noeudN}?\end{center} +\item définir tous les n\oe{}uds grâce à la commande : \begin{center} \verb?\psnodes(x1,y1){noeud1}..(xN,yN){noeudN}?\end{center} -En l'occurrence, le n{\oe}ud 1 est l'origine ; \verb?(x1,y1)? est donc remplacé par \verb?(#1)? (argument de la commande), +En l'occurrence, le n{\oe}ud 1 est l'origine ; \verb?(x1,y1)? est donc remplacé par \verb?(#1)? (argument de la commande) ; -\item définir les \verb?(xi,yi)? en commençant par un \verb?!? et selon la méthode NPI (cf. encadré ci-après), +\item définir les \verb?(xi,yi)? en commençant par un \verb?!? et selon la méthode NPI (cf. encadré ci-après) ; \item récupérer les coordonnées selon l'une des deux manières suivantes : \begin{itemize}[label = \ding{213}] \item utiliser la commande \verb?\psGetNodeCenter{noeudi} noeudi.Z?, où \verb?Z? correspond à \verb?x? ou \verb?y? (respectivement, récupération de l'abscisse ou de l'ordonnée), -\item OU BIEN, introduire la commande \verb?saveNodeCoors? dans les options de l'environnement \verb?pspicture? et utiliser ensuite la commande \verb?N-noeudi.Z?. \\ +\item \textbf{ou bien,} introduire la commande \verb?saveNodeCoors? dans les options de l'environnement \verb?pspicture? et utiliser ensuite la syntaxe \verb?N-noeudi.Z?. \\ \end{itemize} \end{itemize} Il est aussi possible de définir des longueurs pour continuer de généraliser la commande, comme nous le verrons dans l'exemple qui va suivre. -\begin{boite}{La Notation Polonaise Inverse}{Orchid} -Selon Wikipédia, \og la notation polonaise inverse (NPI) (en anglais RPN pour Reverse Polish Notation), également connue sous le nom de notation post-fixée, permet d'écrire de façon non ambiguë les formules arithmétiques sans utiliser de parenthèses. \fg{} +\begin{definition}{La Notation Polonaise Inverse} +{\noindent\huge\bfseries\color{gray!75}\og} + +La notation polonaise inverse (NPI) (en anglais RPN pour \textit{Reverse Polish Notation}), également connue sous le nom de notation post-fixée, permet d'écrire de façon non ambiguë les formules arithmétiques sans utiliser de parenthèses. + +{\hfill\huge\bfseries\color{gray!75}\fg} \\ + +\begin{flushright} +Wikipédia -- Disponible sur : + +\url{https://fr.wikipedia.org/wiki/Notation_polonaise_inverse} +\end{flushright} Concrètement, pour utiliser un exemple, l'opération $((1 + 2) \times 4) + 3$ peut être notée en NPI \verb?1 2 + 4 x 3 +?. Il suffit de partir de la gauche, de prendre deux éléments et un opérateur, de faire le calcul et de le remplacer. Pour détailler, nous avons donc ici : \begin{itemize}[label = \ding{213}] -\item \verb?1 2 + 4 x 3 +? : prendre \verb?1 2 +? qui devient $1 + 2$ soit 3, +\item \verb?1 2 + 4 x 3 +? : prendre \verb?1 2 +? qui devient $1 + 2$ soit 3 ; -\item passage à \verb?3 4 x 3 +? : prendre \verb?3 4 x? qui devient $3 \times 4$ soit 12, +\item passage à \verb?3 4 x 3 +? : prendre \verb?3 4 x? qui devient $3 \times 4$ soit 12 ; \item passage à \verb?12 3 +? qui devient $12 + 3$ soit 15. \\ \end{itemize} -Dans le cadre de \verb?PSTricks?, le fonctionnement est le même sauf que les opérateurs suivants sont utilisés : \verb?add?, \verb?sub?, \verb?mul? et \verb?div?, respectivement pour addition, soustraction, multiplication et division. -\end{boite} +Dans le cadre de PSTricks, le fonctionnement est le même sauf que les opérateurs suivants sont utilisés : \verb?add?, \verb?sub?, \verb?mul? et \verb?div?, respectivement pour addition, soustraction, multiplication et division. +\end{definition} -Avec un exemple commenté, nous obtenons : +Avec des exemples commentés, nous obtenons des cas d'utilisation possibles : -\begin{code}{Exemple d'utilisation des coordonnées} -% Compiler sous le mode LaTeX +\begin{code}{Exemple abstrait (boîte)} +% Compiler avec le moteur LaTeX \documentclass[a4paper, 12pt]{report} +\usepackage{lmodern} \usepackage[french]{babel} +\usepackage[utf8]{inputenc} +\usepackage[T1]{fontenc} \usepackage{amsmath, amsfonts, amssymb} @@ -378,9 +319,7 @@ Avec un exemple commenté, nous obtenons : \newcommand{\textedbox}[4]{\pnodes(#1){origine}(#2){fin} \psframe[#3](origine)(fin) -\rput(!N-fin.x N-origine.x add 2 div N-fin.y N-origine.y add 2 div){\parbox{\linewidth}{\centering #4}}} - -\newcommand{\amortisseur}[3]{\pnodes(#1,#2){A}(!#1 1 sub #2){B}(!#1 1 sub #2 1 add){C}(!#1 #2 1 add){D}(!#1 0.5 sub #2 1 add){F}(!#1 0.5 sub #2){E}(!#1 0.5 sub #2 0.5 add){G}(!#1 0.5 add #2 0.5 add){H}(!#1 1 sub #2 0.5 add){I}(!#1 2 sub #2 0.5 add){J}(!#1 0.5 sub #2){K}\psline(A)(B)(C)(D) \psline(F)(E) \psline(G)(H) \psline(I)(J) \uput[d](K){#3}} +\rput(!N-fin.x N-origine.x add 2 div N-fin.y N-origine.y add 2 div){\parbox{\linewidth}{\centering{}#4}}} \begin{document} @@ -396,19 +335,41 @@ Avec un exemple commenté, nous obtenons : \pnodes(1,1){origine}(!\psGetNodeCenter{origine} origine.x \longueur add origine.y \longueur add){fin} \psframe(origine)(fin) -\psline[linecolor = Orchid]{|<->|}(!N-origine.x N-origine.y +\psline[linecolor = violet]{|<->|}(!N-origine.x N-origine.y \decalage sub)(!N-fin.x N-fin.y \longueur \decalage add sub) +% NE PAS écrire \longueur{}... % Une commande créée avec l'option saveNodeCoors -\rput(4,0){\psrotate(2.5,2.5){90}{\textedbox{0,2}{5,3}{linecolor = Red, framearc = 0.5, linestyle = dashed, fillstyle = hlines, hatchcolor = gray}{\textcolor{Cyan}{Texte}}}} +\rput(4,0){\psrotate(2.5,2.5){90}{\textedbox{0,2}{5,3}{linecolor = red, framearc = 0.5, linestyle = dashed, fillstyle = hlines, hatchcolor = gray}{\textcolor{cyan}{Texte}}}} % Une autre possibilité -\rput(9,2.5){\psframebox[linecolor = Orange, framesep = 13pt]{\Large Test}} +\rput(9,2.5){\psframebox[linecolor = orange, framesep = 13pt]{\Large{}Test}} \end{pspicture} -\vspace{2\baselineskip} +\end{document} +\end{code} + +\begin{code}{Exemple concret (amortisseur)} +% Compiler avec le moteur LaTeX +\documentclass[a4paper, 12pt]{report} + +\usepackage{lmodern} +\usepackage[french]{babel} +\usepackage[utf8]{inputenc} +\usepackage[T1]{fontenc} + +\usepackage{amsmath, amsfonts, amssymb} + +\usepackage[dvipsnames]{xcolor} +\usepackage{pstricks, pst-node} +% pst-node pour les noeuds et le calcul de nouvelles coordonnées -Un cas plus concret avec un amortisseur, moins élégante mais qui fonctionne : +\newcommand{\amortisseur}[3]{\pnodes(#1,#2){A}(!#1 1 sub #2){B}(!#1 1 sub #2 1 add){C}(!#1 #2 1 add){D}(!#1 0.5 sub #2 1 add){F}(!#1 0.5 sub #2){E}(!#1 0.5 sub #2 0.5 add){G}(!#1 0.5 add #2 0.5 add){H}(!#1 1 sub #2 0.5 add){I}(!#1 2 sub #2 0.5 add){J}(!#1 0.5 sub #2){K}\psline(A)(B)(C)(D) \psline(F)(E) \psline(G)(H) \psline(I)(J) \uput[d](K){#3}} + + +\begin{document} + +Un cas plus concret avec un amortisseur (taille fixe), moins élégante mais qui fonctionne : \begin{pspicture}[showgrid = true](3,2) \amortisseur{2}{0.5}{$\mu$} @@ -417,31 +378,34 @@ Un cas plus concret avec un amortisseur, moins élégante mais qui fonctionne : \end{document} \end{code} -Comme tu peux le constater, la définition des n{\oe}uds avec cette méthode est, certes, laborieuse mais peut se révéler très pratique avec la possibilité de créer des commandes : au lieu d'avoir une entrée pour l'abscisse de l'origine et une autre pour son ordonnée, tout passe avec un argument et \verb?PSTricks? fait le reste. +Comme tu peux le constater, la définition des n\oe{}uds avec cette méthode est, certes, laborieuse mais peut se révéler très pratique avec la possibilité de créer des commandes : au lieu d'avoir une entrée pour l'abscisse de l'origine et une autre pour son ordonnée, tout passe avec un argument et PSTricks fait le reste. -Autrement, dans la définition des n{\oe}uds, avec cette notation, il ne faut \textbf{pas oublier} le \verb?!? et il est important de noter que la séparation des abscisses et des ordonnées se fait SANS virgule\footnote{Pourquoi ? Je n'en sais rien, ça marche comme ça et c'est très bien. Mais il doit bien y avoir une raison \dots{}}. +Autrement, dans la définition des n\oe{}uds, avec cette notation, il ne faut \textbf{pas oublier} le \verb?!? et il est important de noter que la séparation des abscisses et des ordonnées se fait \textbf{SANS} virgule\footnote{Pourquoi ? Je n'en sais rien, ça marche comme ça et c'est très bien. Mais il doit bien y avoir une raison\dots{}}. \section{Des boîtes pour le texte} -Peut-être l'as-tu remarqué dans mon précédent exemple mais il est possible de créer des boîtes avec le texte centré et tout et tout. +Peut-être l'as-tu remarqué dans mon précédent exemple abstrait mais il est possible de créer des boîtes avec le texte centré, et plein d'autres options. -Ma commande, définie dans l'exemple précédent, serait ``parfaite'' (de mon point de vue, après, tout est relatif) s'il était possible d'extraire la longueur de la boîte pour l'intégrer comme argument de la \verb?parbox? \dots{} Sans succès pour l'instant. +Ma commande, définie dans l'exemple précédent, serait ``parfaite'' (de mon point de vue) s'il était possible d'extraire la longueur de la boîte pour l'intégrer comme argument de la \verb?parbox?. Sans succès pour l'instant. Mais il semblerait qu'elle fonctionne grâce à un petit \verb?\linewidth?. Tant mieux. \\ -Sinon, il existe d'autres possibilités sous \verb?PSTricks? comme la commande \verb?PSTextFrame?. Une piste à explorer \dots{} +Sinon, il existe d'autres possibilités sous PSTricks comme la commande \verb?\PSTextFrame?. Une piste à explorer ! \section{Réaliser des intersections} -Tu as envie de tracer un contour qui correspond à l'intersection de deux cercles mais tu ne sais pas comment faire \dots{} Pas de panique, il existe une solution. Je vais présenter celle disponible sous \verb?PSTricks?, même s'il en existe une aussi sous \verb?TikZ? (comme elles portent le même nom, la documentation est facile à trouver). +Tu as envie de tracer un contour qui correspond à l'intersection de deux cercles mais tu ne sais pas comment faire\dots{} Pas de panique, il existe une solution. Je vais présenter celle disponible sous PSTricks, même s'il en existe une aussi sous \TikZ{} (comme elles portent le même nom, la documentation est facile à trouver). -Il s'agit d'utiliser le ``\verb?clip?''. Le fonctionnement est très simple : tu définis la zone d'intersection puis tu places un objet assez grand (comme un rectangle) et paf ! Tu obtiens des Chocapics \dots{} bon ok, quand même pas mais le résultat escompté est là et c'est déjà ça. +Il faut réaliser un \verb?clip?. Le fonctionnement est très simple : tu définis la zone d'intersection puis tu places un objet assez grand (comme un rectangle) et paf ! Tu obtiens des Chocapics\dots{} bon ok, quand même pas mais le résultat escompté est là et c'est le plus important. \begin{code}{Réaliser des intersections} -% Compiler sous le mode LaTeX +% Compiler avec le moteur LaTeX \documentclass[a4paper, 12pt]{report} +\usepackage{lmodern} \usepackage[french]{babel} +\usepackage[utf8]{inputenc} +\usepackage[T1]{fontenc} \usepackage[dvipsnames]{xcolor} \usepackage{pstricks} @@ -450,16 +414,16 @@ Il s'agit d'utiliser le ``\verb?clip?''. Le fonctionnement est très simple : tu \begin{document} \begin{pspicture}[showgrid = true](5,5) +% Chemin de coupure / clip \psclip{ \pscircle[linestyle = none](1,2){2} \pscircle[linestyle = none](4,2){2} -} - % Chemin de coupure - % linestyle = none pour ne pas le dessiner - -\psframe*[linecolor = Cyan](0,0)(4,4) +} +% linestyle = none pour ne pas le dessiner + % Remplir l'intérieur du chemin -\endpsclip +\psframe*[linecolor = Cyan](0,0)(4,4) +\endpsclip{} % Affichage du contour du chemin de coupure \pscircle(1,2){2} @@ -469,15 +433,15 @@ Il s'agit d'utiliser le ``\verb?clip?''. Le fonctionnement est très simple : tu \vspace{2\baselineskip} \begin{pspicture}[showgrid = true](5,5) +% Chemin de coupure / clip \psclip{ \rput{-30}(0,2){\psframe[linestyle = none](0,0)(3,2)} % psrotate inopérant --> travailler avec rput (partir de (0,0), rotation puis décalage) \pscircle[linestyle = none](4,2){2} -} -% Chemin de coupure -\endpsclip - +} +% Remplir l'intérieur du chemin \psframe*[linecolor = Cyan](0,0)(4,4) +\endpsclip{} \end{pspicture} \end{document} @@ -485,33 +449,29 @@ Il s'agit d'utiliser le ``\verb?clip?''. Le fonctionnement est très simple : tu \section{Extraction du contour d'une image} -Il existe une image, une icône bien spécifique que tu as envie de réexploiter mais elle est trop petite (zoom $\Rightarrow$ pixels immondes) ou bien tu tiens à la créer sous \LaTeX{} pour obtenir une image vectorielle \dots{} - -Même si le résultat n'est pas encore parfait, c'est possible, plus particulièrement sur des images monochromes. Le plus dur et le seul point qui nous importe est l'obtention du contour de l'image. Dès que nous avons les coordonnées des points, \verb?psline? suffit, quitte à ajouter des options pour le remplissage. +Il existe une image, une icône bien spécifique que tu as envie de réexploiter mais elle est trop petite et les pixels sont apparents au moindre zoom. Ou bien tu tiens à la créer toi-même sous \LaTeX{} pour obtenir une image vectorielle\dots{} mais autant passer par un logiciel spécialisé parfois (Photoshop, InDesign, etc.). -Il doit être possible de trouver une commande similaire sous \verb?TikZ?, qui permet aussi de lisser la courbe mais je n'ai rien trouvé de très pratique jusqu'à présent. \\ +Même si le résultat n'est pas encore parfait, il est possible de vectoriser une image, plus particulièrement sur des images monochromes. Le plus dur et le seul point qui nous importe est l'obtention du contour de l'image. Dès que nous avons les coordonnées des points, \verb?\psline? suffit, quitte à ajouter des options pour le remplissage. \\ Par contre, pour réussir à obtenir les coordonnées du contour en question, il faut bidouiller de la manière suivante : \begin{itemize}[label = \ding{118}] -\item vectorialiser l'image sous \texttt{Inkscape}, la lisser si nécessaire (enlever les bosses superflues, \dots{}), - -\item enregistrer le résultat au format \verb?.tex?, +\item vectoriser l'image sous \Inkscape{}, la lisser si nécessaire (enlever les bosses superflues\dots{}) ; -\item ouvrir le code obtenu, vérifier les dimensions utilisées puis épurer le code, c'est-à -dire ne garder que les coordonnées et enlever les commandes s'il y en a, +\item exporter le résultat au format \verb?.tex? (option \verb?Enregistrer sous?) ; -\item simplifier les coordonnées (beaucoup de décimales pas forcément utiles, surtout à la vue des dimensions utilisées) $\rightarrow$ possibilité de laisser le traitement à un programme \texttt{Python}, +\item ouvrir le code obtenu, vérifier les dimensions utilisées puis épurer le code, c'est-à -dire ne garder que les coordonnées et enlever les commandes s'il y en a ; -\item insérer les coordonnées obtenues dans le code \LaTeX{} final de ton image, +\item simplifier les coordonnées (beaucoup de décimales pas forcément utiles, surtout à la vue des dimensions utilisées). Possibilité de laisser ce traitement à un algorithme (proposition d'un algorithme Python ci-après), -\item bien reporter les dimensions ou les ajuster si besoin : \begin{center} \verb?\psset{xunit = 0.5pt, yunit = 0.5pt}? par exemple \end{center} +\item insérer les coordonnées obtenues dans le code \LaTeX{} final de ton image ; -\item dans le cas où \verb?TikZ? est utilisé, grâce à l'outil \og Remplacer \fg{} de \texttt{Texmaker}, remplacer les \verb?)? des coordonnées en \verb?)--? (règle sous \verb?TikZ? pour faire les tracés). \\ +\item bien reporter les dimensions ou les ajuster si besoin. Par exemple : \begin{center} \verb?\psset{xunit = 0.5pt, yunit = 0.5pt}? \end{center} \end{itemize} -Normalement, le résultat n'est pas trop moche. Tu peux le lisser sous \verb?PSTricks? sans effort en utilisant la commande \verb?pscurve? au lieu de \verb?psline?. \`A toi de jouer\footnote{Yu-Gi-Oh oh oh \dots{}} désormais ! +Normalement, le résultat n'est pas trop moche. Tu peux le lisser sous PSTricks sans effort en utilisant la commande \verb?\pscurve? au lieu de \verb?\psline?. \`A toi de jouer !\footnote{Yu-Gi-Oh oh oh\dots{}} -\begin{codePY}{Simplifier les coordonnées - Le code Python} +\begin{code}[listing options = {style = mainlststyle, language = Python, xleftmargin = 17pt, numbers = left, numbersep = 13pt, numberstyle = \ttfamily\footnotesize\color{orange!50!red}, keywordstyle = \color{blue}, stringstyle = \color{orange}}]{Simplifier les coordonnées : un algorithme Python} def reduction(chaine, nombre) : """Réduire la valeur des décimales à "nombre" d'une liste de coordonnées (x,y) (variable chaine)""" resultat = "" @@ -547,4 +507,4 @@ def reduction(chaine, nombre) : chaine = "(13.10458,13.112)(13.10458,13.112)(13.10458,13.112)" nombre = 2 reduction(chaine, nombre) -\end{codePY}
\ No newline at end of file +\end{code}
\ No newline at end of file diff --git a/Master/texmf-dist/doc/latex/guide-latex-fr/Chapitres/p3-structuration.tex b/Master/texmf-dist/doc/latex/guide-latex-fr/Chapitres/p3-structuration.tex new file mode 100644 index 00000000000..b8d1cff1037 --- /dev/null +++ b/Master/texmf-dist/doc/latex/guide-latex-fr/Chapitres/p3-structuration.tex @@ -0,0 +1,139 @@ +\chapter{Structurer ses documents} + +\label{structure-docs}\lettrine{L}{a} rédaction de rapports ou de guides peut très vite contenir un nombre important de lignes (préambule et les commandes définies, chapitres, contenu). Dès lors, la relecture devient indigeste et difficile. Il est grand de reprendre le contrôle sur l'organisation de ses documents \LaTeX{} ! + +\section{Un peu de rangement} + +Pour commencer, nous supposons que ton projet \LaTeX{} tient dans un dossier racine, identifié de manière relative par la formulation \textcolor{orange}{\verb?./?}. + +\begin{figure}[H] +\centering +\begin{tikzpicture}[grow via three points = {one child at (0.5,-0.7) and two children at (0.5,-0.7) and (0.5,-1.4)}, edge from parent path = {(\tikzparentnode.south) |- (\tikzchildnode.west)}, every node/.style = {right, font = \ttfamily}, thick] +% Aucune ligne vierge après le node ! (pas d'aération du code possible) +\node {\folder{} \textcolor{orange}{./}} + child { node {\folder{} \textbf{Chapitres}} + child { node {main-biblio.bib}} + child { node {chap1.tex}} + child { node {\dots{}}} + child { node {commandes.tex}} + child { node {packages.tex}} + } + child[missing] {} % Saut de ligne à cause des "sous-enfants" précédents + child[missing] {} + child[missing] {} + child[missing] {} + child[missing] {} + child { node {\folder{} \textbf{Images}} + child { node {image1.jpg}} + child { node {\dots{}}} + } + child[missing] {} + child[missing] {} + child { node {\textbf{main.tex}}}; +\end{tikzpicture} +\caption{Arborescence du projet} +\end{figure} + +\begin{attention}{Chemin absolu et chemin relatif} +Par la suite, nous allons devoir indiquer à \LaTeX{} où sont rangés les différents fichiers \verb?.tex? ou images à appeler dans le document. + +Nous pouvons fonctionner avec un chemin absolu, c'est-à -dire en indiquant très précisément son emplacement sur le disque. Par exemple : \verb?C:/<user>/Projets/LaTeX/?. \\ + +Cette méthode présente un inconvénient majeur : tu dois modifier dans ton code \LaTeX{} tous les chemins indiqués si jamais tu changes de dossier ! \textbf{C'est pourquoi il faut utiliser un chemin relatif.} \textcolor{orange}{\verb?./?} renvoie au dossier courant, en l'occurrence celui de \verb?main.tex? (fichier \LaTeX{} principal qui va générer le rapport). + +Et s'il faut revenir en arrière dans l'arborescence, ``remonter en arrière d'un dossier'' en quelque sorte, la notation \textcolor{orange}{\verb?../?} existe aussi. +\end{attention} + +Voyons maintenant les différentes options possibles pour appeler tous ces fichiers dans notre document source \verb?main.tex?. + +\section{Commandes disponibles} + +Pour une fois, je vais faire un travail de traduction car d'autres personnes ont admirablement bien synthétisé les 3 commandes que je veux vous présenter et leurs propriétés : \url{https://tex.stackexchange.com/questions/246/when-should-i-use-input-vs-include}. \begin{enumerate} +\item \verb?\?\verb?input{./<chemin>/<nom-fichier>}? : importation brute du fichier \verb?<nom-fichier>.tex? (copier-coller du contenu). Cette commande se révèle donc utile pour renseigner le préambule (chargement des packages) ou importer du code \LaTeX{} ponctuellement. + +Par exemple, je pense notamment à des schémas, graphes ou encore des formules mathématiques alambiquées que tu ne veux pas recopier. Cette solution garantit alors l'homogénéité de ton code dans ton document : il suffit de changer le fichier \verb?.tex? d'origine et les changements s'appliqueront sur tout le rapport. + +\item \verb?\?\verb?include{./<chemin>/<nom-fichier>}? : importation plus sophistiquée du fichier \verb?<nom-fichier>.tex?, avec un \verb?\clearpage? avant et après. Cette commande prend alors tout son sens pour importer des parties logiques de ton rapport -- \verb?chapter? principalement, pour ne pas être impacté par le \verb?\clearpage?. + +\textbf{C'est pourquoi cette commande a toute son utilité au sein du fichier source \verb?main.tex?.} Des propriétés notables sont à retenir : \begin{itemize}[label = \ding{118}] +\item un fichier \verb?<nom-fichier>.aux? est généré. Il contient toutes les références et la pagination associée, ce qui octroie un léger gain de temps à partir de la 2\up{ème} compilation. + +Si tu génères ton rapport entier puis que tu veux travailler que sur un seul fichier, tu conserves ainsi la pagination finale ; + +\item l'ajout natif de la commande \verb?\clearpage? empêche l'utilisation de \verb?\?\verb?include? dans le préambule ou pour des petits morceaux de code ; + +\item il est impossible d'utiliser \verb?\?\verb?include? dans un fichier déjà appelé par cette commande (probablement pour éviter les conflits et les gestions de multiples fichiers \verb?.aux?). +\end{itemize} + +\item \verb?\?\verb?includeonly{./<chemin>/<nom-fichier1>,...}? : génération du rapport en appelant seulement les fichiers indiqués et appelés par \verb?\?\verb?include?. \textbf{Son appel se fait uniquement dans le \emph{préambule} !} Il ne faut pas non plus mettre des espaces dans la commande. La virgule joue le rôle de séparateur des différents fichiers. + +Dans ce cas, si tu souhaites travailler sur une partie bien spécifique de ton rapport, tu gagnes un coup de \textit{boost} considérable lors de la compilation ! En effet, \LaTeX{} va compiler uniquement le(s) fichier(s) indiqué(s), et non le rapport dans sa totalité. C'est peut-être anodin sur de petits documents mais c'est extrêmement puissant si le rapport dépasse 30 pages. +\end{enumerate} + +\begin{regles}{Bilan concis} +\verb?\?\verb?input? est une macro ``bas niveau'' qui importe le contenu d'un fichier donné, comme s'il avait été copié-collé manuellement. \verb?\?\verb?include? permet de gérer le fichier comme une unité logique à part entière (\verb?chapter?). Cette commande permet aussi de compiler des fichiers bien spécifiques grâce à \verb?\?\verb?includeonly{fichier1,fichier2,...}?, ce qui garantit un considérable gain de temps à la compilation ! +\end{regles} + +\section{La pratique} + +La théorie, c'est toujours très sympathique mais, dans ce guide, il y a des éléments concrets. Voyons donc tout de suite l'allure que prend notre fichier source \verb?main.tex?\footnote{Pour rappel, il s'agit du fichier à partir duquel est lancé la compilation.} : + +\begin{code}{Le fichier \verb?main.tex?} +\documentclass[a4paper, 12pt]{report} + +% ICI, enlever les % devant les commandes +% (pour éviter les conflits avec l'arborescence Texmaker) + +% Chargement des packages et de la configuration utilisés +%\input{./Chapitres/packages} +%\input{./Chapitres/commandes} + +%\includeonly{./Chapitres/chap1,./Chapitres/chap3} + + +\begin{document} + +\everymath{\displaystyle} + +%\part{Partie I} + +%\include{./Chapitres/chap1} +%\include{./Chapitres/chap2} + +%\part{Partie II} + +%\include{./Chapitres/chap3} +%\include{./Chapitres/chap4} + +\end{document} +\end{code} + +Comme tu peux le constater, tu dois écrire le chemin relatif -- \verb?./Chapitres/? -- à chaque fois. Mais, quand tu y réfléchis, tu ne changes pas tes dossiers tous les 4 matins. Et quand tu le fais, la fonction \og Remplacer \fg{} est la bienvenue ! + +De plus, c'est raisonnable quand tu penses au temps de compilation gagné par la suite. Ce n'est pas la même chose d'attendre 1 seconde (compilation d'un fichier) ou 4 secondes (compilation d'un gros rapport), surtout si tu dois souvent compiler pour vérifier le code et le rendu. + +\begin{conseil}{La petite astuce \Texmaker{}} +Tu dois trouver pénible d'écrire une partie de ton rapport puis de devoir basculer sur le fichier \verb?main.tex? pour compiler. Et je te comprends ! \\ + +Fort heureusement, \Texmaker{} propose une solution toute simple : le \og document maître \fg{}. Cette solution permet de définir le fichier source \verb?main.tex? comme référence : toutes les compilations se font alors depuis ce fichier, \textbf{même si tu travailles sur un autre !} + +Pour activer cette option, ouvrir \verb?main.tex?, aller sur la barre de menus, choisir \verb?Options? puis \verb?Définir le document courant...?. Et c'est tout. Tu peux même constater que ce choix a bien été pris en compte. Il te suffit de regarder en bas à droite de la fenêtre \Texmaker{}. \\ + +Et si jamais tu veux réaliser des tests ou générer un fichier annexe alors que tu travailles sur ton rapport, tu peux soit fermer \Texmaker{} (après avoir sauvegardé ton travail) soit refaire la même procédure et choisir alors l'option \verb?Mode normal?. +\end{conseil} + +\begin{attention}{Les noms de fichiers} +Pour la clarté de ce guide, j'ai choisi d'appeler les fichiers \verb?chap1?, \verb?chap2?, etc. \textbf{Toutefois, je ne recommande pas d'utiliser une telle nomenclature !} \\ + +En effet, tu dois penser à tout changer le jour où tu veux ajouter un nouveau chapitre 1 ou 2 (noms de fichiers et commande \verb?\?\verb?include?). Selon moi, il est donc préférable d'appeler explicitement ses fichiers (\verb?chap-texte?, \verb?page-garde?, \verb?annexes?, etc.). +\end{attention} + +\section{D'autres solutions} + +Les éléments proposés jusqu'à présent constituent une introduction de ma part. Rien ne t'oblige à suivre à la lettre cette structure. Libre à toi de créer plus de dossiers pour ranger tes fichiers et images, voire des sous-dossiers. L'arborescence proposée peut évoluer très facilement une fois le concept compris et assimilé. + +Tu es aussi libre de créer des fichiers \verb?.tex? qui te sont propres, comme une page de garde personnalisée, une introduction, le sommaire, des annexes, ou encore une 4\up{ème} de couverture. \\ + +Il existe aussi un package qui permet de distinguer dans la commande le chemin relatif et le nom du fichier à importer : \verb?import?. Mais le problème reste le même selon moi, comme il faut indiquer le chemin à chaque fois (à moins de définir une commande générique, point qui reste à valider). + +La page \url{http://blog.dorian-depriester.fr/latex/template-these/template-complet-pour-manuscrit-de-these} peux aussi t'apporter une aide considérable et te donner de nouvelles pistes à explorer ! Des points intéressants sont abordés, comme générer un mini-sommaire en début de chaque chapitre, plusieurs bibliographies, utiliser un \textit{backref} (bibliographie), et bien d'autres encore.
\ No newline at end of file diff --git a/Master/texmf-dist/doc/latex/guide-latex-fr/Chapitres/p3-tableaux.tex b/Master/texmf-dist/doc/latex/guide-latex-fr/Chapitres/p3-tableaux.tex index 9523f0faa4e..a15db7ad23e 100644 --- a/Master/texmf-dist/doc/latex/guide-latex-fr/Chapitres/p3-tableaux.tex +++ b/Master/texmf-dist/doc/latex/guide-latex-fr/Chapitres/p3-tableaux.tex @@ -1,189 +1,242 @@ \chapter{Tableaux \& boîtes} -\label{chap_table_anx} +\label{chap-table-details}\lettrine{I}{l} est possible d'obtenir des tableaux plus élaborés avec quelques commandes supplémentaires, sans parler des décorations avec des boîtes. -\section{Un autre format de cellules} +\section{Autres formats de cellules} -Dans la partie précédente de ce guide, j'ai présenté les formats par défaut pour les cellules d'un \verb?tabular? : \verb?l?, \verb?c? et \verb?r?. Il en existe un 4\up{ème}, qui prend en compte un argument : le format \verb?p{longueur}?. +Dans la partie précédente de ce guide, j'ai présenté les formats par défaut pour les cellules d'un \verb?tabular? : \verb?l?, \verb?c? et \verb?r?. Grâce au package \verb?array?, il en existe d'autres, qui permettent de prendre en compte une longueur comme argument : les formats \verb?p{<longueur>}?, \verb?m{<longueur>}? et \verb?b{<longueur>}?. -\verb?p? permet de définir une colonne de largeur définie par \verb?longueur? et dont le contenu est aligné à gauche par défaut. +\verb?p? (comme \textit{paragraph}) permet de définir une colonne de largeur définie par \verb?longueur? et dont le contenu est aligné en haut à gauche ; \verb?m? (comme \textit{middle}) aligne le contenu à gauche et le centre verticalement ; \verb?b? (comme \textit{bottom}) aligne aussi le contenu à gauche mais le fixe en bas de la cellule. -Si, comme nous le verrons par la suite, la commande \verb?linebreak? est utile pour écrire du texte sur une nouvelle ligne (dans la même cellule), elle peut parfois créer de grandes espaces blancs entre les mots (pour justifier le texte). \\ +\textbf{Il n'est pas possible de cumuler des formats différents} (limite du package \verb?array? vraisemblablement). Il ne faut donc pas s'étonner si le résultat ne correspond pas à tes attentes si tu définis une colonne au format \verb?p? et une autre au format \verb?m?. \\ -Du coup, il existe une commande spécifique au format \verb?p? qui permet d'éviter tous ces désagréments : \verb?\newline?. Comme toujours, un exemple sera bien plus explicite : +Si, comme nous le verrons par la suite, la commande \verb?linebreak? est utile pour écrire du texte sur une nouvelle ligne (dans la même cellule), elle peut parfois créer de grandes espaces blancs entre les mots (justification du texte forcée lors du retour à la ligne). -\begin{code}{Le format de cellule \texttt{p}} -\documentclass[a4paper, 12pt]{report} +La meilleure solution, valable uniquement pour ces nouveaux formats, est d'utiliser la commande \verb?\newline?, qui permet donc d'éviter tous ces désagréments. Par exemple, cette solution peut se révéler pratique quand tu veux renseigner plusieurs dates dans une même cellule : -\usepackage[utf8]{inputenc} -\usepackage[T1]{fontenc} -\usepackage[french]{babel} -\usepackage{lmodern} +\begin{codedisplay}{Le format de cellule \verb?p?} +% Ajout au préambule +% \usepackage{array} -\usepackage{array} - - -\begin{document} -\begin{center} -\begin{tabular}{p{0.2\linewidth}|p{0.4\linewidth}} -Du texte \linebreak Un très très très long texte & \hfil Titre centré \hfil \\ \hline -Nouvel essai \newline Plus joli \newline Espacement correct \newline Utile pour des dates : \newline XXXX \newline YYYY & \begin{center} Ok ? Mieux centré ! Mais pas encore top \dots{} \end{center} +\begin{tabular}{p{0.5\linewidth}|p{0.3\linewidth}} +Du texte \linebreak Un très très très long texte & {\hspace*{\fill}Titre centré\hspace*{\fill}} \\ \hline +Nouvel essai \newline Meilleur espacement & OK \end{tabular} -\end{center} - -\end{document} -\end{code} +\end{codedisplay} -\begin{attentionbox}{\textit{Nota Bene}} -Pour une raison que j'ignore, le centrage du texte dans une cellule au format \verb?p? ne fonctionne pas avec la commande usuelle \verb?\hfill?, qui encadre le texte. \\ +\begin{codedisplay}{Le format de cellule \verb?m?} +% Ajout au préambule +% \usepackage{array} -Une commande équivalente, \verb?\hfil? ou \verb?\hspace*{\stretch{1}}?, fonctionne parfaitement, ainsi que l'environnement \verb?center?. La première commande possède l'avantage d'être la plus concise à écrire. Il s'agit toutefois d'un point encore délicat donc cette solution peut encore être améliorée. -\end{attentionbox} -\section{Cellules centrées verticalement et horizontalement} +\begin{tabular}{m{0.3\linewidth}m{0.5\linewidth}} +2018 \newline 2017 & Responsable de projet (ligne de production) +\end{tabular} +\end{codedisplay} -Au lieu d'utiliser la lettre \verb?c?, une commande plus complexe permet de satisfaire un centrage vertical et horizontal du contenu de la case : \begin{center} \verb?>{\centering\arraybackslash}m{taille_case}? \end{center} +\begin{attention}{\textit{Nota Bene} : centrage et retour à la ligne} +Pour une raison que j'ignore, le centrage horizontal du texte dans une cellule au format \verb?p / m / b? ne fonctionne pas avec la commande usuelle \verb?\hfill?. -Dès lors, l'agencement peut se faire de la manière suivante : +La meilleur solution consiste à utiliser la commande \verb?\hspace*? combinée avec \verb?\fill? de la manière suivante : -\begin{code}{Un exemple avec un SWOT} -\documentclass[a4paper, 12pt]{report} +\begin{code}{} +\begin{tabular}{p{0.3\linewidth}} +{\hspace*{\fill}Texte / Titre\hspace*{\fill}} \\ +Blablabla +\end{tabular} +\end{code} -\usepackage[utf8]{inputenc} -\usepackage[T1]{fontenc} -\usepackage[french]{babel} -\usepackage{lmodern} +\textbf{Cette solution doit vraiment être utilisée de manière ponctuelle !} Si tu veux la généraliser à toute la colonne, je te recommande d'aller lire la section suivante. \\ -\usepackage{graphicx} % Pour la commande rotatebox -\usepackage{array} +Enfin, le retour forcé à la ligne avec \verb?\newline? (ou \verb?\linebreak?) n'est bel et bien valide seulement pour les formats \verb?p / m / b?. +\end{attention} +\section{Cellules centrées verticalement et horizontalement} -\begin{document} +Le format de colonne \verb?c? ou \verb?m? n'est pas suffisant pour centrer à lui tout seul verticalement et horizontalement le contenu d'une cellule. Le plus simple est d'utiliser le format \verb?m? (centrage vertical) et de le combiner avec un descripteur pour appeler la commande \verb?\centering? (centrage horizontal). -\begin{center} -\begin{tabular}{>{\centering\arraybackslash}m{0.5cm}|>{\centering\arraybackslash}m{7cm}|>{\centering\arraybackslash}m{7cm}} -~& {\Large Atouts} & {\Large Handicaps} \\ \hline -\rotatebox{90}{{\Large Interne}} & \vspace{\baselineskip} \textbf{Forces (Strengths)} \linebreak \linebreak - rapidité de production \linebreak - etc. \linebreak & \vspace{\baselineskip} \textbf{Faiblesses (Weaknesses)} \linebreak \linebreak - idem \linebreak \\ \hline -\rotatebox{90}{{\Large Marché}} & \vspace{\baselineskip} \textbf{Opportunités (Opportunities)} \linebreak \linebreak - idem \linebreak & \vspace{\baselineskip} \textbf{Menaces (Threats)} \linebreak \linebreak - idem \linebreak -\end{tabular} -\end{center} +La définition de la colonne dans l'environnement \verb?tabular? se fait alors de la manière suivante : -\end{document} +\begin{code}{} +>{\centering\arraybackslash}m{<longueur_case>} \end{code} -Le raccourci pour définir $N$ colonnes identiques est toujours utilisable. La formulation ne change pas : c'est toujours \verb?*{nbre_col}{commande}?. Un exemple est donné plus loin. \\ +Très clairement, le code devient illisible et pénible à reprendre si tu dois copier-coller ce long format à chaque fois. -En revanche, il peut vite être pénible d'écrire (ou de copier-coller) cette ligne à chaque fois. C'est pourquoi il existe une commande pour définir de nouveaux formats de colonne : \begin{center} \verb?\newcolumntype{nom_format}[nbre_arg]{def_format}? \end{center} +Grâce au package \verb?array?, il est possible de créer son propre format de colonne grâce à la commande \verb?newcolumntype?.\footnote{Je préconise même d'appeler cette commande dans le préambule, pour regrouper toutes les commandes personnelles et y revenir plus facilement par la suite.} La syntaxe de cette commande est la suivante : -\noindent{}soit, dans notre cas : \begin{center} \verb?\newcolumntype{C}[1]{>{\centering\arraybackslash}m{#1}}? \end{center} +\begin{code}{Appel de la commande \texttt{\textbackslash}\verb?newcolumntype?} +\newcolumntype{<nom_format>}[<nbre_arg>]{<def_format>} +\end{code} -Cette \textbf{commande se place dans le préambule} du document \LaTeX{}. Il faut donc procéder de la manière suivante : +Un exemple d'utilisation serait alors : -\begin{code}{Application} +\begin{coderesult}{Un exemple avec un \textit{SWOT}} \documentclass[a4paper, 12pt]{report} +\usepackage{lmodern} +\usepackage[french]{babel} \usepackage[utf8]{inputenc} \usepackage[T1]{fontenc} -\usepackage[french]{babel} -\usepackage{lmodern} +% Ajout dans le préambule +\usepackage{graphicx} % Pour la commande rotatebox \usepackage{array} -\newcolumntype{C}[1]{>{\centering\arraybackslash}m{#1}} % L'argument #1 est une longueur (2cm, etc.) +\newcolumntype{C}[1]{>{\centering\arraybackslash}m{#1}} \begin{document} -\begin{tabular}{|C{2.5 cm}||C{0.5\linewidth}|} -Ligne bidon 1 & Ligne bidon 2 +\begin{tabular}{C{0.1\linewidth}*{2}{|C{0.4\linewidth}}} +~ & {\Large{}Atouts} & {\Large{}Handicaps} \\ \hline +\rotatebox{90}{\Large{}Interne} & \textbf{Forces (Strengths)} \begin{itemize} +\item point SA +\item point SB +\end{itemize} & \textbf{Faiblesses (Weaknesses)} \begin{itemize} +\item point WA +\item point WB +\end{itemize} \\ \hline +\rotatebox{90}{\Large{}Marché} & \textbf{Opportunités (Opportunities)} \begin{itemize} +\item point OA +\item point OB +\end{itemize} & \textbf{Menaces (Threats)} \begin{itemize} +\item point TA +\item point TB +\end{itemize} \end{tabular} -C'est plus pratique, n'est-ce pas ? +% Ajuster les listes à puce selon ton bon vouloir \end{document} -\end{code} +\end{coderesult} + +Le raccourci pour définir $N$ colonnes identiques est toujours utilisable. La formulation ne change pas : c'est toujours \verb?*{<nbre_col>}{<format>}?, comme vu dans l'exemple précédent. \section{Fusion et coloriage de cellules} -Si la fusion des colonnes et des lignes est comprise de base avec le package \verb?array?, la fusion des lignes laisse un peu à désirer. C'est pourquoi il vaut mieux charger le package \verb?multirow?. \\ +Si la fusion des colonnes et des lignes est comprise de base avec le package \verb?array?, la fusion des lignes laisse un peu à désirer. C'est pourquoi il vaut mieux utiliser le package \verb?multirow?. \\ -La fusion des colonnes a lieu grâce à la commande : \begin{center} \verb?\multicolumn{nbre_col}{position}{texte}? \end{center} +Pour fusionner des colonnes, il faut employer la commande \verb?\multicolumn?, avec la syntaxe suivante : \verb?\multicolumn{<nbre_col>}{position}{texte}?. Pour avoir un séparateur adapté, une ligne partielle peut être insérée grâce à la commande \verb?\cline{<col_debut>-<col_fin>}?. -\noindent{}et la ligne du tableau s'achève par la commande \verb?\cline{col_debut-col_fin}?. \\ +Pour la fusion des lignes, il faut utiliser la commande \verb?\multirow? et la syntaxe suivante : \verb?\multirow{<nbre_ligne>}{*}{Texte}?. L'emploi de \verb?{*}? permet d'avoir les cellules fusionnées avec la bonne largeur et d'éviter les problèmes de centrage. \\ -Quant à la fusion des lignes, elle est possible grâce à la commande : \begin{center} \verb?\multirow{nbre_ligne}*{texte}? \end{center} +Afin de pouvoir colorier les cellules, il faut ajouter le package \verb?xcolor? dans le préambule, avec l'option \verb?table?. Grâce à la commande \verb?\rowcolor{<couleur>}?, tu peux colorier une ligne entière. -Afin de pouvoir colorier les cellules, il faut ajouter le package \verb?makecell? dans le préambule. Grâce à la commande \verb?\rowcolor{couleur}?, tu peux colorier une ligne entière mais il existe d'autres commandes pour cibler les cases. Pour connaître les dites commandes, il faut aller se documenter sur Internet. Pour le reste, un exemple sera plus clair : +\verb?\columncolor{<couleur>}? et \verb?\cellcolor{<couleur>}? font de même respectivement pour une colonne et une cellule. Voyons tous ces éléments dans un petit exemple : -\begin{code}{Coloriage et fusion} +\begin{coderesult}{Coloriage et fusion} \documentclass[a4paper, 12pt]{report} +\usepackage{lmodern} +\usepackage[french]{babel} \usepackage[utf8]{inputenc} \usepackage[T1]{fontenc} -\usepackage[french]{babel} -\usepackage{lmodern} -\usepackage{array, multirow, makecell} % Packages pour la fusions des lignes et le coloriage +% Ajout dans le préambule +\usepackage{array} +\usepackage{multirow} % Pour fusionner des lignes d'un tableau \newcolumntype{C}[1]{>{\centering\arraybackslash}m{#1}} -\renewcommand{\arraystretch}{1.3} % Pour augmenter la hauteur d'une ligne - Meilleur lisibilité -\usepackage[table, dvipsnames]{xcolor} % Ajout de table pour appliquer dvipsnames aux tableaux +\renewcommand{\arraystretch}{1.3} % Meilleure lisibilité +\usepackage[table]{xcolor} % [table] : pour colorer les cellules (package colortbl) \begin{document} -\begin{center} -\begin{tabular}{|*{4}{C{3cm}|}} +\begin{tabular}{|*{4}{C{0.2\linewidth}|}} \hline -\rowcolor{Peach} \multicolumn{4}{|c|}{\textbf{Comparaison des configurations}} \linebreak \\ \hline -\multirow{2}*{\textbf{Critères}} & \multicolumn{3}{c|}{\textbf{Structures}} \linebreak \\ \cline{2-4} +\rowcolor{orange!80!yellow} \multicolumn{4}{|c|}{\textbf{Comparaison des configurations}} \linebreak \\ \hline +\multirow{2}{*}{\textbf{Critères}} & \multicolumn{3}{c|}{\textbf{Structures}} \linebreak \\ \cline{2-4} ~& \textbf{Fonctionnelle} & \textbf{Divisionnelle} & \textbf{Matricielle} \\ \hline \hline Stabilité & ++ & + & - \\ \hline -Flexibilité - Adaptabilité & - & - & ++ \\ \hline +Flexibilité \& Adaptabilité & - & - & ++ \\ \hline \rowcolor{black} ~ & ~ & ~ & ~ \\ \hline \textbf{Cas pratiques} & \multicolumn{3}{|c|}{\textbf{Qui réussira le mieux à répondre aux besoins ?}} \\ \hline Projet (long) à réaliser & - & - & ++ \\ \hline Fabrication en grande série & ++ & - & -- \\ \hline \end{tabular} -\end{center} \end{document} -\end{code} +\end{codedisplay} Il se peut que la visualisation des bordures noires du tableau ne s'affiche pas bien avec la cellule colorée. Il s'agit juste d'un problème d'affichage avec ton écran d'ordinateur, tellement la ligne est fine. +Sinon, tu peux aussi augmenter l'épaisseur des traits de ton tableau, grâce à la commande \verb?\setlength\arrayrulewidth{<épaisseur>}?. + \section{\texttt{longtable} \& \texttt{booktabs}} -Il s'agit de deux packages que j'ai découverts en 2017. Le premier se révèle très utile pour des tableaux dont la longueur dépasse une page. Il suffit juste de remplacer l'environnement \verb?tabular? par \verb?longtable? et tout le reste fonctionne exactement pareil, y compris les nouveaux formats de colonnes définies par l'utilisateur, comme abordé précédemment. +J'ai découvert ces deux packages -- \verb?longtable? et \verb?booktabs? -- en 2017, et depuis je ne m'en passe plus ! \\ + +Le premier se révèle très utile pour des tableaux dont la longueur dépasse une page. Il suffit simplement de remplacer l'environnement \verb?tabular? par \verb?longtable? et tout le reste fonctionne de la même façon, y compris les formats de colonnes définis par l'utilisateur ou la mise en place d'une légence (\verb?\caption?). -D'autres options existent aussi pour rappeler lors d'un changement de page les titres des colonnes. Si tu es intéressé, je te renvoie à la documentation officielle. \\ +Tu peux aussi mettre une note en bas de page pour indiquer que le tableau se poursuit en page suivante, rappeler lors du changement de page les titres des colonnes ou encore indiquer quand le tableau est terminé ! -Quant au second package, c'est le seul à ma connaissance qui permette d'obtenir des tableaux suffisamment aérés. En théorie, la commande : \begin{center} \verb?\renewcommand{\arraystretch}{1.3}? \end{center} +Bref, ce package offre pas mal de possibilités, que je te laisse aller découvrir dans l'exemple qui suit et compléter le cas échéant grâce à la documentation officielle : \url{https://www.ctan.org/pkg/longtable}. \\ -\noindent{}permet de modifier la hauteur de ligne, pour tous les tableaux créés après cette commande. Mais, avec des fractions, impossible de modifier quoi que ce soit \dots{} sauf avec \verb?booktabs? ! Pourquoi ? Je n'en sais rien. Hormis l'absence de barres verticales, le rendu est meilleur et convient. +Quant au second package, c'est le seul à ma connaissance qui permette d'obtenir des tableaux de qualité, suffisamment aérés, avec de bons séparateurs. En théorie, la commande \verb?\renewcommand{\arraystretch}{1.3}? permet de modifier la hauteur de ligne, pour tous les tableaux créés après cette commande. -\begin{code}{Un exemple d'application} +Mais, avec des fractions, impossible de modifier quoi que ce soit\dots{} sauf avec \verb?booktabs? ! Pourquoi ? Je n'en sais rien. Le rendu est meilleur et convient. + +\begin{coderesult}{Un exemple d'utilisation du package \verb?longtable?} \documentclass[a4paper, 12pt]{report} +\usepackage{lmodern} +\usepackage[french]{babel} \usepackage[utf8]{inputenc} \usepackage[T1]{fontenc} -\usepackage[french]{babel} + +\usepackage{lipsum} + +\usepackage{array, longtable} +\renewcommand{\arraystretch}{1.3} + + +\begin{document} + +\lipsum[1] \\ + +\begin{center} +\begin{longtable}{p{0.4\linewidth}p{0.3\linewidth}} +% Définition des headers & footers du longtable +{\hspace*{\fill}\textbf{Colonne A}\hspace*{\fill}} & {\hspace*{\fill}\textbf{Colonne B}\hspace*{\fill}} \\ \hline +\endhead +\multicolumn{2}{r}{\textit{(suite sur la page suivante)}} \\ +\endfoot +\multicolumn{2}{@{\hrulefill}c@{\hrulefill}}{\raisebox{-3pt}{~~\textsc{Fin du tableau}~~}} +\endlastfoot +% Contenu du longtable +\lipsum[2] & \'Evident ! \\ +\lipsum[3] & Limpide même !!! +\end{longtable} +\end{center} + +\end{document} +\end{coderesult} + +\begin{coderesult}{Un exemple d'utilisation du package \verb?booktabs?} +\documentclass[a4paper, 12pt]{report} + \usepackage{lmodern} +\usepackage[french]{babel} +\usepackage[utf8]{inputenc} +\usepackage[T1]{fontenc} -\usepackage{array, longtable, booktabs} +\usepackage{amsmath, amsfonts, amssymb} +\newcommand{\module}[1]{\left\lvert #1 \right\rvert} + +\usepackage{array, booktabs} +\renewcommand{\arraystretch}{1.3} \newcolumntype{C}[1]{>{\centering\arraybackslash}m{#1}} -\renewcommand{\arraystretch}{1.3} % Pour augmenter la hauteur de ligne des tableaux \begin{document} \everymath{\displaystyle} -Allons faire un peu de maths \dots{} Mais avant, mangeons un peu de place : \\ - -Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi venenatis orci vitae odio varius ultrices. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Vivamus eget interdum ipsum. Ut et odio nec ipsum luctus tempor. In dapibus sapien ut sagittis congue. Suspendisse scelerisque molestie leo vel tempus. Vivamus facilisis ipsum quis hendrerit vestibulum. Fusce malesuada dictum nunc non molestie. Proin maximus neque neque, eu molestie nulla condimentum eget. Integer tincidunt ut velit at tristique. Suspendisse quis erat ac ligula facilisis commodo quis sit amet est. Maecenas a nulla nec lorem vehicula tempor. Donec tristique purus vitae nibh pretium venenatis. Fusce pellentesque convallis neque eu sagittis. Sed eu ante egestas felis sagittis tincidunt. +\vspace*{\fill} \begin{center} -\begin{longtable}{C{0.3\linewidth}C{0.3\linewidth}} +\begin{tabular}{*{2}{C{0.3\linewidth}}} \toprule $f(x)$ & $\int f(x)\,dx$ \\ \midrule % \midrule : commande propre à booktabs - Création d'une ligne horizontale (= \hline) $x^\alpha$, avec $\alpha \neq -1$ & $\frac{x^{\alpha + 1}}{\alpha + 1}$ \\ \midrule $\frac{1}{x}$ & $\ln \module{x}$ \\ \midrule @@ -200,229 +253,206 @@ $\frac{-1}{\sqrt{1 - x^2}}$ & $\arccos x$ \\ \midrule $\frac{1}{\sqrt{x^2 + 1}}$ & $\mathrm{argsinh}~x$ \\ \midrule $\frac{1}{\sqrt{x^2 - 1}}$ & $\mathrm{argcosh}~x$ \\ \midrule $\frac{1}{1 - x^2}$ & $\mathrm{argtanh}~x$ -\end{longtable} +\end{tabular} \end{center} +\vspace*{\fill} + \end{document} -\end{code} +\end{coderesult} -Ici, j'ai cumulé l'emploi de \verb?longtable? et de \verb?booktabs? pour optimiser l'exemple mais rien n'empêche d'utiliser uniquement l'un ou l'autre. +Ici, j'ai séparé l'emploi de \verb?longtable? et de \verb?booktabs? pour bien distinguer les deux exemples mais rien n'empêche d'utiliser l'environnement \verb?longtable? avec des commandes de \verb?booktabs? (comme \verb?\toprule? ou \verb?\midrule?). \section{Créer sa propre boîte} Le package \verb?tcolorbox? propose de très nombreux outils pour créer des boîtes. Il propose même une commande pour créer soi-même son propre environnement, et donc sa propre boîte entièrement personnalisable. -La structure est très particulière et propre à \verb?tcolorbox? mais permet de respecter la philosophie \LaTeX{} : créer des commandes. Un changement sur la commande entraîne un changement sur tout le document. Tu admettras que c'est vachement plus pratique que de devoir tout passer en revue ! \\ +La structure est très particulière et propre à \verb?tcolorbox? mais permet de respecter la philosophie \LaTeX{} : séparer le fond de la forme par l'intermédiaire de commandes. -Le code fonctionne selon le format suivant : \begin{center} \verb?\newtcolorbox{nom}[nbre][]{options, #1}? \end{center} +Un changement sur la commande entraîne alors un changement sur tout le document. Tu admettras que c'est nettement plus pratique que de devoir revenir sur tout le document et le corriger. \\ -\noindent{}avec : +La création d'une nouvelle boîte repose sur une syntaxe identique à celle utilisée lors de la création d'une nouvelle commande, avec \verb?[<nbre_arg>]? absent s'il n'y a pas d'argument pour notre boîte : -\begin{itemize}[label = \ding{213}] -\item \verb?nom? : nom de l'environnement, +\begin{code}{Création d'une nouvelle boîte sous \verb?tcolorbox?} +\newtcolorbox{<nom_boite>}[<nbre_arg>]{<options>} +\end{code} -\item \verb?nbre? : le nombre de paramètres, supérieur ou égal à 1 (et probablement inférieur à 9), +Il est préconisé de définir toutes ses boîtes dans le préambule, là encore pour faciliter les modifications futures et centraliser, regrouper toutes ces commandes. \\ -\item \verb?[]? : obligatoire pour permettre le changement ou l'ajout d'options, +De plus, il est possible, comme pour la création de commandes, de définir un argument optionnel selon la syntaxe suivante, avec l'argument optionnel qui correspond automatiquement au choix \verb?#1? dans la définition de la commande : -\item \verb?options? : les options disponibles avec \verb?tcolorbox?, +\begin{code}{Utilisation d'un argument optionnel} +\nextcolorbox{<nom_boite>}[<nbre_arg>][<defaut>]{<options>} +\end{code} -\item \verb?#1? : formulation particulière mais correspond tout simplement au texte de l'environnement. \\ -\end{itemize} +Si \verb?<defaut>? est présent, alors le premier argument spécifié par \verb?<nbre_arg>? soit \verb?#1? est optionnel avec une valeur par défaut fixée à \verb?<defaut>?. -Nous avons donc le code complet suivant, avec quelques exemples : +Ainsi, si tu renseignes \verb?<defaut>? par une valeur vide, ta boîte ne souffrira pas d'un changement dans ses options, à moins de les notifier lors de son appel ! Je pense qu'un premier exemple simple ne sera pas de trop pour comprendre cette nouvelle notion : -\begin{code}{Ma petite boîte personnelle} -\documentclass[a4paper, 12pt]{report} +\begin{codedisplay}{Nouvelle commande \& argument par défaut} +\newcommand{\format}[2][\textbf]{Je trouve que \LaTeX{} est #1{#2 !}} -\usepackage[utf8]{inputenc} -\usepackage[T1]{fontenc} -\usepackage[french]{babel} -\usepackage{lmodern} +\format{merveilleux} \\ +\format[\textit]{fantastique} \\ +\format[\textsc]{incroyable} +\end{codedisplay} -\usepackage[dvipsnames]{xcolor} -\usepackage[breakable]{tcolorbox} +Nous avons donc le code complet suivant pour la création\footnote{Je ne vais pas revenir en détail sur toutes les options \verb?tcolorbox? utilisées. Elles sont décrites dans la documentation officielle, disponible sur \url{https://www.ctan.org/pkg/tcolorbox}. \`A toi aussi de faire des essais !}, suivi de quelques exemples. Attention à ne pas oublier d'appeler le package \verb?tcolorbox? avec les options \verb?breakable? et \verb?skins? ! -\newtcolorbox{boite}[3][]{breakable, before upper = {\parindent17pt}, beforeafter skip = \baselineskip, colframe = #3, colback = White, boxrule = 2pt, arc = 6pt, title = \textbf{#2}, coltitle = Black, #1} % Commande pour créer sa boite -% breakable : pour casser la boîte si elle arrive en fin de page -% before upper : pour contrôler la taille de l'alinéa -% beforeafter skip : longueur à appliquer avant et après la boite -% colframe : couleur du contour -% colback : couleur du fond -% boxrule : épaisseur du contour -% arc : rayon des bords -% title et coltitle : obvious ! +\begin{code}{Ma petite boîte personnelle} +\usepackage[breakable, skins]{tcolorbox} +% Boîte type générique +\newtcolorbox{boitetype}[4][]{enhanced, breakable, before upper = {\parindent17.6pt}, beforeafter skip = \baselineskip, colframe = #3, colback = #4, boxrule = 2pt, arc = 4mm, fonttitle = \bfseries, title = {#2}, coltitle = black, #1} -\begin{document} +% La boîte utilisée +\newenvironment{boite}[3][]{\begin{boitetype}[#1]{#2}{#3}{white}}{\end{boitetype}} +\end{code} -\begin{boite}{Un premier exemple}{Orchid} +\begin{codedisplay}[sidebyside = false, listing and text]{Application} +\begin{boite}{Un premier exemple}{orange} C'est pratique, n'est-ce pas ? \end{boite} -\begin{boite}[colback = Apricot]{Un deuxième exemple}{Orange} -Apportons un petit changement, juste pour cette fois. +\begin{boite}[colback = violet!50, coltitle = white]{Un deuxième exemple}{violet} +Apportons quelques petits changements, juste pour cette fois. \end{boite} -\begin{boite}{Un troisième exemple}{Cyan} +\begin{boite}{Un troisième exemple}{cyan} Retour sur un cas normal d'utilisation. \end{boite} +\end{codedisplay} -\end{document} -\end{code} +Le principe est donc de créer une nouvelle boîte (syntaxe très similaire à celle employée pour créer une commande) pour chaque cas (boîte pour les définitions, boîte pour les remarques, etc.). -Le principe est donc de créer une nouvelle boîte (même schéma que pour une commande) pour chaque cas (boîte pour les définitions, boîte pour les remarques, etc.) au lieu de devoir changer les options à chaque fois. +Pour t'éviter de devoir changer les options à chaque fois, le mieux reste de créer une boîte type puis de créer tes différentes boîtes à partir de cette boîte générique. -Utiliser \LaTeX{}, c'est tout automatiser pour se concentrer sur le fond et moins sur la forme, une fois qu'elle est définie en tout cas. +Et avec l'astuce de l'argument optionnel, tu laisses de la souplesse à ton code, que tu peux donc adapter sur le pouce si tu as un cas exceptionnel à traiter. Pratique et puissant à la fois ! \section{Afficher du code \LaTeX{}} -Il n'y a pas 13 000 façons d'afficher du code \LaTeX{} simplement (oui, parce qu'écrire \verb?\texttt{\textbackslash}? pour produire \texttt{\textbackslash}, ce n'est vraiment pas pratique). La première est d'utiliser l'environnement \verb?verbatim? : tout ce qui est compris dans cet environnement ne sera pas interprété par \LaTeX{} et sera recopié tel quel. Cependant, une trop longue commande sort des marges voire de la page \dots{} C'est donc vite compliqué de lire la fin ou même de copier un morceau de code. - -Toutefois, il existe déjà un moyen simple pour les ``petites'' formules : la commande \verb!\verb?\commande?!. Il faut juste écrire \verb?\verb? et tout ce qui est compris entre les deux délimiteurs (ici, des \verb!?!) subit le même traitement que sous l'environnement \verb?verbatim?. \verb!?! n'est pas le seul délimiteur envisageable : \verb?!? convient tout à fait par exemple. \\ +Il n'y a pas 13 façons d'afficher du code \LaTeX{} simplement\footnote{\'Ecrire \verb?\texttt{\textbackslash}? pour produire \texttt{\textbackslash} n'est vraiment pas une solution viable !}. La première solution requiert d'utiliser l'environnement \verb?verbatim? : tout ce qui est compris dans cet environnement ne sera pas interprété par \LaTeX{} et sera recopié tel quel. -Autrement, le seul package qui permette de mettre en forme du code (\LaTeX{}, mais aussi Python, Perl, C, C++, Java, SQL, HTML, \dots{}) avec un retour à la ligne s'appelle \verb?listings?. Beaucoup d'options de mise en forme sont possible (numéro de ligne de code sur le côté, commandes en couleur selon le langage, \dots{}) mais il y a mieux. Et oui, c'est maintenant que revient le Saint Graal : \verb?tcolorbox? ! Ce dernier intègre le package \verb?listings? et permet de faire pas mal de trucs sympathiques. +Cependant, une trop longue commande dépasse des marges voire de la page\dots{} C'est donc vite compliqué de lire la fin ou même de copier un morceau de code. \\ -Malgré tout, \LaTeX{} est loin d'être parfait et renvoie une erreur si des accents sont présents dans le code. Cela peut déjà s'expliquer parce que la programmation est généralement en anglais et ne comporte pas d'accents donc il n'y a aucun souci. Mais je suis Français et donc, personnellement, il m'arrive de rédiger mes commentaires de code en français. Pour résoudre ce problème, il faut soit compiler sous \verb?XeLaTeX? soit sous \verb?PDFLaTeX? sous réserve d'introduire les accents. \\ +Toutefois, il existe déjà un moyen simple pour les ``petites'' formules : la commande \verb!\verb?<cmde>?!. Il faut juste écrire \verb?\verb? et tout ce qui est compris entre les deux délimiteurs (ici, des \verb!?!) subit le même traitement que sous l'environnement \verb?verbatim? (environnement \verb?verbatim? local en quelque sorte). -Un exemple sera sûrement plus clair et m'évitera de longues explications : - -\begin{code}{\'Ecrire du code sous \LaTeX{}} -\documentclass[a4paper, 12pt]{report} - -\usepackage[utf8]{inputenc} -\usepackage[T1]{fontenc} -\usepackage[french]{babel} -\usepackage{lmodern} +\verb!?! n'est d'ailleurs pas le seul délimiteur envisageable : par exemple, \verb?!? convient tout à fait. \\ -\usepackage[dvipsnames]{xcolor} -\usepackage[breakable, listings]{tcolorbox} % Ajout de listings en option +Autrement, le seul package qui permette de mettre en forme du code (\LaTeX{}, mais aussi Python, Perl, C, C++, Java, SQL, HTML, etc.) avec un retour à la ligne intégré s'appelle \verb?listings?. -% Création d'une boite avec listings -\newtcblisting{codeLaTeX}[2][]{breakable, beforeafter skip = \baselineskip, colframe = LimeGreen, colback = White, boxrule = 2pt, arc = 6pt, title = \textbf{#2}, coltitle = Black, listing options = {basicstyle = \ttfamily\small, keepspaces = true, columns = flexible, breaklines = true, inputencoding = utf8, language = TeX, numbers = none}, listing only, #1} % options tcolorbox : OK +Beaucoup d'options de mise en forme sont disponibles (numéro de ligne de code sur le côté, commandes en couleur selon le langage\dots{}) mais il y a mieux. Et oui, c'est maintenant que revient le Saint Graal : \verb?tcolorbox? ! Ce dernier intègre le package \verb?listings? et permet de retourner un résultat soigné et personnalisable. -% listing options : options du package listings -% Ici, dans l'ordre : petite police de type "machine à écrire" (ttfamily) ; conserver les espaces ; nécessaire pour les espaces ; retour à la ligne du code ; UTF-8 ; pour le LaTeX ; pas de numéro +Pour obtenir le code le plus propre et tenir compte des contraintes supplémentaires du package \verb?listings?, il faut procéder en plusieurs étapes : \begin{enumerate} +\item Charger le package \verb?tcolorbox? avec les options \verb?breakable? \& \verb?skins?, pour la personnalisation des boîtes, ainsi que \verb?listings?, pour intégrer le package éponyme. -% Pour les accents -\lstset{literate = {à }{{\`a}}1 {â}{{\^a}}1 {é}{{\'e}}1 {è}{{\`e}}1 {ê}{{\^e}}1 {î}{{\^i}}1 {ô}{{\^o}}1 {ç}{{\c{}c}}1} % Format : {lettre UTF8}{{lettre LaTeX}}1 -% A compléter si besoin +\item Intégrer les accents avec \verb?\lstset{literate = <accents>}?. Le package \verb?listings? n'interprète pas nativement les accents donc il faut les définir au préalable. +La programmation se fait généralement en anglais donc ne comporte pas d'accents. Mais personnellement, en tant que Français qui rédige un guide en français, mes commentaires contiennent parfois des accents donc il faut mettre en place cette dernière astuce pour s'en sortir. -\begin{document} +\item Définir un style pour l'affichage de la boîte, qui contiendra toutes les options liées à sa personnalisation. -\begin{verbatim} -Très pratique d'écrire du code sous \LaTeX{} \\ +En effet, contrairement à la section précédente où nous avons défini une boîte type puis des dépendances, l'ajout d'une couche supplémentaire avec le package \verb?listings? nuit à sa création et entraîne des erreurs irrémédiables actuellement. -Mais c'est encore plus compliqué quand le code en question est extrêmement long \dots{} -\end{verbatim} +Il faut donc ruser et créer autant d'environnements \verb?tcolorbox? avec \verb?listings? que de boîtes différentes pour afficher le code, mais qui vont à chaque fois appeler les styles mis en place. Les définitions deviennent concises et les boîtes peuvent se généraliser facilement. -\begin{codeLaTeX}{Titre} -Très pratique d'écrire du code sous \LaTeX{} \\ +\item Créer un style \verb?listings?, pour la personnalisation du code à proprement parler. -Mais c'est encore plus compliqué quand le code en question est extrêmement long \dots{} Ah non, là c'est mieux ! -\end{codeLaTeX} +\item Créer la boîte (environnement \verb?tcolorbox?). \\ +\end{enumerate} -Le dernier résultat est mieux, non ? Tu peux même le personnaliser (changement ponctuel) : +Voyons directement avec un exemple les points précédemment abordés, pour découvrir les commandes à utiliser et leur fonctionnement : -\begin{codeLaTeX}[colframe = BrickRed}{Second test} -Code vraiment important qui demande de changer de couleur. Juste pour lui. -\end{codeLaTeX} +\begin{code}{\'Ecrire du code sous \LaTeX{} : paramétrage} +% Chargement de tcolorbox et des options nécessaires +\usepackage[breakable, listings, skins]{tcolorbox} -\end{document} -\end{code} +% Pour résoudre le problème des accents dans le code (listings sous tcolorbox) +\lstset{literate = {à }{{\`a}}1 {â}{{\^a}}1 {é}{{\'e}}1 {è}{{\`e}}1 {ê}{{\^e}}1 {î}{{\^i}}1 {ô}{{\^o}}1 {ù}{{\`u}}1 {û}{{\^u}}1 {ç}{{\c{}c}}1} -Il est possible d'aller encore plus loin, toujours grâce aux packages \verb?tcolorbox? et \verb?listings?, et de compléter le précédent code pour avoir les options suivantes : +% Définition du style de la boîte (affichage) +\tcbset{ +codemainoptions/.style = { + maincolor/.store in = {\tcbmaincol}, + maincolor = LimeGreen, + rulewidth/.store in = {\tcbrulewidth}, + rulewidth = 2pt, + enhanced, breakable, beforeafter skip = \baselineskip, sharp corners, boxrule = \tcbrulewidth, colframe = \tcbmaincol, colback = \tcbmaincol!15, drop fuzzy shadow, colbacktitle = \tcbmaincol!50, coltitle = black, fonttitle = \bfseries, title = {#1}, + attach boxed title to top center = {yshift = -\tcbrulewidth/2-\tcboxedtitleheight/2, yshifttext = -\tcboxedtitleheight/2}, boxed title style = {boxrule = \tcbrulewidth, frame code = { + \path[tcb fill frame] ([xshift = -3mm]frame.west) -- (frame.north west) -- (frame.north east) -- ([xshift = 3mm]frame.east) -- (frame.south east) -- (frame.south west) -- cycle;}, interior code = { + \path[tcb fill interior] ([xshift = -2mm]interior.west) -- (interior.north west) -- (interior.north east) -- ([xshift = 2mm]interior.east) -- (interior.south east) -- (interior.south west) -- cycle;}} +} +} -\begin{itemize}[label = \ding{213}] -\item numérotation automatique des boîtes, +% Création du style listings +\lstdefinestyle{mainlststyle}{ +language = {[LaTeX]TeX}, +style = tcblatex, +texcsstyle = *\color{cyan!65!black}, +commentstyle = \color{gray}, +tabsize = 4, +keepspaces = true, +breaklines = true, +breakatwhitespace = false, +inputencoding = utf8, +numbers = none, +showspaces = false, +showtabs = false, +showstringspaces = false +} -\item coloriage syntaxique du code (mots clés, chaînes de caractères, commentaires, numéros de ligne), +% Création des boîtes "tcolorbox + listings" (environnement) +\newtcblisting{code}[2][]{codemainoptions = {#2}, listing options = {style = mainlststyle}, listing only, #1} -\item création d'un sommaire dédié à ces boîtes. \\ -\end{itemize} +\newtcblisting{codedisplay}[2][]{codemainoptions = {#2}, listing options = {style = mainlststyle}, listing side text, righthand ratio = 0.4, sidebyside gap = 13mm, bicolor, colbacklower = white, #1} -La documentation \verb?tcolorbox? fournit toutes les indications nécessaires. Comme c'est difficile de tout faire tenir avec l'environnement verbatim, je vais balancer le code et allègrement tout commenter : +% N.B. : #2 = titre de la boite +% N.B. : option "breakable" pas bien compatible avec "listing side text" ==> faire des "petits bouts" de code dans ce cas +\end{code} -\begin{code}{Intégrer du code - Aller plus loin} -\documentclass[a4paper, 12pt]{report} +\begin{codedisplay}[sidebyside = false, listing and text]{Application} +\begin{verbatim} +Très pratique d'écrire du code sous \LaTeX{} \\ -\usepackage[utf8]{inputenc} -\usepackage[T1]{fontenc} -\usepackage[french]{babel} -\usepackage{lmodern} +Mais c'est plus compliqué quand le code en question est trop long ! +\end{verbatim} -\usepackage[dvipsnames]{xcolor} % Pour les couleurs +\begin{code}{Boîte} +Très pratique désormais d'écrire du code sous \LaTeX{} ! Surtout si le code est extrêmement long. +\end{code} -\usepackage[breakable, listings]{tcolorbox} % Pour des boîtes arrondies - breakable : pour couper les boîtes - listings : pour le code +\`A toi d'essayer l'environnement \verb?codedisplay? ! +\end{codedisplay} -\usepackage[hidelinks, breaklinks, linktoc = all]{hyperref} +\vspace{\baselineskip} -% Création d'une boîte numérotée pour le code -% Utilisation de Python pour changer -\newtcblisting[auto counter, number within = chapter, list inside = pythoncode]{codePython}[2][]{breakable, beforeafter skip = \baselineskip, colframe = LimeGreen, colback = White, boxrule = 2pt, arc = 6pt, title = \textbf{Code Python \thetcbcounter{} : #2}, list entry = {\protect\numberline{\thetcbcounter}#2}, coltitle = Black, listing options = {basicstyle = \ttfamily\small, keepspaces = true, breaklines = true, inputencoding = utf8, language = Python, tabsize = 4, xleftmargin = 17pt, numbers = left, numbersep = 13pt, numberstyle = \ttfamily\footnotesize\color{OrangeRed}, showstringspaces = false, commentstyle = \color{Gray}, keywordstyle = \color{Blue}, stringstyle = \color{Orange}}, listing only, #1} +Il est possible d'aller encore plus loin, toujours grâce aux packages \verb?tcolorbox? et \verb?listings?, et de compléter le précédent code pour avoir les options suivantes : numérotation automatique des boîtes et création d'un sommaire dédié à ces boîtes. -\lstset{literate = {à }{{\`a}}1 {â}{{\^a}}1 {é}{{\'e}}1 {è}{{\`e}}1 {ê}{{\^e}}1 {î}{{\^i}}1 {ô}{{\^o}}1 {ç}{{\c{}c}}1} % Pour résoudre le problème des accents dans le code listings (tcolorbox) +La documentation \verb?tcolorbox? fournit toutes les indications nécessaires. Les commandes nécessaires à utiliser sont décrites ci-après : -% --- Les explications --- -% Intégration d'un compteur dans l'en-tête et liste des codes : [auto counter, number within = chapter, list inside = pythoncode] <==> numérotation automatique ; numéro de chapitre utilisé ; étiquette pour le sommaire dédié -%\newtcblisting[...] : création d'un environnement pour le code avec tcolorbox + listings +\begin{code}{Intégrer du code -- Aller encore plus loin} +% Appel de tcolorbox, \lstset & création des styles -% Options tcolorbox : inchangées -% \thetcbcounter{} : compteur tcolorbox -% Intégrer une entrée dans le sommaire dédié : list entry = {\protect\numberline{\thetcbcounter}#2} (dans les options tcolorbox) +\usepackage[]{hyperref} % Obligatoire -% Options listings : début inchangé -% Options listings propre au langage : {language = Python, tabsize = 4, xleftmargin = 17pt, numbers = left, numbersep = 13pt, numberstyle = \ttfamily\footnotesize\color{OrangeRed}, showstringspaces = false, commentstyle = \color{Gray}, keywordstyle = \color{Blue}, stringstyle = \color{Orange}} -% Détails : langage utilisé ; taille de l'indentation (nbre d'espaces) ; marge à gauche ; numéro de ligne à gauche ; séparation entre le code et les numéros ; style des numéros ; bonus pour les chaînes de caractères ; mise en couleur du code +% Reprise du style codemainoptions + title = {Code \thetcbcounter{} : #1} +% Ajout : list entry = {\protect\numberline{\thetcbcounter}#1} -% Affichage uniquement du code : listing only --> "listing and text" = code et résultat (utile pour du code LaTeX mais que du code pur : pas de préambule ou de \begin{document}) +% Création d'une boîte numérotée pour le code +\newtcblisting[auto counter, number within = chapter, list inside = LaTeXcode]{code}[2][]{codemainoptions = {#2}, listing options = {style = mainlststyle}, listing only, #1} \begin{document} -\renewcommand{\contentsname}{Sommaire} % Renommer le sommaire -\tableofcontents % Pour créer le sommaire - Penser à compiler deux fois - -\newpage - -\phantomsection % Renvoi correct (hyperref) -\addcontentsline{toc}{chapter}{Liste des codes Python} % Ajout dans le sommaire -\tcblistof[\chapter*]{pythoncode}{Liste des codes Python} % Sommaire dédié --> cf. aide tcolorbox -% Ajout de "Liste des codes Python" en tant que chapitre non numéroté (chapter*) - -\newpage - -% Enlever le commentaire ci-dessous -%\chapter{Codes Python} - -Blablabla - -\begin{codePython}{Essai} -#!/usr/bin/python3 -# -*- coding: utf-8 -*- - -S = 0 -for i in range(215): - S += i -print(S) -\end{codePython} - -\begin{codePython}[colframe = Red]{Essai important} -#!/usr/bin/python3 -# -*- coding: utf-8 -*- - -S = 0 -for i in range(13): - for j in range(13): - S += i + j -print(S) -\end{codePython} +% Ajout du nouveau sommaire (hyperref) +\phantomsection +\addcontentsline{toc}{chapter}{Liste des codes \LaTeX{}} % Ajout dans le sommaire +\tcblistof[\chapter*]{LaTeXcode}{Liste des codes \LaTeX{}} % Sommaire dédié tcolorbox (LaTeXcode = référence) -Alors ? Plutôt propre, n'est-ce pas ? +Rédaction du document et utilisation de l'environnement \verb?code? ! \end{document} \end{code} -Il existe un autre package que \verb?listings? qui s'occupe automatiquement du coloriage du code : \verb?minted?. Il fonctionne grâce à \verb?pygments?, une bibliothèque Python. Par contre, même après son installation, je n'ai toujours pas réussi à le faire fonctionner \dots{}
\ No newline at end of file +Enfin, il existe un autre package que \verb?listings?, qui peut s'occuper automatiquement du coloriage du code : \verb?minted?. Il fonctionne grâce à \verb?pygments?, une bibliothèque Python. Par contre, même après son installation, je n'ai toujours pas réussi à le faire fonctionner\dots{}
\ No newline at end of file diff --git a/Master/texmf-dist/doc/latex/guide-latex-fr/Chapitres/p3-texte.tex b/Master/texmf-dist/doc/latex/guide-latex-fr/Chapitres/p3-texte.tex index b02af9a2369..766248357a4 100644 --- a/Master/texmf-dist/doc/latex/guide-latex-fr/Chapitres/p3-texte.tex +++ b/Master/texmf-dist/doc/latex/guide-latex-fr/Chapitres/p3-texte.tex @@ -1,234 +1,332 @@ -\chapter{Texte et mise en forme} +\chapter{Améliorer son texte et sa mise en forme} -\label{chap_texte_anx} +\label{chap-texte-details}\lettrine{S}{i} tu sais désormais écrire des paragraphes, faire une page de garde simple, afficher un sommaire ou utiliser des listes sous \LaTeX{}, il existe encore plein d'autres fonctionnalités sympathiques pour compléter ces éléments. Et je les recense justement dans ce chapitre ! \section{Changer la police d'écriture} -\label{chgt_police}Changer de police peut être un vaste débat sous \LaTeX{}. Déjà , pourquoi vouloir changer ? La police proposée ne te convient-elle pas ? Ou est-ce par habitude d'utiliser auparavant une autre police sous \verb?Word? ? +\subsection*{Introduction} -Ensuite, quelle police préfères-tu utiliser ? Avec empattement\footnote{Mode de terminaison d'un caractère : \url{http://fr.wikipedia.org/wiki/Empattement_(typographie)}.}, sans empattement ? Mais surtout, si tu dois écrire des formules mathématiques, la nouvelle police possède-t-elle les caractères nécessaires sous un format équivalent (symboles $\sum$ ou $\int$, sans parler des lettres grecques, par exemple) ? +\label{chgt-police}Changer de police constitue un vaste débat sous \LaTeX{}. Tout d'abord, pourquoi vouloir changer ? La police proposée ne convient-elle pas ? Ou est-ce par habitude d'utiliser auparavant une autre police sous Word ? \`A moins que ton école impose une police spécifique pour ton rapport ? -Du coup, il existe de multiples façons de changer de police sous \LaTeX{}. Dans un premier temps, de manière locale, pour pouvoir juste profiter d'un effet de style ; puis, de manière globale, donc sur tout le document. \\ +Ensuite, quelle police préfères-tu utiliser ? Avec empattement\footnote{Mode de terminaison d'un caractère : \url{http://fr.wikipedia.org/wiki/Empattement_(typographie)}.}, sans empattement ? Mais surtout, si tu dois écrire des formules mathématiques, la nouvelle police possède-t-elle les caractères nécessaires sous un format équivalent ? Je pense notamment aux symboles courants $\sum$ ou $\int$, sans parler des lettres grecques. \\ -Tout comme il est possible de mettre un bout de texte en gras grâce à la commande \verb?\textbf?, tu peux choisir d'enlever l'empattement d'un bout de texte (\textit{sans serif}) grâce à la commande \verb?\textsf?. Tu peux aussi choisir de le mettre en valeur différemment grâce à la mise en forme \og machine à écrire \fg{} (\textit{typewriter}) avec la commande \verb?\texttt?. +Il existe de multiples façons de changer de police sous \LaTeX{} : de manière locale, pour pouvoir juste profiter d'un effet de style ; puis, de manière globale, donc sur tout le document. Et il faut au préalable connaître la police que tu aimerais utiliser. -Si tu veux appliquer un tel changement sur plusieurs paragraphes, comme l'équivalent du \verb?\textbf? et le \verb?\bfseries?, nous avons donc à disposition le \verb?\sffamily? et le \verb?\ttfamily?. Naturellement, il faut délimiter les paragraphes concernés avec des accolades ``\{'' et ``\}'' ou utiliser de telles commandes à l'intérieur d'un environnement (séparateur en soi). +Naturellement, si tu tiens à conserver la police native de \LaTeX{}, tu sais déjà ce que tu dois renseigner dans le préambule et tu peux lire la suite pour te cultiver, sans forcément devoir l'appliquer. -Enfin, si tu veux faire de telles modifications sur tout le document, tu peux aussi renseigner la commande suivante dans le préambule : \begin{center} \verb?\renewcommand{\familydefault}{\sfdefault}? \end{center} +\subsection*{Empattement et machine à écrire} -Voyons plutôt un exemple pour comprendre le fonctionnement de ces nouvelles commandes : +Tout comme il est possible de mettre un bout de texte en gras grâce à la commande \verb?\textbf{<texte>}?, tu peux choisir d'enlever l'empattement (\textit{sans serif}) d'un bout de texte grâce à la commande \verb?\textsf{<texte>}?. Tu peux aussi choisir de le mettre en valeur différemment grâce à la mise en forme \og machine à écrire \fg{} (\textit{typewriter}) avec la commande \verb?\texttt{<texte>}?. \\ -\begin{code}{L'empattement et la machine à écrire} -\documentclass[a4paper, 12pt]{report} +Si tu veux appliquer un tel changement sur plusieurs paragraphes, tout comme \verb?\textbf{<texte>}? a pour équivalent \verb?{\bfseries{}<texte>}?, nous avons donc à disposition le \verb?\sffamily? et le \verb?\ttfamily?. -\usepackage[utf8]{inputenc} -\usepackage[T1]{fontenc} -\usepackage[french]{babel} -\usepackage{lmodern} +Là encore, il faut délimiter les paragraphes concernés avec des accolades \verb?{? et \verb?}? ou utiliser de telles commandes à l'intérieur d'un environnement, ou encore utiliser directement un environnement : \verb?\begin{sffamily}? fonctionne parfaitement ! -%\renewcommand{\familydefault}{\sfdefault} % sans serif sur tout le document -%\renewcommand{\familydefault}{\ttdefault} % typewriter sur tout le document +Et si jamais tu veux annuler ces modifications (localement ou sur un paragraphe) et donc retrouver la traditionnelle police avec empattement, les commandes \verb?\textrm{<texte>}? et \verb?{\rmfamily{}<texte>}? sont disponibles. \\ -% N.B. : les commandes locales ont la priorité sur la commande globale +Enfin, si tu veux faire de telles modifications sur tout le document, tu peux aussi renseigner une des commandes suivante dans le préambule : +\begin{code}{} +% Avec empattement (défaut) +\renewcommand{\familydefault}{\rmdefault} -\begin{document} +% Sans empattement +\renewcommand{\familydefault}{\sfdefault} + +% Machine à écrire +\renewcommand{\familydefault}{\ttdefault} +\end{code} +\begin{attention}{Ordre de priorité des commandes} +Les commandes globales sont exécutées en premier lors de la compilation. Elles sont donc supplantées par l'utilisation des environnements, eux-mêmes écrasés par les commandes locales comme \verb?\texsf{<texte>}?. + +Il faut donc bien réfléchir au résultat souhaité, ainsi qu'à l'ordre d'utilisation des commandes précédemment décrites pour y parvenir. +\end{attention} + +Voyons maintenant un exemple pour comprendre le fonctionnement de ces nouvelles commandes : + +\begin{codedisplay}{L'empattement et la machine à écrire} Texte \textsf{sans empattement} ou au format \texttt{machine à écrire}. \\[\baselineskip] {\sffamily{}C'est amusant à faire surtout avec plusieurs paragraphes. \\ -Il faut bien tout encadrer avec des accolades !} \\[\baselineskip] +Il faut bien tout encadrer avec des \textrm{accolades !}} \\[\baselineskip] -\begin{large} -\bfseries\ttfamily{}Sinon, je peux aussi la jouer retro sur \dots{} \\ +\begin{bfseries} +\ttfamily{}Sinon, je peux aussi la jouer retro sur plusieurs paragraphes, à l'intérieur d'un environnement ! +\end{bfseries} +\end{codedisplay} -\noindent{}plusieurs paragraphes, à l'intérieur d'un environnement ! -\end{large} -% ATTENTION : le format "machine à écrire" ne respecte pas les marges si le texte est trop long ! +Bien, maintenant que nous avons vu quelques spécificités quant à l'empattement du texte, passons au changement de police. -\end{document} +\subsection*{Les packages de police} + +Depuis le début de ce guide, je préconise fortement d'utiliser le package \verb?lmodern? et de s'y tenir. Il existe toutefois d'autre packages qui peuvent le substituer et qui permettent donc d'utiliser de nouvelles polices sous \LaTeX{} : \verb?bookman?, \verb?chancery?, \verb?charter?, \verb?ebgaramond? \& \verb?ebgaramond-maths? (police Garamond), \verb?fourier?, \verb?mathpazo?, \verb?mathptmx? (police Times), \verb?newcent?, \verb?tgbonum?, etc. (liste non exhaustive). + +Les packages \verb?times? et \verb?palatino? sont \textbf{obsolètes} et sont donc déconseillés à l'usage. D'autres peuvent être utilisés, comme \verb?helvet? ou \verb?courier?, mais sans résultat pour ma part (aucun changement de police). \\ + +L'utilisation d'un autre package de police que \verb?lmodern? est donc encore un sujet délicat, sur lequel il faut être méfiant et faire des essais au préalable. Tu peux parfois rencontrer des bizarreries, des erreurs insoupçonnées. + +Mais si tu veux faire des essais, je recommande particulièrement le site suivant : \url{http://www.tug.dk/FontCatalogue/}. En quelque sorte, il s'agit d'une bibliothèque qui recense les polices accessibles sous \LaTeX{}. Attention à bien lire l'aide et les indications affichées : certaines polices ne fonctionnent qu'avec le moteur de compilation Xe\LaTeX{} ! \\ + +Enfin, il est possible d'appeler tous ces packages localement\footnote{L'appel peut se faire aussi globalement si la commande est appelée en tout début de document.} grâce à la commande suivante : + +\begin{code}{} +\fontfamily{<code-police>}\selectfont \end{code} -Bien, maintenant que nous avons vu quelques spécificités quant à l'empattement du texte, passons au changement de police. Déjà , depuis le début de ce guide, je recommande d'utiliser le package \verb?lmodern?. Même s'il n'est pas nécessaire, il améliore le rendu et peut aussi être substitué par d'autres polices : +Quant au choix de \verb?<code-police>?, tu peux par exemple renseigner \verb?ptm?, ce qui est équivalent à utiliser le package \verb?mathptmx? (police Times). -\begin{itemize}[label = \ding{118}] -\item \verb?times? : un équivalent au \textit{Times New Roman}, +Une liste détaillée (mais non exhaustive) est disponible en annexes, page \pageref{annexes-code-police}. Et si tu veux plus d'explications, tu peux te rendre sur le site : \url{https://fr.overleaf.com/learn/latex/Font_typefaces}. -\item \verb?palatino? : une autre police, +\begin{attention}{La petite subtilité} +Certaines polices ne font pas la pluie et le beau temps. Par exemple, tu peux être amené à cumuler les commandes, comme mettre du texte en gras et en italique. Jusque là , tout va bien, tu peux même le faire de deux façons : \begin{center} \verb?\textit{\textbf{test}}? \quad ou \quad \verb?\textbf{\textit{test}}? \end{center} -\item \verb?helvet? : un équivalent à l'\textit{Helvetica}, +As-tu déjà utilisé les petites majuscules ? C'est très propre et vraiment agréable à lire. Pour rappel, tu peux utiliser \verb?\textsc{Texte}? ou \verb?{\scshape{}Paragraphes}?. Toutefois, essaye maintenant : \begin{center} \verb?\textbf{\textsc{Texte}}? \quad et \quad \verb?\textsc{\textbf{Texte}}? \end{center} -\item \verb?courier? : encore de la machine à écrire. -\end{itemize} +Ben zut alors, aucune petites majuscules avec le package \verb?lmodern?. C'est parce que cette police ne gère pas une telle configuration. Changer de police est une solution possible : le package \verb?mathptmx?(police Times) est compatible, par exemple. -\textcolor{Brown}{Les deux dernières possibilités n'ont rien donné d'intéressant pour ma part donc il faut aller creuser le sujet.} Mais les deux premières fonctionnent à merveille. Pour plus d'informations sur les polices disponibles par défaut, tu peux aller sur \url{http://en.wikibooks.org/wiki/LaTeX/Fonts}. +Fort heureusement, c'est un cas d'utilisation extrêmement rare. C'était surtout pour te faire toucher du doigt cette petite subtilité. Dans ce genre de situation, il faut mieux se résigner et faire avec le package \verb?lmodern?, pour limiter les problèmes et les complications. +\end{attention} -\begin{conseilbox}{La petite subtilité} -Certaines polices ne font pas la pluie et le beau temps. Par exemple, tu peux être amené à cumuler les commandes, comme mettre du texte en gras et en italique. Jusque là , tout va bien, tu peux même le faire de deux façons : \begin{center} \verb?\textit{\textbf{test}}? ou \verb?\textbf{\textit{test}}? \end{center} +\subsection*{Utiliser une police externe à \LaTeX{}} -As-tu déjà utilisé les petites majuscules ? C'est très propre et vraiment agréable à lire. La commande ? \verb?\textsc{Texte}? ou \verb?{\scshape{}Paragraphes}? sont deux solutions possibles. Toutefois, essaye maintenant : \begin{center} \verb?\textbf{\textsc{Texte}}? et \verb?\textsc{\textbf{Texte}}? \end{center} +Il n'y a apparemment qu'un seul moyen de pouvoir utiliser une police d'écriture non disponible nativement (ou via des packages) sous \LaTeX{}. Loin de moi l'idée que la police par défaut me déplaise, bien au contraire. -Ben zut alors, aucune petites majuscules sous \verb?lmodern?. C'est parce que cette police ne gère pas une telle configuration. Utiliser \verb?times? ou \verb?palatino? est une solution possible, mais il en existe d'autres sur Internet. +Toutefois, quand il faut taper un rapport officiel et qu'une police spécifique de Word est imposée -- Calibri ou Cambria par exemple, Times reste disponible avec le package \verb?mathptmx? --, il n'y a pas d'autres solutions. \\ -Fort heureusement, c'est un cas d'utilisation extrêmement rare. C'était surtout pour te faire toucher du doigt cette petite subtilité. -\end{conseilbox} +\textcolor{red!70!black}{\textbf{Cette solution fonctionne uniquement grâce à une compilation sous Xe\LaTeX{}}} (ou Lua\LaTeX{}). Le résultat est à la hauteur de nos attentes : accents affichés et utilisation de toutes les autres commandes exactement de la même façon que sous PDF\LaTeX{} (mathématiques, images, tableaux\dots{}). -Autrement, il n'y a apparemment qu'un seul moyen de pouvoir \textit{véritablement} changer de police d'écriture sous \LaTeX{}. Loin de moi l'idée que la police par défaut me déplaise, bien au contraire. Toutefois, quand il faut taper un rapport officiel et qu'une police spécifique de \texttt{Word} est imposée, il n'y a pas d'autres solutions ! +Elle permet d'utiliser toutes les polices disponibles sur ton ordinateur, y compris des polices téléchargées et ajoutées manuellement par la suite. -\textcolor{BrickRed}{\textbf{Cette solution fonctionne uniquement grâce à une compilation sous \verb?XeLaTeX?}} (ou \verb?LuaLaTeX?). Le résultat est à la hauteur de nos exigences : accents affichés et utilisation de toutes les autres commandes exactement de la même façon que sous \verb?PDFLaTeX? (mathématiques, images, tableaux, \dots{}). Le code est donc le suivant, sans plus d'explication technique de ma part car je n'en sais pas plus (hormis qu'il fonctionne) : +Pour tout faire fonctionner correctement, il faut utiliser le préambule suivant : -\begin{code}{Changer de police d'écriture} +\begin{code}{Changer de police} \documentclass[a4paper, 12pt]{report} -% XeLaTeX -\usepackage{fontspec} -\usepackage{xunicode} -\usepackage{xltxtra} -\setmainfont{nom_police} -% Le paramètre nom_police est un nom de police présent dans le dossier Font de Windows : Arial, Calibri, Cambria, French Script MT, ... - -\usepackage{polyglossia} -\setdefaultlanguage{french} +% XeLaTeX / LuaLaTeX +\usepackage{fontspec} % Pour le changement de police +\setmainfont{<nom-police>} % Appel de la police (#17) +% Par exemple, <nom-police> = Arial ou Cambria ou Calibri +\usepackage{polyglossia} % Equivalent de babel +\setdefaultlanguage{french} % Paramétrage français -% Autres packages : idem +% Autres packages \begin{document} -J'aime écrire en \LaTeX{} ! Surtout des maths : $i = 13$. - -% Taper son rapport comme d'habitude +Lorem ipsum dolor \end{document} \end{code} -\begin{attentionbox}{\textit{Nota Bene}} +\begin{attention}{\textit{Nota Bene}} La modification de la police d'écriture n'est pas recommandée dans le cas d'un document qui contient des formules. Les symboles utilisés par \LaTeX{} peuvent ne pas être (ou ne sont généralement pas) définis dans cette nouvelle police. -Normalement, \LaTeX{} générera malgré tout tes formules mathématiques avec la police par défaut soit \verb?lmodern?. \\ +Normalement, \LaTeX{} générera malgré tout les formules mathématiques avec la police par défaut soit Computer Modern. +\end{attention} -Enfin, si une erreur incompréhensible surgit, il faut aller sur le gestionnaire de packages \texttt{MiKTeX} (\textit{MiKTeX Package Manager}), désinstaller puis réinstaller le package \verb?fontspec?. Au moment où j'écris ces lignes et que je vérifie qu'elles fonctionnent, c'est ce que j'ai dû faire en tout cas ! -\end{attentionbox} +Dans le cas d'une \textcolor{orange}{\textbf{modification locale de la police}} d'écriture, il faut utiliser la commande \verb?\fontspec{<nom-police>}?, ce qui donne l'exemple suivant : -Dans le cas d'une \textcolor{Green}{\textbf{modification locale de la police}} d'écriture, \textcolor{BrickRed}{\textbf{toujours sous \verb?XeLaTeX?,}} il faut procéder ainsi : \begin{center} \verb?texte {\fontspec{nom_police} essai} suite texte? \end{center} +\begin{code}{Changement local de police} +\documentclass[a4paper, 12pt]{report} -Il faut toutefois savoir qu'utiliser \verb?XeLaTeX? entraîne de légères modifications sur des commandes à utiliser. Actuellement, j'ai relevé les cas suivants : +% XeLaTeX / LuaLaTeX +\usepackage{fontspec} +\setmainfont{Arial} +\usepackage{polyglossia} +\setdefaultlanguage{french} -\begin{itemize}[label = \ding{213}] -\item la commande \verb?\degres{}? ne fonctionne pas et il faut directement taper le symbole \degres{} au clavier (sous \texttt{Windows}, \keys{\shift + $\degres{}~)_{~]}$}), \\ -\item les guillemets français \verb?\og? et \verb?\fg? deviennent inopérants et il faut passer par les commandes plus génériques suivantes : \verb?\guillemotleft{}? et \verb?\guillemotright{}?. \\ -\end{itemize} +\begin{document} + +Lorem ipsum dolor {\fontspec{Cambria}nam dui ligula} nulla malesuada porttitor ! + +\end{document} +\end{code} + +\begin{attention}{Quelques petits changements d'habitude\dots{}} +Il faut enfin savoir qu'utiliser ce nouveau préambule n'est pas sans de légères conséquences sur des commandes usuelles : \verb?\degres{}? et \verb?\og mot \fg{}? sont définies grâce au package \verb?babel?. -Enfin, le changement de police est souvent problématique car la taille du texte n'est pas automatiquement la même. Certes, il existe des commandes comme \verb?\large?, \verb?\Large?, \verb?\LARGE?, \verb?\huge? ou \verb?\Huge? pour augmenter la taille du texte mais il peut arriver que ce soit totalement insuffisant. Heureusement, il y a une commande toute prête dans ce cas : \begin{center} \verb?\fontsize{taille1}{taille2}\selectfont{}texte? \end{center} +Tu peux décider de l'ajouter avant l'appel de \verb?polyglossia?, ce qui permet de conserver \verb?\degres{}?. Sinon, tu peux directement écrire le symbole au clavier (sous \Windows{}, \keys{\shift + $\degres{}~)_{~]}$}). Toutefois, les guillemets français sont mal définis avec ce nouveau package\dots{} \\ -\noindent{}avec \verb?taille1? la taille de la police (\verb?13pt?, \verb?215pt?, \dots{} bref, ce que tu veux\footnote{Le \verb?pt? est l'unité fréquemment utilisée pour les tailles de police mais rien ne t'empêche d'en choisir une autre.}) et \verb?taille2? l'espacement entre les lignes : \verb?taille2? remplace alors la valeur par défaut de \verb?\baselineskip?. +La seule solution consiste donc à utiliser les commandes suivantes plus génériques : + +\begin{code}{Guillemets français avec \verb?polyglossia?} +\guillemotleft{} % Guillemet français ouvrant +\guillemotright{} % Guillemet français fermant +\end{code} +\end{attention} -Naturellement, cette commande s'utilise surtout pour faire des gros titres, délimités par un environnement (\verb?center? par exemple) pour ne pas affecter le reste du document. Si tu ne sais pas quoi choisir pour \verb?taille2?, je ne réfléchis plus personnellement et prends toujours la moitié de \verb?taille1? (arrondie si besoin). \\ +\subsection*{Bilan} -\begin{boite}{Bilan : le changement de police sous \LaTeX{}}{Gold} Nous avons donc vu : \begin{itemize}[label = \ding{213}] -\item comment modifier l'empattement du texte, +\item comment modifier l'empattement du texte ; -\item comment utiliser quelques unes des autres polices présentes par défaut sous \LaTeX{}, +\item comment utiliser un package de police sous \LaTeX{} ; -\item comment changer drastiquement la police d'écriture, en compilant sous \verb?XeLaTeX?, - -\item comment personnaliser la taille de la police. \\ +\item comment utiliser une police externe à \LaTeX{}, en compilant sous Xe\LaTeX{} et grâce au package \verb?fontspec?. \\ \end{itemize} -Changer la police peut se révéler amusant pour certaines réalisations personnelles mais il faut passer sous \verb?XeLaTeX? dans le pire des cas, ce qui peut augmenter le temps de compilation\footnote{Qui reste raisonnable malgré tout, je te rassure, tout au plus de l'ordre de quelques minutes, sinon de quelques secondes.}. +Changer la police peut se révéler amusant pour certaines réalisations personnelles mais il faut passer sous Xe\LaTeX{} dans le pire des cas, ce qui peut augmenter le temps de compilation -- qui reste raisonnable malgré tout, je te rassure, tout au plus de l'ordre de quelques dizaines secondes. Le format par défaut proposé depuis le début de ce guide convient tout à fait et permet de te démarquer des autres réalisations. Après tout, ne s'agit-il pas d'une marque de fabrique signée \LaTeX{} ? -\end{boite} + +\section{Changer la taille de police} + +Si tu es amené à changer de police, tu peux aussi faire face à un autre problème : la taille du texte n'est pas automatiquement la même d'une police à une autre. Certes, il existe des commandes génériques comme \verb?\large?, \verb?\Large?, \verb?\LARGE?, \verb?\huge? ou \verb?\Huge? pour augmenter la taille du texte mais il peut arriver que ce soit totalement insuffisant. Heureusement, il y a une commande toute prête dans ce cas : + +\begin{code}{Changer la taille de police} +Lorem ipsum dolor {\fontsize{<taille1>}{<taille2>}\selectfont{}nam dui ligula} nulla malesuada porttitor ! +% <taille1> : taille de la police (13mm, 215pt, etc.) +% <taille2> : espacement entre les lignes +\end{code} + +\verb?<taille2>? remplace alors (localement) la valeur par défaut de la commande \verb?\baselineskip?. Naturellement, cette commande \verb?\fontsize? s'utilise surtout pour faire un gros titre, délimité par un environnement -- \verb?center? par exemple -- pour ne pas affecter le reste du document. + +Et si tu ne sais pas quelle valeur choisir pour \verb?<taille2>?, je ne réfléchis plus personnellement et prends toujours la moitié de \verb?<taille1>?, arrondie si besoin. \section{Inclure des fichiers PDF} -\label{fusion_pdf}Tu es pauvre ? Tu ne veux pas payer \texttt{Adobe} et toutes les options inutiles qu'il propose, dont la fusion de fichiers \texttt{PDF} ? Peu importe, c'est mon cas ! Et \LaTeX{} sait faire du très bon boulot, gratuitement. \\ +\label{fusion-pdf}Tu es pauvre ? Tu ne veux pas payer Adobe et toutes les options inutiles qu'il propose, dont la fusion de fichiers PDF ? Peu importe : \LaTeX{} sait faire du très bon boulot, gratuitement. \\ -Pour fusionner des fichiers \texttt{PDF}, il faut utiliser le package \verb?pdfpages? et utiliser la commande : \begin{center} \verb?includepdf[pages = debut - fin]{nom_fichier.pdf}? \end{center} +Pour inclure des fichiers PDF, il faut utiliser le package \verb?pdfpages? et utiliser la commande : -Le document \verb?nom_fichier.pdf? doit être inclus à l'endroit où la ligne de code est insérée. Si tu écris \verb?[pages = -]?, le document entier sera inclus. Du coup, il ne te reste plus qu'à placer cette commande autant de fois que le nombre de fichiers à fusionner et le résultat \LaTeX{} contient donc tes différents fichiers les uns à la suite des autres. +\begin{code}{Inclure un fichier PDF} +% Compilation sous PDFLaTeX / XeLaTeX / LuaLaTeX +\includepdf[pages = debut-fin]{<nom-PDF>} +\end{code} + +La commande insère le document \verb?<nom-PDF>? à l'endroit où la commande est appelée. Le document doit se situer dans le même dossier que le fichier \verb?.tex?. Sinon, il faut préciser le chemin complet du document. Si tu écris \verb?[pages = -]?, le document entier sera inclus. -Tu peux aussi juste t'en servir pour insérer une page d'un rapport \texttt{PDF} dans ton propre rapport ou un tableau \texttt{Excel} exporté en \texttt{PDF} : c'est des fois plus simples que de le recopier sous \LaTeX{}. +Du coup, il ne te reste plus qu'à placer cette commande autant de fois que le nombre de fichiers à fusionner et le résultat \LaTeX{} contiendra donc tes différents fichiers les uns à la suite des autres. Et si jamais tu veux mélanger les pages, tu peux renseigner l'option \verb?pages? de la manière suivante par exemple : \verb?pages = {1,3,2,4,6,5}?. -\begin{attentionbox}{\textit{Nota Bene}} -Le paramètre \verb?nom_fichier? ne doit contenir ni espace ni accent. C'est le même principe que pour les images. \\ +Tu peux aussi te servir de cette commande pour insérer une page d'un rapport PDF dans ton propre rapport ou un tableau Excel exporté en PDF : c'est des fois plus simples que de tout recopier sous \LaTeX{}. -Pour rappel, la \textbf{compilation} doit se faire \textbf{uniquement} avec \verb?PDFLaTeX? ou \verb?XeLaTeX?. -\end{attentionbox} +\begin{attention}{\textit{Nota Bene}} +Le paramètre \verb?<nom-PDF>? ne doit contenir ni espace ni accent. C'est le même principe que pour les images. \\ -Il existe d'autres options, comme faire une rotation à la page, ajuster automatiquement le format (\verb?fitpaper?), réorganisation des pages. Pour les connaître ou si tu en as besoin, je te laisse aller consulter la documentation du package. \\ +Pour rappel, la \textbf{compilation} doit se faire \textbf{uniquement} avec PDF\LaTeX{} ou Xe\LaTeX{} (ou Lua\LaTeX{}). +\end{attention} + +Il existe d'autres options, comme faire une rotation à la page (\verb?landscape?, \verb?angle = <rotation>?), ajuster automatiquement le format (\verb?fitpaper?), etc. Pour les connaître ou si tu en as besoin, je te laisse consulter la documentation du package : \url{https://www.ctan.org/pkg/pdfpages}. \\ Pour présenter un point plus technique, il est possible de réaliser des références sur un tel fichier (renvoi de pages) mais il existe une astuce pour faire en sorte que le renvoi et le numéro de page correspondent. -Pour ce faire, il faut créer un compteur\footnote{Si tu es curieux, tu peux commencer à approcher la notion de compteur ici : \url{http://fr.wikibooks.org/wiki/LaTeX/Programmer_avec_LaTeX\#Compteurs}} dans le préambule de la manière suivante : \verb?\newcounter{pdfpage}?, puis procéder de la manière suivante (utilisation de l'option \verb?pagecommand? de \verb?\includepdf?) : +Pour ce faire, il faut créer un compteur\footnote{Si tu es curieux, tu peux commencer à approcher la notion de compteur ici : \url{http://fr.wikibooks.org/wiki/LaTeX/Programmer_avec_LaTeX\#Compteurs}} dans le préambule de la manière suivante : \verb?\newcounter{pdfpage}?, puis procéder ainsi (utilisation de l'option \verb?pagecommand? de \verb?\includepdf?) : -\begin{code}{Référence des fichiers \verb?.pdf? insérés} +\begin{code}{Référence d'un fichier PDF inséré} \documentclass[a4paper, 12pt]{report} +\usepackage{lmodern} +\usepackage[french]{babel} \usepackage[utf8]{inputenc} \usepackage[T1]{fontenc} -\usepackage[french]{babel} -\usepackage{lmodern} \usepackage{pdfpages} % Le package \newcounter{pdfpage} % Le compteur -\usepackage[hidelinks, breaklinks]{hyperref} +\usepackage{hyperref} \begin{document} J'ai beaucoup de texte à écrire \dots{} -% Enlever le % ci-dessous -%\includepdf[pages = -, pagecommand = {\refstepcounter{pdfpage} \label{reference}}]{nom_fichier.pdf} +% Enlever le % ci-après +%\includepdf[pages = -, pagecommand = {\refstepcounter{pdfpage}\label{reference}}]{<nom-PDF>} % pagecommand : faire un peu ce qu'on veut % refstepcounter : permet le bon renvoi % label : création de la référence -Je viens d'intégrer un document très important. Pour le consultant, aller à la page \pageref{reference}. +Je viens d'intégrer un document très important. Pour le consulter, aller à la page \pageref{reference}. -% Fonctionne bien pour un document d'une page -% Sinon, mettre plusieurs \includepdf du même document : +\end{document} +\end{code} -%\includepdf[pages = -1, pagecommand = {\refstepcounter{pdfpage} \label{ref_deb}}]{nom_fichier.pdf} % 1 page -%\includepdf[pages = 2-13]{nom_fichier.pdf} -%\includepdf[pages = 13-, pagecommand = {\refstepcounter{pdfpage} \label{ref_fin}}]{nom_fichier.pdf} % 1 page +Si cette solution fonctionne pour un document d'une page, il faut ruser pour l'appliquer sur un document plus long ou pour différents documents : -Le document important est disponible de la page \pageref{ref_deb} à \pageref{ref_fin}. +\begin{code}{Référence de plusieurs fichiers PDF insérés} +\documentclass[a4paper, 12pt]{report} + +\usepackage{lmodern} +\usepackage[french]{babel} +\usepackage[utf8]{inputenc} +\usepackage[T1]{fontenc} + +\usepackage{pdfpages} % Le package +\newcounter{pdfpage} % Le compteur + +\usepackage{hyperref} + + +\begin{document} + +%\includepdf[pages = -1, pagecommand = {\refstepcounter{pdfpage}\label{ref-debut}}]{<nom-PDF>} % Début document +%\includepdf[pages = 2-12]{<nom-PDF>} % Document +%\includepdf[pages = 13-, pagecommand = {\refstepcounter{pdfpage}\label{ref-fin}}]{<nom-PDF>} % Fin document + +Le document inséré est disponible de la page \pageref{ref-debut} à \pageref{ref-fin}. \end{document} \end{code} -\textcolor{Red}{\textbf{Attention :}} par défaut, la numérotation des pages se poursuit lors de l'inclusion de fichiers \texttt{PDF} avec cette méthode. Il faut donc veiller à ce que ces derniers n'en aient pas \dots{} ou supprimer l'insertion du numéro de page grâce à \verb?pagecommand?. \\ +\begin{attention}{Numérotation des PDF insérés} +Par défaut, la numérotation des pages se poursuit lors de l'inclusion de fichiers PDF avec la commande \verb?\includepdf?. Il faut donc veiller à ce que ces derniers n'en aient pas (pour éviter les incohérences) ou supprimer l'insertion du numéro de page grâce à \verb?pagecommand?. +\end{attention} -Cette solution tombe à pic : étudions désormais la gestion des en-têtes et pieds de page ! +Cette dernière idée tombe à pic : étudions désormais la gestion des en-têtes et pieds de page ! \section{En-têtes et pieds de page} -Par défaut, \LaTeX{} propose principalement trois styles pour les en-têtes et pieds de page. Ceux-ci sont appelés dans le préambule grâce à la commande \verb?\pagestyle{style}? : \\ +Par défaut, \LaTeX{} propose principalement trois styles pour les en-têtes et pieds de page. Ces derniers peuvent être appelés \textbf{n'importe où dans le document} grâce à la commande \verb?\pagestyle{<style>}? : \\ \begin{itemize}[label = \ding{213}] -\item le style \verb?empty? : aucune en-tête et aucun pied de page ne seront affichés. Pour utiliser ce style, il faut donc renseigner dans le préambule la commande \verb?\pagestyle{empty}?, +\item le style \verb?empty? : aucune en-tête et aucun pied de page ne seront affichés. Pour utiliser ce style, il faut donc utiliser la commande \verb?\pagestyle{empty}? ; -\item le style \verb?plain?, \textcolor{Brown}{\textit{style par défaut} :} seul le numéro de page est affiché, au centre du pied de page. Comme c'est le style par défaut, il n'y a aucune commande à taper. Autrement, son appel se fait grâce à la commande \verb?\pagestyle{plain}? dans le préambule, +\item le style \verb?plain? \textcolor{brown!70!black}{(\textit{style par défaut})} : seul le numéro de page est affiché, au centre du pied de page. Comme c'est le style par défaut, il n'y a aucune commande à indiquer. + +Toutefois, si jamais tu as utilisé un autre style et que tu veux revenir à celui-ci, son appel se fait donc grâce à la commande \verb?\pagestyle{plain}? ; -\item le style \verb?headings? : les en-têtes et les pieds de page sont définis automatiquement selon la classe de document utilisée. Pour utiliser ce style, il suffit donc d'inclure la commande \verb?\pagestyle{headings}? dans le préambule. \\ +\item le style \verb?headings? : apparemment, les en-têtes et les pieds de page sont définis automatiquement selon la classe de document utilisée. Je ne l'ai encore jamais utilisé jusqu'à présent. \\ \end{itemize} -Si jamais tu désires personnaliser de ta main les en-têtes et pieds de page, le package \verb?fancyhdr? est très pratique. Il faut appeler le package dans le préambule \textbf{suivi de la commande} \verb?\pagestyle{fancy}?. +Bon, il faut reconnaître que nous n'allons pas aller bien loin avec ces maigres possibilités. For heureusement, il existe un package indispensable, spécialisé dans la personnalisation des en-têtes et pieds de page : le package \verb?fancyhdr?. + +Ce package permet de définir son propre style pour pouvoir l'appeler encore plus facilement par la suite à l'intérieur de ton document. Tu peux le créer grâce à la commande \verb?\fancypagestyle? et en respectant la syntaxe générale suivante : + +\begin{code}{Création d'un style de page} +% Dans le préambule de ton fichier .tex + +\usepackage{fancyhdr} +\fancyhf{} % Tout effacer +\fancypagestyle{<nom-style>}{ + % Définition du style + <en-tête> + <pied> +} +\pagestyle{<nom-style>} +\end{code} + +Comme tu peux le constater, tu définis le style et tu lui associes un nom, ce qui te permet de l'appeler à ta guise par la suite, surtout si tu veux basculer avec un style natif de \LaTeX{} (\verb?empty? ou \verb?plain? par exemple). + +Quant à la définition du style en elle-même, tu peux définir les en-têtes et pieds de page respectivement grâce aux commandes : -Ensuite, tu peux définir les en-têtes grâce à \verb?\fancyhead[zone]{contenu}? et les pieds grâce à \verb?\fancyfoot[zone]{contenu}?. Si \verb?contenu? est totalement libre (choix de l'utilisateur), \verb?zone? est défini de la manière suivante : +\begin{code}{} +\fancyhead[<zone>]{<contenu>} % Perso en-tête +\fancyfoot[<zone>]{<contenu>} % Perso pied +\end{code} + +Si \verb?<contenu>? est totalement libre (choix de l'utilisateur), \verb?<zone>? est défini de la manière suivante : -\begin{center} -\begin{longtable}{C{0.075\linewidth}|p{0.5\linewidth}} -\verb?zone? & {\hspace*{\stretch{1}}Description\hspace*{\stretch{1}}} \\ \hline +\begin{table}[H] +\centering +\begin{tabular}{ll} +\verb?<zone>? & {Description} \\ \midrule \verb?L? & champ gauche pour toutes les pages \\ \verb?LE? & champ gauche pour les pages paires \\ \verb?LO? & champ gauche pour les pages impaires \\ @@ -238,283 +336,276 @@ Ensuite, tu peux définir les en-têtes grâce à \verb?\fancyhead[zone]{contenu \verb?R? & champ droit pour toutes les pages \\ \verb?RE? & champ droit pour les pages paires \\ \verb?RO? & champ droit pour les pages impaires -\end{longtable} -\end{center} - -Un moyen mnémotechnique très simple pour s'en souvenir : \verb?L?, \verb?C? et \verb?R? pour \textit{Left}, \textit{Center} et \textit{Right} (je pense que ce n'est pas le plus compliqué) ; \verb?E? et \verb?O? pour \textit{Even} et \textit{Odd}. \\ +\end{tabular} +\end{table} -Il existe ensuite quelques commandes fort pratiques pour \verb?contenu? : +Par ailleurs, il existe quelques commandes pratiques pour \verb?<contenu>? : -\begin{itemize}[label = \ding{213}] -\item \verb?\thepage? : affiche le numéro de la page courante, +\begin{itemize}[label = \ding{118}] +\item \verb?\thepage? : affiche le numéro de la page courante ; -\item \verb?\thesection? : affiche le numéro de la section courante, +\item \verb?\thesection? : affiche le numéro de la section courante ; -\item \verb?\thechapter? avec un document de classe \verb?book? ou \verb?report? : affiche le numéro du chapitre courant, +\item \verb?\thechapter? avec un document de classe \verb?book? ou \verb?report? : affiche le numéro du chapitre courant ; -\item \verb?\leftmark? : avec un document de classe \verb?article?, affiche le nom de la section courante ; avec un document de classe \verb?book? ou \verb?report?, affiche le nom du chapitre courant, +\item \verb?\leftmark? : avec un document de classe \verb?article?, affiche le nom de la section courante ; avec un document de classe \verb?book? ou \verb?report?, affiche le nom du chapitre courant ; \item \verb?\rightmark? : avec un document de classe \verb?article?, affiche le nom de la sous-section courante ; avec un document de classe \verb?book? ou \verb?report?, affiche le nom de la section courante. \\ \end{itemize} -Enfin, tu peux définir les épaisseurs des traits de séparation grâce à la commande : \begin{center} \verb?\renewcommand{\headrulewidth}{épaisseur}? \end{center} +Enfin, tu peux définir les épaisseurs des traits de séparation grâce aux commandes : -\noindent pour les en-têtes et : \begin{center} \verb?\renewcommand{\footrulewidth}{épaisseur}? \end{center} +\begin{code}{} +\renewcommand{\headrulewidth}{épaisseur} % Séparateur en-tête +\renewcommand{\footrulewidth}{épaisseur} % Séparateur pied +\end{code} -\noindent pour les pieds de page. \\ +Je pense t'avoir bien assommé avec toute cette théorie. Si tu veux connaître la personnalisation que j'utilise pour ce guide, la voici : + +% Espace volontaire dans le code (\headrule) ou pas de césure par listing (commande trop longue) +\begin{code}{Configuration personnelle de \verb?fancyhdr?} +\usepackage{fancyhdr, fourier-orns} % En-têtes et pieds de pages +\fancyhf{} % Tout effacer +\fancypagestyle{main}{ + \renewcommand{\headrule}{\hrulefill\raisebox{-2.1pt} {\quad\decofourleft\decotwo\decofourright\quad}\hrulefill} + \fancyhead[L]{\textsc{\nouppercase{\leftmark}}} % Mettre l'en-tête en small capitals + \renewcommand{\footrulewidth}{0pt} + \fancyfoot[C]{\thepage} +} +\end{code} -Un petit exemple ne fait jamais de mal : +Pour info, sache que je n'ai rien inventé. J'ai trouvé le code dans la documentation du package \verb?fancyhdr? et je l'ai adapté. Comme quoi, tu peux faire de belles découvertes avec un peu de lecture technique ! Et comme un petit exemple ne fait jamais de mal, voici un autre exemple, illustré cette fois : -\begin{code}{Les en-têtes et pieds de page} +\begin{coderesult}{Utilisation concrète de \verb?fancyhdr?} \documentclass[a4paper, 12pt]{report} +\usepackage{lmodern} +\usepackage[french]{babel} \usepackage[utf8]{inputenc} \usepackage[T1]{fontenc} -\usepackage[french]{babel} -\usepackage{lmodern} - -\usepackage{fancyhdr} -\pagestyle{fancy} -\fancyhf{} % Effacer tout -\renewcommand{\headrulewidth}{0.5pt} % Trait en-têtes -\fancyhead[LE]{Initiation à \LaTeX{}} -\fancyhead[RE]{Adrien \textsc{Bouzigues}} -\fancyhead[LO]{\leftmark} - -\renewcommand{\footrulewidth}{0pt} % Pas de trait = épaisseur nulle -\fancyfoot[C]{\thepage} +\usepackage{lipsum, fancyhdr, pifont} +\fancyhf{} % Tout effacer +% Autre personnalisation +\fancypagestyle{main}{ + \renewcommand{\headrule}{\hspace*{\fill} \ding{118} \quad \ding{118} \quad \ding{118} \hspace*{\fill}} + \fancyfoot[LO]{\thepage\quad\hrulefill} +} \begin{document} -Bla bla bla +\pagestyle{main} +\lipsum[1-3] \newpage -Bla bla bla % Taper son rapport comme d'habitude +\pagestyle{plain} +\lipsum[4-6] \end{document} -\end{code} +\end{coderesult} -\begin{attentionbox}{Une question ?} -\og Je viens d'essayer ton exemple mais l'affichage sur les pages paires et impaires ne fonctionne pas ! Comment puis-je être remboursé ? \fg{} \\ +\begin{attention}{\LaTeX{} et les pages paires \& impaires} +\og Dis donc, je viens d'essayer ton exemple mais l'affichage sur les pages paires et impaires ne fonctionne pas ! M'aurais-tu menti ??? \fg{} \\ Et oui, cela ne fonctionne pas et je voulais que tu touches du doigt ce problème, au moins une fois, pour pouvoir en être conscient. -Un document de classe \verb?report? est, par défaut, considéré pour être imprimé uniquement en recto, même si tu peux choisir recto-verso au moment de l'impression. \LaTeX{} ne fait donc pas la différence entre les pages paires et impaires. - -Pour résoudre ce problème, il faut donc dire à \LaTeX{} que ton document est en recto-verso. C'est possible grâce à une option supplémentaire dans le \verb?documentclass? : \verb?twoside?, soit : \begin{center} \verb?\documentclass[a4paper, 12pt, twoside]{report}? \end{center} +Un document de classe \verb?report? est, par défaut, considéré pour être imprimé uniquement en recto, même si tu peux choisir recto-verso au moment de l'impression (via les options proposées par l'imprimante). \LaTeX{} ne fait donc pas la différence entre les pages paires et impaires. \\ -Par exemple, dans le cas d'un document de classe \verb?book?, le recto-verso est compris par défaut. Cette option entraîne alors des marges différentes selon les pages paires et impaires. \`A la lecture depuis ton écran, le résultat peut paraître déstabilisant \dots{} et pourtant, si tu y réfléchis 2 minutes 15, c'est parfaitement logique si tu veux faire relier ton rapport ! +Pour résoudre ce problème, il faut donc dire à \LaTeX{} que ton document est en recto-verso. C'est possible grâce à une \textbf{option} supplémentaire dans le \verb?documentclass? : \verb?twoside?. -Toutefois, \textit{si tu tiens à avoir une feuille centrée,} avec des marges identiques à gauche et à droite, le package \verb?geometry? est alors recommandé. -\end{attentionbox} +Cette option entraîne alors des marges différentes selon les pages paires et impaires. \`A la lecture depuis ton écran, le résultat peut paraître déstabilisant\dots{} et pourtant, si tu y réfléchis 2 minutes 15, c'est parfaitement logique si tu veux faire relier ton rapport ! -\vspace{\baselineskip} +Toutefois, \emph{si tu tiens à avoir une feuille centrée,} avec des marges identiques à gauche et à droite, le package \verb?geometry? constitue alors la seule solution. +\end{attention} -Enfin, il est possible de définir un ``nom de style''. Il est ainsi possible de changer à tout moment de style de page, et ce facilement. Cette astuce permet d'éviter bien des tracas et des copier-collers, tandis qu'elle respecte un des principes de \LaTeX{} : séparer le fond et la forme. La preuve ici et maintenant : +Bon, que me reste-t-il à présenter ? Ah, je sais : une petite astuce, simple et courte, histoire de ce se reposer un peu. -\begin{code}{Définir complètement son style de page} -\documentclass[a4paper, 12pt]{report} +\section{Centrer verticalement du texte} -\usepackage[utf8]{inputenc} -\usepackage[T1]{fontenc} -\usepackage[french]{babel} -\usepackage{lmodern} +\`A l'heure actuelle, la solution la plus simple et fonctionnelle pour centrer verticalement du texte -- comme un résumé par exemple -- repose sur la commande \verb?\vspace*{\fill}? : -\usepackage{fancyhdr, fourier-orns} % En-têtes et pieds de pages, avec un bonus pour les en-têtes (\headrule) -\fancyhf{} % Efface tout +\begin{codedisplay}{Centrage vertical} +\vspace*{\fill} +Paragraphe à centrer -% Définition de notre style -\fancypagestyle{mainstyle}{ -\renewcommand{\headrulewidth}{0pt} % Pas de trait en haut -\renewcommand{\footrulewidth}{0pt} % Ni en bas -\fancyhead[L]{\textsc{\nouppercase{\leftmark}}} % Mettre l'en-tête en small capitals --> obligatoire pour ne pas avoir un résultat pixellisé ! -\fancyfoot[C]{\thepage}} % Fin de la définition +verticalement sur la page +\vspace*{\fill} +\end{codedisplay} -\pagestyle{mainstyle} % Appel de notre style +Concrètement, \verb?\fill? est une distance élastique propre à \LaTeX{}. Ici, il s'agit de l'espace blanc restant sur la page, interprété verticalement grâce à la commande \verb?\vspace*? (un \verb?\vspace? forcé, pour faire simple). Et comme la commande complète est utilisée 2 fois, \LaTeX{} centre verticalement le texte.\footnote{Il s'agit d'une explication ``imagée', pour comprendre le fonctionnement général de cette formule. Je pense que les notions en jeu sont plus complexes et je ne me suis pas encore penché sur le sujet.} -\renewcommand{\headrule}{\hrulefill\raisebox{-2.1pt}[10pt][10pt]{\quad\decofourleft\decotwo\decofourright\quad}\hrulefill} % Bonus sur le headrule +Tu peux toutefois avoir un résultat plus personnalisable grâce à la commande \verb?\stretch{i}? à la place de \verb?\fill?, avec \verb?i? un nombre strictement positif. +\begin{coderesult}[comment style = {raster columns = 3, drop lifted shadow}]{Centrage simple \& personnalisé} +\documentclass[a4paper, 12pt]{report} -\begin{document} +\usepackage{lmodern, lipsum} +\usepackage[french]{babel} +\usepackage[utf8]{inputenc} +\usepackage[T1]{fontenc} -Un petit essai. -\newpage +\begin{document} -\pagestyle{empty}Alors ? Quel est le style ? +\vspace*{\fill} +\lipsum[1-2] +\vspace*{\fill} \newpage -\pagestyle{mainstyle}Et maintenant ? Qu'avons-nous ? C'est de la magie, n'est-ce pas ? +\vspace*{\fill} +\lipsum[3-4] +\vspace*{\stretch{4}} \end{document} -\end{code} +\end{coderesult} -Bon, que me reste-t-il à présenter ? Ah, je sais : une petite astuce, simple et courte, histoire de ce se reposer un peu. +Techniquement, la commande \verb?\vfill? existe et reste bien plus simple à écrire\dots{} sauf que, pour ma part, elle fonctionne une fois sur deux, voire jamais ! Pourquoi ? Je n'ai pas encore trouvé d'explications satisfaisantes à ce sujet. \\ -\section{Centrer verticalement du texte} +S'il faut aussi \textcolor{blue!75!green}{centrer le texte horizontalement, l'environnement \verb?center? convient parfaitement.} -\`A l'heure actuelle, la seule solution simple et fonctionnelle pour centrer verticalement du texte, comme un résumé par exemple, revient à utiliser la commande \verb?\vspace*{\stretch{1}}? de la manière suivante : +La commande \verb?\hfill? doit plutôt être utilisée pour équilibrer l'espacement entre des blocs, comme des \verb?minipage? ou l'intérieur d'un tableau par exemple. -\begin{center} -\begin{minipage}{0.3\linewidth} -\begin{verbatim} -\vspace*{\stretch{1}} -Paragraphe à centrer -verticalement -\vspace*{\stretch{1}} -\end{verbatim} -\end{minipage} -\end{center} - -Techniquement, la commande \verb?\vfill? existe et reste bien plus simple à écrire \dots{} sauf que, pour ma part, elle fonctionne une fois sur deux, voire jamais ! \\ - -S'il faut aussi \textcolor{Blue!75!Green}{centrer le texte horizontalement, l'environnement \verb?center? convient parfaitement.} La commande \verb?\hfill? (et, par la même occasion, \verb?\hspace*{\stretch{1}}?) doit être utilisée plutôt pour équilibrer l'espacement entre des blocs, comme des \verb?minipage? ou des \verb?subfigure? par exemple. +En cas de problème ou si \verb?hfill? ne fournit pas le résulta escompté, tu peux aussi forcer le centrage horizontal avec les commandes \verb?\hspace*{\fill}? ou \verb?\hspace*{\stretch{i}}?. \section{Générer une bibliographie} -Comme \LaTeX{} peut vraiment tout faire\footnote{Pour le traitement de texte, j'entends. J'attends toujours l'option ménage et repassage \dots{}}, pourquoi se priver et ne pas générer facilement de magnifiques bibliographies ? \\ +\label{generer-bibliographie}Comme \LaTeX{} peut vraiment tout faire, en ce qui concerne le traitement de texte, pourquoi se priver et ne pas générer facilement de (magnifiques) bibliographies ? \\ -Même si je commence à avoir un peu d'expérience avec les bibliographies, je n'en ai pas fait énormément pour en comprendre toutes les subtilités. Si mes explications te semblent un peu confuses, les sites : +Si je commence à avoir un peu d'expérience avec les bibliographies, je n'en réalise pas tous les jours pour en comprendre toutes les subtilités. Si mes explications te semblent un peu confuses, n'hésite pas à te référer aux sites suivants pour saisir les bases et compléter mes explications : \begin{itemize}[label = \ding{213}] -\item \url{http://www.tuteurs.ens.fr/logiciels/latex/bibtex.html} +\item \url{http://www.tuteurs.ens.fr/logiciels/latex/bibtex.html} ; -\item \url{http://www.xm1math.net/doculatex/bibtex.html} +\item \url{http://www.xm1math.net/doculatex/bibtex.html}. \end{itemize} -\noindent{}sont assez complets pour saisir les bases et compléter ce qui va suivre. \\ +\subsection*{Création de la base de données bibliographiques} -La première étape pour ajouter une bibliographie à un document généré sous \LaTeX{} est de créer la dite bibliographie, sous forme d'une base de données. Pour cela, ouvrons notre éditeur \LaTeX{} (\texttt{Texmaker} pour ce guide) puis créons un nouveau document. Là , renseignons les lignes suivantes qui nous serviront d'essais par la suite : +Sous \LaTeX{}, la première étape est la création à proprement parler de ta bibliographie, sous la forme d'une ``base de données''. Pour cela, ouvrons notre éditeur \LaTeX{} (\Texmaker{}) puis créons un nouveau document. Là , renseignons les lignes suivantes qui nous serviront de test par la suite : -\begin{code}{Un début de bibliographie} -% Renseigner le type de document pour la bibliographie ==> utiliser un "@" suivi du nom du document (parmi ceux disponibles) +\begin{code}{Une première bibliographie} @Article{Johnson, -author = {Edgar G. Johnson and Alfred O. Nier}, -title = {Angular Aberrations in Sector Shaped Lenses}, -journal = {Physical Review}, -year = {1953}, -volume = {91}, -number = {1}, + author = {Edgar G. Johnson and Alfred O. Nier}, + title = {Angular Aberrations in Sector Shaped Lenses}, + journal = {Physical Review}, + year = {1953}, + volume = {91}, + number = {1}, } -% Le premier élément est la clef (similaire à une étiquette pour les références) - -% ATTENTION : il faut séparer les noms d'auteurs par "and" et non par une virgule ou un & @Phdthesis{Zoran, -author = {Zoran Racic}, -title = {\'Etude et essais du spectromètre à plasma}, -publisher = {Université Pierre et Marie Curie}, -year = {1996} + author = {Zoran Racic}, + title = {\'Etude et essais du spectromètre à plasma}, + publisher = {Université Pierre et Marie Curie}, + year = {1996} } -% Pour renseigner un nom composé ou un groupe de mots dans "author", il faut doubler les accolades : author = {André {Mouche Baie}} -% Apparemment, nécessaire seulement pour les documents de type @Misc @Misc{opensource, -author = {{Open Source Initiative}}, -title = {The Open Source Definition}, -howpublished = {\url{http://opensource.org/osd}}, -note = {accès le 10/10/2017} + author = {{Open Source Initiative}}, + title = {The Open Source Definition}, + howpublished = {\url{http://opensource.org/osd}}, + note = {accès le 10/10/2017} } \end{code} -Ensuite, il faut enregistrer le fichier. Ce doit sûrement être un peu la même recette pour tous les éditeurs de texte en général. Sous \texttt{Texmaker}, il faut procéder ainsi : +Ensuite, il faut enregistrer le fichier. Ce doit sûrement être un peu la même recette pour tous les éditeurs de texte en général. Sous \Texmaker{}, il faut procéder ainsi : \begin{enumerate} +\item Barre de menus. -\begin{enumerate} -\item barre de menus, +\item \verb?Fichier? puis \verb?Enregistrer sous?. -\item \verb?Fichier?, - -\item \verb?Enregistrer sous?, - -\item \verb?nom_fichier.bib?, comme, par exemple, \verb?biblio_type.bib? pour ma part. +\item Donner un nom au fichier, comme \verb?biblio_type.bib?. \\ \end{enumerate} -L'extension \verb?.bib? correspond au format employé sous \LaTeX{} pour gérer une base de données bibliographique. C'est très important car, lors de la compilation, \LaTeX{} va chercher un fichier \verb?.bib?, le lire et créer la bibliographie. +L'extension \verb?.bib? correspond au format employé sous \LaTeX{} pour gérer une base de données bibliographique. C'est très important car, lors de la compilation, \LaTeX{} va chercher un fichier \verb?.bib?, le lire et créer la bibliographie en conséquence. -\begin{conseilbox}{Le conseil personnel} -Je recommande de conserver le fichier \verb?biblio_type.bib? dans un dossier à part en tant que \textit{template} : tu n'auras pas ainsi à le créer à chaque fois mais juste à faire un copier-coller du fichier en question. \\ +\begin{conseil}{Le conseil personnel} +Je recommande de conserver le fichier \verb?biblio_type.bib? dans un dossier à part en tant que \textit{template}. Ainsi, tu n'auras pas à le créer à chaque fois mais juste à faire un copier-coller du fichier en question. \\ -Ensuite, je ne vais pas m'étendre sur les diverses possibilités de renseigner une bibliographie (article, thèse, livre, site internet, \dots{}). Internet fournit suffisamment d'exemples et \texttt{Texmaker} propose des commandes à trous (dans la barre de menus, \verb?Bibliographie? puis \verb?Bibtex? puis choisir le type de document à renseigner pour la bibliographie). \\ +Ensuite, je ne vais pas m'étendre sur les diverses possibilités de renseigner une bibliographie (article, thèse, livre, site Internet\dots{}). Internet fournit suffisamment d'exemples et \Texmaker{} propose des commandes à trous : dans la barre de menus, choisir \verb?Bibliographie? puis \verb?Bibtex? puis sélectionner le type de document à renseigner pour la bibliographie. \\ Personnellement, je viens d'en apprendre un peu plus sur les bibliographies grâce à des explications développées dans l'ouvrage \textit{\LaTeX{} - How To}, disponible au format numérique ici même : \url{http://www.latex-howto.be/book/download_fr} (chapitre 10 pour les bibliographies). -\end{conseilbox} +\end{conseil} -Bon, nous avons créé la bibliographie. Il faut maintenant indiquer à \LaTeX{} de la générer et de l'introduire dans le document. Pour ce faire, il faut utiliser les commandes suivantes, dans cet ordre et \textcolor{Green}{\textbf{à l'endroit où doit apparaître la bibliographie}} : +Si notre base de données bibliographiques est désormais créée, il peut être intéressant de comprendre son fonctionnement et la syntaxe employée dans les fichiers \verb?.bib? : \begin{itemize}[label = \ding{118}] +\item une entrée dans la base de données bibliographique commence \textbf{toujours} par un arobase \verb?@?, suivi du nom du document (parmi ceux disponibles), comme \verb?Article? ou \verb?Phdthesis? dans le cas présent ; -\begin{itemize}[label = \ding{213}] -\item \verb?\bibliographystyle{smfplain}? : pour générer la bibliographie avec des normes françaises. Sans le \verb?smf?, la bibliographie est générée selon des normes américaines. +\item le premier élément qui arrange juste après -- hormis les accolades de séparation obligatoires -- est un mot, qui va servir de clef, de référence pour appeler cette entrée bibliographique par la suite. + +Comme pour les étiquettes, il est donc \textbf{interdit} de mettre des espaces ou ces accents ! -Par exemple, le \texttt{and} dans le fichier \verb?.bib? pour séparer les auteurs reste tel quel, alors qu'il est remplacé par un ``\texttt{et}'' avec les normes françaises (entre autres modifications), \\ +\item ensuite, il faut renseigner les différents champs de ton entrée bibliographique (auteur, éditeur, titre, année, etc.), avec les données de chaque champ entre accolades et une séparation des champs par une virgule. -\item \verb?\?\verb?bibliography{nom_fichier}? : pour indiquer le fichier \verb?.bib? qui contient notre bibliographie. \textit{Ici,} \verb?nom_fichier? = \verb?biblio_type?. \\ +Certains champs sont obligatoires, d'autres optionnels. Si tu ajoutes une entrée bibliographique par l'intermédiaire de \Texmaker{}\footnote{Pour rappel, dans la barre de menus, choisir \verb?Bibliographie? puis \verb?Bibtex? puis sélectionner le type de document à renseigner pour la bibliographie.}, ces derniers sont facilement repérables : ils commencent par \verb?OPT? ; + +\item enfin, s'il y a plusieurs auteurs, il faut bien les séparer par un \verb?and?, et non une virgule ou un \verb?&? (esperluette). + +Et si jamais il y a un prénom ou un nom composé, il faut ``doubler les accolades'' pour bien séparer le prénom du nom ou le formatage final lors de la création te semblera bizarre ! Par exemple : \verb?author = {André {Mouche Baie}}?. \end{itemize} -Puis vient la compilation. Il faut alors procéder de la manière suivante : +\subsection*{Génération de la bibliographie} -\begin{enumerate} -\item lancer la compilation sous \verb?PDFLaTeX? (première compilation du document), +Bon, nous avons créé la bibliographie. Il faut maintenant indiquer à \LaTeX{} de la générer et de l'introduire dans le document. Pour ce faire, il faut utiliser les commandes suivantes, \textbf{dans cet ordre et à l'endroit où doit apparaître la bibliographie :} \begin{itemize}[label = \ding{213}] +\item \verb?\bibliographystyle{smfplain}? : pour générer la bibliographie avec des normes françaises. Sans le \verb?smf?, la bibliographie est générée selon des normes américaines.\footnote{Il existe d'autres formats français de bibliographie mais \verb?smfplain? constitue une bonne entrée en matière. SMF est l'acronyme de Société Mathématique de France.} -\item lancer \verb?Bibtex? (génération de la bibliographie dans des fichiers annexes ; cf. les options \texttt{Texmaker} pour connaître le raccourci clavier associé), +Par exemple, le \verb?and? dans le fichier \verb?.bib? pour séparer les auteurs reste tel quel avec le format américain \verb?plain?, alors qu'il est remplacé par un \verb?et? avec le format français \verb?smfplain? (entre autres modifications donc) ; -\item relancer \verb?PDFLaTeX? deux fois (intégration de la bibliographie et bonne implémentation des références et du sommaire), +\item \verb?\?\verb?bibliography{<nom_fichier>}? : pour indiquer le fichier \verb?.bib? qui contient notre bibliographie. Ici, \verb?<nom_fichier>? = \verb?biblio_type?. \\ +\end{itemize} -\item afficher le résultat. -\end{enumerate} +Puis vient la compilation. Il faut alors procéder de la manière suivante : \begin{enumerate} +\item Lancer la compilation sous PDF\LaTeX{}, pour la première compilation du document. -\begin{attentionbox}{\textit{Nota Bene}} -Le schéma est le même pour une compilation avec \verb?LaTeX?. Il faut juste ne pas oublier à la fin de transformer son fichier \verb?DVI? en \verb?PS? puis de convertir le \verb?PS? en \verb?PDF?. \\ +\item Lancer Bib\TeX{}, pour la génération de la bibliographie dans des fichiers annexes (cf. les options \Texmaker{} pour connaître le raccourci clavier associé). -Pour gagner en efficacité et ne pas se compliquer la vie, il est préférable d'utiliser la \verb?Compilation rapide? de \texttt{Texmaker} qui prend en compte la bibliographie, soit qui comprend le terme \verb?Bib(la)tex?. \\ +\item Relancer PDF\LaTeX{} deux fois, pour l'intégration de la bibliographie et la bonne implémentation des références et du sommaire. +\end{enumerate} + +\begin{conseil}{Le conseil personnel} +Changer la \og compilation rapide \fg{} de \Texmaker{} avec un choix qui intègre le moteur Bib\TeX{} simplifie aussi grandement la vie. +\end{conseil} -\textcolor{OrangeRed}{\textbf{ATTENTION :}} avec cette méthode, il est impossible de générer une bibliographie sous \verb?XeLaTeX? ! -\end{attentionbox} +Maintenant, si tu as lancé la compilation, tu dois te dire que c'est nul car rien n'apparaît\dots{} et c'est normal ! \LaTeX{} ne va pas générer une bibliographie si tu n'y fais pas référence. -Maintenant, si tu as lancé la compilation, tu dois te dire que c'est nul car rien n'apparaît \dots{} et c'est normal ! \LaTeX{} ne va pas générer une bibliographie si tu n'y fais pas référence. Te souviens-tu de la clef/étiquette créée lors de la création de ta base de données \verb?.bib? ? C'est ici qu'elle entre en jeu avec la commande \verb?\cite{clef}?. Il te suffit donc de placer cette commande à l'endroit où tu souhaites faire une référence à ta bibliographie. +Te souviens-tu de la clef/étiquette créée lors de la création de ta base de données \verb?.bib? ? C'est ici qu'elle entre en jeu avec la commande \verb?\cite{<clef>}?. Il te suffit donc de placer cette commande à l'endroit où tu souhaites faire une référence à ta bibliographie. Et voilà , c'est tout. Il ne faut pas en savoir plus pour générer une bibliographie. Tu as donc désormais toutes les cartes en main pour t'y mettre et expérimenter. -\begin{conseilbox}{Faire fonctionner \texttt{hyperref} avec la bibliographie} +\begin{conseil}{Faire fonctionner \verb?hyperref? avec la bibliographie} Il peut être frustrant que les liens dans la bibliographie ne soient pas coupés, ou qu'un clic sur un élément cité ne renvoie pas à sa ligne dans la bibliographie. \\ -Pour ce faire, il faut charger les packages ci-après, \textbf{dans l'ordre suivant :} +Pour ce faire, il faut charger les packages ci-après, \textbf{dans l'ordre suivant} (ou il y aura des conflits entre les packages et des erreurs de compilation) : -\begin{verbatim} -\usepackage[nottoc, notlof, notlot]{tocbibind} -% Pour inclure la bibliographie dans le sommaire - -\usepackage[hyphens]{url} -% Pour couper les urls dans la bibliographie -\usepackage[hidelinks, breaklinks, linktoc = all]{hyperref} -\usepackage[hyphenbreaks]{breakurl} -% Idem package url -\end{verbatim} -\end{conseilbox} +\begin{code}{\verb?hyperref? et la bibliographie} +\usepackage[nottoc, notlof, notlot]{tocbibind} % Pour inclure la bibliographie dans le sommaire +\usepackage[hyphens]{url} % Pour couper les urls dans la bibliographie +\usepackage[breaklinks]{hyperref} % Inclure les autres options déjà abordées +\usepackage[hyphenbreaks]{breakurl} % Idem package url +\end{code} +\end{conseil} Du coup, pour résumer tout ce qui a été vu durant cette partie, ton fichier \verb?.tex? doit ressembler à : \begin{code}{Bibliographie : code complet} \documentclass[a4paper, 12pt]{report} +\usepackage{lmodern} +\usepackage[french]{babel} \usepackage[utf8]{inputenc} \usepackage[T1]{fontenc} -\usepackage[french]{babel} -\usepackage{lmodern} \usepackage[nottoc, notlof, notlot]{tocbibind} % Pour inclure la bibliographie dans le sommaire - -\usepackage[hyphens]{url} % Pour couper les urls dans la bibliographie -\usepackage[hidelinks, breaklinks, linktoc = all]{hyperref} +\usepackage[hyphens]{url} % % Pour des césures correctes dans les URLs, y compris dans la bibliographie +\usepackage[pdfauthor = {{Prénom Nom}}, pdftitle = {{Titre document}}, pdfstartview = Fit, pdfpagelayout = SinglePage, pdfnewwindow = true, bookmarksnumbered = true, breaklinks, colorlinks, linkcolor = red, urlcolor = black, citecolor = cyan, linktoc = all]{hyperref} % Renvois -- Options Adobe/lecteur PDF \usepackage[hyphenbreaks]{breakurl} % Idem package url \begin{document} Mon document se réfère à \cite{Johnson, Zoran} mais des réponses sont aussi disponibles sur Internet \cite{opensource}. -% Possiblités de cumuler les \cite dans une même commande +% Possiblité de cumuler les \cite dans une même commande \bibliographystyle{smfplain} % Enlever le % ci-après @@ -523,45 +614,31 @@ Mon document se réfère à \cite{Johnson, Zoran} mais des réponses sont aussi \end{document} \end{code} -Tout ces éléments te semblent compliqués ? C'est bien normal au début. Là encore, il faut comprendre que tu sépares le fond de la forme : tu crées une base de données bibliographique, totalement désordonnée, puis \LaTeX{} affiche uniquement les éléments auxquels tu fais référence. En parallèle, \LaTeX{} gère automatiquement la mise en forme de la bibliographie et classe les auteurs par ordre alphabétique ! +Tous ces éléments te semblent compliqués ? C'est bien normal au début. Là encore, il faut comprendre que tu sépares le fond de la forme : tu crées une base de données bibliographique, totalement désordonnée, puis \LaTeX{} affiche uniquement les éléments auxquels tu fais référence. -C'est donc un peu compliqué au début mais c'est extrêmement puissant. Toutefois, si jamais tu n'as que 2-3 références à faire, il existe une manière plus simple de générer une bibliographie. Je te laisse reprendre le code ci-après et digérer mes commentaires : +En parallèle, \LaTeX{} gère automatiquement la mise en forme de la bibliographie et classe de lui-même les auteurs par ordre alphabétique ! Pas mal, non ? C'est donc un peu compliqué au début mais c'est extrêmement puissant. -\begin{code}{Une autre possibilité pour la bibliographie} -\documentclass[a4paper, 12pt]{report} +\subsection*{Ajout manuel d'une bibliographie} -% LaTeX ou PDFLaTeX -\usepackage[utf8]{inputenc} -\usepackage[T1]{fontenc} -\usepackage[french]{babel} -\usepackage{lmodern} +Toutefois, si jamais tu n'as que 2-3 références à faire, il existe une manière plus simple de générer une bibliographie. Tu peux la créer toi-même grâce à l'environnement \verb?thebibliography?. -% XeLaTeX -%\usepackage{fontspec} -%\usepackage{xunicode} -%\usepackage{xltxtra} -%\setmainfont{Calibri} -%\usepackage{polyglossia} -%\setdefaultlanguage{french} +Il suffit alors de compiler seulement 2 fois avec PDF\LaTeX{} pour bien intégrer les références et c'est tout ! Nul besoin désormais de passer par Bib\TeX{}. \\ -\usepackage{enumitem, pifont} % Pour les listes à puces -% Le item par défaut, un rond, n'est pas toujours défini dans toutes les polices +Je te laisse reprendre le code ci-après et digérer les commentaires qui suivent : +\begin{code}{Ajout manuel d'une bibliographie} +\documentclass[a4paper, 12pt]{report} -\begin{document} - -Notre bibliothèque propose trois livres \cite{latexpratique, texbook, latexcompanion} : +\usepackage{lmodern} +\usepackage[french]{babel} +\usepackage[utf8]{inputenc} +\usepackage[T1]{fontenc} -\begin{itemize}[label = \ding{213}] -\item Les livres \cite{latexpratique,latexcompanion} traitent de \LaTeX. -\item Le livre \cite{texbook} traite de \TeX{}. -\end{itemize} +\begin{document} -% \begin{thebibliography}{affichage} : "affichage" le plus long (taille du texte) pour produire un alignement correct -% "affichage" est OPTIONNEL --> numérotation automatique par LaTeX par défaut +La bibliothèque propose trois livres \cite{latexpratique, texbook, latexcompanion} : les livres \cite{latexpratique, latexcompanion} traitent de \LaTeX{} ; le livre \cite{texbook} traite de \TeX{}. -% Ajout d'un élément bibliographique : \bibitem[affichage]{clef} Auteur. Titre, etc. \begin{thebibliography}{KNU90} \bibitem{latexpratique} Christian \textsc{Rolland}. \emph{\LaTeX{} par la pratique}. O'Reilly, 1999. @@ -573,181 +650,318 @@ Notre bibliothèque propose trois livres \cite{latexpratique, texbook, latexcomp \end{document} \end{code} -\begin{boite}{Bilan sur la bibliographie}{Gold} -Pourquoi se priver d'un tableau synthétique pour résumer ces nouvelles notions ? Comparons donc l'usage d'un fichier \verb?.bib? à l'environnement \verb?thebibliography? : +Pour comprendre ce qu'il se passe, voici quelques explications : \begin{itemize}[label = \ding{118}] +\item début de la création manuelle de la bibliographie avec l'appel suivant : \verb?\begin{thebibliography}{<affichage>}?. + +\verb?<affichage>? est une notion assez particulière que je vais détailler ci-après. Elle reste toutefois \textbf{optionnelle} mais il faut laisser les doubles accolades \verb?{}? après l'appel de l'environnement \verb?thebibliography?, sous peine de rencontrer des erreurs lors de la compilation ; + +\item création d'une entrée dans la bibliographie grâce à la commande suivante : \verb?\bibitem[<réf>]{<clef>}?, suivie de l'entrée en question (titre, auteur, etc.). + +Ici, aucun formatage n'est appliquée (titre en italique, nom de l'auteur en majuscules ou en petites capitales\dots{}) donc tu dois le faire et respecter les règles en vigueur ! -\begin{center} -\begin{longtable}{C{0.4\linewidth}|C{0.4\linewidth}} -\verb?.bib? & \verb?thebibliography? \\ \hline +\verb?<réf>? est lui aussi optionnel. Il permet de mettre un nom comme référence à la place de la numérotation, utilisée par défaut. \\ +\end{itemize} + +Et c'est maintenant qu'il y a une subtilité à saisir ! Si tu choisis d'utiliser une \verb?<réf>? de ton cru, comme \verb?KNU90? dans l'exemple fourni, tu peux constater que l'alignement dans la bibliographie n'est pas des plus esthétiques. + +Intervient alors \verb?<affichage>? : il faut renseigner la valeur la plus longue (en terme de nombre de caractères) parmi les \verb?<réf>? définies. \LaTeX{} procède alors au décalage de toutes les entrées dans ta bibliographie : tout est désormais bien aligné ! + +\subsection*{Bilan : de la bonne création d'une bibliographie} + +Pourquoi se priver d'un tableau synthétique pour résumer toutes ces nouvelles notions ? Comparons donc l'usage d'un fichier \verb?.bib? à l'environnement \verb?thebibliography?. + +\begin{longtable}{p{0.45\linewidth}p{0.45\linewidth}} +{\hspace*{\fill}\verb?.bib?\hspace*{\fill}} & {\hspace*{\fill}\verb?thebibliography?\hspace*{\fill}} \\ \midrule +\endhead +& \hfill\textit{(suite sur la page suivante)} \\ +\endfoot +\multicolumn{2}{@{\hrulefill}c@{\hrulefill}}{\raisebox{-3pt}{~~\textsc{Fin du tableau}~~}} +\endlastfoot Base de données \verb?.bib? & Dans le fichier \verb?.tex? \\ \textcolor{Red}{Fichier supplémentaire à gérer} & \textcolor{Green}{Dans le code} \\ -\textcolor{Green}{Gestion automatique de la mise en forme} (remplissage de champs dans la base de données) & \textcolor{Red}{Mise en forme par l'utilisateur} \\ -\textcolor{Green}{Classement par ordre alphabétique des auteurs} & \textcolor{Red}{Entrées bibliographiques affichées dans l'ordre de leur création} \\ +\textcolor{Green}{Gestion automatique de la mise en forme} (remplissage de champs dans une ``base de données'') & \textcolor{Red}{Mise en forme par l'utilisateur} \\ +\textcolor{Green}{Classement par ordre alphabétique des auteurs} (par nom) & \textcolor{Red}{Entrées bibliographiques affichées dans l'ordre de leur création} \\ \textcolor{Green}{Cohérence de la bibliographie} (affichage des références citées) & \textcolor{Red}{Affichage de toute la bibliographie créée} \\ -Compilation sous \verb?LaTeX? ou \verb?PDFLaTeX?, par l'intermédiaire de \verb?Bibtex? & Tous les modes de compilation tolérés (\#\verb?XeLaTeX? \#{}changement de police) ; pas besoin de \verb?Bibtex? +Compilation sous \verb?PDFLaTeX? + inclure \verb?Bibtex? & Tous les modes de compilation tolérés, pas besoin de \verb?Bibtex? \end{longtable} -\end{center} -Pour conclure, il n'y a pas de bonnes ou de mauvaises méthodes. Tout dépend uniquement de l'utilisation que tu dois en faire. \\ +Pour conclure, il n'y a pas de bonnes ou de mauvaises méthodes. Tout dépend uniquement de l'utilisation que tu dois en faire. -\textcolor{RoyalPurple}{\textit{Personnellement},} désormais, pour une courte bibliographie, je la ferai à la main, quitte à la générer avec \verb?Bibtex? initialement pour voir la mise en forme, comme c'est conçu pour. +\textcolor{cyan!70!black}{\emph{Personnellement},} pour une courte bibliographie, je la ferai désormais à la main, quitte à la générer avec \verb?Bibtex? initialement pour voir la mise en forme, comme c'est conçu pour. -Sinon, à partir de 4-5 ouvrages à citer, je ne réfléchirai plus et implémenterai tout sous un fichier \verb?.bib?. -\end{boite} +Sinon, à partir de 4-5 ouvrages à citer, je ne réfléchis plus et j'implémente tout dans un fichier \verb?.bib?. \\ Allez, passons à la cerise sur le gâteau : la génération d'un index. Ce serait dommage de s'en priver ! \section{Générer un index} -\label{index}Un index est \og un outil du livre qui consiste en une liste organisée d'éléments appelés termes (mots, concepts, objets, \dots{}) jugés pertinents pour le lecteur, accompagnés de leur adresse - c'est-à -dire la place où ils sont évoqués dans l'ouvrage. Il permet au lecteur de localiser rapidement un élément dans l'ouvrage, sans être contraint de le lire intégralement. \fg{} (\textit{Wikipédia}). +\label{generer-index}\begin{definition}{Définition d'un index} +{\noindent\huge\bfseries\color{gray!75}\og} -Pour être un poil plus précis, l'organisation d'un index se fait dans l'ordre alphabétique. Tu conviendras que c'est quand même vachement plus pratique. \\ +L'index est un outil du livre qui consiste en une liste organisée d'éléments appelés termes (mots, concepts, objets\dots{}) jugés pertinents pour le lecteur, accompagnés de leur adresse -- c'est-à -dire la place où ils sont évoqués dans l'ouvrage. Il permet au lecteur de localiser rapidement un élément dans l'ouvrage, sans être contraint de le lire intégralement. -Pour cette fois, je ne vais pas présenter le cas minimal qui fonctionne sous \LaTeX{} car le résultat est relativement moche et la compilation demande d'utiliser \verb?MakeIndex? (comme mode de compilation, entre deux compilations sous \verb?PDFLaTeX?). +{\hfill\huge\bfseries\color{gray!75}\fg} \\ -Il vaut donc mieux charger le package \verb?imakeidx? qui permet de personnaliser l'index et même d'en gérer plusieurs. La compilation intermédiaire devient même superflue et une compilation simple sous \verb?PDFLaTeX? suffit à tout générer\footnote{Bon, ok, en vérité, comme l'atteste la zone propre à la compilation sous \texttt{Texmaker}, le package \verb?imakeidx? lance en fond le mode de compilation \verb?MakeIndex?.}. \\ +\begin{flushright} +Wikipédia -- Disponible sur : -\textbf{Juste après} avoir chargé le package, il faut indiquer à \LaTeX{} de préparer l'index, grâce à la commande \verb?\makeindex?, avec les options \verb?intoc? pour inclure l'index dans le sommaire et \verb?options = {-s index-style.mst}? pour le fichier de personnalisation de l'index. +\url{https://fr.wikipedia.org/wiki/Index_terminologique} +\end{flushright} +\end{definition} -Je ne vais pas entrer dans les détails concernant la personnalisation de l'index. Un exemple fonctionnel et assez joli est disponible ci-après, tandis que le site \url{http://winnt.developpez.com/tutoriels/latex-index/} explique tout très bien en détail, complété par \url{http://fr.sharelatex.com/learn/Indices}. +Pour être un poil plus précis, l'organisation d'un index se fait dans l'ordre alphabétique. Tu conviendras que c'est quand même nettement plus pratique pour rechercher une information. -Toutefois, je préciserai juste que le fichier est bel et bien au format \texttt{.mst} car c'est celui qui fonctionne pour ma part. Sur Internet, le même code est utilisé mais avec un fichier \texttt{.ist} \dots{} Je ne saurai dire, à l'heure actuelle, pourquoi un cas fonctionne chez moi et pas l'autre. \\ +Et pour cette fois, je ne vais pas présenter le cas minimal qui fonctionne sous \LaTeX{} car le résultat est relativement moche à mon sens. C'est pourquoi je vais plutôt directement te décrire la solution finale, entièrement personnalisable. C'est parti ! -Ensuite, il suffit de placer un mot de l'index à l'endroit souhaité dans le document avec la commande \verb?\index{mot}?. Toutefois, il faut savoir que le classement alphabétique de \verb?makeindex? ne fonctionne pas avec les accents. Il faut donc ruser avec un ``\verb?@?'', de la manière suivante : \begin{center} \verb?\index{mot_sans_accent@mot_avec_accent}? \end{center} +\subsection*{Préambule et paramétrage} -Il est possible de créer une sous-liste dans l'index avec un ``\verb?!?'' : \begin{center} \verb?\index{mot_principal!mot_secondaire}? \end{center} +Pour commencer, il faut charger le package \verb?imakeidx? qui permet de personnaliser l'index, et d'en gérer plusieurs si besoin, comme nous le verrons par la suite. -Enfin, il faut dire à \LaTeX{} de générer l'index. Pour cela, il faut utiliser la commande \verb?\printindex? à l'endroit voulu, un peu comme pour le sommaire ou la bibliographie. Voilà , c'est tout. +Par défaut, le package lance la compilation intermédiaire avec le moteur \verb?MakeIndex?, pour créer l'index avant de l'intégrer au document. Il n'y a pas besoin de compiler une seconde fois le document pour une fois -- mais tu es toujours contraint de le faire si tu as des références ou un sommaire. \\ -\begin{conseilbox}{Bilan sur l'index} -Pour répertorier tous les sites intéressants pour générer un index, nous avons donc : +Juste après avoir chargé ce package, il faut indiquer à \LaTeX{} de préparer l'index, grâce à la commande \verb?\makeindex? et les options recommandées suivantes : -\begin{itemize}[label = \ding{213}] -\item commandes propres à l'index : \url{http://en.wikibooks.org/wiki/LaTeX/Indexing}, +\begin{code}{} +\makeindex[title = {<titre_index>}, options = {-s index-style.ist}] +\end{code} -\item personnalisation de l'index : \url{http://winnt.developpez.com/tutoriels/latex-index/}, +\verb?index-style.ist? est un fichier spécifique aux index sous \LaTeX{} et qui permet de le styliser grâce à une syntaxe spécifique\footnote{L'extension \verb?.ist? signifie probablement \og index style \fg{}.}. \LaTeX{} va donc utiliser ce fichier\dots{} à condition qu'il existe ! Il va donc falloir le créer. \\ -\item toutes les options de personnalisation : \url{http://fr.sharelatex.com/learn/Indices}. -\end{itemize} -\end{conseilbox} +Si l'environnement \verb?filecontents? est disponible par défaut sous \LaTeX{}, il est contraignant pour 2 raisons : il doit être placé avant le \verb?\documentclass? et il permet de créer un fichier mais ne le remplace pas s'il a été modifié entre temps. Il faut donc constamment supprimer le fichier manuellement si tu veux faire des tests pour personnaliser ton index à ta guise. -Ok pour toi ? Voyons un petit exemple alors. +Fort heureusement, il existe le package éponyme qui permet d'éviter tous ces tracas et solutionne ces problèmes. Je recommande donc de charger les lignes suivantes dans le préambule pour commencer : -\begin{code}{Générer un index} -% Environnement filecontents* : évite d'avoir à conserver un fichier en plus du fichier .tex -% Index style -\begin{filecontents*}{index-style.mst} -headings_flag 1 % Autoriser une lettre majuscule comme repère +\begin{code}{Personnalisation de l'index : fichier de style} +\usepackage{filecontents} -heading_prefix "\\vspace{26pt}{\\bfseries\\huge " % Mise en forme de cette lettre (en-tête) - Début du code -heading_suffix "}\\vspace{13pt}\\nopagebreak\\\n" % Fin du code +\begin{filecontents*}{index-style.ist} +% Définition "en-tête" +headings_flag 1 +heading_prefix "\\vspace{26pt}{\\bfseries\\huge{}" +heading_suffix "}\\vspace{13pt}" -% En-têtes pour les cas particuliers +% Cas particuliers symhead_positive "Symboles" symhead_negative "symboles" numhead_positive "Nombres" numhead_negative "nombres" -% Séparateur entre "mot de l'index" & "numéro de page" (selon les niveaux) +% Style entre une entrée et le numéro de page delim_0 "\\hspace{6pt}\\dotfill\\hspace{6pt}" delim_1 "\\hspace{5pt}\\dotfill\\hspace{5pt}" delim_2 "\\hspace{4pt}\\dotfill\\hspace{4pt}" +\end{filecontents*} +\end{code} + +Libre à toi de te contenter de ma feuille de style personnelle, ou d'en développer une qui sied plus à ton goût. Tu trouveras toutes les possibilités de personnalisation sur le site : \url{https://www.overleaf.com/learn/latex/Indices} (aller à la fin de l'article). + +La syntaxe est très simple : renseigner l'élément à personnaliser (cf. le lien précédent avec la liste complète), délimiter le groupe de commande pour la personnalisation par des apostrophes (\verb?"<cmde(s)>"?) et enfin, le plus important, doubler les \textit{backslash} pour appeler une commande \LaTeX{}. + +\begin{conseil}{Bonus personnalisation} +J'ai eu à développer une solution pour colorer le numéro de page de chaque entrée d'un index, pour le faire ressortir et faciliter la lecture. Après de nouveaux essais, je me suis rendu compte que cette personnalisation ne fonctionne pas sans le package \verb?hyperref?, et se révèle même inutile si l'option \verb?colorlinks? est utilisée -- mais reste utile avec l'option \verb?hidelinks?, même si je ne recommande pas son utilisation. + +De plus, les couleurs pour les références, définies par l'intermédiaire du package \verb?hyperref?, restent prioritaires sur cette personnalisation. \\ -% Mise en forme du numéro de page -encap_prefix "{\\color{Red}\\" +Je reporte donc ici le code initialement utilisé, en aparté. Peut-être qu'il fera gagner du temps à quelqu'un ou pourra servir dans un autre contexte : + +\begin{code}{Personnalisation (inutile) des références de l'index} +% Mise en rouge du numéro de page +encap_prefix "{\\color{red}\\" encap_infix "{" encap_suffix "}}" -\end{filecontents*} +\end{code} +\end{conseil} + +Pour terminer sur la personnalisation de l'index, je recommande de charger le package \verb?idxlayout? avec les options \verb?totoc? et \verb?unbalanced?, afin d'inclure par la suite l'index dans le sommaire et de garantir un affichage sur une colonne sur la dernière page de l'index. + +Tu penses peut-être que je suis tatillon mais tu verras avec le temps qu'un index sur 2 colonnes est le plus pratique et lisible. Malheureusement, sans ce package et cette option, la dernière page peut avoir un affichage curieux. + +Ce package propose d'autres options, comme le choix du nombre de colonnes, la distance entre chaque colonne ou encore l'ajout d'un séparateur (trait vertical d'épaisseur paramétrable) entre tes colonnes (\verb?columns?, \verb?columnsep? et \verb?rule?). Pour plus de détails, se référer à la documentation officielle du package : \url{https://ctan.org/pkg/idxlayout}. + +\subsection*{Création d'entrées et de l'index} +Maintenant que nous nous sommes occupés de la personnalisation de l'index, voyons comment ajouter des entrées à celui-ci. \\ +Pour ajouter une entrée à ton index, il suffit de la placer à l'endroit souhaité dans le document avec la commande \verb?\index{<entrée>}?. Toutefois, il faut savoir que le classement alphabétique du moteur \verb?MakeIndex? ne fonctionne pas avec les accents. Il faut donc ruser avec un \verb?@?, de la manière suivante : + +\begin{code}{Création d'une entrée accentuée dans l'index} +\index{<entrée_sans_accent>@<entrée_avec_accent>} +\end{code} + +Il est possible de créer une sous-liste dans l'index avec un \verb?!? : + +\begin{code}{Création d'une sous-liste dans l'index} +\index{<entrée_principale>!<entrée_secondaire>} +\end{code} + +Il existe aussi d'autres possibilités de formatage d'une entrée : + +\begin{code}{Autres options disponibles avec \texttt{\textbackslash{}index}} +% Indexage de pages multiples +\index{Mecanique quantique@Mécanique quantique!Histoire|(} +En 1901, Max Planck +... \newpage +et c'est ainsi que se termine l'histoire ! +\index{Mecanique quantique@Mécanique quantique!Histoire|)} + +% Formatage du numéro de page +\index{Cochon|textbf} +% Cumul de commands imposibles en l'état +% Personnaliser le fichier .ist en conséquence si besoin + +% Créer un "renvoi" à une autre entrée (manuel) +\index{Pierrot|see{Pierre}} + +% Créer un "renvoi" à d'autres entrées (manuel) +\index{Pierre|see{Pierre, diminutif}} + +% Autre possibilité de "renvoi" +\index{Jen|seealso{Jenny}} +\end{code} + +Enfin, il faut dire à \LaTeX{} de générer l'index. Pour cela, il faut juste utiliser la commande \verb?\printindex{}? à l'endroit voulu, un peu comme pour le sommaire ou la bibliographie. Et voilà , c'est tout. Ok pour toi ? Voyons le résultat final sur un exemple concret dans ce cas. + +\begin{coderesult}[run pdflatex]{Générer un index} \documentclass[a4paper, 12pt]{report} +\usepackage{lmodern} +\usepackage[french]{babel} \usepackage[utf8]{inputenc} \usepackage[T1]{fontenc} -\usepackage[french]{babel} -\usepackage{lmodern} -\usepackage[makeindex]{imakeidx} % Ajout de [makeindex] pour préciser la compilation avec MakeIndex -\makeindex[options = {-s index-style.mst}, intoc] +\usepackage{xcolor} + +\usepackage{imakeidx} +\makeindex[title = {Index test}, options = {-s index-style.ist}] +\usepackage[totoc, unbalanced]{idxlayout} % Index par défaut sur 2 colonnes -% Autre option possible : column = nbre (1, 2, 3 ...) -% Ajout de : columnsep = distance (13pt, ...) pour gérer l'écart entre les colonnes + +\usepackage{filecontents} % Pour pouvoir réécrire directement sur le document + définition dans le préambule possible (et non avant documentclass) +\begin{filecontents*}{index-style.ist} +headings_flag 1 +heading_prefix "\\vspace{26pt}{\\bfseries\\huge{}" +heading_suffix "}\\vspace{13pt}\\nopagebreak{}" + +symhead_positive "Symboles" +symhead_negative "symboles" +numhead_positive "Nombres" +numhead_negative "nombres" + +delim_0 "\\hspace{6pt}\\dotfill\\hspace{6pt}" +delim_1 "\\hspace{5pt}\\dotfill\\hspace{5pt}" +delim_2 "\\hspace{4pt}\\dotfill\\hspace{4pt}" +\end{filecontents*} + +\usepackage[colorlinks]{hyperref} \begin{document} -Texte\index{Texte} +\tableofcontents{} +\vspace{2\baselineskip} -\newpage +Texte\index{Texte} \\ -Autre essai \index{Essai a confirmer@Essai à confirmer} et j'ajouterai aussi \index{Ajout!Ajout1} que les combinaisons sont possibles \index{Ajout!Ajout teste@Ajout testé} +Autre essai \index{Essai a confirmer@Essai à confirmer} et j'ajouterai aussi \index{Ajout!Ajout1} que les combinaisons sont possibles \index{Ajout!Ajout teste@Ajout testé} ! -\indexprologue{Ceci est mon index !} % Pour ajouter un petit texte au début de l'index +% Pour ajouter un petit texte au début de l'index +\setindexprenote{Ceci est mon index ! \\} \printindex{} \end{document} -\end{code} +\end{coderesult} + +\begin{attention}{Texte au début de l'index} +Le package \verb?imakeidx? fournit la commande \verb?\indexprologue{<texte>}?, qui ne fonctionne plus suite à l'utilisation du package \verb?idxlayout?. C'est pourquoi il faut employer la commande associée à ce dernier package, soit \verb?\setindexprenote{<texte>}?. + +Le package \verb?idxlayout? fournit alors l'option \verb?notesep? pour personnaliser l'espacement entre ce texte et le début de l'index le cas échéant. C'est en tout cas plus pratique et plus propre que d'indiquer un saut de ligne \verb?\\? manuellement à chaque fois. +\end{attention} + +\begin{conseil}{Un autre moteur utile pour générer un index} +Si \verb?MakeIndex? est le moteur historique pour générer des index, d'autres solutions ont vu le jour, notamment pour prendre en compte les mots accentués lors du tri alphabétique de l'index. + +Le moteur \verb?xindy? (ou \verb?texindy? pour la version adaptée à \LaTeX{}) en fait partie. Son utilisation devient apparemment indispensable si l'index est automatisé par l'intermédiaire de commandes, avec la présence d'entrées accentuées. \\ + +Le package \verb?imakeidx? propose justement l'option \verb?xindy?, pour générer l'index avec ce moteur \verb?texindy?. Malheureusement, rien ne fonctionne actuellement de mon côté\footnote{Moteur \verb?texindy? \og not found \fg{} apparemment, alors que \MiKTeX{} montre qu'il est bien installé selon toute vraisemblance.}\dots{} et \verb?MakeIndex? me convient très bien pour le moment ! -Grâce au package \verb?imakeidx?, il est possible de générer plusieurs index. Il suffit juste de leur donner un nom lors du \verb?\makeindex? puis d'indiquer ce même nom lors de \verb?\index? : +Si jamais tu veux plus d'informations, j'ai découvert ce nouveau moteur par l'intermédiaire du site suivant : \url{https://geekographie.maieul.net/169}. +\end{conseil} + +\subsection*{Générer plusieurs index} + +Grâce au package \verb?imakeidx?, il est possible de générer plusieurs index. Il suffit juste de leur donner un nom (option \verb?name = <nom_index>?) lors de la mise en place de l'index dans le préambule avec la commande \verb?\makeindex?, puis d'indiquer ce même nom lors de l'ajout d'une entrée de la manière suivante : \verb?\index[<nom_index>]{<entrée>}?. + +Dans le même esprit, l'appel de l'index se fait alors de la manière suivante : \verb?\printindex[<nom_index>{}?. \\ + +Sans refaire un exemple concret avec un aperçu du résultat, voici un cas simple d'utilisation : \begin{code}{Générer plusieurs index} \documentclass[a4paper, 12pt]{report} +\usepackage{lmodern} +\usepackage[french]{babel} \usepackage[utf8]{inputenc} \usepackage[T1]{fontenc} -\usepackage[french]{babel} -\usepackage{lmodern} \usepackage[makeindex]{imakeidx} -\makeindex[name = nom1, intoc] -\makeindex[name = nom2, intoc] +\makeindex[name = indexA, title = {Index A}] +\makeindex[name = indexB, title = {Index B}] +\usepackage[totoc, unbalanced]{idxlayout} \begin{document} -Texte\index[nom1]{Texte} % Va dans l'index 1 +Texte\index[indexA]{Texte} % Va dans l'index 1 \newpage -Autre essai \index[nom1]{Essai a confirmer@Essai à confirmer} et j'ajouterai aussi \index[nom2]{Ajout!Ajout1} que les combinaisons sont possibles \index[nom2]{Ajout!Ajout teste@Ajout testé} +Autre essai \index[indexA]{Essai a confirmer@Essai à confirmer} et j'ajouterai aussi \index[indexB]{Ajout!Ajout 1} que les combinaisons sont possibles \index[indexB]{Ajout!Ajout teste@Ajout testé} -\indexprologue{Ceci est mon index !} % Pour ajouter un petit texte au début de l'index -\printindex[nom1]{} +\setindexprenote{Ceci est mon index !} +\printindex[indexA]{} -\printindex[nom2]{} % indexprologue valable que pour le plus proche index +% \setindexprenote à réinitialiser (contrairement à \indexprologue) +\setindexprenote{} +\printindex[indexB]{} \end{document} \end{code} -Enfin, il est possible d'utiliser un index pour classer des données (liste de films, animes, jeux, pistes musicales par nom d'auteur, \dots{}). Au lieu de tenir un Excel tout moche et de te prendre la tête pour trier le résultat, tu renseignes tous tes éléments et \LaTeX{} se charge de faire le classement. +\subsection*{La petite filouterie} + +Enfin, il est possible d'utiliser un index pour classer des données (liste de films, jeux, pistes musicales par nom d'auteur\dots{}). Au lieu de tenir un Excel (tri facilité), tu peux renseigner tous ces éléments grâce à une entrée d'un index et \LaTeX{} se charge de faire le tri. -Il y a une toute petite astuce à connaître : supprimer le numéro de page. En effet, ici, tous nos références doivent être affichées sur une page bidon. Dans le cas contraire, l'index ne sera pas généré (ou sera vide). Toutefois, nous n'avons pas besoin des numéros de page. Il faut donc procéder ainsi : +Il y a une toute petite astuce à connaître : supprimer le numéro de page. En effet, ici, toutes nos entrées doivent être affichées sur une page bidon. Dans le cas contraire, l'index ne sera pas généré (ou sera vide). Toutefois, nous n'avons pas besoin des numéros de page. Il faut donc procéder ainsi : -\begin{code}{Index sans les numéros de page} +\begin{code}{Un index (bidon ?) sans les numéros de page} \documentclass[a4paper, 12pt]{report} +\usepackage{lmodern} +\usepackage[french]{babel} \usepackage[utf8]{inputenc} \usepackage[T1]{fontenc} -\usepackage[french]{babel} -\usepackage{lmodern} \usepackage[makeindex]{imakeidx} -\makeindex[intoc] +\makeindex[title = {Liste de films}] +\usepackage[totoc, unbalanced]{idxlayout} +\usepackage[colorlinks]{hyperref} -\begin{document} - -Texte bidon\index{Film 1}\index{Film 2} -\newpage +\begin{document} -% \begingroup [...] \endgroup : permet d'appliquer des modifications uniquement à l'intérieur des deux balises --> aucune influence sur le reste du document -\begingroup -\def\hyperpage#1{} % Suppression du numéro de page dans l'index +Texte bidon\index{Film 1}\index{Film 2} \newpage +{ +% Suppression du numéro de page dans l'index +\def\hyperpage#1{} +% Création de l'index \printindex{} - -\endgroup +} \end{document} -\end{code}
\ No newline at end of file +\end{code} + +Si tu essayes ce code, tu devrais te rendre compte qu'il fonctionne uniquement parce que le package \verb?hyperref? est appelé, comme la commande \verb?\hyperpage? est redéfini localement comme étant vide. + +De plus, cette solution permet de supprimer seulement le numéro de page. Il reste encore la virgule de séparation, présente par défaut. Il faut donc reprendre le fichier de personnalisation en \verb?.ist? et l'adapter à ce nouveau besoin.
\ No newline at end of file diff --git a/Master/texmf-dist/doc/latex/guide-latex-fr/Chapitres/p3-tikz.tex b/Master/texmf-dist/doc/latex/guide-latex-fr/Chapitres/p3-tikz.tex new file mode 100644 index 00000000000..ade50fdcd09 --- /dev/null +++ b/Master/texmf-dist/doc/latex/guide-latex-fr/Chapitres/p3-tikz.tex @@ -0,0 +1,1151 @@ +\chapter{Dessiner avec \TikZ{}} + +\label{chap-tikz}\lettrine{P}{our} faire des dessins, graphes, schémas, etc. avec \LaTeX{} sans avoir aucune contrainte quant au moteur de compilation, c'est d'utiliser \TikZ{}. + +Si, comme moi, tu étais un habitué de PSTricks, il peut sembler déroutant de passer à \TikZ{} mais, avec la pratique, il devient facile de réaliser simplement quelques figures. Mais ce n'est pas tout : \TikZ{} est un bon compromis à PSTricks. + +Si la prise en main peut paraître compliquée de prime abord, son utilisation finit par devenir intuitive très rapidement. Ce package offre énormément de possibilités, comme tu vas pouvoir le découvrir. \\ + +Et si jamais tu t'intéresses à la documentation officielle\footnote{Disponible sur le site du CTAN, directement sur : \url{http://www.ctan.org/pkg/pgf}.}, sache qu'il faut mieux aller d'abord regarder le sommaire ou l'index. Avec plus de 1~000 pages d'aide et de code, elle est plutôt bien fournie ! + +\section{Démarrer sous \TikZ{}} + +\subsection*{Règles de base} + +Tu vas difficilement pouvoir utiliser \TikZ{} si tu ne charges pas le package associé : \verb?tikz?. Comme nous le verrons plus tard, si tu dois charger des fonctionnalités supplémentaires de \TikZ{}, il faut utiliser la commande \verb?\usetikzlibrary{<nom-bibliotheque>}?, de préférence juste après avoir chargé le package \verb?tikz?. + +Quant au dessin en lui-même, tout comme pour PSTricks, il faut charger un environnement spécifique. Ici, il se nomme \verb?tikzpicture?, et n'a pas besoin d'options supplémentaires (comme la taille du cadre sous PSTricks). En effet, \TikZ{} produit toujours le résultat le plus compact possible, comme nous le verrons dans un exemple juste après. + +\begin{regles}{La règle capitale} +\textbf{Il existe une règle capitale sous \TikZ{} :} chaque commande propre à \TikZ{} se termine par un point-virgule ``\verb?;?''. Toujours. C'est le seul point important à retenir, sous peine de ne pas comprendre pourquoi ton code ne fonctionne pas. +\end{regles} + +Sous \TikZ{}, s'il est plus courant de travailler avec des coordonnées cartésiennes $(x,y)$, sache aussi que les coordonnées polaire $(\theta:R)$ sont disponibles, écrites dans le même format que précédemment. + +Il est aussi possible de définir des points, avec la commande \verb?\coordinate?. Sa syntaxe est la suivante, même si nous aurons l'occasion de revenir sur cette commande par la suite : + +\begin{code}{} +\coordinate (<nom>) at (<coord>); +\end{code} + +\subsection*{Un premier dessin} + +Pour commencer en douceur, le tracé d'un trait sous \TikZ{} se fait de la manière suivante : + +\begin{code}{} +\draw (x0,y0) -- (x1,y1); +\end{code} + +La commande \verb?\draw? annonce un tracé. Les points à relier par un trait sont donc séparés par un double tiret ``\verb?--?''. Notons aussi au passage l'utilisation du point-virgule ``\verb?;?'' en fin de ligne, comme annoncé. + +Il existe des fonctions propres à \TikZ{} pour tracer un rectangle ou un cercle. Il faut continuer d'utiliser la commande \verb?\draw? au préalable : + +\begin{code}{} +\draw (x0,y0) rectangle (x1,y1); +\draw (x,y) circle (R); +\end{code} + +Il est aussi possible d'augmenter l'épaisseur du trait ou de changer sa couleur grâce à des options à introduire entre crochets ``\verb?[]?'', de la manière suivante : + +\begin{code}{} +\draw[<options>] ...; +\end{code} + +\vspace{\baselineskip} + +\emph{Je ne vais pas commencer à lister toutes les options possibles et envisageables.} Les plus basiques sont présentées ci-après. Les autres sont à chercher en fonction des besoins. Bien, voici un premier exemple pour avoir un aperçu concret des bases : + +\begin{codetikz}{Démarrer sous \TikZ{}} +% Ajout au PREAMBULE +%\usepackage{tikz} + + +TikZ produit toujours le résultat le plus compact possible : \\ +% Rendu final identique entre les 2 codes + +\hspace*{\fill} +\begin{tikzpicture} +\draw (0,0) -- (1,1); % Trait entre (0,0) et (1,1) +\end{tikzpicture} +\hfill +\begin{tikzpicture} +\draw (2,2) -- (3,3); % Trait entre (2,2) et (3,3) +\end{tikzpicture} +\hspace*{\fill} +\end{codetikz} + +\begin{codetikz}{Des formes simples} +\begin{tikzpicture} +\draw (0,0) rectangle (1,1); +\end{tikzpicture} +\hfill +\begin{tikzpicture} +\draw (0,0) rectangle (2,3); +\end{tikzpicture} +\hfill +\begin{tikzpicture} +\draw (1,1) circle (0.5); +\end{tikzpicture} +\hfill +\begin{tikzpicture} +\draw circle (1.3); +% Si coordonnées vides, (0,0) par défaut +\end{tikzpicture} +\end{codetikz} + +\begin{attention}{Une question ?} +\og Entre tes rectangles et tes cercles, l'origine $(0,0)$ n'est jamais au même endroit. Quelle est cette diablerie ? \fg{} \\ + +En effet, je comprends ton questionnement. J'ai pris le parti pour ces exemples d'utiliser des environnements \verb?tikzpicture? distincts pour chaque forme et pour pouvoir les espacer. + +Comme \TikZ{} produit le résultat le plus compact et l'affiche sur la même ligne de base (environnement ``alignés'' ici), les origines sont décalées. Tu peux constater que tout est en ordre si je réunis toutes les commandes dans un même dessin : + +\begin{codedisplay}{Utilisation d'un seul environnement} +\begin{tikzpicture} +\draw (0,0) rectangle (1,1); +\draw (0,0) rectangle (2,3); +\draw (1,1) circle (0.5); +\draw circle (1.3); +\end{tikzpicture} +\end{codedisplay} +\end{attention} + +Reprenons avec d'autres exemples minimalistes, pour te montrer les options de base de \TikZ{} : + +\begin{codetikz}{Un peu de couleur} +\hspace*{\fill} +\begin{tikzpicture} +% Forme courte et implicite +\draw[blue] (0,0) -- (1,1); +% Forme complète (nom option) +\draw[color = orange] (2,1) -- (3,0); +\end{tikzpicture} +\hfill +\begin{tikzpicture} +% Idem pour un contour (fermé) +\draw[red] (0,0) rectangle (1,1); +\draw[color = green] (2,1) rectangle (3,0); +% Autre possibilité (nuancer avec le remplissage) +\draw[draw = purple] (4,0) rectangle (5,1); +\end{tikzpicture} +\hspace*{\fill} +\end{codetikz} + +\begin{codetikz}{Un peu de remplissage} +% Ligne 1 +\begin{center} +\begin{tikzpicture} +% Remplissage rouge avec contour noir (par défaut) +\draw[fill = red] (0,0) rectangle (1,1); +% Remplissage pur (sans contour) +\fill[color = green] (2,1) rectangle (3,0); +\fill[fill = purple] (4,0) rectangle (5,1); +\end{tikzpicture} +\end{center} + +% Ligne 2 +\begin{center} +\begin{tikzpicture} +\draw[red, fill = blue] (0.5,0.5) circle (0.5); +\draw[draw = green, fill = orange] (2.5,0.5) circle (0.5); +% Nouvelle commande : contour et remplissage +\filldraw (4.5,0.5) circle (0.5); +\filldraw[brown] (6.5,0.5) circle (0.5); +% Personnalisation toujours possible +\filldraw[pink, draw = gray] (8.5,0.5) circle (0.5); +\end{tikzpicture} +\end{center} +\end{codetikz} + +Nous pouvons constater que si une couleur seule est renseignée, \TikZ{} l'associe automatiquement à l'option \verb?draw?. Il existe même un choix supplémentaire pour indiquer qu'il ne faut pas mettre de couleur\footnote{Le fond n'est pas toujours blanc donc choisir \verb?white? n'est pas toujours judicieux.} : \verb?draw = none? ou \verb?fill = none?. + +\begin{codetikz}{Changement d'épaisseur et de trait} +\begin{center} +\begin{tikzpicture} +% Epaisseur du trait : line width = <longueur> +\draw[line width = 1.3mm] (0,0) -- (1,1); +\draw[line width = 5pt] (2,1) -- (3,0); + +% Unité par défaut (options) : le point "pt" +\draw[line width = 8] (4,0) -- (5,1); +% N.B. --> unité par défaut (coordonnées) : "cm" +\end{tikzpicture} +\end{center} + +\begin{center} +\begin{tikzpicture} +% Tailles prédéfinies +\draw[thin] (0,0) -- (1,1); +% Nouveau trait : tiret +\draw[thick, dashed] (2,1) -- (3,0); +% Nouveau trait : en pointillé +\draw[ultra thick, dotted] (4,0) -- (5,1); +\end{tikzpicture} +\end{center} +\end{codetikz} + +\begin{attention}{Renseigner les options dans le \emph{bon ordre}} +\TikZ{} lit les options indiquées de gauche à droite et les applique une par une, dans cette ordre de lecture. Sur le PDF, le remplissage des options est donc à faire en LIFO : \textit{Last In First Out} soit \og dernier arrivé premier servi \fg{} ! + +Tu peux t'en rendre compte très facilement avec le cas suivant : + +\begin{codetikz}{Exemple} +\begin{center} +\begin{tikzpicture} +% Cas 1 +\filldraw[pink, draw = gray, line width = 3pt] (0,0) circle (0.5); +% Cas 2 <> Cas 1 +\filldraw[draw = gray, line width = 3pt, pink] (2,0) circle (0.5); +\end{tikzpicture} +\end{center} +\end{codetikz} +\end{attention} + +Tu as tout compris ? Il existe plein d'options extrêmement pratiques mais la couleur et l'épaisseur du trait sont généralement celles les plus couramment utilisées au début. Il existe aussi des épaisseurs prédéfinies, qui fonctionnent très bien et évitent de perdre du temps à trouver la ``bonne'' épaisseur : + +\begin{itemize}[label = \ding{213}] +\begin{multicols}{2} \raggedcolumns +\item \verb?ultra thin? : 0.1pt ; + +\item \verb?very thin? : 0.2pt ; + +\item \verb?thin? : 0.4pt (défaut) ; + +\item \verb?semithick? : 0.6pt ; + +\item \verb?thick? : 0.8pt ; + +\item \verb?very thick? : 1.2pt ; + +\item \verb?ultra thick? : 1.6pt. +\end{multicols} +\end{itemize} + +Essayons maintenant de tracer des figures un peu plus complexes désormais, avec des coordonnées polaires pour changer un peu et les manipuler. + +\section{Un polygone régulier} + +Je pense que tu dois avoir déjà entendu parler d'un polygone régulier. Pour faire simple et éviter de faire mon pédant trop longtemps, il s'agit d'une figure géométrique fermée, à $N$ côtés de même longueur. + +Une façon très simple d'en créer consiste à passer par des coordonnées polaires. En effet, les sommets $S_i$ d'un polygone régulier sont tous placés sur un cercle de centre $O$ quelconque, de rayon $R$ et la droite $(OS_i)$ forme un angle de $\theta_i = \frac{i \times 360}{N}$ avec l'axe des abscisses. + +Les coordonnées polaires du sommet $S_i$ s'écrivent donc naturellement $(\theta_i:R)$.\\ + +Pour revenir sur l'utilisation de \TikZ{}, il faut savoir que toute figure définie par des traits et dont le point d'arrivée coïncide avec le point de départ (figure fermée) doit se conclure de la manière suivante : \verb?-- cycle;?. + +Cette commande permet de proprement fermer la figure. Je te laisse aller faire des recherches ou des essais pour voir la différence avec une fermeture manuelle. Sinon, un petit exemple fait main, parce que cela me fait plaisir : + +\begin{figure}[H] +\begin{minipage}{0.45\linewidth} +\centering +%\shorthandoff{;} +\begin{tikzpicture}[spy scope = {magnification = 5, size = 1.5cm}, every spy in node/.style = {magnifying glass, circular drop shadow, fill = white, draw, ultra thick, cap = round}] +\draw[thick] (1,1) -- (-2,2) -- (-3,0) -- cycle; +\spy [green!50!black] on (1,1) in node; +\end{tikzpicture} +%\shorthandon{;} +\subcaption{Ce qu'il faut faire (fermeture avec \texttt{cycle})} +\end{minipage} +\hfill +\begin{minipage}{0.45\linewidth} +\centering +%\shorthandoff{;} +\begin{tikzpicture}[spy scope = {magnification = 5, size = 1.5cm}, every spy in node/.style = {magnifying glass, circular drop shadow, fill = white, draw, ultra thick, cap = round}] +\draw[thick] (1,1) -- (-2,2) -- (-3,0) -- (1,1); +\spy [red] on (1,1) in node; +\end{tikzpicture} +%\shorthandon{;} +\subcaption{Ce qu'il ne faut \textbf{pas} faire (fermeture manuelle)} +\end{minipage} +\end{figure} + +Bien, arrêtons-nous là concernant les détails et considérations techniques. Allons plutôt dessiner un polygone régulier, comme un triangle équilatéral, pour commencer simplement : + +\begin{codetikz}{Un triangle équilatéral} +% Triangle équilatéral, inscrit dans un cercle de rayon R +% Coordonnées polaires ==> centre (0,0) +\begin{center} +\begin{tikzpicture} +% Rayon R choisi arbitrairement à 2cm +\draw (90:2) -- (210:2) -- (330:2) -- cycle; +% Une autre possibilité +\draw[green] (60:2) -- (180:2) -- (300:2) -- cycle; + +\draw[red] circle (2); % Pas de centre ==> (0,0) par défaut +\end{tikzpicture} +\end{center} +\end{codetikz} + +Avouons que, dans ce cas de figure, l'utilisation des cordonnées polaire est plus pratique que de devoir placer 2 points et calculer la position du dernier, surtout si les calculs ne donnent pas une valeur exacte. Ici, notre triangle est bel et bien équilatéral. \\ + +Le tracé peut aussi s'envisager avec des points définis à l'avance : + +\begin{codetikz}{Définir des points} +\begin{center} +\begin{tikzpicture} +\coordinate (A) at (30:2); +\coordinate (B) at (150:2); +\coordinate (C) at (270:2); + +\draw (A) -- (B) -- (C) -- cycle; +\end{tikzpicture} +\end{center} +\end{codetikz} + +\section{Automatiser les dessins} + +\subsection*{Coordonnées absolues et relatives} + +Bon, tracer un triangle équilatéral, c'est bien. Tracer un hexagone, avec un copier-coller et un peu de patience, c'est faisable. Un tridécagone (polygone régulier à 13 côtés)\dots{} bon, rien d'impossible mais le copier-coller et les modifications ne constituent clairement pas une solution optimale ! + +Fort heureusement, il existe le principe des coordonnées absolues et relatives. \\ + +Pour faire simple, tracer un dessin grâce à une série de coordonnées absolues revient à connaître les positions de toutes les coordonnées par rapport à un repère, l'origine $(0,0)$ généralement mais il peut aussi s'agir d'un autre point. + +Avec les coordonnées relatives, peu importe la position exacte de tous les points : il suffit juste de connaître la position d'un point par rapport à un autre ! \\ + +Sous \TikZ{}, les coordonnées absolues ne requiert aucune option spécifique, hormis la position du point. Les coordonnées relatives sont facilement reconnaissables grâce au ``\verb?++?'' et il existe un mix des deux, un peu subtil, qui utilise un ``\verb?+?''. L'aide officielle est assez explicite à ce sujet : \begin{quote} +{\huge\bfseries\color{gray!75}\og} + +You can add a single + sign in front of a coordinate or two of them as in +(1cm,0cm) or ++(0cm,2cm). Such coordinates are interpreted differently. + +The first form means ``1cm upwards from the previous specified position'' ; the second means ``2cm to the right of the previous specified position, \textbf{making this the new specified position.}'' + +{\hfill\huge\bfseries\color{gray!75}\fg} +\end{quote} + +Concrètement, le tracé \verb?(A) --+ (xB,yB) --+ (xC,yC)? définit les points \verb?B? et \verb?C? par rapport au point \verb?A?. + +Par contre, le tracé \verb?(A) --++ (xB,yB) --++ (xC,yC)? définit le point \verb?B? par rapport au point \verb?A? puis le point \verb?C? par rapport au point \verb?B? (nouvelle origine pour le déplacement suivant). \\ + +Bien, je pense qu'un petit exemple ne sera pas de trop pour aborder cette notion : + +\begin{codetikz}{Coordonnées absolues et relatives} +% Je reviendrai sur les "node" par la suite +% Ici, ils permettent d'avoir un point de repère pour distinguer le départ du tracé (en rouge) de sa fin (en bleu) + +% Sans les + ou ++ +\begin{tikzpicture} +\draw[gray, dotted] (0,-1) grid (3,1); % Une trame de fond, pour aider + +\draw (0,0) node[circle, fill = red, inner sep = 2pt] {} -- (1,1) -- (2,0) -- (0,-1) node[circle, fill = blue, inner sep = 2pt] {}; % Le point de départ est toujours le point à partir duquel est appliqué le déplacement +\end{tikzpicture} +\hfill +% Avec le + +\begin{tikzpicture} +\draw[gray, dotted] (0,-1) grid (3,1); % Une trame de fond, pour aider + +\draw (0,0) node[circle, fill = red, inner sep = 2pt] {} -- (1,1) --+ (2,0) --+ (0,-1) node[circle, fill = blue, inner sep = 2pt] {}; % Le dernier point sans "+" -- (1,1) ici -- est toujours le point à partir duquel est appliqué le déplacement +\end{tikzpicture} +\hfill +% Avec le ++ +\begin{tikzpicture} +\draw[gray, dotted] (0,-1) grid (3,1); % Une trame de fond, pour aider + +\draw (0,0) node[circle, fill = red, inner sep = 2pt] {} --++ (1,1) --++ (2,0) --++ (0,-1) node[circle, fill = blue, inner sep = 2pt] {}; % Chaque nouveau point est le point de départ pour le déplacement d'après +\end{tikzpicture} +\end{codetikz} + +Et cette méthode s'applique aussi pour les coordonnées polaires ! Appliquons alors cette découverte pour nos polygones réguliers. Après tout, il s'agit de prendre le point précédent et de le faire pivoter du bon angle : + +\begin{codetikz}{Coordonnées relatives polaires} +% Cas d'un triangle équilatéral +\begin{tikzpicture} +\draw (0,0) -- (2,0) --++ (120:2) -- cycle; +\end{tikzpicture} +\hfill +% Cas d'un carré +\begin{tikzpicture} +\draw (0,0) -- (2,0) --++ (90:2) --++ (180:2) -- cycle; +\end{tikzpicture} +\hfill +% Cas d'un pentagone +\begin{tikzpicture} +\draw (0,0) -- (2,0) --++ (72:2) --++ (144:2) --++ (216:2) -- cycle; +\end{tikzpicture} +\end{codetikz} + +Un exemple plus concret parlera peut-être à certains : + +\begin{codetikz}{Un peu de physique} +% Ou comment simplifier le tracé d'un amortisseur +\begin{center} +\begin{tikzpicture} +\coordinate (O) at (0,0); % Possibilité de changer le 0,0 en argument d'une nouvelle commande... + +\draw (O) --++ (2,0) --++ (0,-1) --++ (2,0) ++ (-2,1) --++ (0,1) --++ (2,0) node[above left] {\Large{}$\mu$} ++ (-1,0) --++ (0,-2) ++ (0,1) --++ (2,0); +% Utilisation de "++" sans "--" pour déplacer la coordonnée relative (on rebrousse chemin dans le tracé) sans tracer un trait +\end{tikzpicture} +\end{center} +\end{codetikz} + +\begin{attention}{Une question ?} +\og Ton astuce est amusante pour tracer le polygone en polaire ou l'amortisseur mais ce n'est toujours pas pratique. Il faut quand même changer à la main les valeurs pour chaque polynôme\dots{} \fg{} \\ + +En effet\dots{} mais j'allais justement annoncer une magnifique solution automatisée ! +\end{attention} + +\subsection*{Variables et boucle \verb?for?} + +Il existe trois outils que j'ai découverts suite à mon passage à \TikZ{} et qui se révèlent très utiles pour automatiser le tracé de dessins : + +\begin{itemize}[label = \ding{213}] +\item \textbf{la définition de variable :} tu peux créer toi-même ta propre variable sous \LaTeX{}\footnote{Très exactement, il s'agit d'une macro. J'apporterai sûrement un correctif et une explication plus poussée lors de la prochaine mise à jour de ce guide et après quelques recherches.}. Appliquée à \TikZ{}, tu peux l'associer en tant que nombre (nombre de côtés d'un polygone régulier par exemple) ou en tant que longueur (rayon du cercle dans lequel le dit polygone est inscrit). + +Il suffit d'utiliser la commande suivante : + +\begin{code}{} +\def\nom{valeur} +\end{code} + +\item \textbf{le calcul de nouvelles variables :} propre à \TikZ{}, cette possibilité peut parfois servir. + +Par exemple, nous souhaitons dessiner un polygone régulier inscrit dans un cercle de rayon fixé, sans connaître la valeur d'un côté (même si c'est bien plus simple de considérer la taille d'un cercle pour l'affichage). + +Si tu désires avoir un polygone avec une taille d'arête bien spécifique, il faut calculer le rayon ! Pour ce faire, il faut alors utiliser la commande : + +\begin{code}{} +\pgfmathsetmacro\nom{<calcul>} +\end{code} + +Il est aussi possible d'utiliser des variables déjà définies pour les intégrer dans le calcul. Les possibilités offertes deviennent alors très intéressantes ; + +\item \textbf{la boucle \verb?for? :} comme avec un langage de programmation, il est possible d'indiquer à \LaTeX{}, et plus particulièrement à \TikZ{} dans notre cas, des tâches répétitives. La formulation est la suivante : + +\begin{code}{} +\foreach \<var> in {1,...,N} {<boucle>} +\end{code} + +J'ai mis \verb?{1,...,N}? pour l'exemple générique mais tu peux mettre n'importe quelle valeur numérique, comme \verb?{2,3,4}?, ou même des lettres ! C'est des fois pratique pour jongler avec des coordonnées. \\ +\end{itemize} + +En guise d'exemple, voici une solution simple qui fonctionne. Il y a sûrement encore moyen de l'améliorer, comme permettre à chaque trait d'avoir une couleur différente (avec \verb?cycle? en fin de ligne sinon c'est moche) mais elle fonctionne déjà plutôt bien : + +\begin{codetikz}{Une solution automatisée} +% Un polygone régulier +\begin{center} +\begin{tikzpicture} +% Paramétrage +\def\poly{13} % Nombre entier supérieur à 1 +% Limite de calcul LaTeX fixée à 16 383... +\pgfmathtruncatemacro\polyg{\poly - 1} +\def\R{2} % 0.13\linewidth est aussi une distance + +% Tracé du polygone +\draw[orange] (90:\R) \foreach \i in {1,...,\polyg} {-- (90-\i/\poly*360:\R)} -- cycle; % Usage de \polyg pour pouvoir bien fermer avec "cycle" +\end{tikzpicture} +\end{center} +\end{codetikz} + +\begin{conseil}{La gestion des unités} +Il peut arriver que tu définisses une variable mais que sa valeur ne donne pas le résultat attendu, en terme de taille. Par exemple, un rayon \verb?\def\R{50}? de 50pt ou 50mm au lieu de 50cm par défaut, un peu grand, surtout sur une feuille A4 ; ou encore, une épaisseur de trait \verb?\def\sep{13}? de 13mm au lieu de 13pt par défaut. + +Seulement, écrire \verb?circle (\R{}pt)? ou \verb?line width = \sep mm? ne fonctionne pas toujours car \LaTeX{} n'arrive pas à combiner une variable avec du texte\dots{} \\ + +Heureusement, il existe donc un moyen très simple de résoudre ce problème. Il faut définir une variable unité : \verb?\def\unit{<unité>}?. Par exemple, nous pouvons écrire \verb?\def\unit{pt}? ou \verb?\def\mm{mm}? s'il y a plusieurs unités et que tu ne veux pas les confondre. + +Il faut ensuite écrire, par exemple, \verb?circle (\R\unit)? ou \verb?line width = \sep\mm?, et le tour est joué ! +\end{conseil} + +\begin{attention}{Limite de calcul sous \TikZ{}} +Avec les commandes \verb?\def? et \verb?\pgfmathsetmacro?, il existe une limite de calcul, fixée à 16 383, très exactement $\frac{2^{30} - 1}{2^{16}}$. Du coup, si tu veux tracer un polygone de 17 000 côtés, c'est impossible. Et je n'aborde pas l'intérêt d'un tel tracé : autant utiliser un cercle dans ce cas ! + +Généralement, pour des cas raisonnables, il ne devrait pas y avoir de problème mais il est bon de connaître cette notion. \\ + +Dans le cas où une telle erreur apparaît, le compilateur devrait afficher l'erreur \og \verb?! Dimension too large.? \fg{}. \textcolor{Red}{\textbf{Mais il peut aussi arriver que cette limite apparaisse alors que les calculs ne dépassent pas la valeur interdite !}} + +Par exemple, trace un polygone de 50 côtés avec mon code précédent et essaye les deux possibilités suivantes dans la boucle \verb?for? : + +\begin{itemize}[label = \ding{213}] +\item \verb?{-- (90-\i/\poly*360:\R)}? : aucun problème, + +\item \verb?{-- (90-\i*360/\poly:\R)}? : problème \dots{} alors que, d'un point de vue purement formel, le calcul est le même ! +\end{itemize} + +De ce que j'ai compris, il s'agit d'une erreur due à un dépassement de pile (\textit{stack overflow}) sous \TikZ{}. Pour l'éviter, il faut \textbf{toujours privilégier les divisions au début du calcul.} +\end{attention} + +\section{Dessiner des figures mathématiques} + +Je ne vais pas m'attarder sur cette section, juste donner deux pistes de recherche. Si tu as beaucoup de figures géométriques à dessiner, et surtout des figures mathématiques, avec beaucoup de sommets, des intersections, etc., tu peux : + +\begin{itemize}[label = \ding{213}] +\item utiliser le logiciel gratuit \verb?GeoGebra? (\url{https://www.geogebra.org/}) et exporter les figures en code \TikZ{} ; + +\item utiliser le package \verb?tkz-euclide?, qui possède une documentation bien fournie et beaucoup de commandes intéressantes. \\ +\end{itemize} + +Et voici un premier exemple de mise en bouche pour tracer une fonction : + +\begin{codetikz}{Une fonction bien connue et son inverse} +\begin{tikzpicture}[samples = 130] +\draw[->] (-2,0) -- (2,0) node[right] {$x$}; +\draw[->] (0,-2) -- (0,2) node[above, text = cyan] {$\sin x$}; + +\draw (-1.57,1mm) -- (-1.57,-1mm) node[below] {\footnotesize $-\frac{\pi}{2}\phantom{-}$}; +\draw (1.57,1mm) -- (1.57,-1mm) node[below] {\footnotesize $\frac{\pi}{2}$}; + +\draw (1mm,-1) -- (-1mm,-1) node[left] {$-1\strut$}; +\draw (1mm,1) -- (-1mm,1) node[left] {$1\strut$}; + +\node[below right] at (0,0) {$0$}; + +\draw[thick, color = cyan, domain = -1.57:1.57] plot ({\x},{sin(deg(\x))}); % deg pour conversion +\end{tikzpicture} +\hfill +\begin{tikzpicture}[samples = 130] +\draw[->] (-2,0) -- (2,0) node[right] {$x$}; +\draw[->] (0,-2) -- (0,2) node[above, text = red] {$\arcsin x$}; + +\draw (-1,1mm) -- (-1,-1mm) node[below] {$-1\phantom{-}$}; +\draw (1,1mm) -- (1,-1mm) node[below] {$1$}; + +\draw (1mm,-1.57) -- (-1mm,-1.57) node[left] {\footnotesize $-\frac{\pi}{2}\strut$}; +\draw (1mm,1.57) -- (-1mm,1.57) node[left] {\footnotesize $\frac{\pi}{2}\strut$}; + +\node[below right] at (0,0) {$0$}; + +\draw[thick, dashed, color = red, domain = -1:1] plot ({\x},{rad(asin(\x))}); % rad pour conversion +\end{tikzpicture} +\end{codetikz} + +Comme tu peux le constater, je trace le repère et les points remarquables (traits sur le repère) à la main. Puis, j'utilise \verb?plot ({\x},{f(\x)})? pour le tracé de la fonction. + +Il existe sûrement d'autres syntaxes pour tracer des courbes polaires ou avec plusieurs variables. Je te laisse te documenter à ce sujet si tu en as besoin. Le package \verb?pgfplots? peut proposer des éléments de solution. \\ + +Bien, maintenant que nous connaissons le fonctionnement de \TikZ{} et l'avons un peu manipulé, voyons maintenant des méthodes élégantes pour gérer facilement la forme de tes dessins, et donc toutes les options disponibles. + +\section{Gestion des styles} + +\begin{attention}{Chargement du package \verb?xcolor?} +Avant de commencer à parler de style, je dois aborder un cas assez délicat : l'importation du package \verb?xcolor?, et encore plus de ses options, dont \verb?dvipsnames? pour ma part. Qui dit style pense alors à couleur : \verb?xcolor? est alors indispensable. Mais il peut se produire une erreur à la compilation. + +Il faut déjà savoir qu'il faut toujours charger \verb?xcolor? avant \verb?tikz?. Mais, dans certains cas (utilisation d'autres packages principalement), il peut arriver qu'il y ait un conflit et que l'erreur \verb?Option clash for package xcolor? surgisse. \\ + +Il existe alors 2 solutions : \begin{itemize}[label = \ding{213}] +\item identifier le package qui pose problème et charger \verb?xcolor? avant. Dans mon cas, je me suis rendu compte que le package \verb?tcolorbox? était la source des erreurs : j'appelle donc \verb?xcolor? \textbf{avant} ; + +\item appeler la commande suivante \textbf{avant} l'appel de la classe \verb?documentclass? : \begin{center} \verb?\PassOptionsToPackage{dvipsnames}{xcolor}? \end{center} +\end{itemize} + +Maintenant que tu es au courant de cette astuce, je ferme la parenthèse et je passe aux styles. +\end{attention} + +Imaginons un instant que nous avons plein de traits, de rectangles et de cercles à tracer. Bref, pleins d'éléments qui requiert d'utiliser beaucoup de \verb?\draw?. Nous voulons aussi que tous ces éléments aient le même format (couleur, épaisseur de trait, etc.), pour homogénéiser le rendu. \\ + +Il est possible de définir un style global pour un dessin, lors de l'appel de l'environnement \verb?tikzpicture?. Au lieu d'écrire \verb?\draw[<options>]? à chaque fois et de devoir tout changer manuellement, il est possible d'ajouter des options à l'environnement de la manière suivante : \begin{center} \verb?\begin{tikzpicture}[<options>]? \end{center} + +Si nous avons besoin de définir plusieurs styles distincts, c'est possible de regrouper toutes les options dans un nom de style pour pouvoir les appeler directement. Il faut alors utiliser la syntaxe suivante : \begin{center} \verb?<nom-style>/.style = {<options>}? \end{center} + +Tu peux déclarer ton style soit lors de l'appel de l'environnement \verb?tikzpicture?, soit avec la commande \verb?\tikzset{<def-style>}?, avant d'appeler le style en question dans les options : \verb?\draw[<nom-style>]?. \\ + +Enfin, il est toujours possible de procéder à des changements ponctuels dans les options d'un \verb?\draw?. \textbf{Placés \emph{après} un style,} ils prédomineront à coup sûr (lecture de gauche à droite des options et la dernière option lue est appliquée). + +D'une certaine manière, nous pouvons voir \verb?<nom-style>? comme une variable qui contient du texte que \LaTeX{} et \TikZ{} se chargent de copier-coller à chaque appel du style. \\ + +Un petit exemple pour bien comprendre, comme d'habitude : + +\begin{codetikz}{Les styles sous \TikZ{}} +% Paramètre défini globalement +\def\R{1.5} + +% Style global +\begin{tikzpicture}[thick, red, dashed] +\draw circle (\R); +\draw (\R,0) --++ (-2*\R,0); +\draw (0,\R) --++ (0,-2*\R); +\end{tikzpicture} +\hfill +% Styles locaux +\begin{tikzpicture}[thick, red, dashed] +\draw[solid, thin] circle (\R); +% solid = trait plein + +\draw (\R,0) --++ (-2*\R,0); +% Bien mettre un * pour le calcul +% Ne pas confondre avec les longueurs : 0.5\linewidth licite +\draw[cyan, ultra thick] (0,\R) --++ (0,-2*\R); +\end{tikzpicture} +\hfill +% Style groupé +\begin{tikzpicture}[thick, red, dashed] +\tikzset{pointille/.style = {purple, line width = 4pt, line cap = round, dash pattern = on 0pt off 2.5\pgflinewidth}} +% Style dotted pas très "dot" --> utilisation de line cap & dash pattern + +\draw circle (\R); + +\draw[pointille] (\R,0) --++ (-2*\R,0); +% Changement d'un style déjà défini +\draw[pointille, orange] (0,\R) --++ (0,-2*\R); +\end{tikzpicture} +\end{codetikz} + +Bien évidemment, ici, le code est très simple et cette notion devient intéressante quand tu as beaucoup de \verb?\draw?, ou quand tu te rends compte que tu fais beaucoup de changements dans les options. Il devient alors plus intéressant de les automatiser avec des styles. + +\begin{attention}{Appel de \texttt{\textbackslash}\verb?tikzset?} +Dans l'exemple fourni, le style \verb?pointille? est défini à l'intérieur de l'environnement \verb?tikzpicture?. Par conséquent, il n'est utilisable que pour cet environnement. En l'état, impossible de l'appeler dans un autre environnement \verb?tikzpicture?. \\ + +Toutefois, \verb?\tikzset? est utilisable à n'importe quel endroit de ton code \LaTeX{}. Tu peux donc l'appeler en-dehors de l'environnement \verb?tikzpicture?. Il sera alors disponible pour toutes les figures à venir. + +Tu peux donc même définir tes styles dans le préambule. C'est plus facile à gérer (regroupement de toutes les commandes dans un même endroit au sein de ton code) et tu peux t'en servir à volonté par la suite ! +\end{attention} + +Maintenant que la gestion de la mise en forme avec les styles est bien définie et que nous savons tracer quelques figures élémentaires, pimentons un peu les possibilités. Ajoutons du texte ! + +\section{Insérer du texte} + +Il n'y a qu'une seule façon d'écrire dans un dessin réalisé sous \TikZ{} : utiliser les \verb?node?. Très exactement, les \verb?node? permettent de placer à peu près tout et n'importe quoi à l'endroit souhaité dans le dessin, en particulier du texte. \\ + +Un \verb?node? s'appelle par une commande, selon la syntaxe suivante : + +\begin{code}{} +\node[<options>] (<nom>) at (<coord>) {<texte>}; +\end{code} + +Il existe de multiples possibilités en ce qui concerne les options d'un \verb?node? (\verb?<options>?). Celles que j'utilise fréquemment sont les suivantes et sont rappelées en \autoref{annexes-tikz-node} (annexes p. \pageref{annexes-tikz-node}) : + +\begin{itemize}[label = \ding{213}] +\item \verb?circle? (\verb?rectangle? par défaut) : pour avoir un cercle comme cadre au lieu du rectangle. Différents formats sont disponibles et sont explicités dans les exemples un peu après ; + +\item \verb?draw = <color>? (\verb?black? par défaut) : pour afficher le cadre du \verb?node? et définir sa couleur ; + +\item \verb?fill = <color>? : la couleur de remplissage du cadre ; + +\item \verb?text = <color>? : la couleur du texte ; + +\item \verb?font = <mise-en-forme>? : pour mettre en forme le texte (\verb?\bfseries?, \verb?\itshape?, \verb?\small?, etc.) ; + +\item \verb?align = <position>?, avec \verb?<position>? qui peut prendre les valeurs \verb?left?, \verb?center? ou \verb?right? : pour aligner horizontalement le texte à l'intérieur du \verb?node? ; + +\item \verb?inner sep = <taille>? : espacement entre le texte et le bord du \verb?node? ; + +\item \verb?outer sep = <taille>? : espacement entre le bord du \verb?node? et les autres éléments ; + +\item \verb?text width = <taille>? : largeur de la boîte (invisible) dans laquelle est placée le texte. Si \verb?text width? est inférieur à \verb?minimum width?, la boîte en question est centrée. + +Toutefois, le texte à l'intérieur peut continuer à être excentré si \verb?text width? est supérieur à la taille minimale du texte. Dans ce cas, utiliser l'option \verb?align? pour centrer à ta convenance ; + +\item \verb?minimum width = <taille>? : largeur minimale du cadre ; + +\item \verb?minimum height = <taille>? : hauteur minimale du cadre ; + +\item \verb?<position>? (\verb?above?, \verb?below?, \verb?left? ou \verb?right?) : pour positionner le \verb?node? par rapport à \verb?<coord>? ; + +\item \verb?rotate = <angle>? : pour faire pivoter le \verb?node?. \\ +\end{itemize} + +Un premier exemple d'application peut prendre la forme suivante : + +\begin{codetikz}{Utilisation des \verb?node?} +\begin{center} +\begin{tikzpicture} +% Cas simple +\draw (0,0) -- (1,0); +\node at (0.5,0.5) {Texte}; + +% Affichage de la bordure rectangulaire du node +\node[draw] at (0.5,2) {some text}; +% Changement du cadre avec circle (rectangle par défaut) +\node[draw, circle, align = left] at (4,1.5) {Texte sur 2 lignes \\ Retour ligne manuel}; + +% Cas plus complet +\node[draw = Green, line width = 8pt, fill = red!30, font = \scshape, text = gray!75!black, thick, minimum width = 4.5cm, text width = 4cm, minimum height = 2cm, align = center, rotate = 90] at (8,1.5) {Texte centré \\ sur 2 lignes}; +\end{tikzpicture} +\end{center} +\end{codetikz} + +\begin{attention}{Saut de ligne dans un \verb?node?} +Le saut de ligne manuel avec \verb?\\? est licite et fonctionnel dans un \verb?node? si et seulement si l'option \verb?align = <position>? est utilisée. + +Sans cette option, \TikZ{} écrit le texte seul et n'interprète pas le saut de ligne. Avec cette option, il doit placer ton texte dans une \verb?parbox? bien paramétrée avec le centrage indiqué, ce qui rend le saut de ligne possible. + +Mais c'est mon hypothèse personnelle : il faudrait aller lire la documentation voire le code source pour s'en assurer. +\end{attention} + +Comme indiqué, les \verb?node? peuvent prendre différentes formes, dont voici une liste non exhaustive : \begin{itemize}[label = \ding{118}] +\item formes simples : \verb?rectangle?, \verb?circle?, \verb?ellipse?, \verb?diamond?, \verb?circle split?, \verb?forbidden sign?, \verb?cross out?, \verb?strike out? ; + +\item formes plus ``complexes'' (options supplémentaires) : \begin{itemize}[label = \ding{213}] +\item \verb?regular polygon? \& \verb?regular polygon sides = 5?, + +\item \verb?star?, \verb?star points = 7? \& \verb?star point ratio = 0.8?. \\ +\end{itemize} +\end{itemize} + +Certaines formes sont disponibles grâce à différentes bibliothèques \TikZ{}, à charger après l'appel du package. Pour avoir un aperçu des différents formats disponibles, c'est par ici avec un exemple minimal : + +\begin{codetikz}{Les différents formats de \verb?node?} +% Ajout au PREAMBULE +%\usepackage{tikz} +%\usetikzlibrary{shapes.geometric, shapes.misc, shapes.multipart, shapes.symbols} + + +\begin{tikzpicture} +% Affichage sous forme d'un tableau (syntaxe identique) +\matrix[nodes = {draw, ultra thick, fill = blue!20}, row sep = 3mm, column sep = 4mm] {% + \node[draw = none, fill = none] {Plain node}; & \node[rectangle] {Rectangle}; & \node[circle] {Circle}; \\ + \node[ellipse] {Ellipse}; & \node[circle split] {Circle \nodepart{lower} split}; & \node[forbidden sign, text width = 4em, text centered] {Forbidden sign}; \\ + \node[diamond] {Diamond}; & \node[cross out] {Cross out}; & \node[strike out] {Strike out}; \\ +}; +\end{tikzpicture} + +\begin{tikzpicture}[note/.style = {draw = none, fill = none, right}] +\matrix[nodes = {draw, ultra thick, fill = blue!20}, row sep = 3mm, column sep = 4mm] {% + \node[regular polygon, regular polygon sides = 5] {$n = 5$}; & \node[regular polygon, regular polygon sides = 7] {$n=7$}; & \node[regular polygon, regular polygon sides = 9] {$n=9$}; & \node[note]{Regular polygon}; \\ + \node[star, star points = 4] {$p = 4$}; & \node[star, star points = 7, star point ratio = 0.8] {$p=7$}; & \node[star, star points = 9] {$p = 9$}; & \node[note]{Star}; \\ +}; +\end{tikzpicture} +\end{codetikz} + +Mais tu peux tout faire avec des \verb?node?. Par exemple, tu peux les placer à l'intérieur d'un chemin dessiné par un \verb?\draw? pour ajouter de l'information (texte ou symbole). + +L'intérêt ? Pendant que tu traces ton dessin, tu associes l'information à la coordonnée, au lieu d'ajouter le texte manuellement par la suite. C'est très pratique si tu modifies ton dessin ou si les coordonnées sont difficiles à déterminer. + +En revanche, ton code est moins lisible à relire\dots{} Reprenons un ancien exemple, qui devrait te sembler plus clair désormais : + +\begin{codetikz}{Ajouter de l'information sur un tracé avec des \verb?node?} +\begin{center} +\begin{tikzpicture}[cercle/.style = {circle, inner sep = 2pt}] +\draw[gray, dotted] (0,-1) grid (3,1); + +% Les node en cascade, c'est le nec plus ultra ! +\draw (0,0) node[cercle, fill = red] {} node[left] {Début} --++ (1,1) --++ (2,0) --++ (0,-1) node[cercle, fill = blue] {} node[right] {Fin}; + +\draw (0,0) -- (1,-1) node[right, align = left] {Nouvelle \\ branche}; +\end{tikzpicture} +\end{center} +\end{codetikz} + +Pour rappel, le saut de ligne manuel avec \verb?\\? est licite et fonctionnel dans un \verb?node? si et seulement si l'option \verb?align = <position>? est utilisée. + +Les options comme \verb?above? ou \verb?below? permettent d'ajuster la position du \verb?node? par rapport à la coordonnée à laquelle il se réfère. Des combinaisons sont possibles, comme \verb?above left?. Toutefois, il faut respecter un certain ordre : \verb?left above? ne fonctionne pas par exemple.\footnote{Je n'ai pas d'astuce pour s'en souvenir. Je le sais et je fais attention à bien lire les erreurs de compilation annoncées pour vite corriger le tir.} \\ + +Bon, je crois avoir à peu près fait le tour en ce qui concerne la base pour les \verb?node?. Voyons une dernière application, plus poussée : la création de graphes et de diagrammes. + +\section{Création de graphes et de diagrammes} + +\subsection*{Les points d'ancrage} + +Sous \TikZ{}, un \verb?node? est constitué de points d'ancrage, répartis de la manière suivante : + +\begin{figure}[H] +\centering +\begin{tikzpicture} +\node[draw = gray!50, line width = 8pt, text = RedOrange, font = \LARGE, minimum width = 0.5\linewidth, minimum height = 3cm, text width = 0.25\linewidth, align = center] (master) at (0,0) {node \verb?N?}; + +\tikzset{every node/.style = {font = \ttfamily}} + +% Les points d'ancrage les plus intuitifs +\foreach \anchor in {north, north east, east, south east, south, south west, west, north west} {\node at (master.\anchor) {$\times$};} + +\node[above = 5pt] at (master.north) {\texttt{N.north}}; +\node[above right = 5pt] at (master.north east) {\texttt{N.north east}}; +\node[right = 5pt] at (master.east) {\texttt{N.east}}; +\node[below right = 5pt] at (master.south east) {\texttt{N.south east}}; +\node[below = 5pt] at (master.south) {\texttt{N.south}}; +\node[below left = 5pt] at (master.south west) {\texttt{N.south west}}; +\node[left = 5pt] at (master.west) {\texttt{N.west}}; +\node[above left = 5pt] at (master.north west) {\texttt{N.north west}}; + +% Les autres points d'ancrage +\node[text = cyan] at (master.13) {$\times$}; +\node[text = Green] at (master.base) {$\times$}; +\node[text = Green] at (master.text) {$\times$}; +\node[text = Orchid] at (master.center) {$\times$}; + +\node[right = 5pt, text = cyan] at (master.13) {N.13 (angle)}; +\node[below = 5pt, text = Green] at (master.base) {N.base}; +\node[below left, yshift = -5pt, text = Green] at (master.text) {N.text}; +\node[above = 5pt, text = Orchid] at (master.center) {N.center = N}; +\end{tikzpicture} +\caption{Vue d'un \texttt{node} et de ses points d'ancrage} +\end{figure} + +J'ai pris le cas traditionnel d'un \verb?node? rectangulaire mais les points d'ancrage sont parfaitement définis pour toutes les autres formes, si besoin (cercle, étoile, polygone régulier, etc.). \\ + +Voyons maintenant comment utiliser cette notion pour placer deux \verb?node? sous forme de boîte l'un par rapport à l'autre. Nous allons utiliser judicieusement les styles déjà évoqués et les points d'ancrage. + +Cette méthode permet d'avoir à placer un seul \verb?node? (référence) et tout peut se faire relativement à ce dernier, ou relativement aux nouveaux \verb?node?. + +Une nouvelle option est alors adaptée à la situation : \verb?anchor = <ancre>?. De cette manière, tu peux spécifier le point d'ancrage sur lequel le \verb?node? va se fixer. Le point d'ancrage utilisé par défaut est \verb?center?. + +\begin{conseil}{Style global aux \verb?node?} +Si nous avons déjà vu la syntaxe pour créer un style sous \TikZ{} et les configurations disponibles (style global ou local), il est possible d'indiquer directement un style à tous les \verb?node?, grâce à la syntaxe suivante : + +\begin{code}{} +\begin{tikzpicture}[every node/.style = {<options>}] +% Dessiner ! +\end{tikzpicture} +\end{code} + +Mais cette option est à utiliser judicieusement : c'est pratique si tous tes \verb?node? sont des boîtes. C'est plus gênant à corriger si tu ajoutes en milieu de chemin un \verb?node? simple, pour écrire un commentaire par exemple. +\end{conseil} + +Après la théorie, un peu de pratique avec un premier code d'initiation : + +\begin{codetikz}{Initiation aux points d'ancrage} +\begin{center} +\begin{tikzpicture}[every node/.style = {draw = orange, very thick, minimum width = 2cm, minimum height = 1cm}] +% Node "master" (référence) +\node (master) at (0,0) {Boîte maître}; + +% Node créé relativement à "master" +\node[anchor = west, xshift = 2cm] (boiteA) at (master.east) {Boîte A}; +% Positionnement de l'ancrage ouest de boiteA sur l'ancrage est de "master" +% Décalage horizontal manuel avec xshift +\draw (master) -- (boiteA); +% TikZ trace le trait le plus simple pour relier 2 node + +% Troisième node +% Décalage vertical manuel avec yshift +\node[draw = Green, fill = gray!50, minimum width = 2cm, yshift = -2cm] (boiteB) at (boiteA.south west) {Boîte B}; + +% Tracé d'un trait "|-|" automatisé +% Création d'un node milieu +\path (master.south) -- (boiteB.north) coordinate [midway] (middle); +\draw (master.south) |- (middle) -| (boiteB.north); +\end{tikzpicture} +\end{center} +\end{codetikz} + +Bon, d'accord, je triche un peu avec les décalages \verb?xshift? et \verb?yshift?. Ce n'est clairement pas une solution optimale s'il faut tout décaler manuellement à chaque fois. + +Mais le principe de base est là ! Voyons maintenant comment mieux faire avec des cas concrets. + +\subsection*{Organigramme manuel} + +Nous allons continuer sur notre lancée avec un premier organigramme dessiné manuellement. Après tout, il peut des fois être plus rapide de faire un premier dessin manuellement que de chercher à tout optimiser et automatiser dès le départ. + +Le principe est très similaire à celui montré dans le code d'initiation précédent : \begin{enumerate} +\item Création de l'environnement \verb?tikzpicture? et définition d'un style global pour tous les \verb?node? pour garantir l'homogénéité du résultat. + +\item Création du \verb?node? de référence, \og \verb?master? \fg{}. Comme aucune coordonnée n'est spécifiée, \verb?master.center? se situe en \verb?(0,0)?. + +\item Positionnement d'autres \verb?node? (boîtes en-têtes) puis utilisation des points d'ancrage pour placer des \verb?node? en dessous des précédents (boîtes descriptives). + +\item Relier les boîtes pour donner un sens à l'organigramme (\verb?\draw?) et ajuster la taille si besoin avec \verb?\resizebox? (package \verb?graphicx?). \\ +\end{enumerate} + +Concrètement, le code ressemble à : + +\begin{codetikz}{Organigramme manuel} +% Ajout au PREAMBULE +%\usepackage{graphicx, tikz} + + +\resizebox{\linewidth}{!}{ +\begin{tikzpicture}[ + every node/.style = {draw = black, fill = violet!70, line width = 2pt, text width = 3cm, minimum width = 3.5cm, minimum height = 1cm, text = white, align = center}, + entete/.style = {font = \large}, + descr/.style = {minimum height = 3cm}] +% Node de référence +\node[font = \Large] (master) {Manager}; + +% Autres nodes +\node[entete] (boiteA) at (-6,-3) {\'Equipe A}; +\node[descr, anchor = north] at (boiteA.south) {Commercial \\ ~ \\ Vente}; + +\node[entete] (boiteB) at (-2,-3) {\'Equipe B}; +\node[descr, anchor = north] at (boiteB.south) {PHP \\ ~ \\ JavaScript}; + +\node[entete] (boiteC) at (2,-3) {\'Equipe C}; +\node[descr, anchor = north] at (boiteC.south) {Support \\ ~ \\ Supervision}; + +\node[entete] (boiteD) at (6,-3) {\'Equipe D}; +\node[descr, anchor = north] at (boiteD.south) {Analyse \& KPI \\ ~ \\ Management}; + +% Tracé automatisé +\foreach \point in {A, ..., D} {\draw[ultra thick] (master.south) --++ (0,-1cm) -| (boite\point);} +% -| <==> départ horizontal, arrivée verticale +\end{tikzpicture} +} +\end{codetikz} + +Bon, jusque là , rien de nouveau, hormis la commande \verb?\resizebox? très pratique pour faire tenir les diagrammes quand ils ne rentrent pas dans ton document. Pour t'en servir, c'est très simple. La syntaxe générale est la suivante : + +\begin{code}{} +\usepackage{graphicx} + +\resizebox{<largeur>}{<hauteur>}{<élément>} +% Option "!" : permet de conserver les proportions + +Utilisation la plus courante : +\resizebox{\linewidth}{!}{<élément>} +\end{code} + +Si tu as besoin de plus de précisions, je te renvoie à la documentation du package \verb?graphicx?, disponible sur \url{https://ctan.org/pkg/graphicx}. \\ + +Voyons désormais un nouveau cas de diagramme. J'espère que tu aimes la Nature. + +\subsection*{Utilisation d'un arbre} + +Un arbre peut se révéler satisfaisant pour représenter un organigramme, surtout s'il est similaire au premier cas présenté. \TikZ{} offre la possibilité de construire automatiquement l'arbre en question, sans avoir à te soucier du positionnement. \textbf{Au préalable,} il faut penser à charger la bibliothèque \TikZ{} nommée \verb?trees?. + +Le principe de création d'un arbre est très similaire à ce que nous avons vu jusqu'à présent : \begin{itemize}[label = \ding{118}] +\item création d'un \verb?node? de référence (ou la graine de l'arbre). Il s'agit alors du niveau 0 (\verb?level 0?) ; + +\item création des ramifications (\verb?child?) avec la syntaxe suivante : + +\begin{code}{} +child { node[<options>] {<texte>} } +\end{code} + +Pour créer de nouvelles ramifications, il faut jouer sur l'encapsulation d'un nouveau \verb?child? avant la fermeture de l'accolade finale. Il est alors fortement recommandé d'indenter son code dans cette situation : la relecture n'en sera que plus simple. + +La ramification -- ou niveau -- $i$ peut alors être appelée avec la syntaxe \verb?level i?. C'est surtout utile pour définir un style propre à chaque niveau, comme nous le verrons dans l'exemple qui va suivre ; + +\item il existe des options propres aux arbres. Par exemple, \verb?level distance? permet de définir l'espace entre chaque niveau. \verb?sibling distance? fait de même, mais pour les éléments d'un même niveau. + +\verb?edge from parent path? permet de définir la manière dont sont reliés les éléments. Des n\oe{}uds génériques (gérés automatiquement par \TikZ{}, pour chaque niveau et élément) sont alors accessibles par les noms \verb?\tikzparentnode? et \verb?\tikzchildnode?. \\ +\end{itemize} + +Voyons maintenant sur un cas concret ce que nous pouvons réaliser : + +\begin{codetikz}{Création d'un arbre avec \verb?trees?} +% Ajout au PREAMBULE +%\usepackage{tikz} +%\usetikzlibrary{trees} + + +\resizebox{\linewidth}{!}{ +\begin{tikzpicture}[every node/.style = {rounded corners, draw, top color = white, bottom color = blue!20, align = center}, level distance = 50pt, level 1/.style = {sibling distance = 17em}, level 2/.style = {sibling distance = 8em}, edge from parent/.style = {draw, edge from parent path = {(\tikzparentnode.south) --+ (0,-10pt) -| (\tikzchildnode)}}] +\node {NOM \\ Chef} + child { node {Sous-chef A} + child { node {Esclave Aa}} + child { node {Esclave Ab}} + } + child { node {Sous-chef B} + child { node {Esclave Ba} + child { node {Stagiaire Ba1}} + child { node {Stagiaire Ba2}} + child { node {Stagiaire Ba3}} + } + child { node {Esclave Bb}} + }; +\end{tikzpicture} +} +\end{codetikz} + +\begin{attention}{Saut de ligne interdit !} +Pour la création d'arbres, il est strictement interdit de sauter des lignes pour aérer le code, sous peine d'avoir une erreur de compilation (code mal interprété). + +C'est pourquoi je recommande dans ce cas de figure d'indenter le code, avec un décalage pour chaque niveau. C'est ce que je fais dans mes exemples. +\end{attention} + +Avec un peu de ruse lors de la configuration de \verb?edge from parent path?, un style judicieusement configuré avec l'option \verb?grow? (propre à la bibliothèque \verb?trees?), il est possible de relier différemment les éléments : + +\begin{codetikz}{Une autre possibilité d'arbre} +% Ajout au PREAMBULE +%\usepackage{tikz} +%\usetikzlibrary{trees} + + +\begin{center} +\begin{tikzpicture}[man/.style = {draw, fill = blue!20}, woman/.style = {rounded corners = .8ex, draw, fill = red!20}, grandchild/.style = {grow = down, xshift = 1em, anchor = west, edge from parent path = {(\tikzparentnode.south) |- (\tikzchildnode.west)}}, first/.style = {level distance = 6ex}, second/.style = {level distance = 12ex}, third/.style = {level distance = 18ex}, level 1/.style = {sibling distance = 5em}] +% Parents +\coordinate + child[grow = left] {node[man, anchor = east] {Jim}} + child[grow = right] {node[woman, anchor = west] {Jane}} + child[grow = down, level distance = 0ex][edge from parent fork down] +% Enfants & petits-enfants + child{node[man] {Alfred} + child[grandchild, first] {node[man] {Joe}} + child[grandchild, second] {node[woman] {Heather}} + child[grandchild, third] {node[woman] {Barbara}} + } + child{node[woman] {Berta} + child[grandchild, first] {node[man] {Howard}} + } + child {node[man] {Charles}} + child {node[woman] {Doris} + child[grandchild, first] {node[man] {Nick}} + child[grandchild, second] {node[woman] {Liz}} + }; +\end{tikzpicture} +\end{center} +\end{codetikz} + +Voilà , c'est tout ce que je peux présenter concernant les arbres à l'heure actuelle. Heureusement, j'ai gardé le meilleur pour la fin, avec une solution un peu plus automatisée. Mais un interlude est nécessaire avant d'en parler. + +\subsection*{Utiliser des flèches} + +Les diagrammes que j'ai présentés jusqu'à présent peuvent convenir en l'état. Cependant, nous allons vite être limités pour transmettre plus d'informations si nous n'avons pas de flèches ! \\ + +Sous \TikZ{}, une flèche n'est ni plus ni moins qu'un trait (dessiné par \verb?\draw?) auquel des options supplémentaires sont précisées pour enrichir son ou ses extrémités, en l'occurrence avec des flèches : \begin{itemize}[label = \ding{118}] +\item \verb?->? : pour avoir une pointe de flèche à la fin du trait ; + +\item \verb?<-? : pour avoir une pointe de flèche au début du trait ; + +\item \verb?<->? : pour avoir une pointe de flèche à chaque extrémité ; + +\item \verb?>-<? ou \verb?->>? ou \verb?>>>-? : autres combinaisons possibles et suffisamment explicites quand tu as compris le principe de fonctionnement ; + +\item \verb?> = <fleche>? : pour spécifier une autre forme de flèche que celle par défaut. Les formes les plus classiques sont \verb?Stealth? et \verb?Straight Barb?. + +Pour cette dernière, il faut charger la bibliothèque \TikZ{} \verb?arrows.meta?. Et si tu veux d'autres formes, cf. la documentation officielle de \TikZ{}\footnote{Disponible sur \url{https://www.ctan.org/pkg/pgf}.} ; + +\item et bien d'autres options, pour agrandir la taille de la flèche, colorer la flèche d'une autre couleur que celle du trait, etc. Je renvoie, encore une fois, à la documentation officielle de \TikZ{} à ce sujet. \\ +\end{itemize} + +Un petit exemple d'application pour digérer tous ces éléments : + +\begin{codetikz}{Flèches et cas pratiques} +\begin{center} +\begin{tikzpicture} +\draw (0,0) -- (0,2); +\draw[->, very thick] (2,0) -- (2,2); +\draw[<-, ultra thick] (4,0) -- (4,2); +\draw[>->, line width = 3pt] (6,0) -- (6,2); +\draw[<<-<, > = Stealth, line width = 5pt] (8,0) -- (8,2); +\end{tikzpicture} +\end{center} +\end{codetikz} + +Bien, finissons maintenant avec un dernier diagramme. + +\subsection*{Un beau diagramme ?} + +Le principe de base reste inchangé : utilisation d'un \verb?node? de référence, positionnement des autres \verb?node? par rapport à la référence ou aux nouveaux \verb?node?, utilisation judicieuse des styles pour décorer. + +Si le positionnement standard est intéressant, les possibilités deviennent plus intéressantes avec la bibliothèque \verb?positioning?. Selon moi, la meilleure façon de s'en servir est la suivante : \begin{enumerate} +\item L'option \verb?node distance = <ecart>? permet de définir l'écart entre chaque \verb?node? (localement sur un \verb?node? ou globalement lors de l'appel de l'environnement \verb?tikzpicture?). + +\item Création du \verb?node? de référence, \verb?master?. + +\item Positionnement d'un nouveau \verb?node? avec l'option : \verb?below = of master?. Résultat : celui-ci se retrouve sous \verb?master?, avec une séparation de taille \verb?<ecart>?. \\ +\end{enumerate} + +De manière plus générale, les 4 choix de positionnement -- \verb?above?, \verb?below?, \verb?left? et \verb?right?, qui peuvent être combinés, peuvent faire référence à un \verb?node? (ou un point d'ancrage spécifique) selon la syntaxe suivante : + +\begin{code}{} +<position> = of <node> +\end{code} + +Et c'est tout ! Maintenant, tu es libre de faire ce que tu veux, d'automatiser toutes les distances avec des longueurs \LaTeX{}. C'est ce que je fais en tout cas. Et je te propose ma petite \textit{template} personnelle pour faire des diagrammes : + +\begin{coderesult}{\textit{Template} pour faire un diagramme} +\documentclass[a4paper, 12pt]{report} + +% PDFLaTeX +\usepackage{lmodern} +\usepackage[french]{babel} +\usepackage[utf8]{inputenc} +\usepackage[T1]{fontenc} + +\usepackage{enumitem, pifont} + +\usepackage{pdflscape} + +\usepackage[dvipsnames]{xcolor} +\usepackage{tikz} +\usetikzlibrary{arrows.meta, positioning} + + +\begin{document} + +\everymath{\displaystyle} +\pagestyle{empty} + +% Diagramme - Paramétrage +\definecolor{newblue}{RGB}{68,114,196} + +\newlength{\nodesep} +\addtolength{\nodesep}{2.5cm} + +\newlength{\blockwidth} +\addtolength{\blockwidth}{3.8cm} + +\newlength{\blockheight} +\addtolength{\blockheight}{1.6cm} + +% Style des blocs (diagramme) +\tikzset{ + node distance = \nodesep, + block/.style = {draw = newblue, fill = newblue, text = white, rounded corners, minimum width = \blockwidth, minimum height = \blockheight, text width = \blockwidth - 2mm, align = center, font = \sffamily}, + warning/.style = {block, draw = red, fill = red}, + correct/.style = {block, draw = Green, fill = Green}, + careful/.style = {block, draw = orange, fill = orange}, + arrow/.style = {newblue, line width = 5pt, ->, > = Stealth}, + comment/.style = {text width = \nodesep, align = center, font = \sffamily\itshape} +} + +\begin{landscape} +\resizebox{\linewidth}{!}{ +\begin{tikzpicture} +% Création des blocs +\node[block] (blocA) {Bloc A}; +\node[careful, right = of blocA] (blocB) {Bloc B}; +\node[block, below = of blocA] (blocC) {Bloc C}; +\node[block, left = of blocC] (blocD) {Bloc D}; +\node[careful, below = of blocD] (blocE) {Bloc E}; + +\node[careful, node distance = 2\nodesep + \blockwidth, right = of blocE] (blocF) {Bloc F}; +\node[careful, below = of blocE] (blocG) {Bloc G}; + +\node[careful, right = of blocG] (blocH) {Bloc H}; +\node[correct, right = of blocH] (blocI) {Bloc I}; + +% Liens entre les blocs et commentaires +\draw[arrow] (blocA) -- (blocB); +\draw[arrow] (blocA) -- (blocC); + +\draw[arrow] (blocA) -| (blocD) node[left, text width = 0.8\blockwidth, align = left] at (blocD.west) {\textbf{Liste :} \begin{itemize}[label = \textcolor{newblue}{\ding{118}}, leftmargin = *] +\item puce a +\item puce b\dots{} \\ ~ \\ +\end{itemize} +\textbf{\color{red!75!black}$\sf\times 2$ Tada !}}; + +\draw[arrow, orange] (blocB) -- (blocF); +\draw[arrow] (blocC) |- (blocF); + +\draw[arrow] (blocD) -- node[comment, right] {Commentaire} (blocE); +\draw[arrow, orange] (blocE) -- (blocG); +% Création d'un node fictif (déviation) +\path (blocE) -- (blocG) coordinate [midway] (noeud fictif A); +\draw[arrow, orange] (blocF) node[comment, right] at (blocF.east) {Commentaire \\ Commentaire} |- (noeud fictif A) -| (blocG); +% Petite astuce (intersection / déviation) +% (blocA -| blocB) = coordonnée + +\draw[arrow, orange] node[comment, left, align = right, text width = 1.2\blockwidth] at (blocG.west) {Commentaire \\ (détails) \\ Commentaire \\ Commentaire} (blocG) -- (blocH); +\draw[arrow, orange] (blocH) -- (blocI); +\end{tikzpicture}} +\end{landscape} + +\end{document} +\end{coderesult} + +\begin{conseil}{Mon petit conseil} +Avant de te lancer dans l'écriture de ton code \TikZ{}, pose ton diagramme sur le papier. Tu verras que tu gagneras du temps et que ce sera plus facile pour le transposer sous \LaTeX{}. + +Tu peux aussi plus facilement l'améliorer sur papier en griffonnant au lieu de réécrire 13 fois le même code parce que tu changes constamment d'avis. + +Enfin, j'ai mis des noms de \verb?node? en \textit{autoincrement} pour faciliter la compréhension de l'exemple. Il vaut mieux donner un nom explicite à ton \verb?node?. C'est plus facile si tu dois en ajouter un nouveau par la suite, que de devoir décaler tous tes noms de \verb?node?. +\end{conseil} + +\section{Le mot de la fin} + +Loin d'avoir tout expliqué sur \TikZ{}\footnote{Le guide officiel fait plus de 1~000 pages donc tu penses bien que je n'ai fait qu'effleurer le champ des possibles.}, les exemples que j'ai élaborés et mis à disposition au sein de ce guide donnent malgré tout beaucoup d'informations et constituent une première base solide. + +Naturellement, je suis loin d'être exhaustif et je me suis efforcé d'aborder un large panel de notions que je connais. \`A toi désormais de faire des essais, d'améliorer ton code et de découvrir de nouvelles possibilités ! \\ + +\TikZ{} propose un grand nombre de bibliothèques, avec des fonctionnalités diverses et variées. + +Elles sont détaillées à la partie V du guide officiel de \TikZ{}, ainsi que sur : \url{http://tex.stackexchange.com/questions/42611/list-of-available-tikz-libraries-with-a-short-introduction}. + +Tu trouveras aussi un tableau bilan à ce sujet dans les annexes, \autoref{annexes-tikz-bibliotheques} p. \pageref{annexes-tikz-bibliotheques}. \\ + +Enfin, il existe aussi d'autres packages pour agrémenter les dessins sous \LaTeX{}. C'est par exemple le cas de \verb?pgfornament?, qui mérite le détour et fournit des ornements intéressants. + +\begin{figure}[H] +\centering +\pgfornament[color = RedOrange, width = 0.6\linewidth]{60} +\caption{Un premier aperçu du package \texttt{pgfornament}} +\end{figure} + +Pour finir, je me suis amusé à réaliser un petit fond d'écran pour mon ordinateur. Naturellement, il prône l'utilisation du \LaTeX{} et joue un peu sur la fibre patriotique. \\ + +Il est à disposition ci-après si tu veux réaliser une capture d'écran pour l'utiliser de ton côté. Tenter de le reproduire peut aussi constituer un bon entraînement dans ton apprentissage de \TikZ{}. + +\clearpage + +\includepdf[pages = -, fitpaper]{fond_TikZ}
\ No newline at end of file diff --git a/Master/texmf-dist/doc/latex/guide-latex-fr/Chapitres/packages.tex b/Master/texmf-dist/doc/latex/guide-latex-fr/Chapitres/packages.tex new file mode 100644 index 00000000000..08cb78652e1 --- /dev/null +++ b/Master/texmf-dist/doc/latex/guide-latex-fr/Chapitres/packages.tex @@ -0,0 +1,53 @@ +% PDFLaTeX +\usepackage{lmodern} +\usepackage[french]{babel} +\usepackage[utf8]{inputenc} +\usepackage[T1]{fontenc} +\usepackage{lettrine, lipsum} % Pour mettre des lettrines - Pour les tests + +\usepackage{fancyhdr, fourier-orns} % En-têtes et pieds de pages +\fancyhf{} % Tout effacer +\fancypagestyle{main}{ + \renewcommand{\headrule}{\hrulefill\raisebox{-2.1pt}{\quad\decofourleft\decotwo\decofourright\quad}\hrulefill} + \fancyhead[L]{\textsc{\nouppercase{\leftmark}}} % Mettre l'en-tête en small capitals + \renewcommand{\footrulewidth}{0pt} + \fancyfoot[C]{\thepage} +} +\pagestyle{plain} % mainstyle appliqué plus tard + +\usepackage{enumitem, multicol, pifont, eurosym, fontawesome5} % Pour les listes à puce +\setlist[itemize, 1]{label = {--}, itemsep = \baselineskip} +\setlist[enumerate, 1]{label = \arabic*), itemsep = \baselineskip} + +\usepackage{amsmath, amsfonts, amssymb, mathrsfs, esvect, stmaryrd} % Pour faire des maths + +\usepackage{array, booktabs, longtable, multirow} % Pour les tableaux +\renewcommand{\arraystretch}{1.3} +\newcolumntype{C}[1]{>{\centering\arraybackslash}m{#1}} + +\usepackage[dvipsnames]{xcolor} % Ok pour le moment (avant tcolorbox) +% Si problème : \PassOptionsToPackage{dvipsnames}{xcolor} avant documentclass +\usepackage[breakable, listings, raster, skins]{tcolorbox} % Boîtes personnalisables +\lstset{literate = {à }{{\`a}}1 {â}{{\^a}}1 {é}{{\'e}}1 {è}{{\`e}}1 {ê}{{\^e}}1 {î}{{\^i}}1 {ô}{{\^o}}1 {ù}{{\`u}}1 {û}{{\^u}}1 {ç}{{\c{}c}}1 {°}{{\degres{}}}1} % Pour résoudre le problème des accents dans le code (listings sous tcolorbox) +\usepackage{upquote} % Pour des apostrophes droites (verbatim / listings) + +\usepackage{graphicx, float, subcaption} % Pour mettre les images +\graphicspath{{./Images/}} % Sous-répertoire pour mettre les images + +\usepackage{pgfornament, pgfplots} % TikZ et tracé de fonctions +\usetikzlibrary{arrows.meta, babel, decorations.text, mindmap, positioning, shadows, shapes.geometric, shapes.misc, shapes.multipart, shapes.symbols, spy, trees} + +\usepackage{pdfpages, pdflscape, qrcode} % Pour inclure des PDF -- Pour les pages au format paysage -- Pour le QR Code + +\usepackage[hyphens]{url} % Pour des césures correctes dans les URLs +\usepackage[pdfauthor = {{Adrien Bouzigues -- I13 CL215}}, pdftitle = {{Initiation à LaTeX -- guide-latex-fr}}, pdfstartview = Fit, pdfpagelayout = SinglePage, pdfnewwindow = true, bookmarksnumbered = true, breaklinks, colorlinks, linkcolor = red, urlcolor = RawSienna, citecolor = cyan, linktoc = all]{hyperref} % Renvois -- Options Adobe + +% Chargement après hyperref selon le guide d'utilisation +\usepackage[os = win]{menukeys} % Pour "écrire" des touches claviers +\renewmenumacro{\keys}[+]{shadowedroundedkeys} % Style choisi pour les touches -- [+] = séparateur + +% Numérotation correcte des différentes parties +\makeatletter\@addtoreset{section}{chapter}\makeatother % RAZ des numéros de section après un chapitre +\renewcommand{\thepart}{\Roman{part}} +\renewcommand{\thechapter}{\arabic{chapter}} +\renewcommand{\thesection}{\thechapter.\arabic{section}}
\ No newline at end of file diff --git a/Master/texmf-dist/doc/latex/guide-latex-fr/Chapitres/page-fin.tex b/Master/texmf-dist/doc/latex/guide-latex-fr/Chapitres/page-fin.tex new file mode 100644 index 00000000000..a3c5ff20870 --- /dev/null +++ b/Master/texmf-dist/doc/latex/guide-latex-fr/Chapitres/page-fin.tex @@ -0,0 +1,47 @@ +\thispagestyle{empty} + +\vspace*{\fill} + +% Eclair +\begin{center} +\begin{tikzpicture}[scale = 0.13] +\filldraw[lightningcyan] (13,0) -- (33,27) -- (19,27) -- (33,50) -- (16,50) -- (30,76) -- (0,34) -- (9,34) -- (6,25) -- (15,39) -- (9,39) -- (13,45) -- (22,45) -- (8,22) -- (24,22) -- (13,0); +\end{tikzpicture} +\end{center} + +\vspace*{\fill} + +% Tête TOTA +%\begin{center} +%\begin{tikzpicture}[scale = 0.13, line width = 3pt] +%% Partie supérieure - Début sommet corne gauche +%\draw[rounded corners] (0,45) -- (1,43) -- (3,39.5) -- (6,38); +%\draw (6,38) -- (15,38); +%\draw[rounded corners] (15,38) -- (17.5,43) -- (20,45) -- (24,46); +%\draw (24,46) -- (36,46); +%\draw[rounded corners] (36,46) -- (40,45) -- (42.5,43) -- (45,37); +%\draw (45,37) -- (53,37); +%\draw[rounded corners] (53,37) -- (55,37.5) -- (60,43); % Sommet corne droite +%\draw[rounded corners] (60,43) -- (60,37) -- (56,31) -- (53,30); +%\draw (53,30) -- (47,30) -- (49,18) -- (44,24) -- (40,18) -- (36,24) -- (31,19) -- (27,24) -- (22,18) -- (18,24) -- (13,20) -- (13,29) -- (10,29); +%\draw[rounded corners] (10,29) -- (7,30) -- (0,38) -- (0,45); +% +%% Partie inférieure - De la gauche vers la droite +%\draw (14,8) -- (14,10) -- (18,16) -- (23,11) -- (27,17) -- (32,10) -- (36,17) -- (40,10) -- (45,17) -- (48,12) -- (48,10); +%\draw[rounded corners] (48,10) -- (43,5) -- (34,0); +%\draw (34,0) -- (29,0); +%\draw[rounded corners] (29,0) -- (20,4) -- (14,8); +% +%% Oeil gauche +%\draw (21,36) -- (21,32); +%\draw[rounded corners] (21,32) -- (22.5,30) -- (24,29); +%\draw (24,29) -- (27,29) -- (21,36); +% +%% Oeil droit +%\draw (40,37) -- (34,29) -- (36,29); +%\draw[rounded corners] (36,29) -- (38,30) -- (39.5,31.5) -- (40,33); +%\draw (40,33) -- (40,37); +%\end{tikzpicture} +%\end{center} +% +%\vspace*{\fill}
\ No newline at end of file diff --git a/Master/texmf-dist/doc/latex/guide-latex-fr/Chapitres/page-garde.tex b/Master/texmf-dist/doc/latex/guide-latex-fr/Chapitres/page-garde.tex index 608f15c8a3d..c1571562e9f 100644 --- a/Master/texmf-dist/doc/latex/guide-latex-fr/Chapitres/page-garde.tex +++ b/Master/texmf-dist/doc/latex/guide-latex-fr/Chapitres/page-garde.tex @@ -31,7 +31,7 @@ % Date & version \node[anchor = north, yshift = -1.5*\ysep, font = \Large] (creation) at (authorcl.south) {13 juillet 2016}; -\node[anchor = north, text width = 0.5\linewidth, align = center, font = \Large\bfseries] at (creation.south) {Version 3.0 à jour au : \\ \today}; +\node[anchor = north, text width = 0.5\linewidth, align = center, font = \Large\bfseries] at (creation.south) {Version 3.5 à jour au \\ \today}; % Graphes diff --git a/Master/texmf-dist/doc/latex/guide-latex-fr/Images/compilation_diagramme.tex b/Master/texmf-dist/doc/latex/guide-latex-fr/Images/compilation_diagramme.tex new file mode 100644 index 00000000000..dde2eae753e --- /dev/null +++ b/Master/texmf-dist/doc/latex/guide-latex-fr/Images/compilation_diagramme.tex @@ -0,0 +1,63 @@ +% Graphes - Paramétrage +\colorlet{commentcol}{red!70!violet} + +% Changement des longueurs pour éviter un conflit avec celles du chapitre TikZ (création de diagrammes) +\newlength{\blocksep} +\addtolength{\blocksep}{2.8cm} + +\newlength{\blockwh} +\addtolength{\blockwh}{4cm} + +\newlength{\blockht} +\addtolength{\blockht}{2cm} + +% Création des styles +\tikzset{ + node distance = \blocksep, + bloc/.style = {draw = cyan!50!blue, fill = cyan!50!blue, text = white, rounded corners, minimum width = \blockwh, minimum height = \blockht, text width = \blockwh - 2mm, align = center}, + dossier/.style = {bloc, draw = orange!70!yellow, fill = orange!70!yellow}, + fin/.style = {bloc, draw = Green, fill = Green}, + arrow/.style = {line width = 4pt, ->, > = Stealth}, + comment/.style = {text width = \blocksep, align = center, font = \itshape} +} + +\begin{tikzpicture} +% Création des blocs +\node[bloc, fill = white, text = black, font = \bfseries, line width = 3pt] (source) {Fichier source \\ \texttt{main.tex}}; +\node[dossier, left = of source] (images) {Dossier \og Images \fg{} \linebreak \texttt{.eps} \quad \texttt{.jpg} \quad \texttt{.pdf} \quad \texttt{.png}}; +\node[dossier, draw = commentcol, very thick, above = of images] (fichierstex) {Fichiers \texttt{.tex} \\ (préambule, chapitres, schémas, etc.)}; +\node[dossier, below = of images] (biblioA) {Bibliographie \\ \texttt{main-biblio.bib}}; + +\node[bloc, below = of source, xshift = \blockwh/2+\blocksep/2] (dvi) {DVI}; +\node[bloc, right = of source] (ps) {PostScript (PS)}; +\node[bloc, right = of ps] (output) {Fichiers annexes \\ (générés par \LaTeX{})}; +\node[fin, above = of output] (pdfA) {PDF généré \\ \texttt{main.pdf}}; + +\node[bloc, right = of pdfA] (biblioB) {Mise en forme de la bibliographie \\ \texttt{main.bbl}}; +\node[bloc, below = of biblioB, yshift = -\blockht-\blocksep] (index) {Création index \\ \texttt{.ind}}; +\node[fin, right = of biblioB, yshift = -\blockht-\blocksep] (pdfB) {PDF fini ! \\ (bibliographie et/ou index)}; + +% Séparateur +\draw[dash pattern = on 13pt off 13pt, commentcol, line width = 3pt] ([xshift = \blockwh/2+\blocksep/4]pdfA.north) node[comment, text width = \blockwh, font = \itshape\Large, anchor = south, above, yshift = 7pt] {OPTIONNEL} -- ([xshift = -\blockwh/2-3\blocksep/4]index.south); + +% Liens entre les blocs et commentaires +\draw[arrow] (source) -- (images); +\path (source) -- (images) coordinate [midway] (nfictA); +\draw[arrow] (source) -- (nfictA) node[comment, align = left, right, yshift = \blocksep] {appel} |- (fichierstex); +\node[comment, text = commentcol, minimum width = \blockwh, above] (renvoi) at (fichierstex.north) {cf. \autoref{structure-docs} \og \nameref{structure-docs} \fg{}}; +\draw[arrow] (source) -- (nfictA) node[comment, align = left, right, yshift = -\blocksep] {appel} |- (biblioA); + +\draw[arrow, brown] (source) |- node[comment, font = \rmfamily, align = left, anchor = south west] {PDF\LaTeX{} \\ Xe\LaTeX{} \\ Lua\LaTeX{}} node[comment, text width = \blockwh, font = \rmfamily, align = left, anchor = north west] {(\texttt{.jpg}, \texttt{.pdf}, \texttt{.png} \\ \texttt{.eps} toléré)} ([yshift = \blockht/4]pdfA.west); +\draw[arrow, gray] (source) |- node[comment, align = left, font = \rmfamily, right, yshift = \blocksep] {\LaTeX{} \\ (\texttt{.eps})} (dvi); +\draw[arrow, gray] (dvi) -| node[comment, below] {\texttt{dvi2ps}} (ps); +\draw[arrow, gray] (ps) |- node[comment, align = right, left] {\texttt{ps2pdf}} ([yshift = -\blockht/4]pdfA.west); + +\path (pdfA) -- (output) coordinate [midway] (nfictB); +\node[draw, circle, line width = 2pt, font = \bfseries\huge] at (nfictB) {+}; + +\draw[arrow] ([yshift = \blockht/4]pdfA.east) -- ([yshift = \blockht/4]biblioB.west); +\path ([yshift = -\blockht/4]pdfA.east) -- ([yshift = -\blockht/4]biblioB.west) coordinate [midway] (nfictC); +\draw[arrow] ([yshift = -\blockht/4]pdfA.east) -- (nfictC) |- node[comment, align = left, font = \rmfamily, text width = \blockwh, right, yshift = 1.5\blocksep] {\texttt{index.idx} \\ moteur MakeIndex} (index); +\draw[arrow] (biblioB) -| node[comment, text width = \blockwh, align = right, anchor = south east] {Moteur initial $\times 2$} (pdfB); +\draw[arrow] (index) -| node[comment, align = right, anchor = north east] {Moteur initial ?} (pdfB); +\end{tikzpicture}
\ No newline at end of file diff --git a/Master/texmf-dist/doc/latex/guide-latex-fr/Images/compilation_rapide.xcf b/Master/texmf-dist/doc/latex/guide-latex-fr/Images/compilation_rapide.xcf Binary files differindex 2ba8b3412a2..111f4cb2517 100644 --- a/Master/texmf-dist/doc/latex/guide-latex-fr/Images/compilation_rapide.xcf +++ b/Master/texmf-dist/doc/latex/guide-latex-fr/Images/compilation_rapide.xcf diff --git a/Master/texmf-dist/doc/latex/guide-latex-fr/Images/latex-project-logo.svg b/Master/texmf-dist/doc/latex/guide-latex-fr/Images/latex-project-logo.svg index 3683b7b932a..fb9fdf0c407 100644 --- a/Master/texmf-dist/doc/latex/guide-latex-fr/Images/latex-project-logo.svg +++ b/Master/texmf-dist/doc/latex/guide-latex-fr/Images/latex-project-logo.svg @@ -1,116 +1,116 @@ -<svg id="svg2" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://www.w3.org/2000/svg" height="120" width="316.4" version="1.1" xmlns:cc="http://creativecommons.org/ns#" xmlns:dc="http://purl.org/dc/elements/1.1/">
-<metadata id="metadata61">
-<rdf:RDF>
-<cc:Work rdf:about="">
-<dc:format>image/svg+xml</dc:format>
-<dc:type rdf:resource="http://purl.org/dc/dcmitype/StillImage"/>
-<dc:title/>
-</cc:Work>
-</rdf:RDF>
-</metadata>
-<g id="text3038-7" style="font-size:23.53051949px;font-family:Sans;letter-spacing:0px;line-height:125%;word-spacing:0px;font-weight:normal;font-style:normal;fill:#000000;" transform="matrix(0.99452608,0,0,0.99452608,-8.982512,-19.7611)">
-<path id="path3950" style="fill:#000000;" d="m270.88,97.36,1.3572-0.21543,0-9.4214-1.1848-0.12208,0-0.78272,1.8886,0c0.1149,0.000011,0.26809-0.0048,0.45959-0.01436,0.19148-0.0096,0.40212-0.02153,0.63192-0.0359,0.23457-0.01435,0.47633-0.02632,0.72527-0.0359,0.25373-0.0096,0.50027-0.01435,0.73964-0.01436,0.55053,0.000011,1.0556,0.05267,1.5152,0.15798,0.45957,0.10533,0.85453,0.28725,1.1849,0.54575,0.33031,0.25374,0.58643,0.59364,0.76836,1.0197,0.18669,0.42608,0.28005,0.96226,0.28005,1.6085,0,0.38778-0.0551,0.74922-0.16516,1.0843-0.10533,0.33512-0.25373,0.63911-0.44522,0.91198-0.1915,0.27288-0.41889,0.51464-0.68219,0.72528-0.2633,0.21065-0.54815,0.38538-0.85453,0.52421-0.30639,0.13884-0.63193,0.24416-0.97661,0.31596-0.3399,0.06703-0.68459,0.09575-1.034,0.08617-0.36384-0.0096-0.65826-0.01196-0.88326-0.0072-0.22501,0.0048-0.4141,0.01915-0.56729,0.04309v3.4109l1.9173,0.21543v0.61038h-4.6748v-0.61038m2.7575-4.4737c0.27287,0.0383,0.5242,0.06224,0.754,0.07181,0.23457,0.0048,0.45957,0.0072,0.675,0.0072,0.22979,0.000005,0.45719-0.01436,0.68219-0.04309,0.22979-0.03351,0.44522-0.08856,0.64629-0.16516,0.20585-0.08138,0.39494-0.18909,0.56729-0.32314,0.17713-0.13883,0.32793-0.31596,0.4524-0.53139,0.12925-0.21542,0.22979-0.47154,0.3016-0.76836,0.0718-0.30159,0.10771-0.65585,0.10772-1.0628-0.00001-0.88085-0.24895-1.5343-0.74682-1.9604-0.4931-0.42606-1.2016-0.62473-2.1256-0.59602-0.23458,0.0096-0.45959,0.02395-0.67501,0.04309-0.21064,0.01437-0.42368,0.04788-0.6391,0.10053v5.2277"/>
-<path id="path3952" style="fill:#000000;" d="m280.38,97.36,1.1633-0.1508,0-5.8453-1.0197-0.56011,0-0.44522,1.8958-0.5673,0.33751,0.14362,0,1.1059c0.0909-0.13404,0.22739-0.27526,0.40931-0.42368,0.1867-0.1484,0.39495-0.28244,0.62474-0.40213,0.22979-0.12446,0.46915-0.225,0.7181-0.3016,0.24893-0.08138,0.48351-0.12207,0.70373-0.12208,0.15797,0.000008,0.2992,0.0048,0.42368,0.01436,0.12925,0.0048,0.2202,0.01676,0.27287,0.0359v1.4721c-0.0766-0.02872-0.15559-0.05744-0.23697-0.08617-0.0814-0.0335-0.17235-0.05983-0.27288-0.07899-0.0957-0.02393-0.20586-0.04308-0.33032-0.05745-0.12447-0.01436-0.26809-0.02154-0.43086-0.02154-0.38777,0.000007-0.71331,0.05027-0.9766,0.1508-0.26331,0.09575-0.50507,0.21304-0.72528,0.35187v5.6155l2.0466,0.17234v0.61038h-4.603v-0.61038"/>
-<path id="path3954" style="fill:#000000;" d="m286.95,93.791c0.01-0.64149,0.11968-1.2136,0.33032-1.7162,0.21543-0.50745,0.49788-0.93591,0.84735-1.2854,0.34947-0.34946,0.75161-0.61755,1.2064-0.80426,0.45958-0.1867,0.93831-0.28244,1.4362-0.28724,0.60798-0.0048,1.137,0.10054,1.587,0.31596,0.45,0.21544,0.82101,0.51225,1.113,0.89044,0.2968,0.37342,0.51702,0.81385,0.66064,1.3213,0.14361,0.50746,0.21303,1.0508,0.20825,1.6301-0.005,0.63671-0.10772,1.2184-0.30878,1.745-0.19629,0.5266-0.46438,0.979-0.80427,1.3572-0.33511,0.37341-0.73007,0.66544-1.1848,0.87608-0.45001,0.20585-0.93353,0.30878-1.4506,0.30878-0.66065,0-1.2232-0.11968-1.6875-0.35905-0.46437-0.23936-0.84256-0.56011-1.1346-0.96225-0.29203-0.40213-0.50507-0.8641-0.63911-1.3859-0.12926-0.5266-0.1891-1.0747-0.17952-1.6444m3.7054,3.5474c0.40691,0.0096,0.7492-0.05984,1.0269-0.20825,0.28245-0.1484,0.50984-0.36623,0.68219-0.65347,0.17712-0.29202,0.30399-0.65107,0.38059-1.0771,0.0814-0.43085,0.12207-0.92394,0.12208-1.4793-0.00001-0.48351-0.0431-0.93352-0.12926-1.35-0.0814-0.42128-0.21304-0.7875-0.39495-1.0987-0.17714-0.31117-0.40453-0.55532-0.68219-0.73246-0.27288-0.18191-0.59842-0.27766-0.97661-0.28724-0.40693-0.0048-0.754,0.06703-1.0412,0.21543-0.28245,0.14363-0.51464,0.35666-0.69655,0.6391-0.18192,0.28246-0.31596,0.62714-0.40213,1.0341-0.0814,0.40692-0.12208,0.8689-0.12208,1.3859,0,0.46437,0.0455,0.91198,0.13644,1.3428,0.091,0.43086,0.22739,0.81384,0.40931,1.149,0.18192,0.33032,0.41171,0.59841,0.68937,0.80427,0.28245,0.20107,0.61517,0.30639,0.99816,0.31596"/>
-<path id="path3956" style="fill:#000000;" d="m297.39,87.889c-0.1149,0.00001-0.2274-0.01914-0.3375-0.05745-0.11011-0.04307-0.20825-0.10052-0.29442-0.17234-0.0814-0.07659-0.14841-0.16994-0.20107-0.28006-0.0479-0.1101-0.0718-0.23457-0.0718-0.37341,0-0.1484,0.0311-0.28723,0.0934-0.41649,0.067-0.12925,0.15079-0.23935,0.25133-0.33032,0.10053-0.09573,0.21303-0.16994,0.3375-0.22261,0.12926-0.05265,0.25851-0.07898,0.38777-0.07899,0.31596,0.000012,0.54575,0.08858,0.68937,0.2657,0.14841,0.17236,0.22261,0.3806,0.22261,0.62474,0,0.15799-0.0311,0.30161-0.0933,0.43086-0.0622,0.12927-0.14362,0.23938-0.24415,0.33032-0.10054,0.08618-0.21543,0.1556-0.34469,0.20825-0.12926,0.04788-0.26091,0.07182-0.39495,0.07181m-0.36623,3.4397-0.99815-0.53139,0-0.43086,2.0178-0.57448,0.33032,0.14362,0,8.1504c0,0.56011-0.0622,1.0604-0.1867,1.5008-0.11969,0.44522-0.29442,0.82102-0.52421,1.1274-0.22501,0.31117-0.49788,0.54814-0.81863,0.71091s-0.6798,0.24415-1.0771,0.24416c-0.0479-0.00001-0.1125-0.002-0.19389-0.007-0.0814-0.005-0.16277-0.012-0.24415-0.0215-0.0766-0.01-0.14841-0.0215-0.21543-0.0359-0.067-0.0144-0.11011-0.0287-0.12925-0.0431v-0.99097c0.0383,0.0144,0.0934,0.0263,0.16516,0.0359,0.0718,0.01,0.14601,0.0168,0.22261,0.0215,0.0814,0.01,0.15798,0.0144,0.22979,0.0144,0.0718,0.005,0.12925,0.007,0.17234,0.007,0.22979,0,0.42367-0.0455,0.58166-0.13644,0.16276-0.0862,0.29202-0.23458,0.38777-0.44521,0.10053-0.20586,0.17234-0.47874,0.21543-0.81863,0.0431-0.3399,0.0646-0.76118,0.0646-1.2638v-6.6567"/>
-<path id="path3958" style="fill:#000000;" d="m300.45,93.978c0-0.61277,0.0958-1.1777,0.28724-1.6947,0.19628-0.51702,0.46676-0.96463,0.81145-1.3428,0.34947-0.37819,0.76836-0.675,1.2567-0.89044,0.48831-0.22021,1.0269-0.3375,1.6157-0.35187,0.42127-0.0096,0.80186,0.05267,1.1418,0.1867,0.33989,0.12926,0.62952,0.32315,0.86889,0.58166,0.23936,0.25852,0.42606,0.57448,0.56012,0.94788,0.13882,0.37342,0.21781,0.79709,0.23697,1.271,0.01,0.3016,0.002,0.56251-0.0215,0.78272-0.0192,0.22022-0.0407,0.4165-0.0646,0.58884h-5.3211c-0.00001,0.02873-0.00001,0.05745,0,0.08617-0.00001,0.02394,0.002,0.05027,0.007,0.07899,0.0191,0.57927,0.11728,1.058,0.29442,1.4362,0.17712,0.3782,0.39734,0.6798,0.66064,0.9048,0.26809,0.22022,0.56251,0.3758,0.88326,0.46676,0.32074,0.08617,0.63431,0.12926,0.9407,0.12926,0.1867,0,0.38298-0.0096,0.58884-0.02872,0.20585-0.02394,0.40452-0.05505,0.59602-0.09335,0.19627-0.04308,0.37579-0.09096,0.53857-0.14362,0.16755-0.05266,0.30159-0.10771,0.40213-0.16516l0.2657,0.61038c-0.13884,0.12447-0.32076,0.23697-0.54576,0.3375-0.22022,0.10053-0.46198,0.1867-0.72527,0.25851-0.26331,0.06702-0.53858,0.11729-0.82581,0.1508-0.28724,0.0383-0.5673,0.05745-0.84017,0.05745-0.57927,0-1.0939-0.09814-1.5439-0.29442-0.44522-0.20107-0.82103-0.48112-1.1274-0.84017-0.30639-0.36383-0.54097-0.80187-0.70373-1.3141-0.15799-0.51224-0.23698-1.0843-0.23698-1.7162m5.3139-0.76836c0.0144-0.24415,0.0168-0.4883,0.007-0.73246-0.005-0.24893-0.0335-0.48351-0.0862-0.70373-0.0527-0.225-0.13405-0.42846-0.24415-0.61038-0.10532-0.1867-0.24894-0.3375-0.43085-0.4524-0.12448-0.08138-0.2657-0.14122-0.42368-0.17952-0.15799-0.04308-0.33751-0.06462-0.53857-0.06463-0.26809,0.000007-0.529,0.05027-0.78272,0.1508-0.24895,0.10054-0.47395,0.26091-0.67501,0.48112-0.19629,0.22022-0.36145,0.50507-0.49549,0.85453-0.13405,0.34469-0.22022,0.76358-0.25851,1.2567h3.928"/>
-<path id="path3960" style="fill:#000000;" d="m308.7,94.107c-0.005-0.66064,0.0933-1.2567,0.29442-1.7881,0.20107-0.53138,0.47633-0.98618,0.82581-1.3644,0.35426-0.37819,0.76836-0.67261,1.2423-0.88326,0.47873-0.21063,0.99336-0.32792,1.5439-0.35187,0.20106-0.0048,0.40452,0.000008,0.61038,0.01436,0.21063,0.0096,0.40691,0.03113,0.58883,0.06463,0.1867,0.02873,0.35665,0.06703,0.50985,0.1149,0.15319,0.04788,0.27766,0.10294,0.37341,0.16516v1.7234h-0.68219l-0.36623-0.9048c-0.0766-0.06223-0.16517-0.11489-0.26569-0.15798-0.10054-0.04308-0.20347-0.07898-0.30878-0.10771-0.10533-0.02872-0.21065-0.04787-0.31597-0.05745-0.10532-0.01435-0.20107-0.02154-0.28723-0.02154-0.32076,0.000008-0.62714,0.05985-0.91916,0.17952-0.29203,0.11969-0.55055,0.30161-0.77555,0.54575-0.225,0.23937-0.40453,0.54336-0.53857,0.91198-0.13404,0.36384-0.20346,0.7923-0.20824,1.2854-0.005,0.65108,0.0718,1.2088,0.22979,1.6732,0.15797,0.46437,0.36383,0.84496,0.61756,1.1418,0.25372,0.29203,0.53617,0.50746,0.84735,0.64628,0.31117,0.13405,0.61756,0.20107,0.91916,0.20107,0.1867,0.000001,0.38058-0.01197,0.58166-0.0359,0.20106-0.02394,0.39494-0.05505,0.58165-0.09335,0.1867-0.0383,0.35904-0.08378,0.51703-0.13644,0.15797-0.05745,0.28723-0.11489,0.38777-0.17234l0.24415,0.6391c-0.13883,0.12447-0.31118,0.23458-0.51702,0.33032-0.20586,0.09575-0.43326,0.17713-0.68219,0.24415-0.24416,0.06702-0.50268,0.11729-0.77555,0.1508-0.26809,0.0383-0.53857,0.05745-0.81144,0.05745-0.55533,0-1.046-0.10053-1.4721-0.3016-0.42607-0.20107-0.78751-0.48112-1.0843-0.84017-0.29203-0.35905-0.51463-0.78272-0.66783-1.271-0.15319-0.49309-0.23218-1.0269-0.23697-1.6014"/>
-<path id="path3962" style="fill:#000000;" d="m317.34,96.089v-2.621c0.005-0.87128,0.007-1.7474,0.007-2.6282h-1.0987v-0.53857c0.21064-0.05265,0.38538-0.09334,0.52421-0.12208,0.14362-0.0335,0.26091-0.06941,0.35187-0.10771,0.0957-0.04308,0.17473-0.09574,0.23697-0.15798,0.0622-0.06223,0.11968-0.15318,0.17234-0.27288,0.0335-0.08138,0.0742-0.20106,0.12208-0.35905,0.0527-0.15797,0.10053-0.31835,0.14362-0.48112,0.0479-0.16755,0.0886-0.32313,0.12207-0.46676,0.0335-0.1484,0.0551-0.25372,0.0646-0.31596h0.71092v1.9173h2.4128v0.9048h-2.4128v3.6192c-0.00001,0.55533,0.007,1.0077,0.0215,1.3572,0.0144,0.34469,0.0503,0.61517,0.10771,0.81145,0.0575,0.19628,0.14123,0.33032,0.25134,0.40213,0.1101,0.06702,0.26329,0.10053,0.45958,0.10053,0.11968,0.000001,0.25133-0.01197,0.39495-0.03591,0.1484-0.02393,0.28963-0.05266,0.42368-0.08617,0.13882-0.03351,0.26568-0.06942,0.38059-0.10771,0.11488-0.04309,0.20106-0.08378,0.25851-0.12208l0.22261,0.63192c-0.11011,0.11968-0.25613,0.225-0.43804,0.31596-0.18192,0.09096-0.38059,0.16756-0.59602,0.22979-0.21064,0.06223-0.42368,0.10771-0.6391,0.13644-0.21065,0.03351-0.39735,0.05027-0.56012,0.05027-0.52181,0-0.92634-0.16037-1.2136-0.48112-0.28723-0.32075-0.43085-0.84496-0.43085-1.5726"/>
-</g>
-<g id="g3049" style="fill:#000000;" transform="matrix(4.2767203,0,0,4.2767203,147.39868,56.34844)">
-<path id="path3051" d="M5.46,4.23h-0.25c-0.1,1.02-0.24,2.26-2,2.26h-0.81c-0.47,0-0.49-0.07-0.49-0.4v-5.31c0-0.34,0-0.48,0.94-0.48h0.33v-0.3c-0.36,0.03-1.26,0.03-1.67,0.03-0.39,0-1.17,0-1.51-0.03v0.3h0.23c0.77,0,0.79,0.11,0.79,0.47v5.25c0,0.36-0.02,0.47-0.79,0.47h-0.23v0.31h5.19s0.27-2.57,0.27-2.57z" style="fill:#000000;" transform="translate(0,0.17)"/>
-<path id="path3053" d="M2.81,0.16c-0.04-0.12-0.06-0.16-0.19-0.16s-0.16,0.04-0.2,0.16c0,0-1.61,4.08-1.61,4.08-0.07,0.17-0.19,0.48-0.81,0.48v0.25h1.55v-0.25c-0.31,0-0.5-0.14-0.5-0.34,0-0.05,0.01-0.07,0.03-0.14,0,0,0.34-0.86,0.34-0.86h1.98s0.4,1.02,0.4,1.02c0.02,0.04,0.04,0.09,0.04,0.12,0,0.2-0.38,0.2-0.57,0.2v0.25h1.97v-0.25h-0.14c-0.47,0-0.52-0.07-0.59-0.27,0,0-1.7-4.29-1.7-4.29zm-0.4,0.71s0.89,2.26,0.89,2.26h-1.78s0.89-2.26,0.89-2.26z" style="fill:#000000;" transform="translate(2.48,0)"/>
-<path id="path3055" d="M6.27,0h-6.09s-0.18,2.24-0.18,2.24h0.24c0.14-1.61,0.29-1.94,1.8-1.94,0.18,0,0.44,0,0.54,0.02,0.21,0.04,0.21,0.15,0.21,0.38v5.25c0,0.34,0,0.48-1.05,0.48h-0.4v0.31c0.41-0.03,1.42-0.03,1.88-0.03s1.49,0,1.9,0.03v-0.31h-0.4c-1.05,0-1.05-0.14-1.05-0.48v-5.25c0-0.2,0-0.34,0.18-0.38,0.11-0.02,0.38-0.02,0.57-0.02,1.5,0,1.65,0.33,1.79,1.94h0.25s-0.19-2.24-0.19-2.24z" style="fill:#000000;" transform="translate(7.03,0.23)"/>
-<path id="path3057" d="M6.16,4.2h-0.25c-0.25,1.53-0.48,2.26-2.19,2.26h-1.32c-0.47,0-0.49-0.07-0.49-0.4v-2.66h0.89c0.97,0,1.08,0.32,1.08,1.17h0.25v-2.64h-0.25c0,0.85-0.11,1.16-1.08,1.16h-0.89v-2.39c0-0.33,0.02-0.4,0.49-0.4h1.28c1.53,0,1.79,0.55,1.95,1.94h0.25s-0.28-2.24-0.28-2.24h-5.6v0.3h0.23c0.77,0,0.79,0.11,0.79,0.47v5.22c0,0.36-0.02,0.47-0.79,0.47h-0.23v0.31h5.74s0.42-2.57,0.42-2.57z" style="fill:#000000;" transform="translate(12.5,2.45)"/>
-<path id="path3059" d="m3.76,2.95s1.37-2,1.37-2c0.21-0.32,0.55-0.64,1.44-0.65v-0.3h-2.38v0.3c0.4,0.01,0.62,0.23,0.62,0.46,0,0.1-0.02,0.12-0.09,0.23,0,0-1.14,1.68-1.14,1.68s-1.28-1.92-1.28-1.92c-0.02-0.03-0.07-0.11-0.07-0.15,0-0.12,0.22-0.29,0.64-0.3v-0.3c-0.34,0.03-1.07,0.03-1.45,0.03-0.31,0-0.93-0.01-1.3-0.03v0.3h0.19c0.55,0,0.74,0.07,0.93,0.35,0,0,1.83,2.77,1.83,2.77s-1.63,2.41-1.63,2.41c-0.14,0.2-0.44,0.66-1.44,0.66v0.31h2.38v-0.31c-0.46-0.01-0.63-0.28-0.63-0.46,0-0.09,0.03-0.13,0.1-0.24,0,0,1.41-2.09,1.41-2.09s1.58,2.38,1.58,2.38c0.02,0.04,0.05,0.08,0.05,0.11,0,0.12-0.22,0.29-0.65,0.3v0.31c0.35-0.03,1.08-0.03,1.45-0.03,0.42,0,0.88,0.01,1.3,0.03v-0.31h-0.19c-0.52,0-0.73-0.05-0.94-0.36,0,0-2.1-3.18-2.1-3.18z" style="fill:#000000;" transform="translate(17.91,0.17)"/>
-</g>
-<g id="text3038-7-9" style="font-size:23.53051949px;font-family:Sans;letter-spacing:0px;line-height:125%;word-spacing:0px;font-weight:normal;font-style:normal;fill:#000000;" transform="matrix(0.99452608,0,0,0.99452608,-8.982512,-19.7611)">
-<path id="path3965" style="fill:#000000;" d="m125.38,97.009,1.7593-0.21543,0-9.5291-2.6067,0.14362-0.50267,1.2279-0.65346,0.01436,0.17952-2.183,8.5525,0-0.0144,2.2046-0.58883,0.06463-0.37341-1.3357-2.5923-0.13644,0,9.5291,1.8742,0.21543,0,0.61038-5.0338,0,0-0.61038"/>
-<path id="path3967" style="fill:#000000;" d="m133.19,97.009,1.0771-0.1508,0-9.723-1.2279-0.25851,0-0.62474,2.2692-0.3016,0.3375,0.16516-0.0144,3.174-0.0215,1.2423c0.21063-0.17234,0.43803-0.32553,0.68219-0.45958,0.24893-0.13404,0.49787-0.24654,0.74681-0.3375,0.24894-0.09574,0.4907-0.16755,0.72528-0.21543,0.23936-0.05265,0.45479-0.07898,0.64628-0.07899,0.4883,0.000008,0.88804,0.07421,1.1992,0.22261,0.31117,0.14841,0.55532,0.3782,0.73246,0.68937,0.18191,0.30639,0.30638,0.70134,0.37341,1.1849,0.067,0.48352,0.0981,1.058,0.0934,1.7234v3.5977l1.0771,0.1508v0.61038h-3.6623v-0.61038l1.2064-0.1508v-2.9873c-0.00001-0.55532-0.0144-1.0436-0.0431-1.4649-0.0239-0.42128-0.0934-0.77314-0.20824-1.0556-0.11012-0.28723-0.27767-0.50266-0.50267-0.64628-0.22501-0.14361-0.53618-0.21542-0.93352-0.21543-0.15799,0.000007-0.32554,0.0096-0.50267,0.02872-0.17713,0.01916-0.35666,0.05267-0.53857,0.10053-0.17713,0.04309-0.35666,0.10293-0.53857,0.17952-0.17713,0.0766-0.34948,0.17474-0.51703,0.29442v5.7663l1.0556,0.1508v0.61038h-3.5115v-0.61038"/>
-<path id="path3969" style="fill:#000000;" d="m143.1,93.626c0-0.61277,0.0958-1.1777,0.28724-1.6947,0.19628-0.51702,0.46676-0.96463,0.81145-1.3428,0.34947-0.37819,0.76836-0.675,1.2567-0.89044,0.4883-0.22021,1.0269-0.3375,1.6157-0.35187,0.42128-0.0096,0.80187,0.05267,1.1418,0.1867,0.33989,0.12926,0.62952,0.32315,0.86889,0.58166,0.23936,0.25852,0.42606,0.57448,0.56011,0.94788,0.13883,0.37342,0.21782,0.79709,0.23697,1.271,0.01,0.3016,0.002,0.56251-0.0215,0.78272-0.0192,0.22022-0.0407,0.4165-0.0646,0.58884h-5.3211v0.08617c0,0.02394,0.002,0.05027,0.007,0.07899,0.0192,0.57927,0.11729,1.058,0.29442,1.4362s0.39735,0.6798,0.66065,0.9048c0.26808,0.22022,0.5625,0.3758,0.88326,0.46676,0.32074,0.08617,0.63431,0.12926,0.9407,0.12926,0.1867,0.000001,0.38298-0.0096,0.58884-0.02872,0.20585-0.02394,0.40452-0.05505,0.59602-0.09335,0.19627-0.04308,0.37579-0.09096,0.53857-0.14362,0.16754-0.05266,0.30159-0.10771,0.40213-0.16516l0.26569,0.61038c-0.13883,0.12447-0.32075,0.23697-0.54575,0.3375-0.22022,0.10053-0.46198,0.1867-0.72527,0.25851-0.26331,0.06702-0.53858,0.11729-0.82581,0.1508-0.28724,0.0383-0.5673,0.05745-0.84017,0.05745-0.57927,0-1.0939-0.09814-1.5439-0.29442-0.44522-0.20107-0.82102-0.48112-1.1274-0.84017-0.30639-0.36383-0.54097-0.80187-0.70374-1.3141-0.15798-0.51224-0.23697-1.0843-0.23697-1.7162m5.3139-0.76836c0.0144-0.24415,0.0167-0.4883,0.007-0.73246-0.005-0.24893-0.0335-0.48351-0.0862-0.70373-0.0527-0.225-0.13405-0.42846-0.24415-0.61038-0.10533-0.1867-0.24895-0.3375-0.43086-0.4524-0.12447-0.08138-0.2657-0.14122-0.42367-0.17952-0.15799-0.04308-0.33751-0.06462-0.53857-0.06463-0.2681,0.000007-0.529,0.05027-0.78273,0.1508-0.24894,0.10054-0.47394,0.26092-0.67501,0.48112-0.19628,0.22022-0.36144,0.50507-0.49548,0.85453-0.13405,0.34469-0.22022,0.76358-0.25852,1.2567h3.928"/>
-</g>
-<path id="rect3070" style="fill:#000000;" d="m107.75,84.833,32.413,0,0,1.2866-32.413,0z"/>
-<path id="rect3070-7" style="fill:#000000;" d="m260.43,84.835,55.971,0,0,1.2866-55.971,0z"/>
-<g id="layer1" transform="matrix(1.3435916,0,0,1.3435916,-256.71526,-723.66624)">
-<g id="g3363" transform="matrix(0.58826838,0,0,-0.58826838,191.06432,638.60215)">
-<g id="g3365" transform="translate(-131.809,509.294)">
-<g id="g3367">
-<g id="g3369">
-<g id="g3371">
-<path id="path3373" style="fill-rule:nonzero;fill:#000000;" d="m149.96-340.67c1.8968-3.4174,3.8698-6.3595,5.9279-8.8918l0.0249-0.0249c0.007-0.009,0.0177-0.0161,0.0249-0.0249-0.94806,0.13835-1.9246,0.23487-2.939,0.2242-2.0037-0.0211-4.1554-0.36537-6.4758-1.0959,3.9851-3.3371,7.3783-5.7768,10.361-7.6714-0.0729,0.024-0.15143,0.0511-0.2242,0.0747l0.2242-0.12457c-4.621,1.4463-9.6061,1.6232-15.442-1.1457,4.1905-2.6223,7.7071-4.5356,10.81-5.9777-0.0908,0.0135-0.18332,0.0371-0.274,0.0498l0.2242-0.12451c-4.8356,0.83273-9.854,0.36464-15.318-3.2379,3.5625-1.5875,6.6575-2.7858,9.4148-3.7112h0.0249l0.17441-0.0996c-4.6111-0.17927-9.1809-1.615-13.649-5.8531,3.9032-0.96823,7.245-1.6148,10.187-2.0424-0.0826-0.0167-0.1665-0.0321-0.24906-0.0498-0.11484,0.002-0.23434-0.002-0.3487,0l0.12456-0.0498c-3.4373-0.78055-6.789-2.5039-10.062-5.8034,2.652-0.573,5.0383-1.0181,7.223-1.345-2.6896-1.3001-5.2443-3.3148-7.5717-6.4011,3.056-0.23727,5.7634-0.33865,8.1944-0.34871-2.9412-1.3609-5.7127-3.4976-8.1695-6.9491,4.3649-0.21814,8.0134-0.20873,11.158-0.0249-0.0588-0.0241-0.11565-0.0501-0.17432-0.0747-0.19112-0.0171-0.38297-0.0293-0.57291-0.0498l0.27402-0.0996c-3.2694-1.4354-6.2954-3.7615-8.8918-7.6962,5.4246-0.0792,9.7215,0.17686,13.325,0.62265-0.10976-0.0298-0.21441-0.0683-0.32383-0.0996-0.13908-0.008-0.28605-0.0147-0.4234-0.0249l0.17433-0.0498c-4.2498-1.266-8.174-3.7047-11.432-8.6427,4.382-0.0639,8.0408,0.10194,11.183,0.39853-0.0682-0.0372-0.13136-0.0867-0.19926-0.12459-3.7543-2.0944-6.9817-5.2401-9.116-10.561,3.8538,0.72993,7.0841,1.5002,9.8881,2.3164-0.0465-0.0369-0.10329-0.0621-0.14945-0.0996l0.17432,0.0249c-2.8863-2.1539-5.3128-5.1719-6.949-9.6391,2.6533,0.58655,5.0239,1.203,7.1483,1.8183-1.907-2.3057-3.38-5.1839-4.2092-8.9665,2.8812,1.061,5.3803,2.0819,7.5966,3.0885-0.0268-0.0314-0.0481-0.068-0.0747-0.0996-0.0453-0.0357-0.10543-0.0639-0.14942-0.0996l0.0747,0.0249c-2.0331-2.4363-3.5844-5.5001-4.3587-9.5643,4.0565,1.622,7.3561,3.1788,10.137,4.6576-0.0786-0.076-0.17511-0.14738-0.24907-0.22412l0.0747,0.0249c-2.4595-2.6976-4.2958-6.1629-5.0312-10.934,4.7882,2.1139,8.4776,4.0784,11.507,5.9279-0.032-0.0328-0.068-0.0668-0.0996-0.0996l0.19926,0.0996c-3.4396-2.9457-6.0783-6.8543-6.9988-12.827,6.4533,2.8489,10.967,5.4289,14.471,7.8208-1.5048-3.0434-2.2999-6.5895-1.9178-11.034,6.237,4.7851,10.186,8.643,13.126,12.055-0.005-0.0492,0.004-0.10012,0-0.14946-0.1783-2.1625-0.0435-4.5072,0.59776-7.0984,3.6977,6.3528,7.3958,8.9861,11.158,11.158-4.7054-3.05-3.8605-5.5216-3.8605-8.3439,5.5952,5.8925,13.379,12.151,15.766,16.065-3.191-4.7923-4.4652-9.3434-5.3052-13.35-16.327-8.6347-26.291-10.895-37.435-14.346,4.3231-1.5856,8.9633-3.1258,7.0487-5.3301l-5.106-5.106c3.2647,1.0149,6.5993,2.4781,9.4896,0.49814-0.28367-2.6778-3.6612-4.0429-6.5506-5.604,5.0869,1.8329,6.1844,1.4013,7.5219,0.97135,0.66825-3.2088-1.6524-4.9294-3.1631-7.0487,12.813,9.7424,29.522,17.434,41.296,20.648,16.561,5.5771,37.929,11.391,43.737,25.53l5.8033,23.313c6.8085,7.3686,13.07,14.997,16.04,24.284,18.958,3.6678,34.295,2.3531,50.287,1.9427-1.4576,0.24292-48.818,8.2691-48.818,8.2691-13.844,18.942-34.497,6.0592-41.296-12.653-1.716-4.7228-11.509-4.7124-14.346,0.0249-11.218,24.152-45.282,49.693-74.273,59.104v0.00016z"/>
-</g>
-<g id="g3375">
-<path id="path3377" style="fill-rule:nonzero;fill:#008080;" d="m149.63-339.31c1.9102-3.4413,3.8962-6.3775,5.9698-8.9221-0.94804,0.13829-1.9248,0.21967-2.9392,0.20899-2.0037-0.0211-4.1457-0.35373-6.4662-1.0843,4.0493-3.3909,7.4714-5.8655,10.49-7.7726-4.6633,1.4895-9.685,1.7016-15.584-1.0973,4.3088-2.6963,7.9255-4.6449,11.091-6.1005-4.9349,0.90956-10.052,0.4951-15.637-3.1874,3.6874-1.6432,6.8762-2.8768,9.7059-3.8145-4.6448-0.16235-9.2423-1.5969-13.742-5.8653,3.9032-0.96832,7.2473-1.6103,10.189-2.0379-3.6004-0.72745-7.1321-2.4544-10.555-5.9045,2.652-0.57299,5.0392-1.0054,7.2239-1.3325-2.6896-1.3-5.2362-3.3147-7.5636-6.4009,3.056-0.23727,5.7597-0.34265,8.1906-0.35269-2.9413-1.3609-5.6946-3.5113-8.1514-6.9627,4.3648-0.21817,8.0109-0.19694,11.156-0.013-3.4564-1.413-6.642-3.8007-9.3663-7.9294,5.4246-0.0792,9.7208,0.18126,13.324,0.62703-4.4722-1.2142-8.612-3.6557-12.018-8.8176,4.382-0.0639,8.0396,0.0954,11.182,0.39191-3.8417-2.0935-7.1412-5.269-9.3139-10.686,3.9551,0.74904,7.2698,1.5509,10.124,2.3905-2.9731-2.1636-5.4721-5.2025-7.1456-9.7712,2.6533,0.58652,5.0081,1.2006,7.1325,1.8158-1.9071-2.3057-3.3771-5.1916-4.2063-8.9744,2.8812,1.0611,5.3734,2.0894,7.5897,3.096-2.1056-2.4639-3.7138-5.5831-4.5068-9.7451,4.0565,1.622,7.356,3.1717,10.137,4.6505-2.5494-2.7253-4.4461-6.2311-5.1991-11.117,4.9388,2.1803,8.728,4.2001,11.809,6.1005-3.5384-2.9654-6.2592-6.9085-7.1978-12.998,6.4534,2.849,10.957,5.4329,14.461,7.8249-1.5048-3.0435-2.3024-6.6071-1.9203-11.051,6.237,4.7851,10.188,8.6584,13.128,12.07-0.19831-2.2032-0.0419-4.5996,0.61402-7.25,4.4776,7.6927,8.9272,9.9388,13.532,12.506-7.3345-3.6926-6.2472-6.4725-6.2472-9.698,5.5952,5.8924,13.398,12.141,15.785,16.055-3.191-4.7923-4.4899-9.3306-5.3297-13.337-16.327-8.6347-26.268-10.891-37.413-14.343,4.323-1.5856,8.9557-3.1385,7.0411-5.3428l-5.1077-5.0946c3.2647,1.0148,6.5935,2.4633,9.4838,0.48331-0.28364-2.6779-3.6684-4.0299-6.5578-5.591,5.0868,1.8329,6.1869,1.4096,7.5244,0.9797,0.66825-3.2088-1.6506-4.9348-3.1612-7.0541,12.813,9.7423,29.532,17.439,41.306,20.653,16.561,5.5772,37.915,11.374,43.722,25.512l5.8262,23.318c6.8084,7.3686,13.071,15.01,16.042,24.297,18.958,3.6678,34.288,2.3437,50.28,1.9334-1.4576,0.24286-48.83,8.269-48.83,8.269-13.844,18.942-34.481,6.0668-41.28-12.645-1.716-4.7228-11.506-4.7243-14.343,0.013-11.218,24.152-45.286,49.687-74.277,59.098v0.00007z"/>
-</g>
-<g id="g3379">
-<path id="path3381" style="fill-rule:nonzero;fill:#ffffff;" d="m261.48-388.74-0.12456-0.19925c-0.4913-0.91531-1.3223-1.5401-2.4907-1.9179-1.1684-0.37781-2.6653-0.49887-4.4085-0.42338l-1.0959,0.0498,0.79703-0.77217c0.40463-0.38918,0.51767-0.69986,0.52301-0.97133,0.006-0.27155-0.11111-0.56476-0.37358-0.89664-0.525-0.66394-1.5677-1.3848-2.5405-2.1172l-0.32382-0.22413,0.22419-0.32382c0.81153-1.245,1.1831-2.2034,1.2702-2.939,0.0871-0.73564-0.0839-1.2633-0.42338-1.7185-0.67914-0.91069-2.1699-1.5277-3.5119-2.2914l-0.24906-0.12457,0.0498-0.29889c0.1154-0.70026-0.0733-1.2725-0.57283-1.8431-0.49965-0.57051-1.3407-1.1146-2.4658-1.5941l-0.29887-0.1245,0.0498-0.32383c0.22444-1.4994,0.67516-2.8042,1.619-3.6364,0.86341-0.76131,2.1696-0.96208,3.8357-0.62262,0.29044-1.5984,0.70673-3.052,1.6687-4.0101,0.97508-0.97099,2.5188-1.2582,4.5829-0.72224,0.46452-1.1195,1.1433-1.9172,1.9179-2.4409,0.8505-0.57498,1.9619-0.80691,2.8761-1.0909l0.54167,0.58256c-0.90741,0.28181-2.247,0.71739-2.9695,1.2057-0.72243,0.48833-1.3094,1.1582-1.7186,2.3163l-0.12451,0.39852-0.3985-0.1245c-2.1225-0.65228-3.2994-0.35858-4.1097,0.44834-0.81017,0.80682-1.2658,2.2654-1.5442,3.9602l-0.0747,0.44833-0.44831-0.1245c-1.7494-0.45646-2.7822-0.223-3.487,0.39852-0.65841,0.58055-1.0481,1.6098-1.2702,2.8892,1.0135,0.46855,1.8823,0.98105,2.4409,1.6189,0.54563,0.62318,0.78188,1.3925,0.74721,2.1918,1.2365,0.6801,2.7279,1.2646,3.5866,2.416,0.44899,0.60199,0.68219,1.3933,0.57283,2.3163-0.0994,0.83983-0.51064,1.8101-1.2204,2.964,0.87123,0.64177,1.817,1.2849,2.4159,2.0424,0.33307,0.42105,0.5835,0.88716,0.5729,1.4196-0.006,0.29364-0.2882,0.56113-0.44832,0.84685,1.5152-0.0198,2.8957,0.08,4.0349,0.44833,1.2002,0.38808,2.1431,1.0954,2.7646,2.0673,1.7934-0.009,3.6505-0.40349,5.5293-0.6476,1.93-0.25082,3.894-0.3181,5.7536,0.49814l-0.3487,0.77207c-1.6453-0.72217-3.4029-0.6922-5.2803-0.44832-1.8774,0.24397-3.834,0.68681-5.8034,0.67253h-0.24907z"/>
-</g>
-<g id="g3383">
-<path id="path3385" style="stroke-linejoin:miter;fill-rule:nonzero;stroke:#ffffff;stroke-linecap:butt;stroke-miterlimit:4;stroke-dasharray:none;stroke-width:0.83587998;fill:#ffffff;" stroke-miterlimit="4" d="m268.45-388.43c0-1.9546-1.5845-3.5391-3.5391-3.5391-1.9545,0-3.539,1.5845-3.539,3.5391,0,1.9545,1.5845,3.5391,3.539,3.5391,1.9546,0,3.5391-1.5845,3.5391-3.5391z"/>
-</g>
-<g id="g3387">
-<path id="path3389" style="fill-rule:nonzero;fill:#ffffff;" d="m279.02-385.11c-3.1773-4.1333-3.9762-3.0658-5.9105-3.7587l-0.32373-0.12449,0.0498-0.34868c0.74474-4.1516,3.2052-5.4707,5.1254-6.9798l0.1072,0.33579,0.51114,0.0974c-1.925,1.5127-4.0314,2.794-4.7973,6.3224,1.4086,0.33323,2.7528-0.0929,5.7535,3.8108l-0.51552,0.64527z"/>
-</g>
-<g id="g3391">
-<path id="path3393" style="fill-rule:nonzero;fill:#ffffff;" d="m156.68-356.87c6.0038-3.7227,15.885-7.5616,22.231-11.572,3.4911-2.2229,6.6268-4.4378,9.0662-6.3512,2.4394-1.9135,4.2432-3.8904,4.9067-4.5331,0.66353-0.64271,1.1139-0.33905,0.67246,0.49814-0.44139,0.83712-2.6143,2.7725-5.081,4.7074-2.4666,1.9349-5.6042,4.1401-9.116,6.3762-7.0236,4.4721-15.267,8.4708-22.679,10.875z"/>
-</g>
-<g id="g3395">
-<path id="path3397" style="fill-rule:nonzero;fill:#ffffff;" d="m155.6-348.23c2.5168-0.58121,6.2314-2.7278,10.362-5.0244,4.1307-2.2966,8.6327-5.1227,12.752-7.8706,4.1196-2.7479,7.2959-5.1529,9.835-7.0903,2.4112-2.0634,3.6017-3.3995,4.0631-3.3955,0.0633-0.0127,0.12562-0.0137,0.2242,0,0.0986,0.0137,0.26494,0.0897,0.3487,0.24907,0.0837,0.15924,0.0513,0.29308,0.0249,0.37357-0.0265,0.0805-0.0406,0.12321-0.0747,0.17439-0.13623,0.20459-0.34416,0.39619-0.6476,0.67244-0.60693,0.5525-1.6097,1.365-2.8892,2.3413-2.5591,1.9526-6.2778,4.6154-10.411,7.3725-4.1334,2.7571-8.6672,5.6076-12.827,7.9204-1.4787,0.54794-8.7305,4.383-10.761,4.2772h-0.0001z"/>
-</g>
-<g id="g3399">
-<path id="path3401" style="fill-rule:nonzero;fill:#ffffff;" d="m152.16-364.08c7.7058-3.1453,18.668-6.8398,25.985-11.439,3.9315-2.4965,7.3558-4.9835,9.913-7.0238,1.2786-1.0201,2.3465-1.9371,3.1383-2.665,0.79176-0.72801,1.2383-1.3888,1.4944-1.5692,0.53592-0.37753,0.94616-0.12672,0.6974,0.47329-0.18785,0.45301-0.80771,0.97268-1.619,1.7186-0.81129,0.74585-1.8972,1.66-3.1881,2.69-2.5817,2.0598-6.0286,4.5845-9.9877,7.0986-7.9181,5.028-17.384,9.4486-26.433,10.717z"/>
-</g>
-<g id="g3403">
-<path id="path3405" style="fill-rule:nonzero;fill:#ffffff;" d="m146.23-371.07c6.0055-0.004,18.411-5.501,23.64-8.2559,8.4783-4.5216,16.188-10.334,20.449-14.396,0.47246-0.45047,1.1627-0.0529,0.62271,0.57282-3.9578,4.5861-12.132,9.9907-20.673,14.546-8.5411,4.5551-17.385,7.5403-24.039,7.5336z"/>
-</g>
-<g id="g3407">
-<path id="path3409" style="fill-rule:nonzero;fill:#ffffff;" d="m142.76-378.98c9.0285-1.3211,19.851-4.9654,27.736-8.9142,4.4003-2.2342,8.324-4.6272,11.333-6.7498,3.0087-2.1226,5.2302-4.5124,5.7784-5.1308,0.54821-0.6184,1.2012-0.64416,0.69741,0.44832-0.50382,1.0925-2.9543,3.2293-6.0026,5.3799s-6.9976,4.548-11.432,6.7997c-8.8694,4.5033-18.97,8.0461-28.11,8.167z"/>
-</g>
-<g id="g3411">
-<path id="path3413" style="fill-rule:nonzero;fill:#ffffff;" d="m145.74-385.7c-2.2428,0.19567-4.2617-0.26422-6.3186-0.52134,8.0222,0.75177,19.24-2.9322,26.718-6.378,8.8087-4.1296,16.123-9.7992,19.627-13.4,0.54852-0.56374,0.93611,0.15461,0.6476,0.52307-3.2626,4.1653-11.032,9.4797-19.926,13.649-6.6701,3.127-14.019,5.5399-20.748,6.1271z"/>
-</g>
-<g id="g3415">
-<path id="path3417" style="fill-rule:nonzero;fill:#ffffff;" d="m140.04-392.93c7.8945-0.58519,18.464-2.4755,25.868-5.8742,7.4463-3.4828,13.097-7.9987,15.94-10.561,0.43748-0.39421,1.2112-0.11495,0.59778,0.59778-2.5947,3.0148-8.6278,7.1848-16.165,10.71-7.5368,3.5251-16.692,5.7829-26.241,5.127z"/>
-</g>
-<g id="g3419">
-<path id="path3421" style="fill-rule:nonzero;fill:#ffffff;" d="m147.13-399.5c-1.6656,0.0564-2.4469-0.25529-4.0538-0.4288,5.3581-0.23616,13.873-1.6612,18.575-3.2574,6.1018-2.117,11.119-5.3058,13.973-7.796,0.55105-0.48085,0.96185,0.16426,0.59777,0.57291-2.6728,2.9994-8.105,5.8719-14.297,8.0201-4.6437,1.6111-9.7981,2.7202-14.795,2.8892z"/>
-</g>
-<g id="g3423">
-<path id="path3425" style="fill-rule:nonzero;fill:#ffffff;" d="m146.9-407.27c11.454-0.7729,18.38-2.791,23.689-7.5468,0.39781-0.35636,1.0258,0.13414,0.59778,0.59777-5.4482,5.9027-16.175,7.5475-24.287,6.949z"/>
-</g>
-<g id="g3427">
-<path id="path3429" style="fill-rule:nonzero;fill:#ffffff;" d="m155.72-414.15c-3.4722,0.27927-6.3776-0.4795-9.542-1.5332,9.2605,1.476,13.111,0.76824,20.127-2.5266,0.79983-0.37556,0.75288,0.50929,0.39853,0.72235-3.7271,2.2403-7.5119,3.0583-10.984,3.3375z"/>
-</g>
-<g id="g3431">
-<path id="path3433" style="fill-rule:nonzero;fill:#ffffff;" d="m155.39-420.6c-3.2829-0.2911-6.0705-1.4184-8.3688-3.2877,9.1706,3.5347,11.705,2.8314,18.719,0.84302,0.92241-0.2615,0.63579,0.62702,0.27395,0.77217-4.1998,1.6838-7.3409,1.9636-10.624,1.6726z"/>
-</g>
-<g id="g3435">
-<path id="path3437" style="fill-rule:nonzero;fill:#ffffff;" d="m173.56-426.28c-4.8928,0.52905-10.405-0.0643-15.243-0.94647-4.8377-0.88215-8.9984-2.6745-11.347-4.5848,8.0435,3.3971,9.5094,3.3898,11.497,3.7629,4.7661,0.86908,9.4905,1.208,15.044,0.94647,0.50357-0.0238,0.47783,0.77558,0.0498,0.82189z"/>
-</g>
-<g id="g3439">
-<path id="path3441" style="fill-rule:nonzero;fill:#ffffff;" d="m176.4-430.24c-5.3024,0.2003-10.779-1.1119-15.517-2.4658-4.7376-1.354-8.2541-3.2016-10.573-5.0877,4.6921,2.257,9.0584,3.7848,10.797,4.2907,4.6714,1.3351,9.3839,2.4909,15.343,2.416,0.46291-0.006,0.76212,0.81613-0.0498,0.84684z"/>
-</g>
-<g id="g3443">
-<path id="path3445" style="fill-rule:nonzero;fill:#ffffff;" d="m180.73-433.5c-4.994-0.73732-10.23-2.2123-14.795-3.7609-4.5645-1.5487-7.8136-3.3879-9.9331-5.5898,5.4293,3.1165,8.4152,4.2093,10.182,4.8176,4.5085,1.5297,8.7183,2.5942,14.695,3.7112,0.71732,0.13406,0.14124,0.86486-0.14944,0.82189z"/>
-</g>
-<g id="g3447">
-<path id="path3449" style="fill-rule:nonzero;fill:#ffffff;" d="m183.27-437.66c-10.015-1.5953-16.505-5.9162-20.63-10.201,6.3928,4.8165,10.84,7.405,20.804,9.3794,0.63066,0.12497,0.44019,0.91984-0.17433,0.82197z"/>
-</g>
-<g id="g3451">
-<path id="path3453" style="fill-rule:nonzero;fill:#ffffff;" d="m188.15-441.32c-10.073-1.5516-15.882-7.675-18.301-11.717,6.3731,6.3665,11.333,9.8314,18.475,10.895,0.72281,0.10759,0.53837,0.93171-0.17432,0.82189z"/>
-</g>
-<g id="g3455">
-<path id="path3457" style="fill-rule:nonzero;fill:#ffffff;" d="m191.19-444.51c-1.571-0.19615-3.7088-1.3087-5.7286-2.5903s-3.5438-2.841-4.4526-4.8501c2.433,2.511,3.407,3.1904,4.9009,4.1527,1.9392,1.2305,3.8934,2.0055,5.4795,2.4658,0.74354,0.21577,0.18164,0.86949-0.19927,0.8219z"/>
-</g>
-<g id="g3459">
-<path id="path3461" style="stroke-linejoin:miter;fill-rule:nonzero;stroke:#ffffff;stroke-linecap:butt;stroke-miterlimit:4;stroke-dasharray:none;stroke-width:0.83587998;fill:#ffffff;" stroke-miterlimit="4" d="m268.45-388.43c0-1.9546-1.5845-3.5391-3.5391-3.5391-1.9545,0-3.539,1.5845-3.539,3.5391,0,1.9545,1.5845,3.5391,3.539,3.5391,1.9546,0,3.5391-1.5845,3.5391-3.5391z"/>
-</g>
-<g id="g3463">
-<path id="path3465" style="stroke-linejoin:miter;fill-rule:nonzero;stroke:#ffffff;stroke-linecap:butt;stroke-miterlimit:4;stroke-dasharray:none;stroke-width:0.83587998;fill:#37c871;" stroke-miterlimit="4" d="m268.45-388.43c0-1.9546-1.5845-3.5391-3.5391-3.5391-1.9545,0-3.539,1.5845-3.539,3.5391,0,1.9545,1.5845,3.5391,3.539,3.5391,1.9546,0,3.5391-1.5845,3.5391-3.5391z"/>
-</g>
-</g>
-</g>
-</g>
-</g>
-</g>
+<svg id="svg2" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://www.w3.org/2000/svg" height="120" width="316.4" version="1.1" xmlns:cc="http://creativecommons.org/ns#" xmlns:dc="http://purl.org/dc/elements/1.1/"> +<metadata id="metadata61"> +<rdf:RDF> +<cc:Work rdf:about=""> +<dc:format>image/svg+xml</dc:format> +<dc:type rdf:resource="http://purl.org/dc/dcmitype/StillImage"/> +<dc:title/> +</cc:Work> +</rdf:RDF> +</metadata> +<g id="text3038-7" style="font-size:23.53051949px;font-family:Sans;letter-spacing:0px;line-height:125%;word-spacing:0px;font-weight:normal;font-style:normal;fill:#000000;" transform="matrix(0.99452608,0,0,0.99452608,-8.982512,-19.7611)"> +<path id="path3950" style="fill:#000000;" d="m270.88,97.36,1.3572-0.21543,0-9.4214-1.1848-0.12208,0-0.78272,1.8886,0c0.1149,0.000011,0.26809-0.0048,0.45959-0.01436,0.19148-0.0096,0.40212-0.02153,0.63192-0.0359,0.23457-0.01435,0.47633-0.02632,0.72527-0.0359,0.25373-0.0096,0.50027-0.01435,0.73964-0.01436,0.55053,0.000011,1.0556,0.05267,1.5152,0.15798,0.45957,0.10533,0.85453,0.28725,1.1849,0.54575,0.33031,0.25374,0.58643,0.59364,0.76836,1.0197,0.18669,0.42608,0.28005,0.96226,0.28005,1.6085,0,0.38778-0.0551,0.74922-0.16516,1.0843-0.10533,0.33512-0.25373,0.63911-0.44522,0.91198-0.1915,0.27288-0.41889,0.51464-0.68219,0.72528-0.2633,0.21065-0.54815,0.38538-0.85453,0.52421-0.30639,0.13884-0.63193,0.24416-0.97661,0.31596-0.3399,0.06703-0.68459,0.09575-1.034,0.08617-0.36384-0.0096-0.65826-0.01196-0.88326-0.0072-0.22501,0.0048-0.4141,0.01915-0.56729,0.04309v3.4109l1.9173,0.21543v0.61038h-4.6748v-0.61038m2.7575-4.4737c0.27287,0.0383,0.5242,0.06224,0.754,0.07181,0.23457,0.0048,0.45957,0.0072,0.675,0.0072,0.22979,0.000005,0.45719-0.01436,0.68219-0.04309,0.22979-0.03351,0.44522-0.08856,0.64629-0.16516,0.20585-0.08138,0.39494-0.18909,0.56729-0.32314,0.17713-0.13883,0.32793-0.31596,0.4524-0.53139,0.12925-0.21542,0.22979-0.47154,0.3016-0.76836,0.0718-0.30159,0.10771-0.65585,0.10772-1.0628-0.00001-0.88085-0.24895-1.5343-0.74682-1.9604-0.4931-0.42606-1.2016-0.62473-2.1256-0.59602-0.23458,0.0096-0.45959,0.02395-0.67501,0.04309-0.21064,0.01437-0.42368,0.04788-0.6391,0.10053v5.2277"/> +<path id="path3952" style="fill:#000000;" d="m280.38,97.36,1.1633-0.1508,0-5.8453-1.0197-0.56011,0-0.44522,1.8958-0.5673,0.33751,0.14362,0,1.1059c0.0909-0.13404,0.22739-0.27526,0.40931-0.42368,0.1867-0.1484,0.39495-0.28244,0.62474-0.40213,0.22979-0.12446,0.46915-0.225,0.7181-0.3016,0.24893-0.08138,0.48351-0.12207,0.70373-0.12208,0.15797,0.000008,0.2992,0.0048,0.42368,0.01436,0.12925,0.0048,0.2202,0.01676,0.27287,0.0359v1.4721c-0.0766-0.02872-0.15559-0.05744-0.23697-0.08617-0.0814-0.0335-0.17235-0.05983-0.27288-0.07899-0.0957-0.02393-0.20586-0.04308-0.33032-0.05745-0.12447-0.01436-0.26809-0.02154-0.43086-0.02154-0.38777,0.000007-0.71331,0.05027-0.9766,0.1508-0.26331,0.09575-0.50507,0.21304-0.72528,0.35187v5.6155l2.0466,0.17234v0.61038h-4.603v-0.61038"/> +<path id="path3954" style="fill:#000000;" d="m286.95,93.791c0.01-0.64149,0.11968-1.2136,0.33032-1.7162,0.21543-0.50745,0.49788-0.93591,0.84735-1.2854,0.34947-0.34946,0.75161-0.61755,1.2064-0.80426,0.45958-0.1867,0.93831-0.28244,1.4362-0.28724,0.60798-0.0048,1.137,0.10054,1.587,0.31596,0.45,0.21544,0.82101,0.51225,1.113,0.89044,0.2968,0.37342,0.51702,0.81385,0.66064,1.3213,0.14361,0.50746,0.21303,1.0508,0.20825,1.6301-0.005,0.63671-0.10772,1.2184-0.30878,1.745-0.19629,0.5266-0.46438,0.979-0.80427,1.3572-0.33511,0.37341-0.73007,0.66544-1.1848,0.87608-0.45001,0.20585-0.93353,0.30878-1.4506,0.30878-0.66065,0-1.2232-0.11968-1.6875-0.35905-0.46437-0.23936-0.84256-0.56011-1.1346-0.96225-0.29203-0.40213-0.50507-0.8641-0.63911-1.3859-0.12926-0.5266-0.1891-1.0747-0.17952-1.6444m3.7054,3.5474c0.40691,0.0096,0.7492-0.05984,1.0269-0.20825,0.28245-0.1484,0.50984-0.36623,0.68219-0.65347,0.17712-0.29202,0.30399-0.65107,0.38059-1.0771,0.0814-0.43085,0.12207-0.92394,0.12208-1.4793-0.00001-0.48351-0.0431-0.93352-0.12926-1.35-0.0814-0.42128-0.21304-0.7875-0.39495-1.0987-0.17714-0.31117-0.40453-0.55532-0.68219-0.73246-0.27288-0.18191-0.59842-0.27766-0.97661-0.28724-0.40693-0.0048-0.754,0.06703-1.0412,0.21543-0.28245,0.14363-0.51464,0.35666-0.69655,0.6391-0.18192,0.28246-0.31596,0.62714-0.40213,1.0341-0.0814,0.40692-0.12208,0.8689-0.12208,1.3859,0,0.46437,0.0455,0.91198,0.13644,1.3428,0.091,0.43086,0.22739,0.81384,0.40931,1.149,0.18192,0.33032,0.41171,0.59841,0.68937,0.80427,0.28245,0.20107,0.61517,0.30639,0.99816,0.31596"/> +<path id="path3956" style="fill:#000000;" d="m297.39,87.889c-0.1149,0.00001-0.2274-0.01914-0.3375-0.05745-0.11011-0.04307-0.20825-0.10052-0.29442-0.17234-0.0814-0.07659-0.14841-0.16994-0.20107-0.28006-0.0479-0.1101-0.0718-0.23457-0.0718-0.37341,0-0.1484,0.0311-0.28723,0.0934-0.41649,0.067-0.12925,0.15079-0.23935,0.25133-0.33032,0.10053-0.09573,0.21303-0.16994,0.3375-0.22261,0.12926-0.05265,0.25851-0.07898,0.38777-0.07899,0.31596,0.000012,0.54575,0.08858,0.68937,0.2657,0.14841,0.17236,0.22261,0.3806,0.22261,0.62474,0,0.15799-0.0311,0.30161-0.0933,0.43086-0.0622,0.12927-0.14362,0.23938-0.24415,0.33032-0.10054,0.08618-0.21543,0.1556-0.34469,0.20825-0.12926,0.04788-0.26091,0.07182-0.39495,0.07181m-0.36623,3.4397-0.99815-0.53139,0-0.43086,2.0178-0.57448,0.33032,0.14362,0,8.1504c0,0.56011-0.0622,1.0604-0.1867,1.5008-0.11969,0.44522-0.29442,0.82102-0.52421,1.1274-0.22501,0.31117-0.49788,0.54814-0.81863,0.71091s-0.6798,0.24415-1.0771,0.24416c-0.0479-0.00001-0.1125-0.002-0.19389-0.007-0.0814-0.005-0.16277-0.012-0.24415-0.0215-0.0766-0.01-0.14841-0.0215-0.21543-0.0359-0.067-0.0144-0.11011-0.0287-0.12925-0.0431v-0.99097c0.0383,0.0144,0.0934,0.0263,0.16516,0.0359,0.0718,0.01,0.14601,0.0168,0.22261,0.0215,0.0814,0.01,0.15798,0.0144,0.22979,0.0144,0.0718,0.005,0.12925,0.007,0.17234,0.007,0.22979,0,0.42367-0.0455,0.58166-0.13644,0.16276-0.0862,0.29202-0.23458,0.38777-0.44521,0.10053-0.20586,0.17234-0.47874,0.21543-0.81863,0.0431-0.3399,0.0646-0.76118,0.0646-1.2638v-6.6567"/> +<path id="path3958" style="fill:#000000;" d="m300.45,93.978c0-0.61277,0.0958-1.1777,0.28724-1.6947,0.19628-0.51702,0.46676-0.96463,0.81145-1.3428,0.34947-0.37819,0.76836-0.675,1.2567-0.89044,0.48831-0.22021,1.0269-0.3375,1.6157-0.35187,0.42127-0.0096,0.80186,0.05267,1.1418,0.1867,0.33989,0.12926,0.62952,0.32315,0.86889,0.58166,0.23936,0.25852,0.42606,0.57448,0.56012,0.94788,0.13882,0.37342,0.21781,0.79709,0.23697,1.271,0.01,0.3016,0.002,0.56251-0.0215,0.78272-0.0192,0.22022-0.0407,0.4165-0.0646,0.58884h-5.3211c-0.00001,0.02873-0.00001,0.05745,0,0.08617-0.00001,0.02394,0.002,0.05027,0.007,0.07899,0.0191,0.57927,0.11728,1.058,0.29442,1.4362,0.17712,0.3782,0.39734,0.6798,0.66064,0.9048,0.26809,0.22022,0.56251,0.3758,0.88326,0.46676,0.32074,0.08617,0.63431,0.12926,0.9407,0.12926,0.1867,0,0.38298-0.0096,0.58884-0.02872,0.20585-0.02394,0.40452-0.05505,0.59602-0.09335,0.19627-0.04308,0.37579-0.09096,0.53857-0.14362,0.16755-0.05266,0.30159-0.10771,0.40213-0.16516l0.2657,0.61038c-0.13884,0.12447-0.32076,0.23697-0.54576,0.3375-0.22022,0.10053-0.46198,0.1867-0.72527,0.25851-0.26331,0.06702-0.53858,0.11729-0.82581,0.1508-0.28724,0.0383-0.5673,0.05745-0.84017,0.05745-0.57927,0-1.0939-0.09814-1.5439-0.29442-0.44522-0.20107-0.82103-0.48112-1.1274-0.84017-0.30639-0.36383-0.54097-0.80187-0.70373-1.3141-0.15799-0.51224-0.23698-1.0843-0.23698-1.7162m5.3139-0.76836c0.0144-0.24415,0.0168-0.4883,0.007-0.73246-0.005-0.24893-0.0335-0.48351-0.0862-0.70373-0.0527-0.225-0.13405-0.42846-0.24415-0.61038-0.10532-0.1867-0.24894-0.3375-0.43085-0.4524-0.12448-0.08138-0.2657-0.14122-0.42368-0.17952-0.15799-0.04308-0.33751-0.06462-0.53857-0.06463-0.26809,0.000007-0.529,0.05027-0.78272,0.1508-0.24895,0.10054-0.47395,0.26091-0.67501,0.48112-0.19629,0.22022-0.36145,0.50507-0.49549,0.85453-0.13405,0.34469-0.22022,0.76358-0.25851,1.2567h3.928"/> +<path id="path3960" style="fill:#000000;" d="m308.7,94.107c-0.005-0.66064,0.0933-1.2567,0.29442-1.7881,0.20107-0.53138,0.47633-0.98618,0.82581-1.3644,0.35426-0.37819,0.76836-0.67261,1.2423-0.88326,0.47873-0.21063,0.99336-0.32792,1.5439-0.35187,0.20106-0.0048,0.40452,0.000008,0.61038,0.01436,0.21063,0.0096,0.40691,0.03113,0.58883,0.06463,0.1867,0.02873,0.35665,0.06703,0.50985,0.1149,0.15319,0.04788,0.27766,0.10294,0.37341,0.16516v1.7234h-0.68219l-0.36623-0.9048c-0.0766-0.06223-0.16517-0.11489-0.26569-0.15798-0.10054-0.04308-0.20347-0.07898-0.30878-0.10771-0.10533-0.02872-0.21065-0.04787-0.31597-0.05745-0.10532-0.01435-0.20107-0.02154-0.28723-0.02154-0.32076,0.000008-0.62714,0.05985-0.91916,0.17952-0.29203,0.11969-0.55055,0.30161-0.77555,0.54575-0.225,0.23937-0.40453,0.54336-0.53857,0.91198-0.13404,0.36384-0.20346,0.7923-0.20824,1.2854-0.005,0.65108,0.0718,1.2088,0.22979,1.6732,0.15797,0.46437,0.36383,0.84496,0.61756,1.1418,0.25372,0.29203,0.53617,0.50746,0.84735,0.64628,0.31117,0.13405,0.61756,0.20107,0.91916,0.20107,0.1867,0.000001,0.38058-0.01197,0.58166-0.0359,0.20106-0.02394,0.39494-0.05505,0.58165-0.09335,0.1867-0.0383,0.35904-0.08378,0.51703-0.13644,0.15797-0.05745,0.28723-0.11489,0.38777-0.17234l0.24415,0.6391c-0.13883,0.12447-0.31118,0.23458-0.51702,0.33032-0.20586,0.09575-0.43326,0.17713-0.68219,0.24415-0.24416,0.06702-0.50268,0.11729-0.77555,0.1508-0.26809,0.0383-0.53857,0.05745-0.81144,0.05745-0.55533,0-1.046-0.10053-1.4721-0.3016-0.42607-0.20107-0.78751-0.48112-1.0843-0.84017-0.29203-0.35905-0.51463-0.78272-0.66783-1.271-0.15319-0.49309-0.23218-1.0269-0.23697-1.6014"/> +<path id="path3962" style="fill:#000000;" d="m317.34,96.089v-2.621c0.005-0.87128,0.007-1.7474,0.007-2.6282h-1.0987v-0.53857c0.21064-0.05265,0.38538-0.09334,0.52421-0.12208,0.14362-0.0335,0.26091-0.06941,0.35187-0.10771,0.0957-0.04308,0.17473-0.09574,0.23697-0.15798,0.0622-0.06223,0.11968-0.15318,0.17234-0.27288,0.0335-0.08138,0.0742-0.20106,0.12208-0.35905,0.0527-0.15797,0.10053-0.31835,0.14362-0.48112,0.0479-0.16755,0.0886-0.32313,0.12207-0.46676,0.0335-0.1484,0.0551-0.25372,0.0646-0.31596h0.71092v1.9173h2.4128v0.9048h-2.4128v3.6192c-0.00001,0.55533,0.007,1.0077,0.0215,1.3572,0.0144,0.34469,0.0503,0.61517,0.10771,0.81145,0.0575,0.19628,0.14123,0.33032,0.25134,0.40213,0.1101,0.06702,0.26329,0.10053,0.45958,0.10053,0.11968,0.000001,0.25133-0.01197,0.39495-0.03591,0.1484-0.02393,0.28963-0.05266,0.42368-0.08617,0.13882-0.03351,0.26568-0.06942,0.38059-0.10771,0.11488-0.04309,0.20106-0.08378,0.25851-0.12208l0.22261,0.63192c-0.11011,0.11968-0.25613,0.225-0.43804,0.31596-0.18192,0.09096-0.38059,0.16756-0.59602,0.22979-0.21064,0.06223-0.42368,0.10771-0.6391,0.13644-0.21065,0.03351-0.39735,0.05027-0.56012,0.05027-0.52181,0-0.92634-0.16037-1.2136-0.48112-0.28723-0.32075-0.43085-0.84496-0.43085-1.5726"/> +</g> +<g id="g3049" style="fill:#000000;" transform="matrix(4.2767203,0,0,4.2767203,147.39868,56.34844)"> +<path id="path3051" d="M5.46,4.23h-0.25c-0.1,1.02-0.24,2.26-2,2.26h-0.81c-0.47,0-0.49-0.07-0.49-0.4v-5.31c0-0.34,0-0.48,0.94-0.48h0.33v-0.3c-0.36,0.03-1.26,0.03-1.67,0.03-0.39,0-1.17,0-1.51-0.03v0.3h0.23c0.77,0,0.79,0.11,0.79,0.47v5.25c0,0.36-0.02,0.47-0.79,0.47h-0.23v0.31h5.19s0.27-2.57,0.27-2.57z" style="fill:#000000;" transform="translate(0,0.17)"/> +<path id="path3053" d="M2.81,0.16c-0.04-0.12-0.06-0.16-0.19-0.16s-0.16,0.04-0.2,0.16c0,0-1.61,4.08-1.61,4.08-0.07,0.17-0.19,0.48-0.81,0.48v0.25h1.55v-0.25c-0.31,0-0.5-0.14-0.5-0.34,0-0.05,0.01-0.07,0.03-0.14,0,0,0.34-0.86,0.34-0.86h1.98s0.4,1.02,0.4,1.02c0.02,0.04,0.04,0.09,0.04,0.12,0,0.2-0.38,0.2-0.57,0.2v0.25h1.97v-0.25h-0.14c-0.47,0-0.52-0.07-0.59-0.27,0,0-1.7-4.29-1.7-4.29zm-0.4,0.71s0.89,2.26,0.89,2.26h-1.78s0.89-2.26,0.89-2.26z" style="fill:#000000;" transform="translate(2.48,0)"/> +<path id="path3055" d="M6.27,0h-6.09s-0.18,2.24-0.18,2.24h0.24c0.14-1.61,0.29-1.94,1.8-1.94,0.18,0,0.44,0,0.54,0.02,0.21,0.04,0.21,0.15,0.21,0.38v5.25c0,0.34,0,0.48-1.05,0.48h-0.4v0.31c0.41-0.03,1.42-0.03,1.88-0.03s1.49,0,1.9,0.03v-0.31h-0.4c-1.05,0-1.05-0.14-1.05-0.48v-5.25c0-0.2,0-0.34,0.18-0.38,0.11-0.02,0.38-0.02,0.57-0.02,1.5,0,1.65,0.33,1.79,1.94h0.25s-0.19-2.24-0.19-2.24z" style="fill:#000000;" transform="translate(7.03,0.23)"/> +<path id="path3057" d="M6.16,4.2h-0.25c-0.25,1.53-0.48,2.26-2.19,2.26h-1.32c-0.47,0-0.49-0.07-0.49-0.4v-2.66h0.89c0.97,0,1.08,0.32,1.08,1.17h0.25v-2.64h-0.25c0,0.85-0.11,1.16-1.08,1.16h-0.89v-2.39c0-0.33,0.02-0.4,0.49-0.4h1.28c1.53,0,1.79,0.55,1.95,1.94h0.25s-0.28-2.24-0.28-2.24h-5.6v0.3h0.23c0.77,0,0.79,0.11,0.79,0.47v5.22c0,0.36-0.02,0.47-0.79,0.47h-0.23v0.31h5.74s0.42-2.57,0.42-2.57z" style="fill:#000000;" transform="translate(12.5,2.45)"/> +<path id="path3059" d="m3.76,2.95s1.37-2,1.37-2c0.21-0.32,0.55-0.64,1.44-0.65v-0.3h-2.38v0.3c0.4,0.01,0.62,0.23,0.62,0.46,0,0.1-0.02,0.12-0.09,0.23,0,0-1.14,1.68-1.14,1.68s-1.28-1.92-1.28-1.92c-0.02-0.03-0.07-0.11-0.07-0.15,0-0.12,0.22-0.29,0.64-0.3v-0.3c-0.34,0.03-1.07,0.03-1.45,0.03-0.31,0-0.93-0.01-1.3-0.03v0.3h0.19c0.55,0,0.74,0.07,0.93,0.35,0,0,1.83,2.77,1.83,2.77s-1.63,2.41-1.63,2.41c-0.14,0.2-0.44,0.66-1.44,0.66v0.31h2.38v-0.31c-0.46-0.01-0.63-0.28-0.63-0.46,0-0.09,0.03-0.13,0.1-0.24,0,0,1.41-2.09,1.41-2.09s1.58,2.38,1.58,2.38c0.02,0.04,0.05,0.08,0.05,0.11,0,0.12-0.22,0.29-0.65,0.3v0.31c0.35-0.03,1.08-0.03,1.45-0.03,0.42,0,0.88,0.01,1.3,0.03v-0.31h-0.19c-0.52,0-0.73-0.05-0.94-0.36,0,0-2.1-3.18-2.1-3.18z" style="fill:#000000;" transform="translate(17.91,0.17)"/> +</g> +<g id="text3038-7-9" style="font-size:23.53051949px;font-family:Sans;letter-spacing:0px;line-height:125%;word-spacing:0px;font-weight:normal;font-style:normal;fill:#000000;" transform="matrix(0.99452608,0,0,0.99452608,-8.982512,-19.7611)"> +<path id="path3965" style="fill:#000000;" d="m125.38,97.009,1.7593-0.21543,0-9.5291-2.6067,0.14362-0.50267,1.2279-0.65346,0.01436,0.17952-2.183,8.5525,0-0.0144,2.2046-0.58883,0.06463-0.37341-1.3357-2.5923-0.13644,0,9.5291,1.8742,0.21543,0,0.61038-5.0338,0,0-0.61038"/> +<path id="path3967" style="fill:#000000;" d="m133.19,97.009,1.0771-0.1508,0-9.723-1.2279-0.25851,0-0.62474,2.2692-0.3016,0.3375,0.16516-0.0144,3.174-0.0215,1.2423c0.21063-0.17234,0.43803-0.32553,0.68219-0.45958,0.24893-0.13404,0.49787-0.24654,0.74681-0.3375,0.24894-0.09574,0.4907-0.16755,0.72528-0.21543,0.23936-0.05265,0.45479-0.07898,0.64628-0.07899,0.4883,0.000008,0.88804,0.07421,1.1992,0.22261,0.31117,0.14841,0.55532,0.3782,0.73246,0.68937,0.18191,0.30639,0.30638,0.70134,0.37341,1.1849,0.067,0.48352,0.0981,1.058,0.0934,1.7234v3.5977l1.0771,0.1508v0.61038h-3.6623v-0.61038l1.2064-0.1508v-2.9873c-0.00001-0.55532-0.0144-1.0436-0.0431-1.4649-0.0239-0.42128-0.0934-0.77314-0.20824-1.0556-0.11012-0.28723-0.27767-0.50266-0.50267-0.64628-0.22501-0.14361-0.53618-0.21542-0.93352-0.21543-0.15799,0.000007-0.32554,0.0096-0.50267,0.02872-0.17713,0.01916-0.35666,0.05267-0.53857,0.10053-0.17713,0.04309-0.35666,0.10293-0.53857,0.17952-0.17713,0.0766-0.34948,0.17474-0.51703,0.29442v5.7663l1.0556,0.1508v0.61038h-3.5115v-0.61038"/> +<path id="path3969" style="fill:#000000;" d="m143.1,93.626c0-0.61277,0.0958-1.1777,0.28724-1.6947,0.19628-0.51702,0.46676-0.96463,0.81145-1.3428,0.34947-0.37819,0.76836-0.675,1.2567-0.89044,0.4883-0.22021,1.0269-0.3375,1.6157-0.35187,0.42128-0.0096,0.80187,0.05267,1.1418,0.1867,0.33989,0.12926,0.62952,0.32315,0.86889,0.58166,0.23936,0.25852,0.42606,0.57448,0.56011,0.94788,0.13883,0.37342,0.21782,0.79709,0.23697,1.271,0.01,0.3016,0.002,0.56251-0.0215,0.78272-0.0192,0.22022-0.0407,0.4165-0.0646,0.58884h-5.3211v0.08617c0,0.02394,0.002,0.05027,0.007,0.07899,0.0192,0.57927,0.11729,1.058,0.29442,1.4362s0.39735,0.6798,0.66065,0.9048c0.26808,0.22022,0.5625,0.3758,0.88326,0.46676,0.32074,0.08617,0.63431,0.12926,0.9407,0.12926,0.1867,0.000001,0.38298-0.0096,0.58884-0.02872,0.20585-0.02394,0.40452-0.05505,0.59602-0.09335,0.19627-0.04308,0.37579-0.09096,0.53857-0.14362,0.16754-0.05266,0.30159-0.10771,0.40213-0.16516l0.26569,0.61038c-0.13883,0.12447-0.32075,0.23697-0.54575,0.3375-0.22022,0.10053-0.46198,0.1867-0.72527,0.25851-0.26331,0.06702-0.53858,0.11729-0.82581,0.1508-0.28724,0.0383-0.5673,0.05745-0.84017,0.05745-0.57927,0-1.0939-0.09814-1.5439-0.29442-0.44522-0.20107-0.82102-0.48112-1.1274-0.84017-0.30639-0.36383-0.54097-0.80187-0.70374-1.3141-0.15798-0.51224-0.23697-1.0843-0.23697-1.7162m5.3139-0.76836c0.0144-0.24415,0.0167-0.4883,0.007-0.73246-0.005-0.24893-0.0335-0.48351-0.0862-0.70373-0.0527-0.225-0.13405-0.42846-0.24415-0.61038-0.10533-0.1867-0.24895-0.3375-0.43086-0.4524-0.12447-0.08138-0.2657-0.14122-0.42367-0.17952-0.15799-0.04308-0.33751-0.06462-0.53857-0.06463-0.2681,0.000007-0.529,0.05027-0.78273,0.1508-0.24894,0.10054-0.47394,0.26092-0.67501,0.48112-0.19628,0.22022-0.36144,0.50507-0.49548,0.85453-0.13405,0.34469-0.22022,0.76358-0.25852,1.2567h3.928"/> +</g> +<path id="rect3070" style="fill:#000000;" d="m107.75,84.833,32.413,0,0,1.2866-32.413,0z"/> +<path id="rect3070-7" style="fill:#000000;" d="m260.43,84.835,55.971,0,0,1.2866-55.971,0z"/> +<g id="layer1" transform="matrix(1.3435916,0,0,1.3435916,-256.71526,-723.66624)"> +<g id="g3363" transform="matrix(0.58826838,0,0,-0.58826838,191.06432,638.60215)"> +<g id="g3365" transform="translate(-131.809,509.294)"> +<g id="g3367"> +<g id="g3369"> +<g id="g3371"> +<path id="path3373" style="fill-rule:nonzero;fill:#000000;" d="m149.96-340.67c1.8968-3.4174,3.8698-6.3595,5.9279-8.8918l0.0249-0.0249c0.007-0.009,0.0177-0.0161,0.0249-0.0249-0.94806,0.13835-1.9246,0.23487-2.939,0.2242-2.0037-0.0211-4.1554-0.36537-6.4758-1.0959,3.9851-3.3371,7.3783-5.7768,10.361-7.6714-0.0729,0.024-0.15143,0.0511-0.2242,0.0747l0.2242-0.12457c-4.621,1.4463-9.6061,1.6232-15.442-1.1457,4.1905-2.6223,7.7071-4.5356,10.81-5.9777-0.0908,0.0135-0.18332,0.0371-0.274,0.0498l0.2242-0.12451c-4.8356,0.83273-9.854,0.36464-15.318-3.2379,3.5625-1.5875,6.6575-2.7858,9.4148-3.7112h0.0249l0.17441-0.0996c-4.6111-0.17927-9.1809-1.615-13.649-5.8531,3.9032-0.96823,7.245-1.6148,10.187-2.0424-0.0826-0.0167-0.1665-0.0321-0.24906-0.0498-0.11484,0.002-0.23434-0.002-0.3487,0l0.12456-0.0498c-3.4373-0.78055-6.789-2.5039-10.062-5.8034,2.652-0.573,5.0383-1.0181,7.223-1.345-2.6896-1.3001-5.2443-3.3148-7.5717-6.4011,3.056-0.23727,5.7634-0.33865,8.1944-0.34871-2.9412-1.3609-5.7127-3.4976-8.1695-6.9491,4.3649-0.21814,8.0134-0.20873,11.158-0.0249-0.0588-0.0241-0.11565-0.0501-0.17432-0.0747-0.19112-0.0171-0.38297-0.0293-0.57291-0.0498l0.27402-0.0996c-3.2694-1.4354-6.2954-3.7615-8.8918-7.6962,5.4246-0.0792,9.7215,0.17686,13.325,0.62265-0.10976-0.0298-0.21441-0.0683-0.32383-0.0996-0.13908-0.008-0.28605-0.0147-0.4234-0.0249l0.17433-0.0498c-4.2498-1.266-8.174-3.7047-11.432-8.6427,4.382-0.0639,8.0408,0.10194,11.183,0.39853-0.0682-0.0372-0.13136-0.0867-0.19926-0.12459-3.7543-2.0944-6.9817-5.2401-9.116-10.561,3.8538,0.72993,7.0841,1.5002,9.8881,2.3164-0.0465-0.0369-0.10329-0.0621-0.14945-0.0996l0.17432,0.0249c-2.8863-2.1539-5.3128-5.1719-6.949-9.6391,2.6533,0.58655,5.0239,1.203,7.1483,1.8183-1.907-2.3057-3.38-5.1839-4.2092-8.9665,2.8812,1.061,5.3803,2.0819,7.5966,3.0885-0.0268-0.0314-0.0481-0.068-0.0747-0.0996-0.0453-0.0357-0.10543-0.0639-0.14942-0.0996l0.0747,0.0249c-2.0331-2.4363-3.5844-5.5001-4.3587-9.5643,4.0565,1.622,7.3561,3.1788,10.137,4.6576-0.0786-0.076-0.17511-0.14738-0.24907-0.22412l0.0747,0.0249c-2.4595-2.6976-4.2958-6.1629-5.0312-10.934,4.7882,2.1139,8.4776,4.0784,11.507,5.9279-0.032-0.0328-0.068-0.0668-0.0996-0.0996l0.19926,0.0996c-3.4396-2.9457-6.0783-6.8543-6.9988-12.827,6.4533,2.8489,10.967,5.4289,14.471,7.8208-1.5048-3.0434-2.2999-6.5895-1.9178-11.034,6.237,4.7851,10.186,8.643,13.126,12.055-0.005-0.0492,0.004-0.10012,0-0.14946-0.1783-2.1625-0.0435-4.5072,0.59776-7.0984,3.6977,6.3528,7.3958,8.9861,11.158,11.158-4.7054-3.05-3.8605-5.5216-3.8605-8.3439,5.5952,5.8925,13.379,12.151,15.766,16.065-3.191-4.7923-4.4652-9.3434-5.3052-13.35-16.327-8.6347-26.291-10.895-37.435-14.346,4.3231-1.5856,8.9633-3.1258,7.0487-5.3301l-5.106-5.106c3.2647,1.0149,6.5993,2.4781,9.4896,0.49814-0.28367-2.6778-3.6612-4.0429-6.5506-5.604,5.0869,1.8329,6.1844,1.4013,7.5219,0.97135,0.66825-3.2088-1.6524-4.9294-3.1631-7.0487,12.813,9.7424,29.522,17.434,41.296,20.648,16.561,5.5771,37.929,11.391,43.737,25.53l5.8033,23.313c6.8085,7.3686,13.07,14.997,16.04,24.284,18.958,3.6678,34.295,2.3531,50.287,1.9427-1.4576,0.24292-48.818,8.2691-48.818,8.2691-13.844,18.942-34.497,6.0592-41.296-12.653-1.716-4.7228-11.509-4.7124-14.346,0.0249-11.218,24.152-45.282,49.693-74.273,59.104v0.00016z"/> +</g> +<g id="g3375"> +<path id="path3377" style="fill-rule:nonzero;fill:#008080;" d="m149.63-339.31c1.9102-3.4413,3.8962-6.3775,5.9698-8.9221-0.94804,0.13829-1.9248,0.21967-2.9392,0.20899-2.0037-0.0211-4.1457-0.35373-6.4662-1.0843,4.0493-3.3909,7.4714-5.8655,10.49-7.7726-4.6633,1.4895-9.685,1.7016-15.584-1.0973,4.3088-2.6963,7.9255-4.6449,11.091-6.1005-4.9349,0.90956-10.052,0.4951-15.637-3.1874,3.6874-1.6432,6.8762-2.8768,9.7059-3.8145-4.6448-0.16235-9.2423-1.5969-13.742-5.8653,3.9032-0.96832,7.2473-1.6103,10.189-2.0379-3.6004-0.72745-7.1321-2.4544-10.555-5.9045,2.652-0.57299,5.0392-1.0054,7.2239-1.3325-2.6896-1.3-5.2362-3.3147-7.5636-6.4009,3.056-0.23727,5.7597-0.34265,8.1906-0.35269-2.9413-1.3609-5.6946-3.5113-8.1514-6.9627,4.3648-0.21817,8.0109-0.19694,11.156-0.013-3.4564-1.413-6.642-3.8007-9.3663-7.9294,5.4246-0.0792,9.7208,0.18126,13.324,0.62703-4.4722-1.2142-8.612-3.6557-12.018-8.8176,4.382-0.0639,8.0396,0.0954,11.182,0.39191-3.8417-2.0935-7.1412-5.269-9.3139-10.686,3.9551,0.74904,7.2698,1.5509,10.124,2.3905-2.9731-2.1636-5.4721-5.2025-7.1456-9.7712,2.6533,0.58652,5.0081,1.2006,7.1325,1.8158-1.9071-2.3057-3.3771-5.1916-4.2063-8.9744,2.8812,1.0611,5.3734,2.0894,7.5897,3.096-2.1056-2.4639-3.7138-5.5831-4.5068-9.7451,4.0565,1.622,7.356,3.1717,10.137,4.6505-2.5494-2.7253-4.4461-6.2311-5.1991-11.117,4.9388,2.1803,8.728,4.2001,11.809,6.1005-3.5384-2.9654-6.2592-6.9085-7.1978-12.998,6.4534,2.849,10.957,5.4329,14.461,7.8249-1.5048-3.0435-2.3024-6.6071-1.9203-11.051,6.237,4.7851,10.188,8.6584,13.128,12.07-0.19831-2.2032-0.0419-4.5996,0.61402-7.25,4.4776,7.6927,8.9272,9.9388,13.532,12.506-7.3345-3.6926-6.2472-6.4725-6.2472-9.698,5.5952,5.8924,13.398,12.141,15.785,16.055-3.191-4.7923-4.4899-9.3306-5.3297-13.337-16.327-8.6347-26.268-10.891-37.413-14.343,4.323-1.5856,8.9557-3.1385,7.0411-5.3428l-5.1077-5.0946c3.2647,1.0148,6.5935,2.4633,9.4838,0.48331-0.28364-2.6779-3.6684-4.0299-6.5578-5.591,5.0868,1.8329,6.1869,1.4096,7.5244,0.9797,0.66825-3.2088-1.6506-4.9348-3.1612-7.0541,12.813,9.7423,29.532,17.439,41.306,20.653,16.561,5.5772,37.915,11.374,43.722,25.512l5.8262,23.318c6.8084,7.3686,13.071,15.01,16.042,24.297,18.958,3.6678,34.288,2.3437,50.28,1.9334-1.4576,0.24286-48.83,8.269-48.83,8.269-13.844,18.942-34.481,6.0668-41.28-12.645-1.716-4.7228-11.506-4.7243-14.343,0.013-11.218,24.152-45.286,49.687-74.277,59.098v0.00007z"/> +</g> +<g id="g3379"> +<path id="path3381" style="fill-rule:nonzero;fill:#ffffff;" d="m261.48-388.74-0.12456-0.19925c-0.4913-0.91531-1.3223-1.5401-2.4907-1.9179-1.1684-0.37781-2.6653-0.49887-4.4085-0.42338l-1.0959,0.0498,0.79703-0.77217c0.40463-0.38918,0.51767-0.69986,0.52301-0.97133,0.006-0.27155-0.11111-0.56476-0.37358-0.89664-0.525-0.66394-1.5677-1.3848-2.5405-2.1172l-0.32382-0.22413,0.22419-0.32382c0.81153-1.245,1.1831-2.2034,1.2702-2.939,0.0871-0.73564-0.0839-1.2633-0.42338-1.7185-0.67914-0.91069-2.1699-1.5277-3.5119-2.2914l-0.24906-0.12457,0.0498-0.29889c0.1154-0.70026-0.0733-1.2725-0.57283-1.8431-0.49965-0.57051-1.3407-1.1146-2.4658-1.5941l-0.29887-0.1245,0.0498-0.32383c0.22444-1.4994,0.67516-2.8042,1.619-3.6364,0.86341-0.76131,2.1696-0.96208,3.8357-0.62262,0.29044-1.5984,0.70673-3.052,1.6687-4.0101,0.97508-0.97099,2.5188-1.2582,4.5829-0.72224,0.46452-1.1195,1.1433-1.9172,1.9179-2.4409,0.8505-0.57498,1.9619-0.80691,2.8761-1.0909l0.54167,0.58256c-0.90741,0.28181-2.247,0.71739-2.9695,1.2057-0.72243,0.48833-1.3094,1.1582-1.7186,2.3163l-0.12451,0.39852-0.3985-0.1245c-2.1225-0.65228-3.2994-0.35858-4.1097,0.44834-0.81017,0.80682-1.2658,2.2654-1.5442,3.9602l-0.0747,0.44833-0.44831-0.1245c-1.7494-0.45646-2.7822-0.223-3.487,0.39852-0.65841,0.58055-1.0481,1.6098-1.2702,2.8892,1.0135,0.46855,1.8823,0.98105,2.4409,1.6189,0.54563,0.62318,0.78188,1.3925,0.74721,2.1918,1.2365,0.6801,2.7279,1.2646,3.5866,2.416,0.44899,0.60199,0.68219,1.3933,0.57283,2.3163-0.0994,0.83983-0.51064,1.8101-1.2204,2.964,0.87123,0.64177,1.817,1.2849,2.4159,2.0424,0.33307,0.42105,0.5835,0.88716,0.5729,1.4196-0.006,0.29364-0.2882,0.56113-0.44832,0.84685,1.5152-0.0198,2.8957,0.08,4.0349,0.44833,1.2002,0.38808,2.1431,1.0954,2.7646,2.0673,1.7934-0.009,3.6505-0.40349,5.5293-0.6476,1.93-0.25082,3.894-0.3181,5.7536,0.49814l-0.3487,0.77207c-1.6453-0.72217-3.4029-0.6922-5.2803-0.44832-1.8774,0.24397-3.834,0.68681-5.8034,0.67253h-0.24907z"/> +</g> +<g id="g3383"> +<path id="path3385" style="stroke-linejoin:miter;fill-rule:nonzero;stroke:#ffffff;stroke-linecap:butt;stroke-miterlimit:4;stroke-dasharray:none;stroke-width:0.83587998;fill:#ffffff;" stroke-miterlimit="4" d="m268.45-388.43c0-1.9546-1.5845-3.5391-3.5391-3.5391-1.9545,0-3.539,1.5845-3.539,3.5391,0,1.9545,1.5845,3.5391,3.539,3.5391,1.9546,0,3.5391-1.5845,3.5391-3.5391z"/> +</g> +<g id="g3387"> +<path id="path3389" style="fill-rule:nonzero;fill:#ffffff;" d="m279.02-385.11c-3.1773-4.1333-3.9762-3.0658-5.9105-3.7587l-0.32373-0.12449,0.0498-0.34868c0.74474-4.1516,3.2052-5.4707,5.1254-6.9798l0.1072,0.33579,0.51114,0.0974c-1.925,1.5127-4.0314,2.794-4.7973,6.3224,1.4086,0.33323,2.7528-0.0929,5.7535,3.8108l-0.51552,0.64527z"/> +</g> +<g id="g3391"> +<path id="path3393" style="fill-rule:nonzero;fill:#ffffff;" d="m156.68-356.87c6.0038-3.7227,15.885-7.5616,22.231-11.572,3.4911-2.2229,6.6268-4.4378,9.0662-6.3512,2.4394-1.9135,4.2432-3.8904,4.9067-4.5331,0.66353-0.64271,1.1139-0.33905,0.67246,0.49814-0.44139,0.83712-2.6143,2.7725-5.081,4.7074-2.4666,1.9349-5.6042,4.1401-9.116,6.3762-7.0236,4.4721-15.267,8.4708-22.679,10.875z"/> +</g> +<g id="g3395"> +<path id="path3397" style="fill-rule:nonzero;fill:#ffffff;" d="m155.6-348.23c2.5168-0.58121,6.2314-2.7278,10.362-5.0244,4.1307-2.2966,8.6327-5.1227,12.752-7.8706,4.1196-2.7479,7.2959-5.1529,9.835-7.0903,2.4112-2.0634,3.6017-3.3995,4.0631-3.3955,0.0633-0.0127,0.12562-0.0137,0.2242,0,0.0986,0.0137,0.26494,0.0897,0.3487,0.24907,0.0837,0.15924,0.0513,0.29308,0.0249,0.37357-0.0265,0.0805-0.0406,0.12321-0.0747,0.17439-0.13623,0.20459-0.34416,0.39619-0.6476,0.67244-0.60693,0.5525-1.6097,1.365-2.8892,2.3413-2.5591,1.9526-6.2778,4.6154-10.411,7.3725-4.1334,2.7571-8.6672,5.6076-12.827,7.9204-1.4787,0.54794-8.7305,4.383-10.761,4.2772h-0.0001z"/> +</g> +<g id="g3399"> +<path id="path3401" style="fill-rule:nonzero;fill:#ffffff;" d="m152.16-364.08c7.7058-3.1453,18.668-6.8398,25.985-11.439,3.9315-2.4965,7.3558-4.9835,9.913-7.0238,1.2786-1.0201,2.3465-1.9371,3.1383-2.665,0.79176-0.72801,1.2383-1.3888,1.4944-1.5692,0.53592-0.37753,0.94616-0.12672,0.6974,0.47329-0.18785,0.45301-0.80771,0.97268-1.619,1.7186-0.81129,0.74585-1.8972,1.66-3.1881,2.69-2.5817,2.0598-6.0286,4.5845-9.9877,7.0986-7.9181,5.028-17.384,9.4486-26.433,10.717z"/> +</g> +<g id="g3403"> +<path id="path3405" style="fill-rule:nonzero;fill:#ffffff;" d="m146.23-371.07c6.0055-0.004,18.411-5.501,23.64-8.2559,8.4783-4.5216,16.188-10.334,20.449-14.396,0.47246-0.45047,1.1627-0.0529,0.62271,0.57282-3.9578,4.5861-12.132,9.9907-20.673,14.546-8.5411,4.5551-17.385,7.5403-24.039,7.5336z"/> +</g> +<g id="g3407"> +<path id="path3409" style="fill-rule:nonzero;fill:#ffffff;" d="m142.76-378.98c9.0285-1.3211,19.851-4.9654,27.736-8.9142,4.4003-2.2342,8.324-4.6272,11.333-6.7498,3.0087-2.1226,5.2302-4.5124,5.7784-5.1308,0.54821-0.6184,1.2012-0.64416,0.69741,0.44832-0.50382,1.0925-2.9543,3.2293-6.0026,5.3799s-6.9976,4.548-11.432,6.7997c-8.8694,4.5033-18.97,8.0461-28.11,8.167z"/> +</g> +<g id="g3411"> +<path id="path3413" style="fill-rule:nonzero;fill:#ffffff;" d="m145.74-385.7c-2.2428,0.19567-4.2617-0.26422-6.3186-0.52134,8.0222,0.75177,19.24-2.9322,26.718-6.378,8.8087-4.1296,16.123-9.7992,19.627-13.4,0.54852-0.56374,0.93611,0.15461,0.6476,0.52307-3.2626,4.1653-11.032,9.4797-19.926,13.649-6.6701,3.127-14.019,5.5399-20.748,6.1271z"/> +</g> +<g id="g3415"> +<path id="path3417" style="fill-rule:nonzero;fill:#ffffff;" d="m140.04-392.93c7.8945-0.58519,18.464-2.4755,25.868-5.8742,7.4463-3.4828,13.097-7.9987,15.94-10.561,0.43748-0.39421,1.2112-0.11495,0.59778,0.59778-2.5947,3.0148-8.6278,7.1848-16.165,10.71-7.5368,3.5251-16.692,5.7829-26.241,5.127z"/> +</g> +<g id="g3419"> +<path id="path3421" style="fill-rule:nonzero;fill:#ffffff;" d="m147.13-399.5c-1.6656,0.0564-2.4469-0.25529-4.0538-0.4288,5.3581-0.23616,13.873-1.6612,18.575-3.2574,6.1018-2.117,11.119-5.3058,13.973-7.796,0.55105-0.48085,0.96185,0.16426,0.59777,0.57291-2.6728,2.9994-8.105,5.8719-14.297,8.0201-4.6437,1.6111-9.7981,2.7202-14.795,2.8892z"/> +</g> +<g id="g3423"> +<path id="path3425" style="fill-rule:nonzero;fill:#ffffff;" d="m146.9-407.27c11.454-0.7729,18.38-2.791,23.689-7.5468,0.39781-0.35636,1.0258,0.13414,0.59778,0.59777-5.4482,5.9027-16.175,7.5475-24.287,6.949z"/> +</g> +<g id="g3427"> +<path id="path3429" style="fill-rule:nonzero;fill:#ffffff;" d="m155.72-414.15c-3.4722,0.27927-6.3776-0.4795-9.542-1.5332,9.2605,1.476,13.111,0.76824,20.127-2.5266,0.79983-0.37556,0.75288,0.50929,0.39853,0.72235-3.7271,2.2403-7.5119,3.0583-10.984,3.3375z"/> +</g> +<g id="g3431"> +<path id="path3433" style="fill-rule:nonzero;fill:#ffffff;" d="m155.39-420.6c-3.2829-0.2911-6.0705-1.4184-8.3688-3.2877,9.1706,3.5347,11.705,2.8314,18.719,0.84302,0.92241-0.2615,0.63579,0.62702,0.27395,0.77217-4.1998,1.6838-7.3409,1.9636-10.624,1.6726z"/> +</g> +<g id="g3435"> +<path id="path3437" style="fill-rule:nonzero;fill:#ffffff;" d="m173.56-426.28c-4.8928,0.52905-10.405-0.0643-15.243-0.94647-4.8377-0.88215-8.9984-2.6745-11.347-4.5848,8.0435,3.3971,9.5094,3.3898,11.497,3.7629,4.7661,0.86908,9.4905,1.208,15.044,0.94647,0.50357-0.0238,0.47783,0.77558,0.0498,0.82189z"/> +</g> +<g id="g3439"> +<path id="path3441" style="fill-rule:nonzero;fill:#ffffff;" d="m176.4-430.24c-5.3024,0.2003-10.779-1.1119-15.517-2.4658-4.7376-1.354-8.2541-3.2016-10.573-5.0877,4.6921,2.257,9.0584,3.7848,10.797,4.2907,4.6714,1.3351,9.3839,2.4909,15.343,2.416,0.46291-0.006,0.76212,0.81613-0.0498,0.84684z"/> +</g> +<g id="g3443"> +<path id="path3445" style="fill-rule:nonzero;fill:#ffffff;" d="m180.73-433.5c-4.994-0.73732-10.23-2.2123-14.795-3.7609-4.5645-1.5487-7.8136-3.3879-9.9331-5.5898,5.4293,3.1165,8.4152,4.2093,10.182,4.8176,4.5085,1.5297,8.7183,2.5942,14.695,3.7112,0.71732,0.13406,0.14124,0.86486-0.14944,0.82189z"/> +</g> +<g id="g3447"> +<path id="path3449" style="fill-rule:nonzero;fill:#ffffff;" d="m183.27-437.66c-10.015-1.5953-16.505-5.9162-20.63-10.201,6.3928,4.8165,10.84,7.405,20.804,9.3794,0.63066,0.12497,0.44019,0.91984-0.17433,0.82197z"/> +</g> +<g id="g3451"> +<path id="path3453" style="fill-rule:nonzero;fill:#ffffff;" d="m188.15-441.32c-10.073-1.5516-15.882-7.675-18.301-11.717,6.3731,6.3665,11.333,9.8314,18.475,10.895,0.72281,0.10759,0.53837,0.93171-0.17432,0.82189z"/> +</g> +<g id="g3455"> +<path id="path3457" style="fill-rule:nonzero;fill:#ffffff;" d="m191.19-444.51c-1.571-0.19615-3.7088-1.3087-5.7286-2.5903s-3.5438-2.841-4.4526-4.8501c2.433,2.511,3.407,3.1904,4.9009,4.1527,1.9392,1.2305,3.8934,2.0055,5.4795,2.4658,0.74354,0.21577,0.18164,0.86949-0.19927,0.8219z"/> +</g> +<g id="g3459"> +<path id="path3461" style="stroke-linejoin:miter;fill-rule:nonzero;stroke:#ffffff;stroke-linecap:butt;stroke-miterlimit:4;stroke-dasharray:none;stroke-width:0.83587998;fill:#ffffff;" stroke-miterlimit="4" d="m268.45-388.43c0-1.9546-1.5845-3.5391-3.5391-3.5391-1.9545,0-3.539,1.5845-3.539,3.5391,0,1.9545,1.5845,3.5391,3.539,3.5391,1.9546,0,3.5391-1.5845,3.5391-3.5391z"/> +</g> +<g id="g3463"> +<path id="path3465" style="stroke-linejoin:miter;fill-rule:nonzero;stroke:#ffffff;stroke-linecap:butt;stroke-miterlimit:4;stroke-dasharray:none;stroke-width:0.83587998;fill:#37c871;" stroke-miterlimit="4" d="m268.45-388.43c0-1.9546-1.5845-3.5391-3.5391-3.5391-1.9545,0-3.539,1.5845-3.539,3.5391,0,1.9545,1.5845,3.5391,3.539,3.5391,1.9546,0,3.5391-1.5845,3.5391-3.5391z"/> +</g> +</g> +</g> +</g> +</g> +</g> </svg>
\ No newline at end of file diff --git a/Master/texmf-dist/doc/latex/guide-latex-fr/README.md b/Master/texmf-dist/doc/latex/guide-latex-fr/README.md index 6ac4e404602..62ef8c535ea 100644 --- a/Master/texmf-dist/doc/latex/guide-latex-fr/README.md +++ b/Master/texmf-dist/doc/latex/guide-latex-fr/README.md @@ -1,19 +1,20 @@ -Bonjour, +Bonjour, Il s'agit peut-être d'un nouveau guide sur LaTeX, mais celui-ci est en français et réalisé par un Français qui utilise ardemment LaTeX et trouve qu'il y a déjà suffisamment de guides en anglais sur le sujet disponibles sur Internet (non pas qu'ils soient médiocres, certains sont mêmes bien écrits). Donc, si jamais tu es Français et un parfait débutant en LaTeX, ou si tu es juste intéressé par LaTeX (et comprends le français), j'espère que ce guide pourra t'être utile. Il est rempli d'exemples les plus minimalistes possibles, remplis d'explications, afin de faciliter ton utilisation de LaTeX (c'est ce que je pense en tout cas). -J'espère donc que ce guide pourra servir à quelqu'un... Si jamais tu l'apprécies ou décèles une erreur, n'hésites pas à laisser un commentaire dans le GForm disponible (lien dans le préambule du guide ou dans la page CTAN du guide mais je la rappelle ici aussi : http://drive.google.com/drive/folders/0BzU2BdcGjfU5Tk1XaXhxbk5JcEE?usp=sharing). +J'espère donc que ce guide pourra servir à quelqu'un... Si jamais tu l'apprécies ou décèles une erreur, n'hésites pas à laisser un commentaire dans le GForm disponible : http://drive.google.com/drive/folders/0BzU2BdcGjfU5Tk1XaXhxbk5JcEE?usp=sharing (lien dans le préambule ou sur la page CTAN du guide si besoin). Oh, et au passage, ce guide a été conçu sous la licence CC BY-NC-ND 4.0, comme indiqué à l'intérieur. + Merci et bonne lecture, Adrien BOUZIGUES -% ---------------------------------------------------------------------------------------------------------------------------------- % +--- Hello, @@ -22,34 +23,49 @@ This is a new guide on LaTeX, entirely in French and made by a French guy who lo So, if you're French and a complete beginner in LaTeX, or if you're just interested in LaTeX (and understand French a little), I hope this guide can be of some use. It is full of MWEs (Minimal Working Example) so that you can use LaTeX more easily (I think). -I hope it can help someone... If you like it or find a mistake, don't hesitate to leave a comment on the GForm available (link on the introduction of the guide or in the CTAN page of the guide but I'll also put it here : http://drive.google.com/drive/folders/0BzU2BdcGjfU5Tk1XaXhxbk5JcEE?usp=sharing). +I hope it can help someone... If you like it or find a mistake, don't hesitate to leave a comment on the GForm available : http://drive.google.com/drive/folders/0BzU2BdcGjfU5Tk1XaXhxbk5JcEE?usp=sharing (link on the introduction or on the CTAN page of the guide if needed). Oh, and by the way, this guide is under the licence CC BY-NC-ND 4.0, as mentionned inside. + Thanks and have a nice reading, Adrien BOUZIGUES -% ---------------------------------------------------------------------------------------------------------------------------------- % +--- + + +### Historique des mises à jour : +* **Version 3.5 (finie le 13/05/2019) :** + * poursuite des corrections entamées avec la version 3.0 + * utilisation du package "upquote" (apostrophe droite dans les codes fournies ==> copier-coller OK désormais) + * Partie III : + * ajout d'un nouveau chapitre, pour bien structurer son rapport et ses longs documents + * reprise complète du chapitre sur le texte (code LaTeX à jour, aperçu du résultat final avec plusieurs pages) + * relecture du chapitre sur les mathématiques, un peu de simplification + * reprise du chapitre sur les tableaux, code allégé et épuré + * reprise du chapitre sur les images + * dernière Mà J du chapitre sur PSTricks : simplification, quelques reformulations + * reprise du chapitre sur TikZ : structure initiale conservée, exemples repensés, explications reprises + * mise à jour des annexes -Historique des mises à jour : -* Version 3.0 (finie le 25/12/2018) : - --> relecture complète : limiter les fautes, corriger des tournures maladroites + reprise des noms en \texttt (PDFLaTeX, TikZ, ...) - --> nouvelle page de garde, plus "patriotique et neutre" - --> lettrine en début de chaque chapitre - --> correction de la typographie des listes à puces et aération de ces dernières (package enumitem & généralisation dans le préambule avec "setlist") - --> amélioration des boîtes définies sous tcolorbox : +* **Version 3.0 (finie le 25/12/2018) :** + * relecture complète : limiter les fautes, corriger des tournures maladroites + reprise des noms en \texttt (PDFLaTeX, TikZ, ...) + * nouvelle page de garde, plus "patriotique et neutre" + * lettrine en début de chaque chapitre + * correction de la typographie des listes à puces et aération de ces dernières (package enumitem & généralisation dans le préambule avec "setlist") + * amélioration des boîtes définies sous tcolorbox : * définition d'une boîte type * création des autres boîtes depuis la boîte type (nouvel environnement) * petite folie avec la personnalisation de la boîte "attention" - --> Partie I : + * Partie I : * création d'un nouveau chapitre "Pourquoi (utiliser) LaTeX ?" : historique, retours d'expérience et avantages à utiliser LaTeX * reprise du chapitre "Installer LaTeX" : plus de clarté et d'explications * changement du chapitre "Démarrage avec Texmaker" en "Compiler avec LaTeX" : premier contact avec la compilation et plus d'explications à ce sujet pour une utilisation avec Texmaker - --> Partie II : + * Partie II : * reprise complète du chapitre sur la gestion du texte : exemples plus précis, qui vont droit au but + division en sous-sections par endroits pour faciliter la compréhension * reprise du chapitre sur les mathématiques : exemples plus courts, explications revues * reprise complète du chapitre sur les boîtes et tableaux : plus d'explications sur les notions survolées jusqu'à présent, un peu plus de théorie et des exemples repensés @@ -57,18 +73,18 @@ Historique des mises à jour : * reprise du chapitre sur les erreurs : plus explicite avec l'utilisation d'un tableau, reformulation, plus d'explications, de détails et de conseils personnels -* Version 2 (finie le 26/12/2017) : - --> dépôt sur CTAN après une refonte complète - --> relecture de tout le guide : limiter les fautes, revoir l'agencement - --> création d'une partie II pour les débutants et d'une partie III pour les plus aguerris - --> page de garde personnalisé, licence Creative Commons, mindmap TikZ ; préambule et page QRCode - --> amélioration du chapitre "Traitement des erreurs" - --> création du chapitre "Les modes de compilation sous LaTeX" - --> premier retour d'expérience sous TikZ : encore brouillon mais c'est un début +* **Version 2 (finie le 26/12/2017) :** + * dépôt sur CTAN après une refonte complète + * relecture de tout le guide : limiter les fautes, revoir l'agencement + * création d'une partie II pour les débutants et d'une partie III pour les plus aguerris + * page de garde personnalisé, licence Creative Commons, mindmap TikZ ; préambule et page QRCode + * amélioration du chapitre "Traitement des erreurs" + * création du chapitre "Les modes de compilation sous LaTeX" + * premier retour d'expérience sous TikZ : encore brouillon mais c'est un début -* Version 1 (13/07/2016 et après) : - --> guide fermé, réservé à mon usage personnel - --> création du guide, de sa structure, des points de base à aborder - --> expérimentations, améliorations successives - --> ajouts de nouvelles notions (expérience personnelle)
\ No newline at end of file +* **Version 1 (13/07/2016 et après) :** + * guide fermé, réservé à mon usage personnel + * création du guide, de sa structure, des points de base à aborder + * expérimentations, améliorations successives + * ajouts de nouvelles notions (expérience personnelle)
\ No newline at end of file diff --git a/Master/texmf-dist/doc/latex/guide-latex-fr/Support_oral/1-title.pdf b/Master/texmf-dist/doc/latex/guide-latex-fr/Support_oral/1-title.pdf Binary files differdeleted file mode 100644 index dd8b8aaddbf..00000000000 --- a/Master/texmf-dist/doc/latex/guide-latex-fr/Support_oral/1-title.pdf +++ /dev/null diff --git a/Master/texmf-dist/doc/latex/guide-latex-fr/Support_oral/1-title.svg b/Master/texmf-dist/doc/latex/guide-latex-fr/Support_oral/1-title.svg deleted file mode 100644 index fe61260cbb0..00000000000 --- a/Master/texmf-dist/doc/latex/guide-latex-fr/Support_oral/1-title.svg +++ /dev/null @@ -1,98 +0,0 @@ -<?xml version="1.0" encoding="UTF-8" standalone="no"?> -<!-- Created with Inkscape (http://www.inkscape.org/) --> - -<svg - xmlns:dc="http://purl.org/dc/elements/1.1/" - xmlns:cc="http://creativecommons.org/ns#" - xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" - xmlns:svg="http://www.w3.org/2000/svg" - xmlns="http://www.w3.org/2000/svg" - xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" - xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" - width="128mm" - height="96mm" - viewBox="0 0 128 96" - version="1.1" - id="svg8" - inkscape:version="0.92.0 r15299" - sodipodi:docname="1-title.svg"> - <defs - id="defs2" /> - <sodipodi:namedview - id="base" - pagecolor="#ffffff" - bordercolor="#666666" - borderopacity="1.0" - inkscape:pageopacity="0.0" - inkscape:pageshadow="2" - inkscape:zoom="1.4" - inkscape:cx="97.43267" - inkscape:cy="157.55059" - inkscape:document-units="mm" - inkscape:current-layer="layer1" - showgrid="false" - fit-margin-top="0" - fit-margin-left="0" - fit-margin-right="0" - fit-margin-bottom="0" - inkscape:window-width="1920" - inkscape:window-height="1001" - inkscape:window-x="-9" - inkscape:window-y="-9" - inkscape:window-maximized="1" /> - <metadata - id="metadata5"> - <rdf:RDF> - <cc:Work - rdf:about=""> - <dc:format>image/svg+xml</dc:format> - <dc:type - rdf:resource="http://purl.org/dc/dcmitype/StillImage" /> - <dc:title /> - </cc:Work> - </rdf:RDF> - </metadata> - <g - inkscape:label="Calque 1" - inkscape:groupmode="layer" - id="layer1" - transform="translate(282.7262,28.815477)"> - <rect - style="opacity:0.69800002;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.13;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" - id="rect4485" - width="128" - height="96" - x="-282.7262" - y="-28.815477" /> - <g - id="g4487" - transform="matrix(0.054156,0,0,0.0541551,-279.7262,51.587298)"> - <path - style="fill:#ffffff;fill-opacity:1;stroke-width:0.80000001" - d="M 0,120 V 0 h 507.6 507.6 V 120 240 H 507.6 0 Z" - id="path4503" - inkscape:connector-curvature="0" /> - <path - style="fill:#696969;fill-opacity:1;stroke-width:0.80000001" - d="m 572.73714,237.35504 c -8.13968,-3.0485 -11.21094,-8.60046 -8.43408,-15.24642 2.1269,-5.09039 5.12467,-6.50086 21.50799,-10.11967 4.29607,-0.94893 8.34607,-2.26036 9,-2.91428 1.38855,-1.38856 1.53473,-5.79737 0.3354,-10.11629 -1.43489,-5.16717 -8.73627,-8.24583 -13.59596,-5.73278 -1.87952,0.97194 -3.18329,2.8021 -5.2911,7.42738 -4.28193,9.39608 -5.85939,9.54602 -5.85939,0.55695 0,-4.13201 0.35332,-6.24896 1.18111,-7.07676 1.74737,-1.74736 11.37758,-3.21041 18.23507,-2.77032 6.8804,0.44156 10.42456,2.10828 13.1811,6.19871 1.72302,2.55679 1.80272,3.39195 1.80272,18.89132 0,8.91894 0.21851,16.7857 0.48559,17.48169 0.26707,0.69599 1.14583,1.26543 1.95279,1.26543 0.80696,0 1.69862,0.37446 1.98148,0.83213 0.34517,0.55851 -1.80946,0.75579 -6.5528,0.6 -7.04958,-0.23155 -7.06768,-0.23757 -7.3202,-2.43213 -0.28127,-2.44446 -1.79881,-2.86528 -3.39539,-0.94153 -3.28178,3.95431 -13.67669,6.17055 -19.21433,4.09657 z m 15.86994,-3.92961 c 4.13935,-2.48429 6.63596,-7.56307 7.16655,-14.5787 0.37615,-4.97363 0.24075,-6.09143 -0.78557,-6.48526 -1.95478,-0.75013 -17.34593,4.32367 -19.42626,6.404 -1.12861,1.12862 -2.05671,3.3212 -2.41381,5.70249 -1.40049,9.33918 6.85389,14.12202 15.45909,8.95747 z m 108.76175,3.77067 C 689.47236,235.19577 689.6,235.36046 689.6,227.17186 c 0,-9.2853 1.54506,-9.59412 4.38981,-0.87742 0.77083,2.36194 2.39099,5.40186 3.60035,6.75537 1.94382,2.17552 2.80497,2.49952 7.42521,2.79372 9.09406,0.57906 15.78463,-2.99471 15.78463,-8.4314 0,-4.17116 -2.9079,-6.21759 -13.53137,-9.52267 C 691.76389,213.06575 688.8,210.8239 688.8,203.91995 c 0,-5.10527 3.09215,-8.76601 9.39706,-11.12497 7.36653,-2.75617 22.1307,-1.68444 24.31894,1.76532 0.87656,1.38189 0.84694,10.34377 -0.0388,11.7422 -1.08393,1.71131 -2.09846,0.54825 -3.94906,-4.52723 -2.3809,-6.52981 -4.59632,-8.39131 -10.49454,-8.81794 -11.46013,-0.82895 -18.2819,8.57046 -9.51168,13.10572 1.42521,0.737 6.03082,2.40857 10.23469,3.71461 13.97915,4.34298 17.64339,7.33297 17.64339,14.39691 0,7.63229 -7.52284,13.35637 -18.25406,13.88942 -3.76856,0.1872 -7.93737,-0.14852 -10.77711,-0.86789 z m 83.59514,-0.31148 c -5.83135,-2.01418 -9.73114,-5.40016 -12.56397,-10.90865 -5.81062,-11.29883 -0.98549,-27.2092 9.92905,-32.74002 7.73268,-3.91844 16.43417,-3.17317 22.59911,1.9356 3.41232,2.82771 6.27184,8.24465 6.27184,11.88103 V 209.6 h -14.2471 c -17.71131,0 -17.41869,-0.14198 -16.6552,8.08134 0.99785,10.74735 3.05548,15.06152 8.21092,17.2156 7.96162,3.32658 15.99842,-0.70282 19.42938,-9.74124 1.60208,-4.22063 3.262,-5.5818 3.262,-2.67495 0,2.97358 -3.14032,8.55298 -6.27184,11.14319 -3.13798,2.59556 -9.27705,4.79246 -13.27336,4.74994 -1.35014,-0.0143 -4.36102,-0.68453 -6.69083,-1.48926 z m 15.70304,-30.77856 c 0.65972,-3.44017 -0.8314,-8.79352 -3.07399,-11.03612 -6.0174,-6.0174 -16.71004,0.58266 -16.77545,10.35468 l -0.0176,2.62463 9.79025,-0.22463 c 8.82416,-0.20245 9.81854,-0.37204 10.07676,-1.71856 z M 833.2,237.56543 c -9.41136,-1.55746 -16.01008,-8.46025 -18.01816,-18.84829 -2.378,-12.30166 4.62568,-23.72339 16.69912,-27.23324 5.29296,-1.5387 15.04176,-1.15624 19.54944,0.76694 l 3.0304,1.29291 -0.2304,7.36342 c -0.278,8.88363 -1.38752,9.85637 -3.80408,3.33507 -2.55888,-6.90515 -5.0932,-10.34222 -8.44048,-11.4469 -5.69288,-1.87884 -10.954,0.59477 -14.20816,6.68028 C 826.18376,202.45642 826,203.95755 826,214 c 0,12.68402 1.03376,16.0333 5.98792,19.4 3.548,2.41112 10.31112,2.48731 14.07904,0.1586 2.3624,-1.46001 5.35704,-6.30435 7.02176,-11.3586 0.54576,-1.65722 2.11128,-1.8801 2.11128,-0.30058 0,1.90043 -2.29784,7.71016 -3.98872,10.08477 -3.04072,4.27029 -11.01024,6.73984 -18.01128,5.58124 z M 741.97615,236.6 c -0.2055,-0.55 -0.4642,-14.32 -0.57489,-30.6 L 741.2,176.4 l -12.25662,0.27966 -12.25664,0.27965 0.25664,-2.67965 L 717.2,171.6 l 28.56646,-0.21007 c 27.56752,-0.20272 28.59552,-0.15579 29.39713,1.34205 0.45687,0.85366 0.59933,2.15499 0.31657,2.89184 -0.4545,1.18442 -1.82202,1.30706 -11.79713,1.05795 L 752.4,176.4 l -0.20999,29.53006 c -0.14343,20.17034 -0.49143,29.8692 -1.09795,30.6 -1.15108,1.38696 -8.60247,1.44413 -9.11591,0.0699 z M 516.56824,236.30157 C 516.2557,235.98904 516,221.64534 516,204.42666 c 0,-23.28296 0.24604,-31.5527 0.96,-32.26666 1.19005,-1.19005 14.73104,-1.25776 28.24,-0.14122 12.17782,1.00652 17.02161,3.05498 19.54381,8.26515 2.17557,4.49412 2.15277,10.18511 -0.0591,14.75422 -3.3568,6.93423 -13.53774,11.21167 -28.68471,12.05166 l -9.2,0.51019 -0.4,14.4 -0.4,14.4 -4.43176,0.2349 c -2.43748,0.1292 -4.68748,-0.0208 -5,-0.33333 z m 28.53957,-34.73579 c 10.74913,-4.02176 14.41282,-16.31482 6.77713,-22.73984 C 548.53846,176.01007 546.51922,175.6 536,175.6 h -9.2 l -0.21889,13.8 -0.21889,13.8 h 7.18888 c 5.28026,0 8.34852,-0.43388 11.55671,-1.63422 z M 620,236 c 0,-0.44 0.86149,-0.8 1.91441,-0.8 1.05293,0 2.13293,-0.56944 2.4,-1.26543 0.26708,-0.69599 0.48559,-9.62399 0.48559,-19.84 0,-19.69693 -0.14818,-20.49457 -3.80722,-20.49457 -1.05442,0 -1.66903,-0.35302 -1.39278,-0.8 0.27194,-0.44 3.30717,-0.8 6.74497,-0.8 h 6.25053 l 0.52986,3.31352 0.52986,3.31351 1.77239,-1.62952 c 3.88393,-3.57085 7.27305,-4.99146 11.91525,-4.99452 6.36651,-0.004 7.05714,0.89186 7.05714,9.15619 0,4.93189 -0.30949,6.90176 -1.20051,7.64124 -1.01956,0.84616 -1.48557,0.34845 -3.09165,-3.30204 -1.04013,-2.36411 -2.12608,-5.05144 -2.41324,-5.97184 -0.28715,-0.92041 -1.39647,-2.4949 -2.46515,-3.49888 -1.93819,-1.82084 -1.94967,-1.8216 -4.58625,-0.30823 -1.51687,0.87067 -3.41699,3.04343 -4.45908,5.09887 -1.72552,3.40346 -1.80514,4.3381 -1.6,18.7817 l 0.21588,15.2 2.6,0.25069 c 1.43,0.13788 2.6,0.58788 2.6,1 0,0.42578 -4.31763,0.74931 -10,0.74931 -6.13334,0 -10,-0.30934 -10,-0.8 z m 40.8,0 c 0,-0.44 0.90608,-0.8 2.0135,-0.8 h 2.01351 L 664.6135,214.6 664.4,194 l -1.8,-0.25564 c -0.99,-0.1406 -1.8,-0.5906 -1.8,-1 0,-0.4094 3.02149,-0.74436 6.71441,-0.74436 5.38467,0 6.81057,0.25061 7.2,1.26543 0.26708,0.69599 0.48559,10.2449 0.48559,21.2198 v 19.95437 l 2,0.7604 c 1.1,0.41822 2,0.94931 2,1.1802 0,0.23089 -4.14,0.4198 -9.2,0.4198 -5.6,0 -9.2,-0.31304 -9.2,-0.8 z m 204,0.0556 c 0,-0.4094 0.81,-0.8594 1.8,-1 l 1.8,-0.25564 v -28.4 -28.4 l -2.2,-0.25314 c -1.21,-0.13922 -2.2,-0.60324 -2.2,-1.03115 0,-0.46234 2.84016,-0.68422 7,-0.54685 l 7,0.23114 0.22392,10.2 c 0.23688,10.79102 0.74176,11.95285 3.75008,8.62875 5.09696,-5.63211 18.56448,-4.82855 22.61848,1.34957 1.20376,1.8345 1.46544,4.75633 1.80752,20.18335 l 0.4,18.03833 2.2,0.25314 c 1.21,0.13922 2.2,0.58922 2.2,1 0,0.42099 -4.18872,0.74686 -9.6,0.74686 -5.86664,0 -9.6,-0.31111 -9.6,-0.8 0,-0.44 1.04152,-0.8 2.3144,-0.8 1.37248,0 2.51208,-0.51503 2.8,-1.26543 0.70848,-1.84627 0.5024,-28.85127 -0.25544,-33.46729 -0.77064,-4.69462 -2.34312,-6.06728 -6.95048,-6.06728 -4.34976,0 -7.67144,2.69243 -9.65104,7.82275 -1.21608,3.15167 -1.45744,6.16216 -1.45744,18.17725 v 14.4 l 2.4,0.26156 c 1.32,0.14386 2.742,0.59386 3.16,1 0.4656,0.45238 -3.17576,0.73844 -9.4,0.73844 -5.73368,0 -10.16,-0.32429 -10.16,-0.74436 z M 667.2,181.83245 c -5.42447,-1.99455 -5.12574,-7.64996 0.49434,-9.3582 3.81216,-1.15871 8.17408,2.55944 7.07289,6.029 -0.40697,1.28225 -5.00418,4.15187 -6.14153,3.83359 -0.12414,-0.0347 -0.7657,-0.26171 -1.4257,-0.50439 z M 453.97149,69.4 c -0.20807,-0.55 5.17995,-16.3 11.97337,-35 L 478.29655,0.4 483.74827,0.1743809 489.2,-0.05123818 501.80238,34.446924 c 6.93131,18.973989 12.40006,34.825517 12.15279,35.225618 -0.80729,1.306223 -11.2998,0.868538 -12.69803,-0.529685 C 500.56571,68.451429 500,67.564933 500,67.172867 c 0,-0.392065 -0.74915,-2.715129 -1.66478,-5.162364 L 496.67045,57.560987 483.80179,57.780494 470.93314,58 l -2.02476,5.6 c -1.11362,3.08 -2.40358,5.864487 -2.86657,6.18775 -1.48593,1.037477 -11.65474,0.710812 -12.07032,-0.38775 z m 38.48037,-24.046657 c 0.50727,-1.321933 -7.14252,-23.183563 -8.24042,-23.549529 -0.94744,-0.315813 -9.23911,22.780588 -8.56809,23.866337 0.74778,1.209927 16.33539,0.916131 16.80851,-0.316808 z M 520.16,69.44 c -0.71676,-0.71676 -0.96,-9.635555 -0.96,-35.2 V 0 h 17.50865 17.50865 l 4.27672,2.2341904 c 4.78002,2.4971117 9.00308,7.4260408 10.26949,11.9860146 1.20659,4.344527 1.02016,10.990809 -0.40405,14.40549 -1.4326,3.434746 -5.37813,7.796828 -8.55946,9.463104 -1.21,0.633759 -2.19967,1.593044 -2.19928,2.131745 4e-4,0.538701 3.23555,7.23167 7.18924,14.873265 3.95368,7.641595 6.99211,14.211595 6.75206,14.6 -0.52452,0.848685 -12.36049,0.930174 -13.64448,0.09394 C 557.4012,69.464487 554.0273,63.26 550.4,56 c -3.6273,-7.26 -7.0012,-13.473346 -7.49754,-13.807436 -0.49636,-0.33409 -2.88246,-0.51409 -5.30246,-0.4 L 533.2,42 532.9799,55.565204 c -0.15615,9.624639 -0.50474,13.746048 -1.2,14.18775 -1.561,0.991721 -10.55752,0.749422 -11.6199,-0.312954 z m 31.6627,-40.148312 c 3.08325,-1.594412 5.28497,-6.200819 4.63072,-9.688307 C 555.24733,13.17437 550.81547,10.951127 540,11.349519 L 533.2,11.6 l -0.22484,9.336557 c -0.20169,8.375268 -0.0782,9.380214 1.2,9.760581 2.75999,0.821355 15.26763,-0.174753 17.64754,-1.40545 z m 42.34235,40.606695 C 593.85427,69.587606 593.6,56.657414 593.6,41.164622 c 0,-22.222475 -0.22085,-28.351997 -1.0462,-29.036982 -0.57542,-0.477549 -4.80542,-0.971629 -9.4,-1.097955 L 574.8,10.8 574.56345,5.4 574.3269,0 h 25.72214 c 23.12655,0 25.67314,0.12769284 25.23655,1.26543 -0.26708,0.6959865 -0.48559,3.2159865 -0.48559,5.6 V 11.2 h -8.30205 c -5.95326,0 -8.55315,0.302568 -9.18961,1.069464 -0.60412,0.727915 -0.95477,10.117237 -1.09796,29.4 L 606,70 l -5.63495,0.231716 c -3.09923,0.127444 -5.88923,-0.02255 -6.2,-0.333333 z m 43.33851,-1.345096 C 632.57229,66.872356 626.4,63.078966 626.4,61.729214 c 0,-0.324148 1.73166,-2.29499 3.84815,-4.379648 l 3.84815,-3.790287 4.96625,2.561294 c 4.35945,2.248344 5.7709,2.568133 11.55185,2.617275 7.77912,0.06613 11.15288,-1.356744 13.15073,-5.54626 1.08867,-2.282982 1.14898,-3.256028 0.36415,-5.875546 -1.28862,-4.301049 -3.45054,-5.451723 -13.05862,-6.950405 C 646.52179,39.656099 640.9615,38.247057 638.71443,37.23443 632.25794,34.324849 628.8,28.513866 628.8,20.573437 628.8,12.561867 632.07994,6.743448 639.1091,2.2856878 642.61713,0.06096042 643.00262,0 653.56299,0 c 10.13689,0 11.11213,0.13701692 14.84338,2.0854214 2.19649,1.1469816 4.66586,2.7292114 5.48747,3.516066 1.45227,1.390831 1.39934,1.5331653 -1.90189,5.1145786 C 670.1243,12.74223 668.21574,14.4 667.75069,14.4 c -0.46504,0 -2.48919,-0.805759 -4.49811,-1.790576 -4.41537,-2.164513 -13.69212,-2.508558 -17.19514,-0.637714 -4.3444,2.320199 -5.78414,8.525896 -2.84493,12.26249 1.91547,2.43512 4.31815,3.267574 14.23547,4.932138 4.09639,0.687554 8.81048,1.945192 10.47575,2.794749 6.80916,3.473775 10.34869,10.892603 9.43244,19.770283 -0.86276,8.35932 -6.56634,14.665432 -15.72383,17.384916 -6.51328,1.934232 -17.55884,1.676505 -24.12878,-0.562999 z" - id="path4497" - inkscape:connector-curvature="0" - sodipodi:nodetypes="sssccssscssscsccccscscccccscccsssccccccssccssscscscscsccsccccccccscccccccssccscccscccccsccscsccccsssssscccccccscccscsscsscscccscsscccccscssssssccccsscscssssscccccscccccsccssssccscscccssccccccscccsccsccccsccsscscsccccccsccccscsccccccscscccscscccscscscscscssccssccsssssccssssssscss" /> - <path - style="fill:#f58815;stroke-width:0.80000001" - d="m 0.50893567,238.00459 c 0.25229599,-0.65747 0.69099743,-1.05754 0.97489213,-0.88905 0.2838948,0.1685 15.9907852,-25.96461 34.9042012,-58.07358 18.913416,-32.10898 34.663416,-58.55014 35,-58.75817 C 71.724613,120.07577 72,119.34282 72,118.655 72,117.96719 86.887624,92.158432 105.08361,61.302216 123.27959,30.445997 138.76883,4.03 139.50415,2.6 L 140.84109,0 h 80.77945 C 266.04925,0 302.4,0.1877185 302.4,0.41715221 c 0,0.22943371 -0.8698,1.75943369 -1.93289,3.39999999 -1.06309,1.6405663 -16.73466,28.1044138 -34.8257,58.8085508 -18.09105,30.704137 -33.45443,56.444137 -34.14086,57.199997 -2.3639,2.60304 -69.87057,117.97559 -69.43866,118.67443 C 162.3079,238.8982 127.46961,239.2 81.27232,239.2 9.5423232,239.2 0.10382447,239.0603 0.50893567,238.00459 Z M 304,238.47806 c 0,-0.39707 -15.30606,-26.6634 -34.01346,-58.36964 -18.7074,-31.70624 -34.22592,-58.20136 -34.48559,-58.87806 C 235.07805,120.1283 243.32963,120 314.63589,120 h 79.60706 l 33.83011,57.36171 c 18.60656,31.54895 34.2119,58.17843 34.67852,59.17663 0.46664,0.9982 1.38842,1.96366 2.04842,2.14548 0.66,0.18182 -35.25,0.37234 -79.8,0.42338 -47.69659,0.0546 -81,-0.20403 -81,-0.62914 z m 268.90152,-2.07625 c -6.85208,-2.13714 -10.09936,-7.5483 -8.12317,-13.5362 1.14047,-3.45564 3.83184,-5.47449 9.56685,-7.17625 5.70966,-1.69424 6.6121,-1.62318 3.49826,0.27544 -3.9591,2.41402 -5.38796,5.21618 -5.41754,10.6244 -0.0236,4.31482 0.1949,4.92974 2.44285,6.87474 1.35781,1.17484 3.15781,2.56489 4,3.08901 1.43205,0.89123 1.40169,0.95254 -0.46877,0.94649 -1.1,-0.003 -3.57432,-0.4975 -5.49848,-1.09763 z M 694.2,235.52007 l -3.8,-1.16849 v -6.423 c 0,-3.53265 0.30773,-6.23282 0.68385,-6.00036 0.37612,0.23244 1.46197,2.55669 2.413,5.16499 0.95103,2.60829 2.87164,5.85935 4.26801,7.22457 2.81701,2.75414 2.18026,2.96889 -3.56486,1.20229 z m 48.73334,0.74659 C 742.64,235.97334 742.4,222.51742 742.4,206.36462 c 0,-25.18596 -0.17165,-29.51116 -1.20521,-30.36894 -0.91455,-0.75901 -3.92092,-0.86031 -12.46585,-0.42006 l -11.26064,0.58018 0.26585,-1.8779 L 718,172.4 h 28 28 l 0.2621,1.84926 0.26209,1.84926 L 763.0621,175.84926 751.6,175.6 751.17587,206 c -0.23327,16.72 -0.50327,30.49 -0.6,30.6 -0.3985,0.45318 -7.15051,0.15869 -7.64253,-0.33334 z m 35.69841,-1.13518 c -3.96563,-1.96297 -8.67073,-6.92217 -10.45519,-11.01983 -1.93569,-4.44492 -1.71441,-13.98823 0.43474,-18.74964 0.95279,-2.1109 2.49344,-4.8109 3.42368,-6 2.03808,-2.60527 7.72723,-6.56201 9.43508,-6.56201 0.89288,0 0.65262,0.60205 -0.87795,2.2 -2.80452,2.92798 -4.73657,7.73926 -4.53889,11.30293 0.0884,1.59339 -0.11683,3.55542 -0.45603,4.36007 -0.88759,2.10554 0.24103,13.80121 1.65939,17.1958 1.45656,3.48606 3.15818,5.48525 6.34342,7.45275 2.38785,1.47496 2.38987,1.48248 0.4,1.48483 -1.1,0.002 -3.51571,-0.74791 -5.36825,-1.6649 z m 48.49897,-0.55273 c -5.32208,-2.78029 -9.06048,-7.81391 -10.77568,-14.50913 -1.85224,-7.22998 0.0664,-15.73773 4.684,-20.76808 2.7332,-2.97761 7.8476,-6.50154 9.43592,-6.50154 1.18496,0 1.01952,0.45281 -0.94992,2.6 -3.6892,4.02214 -4.93664,9.57561 -4.6068,20.50807 0.35,11.59728 2.1816,16.05235 7.8272,19.03781 3.4628,1.83118 3.47608,1.85412 1.07176,1.85412 -1.33896,0 -4.34784,-0.99956 -6.68648,-2.22125 z M 516.8,204.41524 v -31.58476 l 2.10539,-0.52842 c 2.89225,-0.72591 28.42729,0.35123 34.14566,1.44036 8.24117,1.56961 12.54511,6.12586 12.54771,13.28328 0.004,11.94289 -9.92999,18.25075 -30.39876,19.30186 L 526,206.8 525.78195,221.4 525.5639,236 H 521.18195 516.8 Z m 30.99634,-3.06789 c 10.67355,-5.52099 12.00064,-19.10346 2.40359,-24.60008 C 547.07666,174.95846 545.9537,174.8 536.4,174.8 H 526 l -0.22012,13.57062 c -0.12106,7.46384 -0.0271,14.07354 0.20874,14.6882 0.34154,0.89004 2.17809,1.05055 9.02012,0.78836 7.39821,-0.28352 9.174,-0.63066 12.7876,-2.49983 z M 596,233.26666 c 0,-1.50332 -0.43562,-2.87853 -0.96803,-3.056 -0.72706,-0.24236 -0.62749,-1.3771 0.4,-4.55854 1.58097,-4.89518 1.80924,-12.89091 0.40803,-14.29212 -0.74666,-0.74666 -0.74666,-1.17334 0,-1.92 1.18878,-1.18878 1.25518,-7.75458 0.1091,-10.78792 -0.46799,-1.23865 -1.81799,-3.26957 -3,-4.51317 l -2.1491,-2.26108 2.4,0.54824 c 4.74985,1.08504 7.98954,3.15241 9.3615,5.97393 1.12775,2.3193 1.40244,5.78738 1.6,20.20085 l 0.2385,17.40085 -4.2,-8e-4 L 596,236 Z m 29.2,-18.86714 v -21.59995 l 3.4,2.1e-4 c 3.22322,2.1e-4 3.4,0.1216 3.4,2.33479 0,3.10265 0.73539,4.86543 2.02974,4.86543 0.81347,0 0.88627,0.60079 0.31441,2.59472 -0.40928,1.4271 -0.74415,9.5271 -0.74415,18 V 236 l -4.2,-2.7e-4 -4.2,-2.7e-4 z m 40.8,-0.0348 V 192.7299 l 4,0.23506 4,0.23506 0.21306,21.4 0.21308,21.4 -4.21308,-2.4e-4 L 666,235.99954 Z M 869.6,206.4 v -29.6 h 4 4 v 10.8 c 0,10.18501 0.0891,10.8 1.56448,10.8 1.51488,0 1.52256,0.10794 0.24128,3.4 -1.0612,2.72655 -1.33144,6.44998 -1.36456,18.79831 l -0.0416,15.39832 -4.2,0.002 -4.2,0.002 v -29.6 z m 28.4,10.9628 c 0,-20.72562 -0.23296,-21.76398 -5.42312,-24.17328 L 890,191.99331 l 4.32512,0.4475 c 5.08352,0.52597 8.428,2.07661 9.8512,4.56747 0.71496,1.25134 1.14432,7.40182 1.42368,20.39294 l 0.4,18.60121 -4,-0.002 -4,-0.002 v -18.63581 z m -178.04337,14.87458 c 1.15247,-1.56344 1.85996,-3.59092 1.81455,-5.2 -0.1212,-4.29436 -3.42189,-6.48162 -15.51868,-10.28374 -9.00796,-2.83127 -11.08642,-3.79932 -13.63993,-6.35283 -2.59316,-2.59317 -3.01257,-3.51508 -3.01257,-6.62209 0,-2.87898 0.46974,-4.11237 2.32097,-6.09411 2.71961,-2.91136 4.82497,-3.42007 2.92439,-0.7066 -1.79231,2.55889 -1.53958,4.94957 0.81968,7.75339 1.66203,1.97521 3.88682,3.02094 11.4,5.35844 11.04541,3.43643 14.59849,5.12152 16.85934,7.99573 3.37608,4.29199 1.44448,11.95395 -3.89056,15.43246 L 718.06765,234.8 Z m 77.49211,-26.24233 c 0.52714,-4.51534 -0.54744,-8.22383 -3.2882,-11.34796 L 791.6,191.72838 794,192.3164 c 5.84095,1.43108 11.402,7.4725 12.1736,13.22514 l 0.43704,3.25846 h -4.74464 -4.74472 z m -145.97791,0.65565 c -1.83545,-5.14169 -5.16897,-11.53857 -6.22387,-11.94338 -2.40159,-0.92158 -1.21502,-1.90732 2.2959,-1.90732 5.12935,0 6.05714,1.28818 6.05714,8.40993 0,5.70085 -1.06491,8.42209 -2.12917,5.44077 z M 851.99936,206.2 c 0,-2.40508 -4.8324,-10.9111 -7.30192,-12.85686 -2.30584,-1.81688 -2.4572,-2.12668 -1.04264,-2.13427 0.91016,-0.005 3.52016,0.54507 5.8,1.22212 l 4.1452,1.23099 v 6.76901 c 0,3.97934 -0.32968,6.76901 -0.8,6.76901 -0.44,0 -0.80032,-0.45 -0.80064,-1 z m -280.63441,-5.6 0.23505,-5.8 3.36876,-1.16457 c 3.77403,-1.30467 5.10322,-0.75088 3.26342,1.35967 -0.67358,0.77269 -2.22054,3.6549 -3.43768,6.4049 -1.21716,2.75 -2.53961,5 -2.9388,5 -0.39919,0 -0.62002,-2.61 -0.49075,-5.8 z m 149.18731,4.4 c -0.18818,-0.33 -0.79288,-1.99706 -1.34376,-3.70457 -0.55088,-1.70751 -2.30265,-4.54467 -3.89283,-6.30481 l -2.89122,-3.20024 2.78777,0.60673 c 6.37229,1.38687 6.38778,1.40525 6.38778,7.58309 0,5.28737 -0.23984,6.43648 -1.04774,5.0198 z m -55.29512,-25.45714 c -4.03423,-4.03424 3.24873,-8.62899 7.53253,-4.7522 1.99486,1.80532 2.03179,2.97994 0.14734,4.68535 -1.85081,1.67496 -6.03534,1.71138 -7.67987,0.0669 z m 310.76222,-27.97592 c -5.07872,-1.42208 -11.11,-4.75116 -11.78248,-6.50361 -0.29048,-0.75683 0.76424,-2.44091 2.80952,-4.48619 l 3.27448,-3.27449 4.23952,2.30994 c 3.49544,1.90447 5.43552,2.36745 11.05248,2.63759 8.17912,0.39335 11.972,-0.87443 14.36664,-4.80204 1.94858,-3.19602 2.03768,-5.52718 0.34748,-9.08894 -1.53196,-3.22848 -5.0142,-4.68794 -14.327,-6.00471 -14.38744,-2.03428 -20.3816,-7.69294 -20.39552,-19.25391 -0.009,-7.483524 3.99744,-14.185636 10.47744,-17.526708 4.58136,-2.362128 12.5724,-3.446232 18.54672,-2.51612 5.74826,0.894928 12.61006,3.575048 14.50016,5.66356 1.141,1.260832 0.9591,1.651816 -2.2198,4.771712 l -3.4627,3.398352 -2.9768,-1.756336 c -1.97054,-1.162704 -4.81318,-1.887736 -8.4099,-2.145088 -9.16352,-0.655648 -14.17944,2.186208 -15.02824,8.514528 -0.8596,6.40867 2.64384,9.00886 14.70704,10.91544 10.3873,1.64168 15.5955,4.15859 18.3574,8.87128 2.4923,4.25292 3.3527,11.77168 1.9431,16.98131 -1.2459,4.60429 -6.2251,9.88998 -11.4573,12.16243 -5.46744,2.37464 -18.0528,2.95465 -24.56224,1.132 z M 517.6,117.58734 V 83.174688 L 539.8,83.387344 562,83.6 v 4.8 4.8 l -15.53943,0.21776 c -9.81139,0.137496 -15.93037,0.542216 -16.6,1.09796 -1.10279,0.915232 -1.5548,13.66547 -0.57498,16.21885 0.41527,1.08216 2.37074,1.26543 13.50204,1.26543 14.88904,0 15.04609,0.0658 14.65874,6.13785 L 557.2,122 544,122.21162 c -11.26044,0.18052 -13.34694,0.40869 -14.2,1.5529 -1.55073,2.07998 -1.34812,15.77308 0.25714,17.37834 1.05659,1.05658 3.7368,1.25714 16.8,1.25714 H 562.4 v 4.8 4.8 H 540 517.6 Z m 68.8,6.47809 c 0,-15.36401 -0.21851,-28.504014 -0.48559,-29.199998 C 585.51274,93.818688 583.92282,93.6 576.71441,93.6 H 568 V 88.388272 83.176536 L 592.2,83.388272 616.4,83.6 v 4.8 4.8 l -8.63021,0.227368 c -8.40658,0.221488 -8.65015,0.27984 -9.4,2.25208 C 597.93163,96.831896 597.6,109.39978 597.6,124.85208 V 152 H 592 586.4 Z M 643.39141,117.8 643.6,83.6 l 5.8229,-0.235512 5.82289,-0.235504 9.12863,18.835506 c 5.35932,11.05809 9.58404,18.83551 10.23155,18.83551 0.64335,0 4.91367,-7.75022 10.24847,-18.6 L 694,83.6 l 5.8,-0.235048 5.8,-0.235048 V 117.56495 152 h -5.58578 -5.58577 l -0.21423,-19.38945 c -0.27521,-24.91005 -0.41902,-25.027 -9.17857,-7.46465 L 678.82394,137.6 h -4.1915 -4.1915 l -6.22047,-12.2 C 655.27598,107.85747 655.2,107.91594 655.2,132.34134 V 152 h -6.00859 -6.00859 z M 720,117.6 V 83.2 h 22 22 v 5.2 5.2 h -15.98476 c -18.65092,0 -17.03758,-1.046456 -16.6505,10.8 l 0.23526,7.2 13.6,0.4 13.6,0.4 0.23818,5 0.23816,5 h -13.07816 c -9.10525,0 -13.36981,0.29163 -14.03818,0.96 -0.62197,0.62197 -0.96,3.85152 -0.96,9.17186 0,7.30004 0.17182,8.3038 1.54741,9.04 0.90728,0.48556 7.69161,0.82814 16.4,0.82814 H 764 v 4.8 4.8 h -22 -22 z m 68.8,6.09795 c 0,-22.33228 -0.22068,-28.485182 -1.0462,-29.17031 -0.57542,-0.477552 -4.80542,-0.971632 -9.4,-1.097952 L 770,93.2 v -4.8 -4.8 h 24.4 24.4 v 4.8 4.8 l -8.35376,0.229688 c -4.59464,0.12632 -8.82464,0.6204 -9.4,1.097952 C 800.22064,95.212768 800,101.36567 800,123.69795 V 152 h -5.6 -5.6 z M 827.39144,117.8 827.6,83.6 h 5.6 5.6 l 0.20856,34.2 0.20864,34.2 H 833.2 827.1828 Z m 25.6,0 0.20856,-34.2 22.2,-0.212656 22.2,-0.212656 v 5.196096 5.196088 L 881.4,93.783432 865.2,94 v 8.8 8.8 l 13.6,0.4 13.6,0.4 0.23816,5 0.23816,5 h -13.07816 c -9.1052,0 -13.36976,0.29163 -14.03816,0.96 -0.61992,0.61994 -0.96,3.82222 -0.96,9.04 0,5.21778 0.34008,8.42006 0.96,9.04 0.68032,0.68034 5.45776,0.96 16.4,0.96 h 15.44 v 4.8 4.8 H 875.19144 852.7828 Z M 908.8,117.6 V 83.2 h 14.36064 c 7.89832,0 16.19384,0.393152 18.4344,0.873664 10.80104,2.316408 17.72248,13.3892 15.2568,24.407316 -0.81048,3.6214 -1.72664,5.1944 -4.77592,8.2 -2.0752,2.04546 -4.62224,4.28492 -5.66008,4.97659 l -1.88688,1.25756 7.33552,14.23964 c 4.03456,7.83181 7.33552,14.3759 7.33552,14.54244 0,0.16653 -2.9748,0.30279 -6.61064,0.30279 h -6.61056 l -6.98648,-14 -6.98648,-14 h -5.04288 c -2.85568,0 -5.45936,0.41639 -6.00296,0.96 -0.66816,0.66814 -0.96,4.92445 -0.96,14 V 152 h -5.6 -5.6 z m 30.80816,-4.35186 c 7.37544,-3.08164 7.94136,-13.819452 0.95304,-18.080524 -2.09056,-1.274672 -4.03864,-1.562184 -10.6012,-1.564624 -5.1904,-0.0016 -8.38024,0.337264 -9,0.957008 -0.62592,0.625912 -0.96,3.911112 -0.96,9.44 0,5.52889 0.33408,8.81409 0.96,9.44 1.39952,1.39951 15.1788,1.25774 18.64816,-0.19186 z M 739.44221,70.6 c 0.18515,-0.33 2.3874,-4.11 4.89389,-8.4 l 4.55724,-7.8 h 4.75332 c 2.61434,0 4.75334,0.339713 4.75334,0.754918 0,0.415204 -2.01415,4.195204 -4.4759,8.4 L 749.44822,71.2 h -5.17132 c -2.84424,0 -5.01984,-0.27 -4.83469,-0.6 z M 453.97149,69.4 c -0.20807,-0.55 5.17995,-16.3 11.97337,-35 L 478.29655,0.4 483.74827,0.1743809 489.2,-0.05123818 501.80238,34.446924 c 6.93131,18.973989 12.40006,34.825517 12.15279,35.225618 -0.80729,1.306223 -11.2998,0.868538 -12.69803,-0.529685 C 500.56571,68.451429 500,67.564933 500,67.172867 c 0,-0.392065 -0.74915,-2.715129 -1.66478,-5.162364 L 496.67045,57.560987 483.80179,57.780494 470.93314,58 l -2.02476,5.6 c -1.11362,3.08 -2.40358,5.864487 -2.86657,6.18775 -1.48593,1.037477 -11.65474,0.710812 -12.07032,-0.38775 z m 38.48037,-24.046657 c 0.50727,-1.321933 -7.14252,-23.183563 -8.24042,-23.549529 -0.94744,-0.315813 -9.23911,22.780588 -8.56809,23.866337 0.74778,1.209927 16.33539,0.916131 16.80851,-0.316808 z M 520.16,69.44 c -0.71676,-0.71676 -0.96,-9.635555 -0.96,-35.2 V 0 h 17.50865 17.50865 l 4.27672,2.2341904 c 4.78002,2.4971117 9.00308,7.4260408 10.26949,11.9860146 1.20659,4.344527 1.02016,10.990809 -0.40405,14.40549 -1.4326,3.434746 -5.37813,7.796828 -8.55946,9.463104 -1.21,0.633759 -2.19967,1.593044 -2.19928,2.131745 4e-4,0.538701 3.23555,7.23167 7.18924,14.873265 3.95368,7.641595 6.99211,14.211595 6.75206,14.6 -0.52452,0.848685 -12.36049,0.930174 -13.64448,0.09394 C 557.4012,69.464487 554.0273,63.26 550.4,56 c -3.6273,-7.26 -7.0012,-13.473346 -7.49754,-13.807436 -0.49636,-0.33409 -2.88246,-0.51409 -5.30246,-0.4 L 533.2,42 532.9799,55.565204 c -0.15615,9.624639 -0.50474,13.746048 -1.2,14.18775 -1.561,0.991721 -10.55752,0.749422 -11.6199,-0.312954 z m 31.6627,-40.148312 c 3.08325,-1.594412 5.28497,-6.200819 4.63072,-9.688307 C 555.24733,13.17437 550.81547,10.951127 540,11.349519 L 533.2,11.6 l -0.22484,9.336557 c -0.20169,8.375268 -0.0782,9.380214 1.2,9.760581 2.75999,0.821355 15.26763,-0.174753 17.64754,-1.40545 z m 42.34235,40.606695 C 593.85427,69.587606 593.6,56.657414 593.6,41.164622 c 0,-22.222475 -0.22085,-28.351997 -1.0462,-29.036982 -0.57542,-0.477549 -4.80542,-0.971629 -9.4,-1.097955 L 574.8,10.8 574.56345,5.4 574.3269,0 h 25.72214 c 23.12655,0 25.67314,0.12769284 25.23655,1.26543 -0.26708,0.6959865 -0.48559,3.2159865 -0.48559,5.6 V 11.2 h -8.30205 c -5.95326,0 -8.55315,0.302568 -9.18961,1.069464 -0.60412,0.727915 -0.95477,10.117237 -1.09796,29.4 L 606,70 l -5.63495,0.231716 c -3.09923,0.127444 -5.88923,-0.02255 -6.2,-0.333333 z m 43.33851,-1.345096 C 632.57229,66.872356 626.4,63.078966 626.4,61.729214 c 0,-0.324148 1.73166,-2.29499 3.84815,-4.379648 l 3.84815,-3.790287 4.96625,2.561294 c 4.35945,2.248344 5.7709,2.568133 11.55185,2.617275 7.77912,0.06613 11.15288,-1.356744 13.15073,-5.54626 1.08867,-2.282982 1.14898,-3.256028 0.36415,-5.875546 -1.28862,-4.301049 -3.45054,-5.451723 -13.05862,-6.950405 C 646.52179,39.656099 640.9615,38.247057 638.71443,37.23443 632.25794,34.324849 628.8,28.513866 628.8,20.573437 628.8,12.561867 632.07994,6.743448 639.1091,2.2856878 642.61713,0.06096042 643.00262,0 653.56299,0 c 10.13689,0 11.11213,0.13701692 14.84338,2.0854214 2.19649,1.1469816 4.66586,2.7292114 5.48747,3.516066 1.45227,1.390831 1.39934,1.5331653 -1.90189,5.1145786 C 670.1243,12.74223 668.21574,14.4 667.75069,14.4 c -0.46504,0 -2.48919,-0.805759 -4.49811,-1.790576 -4.41537,-2.164513 -13.69212,-2.508558 -17.19514,-0.637714 -4.3444,2.320199 -5.78414,8.525896 -2.84493,12.26249 1.91547,2.43512 4.31815,3.267574 14.23547,4.932138 4.09639,0.687554 8.81048,1.945192 10.47575,2.794749 6.80916,3.473775 10.34869,10.892603 9.43244,19.770283 -0.86276,8.35932 -6.56634,14.665432 -15.72383,17.384916 -6.51328,1.934232 -17.55884,1.676505 -24.12878,-0.562999 z" - id="path4493" - inkscape:connector-curvature="0" /> - <path - style="fill:#696969;stroke-width:0.80000001" - d="m 0.50893567,238.00459 c 0.25229599,-0.65747 0.69099743,-1.05754 0.97489213,-0.88905 0.2838948,0.1685 15.9851262,-25.95501 34.8916242,-58.05224 18.906499,-32.09724 34.7855,-58.69892 35.286669,-59.11485 0.562495,-0.46683 31.277859,-0.67822 80.259929,-0.55235 l 79.34871,0.2039 -9.1385,15.6 c -5.02617,8.58 -20.69654,35.17337 -34.82304,59.09637 -14.12649,23.923 -25.48884,43.813 -25.24966,44.2 0.24911,0.40308 -34.2586,0.70363 -80.78724,0.70363 -71.7299968,0 -81.16849553,-0.1397 -80.76338433,-1.19541 z M 304,238.47806 c 0,-0.39707 -15.30606,-26.6634 -34.01346,-58.36964 -18.7074,-31.70624 -34.22592,-58.20136 -34.48559,-58.87806 C 235.07805,120.1283 243.32963,120 314.63589,120 h 79.60706 l 33.83011,57.36171 c 18.60656,31.54895 34.2119,58.17843 34.67852,59.17663 0.46664,0.9982 1.38842,1.96366 2.04842,2.14548 0.66,0.18182 -35.25,0.37234 -79.8,0.42338 -47.69659,0.0546 -81,-0.20403 -81,-0.62914 z m 268.90152,-2.07625 c -6.85208,-2.13714 -10.09936,-7.5483 -8.12317,-13.5362 1.14047,-3.45564 3.83184,-5.47449 9.56685,-7.17625 5.70966,-1.69424 6.6121,-1.62318 3.49826,0.27544 -3.9591,2.41402 -5.38796,5.21618 -5.41754,10.6244 -0.0236,4.31482 0.1949,4.92974 2.44285,6.87474 1.35781,1.17484 3.15781,2.56489 4,3.08901 1.43205,0.89123 1.40169,0.95254 -0.46877,0.94649 -1.1,-0.003 -3.57432,-0.4975 -5.49848,-1.09763 z M 694.2,235.52007 l -3.8,-1.16849 v -6.423 c 0,-3.53265 0.30773,-6.23282 0.68385,-6.00036 0.37612,0.23244 1.46197,2.55669 2.413,5.16499 0.95103,2.60829 2.87164,5.85935 4.26801,7.22457 2.81701,2.75414 2.18026,2.96889 -3.56486,1.20229 z m 48.73334,0.74659 C 742.64,235.97334 742.4,222.51742 742.4,206.36462 c 0,-25.18596 -0.17165,-29.51116 -1.20521,-30.36894 -0.91455,-0.75901 -3.92092,-0.86031 -12.46585,-0.42006 l -11.26064,0.58018 0.26585,-1.8779 L 718,172.4 h 28 28 l 0.2621,1.84926 0.26209,1.84926 L 763.0621,175.84926 751.6,175.6 751.17587,206 c -0.23327,16.72 -0.50327,30.49 -0.6,30.6 -0.3985,0.45318 -7.15051,0.15869 -7.64253,-0.33334 z m 35.69841,-1.13518 c -3.96563,-1.96297 -8.67073,-6.92217 -10.45519,-11.01983 -1.93569,-4.44492 -1.71441,-13.98823 0.43474,-18.74964 0.95279,-2.1109 2.49344,-4.8109 3.42368,-6 2.03808,-2.60527 7.72723,-6.56201 9.43508,-6.56201 0.89288,0 0.65262,0.60205 -0.87795,2.2 -2.80452,2.92798 -4.73657,7.73926 -4.53889,11.30293 0.0884,1.59339 -0.11683,3.55542 -0.45603,4.36007 -0.88759,2.10554 0.24103,13.80121 1.65939,17.1958 1.45656,3.48606 3.15818,5.48525 6.34342,7.45275 2.38785,1.47496 2.38987,1.48248 0.4,1.48483 -1.1,0.002 -3.51571,-0.74791 -5.36825,-1.6649 z m 48.49897,-0.55273 c -5.32208,-2.78029 -9.06048,-7.81391 -10.77568,-14.50913 -1.85224,-7.22998 0.0664,-15.73773 4.684,-20.76808 2.7332,-2.97761 7.8476,-6.50154 9.43592,-6.50154 1.18496,0 1.01952,0.45281 -0.94992,2.6 -3.6892,4.02214 -4.93664,9.57561 -4.6068,20.50807 0.35,11.59728 2.1816,16.05235 7.8272,19.03781 3.4628,1.83118 3.47608,1.85412 1.07176,1.85412 -1.33896,0 -4.34784,-0.99956 -6.68648,-2.22125 z M 516.8,204.41524 v -31.58476 l 2.10539,-0.52842 c 2.89225,-0.72591 28.42729,0.35123 34.14566,1.44036 8.24117,1.56961 12.54511,6.12586 12.54771,13.28328 0.004,11.94289 -9.92999,18.25075 -30.39876,19.30186 L 526,206.8 525.78195,221.4 525.5639,236 H 521.18195 516.8 Z m 30.99634,-3.06789 c 10.67355,-5.52099 12.00064,-19.10346 2.40359,-24.60008 C 547.07666,174.95846 545.9537,174.8 536.4,174.8 H 526 l -0.22012,13.57062 c -0.12106,7.46384 -0.0271,14.07354 0.20874,14.6882 0.34154,0.89004 2.17809,1.05055 9.02012,0.78836 7.39821,-0.28352 9.174,-0.63066 12.7876,-2.49983 z M 596,233.26666 c 0,-1.50332 -0.43562,-2.87853 -0.96803,-3.056 -0.72706,-0.24236 -0.62749,-1.3771 0.4,-4.55854 1.58097,-4.89518 1.80924,-12.89091 0.40803,-14.29212 -0.74666,-0.74666 -0.74666,-1.17334 0,-1.92 1.18878,-1.18878 1.25518,-7.75458 0.1091,-10.78792 -0.46799,-1.23865 -1.81799,-3.26957 -3,-4.51317 l -2.1491,-2.26108 2.4,0.54824 c 4.74985,1.08504 7.98954,3.15241 9.3615,5.97393 1.12775,2.3193 1.40244,5.78738 1.6,20.20085 l 0.2385,17.40085 -4.2,-8e-4 L 596,236 Z m 29.2,-18.86714 v -21.59995 l 3.4,2.1e-4 c 3.22322,2.1e-4 3.4,0.1216 3.4,2.33479 0,3.10265 0.73539,4.86543 2.02974,4.86543 0.81347,0 0.88627,0.60079 0.31441,2.59472 -0.40928,1.4271 -0.74415,9.5271 -0.74415,18 V 236 l -4.2,-2.7e-4 -4.2,-2.7e-4 z m 40.8,-0.0348 V 192.7299 l 4,0.23506 4,0.23506 0.21306,21.4 0.21308,21.4 -4.21308,-2.4e-4 L 666,235.99954 Z M 869.6,206.4 v -29.6 h 4 4 v 10.8 c 0,10.18501 0.0891,10.8 1.56448,10.8 1.51488,0 1.52256,0.10794 0.24128,3.4 -1.0612,2.72655 -1.33144,6.44998 -1.36456,18.79831 l -0.0416,15.39832 -4.2,0.002 -4.2,0.002 v -29.6 z m 28.4,10.9628 c 0,-20.72562 -0.23296,-21.76398 -5.42312,-24.17328 L 890,191.99331 l 4.32512,0.4475 c 5.08352,0.52597 8.428,2.07661 9.8512,4.56747 0.71496,1.25134 1.14432,7.40182 1.42368,20.39294 l 0.4,18.60121 -4,-0.002 -4,-0.002 v -18.63581 z m -178.04337,14.87458 c 1.15247,-1.56344 1.85996,-3.59092 1.81455,-5.2 -0.1212,-4.29436 -3.42189,-6.48162 -15.51868,-10.28374 -9.00796,-2.83127 -11.08642,-3.79932 -13.63993,-6.35283 -2.59316,-2.59317 -3.01257,-3.51508 -3.01257,-6.62209 0,-2.87898 0.46974,-4.11237 2.32097,-6.09411 2.71961,-2.91136 4.82497,-3.42007 2.92439,-0.7066 -1.79231,2.55889 -1.53958,4.94957 0.81968,7.75339 1.66203,1.97521 3.88682,3.02094 11.4,5.35844 11.04541,3.43643 14.59849,5.12152 16.85934,7.99573 3.37608,4.29199 1.44448,11.95395 -3.89056,15.43246 L 718.06765,234.8 Z m 77.49211,-26.24233 c 0.52714,-4.51534 -0.54744,-8.22383 -3.2882,-11.34796 L 791.6,191.72838 794,192.3164 c 5.84095,1.43108 11.402,7.4725 12.1736,13.22514 l 0.43704,3.25846 h -4.74464 -4.74472 z m -145.97791,0.65565 c -1.83545,-5.14169 -5.16897,-11.53857 -6.22387,-11.94338 -2.40159,-0.92158 -1.21502,-1.90732 2.2959,-1.90732 5.12935,0 6.05714,1.28818 6.05714,8.40993 0,5.70085 -1.06491,8.42209 -2.12917,5.44077 z M 851.99936,206.2 c 0,-2.40508 -4.8324,-10.9111 -7.30192,-12.85686 -2.30584,-1.81688 -2.4572,-2.12668 -1.04264,-2.13427 0.91016,-0.005 3.52016,0.54507 5.8,1.22212 l 4.1452,1.23099 v 6.76901 c 0,3.97934 -0.32968,6.76901 -0.8,6.76901 -0.44,0 -0.80032,-0.45 -0.80064,-1 z m -280.63441,-5.6 0.23505,-5.8 3.36876,-1.16457 c 3.77403,-1.30467 5.10322,-0.75088 3.26342,1.35967 -0.67358,0.77269 -2.22054,3.6549 -3.43768,6.4049 -1.21716,2.75 -2.53961,5 -2.9388,5 -0.39919,0 -0.62002,-2.61 -0.49075,-5.8 z m 149.18731,4.4 c -0.18818,-0.33 -0.79288,-1.99706 -1.34376,-3.70457 -0.55088,-1.70751 -2.30265,-4.54467 -3.89283,-6.30481 l -2.89122,-3.20024 2.78777,0.60673 c 6.37229,1.38687 6.38778,1.40525 6.38778,7.58309 0,5.28737 -0.23984,6.43648 -1.04774,5.0198 z m -55.29512,-25.45714 c -4.03423,-4.03424 3.24873,-8.62899 7.53253,-4.7522 1.99486,1.80532 2.03179,2.97994 0.14734,4.68535 -1.85081,1.67496 -6.03534,1.71138 -7.67987,0.0669 z m 310.76222,-27.97592 c -5.07872,-1.42208 -11.11,-4.75116 -11.78248,-6.50361 -0.29048,-0.75683 0.76424,-2.44091 2.80952,-4.48619 l 3.27448,-3.27449 4.23952,2.30994 c 3.49544,1.90447 5.43552,2.36745 11.05248,2.63759 8.17912,0.39335 11.972,-0.87443 14.36664,-4.80204 1.94858,-3.19602 2.03768,-5.52718 0.34748,-9.08894 -1.53196,-3.22848 -5.0142,-4.68794 -14.327,-6.00471 -14.38744,-2.03428 -20.3816,-7.69294 -20.39552,-19.25391 -0.009,-7.483524 3.99744,-14.185636 10.47744,-17.526708 4.58136,-2.362128 12.5724,-3.446232 18.54672,-2.51612 5.74826,0.894928 12.61006,3.575048 14.50016,5.66356 1.141,1.260832 0.9591,1.651816 -2.2198,4.771712 l -3.4627,3.398352 -2.9768,-1.756336 c -1.97054,-1.162704 -4.81318,-1.887736 -8.4099,-2.145088 -9.16352,-0.655648 -14.17944,2.186208 -15.02824,8.514528 -0.8596,6.40867 2.64384,9.00886 14.70704,10.91544 10.3873,1.64168 15.5955,4.15859 18.3574,8.87128 2.4923,4.25292 3.3527,11.77168 1.9431,16.98131 -1.2459,4.60429 -6.2251,9.88998 -11.4573,12.16243 -5.46744,2.37464 -18.0528,2.95465 -24.56224,1.132 z M 517.6,117.58734 V 83.174688 L 539.8,83.387344 562,83.6 v 4.8 4.8 l -15.53943,0.21776 c -9.81139,0.137496 -15.93037,0.542216 -16.6,1.09796 -1.10279,0.915232 -1.5548,13.66547 -0.57498,16.21885 0.41527,1.08216 2.37074,1.26543 13.50204,1.26543 14.88904,0 15.04609,0.0658 14.65874,6.13785 L 557.2,122 544,122.21162 c -11.26044,0.18052 -13.34694,0.40869 -14.2,1.5529 -1.55073,2.07998 -1.34812,15.77308 0.25714,17.37834 1.05659,1.05658 3.7368,1.25714 16.8,1.25714 H 562.4 v 4.8 4.8 H 540 517.6 Z m 68.8,6.47809 c 0,-15.36401 -0.21851,-28.504014 -0.48559,-29.199998 C 585.51274,93.818688 583.92282,93.6 576.71441,93.6 H 568 V 88.388272 83.176536 L 592.2,83.388272 616.4,83.6 v 4.8 4.8 l -8.63021,0.227368 c -8.40658,0.221488 -8.65015,0.27984 -9.4,2.25208 C 597.93163,96.831896 597.6,109.39978 597.6,124.85208 V 152 H 592 586.4 Z M 643.39141,117.8 643.6,83.6 l 5.8229,-0.235512 5.82289,-0.235504 9.12863,18.835506 c 5.35932,11.05809 9.58404,18.83551 10.23155,18.83551 0.64335,0 4.91367,-7.75022 10.24847,-18.6 L 694,83.6 l 5.8,-0.235048 5.8,-0.235048 V 117.56495 152 h -5.58578 -5.58577 l -0.21423,-19.38945 c -0.27521,-24.91005 -0.41902,-25.027 -9.17857,-7.46465 L 678.82394,137.6 h -4.1915 -4.1915 l -6.22047,-12.2 C 655.27598,107.85747 655.2,107.91594 655.2,132.34134 V 152 h -6.00859 -6.00859 z M 720,117.6 V 83.2 h 22 22 v 5.2 5.2 h -15.98476 c -18.65092,0 -17.03758,-1.046456 -16.6505,10.8 l 0.23526,7.2 13.6,0.4 13.6,0.4 0.23818,5 0.23816,5 h -13.07816 c -9.10525,0 -13.36981,0.29163 -14.03818,0.96 -0.62197,0.62197 -0.96,3.85152 -0.96,9.17186 0,7.30004 0.17182,8.3038 1.54741,9.04 0.90728,0.48556 7.69161,0.82814 16.4,0.82814 H 764 v 4.8 4.8 h -22 -22 z m 68.8,6.09795 c 0,-22.33228 -0.22068,-28.485182 -1.0462,-29.17031 -0.57542,-0.477552 -4.80542,-0.971632 -9.4,-1.097952 L 770,93.2 v -4.8 -4.8 h 24.4 24.4 v 4.8 4.8 l -8.35376,0.229688 c -4.59464,0.12632 -8.82464,0.6204 -9.4,1.097952 C 800.22064,95.212768 800,101.36567 800,123.69795 V 152 h -5.6 -5.6 z M 827.39144,117.8 827.6,83.6 h 5.6 5.6 l 0.20856,34.2 0.20864,34.2 H 833.2 827.1828 Z m 25.6,0 0.20856,-34.2 22.2,-0.212656 22.2,-0.212656 v 5.196096 5.196088 L 881.4,93.783432 865.2,94 v 8.8 8.8 l 13.6,0.4 13.6,0.4 0.23816,5 0.23816,5 h -13.07816 c -9.1052,0 -13.36976,0.29163 -14.03816,0.96 -0.61992,0.61994 -0.96,3.82222 -0.96,9.04 0,5.21778 0.34008,8.42006 0.96,9.04 0.68032,0.68034 5.45776,0.96 16.4,0.96 h 15.44 v 4.8 4.8 H 875.19144 852.7828 Z M 908.8,117.6 V 83.2 h 14.36064 c 7.89832,0 16.19384,0.393152 18.4344,0.873664 10.80104,2.316408 17.72248,13.3892 15.2568,24.407316 -0.81048,3.6214 -1.72664,5.1944 -4.77592,8.2 -2.0752,2.04546 -4.62224,4.28492 -5.66008,4.97659 l -1.88688,1.25756 7.33552,14.23964 c 4.03456,7.83181 7.33552,14.3759 7.33552,14.54244 0,0.16653 -2.9748,0.30279 -6.61064,0.30279 h -6.61056 l -6.98648,-14 -6.98648,-14 h -5.04288 c -2.85568,0 -5.45936,0.41639 -6.00296,0.96 -0.66816,0.66814 -0.96,4.92445 -0.96,14 V 152 h -5.6 -5.6 z m 30.80816,-4.35186 c 7.37544,-3.08164 7.94136,-13.819452 0.95304,-18.080524 -2.09056,-1.274672 -4.03864,-1.562184 -10.6012,-1.564624 -5.1904,-0.0016 -8.38024,0.337264 -9,0.957008 -0.62592,0.625912 -0.96,3.911112 -0.96,9.44 0,5.52889 0.33408,8.81409 0.96,9.44 1.39952,1.39951 15.1788,1.25774 18.64816,-0.19186 z M 739.44221,70.6 c 0.18515,-0.33 2.3874,-4.11 4.89389,-8.4 l 4.55724,-7.8 h 4.75332 c 2.61434,0 4.75334,0.339713 4.75334,0.754918 0,0.415204 -2.01415,4.195204 -4.4759,8.4 L 749.44822,71.2 h -5.17132 c -2.84424,0 -5.01984,-0.27 -4.83469,-0.6 z" - id="path4491" - inkscape:connector-curvature="0" /> - <path - style="fill:#8c2b6a;stroke-width:0.80000001" - d="m 0.50893567,238.00459 c 0.25229599,-0.65747 0.69099743,-1.05754 0.97489213,-0.88905 0.2838948,0.1685 15.9851262,-25.95501 34.8916242,-58.05224 18.906499,-32.09724 34.7855,-58.69892 35.286669,-59.11485 0.562495,-0.46683 31.277859,-0.67822 80.259929,-0.55235 l 79.34871,0.2039 -9.1385,15.6 c -5.02617,8.58 -20.69654,35.17337 -34.82304,59.09637 -14.12649,23.923 -25.48884,43.813 -25.24966,44.2 0.24911,0.40308 -34.2586,0.70363 -80.78724,0.70363 -71.7299968,0 -81.16849553,-0.1397 -80.76338433,-1.19541 z M 304,238.47806 c 0,-0.39707 -15.30606,-26.6634 -34.01346,-58.36964 -18.7074,-31.70624 -34.22592,-58.20136 -34.48559,-58.87806 C 235.07805,120.1283 243.32963,120 314.63589,120 h 79.60706 l 33.83011,57.36171 c 18.60656,31.54895 34.2119,58.17843 34.67852,59.17663 0.46664,0.9982 1.38842,1.96366 2.04842,2.14548 0.66,0.18182 -35.25,0.37234 -79.8,0.42338 -47.69659,0.0546 -81,-0.20403 -81,-0.62914 z m 672.01936,-86.91112 c -5.07872,-1.42208 -11.11,-4.75116 -11.78248,-6.50361 -0.29048,-0.75683 0.76424,-2.44091 2.80952,-4.48619 l 3.27448,-3.27449 4.23952,2.30994 c 3.49544,1.90447 5.43552,2.36745 11.05248,2.63759 8.17912,0.39335 11.972,-0.87443 14.36664,-4.80204 1.94858,-3.19602 2.03768,-5.52718 0.34748,-9.08894 -1.53196,-3.22848 -5.0142,-4.68794 -14.327,-6.00471 -14.38744,-2.03428 -20.3816,-7.69294 -20.39552,-19.25391 -0.009,-7.483524 3.99744,-14.185636 10.47744,-17.526708 4.58136,-2.362128 12.5724,-3.446232 18.54672,-2.51612 5.74826,0.894928 12.61006,3.575048 14.50016,5.66356 1.141,1.260832 0.9591,1.651816 -2.2198,4.771712 l -3.4627,3.398352 -2.9768,-1.756336 c -1.97054,-1.162704 -4.81318,-1.887736 -8.4099,-2.145088 -9.16352,-0.655648 -14.17944,2.186208 -15.02824,8.514528 -0.8596,6.40867 2.64384,9.00886 14.70704,10.91544 10.3873,1.64168 15.5955,4.15859 18.3574,8.87128 2.4923,4.25292 3.3527,11.77168 1.9431,16.98131 -1.2459,4.60429 -6.2251,9.88998 -11.4573,12.16243 -5.46744,2.37464 -18.0528,2.95465 -24.56224,1.132 z M 517.6,117.58734 V 83.174688 L 539.8,83.387344 562,83.6 v 4.8 4.8 l -15.53943,0.21776 c -9.81139,0.137496 -15.93037,0.542216 -16.6,1.09796 -1.10279,0.915232 -1.5548,13.66547 -0.57498,16.21885 0.41527,1.08216 2.37074,1.26543 13.50204,1.26543 14.88904,0 15.04609,0.0658 14.65874,6.13785 L 557.2,122 544,122.21162 c -11.26044,0.18052 -13.34694,0.40869 -14.2,1.5529 -1.55073,2.07998 -1.34812,15.77308 0.25714,17.37834 1.05659,1.05658 3.7368,1.25714 16.8,1.25714 H 562.4 v 4.8 4.8 H 540 517.6 Z m 68.8,6.47809 c 0,-15.36401 -0.21851,-28.504014 -0.48559,-29.199998 C 585.51274,93.818688 583.92282,93.6 576.71441,93.6 H 568 V 88.388272 83.176536 L 592.2,83.388272 616.4,83.6 v 4.8 4.8 l -8.63021,0.227368 c -8.40658,0.221488 -8.65015,0.27984 -9.4,2.25208 C 597.93163,96.831896 597.6,109.39978 597.6,124.85208 V 152 H 592 586.4 Z M 643.39141,117.8 643.6,83.6 l 5.8229,-0.235512 5.82289,-0.235504 9.12863,18.835506 c 5.35932,11.05809 9.58404,18.83551 10.23155,18.83551 0.64335,0 4.91367,-7.75022 10.24847,-18.6 L 694,83.6 l 5.8,-0.235048 5.8,-0.235048 V 117.56495 152 h -5.58578 -5.58577 l -0.21423,-19.38945 c -0.27521,-24.91005 -0.41902,-25.027 -9.17857,-7.46465 L 678.82394,137.6 h -4.1915 -4.1915 l -6.22047,-12.2 C 655.27598,107.85747 655.2,107.91594 655.2,132.34134 V 152 h -6.00859 -6.00859 z M 720,117.6 V 83.2 h 22 22 v 5.2 5.2 h -15.98476 c -18.65092,0 -17.03758,-1.046456 -16.6505,10.8 l 0.23526,7.2 13.6,0.4 13.6,0.4 0.23818,5 0.23816,5 h -13.07816 c -9.10525,0 -13.36981,0.29163 -14.03818,0.96 -0.62197,0.62197 -0.96,3.85152 -0.96,9.17186 0,7.30004 0.17182,8.3038 1.54741,9.04 0.90728,0.48556 7.69161,0.82814 16.4,0.82814 H 764 v 4.8 4.8 h -22 -22 z m 68.8,6.09795 c 0,-22.33228 -0.22068,-28.485182 -1.0462,-29.17031 -0.57542,-0.477552 -4.80542,-0.971632 -9.4,-1.097952 L 770,93.2 v -4.8 -4.8 h 24.4 24.4 v 4.8 4.8 l -8.35376,0.229688 c -4.59464,0.12632 -8.82464,0.6204 -9.4,1.097952 C 800.22064,95.212768 800,101.36567 800,123.69795 V 152 h -5.6 -5.6 z M 827.39144,117.8 827.6,83.6 h 5.6 5.6 l 0.20856,34.2 0.20864,34.2 H 833.2 827.1828 Z m 25.6,0 0.20856,-34.2 22.2,-0.212656 22.2,-0.212656 v 5.196096 5.196088 L 881.4,93.783432 865.2,94 v 8.8 8.8 l 13.6,0.4 13.6,0.4 0.23816,5 0.23816,5 h -13.07816 c -9.1052,0 -13.36976,0.29163 -14.03816,0.96 -0.61992,0.61994 -0.96,3.82222 -0.96,9.04 0,5.21778 0.34008,8.42006 0.96,9.04 0.68032,0.68034 5.45776,0.96 16.4,0.96 h 15.44 v 4.8 4.8 H 875.19144 852.7828 Z M 908.8,117.6 V 83.2 h 14.36064 c 7.89832,0 16.19384,0.393152 18.4344,0.873664 10.80104,2.316408 17.72248,13.3892 15.2568,24.407316 -0.81048,3.6214 -1.72664,5.1944 -4.77592,8.2 -2.0752,2.04546 -4.62224,4.28492 -5.66008,4.97659 l -1.88688,1.25756 7.33552,14.23964 c 4.03456,7.83181 7.33552,14.3759 7.33552,14.54244 0,0.16653 -2.9748,0.30279 -6.61064,0.30279 h -6.61056 l -6.98648,-14 -6.98648,-14 h -5.04288 c -2.85568,0 -5.45936,0.41639 -6.00296,0.96 -0.66816,0.66814 -0.96,4.92445 -0.96,14 V 152 h -5.6 -5.6 z m 30.80816,-4.35186 c 7.37544,-3.08164 7.94136,-13.819452 0.95304,-18.080524 -2.09056,-1.274672 -4.03864,-1.562184 -10.6012,-1.564624 -5.1904,-0.0016 -8.38024,0.337264 -9,0.957008 -0.62592,0.625912 -0.96,3.911112 -0.96,9.44 0,5.52889 0.33408,8.81409 0.96,9.44 1.39952,1.39951 15.1788,1.25774 18.64816,-0.19186 z M 739.44221,70.6 c 0.18515,-0.33 2.3874,-4.11 4.89389,-8.4 l 4.55724,-7.8 h 4.75332 c 2.61434,0 4.75334,0.339713 4.75334,0.754918 0,0.415204 -2.01415,4.195204 -4.4759,8.4 L 749.44822,71.2 h -5.17132 c -2.84424,0 -5.01984,-0.27 -4.83469,-0.6 z" - id="path4489" - inkscape:connector-curvature="0" /> - </g> - </g> -</svg> diff --git a/Master/texmf-dist/doc/latex/guide-latex-fr/Support_oral/Slides/bonus_MR.tex b/Master/texmf-dist/doc/latex/guide-latex-fr/Support_oral/Slides/bonus_MR.tex deleted file mode 100644 index 4e0ab9c64b9..00000000000 --- a/Master/texmf-dist/doc/latex/guide-latex-fr/Support_oral/Slides/bonus_MR.tex +++ /dev/null @@ -1,11 +0,0 @@ -\section{Les indispensables en MR} - -\begin{frame}{\secname}{\subsecname} -oohoh -\end{frame} - -{\1 -\begin{frame}[plain, noframenumbering] -\finalpage{\huge{}Merci pour votre attention !} -\end{frame} -}
\ No newline at end of file diff --git a/Master/texmf-dist/doc/latex/guide-latex-fr/Support_oral/Slides/erreurs.tex b/Master/texmf-dist/doc/latex/guide-latex-fr/Support_oral/Slides/erreurs.tex deleted file mode 100644 index 165d842a13c..00000000000 --- a/Master/texmf-dist/doc/latex/guide-latex-fr/Support_oral/Slides/erreurs.tex +++ /dev/null @@ -1,16 +0,0 @@ -\section{Gestion des erreurs} - -\begin{frame}{\secname}{\subsecname} -oohoh - -reprendre fin intro (page 23) \textit{\LaTeX{}\dots{} pour un prof de maths !} d'A. Gazagnes ? --> simple et permet d'introduire les erreurs les plus courantes -\end{frame} - -{\1 -\begin{frame}[plain, noframenumbering] -\finalpage{\huge{}Merci pour ton attention ! \\[\baselineskip] - -Prochaine séance : le bonus spécial Master Recherche ! -} -\end{frame} -}
\ No newline at end of file diff --git a/Master/texmf-dist/doc/latex/guide-latex-fr/Support_oral/Slides/images.tex b/Master/texmf-dist/doc/latex/guide-latex-fr/Support_oral/Slides/images.tex deleted file mode 100644 index bd294a4b20e..00000000000 --- a/Master/texmf-dist/doc/latex/guide-latex-fr/Support_oral/Slides/images.tex +++ /dev/null @@ -1,69 +0,0 @@ -\section{Les images} - -\subsection{Le commencement} - -\begin{frame}[fragile]{\secname}{\subsecname} -Un seul package nécessaire pour tout faire : \cverb?graphicx? ! Version améliorée du package de base \cverb?graphics? \textbf{$\Rightarrow$ utiliser \cverb?graphicx? !} \\[\baselineskip] - -La commande de base pour introduire une image : - -\hspace*{\stretch{1}} \cverb?\includegraphics[options]{nom_image.extension}? \hspace*{\stretch{1}} \\[\baselineskip] - -\textbf{\color{structure.fg}Points très importants :} \begin{itemize}[label = \ding{118}] -\item \cverb?.extension? = renseignement facultatif mais permet d'éviter les erreurs et de s'y retrouver parmi les images - -\item {\color{red}\cverb?nom_image? : \emph{pas d'accent, pas d'espace ! \textbf{O-BLI-GA-TOI-RE !!!}}} (sinon \LaTeX{} ne trouvera pas le fichier et retournera une erreur\dots{}) \\[\baselineskip] -\end{itemize} - -\exconc{Premier essai sur \LaTeX{} avec une (petite) image.} -\end{frame} - -\subsection{Rangement des images} - -\begin{frame}[fragile]{\secname}{\subsecname} -Par défaut, \LaTeX{} cherche les images dans le ``dossier racine'' (dossier dans lequel se situe le fichier \cverb?.tex?). \\[\baselineskip] - -Si présence d'un grand nombre d'images, stockage dans un sous-dossier -- appelons-le \textit{Images} -- possible. - -Pour indiquer à \LaTeX{} le nouveau chemin pour aller chercher les images, utiliser la commande : - -\hspace*{\stretch{1}} \cverb?\graphicspath{{./Images/}}? \hspace*{\stretch{1}} \\[\baselineskip] - -Le dossier \cverb?./? renvoie au dossier racine. De manière générale en informatique, le dossier courant s'appelle via \cverb?./? et le dossier parent via \cverb?../? (chemin relatif). - -\textbf{\color{Green}Gros avantage :} si le dossier complet du rapport \LaTeX{} est déplacé, aucun souci pour générer de nouveau le document. Les sous-dossiers font toujours partie du dossier racine. -\end{frame} - -\subsection{Options indispensables} - -\begin{frame}[fragile]{\secname}{\subsecname} -Liste des options utiles avec \cverb?\includegraphics? : \begin{itemize}[label = \ding{118}] -\item \cverb?scale = ratio? : facteur d'échelle de l'image ; - -\item \cverb?width = x\linewidth? : image de largeur \cverb?x?, avec $x \in [0\,;\,1]$. - -Idem pour la hauteur avec \cverb?height? ; - -\item \cverb?rotate = angle? : rotation de l'image de \cverb?angle?\degres{}. \\[\baselineskip] -\end{itemize} - -Autre commande utile (pour des graphes/dessins) : - -\hspace*{\stretch{1}} \cverb?\resizebox{\linewidth}{!}{graphe}? \hspace*{\stretch{1}} \\[\baselineskip] - -\exconc{Des exemples avec de (grandes) images pour comprendre l'importance d'utiliser l'option \cverb?width? !} -\end{frame} - -\subsection{Légende \& montages} - -\begin{frame}[fragile]{\secname}{\subsecname} -Comme pour les tableaux, légende $\Rightarrow$ environnement flottant \cverb?figure? cette fois + package \cverb?float? (pour option \cverb?H?). - -Légende alors possible avec la commande \cverb?\caption{légende}?. \\[\baselineskip] - -Besoin de faire des montages ? Utiliser des \cverb?minipage? + commande \cverb?\hfill? pour combler l'espace blanc. - -Si besoin d'avoir des ``sous-légendes'', package \cverb?caption? et commande \cverb?\subcaption{sous-légende}? très utiles. \\[\baselineskip] - -\exconc{Démonstration ici et maintenant !} -\end{frame}
\ No newline at end of file diff --git a/Master/texmf-dist/doc/latex/guide-latex-fr/Support_oral/Slides/logiciels_compilation.tex b/Master/texmf-dist/doc/latex/guide-latex-fr/Support_oral/Slides/logiciels_compilation.tex deleted file mode 100644 index 31bbaadd795..00000000000 --- a/Master/texmf-dist/doc/latex/guide-latex-fr/Support_oral/Slides/logiciels_compilation.tex +++ /dev/null @@ -1,136 +0,0 @@ -\section{Logiciels \& compilation} - -\subsection{Les logiciels disponibles} - -\begin{frame}{\secname}{\subsecname} -\textbf{Distribution \LaTeX{} :} -\begin{quote} -\normalfont{}Logiciel qui contient le code source de \LaTeX{}, qui gère les \textit{packages} et qui permet de transformer le code \LaTeX{} en un fichier PDF ! (version simple) -\end{quote} - -\begin{figure}[H] -\centering -\includegraphics[width = 0.6\linewidth]{miktex.png} -\caption*{Site officiel : \url{https://miktex.org/}} -\end{figure} - -\exconc{Rapide aperçu du logiciel et des onglets disponibles.} -\end{frame} - -\begin{frame}{\secname}{\subsecname} -\textbf{\'Editeur \LaTeX{} :} -\begin{quote} -\normalfont{}Logiciel pour éditer facilement son code \LaTeX{}. -\end{quote} - -\begin{figure}[H] -\centering -\includegraphics[width = 0.3\linewidth]{texmaker.png} -\caption*{Site officiel : \url{http://www.xm1math.net/texmaker/index_fr.html}} -\end{figure} - -\exconc{Rapide aperçu du logiciel et de son fonctionnement (différentes fenêtres, menus et options).} -\end{frame} - -%\begin{frame}{\secname}{\subsecname} -%\includegraphics[width = \linewidth]{aide_LaTeX1.png} -%\end{frame} - -\begin{frame}{\secname}{\subsecname} -En bonus, 2 éditeurs \LaTeX{} en ligne : - -\begin{figure}[H] -\hspace*{\stretch{1}} -\begin{minipage}[t]{0.27\linewidth} -\includegraphics[width = \linewidth]{overleaf.png} -\caption*{Site officiel : \url{https://www.overleaf.com/}} -\end{minipage} -\hspace*{\stretch{1}} -\begin{minipage}[t]{0.27\linewidth} -\includegraphics[width = \linewidth]{sharelatex.png} -\caption*{Site officiel : \url{https://fr.sharelatex.com/}} -\end{minipage} -\hspace*{\stretch{1}} -\end{figure} - -Aucune idée de leur fonctionnement respectif mais le nec plus ultra pour éditer un rapport \LaTeX{} à plusieurs à distance. -\end{frame} - -\subsection{Compilation} - -\begin{frame}{\secname}{\subsecname} -\textbf{Principe général :} l'utilisateur se concentre sur le fond, et laisse \LaTeX{} gérer la forme. - -Le contenu est écrit dans un fichier texte standard (format \texttt{.tex}). Puis ce contenu est lu par le compilateur pour générer le document. \\[\baselineskip] - -\LaTeX{} est un compilateur. Depuis le fichier \texttt{.tex}, il va générer le document avec la mise en page souhaitée : \\[0.5\baselineskip] - -\resizebox{\linewidth}{!}{\input{../Images/compilation_schema}} -\end{frame} - -\begin{frame}{\secname}{\subsecname} -Différents moteurs \LaTeX{} existants\dots{} \\ - -$\Rightarrow$ Pour débuter, utilisation de pdf\LaTeX{} : transformation du code \LaTeX{} en un fichier PDF d'une seule opération. \\[\baselineskip] - -\exconc{Aperçu de la compilation sous Texmaker (boutons) et paramétrage !} -\end{frame} - -\subsection{Règles de base en \LaTeX{}} - -\begin{frame}[fragile]{\secname}{\subsecname} -3 règles de base à suivre pour écrire du \LaTeX{} : - -\begin{enumerate}[label = \textbf{\color{BrickRed}Règle d'or \no\arabic* :}, leftmargin = *] -\item Toute commande \LaTeX{} débute par un \textit{backslash} ``\cverb?\?''. - -\item Tout texte concerné par une commande \LaTeX{} est délimité par des accolades ``\{'' et ``\}''. - -\item Toute commande \LaTeX{} qui comprend un \cverb?begin? finit par un \cverb?end?. - -Ce genre de structure s'appelle un \textbf{environnement}. -\end{enumerate} -\end{frame} - -\subsection{Structure d'un document} - -\begin{frame}[fragile]{\secname}{\subsecname} -Un document \LaTeX{} se compose de 3 parties : - -\begin{enumerate}[label = \textbf{\color{BrickRed}Partie \arabic* :}, leftmargin = *] -\item La classe, définie par la commande : \begin{center} \cverb?\documentclass[options]{classe}? \end{center} - -\item Le préambule, défini juste après la classe et qui contient tous les \textit{packages} et tous les paramètres propres à ton document \LaTeX{}. - -\item Le document en lui-même, introduit par les lignes suivantes : \begin{verbatim} -\begin{document} - -% Ecriture du document et du code LaTeX - -\end{document} -\end{verbatim} -\end{enumerate} -\end{frame} - -\begin{frame}[fragile]{\secname}{\subsecname} -Document de base pour tous les exemples à venir : - -{\footnotesize\begin{verbatim} -\documentclass[a4paper, 12pt]{report} - -% PDFLaTeX -\usepackage[utf8]{inputenc} % Pour l'UTF-8 -\usepackage[T1]{fontenc} % Pour les césures des caractères accentués -\usepackage[french]{babel} % Pour la langue française -\usepackage{lmodern} % Police standard sous LaTeX : Latin Modern - - -\begin{document} - -% Ecrire le code ici ! - -\end{document} -\end{verbatim}} - -\exconc{Création fichier \cverb?.tex?, compilation et autres classes existantes.} -\end{frame}
\ No newline at end of file diff --git a/Master/texmf-dist/doc/latex/guide-latex-fr/Support_oral/Slides/maths.tex b/Master/texmf-dist/doc/latex/guide-latex-fr/Support_oral/Slides/maths.tex deleted file mode 100644 index 22bca958c00..00000000000 --- a/Master/texmf-dist/doc/latex/guide-latex-fr/Support_oral/Slides/maths.tex +++ /dev/null @@ -1,223 +0,0 @@ -\section{Les mathématiques} - -\subsection{Le mode mathématiques} - -\begin{frame}[fragile]{\secname}{\subsecname} -Faire des mathématiques sous \LaTeX{} : intégration native avec \LaTeX{}\dots{} \\[\baselineskip] - -Faire \textbf{sereinement} des mathématiques sous \LaTeX{} : 3 packages pour gérer 95 \% des symboles et formules mathématiques ! (espacement, alignement, matrices, nouvelles commandes, etc.) \\[\baselineskip] - -\hspace*{\stretch{1}} \cverb?amsmath? \hspace*{\stretch{1}} \cverb?amsfonts? \hspace*{\stretch{1}} \cverb?amssymb? \hspace*{\stretch{1}} -\end{frame} - -\begin{frame}[fragile]{\secname}{\subsecname} -\textcolor{BrickRed}{\bfseries{}Règle de base :} écrire des mathématiques = utiliser le \og mode mathématiques \fg{} - -$\Rightarrow$ signaler à \LaTeX{} qu'il s'agit d'une formule mathématique. \\[\baselineskip] - -3 possibilités : \begin{enumerate} -\item écriture locale : encadrer la formule par le symbole \cverb?$? ; - -\item retour à la ligne et centrage : encadrer la formule par les commandes \cverb?\[? et \cverb?\]? ; - -\item numérotation : environnement \cverb?equation?. \\[\baselineskip] -\end{enumerate} - -\exconc{Démonstration sous Texmaker + initiation aux 1\up{ers} symboles + subtilités du \cverb?displaystyle? !} -\end{frame} - -\subsection{\'Etiquettes \& références} - -\begin{frame}[fragile]{\secname}{\subsecname} -Pour l'environnement \cverb?equation?, possibilité de placer une étiquette avec la commande \cverb?\?\cverb?label{nom}?. - -Intérêt ? Pouvoir s'y référer facilement par la suite ! Utilisation des commandes \cverb?\eqref{nom}? ou \cverb?\pageref{nom}? par exemple. \\[\baselineskip] - -\exconc{Application sur plusieurs équations + attention au choix de \cverb?nom? !} \\[\baselineskip] - -Application d'une étiquette à d'autres environnements mathématiques comme nous le verrons par la suite. - -Application aussi possible à une section dans un document, une image ou un tableau (sujets abordés en séance 3). -\end{frame} - -\subsection{Délimiteurs \& matrices} - -\begin{frame}{\secname}{\subsecname} -Parfois, il faut bien délimiter ses formules par des parenthèses ou des crochets. Comment avoir la bonne taille ? - -\[\textcolor{red}{(\frac{a}{b})} \quad \text{\textit{vs}} \quad \textcolor{Green}{\left( \frac{a}{b} \right)}\] \\[\baselineskip] - -$\Rightarrow$ utilisation de délimiteurs : \LaTeX{} calcule lui-même la taille nécessaire et se charge de l'affichage. Quelques règles doivent alors être respectées\dots{} -\end{frame} - -\begin{frame}[fragile]{\secname}{\subsecname} -\begin{enumerate}[label = \textbf{\color{BrickRed}Règle \no\arabic* :}, leftmargin = *] -\item Un délimiteur n'existe qu'en mode mathématiques. \\[\baselineskip] - -\item \textbf{Un délimiteur entrant implique un délimiteur sortant.} \\[\baselineskip] - -\item Un délimiteur entrant est défini par la commande \cverb?\left? suivi du délimiteur ; pour le sortant, de même avec \cverb?\right?. \\[\baselineskip] - -\item Si tu ne veux pas afficher un délimiteur, il faut utiliser la commande \cverb?\left.? ou \cverb?\right.? (point à la fin). \\[\baselineskip] -\end{enumerate} - -\exconc{Exemples d'application, ici et maintenant !} -\end{frame} - -\begin{frame}[fragile]{\secname}{\subsecname} -Création d'une matrice (tableau à $n$ lignes et $m$ colonnes) avec l'environnement \cverb?matrix?. - -Séparation des colonnes avec \cverb?&? et changement de ligne avec \cverb?\\?. - -\begin{center} -\begin{tabular}{rcl} -$\begin{matrix} -0 & 1 & 3 \\ -2 & 1 & 5 -\end{matrix}$ & $\Leftrightarrow$ & \begin{minipage}{30mm} -\begin{verbatim} -$\begin{matrix} -0 & 1 & 3 \\ -2 & 1 & 5 -\end{matrix}$ -\end{verbatim} -\end{minipage} -\end{tabular} -\end{center} - -\begin{columns} -\begin{column}{0.32\linewidth} -``Matrice à trous'' : commandes \cverb?\cdots?, \cverb?\vdots? \& \cverb?\ddots? ! -\end{column} -\begin{column}{0.68\linewidth} -$V = \begin{pmatrix} -1 & \alpha_1 & \alpha_1^2 & \cdots & \alpha_1^{n-1} \\ -1 & \alpha_2 & \alpha_2^2 & \cdots & \alpha_2^{n-1} \\ -1 & \alpha_3 & \alpha_3^2 & \cdots & \alpha_3^{n-1} \\ -\vdots & \vdots & \vdots & \ddots & \vdots \\ -1 & \alpha_m & \alpha_m^2 & \cdots & \alpha_m^{n-1} -\end{pmatrix}$ - -{\color{orange}+ \cverb?\renewcommand{\arraystretch}{1.3}?} -\end{column} -\end{columns} -\end{frame} - -\begin{frame}[fragile]{\secname}{\subsecname} -\begin{columns} -\begin{column}{0.55\linewidth} -Différentes matrices : \begin{itemize}[label = \ding{213}] -\item sans parenthèses : \cverb?matrix? ; - -\item avec \textcolor{orange}{p}arenthèses : {\color{orange}\cverb?p?}\cverb?matrix? ; - -\item avec crochets (\textit{\textcolor{orange}{b}rackets}) : {\color{orange}\cverb?b?}\cverb?matrix? ; - -\item avec barre \textcolor{orange}{v}erticale : {\color{orange}\cverb?v?}\cverb?matrix? ; - -\item avec double barre \textcolor{orange}{V}erticale : {\color{orange}\cverb?V?}\cverb?matrix?. \\[\baselineskip] -\end{itemize} -\end{column} -\begin{column}{0.4\linewidth} -$\begin{bmatrix} -0 & 1 & 2 \\ -3 & 4 & 5 \\ -6 & 7 & 8 -\end{bmatrix}$ \\[\baselineskip] - -$\begin{vmatrix} -1 & 0 & \cdots & 0 \\ -0 & 2 & \cdots & 0 \\ -\vdots & 0 & \ddots & \vdots \\ -0 & \cdots & 0 & 215 -\end{vmatrix} = 215!$ -\end{column} -\end{columns} - -\vspace{\baselineskip} - -\exconc{Rapide retour sur quelques exemples.} -\end{frame} - -\subsection{Aligner des équations} - -\begin{frame}[fragile]{\secname}{\subsecname} -\begin{columns} -\begin{column}[t]{0.4\linewidth} -\begin{align*} -\sum_{k=0}^n k & = 1 + \dots + n \\ - & = [\dots] \\ %&& \text{car \dots{}} \\ - & = \frac{n \times (n + 1)}{2} -\end{align*} -% Séparation propre du commentaire avec && -\end{column} -\begin{column}[t]{0.6\linewidth} -Utilisation de l'environnement \cverb?align*? (pour annuler la numérotation automatique de toutes les équations). \\[\baselineskip] - -Fonctionnement similaire à une matrice : 1 seul séparateur \cverb?&? et saut de ligne avec \cverb?\\?. -\end{column} -\end{columns} - -\vspace{\baselineskip} - -Référencement envisageable : utiliser l'environnement \cverb?align? puis appliquer la commande \cverb?\notag? en fin de chaque ligne où il ne faut pas un numéro. - -Utilisation ensuite classique de \cverb?\?\cverb?label{nom}? et \cverb?\eqref{nom}?. \\[\baselineskip] - -\exconc{Application sur des exemples + insérer du texte.} -\end{frame} - -\begin{frame}[fragile]{\secname}{\subsecname} -Cas plus complexe d'un système d'équations : passage par l'environnement \cverb?array?. Fonctionnement identique à celui d'une matrice + choix du nombre de colonnes et du positionnement du texte à l'intérieur (\cverb?l?, \cverb?c?, \cverb?r?). - -\[\left\{ \begin{array}{rcl} -x + y & = & 228 \\ -x - y & = & -202 -\end{array} \right. \quad \Leftrightarrow \quad \left\{ \begin{array}{rcl} -x & = & 13 \\ -y & = & 215 -\end{array} \right. -\] - -\vspace{\baselineskip} - -\exconc{Application simple puis avec un ``double \cverb?array?'' imbriqué !} -\end{frame} - -\subsection{Packages bonus \& entraînement} - -\begin{frame}[fragile]{\secname}{\subsecname} -Packages complémentaires : \begin{itemize}[label = \ding{118}] -\item \cverb?esvect? : pour écrire correctement les vecteurs avec la commande \cverb?\vv{AB}? + version étoilée \cverb?\vv*{e}{r}? ; - -\item \cverb?mathrsfs? : commande \cverb?\mathscr{lettre}? pour varier de la commande \cverb?\mathcal{lettre}? (police différente de \cverb?lmodern?) ; - -\item \cverb?stmaryrd? : d'autres symboles dont le très utile \cverb?\llbracket? -- avec son \textit{alter ego} \cverb?\rrbracket? -- pour écrire des intervalles de nombres entiers. Utilisable comme délimiteur ! -\end{itemize} - -\[\vv{AB} \qquad \vv{e_r} \neq \vv*{e}{r} \qquad \mathcal{C} \neq \mathscr{C} \qquad \llbracket 1\,;\,n \rrbracket \qquad \left\llbracket \begin{matrix} \alpha \\ \beta \end{matrix} \right\rrbracket\] -\end{frame} - -\begin{frame}{\secname}{\subsecname} -\textcolor{orange}{Un peu d'entraînement\dots{}} \\[\baselineskip] - -$\underset{x \to a}{\lim} f(x) = \underbrace{\frac{\Omega + \beta}{\pi \times \mu}}_{= 215} \quad \Leftrightarrow \quad f(x) \underset{x \to a}{\longrightarrow} \cfrac{\sqrt{167} + 13}{\alpha + \cfrac{\sqrt[13]{17} \times \varepsilon\sigma}{68 + 1}}$ - -$\forall p \in \llbracket 1\,;\,k \rrbracket$, $\forall x \in I$, $g^{(p)} (x) = \int_I \frac{\partial^p f}{\partial x^p} (x\,;\,t) dt$ - -Soit $\begin{array}[t]{cccc} -f~: & \mathbb{R} & \longrightarrow & \mathbb{R} \\ - & x & \longmapsto & \sin x -\end{array}$ et $\forall x \in \mathbb{R}, \sin x = \sum_{n = 0}^{+\infty} (-1)^n \frac{x^{2n + 1}}{(2n + 1)!}$ - -Pour $k \in \llbracket 0\,;\,n \rrbracket$, posons $L_k = \prod_{\substack{j = 0 \\ j \neq k}}^n \frac{X - a_j}{a_k - a_j}$ : $L_k$ sont les polynômes d'interpolation de Lagrange. -\end{frame} - -{\1 -\begin{frame}[plain, noframenumbering] -\finalpage{\huge{}Merci pour ton attention ! \\[\baselineskip] - -Prochaine séance : tableaux, images et gestion des erreurs sous \LaTeX{} ! -} -\end{frame} -}
\ No newline at end of file diff --git a/Master/texmf-dist/doc/latex/guide-latex-fr/Support_oral/Slides/presentation.tex b/Master/texmf-dist/doc/latex/guide-latex-fr/Support_oral/Slides/presentation.tex deleted file mode 100644 index b3f4a5ad782..00000000000 --- a/Master/texmf-dist/doc/latex/guide-latex-fr/Support_oral/Slides/presentation.tex +++ /dev/null @@ -1,81 +0,0 @@ -\section{Présentation de \LaTeX{}} - -\subsection{Définition} - -\begin{frame}{\secname}{\subsecname} -{\noindent\huge\bfseries\color{gray!75}\og} - -\LaTeX{} est un langage et un système de composition de documents. [\dots{}] - -Il est particulièrement utilisé dans les domaines techniques et scientifiques pour la production de documents de taille moyenne ou importante (thèse ou livre, par exemple). - -Néanmoins, il peut être aussi employé pour générer des documents de types variés (par exemple, des lettres ou des transparents). - -{\hfill\huge\bfseries\color{gray!75}\fg} - -\begin{flushright} -Wikipédia -\end{flushright} - -\LaTeX{} constitue un parfait exemple du genre \textit{What You See Is What You Mean} (WYSIWYM). -\end{frame} - -\subsection{Rapide historique} - -\begin{frame}{\secname}{\subsecname} -\begin{columns} -\begin{column}{0.45\linewidth} -\hspace*{\stretch{1}} --- 1977 --- \hspace*{\stretch{1}} - -Création de \TeX{} par Donald \textsc{Knuth} - -\begin{figure}[H] -\centering -\includegraphics[width = 0.75\linewidth]{dknuth.jpg} -\end{figure} -\end{column} -\hfill -\begin{column}{0.45\linewidth} -\hspace*{\stretch{1}} --- 1982 --- \hspace*{\stretch{1}} - -Création de \LaTeX{} par Leslie \textsc{Lamport} - -\begin{figure}[H] -\centering -\includegraphics[width = 0.75\linewidth]{llamport.jpg} -\end{figure} -\end{column} -\end{columns} -\end{frame} - -\begin{frame}{\secname}{\subsecname} -Depuis 1993, maintien par le \textit{LaTeX3 Project team}. - -\begin{figure}[H] -\centering -\includegraphics[width = 0.85\linewidth]{latex-project-logo.eps} -\caption*{Site officiel : \url{https://www.latex-project.org/}} -\end{figure} -\end{frame} - -\subsection{Origine du nom et prononciation} - -\begin{frame}{\secname}{\subsecname} -\begin{center} -Technology \\ - -$\downarrow$ \\ - -\og $\tau\varepsilon\chi\nu{\rm o}\lambda{\rm o}\gamma\iota\alpha$ \fg{} \\ - -$\downarrow$ \\ - -$\tau\varepsilon\chi \quad \Rightarrow \quad$ \TeX{} \\[2\baselineskip] - -Arrivée de Leslie \textsc{{\color{orange}La}mport} \\ - -$\downarrow$ \\ - -\LaTeX{} -\end{center} -\end{frame}
\ No newline at end of file diff --git a/Master/texmf-dist/doc/latex/guide-latex-fr/Support_oral/Slides/tableaux.tex b/Master/texmf-dist/doc/latex/guide-latex-fr/Support_oral/Slides/tableaux.tex deleted file mode 100644 index 8ff3bb12703..00000000000 --- a/Master/texmf-dist/doc/latex/guide-latex-fr/Support_oral/Slides/tableaux.tex +++ /dev/null @@ -1,84 +0,0 @@ -\section{Les tableaux \& les boîtes} - -\subsection{La base} - -\begin{frame}[fragile]{\secname}{\subsecname} -Fonctionnement identique qu'avec l'environnement \cverb?array? : utilisation de l'environnement \cverb?tabular? + options \cverb?l?, \cverb?c?, \cverb?r? ou \cverb?p{distance}?. \\[\baselineskip] - -\begin{verbatim} -\begin{tabular}{rcl} -Texte à droite & Texte centré & Texte à gauche \\ -Saut de ligne & & Colonne vide -\end{tabular} -\end{verbatim} - -Filet (ligne) horizontale : après le saut de ligne \cverb?\\?, utiliser la commande \cverb?\hline?. - -Filet (ligne) verticale : dans la définition du tableau $\rightarrow$ \cverb?r|c||l? par exemple (barre verticale du 6). \\[\baselineskip] - -\exconc{Petit exemple + utilisation du package \cverb?array?.} -\end{frame} - -\subsection{Mettre une légende} - -\begin{frame}[fragile]{\secname}{\subsecname} -Insérer une légende $\Rightarrow$ utiliser l'environnement \cverb?table?. - -\cverb?table? = environnement dit \textit{flottant} car position variable (options). - -Options possibles : \cverb?t? (\textit{top} = sommet page), \cverb?b? (\textit{bottom} = bas page), \cverb?p? (\textit{page} = page de flottants) et \cverb?h? (\textit{here}). - -Possibilité de forcer avec un \cverb?!? : \cverb?!h? par exemple. \\[\baselineskip] - -Le nec plus ultra et le plus robuste : package \cverb?float? + option \cverb?H?. Tableau figé à l'endroit indiqué (s'il y a de la place ; sinon blanc et passage à la page suivante). \\[\baselineskip] - -Insérer une légende : commande \cverb?\caption{Légende}? et utilisation de \cverb?\?\cverb?label{nom}? possible (APR\`ES la légende). \\[\baselineskip] - -\exconc{Environnement \cverb?table? et légende.} -\end{frame} - -\subsection{Bien construire son tableau} - -\begin{frame}[fragile]{\secname}{\subsecname} -Extrait de l'aide du package \cverb?booktabs? : - -\begin{block}{\og 1.2 La mise en page des tables formelles \fg{}} -\footnotesize{}Vous ne ferez pas de graves erreurs si vous vous rappelez à tout moment de deux simples commandements : \begin{enumerate} -\item Ne jamais, au grand jamais, utiliser de filets verticaux. -\item Ne jamais utiliser de filets doubles. -\end{enumerate} - -[\dots{}] Il y a trois autres conseils que je pourrai citer ici car ils sont si peu connus en dehors des cercles des typographes et éditeurs professionnels : \begin{enumerate} -\item Placez les unités dans l'en-tête de la colonne (pas dans le corps de la table). -\item Faites toujours précéder un point décimal (une virgule décimale en français) par un chiffre ; donc 0.1 (ou 0,1) et pas simplement .1 (,1). -\item N'utilisez pas de signes \og ditto \fg{} ou toute convention analogue pour répéter une valeur précédente. Dans la plupart des cas, un blanc fait aussi bien l'affaire. Sinon, répétez la valeur. -\end{enumerate} -\end{block} -\end{frame} - -\begin{frame}[fragile]{\secname}{\subsecname} -Insérer une série de commandes avant ou après le contenu de toutes les cellules d'une colonne : utilisation des descripteurs \cverb?>{déclaration}? et \cverb?<{déclaration}? (avant et après le choix \cverb?l?, \cverb?c? ou \cverb?r? de la colonne). \\[\baselineskip] - -1\up{ère} étape vers la personnalisation de colonnes : centrage vertical et horizontal du contenu de la cellule par exemple ! (cf. exemple pour la (longue) commande associée) \\[\baselineskip] - -\exconc{Exemple du package \cverb?booktabs? + utilisation des ``descripteurs'' \cverb?>? et \cverb?<? + colonne personnalisée.} -\end{frame} - -% https://www.latex-howto.be/files/LaTeX-HowTo-ch5.pdf -- Ex page 9-10 - -\subsection{Les boîtes} - -\begin{frame}[fragile]{\secname}{\subsecname} -Diverses solutions existent sous \LaTeX{} : \begin{itemize}[label = \ding{213}] -\item boîte avec un cadre : \cverb?\fbox? et \cverb?\framebox? (options) ; -\item boîte sur une ligne : \cverb?\mbox? et \cverb?\makebox? (options) ; -\item boîte ``paragraphe'' : \cverb?\pbox? et \cverb?\parbox? (options) ; -\item boîte passe-partout : environnement \cverb?minipage? (options). \\[\baselineskip] -\end{itemize} - -Boîtes encore plus personnalisables (titre, couleur, cadre, etc.) : utiliser le package (de pure folie) \cverb?tcolorbox? ! \\[\baselineskip] - -\exconc{Démonstration rapide des différentes boîtes.} -\end{frame} - -% https://en.wikibooks.org/wiki/LaTeX/Boxes pour les exemples
\ No newline at end of file diff --git a/Master/texmf-dist/doc/latex/guide-latex-fr/Support_oral/Slides/texte.tex b/Master/texmf-dist/doc/latex/guide-latex-fr/Support_oral/Slides/texte.tex deleted file mode 100644 index 3c5a2f6f55d..00000000000 --- a/Master/texmf-dist/doc/latex/guide-latex-fr/Support_oral/Slides/texte.tex +++ /dev/null @@ -1,176 +0,0 @@ -\section{Gestion du texte et mise en forme} - -\subsection{Paragraphes \& mise en forme} - -\begin{frame}[fragile]{\secname}{\subsecname} -Sous \LaTeX{}, il suffit d'écrire son texte normalement pour obtenir un paragraphe. Les alinéas sont automatiques. \\[\baselineskip] - -Pour commencer un nouveau paragraphe, il faut sauter une ligne (laisser une ligne vide dans le code). \\[\baselineskip] - -Pour sauter une ligne sur le document, il faut utiliser la commande \cverb?\\? à la fin du paragraphe. \\[0.5\baselineskip] - -\begin{alertblock}{\textit{Nota Bene}} -Ce n'est pas le cas sur mon support de présentation, réalisé sous \LaTeX{} : j'utilise une classe spécifique (\cverb?beamer?). -\end{alertblock} - -\vspace{0.5\baselineskip} - -\exconc{Exemple concret sous Texmaker.} -\end{frame} - -\begin{frame}[fragile]{\secname}{\subsecname} -Mise en forme du texte : \begin{itemize}[label = \ding{118}] -\item gras : \cverb?\textbf{texte}? ; - -\item italique : \cverb?\textit{texte}? ; - -\item petites capitales : \cverb?\textsc{Texte}? ; - -\item emphase : \cverb?texte \emph{texte}? ; - -\item taille de police : \cverb?\tiny?, \cverb?\scriptsize?, \cverb?\footnotesize?, \cverb?\small?, \cverb?\normalsize?, \cverb?\large?, \cverb?\Large?, \cverb?\LARGE?, \cverb?\huge? et \cverb?\Huge?. \\[\baselineskip] -\end{itemize} - -\textbf{Application à plusieurs paragraphes : passer par un environnement !} \\[\baselineskip] - -\exconc{Exemple concret sous Texmaker : utilisation de faux texte avec le package \cverb?lipsum?.} -\end{frame} - -\begin{frame}[fragile]{\secname}{\subsecname} -\textcolor{red}{Une} \textcolor{cyan}{petite} \textcolor{Green}{touche} \textcolor{orange}{de} \textcolor{RoyalPurple}{couleur} \textcolor{Goldenrod}{?}\\[\baselineskip] - -Utilisation du package \cverb?xcolor? + option \cverb?dvipsnames? si besoin : \begin{center} \cverb?\usepackage[dvipsnames]{xcolor}? \end{center} - -Coloration ponctuelle : \cverb?\textcolor{couleur}{mot(s) à colorer}?. - -Coloration de plusieurs paragraphes : \cverb?{\color{couleur} texte...}?. - -Mélange de couleur possible : \cverb?couleurA!13!couleurB?. - -Définition de ses propres couleurs : \cverb?\definecolor{couleur}[RGB]{R,G,B}?\\[\baselineskip] - -\exconc{Démonstration sous Texmaker !} -\end{frame} - -\subsection{Symboles \& listes} - -\begin{frame}[fragile]{\secname}{\subsecname} -Les symboles couramment utilisés : \begin{itemize}[label = \ding{118}] -\item accent sur les majuscules : \cverb?\'E?, \cverb?\`E?, \cverb?\^E? et \cverb?\c{C}?. - -\textbf{Attention lors des copiers-collers (Word, PDF) !} Les accents peuvent être mal interprétés par Texmaker et \LaTeX{} ; - -\item ligature \oe{} : \cverb?\OE{}il?, \cverb?c\oe{}ur? ; - -\item guillemets français : \cverb?\og texte \fg{}? ; - -\item guillemets anglais : \cverb?``texte''? ; - -\item points de suspension : \cverb?\dots{}? ; - -\item degrés : \cverb?\degres{}? \textcolor{red}{\textbf{MAIS}} \no : \cverb?\no? ; - -\item tiret court \cverb?-? ; tiret moyen \cverb?--? ; tiret long : \cverb?---? ; - -\item esperluette : \cverb?\&? ; - -\item pourcentage : \cverb?\%?. -\end{itemize} -\end{frame} - -\begin{frame}[fragile]{\secname}{\subsecname} -Création d'une liste : \begin{itemize}[label = \ding{213}] -\item liste à puces : environnement \cverb?itemize? ; - -\item liste numérotée : environnement \cverb?enumerate? ; - -\item liste descriptive : environnement \cverb?description? (moins usité). \\[\baselineskip] -\end{itemize} - -Création d'un élément d'une liste : \cverb?\item?. - -Personnalisation locale possible : \cverb?\item[puce]?. \\[\baselineskip] - -Personnalisation des listes : package \cverb?enumitem? (listes) et \cverb?pifont? (puces). \\[\baselineskip] - -\exconc{Exemple de création de listes et de personnalisation (locale et globale) sous Texmaker.} -\end{frame} - -\subsection{Organiser son document} - -\begin{frame}[fragile]{\secname}{\subsecname} -Différents éléments pour structurer son document : \begin{itemize}[label = \ding{213}] -\item {\color{orange}\cverb?\?\cverb?part{titre}?} (classe \cverb?report? seulement) ; - -\item {\color{orange}\cverb?\?\cverb?chapter{titre}?} (classes \cverb?book? \& \cverb?report? seulement) ; - -\item {\color{Green}\cverb?\?\cverb?section{titre}?} ; - -\item {\color{Green}\cverb?\?\cverb?subsection{titre}?} ; - -\item \cverb?\?\cverb?subsubsection{titre}? ; - -\item \cverb?\?\cverb?paragraph{titre}? ; - -\item \cverb?\?\cverb?subparagraph{titre}?. \\[\baselineskip] -\end{itemize} -\end{frame} - -\begin{frame}[fragile]{\secname}{\subsecname} -Personnalisation possible : {\footnotesize\begin{verbatim} -% RAZ des numéros de section après un chapitre -\makeatletter\@addtoreset{section}{chapter}\makeatother -% Pour mettre des I, II, etc. aux parties -\renewcommand{\thepart}{\Roman{part}} -\end{verbatim}} - -\begin{alertblock}{\textit{Nota Bene}} -La personnalisation des numéros (compteurs) d'une structure du document est similaire à celle des listes (package \cverb?enumitem?), sans l'étoile \cverb?*?. - -Les éléments suivants sont disponibles : \cverb?\arabic?, \cverb?\roman?, \cverb?\Roman?, \cverb?\alph? \& \cverb?\Alph?. -\end{alertblock} - -\vspace{0.5\baselineskip} - -\exconc{Application sous Texmaker !} -\end{frame} - -\subsection{Sommaire \& page de garde} - -\begin{frame}[fragile]{\secname}{\subsecname} -Création du sommaire : \cverb?\tableofcontents? - -\textcolor{red}{\textbf{Bien compiler 2 fois pour actualiser le contenu du sommaire!}} \\[\baselineskip] - -Renommer le sommaire : \cverb?\renewcommand{\contentsname}{Sommaire}? \\[\baselineskip] - -Le nec plus ultra ? Cliquer sur le sommaire pour naviguer dans le document ! Utilisation du package \cverb?hyperref?. \\[\baselineskip] - -\exconc{Exemple basique sous Texmaker puis package \cverb?hyperref? et ses options.} -\end{frame} - -\begin{frame}[fragile]{\secname}{\subsecname} -Page de garde basique gérée par \LaTeX{}. Remplir les champs suivants dans le préambule ou juste après \cverb?\begin{document}? : \begin{itemize}[label = \ding{213}] -\item titre : \cverb?\title{Titre}? ; - -\item auteur : \cverb?\author{AuteurA \and AuteurB}? - -\item date : \cverb?\date{date_voulue}? voire \cverb?\date{\today}? (actualisation à chaque compilation). \\[\baselineskip] -\end{itemize} - -Appel de la page de garde dans le document et numérotation correcte du PDF : {\footnotesize\begin{verbatim} -\maketitle % Appel -\clearpage\setcounter{page}{2} % Numérotation -\end{verbatim}} - -\exconc{Démonstration sous Texmaker + possibilité de personnalisation (tâche chronophage et qui requiert un peu d'expérience).} -\end{frame} - -{\1 -\begin{frame}[plain, noframenumbering] -\finalpage{\huge{}Merci pour ton attention ! \\[\baselineskip] - -Prochaine séance : les mathématiques sous \LaTeX{} ! -} -\end{frame} -}
\ No newline at end of file diff --git a/Master/texmf-dist/doc/latex/guide-latex-fr/Support_oral/beamercolorthemeFeather.sty b/Master/texmf-dist/doc/latex/guide-latex-fr/Support_oral/beamercolorthemeFeather.sty deleted file mode 100644 index 97ca9a76ff9..00000000000 --- a/Master/texmf-dist/doc/latex/guide-latex-fr/Support_oral/beamercolorthemeFeather.sty +++ /dev/null @@ -1,51 +0,0 @@ -% This is the color theme file of the Feather theme. -% Copyright (c) 2014 by Lilyana Vaskova Vankova <lilqna.v@gmail.com> -% -% This program is free software: you can redistribute it and/or modify -% it under the terms of the GNU General Public License as published by -% the Free Software Foundation, either version 3 of the License, or -% (at your option) any later version. -% -% This program is distributed in the hope that it will be useful, -% but WITHOUT ANY WARRANTY; without even the implied warranty of -% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -% GNU General Public License for more details. -% -% You can find the GNU General Public License at <http://www.gnu.org/licenses/>. - -%---------------------------------------------------------------------------------------------------------------------------------- - -\NeedsTeXFormat{LaTeX2e} -\ProvidesPackage{beamercolorthemeFeather}[2017/08/22 v1.1.0 The Feather Beamer Theme] - -%---------------------------------------------------------------------------------------------------------------------------------- - -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% Theme options and definitions -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - -%---------------------------------------------------------------------------------------------------------------------------------- - -% Beamer specific options - -\mode<presentation> % Refers to the first four modes (beamer,handout,second and trans). That is, to all modes except the article mode -{ - -%---------------------------------------------------------------------------------------------------------------------------------- - -% Colors -%% Defining colors - -\definecolor{beamer@barcolor}{RGB}{194,193,204} % light blue -\definecolor{beamer@normaltextcolor}{RGB}{84,97,110} % gray blue -\definecolor{beamer@headercolor}{rgb}{0,0.41,0.54} % dark blue - - -%% Setting the above definitions -\setbeamercolor{structure}{fg = beamer@headercolor} -\setbeamercolor{normal text}{fg = beamer@normaltextcolor} -\setbeamercolor{frametitle}{fg = white, bg = beamer@headercolor} -\setbeamercolor{Feather}{fg = beamer@barcolor, bg = beamer@headercolor} -} - -\mode<all>
\ No newline at end of file diff --git a/Master/texmf-dist/doc/latex/guide-latex-fr/Support_oral/beamerinnerthemeFeather.sty b/Master/texmf-dist/doc/latex/guide-latex-fr/Support_oral/beamerinnerthemeFeather.sty deleted file mode 100644 index 1237d954f92..00000000000 --- a/Master/texmf-dist/doc/latex/guide-latex-fr/Support_oral/beamerinnerthemeFeather.sty +++ /dev/null @@ -1,99 +0,0 @@ -% This is the inner theme file of the Feather theme. -% Copyright (c) 2014 by Lilyana Vaskova Vankova <lilqna.v@gmail.com> -% -% This program is free software: you can redistribute it and/or modify -% it under the terms of the GNU General Public License as published by -% the Free Software Foundation, either version 3 of the License, or -% (at your option) any later version. -% -% This program is distributed in the hope that it will be useful, -% but WITHOUT ANY WARRANTY; without even the implied warranty of -% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -% GNU General Public License for more details. -% -% You can find the GNU General Public License at <http://www.gnu.org/licenses/>. - -%---------------------------------------------------------------------------------------------------------------------------------- - -\NeedsTeXFormat{LaTeX2e} -\ProvidesPackage{beamerinnerthemeFeather}[2017/08/22 v1.1.0 The Feather Beamer Theme] - -%---------------------------------------------------------------------------------------------------------------------------------- - -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% Theme options, definitions and templates. -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - -%---------------------------------------------------------------------------------------------------------------------------------- - -% Beamer specific options -\mode<presentation> % Refers to the first four modes (beamer,handout,second and trans). That is, to all modes except the article mode -{ - -%---------------------------------------------------------------------------------------------------------------------------------- - -% Title page -%% Definitions for fonts of the different elements - -%\setbeamerfont{institute}{family = \rmfamily, size = \footnotesize} -\setbeamerfont{institute}{size = \small} -\setbeamerfont{title}{size = \Large} -\setbeamerfont{subtitle}{size = \large} -\setbeamerfont{author}{size = \normalsize} -\setbeamerfont{date}{size = \small} - -%% LLT: make title background image configurable -\newcommand{\backgroundfile}{1-title} - -\setbeamertemplate{title page}{ -%% Setting the above definitions -%% LLT: Reset unnumbered frames count to 0 - \setcounter{unnumberedframe}{0} - \begin{minipage}[c][\textheight][c]{\textwidth} - \centering % Sauts de lignes obligatoires ici - - {\usebeamerfont{institute}\insertinstitute}\vspace*{30pt} - - {\usebeamerfont{title}\usebeamercolor[fg]{title}\inserttitle}\vspace*{10pt} - - {\usebeamerfont{subtitle}\usebeamercolor[fg]{subtitle}\insertsubtitle}\vspace*{30pt} - - {\usebeamerfont{author}\insertauthor}\vspace*{30pt} - - {\usebeamerfont{date}\insertdate}\vspace*{\baselineskip} - \end{minipage} -} - -%---------------------------------------------------------------------------------------------------------------------------------- - -% Final page -\defbeamertemplate{final page}{text}[1]{ - \begin{minipage}[c][\textheight][c]{\textwidth} - \centering - #1 - \end{minipage} -} - -\newcommand{\finalpage}[1]{ - \setbeamertemplate{final page}[text]{#1} - \usebeamertemplate{final page} -} - -%---------------------------------------------------------------------------------------------------------------------------------- - -% Add the feather to the background of the titlepage and the final page -\newcommand{\1}{ - \setbeamertemplate{background}{ - %% LLT: use \backgroundfile - \includegraphics[width=\paperwidth,height=\paperheight]{\backgroundfile} - \tikz[overlay] \fill[fill opacity = 0.25, fill = white] (0,0) rectangle (-\paperwidth,\paperheight); % [fill opacity = 0.75, fill = white] - } -} - -%---------------------------------------------------------------------------------------------------------------------------------- - -% Use numbers instead of a picture for the references -\setbeamertemplate{bibliography item}[text] -} - -\mode<all>
\ No newline at end of file diff --git a/Master/texmf-dist/doc/latex/guide-latex-fr/Support_oral/beamerouterthemeFeather.sty b/Master/texmf-dist/doc/latex/guide-latex-fr/Support_oral/beamerouterthemeFeather.sty deleted file mode 100644 index b76e6214559..00000000000 --- a/Master/texmf-dist/doc/latex/guide-latex-fr/Support_oral/beamerouterthemeFeather.sty +++ /dev/null @@ -1,249 +0,0 @@ -% This is the outer theme file of the Feather theme. -% Copyright (c) 2014 by Lilyana Vaskova Vankova <lilqna.v@gmail.com> -% -% This program is free software: you can redistribute it and/or modify -% it under the terms of the GNU General Public License as published by -% the Free Software Foundation, either version 3 of the License, or -% (at your option) any later version. -% -% This program is distributed in the hope that it will be useful, -% but WITHOUT ANY WARRANTY; without even the implied warranty of -% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -% GNU General Public License for more details. -% -% You can find the GNU General Public License at <http://www.gnu.org/licenses/>. - -%---------------------------------------------------------------------------------------------------------------------------------- - -\NeedsTeXFormat{LaTeX2e} -\ProvidesPackage{beamerouterthemeFeather}[2017/08/22 v1.1.0 The Feather Beamer Theme] - -%---------------------------------------------------------------------------------------------------------------------------------- - -% Load required packages - -\RequirePackage{tikz} -\RequirePackage{calc} - -%% LLT: Added \logofile to make logo configurable -\newcommand{\logofile}{2-logo} -\newcommand{\logoscale}{0.875} - -%% LLT: Added unnumberedframe to keep track of -%% Frames to be ignored for progressbar -\newcounter{unnumberedframe} -\define@key{beamerframe}{noframenumbering}[true]{\stepcounter{unnumberedframe}\beamer@noframenumberingtrue} - - -%---------------------------------------------------------------------------------------------------------------------------------- - -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% Theme options, definitions and templates. -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - -%---------------------------------------------------------------------------------------------------------------------------------- - -% Options for the progress bar/circle -\def\beamer@progressmovingCircCnt{movingCircCnt} % moving circular counter -\def\beamer@progressfixedCircCnt{fixedCircCnt} % fixed circular counter -\def\beamer@progresscorner{corner} % a counter -\def\beamer@progressstyle{movingCircCnt} % default -\DeclareOptionBeamer{progressstyle}{\def\beamer@progressstyle{#1}} -\DeclareOptionBeamer{rotationcw}{\def\beamer@rotationcw{true}} -\DeclareOptionBeamer{shownavsym}{\def\beamer@shownavsym{true}} -\ProcessOptionsBeamer - -%---------------------------------------------------------------------------------------------------------------------------------- - -% The height of the header is 2.5 times the lineheight of the frame title -\newlength{\beamer@height} -\usebeamerfont{frametitle} % Use the frame title font -\setlength{\beamer@height}{2.5\baselineskip} - -%---------------------------------------------------------------------------------------------------------------------------------- - -% Reset fonts -\reset@font - -%---------------------------------------------------------------------------------------------------------------------------------- - -% Radius of the logo -\newlength{\beamer@logoradius} -\setlength{\beamer@logoradius}{0.95\beamer@height/2} - -%---------------------------------------------------------------------------------------------------------------------------------- - -% Width of the border -\newlength{\beamer@borderwidth} - \setlength{\beamer@borderwidth}{1.05mm} % As small is the thickness of the border the whole circle goes up - -%---------------------------------------------------------------------------------------------------------------------------------- - -% Inner radius of border of the logo frame -\newlength{\beamer@logoinnerradius} -\setlength{\beamer@logoinnerradius}{0.85\beamer@logoradius} - -%---------------------------------------------------------------------------------------------------------------------------------- - -% Radius of the outer border of the logo frame -\newlength{\beamer@logoouterradius} -\setlength{\beamer@logoouterradius}{\beamer@logoinnerradius+\beamer@borderwidth} - -%---------------------------------------------------------------------------------------------------------------------------------- - -% Radius of the counters -\newlength{\beamer@counterradius} -\setlength{\beamer@counterradius}{\beamer@logoinnerradius/2+\beamer@logoouterradius/2} - -%---------------------------------------------------------------------------------------------------------------------------------- - -% Beamer specific options -\mode<presentation> % Refers to the first four modes (beamer,handout,second and trans). That is, to all modes except the article mode -{ -\ifbeamercolorempty[fg]{Feather}{ - \setbeamercolor{Feather}{use = {structure, palette sidebar primary}, fg = palette sidebar primary.fg, bg = structure.fg} -} - -%---------------------------------------------------------------------------------------------------------------------------------- - - % Headline -\setbeamertemplate{headline}{\featherheaderbackground} - -%---------------------------------------------------------------------------------------------------------------------------------- - -% Footline -\setbeamertemplate{footline} - { - \begin{beamercolorbox}[wd = 1.0\paperwidth, ht = 1.25ex, dp = 1ex, left]{headfoot} - {\usebeamercolor[fg]{frametitle}\usebeamerfont{section in head/foot}\hspace*{3.5ex} - \insertshortauthor\ |\ - \insertshorttitle - \insertshortsubtitle - } - \end{beamercolorbox} - } - -%---------------------------------------------------------------------------------------------------------------------------------- - -% Frame title -\setbeamertemplate{frametitle} - { - \begin{minipage}[c][0.9\beamer@height][c]{\textwidth} - {\usebeamercolor[fg]{frametitle}\usebeamerfont{frametitle}\insertframetitle\par} - {\usebeamercolor[fg]{framesubtitle}\usebeamerfont{framesubtitle}\insertframesubtitle\par} - \end{minipage} - } - \ifx\beamer@shownavsym\undefined % insert navigation symbols - \setbeamertemplate{navigation symbols} - - \fi % Saut de ligne obligatoire ici -} - -%---------------------------------------------------------------------------------------------------------------------------------- - -% Macros used in the theme -%% Coordinate the fancy header background -\newcommand{\featherheaderbackground}[0]{ - \begin{tikzpicture}[overlay] - \coordinate (UL) at (0,0); % Upper left corner of the slide - \coordinate (HLR) at (\paperwidth,-0.9\beamer@height); % Lower right of the header - \coordinate (ULL) at (0,-0.95\beamer@height); % Upper left corner of the line - \coordinate (LLR) at (\paperwidth,-1\beamer@height); % Lower right corner of the line - \coordinate (ULF) at (0, \dimexpr-\paperheight+1.6em\relax); - %\coordinate (ULF) at (0,-5.90\beamer@height); % Upper left corner of the footline - \coordinate (LFR) at (\paperwidth,-\paperheight); - %\coordinate (LFR) at (\paperwidth,-6.08\beamer@height); % Lower right corner of the footline - - \coordinate (logopos) at ([shift = {(-\beamer@logoouterradius-2.05\beamer@borderwidth, \beamer@height-\beamer@logoouterradius-5.5\beamer@borderwidth)}] HLR); % Coordinate of the logo and the circ position - -%---------------------------------------------------------------------------------------------------------------------------------- - -%% Draw the background of the header, the circle and the logo - { - \usebeamercolor{Feather} - -%---------------------------------------------------------------------------------------------------------------------------------- - -%% Draw the blue background rectangle of the header and the line below it - \draw[draw = none, fill = Feather.bg] (UL) rectangle (HLR); % Background rectangle - \draw[draw = none, fill = Feather.fg] (ULL) rectangle (LLR); % Line below the background rectangle - \draw[draw = none, fill = Feather.bg] (ULF) rectangle (LFR); % Footline - -%---------------------------------------------------------------------------------------------------------------------------------- - -%% Draw the outer circle - \fill[fill = Feather.fg] (logopos) circle (\beamer@logoouterradius); - -%---------------------------------------------------------------------------------------------------------------------------------- - -%% Draw the inner circle - \fill[fill = normal text.bg] (logopos) circle (\beamer@logoinnerradius); - -%---------------------------------------------------------------------------------------------------------------------------------- - -%% Place the logo in the circle -%% LLT: use customisable \logofile - \node at (logopos) {\includegraphics[width = \dimexpr \logoscale \beamer@logoradius * 2\relax]{\logofile}}; - -%---------------------------------------------------------------------------------------------------------------------------------- - -%% Draw progress circle/bar - \ifx\beamer@progressstyle\beamer@progressmovingCircCnt % The circular counter with a moving counter - -%---------------------------------------------------------------------------------------------------------------------------------- - -%% Calculate end position -%%% LLT: modified to discount unnumbered frames, and -%%% Make the arc go a complete circle at end of -%%% Presentation - \ifx\beamer@rotationcw\undefined % Counterclockwise rotation - \pgfmathsetmacro{\effectivetotalframe}{max(\inserttotalframenumber-\theunnumberedframe,1)} - \pgfmathsetmacro{\progress}{(\insertframenumber-\theunnumberedframe)/\effectivetotalframe*360}; - \else % Clockwise rotation - \pgfmathsetmacro{\progress}{(\insertframenumber-\theunnumberedframe)/\effectivetotalframe*(-360)}; - \fi - -%---------------------------------------------------------------------------------------------------------------------------------- - -%% Draw the arc - \draw[color = Feather.bg, line width = 0.2*\beamer@borderwidth] ([xshift = \beamer@counterradius] logopos) arc[radius = \beamer@counterradius, start angle = 0, end angle = \progress]; - \fill[fill = Feather.bg] ([shift = {(\progress:\beamer@counterradius)}] logopos) circle (0.25\beamer@borderwidth); - -%---------------------------------------------------------------------------------------------------------------------------------- - -%% Place the current frame number - \node[fill = normal text.bg, draw = Feather.fg, thick, circle,minimum width = 2*\beamer@borderwidth] at ([xshift = \beamer@counterradius]logopos) {{\usebeamercolor[fg]{normal text}\insertframenumber}}; - \fi - \ifx\beamer@progressstyle\beamer@progressfixedCircCnt % The circular counter with a fixed counter - -%---------------------------------------------------------------------------------------------------------------------------------- - -%% Draw the current frame number - \ifx\beamer@rotationcw\undefined % Counterclockwise rotation - \pgfmathsetmacro{\progress}{360*\insertframestartpage}; - \else % Clockwise rotation - \pgfmathsetmacro{\progress}{-360*\insertframestartpage}; - \fi - -%---------------------------------------------------------------------------------------------------------------------------------- - -%% Draw the arc - \draw[color = Feather.bg, line width = 0.5*\beamer@borderwidth] ([xshift = \beamer@counterradius] logopos) arc (0:\progress:\beamer@counterradius); - -%---------------------------------------------------------------------------------------------------------------------------------- - -%% Place the current frame number - \node[fill = normal text.bg, draw = Feather.fg, circle, thick, minimum width = 2*\beamer@borderwidth] at ([shift = {(\progress:\beamer@counterradius)}] logopos) {{\usebeamercolor[fg]{normal text}\insertframenumber}}; - \fi - } - \end{tikzpicture} -} - -%---------------------------------------------------------------------------------------------------------------------------------- - -%% Setting the blocks -\setbeamertemplate{blocks}[rounded][shadow = true] -\setbeamercolor{block title}{fg = frametitle.fg, bg = frametitle.bg} -\setbeamercolor{block body}{parent = normal text, use = block title, bg = Feather.fg!30} - -\mode<all>
\ No newline at end of file diff --git a/Master/texmf-dist/doc/latex/guide-latex-fr/Support_oral/beamerthemeFeather.sty b/Master/texmf-dist/doc/latex/guide-latex-fr/Support_oral/beamerthemeFeather.sty deleted file mode 100644 index ee6a77f2757..00000000000 --- a/Master/texmf-dist/doc/latex/guide-latex-fr/Support_oral/beamerthemeFeather.sty +++ /dev/null @@ -1,51 +0,0 @@ -% This is the main beamer theme file of the Feather theme. -% Copyright (c) 2014 by Lilyana Vaskova Vankova <lilqna.v@gmail.com> -% -% This program is free software: you can redistribute it and/or modify -% it under the terms of the GNU General Public License as published by -% the Free Software Foundation, either version 3 of the License, or -% (at your option) any later version. -% -% This program is distributed in the hope that it will be useful, -% but WITHOUT ANY WARRANTY; without even the implied warranty of -% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -% GNU General Public License for more details. -% -% You can find the GNU General Public License at <http://www.gnu.org/licenses/>. - -%---------------------------------------------------------------------------------------------------------------------------------- - -\NeedsTeXFormat{LaTeX2e} -\ProvidesPackage{beamerthemeFeather}[2017/08/22 v1.1.0 The Feather Beamer Theme] - -%---------------------------------------------------------------------------------------------------------------------------------- - -% Load required packages - -\RequirePackage{tikz} -\RequirePackage{calc} - -%---------------------------------------------------------------------------------------------------------------------------------- - -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% Theme options and definitions -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - -%---------------------------------------------------------------------------------------------------------------------------------- - -\DeclareOptionBeamer{progressstyle}{\PassOptionsToPackage{progressstyle = #1}{beamerouterthemeFeather}} -\DeclareOptionBeamer{rotationcw}{\PassOptionsToPackage{rotationcw}{beamerouterthemeFeather}} -\DeclareOptionBeamer{shownavsym}{\PassOptionsToPackage{shownavsym}{beamerouterthemeFeather}} -\ProcessOptionsBeamer - -%---------------------------------------------------------------------------------------------------------------------------------- - -% Beamer specific options -\mode<presentation> % Refers to the first four modes (beamer, handout, second and trans). That is, to all modes except the article mode -{ - \useinnertheme{Feather} - \useoutertheme{Feather} - \usecolortheme{Feather} -} - -\mode<all>
\ No newline at end of file diff --git a/Master/texmf-dist/doc/latex/guide-latex-fr/Support_oral/guide-latex-fr_beamer.tex b/Master/texmf-dist/doc/latex/guide-latex-fr/Support_oral/guide-latex-fr_beamer.tex deleted file mode 100644 index 6367476b98b..00000000000 --- a/Master/texmf-dist/doc/latex/guide-latex-fr/Support_oral/guide-latex-fr_beamer.tex +++ /dev/null @@ -1,184 +0,0 @@ -\documentclass[11pt, xcolor = {dvipsnames}]{beamer} - -%------------------------------------------------------- -% BEAMER SETTINGS -%------------------------------------------------------- - -%%% Options passed to the outer theme -\usetheme[]{Feather} - -\definecolor{maincolor}{RGB}{8,86,215} - -% Change the bar colors - NavyBlue initially -\setbeamercolor{Feather}{fg = maincolor!30, bg = maincolor} -% Change the color of the structural elements -\setbeamercolor{structure}{fg = maincolor} -% Change the frame title text color -\setbeamercolor{frametitle}{fg = white} -% Change the normal text colors -\setbeamercolor{normal text}{fg = black, bg = white} -% Change the block title colors -\setbeamercolor{block title}{fg = white, bg = maincolor} - -% Change the logo in the upper right circle -\renewcommand{\logofile}{../Images/eclair.eps} -% This is an image that comes with the LaTeX installation -% Adjust scale of the logo with regard to the circle; default is 0.875 -\renewcommand{\logoscale}{0.35} - -% Change the background image on the title and final page. -% It stretches to fill the entire frame! -\renewcommand{\backgroundfile}{./1-title.pdf} - -%------------------------------------------------------- -% BEAMER OPTIONS (FRAMES & BLOCKS) -%------------------------------------------------------- - -\AtBeginSection[]{ -\begin{frame}{\secname} -\begin{columns} -\begin{column}[t]{0.5\linewidth} -\tableofcontents[current, sections = {1-4}, hideothersubsections, sectionstyle = show/shaded] -\end{column} -\hfill -\begin{column}[t]{0.5\linewidth} -\tableofcontents[current, sections = {5-8}, hideothersubsections, sectionstyle = show/shaded] -\end{column} -\end{columns} -\end{frame} -} - -\setbeamercolor{block title alerted}{fg = red, bg = red!30} -\setbeamercolor{block body alerted}{fg = black, bg = red!10} - -%------------------------------------------------------- -% INCLUDE PACKAGES -%------------------------------------------------------- - -\usepackage[french]{babel} -\usepackage{lmodern} -\usepackage[utf8]{inputenc} -\usepackage[T1]{fontenc} -\renewcommand{\familydefault}{\sfdefault} - -\usepackage{newverbs} - -\usepackage{enumitem, pifont, marvosym} -\setlist[enumerate, 1]{label = {\color{structure.fg}\arabic*)}} -\setlist[itemize, 1]{label = {--}} - -\usepackage{amsmath, amsfonts, amssymb, esvect, mathrsfs, stmaryrd} % Pour faire des maths - -\usepackage{array} -\renewcommand{\arraystretch}{1.3} - -\usepackage{graphicx, float, subcaption} -\graphicspath{{../Images/}} % Chemin des images - -\usepackage{ifthen} -\usetikzlibrary{arrows, arrows.meta, positioning} - -%------------------------------------------------------- -% DEFINING AND REDEFINING COMMANDS -%------------------------------------------------------- - -% Colored hyperlinks -\newcommand{\chref}[2]{ - \href{#1}{{\usebeamercolor[bg]{Feather}#2}} -} -\newcommand{\curl}[1]{ - {\usebeamercolor[bg]{Feather}\url{#1}} -} - -% Colored verbatim -\newverbcommand{\cverb}{\color{red}}{} - -% Correct font -\let\oldTeX\TeX % Pour éviter une boucle infinie dans le renewcommand qui suit -\renewcommand{\TeX}{{\rmfamily\oldTeX}} -\let\oldLaTeX\LaTeX -\renewcommand{\LaTeX}{{\rmfamily\oldLaTeX}} - -% Exemple concret - Mise en forme -\setlength{\fboxrule}{2pt} -\setlength{\fboxsep}{1.5mm} -\newlength{\boxlength} -\newcommand{\exconc}[1]{ - \settowidth{\boxlength}{#1} - \ifthenelse{\boxlength > \linewidth}{ - \setlength{\boxlength}{\linewidth} - }{} - {\fcolorbox{Peach}{Peach!30}{\parbox{\boxlength}{#1}}} -} - -%------------------------------------------------------- -% TITLE PAGE -- INFORMATION -%------------------------------------------------------- - -\title[Initiation à \LaTeX{}]{\textbf{Introduction à \LaTeX{}}} - -\subtitle[]{Pour débutants et jeunes utilisateurs} - -\author[Adrien Bouzigues]{% - Adrien \textsc{Bouzigues} \\[0.25\baselineskip] - \includegraphics[width = 0.3\linewidth]{buque_auteur.eps} \\ [\baselineskip] - Avec l'aide de l'UE 216 \\[-\baselineskip] -} - -\institute[ENSAM]{\'Ecole Nationale Supérieure d'Arts \& Métiers \\[-\baselineskip]} - -\date{\today} - -\hypersetup{pdfauthor = {{Adrien Bouzigues - I13 Cl215}}, pdftitle = {{guide-latex-fr_beamer}}, pdfstartview = Fit, pdfpagelayout = SinglePage, pdfnewwindow = true, bookmarksnumbered = true, breaklinks, hidelinks, linktoc = all} - -%\includeonly{./Slides/presentation,./Slides/logiciels_compilation,./Slides/texte,./Slides/maths,./Slides/tableaux} -\includeonly{./Slides/images} - - -%------------------------------------------------------- -% THE BODY OF THE PRESENTATION -%------------------------------------------------------- - -\begin{document} - -\everymath{\displaystyle} - -{\1% % This is the name of the PDF file for the background -\begin{frame}[plain, noframenumbering] -% plain : removes the header from the title page -% noframenumbering : removes the numbering of this frame only -\titlepage % Call the title page information from above -\end{frame} -} - -\begin{frame}{Des questions ?}{Wooclap} -\huge{}Utilisation de Wooclap : - -\begin{center} -\curl{www.wooclap.com/LATEXAM} -\end{center} -\end{frame} - -\begin{frame}{Sommaire} -%\tableofcontents[hideallsubsections] -\begin{columns}[t] -\begin{column}{0.5\linewidth} -\tableofcontents[sections = {1-4}, hideothersubsections] -\end{column} -\hfill -\begin{column}{0.5\linewidth} -\tableofcontents[sections = {5-8}, hideothersubsections] -\end{column} -\end{columns} -\end{frame} - -\include{./Slides/presentation} -\include{./Slides/logiciels_compilation} -\include{./Slides/texte} -\include{./Slides/maths} -\include{./Slides/tableaux} -\include{./Slides/images} -\include{./Slides/erreurs} -\include{./Slides/bonus_MR} - -\end{document} diff --git a/Master/texmf-dist/doc/latex/guide-latex-fr/Support_oral/teaser_LaTeX.txt b/Master/texmf-dist/doc/latex/guide-latex-fr/Support_oral/teaser_LaTeX.txt deleted file mode 100644 index 3690bbb6913..00000000000 --- a/Master/texmf-dist/doc/latex/guide-latex-fr/Support_oral/teaser_LaTeX.txt +++ /dev/null @@ -1,24 +0,0 @@ -[Etudiants ENSAM en MR ou curieux - Initiation à LaTeX] - -Sal's/Bonjour, - -As-tu déjà entendu parler de LaTeX ? Je ne parle pas du matériau mais du langage et système de composition de documents. Tu dois sûrement trouver cette explication rébarbative. Et pourtant, si tu es en Master Recherche, LaTeX reste, à l'heure actuelle, LA référence dans les milieux scientifique et académique pour diffuser des rapports ou des articles de recherche ! - -Mais j'en oublie les convenances. Pour me présenter très rapidement, certains me connaissent en tant qu'Indignation 13 Cl215, mais tu peux aussi m'appeler Adrien. Depuis mon entrée aux Arts, j'ai appris progressivement à utiliser LaTeX, de manière totalement empirique. Ce fut beaucoup de tâtonnements, d'échecs, d'essais infructueux mais, avec désormais 3 années d'expérience sur le sujet, je commence avoir suffisamment de recul sur le sujet. -Si mes camarades de Promotion ont apprécié le rendu proposé par LaTeX, très peu ont jugé utile de s'y intéresser. Et pourtant, quand certains ont commencé leur semestre de Master Recherche, ils ont été forcés de s'y mettre... et se sont tournés vers moi pour les aider, ce que j'ai fait avec plaisir ! - -Pour cette nouvelle année, je propose de partager mon expérience sous LaTeX librement aux élèves des Arts & Métiers. 4 séances d'1h30 (en amphi, par vidéo-conférence) soit 6 heures au total : c'est tout le temps nécessaire pour appréhender ce nouvel univers en amphi. -Pour te donner un premier aperçu, ces 4 sessions sont découpés de la manière suivante : -1) introduction à LaTeX : logiciels, règles de base et premier document -2) les mathématiques sous LaTeX -3) mettre en forme son document : images & tableaux + gestion des erreurs et bilan -4) cours spécial Master Recherche : écrire son mémoire sous LaTeX, bibliographie et autres subtilités -Le planning exact, avec les dates et les heures, sera transmis ultérieurement. - -N'hésites pas à te renseigner auprès de tes professeurs, pour savoir si tu auras du travail rédigé en LaTeX à rendre durant l'année. Personnellement, je te recommande fortement de venir, ne serait-ce que pour découvrir les bonnes pratiques à adopter. - -Au plaisir de te retrouver en amphi, - -Fraternellement, - -Indignation 13 Cl215
\ No newline at end of file diff --git a/Master/texmf-dist/doc/latex/guide-latex-fr/guide-latex-fr.pdf b/Master/texmf-dist/doc/latex/guide-latex-fr/guide-latex-fr.pdf Binary files differindex d489eedba2e..e2ba07af18b 100644 --- a/Master/texmf-dist/doc/latex/guide-latex-fr/guide-latex-fr.pdf +++ b/Master/texmf-dist/doc/latex/guide-latex-fr/guide-latex-fr.pdf diff --git a/Master/texmf-dist/doc/latex/guide-latex-fr/guide-latex-fr.tex b/Master/texmf-dist/doc/latex/guide-latex-fr/guide-latex-fr.tex index baa07f9694c..fa06c6dee9e 100644 --- a/Master/texmf-dist/doc/latex/guide-latex-fr/guide-latex-fr.tex +++ b/Master/texmf-dist/doc/latex/guide-latex-fr/guide-latex-fr.tex @@ -1,16 +1,21 @@ % Compilation sous PDFLaTeX -\PassOptionsToPackage{dvipsnames}{xcolor} % Obligatoire ici \documentclass[a4paper, 12pt]{report} % Les packages et la configuration utilisés -\input{./Chapitres/config} +\input{./Chapitres/packages} +\input{./Chapitres/commandes} % Utile à ce stade : gain de place et modifications occasionnelles -\includeonly{./Chapitres/page-garde,./Chapitres/intro,./Chapitres/p1-historique,./Chapitres/p1-installation,./Chapitres/p1-compilation,./Chapitres/p2-regles,./Chapitres/p2-texte,./Chapitres/p2-maths,./Chapitres/p2-tableaux,./Chapitres/p2-images,./Chapitres/p2-erreurs,./Chapitres/annexes} +%\includeonly{./Chapitres/annexes} + \begin{document} \everymath{\displaystyle} +% Correction des références (commande autoref du package hyperref) +% Obligatoirement après \begin{document} (conflit avec babel) +\renewcommand{\figureautorefname}{\figurename{}} +\renewcommand{\tableautorefname}{\tablename{}} % Page de garde \include{./Chapitres/page-garde} @@ -19,7 +24,7 @@ \include{./Chapitres/intro} % Retour au style principal -\pagestyle{mainstyle} +\pagestyle{main} \part{\LaTeX{} : histoire \& premier contact} @@ -38,60 +43,26 @@ \part{Aller plus loin avec \LaTeX{}} -\newpage -\vspace*{\fill} -\begin{center} -\huge\bfseries\color{orange} -[Mise à jour prévue pour le 1\up{er}semestre 2019] -\end{center} -\vspace*{\fill} -\newpage - \include{./Chapitres/p3-intro} -\include{./Chapitres/p3-modes} +\include{./Chapitres/p3-moteurs} +\include{./Chapitres/p3-structuration} \include{./Chapitres/p3-texte} \include{./Chapitres/p3-maths} \include{./Chapitres/p3-tableaux} \include{./Chapitres/p3-images} -%\include{./Chapitres/p3-PST} -\include{./Chapitres/p3-TikZ} +\include{./Chapitres/p3-pstricks} +\include{./Chapitres/p3-tikz} \include{./Chapitres/p3-beamer} -\part*{Annexes} +\clearpage + +% Avant \part* (à cause du saut de page intégré) \phantomsection % Renvoi correct dans le sommaire \addcontentsline{toc}{part}{Annexes} % Ajout dans le sommaire +\part*{Annexes} \include{./Chapitres/annexes} -% Expliquer la notion de "nom" à un node --> master -% Tracer des fonctions mathématiques ... -% Passer à "text and listing" pour les exemples --> rien de mieux que d'afficher le résultat avant le code (ou après avec "listing and text"), boîte complète requise (surtout pour les dessins + resizebox si dépassement) -% ==> préambule et begin{document} en commentaire du coup (pour délimiter et préciser les packages du style : % Packages : blabla -% profiter du préambule (2nd ?) pour présenter le nouveau format et préciser le "fonctionnement" - -%\newtcblisting{codetikz}[2][]{breakable, beforeafter skip = \baselineskip, colframe = LimeGreen, colback = White, boxrule = 2pt, arc = 6pt, title = \textbf{#2}, coltitle = Black, listing options = {basicstyle = \ttfamily\small, keepspaces = true, columns = flexible, breaklines = true, inputencoding = utf8, language = TeX, numbers = none, showstringspaces = false, commentstyle = \color{Gray}}, listing side text, righthand ratio = 0.3, #1} -% -% Préambule en commentaire pour pouvoir générer le résultat ! -% -%\begin{codetikz}{Test} -%%\documentclass[a4paper, 12pt]{report} -%% -%%\usepackage{tikz} -% -% -%\begin{center} -%% Un polygone régulier -%\begin{tikzpicture} -%% Paramétrage -%\def\poly{13} % Nombre entier supérieur à 1 -%% % Limite de calcul LaTeX fixée à 16 383 ... -%\pgfmathsetmacro\polyg{\poly - 1} -%\def\R{1.5} % 0.25\linewidth est aussi une distance ... -% -%% Tracé du polygone -%\draw[orange] (90:\R) \foreach \i in {1,...,\polyg} {-- (90-\i/\poly*360:\R)} -- cycle; % Usage de \polyg pour bien fermer avec un "cycle" -%\end{tikzpicture} -%\end{center} -%\end{codetikz} +\include{./Chapitres/page-fin} \end{document}
\ No newline at end of file |