Glossaire

Tout ce qui concerne l'utilisation ou l'installation de LaTeX.

Modérateur: gdm_tex

Règles du forum
Merci d'éviter le style SMS dans vos messages et de penser à utiliser la fonction Recherche avant de poster un message. Pour joindre des fichiers à vos messages, consulter ce sujet.
> Penser à utiliser les balises Code pour poster du code.

Glossaire

Messagepar projetmbc » Jeudi 09 Avril 2009, 12:13

Bonjour,
je cherche un exemple de création d'un glossaire.
projetmbc
Péta-utilisateur
 
Messages: 1895
Inscription: Samedi 29 Décembre 2007, 00:58
Statut actuel: Actif et salarié | Enseignant

Publicité

Re: Glossaire

Messagepar pg » Jeudi 09 Avril 2009, 22:43

Voici un petit exemple basé sur ce fil de discussion :

glossaries_test.pdf
(84.63 Kio) Téléchargé 2151 fois


Code: Tout sélectionner
\documentclass{article}

\usepackage[T1]{fontenc}
\usepackage{lmodern}
\usepackage[frenchb]{babel}

\usepackage{hyperref}
\usepackage[cols=3,toc=true,acronym=true,hyper=true]{glossary}
\makeglossary
\makeatletter
\renewcommand{\@wrglossary}[2][glossary]{\relax
\gdef\@glo@n@me{}\def\@descr{}\def\@s@rt{}\def\@f@rm@t{}%
\edef\@glo@num{\csname gls@#1@number\endcsname}\relax
\xdef\@pr@fix{\csname @gls@#1@type\endcsname}%
\setkeys{wrgloss}{#2}\relax
\ifthenelse{\equal{\@glo@num}{none}}{\def\@@glo@num{\thepage}}{%
\@ifundefined{c@\@glo@num}{\PackageError{glossary}{%
Not such counter '\@glo@num'}{The value of the 'number' key
must be the name of a counter or the word "none"}%
\def\@@glo@num{\thepage}}{%
\edef\@@glo@num{\csname the\@glo@num\endcsname}}}%
\ifthenelse{\equal{\@s@rt}{}}{\gdef\@s@rt{\@glo@n@me}}{}%
\ifthenelse{\equal{\@glo@l@bel}{}}{%
\gdef\@glo@l@bel{\@pr@fix.\@s@rt}}{}% <---------------------------------------ligne qui a changé
\ifthenelse{\equal{\@f@rm@t}{}}
{\expandafter\protected@write\csname @#1file\endcsname{}%
{\string\glossaryentry{\@s@rt @{%
\string\glosslabel{\@glo@l@bel}{\@glo@n@me}}\@descr
\string\relax|glsnumformat}{\@@glo@num}}}
{\ifthenelse{\equal{\@f@rm@t}{hyperrm} \or
\equal{\@f@rm@t}{hypersf} \or \equal{\@f@rm@t}{hypertt}
\or \equal{\@f@rm@t}{hypermd} \or \equal{\@f@rm@t}{hyperbf}
\or \equal{\@f@rm@t}{hyperit} \or \equal{\@f@rm@t}{hyperem}
\or \equal{\@f@rm@t}{hypersl} \or \equal{\@f@rm@t}{hyperup}
\or \equal{\@f@rm@t}{hypersc}}
{\expandafter\protected@write\csname @#1file\endcsname{}%
    {\string\glossaryentry{\@s@rt @{%
     \string\glosslabel{\@glo@l@bel}{\@glo@n@me}}\@descr
     \string\relax|\@f@rm@t[\@glo@num]}{\@@glo@num}}}
{\expandafter\protected@write\csname @#1file\endcsname{}%
    {\string\glossaryentry{\@s@rt @{%
     \string\glosslabel{\@glo@l@bel}{\@glo@n@me}}\@descr
     \string\relax|\@f@rm@t}{\@@glo@num}}}}\relax
\endgroup\@esphack
\@@wrglossary
}
\makeatother

\storeglosentry{glos.groupe}{name={Groupe},description={Ensemble $G$ muni d'une loi de composition interne $*$ vérifiant les trois propriétés suivantes~: $*$ est associative, $*$ possède un élément neutre et tout élément possède un inverse pour $*$.}}

\begin{document}

L'ensemble des rotations du plan de centre $O$ forme un  \useGlosentry{glos.groupe}{groupe} pour la loi de composition donnée par la composition.

\printglossary

\end{document}


Attention à la compilation : il faut, si le document s'appelle "glossaries_test", faire :

Code: Tout sélectionner
pdflatex glossaries_test.tex
makeindex -s glossaries_test.ist -t glossaries_test.glg -o glossaries_test.gls glossaries_test.glo
pdflatex glossaries_test.tex
pdflatex glossaries_test.tex
glossaries_test.pdf

On peut faire ça directement en ligne de commande, ou, comme mentionné dans l'autre fil de discussion, mettre tout cela dans un fichier .bat pour ne pas avoir à tout retaper à la fois.
pg
Modérateur
 
Messages: 2592
Inscription: Jeudi 14 Juin 2007, 23:31

Re: Glossaire

Messagepar projetmbc » Vendredi 10 Avril 2009, 09:25

Merci. :mrgreen: Ce n'est pas simple à mettre en oeuvre... :clapping:

Question : est-il possible de souligner en pointillé les mots qui renvoient vers le glossaire, ou bien de les mettre en gras et en bleu foncé, ou d'indiquer une étoile juste à côté d'eux. Pourquoi ? Je n'ai rien contre les cadres rouges mais bon à l'impression, ce n'est pas terrible.
projetmbc
Péta-utilisateur
 
Messages: 1895
Inscription: Samedi 29 Décembre 2007, 00:58
Statut actuel: Actif et salarié | Enseignant

Re: Glossaire

Messagepar rebouxo » Vendredi 10 Avril 2009, 11:02

Les cadres rouges ne sont pas imprimés ! Ils sont présents dans le pdf pour mettre en évidence les liens hypertextes (en particuliers les renvois).

On doit pouvoir faire ce que tu demandes. Mais je dois dire que le TeX n'est pas ma langue préférée.
Olivier
A line is a point that went for a walk. Paul Klee
Par solidarité, pas de MP
rebouxo
Modérateur
 
Messages: 6863
Inscription: Mercredi 15 Février 2006, 13:18
Localisation: le havre
Statut actuel: Actif et salarié | Enseignant

Re: Glossaire

Messagepar pg » Vendredi 10 Avril 2009, 11:45

En fait, le package glossary est obsolète et a été remplacé par glossaries, qui est plus simple à personnaliser.

Voici un exemple :

Code: Tout sélectionner
\documentclass{article}

\usepackage[T1]{fontenc}
\usepackage{lmodern}
\usepackage[frenchb]{babel}

\usepackage{xcolor}

\usepackage{hyperref}
\hypersetup{pdfborder=0}% pour ne pas afficher les cadres rouges
                        % attention, les liens seront invisibles !

\usepackage{glossaries}
\makeglossaries

\glossarystyle{long3col}

% pour personnaliser la façon dont sont imprimés les entrées
\renewcommand{\glstextformat}[1]{\textsf{#1}}
%\renewcommand{\glstextformat}[1]{#1*}
%\renewcommand{\glstextformat}[1]{\color{blue!70!black}\bfseries#1}

\newglossaryentry{groupe}{name={groupe},description={Ensemble $G$ muni d'une loi de composition interne $*$ vérifiant les trois propriétés suivantes~: $*$ est associative, $*$ possède un élément neutre et tout élément possède un inverse pour $*$}}

\begin{document}

L'ensemble des rotations du plan de centre $O$ forme un \gls{groupe} pour la loi de composition donnée par la composition.

\printglossaries

\end{document}


La compilation multiple se fait exactement comme précédemment.
pg
Modérateur
 
Messages: 2592
Inscription: Jeudi 14 Juin 2007, 23:31

Re: Glossaire

Messagepar projetmbc » Vendredi 10 Avril 2009, 11:51

rebouxo a écrit:Les cadres rouges ne sont pas imprimés !

Si c'est le cas, dans ce cas cela me convient sans problème. Attention à toi rebuxo si je me retrouve avec des cadres rouges... :boxing:

pg a écrit:En fait, le package glossary est obsolète

Merci pour l'info. Le code devient enfin lisible.

Merci beaucoup, je commence grâce au forum à avoir tout ce dont j'ai besoin pour mes documents. Je ferais sûrement un résumé de type tutoriel sur mon site.

Sur ce, allons profiter de ce beau temps... 8)
projetmbc
Péta-utilisateur
 
Messages: 1895
Inscription: Samedi 29 Décembre 2007, 00:58
Statut actuel: Actif et salarié | Enseignant

Re: Glossaire

Messagepar projetmbc » Vendredi 10 Avril 2009, 12:03

Presque dehors...

Une dernière question : la déclaration du contenu du glossaire se fait bien au début du document obligatoirement.
Peut-on alors la mettre dans un fichier puis utiliser include ou import (je ne sais plus la différence entre les deux bien qu'on me l'a expliqué ici) ?

Sur ce, je coupe la connexion. :crash:
projetmbc
Péta-utilisateur
 
Messages: 1895
Inscription: Samedi 29 Décembre 2007, 00:58
Statut actuel: Actif et salarié | Enseignant

Re: Glossaire

Messagepar pg » Vendredi 10 Avril 2009, 12:50

Tu peux bien sûr mettre tous les déclarations de \newglossaryentry dans un fichier appelé, disons, "glossary_entries" puis faire, dans ton préambule, \input{glossary_entries}.
pg
Modérateur
 
Messages: 2592
Inscription: Jeudi 14 Juin 2007, 23:31

Re: Glossaire

Messagepar projetmbc » Vendredi 10 Avril 2009, 19:16

Merci pg.
projetmbc
Péta-utilisateur
 
Messages: 1895
Inscription: Samedi 29 Décembre 2007, 00:58
Statut actuel: Actif et salarié | Enseignant

Re: Glossaire

Messagepar pHerman » Jeudi 30 Avril 2009, 11:49

Bonjour,

Je cherche également à créer un glossaire, les méthodes présentées plus haut me conviendraient très bien, mais je ne comprend pas tout.
J'ai en effet l'habitude d'utiliser TeXnicCenter et MiKTeX, sous Windows XP.
La compilation se fait automatiquement sans avoir à taper des lignes de commande.

Aussi, je ne comprend pas comment réaliser l'étape de compilation "manuelle" décrite ici.
avec les commandes suivantes :
Code: Tout sélectionner
pdflatex glossaries_test.tex
    makeindex -s glossaries_test.ist -t glossaries_test.glg -o glossaries_test.gls glossaries_test.glo
    pdflatex glossaries_test.tex
    pdflatex glossaries_test.tex
    glossaries_test.pdf

(le plus simple est de mettre toutes ces commandes dans un fichier .bat pour ne pas tout avoir à retaper à chaque fois)

Je ne trouve aucune indication là dessus, certainement parce que je ne sais pas très bien se que je recherche.
Quelqu'un pourrait m'expliquer ?
Merci.
pHerman
Utilisateur
 
Messages: 2
Inscription: Jeudi 30 Avril 2009, 11:31
Statut actuel: Post-bac | Ecole d'ingénieur

Re: Glossaire

Messagepar pg » Jeudi 30 Avril 2009, 20:30

Une méthode est de rajouter un "Output Profile" qui s'occupe de fabriquer le glossaire. Pour cela, aller dans le menu "Build" et choisir "Define Output Profiles". En bas de la colonne de droite, cliquer sur "Add". Entrer le nom "Glossaries" et faire OK. Ensuite, sélectionner le profil "Glossaries" et aller dans l'onglet "Postprocessor" cliquer sur "New" (juste à gauche de la croix rouge). Taper par exemple "glossaries". Ensuite, dans la case "Executable" mettre
Code: Tout sélectionner
makeindex

et dans la case "Arguments", mettre
Code: Tout sélectionner
 -s "%Bm.ist" -t "%Bm.glg" -o "%Bm.gls" "%Bm.glo"

Valider tout ces changements en faisant OK.

glossaries_texniccenter.png
glossaries_texniccenter.png (7.78 Kio) Vu 11880 fois


Ensuite, pour obtenir un document avec un glossaire, il faut compiler une première fois le document avec "LaTeX => PDF" puis avec "Glossaries" puis deux fois de suite avec "LaTeX => PDF".

Si tu préfère, on peut aussi définir un profil où les compilations avec LaTeX sont automatiques, ça dépend du degré de contrôle que tu veux.
pg
Modérateur
 
Messages: 2592
Inscription: Jeudi 14 Juin 2007, 23:31

Re: Glossaire

Messagepar pHerman » Lundi 04 Mai 2009, 09:47

Merci beaucoup pg pour ces explications pas à pas !
A bientôt.
pHerman
Utilisateur
 
Messages: 2
Inscription: Jeudi 30 Avril 2009, 11:31
Statut actuel: Post-bac | Ecole d'ingénieur

Re: Glossaire

Messagepar antl » Mardi 23 Juin 2009, 21:00

Bonjour,
Je suis débutant en Latex, et utilise aussi le couple MikTeX/TeXnicCenter. Je cherche aussi à obtenir un glossaire. J'ai effectué les instructions précédentes, et la première compilation se passe bien. Par contre, quand j'utilise "l'output profile", j'obtiens comme unique résultat

Code: Tout sélectionner
--------------- Output Profile: Glossaries---------------


Savez-vous d'où cela peu provenir ?
Merci d'avance
antl
Utilisateur
 
Messages: 3
Inscription: Mardi 23 Juin 2009, 20:49
Statut actuel: Post-bac | Ecole d'ingénieur

Re: Glossaire

Messagepar pg » Mardi 23 Juin 2009, 21:23

Dans le répertoire où il y a ton fichier .tex, y a-t-il un fichier portant l'extension .glg ? Si oui, ouvre-le avec le bloc-note et recopie-en le contenu ici.

Sinon, est-ce que la commande makeindex est reconnue ? Pour le savoir, aller dans le menu démarrer > Exécuter puis écrire makeindex dans la boîte de dialogue et faire OK. Une ligne de commande devrait s'ouvrir avec un message du genre "This is C:\...\makeindex.exe, version ..." Est-ce bien le cas ?
pg
Modérateur
 
Messages: 2592
Inscription: Jeudi 14 Juin 2007, 23:31

Re: Glossaire

Messagepar antl » Mardi 23 Juin 2009, 21:35

Aucun fichier ne porte l'extension *.glg. Par contre la commande makeindex est reconnue.
antl
Utilisateur
 
Messages: 3
Inscription: Mardi 23 Juin 2009, 20:49
Statut actuel: Post-bac | Ecole d'ingénieur

Re: Glossaire

Messagepar pg » Mardi 23 Juin 2009, 22:33

N'utilisant pas texniccenter, la seule autre chose à laquelle je peux penser est une faute d'orthographe dans le nom de l'executable ou l'une des options. Peut-être que tu peux aussi essayer avec le chemin complet de l'executable (en remplaçant makeindex par C:\Program Files\MikTeX 2.7\miktex\bin\makeindex.exe si le fichier makeindex.exe est bien dans ce répertoire). Si ça ne fonctionne toujours pas, à moins que quelqu'un d'autre ici n'ait une idée, tu devrait essayer de poser ta question sur le forum officiel de texniccenter, latex-community (en anglais).

Sinon, je peux t'indiquer comment faire un fichier .bat pour générer le glossaire d'un simple double clic. C'est moins pratique que d'avoir tout dans texniccenter, mais mieux que rien.
pg
Modérateur
 
Messages: 2592
Inscription: Jeudi 14 Juin 2007, 23:31

Re: Glossaire

Messagepar rebouxo » Mercredi 24 Juin 2009, 08:56

Tu peux cocher une case pour les index dans le output profile de texniccenter.

Olivier
A line is a point that went for a walk. Paul Klee
Par solidarité, pas de MP
rebouxo
Modérateur
 
Messages: 6863
Inscription: Mercredi 15 Février 2006, 13:18
Localisation: le havre
Statut actuel: Actif et salarié | Enseignant

Re: Glossaire

Messagepar antl » Mercredi 24 Juin 2009, 14:07

Après avoir essayés toutes les options et orthographes possibles, j'ai finalement crée un fichier .bat qui marche très bien.
Merci beaucoup pour votre aide.
Antoine
antl
Utilisateur
 
Messages: 3
Inscription: Mardi 23 Juin 2009, 20:49
Statut actuel: Post-bac | Ecole d'ingénieur

Re: Glossaire

Messagepar GMaths » Jeudi 18 Février 2010, 20:03

Je déterre un ancien sujet qui vient d'être cité par quelqu'un pour dire que la configuration suivante sous texniccenter fonctionne très bien.
Je l'ai testée pour savoir comment fonctionne glossaries, avant de tenter de répondre dans l'autre message sur la bonne configuration à adopter sous texworks.

2010-02-18_195650_glossaire-moyen.png
GMaths
Exa-utilisateur
 
Messages: 2031
Inscription: Lundi 01 Octobre 2007, 09:20
Statut actuel: Actif et salarié | Enseignant


Retourner vers LaTeX

 


  • Articles en relation
    Réponses
    Vus
    Dernier message

Qui est en ligne

Utilisateurs parcourant ce forum: Google Adsense [Bot] et 11 invités