Hook de pre-commit pour fichier .dtx, .sty et autres fichiers de package

samedi 21 février 2015, par Maïeul
Suivre la vie du site RSS 2.0 Forum

Dans un précédent article, je parlais de mon hook de pré-commit pour vérifier l’ajout de de % à la fin de chaque ligne dans un fichier .dtxy ou .sty.

J’ai amélioré ce hook pour lui ajouter d’autres fonctions de vérifications utiles lorsqu’on crée des packages LaTeX.

Principe

Les fichiers .dtx permettent de documenter un code LaTeX en même temps qu’on le saisit. Il nécessite cependant une syntaxe rigoureuse, et il m’arrive parfois de faire quelques erreurs.

Installation

Rien ne changer : télécharger le hook, l’installer dans le dossier .git/hook, le renommer pre-commit, et faire un chmod +x dessus.

Fonctionnalité

Fins de ligne

La fonction principale reste, bien sûr : impossibilité de commiter si un ligne non vide ne finit pas par un %, ou si ce % est précédé d’un ou plusieurs espaces.

Commande \cs{}

Impossible de commiter si l’argument d’une commande \cs commence par un \

Environnement macro et macrocode

  • Impossible de commiter si le début ou la fin de l’environnement n’est pas sur une ligne spécifique.
  • Vérification du nombre d’espaces entre le %<code> et le <code>\begin ou \end : 1 pour macro et 4 pour macrocode. Impossible de commiter dans le cas contraire.
  • Vérification des appareillement d’environnement. Attention, on ne vérifie pas les éventuelles suppressions de début/fin d’environnement. Impossible de vérifier dans le cas contraire.
  • Vérifier que le nom de la macro est bien mentionné après \begin{macro}.

P.-S.

Comme avant, le code est versionné sur Github.

Documents joints

Qui êtes-vous ?

Pour afficher votre trombine avec votre message, enregistrez-la d’abord sur gravatar.com (gratuit et indolore) et n’oubliez pas d’indiquer votre adresse e-mail ici.

Ajoutez votre commentaire ici

Ce champ accepte les raccourcis SPIP {{gras}} {italique} -*liste [texte->url] <quote> <code> et le code HTML <q> <del> <ins>. Pour créer des paragraphes, laissez simplement des lignes vides.

Acheter XeLaTeX appliqué aux sciences humaines

À propos

Titulaire d’un doctorat en théologie et d’un doctorat en histoire, sous la direction conjointe de Frédéric Amsler et d’Élisabeth_Malamut, je commence à partir du 1er août 2017 un travail d’édition critique des Actes de Barnabé.

Dans le cadre de la rédaction de mon mémoire de master puis de ma thèse de doctorat, j’ai été emmené à utiliser LaTeX, et j’ai donc décider de partager mes techniques. En effet, au cours de mes premiers apprentissages, j’ai découvert que les ressources indiquant les outils pour l’utilisation de LaTeX en sciences humaines étaient rares. Ceci m’a conduit à maintenir ou créer plusieurs packages LaTeX et à donner plusieurs formations.

J’ai reçu en 2018 le prix DANTE e.V pour mon travail autour de LaTeX, en particulier autour de reledmac et reledpar.

Par ailleurs, je suis membre actif de la communauté SPIP, au sein de laquelle j’administre le site Spip-Contrib. Je propose sur ce site quelques notes sur SPIP, en général à destination de webmestre.

Il m’arrive également de faire un petit peu de Python, de temps en temps.

Enfin, je tiens un blog de réflexions politiques et religieuses.

Maïeul