Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Numbering plugin #208

Merged
merged 4 commits into from Mar 5, 2016
Merged

Numbering plugin #208

merged 4 commits into from Mar 5, 2016

Conversation

oliverpool
Copy link
Contributor

Une des idées de #206.

Forcer un saut dans la numérotation des chants.

Il y a trois syntaxes acceptées:

  • Rétablir le compteur à 1
setcounter:
  • Établir le compteur à une valeur souhaitée
setcounter: 101
  • Établir un compteur spécifique à une valeur donnée (seul songnum est supporté en vrai)
setcounter: 
  name: songnum
  value: -1

Cela fonctionne actuellement avec un hack dans le fichier songs.sty, car une nouvelle section réinitialise ce compteur...

@Luthaf si tu à une meilleur idée, je suis preneur !

@oliverpool
Copy link
Contributor Author

Et personnellement je préfère ce comportement: ne pas réinitialiser le compteur lors d'une nouvelle section (mais la manière de modifier songs ne me parait pas très élégante)

@@ -2957,7 +2957,7 @@
\gdef\SB@indexlist{#1}%
\SB@chkidxlst%
\stepcounter{SB@songsnum}%
\setcounter{songnum}{1}%
%\setcounter{songnum}{1}%
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Une idée aussi un peu cracra, mais qui ne modifie pas songs: ailleurs, définir (c'est du pseudo-code) :

\newcounter\tempsongnum
...
\let\song\oldsong
\let\endsong\oldendsong
\newenvironment{songs}[1]{
  \setcounter{\tempsongnum}{\songnum}
  \oldsong{#1}
}{
  \setcounter{\songnum}{\tempsongnum}
  \oldendsong
}

L'idée :

  • on crée un compteur temporaire tempsongnum ;
  • on surcharge l'environnement songs ;
  • au début de ce nouvel environnement, on sauvegarde la valeur de songnum dans tempsongnum ;
  • à la fin, on rétablit la valeur de tempsongnum à songnum.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

J'aurai plutôt rétabli la valeur du compteur juste au début :

\newcounter\tempsongnum
...
\let\song\oldsong
\let\endsong\oldendsong
\newenvironment{songs}[1]{
  \setcounter{\tempsongnum}{\songnum}
  \oldsong{#1}
  \setcounter{\songnum}{\tempsongnum}
}{
  \oldendsong
}

Pour éviter la réinitialisation du compteur lors du début de l’environnent songs

@Luthaf
Copy link
Contributor

Luthaf commented Feb 25, 2016

Forcer un saut dans la numérotation des chants.

Le plus utile pour moi est de pouvoir faire quelque chose dans le style:

le compteur songnum prend la valeur du dernier numéro de chant + 1 au début d'une nouvelle section

Et j'avais en effet "hacké" song.sty pour mettre ça en place:

  • Avant une nouvelle section, on sauve la valeur de songnum dans un compteur temporaire;
  • Après une nouvelle section, on met songnum à la valeur du compteur temporaire + 1;

Je ne sais pas trop comment ça se traduirait en terme de plugin YAML, mais j'avais modifié le plugin des section pour faire ça.

@oliverpool
Copy link
Contributor Author

@Luthaf comme le propose @paternal dans son commentaire #208 (comment)

@oliverpool
Copy link
Contributor Author

C'est fait: 522b0ed

Si l'utilisateur souhaite réinitialiser le compteur en début de section, il lui suffit de rajouter - setcounter: juste après la section dans le fichier.yaml.

@oliverpool oliverpool mentioned this pull request Feb 27, 2016
3 tasks
@Luthaf
Copy link
Contributor

Luthaf commented Feb 27, 2016

Du coup on change le comportement par défaut. Ça me bien !

paternal added a commit that referenced this pull request Mar 5, 2016
@paternal paternal merged commit fb29df6 into master Mar 5, 2016
@paternal paternal deleted the numbering_plugin branch March 5, 2016 18:07
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants