[Résolu] encoding lstlistings

Tout ce qui concerne l'utilisation ou l'installation de LaTeX.

Modérateur: gdm_tex

Règles du forum
Merci d'éviter le style SMS dans vos messages et de penser à utiliser la fonction Recherche avant de poster un message. Pour joindre des fichiers à vos messages, consulter ce sujet.
> Penser à utiliser les balises Code pour poster du code.

[Résolu] encoding lstlistings

Messagepar marco56 » Dimanche 03 Février 2019, 13:20

Bonjour,
Depuis ma nouvelle installation, j'ai une erreur d'encodage.
J'insère par exemple des accents dans du code python sous cette forme par exemple :
Code: Tout sélectionner
\begin{python_cons}
>>> ma_chaine = "arrêté grâce à Loïc
>>> ma_chaine.replace("ê","e").replace("ï","i")
'arreté grâce à Loic'
\end{python_cons}

python_cons est un environnement perso défini dans un package perso :
Code: Tout sélectionner
\lstnewenvironment{python_cons}
   {\lstset{style=mypython}\setbox\lstb@x\hbox\bgroup\color@setgroup}
   {\color@endgroup\egroup\fcolorbox{black}{green!20}{\usebox{\lstb@x}}}

J'obtiens des erreurs du type :
Code: Tout sélectionner
 ! Package inputenc Error: Invalid UTF-8 byte sequence.

Apparemment, il y a une nouveauté cette année mais on dirait que c'est plus gênant qu'autre chose.
Je tiens à préciser que mes fichiers compilaient parfaitement jusqu'ici...
Dernière édition par marco56 le Mercredi 06 Février 2019, 23:03, édité 1 fois.
marco56
Giga-utilisateur
 
Messages: 759
Inscription: Jeudi 25 Novembre 2010, 22:10
Statut actuel: Actif et salarié | Enseignant

Publicité

Re: encoding lstlistings

Messagepar touhami » Dimanche 03 Février 2019, 20:04

Bonjour.

C'est fort probable que l'encodage (par défaut) de votre fichier n'est pas utf8 et que vous n'avez pas
Code: Tout sélectionner
\usepackage[ENCODAGE]{inputenc}
dans le préambule.
Essayer de changer l'encodage à utf8 sinon ajouter
Code: Tout sélectionner
\usepackage[ENCODAGE]{inputenc}
touhami
Méga-utilisateur
 
Messages: 430
Inscription: Dimanche 11 Février 2007, 11:45
Statut actuel: Post-bac

Re: encoding lstlistings

Messagepar marco56 » Dimanche 03 Février 2019, 21:58

Merci.
Aucune modif dans mon fichier, je suis en utf8 depuis de nombreuses années :
Code: Tout sélectionner
\usepackage{ucs}
\usepackage[utf8x]{inputenc}

J'ai tenté d'enlever ucs, de passer en utf8 tout court, sans succès.
Je vais essayer d'un autre PC demain (en texlive 2017)
marco56
Giga-utilisateur
 
Messages: 759
Inscription: Jeudi 25 Novembre 2010, 22:10
Statut actuel: Actif et salarié | Enseignant

Re: encoding lstlistings

Messagepar marco56 » Lundi 04 Février 2019, 12:00

J'ai fait une compilation un autre PC qui a échoué également.
Je me suis demandé si la modif d'un fichier avait déclenché tout cela.
J'ai viré ucs et j'ai remis en utf8, cela semble fonctionner : à confirmer...
marco56
Giga-utilisateur
 
Messages: 759
Inscription: Jeudi 25 Novembre 2010, 22:10
Statut actuel: Actif et salarié | Enseignant

Re: encoding lstlistings

Messagepar marco56 » Lundi 04 Février 2019, 20:41

