Outils pour utilisateurs

Outils du site


issue207:latex

Welcome back to another adventure with Latex. This time we are going to explore the geometry package. Geometry is a page layout package. The user sets some dimensions of objects on each page of the document and the package can calculate the remaining values. Values are specified using key/value pairs which is advantageous for both clarity and uniformity with other packages. In most cases, there are a number of different sets of settings which can produce the same result. For example, setting the paper size, margin ratio and the left margin will determine the right margin; or setting the paper size, margin ratio and right margin will determine the left margin. Any key setting which violates one (or more) of the others will generate a warning and geometry will ignore one of the key settings. Before we continue, a few words about paper sizes, which are the controlling factors in page design. Most countries in the world use A4 paper as the default paper size. Canada, the Philippines, and the USA use a default paper size called “letter”. A4 is part of a series of ISO-recognized paper sizes. A0 is the largest, an A0 sheet is one square metre (841mm x 1189mm, rounded to the closest mm). Each sheet size is exactly half of the previous largest size, actual size is determined by folding the larger size parallel to its shorter sides. So A1 is ½ of A0, A2 is ½ of A1, etc. A4 is 210mm x 297mm. Letter size is 216mm x 279mm, larger in the short dimension (usually the horizontal dimension). and smaller in the long dimension. The aspect ratio of all paper sizes generated from A0 is √2 or 1:1.41421 (short:long). The aspect ratio of letter size is 1:1.29.

Bienvenue dans cette nouvelle aventure avec LaTeX. Cette fois-ci, nous allons explorer le paquet geometry. Geometry est un paquet de mise en page. L'utilisateur définit certaines dimensions des objets sur chaque page du document et le paquet peut calculer les valeurs restantes. Les valeurs sont spécifiées à l'aide de paires clé/valeur, ce qui est avantageux pour des raisons de clarté et d'uniformité avec d'autres logiciels. Dans la plupart des cas, il existe un certain nombre d'ensembles de paramètres différents qui peuvent produire le même résultat. Par exemple, la définition du format du papier, du rapport de marge et de la marge gauche déterminera la marge droite ; ou la définition du format du papier, du rapport de marge et de la marge droite déterminera la marge gauche. Tout paramètre-clé qui viole l'un (ou plusieurs) des autres générera un avertissement et geometry ignorera l'un des paramètres clés.

Avant de poursuivre, quelques mots sur les formats de papier, qui sont les facteurs déterminants de la conception des pages. La plupart des pays du monde utilisent le format A4 comme format de papier par défaut. Le Canada, les Philippines et les États-Unis utilisent un format de papier par défaut appelé « letter ». Le format A4 fait partie d'une série de formats de papier reconnus par l'ISO. A0 est le plus grand. Une feuille A0 mesure un mètre carré (841 mm x 1189 mm, arrondi au mm le plus proche). Chaque format de feuille correspond exactement à la moitié du format précédent, la taille réelle étant déterminée en pliant le format le plus grand parallèlement à ses côtés les plus courts. Ainsi, A1 est ½ de A0, A2 est ½ de A1, etc. Le format A4 fait 210 mm x 297 mm. Le format letter fait 216 mm x 279 mm, plus grand dans la dimension courte (généralement la dimension horizontale) et plus petit dans la dimension longue. Le rapport hauteur/largeur de tous les formats de papier générés à partir de A0 est √2 ou 1:1,41421 (court/long). Le rapport hauteur/largeur du format letter est de 1:1,29.

