[Tuto] Une pochette de CD en LaTeX !

latex 27 janv. 2014

T’façons, tout est possible avec LaTeX 😉

Déçu par l’éditeur intégré à Brasero, blasé de longue date par gLabels, je me suis mis à la recherche d’un équivalent qui traînerait dans les dépôts Debian. Sauf que celui qui est sorti en premier (le nom m’a échappé) nécessitait l’installation de douzaines de librairies KDE, et que j’ai pas envie d’encrasser mon système avec ça, sans certitudes que j’allais pouvoir générer une pochette « slim » (les boîtiers plats).

Or, dans les propositions de Synaptic, il y avait texlive-latex-extras. Pourquoi ? 😉

Eh bien tout simplement parce qu’il y a des classes de documents dans TeXlive pour faciliter la création de jaquettes de CD. Oui monsieur (ou madame, c’est selon).

J’en ai répertorié au moins deux : cd, et cd-cover. J’ai regardé rapidement la doc des deux, et comme j’avais pas non plus un temps énorme à consacrer à la pochette, j’ai choisi celle qui me semblait la plus adaptée à mon cas. C’est donc de cd que je vais parler ici. L’article sera super court, parce que la classe va à l’essentiel et ne dispose que de quelques options… et d’une petite surprise 😉

 

Installation de la classe

Ouais, je sais, la classe c’est inné normalement, on l’a ou on l’a pas. Mais on parle pas de la même chose là !

Donc, vous dégainez votre console, tlmgr ou votre gestionnaire de paquets, selon que vous utilisez la dernière version de TeXlive ou la vieille des dépôts 😀

Soit vous installez juste la classe cd (dans le cas de tlmgr), soit vous installez texlive-latex-extra (cas des dépôts).

Et c’est fini :mrgreen:

 

Utilisation

C’est vraiment pas méchant non plus. La classe cd charge la classe article, donc vous pouvez lui passer les options associées, genre la taille de papier, tout ça. Un exemple sera probablement plus parlant :

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
\documentclass[a4paper]{cd}

\begin{document}

\covertext{\textbf{Compil'}\\\normalsize{27 janvier 2014}}

\lefttracklist{
\track \textbf{Filter} -- \textit{Take A Picture} (6:03)
\track \textbf{Coldplay} -- \textit{Atlas} (3:59)
\track \textbf{Dido} -- \textit{Don't leave home} (3:46)
\track \textbf{Of Monsters and Men} -- \textit{Silhouettes} (4:32)
\track \textbf{Pharell Williams} -- \textit{Happy} (4:07)
\track \textbf{Paul Stanley} -- \textit{Live to Win} (3:07)
}

\makeslimcover

\end{document
}

C’est donc super simple : on crée un document, on définit le texte de la couverture, on choisit si la liste des pistes est à gauche ou à droite, une ligne \track par piste du disque, et vous formatez votre truc comme vous voulez.

Après, c’est comme vous le constatez la commande \makeslimcover qui définit le format utilisé : slimcover pour un boîtier « slim », \makecover et \makeback pour un boîtier classique…

Notez aussi que parfois le positionnement des numéros à partir de 10 peut déconner un peu, du moins le placement des 1. La commande \onecorrection{.3} (à placer dans le préambule) est là pour corriger, et le 0.3 est à adapter à votre cas (entre 0 et 1 quoi qu’il en soit). Ça vous évitera d’éplucher la doc !

Bien entendu, des commandes sont aussi là pour placer une image sur la pochette, ‘fin faire à peu près tout ce qu’on veut, quoi.

 

Tout ça compilé vous donne un beau PDF avec les marques de découpe et de pliage, plus qu’à envoyer à l’impression 😉

 

Voilà voilà. Dans mon cas c’était une pochette assez basique, mais la classe est bourrée de commandes pour personnaliser votre pochette, aussi je vous invite à lire la documentation (en anglais) directement sur le site du CTAN.

 

 

Et la surprise alors ?

Je sais qu’on a tout un côté fainéant. L’auteur de la classe (merci à lui) a pensé à nous, et a créé deux fichiers « pilotes », que vous pouvez utiliser pour ne pas refaire la configuration à chaque couverture de CD. Sympa non ?

Mieux : il fournit même un script (écrit en Ruby) qui, si vous lui donnez l’identifiant d’un CD, va générer la pochette pour vous. Ça marche simplement : wget -O- http://www.freedb.org/freedb/misc/c512610f | ./parsecd.rb va vous générer la pochette (la liste des pistes hein, pas une copie conforme de la pochette originale) de l’album « The Invitation » du groupe Thirteen Senses. Plus besoin de taper le nom des pistes 😉

Il suffit d’adapter l’exemple en allant chercher la liste des pistes sur FreeDB !

 

Comme quoi, et je m’arrêterai ici pour ce court article, LaTeX permet vraiment de se sortir de toutes les situations, avec de surcroît un rendu réellement propre et sympa.

Mots clés