LaTeX

De Disposition de clavier bépo

La disposition bépo permet d'écrire de très nombreux caractères et s'intègre très bien dans un contexte d'utilisation « UTF-8. » LaTeX fait partie des logiciels de composition les plus aboutis de ce point de vue, mais il n'est pas toujours facile de s'y retrouver, car les options en rapport avec Unicode sont nombreuses et les indications disponibles, potentiellement contradictoires. Le but de cette page est de vous permettre de mettre sur pied un environnement LaTeX adapté à la composition de texte en français et en UTF-8.

Support d'UTF-8

Support standard

Il existe de nombreuses distribution TeX supportant l’UTF-8 (Tex-Live sous GNU/Linux, MiKTeX sous Windows…). Toutefois, LaTeX dispose d'un certain nombre de macros générant des caractères qui n’ont pas forcément la même apparence visuelle que leur correspondants UTF-8. Ce problème tend à se régler et dans une approche standard, si votre distribution Latex est connue pour offrir un support d'UTF-8, les déclarations suivantes devraient vous convenir :

% dans le préambule du document

\usepackage[utf8]{inputenc}    % assure que la rédaction du document .tex supporte l'UTF-8

\usepackage[french]{babel}     % prend en charge les spécificités du français

\usepackage[cyr]{aeguill}      % autorise les polices adobe pour les sorties PDF,
                               % assure la gestion des guillemets
                               % cette option n'est plus vraiment utile avec les
                               % versions récentes des distributions TeX

\usepackage[T1]{fontenc}       % essentiellemet pour les sorties PDF. Par défaut,
                               % charge les polices ComputerModern appropriées
                               % désormais, elles sont souvent remplacées par les
                               % LatinModern avec la déclaration suivante

\usepackage{lmodern}           % charge les polices LatinModern appropriées pour un rendu PDF

Évidemment, l'installation des paquets mentionnés est un pré-requis. Ils font partie des distributions courantes (Tex-Live, MiKTeX), auquel cas il n'y a rien à installer en plus.

Caractères au cas par cas

Par souci de cohérence et afin de réaliser une présentation soignée, il est possible d'ajouter une couche d'UTF-8 en assurant la conversion automatique des caractères UTF-8 en leur homologues Latex, « à la volée. »

L’idée est ici de fournir quelques lignes à copier/coller pour supporter au moins tout ce qui peut être entré avec un clavier bépo, pas de supporter tout UTF-8 ! Les instructions qui suivent sont également à placer dans le préambule du document. Vous y trouverez les caractères grecs ainsi que quelques symboles mathématiques. Cette liste pourrait idéalement être complétée pour prendre en charge l’intégralité des caractères supportés par le bépo… (mais certains frontends LaTeX récents gère nativement l’utf-8, vous pouvez donc y taper « normalement » au clavier (seulement si votre distribution TeX est utf8-compatible, et si les caractères voulus existent dans la police utilisée, bien sûr) : TeXShop (sur Mac), TeXWorks (clone de TeXShop, multi-plateformes), et d’autres sans doute…).

Sous l'éditeur Lyx, il suffit de copier-coller les lignes ci-dessous dans Document / Paramètres / Préambule LaTeX.

