Créer un glossaire ou une liste ordonnée
Ceci est une compilation réalisée à partir des différentes réponses qui ont été apportées à deux de mes questions, qui n'en étaient finalement qu'une seule : il s'agissait de réaliser un répertoire de mots et d'expressions, mais ma demande originelle était passablement confuse. À cela s'ajoute les difficultés liées à TeXShop pour créer un glossaire. Le mieux est d'en passer par TeXmaker ou TeXstudio, mais des débrouillards ont apporté des réponses intéressantes qu'on trouvera plus bas.
<br/>
1. Réalisation d'une liste dont les items s'ordonnent automatiquement
----------------------------------------
<br/>
*<h3>Réponse apportée par @Nikopol et @Pathe</h3>*
<br/>
D'après cette [discussion sur tex.se][2].
Edit : suite à le demande de @fred02840, le code est modifié pour se comporter comme l'environnement description. J'ai fait en sorte que les : soient ajoutés automatiquement (on devient fainéant en utilisant LaTeX). Si ce n'est pas souhaité, il suffit de les retirer de la ligne 8 du code (en gras).
\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage{xspace}
\usepackage{enumitem}
\usepackage{datatool}
\newcommand{\sortitem}[2][]{%
\DTLnewrow{list}%
**\DTLnewdbentry{list}{description}{\textbf{#1~:\xspace}\xspace#2}%**
}
\newenvironment{sortedlist}{%
\DTLifdbexists{list}{\DTLcleardb{list}}{\DTLnewdb{list}}%
}%
{%
\DTLsort{description}{list}% Sort list
\begin{description}[labelindent=-0.5em]%
\DTLforeach*{list}{\theDesc=description}{%
\item\theDesc}% Print each item
\end{description}}
\begin{document}
\parindent=0pt
Classique :
\begin{description}
\item[Vélo :] sorte de bicyclette
\item[Bicyclette :] sorte de vélo.
\item[Cycliste :] çui-là qui roule à vélo ou à bicyclette
\end{description}
Avec le nouvel environnement
\begin{sortedlist}
\sortitem[Vélo]{sorte de bicyclette}
\sortitem[Bicyclette] { sorte de vélo.}
\sortitem[Cycliste]{ çui-là qui roule à vélo ou à bicyclette}
\end{sortedlist}
\end{document}
<br/>
----------
<br/>
*<h3>Réponse apportée par Denis*</h3>
<br/>
Si la liste figure hors du flot du texte, il est possible de la faire ordonner alphabétiquement en faisant un glossaire. En voici un exemple à compiler avec `pdflatex` puis `makeglossaries` puis `pdflatex` :
\documentclass[french]{article}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{lmodern}
\usepackage{babel}
% Le package `glossaries' est l'un de ceux qui doivent exceptionnellement être
% chargés après `babel' (et même après `hyperref')
\usepackage[xindy]{glossaries}
% Commande responsable de la création du glossaire et du classement alphabétique
% des termes
\makeglossaries
% Style du glossaire
\setglossarystyle{listgroup}
% Définition des termes du glossaire :
\newglossaryentry{rpc}
{
name={réaction physico-chimique},
description={blabla}
}
\newglossaryentry{pores}
{
name={pores},
description={blabla}
}
\newglossaryentry{microbes}
{
name={microbes},
description={blabla}
}
\newglossaryentry{phc}
{
name={phosphate de calcium},
description={blabla}
}
\newglossaryentry{proteines}
{
name={protéines},
description={blabla}
}
%
\begin{document}
Bla bla \gls{proteines} bla bla.
Bla bla \gls{phc} bla bla.
Bla bla \gls{rpc} bla bla.
Bla bla \gls{microbes} bla bla.
Bla bla \gls{pores} bla bla.
\printglossary[title=Ma belle liste] % Sans « title = ... », le titre serait « Glossaire »
\end{document}
[Plus de détails sur les glossaires par exemple ici][3].
<br/>
*<h3>Réponse apportée par @denis le perfectionniste et @sim*</h3>
<br/>
\documentclass{article}
\usepackage{enumitem}
\begin{document}
\begin{enumerate}[label=(\alph*)]
\item Réaction physico-chimique. blabla.
\item Pores. blabla.
\item Microbes. blabla.
\item Phosphate de calcium. blabla.
\item Protéines. blabla.
\end{enumerate}
\begin{enumerate}[label=(\Alph*)]
\item Réaction physico-chimique. blabla.
\item Pores. blabla.
\item Microbes. blabla.
\item Phosphate de calcium. blabla.
\item Protéines. blabla.
\end{enumerate}
\begin{enumerate}[label=(\roman*)]
\item Réaction physico-chimique. blabla.
\item Pores. blabla.
\item Microbes. blabla.
\item Phosphate de calcium. blabla.
\item Protéines. blabla.
\end{enumerate}
\begin{enumerate}[label=(\alph*)]
\item Réaction physico-chimique. blabla.
\item Pores. blabla.
\item Microbes. blabla.
\item Phosphate de calcium. blabla.
\item Protéines. blabla.
\end{enumerate}
\end{document}
<br/>
2. Composition avec TeXShop (limites)
----------------------------------------
<br/>
Trouvé une solution ([sur tex.exchange][4]) pour le problème de composition avec TeXShop, mais pas entièrement satisfaisante. Si cela peut aider :
- ouvrir le dossier `~/Bibliothèque/TeXShop/Engines` (à faire apparaître avec un outil comme Onyx, par ex.). S'y trouvent les programmes de composition (ex. : `LuaLaTeX.engine`)
dans le dossier Inactive (~/Bibliothèque/TeXShop/Engines/Inactive),
- repérer pdflatexmk.engine (il y était
déjà, mais je l'ai remplacé), et le
glisser dans le dossier Engines pour
l'activer ;
- on ferme le tout, et on relance TeXShop. On retrouve pdflatexmk dans
le menu déroulant de composition (en
haut, à gauche de la fenêtre) ;
- une seule compilation avec pdflatexmk suffit, mais on n'obtient
pas de liste, comme avec TeXmaker ou
TeXstudio…
<br/>
3. Obtenir un glossaire satisfaisant avec TeXmaker
----------------------------------------
<br/>
Avec TeXmaker, le glossaire obtenu est sous la forme d'un répertoire tel que je l'imaginais, et j'ai supprimé les références aux pages (le texte préalable ne me sert en fait à rien : si on peut l'éliminer, ce serait encore mieux).
Po
Il convient de configurer l'outil de compilation :
- pour configurer la compilation, dérouler le menu `Utilisateur - Commandes Utilisateur - Éditer Commandes Utilisateur`. Dans `Item menu`, indiquer`makeglossaries`;
- en-dessous, dans Commande, saisir makeglossaries % ;
- valider. On voit que la commande 1 (à gauche de la fenêtre ouverte) porte le mot « makeglossaries »
- une fois le fichier complété (ne surtout pas utiliser de caractères spéciaux pour les entrées de glossaire), il suffit d'utiliser `Compilation rapide`, puis `makeglossaries`, et enfin `Compilation rapide` pour obtenir une sortie pdf.
[1]: http://texnique.fr/osqa/users/52/nikopol
[2]: https://tex.stackexchange.com/questions/121489/alphabetically-display-the-items-in-itemize
[3]: http://gte.univ-littoral.fr/members/dbitouze/pub/latex/diapositives-cours-d/conference-n-7/downloadFile/file/en-ligne7.pdf
[4]: https://tex.stackexchange.com/a/127791