previous up next contents index
Previous: 3 Scripts Up: Applyx 054 Next: 5 LYX   Contents   Index

Subsections

4 TeTEX, TEX, LATEX

TEX et LATEX sont des langages-machine. Utiliser le frontal LYX pour tout ce qui est utilisation normale.

Une installation standard part de /usr/share/texmf. Les commandes : amstex, eplain, etex, latex, musixtex, pdfjadetex, pdflatex, pdftex, pdfxmltex sont des alias pour pdfetex, qui loge à l'adresse : /usr/share/texmf/teTeX/bin/i586-linux/pdfetex.

4.1 Ajout d'une classe ou d'un style

On a le choix entre laisser le fichier *.sty ou *.cls dans le répertoire courant, ou le centraliser.

  1. Un fichier local doit être recopié dans chacun des répertoires (et modifié dans chaque répertoire en cas de mise à jour).
  2. Un fichier central (dans texmf/tex/latex/) doit être signalé par la commande texhash.
  3. Mécanisme de surcharge : créer un répertoire texmf/tex/latex/_modified (qui sera en début d'arborescence). Y placer les nouveautés. Exécuter texhash. Vérifier que la version active du fichier visé est bien celle souhaitée par la commande kpsewhich nom.complet.
  4. Mécanisme de sauvegarde. Pour éviter qu'une modification mal faite gène la bonne exécution des anciens programmes, sauvegarder les versions successives dans un répertoire placé en second : texmf/tex/latex/_zmodified.

4.2 Liste des modules modifiés


4.3 index

A l'intérieur d'un document LYX :

  1. Actuellement ($ SuSE-11.0$), on obtient un index en se contentant d'utiliser des commandes $ \left[Alt-I\right]\left[D\right]$ pour poser les balises et une commande globale pour positionner l'index dans le document.
  2. On choisit la couleur du lien hyperref par
    \usepackage{color, svgcolor}  
    \def\@linkcolor{darkred} %%
    placé dans le préambule.
  3. Dans les gros index, il est utile de positionner les "très utiles" tout en tête, en utilisant $ =$ comme premier caractère.
Pour être tout à fait complet, le mécanisme latex de constitution d'un index se fait en trois étapes.

  1. Un premier passage exécute la commande \makeindex (à placer dans le préambule), et crée un fichier *.idx, avec les numéros de page.
  2. Puis l'utilitaire extérieur makeindex compile un fichier *.ndx. La principale manoeuvre consiste à trier le fichier des clefs d'index.
  3. Enfin, le fichier *.ndx est inclus dans le fichier principal, à l'endroit où se trouve la commande \printindex. Une modification n'est donc pas prise en compte immédiatement.


4.4 babel

  1. Pour comprendre les (dys)fonctionnements du package babel, il sufit d'examiner le répertoire /usr/share/texmf/tex/generic/babel. La langue american n'est pas une langue comme une autre qui, elle aussi, redéfinirait les commandes génériques de TEX/LATEX. Les ordinateurs parlent globish, les babelisateurs parlent globish, et les peuplades parlant le cécédillecirconflexe aiment se compliquer la vie
  2. Déclarer une langue a pour premier effet de sélectionner le correcteur orthographique. Pour le français, il y a eu french (B. Gaulle) puis frenchb (Babel). Les langues sont LATEX déclarées par:
    \documentclass[twoside,american,frenchb]{article}
  3. Sous LYX, ces langages sont appelés French pour frenchb et French (Gutenberg) pour french. Dans les *.bind, nous avons défini $ \left[F11\right]$=american et $ \left[F12\right]$=frenchb. Les langues sont LYX déclarées par :
    \language frenchb (au début du fichier)
    \lang american (à l'intérieur d'un layout)
  4. Bien entendu, les deux modules de franchouillation n'ont pas la même opinion sur la "typographie éternelle de la France éternelle". Il semble que frenchb ait été écrit d'une façon légèrement moins arrogante -d'où le choix $ \left[F12\right]$=frenchb. Néanmoins, le bilan est gênant, sans même être robuste : les "comportements surprenants" ne sont pas clairement reproductibles.
  5. La franchouillation éternelle du caractère ":" a pour résultat que l'espace après est diminué, tandis que (depuis $ SuSE-9.3$) un espace est inséré automatiquement devant (2). Un examen attentif de file:/usr/share/texmf/tex/generic/babel/frenchb.ldf ... et des dégats produits montre que la franchouillation éternelle touche les caractères $ \left[\,;\,\right]$, $ \left[\,:\,\right]$, $ \left[\,?\,\right]$, $ \left[\,!\,\right]$.

    FIG. 2: Franchouillation éternelle du point-point
    %
\begin{minipage}[c][1\totalheight][t]{0.4\columnwidth}%
a: a xa: a (frenchb)
\...
...er}\par
\begin{center}
avec espace automatique
\par
\end{center}%
\end{minipage}

  6. On se débarrasse de tout cela par en remplaçant les shorthand franchouillés par
    \declare@shorthand{french}{;}{\string;} %etc
    On constate alors que les problèmes de prettyref, hyperref, etc. sont réglés.
  7. Les méthodes à utiliser pour imposer son point de vue quant aux légendes et références sont examinées Subsection 8.1 et Subsection 8.2.

4.5 Références

  1. Récupérer \thebibliography c'est à dire les \bibitem à l'aide du batch re_bib (yanb). On obtient un fichier *.bib qu'il faut un peu corriger. Pour les nouvelles références, récupérer si possible les bibentries sur le site du journal concerné.
  2. Utiliser nom:keyword99 comme clef d'accès est commode lors de l'utilisation, et protège raisonnablement contre les doublons.
  3. En fin de document (à la place de la bibliographie), insérer la commande \BibTeX[format]{bibli} où bibli.bib est la liste de toutes les références, et format.bst est le fichier de style. Avec LYX, cela s'obtient par $ \left[Insert-BibTex\right]$.

  4. Une première exécution de "latex aaa" crée un fichier aaa.aux qui contient entre autres la liste des références à extraire. Exécuter ensuite "bibtex aaa", ce qui crée un fichier aaa.bbl contenant une compilation des références extraites. Consulter aaa.blg quand cela se passe mal.
  5. L'utilisation de natbib.sty permet de disposer de plusieurs méthodes de citation (nom, date, regroupements) qui facilitent la vie. Parfois cela n'est pas compatible avec le *.bst fourni.
  6. Lorsque l'éditeur d'une revue est incapable de fournir un fichier *.bst, recopier le répertoire latex/custom-bib vers un endroit où l'on puisse écrire e.g. /docs/Cherche/custom-bib. Copier le fichier english.mbs en aaa.mbs (il y a toujours quelque chose à modifier à cet endroit). Utiliser la commande latex makebst.tex. Ce batch utilise merlin.mbs pour obtenir les réponses à un grand nombre de questions. Déclarer le nom du fichier de sortie (aaa.dbj) et le fichier langue aaa.mbs. Le fichier aaa.dbj peut être modifié à la main. La compilation latex aaa.dbj fournit le fichier aaa.bst voulu.

4.6 Quelques commandes utiles

  1. Obtenir que les indices exposants se comportent comme pour $ \sum$ (en mode displaystyle), utiliser \mathop{S}_1 qui donnera :

    $\displaystyle \mathop{S}_{1}$

  2. Obtenir la même chose pour un $ \mathfrak{S}$ gros, utiliser
    \def\sumS{\mathop{\mbox{{\LARGE $\mathfrak{S}$}}}}

    $\displaystyle \mathop{\mbox{{\LARGE$\mathfrak{S}$}}}_{j=1}^{6}$


previous up next contents index
Previous: 3 Scripts Up: Applyx 054 Next: 5 LYX   Contents   Index


douillet@ensait.fr
2010-03-01