Trait vertical devant un ou plusieurs paragraphes

Tout ce qui concerne le langage TeX/LaTeX et ses variantes. Ce langage est utilisable sur le forum via les balises tex.
[participation réservée aux utilisateurs inscrits]
Règles du forum
Merci de soigner la rédaction de vos messages et de consulter ce sujet avant de poster. Pensez également à utiliser la fonction recherche du forum.
EricK
Utilisateur chevronné
Utilisateur chevronné
Messages : 1481
Inscription : jeudi 02 novembre 2006, 22:38
Contact :

[Résolu] Trait vertical devant un ou plusieurs paragraphes

Message non lu par EricK »

Je souhaite placer une barre verticale devant un (ou plusieurs) paragraphe(s) pouvant s'étaler sur plus d'une page (de préférence, sans utiliser un tableau), comme on voit dans certains livres ou il y a un trait en zig-zag devant un commentaire important (pas nécessaire que le trait soit en zig-zag).

Comment faire la chose simplement ?
Dernière modification par EricK le samedi 23 janvier 2010, 23:02, modifié 1 fois.
pg
Modérateur spécialisé
Modérateur spécialisé
Messages : 2613
Inscription : vendredi 15 juin 2007, 00:31

Re: Trait vertical devant un ou plusieurs paragraphes

Message non lu par pg »

Le package framed permet de faire cela simplement et sans trop d'inconvénients (mais par exemple les footnotes ne fonctionneront pas) :

Code : Tout sélectionner

\documentclass{article}

\usepackage{framed}
\renewenvironment{leftbar}{%
  \def\FrameCommand{\vrule width 0.4pt \hspace{10pt}}%
  \MakeFramed {\advance\hsize-\width \FrameRestore}}%
 {\endMakeFramed}

\begin{document}

\vspace*{15cm}

\begin{leftbar}
Bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla
\[A = \int_a^b \frac{\mathrm{d} t}{t^2}\]
Bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla.
\end{leftbar}

\end{document}
EricK
Utilisateur chevronné
Utilisateur chevronné
Messages : 1481
Inscription : jeudi 02 novembre 2006, 22:38
Contact :

Re: Trait vertical devant un ou plusieurs paragraphes

Message non lu par EricK »

Je te remercie, je vais tester ça.
RaphaelM

Re: Trait vertical devant un ou plusieurs paragraphes

Message non lu par RaphaelM »

Bonsoir,

Le package bclogo permet aussi de faire ceci.
Il permet aussi d'insérer des jolis petits logos...

Cordialement.
EricK
Utilisateur chevronné
Utilisateur chevronné
Messages : 1481
Inscription : jeudi 02 novembre 2006, 22:38
Contact :

Re: Trait vertical devant un ou plusieurs paragraphes

Message non lu par EricK »

Merci, je vais tester les différentes options mais c'est pour un bouquin à paraitre donc je vais éviter les fantaisies.
EricK
Utilisateur chevronné
Utilisateur chevronné
Messages : 1481
Inscription : jeudi 02 novembre 2006, 22:38
Contact :

Re: Trait vertical devant un ou plusieurs paragraphes

Message non lu par EricK »

pg a écrit :Le package framed permet de faire cela simplement et sans trop d'inconvénients (mais par exemple les footnotes ne fonctionneront pas) :

Code : Tout sélectionner

\documentclass{article}

\usepackage{framed}
\renewenvironment{leftbar}{%
  \def\FrameCommand{\vrule width 0.4pt \hspace{10pt}}%
  \MakeFramed {\advance\hsize-\width \FrameRestore}}%
 {\endMakeFramed}

\begin{document}

\vspace*{15cm}

\begin{leftbar}
Bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla
\[A = \int_a^b \frac{\mathrm{d} t}{t^2}\]
Bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla.
\end{leftbar}

\end{document}
Apparemment, il n'y a pas de documentation pour ce package sur ctan
http://tug.ctan.org/cgi-bin/ctanPackage ... ?id=framed
Altermundus
Utilisateur éprouvé
Utilisateur éprouvé
Messages : 557
Inscription : lundi 28 mai 2007, 10:31
Statut actuel : Autre
Localisation : Paris
Contact :

Re: Trait vertical devant un ou plusieurs paragraphes

Message non lu par Altermundus »

