Wiki Forum

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

Tout ce qui concerne l'utilisation (ou l'installation) de LaTeX.

Modérateur: Modérateurs_LaTeX

Règles du forum
Merci d'éviter le style SMS dans vos messages. Penser à utiliser les balises Code pour poster du code.
Penser à utiliser la fonction Recherche avant de poster un message.

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

Messagede EricK le Vendredi 22 Janvier 2010, 12:38

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 édition par EricK le Dimanche 24 Janvier 2010, 00:02, édité 1 fois.
EricK
Téra-utilisateur
 
Messages: 1049
Inscription: Jeudi 02 Novembre 2006, 23:38
Statut actuel: Actif et salarié | Enseignant

Re: Trait vertical devant un ou plusieurs paragraphes

Messagede pg le Vendredi 22 Janvier 2010, 13:13

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}
pg
Modérateur
 
Messages: 1283
Inscription: Vendredi 15 Juin 2007, 00:31

Re: Trait vertical devant un ou plusieurs paragraphes

Messagede EricK le Vendredi 22 Janvier 2010, 13:17

Je te remercie, je vais tester ça.
EricK
Téra-utilisateur
 
Messages: 1049
Inscription: Jeudi 02 Novembre 2006, 23:38
Statut actuel: Actif et salarié | Enseignant

Re: Trait vertical devant un ou plusieurs paragraphes

Messagede RaphaelM le Vendredi 22 Janvier 2010, 20:22

Bonsoir,

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

Cordialement.
RaphaelM
Déca-utilisateur
 
Messages: 22
Inscription: Jeudi 07 Mai 2009, 19:48
Statut actuel: Actif et salarié | Enseignant

Re: Trait vertical devant un ou plusieurs paragraphes

Messagede EricK le Samedi 23 Janvier 2010, 00:08

Merci, je vais tester les différentes options mais c'est pour un bouquin à paraitre donc je vais éviter les fantaisies.
EricK
Téra-utilisateur
 
Messages: 1049
Inscription: Jeudi 02 Novembre 2006, 23:38
Statut actuel: Actif et salarié | Enseignant

Re: Trait vertical devant un ou plusieurs paragraphes

Messagede EricK le Samedi 23 Janvier 2010, 12:20

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
EricK
Téra-utilisateur
 
Messages: 1049
Inscription: Jeudi 02 Novembre 2006, 23:38
Statut actuel: Actif et salarié | Enseignant

Re: Trait vertical devant un ou plusieurs paragraphes

Messagede Altermundus le Samedi 23 Janvier 2010, 12:52

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}   
Altermundus
Méga-utilisateur
 
Messages: 369
Inscription: Lundi 28 Mai 2007, 10:31
Localisation: Paris
Statut actuel: Actif et salarié | Enseignant

Re: Trait vertical devant un ou plusieurs paragraphes

Messagede pg le Samedi 23 Janvier 2010, 13:00

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
 
Messages: 1283
Inscription: Vendredi 15 Juin 2007, 00:31

Re: Trait vertical devant un ou plusieurs paragraphes

Messagede pg le Samedi 23 Janvier 2010, 13:04

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.
pg
Modérateur
 
Messages: 1283
Inscription: Vendredi 15 Juin 2007, 00:31

Re: Trait vertical devant un ou plusieurs paragraphes

Messagede Altermundus le Samedi 23 Janvier 2010, 15:58

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
Altermundus
Méga-utilisateur
 
Messages: 369
Inscription: Lundi 28 Mai 2007, 10:31
Localisation: Paris
Statut actuel: Actif et salarié | Enseignant

Re: Trait vertical devant un ou plusieurs paragraphes

Messagede EricK le Samedi 23 Janvier 2010, 18:49

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}
EricK
Téra-utilisateur
 
Messages: 1049
Inscription: Jeudi 02 Novembre 2006, 23:38
Statut actuel: Actif et salarié | Enseignant


Retourner vers LaTeX

Qui est en ligne

Utilisateurs parcourant ce forum: Exabot [Bot], Yahoo [Bot] et 2 invités