summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/latex/leadsheets/leadsheets.library.chordnames.code.tex
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/tex/latex/leadsheets/leadsheets.library.chordnames.code.tex')
-rw-r--r--Master/texmf-dist/tex/latex/leadsheets/leadsheets.library.chordnames.code.tex74
1 files changed, 49 insertions, 25 deletions
diff --git a/Master/texmf-dist/tex/latex/leadsheets/leadsheets.library.chordnames.code.tex b/Master/texmf-dist/tex/latex/leadsheets/leadsheets.library.chordnames.code.tex
index 4342d33d69b..9fe740fcc62 100644
--- a/Master/texmf-dist/tex/latex/leadsheets/leadsheets.library.chordnames.code.tex
+++ b/Master/texmf-dist/tex/latex/leadsheets/leadsheets.library.chordnames.code.tex
@@ -5,7 +5,6 @@
%
% --------------------------------------------------------------------------
% Clemens Niederberger
-% Web: http://www.mychemistry.eu/forums/forum/leadsheets/
% E-Mail: contact@mychemistry.eu
% --------------------------------------------------------------------------
% Copyright 2014-2016 Clemens Niederberger
@@ -22,19 +21,20 @@
%
% The Current Maintainer of this work is Clemens Niederberger.
% --------------------------------------------------------------------------
-\LeadsheetsExplLibrary{chordnames}{2015/07/02 typesetting chord names with easy syntax}
+\LeadsheetsExplLibrary{chordnames}{2016/07/05 typesetting chord names with easy syntax}
\leadsheets_load_library:n {musicsymbols}
-% \bool_new:N \l__leadsheets_output_notation_german_bool
-% \bool_new:N \l__leadsheets_input_notation_german_bool
-
\tl_new:N \l__leadsheets_chord_tl
\tl_new:N \l__leadsheets_tension_tl
\tl_new:N \l__leadsheets_format_tl
\cs_new_protected:Npn \leadsheets_tension_sym:Nn #1#2
- { \tl_replace_all:Nnn #1 {#2} { \textsuperscript{#2} } }
+ { \tl_replace_all:Nnn #1 {#2} { \textsuperscript {#2} } }
+
+\cs_new_protected:Npn \leadsheets_tension_sym:Nnn #1#2#3
+ { \tl_replace_all:Nnn #1 {#2} { \textsuperscript {#3} } }
+\cs_generate_variant:Nn \leadsheets_tension_sym:Nnn {NnV}
\cs_new_protected:Npn \leadsheets_chord_sym:Nnn #1#2#3
{ \tl_replace_all:Nnn #1 {#2} {#3} }
@@ -93,12 +93,9 @@
\cs_gset_protected:Npn \leadsheets_chord_aux:n !1
{
\tl_set:Nn \l__leadsheets_chord_tl {!1}
- \leadsheets_chord_sym:Nnn \l__leadsheets_chord_tl {maj7}
- {\l__leadsheets_major_seven_tl}
- \leadsheets_chord_sym:Nnn \l__leadsheets_chord_tl {maj9}
- {\l__leadsheets_major_nine_tl}
- \leadsheets_chord_sym:Nnn \l__leadsheets_chord_tl {sus}
- {\l__leadsheets_sus_tl}
+ \leadsheets_chord_sym:NnV \l__leadsheets_chord_tl {maj7} \l__leadsheets_major_seven_tl
+ \leadsheets_chord_sym:NnV \l__leadsheets_chord_tl {maj9} \l__leadsheets_major_nine_tl
+ \leadsheets_chord_sym:NnV \l__leadsheets_chord_tl {sus} \l__leadsheets_sus_tl
\leadsheets_chord_sym:Nnn \l__leadsheets_chord_tl {^} {\textsuperscript}
\bool_if:NT \l__leadsheets_output_notation_german_bool
{
@@ -107,10 +104,8 @@
}
\leadsheets_chord_sym:Nnn \l__leadsheets_chord_tl {#b} {}
\leadsheets_chord_sym:Nnn \l__leadsheets_chord_tl {b#} {}
- \leadsheets_chord_sym:Nnn \l__leadsheets_chord_tl {##}
- {\l__leadsheets_doublesharp_tl}
- \leadsheets_chord_sym:Nnn \l__leadsheets_chord_tl {bb}
- {\l__leadsheets_doubleflat_tl}
+ \leadsheets_chord_sym:NnV \l__leadsheets_chord_tl {##} \l__leadsheets_doublesharp_tl
+ \leadsheets_chord_sym:NnV \l__leadsheets_chord_tl {bb} \l__leadsheets_doubleflat_tl
\leadsheets_chord_sym:NnV \l__leadsheets_chord_tl {#} \l__leadsheets_sharp_tl
\leadsheets_chord_sym:NnV \l__leadsheets_chord_tl {b} \l__leadsheets_flat_tl
\leadsheets_chord_sym:NnV \l__leadsheets_chord_tl {dim} \l__leadsheets_dim_tl
@@ -125,12 +120,9 @@
\leadsheets_tension_sym:Nn \l__leadsheets_chord_tl {7}
\leadsheets_tension_sym:Nn \l__leadsheets_chord_tl {8}
\leadsheets_tension_sym:Nn \l__leadsheets_chord_tl {9}
- \leadsheets_chord_sym:Nnn \l__leadsheets_chord_tl {/o}
- {\textsuperscript{\l__leadsheets_half_dim_tl}}
- \leadsheets_chord_sym:Nnn \l__leadsheets_chord_tl {o}
- {\textsuperscript{\l__leadsheets_full_dim_tl}}
- \leadsheets_chord_sym:Nnn \l__leadsheets_chord_tl {+}
- {\textsuperscript{\l__leadsheets_aug_tl}}
+ \leadsheets_tension_sym:NnV \l__leadsheets_chord_tl {/o} \l__leadsheets_half_dim_tl
+ \leadsheets_tension_sym:NnV \l__leadsheets_chord_tl {o} \l__leadsheets_full_dim_tl
+ \leadsheets_tension_sym:NnV \l__leadsheets_chord_tl {+} \l__leadsheets_aug_tl
\leadsheets_chord_sym:Nnn \l__leadsheets_chord_tl {(}
{ \leadsheets_tension:w( }
\leadsheets_chord_sym:Nnn \l__leadsheets_chord_tl {mi}
@@ -140,12 +132,31 @@
\tl_replace_all:Nnn \l__leadsheets_chord_tl
{\textsuperscript\textsuperscript}
{\textsuperscript}
+ \bool_if:NT \l__leadsheets_lowercase_minor_bool
+ {
+ \tl_put_left:Nn \l__leadsheets_chord_tl { \__leadsheets_start_minor:w }
+ \tl_put_right:Nn \l__leadsheets_chord_tl { \q_stop }
+ }
+% \show \l__leadsheets_chord_tl
\tl_use:N \l__leadsheets_chord_tl
\group_end:
}
\group_end:
+% lowercase letters for minor chords:
+\bool_new:N \l__leadsheets_lowercase_minor_bool
+
+\cs_new_protected:Npn \__leadsheets_start_minor:w #1 \q_stop
+ {
+ \tl_if_in:nnTF {#1} {\l__leadsheets_minor_tl}
+ { \__leadsheets_revert_minor:w #1 \q_stop }
+ {#1}
+ }
+
+\cs_new_protected:Npn \__leadsheets_revert_minor:w #1 \l__leadsheets_minor_tl #2 \q_stop
+ { \tl_lower_case:n {#1} #2 }
+
\cs_new_protected:Npn \leadsheets_tension:w (#1)
{
\group_begin:
@@ -168,14 +179,23 @@
full-dim .tl_set:N = \l__leadsheets_full_dim_tl ,
aug .tl_set:N = \l__leadsheets_aug_tl ,
major .tl_set:N = \l__leadsheets_major_tl ,
- minor .tl_set:N = \l__leadsheets_minor_tl ,
+ minor .code:n =
+ \str_if_eq:nnTF {#1} {lowercase}
+ {
+ \bool_set_true:N \l__leadsheets_lowercase_minor_bool
+ \tl_clear:N \l__leadsheets_minor_tl
+ }
+ {
+ \bool_set_false:N \l__leadsheets_lowercase_minor_bool
+ \tl_set:Nn \l__leadsheets_minor_tl {#1}
+ } ,
sus .tl_set:N = \l__leadsheets_sus_tl ,
add .tl_set:N = \l__leadsheets_add_tl ,
dim .tl_set:N = \l__leadsheets_dim_tl ,
major-seven .tl_set:N = \l__leadsheets_major_seven_tl ,
major-nine .tl_set:N = \l__leadsheets_major_nine_tl ,
german-B .tl_set:N = \l__leadsheets_german_B_tl ,
- german-H .tl_set:N = \l__leadsheets_german_H_tl
+ german-H .tl_set:N = \l__leadsheets_german_H_tl ,
% since version 0.2 those are defined in the `chords` library:
% output-notation .choice: ,
% input-notation .choice: ,
@@ -195,4 +215,8 @@ HISTORY:
- input/output notation is now handled by the `chords' library
- German output of B and H can be customized
2015/05/22 - improvements to the chord macros
-2015/07/02 - this is not a use library any more
+2015/07/02 - this is not a user library any more
+2016/07/05 - with option `minor=lowercase' minor chords are now printed with
+ lowercase letters; requires user input `Dmi' in order to get `d';
+ lowercase letters can of course be input directly but then are
+ immune to transposing