summaryrefslogtreecommitdiff
path: root/macros/latex/contrib/genealogytree/gtrcore.options.code.tex
diff options
context:
space:
mode:
Diffstat (limited to 'macros/latex/contrib/genealogytree/gtrcore.options.code.tex')
-rw-r--r--macros/latex/contrib/genealogytree/gtrcore.options.code.tex103
1 files changed, 69 insertions, 34 deletions
diff --git a/macros/latex/contrib/genealogytree/gtrcore.options.code.tex b/macros/latex/contrib/genealogytree/gtrcore.options.code.tex
index 7dc7f3c232..10eb3711a7 100644
--- a/macros/latex/contrib/genealogytree/gtrcore.options.code.tex
+++ b/macros/latex/contrib/genealogytree/gtrcore.options.code.tex
@@ -1,4 +1,4 @@
-%% The LaTeX package genealogytree - version 2.00 (2020/06/19)
+%% The LaTeX package genealogytree - version 2.01 (2020/07/28)
%% gtrcore.options.code.tex: Options
%%
%% -------------------------------------------------------------------------------------------
@@ -17,7 +17,7 @@
%%
%% This work consists of all files listed in README
%%
-\gtr@set@library@version{2.00}
+\gtr@set@library@version{2.01}
%%%%%%%%%%%%%%%%%%%%%%%
%% General handling
@@ -94,40 +94,81 @@
%%%%%%%%%%%%%%%%%%%%%%%
-\newcommand{\gtrsetoptionsforsubtree}[2]{%
- \def\do##1{%
- \gtr@keys@addvalue{/gtr/sopt/##1}{subtree={#2}}%
- }%
- \docsvlist{#1}%
-}
+\ExplSyntaxOn
-\newcommand{\gtrsetoptionsforfamily}[2]{%
- \def\do##1{%
- \gtr@keys@addvalue{/gtr/sopt/##1}{family={#2}}%
- }%
- \docsvlist{#1}%
-}
+\cs_new:Npn \getree_set_options_for_subtree:nn #1#2
+ {
+ \clist_set:Nn \l_tmpa_clist { #1 }
+ \clist_map_inline:Nn \l_tmpa_clist
+ {
+ \gtr@keys@addvalue{/gtr/sopt/##1}{#2}
+ }
+ }
-\newcommand{\gtrsetoptionsfornode}[2]{%
- \def\do##1{%
- \gtr@keys@addvalue{/gtr/nopt/##1}{#2}%
- }%
- \docsvlist{#1}%
-}
+\cs_new:Npn \getree_set_options_for_family:nn #1#2
+ {
+ \clist_set:Nn \l_tmpa_clist { #1 }
+ \clist_map_inline:Nn \l_tmpa_clist
+ {
+ \gtr@keys@addvalue{/gtr/sopt/##1}{family={#2}}
+ }
+ }
-\newcommand{\gtrignoresubtree}[1]{%
- \def\do##1{%
- \gtr@keys@addvalue{/gtr/sopt/##1}{ignore}%
- }%
- \docsvlist{#1}%
-}
-\newcommand{\gtrignorenode}[1]{%
- \gtrsetoptionsfornode{#1}{ignore}%
+\cs_new:Npn \getree_set_options_for_node:nn #1#2
+ {
+ \clist_set:Nn \l_tmpa_clist { #1 }
+ \clist_map_inline:Nn \l_tmpa_clist
+ {
+ \gtr@keys@addvalue{/gtr/nopt/##1}{#2}
+ }
+ }
+
+
+\NewDocumentCommand{\gtrsetoptionsforsubtree}{ m +m }
+ {
+ \getree_set_options_for_subtree:nn {#1}{#2}
+ }
+
+
+\NewDocumentCommand{\gtrsetoptionsforfamily}{ m +m }
+ {
+ \getree_set_options_for_family:nn {#1}{#2}
+ }
+
+
+\NewDocumentCommand{\gtrsetoptionsfornode}{ m +m }
+ {
+ \getree_set_options_for_node:nn {#1}{#2}
+ }
+
+
+\NewDocumentCommand{\gtrignoresubtree}{ m }
+ {
+ \getree_set_options_for_subtree:nn{#1}{ignore}
+ }
+
+
+\NewDocumentCommand{\gtrignorenode}{ m }
+ {
+ \getree_set_options_for_node:nn{#1}{ignore}
+ }
+
+
+\gtrset{
+ options~for~subtree/.code~n~args={2}{\getree_set_options_for_subtree:nn{#1}{#2}},
+ options~for~family/.code~n~args={2}{\getree_set_options_for_family:nn{#1}{#2}},
+ options~for~node/.code~n~args={2}{\getree_set_options_for_node:nn{#1}{#2}},
+ %
+ ignore~subtree/.code={\getree_set_options_for_subtree:nn{#1}{ignore}},
+ ignore~node/.code={\getree_set_options_for_node:nn{#1}{ignore}},
}
+\ExplSyntaxOff
+
+
\def\gtr@set@level@position@down#1{%
\csdimdef{gtr@per@#1@y}{\gtr@level@reference}%
@@ -333,12 +374,6 @@
},
disconnect/.default=both,
%
- options for subtree/.code 2 args={\gtrsetoptionsforsubtree{#1}{#2}},
- options for family/.code 2 args={\gtrsetoptionsforfamily{#1}{#2}},
- options for node/.code 2 args={\gtrsetoptionsfornode{#1}{#2}},
- %
- ignore subtree/.code={\gtrignoresubtree{#1}},
- ignore node/.code={\gtrignorenode{#1}},
ignore level/.code={%
\ifnum#1>0\relax%
\gtrset{level #1/.style={node=ignore}}%