diff options
Diffstat (limited to 'Master/texmf-dist/tex/latex/leadsheets/leadsheets.library.shorthands.code.tex')
-rw-r--r-- | Master/texmf-dist/tex/latex/leadsheets/leadsheets.library.shorthands.code.tex | 40 |
1 files changed, 40 insertions, 0 deletions
diff --git a/Master/texmf-dist/tex/latex/leadsheets/leadsheets.library.shorthands.code.tex b/Master/texmf-dist/tex/latex/leadsheets/leadsheets.library.shorthands.code.tex new file mode 100644 index 00000000000..3766ddcc0b3 --- /dev/null +++ b/Master/texmf-dist/tex/latex/leadsheets/leadsheets.library.shorthands.code.tex @@ -0,0 +1,40 @@ +\LeadsheetsExplLibrary{shorthands} + {2014/08/10 definition and activation of shorthands} + +\seq_new:N \l__leadsheets_shorthands_seq + +\group_begin: +\char_set_catcode_active:N \~ + +\cs_new_protected:Npn \leadsheets_define_shorthand:Npn #1 + { + \seq_if_in:NnF \l__leadsheets_shorthands_seq {#1} + { \seq_put_right:Nn \l__leadsheets_shorthands_seq {#1} } + \group_begin: + \__leadsheets_define_shorthand_aux_i:np {#1} + } + +\cs_new_protected:Npn \__leadsheets_define_shorthand_aux_i:np #1#2#{ + \char_set_lccode:nn {`~} {`#1} + \__leadsheets_define_shorthand_aux_ii:nn {#2} + } + +\cs_new_protected:Npn \__leadsheets_define_shorthand_aux_ii:nn #1#2 + { \tl_to_lowercase:n { \group_end: \cs_set:Npn ~ } #1 {#2} } +\group_end: + +\cs_new_protected:Npn \leadsheets_activate_shorthands:n #1 + { + \tl_map_inline:nn {#1} + { + \seq_if_in:NnT \l__leadsheets_shorthands_seq {##1} + { \char_set_catcode_active:N ##1 } + } + } +\cs_new_protected:Npn \leadsheets_activate_all_shorthands: + { + \seq_map_inline:Nn \l__leadsheets_shorthands_seq + { \char_set_catcode_active:N ##1 } + } + +\endinput |