Voici un ECM qui reproduit l'erreur :

Ouvrir dans l'éditeur Overleaf
\documentclass[11pt, a4paper]{article}

% Encodage 
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}

% Règles typographiques françaises
\usepackage[french]{babel}

\usepackage{listings}
\usepackage{xcolor}

\begin{document}

\lstset{language=R,
  basicstyle=\small,
  keywordstyle=\color{blue},
  numbers=left,
  numberstyle=\tiny,
  numbersep=5pt,
  frame=single  
}%

\end{document}

Si je remplace R par C, plus de problème Si je commente la ligne usepackage{babel}, plus de problème

L'erreur est la suivante :

Ouvrir dans l'éditeur Overleaf
ERROR: Improper alphabetic constant.

--- TeX said --- 
<to be read again> 
                       \active@prefix 
l.22 }
      %
--- HELP ---
From the .log file...

A one-character control sequence belongs after a ` mark.
So I'm essentially inserting \0 here.

Quel est le problème ? Que faire ?

Posée 10 Jul, 15:01

Bruno's gravatar image

Bruno
1407
Taux d'acceptation : 50%

Modifiée 10 Jul, 15:01

1

Le problème vient plus précisément du module babel-french car, avec l'option english par exemple à la place de french, le problème ne se pose pas. Je vous suggère donc de faire un rapport de bogue à Daniel Flipo, l'auteur de babel-french. En attendant, si la configuration est globale pour le document, il suffit de la déplacer en (fin de) préambule.

(10 Jul, 20:44) denis ♦♦ denis's gravatar image

Effectivement, il suffit de déplacer à la fin du préambule. Du coup s'agit-il vraiment d'un bogue ?

(10 Jul, 21:48) Bruno Bruno's gravatar image
1

Oui car (1) ça ne pose pas de problème avec une autre langue que le français (2) un utilisateur pourrait avoir besoin, au sein d'un même document, d'alterner entre différents langages.

(10 Jul, 21:55) denis ♦♦ denis's gravatar image
1

Bogue rapporté.

(10 Jul, 22:12) denis ♦♦ denis's gravatar image

Réponse fournie par Daniel Flipo : il s'agit d'un problème d'activation du caractère ! avec babel-french et il suffit de recourir à \NoAutoSpacing pour le régler. Ci-dessous, un moyen de faire cela sans avoir à répéter cette commande.

Ouvrir dans l'éditeur Overleaf
\documentclass[french]{article}
%
\usepackage[T1]{fontenc}
\usepackage{babel}
\usepackage{listings}
%
\lstnewenvironment{rlisting}
{%
  \NoAutoSpacing
  \lstset{%
    language=R,
    basicstyle=\small,
    keywordstyle=\color{blue},
    numbers=left,
    numberstyle=\tiny,
    numbersep=5pt,
    frame=single%
  }%
}{}
%
\begin{document}
%
\begin{rlisting}
foo
\end{rlisting}
%
\end{document}
Lien permanent

Publiée 11 Jul, 01:04

denis's gravatar image

denis ♦♦
4.0k39
Taux d'acceptation : 62%

Votre réponse
(dés)activer l'aperçu

Suivre cette question

Par courriel :

Une fois que vous serez enregistré, vous pourrez souscrire à n'importe quelle mise à jour ici

Par flux RSS :

Réponses

Réponses et commentaires

Bases de Markdown

  • *italique* ou _italique_
  • **gras** ou __gras__
  • Lien ::[texte](http://url.com/ "Titre ")
  • Image : ?![alt texte](/path/img.jpg "Titre ")
  • Liste numérotée : 1. Foo 2. Bar
  • Pour ajouter un passage à la ligne, ajoutez deux espaces à l'endroit où vous souhaitez que la ligne commence.
  • Les balises HTML de base sont également prises en charge.

Mots-clés de la question :

×14
×2
×1

Question posée : 10 Jul, 15:01

Question vue : 211 fois

Dernière mise à jour : 11 Jul, 01:04