[Lualatex] \mathchardef

Tout ce qui concerne le langage LaTeX et ses variantes. Ce langage est supporté par le forum via les balises tex.

Modérateur : gdm_tex

Règles du forum
Merci de soigner la rédaction de vos messages et de consulter ce sujet avant de poster. Pensez également à utiliser la fonction recherche du forum.
zariski63
Utilisateur éprouvé
Utilisateur éprouvé
Messages : 413
Inscription : jeudi 14 octobre 2010, 09:20

[Lualatex] \mathchardef

Message par zariski63 »

Bonsoir,

j'ai un soucis. Je n'obtiens pas ce que je voudrais avec \mathchardef (cf fichier) via une compilation "lualatex", ni même via une compilation "pdflatex".
essais2.pdf
Une idée svp ? Je vous en serais très reconnaissant.

Code : Tout sélectionner

\documentclass[12pt]{article}
%\usepackage[utf8]{inputenc}
%\usepackage[T1]{fontenc}

\usepackage[bold-style=ISO,
            %math-style=french
             ]{fourier-otf}
             
\begin{document}

\mathchardef\foo=8721 %"2211

Si \verb!\mathchardef\foo=8721!  \; où 8721 vaut 2211 en base 16

alors :

En mode math  \verb"($\foo$)" donne :  ($\foo$) alors que j'attends ($\Sigma$).

\end{document}
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
un bon petit
Utilisateur éprouvé
Utilisateur éprouvé
Messages : 852
Inscription : vendredi 12 juin 2009, 22:35
Localisation : Chambéry

Re: [Lualatex] \mathchardef

Message par un bon petit »

Écrire $\char\foo$ et non pas $\foo$.

Ou mieux pour définir \foo :

Code : Tout sélectionner

\let\foo=Σ 
et par la suite $\foo$.
zariski63
Utilisateur éprouvé
Utilisateur éprouvé
Messages : 413
Inscription : jeudi 14 octobre 2010, 09:20

Re: [Lualatex] \mathchardef

Message par zariski63 »

D'accord !
En fait c'est un exemple tiré du livre "apprendre à programmer en Tex" ...
un bon petit
Utilisateur éprouvé
Utilisateur éprouvé
Messages : 852
Inscription : vendredi 12 juin 2009, 22:35
Localisation : Chambéry

Re: [Lualatex] \mathchardef

Message par un bon petit »

zariski63 a écrit : mardi 09 février 2021, 12:45 En fait c est un exemple tiré du livre "apprendre à programmer en Tex" ...
Exemple qui compile parfaitement avec pdflatex (à l'exception du glyphe | qui est mal rendu à cause du codage de fonte part défaut), xelatex ou lualatex :

Code : Tout sélectionner

\documentclass{article}
\begin{document}
\mathchardef\foo4944
a) |$\foo$|\qquad
b) |\number\foo|
\end{document}
Le rendu avec lualatex est le suivant :
Screenshot_20210209_172026.png
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
zariski63
Utilisateur éprouvé
Utilisateur éprouvé
Messages : 413
Inscription : jeudi 14 octobre 2010, 09:20

Re: [Lualatex] \mathchardef

Message par zariski63 »

En effet sous pdflatex ça marche.
un bon petit
Utilisateur éprouvé
Utilisateur éprouvé
Messages : 852
Inscription : vendredi 12 juin 2009, 22:35
Localisation : Chambéry

Re: [Lualatex] \mathchardef

Message par un bon petit »

zariski63 a écrit : mardi 09 février 2021, 21:18 En effet sous pdflatex ça marche.
Sous luaLaTeX et XeLaTeX, ça fonctionne aussi !
zariski63
Utilisateur éprouvé
Utilisateur éprouvé
Messages : 413
Inscription : jeudi 14 octobre 2010, 09:20

Re: [Lualatex] \mathchardef

Message par zariski63 »

Pas chez moi, à la place du symbole "somme' j'ai la lettre majuscule "P" (sous LuaLatex) ...
un bon petit
Utilisateur éprouvé
Utilisateur éprouvé
Messages : 852
Inscription : vendredi 12 juin 2009, 22:35
Localisation : Chambéry

