Unicode

Tout ce qui concerne le langage TeX/LaTeX et ses variantes. Ce langage est utilisable sur le forum via les balises tex.
[participation réservée aux membres inscrits]
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 : 448
Inscription : jeudi 14 octobre 2010, 09:20
Statut actuel : Enseignant
Localisation : Clermont-Ferrand

[Résolu] Unicode

Message non lu par zariski63 »

Bonsoir !
Une question bête svp (une de plus :D ) : pourquoi je ne peux pas écrire directement les opérateurs \partial et \nabla lorsque je code en UTF8 et que je compile avec LuaLaTeX ?
Mon ecm donne 3 versions : au clavier; code hexa, code ascii.

Code : Tout sélectionner

\documentclass[12pt]{article}
\usepackage[bold-style=ISO,
            %math-style=french
             ]{fourier-otf}
\usepackage{array}
             
\begin{document}

\begin{tabular}{p{2cm}p{3cm}p{1.2cm}p{1cm}p{1cm}}
opérateur  &  commande latex  & clavier &      hexa   &  ascii \\
\hline
$\partial$ & \verb"\partial"  &    ∂    &  \char"2202 & \char8706  \\

$\nabla$   & \verb"\nabla"    &    ∇       &  \char"2207  & \char8711 \\
\hline
\end{tabular}

\end{document}
un bon petit
Utilisateur éprouvé
Utilisateur éprouvé
Messages : 905
Inscription : vendredi 12 juin 2009, 22:35
Localisation : Chambéry

Re: Unicode

Message non lu par un bon petit »

zariski63 a écrit : mardi 22 juin 2021, 19:48 pourquoi je ne peux pas écrire directement les opérateurs \partial et \nabla lorsque je code en UTF8 et que je compile avec LuaLaTeX ?
Même réponse que la dernière fois : vous pouvez, sous réserve que la fonte utilisée dispose des glyphes concernés. Ce qui n'est pas le cas avec fourier-otf.

En revanche, avec libertine, cela fonctionne sans aucun problème :

Code : Tout sélectionner

\documentclass{article}
\usepackage{libertine}
\begin{document}
∂

∇
\end{document}
zariski63
Utilisateur éprouvé
Utilisateur éprouvé
Messages : 448
Inscription : jeudi 14 octobre 2010, 09:20
Statut actuel : Enseignant
Localisation : Clermont-Ferrand

Re: Unicode

Message non lu par zariski63 »

Ah ben oui effectivement !
Je vous remercie, heureusement que des lents à la compreniote comme moi peuvent compter sur votre aide précieuse.
Bonne soirée.
zariski63
Utilisateur éprouvé
Utilisateur éprouvé
Messages : 448
Inscription : jeudi 14 octobre 2010, 09:20
Statut actuel : Enseignant
Localisation : Clermont-Ferrand

Re: Unicode

Message non lu par zariski63 »

Bonjour, je reviens vers vous car j'ai trouvé un truc sur stackexchange qui est plus que nébuleux pour moi.
Je joins un ecm.

Le problème : pourquoi le 1/2 ne s'affiche pas à l'intérieur du listing après compilation alors que j'ai bien mis ^^^^00bd en préambule ?
Evidemment je compile par LuaLateX. Au passage ayant jeté un oeil sur les tables correspondantes des polices utilisées, le 1/2 y est bien codé pour les 3.

Code : Tout sélectionner

\documentclass{article}
\usepackage{unicode-math}
\usepackage{listings}

\setmainfont{STIX Two Text}
\setmonofont{Fira Mono}
\setmathfont{STIX Two Math}

\makeatletter % see https://tex.stackexchange.com/a/320345
\lst@InputCatcodes
\def\lst@DefEC{%
 \lst@CCECUse \lst@ProcessLetter
  ^^80^^81^^82^^83^^84^^85^^86^^87^^88^^89^^8a^^8b^^8c^^8d^^8e^^8f%
  ^^90^^91^^92^^93^^94^^95^^96^^97^^98^^99^^9a^^9b^^9c^^9d^^9e^^9f%
  ^^a0^^a1^^a2^^a3^^a4^^a5^^a6^^a7^^a8^^a9^^aa^^ab^^ac^^ad^^ae^^af%
  ^^b0^^b1^^b2^^b3^^b4^^b5^^b6^^b7^^b8^^b9^^ba^^bb^^bc^^bd^^be^^bf%
  ^^c0^^c1^^c2^^c3^^c4^^c5^^c6^^c7^^c8^^c9^^ca^^cb^^cc^^cd^^ce^^cf%
  ^^d0^^d1^^d2^^d3^^d4^^d5^^d6^^d7^^d8^^d9^^da^^db^^dc^^dd^^de^^df%
  ^^e0^^e1^^e2^^e3^^e4^^e5^^e6^^e7^^e8^^e9^^ea^^eb^^ec^^ed^^ee^^ef%
  ^^f0^^f1^^f2^^f3^^f4^^f5^^f6^^f7^^f8^^f9^^fa^^fb^^fc^^fd^^fe^^ff%
  ^^^^00bd%½
  ^^^^20ac%
  ^^^^0153%
  ^^^^0152%
  ^^^^03b1% alpha
  ^^^^03b2% beta
  ^^^^03b4% delta
  ^^^^03bb% lambda
  ^^^^03b8% theta
  ^^00}
