Ceci est une ancienne révision du document !


\question{Comment encadrer du texte ?}

\reponse Une solution consiste à définir un tableau d'une seule cellule.

\reponse On peut aussi utiliser : \begin{noexemple} \fbox{ \begin{minipage}{0.7\textwidth}

 Texte...

\end{minipage} } \end{noexemple}

\reponse On peut également se définir son propre environnement. Voire le source~\ref{fmpage}.

\begin{file}{fmpage.sty}{fmpage} \newsavebox{\fmbox} \newenvironment{fmpage}[1]

  {\begin{lrbox}{\fmbox}\begin{minipage}{#1}}
  {\end{minipage}\end{lrbox}\fbox{\usebox{\fmbox}}}

\end{file}

\begin{inexemple}{Utilisation de l'environnement définit par \fichier{fmpage.sty}} \input{faq.fmpage.sty} \begin{fmpage}{3cm}

 Texte à encadrer dans une boîte ne
 dépassant pas 3 centimètres de large.

\end{fmpage} \end{inexemple}

\reponse Il existe également le package \pack{fancybox}, disponible sur \ctan{macros/latex/contrib/others/seminar/inputs/}, qui définit des fonctions telles que \cmd{shadowbox}, \cmd{doublebox}, \cmd{ovalbox}, etc.

\begin{noexemple} \shadowbox{Texte ombré.} \doublebox{Texte doublement encadré.} \ovalbox{Texte dans un cadre

aux coins arrondis.}

\end{noexemple}

\reponse Le package \pack{boxedminipage} est un vieux style \LaTeX2.09 disponible sur \ctan{macros/latex209/contrib/misc/}.

\reponse Voir également le package \pack{hh} disponible sur \ctan{macros/latex/contrib/supported/hh/}.

\reponse Le package \pack{niceframe} disponible sur \ctan{macros/latex/contrib/supported/niceframe/} permet de définir des cadres pleine page.

\reponse Pour encadrer un texte pouvant s'étendre sur plusieurs pages, il existe le package \pack{eclbkbox} : source~\ref{eclbkbox}.

\begin{file}{eclbkbox.sty}{eclbkbox} % 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 \end{file}

L'encadrement du texte est obtenu par l'environnement \env{breakbox}.

\cmd{bkcounttrue} : les lignes sont numérotées.

\cmd{bkcountfalse} : elles ne le sont pas (défaut).

On peut emboîter des environnements \env{breakbox}.

2_composition/texte/paragraphes/encadrer_du_texte.1014588005.txt.gz · Dernière modification: 2002/02/24 23:00 par benjamin
CC Attribution-Share Alike 4.0 International
Driven by DokuWiki Recent changes RSS feed Valid CSS Valid XHTML 1.0