Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
Prochaine révision
Révision précédente
composition:texte:paragraphes:ajuster_la_taille_d_une_minipage [2018/05/24 08:39] joseph.wright3_composition:texte:paragraphes:ajuster_la_taille_d_une_minipage [2023/01/14 09:18] (Version actuelle) – [Avec l'extension “pbox”] Limitation de pbox bdumont
Ligne 1: Ligne 1:
---- +====== Comment optimiser la largeur d'une minipage? ======
-title:  Automatic sizing of `minipage+
-section: How do I do…? +
-subsection: Odds and ends +
-date: 2014-06-10 +
----+
  
-The `minipage` environment requires you to specify the +L'environnement ''minipage'' vous oblige à spécifier la largeur de la  « page » que vous allez créer. Ceci peut être parfois gênant car vous pourriez souhaiter que <latex>\LaTeX</latex> cherche à adapter cette zone afin qu'elle prenne le moins d'espace possible. Plusieurs solutions existent.
-width of the ''page'' you're going to create.  This is sometimes +
-inconvenient: you would like to occupy less space, if possible, but +
-`minipage` sets a box that is exactly the width you +
-specified.+
  
-The [`pbox`](https://ctan.org/pkg/pbox) package defines a `\pbox` whose width is exactly +===== Avec l'extension “pbox” =====
-that of the longest enclosed line, subject to a maximum width that you +
-give it.  So while `\parbox{2cm}{Hello world!}` produces a +
-box of width exactly `2cm`, +
-`\pbox{2cm}{Hello world!}` produces one whose width is +
-`1.79cm` (if one's using the default `cmr` font for the +
-text, at least).  The package also provides a +
-`\settominwidth[min]{length}{text}` (which looks (almost) +
-like the standard `\settowidth` command), and a `\widthofpbox` +
-function analogous to the `\widthof` command for use with the +
-[`calc`](https://ctan.org/pkg/calc) package.+
  
-The [`eqparbox`](https://ctan.org/pkg/eqparboxpackage extends [`pbox`](https://ctan.org/pkg/pbox)'s idea, by +L'extension [[ctanpkg>pbox|pbox]] définit une commande ''\pbox'' qui génère une boîte dont la largeur est exactement celle de la plus longue ligne qu'elle contient, en tenant compte d'une largeur maximale que vous lui donnez. Les deux commandes suivantes n'auront dès lors pas tout à fait le même comportement : 
-allowing you to set a series of boxesall with the same (minimised) + 
-width (Note that it doesn't accept a limiting maximum width +<code latex> 
-parameter.)  The package documentation shows the following example +\parbox{2cm}{Coucou !} 
-drawn from a joke _curriculum vitae_+ 
-```latex+\pbox{2cm}{Coucou !} 
 +</code> 
 + 
 +La première produit une boîte de largeur exactement ''2cm'' tandis que la seconde en produit une moins large (sous réserve d'avoir une fonte peu encombrante). 
 + 
 +L'extension fournit également : 
 +  * une commande ''\settominwidth[⟨min⟩]{⟨longueur⟩}{⟨texte⟩}'' qui ressemble (presqueà la commande standard ''\settowidth''
 +  * et une commande ''\widthofpbox'' analogue à la commande ''\widthof'', à utiliser avec l'extension [[ctanpkg>calc|calc]].  
 + 
 +<note important>Si vous utilisez ''\raggedright'', ''\raggedleft'' ou ''centering'' (ou un des environnements correspondants) dans l'argument de ''\parbox'', la boîte qui en résultera sera toujours de la largeur maximale spécifiée. Si vous êtes dans ce cas, utilisez plutôt [[3_composition:texte:paragraphes:ajuster_la_taille_d_une_minipage#avec_l_extension_varwidth|l'environnement varwidth]].</note> 
 +===== Avec l'extension “eqparbox” ===== 
 + 
 +L'extension [[ctanpkg>eqparbox|eqparbox]] développe l'idée de [[ctanpkg>pbox|pbox]] en vous permettant de définir une série de boîtestoutes avec la même largeur (minimisée). Notez bien qu'elle ne prend pas de paramètre de largeur maximale limite et qu'elle demande deux compilations pour que les ajustements de taille se fassentLa [[texdoc>eqparbox|documentation de l'extension]] propose un exemple présentant un //curriculum vitae// imaginaire :  
 + 
 +<WRAP column 60ex> 
 +<code latex
 +\documentclass{article} 
 +\usepackage{eqparbox} 
 +\pagestyle{empty} 
 +\begin{document}
 \noindent% \noindent%
-\eqparbox{place}{\textbf{Widgets, Inc.}} \hfill +\eqparbox{lieu}{\textbf{Musée DKnuth}} \hfill 
-\eqparbox{title}{\textbf{Senior Widget Designer}} \hfill +\eqparbox{titre}{\textbf{Chef de projet}} 
-\eqparbox{dates}{\textbf{1/95--present}}+\hfill 
 +\eqparbox{dates}{\textbf{01/1995--présent}}
  
-...+\noindent% 
 +\eqparbox{lieu}{\textbf{Société LLamport}} 
 +\hfill 
 +\eqparbox{titre}{\textbf{Ingénieur}} \hfill 
 +\eqparbox{dates}{\textbf{09/1992--12/1994}} 
 +\end{document} 
 +</code> 
 +</WRAP>
  
 +<WRAP column 60ex>
 +<latexdoc>
 +% Le code est bidouillé en l'absence d'une double compilation.
 +\documentclass{article}
 +\usepackage{eqparbox}
 +\pagestyle{empty}
 +\begin{document}
 +\begin{tabbing}
 \noindent% \noindent%
-\eqparbox{place}{\textbf{Thingamabobs, Ltd.}} \hfill +\eqparbox{lieu}{\textbf{Musée DKnuth\hspace*{1.7cm}}} \hfill \= 
-\eqparbox{title}{\textbf{Lead Engineer}} \hfill +\eqparbox{title}{\textbf{Chef de projet\hspace*{1cm}}} \hfill \= 
-\eqparbox{dates}{\textbf{9/92--12/94}} +\eqparbox{dates}{\textbf{01/1995--présent}} \\ 
-``` +\noindent% 
-The code makes the three items on each of the heading lines have +\eqparbox{lieu}{\textbf{Société LLamport}} \hfill \> 
-exactly the same width, so that the lines as a whole produce a regular +\eqparbox{title}{\textbf{Ingénieur}} \hfill \> 
-pattern down the page A command `\eqboxwidth` allows you to use +\eqparbox{dates}{\textbf{09/1992--12/1994}} 
-the measured width of a group: the documentation shows how the command +\end{tabbing} 
-may be used to produce sensible-looking columns that mix `c`-, +\end{document} 
-`r`- or `l`-rows, with the equivalent of a <code class="verb">p{...&#x7d;</code+</latexdoc> 
-entryby making the fixed-width rows an [`eqparbox`](https://ctan.org/pkg/eqparboxgroupand +</WRAP
-making the last from a `\parbox` using the width that's been +<WRAP clear /> 
-measured for the group.+ 
 +Le code fait en sorte quepour chacun des trois groupes (« lieu »,« titre » et « dates »), les éléments associés aient exactement la même largeur, de sorte que les lignes dans leur ensemble produisent un motif régulier tout au long de la page.  
 + 
 +Une commande ''\eqboxwidth'' vous permet d'utiliser la largeur mesurée d'un groupe, ce qui permet d'obtenir d'autres effets que présente la [[texdoc>eqparbox|documentation de l'extension]] sous forme de différents exemples. 
 + 
 +===== Avec l'extension “varwidth” ===== 
 + 
 +L'extension [[ctanpkg>varwidth|varwidth]] définit un environnement ''varwidth'' qui répond très précisément au sujet. Vous lui donnez les mêmes paramètres que vous donneriez à ''minipage'' et elle adapte sa largeur en fonction du contenu. 
 + 
 +L'extension fournit également sa propre commande de texte pour mettre en forme un texte aligné à gauche, ''\narrowragged'', qui rend les lignes de texte plus courtes et met plus de texte dans la dernière ligne du paragraphe, produisant ainsi des lignes avec des longueurs plus égales que ce que donne ''\raggedright''
  
-The [`varwidth`](https://ctan.org/pkg/varwidth) package defines a `varwidth` +-----
-environment which sets the content of the box to match a ''narrower +
-natural width'' if it finds one.  (You give it the same parameters as +
-you would give `minipage`: in effect, it is a ''drop-in'' +
-replacement.)  [`Varwidth`](https://ctan.org/pkg/Varwidth) provides its own ragged text command: +
-`\narrowragged`, which aims to make narrower lines and to put more +
-text in the last line of the paragraph (thus producing lines with more +
-nearly equal lengths than typically happens with `\raggedright` +
-itself).+
  
-The documentation (in the package file) lists various restrictions and +//Source:// [[faquk>FAQ-varwidth|Automatic sizing of `minipage`]]
-things still to be done, but the package is already proving useful for +
-a variety of jobs.+
  
 +{{htmlmetatags>metatag-keywords=(LaTeX,minipage,varwidth,largeur,pbox)
 +metatag-og:title=(Comment optimiser la largeur d'une minipage)
 +metatag-og:site_name=(FAQ LaTeX francophone)
 +}}
  
3_composition/texte/paragraphes/ajuster_la_taille_d_une_minipage.1527151150.txt.gz · Dernière modification : 2018/05/24 08:39 (modification externe)
CC Attribution-Share Alike 4.0 International
Driven by DokuWiki Recent changes RSS feed Valid CSS Valid XHTML 1.0