\lst@RestoreCatcodes
\makeatother

\lstset{basicstyle=\ttfamily}


\begin{document}
this is λ lambda   \[\int_0^\infty λ\lambda\]

\begin{lstlisting}
# some random pseudocode using unicode
def function(λ):
    αδ = βθ  et  ½

def function(λ):
    pass
\end{lstlisting}

\end{document}
un bon petit
Utilisateur éprouvé
Utilisateur éprouvé
Messages : 905
Inscription : vendredi 12 juin 2009, 22:35
Localisation : Chambéry

Re: Unicode

Message non lu par un bon petit »

zariski63 a écrit : vendredi 25 juin 2021, 08:53alors que j'ai bien mis ^^^^00bd en préambule ?
Je n'ai aucune idée de ce que signifie le code recopié en prémambule, et j'ai la flemme de chercher et plus encore de lire le post original sur stackexchange.
Je me borne à observer qu'en enlevant cette ligne, le 1/2 est affiché.
zariski63
Utilisateur éprouvé
Utilisateur éprouvé
Messages : 448
Inscription : jeudi 14 octobre 2010, 09:20
Statut actuel : Enseignant
Localisation : Clermont-Ferrand

Re: Unicode

Message non lu par zariski63 »

Effectivement sans cette ligne on a l'affichage du 1/2.
Pour ce code ésotérique je pense que cela vient du fait que listings a du mal à gérer l unicode...
zariski63
Utilisateur éprouvé
Utilisateur éprouvé
Messages : 448
Inscription : jeudi 14 octobre 2010, 09:20
Statut actuel : Enseignant
Localisation : Clermont-Ferrand

Re: Unicode

Message non lu par zariski63 »

Après moult recherche je vous fais part d'un petit truc :

Ne pas mettre \RequirePackage[utf8]{luainputenc} si vous utilisez LuaLaTeX, cela vient mettre le bazar ...

L'avantage de chercher le hic c'est qu'on apprend des trucs que l'on ne soupçonnait pas. :lol:

Je remercie encore UBP.
Bonne soirée.
un bon petit
Utilisateur éprouvé
Utilisateur éprouvé
Messages : 905
Inscription : vendredi 12 juin 2009, 22:35
Localisation : Chambéry

Re: Unicode

Message non lu par un bon petit »

zariski63 a écrit : vendredi 25 juin 2021, 12:53 Pour ce code ésotérique je pense que cela vient du fait que listings a du mal à gérer l unicode...
Que listings ait « du mal à gérer » l'UTF8 avec un moteur 8 bits (comme pdflatex), c'est tout à fait normal. Je persiste à dire que le codage UTF8 avec un moteur 8 bits est à proscrire contre-productif lorsqu'on programme puisque la granularité des tokens ne permet de les appréhender comme caractères unicode ce qui met une pagaille pas possible lorsqu'il faut lire des caractères non ASCII (codés sur plusieurs octets).

En revanche, que listings ait « du mal » à gérer l'UTF8 avec un moteur UTF8 me parait beaucoup moins normal. Je ne suis même pas sûr qu'il ait du mal...
zariski63
Utilisateur éprouvé
Utilisateur éprouvé
Messages : 448
Inscription : jeudi 14 octobre 2010, 09:20
Statut actuel : Enseignant
Localisation : Clermont-Ferrand

Re: Unicode

Message non lu par zariski63 »

En fait depuis que j'ai viré le package cité précédemment tout va mieux.
Je ne pouvais pas comprendre certaines choses concernant les tables de caractères puisque cela interférait.
Cependant le fameux code ésotérique rend bien service pour afficher correctement des caractères spéciaux dans un listing.
Malheureusement il y a peu d'explications permettant de le comprendre...