Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente | ||
composition:texte:paragraphes:encadrer_du_texte [2016/10/16 07:50] – jejust | 3_composition:texte:paragraphes:encadrer_du_texte [2022/06/30 19:22] (Version actuelle) – [L'extension awesomebox] dbitouze | ||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
- | \question{Comment encadrer du texte~?} | + | ====== |
- | \reponse Une solution consiste à définir un tableau d'une seule | + | ===== Avec la commande de base \fbox ===== |
- | cellule. | + | |
- | \reponse On peut aussi utiliser~: | + | La commande '' |
- | \begin{noexemple} | + | |
- | \fbox{ | + | <WRAP column 40ex> |
- | \begin{minipage}{0.7\textwidth} | + | <code latex> |
- | Texte... | + | Je souhaite \fbox{encadrer} un mot |
+ | dans un paragraphe. | ||
+ | </ | ||
+ | </ | ||
+ | <WRAP column 30ex> | ||
+ | < | ||
+ | \documentclass{article} | ||
+ | \usepackage[width=9cm, | ||
+ | \pagestyle{empty} | ||
+ | \begin{document} | ||
+ | Je souhaite | ||
+ | \end{document} | ||
+ | </ | ||
+ | </ | ||
+ | <WRAP clear /> | ||
+ | |||
+ | 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 '' | ||
+ | |||
+ | <WRAP column 40ex> | ||
+ | <code latex> | ||
+ | \fbox{% | ||
+ | \begin{minipage}{0.75\textwidth} | ||
+ | Je souhaite encadrer tout un | ||
+ | | ||
\end{minipage} | \end{minipage} | ||
} | } | ||
- | \end{noexemple} | + | </ |
+ | </ | ||
+ | <WRAP column 30ex> | ||
+ | < | ||
+ | \documentclass{article} | ||
+ | \usepackage[width=9cm, | ||
+ | \usepackage{microtype} | ||
+ | \pagestyle{empty} | ||
+ | \begin{document} | ||
- | \reponse On peut également se définir son propre environnement. Voir | + | \fbox{% |
- | le source~\vref{fmpage}. | + | \begin{minipage}{0.75\textwidth} |
+ | Je souhaite encadrer tout un | ||
+ | | ||
+ | \end{minipage} | ||
+ | } | ||
- | \begin{file}{fmpage.sty}{fmpage} | + | \end{document} |
- | \newsavebox{\fmbox} | + | </ |
- | \newenvironment{fmpage}[1] | + | </ |
- | | + | <WRAP clear/> |
- | {\end{minipage}\end{lrbox}\fbox{\usebox{\fmbox}}} | + | |
- | \end{file} | + | |
- | \begin{inexemple}{Utilisation de l'environnement définit | + | La commande |
- | \input{faq.fmpage.sty} | + | |
- | \begin{fmpage}{3cm} | + | |
- | Texte \`a encadrer dans une bo\^ite ne | + | |
- | d\'epassant pas 3 centim\`etres de large. | + | |
- | \end{fmpage} | + | |
- | \end{inexemple} | + | |
- | \reponse Il existe également le package | + | <WRAP column 40ex> |
- | \ctan{macros/latex/contrib/seminar/inputs/}, qui définit | + | <code latex> |
- | des fonctions telles que \cmd{shadowbox}, \cmd{doublebox}, \cmd{ovalbox}, | + | Je souhaite |
- | etc. | + | dans un paragraphe. |
+ | |||
+ | {% Cette paire d' | ||
+ | % que la modification n' | ||
+ | % qu'un effet local. | ||
+ | \setlength{\fboxrule}{2pt} | ||
+ | Je souhaite | ||
+ | dans un paragraphe. | ||
+ | } | ||
+ | |||
+ | {% | ||
+ | | ||
+ | Je souhaite \fbox{encadrer} un mot | ||
+ | dans un paragraphe. | ||
+ | } | ||
+ | </code> | ||
+ | </WRAP> | ||
+ | <WRAP column 30ex> | ||
+ | < | ||
+ | \documentclass{article} | ||
+ | \usepackage[width=9cm, | ||
+ | \pagestyle{empty} | ||
+ | \begin{document} | ||
+ | |||
+ | Je souhaite \fbox{encadrer} un mot | ||
+ | dans un paragraphe. | ||
+ | |||
+ | {% Cette paire d' | ||
+ | % que la modification n' | ||
+ | % qu'un effet local. | ||
+ | | ||
+ | Je souhaite \fbox{encadrer} un mot | ||
+ | dans un paragraphe. | ||
+ | } | ||
+ | |||
+ | {% | ||
+ | | ||
+ | Je souhaite \fbox{encadrer} un mot | ||
+ | dans un paragraphe. | ||
+ | } | ||
+ | |||
+ | \end{document} | ||
+ | </latexdoc> | ||
+ | </WRAP> | ||
+ | <WRAP clear/> | ||
+ | |||
+ | ===== Avec l' | ||
+ | |||
+ | Avoir du texte encadré revient à avoir un tableaau avec une unique cellule : | ||
+ | |||
+ | <WRAP column 40ex> | ||
+ | <code latex> | ||
+ | \begin{tabular}{|p{5cm}|} | ||
+ | \hline | ||
+ | On ne dirait pas, mais il s' | ||
+ | ici d'un tableau. \\ | ||
+ | \hline | ||
+ | \end{tabular} | ||
+ | </ | ||
+ | </ | ||
+ | <WRAP column 30ex> | ||
+ | < | ||
+ | \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} | ||
+ | </ | ||
+ | </ | ||
+ | <WRAP clear/> | ||
+ | |||
+ | ===== Exemples avancés avec d' | ||
+ | |||
+ | Les méthodes ci-dessous fournissent des cadres d' | ||
+ | D' | ||
+ | au look plus moderne, avec couleurs et icônes. | ||
+ | |||
+ | Certaines extensions permettent également d' | ||
+ | ou des blocs de texte s' | ||
+ | |||
+ | ==== L' | ||
+ | |||
+ | L' | ||
+ | |||
+ | <WRAP column 40ex> | ||
+ | <code latex> | ||
+ | \usepackage{fancybox} | ||
- | \begin{noexemple} | ||
\shadowbox{Texte ombré.} | \shadowbox{Texte ombré.} | ||
\doublebox{Texte doublement encadré.} | \doublebox{Texte doublement encadré.} | ||
\ovalbox{Texte dans un cadre | \ovalbox{Texte dans un cadre | ||
aux coins arrondis.} | aux coins arrondis.} | ||
- | \end{noexemple} | + | </ |
+ | </ | ||
+ | <WRAP column 30ex> | ||
+ | < | ||
+ | \documentclass{article} | ||
+ | \usepackage[width=9cm, | ||
+ | \usepackage{fancybox} | ||
+ | \pagestyle{empty} | ||
+ | \begin{document} | ||
- | \reponse Le package \pack{boxedminipage} est un vieux style \LaTeX2.09 | + | \shadowbox{Texte ombré.} |
- | disponible sur \ctan{macros/ | + | \smallskip |
- | \reponse Voir également le package \pack{hhflxbox} disponible sur | + | \doublebox{Texte doublement encadré.} |
- | \ctan{usergrps/ | + | \smallskip |
- | %\url{ftp:// | + | |
- | \reponse Le package \pack{niceframe} disponible sur | + | \ovalbox{Texte dans un cadre |
- | \ctan{macros/latex/ | + | aux coins arrondis.} |
- | définir des cadres pleine page. | + | \end{document} |
+ | </latexdoc> | ||
+ | </WRAP> | ||
+ | <WRAP clear /> | ||
- | \reponse Pour encadrer un texte pouvant s'étendre sur plusieurs pages, on | + | ==== L'extension awesomebox ==== |
- | peut utiliser l' | + | |
- | disponible sur \ctan{macros/ | + | |
- | Le package \pack{boitesexemples} disponible au même endroit, définit les | + | L' |
- | environnements \env{boiteepaisseavecuntitre}, | + | mais peut mettre en valeur un bloc de texte avec une icône |
- | \env{boitenumeroteeavecunedoublebarre} | + | |
- | \env{boiteavecunelignequiondulesurlecote} | + | |
- | proposent différentes méthodes d' | + | |
- | \begin{descrcmd} | + | <WRAP column 45ex> |
- | \item[bkcounttrue] les lignes sont numérotées ; | + | <code latex> |
- | \item[bkcountfalse] elles ne le sont pas (défaut). | + | \documentclass{article} |
- | \end{descrcmd} | + | \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} | ||
+ | </ | ||
+ | </ | ||
+ | <WRAP column 30ex> | ||
+ | < | ||
+ | \documentclass{article} | ||
+ | \usepackage[width=9cm, | ||
+ | \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} | ||
+ | </ | ||
+ | </ | ||
+ | <WRAP clear/> | ||
+ | |||
+ | [[ctanpkg> | ||
+ | utilisables sous forme d'une commande ou d'un environnement: | ||
+ | |||
+ | ^ Pour... | ||
+ | | Une note | '' | ||
+ | | Une suggestion | ||
+ | | Un avertissement | ||
+ | | Une mise en garde | '' | ||
+ | | Une remarque importante | ||
+ | |||
+ | <note tip> | ||
+ | Il est également très facile de définir vos propres boîtes avec la commande | ||
+ | '' | ||
+ | [[ctanpkg> | ||
+ | et/ou après votre bloc de texte: | ||
+ | <WRAP clear /> | ||
+ | |||
+ | <code latex> | ||
+ | \documentclass{article} | ||
+ | \usepackage{awesomebox} | ||
+ | |||
+ | \begin{document} | ||
+ | |||
+ | \awesomebox[white][\abShortLine]{0pt}{\faGrinBeam[regular]}{pink}{Ceci va vous rendre heureux\dots} | ||
+ | |||
+ | \end{document} | ||
+ | </ | ||
+ | </ | ||
+ | |||
+ | |||
+ | ==== L' | ||
+ | |||
+ | L' | ||
+ | pour dessiner ses cadres. | ||
+ | Si vous avez l' | ||
+ | qui permet de paramétrer finement l' | ||
+ | structures...). | ||
+ | |||
+ | À cause de ses possibilités de configuration immenses, [[texdoc> | ||
+ | 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: | ||
+ | |||
+ | <WRAP column 50ex> | ||
+ | <code latex> | ||
+ | \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' | ||
+ | \end{tcolorbox} | ||
+ | |||
+ | \end{document} | ||
+ | </ | ||
+ | </ | ||
+ | <WRAP column 40ex> | ||
+ | < | ||
+ | \documentclass{article} | ||
+ | \usepackage[width=6cm, | ||
+ | \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' | ||
+ | \end{tcolorbox} | ||
+ | |||
+ | \end{document} | ||
+ | </ | ||
+ | </ | ||
+ | <WRAP clear /> | ||
+ | |||
+ | |||
+ | ==== L' | ||
+ | |||
+ | Pour encadrer un texte pouvant s' | ||
+ | de l' | ||
+ | '' | ||
+ | des environnements qui proposent différentes méthodes d' | ||
+ | * '' | ||
+ | * '' | ||
+ | * '' | ||
+ | * et '' | ||
+ | |||
+ | Ces environnements peuvent tous être modifiés par deux commandes | ||
+ | * '' | ||
+ | * '' | ||
+ | |||
+ | Il est également possible d' | ||
+ | |||
+ | |||
+ | |||
+ | ==== L' | ||
+ | |||
+ | L' | ||
+ | |||
+ | FIXME Détailler [[ctanpkg> | ||
+ | |||
+ | ==== L' | ||
+ | |||
+ | L' | ||
+ | |||
+ | FIXME Détailler [[ctanpkg> | ||
+ | |||
+ | ==== L' | ||
+ | |||
+ | FIXME Détailler [[ctanpkg> | ||
+ | |||
+ | |||
+ | ===== Avec des environnements « faits maison » ===== | ||
+ | |||
+ | Les extensions présentées ci-dessus sont évidemment bien plus plus puissantes | ||
+ | mais, à titre pédagogique, | ||
+ | pour encadrer des paragraphes de texte : | ||
+ | |||
+ | <file latex fmpage.sty> | ||
+ | \newsavebox{\fmbox} | ||
+ | \newenvironment{fmpage}[1] | ||
+ | {\begin{lrbox}{\fmbox}\begin{minipage}{# | ||
+ | {\end{minipage}\end{lrbox}\fbox{\usebox{\fmbox}}} | ||
+ | </ | ||
+ | |||
+ | Et voici un exemple d' | ||
+ | |||
+ | <WRAP column 40ex> | ||
+ | <code latex> | ||
+ | \input{fmpage.sty} | ||
+ | |||
+ | \begin{fmpage}{3cm} | ||
+ | Texte à encadrer dans une boîte | ||
+ | ne dépassant pas 3 centimètres | ||
+ | de large. | ||
+ | \end{fmpage} | ||
+ | </ | ||
+ | </ | ||
+ | <WRAP column 30x> | ||
+ | < | ||
+ | \documentclass{article} | ||
+ | \usepackage[width=6cm, | ||
+ | \pagestyle{empty} | ||
+ | |||
+ | \newsavebox{\fmbox} | ||
+ | \newenvironment{fmpage}[1] | ||
+ | {\begin{lrbox}{\fmbox}\begin{minipage}{# | ||
+ | {\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} | ||
- | On peut emboîter ces environnements. | + | \end{document} |
+ | </ | ||
+ | </ | ||
+ | <WRAP clear/> | ||
- | \endinput | + | {{htmlmetatags> |
+ | metatag-og: | ||
+ | metatag-og: | ||
+ | }} | ||