\DeclareUnicodeCharacter{0391}{\ensuremath{\Alpha}}
\DeclareUnicodeCharacter{03B1}{\ensuremath{\alpha}}
\DeclareUnicodeCharacter{0392}{\ensuremath{\Beta}}
\DeclareUnicodeCharacter{03B2}{\ensuremath{\beta}}
\DeclareUnicodeCharacter{0393}{\ensuremath{\Gamma}}
\DeclareUnicodeCharacter{03B3}{\ensuremath{\gamma}}
\DeclareUnicodeCharacter{0394}{\ensuremath{\Delta}}
\DeclareUnicodeCharacter{03B4}{\ensuremath{\delta}}
\DeclareUnicodeCharacter{0395}{\ensuremath{\Epsilon}}
\DeclareUnicodeCharacter{03B5}{\ensuremath{\epsilon}}
\DeclareUnicodeCharacter{0396}{\ensuremath{\Zeta}}
\DeclareUnicodeCharacter{03B6}{\ensuremath{\zeta}}
\DeclareUnicodeCharacter{0397}{\ensuremath{\Eta}}
\DeclareUnicodeCharacter{03B7}{\ensuremath{\eta}}
\DeclareUnicodeCharacter{0398}{\ensuremath{\Theta}}
\DeclareUnicodeCharacter{03B8}{\ensuremath{\theta}}
\DeclareUnicodeCharacter{0399}{\ensuremath{\Iota}}
\DeclareUnicodeCharacter{03B9}{\ensuremath{\iota}}
\DeclareUnicodeCharacter{039A}{\ensuremath{\Kappa}}
\DeclareUnicodeCharacter{03BA}{\ensuremath{\kappa}}
\DeclareUnicodeCharacter{039B}{\ensuremath{\Lambda}}
\DeclareUnicodeCharacter{03BB}{\ensuremath{\lambda}}
\DeclareUnicodeCharacter{039C}{\ensuremath{\Mu}}
\DeclareUnicodeCharacter{03BC}{\ensuremath{\mu}}
\DeclareUnicodeCharacter{039D}{\ensuremath{\Nu}}
\DeclareUnicodeCharacter{03BD}{\ensuremath{\nu}}
\DeclareUnicodeCharacter{039E}{\ensuremath{\Xi}}
\DeclareUnicodeCharacter{03BE}{\ensuremath{\xi}}
\DeclareUnicodeCharacter{039F}{\ensuremath{\Omicron}}
\DeclareUnicodeCharacter{03BF}{\ensuremath{\omicron}}
\DeclareUnicodeCharacter{03A0}{\ensuremath{\Pi}}
\DeclareUnicodeCharacter{03C0}{\ensuremath{\pi}}
\DeclareUnicodeCharacter{03A1}{\ensuremath{\Rho}}
\DeclareUnicodeCharacter{03C1}{\ensuremath{\rho}}
\DeclareUnicodeCharacter{03A3}{\ensuremath{\Sigma}}
\DeclareUnicodeCharacter{03C3}{\ensuremath{\sigma}}
\DeclareUnicodeCharacter{03A4}{\ensuremath{\Tau}}
\DeclareUnicodeCharacter{03C4}{\ensuremath{\tau}}
\DeclareUnicodeCharacter{03A5}{\ensuremath{\Upsilon}}
\DeclareUnicodeCharacter{03C5}{\ensuremath{\upsilon}}
\DeclareUnicodeCharacter{03A6}{\ensuremath{\Phi}}
\DeclareUnicodeCharacter{03C6}{\ensuremath{\varphi}}
\DeclareUnicodeCharacter{03A7}{\ensuremath{\Chi}}
\DeclareUnicodeCharacter{03C7}{\ensuremath{\chi}}
\DeclareUnicodeCharacter{03A8}{\ensuremath{\Psi}}
\DeclareUnicodeCharacter{03C8}{\ensuremath{\psi}}
\DeclareUnicodeCharacter{03A9}{\ensuremath{\Omega}}
\DeclareUnicodeCharacter{03C9}{\ensuremath{\omega}}
\DeclareUnicodeCharacter{00A0}{~}
\DeclareUnicodeCharacter{00AC}{\ensuremath{\neg}}
\DeclareUnicodeCharacter{00B1}{\ensuremath{\pm}}
\DeclareUnicodeCharacter{00D7}{\ensuremath{\times}}
\DeclareUnicodeCharacter{00F7}{\ensuremath{\div}}
\DeclareUnicodeCharacter{2026}{\ldots}
\DeclareUnicodeCharacter{207A}{\ensuremath{^{+}}}
\DeclareUnicodeCharacter{207B}{\ensuremath{^{-}}}
\DeclareUnicodeCharacter{2020}{\ensuremath{\dagger}}
\DeclareUnicodeCharacter{2021}{\ensuremath{\ddagger}}
\DeclareUnicodeCharacter{2212}{\ensuremath{-}}

Concernant l'usage du plugin vim-latex

Le plugin vim-latex remplace à la volée, en mode insertion, un certain nombre de successions de touches. Par exemple, la succession de touche ^a, au lieu de donner « â » est remplacée par « \mathbf{}. »

Si vous souhaitez rétablir le comportement par défaut, permettant de composer l'utile lettre « â », vous pouvez rajouter la ligne suivante au fichier imaps.vim[1] (locate imaps.vim dans le terminal pour trouver le répertoire où se trouve ce fichier) ou plus simplement dans ~/.vimrc :

" enlève le raccourci qui transforme ^a en \mathbf{}
" et crée un raccourci <Alt-B> qui écrit \mathbf{}
imap <Alt-B> <Plug>Tex_MathBF

Une autre astuce, pour tex.vim (en général situé dans ~/.vim/after/ftplugin/), qui évite que la succession de lettres majuscules « ENO » soit remplacée par « \begin{note} \end{note} » :

call IMAP('ENO', 'ENO', 'tex')

Astuces utilisateurs

  • Utilisateur:Jd/LaTeX : j'ai créé mon propre package modulaire, ce qui peut intéresser certains d'entre vous, même si ça n'a pas de rapport direct avec le bépo à part la composition en français.

Références

  1. Documentation de latex-suite à ce sujet