Bonjour, je cherche comment formater une sous-chaîne de caractères : command(string, substring, occurrence, colorname) --> formatted string Par exemple : \cmdFormat[coucou][cou][2][red] --> cou\textcolor{red}{cou} Je dois formater ainsi plusieurs mots d'un document. Un plus, serait de pouvoir formater plusieurs sous-chaînes de caractères d'un même mot. Posée 20 Nov '21, 13:18 polymorphisme |
Avec l'extension \documentclass{article} \usepackage{xcolor} \usepackage{xstring} \NewDocumentCommand{\cmdFormat}{mmO{1}O{red}}{% \IfSubStr[#3]{#1}{#2}{% test if string occures n times in the string \StrBefore[#3]{#1}{#2}% \textcolor{#4}{#2}% \StrBehind[#3]{#1}{#2}% }{% #1 }% } \begin{document} \cmdFormat{coucoucou}{cou}[2][red] \cmdFormat{coucoucou}{cou}[3][green] \cmdFormat{coucoucou}{cou}[4][cyan] \cmdFormat{coucoucou}{cou} \cmdFormat{fvghjwerjfh}{cou} \end{document} Publiée 20 Nov '21, 13:27 samcarter Samcarter : toujours une réponse pertinente, merci. Je vais regarder cette extension xstring plus en détails.
(20 Nov '21, 13:46)
polymorphisme
@polymorphisme De rien :)
(20 Nov '21, 14:04)
samcarter
|