LaTeX tips

Latex est connu pour afficher de belles formules mathématiques, mais également pour être un peu difficile d’accès pour les néophytes. Voilà quelques astuces et méthodes utiles pour les débuts. Retenez d’abord que comme un fichier latex est en texte brut, vous pourrez toujours le lire dans 10 ans (tentez le coup avec un fichier word pour voir !).

Utiliser des accents

Ajouter l’option \usepackage[latin1]{inputenc} en en-tête de votre fichier. Ou si vous êtes moderne et que vous utilisez l’UTF8: \usepackage[utf8]{inputenc}
Si vous utilisez Emacs pour rédiger votre fichier latex et que par malheur vous ne disposez pas d’un clavier azerty, Option -> Mule -> Toggle input method est là pour vous aider: latin-1-prefix fera l’affaire: ‘+e pour é, etc…

Compiler pour avoir un beau pdf

Les problèmes possibles avec le pdf généré par latex sont nombreux et trouver la solution n’est pas toujours aisé.

La police a parfois une mauvaise apparence à l’écran, même si il n’y a aucun problème à l’impression. Cela provient d’une mauvaise gestion des polices de type 1 par certains pdf-reader. Pour remédier à ce problème, rajouter la ligne \usepackage[T1]{fontenc} dans l’en-tête et regarder les options de compilation ci-dessous.

Le problème de ligature entre f et i (ie le point du i qui se lie au f pour faciliter la lecture) est parfois mal fait, un espace supplémentaire apparaît alors après ces deux lettres. Pour éviter cet effet convertir le pdf avec la compatibilité 1.3 activée.

Pour résumer:

<ul>
	<li>$ latex document.tex</li>
	<li>$ bibtex document.tex</li>
	<li>$ latex document.tex</li>
	<li>$ latex document.tex</li>
	<li>$ dvips -G0 -Ppdf -t a4 document.dvi</li>
	<li>$ ps2pdf13 document.ps</li>
</ul>

La première étape génère le fichier nécessaire à la création de la bibliographie créé par l’appel de bibtex. Les deux appels suivant à latex permettent de générer le .dvi, deux appels sont nécessaires pour gérer les références, en cas de références croisées, plus de deux appels peuvent être nécessaires (faire des appels en trop ne pose pas de problème).

dvips génère le fichier PostScript (visualisable avec ghostview par la commande gv). L’option -t a4 précise que le document généré sera au format a4, remplacer a4 par letter pour du format US. Faire attention à la cohérence avec l’option précisée dans l’en-tête du document latex, ou sinon il y a des risques d’erreur au niveau des marges. L’option -G0 évite que les fi produisent un espace en trop lors des ligatures.

Enfin, ps2pdf13 convertit le .ps en .pdf, si vous ne trouvez pas directement le programme ps2pdf13 , l’option ps2pdf -dCompatibilityLevel=1.3 donnera la même chose. Si des images de haute qualité sont présentes dans le document, l’option -dPDFsettings=/prepress permet d’éviter trop de compression des images dans le pdf (ce qui donnerai un effet de bloc désastreux).

Sous Debian, par défaut, le problème de police semble rester lors de la compilation du pdf notamment avec des messages d’erreurs mentionnant kpathsea, ljfour… Cela signifie qu’il n’a pas pu générer la police à la résolution demandée. L’installation des fonts computer modern semble régler le problème: apt-get install lmodern

Pour insérer les polices dans le fichier pdf en sortie (embedded fonts) utiliser les options -Pdownload35 pour dvips et -dEmbedAllFonts=true pour ps2pdf. Il faut vérifier également que toutes les images postscript incluent leurs polices.

Aligner les équations

Devant une formule de trois lignes à caser dans un article sur deux colonnes le package IEEEtrans peut être utile. Le package est récupérable sur le site IEEE, mais voici les liens directs:

Dans la première archive ci-dessus se trouve un fichier explicatif résumant toutes les options utiles.

Une fois le package téléchargé et décompressé, la ligne \usepackage[retainorgcmds]{IEEEtrantools} permet d’utiliser les fonction du package en gardant le type de document que l’on veut (marges, numérotation…) tandis que \documentclass[journal,a4paper]{IEEEtran} suit les spécifications des articles IEEE (marges, colonnes…).

Présentations

Latex peut également être utilisé pour réaliser des présentations par vidéo projecteur. Les avantages par rapport à powerpoint sont multiples:

  • qualité des équations et des symboles mathématiques affichables
  • la manière de réaliser la présentation impose de faire une présentation structurée qui sera plus facile à suivre par l’auditoire
  • gestion automatique des tables de matière, bibliographie…
  • pas besoin de se soucier de la version de powerpoint installée, des polices manquantes… un programme lisant les pdf suffit.

Le package beamer propose toutes les fonctionnalités utiles. Si vous voulez vous en convaincre, regarder ce qu’on peut obtenir assez facilement : exemple de présentation.

Pour Debian, l’installation de beamer se fait tout simplement par apt-get install latex-beamer

Un manuel d’instruction très détaillé est fourni avec, il suffit principalement de structurer son fichier latex par des \begin{frame} et \begin{block}

.

Personnaliser la présentation de la bibliographie

Plutôt que de se plonger dans la syntaxe des fichiers bst, je vous conseille d’utiliser la perle makebst. Ce package peut être trouvé sur http://www.ctan.org/ en cherchant custom-bib.

Il suffit de suivre les instructions du fichier README pour générer un fichier de style de bibliographie à sa sauce. Après génération du fichier de bibliographie, lorsque je

Convertir un texte en latex en html

L’idée est de partir de ca pour arriver à ca. Le tout avec le moindre effort.

La solution que j’ai retenu est tex4ht. L’installation sur debian est immédiate: apt-get install tex4ht. A la première tentative de convertion, un message d’erreur apparaît: il manque un fichier de configuration. Un cp /etc/tex4ht/tex4ht.env ~/.tex4ht règle le problème.

Pour l’affichage des formules mathématiques, il y a plusieurs solutions. L’idéal serait MathML, mais il n’est pas encore assez largement supporté par les divers navigateurs. Il faut donc convertir les équations en images. La solution par défaut (dvipng) n’est pas terrible et convert fonctionne mieux (y compris pour le psfrag). Pour changer la méthode, il faut modifier le fichier ~/.tex4ht en ajoutant un espace devant <convert> et </convert> (pour le commenter) et supprimant l’espace devant <dvipng> et </dvipng>.

Une fois ces quelques corrections effectuées, le lancement de la commande htlatex these "html,2" devrait fonctionner.

Le résultat ne me convenait pas parfaitement pour l’intégrer comme dans l’exemple. Il fallait modifier le header et le footer de chaque fichier html créé pour intégrer le menu, le style, etc.

Le principe est le suivant: pour chaque fichier html supprimer les 14 premières lignes, ainsi que la dernière. Ajouter le header choisi (qui se trouve dans un fichier texte nommé header) au début et le footer (qui est dans un fichier nommé footer) à la fin. Ce petit script donne le résultat voulu (il faut juste créer le repertoire ./final auparavant):

#!/bin/sh
for name in *.html
do
  tail -n +14 $name | head --lines=-1 &gt; tmp2.html
  cat header tmp2.html footer &gt; tmp.html
  mv tmp.html final/$name
  rm -rf tmp2.html tmp.html
done
exit 0

Leave a Reply

Your email address will not be published. Required fields are marked *