Re: [Lualatex] \mathchardef

Message par un bon petit »

zariski63 a écrit : jeudi 11 février 2021, 09:27 Pas chez moi, à la place du symbole "somme' j'ai la lettre majuscule "P" (sous LuaLatex) ...
Bien, on va arrêter le jeu du « ça marche pas », car vous ne donnez aucune indication qui permette de comprendre ce qui dysfonctionne chez vous.

Il est plus intéressant de connaître le « pourquoi » de votre manœuvre. Si vous voulez rendre une séquence de contrôle \let égale à \sum ou à \Sigma (pour quelle raison d'ailleurs ?), et bien, vous faites \let\foo=\sum ou \let\foo=\Sigma et voilà ! Si vous cherchez autre chose, il faudrait expliquer...

Cet ECM compile parfaitement sous luaLaTeX avec une TeXlive à jour :

Code : Tout sélectionner

\documentclass{article}
\begin{document}
\let\foo=\Sigma
Essai 1 : $\foo$

\let\foo=Σ
Essai 2 : \foo

\mathchardef\foo4944
Essai 3 : $\foo$

\let\foo=\sum
Essai 4 : $\foo$
\end{document}
Le rendu est le suivant :
Screenshot_20210211_105322.png
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
zariski63
Utilisateur éprouvé
Utilisateur éprouvé
Messages : 413
Inscription : jeudi 14 octobre 2010, 09:20

Re: [Lualatex] \mathchardef

Message par zariski63 »

En fait je travaille le bouquin cité plus haut et donc je teste les exemples mais comme j'utilise "lualatex" j'ai constaté que l'essai 3 ne fonctionne pas. Aussi étant curieux je voulais savoir pourquoi ce disfonctionnement chez moi.
un bon petit
Utilisateur éprouvé
Utilisateur éprouvé
Messages : 852
Inscription : vendredi 12 juin 2009, 22:35
Localisation : Chambéry

Re: [Lualatex] \mathchardef

Message par un bon petit »

zariski63 a écrit : jeudi 11 février 2021, 11:32 En fait je travaille le bouquin cité plus haut et donc je teste les exemples mais comme j'utilise "lualatex" j'ai constaté que l'essai 3 ne fonctionne pas.
Ne fonctionne pas chez vous.

Ceci dit, luatex et xetex étant des moteurs UTF8, il y a quand même des différences importantes par rapports aux moteurs 8bits (pdftex, par exemple).

Avec un moteur UTF8, on peut définir des macros dont le nom contient des lettres accentuées. On peut également définir des \chardef supérieurs à 255. Cet ECM ne compile qu'avec XeLaTeX et luaLaTeX et échoue en pfdLaTeX :

Code : Tout sélectionner

\documentclass{article}
\begin{document}
\chardef\foo=8364
\foo

\def\Été{Le contraire de l'hiver}
\meaning\Été
\end{document}
Le comportement même de TeX vis à vis des tokens change puisque la notion de token pour un moteur UTF8 diffère de celle des moteurs 8 bits. Cet CEM compile avec tous les moteurs, mais ne donne le résultat attendu qu'avec les moteurs UTF8.

Code : Tout sélectionner

\documentclass{article}
\def\firsttok#1{\firsttoki#1\firsttoki}
\def\firsttoki#1#2\firsttoki{%
	token = \fbox{\string#1},
	n° caractère = \expandafter\number\expandafter`\string#1\relax}
\begin{document}
\firsttok{été}

\firsttok{€}
\end{document}
zariski63
Utilisateur éprouvé
Utilisateur éprouvé
Messages : 413
Inscription : jeudi 14 octobre 2010, 09:20

Re: [Lualatex] \mathchardef

Message par zariski63 »

Bonjour !
Ayant trouvé du temps pour me pencher sur ce problème, effectivement j'avais oublié que j'utilisais : \usepackage{fourier-otf}

et donc avec cet ecm je n'obtiens pas le signe somme mais la lettre P :

Code : Tout sélectionner

\documentclass[12pt]{article}
\usepackage{fourier-otf}

\begin{document}
\mathchardef\foo4944
a. |$\foo$|        

b. |\number\foo| 
\end{document}