En 2019, Babel est-il le meilleur package pour écrire en français (et dans d'autres langues) ?

Pourrait-on faire le point sur ce qu'il faut charger et avec quelles options, quel serait l'en-tête « idéal » pour écrire en français ? Quel préambule (entre \documentclass et \begin{document}) ?

Et éventuellement passer en revue des alternatives intéressantes avec les avantages et les inconvénients ?

Posée 24 Jui, 05:11

idefix's gravatar image

idefix
617413
Taux d'acceptation : 10%

Modifiée 24 Jui, 06:58


Pour ma part, j'utilise babel avec french (toutes les autres dénominations de cette option sont obsolètes). Pour rappel, avec babel, dans un document multilingue, il faut, depuis un certain temps, donner la langue principal avec la clé main : par exemple \usepackage[english,main=french]{babel}.

Je passe french comme option de la classe (même si la classe ne sait pas gérer l'option cela ne crée aucun problème).

Depuis l'année dernière le codage par défaut du source LaTeX est de l'utf-8. Cependant cela ne nuit pas de le préciser quand même surtout si on est ammené à partager le source avec d'autres qui n'ont peut-être pas une distribution à jour (voir overleaf par exemple).

En résumé, pour ma part, un entête pour écrire un texte en français (sans mathématiques), avec pdflatex, serait :

Ouvrir dans l'éditeur Overleaf
\documentclass[french,a4paper]{article} % ou autre classe
 \usepackage[utf8]{inputenc}
 \usepackage[T1]{fontenc}
 \usepackage{lmodern} % ou toute autre fonte complète pour le français : kpfonts, fourier...
 \usepackage{xspace} % pour profiter du mécanisme
 \usepackage[np]{numprint} % si je dois écrire des nombres sans unités sinon 
 % \usepackage{siunitx} % si je dois écrire des grandeurs avec unités
 \usepackage[main=french]{babel}

Si je dois faire des tableaux, je charge array et plus si nécessaire.

Avec luaLaTeX, j'utilise

Ouvrir dans l'éditeur Overleaf
\documentclass[french,a4paper]{article} 
\usepackage{fontspec}
\usepackage{fourier} % 
\usepackage[english,main=french]{babel}
% etc.

Je ne peux pas parler des autres solutions (e-french ou polyglossia avec XeLaTeX) que je ne pratique pas.

Lien permanent

Publiée 24 Jui, 14:34

Le%20TeXnicien%20de%20surface's gravatar image

Le TeXnicien de surface
1.2k17
Taux d'acceptation : 36%

Modifiée 25 Jui, 14:13

Pathe's gravatar image

Pathe ♦♦
5.5k161161

3

Concernant les mathématiques, il y a quelques règles particulières en typographie française (voir le 3e tableau de la page http://milde.users.sourceforge.net/LUCR/Math/math-font-selection.xhtml#math-style). L'extension http://ctan.tetaneutral.net/macros/latex/contrib/frenchmath/ s'en occupe mais il y a d'autres méthodes.

(24 Jui, 14:55) pluton pluton's gravatar image

Pourquoi faut-il préciser french dans la classe de document ET dans l'appel de Babel ? Dans quels genres de cas la classe ne sait pas gérer l'option french et pourquoi cela ne pose-t-il pas de problème malgré tout ?

(24 Jui, 16:00) idefix idefix's gravatar image
1

C'est parce que certaines extensions utilisent l'option de langue pour adapter leur comportement (p. ex., cleveref ou siunitx). La classe ne connaissant en général pas cette option, la propose à toutes les extensions chargées, y compris babel, je suppose.

(25 Jui, 05:34) Bernard Bernard's gravatar image

@idefix AMHA c'est une bonne question. Il est préférable de poser une nouvelle question (indépendante).

(25 Jui, 11:00) touhami touhami's gravatar image
2

@Bernard Concernant siunitx, l'option french passée à \documentclass permet en effet que, par exemple, \SIrange{1}{10}{\m} donne « 1 m à 10 m » plutôt que « 1 m to 10 m ». Mais, pour complètement franciser un document avec unités composées à l'aide de ce package, il est nécessaire de lui ajouter l'option locale=FR, sans quoi par exemple \SI{1,5}{m} donnera « 1.5 m » au lieu de « 1,5 m ».

(26 Jui, 01:57) denis ♦♦ denis's gravatar image

@denis: en principe , je n'ai pas de problème, utilisant \sisetup{copy-decimal-marker}, mais il est bon de savoir que passer french via la classe de document ne suffit pas à tout franciser.

(26 Jui, 02:54) Bernard Bernard's gravatar image

@Bernard L'avantage selon moi de locale=FR est justement de ne pas copier le marqueur décimal saisi en entrée mais de faire apparaître en sortie le marqueur décimal de la langue française indépendamment du marqueur décimal (. ou ,) saisi en entrée.

(26 Jui, 12:21) denis ♦♦ denis's gravatar image
Affichage de 5 parmi 7 Afficher 2 commentaire(s) en plus

Attention, il s'agit d'une question d'opinion.

ÀMHA. babel est encore la meilleure solution. Cela n'exclut pas que je suis à l'aise avec cette extension car habitué à son utilisation.

Pour la question des alternatives. Oui, des alternatives intéressantes existent. Il y a E-french1 pour pdflatex et polyglossia pour lualatex ou xelatex.

Pour le préambule, on peut commencer par

Ouvrir dans l'éditeur Overleaf
\documentclass[french]{article}
\usepackage{lmodern}
\usepackage[T1]{fontenc}
\usepackage{babel}

ou par

Ouvrir dans l'éditeur Overleaf
\documentclass[french,a4paper]{book}
%\documentclass[french]{scrbook}
\usepackage{lmodern}
\usepackage[T1]{fontenc}
\usepackage{lettrine}
\usepackage[final,babel=true]{microtype}
\usepackage{babel}
\frenchbsetup{og=«,fg=»}

\usepackage{booktabs}
\usepackage{siunitx}
\usepackage{csquotes}
\usepackage{imakeidx}
\makeindex[program=xindy, options=-L french -C utf8]
\usepackage{biblatex}
\addbibresource{fichier.bib}

Quelques remarques

  • babel peut être utilisé avec le format plain et avec LaTeX.
  • babel fonctionne sous les différents compilateurs populaires (pdf,xe,lua)TeX.
  • la prise en charge des langues RTL (s'écrivant de droite à gauche, l'arabe par exemple) est beaucoup mieux avec polyglossia.
  • E-french offre plusieurs commandes plus ou moins pratiques (en 2019) : \lettrine, \everyparguillemets, \sommaire, \glossaire,...
  • E-french vient avec une extension mlp pour les documents multilingues (français, anglais et allemand) mais, il me semble que, ses modules ne sont pas bien maintenus.

1: E-french ou e-french est le nom de l'extension. Dans un fichier LaTeX elle doit être chargée par \usepackage{efrench} ou par \usepackage[german,english,french]{mlp} pour un document multilingue.

Lien permanent

Publiée 24 Jui, 17:47

touhami's gravatar image

touhami
6.4k27
Taux d'acceptation : 54%

Modifiée 25 Jui, 02:55

Pathe's gravatar image

Pathe ♦♦
5.5k161161

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 :

×8
×5

Question posée : 24 Jui, 05:11

Question vue : 419 fois

Dernière mise à jour : 26 Jui, 15:38