pg a écrit :Le package framed permet de faire cela simplement et sans trop d'inconvénients (mais par exemple les footnotes ne fonctionneront pas) :
Plus exactement elles fonctionnent mais elles se retrouvent sur la page où se termine le bloc. On peut ruser
mais après il faut sûrement jongler avec le compteur de footnotes dans un document conséquent.

Code : Tout sélectionner

\documentclass{article}

\usepackage{framed}
\renewenvironment{leftbar}{%
  \def\FrameCommand{\vrule width 0.4pt \hspace{10pt}}%
  \MakeFramed {\advance\hsize-\width \FrameRestore}}%
{\endMakeFramed}

\begin{document}

\vspace*{14cm}
 \footnotetext[1]{Jolie intégrale.}   
\begin{leftbar}
Bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla 
\[A = \int_a^b \frac{\mathrm{d} t}{t^2} \hspace{3cm} \footnotemark\] 
bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla    

Bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla. \footnotemark
\end{leftbar}
 
 \footnotetext{The End.} 
\end{document}    
pg
Modérateur spécialisé
Modérateur spécialisé
Messages : 2613
Inscription : vendredi 15 juin 2007, 00:31

Re: Trait vertical devant un ou plusieurs paragraphes

Message non lu par pg »

EricK a écrit :Apparemment, il n'y a pas de documentation pour ce package sur ctan
La doc est dans le fichier sty :
%====================== Begin Instructions =======================
%
% framed.sty
% ~~~~~~~~~~
% Create framed, shaded, or differently highlighted regions that can
% break across pages. The environments defined are
% framed -- ordinary frame box (\fbox) with edge at margin
% shaded -- shaded background (\colorbox) bleeding into margin
% snugshade -- similar
% leftbar -- thick vertical line in left margin
% to be used like
% \begin{framed}
% copious text
% \end{framed}
%
% But the more general purpose of this package is to facilitate the
% creation of environments that enable page breaking
% within arbitrary decorations using a simple new-environment definition
% incorporating \FrameCommand and
% \begin{MakeFramed}{settings} ... \end{MakeFramed}
%
% The "framed" environment uses "\fbox" as its "\FrameCommand" with
% the additional settings \fboxrule=\FrameRule and \fboxsep=\FrameSep.
% You can change these lengths (using \setlength) and you can change
% the definition of \FrameCommand to use much fancier boxes.
%
% In fact, the "shaded" environment just redefines \FrameCommand to be
% \colorbox{shadecolor} (and you have to define the color "shadecolor":
% \definecolor{shadecolor}...).
%
% A page break is allowed, and even encouraged, before the framed
% environment. If you want to attach some text (a box title) to the
% frame, then the text should be inserted by \FrameCommand.
%
% The contents of the framed regions are restricted:
% Floats, footnotes, marginpars and head-line entries will be lost.
% (Some of these may be handled in a later version.)
% This package will not work with the page breaking of multicol.sty,
% or other systems that perform column-balancing.
%
% The MakeFramed environment does the work. Its "settings" argument
% should contain any adjustments to the text width (applied to \hsize,
% and using the "\width" of the frame itself) as well as a "restore"
% command -- \@parboxrestore or \FrameRestore or something similar;
% as an example, the snugshade environment shows how to suppress excess
% spacing within the box, copying the code from minipage.
%
% Expert commands:
% \MakeFramed, \endMakeFramed: the "MakeFramed" environment
% \FrameCommand: command to draw the frame around its argument
% \FrameRestore: restore some text settings, but fewer than \@parboxrestore
% \FrameRule: length register; \fboxrule for default "framed".
% \FrameSep: length register; \fboxsep for default "framed".
% \FrameHeightAdjust: macro; height of frame above baseline at top of page
%
% This is still a `pre-production' version because I can think of many
% features/improvements that should be made. Nevertheless, starting
% with version 0.5 it should be bug-free.
%
% ToDo:
% Test more varieties of list
% Improve and correct documentation
% Propagation of \marks
% Handle footnotes (how??) floats (?) and marginpars.
% Stretchability modification.
%======================== End Instructions ========================
L'environnement leftbar, que j'ai un peu modifié, est défini plus bas dans le fichier. La syntaxe de base est que l'argument de \FrameCommand est la boîte du texte découpé, donc pour mettre quelque chose avant et après, il suffit de mettre quelque chose avant et après #1 ; par exemple, pour faire un environnement bracebars qui entoure les boîtes de \left\{ et \right\}, on peut faire ainsi :

Code : Tout sélectionner

\newcommand{\bracebox}[1]{$\left\{\hspace{5pt}\vcenter{#1}\hspace{5pt}\right\}$}
\newenvironment{bracebars}{%
  \def\FrameCommand{\bracebox}%
  \MakeFramed {\advance\hsize-\width \FrameRestore}}%
 {\endMakeFramed}
(J'ai défini une commande auxilliaire \bracebox pour éviter les problèmes de doublement de # pour les définitions dans un environnement ; le \vcenter est là pour des raisons techniques.)
pg
Modérateur spécialisé
Modérateur spécialisé
Messages : 2613
Inscription : vendredi 15 juin 2007, 00:31

Re: Trait vertical devant un ou plusieurs paragraphes

Message non lu par pg »

Altermundus a écrit :il faut sûrement jongler avec le compteur de footnotes dans un document conséquent.
Ce genre de chose peut s'automatiser, voir le fil footnote et thmbox sur fr.comp.text.tex.
Altermundus
Utilisateur éprouvé
Utilisateur éprouvé
Messages : 557
Inscription : lundi 28 mai 2007, 10:31
Statut actuel : Autre
Localisation : Paris
Contact :

Re: Trait vertical devant un ou plusieurs paragraphes

Message non lu par Altermundus »

pg a écrit :
Altermundus a écrit :il faut sûrement jongler avec le compteur de footnotes dans un document conséquent.
Ce genre de chose peut s'automatiser, voir le fil footnote et thmbox sur fr.comp.text.tex.
Soit tu as une bonne mémoire, soit tu es très bien organisé !! en tout cas merci !
De plus, cela me rappelle le bon temps quand Josselin distribuait ses conseils avec tant d'humour !

Alain
EricK
Utilisateur chevronné
Utilisateur chevronné
Messages : 1481
Inscription : jeudi 02 novembre 2006, 22:38
Contact :

Re: Trait vertical devant un ou plusieurs paragraphes

Message non lu par EricK »

Altermundus a écrit :
pg a écrit :Le package framed permet de faire cela simplement et sans trop d'inconvénients (mais par exemple les footnotes ne fonctionneront pas) :
Plus exactement elles fonctionnent mais elles se retrouvent sur la page où se termine le bloc. On peut ruser
mais après il faut sûrement jongler avec le compteur de footnotes dans un document conséquent.

Merci pour la remarque, le problème s'est présenté et j'ai effectivement du jongler avec le compteur (et d'autant plus que la note est au début d'un texte avec une barre qui s'étend sur deux pages et qu'il y a d'autres notes plus loin).

Ça me donne en gros ceci

Code : Tout sélectionner

\addtocounter{footnote}{1}
\footnotetext{On conserve la définition \og russe\fg de $F_{f}$. Dans la littérature \og occidentale\fg, on pose généralement $F_{f}(t)=\lambda_{m}\left(E(f\leq t)\right)$ pour $t\in\mathbb{R}$. (N.d.T.)}\addtocounter{footnote}{-1}
\begin{leftbar}
\smallskip
Soit $E\subset\mathbb{R}^{m}$, $f\in\mathscr{L}^{0}(E)$. On peut associer à la fonction~$f$ deux fonctions monotones $F_{f}$ et $F^{f}$ définies par\footnotemark
\begin{gather*}
    F_{f}(t)=\lambda_{m}\left(E(f<t)\right)\quad\text{pour $t\in\mathbb{R}$,}\\
    F^{f}(t)=\lambda_{m}\left(E(\abs{f}>t)\right)\quad\text{pour $t>0$,}
\end{gather*}
où $E(f<t)=\{x\in E:f(x)<t\}$. ...
\end{leftbar}
eagle
Utilisateur débutant
Utilisateur débutant
Messages : 3
Inscription : jeudi 09 février 2023, 13:09
Statut actuel : Autre

Re: Trait vertical devant un ou plusieurs paragraphes

Message non lu par eagle »

Bonjour

Si on utilise le code donné dans la réponse de PG de vendredi 22 janvier 2010, 12:13, est-ce que quelqu'un sait comment faire si on veut en plus appliquer un retrait à l'ensemble (trait vertical + paragraphe) ?

Je vous remercie d'avance pour votre réponse.
pg
Modérateur spécialisé
Modérateur spécialisé
Messages : 2613
Inscription : vendredi 15 juin 2007, 00:31

Re: Trait vertical devant un ou plusieurs paragraphes

Message non lu par pg »

Il suffit par exemple de rajouter un \hspace{1cm} juste au début du \FrameCommand.

Si c'est à chaque fois, utiliser :

Code : Tout sélectionner

\documentclass{article}

\usepackage{framed}
\renewenvironment{leftbar}{%
  \def\FrameCommand{\hspace{1cm}\vrule width 0.4pt \hspace{10pt}}%
  \MakeFramed{\advance\hsize -\width\FrameRestore}}%
 {\endMakeFramed}

\begin{document}

\vspace*{13.5cm}

Bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla 

\begin{leftbar}
Bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla
\[A = \int_a^b \frac{\mathrm{d} t}{t^2}\]
Bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla.
\end{leftbar}

Bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla 

\end{document}
leftbar_retrait.png

Si c'est au cas par cas, on peut par exemple rajouter un argument optionnel à l'environnement qui sera la distance voulue :

Code : Tout sélectionner

\documentclass{article}

\usepackage{framed}
\renewenvironment{leftbar}[1][0cm]{%
  \def\FrameCommand{\hspace{#1}\vrule width 0.4pt \hspace{10pt}}%
  \MakeFramed{\advance\hsize -\width\FrameRestore}}%
 {\endMakeFramed}

\begin{document}

\vspace*{13.5cm}

Bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla 

\begin{leftbar}[1cm]
Bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla
\[A = \int_a^b \frac{\mathrm{d} t}{t^2}\]
Bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla.
\end{leftbar}

Bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla 

\begin{leftbar}
Bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla
\[A = \int_a^b \frac{\mathrm{d} t}{t^2}\]
Bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla.
\end{leftbar}

\end{document}
jmd
Utilisateur confirmé
Utilisateur confirmé
Messages : 75
Inscription : samedi 06 février 2016, 11:08

Re: Trait vertical devant un ou plusieurs paragraphes

Message non lu par jmd »

Le package bclogo permet de mettre un simple trait vertical sans fioritures :

Code : Tout sélectionner

\documentclass{article}
\usepackage[tikz]{bclogo}
\usepackage{lipsum}

\begin{document

\begin{bclogo}[logo={}, epBarre=0.5, epBord=0]{}
	\lipsum[2-3]
\end{bclogo}

\end{document}
epBarre est l'épaisseur du trait vertical (en pt) ; epBord=0 permet de ne pas afficher de cadre ; logo={} permet de ne pas afficher de logo.
Pièces jointes
Capture d’écran 2023-02-10 à 09.44.32.png
iMac 27'' Intel Core i9 10 coeurs, 40 Go Ram, MacBook Pro 16", TeX Live
eagle
Utilisateur débutant
Utilisateur débutant
Messages : 3
Inscription : jeudi 09 février 2023, 13:09
Statut actuel : Autre

Re: Trait vertical devant un ou plusieurs paragraphes

Message non lu par eagle »

Merci pour vos réponses.

Si on utilise leftbar, est-il possible de réduire l'interligne entre le paragraphe avec trait vertical et le paragraphe qui le précède ?

Merci d'avance.
pg
Modérateur spécialisé
Modérateur spécialisé
Messages : 2613
Inscription : vendredi 15 juin 2007, 00:31

Re: Trait vertical devant un ou plusieurs paragraphes

Message non lu par pg »

Oui, il est possible de le faire en faisant par exemple \setlength{\OuterFrameSep}{0cm} (voire en mettant une quantité négative, mais attention aux chevauchements) :

Code : Tout sélectionner

\renewenvironment{leftbar}{%
  \setlength{\OuterFrameSep}{0cm}%
  \def\FrameCommand{\hspace{1cm}\vrule width 0.4pt \hspace{10pt}}%
  \MakeFramed{\advance\hsize -\width\FrameRestore}}%
 {\endMakeFramed}
Ne pas hésiter à regarder comme suggéré par jmd des packages plus perfectionnés comme bclogo ou mdframed, les documentations montrent de nombreux exemples de ce qu'il est possible de faire.
eagle
Utilisateur débutant
Utilisateur débutant
Messages : 3
Inscription : jeudi 09 février 2023, 13:09
Statut actuel : Autre

Re: Trait vertical devant un ou plusieurs paragraphes

Message non lu par eagle »

Merci bien.
Répondre
  • Sujets similaires
    Réponses
    Vues
    Dernier message