Outils pour utilisateurs

Outils du site


issue216:latex

Another issue of Full Circle and another exploration of the many tools and options available in Latex. This time I will explore a few of the possibilities listed in the G topics. The G topic includes the following languages: Georgian, German, Greek. I remind you I will not select any of the languages since I wrote a column about a few techniques for using other languages recently (FCM #213), and because I plan to write more extensively about using multiple languages in the future. The G topic contains mostly packages that have to do with graphics which I chose not to examine in this article. The first group of packages in the G topic is a group entitled “Games”. I think it might have better been called “Diversions” since many of these packages are not what I think of as games. There are packages to make chess puzzles, bridge games, Scrabble, Chinese chess, Othello (Reversi), RPG, Weiqi (Go); and also packages to make ASCII art, Mandelbrot sets, I-Ching, mazes, sudoku, tangrams, and the days which are Friday the 13th. This is only a short list of what is available.

Un nouveau numéro du Full Circle et une nouvelle exploration des nombreux outils et options disponibles dans LaTeX. Cette fois, j'explorerai quelques-unes des possibilités listées dans les rubriques G. Cette rubrique inclut les langues suivantes : géorgien, allemand et grec. Je rappelle que je ne sélectionnerai aucune langue, car j'ai récemment écrit une chronique sur quelques techniques d'utilisation d'autres langues (FCM n° 213) et que je prévois d'écrire plus longuement sur l'utilisation de plusieurs langues. La rubrique G contient principalement des paquets liés au graphisme, que j'ai choisi de ne pas aborder dans cet article.

Le premier groupe de paquets de la rubrique G est intitulé « Jeux ». Il aurait été plus judicieux de l'appeler « Diversions », car beaucoup de ces paquets ne sont pas ce que je considère comme des jeux. Il existe des paquets pour créer des échiquiers, des jeux de bridge, du Scrabble, des échecs chinois, Othello (Reversi), des jeux de rôle, du Weiqi (Go) ; ainsi que des paquets pour créer des illustrations ASCII, des jeux de Mandelbrot, le I-Ching, des labyrinthes, des sudokus, des tangrams et les jours qui correspondent au vendredi 13. Ceci n'est qu'une courte liste de ce qui est disponible.

If you are interested in standard chess, there are packages for annotation of games, for drawing the board, a package of fonts supporting chess diagrams, one for correspondence with chess game notation, and more. Chessboard is a package that is part of the default installation of TexLive. It is maintained by Ulrike Fischer, one of the two main authors of The Latex Companion (ISBN 978-0-13-465894-0) which I have recommended several times. The package was last updated in 2024 November. Fischer says “you will now have full control about size, content and look of the board.”It requires the following packages: chessfss (fonts), pgfcore, pgfbaseshapes and pst-node which are also part of the default TexLive install. I also needed to load the skak package in order for chessboard to generate a board with the newgame command. (Perhaps my version of chessboard is not up to date.) One of the graphics with this article shows an initial chessboard. Fischer wrote clear and comprehensive documentation full of sample code and illustrations. \documentclass[letterpaper,11pt]{article} \usepackage{chessboard,skak} \usepackage{chessfss,pgfcore,pgfbaseshapes,pst-node} \setchessboard{showmover=false} \begin{document} \newgame \chessboard[padding=4pt,pgfborder]

Si vous êtes intéressé par les échecs standards, il existe des paquets pour l'annotation des parties, pour le dessin de l'échiquier, un paquet de polices pour les diagrammes d'échecs, un paquet pour la correspondance avec la notation des parties d'échecs, et bien plus encore. Chessboard est un paquet intégré à l'installation par défaut de TexLive. Il est maintenu par Ulrike Fischer, l'une des deux principales autrices de The LaTeX Companion (ISBN 978-0-13-465894-0), que j'ai recommandé à plusieurs reprises. La dernière mise à jour du paquet date de novembre 2024. Fischer indique que « vous aurez désormais un contrôle total sur la taille, le contenu et l'apparence de l'échiquier. » Il nécessite les paquets suivants : chessfss (polices), pgfcore, pgfbaseshapes et pst-node, également intégrés à l'installation par défaut de TexLive. J'ai également dû charger le paquet skak pour que chessboard génère un échiquier avec la commande newgame. (Ma version de l'échiquier n'est peut-être pas à jour.) L'une des illustrations de cet article montre un échiquier initial. Fischer a rédigé une documentation claire et complète, riche en exemples de code et en illustrations.

\documentclass[letterpaper,11pt]{article}

\usepackage{chessboard,skak}

\usepackage{chessfss,pgfcore,pgfbaseshapes,pst-node}

\setchessboard{showmover=false}

\begin{document}

\newgame

\chessboard[padding=4pt,pgfborder]

A pastime many people enjoy is solving mazes; which the next package calls labyrinths. This package was uploaded to CTAN in 2014 and works well on my system. The documentation is only eight pages long, but contains enough information to guide the user into experimenting with the code. As always, I strongly encourage you to read the documentation, perhaps even print it out while you work with this package. The sample graphic in this column was generated from one of the samples in the documentation. \documentclass[letterpaper,11pt]{article} \usepackage{labyrinth} \begin{document} \begin{labyrinth}{6}{5} \h +++++ \v —–+ \h ++++- \v ++-+++ \h —– \v +-++++ \h -+—- \v +-++-+ \h —-+ \v +++–+ \h +-+++ \end{labyrinth}

Un passe-temps apprécié de nombreuses personnes est la résolution de labyrinthes, que le paquet suivant appelle « labyrinthes ». Ce paquet a été mis en ligne sur CTAN en 2014 et fonctionne bien sur mon système. La documentation ne fait que huit pages, mais contient suffisamment d'informations pour guider l'utilisateur dans l'expérimentation du code. Comme toujours, je vous encourage vivement à lire la documentation, voire à l'imprimer, lorsque vous travaillez avec ce paquet. L'exemple graphique présenté dans cette colonne a été généré à partir d'un exemple de la documentation.

\documentclass[letterpaper,11pt]{article}

\usepackage{labyrinth}

\begin{document}

\begin{labyrinth}{6}{5}

\h +++++

\v —–+ \h ++++-

\v ++-+++ \h —–

\v +-++++ \h -+—-

\v +-++-+ \h —-+

\v +++–+ \h +-+++

\end{labyrinth}

From the geometry topic, I selected the geometry package. It is often used in Latex as it allows the user to define almost all the parameters of a document page. The latest update available at ctan.org is version 5.9 (2020 January). Page geometry can be changed in the middle of a document. If you have used Latex for at least one project, you know that each document requires the documentclass instruction. In the examples I have used for these articles, I have almost always set the document to letter-paper which defines a page as 8.5 X 11 inches, almost the same size as A4 paper. However, most books and periodicals are not published as 8.5 X 11 pages. They may be printed on “letter paper:” but are usually trimmed to something smaller. The geometry package allows the user to define the area for text, to centre the text on the page, set margins, set the sizes of the header and footer areas, and other choices. If the document type is “book”, then pages are printed two sided, so inner and outer margins are needed. Inner margins are usually wider than outer margins to allow for the area used in binding. Geometry options are normally set at the beginning of a document. However it may be necessary to change the page geometry part way through. The newgeometry command can be used for this purpose, for example to insert a landscape page into an otherwise portrait-oriented document. The restoregeometry page returns the document to the original settings. If a set of options is going to be used regularly then the geometry can be saved and then loadgeometry used to load those options into the current location.

Pour la rubrique Géométrie, j'ai sélectionné le paquet geometry. Il est souvent utilisé dans LaTeX car il permet de définir la quasi-totalité des paramètres d'une page de document. La dernière mise à jour disponible sur ctan.org est la version 5.9 (janvier 2020). La géométrie d'une page peut être modifiée dans le cours du document. Si vous avez utilisé LaTeX pour au moins un projet, vous savez que chaque document nécessite l'instruction documentclass. Dans les exemples que j'ai utilisés pour ces articles, j'ai presque toujours défini le document sur le format Letter, ce qui définit une page au format 8,5 x 11 pouces, soit presque le même format qu'une feuille A4. Cependant, la plupart des livres et périodiques ne sont pas publiés au format 8,5 x 11. Ils peuvent être imprimés sur du « papier Letter », mais sont généralement rognés. Le paquet Geometry permet de définir la zone de texte, de centrer le texte sur la page, de définir les marges, de définir la taille des zones d'en-tête et de pied de page, et d'autres options. Si le type de document est « livre », les pages sont imprimées recto verso ; des marges intérieures et extérieures sont donc nécessaires. Les marges intérieures sont généralement plus larges que les marges extérieures afin de tenir compte de la zone utilisée pour la reliure.

Les options de géométrie sont généralement définies au début d'un document. Cependant, il peut être nécessaire de modifier la géométrie de la page en cours de route. La commande newgeometry peut être utilisée à cette fin, par exemple pour insérer une page en paysage dans un document en portrait. La page restoregeometry rétablit les paramètres d'origine du document. Si un ensemble d'options est destiné à être utilisé régulièrement, la géométrie peut être enregistrée, puis loadgeometry utilisée pour charger ces options à l'emplacement actuel.

The 42-page documentation is written clearly and contains more than enough code to assist the user in the use of this package. There are many possible options available. Different options can be true / false, or have one, two or three possible values. The code needed to generate this image is below. \documentclass[letterpaper,11pt]{article} \usepackage[layoutwidth=6in,layoutheight=8in,textwidth=4in,textheight=6in]{geometry} \usepackage{lipsum} \begin{document} The dimensions used in the geometry package will print the text to allow for space for binding. The book will be printed so it can be trimmed to the size required for publishing. \lipsum[1-3] \end{document}

La documentation de 42 pages est claire et contient suffisamment de code pour aider l'utilisateur à utiliser ce paquet. De nombreuses options sont disponibles. Chaque option peut être vraie/fausse, ou avoir une, deux ou trois valeurs. Le code nécessaire à la génération de l'image de droite est présenté ci-dessous.

\documentclass[letterpaper,11pt]{article}

\usepackage[layoutwidth=6in,layoutheight=8in,textwidth=4in,texttheight=6in]{geometry}

\usepackage{lipsum}

\begin{document}

Les dimensions utilisées dans le paquet geometry imprimeront le texte afin de laisser de l'espace pour la reliure. Le livre sera imprimé de manière à pouvoir être rogné aux dimensions requises pour la publication.

\lipsum[1-3]

\end{document}

As I am sure most of you know, Latex generates PDF files. Very recently (2025 March), a package has been uploaded to ctan.org which allows the user to include complete or partial PDF files in Latex (PDF) documents. No need to retype or even copy and paste. If what you need is already in a PDF file, one or more pages of that file can be included in the current document using the pdfpages package. I saved my FCM#213 column as a PDF and used it as an example with the following code. \usepackage[final]{pdfpages} \begin{document} \includepdf[page=1]{../published/fcm213babel/fcm213} I imported just one page but you can include page ranges as well. The option [final] in the usepackage command means the text will be imported. Other options include draft (there will be a box with the file name on the designated page but no text), demo (only the required number of blank pages are inserted) and two others. There are many options available for the includepdf command. These include various layout options and various ways to include one or more pages from one or more PDF files in the current file.

Comme la plupart d'entre vous le savent sans doute, LaTeX génère des fichiers PDF. Récemment (mars 2025), un paquet a été mis en ligne sur ctan.org. Il permet d'inclure des fichiers PDF complets ou partiels dans des documents LaTeX (PDF). Plus besoin de retaper ni même de copier-coller. Si le texte dont vous avez besoin est déjà présent dans un fichier PDF, vous pouvez en inclure une ou plusieurs pages dans le document actuel grâce au paquet pdfpages. J'ai enregistré ma article du FCM n 213 au format PDF et je l'ai utilisée comme exemple avec le code suivant :

\usepackage[final]{pdfpages}

\begin{document}

\includepdf[page=1]{../published/fcm213babel/fcm213}

Je n'ai importé qu'une seule page, mais vous pouvez également inclure des plages de pages. L'option [final] de la commande usepackage signifie que le texte sera importé. D'autres options sont disponibles : brouillon (une zone avec le nom du fichier apparaît sur la page désignée, mais sans texte), démonstration (seul le nombre de pages vierges requis est inséré) et deux autres options. La commande includepdf offre de nombreuses options, notamment diverses options de mise en page et différentes façons d'inclure une ou plusieurs pages d'un ou plusieurs fichiers PDF dans le fichier actif.

Note 1: This package seems to be pointed at pdfTex users. Even so it performed well in my Latex environment. Note 2: If you want to incorporate other than one complete page, you will need to either retype or use copy and paste. The caret symbol ^ is used in mathematics and sciences in various ways. When the formula is read it is called “hat”. Two developers, Matthew W. Scroggs and Adam K. Townsend, developed a little package that puts real hats on characters. (Latex is not always serious. Developers do have senses of humour.) They developed a list of eighteen designs for hats. When the package is used like so: \hat{a} = \hat{b} a random hat is chosen from the list. The user can also choose which of the eighteen hats to use as shown in this second code snippet. \hat[crown]{c} = \hat[birthday]{b} It is easy to make one style of hat the default in the initial loading of the package. \usepackage[cowboy]{realhats} The documentation is one page plus one paragraph so read it and have fun with your work. When I use the \hat command, my editor (TeXstudio) automatically adds dollar signs around the”hat” instruction. This happens because “hat” is a math symbol in the same way as add, subtract, etc. So the instruction \hat is changed to $\hat{a}$. Nevertheless, this instruction still generates the letter with a real hat, not a caret. Is it possible to have both math carets (^) and real hats in the same document? I leave that to my readers to figure out.

Note 1 : Ce paquet semble destiné aux utilisateurs de pdfTex. Malgré cela, il a bien fonctionné dans mon environnement LaTeX.

Note 2 : Si vous souhaitez incorporer plus d'une page complète, vous devrez soit retaper le texte, soit effectuer un copier-coller.

Le symbole d'accent circonflexe ^ est utilisé de diverses manières en mathématiques et en sciences. La formule, lorsqu'elle est lue, est appelée « chapeau ». Deux développeurs, Matthew W. Scroggs et Adam K. Townsend, ont développé un petit paquet permettant de placer de vrais chapeaux sur les personnages. (LaTeX n'est pas toujours sérieux. Les développeurs ont le sens de l'humour.) Ils ont élaboré une liste de dix-huit modèles de chapeaux. L'utilisation du paquet se fait ainsi :

\hat{a} = \hat{b}

Un chapeau est choisi au hasard dans la liste. L'utilisateur peut également choisir lequel des dix-huit chapeaux utiliser, comme illustré dans ce deuxième extrait de code.

\hat[crown]{c} = \hat[birthday]{b}

Il est facile de définir un style de chapeau par défaut lors du chargement initial du paquet.

\usepackage[cowboy]{realhats}

La documentation fait une page et un paragraphe, alors lisez-la et amusez-vous bien.

Lorsque j'utilise la commande \hat, mon éditeur (TeXstudio) ajoute automatiquement des signes dollar autour de l'instruction « chapeau ». Cela se produit car « chapeau » est un symbole mathématique au même titre que l'addition, la soustraction, etc. L'instruction \hat est donc remplacée par $\hat{a}$. Néanmoins, cette instruction génère toujours la lettre avec un vrai chapeau, et non un accent circonflexe. Est-il possible d'avoir à la fois des accents circonflexes mathématiques (^) et des chapeaux réels dans le même document ? Je laisse à mes lecteurs le soin de le découvrir.

issue216/latex.txt · Dernière modification : 2025/04/28 13:43 de d52fr