diff options
Diffstat (limited to 'macros/latex/contrib/chemmacros/chemmacros.module.newman.code.tex')
-rw-r--r-- | macros/latex/contrib/chemmacros/chemmacros.module.newman.code.tex | 212 |
1 files changed, 0 insertions, 212 deletions
diff --git a/macros/latex/contrib/chemmacros/chemmacros.module.newman.code.tex b/macros/latex/contrib/chemmacros/chemmacros.module.newman.code.tex deleted file mode 100644 index 9c76113721..0000000000 --- a/macros/latex/contrib/chemmacros/chemmacros.module.newman.code.tex +++ /dev/null @@ -1,212 +0,0 @@ -% -------------------------------------------------------------------------- -% -% the CHEMMACROS package -- module: `newman' -% -% -------------------------------------------------------------------------- -% 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{newman}{2016/04/23 newman projections} - -\chemmacros_load_module:n {tikz} - -% Newman projections -\fp_new:N \l__chemmacros_newman_rel_angle_fp -\fp_zero:N \l__chemmacros_newman_rel_angle_fp -\fp_new:N \l__chemmacros_newman_tmp_angle_fp -\fp_new:N \l__chemmacros_newman_abs_angle_fp -\fp_zero:N \l__chemmacros_newman_abs_angle_fp -\fp_new:N \l__chemmacros_newman_scale_fp -\fp_set:Nn \l__chemmacros_newman_scale_fp {1} -\fp_new:N \l__chemmacros_newman_x_fp -\fp_new:N \l__chemmacros_newman_y_fp - -\tl_new:N \l__chemmacros_newman_tikz_ring_tl -\tl_new:N \l__chemmacros_newman_tikz_front_tl -\tl_new:N \l__chemmacros_newman_tikz_back_tl - -\bool_new:N \l__chemmacros_newman_tikz_back_bool - -\chemmacros_define_keys:nn {newman} - { - ring .tl_set:N = \l__chemmacros_newman_tikz_ring_tl , - atoms .tl_set:N = \l__chemmacros_newman_tikz_front_tl , - back-atoms .code:n = - { - \bool_set_true:N \l__chemmacros_newman_tikz_back_bool - \tl_set:Nn \l__chemmacros_newman_tikz_back_tl { #1 } - } , - scale .fp_set:N = \l__chemmacros_newman_scale_fp , - scale .default:n = 1 , - angle .fp_set:N = \l__chemmacros_newman_abs_angle_fp , - angle .default:n = 0 - } - -% \newman[<keyval>](<angle>){<1>,<2>,<3>,<4>,<5>,<6>} -\NewDocumentCommand \newman {od()m} - { - \group_begin: - \IfNoValueF {#1} { \chemmacros_set_keys:nn {newman} {#1} } - \IfNoValueTF {#2} - { \chemmacros_newman:nn { } {#3} } - { \chemmacros_newman:nn {#2} {#3} } - \group_end: - } - -% #1: angle -% #2: csv list of atoms -\cs_new_protected:Npn \chemmacros_newman:nn #1#2 - { \__chemmacros_newman_feed_atoms:nw {#1}#2 ,,,,,, \q_stop } - -\cs_new_protected:Npn \__chemmacros_newman_feed_atoms:nw #1#2,#3,#4,#5,#6,#7,#8 \q_stop - { \chemmacros_newman_atoms:nnnnnnn {#1} {#2} {#3} {#4} {#5} {#6} {#7} } - -% place atoms: -% #1: angle -% #2 - #7: atoms -\cs_new_protected:Npn \chemmacros_newman_atoms:nnnnnnn #1#2#3#4#5#6#7 - { - \tl_if_blank:nTF {#1} - { - \fp_set_eq:NN - \l__chemmacros_newman_rel_angle_fp - \l__chemmacros_newman_abs_angle_fp - } - { \fp_set:Nn \l__chemmacros_newman_rel_angle_fp {#1} } - \chemmacros_tikz_picture:xn - { - scale = \fp_to_decimal:N \l__chemmacros_newman_scale_fp , - chemmacros_newman_atom_front / .style = - { - inner~sep = 0pt , - outer~sep = 0pt , - \exp_not:V \l__chemmacros_newman_tikz_front_tl - }, - chemmacros_newman_atom_back / .style = - { - inner~sep = 0pt , - outer~sep = 0pt , - \bool_if:NTF \l__chemmacros_newman_tikz_back_bool - { \exp_not:V \l__chemmacros_newman_tikz_back_tl } - { \exp_not:V \l__chemmacros_newman_tikz_front_tl } - } - } - { - \chemmacros_tikz_draw:x - { \exp_not:V \l__chemmacros_newman_tikz_ring_tl } - (0pt,0pt) circle (\fp_to_dim:N \l__chemmacros_newman_scale_fp * 15) ; - \chemmacros_newman_back_node:nn {30} {#6} - \chemmacros_newman_back_node:nn {150} {#7} - \chemmacros_newman_back_node:nn {270} {#5} - \chemmacros_newman_front_node:nn {90} {#2} - \chemmacros_newman_front_node:nn {210} {#3} - \chemmacros_newman_front_node:nn {330} {#4} - } - } - -% provide cartesian coordiantes from polar coordinates -% #1: fp variable for x -% #2: fp variable for y -% #3: angle -% #4: radius -\cs_new_protected:Npn \chemmacros_polar_to_cartesian:NNnn #1#2#3#4 - { - \fp_set:Nn #1 { #4 * cos( #3 / 180 * pi ) }% x - \fp_set:Nn #2 { #4 * sin( #3 / 180 * pi ) }% y - } - -% place back nodes -\cs_new_protected:Npn \chemmacros_newman_back_node:nn #1#2 - { - \group_begin: - \fp_add:Nn \l__chemmacros_newman_rel_angle_fp { #1 } - \chemmacros_polar_to_cartesian:NNnn - \l__chemmacros_newman_x_fp - \l__chemmacros_newman_y_fp - { \l__chemmacros_newman_rel_angle_fp } - { \l__chemmacros_newman_scale_fp } - \chemmacros_tikz_draw:x - { \exp_not:V \l__chemmacros_newman_tikz_ring_tl } - ( - 15 * \fp_to_dim:N \l__chemmacros_newman_x_fp , - 15 * \fp_to_dim:N \l__chemmacros_newman_y_fp - ) - -- - ( - 30 * \fp_to_dim:N \l__chemmacros_newman_x_fp , - 30 * \fp_to_dim:N \l__chemmacros_newman_y_fp - ) ; - \chemmacros_polar_to_cartesian:NNnn - \l__chemmacros_newman_x_fp - \l__chemmacros_newman_y_fp - { \l__chemmacros_newman_rel_angle_fp } - { \l__chemmacros_newman_scale_fp } - \chemmacros_tikz_node:x - { - chemmacros_newman_atom_back, - anchor = -180 + \fp_to_int:N \l__chemmacros_newman_rel_angle_fp - } - at - ( - 31 * \fp_to_dim:N \l__chemmacros_newman_x_fp , - 31 * \fp_to_dim:N \l__chemmacros_newman_y_fp - ) - { #2 } ; - \group_end: - } -\cs_generate_variant:Nn \chemmacros_newman_back_node:nn { nf } - -% place front nodes: -\cs_new_protected:Npn \chemmacros_newman_front_node:nn #1#2 - { - \chemmacros_polar_to_cartesian:NNnn - \l__chemmacros_newman_x_fp - \l__chemmacros_newman_y_fp - { #1 } - { \l__chemmacros_newman_scale_fp } - \chemmacros_tikz_draw:x - { \exp_not:V \l__chemmacros_newman_tikz_ring_tl } - (0pt,0pt) -- ++ - ( - 30 * \fp_to_dim:N \l__chemmacros_newman_x_fp , - 30 * \fp_to_dim:N \l__chemmacros_newman_y_fp - ) ; - \chemmacros_polar_to_cartesian:NNnn - \l__chemmacros_newman_x_fp - \l__chemmacros_newman_y_fp - { #1 } - { \l__chemmacros_newman_scale_fp } - \chemmacros_tikz_node:x - { chemmacros_newman_atom_front, anchor = -180 + #1 } - at - ( - 31 * \fp_to_dim:N \l__chemmacros_newman_x_fp , - 31 * \fp_to_dim:N \l__chemmacros_newman_y_fp - ) - { #2 } ; - } -\cs_generate_variant:Nn \chemmacros_newman_front_node:nn { nf } - -% -------------------------------------------------------------------------- -\file_input_stop: - -2016/04/23 - some changes on how \newman is processed internally |