diff options
Diffstat (limited to 'Master/texmf-dist/tex/latex/chemmacros/chemformula.sty')
-rw-r--r-- | Master/texmf-dist/tex/latex/chemmacros/chemformula.sty | 48 |
1 files changed, 23 insertions, 25 deletions
diff --git a/Master/texmf-dist/tex/latex/chemmacros/chemformula.sty b/Master/texmf-dist/tex/latex/chemmacros/chemformula.sty index a5555476e0d..11b5e014f7f 100644 --- a/Master/texmf-dist/tex/latex/chemmacros/chemformula.sty +++ b/Master/texmf-dist/tex/latex/chemmacros/chemformula.sty @@ -5,7 +5,7 @@ % - macros and commands for chemists - % % --------------------------------------------------------------------------- % % - Clemens Niederberger - % -% - 2012/03/03 - % +% - 2012/03/14 - % % --------------------------------------------------------------------------- % % - https://bitbucket.org/cgnieder/chemmacros/ - % % - contact@mychemistry.eu - % @@ -30,8 +30,8 @@ \RequirePackage{ expl3 } \ProvidesExplPackage {chemformula} - {2012/03/03} - {3.1b} + {2012/03/14} + {3.1c} {typeset chemical compounds and reactions} %-----------------------------------------------------------------------------% @@ -251,9 +251,9 @@ % determine length in dependency of labels \cs_new:Npn \chemformula_determine_arrow_length:nn #1#2 { - \hbox_set:Nn \l_tmpa_box { { #1 } } + \box_set_eq:NN \l_tmpa_box #1 \dim_set:Nn \l_tmpa_dim { \box_wd:N \l_tmpa_box } - \hbox_set:Nn \l_tmpa_box { { #2 } } + \box_set_eq:NN \l_tmpa_box #2 \dim_set:Nn \l_tmpb_dim { \box_wd:N \l_tmpa_box } \box_clear:N \l_tmpa_box \dim_compare:nTF { \l_tmpa_dim >= \l_tmpb_dim } @@ -290,8 +290,8 @@ \prop_new:N \l_chemformula_arrows_code_prop \seq_new:N \l_chemformula_arrows_type_seq \tl_new:N \l_chemformula_arrow_type_tl -\tl_new:N \l_chemformula_arrow_arg_i_tl -\tl_new:N \l_chemformula_arrow_arg_ii_tl +\box_new:N \l_chemformula_arrow_arg_i_box +\box_new:N \l_chemformula_arrow_arg_ii_box % read optional arguments \cs_new_nopar:Npn \l_chemformula_arrow_read_args:w @@ -303,7 +303,8 @@ \cs_new_nopar:Npn \l_chemformula_arrow_read_args_aux_i:w [#1] { - \tl_set:Nn \l_chemformula_arrow_arg_i_tl { #1 } + \hbox_set:Nn \l_chemformula_arrow_arg_i_box + { \tl_use:N \l_chemformula_arrow_label_style_tl #1 } \peek_meaning:NTF [ { \l_chemformula_arrow_read_args_aux_ii:w } { \l_chemformula_arrow_read_args_aux_iii: } @@ -311,7 +312,8 @@ \cs_new_nopar:Npn \l_chemformula_arrow_read_args_aux_ii:w [#1] { - \tl_set:Nn \l_chemformula_arrow_arg_ii_tl { #1 } + \hbox_set:Nn \l_chemformula_arrow_arg_ii_box + { \tl_use:N \l_chemformula_arrow_label_style_tl #1 } \l_chemformula_arrow_read_args_aux_iii: } @@ -329,8 +331,8 @@ \cs_new_nopar:Npn \chemformula_arrows_get:n #1 { % first clear the arguments - \tl_clear:N \l_chemformula_arrow_arg_i_tl - \tl_clear:N \l_chemformula_arrow_arg_ii_tl + \box_clear:N \l_chemformula_arrow_arg_i_box + \box_clear:N \l_chemformula_arrow_arg_ii_box % then get the arrow type \tl_set:Nn \l_chemformula_arrow_type_tl { #1 } \l_chemformula_arrow_read_args:w @@ -343,9 +345,9 @@ % TODO: flexible Pfeilspitzen, TikZ-Keys ermöglichen \tl_set_rescan:Nnn \l_tmpc_tl { \char_set_catcode_letter:N \_ } { #1 } % determine length of the arrow - \chemformula_determine_arrow_length:oo - { \l_chemformula_arrow_arg_i_tl } - { \l_chemformula_arrow_arg_ii_tl } + \chemformula_determine_arrow_length:NN + \l_chemformula_arrow_arg_i_box + \l_chemformula_arrow_arg_ii_box \chemformula_tikz:nf { inner~sep=0, baseline=(chemformula_arrow_start.base) } { @@ -370,23 +372,17 @@ % the arrow labels: \draw node - [ - above=\l_chemformula_arrow_label_offset_dim, - font=\l_chemformula_arrow_label_style_tl, - butt~cap-butt~cap - ] at (cf_arrow_mid) { \l_chemformula_arrow_arg_i_tl } + [ above=\l_chemformula_arrow_label_offset_dim ] at (cf_arrow_mid) + { \box_use:N \l_chemformula_arrow_arg_i_box } node - [ - below=\l_chemformula_arrow_label_offset_dim, - font=\l_chemformula_arrow_label_style_tl, - butt~cap-butt~cap - ] at (cf_arrow_mid) { \l_chemformula_arrow_arg_ii_tl } + [ below=\l_chemformula_arrow_label_offset_dim ] at (cf_arrow_mid) + { \box_use:N \l_chemformula_arrow_arg_ii_box } ; \tl_use:N \l_tmpc_tl } } \cs_generate_variant:Nn \chemformula_arrow_draw:n { V } -\cs_generate_variant:Nn \chemformula_determine_arrow_length:nn { oo } +\cs_generate_variant:Nn \chemformula_determine_arrow_length:nn { NN } % commands to declare arrows (can also be used by users): % #1: symbol, #2: code @@ -1696,6 +1692,8 @@ VERSION HISTORY various flaws: clear distinction between isotope and formula - new option charge-vshift +2012/03/14 - version 3.1c - a few changes in chemmacros.sty + - improved arrow labels %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % TODO |