summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/latex/chemnum/chemnum.sty
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/tex/latex/chemnum/chemnum.sty')
-rw-r--r--Master/texmf-dist/tex/latex/chemnum/chemnum.sty196
1 files changed, 128 insertions, 68 deletions
diff --git a/Master/texmf-dist/tex/latex/chemnum/chemnum.sty b/Master/texmf-dist/tex/latex/chemnum/chemnum.sty
index da85bea4b3b..f543c8c883c 100644
--- a/Master/texmf-dist/tex/latex/chemnum/chemnum.sty
+++ b/Master/texmf-dist/tex/latex/chemnum/chemnum.sty
@@ -3,7 +3,7 @@
% - a comprehensive numbering method for chemical compounds - %
% --------------------------------------------------------------------------- %
% - Clemens NIEDERBERGER - %
-% - 2011/11/03 - %
+% - 2011/11/08 - %
% --------------------------------------------------------------------------- %
% - http://www.mychemistry.eu/ - %
% - contact@mychemistry.eu - %
@@ -31,7 +31,7 @@
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\RequirePackage { expl3 , xparse , etoolbox , psfrag }
-\ProvidesExplPackage {chemnum} {2011/11/03} {0.3b} {Numbering chemical compounds}
+\ProvidesExplPackage {chemnum} {2011/11/08} {0.3c} {Numbering chemical compounds}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% CHECK FOR SUPPORT
@@ -512,8 +512,9 @@
%-----------------------------------------------------------------------------%
% list separators, delimiters, prefix and suffix
-\bool_new:N \l_chemnum_list_last_sep_US_bool
-\bool_set_true:N \l_chemnum_list_last_sep_US_bool
+\bool_new:N \l_chemnum_serial_comma_bool
+\bool_set_true:N \l_chemnum_serial_comma_bool
+
\tl_new:N \l_chemnum_list_separator_tl
\tl_set:Nn \l_chemnum_list_separator_tl { , }
@@ -552,54 +553,56 @@
%-----------------------------------------------------------------------------%
% property keys for lists
\keys_define:nn { chemnum } {
- list-prefix .tl_set:N = \l_chemnum_list_prefix_tl ,
- list-prefix .default:n = { } ,
- list-suffix .tl_set:N = \l_chemnum_list_suffix_tl ,
- list-suffix .default:n = { } ,
- list-delim .code:n = \chemnum_list_delim:n { #1 } ,
- list-delim .default:n = {(}{)} ,
- list-odelim .tl_set:N = \l_chemnum_list_odelim_tl ,
- list-odelim .default:n = { } ,
- list-cdelim .tl_set:N = \l_chemnum_list_cdelim_tl ,
- list-cdelim .default:n = { } ,
- list-space .tl_set:N = \l_chemnum_list_space_tl ,
- list-space .default:n = { \penalty\@m\ } ,
- list-sep .tl_set:N = \l_chemnum_list_separator_tl ,
- list-sep .default:n = { , },
- list-last-sep .tl_set:N = \l_chemnum_list_last_separator_tl ,
- list-last-sep .default:n = \l_chemnum_list_last_separator_lang_tl ,
- list-lang .choice: ,
- list-lang / US .code:n =
+ list-prefix .tl_set:N = \l_chemnum_list_prefix_tl ,
+ list-prefix .default:n = { } ,
+ list-suffix .tl_set:N = \l_chemnum_list_suffix_tl ,
+ list-suffix .default:n = { } ,
+ list-delim .code:n = \chemnum_list_delim:n { #1 } ,
+ list-delim .default:n = {(}{)} ,
+ list-odelim .tl_set:N = \l_chemnum_list_odelim_tl ,
+ list-odelim .default:n = { } ,
+ list-cdelim .tl_set:N = \l_chemnum_list_cdelim_tl ,
+ list-cdelim .default:n = { } ,
+ list-space .tl_set:N = \l_chemnum_list_space_tl ,
+ list-space .default:n = { \penalty\@m\ } ,
+ list-sep .tl_set:N = \l_chemnum_list_separator_tl ,
+ list-sep .default:n = { , },
+ list-last-sep .tl_set:N = \l_chemnum_list_last_separator_tl ,
+ list-last-sep .default:n = \l_chemnum_list_last_separator_lang_tl ,
+ list-serial-comma .bool_set:N = \l_chemnum_serial_comma_bool ,
+ list-serial-comma .default:n = true ,
+ list-lang .choice: ,
+ list-lang / US .code:n =
{
- \bool_set_true:N \l_chemnum_list_last_sep_US_bool
+ \bool_set_true:N \l_chemnum_serial_comma_bool
\tl_set:Nn \l_chemnum_list_last_separator_lang_tl { and }
} ,
- list-lang / GB .code:n =
+ list-lang / GB .code:n =
{
- \bool_set_false:N \l_chemnum_list_last_sep_US_bool
+ \bool_set_false:N \l_chemnum_serial_comma_bool
\tl_set:Nn \l_chemnum_list_last_separator_lang_tl { and }
} ,
- list-lang / DE .code:n =
+ list-lang / DE .code:n =
{
- \bool_set_false:N \l_chemnum_list_last_sep_US_bool
+ \bool_set_false:N \l_chemnum_serial_comma_bool
\tl_set:Nn \l_chemnum_list_last_separator_lang_tl { und }
} ,
- list-lang / FR .code:n =
+ list-lang / FR .code:n =
{
- \bool_set_false:N \l_chemnum_list_last_sep_US_bool
+ \bool_set_false:N \l_chemnum_serial_comma_bool
\tl_set:Nn \l_chemnum_list_last_separator_lang_tl { et }
} ,
- list-lang / IT .code:n =
+ list-lang / IT .code:n =
{
- \bool_set_false:N \l_chemnum_list_last_sep_US_bool
+ \bool_set_false:N \l_chemnum_serial_comma_bool
\tl_set:Nn \l_chemnum_list_last_separator_lang_tl { e }
} ,
- list-lang / ES .code:n =
+ list-lang / ES .code:n =
{
- \bool_set_false:N \l_chemnum_list_last_sep_US_bool
+ \bool_set_false:N \l_chemnum_serial_comma_bool
\tl_set:Nn \l_chemnum_list_last_separator_lang_tl { y }
} ,
- list-lang .default:n = US
+ list-lang .default:n = US
}
%-----------------------------------------------------------------------------%
@@ -961,41 +964,46 @@
{ \BooleanFalse }
{ \BooleanFalse }
}
- \if_int_compare:w
- \l_chemnum_list_separate_int = \l_chemnum_list_items_int
- \if_int_compare:w \l_chemnum_list_items_int = 1 \else:
- \tl_use:N \l_chemnum_list_cdelim_tl
- \tl_if_blank:VF
- { \l_chemnum_list_suffix_tl }
- { \l_chemnum_list_space_tl }
- \tl_use:N \l_chemnum_list_suffix_tl
- \fi:
- \else:
- \if_int_compare:w \l_chemnum_list_separate_int =
- \int_eval:n { \l_chemnum_list_items_int - 1 }
- \tl_if_eq:NNTF
- \l_chemnum_list_last_separator_tl
- \l_chemnum_list_last_sep_empty_tl
+ \int_compare:nTF
+ { \l_chemnum_list_separate_int = \l_chemnum_list_items_int }
+ {
+ \int_compare:nNnF { \l_chemnum_list_items_int } = { 1 }
{
- \tl_use:N \l_chemnum_list_separator_tl
- \l_chemnum_list_space_tl
+ \tl_use:N \l_chemnum_list_cdelim_tl
+ \tl_if_blank:VF
+ { \l_chemnum_list_suffix_tl }
+ { \l_chemnum_list_space_tl }
+ \tl_use:N \l_chemnum_list_suffix_tl
}
+ }
+ {
+ \int_compare:nTF
+ { \l_chemnum_list_separate_int = \int_eval:n { \l_chemnum_list_items_int - 1 } }
{
- \if_int_compare:w \l_chemnum_list_separate_int = 1
- \else:
- \bool_if:NT \l_chemnum_list_last_sep_US_bool
- { \l_chemnum_list_separator_tl }
- \fi:
- \tl_if_blank:VF \l_chemnum_list_last_separator_tl
- { \l_chemnum_list_space_tl }
- \tl_use:N \l_chemnum_list_last_separator_tl
+ \tl_if_eq:NNTF
+ \l_chemnum_list_last_separator_tl
+ \l_chemnum_list_last_sep_empty_tl
+ {
+ \tl_use:N \l_chemnum_list_separator_tl
+ \l_chemnum_list_space_tl
+ }
+ {
+ \int_compare:nNnF { \l_chemnum_list_separate_int } = { 1 }
+ {
+ \bool_if:NT \l_chemnum_serial_comma_bool
+ { \l_chemnum_list_separator_tl }
+ }
+ \tl_if_blank:VF \l_chemnum_list_last_separator_tl
+ { \l_chemnum_list_space_tl }
+ \tl_use:N \l_chemnum_list_last_separator_tl
+ \l_chemnum_list_space_tl
+ }
+ }
+ {
+ \tl_use:N \l_chemnum_list_separator_tl
\l_chemnum_list_space_tl
}
- \else:
- \tl_use:N \l_chemnum_list_separator_tl
- \l_chemnum_list_space_tl
- \fi:
- \fi:
+ }
}
}
}
@@ -1127,11 +1135,8 @@
\NewDocumentCommand \cmpdref { t- o o m }
{
-% \group_begin:
\IfBooleanT { #1 }
{ \cmpdsetup { cmpd-delim = } }
-% \IfNoValueF { #2 }
-% { \keys_set:nn { chemnum } { #2 } }
\IfNoValueTF { #3 }
{
\int_incr:N \l_chemnum_cmpdref_int
@@ -1151,7 +1156,59 @@
{
\psfrag { \l_chemnum_cmpdref_tl } [ b ] [ b ] { \cmpd [ #2 ] { #4 } }
}
-% \group_end:
+ }
+
+\file_if_exist:nT { translator.sty }
+ {
+ \RequirePackage { translator }
+ \usedictionary { translator-basic-dictionary }
+ % german
+ \languagealias { ngerman } { German }
+ \languagealias { german } { German}
+ \languagealias { austrian } { German }
+ \languagealias { naustrian } { German }
+ % french
+ \languagealias { french } { French }
+ \languagealias { canadien } { French }
+ % italian
+ \languagealias { italian } { Italian }
+ % spanish
+ \languagealias { spanish } { Spanish }
+ \providetranslation [ to = English ]
+ { and~(list~seperator) } { and }
+ \providetranslation [ to = BritishEnglish ]
+ { and~(list~seperator) } { and }
+ \providetranslation [ to = AmericanEnglish ]
+ { and~(list~seperator) } { and }
+ \providetranslation [ to = French ]
+ { and~(list~seperator) } { et }
+ \providetranslation [ to = German ]
+ { and~(list~seperator) } { und }
+ \providetranslation [ to = Italian ]
+ { and~(list~seperator) } { e }
+ \providetranslation [ to = Spanish ]
+ { and~(list~seperator) } { y }
+ \tl_set:Nn \l_chemnum_list_last_separator_lang_tl
+ { \translate { and~(list~seperator) } }
+ }
+
+\AtBeginDocument
+ {
+ \@ifpackageloaded { babel }
+ {
+ \iflanguage { american }
+ { \bool_set_true:N \l_chemnum_serial_comma_bool }
+ { \bool_set_false:N \l_chemnum_serial_comma_bool }
+ \cs_new_eq:NN \chemnum_selectlanguage:n \selectlanguage
+ \cs_set_nopar:Npn \selectlanguage #1
+ {
+ \chemnum_selectlanguage:n { #1 }
+ \iflanguage { american }
+ { \bool_set_true:N \l_chemnum_serial_comma_bool }
+ { \bool_set_false:N \l_chemnum_serial_comma_bool }
+ }
+ }
+ {}
}
\tex_endinput:D
@@ -1195,6 +1252,9 @@ HISTORY:
http://www.arkat-usa.org/get-file/29257/ or scheme 4
at http://www.arkat-usa.org/get-file/27301/ for
reasons, why
+ 2011/11/08 version 0.3c - localization via babel is now supported with the help
+ of the translator package
+ - key "list-serial-comma" added
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% TODO:
- Bug: wenn als "sub-marker" ":" von einer anderen Datei gesetzt wird, wird