Outils pour utilisateurs

Outils du site


issue112:tutoriel1

I have found that, once a person gets bitten by the LaTeX bug, there is never a lack of something to do or learn. All it takes is a task that needs to be done, a desire to take a path less travelled to complete the task (with style!), and a person is off and away into the LaTeX way of doing things. Sometimes we have to use the software provided in an office suite, because they do some (OK, many) things well. I am typing this in LibreOffice Writer because that is the format that FullCircle accepts. And that is OK, as there are things that may be best left to the office suite, like spreadsheets. The right tool for the job.

J'ai constaté que, une fois qu'une personne a attrapé le virus de LaTeX, elle ne finit jamais de faire ou d'apprendre quelque chose. Tout ce qu'il faut c'est une tâche à effectuer et une envie de prendre un chemin peu connu pour terminer la tâche (avec style !), et la personne se plonge dans la façon de faire de LaTeX. Parfois, nous devons utiliser un logiciel fourni dans une suite bureautique, parce qu'ils font certains (ou beaucoup) de choses correctement. J'écris ceci dans LibreOffice Writer puisque c'est le format que FullCircle accepte. Et c'est bien ainsi, car il y a des choses qui peuvent être mieux traitées par la suite bureautique, comme des feuilles de calcul. Le bon outil pour ce travail-là.

In my last article, I demonstrated that LaTeX code (or any markup code) can be inserted into data that is in a spreadsheet to format the data for publication. This comes in handy for creating something like a pocket address book from information in a tabular database.

Dans mon dernier article, je démontrais que le code LaTeX (ou tout autre code à balises) peut être inséré dans des données se trouvant dans une feuille de calcul pour formater les données en vue de la publication. C'est très pratique pour créer quelque chose comme un carnet d'adresses de poche à partir d'informations contenues dans une base de données sous forme de tableau.

Tabular data and LaTeX are not strangers to one another, and the combination is covered in many of the basic LaTeX manuals. There are also special packages written to help us communicate tabular data with LaTeX, most of these packages have detailed manuals of their own like the 38-page manual for the package csvsimple, a package that I hope to cover in a future article. Then there is Spreadtab.

Les données de tableau et LaTeX ne sont pas étrangers l'un à l'autre et la combinaison est couverte dans la plupart des manuels de base LaTeX. Il existe également des paquets spéciaux écrits pour nous aider à faire communiquer des données tabulaires avec LaTeX et la plupart de ces paquets ont leurs propres manuels bien détaillés, comme le manuel de 38 pages pour le paquet csvsimple, un paquet que je souhaite couvrir dans un futur article. Puis, il y a Spreadtab.

Spreadtab is a LaTeX package that can bring some of the features of a spreadsheet to your LaTeX documents. Or, as Christian Tellechea, the creator of the package, said in the abstract of the (extremely well written) manual: “This package provides spreadsheet features for LaTeX table environments. The main feature allows the user to construct tables in a manner similar to a spreadsheet where cells are used in formulas to generate values in other cells. The package computes the formulas in the correct order, and finally displays the table with the numeric results.”

Spreadtab est un paquet LaTeX qui peut apporter quelques-unes des fonctionnalités d'un tableur à vos documents LaTeX. Ou, comme l'a dit Christian Tellechea, le créateur du paquet, dans le résumé du manuel (qui est très bien écrit) : « Ce paquet offre des fonctionnalités de feuille de calcul pour les environnements de tableau LaTeX. La fonctionnalité principale permet à l'utilisateur de construire des tableaux d'une manière similaire à une feuille de calcul dans laquelle les cellules sont utilisées dans des formules afin de générer des valeurs dans d'autres cellules. Le paquet calcule les formules dans le bon ordre et, enfin, affiche la tableau avec les résultats numériques. »

Up until the time this package was written, there was nothing in the LaTeX environment that could do this. Christian Tellechea took this on as a programming exercise. Once again, someone scratches an itch and the world is a better place for it. Thank you, Christian!!!

