Dans l'ECM suivant, la forme plurielle de \gls ne fonctionne pas quand je lance cet exemple.

Quand j'essaie de compiler avec F9 (j'utilise TeX Studio), j'obtiens l'erreur suivante :

Warning: File 'texstudio_PYjMCq.glo2' is empty. Have you used any entries defined in glossary 'main'? Remember to use package option 'nomain' if you don't want to use the main glossary.

Voici donc l'ECM :

Ouvrir dans l'éditeur Overleaf
\documentclass[mainlanguage=english, secnumdepth=subparagraph,localtocs/depth=subparagraph, localbibs]{yathesis}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{kpfonts}
\usepackage{booktabs}
\usepackage{siunitx}
\usepackage{pgfplots}
\usepackage{floatrow}
\usepackage{caption}
\usepackage{microtype}
\usepackage{varioref}
\usepackage{pdfpages}
\usepackage{chemformula}
\usepackage{romanbar}
\usepackage{array}
\usepackage{cellspace}
\usepackage{multirow, caption}
\usepackage{xcolor,doc, lipsum}
\usepackage{ragged2e}
\usepackage{ltablex}
\usepackage{tcolorbox}
\usepackage{longtable}
\usepackage[xindy, acronyms]{glossaries}
\usepackage[]{subcaption}
\usepackage[backend=biber,safeinputenc]{biblatex}
\usepackage{hyperref}
\newacronym{he}{HE}{huile essentielle}
\addbibresource{auxiliaires/biblio-these.bib}
\makeglossaries
\begin{document}
\gls{he}
\glspl{he} comme dit 
%\printglossary
\printacronyms %j'ai modifié cette ligne par rapport aux précédentes réponses
%\printglossaries %j'ai aussi essayé avec "printglossaries" mais même erreur
\end{document}

Posée 02 Avr '20, 19:18

mc252092's gravatar image

mc252092
183814
Taux d'acceptation : 0%

Modifiée 04 Avr '20, 00:02

Pathe's gravatar image

Pathe ♦♦
7.4k29197245

2

Le nom texstudio_PYjMCq.glo2 du fichier laisse penser que le test a été fait avec TeXstudio, sur un fichier non encore enregistré. Il est préférable, quand on teste des choses avec des packages qui génèrent des fichiers auxiliaires (ici glossaries), de le faire sur un fichier dûment enregistré.