Bon, ben là je sèche et cela va devenir pénible :
J'ai fait comme j'ai dit (enlevé ucs et remis utf8 et non utf8x : au final, je me demande si c'était un problème), tout fonctionne sur mon portable mais j'ai copié tout le répertoire sur mon fixe en TeXLive2018, et cela plante en raison de l'encodage. Une partie du log :
Code: Tout sélectionner
[]


! Package inputenc Error: Invalid UTF-8 byte sequence.

See the inputenc package documentation for explanation.
Type  H <return>  for immediate help.
 ...                                             
                                                 
l.46 >>> ma_chaine = "arrêté grâce
                                      à Loïc
The document does not appear to be in UTF-8 encoding.
Try adding \UseRawInputEncoding as the first line of the file
or specify an encoding such as \usepackage [latin1]{inputenc}
in the document preamble.
Alternatively, save the file in UTF-8 using your editor or another tool


! Package inputenc Error: Invalid UTF-8 byte 162.

See the inputenc package documentation for explanation.
Type  H <return>  for immediate help.
 ...                                             
                                                 
l.46 >>> ma_chaine = "arrêté grâce
                                      à Loïc
The document does not appear to be in UTF-8 encoding.
Try adding \UseRawInputEncoding as the first line of the file
or specify an encoding such as \usepackage [latin1]{inputenc}
in the document preamble.
Alternatively, save the file in UTF-8 using your editor or another tool


! Package inputenc Error: Invalid UTF-8 byte sequence.

See the inputenc package documentation for explanation.
Type  H <return>  for immediate help.
 ...                                             
                                                 
l.46 >>> ma_chaine = "arrêté grâce à Loïc
                                             
The document does not appear to be in UTF-8 encoding.
Try adding \UseRawInputEncoding as the first line of the file
or specify an encoding such as \usepackage [latin1]{inputenc}
in the document preamble.
Alternatively, save the file in UTF-8 using your editor or another tool


! Package inputenc Error: Invalid UTF-8 byte 175.

See the inputenc package documentation for explanation.
Type  H <return>  for immediate help.
 ...                                             
                                                 
l.46 >>> ma_chaine = "arrêté grâce à Loïc
                                             
The document does not appear to be in UTF-8 encoding.
Try adding \UseRawInputEncoding as the first line of the file
or specify an encoding such as \usepackage [latin1]{inputenc}
in the document preamble.
Alternatively, save the file in UTF-8 using your editor or another tool


! Package inputenc Error: Invalid UTF-8 byte sequence.

See the inputenc package documentation for explanation.
Type  H <return>  for immediate help.
 ...                                             
                                                 
l.47 >>> ma_chaine.replace("ê","e").replace("ï",
                                                  "i")
The document does not appear to be in UTF-8 encoding.
Try adding \UseRawInputEncoding as the first line of the file
or specify an encoding such as \usepackage [latin1]{inputenc}
in the document preamble.
Alternatively, save the file in UTF-8 using your editor or another tool


! Package inputenc Error: Invalid UTF-8 byte 175.

See the inputenc package documentation for explanation.
Type  H <return>  for immediate help.
 ...                                             
                                                 
l.47 >>> ma_chaine.replace("ê","e").replace("ï",
                                                  "i")
The document does not appear to be in UTF-8 encoding.
Try adding \UseRawInputEncoding as the first line of the file
or specify an encoding such as \usepackage [latin1]{inputenc}
in the document preamble.
Alternatively, save the file in UTF-8 using your editor or another tool


! Package inputenc Error: Invalid UTF-8 byte sequence.

See the inputenc package documentation for explanation.
Type  H <return>  for immediate help.
 ...                                             
                                                 
l.48 'arreté grâce
                     à Loic'
The document does not appear to be in UTF-8 encoding.
Try adding \UseRawInputEncoding as the first line of the file
or specify an encoding such as \usepackage [latin1]{inputenc}
in the document preamble.
Alternatively, save the file in UTF-8 using your editor or another tool


! Package inputenc Error: Invalid UTF-8 byte 162.

See the inputenc package documentation for explanation.
Type  H <return>  for immediate help.
 ...                                             
                                                 
l.48 'arreté grâce
                     à Loic'
The document does not appear to be in UTF-8 encoding.
Try adding \UseRawInputEncoding as the first line of the file
or specify an encoding such as \usepackage [latin1]{inputenc}
in the document preamble.
Alternatively, save the file in UTF-8 using your editor or another tool

Le passage mis en cause (mais il y en a plein d'autres) :
Code: Tout sélectionner
\begin{python_cons}
>>> ma_chaine = "arrêté grâce à Loïc
>>> ma_chaine.replace("ê","e").replace("ï","i")
'arreté grâce à Loic'
\end{python_cons}

C'est assez gênant et je me demande si c'est lié à TeXLive2018 ou bien à une mauvaise installation (texmf personnel non construit, ...)
marco56
Giga-utilisateur
 
Messages: 759
Inscription: Jeudi 25 Novembre 2010, 22:10
Statut actuel: Actif et salarié | Enseignant

Re: encoding lstlistings

Messagepar marco56 » Mercredi 06 Février 2019, 23:03

Au bout de 3 jours, j'ai fini par trouver : mon texmf personnel a été modifié et j'avais récupéré une ancienne version.
il me manquait des literate dans mes commandes de listings.
Ouf !
marco56
Giga-utilisateur
 
Messages: 759
Inscription: Jeudi 25 Novembre 2010, 22:10
Statut actuel: Actif et salarié | Enseignant


Retourner vers LaTeX

 


  • Articles en relation
    Réponses
    Vus
    Dernier message

Qui est en ligne

Utilisateurs parcourant ce forum: Bing [Bot], Exabot [Bot], Grapeshot [Crawler] et 12 invités