Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentes Révision précédente | Dernière révision Les deux révisions suivantes | ||
3_composition:texte:pages:positionner_un_objet_de_facon_absolue_sur_la_page2 [2021/01/30 12:14] jejust Restructuration de la page. Ajout d'un exemple avec TikZ avec ses explications. |
3_composition:texte:pages:positionner_un_objet_de_facon_absolue_sur_la_page2 [2021/02/14 22:23] yannick.tanguy Fusion de deux pages françaises très proches. |
||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
- | ====== Comment mettre des choses à une position déterminée sur la page ? ====== | + | ====== Comment mettre des éléments à une position donnée sur une page ? ====== |
- | Le paradigme du monde TeX est (en gros) que l'auteur écrit un texte, | + | Le paradigme du monde <latex>\TeX</latex> est (en gros) que l'auteur écrit un texte, puis que <latex>\TeX</latex> et ses commandes décident de la façon dont tout ça est mis en page. Ce choix est parfois malheureux pour l'auteur qui, pour une raison ou une autre, doit parfois s'assurer que certaines choses apparaissent //exactement// là où il veut sur la page. Quelques extensions permettent cependant de positionner de répondre à ce besoin. |
- | puis que <latex>\TeX{}</latex> et ses macros décident de la façon | + | |
- | dont tout ça est mis en page. | + | |
- | C'est malheureux pour l'auteur qui, pour une raison ou une autre, | + | |
- | devrait s'assurer que certaines choses apparaissent **exactement** | + | |
- | là où il veut sur la page. | + | |
- | Cela dit, il existe des endroits sur la page où on peut « accrocher » des choses, | + | ===== Avec l'extension TikZ ===== |
- | et trois paquets LaTeX (au moins) permettent de positionner des objets | + | |
- | par rapport à ces points, fournissant ainsi un moyen de positionnement absolu: | + | |
- | * [[ctanpkg>tikz]], | + | |
- | * [[ctanpkg>textpos]], | + | |
- | * [[ctanpkg>eso-pic]]. | + | |
- | Ils sont détaillés ci-dessous. | + | L'extension la plus polyvalente est [[ctanpkg>tikz|tikz]] : |
- | + | ||
- | ===== Avec TikZ ===== | + | |
- | + | ||
- | $\Reponse$ Le package le plus polyvalent est [[ctanpkg>tikz]], même si ce n'est pas son but premier: | + | |
<code latex> | <code latex> | ||
Ligne 36: | Ligne 22: | ||
<WRAP column half> | <WRAP column half> | ||
<note important> | <note important> | ||
- | Pour les deux options ''overlay'' et ''remember picture'' sont indispensables | + | Pour les deux options ''overlay'' et ''remember picture'' sont indispensables pour placer des points de façon absolue sur la page. |
- | pour placer des points de façon absolue sur la page. | + | * ''overlay'' permet que des points soient placé en-dehors de l'image sans agrandir sa //bounding box// (autrement dit la boîte qui la délimite), |
- | * ''overlay'' permet que des points soient placé en-dehors de l'image sans agrandir sa //bounding box//, | + | |
* ''remember picture'' stocke des références aux nœuds dans le fichier ''.aux'', pour qu'elles puissent être utilisées par <latex>\LaTeX</latex> à la compilation suivante (voir l'avertissement ci-contre). | * ''remember picture'' stocke des références aux nœuds dans le fichier ''.aux'', pour qu'elles puissent être utilisées par <latex>\LaTeX</latex> à la compilation suivante (voir l'avertissement ci-contre). | ||
</note> | </note> | ||
Ligne 44: | Ligne 29: | ||
<WRAP column half> | <WRAP column half> | ||
<note warning> | <note warning> | ||
- | Vous aurez besoin de deux compilations successives de votre document | + | Vous aurez besoin de deux compilations successives de votre document pour que les nœuds apparaissent, car Ti//k//Z utilise le fichier ''.aux'' pour les placer aux bons endroits sur la page. |
- | pour que les nœuds apparaissent, car Ti//k//Z utilise le fichier ''.aux'' | + | |
- | pour les placer aux bons endroits sur la page. | + | |
</note> | </note> | ||
</WRAP> | </WRAP> | ||
<WRAP clear/> | <WRAP clear/> | ||
- | ===== Avec textpos ===== | + | ===== Avec l'extension textpos ===== |
- | $\Reponse$ Le package [[ctanpkg>textpos]] permet de construire des pages à partir de « blobs » | + | L'extension [[ctanpkg>textpos|textpos]] permet de construire des pages à partir de « blobs » (de n'importe quoi, en fait), répartis sur toute la page, comme sur une affiche. Vous devez utiliser pour cela l'environnement ''textblock'' auquel vous donnez les coordonnées //(x,y)// (par rapport au coin supérieur gauche d'une page) ainsi que le contenu de ce « blob ». |
- | (de n'importe quoi, en fait), répartis sur toute la page, comme sur une affiche ; | + | |
- | vous lui donnez l'emplacement, et il place votre boîte en conséquence. | + | |
+ | Vous pouvez utiliser un repère absolu à l'aide de l'argument optionnel ''[absolute]'' dont l'origine est donnée à l'aide de ''\textblockorigin''. Les abscisses et les ordonnées sont spécifiées avec ''\TPHorizModule'' et ''\TPVertModule''. En voici un exemple : | ||
- | ===== Avec eso-pic ===== | + | <code latex> |
+ | \documentclass{article} | ||
- | $\Reponse$ Le package [[ctanpkg>eso-pic]] définit une « image de sortie » qui couvre la page. | + | \usepackage[absolute]{textpos} |
- | Vous pouvez ajouter des commandes « en mode image », qui peuvent bien sûr inclure | + | |
- | des placements de boîtes ou autres. | + | |
- | (//Eso-pic// appelle [[ctanpkg>everyshi]], qui doit donc être aussi disponible). | + | |
+ | % Unités en abscisses et en ordonnées | ||
+ | \setlength{\TPHorizModule}{100pt} | ||
+ | \setlength{\TPVertModule}{\TPHorizModule} | ||
+ | |||
+ | % Point de référence | ||
+ | \textblockorigin{10mm}{10mm} | ||
+ | |||
+ | \begin{document} | ||
+ | \begin{textblock}{2}(1,1) | ||
+ | Du texte de largeur 2 dont le coin | ||
+ | haut/gauche est en (1,1). | ||
+ | \end{textblock} | ||
+ | |||
+ | \begin{textblock}{2}[0.5,0.5](3,2) | ||
+ | Un autre texte de largeur 2 dont le | ||
+ | centre est en (3,2). | ||
+ | \end{textblock} | ||
+ | \end{document} | ||
+ | </code> | ||
+ | |||
+ | ===== Avec l'extension eso-pic ===== | ||
+ | |||
+ | L'extension [[ctanpkg>eso-pic|eso-pic]] définit une « image de sortie » qui couvre la page. Vous pouvez ajouter des commandes « en mode image », qui peuvent bien sûr inclure des placements de boîtes ou autres. Cette extension appelle [[ctanpkg>everyshi]], qui doit donc être aussi disponible. | ||
----- | ----- | ||
+ | |||
//Source:// [[faquk>FAQ-abspos|Putting things at fixed positions on the page]] | //Source:// [[faquk>FAQ-abspos|Putting things at fixed positions on the page]] | ||
- | {{htmlmetatags>metatag-keywords=(LaTeX,mixe en page,positionnement absolu sur la page, position sur la page,positionnement précis,mettre des choses à une position fixe sur la page) | + | {{htmlmetatags>metatag-keywords=(LaTeX,mixe en page,positionnement absolu sur la page,position sur la page,positionnement précis,mettre des choses à une position fixe sur la page) |
- | metatag-og:title=(Comment mettre des choses à une position déterminée sur la page ?) | + | metatag-og:title=(Comment mettre des éléments à une position donnée sur une page) |
metatag-og:site_name=(FAQ LaTeX francophone) | metatag-og:site_name=(FAQ LaTeX francophone) | ||
}} | }} | ||
- |