Le principe de la notion de commande est à Latex est ce que la Macro est à Word, à quelques exceptions près.

L'idée est de définir un "mot-clef" (une nom: de fonction dans Word) de  votre choix (tant qu'il n'est pas ni un mot réservé à Latex, ni un mot-clé réservé à une bibliothèque Latex) qui va lancer une action latex, par exemple l'écriture d'un bloc.

Attention : là où une macro latex est plus autour de l'exécution d'action du logiciel en lui-même, la commande latex a bien pour but de générer un texte, un contenu. Ce n'est en aucun cas une macro d'exécution de menus, clics, .... de l'interface graphique de Word. 

Pour les développeurs lecteurs de mon blog, on pourrait plus associer une macro à une procédure ou une fonction qu'à une macro

Commençons par un exemple pour comprendre

 Dans cet exemple, nous allons écrire une macro Latex qui va avoir pour but d'écrire la locution française "C'est-à-dire" (sans les guillemets bien entendu) lorsque l'utilisateur écrire \cad. Comme vous pouvez d'ores et déjà le remarquer, la locution raccourcie commence bien comme une commande Latex par un antislash (\). 
Ainsi, nous allons écrire la commande de la manière suivante : 
 
\newcommand\cad{C'est-à-dire}
 
Ce n'est pas le cas ici, mais il faut savoir que ces commandes peuvent prendre des arguments en paramètres.

Exemple de la redéfinition d'une commande 

 Comme on peut le voir ainsi, nous sommes très proche de la programmation orientée objet et de sa notion de surcharge. Ici, nous allons redéfinir (ou surcharger donc) la commande \thesection, commande dont le but est de redéfinir la présentation des sections de document. C'est ainsi, par exemple, que l'on peut spécifier comment afficher la numérotation des sections (avec des lettres, des chiffres arabes, ...)
 
\newcommand{\thesection}{\alph{section}}
 

Explication de la surcharge de la commande

 Maintenant que nous avons vu comment fonctionne la surcharge,  tout comme en programmation orientée objet, avec Latex, il est possible de surcharger une fonction (on parle aussi d'héritage)
Le principe de la surcharge est de redéfinir une fonctionnalité déjà présente dans Latex. Ainsi, une commande effectuant une action, effectuera une action légèrement modifiée. 
Dans le cas qui nous concerne, nous allons surchargé à commande au travers de la nouvelle commande \renewcommand. À ne pas confondre avec la commande \newcommand qui a pour but de définir sa propre commande personnalisée. Si je résume :
  • \newcommand peut s'assimuer à une macro commande dans word. On définit alors sa propre commande
  • \renewcommand qui n'a pas d'équivalent sous Word, permet de dire à latex il y a commande xxx qui a l'habitude de faire et action yyy fera désormais et action ZZ.
L'utilisation de \renewcommand fonctionne de la façon suivante : chaque fois que la commande native sera rencontrée, c'est-à-dire la commande appartenant au cœur de latex ou de l'un de ses paquets, au lieu d'exécuter son action normalement, tu la remplaces par mon code à moi.
\newcommand possède plusieurs arguments :
  • un nom de commande
  • un nombre d'arguments à la commande, cette valeur étant facultative
  • une valeur par défaut. Si ce deuxième paramètre est présent, y est spécifié que le premier argument de la commande est facultatif et donne sa valeur uniquement si ce deuxième argument est présent.
  • enfin, entre crochet, la redéfinition de la commande.

Exemple de newcommand 

 La commande suivante vous permettra d'écrire la locution française "c'est-à-dire".
 \newcommand\cad{C'est-à-dire}
 
Il pourrait même être possible ainsi d'affecter des paramètres à cette commande.

Exemple de redéfinition d'une commande renewcommand

 Ici, je redéfinis la fonction \thesection pour une numérotation alphabétique à la place du numérotation numérique.
 
\renewcommand{\thesection}{\alph{section}}

Mon Github

slhuilli1's GitHub repositories

  • ongletvide
    Rajoute une icone sir le content de l'onglet contien la constante [[[onglet_vide]]], constante déclarée dans RL content templater
  • cssmodale
    Create un modal window full CSS
  • nl2br
    ce plugin tranforme automatiquement vos retours à la ligne de vos articles en BR grâce à la fonction PHP dédiée nl2br(). - this plugin automatically transforms your newlines of your articles into BR thanks to the dedicated PHP function nl2br().
  • hidenatifs
    Hide from a links data-natifs="..."
  • targetpdf
    Add "_blank" automatically when href ils a pdf file !
  • zippage
    Zipper tous les PDF internes d'une page Joomla Content
  • legendeimg
    No description
  • antispam
    Plugin qui génère une chaine mais avec le symbole @ dans le css, évitant de se faire aspirer son mail !
  • modallightbox
    No description
  • titrearticle
    Remplace affiche le titre de l'article.
  • provisoire
    Lister des documents marqués comme "provisioires"
  • cssmodal
    Plugin Joomla pour lancer une fenetre modale
  • modalpdf
    No description
  • demandeajoutdoc
    This pligin add a mailto: link info Regular Labs Tabs (for intranet whithout spam)
  • natif
    Ce plugin prend en compte ou pas l'affichage des fichiers natifs (word/excel) en sus de liens vers des PDF
  • nouveau
    Un plugin joomla qui affiche une mention "nouveau" sur un lien hypertext avannt une date butoire - A Joomla plugin that displays a “new” mention on a hyperlink before a deadline
  • lastdocsupdates
    Plugin d'affichage des derniers fichiers modifiés dans un répertoire donné
  • noteitv2
    No description
  • NoCache
    No description
  • addIdToHn
    Ce plugin ajoute automatiquement un id calculé (compté) aux balises Hn
  • ReadFirefoxBookmarks
    reading Firefox bookmak with PHP using SQLite library
  • externalcssandlib
    Add external CSS and javascript libraries in your projets
  • qr
    Ce plugins affiche une liste de questions reponses - This plugin for Joomla show a list of questions, when clicked, the answer is showed
  • dataarchives
  • attachments
    No description
  • mod_vacances
    Ce module Joomla affiche les congés français. Basé sur des OpenDatas du minitère de l'éducation nationale
  • noteit
    Ce plugin permet l'ajout de Post it (format graphique) dans un article
  • nbonlineusers
    No description
  • removehtmlcomment
    Delete all html comment in a joomla article
  • rechercheget
    Recherche en GET dans Joomla Content