Closed Luthaf closed 9 years ago
Pas mal, mais je vois qu'il y a encore pas mal d'erreurs (je pense qu'une recherche de \
devrait en montrer la plupart). Vérifier tout cela va constituer un travail de fou !
J'avais pas vu ce script, je vais y jeter un oeil! (a première vue, ca fonctionne à "grands coups de regexp" ;-)
L'avantage d'un parseur conventionnel (comme celui que j'ai trouvé en JS / ou comme PlasTeX ?), c'est que les erreurs sont bien plus compréhensibles (normalement).
Ce n'est pas possible d'utiliser PlasTex pour faire cette conversion ? (sachant que j'avous ne pas connaitre grand chose, et un peu mieux comprendre les regexp)
Autre question: du coup les commandes \begin{verse*}
et bridge
disparaissent avec chordpro ?
Ce n'est pas possible d'utiliser PlasTex pour faire cette conversion ? (sachant que j'avous ne pas connaitre grand chose, et un peu mieux comprendre les regexp)
C'est possible, mais ça demanderai plus de travail et je ne crois pas que l'on ait besoin de l'AST pour s'en sortir. Le script ici fait son boulot, et ne sert pas à parser mais à transformer.
Autre question: du coup les commandes \begin{verse*} et bridge disparaissent avec chordpro ?
Je crois que oui, on peut utiliser d'autres environements pour arriver au même but. Et sinon, ajouter un {start_of_bridge}/{end_of_bridge}
au parseur chordpro ne coute pas trop cher je pense.
Je suis assez partant pour rajouter les start/end_of_bridge
(et les verse*
sont probablement très peu utilisés - mais je trouve quand même dommage qu'on s'en débarrasse...)
Je suis assez partant pour rajouter les start/end_of_bridge
Pourquoi pas, dans la mesure où ils sont utilisés ailleurs.
(et les verse* sont probablement très peu utilisés - mais je trouve quand même dommage qu'on s'en débarrasse...)
Ça me gêne un peu d'étendre la norme (même si elle n'est pas vraiment normalisée). Est-ce qu'on ne pourrait pas trouver une autre convention ? Si on a pas le choix, on peut, mais j'aime bien l'idée de maintenir une cohérence (toute relative, vues les implémentations actuelles) du format, pour garder un semblant d'intéropérabilité entre les différents logiciels.
Pourquoi pas, dans la mesure où ils sont utilisés ailleurs. ... Ça me gêne un peu d'étendre la norme
Ca me convient!
Du coup en résumé:
verse*
sont supprimés (soit remplacés par des verse
, soit fusionnés avec le verse
précédentPar ailleurs, je pense qu'il faut faire attention aux saut de lignes répétés: dans LaTeX ils sont ignorés, dans chordpro, ils représentent un nouveau couplet.
@Luthaf : je pense que je vais poursuivre mes expérimentation pour la conversion via JS: ca pourra rendre service à des personnes qui veulent rapidement convertir un chant sur le site (mais ton script reste parfaitement justifié pour convertir toute une bibliothèque)
En y repensant, la suppression des verse*
me gêne quand même, enfin, pas directement.
Les verse*
sont utilisés en LaTeX pour créer des sauts de lignes au sein d'un couplet (sans incrémenter la numérotation des couplets). C'est un détournement de l'usage original, mais ça marche. Et c'est cette fonctionnalité (sauter une ligne dans un couplet) que je trouve intéressante, et qu'il serait dommage de perdre. Plus qu'un verse*
, ça serait un saut de ligne ua sein d'un couplet qui serait intéressant, mais, à ma connaissance, ça n'existe pas en chordpro, et ça me gêne toujours d'étendre la notation…
Je ne sais pas quoi faire…
@paternal je partage totalement ton point de vue... et je n'ai aucune idée de solution élégante.
En écrivant mon script de transition (en JS avec le ParserGenerator), je suis tombé sur plein de petites spécificités LaTeX, que je vais essayer de nettoyer proprement (je pense ouvrir une issue à ce sujet)
Autre question: du coup les commandes \begin{verse*} et bridge disparaissent avec chordpro ?
Je crois que oui, on peut utiliser d'autres environements pour arriver au même but. Et sinon, ajouter un {start_of_bridge}/{end_of_bridge} au parseur chordpro ne coute pas trop cher je pense.
C'est bien ce que je pensais : c'est implémenté depuis un bon moment déjà.
:+1:
Je ferme en faveur de #18
Voici le début de la conversion de patadata ! Le script de conversion est
convert_to_chordpro.py
, et pour le moment une vingtaine de chansons plantent encore, avecÀ faire avant de merger :