---
myst:
html_meta:
keywords: LaTeX,entourer du texte,mettre un cadre,dessiner un cadre,dessiner des filets
---
# Comment encadrer du texte ?
## Avec la commande de base `\fbox`
La commande `\fbox` met son argument dans une boîte (comme `\parbox`) puis dessine un cadre autour :
```
\documentclass{article}
\usepackage[width=9cm,height=1cm]{geometry}
\pagestyle{empty}
\begin{document}
Je souhaite \fbox{encadrer} un mot dans un paragraphe.
\end{document}
```
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` :
```
\documentclass{article}
\usepackage[width=9cm,height=7cm]{geometry}
\usepackage{microtype}
\pagestyle{empty}
\begin{document}
\fbox{%
\begin{minipage}{0.75\textwidth}
Je souhaite encadrer tout un
paragraphe, sur plusieurs lignes.
\end{minipage}
}
\end{document}
```
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` :
```{noedit}
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.
}
```
```
\documentclass{article}
\usepackage[width=9cm,height=7cm]{geometry}
\pagestyle{empty}
\begin{document}
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.
}
\end{document}
```
## Avec l'environnement tabular
Avoir du texte encadré revient à avoir un tableaau avec une unique cellule :
```{noedit}
\begin{tabular}{|p{5cm}|}
\hline
On ne dirait pas, mais il s'agit
ici d'un tableau. \\
\hline
\end{tabular}
```
```
\documentclass{article}
\usepackage[width=9cm,height=7cm]{geometry}
\pagestyle{empty}
\begin{document}
\begin{tabular}{|p{5cm}|}
\hline
On ne dirait pas, mais il s'agit ici d'un tableau. \\
\hline
\end{tabular}
\end{document}
```
## Exemples avancés avec d'autres extensions
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
L'extension définit des commandes telles que `\shadowbox`, `\doublebox` et `\ovalbox`, qui fonctionnent de la même manière que `\fbox` ci-dessus :
```{noedit}
\usepackage{fancybox}
\shadowbox{Texte ombré.}
\doublebox{Texte doublement encadré.}
\ovalbox{Texte dans un cadre
aux coins arrondis.}
```
```
\documentclass{article}
\usepackage[width=9cm,height=7cm]{geometry}
\usepackage{fancybox}
\pagestyle{empty}
\begin{document}
\shadowbox{Texte ombré.}
\smallskip
\doublebox{Texte doublement encadré.}
\smallskip
\ovalbox{Texte dans un cadre
aux coins arrondis.}
\end{document}
```
### L'extension awesomebox
L'extension 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[width=9cm,height=7cm]{geometry}
\usepackage{awesomebox}
\pagestyle{empty}
\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 !}
\smallskip
\end{document}
```
[Awesomebox](ctanpkg:awesomebox) a cinq dessins de base, utilisables sous forme d'une commande ou d'un environnement :
| Pour... | Commande | Environnement | Exemple |
|-------------------------|-----------------|---------------------------------------------------|----------------------------------------------|
| Une note | `\notebox` | `\begin{noteblock}`...`\end{noteblock}` | ![alt](/_static/images/awesomebox-0.png) |
| Une suggestion | `\tipbox` | `\begin{tipblock}`...`\end{tipblock}` | ![alt](/_static/images/awesomebox-1.png) |
| Un avertissement | `\warningbox` | `\begin{warningblock}`...`\end{warningblock}` | ![alt](/_static/images/awesomebox-2.png) |
| Une mise en garde | `\cautionbox` | `\begin{cautionblock}`...`\end{cautionblock}` | ![alt](/_static/images/awesomebox-3.png) |
| Une remarque importante | `\importantbox` | `\begin{importantblock}`...`\end{importantblock}` | ![alt](/_static/images/awesomebox-4.png) |
:::{tip}
Il est également très facile de définir vos propres boîtes avec la commande `\awesomebox`. Les icônes peuvent être choisies parmi celles de l'extension , et vous pouvez mettre des filets horizontaux avant et/ou après votre bloc de texte :
```{noedit}
\documentclass{article}
\usepackage{awesomebox}
\begin{document}
\awesomebox[white][\abShortLine]{0pt}{\faGrinBeam[regular]}{pink}{Ceci va vous rendre heureux\dots}
\end{document}
```
:::
### L'extension tcolorbox
L'extension utilise [TikZ/PGF](ctanpkg:tikz) pour dessiner ses cadres. Si vous avez l'habitude de Ti*k*Z, 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](texdoc:tcolorbox) 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 :
```{noedit}
\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}
```
```
\documentclass{article}
\usepackage[width=6cm,height=6cm]{geometry}
\usepackage{microtype}
\usepackage[french]{babel}
\usepackage{tcolorbox}
\pagestyle{empty}
\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}
```
### L'extension boites
Pour encadrer un texte pouvant s'étendre sur plusieurs pages, on peut utiliser l'environnement `breakbox` de l'extension . Cette extension définit également, par le biais du fichier `boites_exemples.sty` (à charger car ne le précharge pas), des environnements qui proposent différentes méthodes d'encadrement :
- `boiteepaisseavecuntitre` ;
- `boitenumeroteeavecunedoublebarre` ;
- `boiteavecunelignequiondulesurlecote` ;
- et `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 niceframe
L'extension permet de définir des cadres pleine page.
:::{todo} Détailler .
:::
### L'extension boxedminipage
L'extension correspond à un vieux style LaTeX 2.09 qui a été actualisé.
:::{todo} Détailler .
:::
### L'extension bclogo
:::{todo} Détailler .
:::
## Avec des environnements « faits maison »
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 :
```{noedit}
\input{fmpage.sty}
\begin{fmpage}{3cm}
Texte à encadrer dans une boîte
ne dépassant pas 3 centimètres
de large.
\end{fmpage}
```
```
\documentclass{article}
\usepackage[width=6cm,height=7cm]{geometry}
\pagestyle{empty}
\newsavebox{\fmbox}
\newenvironment{fmpage}[1]
{\begin{lrbox}{\fmbox}\begin{minipage}{#1}}
{\end{minipage}\end{lrbox}\fbox{\usebox{\fmbox}}}
\begin{document}
\begin{fmpage}{3cm}
Texte à encadrer dans une boîte
ne dépassant pas 3 centimètres
de large.
\end{fmpage}
\end{document}
```