Bonjour liste,
J’ai un soucis avec le programme joint où je veux passer un paramètre dans une option de fontspec via une macro, qui elle même appelle d’autres commandes Luatex (mais pas sûr que ce soit lié).
Bref, l’exemple minimum joint m’envoie une erreur
Use of ??? doesn’t match its definition.
???
! LaTeX Error: Misplaced ‘=’ in key-value input on line 17
l.17 …F-Roman.ttf}[Weight=\Max{“cmr12”}{“wxyz”}]
lll
Si je supprime la dernière ligne, ça compile.
Je pense que c’est le passage des paramètres (bien qu’inutilisés) à \Max qui ne va pas, qu’il faut sans doute ajouter des \expand-qqchose, mais je nage…
Merci à qui pourra m’aider…
Jacques André
Compilé avec: This is LuaHBTeX, Version 1.21.0 (TeX Live 2025)
\documentclass{article}
\usepackage{fontspec}
\begin{document}
\font\MaFonte=cmr12\relax
\edef\Muc{300.0}
\edef\Min#1#2{400.0}
\edef\Max#1#2{\font\MaFonte=cmr12\relax500.0}
Muc=\Muc
Min(“a”,“b”)=\Min{“a”}{“b”}
Max(“a”,“b”)=\Max{“a”}{“b”}
\fontspec{JunicodeVF-Roman.ttf}[Weight={450}]kkk
\fontspec{JunicodeVF-Roman.ttf}[Weight=\Min{“cmr12”}{“wxyz”}]lll
\fontspec{JunicodeVF-Roman.ttf}[Weight=\Max{“cmr12”}{“wxyz”}]lll
\end{document}
Bonjour
Le message dit qu’il y a un signe = mal placé.
En effet, la ligne
\fontspec{JunicodeVF-Roman.ttf}[Weight=\Max{“cmr12”}{“wxyz”}]lll
devient, d’après la définition de \Max :
\fontspec{JunicodeVF-Roman.ttf}[Weight=\font\MaFonte=cmr12\relax500.0]lll
et il y a deux signes = qui se télescopent
François
Le 14/06/2025 à 15:19, Jacques André a écrit :
Bonjour liste,
J’ai un soucis avec le programme joint où je veux passer un paramètre dans une option de fontspec via une macro, qui elle même appelle d’autres commandes Luatex (mais pas sûr que ce soit lié).
Bref, l’exemple minimum joint m’envoie une erreur
Use of ??? doesn’t match its definition.
???
! LaTeX Error: Misplaced ‘=’ in key-value input on line 17
l.17 …F-Roman.ttf}[Weight=\Max{“cmr12”}{“wxyz”}]
lll
Si je supprime la dernière ligne, ça compile.
Je pense que c’est le passage des paramètres (bien qu’inutilisés) à \Max qui ne va pas, qu’il faut sans doute ajouter des \expand-qqchose, mais je nage…
Merci à qui pourra m’aider…
Jacques André
Compilé avec: This is LuaHBTeX, Version 1.21.0 (TeX Live 2025)
\documentclass{article}
\usepackage{fontspec}
\begin{document}
\font\MaFonte=cmr12\relax
\edef\Muc{300.0}
\edef\Min#1#2{400.0}
\edef\Max#1#2{\font\MaFonte=cmr12\relax500.0}
Muc=\Muc
Min(“a”,“b”)=\Min{“a”}{“b”}
Max(“a”,“b”)=\Max{“a”}{“b”}
\fontspec{JunicodeVF-Roman.ttf}[Weight={450}]kkk
\fontspec{JunicodeVF-Roman.ttf}[Weight=\Min{“cmr12”}{“wxyz”}]lll
\fontspec{JunicodeVF-Roman.ttf}[Weight=\Max{“cmr12”}{“wxyz”}]lll
\end{document}
Le 14 juin 2025 à 16:01, Pétiard François xyz@xyz.tld a écrit :
Bonjour
Le message dit qu’il y a un signe = mal placé.
En effet, la ligne
\fontspec{JunicodeVF-Roman.ttf}[Weight=\Max{“cmr12”}{“wxyz”}]lll
devient, d’après la définition de \Max :
\fontspec{JunicodeVF-Roman.ttf}[Weight=\font\MaFonte=cmr12\relax500.0]lll
et il y a deux signes = qui se télescopent
Merci pour l’explication.
Mais… comment faire pour « calculer » ma macro pour que TeX voit Weight=500 ???
Merci…
J.A.
Re-bonjour,
Je me répond à moi-même, au cas où ça intéresse quelqu’un, et surtout au cas où un autre confirme (ou infirme) ma solution…
Le 14 juin 2025 à 16:27, Jacques André xyz@xyz.tld a écrit :
Le 14 juin 2025 à 16:01, Pétiard François xyz@xyz.tld a écrit :
Bonjour
Le message dit qu’il y a un signe = mal placé.
En effet, la ligne
\fontspec{JunicodeVF-Roman.ttf}[Weight=\Max{“cmr12”}{“wxyz”}]lll
devient, d’après la définition de \Max :
\fontspec{JunicodeVF-Roman.ttf}[Weight=\font\MaFonte=cmr12\relax500.0]lll
et il y a deux signes = qui se télescopent
Merci pour l’explication.
Mais… comment faire pour « calculer » ma macro pour que TeX voit Weight=500 ???
Merci…
J.A.
À force de tâtonner, il me semble que les deux expressions
\font\MaFonte=cmr12\relax
et
\font\MaFonte{cmr12}
sont identiques.
En tout cas ça résout mon problème, du moins localement.
J.A.
Bonsoir,
À force de tâtonner, il me semble que les deux expressions
\font\MaFonte=cmr12\relax
et
\font\MaFonte{cmr12}
sont identiques.
En tout cas ça résout mon problème, du moins localement.
C’est exact, et c’est une règle plus générale de TeX, comme on peut le lire par exemple dans TeX in a nutshell, p. 9 (probablement accessible sur votre machine avec “texdoc tex-nutshell”).
Bien à vous,
Bastien Dumont