Jusqu'au moment où ce paquet a été écrit, il n'y avait rien dans l'environnement LaTeX qui aurait pu faire de même. Christian Tellechea a accepté la tâche comme un exercice de programmation. Encore une fois, quelqu'un a une démangeaison et le monde devient meilleur. Merci, Christian !!!

To whet your appetite for Spreadtab, I will demonstrate some of the basic things you can do with this package. One of the incentives is to Keep It Simple Silly (KISS) – I am not a mathematician by any stretch of the imagination, so I better keep this down to basic bean counting.

Afin de vous mettre l'eau à la bouche, je vais vous montrer quelques-unes des choses basiques que vous pouvez faire avec Spreadtab. L'une des incitations est Keep It Simple Silly (KISS - tout doit rester simple, idiot). Puisque je suis loin d'être un génie en mathématiques, ce sera mieux si je reste dans le domaine de la comptabilité simple.

What I will show you here can be done with a spreadsheet, however if you want to place your spreadsheet information into a LaTeX document, then you will find this package useful. Or, if you have a document with calculations that you want to reuse, this package can help you create the base original document.

Ce que je vais vous montrer ici peut être fait avec une feuille de calcul ; cependant, si vous voulez placer les informations de la feuille de calcul dans un document LaTeX, vous trouverez ce paquet utile. Ou, si vous avez un document avec des calculs que vous souhaitez réutiliser, ce paquet peut vous aider à créer le document original de base.

Everything starts in a new directory (rule number one) and a preamble at the top of your file (see box above) The tabular data that you want to include must be described to the package: • {tabular} tells LaTeX “here comes some information in tabs” • {with lower case “l”s} tells LaTex how many tabs there are • the “|” tells LaTeX where to place any vertical lines.

Tout commence dans un nouveau dossier (règle numéro un) et une préambule en haut de votre fichier (voir encadré ci-dessus).

Les données tabulaires que vous voulez inclure doivent être décrites au paquet : • {tabular} (tableau) dit à LaTeX « voici quelques informations dans des onglets » ; • {with lower case “l”s} (avec des “l” minuscules) dit à LaTex combien d'onglets il y a ; • le « | » indique à LaTeX où placer toutes les lignes verticales.

The “&” signals a cell or tab and labels in the cells are preceded with the “@”. Note that, within the tabular environment, & does not require a “\” before it. To end this environment use this command: \end{spreadtab} Let’s set up a page with five tabs, a vertical line between tab 4 and 5, and with labels for columns and rows. Given the above, our document can look like that shown below after the preamble.

Le « & » signale une cellule ou un onglet, et les étiquettes dans les cellules sont précédées de « @ ». On notera que, dans l'environnement sous forme de tableau, le signe « & » n'a pas besoin d'être précédé de « \ ».

Pour fermer cet environnement, utilisez cette commande :

\end{spreadtab}

Créons une page avec cinq onglets, une ligne verticale entre les onglets 4 et 5, et avec des noms pour les colonnes et les lignes.

Compte tenu de ce qui précède, notre document peut ressembler à l'illustration ci-dessous, après le préambule.

Notice how nicely I have lined up the “&”. They do not have to be, and as you add or subtract data they will move around – that is OK. However, keeping everything aligned will help you correct errors and/or prevent you from getting dizzy. You will have to visualise that there are five columns here, and four rows, and, just like a spreadsheet, columns have a letter and rows have a number. This will enable us to make calculations, just like in a spreadsheet. So let’s add some numbers and calculations (see box top right). And all of that will give us: In my example here, the data is flush left because of the five letter l’s in the tabular command. To move data to the right replace the l’s with r’s, and c will place the data in the centre of the column. Just for a giggle, lets change the rat “3” with the word “pi”.

