Je voudrais créer avec yathesis plusieurs listes de symboles, chacune avec un nom différent.

Exemple :

Ouvrir dans l'éditeur
\documentclass{yathesis}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{kpfonts} % Police fournissant des petites capitales grasses
\usepackage[acronyms, symbols, toc, nonumberlist]{glossaries} 
\makeglossaries

\setglossarystyle{index}

\newglssymbol{symb1}{ s1}{ symbole de la liste 1}{}
\newglssymbol{symb2}{ s2}{ symbole de la liste 2}{}
\newglssymbol{symb3}{ s3}{ symbole de la liste 3}{}

\begin{document}

\newpage 
\gls{symb1}

\gls{symb2}
\gls{symb3}

\printsymbols[title=liste1]% doit imprimer symb1 seul
\printsymbols[title=liste2]%------/-------- symb2 seul  
\printsymbols[title=liste3]%------/-------- symb3 seul  
\end{document}

Posée 10 Fév '16, 15:36

rdk77's gravatar image

rdk77
25923037
Taux d'acceptation : 100%

Modifiée 16 Fév '16, 15:17

Pathe's gravatar image

Pathe ♦♦
7.4k29197245


Il suffit de définir de nouveaux glossaires au moyen de la commande \newglossary et de se créer une commande (dans l'ECM ci-dessous \mynewglssymbol) permettant de définir un symbole et de spécifier à quel type de glossaire (à quelle liste) il doit appartenir, et enfin de recourir à la commande \printglossary en précisant le type pour afficher chacun des glossaires :

Ouvrir dans l'éditeur
\documentclass{yathesis}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{kpfonts} % Police fournissant des petites capitales grasses
\usepackage[acronyms, symbols, toc, nonumberlist]{glossaries}

\newglossary[slg1]{liste1}{sls1}{slo1}{Liste de symboles \no1}
\newglossary[slg2]{liste2}{sls2}{slo2}{Liste de symboles \no2}
\newglossary[slg3]{liste3}{sls3}{slo3}{Liste de symboles \no3}

\makeglossaries

\newcommand{\mynewglssymbol}[6][]{%
  \ifthenelse{\isempty{#1}}{%
    \newglossaryentry{#2}{%
      type={#6},%
      symbol={#3},%
      name={#4},%
      description={#5},%
      sort={#2}%
    }%
  }{%
    \newglossaryentry{#2}{%
      type={#6},%
      symbol={#3},%
      name={#4},%
      description={#5},%
      sort={#1}%
    }%
  }%
}

\setglossarystyle{index}

\mynewglssymbol{symb1}{ s1}{ symbole de la liste 1}{}{liste1}
\mynewglssymbol{symb2}{ s2}{ symbole de la liste 2}{}{liste2}
\mynewglssymbol{symb3}{ s3}{ symbole de la liste 3}{}{liste3}

\begin{document}

\newpage
\gls{symb1}

\gls{symb2}

\gls{symb3}

\printglossary[type=liste1,style=yadsymbolstyle]% imprime symb1 seul
\printglossary[type=liste2,style=yadsymbolstyle]% imprime symb2 seul
\printglossary[type=liste3,style=yadsymbolstyle]% imprime symb3 seul
\end{document}

Complément : Le fichier suivant, compilé avec pdflatex, makeglossaries, pdflatex, donne le résultat escompté, notamment les différentes listes de symboles, comme en attestent les extraits joints :

Ouvrir dans l'éditeur
\documentclass{yathesis}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{kpfonts} % Police fournissant des petites capitales grasses
\usepackage{starfont}
\usepackage{siunitx}
\usepackage[acronyms, symbols, toc, nonumberlist]{glossaries}

\newglossary[slg1]{liste-phys}{sls1}{slo1}{Symboles de physique}
\newglossary[slg2]{liste-maths}{sls2}{slo2}{Symboles de mathématique}
\newglossary[slg3]{liste-astro}{sls3}{slo3}{Symboles astronomiques}

\makeglossaries

\newcommand{\mynewglssymbol}[6][]{%
  \ifthenelse{\isempty{#1}}{%
    \newglossaryentry{#2}{%
      type={#6},%
      symbol={#3},%
      name={#4},%
      description={#5},%
      sort={#2}%
    }%
  }{%
    \newglossaryentry{#2}{%
      type={#6},%
      symbol={#3},%
      name={#4},%
      description={#5},%
      sort={#1}%
    }%
  }%
}

\setglossarystyle{index}

\mynewglssymbol{ohm}{\si{\ohm}}{ohm}{}{liste-phys}
\mynewglssymbol{exists}{$\exists$}{quantificateur existentiel}{}{liste-maths}
\mynewglssymbol{sat}{\Saturn}{Saturne}{}{liste-astro}

\newglossaryentry{tex}{%
  name={\TeX},
  description={système de composition de beaux documents}
}

\begin{document}
\listoftables
\listoffigures
\newpage
\gls{tex}

\gls{ohm}

\gls{exists}

\gls{sat}

\printglossary
\printglossary[type=liste-phys,style=yadsymbolstyle]% imprime symb1 seul
\printglossary[type=liste-maths,style=yadsymbolstyle]% imprime symb2 seul
\printglossary[type=liste-astro,style=yadsymbolstyle]% imprime symb3 seul
\end{document}

alt text

alt text

alt text

Lien permanent

Publiée 10 Fév '16, 18:36

denis's gravatar image

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

Modifiée 13 Fév '16, 13:28

Oui, mais je voudrais utiliser la commande \printsymbols pour spécifier des titres correspondant à différents cas.

(10 Fév '16, 22:23) rdk77 rdk77's gravatar image

Je n'arrive pas à compiler avec \newglssymbol{symb1}{ s1}{ symbole de la liste 1}{}.

J'ai ce message d'erreur :

Ouvrir dans l'éditeur
! Bad number (18).
<argument> ...openout:w \g__morewrites_stream_int
l.181 \listoftables
Since I expected to read a number between 0 and 15,
I changed this one to zero.

Peut-être un conflit avec \listoftables ?

(10 Fév '16, 22:39) rdk77 rdk77's gravatar image

@rdk77 Le recours à \printsymbols pour spécifier des titres correspondant à différents cas n'est pas nécessaire : les titres sont donnés par le dernier argument de la commande \newglossary (dans l'ECM : Liste de symboles \no...).

Je ne vois d'où peut venir le message d'erreur : peut-être une mise à jour de la distribution TeX règlerait-elle le problème, mais ça n'est probablement pas une bonne idée que de faire ça juste avant de rendre son mémoire de thèse.

(12 Fév '16, 00:03) denis ♦♦ denis's gravatar image

L'erreur de compilation vient plutôt de \newglossary[slg1]{liste1}{sls1}{slo1}{Liste de symboles \no1} qui apparemment est en conflit avec \listoftables et \listoffigures.

(12 Fév '16, 13:29) rdk77 rdk77's gravatar image

J'ai rajouté \usepackage{morewrites}%Always room for a new write stream pour éviter le message d'erreur. Mais dans votre exemple les symboles s1, s2 et s3 n'apparaissent pas et aussi les titres des catégories. Il n'y a que les descriptions.

(13 Fév '16, 12:19) rdk77 rdk77's gravatar image

J'ai réussi à faire apparaître les symboles et les titres avec:

Ouvrir dans l'éditeur
\printsymbols[type=liste1]
\printsymbols[type=liste2]% imprime symb2 seul
\printsymbols[type=liste3]% imprime symb3 seul

à la place des \printglossary. Mais j'aimerais changer le style des symboles en un style prédéfini, j'ai posé une question ici: http://texnique.fr/osqa/questions/1193/modifier-le-style-des-symboles-dans-yathesis-avec-un-style-predefini

(13 Fév '16, 12:38) rdk77 rdk77's gravatar image

Le problème dans le complément c'est que les commande \gls doivent être passés avant les \printglossary sinon rien ne s'affichera. Ce qui correspond donc à mettre les glossaires à la fin du document. Est il possible de modifier ces commandes pour qu'elles tiennent compte de tout le document comme le premier \printglossary?

(13 Fév '16, 16:49) rdk77 rdk77's gravatar image
Affichage de 5 parmi 7 Afficher 2 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.