Avec l'environnement verse, les titres des poèmes sont centrés au milieu de la ligne. Mais quand des vers sont courts, le titre du poème apparaît décalé par rapport au poème lui-même, comme dans l'ECM suivant :

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}
\usepackage{babel}
\begin{document}
\settowidth{\versewidth}{Rien de pareil sur les nuages. »}
\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}.
\end{document}

Comment faire pour re-centrer les vers sous le titre (tout en les gardant au fer à gauche) ? J'imagine que \versewidth pourrait être utilisé, mais comment ?

Posée 30 Nov, 14:21

Pathe's gravatar image

Pathe ♦♦
3.0k11182
Taux d'acceptation : 63%

Le poème est de Robert Desnos.

(30 Nov, 15:38) Pathe ♦♦ Pathe's gravatar image

J'ai défini un environnement cverse, avec un argument, qui inclut l'environment verse dans une minipage centrée, de largeur la longueur (cette phrase est mal fichue !) de l'argument (en principe le vers le plus long du poème).

Évidemment, cet environnement ne peut s'étendre sur plus d'une page.

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}
\usepackage[showframe]{geometry}

% Environnement de poésie
\usepackage{verse}
\usepackage{babel}
\newenvironment{cverse}[1]{%
\settowidth{\versewidth}{#1}
\setlength{\leftmargini}{0pt}
\center\minipage{\versewidth}
\verse }
{\endverse\endminipage\endcenter}

\begin{document}

\begin{cverse}{Rien de pareil sur les nuages. »}
    \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{cverse}

\end{document}
Lien permanent

Publiée 30 Nov, 15:23

Bernard's gravatar image

Bernard
2.4k15
Taux d'acceptation : 31%

Modifiée 30 Nov, 15:37

Pathe's gravatar image

Pathe ♦♦
3.0k11182

C'est impeccable.

Mais ça va m'obliger à apprendre à utiliser sed, voire awk : il me faut changer, pour chaque poème, \settowidth{\versewidth}{<vers le plus long>} \begin{verse} en \begin{cverse}{<vers le plus long>} et \end{verse} en \end{cverse}. Vu la quantité, je ne vais pas faire ça poème par poème !

(30 Nov, 15:35) Pathe ♦♦ Pathe's gravatar image

@Pathe Pourquoi vous êtes obligé ? vous pouvez redéfinir l'environnement verse pour qu'elle fasse le travail de cverse.

(30 Nov, 19:38) touhami touhami's gravatar image

Je n'en suis malheureusement pas capable.

(30 Nov, 20:26) Pathe ♦♦ Pathe's gravatar image

@Pathe OK, je vais voir, mais avant de faire j'ai deux remarques 1) sans \begin{verse}[\versewidth], la ligne \settowidth{\versewidth}{...} n'a aucun effet 2) avec l'environnement minipage pas de coupeur de page (minipage est une boite).

(30 Nov, 20:50) touhami touhami's gravatar image

@touhami: Oui, je faisais dans ma réponse la remarque que minipage empêchait que l'environnement s'étalât sur plusieurs pages. Cela dit de longs poèmes qui s'écrivent sur plusieurs pages avec des vers courts, ça ne doit être très courant, il me semble.

(30 Nov, 22:14) Bernard Bernard's gravatar image

@Bernard : en effet, l'anthologie ne comprend que des poèmes ne se déployant que sur une page.

@touhami : en effet, sans \begin{verse}[\versewidth], la ligne \settowidth{\versewidth}{...} n'est que décorative, vous faites bien de le dire.

(01 Déc, 01:07) Pathe ♦♦ Pathe's gravatar image
Affichage de 5 parmi 6 Afficher 1 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.

Mots-clés de la question :

×4
×2

Question posée : 30 Nov, 14:21

Question vue : 133 fois

Dernière mise à jour : 01 Déc, 01:07