Bonjour,

j'ai un article formaté sur 2 colonnes. Le contenu de l'article s'affiche bien dans les colonnes. Mais l'index s'affiche sur une nouvelle page.

Comment faire en sorte que l'index s'affiche à la suite du contenu des colonnes et non pas dans une nouvelle page ? Merci.

Ouvrir dans l'éditeur Overleaf
\documentclass[twocolumn]{article}%

\usepackage{imakeidx}%[xindy]
\indexsetup{level=\section*,toclevel=section}
\makeindex[columns=1]%

\begin{document}

\index{blabla}

\printindex

\end{document}%

Posée 14 Oct, 15:38

polymorphisme's gravatar image

polymorphisme
414
Taux d'acceptation : 0%

Modifiée 14 Oct, 15:40

avec l'option [twocolumn] c'est difficile, d’ailleurs l'option [columns=1] est sans effet, l'index est sur deux colonnes.

(14 Oct, 16:52) touhami touhami's gravatar image

@polymorphisme — histoire que je comprenne bien : vous voulez l'article sur deux colonnes, suivi, sur la même page que ses derniers mots, par l'index sur une colonne ?

(14 Oct, 18:21) Pathe ♦♦ Pathe's gravatar image

Dit autrement, imaginez un article classique, donc sans colonne, qui se termine par un index.

Maintenant, vous voulez obtenir la même chose mais en deux colonnes. :)

Lorsque je fais cela, toutes les parties de mon articles (table des matières, sections et glossaires) s'affichent correctement les unes à la suite des autres dans deux colonnes; sauf, la partie index qui commence sur une nouvelle page.

Je voudrais que l'index s'affiche comme les autres parties, à la suite de la précédente, c'est tout. :)

(14 Oct, 21:07) polymorphisme polymorphisme's gravatar image

Voici une solution.

  1. Ne pas utiliser l'option twocolumn.
  2. Utiliser plutôt la commande \twocolumn juste avant ou après \begin{document}.
  3. Utiliser \usepackage[....]{geometry} pour régler la largeur de texte.
  4. Il est préférable d'ajouter au préambule les réglages suivants : \setlength\marginparsep {10pt} et \setlength\parindent{1em}.

MWE

Ouvrir dans l'éditeur Overleaf
\documentclass{article}%
\usepackage{mwe}

\usepackage[textwidth=490pt]{geometry}
\usepackage[nonewpage]{imakeidx}
\indexsetup{level=\section*,toclevel=section}
\makeindex[columns=1]%
\twocolumn

\begin{document}
Bla bla 
\index{a}\index{b}\index{c}
\blinddocument

Bla bla 
\index{foo}\index{bar}\index{car}

\printindex

\end{document}

Une autre solution : la solution précédente est la solution proposé par l'auteur de l'extension imakeidx (expert de renommée internationale). S'il y a des débordement donc c'est à cause de quelque chose d'autre.

Ouvrir dans l'éditeur Overleaf
\documentclass[twocolumn]{article}%
\usepackage{mwe}

\makeatletter 
\renewenvironment{theindex}
               {\section*{\indexname}%
                \@mkboth{\MakeUppercase\indexname}%
                        {\MakeUppercase\indexname}%
                \parindent\z@
                \parskip\z@ \@plus .3\p@\relax
                \let\item\@idxitem}
               {}

\makeatother
\usepackage[nonewpage]{imakeidx}
\indexsetup{level=\section*,toclevel=section}
\makeindex[columns=1]%

\begin{document}
Bla bla 
\index{a}\index{b}\index{c}
\blinddocument

Bla bla 
\index{foo}\index{bar}\index{car}

\printindex

\end{document}
Lien permanent

Publiée 14 Oct, 22:10

touhami's gravatar image

touhami
5.2k26
Taux d'acceptation : 54%

Modifiée 20 Oct, 14:18

Ouais, je viens de tester.

Alors en effet, la partie index suit bien la partie précédente, dans commencer sur une nouvelle page. De ce côté, ça marche.

Mais la justification du texte n'est plus suivie et le texte déborde vraiment trop dans beaucoup d'endroit, ce qui fait que cette solution n'est pas présentable.

Merci beaucoup.

(14 Oct, 22:42) polymorphisme polymorphisme's gravatar image

avez vous utilisé \usepackage[textwidth=490pt]{geometry}?

(14 Oct, 22:56) touhami touhami's gravatar image

Oui oui, en autre. :)

Pour ma part, j'imagine qu'il doit exister une commande bien particulière associée à l'index qui lui permet de commencer sur une nouvelle page. Et qu'il "suffit" d'annuler l'effet de cette commande.

(14 Oct, 23:07) polymorphisme polymorphisme's gravatar image

@polymorphisme normalement c'est l'option [nonewpage] mais cet option n'a pas d'effet si l'option de classe [twocolumn] est utilisée.

Voir la deuxième solution.

(15 Oct, 00:01) touhami touhami's gravatar image

Finalement, j'ai redéfini l'environnement theindex.

J'ai trouvé la solution. Merci. :)

Lien permanent

Publiée 17 Oct, 14:23

polymorphisme's gravatar image

polymorphisme
414
Taux d'acceptation : 0%

2

merci de la détailler pour les lecteurs de ce site de Questions/Réponses.

(17 Oct, 14:45) pluton pluton's gravatar image

@polymorphisme : oui, ce serait bien de poster ici votre solution, qui pourrait être utile à d'autres.

(20 Oct, 02:18) Pathe ♦♦ Pathe's gravatar image
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.

Mots-clés de la question :

×10
×6

Question posée : 14 Oct, 15:38

Question vue : 162 fois

Dernière mise à jour : 20 Oct, 14:18