Modifier displayquote

Bonjour,

Je souhaite, ou plutôt on me demande, d’avoir des displayquote dont le contenu soit sans marge à droite. J’ai essayé plein de choses qui ne fonctionnent pas ! Un tuyau ?

Bonjour,

Je souhaite, ou plutôt on me demande, d’avoir des displayquote dont le contenu soit sans marge à droite. J’ai essayé plein de choses qui ne fonctionnent pas ! Un tuyau ?

Afin de nous aider à vous aider, merci de fournir un ECM.

Bonjour, la question manque de clarté, par « sans marge à droite », voulez-vous dire « non justifié à droite » ?

\documentclass{article}
\usepackage{csquotes} % pour l'environnement displayquote
\usepackage{lipsum} % texte fictif
\begin{document}
\begin{displayquote}
	\lipsum[1]
\end{displayquote}

\begin{displayquote}
	\raggedright\lipsum[1]
\end{displayquote}
\end{document}

Bonjour

Denis a raison : un ECM aiderait à préciser le contexte, car le package csquotes dispose de plein d’options.

Néanmoins vous pouvez tenter d’ajouter en fin de préambule :

\AddToHook{cmd/displayquote/after}{\advance \rightskip by -\rightmargin}

Selon ce que vous attendez cela pourra au moins dépanner.

En fait, displayquote appelle quote et quote compose en incrémentant la marge gauche et la marge droite.

\documentclass{article}
\usepackage{csquotes} % pour l'environnement displayquote
\usepackage{lipsum} % texte fictif
\begin{document}
\lipsum[1]
\begin{displayquote}
	\lipsum[1]
\end{displayquote}
\end{document}


Je pense que la demande est de supprimer l’incrémentation de la marge droite.

Si telle est bien le cas, on peut modifier le hook comme dans mon message précédent. Mais si l’on répugne à bricoler le rightskip, la commande SetBlockEnvironment permet de remplacer quote par n’importe quoi d’autre.

\documentclass{article}
\usepackage{csquotes} % pour l'environnement displayquote
\usepackage{lipsum} % texte fictif
\newenvironment{specialquote}{\begin{list}{}{\setlength{\rightmargin}{0pt}\item[]}}
{\end{list}}
\SetBlockEnvironment{specialquote}
\begin{document}
\lipsum[1]
\begin{displayquote}
	\lipsum[1]
\end{displayquote}
\end{document}

Ceci est l’utilisation habituelle:

\documentclass[11pt]{book}
\usepackage[a3paper]{geometry}
\usepackage{csquotes,}
\usepackage{lipsum}
\begin{document}
\lipsum[1]
\begin{displayquote}
\lipsum[1]
\end{displayquote}
\lipsum[3]
\end{document

avec la solution proposée ci-dessus:

\documentclass[11pt]{book}
\usepackage[a3paper]{geometry}
\usepackage[base]{babel}
\usepackage{csquotes,}
\usepackage{lipsum}
\newenvironment{specialquote}{\begin{list}{}{\setlength{\rightmargin}{0pt}\item[]}}
{\end{list}}
\SetBlockEnvironment{specialquote}
\begin{document}
\lipsum[1]
\begin{displayquote}
\lipsum[1]
\end{displayquote}
\lipsum[3]
\end{document}

le texte du bloc displayquote est bien poussé à droite comme je le souhaite, mais l’espace en-dessous du bloc a disparu

Mea maxima culpa. Il fallait lire :

\newenvironment{specialquote}{\begin{list}{}
{\setlength{\rightmargin}{0pt}}\item[]}
{\end{list}}

Bien sûr :innocent:

Ah oui, en effet, je n’avais pas remarqué la légère réduction de la largeur.

Il faut dire que :

  1. je ne connaissais pas l’environnement displayquote, mais en charchant « displayquote latex » sur un moteur de recherche, cela m’a renvoyé vers le package csquotes (que je connais de nom, mais que je n’ai pas le réflexe d’employer, son utilité semblant rare en langue française ; il est très rapidement évoqué dans le livre LaTeX l’essentiel, en lien avec les guillemets anglais);
  2. la documentation de csquotes évoque la syntaxe de l’environnement, mais n’illustre pas son action. Il faut consulter le paragraphe précédent la section 6.1 (présentant la syntaxe de displayquote) pour comprendre que l’environnement présente la citation avec un retrait à gauche et à droite.

À l’auteur de la question initiale : un exemple illustrant la question aurait largement aidé. Une copie d’écran aide également, surtout si elle est annotée.

Par exemple avec :

\documentclass{article}
\usepackage{csquotes}
\usepackage{lipsum}
\usepackage{showframe}

\begin{document}

\begin{displayquote}
\lipsum[1]
\end{displayquote}

\end{document}

on peut accompagner la question du code ci-dessus et de l’image suivante :

(showframe affiche clairement les limites de la zone de texte principale)

Mieux avec une annotation :

À penser pour les prochaines fois :).

La dernière réponse de Michel Bovani répond tout à fait à ma question.
Merci beaucoup

t.d.

OK, mais la prochaine fois, précisez les packages que vous employez si vous ne mettez pas de code, je ne connaissais pas l’environnement displayquote. Il y a près de 7000 packages sur le CTAN, et potentiellement plusieurs packages proposant un environnement du même nom (peut-être pas avec displayquote, mais le risque est réel).

Merci.