From 2a6ba6d868071a3d636d8e91f87240934ad24251 Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Tue, 28 Jul 2015 21:21:53 +0000 Subject: leadsheets (28jul15) git-svn-id: svn://tug.org/texlive/trunk@37982 c570f23f-e606-0410-a88d-b1316a301751 --- Master/texmf-dist/doc/latex/leadsheets/README | 2 +- .../doc/latex/leadsheets/leadsheets_en.pdf | Bin 835301 -> 836428 bytes .../doc/latex/leadsheets/leadsheets_en.tex | 19 ++++++-- .../leadsheets.library.musicsymbols.code.tex | 48 +++++++++++++-------- .../leadsheets/leadsheets.library.songs.code.tex | 45 +++++++++++-------- .../texmf-dist/tex/latex/leadsheets/leadsheets.sty | 4 +- 6 files changed, 75 insertions(+), 43 deletions(-) (limited to 'Master/texmf-dist') diff --git a/Master/texmf-dist/doc/latex/leadsheets/README b/Master/texmf-dist/doc/latex/leadsheets/README index a4bdaf0ee39..38e130b9320 100644 --- a/Master/texmf-dist/doc/latex/leadsheets/README +++ b/Master/texmf-dist/doc/latex/leadsheets/README @@ -1,5 +1,5 @@ -------------------------------------------------------------------------- -the LEADSHEETS package v0.2a 2015/07/07 +the LEADSHEETS package v0.2b 2015/07/27 typesetting leadsheets and songbooks diff --git a/Master/texmf-dist/doc/latex/leadsheets/leadsheets_en.pdf b/Master/texmf-dist/doc/latex/leadsheets/leadsheets_en.pdf index a47bd5cf537..8bed560bd85 100644 Binary files a/Master/texmf-dist/doc/latex/leadsheets/leadsheets_en.pdf and b/Master/texmf-dist/doc/latex/leadsheets/leadsheets_en.pdf differ diff --git a/Master/texmf-dist/doc/latex/leadsheets/leadsheets_en.tex b/Master/texmf-dist/doc/latex/leadsheets/leadsheets_en.tex index c458db5c956..2c1e3acbbb4 100644 --- a/Master/texmf-dist/doc/latex/leadsheets/leadsheets_en.tex +++ b/Master/texmf-dist/doc/latex/leadsheets/leadsheets_en.tex @@ -691,17 +691,28 @@ Although I used the word \enquote{global} above \emph{all options are local to The command that is used to parse the chords. See section~\ref{sec:placing-chords} for details. \meta{cs} needs to be a command that takes a mandatory argument. - \keyval{song-format}{\TeX{} code}\Default - \meta{\TeX{} code} is inserted \emph{before} the song title at the + \keyval{song-format}{code}\Default + \meta{code} is inserted \emph{before} the song title at the beginning of the \env{song} environment. - \keyval{text-format}{\TeX{} code}\Default - \meta{\TeX{} code} is inserted \emph{after} the song title at the + \keyval{text-format}{code}\Default + \meta{code} is inserted \emph{after} the song title at the beginning of the \env{song} environment. + \keyval{before-song}{code}\Default + \meta{code}\sinceversion{0.3} is inserted at the beginning of a song + \emph{before} the title! + \keyval{after-song}{code}\Default + \meta{code}\sinceversion{0.3} is inserted after the whole song. + \keyval{after-title}{code}\Default + \meta{code}\sinceversion{0.3} is inserted after the title of the song but + before the body of the environment. % \keybool{numbered}\Default{false} % Determines wether verses are numbered or not. \keyval{print-tags}{list of tags} A comma separated list of tags. When specified a song will only be printed if it is tagged with at least one of the tags in \meta{list of tags}. + \keyval{add-to-reset}{list of counters} + A\sinceversion{0.3} comma separated list of counters which should be + reset for each song. \keybool{obey-lines}\Default{false} An experimental option. Use at your own risk! If set to \code{true} then inside the \env{verse} like environments end-of-lines will be obeyed and diff --git a/Master/texmf-dist/tex/latex/leadsheets/leadsheets.library.musicsymbols.code.tex b/Master/texmf-dist/tex/latex/leadsheets/leadsheets.library.musicsymbols.code.tex index 82a515786a3..93b55d64168 100644 --- a/Master/texmf-dist/tex/latex/leadsheets/leadsheets.library.musicsymbols.code.tex +++ b/Master/texmf-dist/tex/latex/leadsheets/leadsheets.library.musicsymbols.code.tex @@ -1,14 +1,14 @@ -\LeadsheetsLibrary{musicsymbols}{2014/08/10 musical symbols} +\LeadsheetsLibrary{musicsymbols}{2015/07/13 musical symbols} \RequirePackage{etoolbox} % define a LaTeX font that uses the `musix' font from MusiXTeX: \DeclareFontFamily{U}{musix}{}% \DeclareFontShape{U}{musix}{m}{n}{% - <-12> musix11 - <12-15> musix13 - <15-18> musix16 - <18-23> musix20 - <23-> musix29 + <-12> s * [1.5] musix11 + <12-15> s * [1.5] musix13 + <15-18> s * [1.5] musix16 + <18-23> s * [1.5] musix20 + <23-> s * [1.5] musix29 }{}% % a font switch command: @@ -19,25 +19,32 @@ % the `symbol' command: raises the symnol since most symbols are too low for % use in normal text: \newrobustcmd*\musicsymbol[2][0pt]{% - \raisebox{\dimexpr.5ex+(#1)\relax}{\textmusix{#2}}% + \raisebox{\dimexpr.45ex+(#1)\relax}{\textmusix{#2}}% } -% define the symbol +\newrobustcmd*\leadsheets@altostrut{% + \vphantom{\rule[-.5\normalbaselineskip]{1pt}{1.4\normalbaselineskip}}% +} +\newrobustcmd*\leadsheets@treblestrut{% + \vphantom{\rule[-.4\normalbaselineskip]{1pt}{1.5\normalbaselineskip}}% +} + +% define the symbols \renewrobustcmd*\sharp {\musicsymbol[.2ex]{4}\kern-.06em} \renewrobustcmd*\flat {\kern-.05em\musicsymbol{2}\kern-.06em} \renewrobustcmd*\natural {\musicsymbol{6}\kern-.06em} -\newrobustcmd*\doublesharp {\musicsymbol{5}\kern-.05em} +\newrobustcmd*\doublesharp {\kern.05em\musicsymbol{5}\kern-.05em} \newrobustcmd*\doubleflat {\kern-.05em\musicsymbol{3}\kern-.06em} -\newrobustcmd*\trebleclef {\musicsymbol{H}} -\newrobustcmd*\bassclef {\musicsymbol{J}} -\newrobustcmd*\altoclef {\musicsymbol{K}} -\newrobustcmd*\allabreve {\kern-.15em\musicsymbol{R}} -\newrobustcmd*\meterC {\kern-.15em\musicsymbol{S}} -\newrobustcmd*\wholerest {\musicsymbol{<}} -\newrobustcmd*\halfrest {\musicsymbol{=}} -\newrobustcmd*\quarterrest {\musicsymbol[-1ex]{>}\kern.25em} -\newrobustcmd*\eighthrest {\musicsymbol[-1ex]{?}\kern.33em} -\newrobustcmd*\sixteenthrest {\musicsymbol[-1ex]{@}\kern.33em} +\newrobustcmd*\trebleclef {\leadsheets@treblestrut\smash{\musicsymbol{H}}} +\newrobustcmd*\bassclef {\strut\smash{\musicsymbol{J}}} +\newrobustcmd*\altoclef {\leadsheets@altostrut\smash{\musicsymbol{K}}} +\newrobustcmd*\allabreve {\strut\smash{\kern-.1em\musicsymbol[.25ex]{R}\kern.05em}} +\newrobustcmd*\meterC {\strut\smash{\kern-.1em\musicsymbol[.25ex]{S}\kern.05em}} +\newrobustcmd*\wholerest {\kern.05em\musicsymbol{<}\kern.05em} +\newrobustcmd*\halfrest {\kern.05em\musicsymbol{=}\kern.05em} +\newrobustcmd*\quarterrest {\strut\smash{\musicsymbol[-1.5ex]{>}\kern.4em}} +\newrobustcmd*\eighthrest {\musicsymbol[-1.5ex]{?}\kern.5em} +\newrobustcmd*\sixteenthrest {\kern.05em\musicsymbol[-1.5ex]{@}\kern.5em} \newcommand*\leadsheets@size{\f@size pt} \newlength\leadsheets@barheight @@ -102,3 +109,6 @@ } \endinput + +2014/08/10 - initial release +2015/07/13 - scale musix font by 1.9 => else the symbols are rather small! diff --git a/Master/texmf-dist/tex/latex/leadsheets/leadsheets.library.songs.code.tex b/Master/texmf-dist/tex/latex/leadsheets/leadsheets.library.songs.code.tex index a495369a56e..79d235f66aa 100644 --- a/Master/texmf-dist/tex/latex/leadsheets/leadsheets.library.songs.code.tex +++ b/Master/texmf-dist/tex/latex/leadsheets/leadsheets.library.songs.code.tex @@ -1,4 +1,4 @@ -\LeadsheetsExplLibrary{songs}{2015/07/02 typesetting songs} +\LeadsheetsExplLibrary{songs}{2015/07/27 typesetting songs} % -------------------------------------------------------------------------- % messages: @@ -39,6 +39,9 @@ \tl_new:N \l__leadsheets_capo_number_format_tl \tl_new:N \l__leadsheets_recall_verse_type_tl \tl_new:N \l__leadsheets_song_body_tl +\tl_new:N \l__leadsheets_song_pre_hook_tl +\tl_new:N \l__leadsheets_song_post_hook_tl +\tl_new:N \l__leadsheets_song_mid_hook_tl \bool_new:N \l__leadsheets_print_selected_bool \bool_new:N \l__leadsheets_transpose_bool @@ -247,7 +250,7 @@ } % -------------------------------------------------------------------------- -\cs_new:Npn \leadsheets_print_song:nwn #1#2\end#3 +\cs_new_protected:Npn \leadsheets_print_song:nwn #1#2\end#3 { \tl_clear:N \l__leadsheets_song_body_tl \leadsheets_if_print_song:nT {#1} @@ -258,27 +261,24 @@ \leadsheets_songtitle: \leadsheets_check_capo: \tl_use:N \l__leadsheets_songtext_format_tl - #2 } + \tl_put_right:NV \l__leadsheets_song_body_tl + \l__leadsheets_song_mid_hook_tl + \tl_put_right:Nn \l__leadsheets_song_body_tl {#2} } - \tl_if_eq:nnTF {#3} {song} - { - \leadsheets_if_print_song:nT {#1} - { \leadsheets_end_song:n {#1} } - \group_end: - \end{song} - } - { - \tl_put_right:Nn \l__leadsheets_song_body_tl { \end{#3} } - \__leadsheets_continue_song:nwn {#1} - } + \__leadsheets_continue_or_end_song:nn {#1} {#3} } \cs_new:Npn \__leadsheets_continue_song:nwn #1#2\end#3 { \leadsheets_if_print_song:nT {#1} { \tl_put_right:Nn \l__leadsheets_song_body_tl {#2} } - \tl_if_eq:nnTF {#3} {song} + \__leadsheets_continue_or_end_song:nn {#1} {#3} + } + +\cs_new_protected:Npn \__leadsheets_continue_or_end_song:nn #1#2 + { + \tl_if_eq:nnTF {#2} {song} { \leadsheets_if_print_song:nT {#1} { \leadsheets_end_song:n {#1} } @@ -286,7 +286,7 @@ \end{song} } { - \tl_put_right:Nn \l__leadsheets_song_body_tl { \end{#3} } + \tl_put_right:Nn \l__leadsheets_song_body_tl { \end{#2} } \__leadsheets_continue_song:nwn {#1} } } @@ -295,6 +295,10 @@ { \bool_set_true:N \l__leadsheets_measuring_bool \leadsheets_reset_counters: + \tl_put_left:NV \l__leadsheets_song_body_tl + \l__leadsheets_song_pre_hook_tl + \tl_put_right:NV \l__leadsheets_song_body_tl + \l__leadsheets_song_post_hook_tl \box_clear:N \l__leadsheets_tmpa_box \vbox_set:NV \l__leadsheets_tmpa_box \l__leadsheets_song_body_tl \leadsheets_set_property:nnx {#1} {height} @@ -655,10 +659,17 @@ capo-nr-format .initial:n = {Roman} , capo-nr .code:n = \cs_set_protected:Npn \leadsheets_capo_number_print:n ##1 {#1} , - capo-nr .initial:n = #1. + capo-nr .initial:n = #1. , + before-song .tl_set:N = \l__leadsheets_song_pre_hook_tl , + after-song .tl_set:N = \l__leadsheets_song_post_hook_tl , + after-title .tl_set:N = \l__leadsheets_song_mid_hook_tl , + add-to-reset .code:n = + \clist_map_inline:nn {#1} { \leadsheets_add_to_reset:n {##1} } } \endinput 2015/05/22: \l__leadsheets_chords_sequences_prop changed into global 2015/07/02: added `class' option to verses 2015/07/05: enable usage of # in the key property +2015/07/27: new options `before-song', `after-song', `after-title' and + `add-to-reset' diff --git a/Master/texmf-dist/tex/latex/leadsheets/leadsheets.sty b/Master/texmf-dist/tex/latex/leadsheets/leadsheets.sty index 6ba57e9be26..d8ff399ae96 100644 --- a/Master/texmf-dist/tex/latex/leadsheets/leadsheets.sty +++ b/Master/texmf-dist/tex/latex/leadsheets/leadsheets.sty @@ -5,8 +5,8 @@ % -------------------------------------------------------------------------- % package information: \ExplSyntaxOn -\tl_const:Nn \c_leadsheets_date_tl {2015/07/07} -\tl_const:Nn \c_leadsheets_version_tl {0.2a} +\tl_const:Nn \c_leadsheets_date_tl {2015/07/28} +\tl_const:Nn \c_leadsheets_version_tl {0.3} \tl_const:Nn \c_leadsheets_info_tl {Typesetting leadsheets and songbooks} \ProvidesExplPackage -- cgit v1.2.3