Est-il possible de réaliser un lexique à la façon d'un dictionnaire, sans que les mots soient utilisés au préalable dans un texte ?

Glossaries impose cette procédure pour que les mots puissent être acceptés dans une liste ordonnée avec \printglossary : c'est ce que je souhaite éviter.

Posée 14 Sep '19, 00:46

fred02840's gravatar image

fred02840
4.2k18156187
Taux d'acceptation : 16%

Modifiée 14 Sep '19, 16:00

Pathe's gravatar image

Pathe ♦♦
7.5k29197245


Je viens de trouver une solution (dans tex.stackexchange.com, post n° 10) qui fonctionne avec Overleaf (y compris avec la légère modification que je vais expliquer), mais qui ne donne rien avec TeXstudio. Il m'a seulement fallu ajouter babel avec l'option english pour que la composition puisse se faire, mais j'obtiens un document blanc.

Ouvrir dans l'éditeur Overleaf
\documentclass[english]{article}
\usepackage{babel}
    \newcommand*{\glossaryname}{Dictionary}
    \usepackage[nonumberlist]{glossaries}
    \newcommand{\dictentry}[2]{%
      \newglossaryentry{#1}{name=#1,description={#2}}%
      \glslink{#1}{}%
    }
    \makeglossaries

\begin{document}
\dictentry{zebra}{yet another animal}%
\dictentry{aardvark}{an animal}%
\dictentry{lion}{another animal, but with
  a really long description that spills over many, many, many, many, many, 
  many, many, many, many, many, many, many, many, many, many, many, many, 
  many, many, many, many, many, many, many, many, many, many lines}

\printglossary[style=list]%
\end{document}
Lien permanent

Publiée 14 Sep '19, 01:12

fred02840's gravatar image

fred02840
4.2k18156187
Taux d'acceptation : 16%

Modifiée 14 Sep '19, 01:15

le problème tient probablement à une configuration de TeXstudio, mais je vois pas comment utiliser le français principalement et l'anglais occasionnellement

(14 Sep '19, 01:35) fred02840 fred02840's gravatar image

Cette fois, tout fonctionne parfaitement, grâce à Denis et Maïeul (indirectement). xindy et hyperref ne sont pas contents quand on les met ensemble : c'est comme ça. Maïeul préconise donc de désactiver hyperref avec cette commande (je résume) :

Ouvrir dans l'éditeur Overleaf
usepackage[hyperindex=false]{hyperref}

Puis d'ouvrir le fichier .xdy créé pour y ajouter manuellement ce qui suit :

Ouvrir dans l'éditeur Overleaf
(define-attributes ("emph"))
(markup-locref :open "\hyperpage{" :close "}" :attr "default")
(markup-locref :open "\textbf{\hyperpage{" :close "}}" :attr "textbf")
(markup-locref :open "\textit{\hyperpage{" :close "}}" :attr "textit")
(markup-locref :open "\emph{\hyperpage{" :close "}}" :attr "emph")

Évidemment, ne pas oublier (comme moi) de cliquer sur F9 pour un \makeglossaries avant de compiler. Des difficultés peuvent persister : j'ai pris le parti de supprimer la référence à xindy. Ce n'est probablement pas la meilleure chose à faire, mais faute de mieux…

Ce qui nous donne donc (après rectifications de @denis):

Ouvrir dans l'éditeur Overleaf
\documentclass[english,french]{scrartcl}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{babel}
\usepackage[hyperindex=false]{hyperref}

\usepackage[nonumberlist]{glossaries} % xindy a été enlevé des options
    \makeglossaries

\newcommand{\dictentry}[2]{%
    \newglossaryentry{#1}{name=#1,description={#2}}%
}

\dictentry{zebra}{yet another animal}%
\dictentry{aardvark}{an animal}%
\dictentry{coucou}{gnagna}%
\dictentry{Hello}{Bonjour}%
\dictentry{Bonjour}{Hello}%
\dictentry{lion}{another animal, but with
    a really long description that spills over many, many, many, many, many,
    many, many, many, many, many, many, many, many, many, many, many, many,
    many, many, many, many, many, many, many, many, many, many lines}

\glsaddall
\begin{document}
    \printglossary[style=list,title=Dictionnaire]%
\end{document}
Lien permanent

Publiée 17 Sep '19, 12:56

fred02840's gravatar image

fred02840
4.2k18156187
Taux d'acceptation : 16%

Modifiée 17 Sep '19, 14:35

Votre réponse
(dés)activer l'aperçu

Suivre cette question

Par courriel :

Une fois que vous serez enregistré, vous pourrez souscrire à n'importe quelle mise à jour ici

Par flux RSS :

Réponses

Réponses et commentaires

Bases de Markdown

  • *italique* ou _italique_
  • **gras** ou __gras__
  • Lien ::[texte](http://url.com/ "Titre ")
  • Image : ?![alt texte](/path/img.jpg "Titre ")
  • Liste numérotée : 1. Foo 2. Bar
  • Pour ajouter un passage à la ligne, ajoutez deux espaces à l'endroit où vous souhaitez que la ligne commence.
  • Les balises HTML de base sont également prises en charge.