Pour colorier des lettres de mots, j'utilise des expressions régulières.

Par exemple, la commande \orthoFirstLetter colore en rouge la première lettre d'un mot :

\ExplSyntaxOn%
\regex_new:N \l_firstLetter_regex%
\regex_set:Nn \l_firstLetter_regex {([A-Za-zÉÀÈÙÂÊÎÛËÏÜÇéàèùâêîûëïüç]{1})(\-?[A-Za-zÉÀÈÙÂÊÎÛËÏÜÇéàèùâêîûëïüç]*)}%
\NewDocumentCommand{\orthoFirstLetter}{ m }{%
\tl_set:Nn \l_tmpa_tl { #2 }%
\regex_replace_all:NnN%
{ \l_firstLetter_regex }%
{ \c{textcolor}\cB\{red\cE\}\cB\{ \1 \cE\} \2 }%
\l_tmpa_tl%
\tl_use:N \l_tmpa_tl%
}%
\ExplSyntaxOff%
\orthoFirstLetter{mot}
הההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההה
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Aussi, comme plusieurs motifs (première lettre, double lettre...) sont transformés par une même expression régulière, je me demandais s'il était possible de la passer en paramètre. J'obtiendrais ainsi quelque chose comme :

\NewDocumentCommand{\orthoFirstLetter}{ m m }%
\orthoFirstLetter{firstLetter}{mot}
\orthoFirstLetter{lastLetter}{mot}
הההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההה
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Posée 14 Mar, 08:54

polymorphisme's gravatar image

polymorphisme
602925
Taux d'acceptation : 53%

Modifiée 14 Mar, 14:41

Pathe's gravatar image

Pathe ♦♦
7.6k49210252

1

Comme ça?

\ExplSyntaxOn \regex_new:N \l_Letters_regex \NewDocumentCommand{\orthoSpecialLetter}{ m m }{ \tl_set:Nn \l_tmpa_tl { #1 } \regex_replace_all:NnN% \l_Letters_regex { #2 }% \l_tmpa_tl% \tl_use:N \l_tmpa_tl% } \NewDocumentCommand{\orthoFirstLetter} { m } { \regex_set:Nn \l_Letters_regex {([A-Za-zÉÈÙÂÊÎÛËÏÜÇéàèùâêîûëïüç]{1})(\-?[A-Za-zÉÀÈÙÂÊÎÛËÏÜÇéàèùâêîûëïüç]*)} \orthoSpecialLetter {#1} {\c{textcolor}\cB\{red\cE\}\cB\{ \1 \cE\} \2} } \NewDocumentCommand{\orthoLastLetter} { m } { \regex_set:Nn \l_Letters_regex { ... } \orthoSpecialLetter {#1} { ... } \ExplSyntaxOff

(15 Mar, 12:08) touhami touhami's gravatar image

Oui, impécable, merci.

Lien permanent

Publiée 26 Mar, 18:14

polymorphisme's gravatar image

polymorphisme
602925
Taux d'acceptation : 53%

Votre réponse
[Masquer l'aperçu]

Suivre cette question

Par courriel :

Une fois que vous serez enregistré, vous pourrez souscrire à n'importe quelle mise à jour ici

Par flux RSS :

Réponses

Réponses et commentaires

Mots-clés de la question :

×7
×2

Question posée : 14 Mar, 08:54

Question vue : 273 fois

Dernière mise à jour : 26 Mar, 18:14

C'est votre première visite ici ? Consultez la FAQ !

×