Incompatibilité entre le package SIunits et la commande \degres de babel en LaTeX

Latex… On aime ou on déteste. Les deux à la fois, c’est possible.

Si vous êtes français, il est très probable que vous utilisiez le package babel avec l’option francais (ou french, ou frenchb) pour respecter les règles de la typographie française. Cette option fournit les commandes \degres et \degre, respectivement pour les températures et les degrés d’alcool, et pour les angles :

\documentclass[11pt]{article}
\usepackage[utf8]{inputenc}
\usepackage[francais]{babel}

\begin{document}

Grâce à \texttt{babel} et son option \texttt{french}, je peux écrire qu'il fait 21~\degres C dehors et qu'un angle droit mesure 90\degre.

\end{document}

J’ai écrit un long document avec énormément d’appels à la commande \degres. Puis, j’ai voulu utiliser le package SIunits pour disposer du symbole Ω et ainsi écrire la valeur de résistances. Ô rage ! ô désespoir ! ô Latex ennemi ! Dès l’ajout de l’utilisation de package dans mon préambule, la compilation échouait :

! Undefined control sequence.
<argument> \textdegree
l.9 ...ench}, je peux écrire qu'il fait 21\degres

La réponse est une nouvelle fois venue des forums de Developpez.com : il faut ajouter le package textcomp. Il définit un caractère degrés que frenchb utilise s’il est disponible. On a donc le code suivant :

\documentclass[11pt]{article}

\usepackage[utf8]{inputenc}
\usepackage[frenchb]{babel}
\usepackage{SIunits}
\usepackage{textcomp}

\begin{document}
Grâce à \texttt{babel} et son option \texttt{french}, je peux écrire qu'il fait 21~\degres C dehors et qu'un angle droit mesure 90\degre.

En revanche, avec \texttt{SIunits}, je peux écrire qu'il fait \unit{12}{\celsius} dehors et qu'un angle droit mesure \unit{90}{\degree}. Enfin, ma résistance est de \unit{451}{\kilo\ohm}.

\end{document}

La sortie en PDF (cliquez pour un meilleur affichage…) :

Latex degres

Pour l’utilisation du package SIunits, vous pouvez consulter cette page des Wikibooks. Pour écrire un (simple) \, lisez cette entrée de la FAQ Latex. Pour plus d’informations sur le mode français de babel, rendez-vous sur le site du module.

 

Publicités

2 Réponses

  1. TODARG

    Au final, il fait 12 ou 21° ? parce que ça change la donne ! C’est bière ou chocolat chaud, c’est selon.

    J'aime

    25 septembre 2012 à 10:16

  2. Le temps que je comprenne tout ce bazar de Latex, et bien l’été (quoi que ce mot soit resté très conceptuel cette année) a avancé et la température a chuté….

    J'aime

    25 septembre 2012 à 2:38

Laisser un commentaire

Entrez vos coordonnées ci-dessous ou cliquez sur une icône pour vous connecter:

Logo WordPress.com

Vous commentez à l'aide de votre compte WordPress.com. Déconnexion / Changer )

Image Twitter

Vous commentez à l'aide de votre compte Twitter. Déconnexion / Changer )

Photo Facebook

Vous commentez à l'aide de votre compte Facebook. Déconnexion / Changer )

Photo Google+

Vous commentez à l'aide de votre compte Google+. Déconnexion / Changer )

Connexion à %s