Sujet : Re: commande mystère : textfrench
De : news3 (at) *nospam* nililand.de (Ulrike Fischer)
Groupes : fr.comp.text.texDate : 02. Jan 2025, 14:13:44
Autres entêtes
Message-ID : <1air1ggn3irpc.dlg@nililand.de>
References : 1 2 3
User-Agent : 40tude_Dialog/2.0.15.41de
Am Thu, 2 Jan 2025 10:49:31 +0100 schrieb François Patte:
Ma question porte surtout sur cette commande \textfrench dont je ne vois
la définition nulle part et qui est pourtant utilisée dans les packages
de la texlive (glossaries-french.dtx et glossaries-french.ldf), packages
dont je ne suis en aucun cas responsable!
Mais où donc est définie cette commande? Un grep -r textfrench
/opt/texlive/2024/* ne montre aucune définition (\def ou \newcommand) de
celle-ci. En revanche elle est utilisée :
\renewcommand*{\glossaryname}{\textfrench{Glossaire}} dans
glossaries-french.ldf
Ca aide si tu regardes pas seulement une ligne de code mais aussi
dans l'environ:
\@ifpackageloaded{polyglossia}%<-----------------
{%
\newcommand*{\glossariescaptionsfrench}{%
\renewcommand*{\glossaryname}{\textfrench{Glossaire}}%
...
}%
}
Ca pourra te donner l'idée que polyglossia est important. Et un
simple example confirme ca:
\documentclass{article}
\usepackage{polyglossia}
\setmainlanguage{french}
\begin{document}
\textfrench{blub}
\end{document}
La définition dans polyglossia est celle-ci:
\cs_new:Nn \xpg_define_language_commands:n {
\str_if_eq:eeT {\prop_item:Ne \__xpg_alias {#1/target}} {#1}
{
\exp_args:Ne
\NewDocumentEnvironment
{\prop_item:Nn{\l_xpg_langsetup_prop}{#1/envname}} { O{} }
{
\otherlanguage [ ##1 ] { #1 }
}
{
\endotherlanguage
}
\exp_args:Nc \NewDocumentCommand {text#1} { O{} m }%<----------
{
\__xpg_textlanguage:een{##1}{#1}{##2}
}
}
}
-- Ulrike Fischer http://www.troubleshooting-tex.de/