[Résolu] Acronym package Layout

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.

[Résolu] Acronym package Layout

Messagepar PKS2155-304 » Mercredi 21 Mars 2012, 16:12

Bonjour,

J'utilise actuellement le package "acronym" :
http://www.ctan.org/tex-archive/macros/latex/contrib/acronym
par soucis de simplicité de compilation avec Texmaker. L'utilisation du package "glossaries" m'obligeant à créer un script pour compiler en même temps l'index et le glossaire.

J'aimerais savoir s'il était possible de modifier le layout de la liste d'acronyme. Ce qu'il se passe, c'est que chaque élément est précédé d'un ou plusieurs saut de ligne. Au final, 20 acronymes ne tiennent pas forcément sur une page. J'ai tenté de modifier la fonte de la liste d'acronyme sans vraiment avoir le résultat escompté.

Je ne tient pas à modifier le .sty, ni a importer un nouveau .sty dans mon dossier actuel, mon document devant circuler sur plusieurs machines.

Quelqu'un a t-il eu le même soucis que moi ?

Code: Tout sélectionner
\usepackage[printonlyused,withpage]{acronym}

\begin{document}
corps de texte faisant appel a \ac{ALMA} ou aux \acs{AGB}
\begin{acronym}
   \acro{ALMA}{Atacama Large Millimeter Array}
   \acro{AGB}{Asymptotic Giant Branch}
   \acro{1DUP}{first Dredge-UP}
\end{acronym}

\end{document}



Pour info, un document PDF regroupant les commandes du package acronym
http://mirrors.ctan.org/macros/latex/contrib/acronym/acronym.pdf

Merci par avance
Dernière édition par PKS2155-304 le Mercredi 21 Mars 2012, 17:19, édité 1 fois.
PKS2155-304
Utilisateur
 
Messages: 4
Inscription: Mercredi 21 Mars 2012, 15:51
Statut actuel: Post-bac | Doctorat

Publicité

Re: Acronym package Layout

Messagepar pg » Mercredi 21 Mars 2012, 16:48

L'auteur du package a mis un \\ après chaque \acro, ce qui explique la ligne blanche. Pour contourner le problème, on peut modifier la macro \acro pour remplacer ce \\ par un \vspace paramétrable par la longueur \spacebetweenacro (à changer selon la valeur souhaitée) :

Code: Tout sélectionner
\documentclass{article}

\usepackage[printonlyused,withpage]{acronym}

\newlength{\spacebetweenacro}
\setlength{\spacebetweenacro}{0pt}

