Pierre
unread,Oct 21, 2021, 12:22:08 PM10/21/21Sign in to reply to author
Sign in to forward
You do not have permission to delete messages in this group
Sign in to report message as abuse
Either email addresses are anonymous for this group or you need the view member email addresses permission to view the original message
to
Bonjour à toutes et tous,
Je vous fais part sous forme d'un projet d'une demande d'aide pour créer une commande qui facilite l'écriture des comptes rendus.
Désolé pour la longueur et dite moi si je dois poster ailleurs.
Une commande pour citer des personnes
Finalité
Dans un compte-rendu, un bilan, un projet, nommer des personnes avec leur prénom, leur nom, leur rôle et autre chose.
En fonction des participants, les désigner par un plusieurs éléments. Par exemple, écrire le prénom, le nom et rôle des dirigeants mais seulement le prénom et le département des adhérents.
Améliorer la lisibilité en simplifiant les appellations quand la personne intervient plusieurs fois successivement.
Au besoin, rendre les participants anonymes.
Objectif
Comprendre les limites du procédé utilisé
Utilisation du package ifthen
Créer une commande \blaze.
\newcommand*\blaze[4][]{%
\ifthenelse{\equal{#2}{00}}
{#4 #3 {(#1)}}{#4 (#2)}}
La commande \blaze contient quatre arguments dont un facultatif.
\blaze[rôle]{donnée alternative}{Nom}{Prénom}
Par exemple : \blaze[Président]{00}{Dupond}{Toto} ou bien \blaze{75}{Dupond}{Toto}. Suivant le contenu de la donnée alternative, \blaze affiche soit le nom, prénom et inscrit le rôle entre parenthèses. Ou le prénom puis la donnée alternative entre parenthèse.
Pour séparer le fond et la forme, une deuxième série de commandes est crée pour chaque participant
newcommand{\prN}{\blaze[rôle]{donnée alternative}{Nom}{Prénom}}
Voici un ECM pour XeLaTeX
\documentclass{article}
\usepackage{fontspec}
\usepackage{xunicode}
\usepackage{ifthen}
\newcommand*\blaze[4][]{%
\ifthenelse{\equal{#2}{00}}
{#4 #3 {(#1)}}{#4 (#2)}}
\newcommand{\toto}{\blaze[Le grand chef]{00}{Dugommier}{Toto}}
\newcommand{\momo}{\blaze{44}{Duchene}{Maurice}}
\begin{document}
\toto{} a décidé de nommer \momo{} trésorier.
\end{document}
Quelles sont les limites de cette solution :
1. Le rôle des participants est réécrit de manière redondante.
2. La commande \blaze s’adapte difficilement suivant les contextes : remplacer le prénom par le genre, patronymes étrangers composés de plusieurs éléments (prénom et nom d’usages ou officiels), pertinence de la donnée alternative, données manquantes.
3. L’alternative est binaire.
Améliorations souhaitées
1. Disposer d’une variante pour les participants avec un rôle qui laisse le choix sur l’écriture de celui-ci.
- Une variante étoilée écrit le rôle sinon la commande ne donne que certains paramètres.
2. Utiliser la commande \blaze dans le texte avec un argument obligatoire et des paramètres en nombre variable.
- Le nom des participants est écrit dans le préambule sous la forme clé=valeur :
\setblaze{%
toto[firstname=Dugommier,lastname=Toto,role="le grand chef",departement=Paris]
momo[firstname=Duchene,lastname=Duchene,departement=44]
}
- Dans le texte l’insertion de Toto Dugommier (le grand chef) se fait avec \blaze{toto}[f,l,r].
- Pour évoquer l’intervention de Maurice du 44, il faut écrire \blaze{momo}[l,d].
Last updated 2021-10-21 17:55:21 +0200