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 membres 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

[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 : 2605
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

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

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

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

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 : 2605
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 : 2605
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

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

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}