Remarquez que j'ai bien aligné le « & ». Ils ne doivent pas l'être nécessairement et au fur et à mesure que vous ajoutez ou soustrayez des données, ils vont se déplacer ; ce n'est pas grave. Cependant, le fait de garder tout aligné vous aidera à corriger les erreurs et/ou vous empêchera d'avoir le vertige.

Vous devrez imaginer qu'il y a cinq colonnes ici, et quatre lignes, et, comme dans une feuille de calcul, les colonnes ont une lettre et les lignes ont un chiffre. Cela nous permettra de faire des calculs, tout comme dans une feuille de calcul. Alors nous allons ajouter quelques chiffres et des calculs (voir l'encadré en haut à droite).

Et tout ceci va nous donner : Dans mon exemple ici, les données sont alignées à gauche en raison des cinq lettres « l » dans la commande du tableau. Pour déplacer les données vers la droite, remplacez les « l » par « r », et « c » centrera les données dans la colonne.

Juste pour rigoler, remplaçons le rationnel « 3 » par le mot « pi ».

You can also make calculations within tabs with the * and / – if you place 8/2 in a tab, it will show a 4. Place a 8*5 in a tab and it will show a 40. Let’s put this to work: Here (previous page, bottom right) is an invoice for a growing concern. The command \STautoround*{2} provides 2 decimal points with the “*” filling in zeros when necessary. Placing a % at the start of a line hides it from LaTeX but the A B C can help us keep track of the columns. The @ 1 @ 2 @ 3 gives us the line numbers, but as “words” – so there are no decimal places. It looks like the image above. The only “Gotcha” I could find is things can go haywire if you have a blank line within the spreadtab environment.

Vous pouvez également effectuer des calculs à l'intérieur des onglets avec les * et /. Si vous faites 8/2 dans un onglet, il affichera 4. Faites 8*5 dans un onglet et il affichera 40.

Mettons tout ça en pratique : Voici (page précédente, en bas à droite) une facture pour une société en croissance.

La commande \STautoround*{2} fournit 2 décimaux et le « * » insère des zéros si nécessaire.

Placer un % au début d'une ligne la cache à LaTeX, mais les A B C peuvent nous aider à garder une trace des colonnes.

Le @ 1 @ 2 @ 3 nous donne les numéros de ligne, mais comme des « mots » ; aussi il n'y a pas de décimales.

Cela ressemblera à l'image ci-dessus.

Le seul « hic » que je pourrais trouver est que les choses peuvent se dégrader si vous avez une ligne vide dans l'environnement Spreadtab.

I have just scratched the surface with Spreadtab, really. My tables here are very simple, but what you will see in the spreadtab manual are much more complex and interesting. You can download the manual from https://www.ctan.org/pkg/spreadtab?lang=en Once again, a big thank you / merci beaucoup to Christian Tellechea for all of his work on this package and the documentation.

En fait, je ne vous livre ici qu'un examen superficiel de Spreadtab. Mes tableaux sont très simples, mais ceux que vous verrez dans le manuel de Spreadtab sont beaucoup plus complexes et intéressants. Vous pouvez télécharger le manuel sur https://www.ctan.org/pkg/spreadtab?lang=en

À nouveau, un grand et sincère merci à Christian Tellechea pour tout le travail qu'il a fait sur ce paquet et sa documentation.

John Eddie Kerr is a law librarian in Guelph, Ontario Canada. Ubuntu Linux is his desktop at home and at work. Xubuntu powers his Raspberry Pi 3 and Ubuntu Mate powers his Raspberry Pi 2.

John Eddie Kerr est bibliothécaire en droit dans une bibliothèque de droit de comté dans Guelph, Ontario au Canada. Son ordinateur de bureau, à la maison comme au travail, est sous Ubuntu Linux. Xubuntu fait tourner son Raspberry Pi 3 et son Raspberry Pi 2 est sous Ubuntu Mate.

issue112/tutoriel1.txt · Dernière modification : 2016/09/12 09:03 de d52fr