The geometry package also accepts several other less frequently used paper sizes: b0paper – b6paper, c0paper – c6paper, b0j – b6j (Japanese sizes), as well as letterpaper (216mm x 279mm), legalpaper (216mm x 356mm), and executivepaper (184mm x 267mm) to accommodate North American standards. It is also possible to set paperwidth and paperheight to specific dimensions if necessary or desirable. Geometry supports either portrait (short dimension horizontal), or landscape (long dimension horizontal) orientation for paper. Portrait is default, and need not be specified. Geometry does not support changing orientation for specific pages in a document. If that is required then the lscape package is also required. Geometry supports two-sided printing with the twoside Boolean key. If a document is to be printed two-sided, it may require extra space for the inner margin to allow for the space required for binding. This key is bindingoffset – which adds the specified amount to the inner margin. I have set up some example pages to show a small part of the flexibility of the geometry package. Example one is a fairly standard page: [paper=letterpaper, lmargin=36mm, marginratio=1:1, headheight=25mm]. Since the left margin is set to 32.5mm and the margin ratio is 1:1, the right margin will also be 32.5mm. (These settings are comparable to reasonably acceptable defaults for word processing.

Le paquet geometry accepte également plusieurs autres formats de papier moins fréquemment utilisés : papier b0 - papier b6, papier c0 - papier c6, b0j - b6j (formats japonais), ainsi que letterpaper (216 mm x 279 mm), legalpaper (216 mm x 356 mm) et executivepaper (184 mm x 267 mm) pour répondre aux normes nord-américaines. Il est également possible de définir des dimensions spécifiques pour la largeur et la hauteur du papier, si cela est nécessaire ou souhaitable.

Geometry prend en charge l'orientation portrait (dimension courte horizontale) ou paysage (dimension longue horizontale) du papier. L'orientation portrait est l'orientation par défaut et n'a pas besoin d'être spécifiée. Geometry ne permet pas de modifier l'orientation de certaines pages d'un document. Si cela est nécessaire, le paquet lscape est également requis.

Geometry supporte l'impression recto-verso avec la clé booléenne twoside. Si un document doit être imprimé recto-verso, il peut nécessiter un espace supplémentaire pour la marge intérieure afin de tenir compte de l'espace nécessaire à la reliure. Cette clé est bindingoffset (décalage de reliure) - qui ajoute la quantité spécifiée à la marge intérieure.

J'ai créé quelques pages d'exemple pour montrer une petite part de la flexibilité du paquet geometry. Le premier exemple est une page assez standard : [paper=letterpaper, lmargin=36mm, marginratio=1:1, headheight=25mm]. Étant donné que la marge gauche est fixée à 36 mm et que le rapport de marge est de 1:1, la marge droite sera également de 36 mm. (Ces paramètres sont comparables aux valeurs par défaut raisonnablement acceptables pour le traitement de texte.)

One magazine I subscribe to has a final paper size of 19cm x 26cm. It has two columns of text printed on both sides of the page. The outside margin is 2.5cm, the inside margin is also 2.5cm including the space required for binding. The top margin is 2.3cm and the bottom margin is 3.3cm. The footer appears 2.5cm below the text block. Geometry does not control what happens inside the text block, so setting for two columns and setting the space between columns is in the control of another package. Settings for this magazine could be: Example 2 settings: [paperheight=26cm, paperwidth=19cm, top=2.3cm, bottom=2.3cm, left=2.5cm, right=2.5cm]. This combination of settings is only one way to specify the layout for this magazine. The page designer could also work from letter size paper or A4 paper, and use the four margins to control the size of the text block. There are often two or more ways to use the many settings available in the geometry package to specify a layout. Remember the goal of LaTeX / Tex is to generate a standard PDF file which can be read on screen, or printed. When doing page design, it is important to know what the readers expect. It may be desirable for some design elements to be different if the document is to be read on screen compared to being printed.

Un magazine auquel je suis abonné a un format final de 19 cm x 26 cm. Il comporte deux colonnes de texte imprimées sur les deux côtés de la page. La marge extérieure est de 2,5 cm, la marge intérieure est également de 2,5 cm, y compris l'espace nécessaire à la reliure. La marge supérieure est de 2,3 cm et la marge inférieure de 3,3 cm. Le pied de page apparaît à 2,5 cm en dessous du bloc de texte. Geometry ne contrôle pas ce qui se passe à l'intérieur du bloc de texte, de sorte que la définition de deux colonnes et de l'espace entre les colonnes relève d'un autre paquet. Les paramètres de ce magazine pourraient être les suivants : Paramètres du 2e exemple : [paperheight=26cm, paperwidth=19cm, top=2.3cm, bottom=2.3cm, left=2.5cm, right=2.5cm].

Cette combinaison de paramètres n'est qu'une façon de spécifier la mise en page de ce magazine. Le concepteur de pages peut également travailler sur du papier de format letter ou A4 et utiliser les quatre marges pour contrôler la taille du bloc de texte. Il y a souvent deux façons ou plus d'utiliser les nombreux paramètres disponibles dans le paquet geometry pour spécifier une mise en page.

N'oubliez pas que l'objectif de LaTeX/TeX est de générer un fichier PDF standard qui peut être lu à l'écran ou imprimé. Lors de la conception des pages, il est important de savoir ce que les lecteurs attendent. Il peut être souhaitable que certains éléments de conception soient différents si le document doit être lu à l'écran plutôt qu'imprimé.

Changing geometry mid document (1) \newgeometry{options} changes the page layout mid-document. \newgeometry is almost similar to \geometry except that \newgeometry disables all the options specified by \usepackage and \geometry in the preamble and skips paper size-related options. \restoregeometry restores the page layout specified in the preamble. This command has no arguments. \savegeometry{name} saves the page dimensions as ‘name’ where you put this command. \loadgeometry{name} loads the page dimensions saved as ’name’. Types of options for geometry are: Boolean (true – false), one option, (key=value) two option key={value1,value2}, three option (key={value1,value2, value3}. Two value options can be shortened to one value if both values are identical. For three-value options, all options must have a value or a null, (use * for null). You should specify at least one value. Setting all three values to null makes no sense.

Changement de géométrie en milieu de document (1)

\newgeometry{options} modifie la mise en page en cours de document. \newgeometry est presque similaire à \geometry sauf que \newgeometry désactive toutes les options spécifiées par \usepackage et \geometry dans le préambule et ignore les options liées au format du papier.

\restoregeometry restaure la mise en page spécifiée dans le préambule. Cette commande n'a pas d'arguments.

\savegeometry{name} enregistre les dimensions de la page sous 'name' à l'endroit où vous avez placé cette commande. \loadgeometry{nom} charge les dimensions de la page sauvegardées sous 'name'.

Les types d'options de geometry sont les suivants : Booléen (vrai - faux) ; une option, (clé=valeur) ; deux options, clé={valeur1,valeur2} ; trois options, (clé={valeur1,valeur2, valeur3}. Les options à deux valeurs peuvent être réduites à une seule valeur si les deux valeurs sont identiques. Pour les options à trois valeurs, toutes les options doivent avoir une valeur ou une valeur nulle (utilisez * pour nulle). Vous devez spécifier au moins une valeur. Définir les trois valeurs à nulle n'a pas de sens.

Options available There are five pages of options in five different categories in the documentation for the geometry package. The ones in this article are only a few of the common ones. The papersize category includes all of the sizes I discussed at the beginning of this article plus others. Paperwidth and paperheight can be given using the papersize parameter with two values: width, height. The papersize category includes portrait, landscape, and screen. Screen is a special size for presentations: 225mm x 180mm. This gives an aspect ratio of 1.25:1 or 5:4 which is close to the old standard for screens of 640×480 or 4:3. The layout size group has a small number of options useful to set layout sizes which are not dependent on paper size. This is another set of options for adjustments for the magazine whose final size is smaller than standard letter paper.

Next is a long list of parameters in the body size group. (Body refers to the text body, the container for the contents of the article, book, journal, etc.) This group is followed by margin size. I hope it is obvious that body size and margin size are dependent on each other. It is often possible to get the desired body size using appropriate margin sizes and vice versa. Finally, there is a group called native size. These options can override the defaults built into Latex. For example, the default spaces allocated for headers and footers can be eliminated. For another example, look at either of the two images. There is space set aside in the right margin for margin notes (or outside margin in two-sided layouts). Using the reversemarginpar instruction puts that space in the left margin (or inside margin in two-sided layouts).

Options disponibles

Il y a cinq pages d'options dans cinq catégories différentes dans la documentation du paquet geometry. Les options présentées dans cet article ne sont que quelques-unes des plus courantes.

La catégorie papersize (format de papier) comprend tous les formats dont j'ai parlé au début de cet article, ainsi que d'autres. La largeur et la hauteur du papier peuvent être données en utilisant le paramètre papersize avec deux valeurs : width, height. La catégorie papersize comprend les formats portrait, landscape, and screen (portrait, paysage et écran). Screen est un format spécial pour les présentations : 225 mm x 180 mm. Cela donne un rapport d'aspect de 1,25:1 ou 5:4, ce qui est proche de l'ancienne norme pour les écrans de 640×480 ou 4:3.

Le groupe layout size (taille de la mise en page) comporte un petit nombre d'options utiles pour définir des tailles de mise en page qui ne dépendent pas de la taille du papier. Il s'agit d'un autre ensemble d'options pour les ajustements du magazine dont le format final est plus petit que le papier à lettres standard.

Vient ensuite une longue liste de paramètres dans le groupe « body size » (taille du corps). (Le corps fait référence au corps du texte, qui contient le contenu de l'article, du livre, de la revue, etc.) J'espère que, pour vous, il est évident que la taille du corps et la taille des marges dépendent l'une de l'autre. Il est souvent possible d'obtenir la taille de corps souhaitée en utilisant des tailles de marges appropriées et vice versa.

Enfin, il existe un groupe appelé « native size » (taille native). Ces options peuvent remplacer les valeurs par défaut intégrées dans LaTeX. Par exemple, les espaces par défaut alloués aux en-têtes et aux pieds de page peuvent être supprimés. Pour un autre exemple, regardez l'une des deux images. Un espace est réservé dans la marge droite pour les notes de marge (ou la marge extérieure dans les mises en page recto-verso). L'instruction reversemarginpar place cet espace dans la marge gauche (ou marge intérieure dans les mises en page recto-verso).

Changing geometry mid-document (2) The newgeometry command allows changing all options in the geometry package except page orientation (portrait, landscape) and paper size: • If used it must appear after the \begin{document} command. • It can contain changes to one or more of the parameters set originally in the preamble. • The newgeometry command can be issued more than once in a document. • To return to the original settings, issue the command \restoregeometry (which takes no parameters). • Both \newgeometry and \restoregeometry issue \newpage commands before changing the page layout. As mentioned above, it is also possible to build a collection, a library of geometry “styles” using the \savegeometry{name}. For example, assume you regularly published PDF files using two or more different page layouts. Assume they are called L1 and L2. Start the document in the usual way and include the geometry package. After the \begin{document} command, issue the appropriate \loadgeometry{L1} command for an L1 layout. No need to remember what the various layout dimensions are. This ability would also allow for quick and easy use of different page layouts for pages with illustrations and pages without illustrations in the same document, for example.

Changement de géométrie en cours de document (2)

La commande newgeometry permet de modifier toutes les options de geometry, à l'exception de l'orientation de la page (portrait, paysage) et de la taille du papier : ••Si elle est utilisée, elle doit apparaître après la commande \begin{document}. ••Elle peut modifier un ou plusieurs des paramètres définis à l'origine dans le préambule. ••La commande newgeometry peut être émise plusieurs fois dans un document. ••Pour revenir aux paramètres d'origine, il faut lancer la commande \restoregeometry (qui ne prend aucun paramètre). ••Les commandes \newgeometry et \restoregeometry émettent toutes deux la commande \newpage avant de modifier la mise en page.

Comme indiqué ci-dessus, il est également possible de créer une collection, une bibliothèque de « styles » pour geometry à l'aide de la commande \savegeometry{name}. Par exemple, supposons que vous publiez régulièrement des fichiers PDF en utilisant deux ou plusieurs mises en page différentes. Supposons qu'elles soient appelées L1 et L2. Commencez le document de la manière habituelle et incluez le paquet geometry. Après la commande \begin{document}, lancez la commande \loadgeometry{L1} appropriée pour une mise en page L1. Il n'est pas nécessaire de se souvenir des différentes dimensions de la disposition. Cette possibilité permettrait également d'utiliser rapidement et facilement des mises en page différentes pour les pages avec illustrations et les pages sans illustration dans le même document, par exemple.

Documentation I strongly urge you to read through the documentation for the geometry package (as I have done for all packages I have discussed). The first 17 pages contain all of the information most users will need. The rest of the 42 pages gives the code and explanations. Pages 16-17 contain eleven annotated examples from simple to complex. There is probably at least one of them that can be the base for the page layout you wish to use. Special note: To generate views of page layouts like those in this article, the following code is very useful. Place it in the preamble, i.e. before the \begin{document} instruction. This needs to be used with each command on a separate line; otherwise any command immediately after a percent sign will be treated as a comment – which will cause errors. \usepackage{layouts} \newcommand\showpage{% \setlayoutscale{0.5}% \setlabelfont{\large}% \printheadingsfalse \printparametersfalse \currentpage\pagedesign}

Documentation

Je vous recommande vivement de lire la documentation relative au paquet geometry (comme je l'ai fait pour tous les logiciels dont j'ai parlé). Les 17 premières pages contiennent toutes les informations dont la plupart des utilisateurs auront besoin. Le reste des 42 pages présente le code et les explications. Les pages 16 et 17 contiennent onze exemples annotés, du plus simple au plus complexe. Il y en a probablement au moins un qui peut servir de base à la mise en page que vous souhaitez utiliser.

Remarque particulière

Pour générer des vues de mises en page comme celles de cet article, le code suivant est très utile. Placez-le dans le préambule, c'est-à-dire avant l'instruction \begin{document}. Il doit être utilisé avec chaque commande sur une ligne distincte ; sinon, toute commande située immédiatement après un signe de pourcentage sera traitée comme un commentaire, ce qui provoquera des erreurs.

\usepackage{layouts} \newcommand\showpage{%

\setlayoutscale{0.5}%
\setlabelfont{\large}%
\printheadingsfalse
\printparametersfalse
\currentpage\pagedesign}

Put any parameters for the geometry package below these layouts package commands. In the body of the document, use the \showpage command to generate the view of the layout. If you set the layout scale to 1, you will get an image that will be the finished size of the layout design. It can be saved as a PDF file and printed if desired. However the image will be shown or printed inside the margins of a standard page, and so will probably flow past the existing right and bottom margins. Thanks again for reading and following along in my adventures with Latex. So far, it has been not only interesting but also educational. I have learned a lot and I hope you have too. Talk to you again in the next issue.

Placez tous les paramètres du paquet geometry sous les commandes du paquet de mise en page. Dans le corps du document, utilisez la commande \showpage pour générer la vue de la mise en page. Si vous réglez l'échelle de la mise en page sur 1, vous obtiendrez une image qui correspondra à la taille finale de la mise en page. Elle peut être enregistrée au format PDF et imprimée si vous le souhaitez. Toutefois, l'image sera affichée ou imprimée à l'intérieur des marges d'une page standard et dépassera donc probablement les marges de droite et de bas de page existantes.

Merci encore d'avoir lu et suivi mes aventures avec LaTeX. Jusqu'à présent, cela a été non seulement intéressant, mais aussi instructif. J'ai beaucoup appris et j'espère que vous aussi. Je vous donne rendez-vous dans le prochain numéro.

issue207/latex.txt · Dernière modification : 2024/08/06 17:43 de andre_domenech