diff --git a/README.md b/README.md index f405bd8c8e019d6e440c79dd1af4c529bd891744..06c6987f0806f252be99871254972d805350d4c7 100644 --- a/README.md +++ b/README.md @@ -39,7 +39,7 @@ Code : * [/] SIUnitx : le paquet du physicien * [/] Des références d'articles avec BibTeX * [V] Gérer un gros document en le découpant en plusieurs parties - * [...] Un soupçon de programmation LaTeX + * [V] Un soupçon de programmation LaTeX 4. Des graphiques vectoriels avec le duo PGF/TIKZ * [/] Introduction * [/] Des figures simples diff --git a/latex-guide.tex b/latex-guide.tex index 516aec8e7920c7993608684ce6e3fcef4b50cd27..c767ce03d4dc6fa99825f9b186a66c986e4ff19e 100644 --- a/latex-guide.tex +++ b/latex-guide.tex @@ -45,6 +45,8 @@ \rhead{2016} %-----DOCUMENT----- +\includeonly{parts/intro-master, parts/survie-master, parts/avance-master} + \begin{document} \pagenumbering{gobble} \let\orilabel\label %sauvegarde la commande label dans orilabel pour la restaurer dans showexpl @@ -114,6 +116,7 @@ Ce document est mis à disposition selon les termes de la Licence Creative Commo \newpage \pagenumbering{arabic} + % Partie I : Introduction \include{parts/intro-master} diff --git a/parts/avance-master.tex b/parts/avance-master.tex index 0dff0621902c15342b071bb25d3203e88e261e7a..4490e50c40a47fb934b96b6ea88f83f293cd507f 100644 --- a/parts/avance-master.tex +++ b/parts/avance-master.tex @@ -69,6 +69,8 @@ Cette partie présente des techniques permettant un réglage plus fin des tablea \subsection{Aérer son tableau} +\label{subsec:aerertab} + Si votre tableau contient des données qui prennent une place verticale conséquente, comme des fractions, vous pourrez avoir envie de l'aérer pour en augmenter la lisibilité. La hauteur des lignes se modifie à l'aide de \verb=\renewcommand{\arraystretch}{nouvelle valeur}=.\\ Cette modification étant une redéfinition de l'option globale \verb=\arraystretch=, elle s'appliquera à tous les tableaux qui la suivront. Si vous voulez revenir à un tableau normal, il faudra réutiliser la commande avec la valeur par défaut qui est $1.0$.\\ Voici un exemple : @@ -710,8 +712,10 @@ Dans cette section nous allons donc voir comment créer des commandes et des env \subsection{Créer ses macros : la syntaxe} +\label{subsec:macros} + Pour créer une commande il faut utiliser la syntaxe suivante :\\ -\verb|\newcommand{\}[]{}|\\ +\verb|\newcommand{\}[]{}|\footnote{vous rencontrerez parfois la commande \verb=\def=, qui a la même utilité. Néanmoins son usage est déconseillée, \verb=\def= est une commande \TeX{} primitive qui ne possède pas les sécurités introduites par \LaTeX{} avec \verb=\newcommand= }\\ Pour comprendre cette syntaxe voyons quelques exemples simples. Le cas le plus simple est celui d'une commande sans arguments, où vous ne faites que créer un \ {alias} : @@ -730,6 +734,8 @@ Maintenant considérons l'exemple d'une commande avec deux arguments. L'appel au \alimentation{fruits}{1.5} \end{LTXexample} +Une petite remarque s'impose : certains caractères ne sont pas autorisés par \LaTeX{} dans les noms de commande, comme par exemple l'arobase @. Nous expliquerons pourquoi au \ref{subsec:atletter}. + \subsection{Le cas des mathématiques : l'exemple de la notation \textit{braket} de Dirac} \label{subsubsec:macrosdirac} @@ -761,7 +767,27 @@ Il reste à définir définir le \textit{produit scalaire hermitien} et les \tex \psh{\psi}{\phi} \\ \mean{A} \end{LTXexample} +\subsection{Modifier une macro existante} + +Le principe est le même que pour la création de commandes (voir \ref{subsec:macros}), mais la syntaxe à utiliser est :\\ +\verb|\renewcommand{\}[]{}| + +Nous avons déjà rencontré plusieurs fois cette technique au cours de ce document, voir \ref{subsec:numcompteur} et \ref{subsec:aerertab} pour des exemples. + +\subsection{Modifier des macros protégées} + +\label{subsec:atletter} + +Certaines macros internes de \LaTeX{}\footnote{ainsi que certaines macros définies dans des extensions} sont protégées pour éviter à l'utilisateur non avertit de les modifier.\\ +N'utilisez donc pas ce qui va être expliqué dans cette section avant d'avoir atteint le niveau de maîtrise chaman avancé. + +Les commandes protégées se reconnaissent facilement : elles utilisent le caractère arobase @. Nous avons expliqué au \ref{subsec:macros} que le caractère @ est interdit dans les noms de macros, ce n'est donc pas tout à fait vrai : seul l'utilisateur n'a pas le droit d'utiliser ce caractère, et il peut quand même l'utiliser à condition d'employer deux commandes assez particulières : \verb=\makeatletter= et \verb=\makeatother=\footnote{a titre culturel : ces commandes modifient le \textit{catcode} (ou code de catégorie) du caractère @}. +Pour modifier une commande protégée il faut donc utiliser le schéma suivant : \begin{enumerate} +\item rendre la caractère @ accessibles aux noms de macros avec \verb=\makeatletter= +\item modifier la commande désirée +\item verrouiller à nouveau le caractère @ avec \verb=\makeatother= +\end{enumerate} %%Ecrire de la MQ %\newcommand{\ket}[1]{\ensuremath{|#1\rangle}\xspace} %\ket{n_i}. \hat{} pour avoir un opérateur