\makeatletter
\def\AC@@acro#1[#2]#3{%
  \ifAC@nolist%
  \else%
  \ifAC@printonlyused%
    \expandafter\ifx\csname acused@#1\endcsname\AC@used%
       \item[\protect\AC@hypertarget{#1}{\acsfont{#2}}] #3%
          \ifAC@withpage%
            \expandafter\ifx\csname r@acro:#1\endcsname\relax%
               \PackageInfo{acronym}{%
                 Acronym #1 used in text but not spelled out in
                 full in text}%
            \else%
               \dotfill\pageref{acro:#1}%
            \fi\vspace{\spacebetweenacro}
          \fi%
    \fi%
 \else%
    \item[\protect\AC@hypertarget{#1}{\acsfont{#2}}] #3%
 \fi%
 \fi%
 \begingroup
    \def\acroextra##1{}%
    \@bsphack
    \protected@write\@auxout{}%
       {\string\newacro{#1}[\string\AC@hyperlink{#1}{#2}]{#3}}%
    \@esphack
  \endgroup}
\makeatother

\begin{document}

corps de texte faisant appel a \ac{ALMA} ou aux \acs{AGB}

\begin{acronym}
   \acro{ALMA}{Atacama Large Millimeter Array}
   \acro{AGB}{Asymptotic Giant Branch}
   \acro{1DUP}{first Dredge-UP}
\end{acronym}

\end{document}
pg
Modérateur
 
Messages: 2581
Inscription: Jeudi 14 Juin 2007, 23:31

Re: Acronym package Layout

Messagepar PKS2155-304 » Mercredi 21 Mars 2012, 17:07

Merci pour la réponse rapide.

C'est ce que je pensais faire, enfin, en plus simple, en retirant seulement le saut de ligne. Par contre, je ne suis pas fan de redéfinir en début de chaque document et je voulais éviter cette solution. Quand j’enverrais mon document chez un imprimeur, je ne sais pas si ce sera possible, ils ont généralement leur propre set d’entête.

Ma deuxième solution était d'une certaine manière de forcer la mise en page de la liste d'acronyme, mais ça, je ne sais pas faire par contre
Mais sans doute que le problème revient au même pour l'argument de l'imprimerie...

En tout cas, merci, je vais commencer avec ça.

Code: Tout sélectionner
\makeatletter
\def\AC@@acro#1[#2]#3{%
  \def\AC@temp{#1}%
  \ifAC@nolist%
  \else%
  \ifAC@printonlyused%
    \expandafter\ifx\csname acused@#1\endcsname\AC@used%
       \item[\protect\AC@hypertarget{#1}{\acsfont{#2}}] #3%
          \ifAC@withpage%
            \expandafter\ifx\csname r@acro:#1\endcsname\relax%
               \PackageInfo{acronym}{%
                 Acronym #1 used in text but not spelled out in
                 full in text}%
            \else%
               \dotfill\pageref{acro:#1}%
            \fi%
          \fi%
    \fi%
 \else%
    \item[\protect\AC@hypertarget{#1}{\acsfont{#2}}] #3%
 \fi%
 \fi%
 \begingroup
    \def\acroextra##1{}%
    \@bsphack
    \protected@write\@auxout{}%
       {\string\newacro{#1}[\string\AC@hyperlink{#1}{#2}]{#3}}%
    \@esphack
  \endgroup}
\newif\ifAC@starred
\makeatother
PKS2155-304
Utilisateur
 
Messages: 4
Inscription: Mercredi 21 Mars 2012, 15:51
Statut actuel: Post-bac | Doctorat

Re: Acronym package Layout

Messagepar pg » Mercredi 21 Mars 2012, 17:12

Une autre possibilité : mettre \renewcommand{\\}{} juste après \begin{acronym} :

Code: Tout sélectionner
\begin{acronym}\renewcommand{\\}{}
   \acro{ALMA}{Atacama Large Millimeter Array}
   \acro{AGB}{Asymptotic Giant Branch}
   \acro{1DUP}{first Dredge-UP}
\end{acronym}

À condition de ne pas utiliser \\ dans l'environnement {acronym}, cela ne devrait pas avoir d'effet secondaire indésirable.
pg
Modérateur
 
Messages: 2581
Inscription: Jeudi 14 Juin 2007, 23:31

Re: Acronym package Layout

Messagepar pg » Mercredi 21 Mars 2012, 17:15

Encore une autre possibilité : utiliser \patchcmd du package etoobox pour remplacer le \\ par autre chose sans avoir trop de lignes dans le préambule.

Code: Tout sélectionner
\documentclass{article}

\usepackage[printonlyused,withpage]{acronym}

\usepackage{etoolbox}
\makeatletter
\patchcmd{\AC@@acro}{\\}{\vspace{0pt}}{}{}
\makeatother

\begin{document}

corps de texte faisant appel a \ac{ALMA} ou aux \acs{AGB}

\begin{acronym}
   \acro{ALMA}{Atacama Large Millimeter Array}
   \acro{AGB}{Asymptotic Giant Branch}
   \acro{1DUP}{first Dredge-UP}
\end{acronym}

\end{document}
pg
Modérateur
 
Messages: 2581
Inscription: Jeudi 14 Juin 2007, 23:31

Re: Acronym package Layout

Messagepar PKS2155-304 » Mercredi 21 Mars 2012, 17:19

Solution parfaite.

Je ne savais qu'il était possible de faire ce genre de chose en plein milieu d'un élément. J'ai encore tellement à apprendre avec LaTeX, c'est sans fin... C'est sans doute moins propre comme façon de faire par contre, non ?
En tout cas je vais rester avec la seconde solution, plus simple, puisque je n'ai pas besoin de spécifier de longueur différente entre chaque espace de la liste.

Encore merci !
PKS2155-304
Utilisateur
 
Messages: 4
Inscription: Mercredi 21 Mars 2012, 15:51
Statut actuel: Post-bac | Doctorat

Re: RESOLU Acronym package Layout

Messagepar texmaker » Mercredi 21 Mars 2012, 17:23

PKS2155-304 a écrit:par soucis de simplicité de compilation avec Texmaker. L'utilisation du package "glossaries" m'obligeant à créer un script pour compiler en même temps l'index et le glossaire.

Pour info, il n'y a pas besoin de script pour utiliser glossaries avec Texmaker.
Voir ici : http://www.xm1math.net/texmaker/glossaries.html
Texmaker (version courante : 4.5) : éditeur LaTeX libre et multi-plateforme avec afficheur pdf.
PdfAdd : Tableaux variations, courbes, arbres, graphes, loi binomiale, cercle trigo, suites pour pdflatex et Asymptote
Site de documentation sur LaTeX
texmaker
Kilo-utilisateur
 
Messages: 226
Inscription: Vendredi 30 Juillet 2010, 11:19
Statut actuel: Actif et salarié | Enseignant

Re: RESOLU Acronym package Layout

Messagepar PKS2155-304 » Mercredi 21 Mars 2012, 17:35

Je n'ai pas essayé l'astuce pour le glossaire, mais je suis sceptique :

Code: Tout sélectionner
makeindex %.glo -t %.glg -s %.ist -o %.gls


Je me sers déjà de makeindex pour mes fichiers idx. Comment pourrais-je les compiler en même temps ? C'est là que je coinçais.
PKS2155-304
Utilisateur
 
Messages: 4
Inscription: Mercredi 21 Mars 2012, 15:51
Statut actuel: Post-bac | Doctorat

Re: RESOLU Acronym package Layout

Messagepar texmaker » Mercredi 21 Mars 2012, 19:34

PKS2155-304 a écrit: mais je suis sceptique :

Il suffit d'essayer...
PKS2155-304 a écrit:Je me sers déjà de makeindex pour mes fichiers idx. Comment pourrais-je les compiler en même temps ? C'est là que je coinçais.

Si vous avez besoin de la commande classique pour makeindex, il suffit de remettre pour makeindex : makeindex %.idx (ça n'affectera pas la compil rapide utilisateur : on peut définir aussi 5 commandes utilisateurs avec des paramètres différents selon la compil qu'on veut utiliser)
Texmaker (version courante : 4.5) : éditeur LaTeX libre et multi-plateforme avec afficheur pdf.
PdfAdd : Tableaux variations, courbes, arbres, graphes, loi binomiale, cercle trigo, suites pour pdflatex et Asymptote
Site de documentation sur LaTeX
texmaker
Kilo-utilisateur
 
Messages: 226
Inscription: Vendredi 30 Juillet 2010, 11:19
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: Aucun utilisateur enregistré et 21 invités