summaryrefslogtreecommitdiff
path: root/macros/latex/contrib/chemmacros/chemmacros.module.orbital.code.tex
diff options
context:
space:
mode:
Diffstat (limited to 'macros/latex/contrib/chemmacros/chemmacros.module.orbital.code.tex')
-rw-r--r--macros/latex/contrib/chemmacros/chemmacros.module.orbital.code.tex576
1 files changed, 0 insertions, 576 deletions
diff --git a/macros/latex/contrib/chemmacros/chemmacros.module.orbital.code.tex b/macros/latex/contrib/chemmacros/chemmacros.module.orbital.code.tex
deleted file mode 100644
index 6f9f018322..0000000000
--- a/macros/latex/contrib/chemmacros/chemmacros.module.orbital.code.tex
+++ /dev/null
@@ -1,576 +0,0 @@
-% --------------------------------------------------------------------------
-%
-% the CHEMMACROS package -- module: `orbital'
-%
-% --------------------------------------------------------------------------
-% Clemens Niederberger
-% --------------------------------------------------------------------------
-% https://github.org/cgnieder/chemmacros/
-% contact@mychemistry.eu
-% --------------------------------------------------------------------------
-% If you have any ideas, questions, suggestions or bugs to report, please
-% feel free to contact me.
-% --------------------------------------------------------------------------
-% Copyright 2011--2020 Clemens Niederberger
-%
-% This work may be distributed and/or modified under the
-% conditions of the LaTeX Project Public License, either version 1.3c
-% 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 2008/05/04 or later.
-%
-% This work has the LPPL maintenance status `maintained'.
-%
-% The Current Maintainer of this work is Clemens Niederberger.
-% --------------------------------------------------------------------------
-\ChemModule{orbital}{2015/07/14 drawing orbital shapes}
-
-\chemmacros_load_module:n {tikz}
-
-% \orbital[<keyval>]{<type>}
-% variables:
-\bool_new:N \l__chemmacros_orbital_type_s_bool
-\bool_new:N \l__chemmacros_orbital_type_p_bool
-\bool_new:N \l__chemmacros_orbital_type_sp_bool
-\bool_new:N \l__chemmacros_orbital_type_sptwo_bool
-\bool_new:N \l__chemmacros_orbital_type_spthree_bool
-\bool_new:N \l__chemmacros_orbital_s_phase_bool
-\bool_set_true:N \l__chemmacros_orbital_s_phase_bool
-\bool_new:N \l__chemmacros_orbital_p_phase_bool
-\bool_set_true:N \l__chemmacros_orbital_p_phase_bool
-\bool_new:N \l__chemmacros_orbital_sp_phase_bool
-\bool_set_true:N \l__chemmacros_orbital_sp_phase_bool
-\bool_new:N \l__chemmacros_orbital_sptwo_phase_bool
-\bool_set_true:N \l__chemmacros_orbital_sptwo_phase_bool
-\bool_new:N \l__chemmacros_orbital_spthree_phase_bool
-\bool_set_true:N \l__chemmacros_orbital_spthree_phase_bool
-\bool_new:N \l__chemmacros_orbital_p_half_bool
-\bool_new:N \l__chemmacros_orbital_overlay_bool
-\bool_new:N \l__chemmacros_orbital_opacity_bool
-
-\tl_new:N \l__chemmacros_orbital_s_color_tl
-\tl_set:Nn \l__chemmacros_orbital_s_color_tl { black }
-\tl_new:N \l__chemmacros_orbital_s_phase_color_tl
-\tl_new:N \l__chemmacros_orbital_p_color_tl
-\tl_set:Nn \l__chemmacros_orbital_p_color_tl { black }
-\tl_new:N \l__chemmacros_orbital_p_pphase_color_tl
-\tl_new:N \l__chemmacros_orbital_p_mphase_color_tl
-\tl_new:N \l__chemmacros_orbital_sp_color_tl
-\tl_set:Nn \l__chemmacros_orbital_sp_color_tl { black }
-\tl_new:N \l__chemmacros_orbital_sp_pphase_color_tl
-\tl_new:N \l__chemmacros_orbital_sp_mphase_color_tl
-\tl_new:N \l__chemmacros_orbital_sptwo_color_tl
-\tl_set:Nn \l__chemmacros_orbital_sptwo_color_tl { black }
-\tl_new:N \l__chemmacros_orbital_sptwo_pphase_color_tl
-\tl_new:N \l__chemmacros_orbital_sptwo_mphase_color_tl
-\tl_new:N \l__chemmacros_orbital_spthree_color_tl
-\tl_set:Nn \l__chemmacros_orbital_spthree_color_tl { black }
-\tl_new:N \l__chemmacros_orbital_spthree_pphase_color_tl
-\tl_new:N \l__chemmacros_orbital_spthree_mphase_color_tl
-\tl_new:N \l__chemmacros_orbital_s_scale_tl
-\tl_set:Nn \l__chemmacros_orbital_s_scale_tl { 1 }
-\tl_new:N \l__chemmacros_orbital_p_scale_tl
-\tl_set:Nn \l__chemmacros_orbital_p_scale_tl { 1 }
-\tl_new:N \l__chemmacros_orbital_sp_scale_tl
-\tl_set:Nn \l__chemmacros_orbital_sp_scale_tl { 1 }
-\tl_new:N \l__chemmacros_orbital_sptwo_scale_tl
-\tl_set:Nn \l__chemmacros_orbital_sptwo_scale_tl { 1 }
-\tl_new:N \l__chemmacros_orbital_spthree_scale_tl
-\tl_set:Nn \l__chemmacros_orbital_spthree_scale_tl { 1 }
-
-\fp_new:N \l__chemmacros_orbital_angle_fp
-\fp_set:Nn \l__chemmacros_orbital_angle_fp { 90 }
-\fp_new:N \l__chemmacros_orbital_opacity_fp
-\fp_set:Nn \l__chemmacros_orbital_opacity_fp { 0.5 }
-
-\cs_new:Npn \__chemmacros_orbital_options:
- {
- \__chemmacros_orbital_overlay: , \__chemmacros_orbital_opacity: ,
- inner~sep=0 , outer~sep=0 , line~width=.2pt ,
- rotate = { \fp_use:N \l__chemmacros_orbital_angle_fp - 90 } ,
- baseline ,
- minimum~size = 0
- }
-
-\cs_new:Npn \__chemmacros_orbital_overlay:
- { \bool_if:NT \l__chemmacros_orbital_overlay_bool { overlay } }
-
-\cs_new:Npn \__chemmacros_orbital_opacity:
- {
- \bool_if:NT \l__chemmacros_orbital_opacity_bool
- { opacity = { \fp_use:N \l__chemmacros_orbital_opacity_fp } }
- }
-
-% --------------------------------------------------------------------------
-% s-orbitals
-\cs_new_protected:Npn \__chemmacros_orbital_type_s:
- {
- \bool_set_true:N \l__chemmacros_orbital_type_s_bool
- \bool_set_false:N \l__chemmacros_orbital_type_p_bool
- \bool_set_false:N \l__chemmacros_orbital_type_sp_bool
- \bool_set_false:N \l__chemmacros_orbital_type_sptwo_bool
- \bool_set_false:N \l__chemmacros_orbital_type_spthree_bool
- }
-
-\chemmacros_define_keys:nn {orbital/s}
- {
- phase .choice: ,
- phase / + .code:n =
- { \bool_set_true:N \l__chemmacros_orbital_s_phase_bool } ,
- phase / - .code:n =
- { \bool_set_false:N \l__chemmacros_orbital_s_phase_bool } ,
- scale .tl_set:N = \l__chemmacros_orbital_s_scale_tl ,
- color .tl_set:N = \l__chemmacros_orbital_s_color_tl
- }
-
-\cs_new_protected:Npn \__chemmacros_orbital_s_draw:n #1
- {
- \chemmacros_set_keys:nn {orbital/s} {#1}
- \bool_if:NTF \l__chemmacros_orbital_s_phase_bool
- {
- \tl_if_in:NnTF \l__chemmacros_orbital_s_color_tl { ! }
- {
- \tl_set:Nn \l__chemmacros_orbital_s_phase_color_tl
- { \tl_use:N \l__chemmacros_orbital_s_color_tl }
- }
- {
- \tl_set:Nn \l__chemmacros_orbital_s_phase_color_tl
- { \tl_use:N \l__chemmacros_orbital_s_color_tl ! 90 }
- }
- }
- {
- \tl_set:Nn \l__chemmacros_orbital_s_phase_color_tl
- { black ! 5 }
- }
- \chemmacros_tikz_picture:xn
- { \__chemmacros_orbital_options: }
- {
- \chemmacros_tikz_shade:x
- { ball~color = \exp_not:V \l__chemmacros_orbital_s_phase_color_tl }
- (0pt,0pt) circle (\exp_not:V \l__chemmacros_orbital_s_scale_tl * .6em) ;
- }
- }
-
-% --------------------------------------------------------------------------
-% p-orbitals
-\cs_new_protected:Npn \__chemmacros_orbital_type_p:
- {
- \bool_set_false:N \l__chemmacros_orbital_type_s_bool
- \bool_set_true:N \l__chemmacros_orbital_type_p_bool
- \bool_set_false:N \l__chemmacros_orbital_type_sp_bool
- \bool_set_false:N \l__chemmacros_orbital_type_sptwo_bool
- \bool_set_false:N \l__chemmacros_orbital_type_spthree_bool
- }
-
-\chemmacros_define_keys:nn {orbital/p}
- {
- phase .choice: ,
- phase / + .code:n =
- { \bool_set_true:N \l__chemmacros_orbital_p_phase_bool } ,
- phase / - .code:n =
- { \bool_set_false:N \l__chemmacros_orbital_p_phase_bool } ,
- scale .tl_set:N = \l__chemmacros_orbital_p_scale_tl ,
- angle .fp_set:N = \l__chemmacros_orbital_angle_fp ,
- color .tl_set:N = \l__chemmacros_orbital_p_color_tl ,
- half .bool_set:N = \l__chemmacros_orbital_p_half_bool ,
- half .default:n = true
- }
-
-\cs_new_protected:Npn \__chemmacros_orbital_p_draw:n #1
- {
- \chemmacros_set_keys:nn {orbital/p} {#1}
- \bool_if:NTF \l__chemmacros_orbital_p_phase_bool
- {
- \tl_if_in:NnTF \l__chemmacros_orbital_p_color_tl { ! }
- {
- \tl_set:Nn \l__chemmacros_orbital_p_pphase_color_tl
- { \tl_use:N \l__chemmacros_orbital_p_color_tl }
- }
- {
- \tl_set:Nn \l__chemmacros_orbital_p_pphase_color_tl
- { \tl_use:N \l__chemmacros_orbital_p_color_tl ! 90 }
- }
- \tl_set:Nn \l__chemmacros_orbital_p_mphase_color_tl
- { black ! 5 }
-
- }
- {
- \tl_if_in:NnTF \l__chemmacros_orbital_p_color_tl { ! }
- {
- \tl_set:Nn \l__chemmacros_orbital_p_mphase_color_tl
- { \tl_use:N \l__chemmacros_orbital_p_color_tl }
- }
- {
- \tl_set:Nn \l__chemmacros_orbital_p_mphase_color_tl
- { \tl_use:N \l__chemmacros_orbital_p_color_tl ! 90 }
- }
- \tl_set:Nn \l__chemmacros_orbital_p_pphase_color_tl
- { black ! 5 }
- }
- \chemmacros_tikz_picture:xn
- { \__chemmacros_orbital_options: }
- {
- \chemmacros_tikz_shadedraw:x
- {
- draw = \exp_not:V \l__chemmacros_orbital_p_pphase_color_tl ,
- ball~color = \exp_not:V \l__chemmacros_orbital_p_pphase_color_tl
- }
- (0pt,0pt) .. controls ++
- (
- - \l__chemmacros_orbital_p_scale_tl * 2em ,
- \l__chemmacros_orbital_p_scale_tl * 2em
- )
- and ++
- (
- \l__chemmacros_orbital_p_scale_tl * 2em ,
- \l__chemmacros_orbital_p_scale_tl * 2em
- )
- .. (0pt,0pt);
- \bool_if:NF \l__chemmacros_orbital_p_half_bool
- {
- \chemmacros_tikz_shadedraw:x
- {
- draw = \exp_not:V \l__chemmacros_orbital_p_mphase_color_tl ,
- ball~color = \exp_not:V \l__chemmacros_orbital_p_mphase_color_tl
- }
- (0pt,0pt) .. controls ++
- (
- - \l__chemmacros_orbital_p_scale_tl * 2em ,
- - \l__chemmacros_orbital_p_scale_tl * 2em
- )
- and ++
- (
- \l__chemmacros_orbital_p_scale_tl * 2em ,
- - \l__chemmacros_orbital_p_scale_tl * 2em
- )
- .. (0pt,0pt);
- }
- }
- }
-
-% --------------------------------------------------------------------------
-% sp-orbitals
-\cs_new_protected:Npn \__chemmacros_orbital_type_sp:
- {
- \bool_set_false:N \l__chemmacros_orbital_type_s_bool
- \bool_set_false:N \l__chemmacros_orbital_type_p_bool
- \bool_set_true:N \l__chemmacros_orbital_type_sp_bool
- \bool_set_false:N \l__chemmacros_orbital_type_sptwo_bool
- \bool_set_false:N \l__chemmacros_orbital_type_spthree_bool
- }
-
-\chemmacros_define_keys:nn {orbital/sp}
- {
- phase .choice: ,
- phase / + .code:n =
- { \bool_set_true:N \l__chemmacros_orbital_sp_phase_bool } ,
- phase / - .code:n =
- { \bool_set_false:N \l__chemmacros_orbital_sp_phase_bool } ,
- scale .tl_set:N = \l__chemmacros_orbital_sp_scale_tl ,
- angle .fp_set:N = \l__chemmacros_orbital_angle_fp ,
- color .tl_set:N = \l__chemmacros_orbital_sp_color_tl
- }
-
-\cs_new_protected:Npn \__chemmacros_orbital_sp_draw:n #1
- {
- \chemmacros_set_keys:nn {orbital/sp} {#1}
- \bool_if:NTF \l__chemmacros_orbital_sp_phase_bool
- {
- \tl_if_in:NnTF \l__chemmacros_orbital_sp_color_tl { ! }
- {
- \tl_set:Nn \l__chemmacros_orbital_sp_pphase_color_tl
- { \tl_use:N \l__chemmacros_orbital_sp_color_tl }
- }
- {
- \tl_set:Nn \l__chemmacros_orbital_sp_pphase_color_tl
- { \tl_use:N \l__chemmacros_orbital_sp_color_tl ! 90 }
- }
- \tl_set:Nn \l__chemmacros_orbital_sp_mphase_color_tl
- { black ! 5 }
-
- }
- {
- \tl_if_in:NnTF \l__chemmacros_orbital_sp_color_tl { ! }
- {
- \tl_set:Nn \l__chemmacros_orbital_sp_mphase_color_tl
- { \tl_use:N \l__chemmacros_orbital_sp_color_tl }
- }
- {
- \tl_set:Nn \l__chemmacros_orbital_sp_mphase_color_tl
- { \tl_use:N \l__chemmacros_orbital_sp_color_tl ! 90 }
- }
- \tl_set:Nn \l__chemmacros_orbital_sp_pphase_color_tl
- { black ! 5 }
- }
- \chemmacros_tikz_picture:xn
- { \__chemmacros_orbital_options: }
- {
- \chemmacros_tikz_shadedraw:x
- {
- draw = \exp_not:V \l__chemmacros_orbital_sp_pphase_color_tl ,
- ball~color = \exp_not:V \l__chemmacros_orbital_sp_pphase_color_tl
- }
- (0pt,0pt) .. controls ++
- (
- - \l__chemmacros_orbital_sp_scale_tl * 2em ,
- \l__chemmacros_orbital_sp_scale_tl * 2em
- )
- and ++
- (
- \l__chemmacros_orbital_sp_scale_tl * 2em ,
- \l__chemmacros_orbital_sp_scale_tl * 2em
- )
- .. (0pt,0pt);
- \chemmacros_tikz_shadedraw:x
- {
- draw = \exp_not:V \l__chemmacros_orbital_sp_mphase_color_tl ,
- ball~color = \exp_not:V \l__chemmacros_orbital_sp_mphase_color_tl
- }
- (0pt,0pt) .. controls ++
- (
- - \l__chemmacros_orbital_sp_scale_tl * .6em ,
- - \l__chemmacros_orbital_sp_scale_tl * .6em
- )
- and ++
- (
- \l__chemmacros_orbital_sp_scale_tl * .6em ,
- - \l__chemmacros_orbital_sp_scale_tl * .6em
- )
- .. (0pt,0pt);
- }
- }
-
-% --------------------------------------------------------------------------
-% sp2-orbitals
-\cs_new_protected:Npn \__chemmacros_orbital_type_sptwo:
- {
- \bool_set_false:N \l__chemmacros_orbital_type_s_bool
- \bool_set_false:N \l__chemmacros_orbital_type_p_bool
- \bool_set_false:N \l__chemmacros_orbital_type_sp_bool
- \bool_set_true:N \l__chemmacros_orbital_type_sptwo_bool
- \bool_set_false:N \l__chemmacros_orbital_type_spthree_bool
- }
-
-\chemmacros_define_keys:nn {orbital/sp2}
- {
- phase .choice: ,
- phase / + .code:n =
- { \bool_set_true:N \l__chemmacros_orbital_sptwo_phase_bool } ,
- phase / - .code:n =
- { \bool_set_false:N \l__chemmacros_orbital_sptwo_phase_bool } ,
- scale .tl_set:N = \l__chemmacros_orbital_sptwo_scale_tl ,
- angle .fp_set:N = \l__chemmacros_orbital_angle_fp ,
- color .tl_set:N = \l__chemmacros_orbital_sptwo_color_tl
- }
-
-\cs_new_protected:Npn \__chemmacros_orbital_sptwo_draw:n #1
- {
- \chemmacros_set_keys:nn {orbital/sp2} {#1}
- \bool_if:NTF \l__chemmacros_orbital_sptwo_phase_bool
- {
- \tl_if_in:NnTF \l__chemmacros_orbital_sptwo_color_tl { ! }
- {
- \tl_set:Nn \l__chemmacros_orbital_sptwo_pphase_color_tl
- { \tl_use:N \l__chemmacros_orbital_sptwo_color_tl }
- }
- {
- \tl_set:Nn \l__chemmacros_orbital_sptwo_pphase_color_tl
- { \tl_use:N \l__chemmacros_orbital_sptwo_color_tl ! 90 }
- }
- \tl_set:Nn \l__chemmacros_orbital_sptwo_mphase_color_tl
- { black ! 5 }
-
- }
- {
- \tl_if_in:NnTF \l__chemmacros_orbital_sptwo_color_tl { ! }
- {
- \tl_set:Nn \l__chemmacros_orbital_sptwo_mphase_color_tl
- { \tl_use:N \l__chemmacros_orbital_sptwo_color_tl }
- }
- {
- \tl_set:Nn \l__chemmacros_orbital_sptwo_mphase_color_tl
- { \tl_use:N \l__chemmacros_orbital_sptwo_color_tl ! 90 }
- }
- \tl_set:Nn \l__chemmacros_orbital_sptwo_pphase_color_tl
- { black ! 5 }
- }
- \chemmacros_tikz_picture:xn
- { \__chemmacros_orbital_options: }
- {
- \chemmacros_tikz_shadedraw:x
- {
- draw = \exp_not:V \l__chemmacros_orbital_sptwo_pphase_color_tl ,
- ball~color = \exp_not:V \l__chemmacros_orbital_sptwo_pphase_color_tl
- }
- (0pt,0pt) .. controls ++
- (
- - \l__chemmacros_orbital_sptwo_scale_tl * 2em ,
- \l__chemmacros_orbital_sptwo_scale_tl * 2em
- )
- and ++
- (
- \l__chemmacros_orbital_sptwo_scale_tl * 2em ,
- \l__chemmacros_orbital_sptwo_scale_tl * 2em
- )
- .. (0pt,0pt);
- \chemmacros_tikz_shadedraw:x
- {
- draw = \exp_not:V \l__chemmacros_orbital_sptwo_mphase_color_tl ,
- ball~color = \exp_not:V \l__chemmacros_orbital_sptwo_mphase_color_tl
- }
- (0pt,0pt) .. controls ++
- (
- - \l__chemmacros_orbital_sptwo_scale_tl * .8em ,
- - \l__chemmacros_orbital_sptwo_scale_tl * .8em
- )
- and ++
- (
- \l__chemmacros_orbital_sptwo_scale_tl * .8em ,
- - \l__chemmacros_orbital_sptwo_scale_tl * .8em
- )
- .. (0pt,0pt);
- }
- }
-
-% --------------------------------------------------------------------------
-% sp3-orbitals
-\cs_new_protected:Npn \__chemmacros_orbital_type_spthree:
- {
- \bool_set_false:N \l__chemmacros_orbital_type_s_bool
- \bool_set_false:N \l__chemmacros_orbital_type_p_bool
- \bool_set_false:N \l__chemmacros_orbital_type_sp_bool
- \bool_set_false:N \l__chemmacros_orbital_type_sptwo_bool
- \bool_set_true:N \l__chemmacros_orbital_type_spthree_bool
- }
-
-\chemmacros_define_keys:nn {orbital/sp3}
- {
- phase .choice: ,
- phase / + .code:n =
- { \bool_set_true:N \l__chemmacros_orbital_spthree_phase_bool } ,
- phase / - .code:n =
- { \bool_set_false:N \l__chemmacros_orbital_spthree_phase_bool } ,
- scale .tl_set:N = \l__chemmacros_orbital_spthree_scale_tl ,
- angle .fp_set:N = \l__chemmacros_orbital_angle_fp ,
- color .tl_set:N = \l__chemmacros_orbital_spthree_color_tl
- }
-
-\cs_new_protected:Npn \__chemmacros_orbital_spthree_draw:n #1
- {
- \chemmacros_set_keys:nn {orbital/sp3} {#1}
- \bool_if:NTF \l__chemmacros_orbital_spthree_phase_bool
- {
- \tl_if_in:NnTF \l__chemmacros_orbital_spthree_color_tl { ! }
- {
- \tl_set:Nn \l__chemmacros_orbital_spthree_pphase_color_tl
- { \tl_use:N \l__chemmacros_orbital_spthree_color_tl }
- }
- {
- \tl_set:Nn \l__chemmacros_orbital_spthree_pphase_color_tl
- { \tl_use:N \l__chemmacros_orbital_spthree_color_tl ! 90 }
- }
- \tl_set:Nn \l__chemmacros_orbital_spthree_mphase_color_tl
- { black ! 5 }
-
- }
- {
- \tl_if_in:NnTF \l__chemmacros_orbital_spthree_color_tl { ! }
- {
- \tl_set:Nn \l__chemmacros_orbital_spthree_mphase_color_tl
- { \tl_use:N \l__chemmacros_orbital_spthree_color_tl }
- }
- {
- \tl_set:Nn \l__chemmacros_orbital_spthree_mphase_color_tl
- { \tl_use:N \l__chemmacros_orbital_spthree_color_tl ! 90 }
- }
- \tl_set:Nn \l__chemmacros_orbital_spthree_pphase_color_tl
- { black ! 5 }
- }
- \chemmacros_tikz_picture:xn
- { \__chemmacros_orbital_options: }
- {
- \chemmacros_tikz_shadedraw:x
- {
- draw = \exp_not:V \l__chemmacros_orbital_spthree_pphase_color_tl ,
- ball~color = \exp_not:V \l__chemmacros_orbital_spthree_pphase_color_tl
- }
- (0pt,0pt) .. controls ++
- (
- - \l__chemmacros_orbital_spthree_scale_tl * 2em ,
- \l__chemmacros_orbital_spthree_scale_tl * 2em
- )
- and ++
- (
- \l__chemmacros_orbital_spthree_scale_tl * 2em ,
- \l__chemmacros_orbital_spthree_scale_tl * 2em
- )
- .. (0pt,0pt);
- \chemmacros_tikz_shadedraw:x
- {
- draw = \exp_not:V \l__chemmacros_orbital_spthree_mphase_color_tl ,
- ball~color = \exp_not:V \l__chemmacros_orbital_spthree_mphase_color_tl
- }
- (0pt,0pt) .. controls ++
- (
- - \l__chemmacros_orbital_spthree_scale_tl * 1em ,
- - \l__chemmacros_orbital_spthree_scale_tl * 1em
- )
- and ++
- (
- \l__chemmacros_orbital_spthree_scale_tl * 1em ,
- - \l__chemmacros_orbital_spthree_scale_tl * 1em
- )
- .. (0pt,0pt);
- }
- }
-
-% --------------------------------------------------------------------------
-% main command
-\chemmacros_define_keys:nn {orbital}
- {
- overlay .bool_set:N = \l__chemmacros_orbital_overlay_bool ,
- overlay .default:n = true ,
- opacity .code:n =
- {
- \fp_compare:nTF { #1 = 1 }
- { \bool_set_false:N \l__chemmacros_orbital_opacity_bool }
- { \bool_set_true:N \l__chemmacros_orbital_opacity_bool }
- \fp_set:Nn \l__chemmacros_orbital_opacity_fp { #1 }
- }
- }
-
-\chemmacros_define_keys:nn {orbital/type}
- {
- s .code:n = { \__chemmacros_orbital_type_s: } ,
- p .code:n = { \__chemmacros_orbital_type_p: } ,
- sp .code:n = { \__chemmacros_orbital_type_sp: } ,
- sp2 .code:n = { \__chemmacros_orbital_type_sptwo: } ,
- sp3 .code:n = { \__chemmacros_orbital_type_spthree: }
- }
-
-\cs_new_protected:Npn \chemmacros_orbital:n #1
- {
- \bool_if:NT \l__chemmacros_orbital_type_s_bool
- { \__chemmacros_orbital_s_draw:n { #1 } }
- \bool_if:NT \l__chemmacros_orbital_type_p_bool
- { \__chemmacros_orbital_p_draw:n { #1 } }
- \bool_if:NT \l__chemmacros_orbital_type_sp_bool
- { \__chemmacros_orbital_sp_draw:n { #1 } }
- \bool_if:NT \l__chemmacros_orbital_type_sptwo_bool
- { \__chemmacros_orbital_sptwo_draw:n { #1 } }
- \bool_if:NT \l__chemmacros_orbital_type_spthree_bool
- { \__chemmacros_orbital_spthree_draw:n { #1 } }
- }
-
-\NewDocumentCommand \orbital {om}
- {
- \group_begin:
- \chemmacros_set_keys:nn {orbital/type} {#2}
- \IfNoValueTF {#1}
- { \chemmacros_orbital:n { } }
- { \chemmacros_orbital:n {#1} }
- \group_end:
- }
-% --------------------------------------------------------------------------