Humus numericus

Aller au contenu | Aller au menu | Aller à la recherche

R, Spip et autres

Mot-clé - latex

Fil des billets

lundi 30 août 2010

How to automatically generate timelines that can be split between several pages

I recently wanted to create a PDF timeline that could be automatically split between several A4 pages for later cutting and pasting. After a bit of LaTeX and Ruby I finally came out with a little timeline-generator script :

http://github.com/juba/timeline-generator

The principle is quite simple : you specify several parameters in a config file such as the start and end dates, the number of A4 sheets, the sheets orientation, etc., and the script generates two PDF files : one with your timeline on one big page, and another with the same timeline split between the given number of A4 pages. To make cut-and-pasting easier, the second file includes crop marks and a small overlapping between pages.

To take a look at what the generated files look like :

The title, months names and number formatting are in french, but english is also supported.

Optionally, a calendar scale (days and months of year) and a time of day scale (hours and minutes) can be added at the bottom of the timeline. The idea is to allow some comparisons such as «if the 0 to 2010 timeline was a day, the World War II would have taken place between 23h09 and 23h14. If it was a year, it would have happened between December 18th and December 20th».

If you have access to a functional installation of Ruby and PDFLaTeX, the script should be quite easy to use. Everything is explained in the README file on GitHub.

But if you are interested by this type of timeline, don’t hesitate to drop me a mail or a comment with the main parameters (start and end date, number of sheets…), and I’ll generate and send you back the PDF files.

Générer automatiquement des frises chronologiques sur plusieurs pages

Je me suis récemment amusé à essayer de fabriquer des frises chronologiques avec l’idée de les imprimer sur plusieurs pages A4 pouvant être découpées et réassemblées par la suite. Comme je ne voulais pas faire ça à la main et avoir quelque chose de réutilisable, j’ai mélangé un peu de Ruby et de LaTeX, ce qui a donné un script automatique de génération de chronologies :

http://github.com/juba/timeline-generator

Le principe est assez simple : vous indiquez dans un fichier de configuration différents paramètres, dont évidemment la date de départ, la date de fin, le nombre de feuilles A4, leur orientation, etc., etc. (quasiment tous les aspects de mise en page sont configurables), et le script vous génère deux fichiers PDF : l’un avec votre frise chronologique sur une seule grande page, et l’autre découpée en autant de feuilles A4 que désiré. Avec en plus, si c’est pas le bonheur, des marques pour la découpe et un petit recouvrement d’une page sur l’autre pour faciliter l’assemblage.

Pour avoir un aperçu du résultat :

Vous remarquerez au bas de la chronologie une petite originalité : la présence d’un axe représentant les jours et mois de l’année, et d’un autre représentant les heures de la journée. L’idée est de pouvoir effectuer des comparaisons du genre «si la période de 0 à 2010 était une journée, la seconde guerre mondiale aurait lieu entre 23h09 et 23h14. Si c’était une année, elle aurait eu lieu entre le 18 et le 20 décembre». Je ne sais pas encore si c’est une bonne idée ou si c’est plus perturbant qu’autre chose, mais en tous cas on peut supprimer ces “extras” dans le fichier de configuration.

Si vous avez une installation fonctionnelle de Ruby et PDFLaTeX sur votre machine, ça devrait être assez simple à faire tourner, les explications sont données dans le fichier README sur Github (en anglais).

Dans le cas contraire, si vous êtes intéressé par une chronologie de ce type, n’hésitez pas à m’envoyer un mail avec les principaux paramètres (date de départ, date de fin, nombre de pages…) et je vous renverrai le résultat.

Bon, reste plus qu’à trouver un mur pour afficher tout ça, maintenant… :-)