(02 Avr '20, 21:53) denis ♦♦ denis's gravatar image
1

Merci d'avoir essayé de produire un ECM. Celui-ci était bien un exemple (il mettait en évidence le problème rencontré), était bien complet (il contenait tout ce qui permettait de le compiler directement (de \documentclass à \end{document} en passant par \begin{document}), sans devoir ajouter une seule ligne), mais n'était pas minimal : il n'était pas allégé de tout ce qui n’était pas en rapport direct avec la question posée puisqu'il comportait de nombreux packages n'ayant rien à voir avec le problème rencontré. Ma réponse vous donne des exemples d'ECM.

(02 Avr '20, 22:13) denis ♦♦ denis's gravatar image
1

Attention ! Les contre-obliques (\) saisies telles quelles dans les contributions ne sont visibles que si elles sont insérées en tant que ⟨code⟩. Pour insérer du ⟨code⟩, notamment des commandes LaTeX, cf. la FAQ Comment mettre en forme ma contribution ?. Merci de corriger votre contribution si cela n'a pas déjà été fait.

(02 Avr '20, 22:14) denis ♦♦ denis's gravatar image

Le problème n'est en rien lié à yathesis, ni à la forme plurielle de l'acronyme, mais au fait que, si l'option acronyms est passée au package glossaries, il est alors nécessaire pour afficher la liste des acronymes de recourir, non pas à \printglossary, mais :

  • soit \printglossaries (acronymes et termes du glossaire dans des listes distinctes) ;
  • soit \printacronyms (acronymes et termes du glossaire dans des listes indépendantes).

ECM :

Ouvrir dans l'éditeur Overleaf
\documentclass{book}
\usepackage[xindy, acronyms]{glossaries}
\newacronym{he}{HE}{huile essentielle}
\makeglossaries
\begin{document}
\gls{he}
\glspl{he} comme dit
%\printglossaries    
\printacronyms
\end{document}

Au passage, le message d'erreur signale seulement que le glossaire va être vide car aucun terme de glossaire n'est utilisé.

ECM :

Ouvrir dans l'éditeur Overleaf
\documentclass{book}
\usepackage[xindy, acronyms]{glossaries}
\newacronym{he}{HE}{huile essentielle}
\newglossaryentry{test}{%
    name = {test},
    description = {test}
}
\makeglossaries
\begin{document}
\gls{he}
\glspl{he} comme dit

\gls{test}

%\printglossaries
\printacronyms
\end{document}

Plus de détails, par exemple dans mon cours en ligne, section « Glossaire et liste d’acronymes distincts/indépendants ».

Lien permanent

Publiée 02 Avr '20, 22:05

denis's gravatar image

denis ♦♦
7.0k1510
Taux d'acceptation : 52%

J'ai déjà essayé avec une autre classe article ou book et tout fonctionnait. J'avais bien une compilation PDF : "huile essentielle (HE) HEs comme dit" En revanche quand je lance le code suivant (voir question) avec tous les packages et la classe yathesis je n'obtiens pas le pluriel de HE. Est ce que j'ai un conflit entre certains packages (c'est pour cela que j'ai laissé tous les packages dans l'ECM) ou bien est ce que j'utilise des versions trop anciennes?

(03 Avr '20, 09:28) mc252092 mc252092's gravatar image
1

@mc252092 Ah, je comprends mieux. En français, les acronymes sont invariables. Vous allez me dire que vous composez votre thèse en anglais puisque vous avez spécifié mainlanguage=english. Je vous dirai alors que « huile essentielle » n'est pas très anglais 😄. Pour résumer : si vous composez votre thèse en français, vous n'avez rien à faire, tout va bien. Sinon, vous avez découvert un bug de yathesis : bravo ! 😄 et je vais m'attacher à le régler...

(03 Avr '20, 11:31) denis ♦♦ denis's gravatar image

Je rédige ma thèse en anglais et je préfère mettre des "S" quand je cite les acronymes pour faciliter la compréhension. Le vrai acronyme est en fait \newacronym{mn}{MN}{microneedle} l'huile essentielle était juste pour l'exemple :)

J'ai aussi testé les autres fonctions mais même problème pas de pluriel qui veut s'afficher... \acrlongpl{mn} \acrshort{mn} \acrshortpl{mn} \acrfullpl{mn}

(03 Avr '20, 11:54) mc252092 mc252092's gravatar image

@mc252092 OK. En fait, j'avais déjà noté le problème puis, débordé par d'autres occupations, l'avais oublié : merci pour cette piqûre de rappel ! 😄

(03 Avr '20, 12:03) denis ♦♦ denis's gravatar image

J'ai l'impression que même sans option de langage sur la classe yathesis je ne peux pas avoir le pluriel quand je fais la commande \acrlongpl{mn}. En compilant le glossaire avec F9 ou même en faisant F6 j'ai toujours l'erreur Warning: File 'test glo.glo' is empty. Have you used any entries defined in glossary 'main'? Remember to use package option 'nomain' if you don't want to use the main glossary.

(03 Avr '20, 12:28) mc252092 mc252092's gravatar image

@denis et @mc252092 : je n'y comprends que pouic. Est-ce un bogue de yathesis ? Ou un pépin lié à l'option acronyms du package glossaries ?

Je vous pose cette question pour des raisons éditoriales internes au site : mots-clés, pertinence de la solution proposée, etc.

(03 Avr '20, 12:48) Pathe ♦♦ Pathe's gravatar image

@mc252092 Sans option de langue sur la classe yathesis, celle par défaut est le français et il est alors normal que les formes plurielles des acronymes soient identiques aux formes singulières. Pour ce qui est du message, ce n'est pas une erreur, c'est un avertissement qui signale que le glossaire est vide (la liste des acronymes, elle, ne l'est pas) ; si vous ajoutez une définition de terme de glossaire et que vous employez ce terme, comme je l'ai fait avec \newglossaryentry{test}{...} puis \gls{test} dans mon 2e ECM ci-dessus, cet avertissement devrait ne plus apparaître.

(03 Avr '20, 22:37) denis ♦♦ denis's gravatar image

@Pathe C'est un bug (disons une erreur de conception) de yathesis, mais qui est dû à un comportement inattendu et pas évident à contourner du package glossaries. Ça n'a rien à voir avec l'option acronyms de ce package .

(03 Avr '20, 22:41) denis ♦♦ denis's gravatar image
2

@denis Ne blâmez pas l'auteur de yathesis, en effet la classe ne charge pas automatiquement l'extension glossaries et donc n'oblige personne à l'utiliser.

Deux options:

\renewcommand*{\glspluralsuffix}{s} \renewcommand*{\glsacrpluralsuffix}{\glspluralsuffix} \renewcommand*{\glsupacrpluralsuffix}{\glstextup{\glspluralsuffix}}

ou \makeatletter \let\glossariescaptionsenglish\undefined \input{glossaries-english.ldf} \makeatother

(04 Avr '20, 01:44) touhami touhami's gravatar image

@touhami La 2e solution est excellente : je vous suggère de la donner en solution. Je ne m'auto-blâme pas :) mais c'est typiquement le code que yathesis aurait dû intégrer d'emblée pour éviter le problème signalé par @mc252092.

(04 Avr '20, 16:10) denis ♦♦ denis's gravatar image
Affichage de 5 parmi 10 Afficher 5 commentaire(s) en plus
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.