summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/latex/leadsheets/leadsheets.library.shorthands.code.tex
diff options
context:
space:
mode:
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.tex40
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