summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/latex/chemmacros/chemformula.sty
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/tex/latex/chemmacros/chemformula.sty')
-rw-r--r--Master/texmf-dist/tex/latex/chemmacros/chemformula.sty48
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