J'ai composé à l'aide du package verse une anthologie poétique assez longue. J'aimerais obtenir un index des titres, du type Comme les titres sont déjà utilisés pour composer la table des matières (grâce à la commande Ouvrir dans l'éditeur Overleaf
\documentclass[12 pt, a5paper, twoside, french]{scrartcl} \usepackage[utf8x]{inputenc} \usepackage[T1]{fontenc} \usepackage[light, oldstyle, largesmallcaps]{kpfonts} \usepackage{microtype} % Environnement de poésie \usepackage{verse} %% Sections non numérotées \renewcommand{\poemtoc}{subsection} \addtocounter{secnumdepth}{-3} \usepackage{babel} \begin{document} \section{Jacques Prévert} \begin{verse} \poemtitle{Le Voyage malaisé} Le coucou ne dit pas l'heure\\ le corbeau ne dit pas l'année\\ l'horloger est un receleur\\ Le temps volé il le revend ailleurs\\ mais ne dit pas où c'est. \end{verse} \tableofcontents \end{document} Posée 30 Nov '17, 13:41 Pathe ♦♦
Affichage de 5 parmi 17
Afficher 12 commentaire(s) en plus
|
voici une solution. Il faut ajouter Ouvrir dans l'éditeur Overleaf
\usepackage{etoolbox} \usepackage{xstring} \noexpandarg \usepackage[xindy]{imakeidx} \makeindex[columns=1, options=-L french -C utf8] On aura besoin de sauvegarder le titre de section d'une commande Ouvrir dans l'éditeur Overleaf
\pretocmd{\@sect}{\expandafter\ifx\csname c@#1\endcsname\c@section\def\mtsectiontitle{#7}\fi}{}{} Vous pouvez remplacer On redéfinie la commande Ouvrir dans l'éditeur Overleaf
\patchcmd{\@vsptitle}{\@afterheading}% {\renewcommand*{\do}[1]{% \IfBeginWith{#1}{##1}{\StrBehind{#1}{##1}[\mtarticle]}{}% }% \docsvlist{Un ,un ,Une ,une ,Le ,le ,La ,la ,Les ,les ,Des ,des ,L',l'}% \ifx\mtarticle\undefined \index{#1\protect\dotfill\mtsectiontitle}% \else \index{\mtarticle\protect\dotfill\mtsectiontitle}% \let\mtarticle\undefined% \fi \@afterheading}{}{} et de même, vous pouvez remplacer ECM À compiler avec les commandes :
Ouvrir dans l'éditeur Overleaf
\documentclass[french]{article} \usepackage{lmodern} \usepackage[utf8]{inputenc} \usepackage[T1]{fontenc} \usepackage{babel} %------------------------------------ \usepackage{verse} \renewcommand{\poemtoc}{subsection} \addtocounter{secnumdepth}{-3} %------------------------------------ \usepackage{etoolbox} \usepackage{xstring} \noexpandarg \makeatletter \pretocmd{\@sect}{\expandafter\ifx\csname c@#1\endcsname\c@section\def\mtsectiontitle{#7}\fi}{}{} \patchcmd{\@vsptitle}{\@afterheading}% {\renewcommand*{\do}[1]{% \IfBeginWith{#1}{##1}{\StrBehind{#1}{##1}[\mtarticle]}{}% }% \docsvlist{Un ,un ,Une ,une ,Le ,le ,La ,la ,Les ,les ,Des ,des ,L',l'}% \ifx\mtarticle\undefined \index{#1\protect\dotfill\mtsectiontitle}% \else \index{\mtarticle\protect\dotfill\mtsectiontitle}% \let\mtarticle\undefined% \fi \@afterheading}{}{} \makeatother \usepackage[xindy]{imakeidx} \makeindex[columns=1, options=-L french -C utf8] \begin{document} \section{Section foo} \begin{verse} \poemtitle{Le nuage} Le nuage dit à l'indien :\\ « Tire sur moi tes flèches,\\ Je ne sentirai rien. » « C'est vrai, rien ne t'ébrèche,\\ Répond le sauvage,\\ Mais vois mes tatouages !\\ Rien de pareil sur les nuages. » \end{verse} \begin{verse} \poemtitle{Le Voyage malaisé} Le coucou ne dit pas l'heure\\ le corbeau ne dit pas l'année\\ l'horloger est un receleur\\ Le temps volé il le revend ailleurs\\ mais ne dit pas où c'est. \end{verse} \section{Section bar} \begin{verse} \poemtitle[Sans faute]{Sans faute (Codicille)} C'est ma faute\\ c'est ma faute\\ c'est ma très grande faute d'orthographe\\ voilà comment j'écris\\ giraffe. J'ai eu tort d'avoir écrit cela autrefois\\ je n'avais pas à me culpabiliser\\ je n'avais fait aucune phaute d'orthografe\\ j'avais simplement écrit giraffe en anglais. \end{verse} \tableofcontents \printindex \end{document} Remarque avec l'option Publiée 02 Déc '17, 11:53 touhami |
Voulez vous faire un index (ordonnée alphabétiquement) ou une liste (sorte d'une table des matière personnalisée) ?
@touhami : merci pour cet utile commentaire, qui m'aide à préciser mon besoin. Je désire faire un index ordonné alphabétiquement... mais sans l'article : le poème de Baudelaire « Une charogne » serait classé à la lettre C. Du coup, utiliser les entrées de la table des matières apparaît impossible.
Dois-je supprimer la question ou la modifier ? Je me tâte.
À mon avis il faut modifier la question pour ajouter ces informations.
Voulez vous faire ça automatiquement à partir de
\poemtitle{Le Voyage malaisé}
ou avez vous la possibilité d'ajouter une commande\index{Voyage malaisé}
?Oui, je vais rajouter des index. L'idée de renseigner automatiquement l'index à partir des informations de la commande
\poemtitle
était séduisante, mais je crains fort que ce ne soit par trop complexe.Le package
poetry
, qui fournit notamment la commande\listofpoems
, ne serait-il pas plus approprié ?Cette commande est intéressante, mais la syntaxe de ce package diffère hélas de celle du package verse : l'utiliser m'obligerait à ré-éditer largement tous mes fichiers.
Bah, ça se règle facilement à coup de
sed
et autresawk
:)😄 J’aime bien le facilement !
Il y a aussi le package poetrytex, qui semble assez complet.
Mais je pense rester avec verse, j'ai trop avancé pour changer à présent.
@Pathe j'ai remarqué dans une autre question que vous avez utilisé
\poemtitle[Sans faute]{Sans faute\\[2cm]{\normalsize (Codicille)}}
. Dans ce cas quelle version voulez vous indexer ? la version courte[Sans faute]
ou la version longueSans faute\\[2cm]{\normalsize (Codicille)}
(qui peut poser problème) ?@touhami : le cas que vous citez était une médiocre tentative de ma part pour obtenir un sous-titre pour ce poème. Il a été résolu par un tableau.
Mais vous avez raison : c'est un bon exemple de la complexité des titres. Voilà pourquoi je vais créer un index en rajoutant des commandes
\index{}
, plutôt que de persister à tenter de récupérer les données fournies par la commande\poemtitle
.Le package
poemscol
, qui vient d'être mis à jour, offre nativement une table des poèmes et un index des titres et premières lignes.Cette information illustre par défaut le fonctionnement perfectible du CTAN. La recherche du mot poetry renvoie vers les packages poetry, poetrytex, memoir et poemscol. Celle du mot poem donne poetry, gmverse et poemscol. Il existe aussi le sujet verse, qui renvoie altverse, gmverse, metrix, poetry, poetrytex et verse.
Il en résulte une sensation de fouillis pour l'utilisateur. Comment savoir quelle extension utiliser ?
Et comment améliorer le fonctionnement de cet utile site qu'est le CTAN ?
Cela pourrait faire l'objet d'une jolie question sur TeXnique ! :)
Au sujet du CTAN ou de la meilleure extension pour composer de la poésie ?
Je songeais au CTAN mais l'un n'empêche pas l'autre.
È fatto.