|
|
|
# Index personnalisés
|
|
|
|
|
|
|
|
Je veux être capable de créer mes propres index. Je ne veux pas choisir dans
|
|
|
|
une liste prédéfinie, mais pouvoir les personnaliser. Je veux pouvoir leur
|
|
|
|
donner le titre que je veux.
|
|
|
|
|
|
|
|
## Proposition
|
|
|
|
|
|
|
|
Dans le fichier general.sg, définition d'une liste :
|
|
|
|
|
|
|
|
> indexes = [
|
|
|
|
> "auteur",
|
|
|
|
> ("pays", "Index par pays d'origine"),
|
|
|
|
> ]
|
|
|
|
|
|
|
|
Ceci signifie que j'aurai deux index :
|
|
|
|
|
|
|
|
- l'un utilisant le mot-clef "auteur", ayant pour titre "Index par auteur" ;
|
|
|
|
- l'autre utilisant le mot-clef "pays", ayant pour titre "Index par pays d'origine".
|
|
|
|
|
|
|
|
Pour chaque index, le mot clef sortas_nom est disponible, si l'on veut que le
|
|
|
|
nom qui s'affiche ne soit pas le nom par lequel l'entrée est triée.
|
|
|
|
|
|
|
|
Utiliser la commande \newsongkey : http://songs.sourceforge.net/songsdoc/songs.html#mac.newsongkey
|
|
|
|
|
|
|
|
# Découpage du document
|
|
|
|
|
|
|
|
Je veux pouvoir personnaliser le document, à savoir : mettre ma propre page de
|
|
|
|
titre, choisir l'ordre des éléments (index au début ou à la fin), ajouter des
|
|
|
|
pages personnalisées, etc.
|
|
|
|
|
|
|
|
## Proposition
|
|
|
|
|
|
|
|
### Préambule
|
|
|
|
|
|
|
|
Dans le fichier general.sg, définition de variables :
|
|
|
|
|
|
|
|
> preambule = "\usepackage{yfonts}"
|
|
|
|
|
|
|
|
Cette variable permet d'ajouter des choses au préambule. Pour intégrer un fichier complet, il suffit de mettre :
|
|
|
|
|
|
|
|
> preambule = "\input{mon_preambule.tex}"
|
|
|
|
|
|
|
|
### Document
|
|
|
|
|
|
|
|
Dans le fichier general.sg, possibilité de définir la variable document :
|
|
|
|
|
|
|
|
> document = [
|
|
|
|
> TITLE,
|
|
|
|
> INDEXES,
|
|
|
|
> SONGS,
|
|
|
|
> "appendice.tex",
|
|
|
|
> ]
|
|
|
|
|
|
|
|
Ceci signifie que mon document comportera la page de titre, l'index, les textes
|
|
|
|
des chansons par défaut, et à la fin, intégrera mon document "appendice.tex".
|
|
|
|
|
|
|
|
# Emplacement des chansons
|
|
|
|
|
|
|
|
Je veux pouvoir dire à quelles chansons aller chercher.
|
|
|
|
|
|
|
|
## Proposition
|
|
|
|
|
|
|
|
Dans le fichier general.sg, utilisation des variables SONG_ROOT et SONG_FILES.
|
|
|
|
|
|
|
|
> SONG_ROOT = "~/chansons"
|
|
|
|
> SONG_FILES = "*/*.tex"
|
|
|
|
|
|
|
|
Il est possible de mettre une liste dans SONG_FILES, pour dire de prendre tous
|
|
|
|
les éléments de la liste.
|
|
|
|
|
|
|
|
# Langue
|
|
|
|
|
|
|
|
Je veux pouvoir dire dans quel langue est chaque chanson, et que ceci soit
|
|
|
|
ajouté automatiquement à l'appel de Babel.
|
|
|
|
|
|
|
|
# Référence
|
|
|
|
|
|
|
|
Je veux pouvoir faire référence à des chansons (nom, page, etc.).
|
|
|
|
|
|
|
|
## Proposition
|
|
|
|
|
|
|
|
Faire en sorte que la commande \label fonctionne, ou ajouter un mot-clef
|
|
|
|
"label" à \beginsong.
|
|
|
|
|
|
|
|
Ensuite, avoir à disposition des commandes \songtitle{ref}, \songpage{ref},
|
|
|
|
\songkeyword{ref}{keyword}.
|
|
|
|
|
|
|
|
# Chansons de plusieurs auteurs
|
|
|
|
|
|
|
|
Je veux pouvoir choisir l'ordre de mes chansons (classement par auteur par exemple).
|
|
|
|
|
|
|
|
Je veux pouvoir attribuer des chansons à plusieurs auteurs, et décider dans la
|
|
|
|
partie de quel auteur elle aparaisse, et qu'elle soit référencée dans d'autre.
|
|
|
|
|
|
|
|
Exemple : Les Oiseaux de passage, de Richepin, chantée par Brassens. Je veux
|
|
|
|
que le texte apparaisse avec les autres textes de Richepin, avec la mention «
|
|
|
|
Mise en musique par Brassens », et qu'à un endroit dans la « partie » Brassens,
|
|
|
|
apparaisse le texte « Voir aussi \songtitle{richepin_oiseau}, page
|
|
|
|
\songpage{richepin_page} ». La chanson apparaitra pour les deux auteurs dans
|
|
|
|
l'index par auteur.
|
|
|
|
|
|
|
|
## Proposition
|
|
|
|
|
|
|
|
> \beginsong{Chanson des cloches de baptême}[label=richepin_cloches, author=Richepin]
|
|
|
|
> \comment{Chantée par \songauthor{brassens_philistins} sous le titre \songtitle{brassens_philistins}.}
|
|
|
|
> ...
|
|
|
|
> \endsong
|
|
|
|
>
|
|
|
|
> \beginchildsong{Philistins}[parent=richepin_cloches, author=Brassens]
|
|
|
|
> Voir \songtitle{richepin_cloches}, page \pagetitle{richepin_page}.
|
|
|
|
> \endsong
|
|
|
|
|
|
|
|
# Possibilité d'exporter en LaTeX ou PDF
|
|
|
|
|
|
|
|
Je veux pouvoir, en ligne de commande, dire que je souhaite un export en LaTeX
|
|
|
|
ou en PDF.
|
|
|
|
|
|
|
|
# Partitions
|
|
|
|
|
|
|
|
Je veux pouvoir placer mes partitions Lilypond dans le même répertoire que les
|
|
|
|
chansons correspondantes.
|
|
|
|
|
|
|
|
# PDF
|
|
|
|
|
|
|
|
Je veux pouvoir intégrer des PDF comme chansons (partitions scannées).
|
|
|
|
|
|
|
|
# Traductions
|
|
|
|
|
|
|
|
Je pouvoir intégrer des traductions.
|
|
|
|
|
|
|
|
## Proposition
|
|
|
|
|
|
|
|
Dans le fichier general.sg, une variable avec la langue par défaut pour les
|
|
|
|
traductions.
|
|
|
|
|
|
|
|
> DEFAULT_TRANSLATION_LANGUAGE = "francais"
|
|
|
|
|
|
|
|
Dans un fichier de chanson :
|
|
|
|
|
|
|
|
> \begin[english]{translation}
|
|
|
|
> Do not use your spoon with your left hand / etc.
|
|
|
|
> \end{translation}
|
|
|
|
|
|
|
|
# Commentaires
|
|
|
|
|
|
|
|
Je veux pouvoir ajouter des commentaires dans les chansons, qui soient mis en
|
|
|
|
valeur différement.
|
|
|
|
|
|
|
|
# Langage du fichier de configuration
|
|
|
|
|
|
|
|
Je propose que le fichier de configuration soit du Python : puisqu'un client
|
|
|
|
texte existe, nous pouvons considérer que quelqu'un modifiant à la main ce
|
|
|
|
fichier sait faire du Python.
|
|
|
|
|
|
|
|
# Langues
|
|
|
|
|
|
|
|
Pouvoir définir les langues dans le fichier de configuration general.sg, pour
|
|
|
|
que babel ne soit pas bloqué.
|