Comment encadrer du texte ?

recherche d'un mot
* Une solution consiste à définir un tableau d'une seule
cellule.

* On peut aussi utiliser :
\fbox{
\begin{minipage}{0.7\textwidth}
   Texte...
\end{minipage}
}

* On peut également se définir son propre environnement.

Exemple :
\newsavebox{\fmbox}
\newenvironment{fmpage}[1]
     {\begin{lrbox}{\fmbox}\begin{minipage}{#1}}
     {\end{minipage}\end{lrbox}\fbox{\usebox{\fmbox}}}

Utilisation :
\begin{fmpage}{3cm}
   Texte à encadrer dans une boîte ne dépassant pas 3
   centimètres de large.
\end{fmpage}
%%%% fin exemple %%%%

* Il existe également le package 'fancybox', disponible sur
ftp://ftp.inria.fr/pub/TeX/CTAN/macros/latex/contrib/others/seminar/inputs/, qui définit
des fonctions telles que \shadowbox, \doublebox, \ovalbox,...

Exemple :
\shadowbox{Texte ombré.}
\doublebox{Texte doublement encadré.}
\ovalbox{Texte dans un cadre aux coins arrondis.}
%%%% fin exemple %%%%

* Le package 'boxedminipage' est un vieux style LaTeX2.09
disponible sur ftp://ftp.inria.fr/pub/TeX/CTAN/macros/latex209/contrib/misc/.

* Voir également le package 'hh' disponible sur
ftp://ftp.inria.fr/pub/TeX/CTAN/macros/latex/contrib/hh/.

* Le package 'niceframe' disponible sur
ftp://ftp.inria.fr/pub/TeX/CTAN/macros/latex/contrib/niceframe/ permet de
définir des cadres pleine page.

* Pour encadrer un texte pouvant s'étendre sur plusieurs pages,
il existe le package 'eclbkbox' :
%%%% debut macro %%%%
% eclbkbox.sty by Hideki Isozaki, 1992
% Date: May  28, 1993

\newbox\bk@bxb
\newbox\bk@bxa
\newif\if@bkcont
\newif\ifbkcount
\newcount\bk@lcnt

\def\breakboxskip{2pt}
\def\breakboxparindent{1.8em}

\def\breakbox{\vskip\breakboxskip\relax
\setbox\bk@bxb\vbox\bgroup
\advance\linewidth -2\fboxrule
\advance\linewidth -2\fboxsep
\hsize\linewidth\@parboxrestore
\parindent\breakboxparindent\relax}

% \@tempdimb: amount of vertical skip
% between the first line (\bk@bxa) and the rest (\bk@bxb)
\def\bk@split{%
\@tempdimb\ht\bk@bxb % height of original box
\advance\@tempdimb\dp\bk@bxb
\setbox\bk@bxa\vsplit\bk@bxb to\z@ % split it
\setbox\bk@bxa\vbox{\unvbox\bk@bxa}% recover height & depth of \bk@bxa
\setbox\@tempboxa\vbox{\copy\bk@bxa\copy\bk@bxb}% naive concatenation
\advance\@tempdimb-\ht\@tempboxa
\advance\@tempdimb-\dp\@tempboxa}% gap between two boxes


% \@tempdima: height of the first line (\bk@bxa) + fboxsep
\def\bk@addfsepht{%
     \setbox\bk@bxa\vbox{\vskip\fboxsep\box\bk@bxa}}

\def\bk@addskipht{%
     \setbox\bk@bxa\vbox{\vskip\@tempdimb\box\bk@bxa}}

% \@tempdima: depth of the first line (\bk@bxa) + fboxsep
\def\bk@addfsepdp{%
     \@tempdima\dp\bk@bxa
     \advance\@tempdima\fboxsep
     \dp\bk@bxa\@tempdima}

% \@tempdima: depth of the first line (\bk@bxa) + vertical skip
\def\bk@addskipdp{%
     \@tempdima\dp\bk@bxa
     \advance\@tempdima\@tempdimb
     \dp\bk@bxa\@tempdima}

\def\bk@line{%
    \hbox to \linewidth{\ifbkcount\smash{\llap{\the\bk@lcnt\ }}\fi
    \vrule \@width\fboxrule\hskip\fboxsep
    \box\bk@bxa\hfil
    \hskip\fboxsep\vrule \@width\fboxrule}}

\def\endbreakbox{\egroup
\ifhmode\par\fi{\noindent\bk@lcnt\@ne
\@bkconttrue\baselineskip\z@\lineskiplimit\z@
\lineskip\z@\vfuzz\maxdimen
\bk@split\bk@addfsepht\bk@addskipdp
\ifvoid\bk@bxb      % Only one line
\def\bk@fstln{\bk@addfsepdp
\vbox{\hrule\@height\fboxrule\bk@line\hrule\@height\fboxrule}}%
\else               % More than one line
\def\bk@fstln{\vbox{\hrule\@height\fboxrule\bk@line}\hfil
\advance\bk@lcnt\@ne
\loop
 \bk@split\bk@addskipdp\leavevmode
\ifvoid\bk@bxb      % The last line
 \@bkcontfalse\bk@addfsepdp
 \vtop{\bk@line\hrule\@height\fboxrule}%
\else               % 2,...,(n-1)
 \bk@line
\fi
 \hfil\advance\bk@lcnt\@ne
\if@bkcont\repeat}%
\fi
\leavevmode\bk@fstln\par}\vskip\breakboxskip\relax}

\bkcountfalse
%%%% fin macro %%%%

L'encadrement du texte est obtenu par l'environnement breakbox.

\bkcounttrue : les lignes sont numérotées.
\bkcountfalse : elles ne le sont pas (défaut).

On peut emboîter des environnements breakbox.

Retour à la FAQ LaTeX
Proposition de modification de la FAQ LaTeX :
bayartb at edgard point fdn point fr
Commentaire sur la version HTML de cette FAQ :
Fabien Torre
© Copyright 1997 Marie-Paule Kluth. Tous droits réservés.

Valid XHTML 1.0! Valid CSS!