% -------------------------------------------------------------------------- % the LEADSHEETS package % % typesetting leadsheets and songbooks % % -------------------------------------------------------------------------- % Clemens Niederberger % Web: http://www.mychemistry.eu/forums/forum/leadsheets/ % E-Mail: contact@mychemistry.eu % -------------------------------------------------------------------------- % Copyright 2014-2016 Clemens Niederberger % % This work may be distributed and/or modified under the % conditions of the LaTeX Project Public License, either version 1.3 % of this license or (at your option) any later version. % The latest version of this license is in % http://www.latex-project.org/lppl.txt % and version 1.3 or later is part of all distributions of LaTeX % version 2005/12/01 or later. % % This work has the LPPL maintenance status `maintained'. % % The Current Maintainer of this work is Clemens Niederberger. % -------------------------------------------------------------------------- \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