La commande \fbox
met son argument dans une boîte (comme \parbox
) puis dessine un cadre autour :
Je souhaite \fbox{encadrer} un mot dans un paragraphe.
Mais attention : tout le texte passé à la commande va se retrouver sur une seule ligne, sans coupure de mot possible !
Pour encadrer tout un paragraphe, une solution est de le placer dans un environnement minipage
:
\fbox{% \begin{minipage}{0.75\textwidth} Je souhaite encadrer tout un paragraphe, sur plusieurs lignes. \end{minipage} }
La commande \fbox est soumise à quelques paramètres : par exemple, l'épaisseur du trait et l'espace entre le texte et le trait est défini respectivement par les longueurs \fboxrule
et \fnboxsep
:
Je souhaite \fbox{encadrer} un mot dans un paragraphe. {% Cette paire d'accolades permet % que la modification n'ait % qu'un effet local. \setlength{\fboxrule}{2pt} Je souhaite \fbox{encadrer} un mot dans un paragraphe. } {% \setlength{\fboxsep}{1.5ex} Je souhaite \fbox{encadrer} un mot dans un paragraphe. }
Avoir du texte encadré revient à avoir un tableaau avec une unique cellule :
Les méthodes ci-dessous fournissent des cadres d'apparence très classique. D'autres extensions dessinent des cadres adaptés à des documents au look plus moderne, avec couleurs et icônes.
Certaines extensions permettent également d'encadrer des pages entières, ou des blocs de texte s'étendant sur plusieurs pages.
L'extension fancybox définit des commandes telles que \shadowbox
, \doublebox
et \ovalbox
, qui fonctionnent de la même manière que \fbox
ci-dessus :
\usepackage{fancybox} \shadowbox{Texte ombré.} \doublebox{Texte doublement encadré.} \ovalbox{Texte dans un cadre aux coins arrondis.}
L'extension awesomebox ne dessine pas de cadres à proprement parler, mais peut mettre en valeur un bloc de texte avec une icône et un filet coloré:
\documentclass{article} \usepackage{awesomebox} \begin{document} \notebox{Notez bien ceci !} \smallskip \importantbox{Lisez bien ce paragraphe avant de passer à la suite de ce document sinon, vous risquez de perdre votre temps en considérations inutiles !} \end{document}
Awesomebox a cinq dessins de base, utilisables sous forme d'une commande ou d'un environnement:
\awesomebox
. Les icônes peuvent être choisies parmi celles de l'extension
fontawesome5, et vous pouvez mettre des filets horizontaux avant
et/ou après votre bloc de texte:
\documentclass{article} \usepackage{awesomebox} \begin{document} \awesomebox[white][\abShortLine]{0pt}{\faGrinBeam[regular]}{pink}{Ceci va vous rendre heureux\dots} \end{document}
L'extension tcolorbox utilise TikZ/PGF pour dessiner ses cadres. Si vous avez l'habitude de TikZ, vous apprécierez la syntaxe clefs-valeurs qui permet de paramétrer finement l'apparence des cadres (couleurs, formes, structures…).
À cause de ses possibilités de configuration immenses, sa documentation fait plus de 500 pages (en anglais). Mais les deux exemples ci-dessous montrent qu'il n'est vraiment pas compliqué de dessiner des cadres déjà adaptés à pas mal de circonstances, et les nombreuses illustrations de la documentation devraient vous aider à aller plus loin:
\documentclass{article} \usepackage{tcolorbox} \begin{document} \begin{tcolorbox} Le cadre par défaut \end{tcolorbox} \smallskip \begin{tcolorbox}[colback=red!5!white, colframe=red!75!black, title=Cadre sexy ] Un autre cadre \textbf{plus coloré}, séparé en deux parties, et portant un titre. \tcblower Demain, \textit{j'enlève le bas}. \end{tcolorbox} \end{document}
Pour encadrer un texte pouvant s'étendre sur plusieurs pages, on peut utiliser l'environnement breakbox
de l'extension boites. Cette extension définit également, par le biais du fichier
boites_exemples.sty
(à charger car boites ne le précharge pas),
des environnements qui proposent différentes méthodes d'encadrement :
boiteepaisseavecuntitre
;boitenumeroteeavecunedoublebarre
;boiteavecunelignequiondulesurlecote
;boitecoloriee
.Ces environnements peuvent tous être modifiés par deux commandes :
bkcounttrue
qui numérote les lignes de ces boîtes ;bkcountfalse
qui ne les numérote plus (option par défaut).Il est également possible d'emboîter ces environnements.
L'extension boxedminipage correspond à un vieux style 2.09 qui a été actualisé.
Détailler boxedminipage.
Détailler bclogo.
Les extensions présentées ci-dessus sont évidemment bien plus plus puissantes mais, à titre pédagogique, voici un exemple d'environnement « fait main » pour encadrer des paragraphes de texte :
\newsavebox{\fmbox} \newenvironment{fmpage}[1] {\begin{lrbox}{\fmbox}\begin{minipage}{#1}} {\end{minipage}\end{lrbox}\fbox{\usebox{\fmbox}}}
Et voici un exemple d'utilisation de ce fichier :