summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/latex/chemmacros/chemgreek.sty
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/tex/latex/chemmacros/chemgreek.sty')
-rw-r--r--Master/texmf-dist/tex/latex/chemmacros/chemgreek.sty876
1 files changed, 0 insertions, 876 deletions
diff --git a/Master/texmf-dist/tex/latex/chemmacros/chemgreek.sty b/Master/texmf-dist/tex/latex/chemmacros/chemgreek.sty
deleted file mode 100644
index 4b55da5450c..00000000000
--- a/Master/texmf-dist/tex/latex/chemmacros/chemgreek.sty
+++ /dev/null
@@ -1,876 +0,0 @@
-% ----------------------------------------------------------------------------
-% - the CHEMMACROS bundle
-% - chemgreek.sty
-% - macros and commands for chemists
-% ---------------------------------------------------------------------------
-% - Clemens Niederberger
-% ---------------------------------------------------------------------------
-% - https://bitbucket.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-2014 Clemens Niederberger
-% -
-% - This work may be distributed and/or modified under the
-% - conditions of the LaTeX Project Public License, either version 1.3
-% - 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 2005/12/01 or later.
-% -
-% - This work has the LPPL maintenance status `maintained'.
-% -
-% - The Current Maintainer of this work is Clemens Niederberger.
-% ----------------------------------------------------------------------------
-\RequirePackage{expl3,xparse}
-\def\chemgreek@version{0.4}
-\def\chemgreek@date{2014/01/29}
-
-\ProvidesExplPackage{chemgreek}{\chemgreek@date}{\chemgreek@version}
- {interface for upright greek letters for use in chemistry (CN)}
-
-% ----------------------------------------------------------------------------
-% temporary variables:
-\seq_new:N \l__chemgreek_tmpa_seq
-\tl_new:N \l__chemgreek_tmpa_tl
-\tl_new:N \l__chemgreek_tmpb_tl
-\int_new:N \l__chemgreek_tmpa_int
-\int_new:N \g__chemgreek_tmpa_int
-
-% ----------------------------------------------------------------------------
-% an l3 conditional that can test 2e's conditionals that go like
-% \iffoo ... \else ... \fi
-% see http://tex.stackexchange.com/a/119806/5049
-\prg_new_conditional:Npnn \chemgreek_latex_if:n #1 {p,T,F,TF}
- { \use:c { if #1 } \prg_return_true: \else: \prg_return_false: \fi: }
-
-% let's see if we can test if a package has been loaded after begin document:
-\prg_new_conditional:Npnn \chemgreek_if_package_loaded:n #1 {p,T,F,TF}
- {
- \cs_if_exist:cTF { ver@#1.sty }
- { \prg_return_true: }
- { \prg_return_false: }
- }
-\cs_generate_variant:Nn \chemgreek_if_package_loaded:nF { V }
-
-\prg_new_protected_conditional:Npnn \chemgreek_if_package_with:nn #1#2 {T,F,TF}
- {
- \cs_if_exist:cTF {opt@#1.sty}
- {
- \clist_if_in:cnTF {opt@#1.sty} {#2}
- { \prg_return_true: }
- { \prg_return_false: }
- }
- { \prg_return_false: }
- }
-
-% ----------------------------------------------------------------------------
-% messages
-\msg_new:nnnn { chemgreek } { mapping-not-defined }
- { The~ mapping~ `#1'~ does~ not~ exist~ \msg_line_context: }
- {
- You~ chose~ the~ mapping~ `#1'~ \msg_line_context: \c_space_tl which~ has~
- apparently~ not~ been~ defined,~ yet.~ If~ this~ is~ due~ to~ a~
- miss-spelling~ you~ need~ to~ declare~ it~ first~ via~ \token_to_str:N
- \newchemgreekmapping \c_space_tl or~ \token_to_str:N
- \declarechemgreekmapping .
- }
-
-\msg_new:nnnn { chemgreek } { mapping-already-defined }
- { The~ mapping~ `#1'~ does~ already~ exist~ \msg_line_context: }
- {
- It~ seems~ you're~ trying~ to~ define~ the~ mapping~ `#1'~
- \msg_line_context: .~ However,~ this~ mapping~ does~ already~ exist.~ If~
- this~ is~ not~ due~ to~ a~ miss-spelling~ you~ need~ to~ redefine~ it~
- via~ \token_to_str:N \renewchemgreekmapping .
- }
-
-\msg_new:nnnn { chemgreek } { mapping-active }
- {
- The~ mapping~ `#1'~ already~ is~ active~ \msg_line_context: .~ I'm~ doing~
- nothing.
- }
- {
- The~ mapping~ `#1'~ already~ is~ active~ \msg_line_context: .~ I'm~ doing~
- nothing.
- }
-
-\msg_new:nnnn { chemgreek } { package-missing }
- {
- You've~ activated~ mapping~ `#1'~ which~ needs~ package~ `#2'~ loaded.~
- However, package~ `#2'~ does~ not~ seem~ to~ be~ loaded~
- \msg_line_context: .~ If~ I'm~ mistaken~ then~ ignore~ this~ warning.
- }
- {
- You've~ activated~ mapping~ `#1'~ which~ needs~ package~ `#2'~ loaded.~
- However,~ package~ `#2'~ does~ not~ seem~ to~ be~ loaded~
- \msg_line_context: .~ Using~ the~ letter~ macros~ will~ probably~ not~
- work.~ If~ I'm~ mistaken~ then~ ignore~ this~ warning.
- }
-
-\msg_new:nnnn { chemgreek } { command-deprecated }
- {
- The~ command~ \token_to_str:N #1 is~ deprecated.~ Use~ \token_to_str:N #2
- instead~ \msg_line_context: .~ \token_to_str:N #1 may~ be~ dropped~ in~
- the~ future~ without~ further~ warning.
- }
- {
- The~ command~ \token_to_str:N #1 is~ deprecated.~ Use~ \token_to_str:N #2
- instead~ \msg_line_context: .~ \token_to_str:N #1 may~ be~ dropped~ in~
- the~ future~ without~ further~ warning.
- }
-
-% ----------------------------------------------------------------------------
-% define a deprecated command with hints to the corresponding new one:
-\cs_new_protected:Npn \chemgreek_define_deprecated:NN #1#2
- {
- \cs_new_protected:Npn #1
- {
- \msg_warning:nnnn { chemgreek } { command-deprecated }
- { #1 } { #2 }
- #2
- }
- }
-\cs_generate_variant:Nn \chemgreek_define_deprecated:NN { cc }
-
-% ----------------------------------------------------------------------------
-% a tokenlist constant that will be used to build the mapping property lists
-% both for uppercase and lowercase and also for setting the output macros
-\tl_const:Nn \c__chemgreek_alphabet_tl
- {
- { alpha } % 1
- { beta } % 2
- { gamma } % 3
- { delta } % 4
- { epsilon } % 5
- { zeta } % 6
- { eta } % 7
- { theta } % 8
- { iota } % 9
- { kappa } % 10
- { lambda } % 11
- { mu } % 12
- { nu } % 13
- { xi } % 14
- { omikron } % 15
- { pi } % 16
- { rho } % 17
- { sigma } % 18
- { tau } % 19
- { upsilon } % 20
- { phi } % 21
- { psi } % 22
- { chi } % 23
- { omega } % 24
- }
-
-% ----------------------------------------------------------------------------
-% variants of kernel functions:
-\cs_generate_variant:Nn \prop_put:Nnn { cxV }
-\cs_generate_variant:Nn \tl_if_eq:nnTF { V }
-
-% ----------------------------------------------------------------------------
-% helper function to retrieve upper- and lowercase entries while the mapping
-% happens:
-\cs_new_protected:Npn \__chemgreek_get_upper_lower:w #1 / #2 \q_stop
- {
- \tl_set:Nn \l__chemgreek_tmpa_tl { #1 }
- \tl_set:Nn \l__chemgreek_tmpb_tl { #2 }
- }
-
-% ----------------------------------------------------------------------------
-% a conditional for testing if a mapping exists:
-\prg_new_conditional:Npnn \chemgreek_if_mapping_exists:n #1 {p,T,F,TF}
- {
- \bool_if:nTF
- {
- \prop_if_exist_p:c { l__chemgreek_uppercase_mapping_#1_prop } &&
- \prop_if_exist_p:c { l__chemgreek_lowercase_mapping_#1_prop }
- }
- { \prg_return_true: }
- { \prg_return_false: }
- }
-
-% a conditional for testing if a mapping is active:
-\tl_new:N \l__chemgreek_active_mapping_tl
-\prg_new_conditional:Npnn \chemgreek_if_mapping_active:n #1 {p,T,F,TF}
- {
- \tl_if_eq:NcTF
- \l__chemgreek_active_mapping_tl
- { c__chemgreek_mapping_#1_tl }
- { \prg_return_true: }
- { \prg_return_false: }
- }
-
-% ----------------------------------------------------------------------------
-% a property lists that holds the needed package names for a mapping
-\prop_new:N \l__chemgreek_packages_prop
-
-% ----------------------------------------------------------------------------
-% the main mapping function:
-% #1: mapping-name
-% #2: package name
-% #3: mapping-entries
-\cs_new_protected:Npn \chemgreek_new_mapping:nnn #1#2#3
- {
- \chemgreek_if_mapping_exists:nTF { #1 }
- { \msg_error:nnn { chemgreek } { mapping-already-defined } { #1 } }
- {
- \prop_new:c { l__chemgreek_uppercase_mapping_#1_prop }
- \prop_new:c { l__chemgreek_lowercase_mapping_#1_prop }
- \tl_const:cn { c__chemgreek_mapping_#1_tl } { #1 }
- \prop_put:Nnn \l__chemgreek_packages_prop { #1 } { #2 }
- \__chemgreek_set_mapping:nn { #1 } { #3 }
- }
- }
-
-\cs_new_protected:Npn \chemgreek_renew_mapping:nnn #1#2#3
- {
- \chemgreek_if_mapping_exists:nTF { #1 }
- {
- \prop_put:Nnn \l__chemgreek_packages_prop { #1 } { #2 }
- \__chemgreek_set_mapping:nn { #1 } { #3 }
- }
- { \msg_error:nnn { chemgreek } { mapping-not-defined } { #1 } }
- }
-
-\cs_new_protected:Npn \chemgreek_declare_mapping:nnn #1#2#3
- {
- \chemgreek_if_mapping_exists:nF { #1 }
- {
- \prop_new:c { l__chemgreek_uppercase_mapping_#1_prop }
- \prop_new:c { l__chemgreek_lowercase_mapping_#1_prop }
- \tl_const:cn { c__chemgreek_mapping_#1_tl } { #1 }
- }
- \prop_put:Nnn \l__chemgreek_packages_prop { #1 } { #2 }
- \__chemgreek_set_mapping:nn { #1 } { #3 }
- }
-
-\cs_new_protected:Npn \__chemgreek_set_mapping:nn #1#2
- {
- \prop_clear:c { l__chemgreek_lowercase_mapping_#1_prop }
- \prop_clear:c { l__chemgreek_uppercase_mapping_#1_prop }
- \int_zero:N \l__chemgreek_tmpa_int
- \clist_map_inline:nn { #2 }
- {
- \int_incr:N \l__chemgreek_tmpa_int
- \__chemgreek_get_upper_lower:w ##1 \q_stop
- \prop_put:cxV { l__chemgreek_lowercase_mapping_#1_prop }
- { \tl_item:Nn \c__chemgreek_alphabet_tl { \l__chemgreek_tmpa_int } }
- \l__chemgreek_tmpa_tl
- \prop_put:cxV { l__chemgreek_uppercase_mapping_#1_prop }
- { \tl_item:Nn \c__chemgreek_alphabet_tl { \l__chemgreek_tmpa_int } }
- \l__chemgreek_tmpb_tl
- }
- }
-
-% the user commands:
-\NewDocumentCommand \newchemgreekmapping { O{}mm }
- { \chemgreek_new_mapping:nn { #2 } { #1 } { #3 } }
-
-\NewDocumentCommand \renewchemgreekmapping { O{}mm }
- { \chemgreek_renew_mapping:nnn { #2 } { #1 } { #3 } }
-
-\NewDocumentCommand \declarechemgreekmapping { O{}mm }
- { \chemgreek_declare_mapping:nnn { #2 } { #1 } { #3 } }
-
-% ----------------------------------------------------------------------------
-% a function to selectively change specific entries in a mapping:
-
-% this will hold all changed mappings until they've been (re-)activated
-% logically a sequence or clist would make more sense; however,
-% \prop_if_in:Nn(TF) is expandable
-\prop_new:N \l__chemgreek_changed_mappings_prop
-
-% #1: mapping-name
-% #2: upper / lower
-% #3: entry-name
-% #4: entry
-\cs_new_protected:Npn \chemgreek_change:nnnn #1#2#3#4
- {
- \chemgreek_if_mapping_exists:nTF { #1 }
- {
- \prop_put:cnn { l__chemgreek_#2 case_mapping_#1_prop }
- { #3 }
- { #4 }
- \prop_put:Nnn \l__chemgreek_changed_mappings_prop
- { #1 }
- { #1 }
- }
- { \msg_error:nnn { chemgreek } { mapping-not-defined } { #1 } }
- }
-
-% the user command:
-\NewDocumentCommand \changechemgreeksymbol { mmmm }
- { \chemgreek_change:nnnn { #1 } { #2 } { #3 } { #4 } }
-
-% ----------------------------------------------------------------------------
-% a function to activate a mapping:
-% #1: mapping-name
-% TODO: error if needed package has not been loaded
-\cs_new_protected:Npn \chemgreek_activate_mapping:n #1
- {
- \chemgreek_if_mapping_exists:nTF { #1 }
- {
- \bool_if:nTF
- {
- ( \chemgreek_if_mapping_active_p:n { #1 } )
- &&
- !( \prop_if_in_p:Nn \l__chemgreek_changed_mappings_prop { #1 } )
- }
- { \msg_info:nnn { chemgreek } { mapping-active } { #1 } }
- {
- \tl_set:Nn \l__chemgreek_active_mapping_tl { #1 }
- \prop_get:NnN \l__chemgreek_packages_prop { #1 }
- \l__chemgreek_tmpa_tl
- \tl_if_blank:VF \l__chemgreek_tmpa_tl
- {
- \chemgreek_if_package_loaded:VF \l__chemgreek_tmpa_tl
- {
- \msg_warning:nnxx { chemgreek } { package-missing }
- { #1 }
- { \l__chemgreek_tmpa_tl }
- }
- }
- \tl_map_inline:Nn \c__chemgreek_alphabet_tl
- {
- \cs_set_protected:cpx { chem \tl_expandable_uppercase:n ##1 }
- { \prop_get:cn { l__chemgreek_uppercase_mapping_#1_prop } { ##1 } }
- \cs_set_protected:cpx { chem ##1 }
- { \prop_get:cn { l__chemgreek_lowercase_mapping_#1_prop } { ##1 } }
- }
- \prop_get:NnNT \l__chemgreek_changed_mappings_prop
- { #1 }
- \l__chemgreek_tmpa_tl
- { \prop_remove:Nn \l__chemgreek_changed_mappings_prop { #1 } }
- }
- }
- { \msg_error:nnn { chemgreek } { mapping-not-defined } { #1 } }
- }
-
-% user command that also loads the needed package:
-% #1: load package
-% #2: mapping-name
-\NewDocumentCommand \activatechemgreekmapping { sm }
- {
- \IfBooleanT { #1 }
- {
- \prop_get:NnN \l__chemgreek_packages_prop
- { #2 }
- \l__chemgreek_tmpa_tl
- \tl_if_blank:VF \l__chemgreek_tmpa_tl
- { \exp_args:No \RequirePackage { \l__chemgreek_tmpa_tl } }
- }
- \chemgreek_activate_mapping:n { #2 }
- }
-\@onlypreamble\activatechemgreekmapping
-
-% user command that activates a new mapping without loading the package:
-\NewDocumentCommand \selectchemgreekmapping { m }
- { \chemgreek_activate_mapping:n { #1 } }
-
-% ----------------------------------------------------------------------------
-% debugging commands:
-\cs_new_protected:Npn \chemgreek_print_mapping:n #1
- {
- \int_gzero:N \g__chemgreek_tmpa_int
- \begin { tabular } { llcc }
- pos & name & lower & upper \\
- \tl_map_inline:Nn \c__chemgreek_alphabet_tl
- {
- \int_gincr:N \g__chemgreek_tmpa_int
- \int_use:N \g__chemgreek_tmpa_int . &
- ##1 &
- \prop_get:cn { l__chemgreek_lowercase_mapping_#1_prop } { ##1 } &
- \prop_get:cn { l__chemgreek_uppercase_mapping_#1_prop } { ##1 } \\
- }
- \end{tabular}
- }
-
-\cs_new_eq:NN \printchemgreekmapping \chemgreek_print_mapping:n
-
-\cs_new_protected:Npn \chemgreek_show_mapping:n #1
- {
- \int_gzero:N \g__chemgreek_tmpa_int
- \iow_log:n { ................................................. }
- \iow_log:n { . ~ chemgreek~ mapping~ `#1': }
- \tl_map_inline:Nn \c__chemgreek_alphabet_tl
- {
- \int_gincr:N \g__chemgreek_tmpa_int
- \iow_log:x
- { . ~ \int_use:N \g__chemgreek_tmpa_int . }
- \iow_log:x
- {
- . \c_space_tl \c_space_tl \c_space_tl \c_space_tl \c_space_tl
- ##1 ~ => ~
- \prop_get:cn { l__chemgreek_lowercase_mapping_#1_prop } { ##1 }
- }
- \iow_log:x
- {
- . \c_space_tl \c_space_tl \c_space_tl \c_space_tl \c_space_tl
- \tl_expandable_uppercase:n ##1 ~ => ~
- \prop_get:cn { l__chemgreek_uppercase_mapping_#1_prop } { ##1 }
- }
- }
- \iow_log:n { ................................................. }
- }
-
-\cs_new_eq:NN \showchemgreekmapping \chemgreek_show_mapping:n
-
-\cs_new_protected:Npn \chemgreek_print_alphabet:
- {
- \tl_map_inline:Nn \c__chemgreek_alphabet_tl
- {
- \use:c { chem ##1 }
- \use:c { chem \tl_expandable_uppercase:n ##1 }
- \c_space_tl
- }
- \tex_unskip:D
- }
-
-\cs_new_eq:NN \printchemgreekalphabet \chemgreek_print_alphabet:
-
-% ----------------------------------------------------------------------------
-% deprecate old macro names that started with an uppercase C:
-\cs_new_protected:Npn \chemgreek_deprecate_symbol:n #1
- { \chemgreek_define_deprecated:cc { Chem#1 } { chem#1 } }
-
-\cs_new_protected:Npn \chemgreek_deprecate_symbols:
- {
- \tl_map_inline:Nn \c__chemgreek_alphabet_tl
- {
- \chemgreek_deprecate_symbol:n { ##1 }
- \chemgreek_deprecate_symbol:n { \tl_expandable_uppercase:n ##1 }
- }
- }
-
-\chemgreek_deprecate_symbols:
-
-% ----------------------------------------------------------------------------
-% functions to format integers with greek letters; these are basically copies
-% of \int_to_alph:n
-\cs_new:Npn \chemgreek_int_to_greek:n #1
- {
- \int_to_symbols:nnn { #1 } { 24 }
- {
- { 1 } { \chemalpha }
- { 2 } { \chembeta }
- { 3 } { \chemgamma }
- { 4 } { \chemdelta }
- { 5 } { \chemepsilon }
- { 6 } { \chemzeta }
- { 7 } { \chemeta }
- { 8 } { \chemiota }
- { 9 } { \chemtheta }
- { 10 } { \chemkappa }
- { 11 } { \chemlambda }
- { 12 } { \chemmu }
- { 13 } { \chemnu }
- { 14 } { \chemxi }
- { 15 } { \chemomikron }
- { 16 } { \chempi }
- { 17 } { \chemrho }
- { 18 } { \chemsigma }
- { 19 } { \chemtau }
- { 20 } { \chemupsilon }
- { 21 } { \chemphi }
- { 22 } { \chempsi }
- { 23 } { \chemchi }
- { 24 } { \chemomega }
- }
- }
-
-\cs_new:Npn \chemgreek_int_to_Greek:n #1
- {
- \int_to_symbols:nnn { #1 } { 24 }
- {
- { 1 } { \chemAlpha }
- { 2 } { \chemBeta }
- { 3 } { \chemGamma }
- { 4 } { \chemDelta }
- { 5 } { \chemEpsilon }
- { 6 } { \chemZeta }
- { 7 } { \chemEta }
- { 8 } { \chemIota }
- { 9 } { \chemTheta }
- { 10 } { \chemKappa }
- { 11 } { \chemLambda }
- { 12 } { \chemMu }
- { 13 } { \chemNu }
- { 14 } { \chemXi }
- { 15 } { \chemOmikron }
- { 16 } { \chemPi }
- { 17 } { \chemRho }
- { 18 } { \chemSigma }
- { 19 } { \chemTau }
- { 20 } { \chemUpsilon }
- { 21 } { \chemPhi }
- { 22 } { \chemPsi }
- { 23 } { \chemChi }
- { 24 } { \chemOmega }
- }
- }
-
-% ----------------------------------------------------------------------------
-% predefine some mappings
-% default:
-\chemgreek_new_mapping:nnn { default } { }
- {
- \ensuremath{\alpha} / \ensuremath{\mathrm{A}} , % 1
- \ensuremath{\beta} / \ensuremath{\mathrm{B}} , % 2
- \ensuremath{\gamma} / \ensuremath{\Gamma} , % 3
- \ensuremath{\delta} / \ensuremath{\Delta} , % 4
- \ensuremath{\epsilon} / \ensuremath{\mathrm{E}} , % 5
- \ensuremath{\zeta} / \ensuremath{\mathrm{Z}} , % 6
- \ensuremath{\eta} / \ensuremath{\mathrm{H}} , % 7
- \ensuremath{\theta} / \ensuremath{\Theta} , % 8
- \ensuremath{\iota} / \ensuremath{\mathrm{I}} , % 9
- \ensuremath{\kappa} / \ensuremath{\mathrm{K}} , % 10
- \ensuremath{\lambda} / \ensuremath{\Lambda} , % 11
- \ensuremath{\mu} / \ensuremath{\mathrm{M}} , % 12
- \ensuremath{\nu} / \ensuremath{\mathrm{N}} , % 13
- \ensuremath{\xi} / \ensuremath{\Xi} , % 14
- \ensuremath{o} / \ensuremath{\mathrm{O}} , % 15
- \ensuremath{\pi} / \ensuremath{\Pi} , % 16
- \ensuremath{\rho} / \ensuremath{\mathrm{P}} , % 17
- \ensuremath{\sigma} / \ensuremath{\Sigma} , % 18
- \ensuremath{\tau} / \ensuremath{\mathrm{T}} , % 19
- \ensuremath{\upsilon} / \ensuremath{\Upsilon} , % 20
- \ensuremath{\phi} / \ensuremath{\Phi} , % 21
- \ensuremath{\psi} / \ensuremath{\Psi} , % 22
- \ensuremath{\chi} / \ensuremath{\mathrm{X}} , % 23
- \ensuremath{\omega} / \ensuremath{\Omega} % 24
- }
-
-% default-variant:
-\chemgreek_new_mapping:nnn { var-default } { }
- {
- \ensuremath{\alpha} / \ensuremath{\mathrm{A}} , % 1
- \ensuremath{\beta} / \ensuremath{\mathrm{B}} , % 2
- \ensuremath{\gamma} / \ensuremath{\Gamma} , % 3
- \ensuremath{\delta} / \ensuremath{\Delta} , % 4
- \ensuremath{\varepsilon} / \ensuremath{\mathrm{E}} , % 5
- \ensuremath{\zeta} / \ensuremath{\mathrm{Z}} , % 6
- \ensuremath{\eta} / \ensuremath{\mathrm{H}} , % 7
- \ensuremath{\theta} / \ensuremath{\Theta} , % 8
- \ensuremath{\iota} / \ensuremath{\mathrm{I}} , % 9
- \ensuremath{\kappa} / \ensuremath{\mathrm{K}} , % 10
- \ensuremath{\lambda} / \ensuremath{\Lambda} , % 11
- \ensuremath{\mu} / \ensuremath{\mathrm{M}} , % 12
- \ensuremath{\nu} / \ensuremath{\mathrm{N}} , % 13
- \ensuremath{\xi} / \ensuremath{\Xi} , % 14
- \ensuremath{o} / \ensuremath{\mathrm{O}} , % 15
- \ensuremath{\pi} / \ensuremath{\Pi} , % 16
- \ensuremath{\varrho} / \ensuremath{\mathrm{P}} , % 17
- \ensuremath{\sigma} / \ensuremath{\Sigma} , % 18
- \ensuremath{\tau} / \ensuremath{\mathrm{T}} , % 19
- \ensuremath{\upsilon} / \ensuremath{\Upsilon} , % 20
- \ensuremath{\phi} / \ensuremath{\Phi} , % 21
- \ensuremath{\psi} / \ensuremath{\Psi} , % 22
- \ensuremath{\chi} / \ensuremath{\mathrm{X}} , % 23
- \ensuremath{\omega} / \ensuremath{\Omega} % 24
- }
-
-% mathdesign:
-\chemgreek_new_mapping:nnn { mathdesign } { mathdesign }
- {
- \ensuremath{\alphaup} / \ensuremath{\mathrm{A}} , % 1
- \ensuremath{\betaup} / \ensuremath{\mathrm{B}} , % 2
- \ensuremath{\gammaup} / \ensuremath{\Gammaup} , % 3
- \ensuremath{\deltaup} / \ensuremath{\Deltaup} , % 4
- \ensuremath{\epsilonup} / \ensuremath{\mathrm{E}} , % 5
- \ensuremath{\zetaup} / \ensuremath{\mathrm{Z}} , % 6
- \ensuremath{\etaup} / \ensuremath{\mathrm{H}} , % 7
- \ensuremath{\thetaup} / \ensuremath{\Thetaup} , % 8
- \ensuremath{\iotaup} / \ensuremath{\mathrm{I}} , % 9
- \ensuremath{\kappaup} / \ensuremath{\mathrm{K}} , % 10
- \ensuremath{\lambdaup} / \ensuremath{\Lambdaup} , % 11
- \ensuremath{\muup} / \ensuremath{\mathrm{M}} , % 12
- \ensuremath{\nuup} / \ensuremath{\mathrm{N}} , % 13
- \ensuremath{\xiup} / \ensuremath{\Xiup} , % 14
- \ensuremath{\mathrm{o}} / \ensuremath{\mathrm{O}} , % 15
- \ensuremath{\piup} / \ensuremath{\Piup} , % 16
- \ensuremath{\rhoup} / \ensuremath{\mathrm{R}} , % 17
- \ensuremath{\sigmaup} / \ensuremath{\Sigmaup} , % 18
- \ensuremath{\tauup} / \ensuremath{\mathrm{T}} , % 19
- \ensuremath{\upsilonup} / \ensuremath{\Upsilonup} , % 20
- \ensuremath{\phiup} / \ensuremath{\Phiup} , % 21
- \ensuremath{\psiup} / \ensuremath{\Psiup} , % 22
- \ensuremath{\chiup} / \ensuremath{\mathrm{X}} , % 23
- \ensuremath{\omegaup} / \ensuremath{\Omegaup} % 24
- }
-
-% textgreek:
-\chemgreek_new_mapping:nnn { textgreek } { textgreek }
- {
- \mbox{\textalpha} / \mbox{\textAlpha} , % 1
- \mbox{\textbeta} / \mbox{\textBeta} , % 2
- \mbox{\textgamma} / \mbox{\textGamma} , % 3
- \mbox{\textdelta} / \mbox{\textDelta} , % 4
- \mbox{\textepsilon} / \mbox{\textEpsilon} , % 5
- \mbox{\textzeta} / \mbox{\textZeta} , % 6
- \mbox{\texteta} / \mbox{\textEta} , % 7
- \mbox{\texttheta} / \mbox{\textTheta} , % 8
- \mbox{\textiota} / \mbox{\textIota} , % 9
- \mbox{\textkappa} / \mbox{\textKappa} , % 10
- \mbox{\textlambda} / \mbox{\textLambda} , % 11
- \mbox{\textmugreek} / \mbox{\textMu} , % 12
- \mbox{\textnu} / \mbox{\textNu} , % 13
- \mbox{\textxi} / \mbox{\textXi} , % 14
- \mbox{\textomikron} / \mbox{\textOmikron} , % 15
- \mbox{\textpi} / \mbox{\textPi} , % 16
- \mbox{\textrho} / \mbox{\textRho} , % 17
- \mbox{\textsigma} / \mbox{\textSigma} , % 18
- \mbox{\texttau} / \mbox{\textTau} , % 19
- \mbox{\textupsilon} / \mbox{\textUpsilon} , % 20
- \mbox{\textphi} / \mbox{\textPhi} , % 21
- \mbox{\textpsi} / \mbox{\textPsi} , % 22
- \mbox{\textchi} / \mbox{\textChi} , % 23
- \mbox{\textomega} / \mbox{\textOmega} % 24
- }
-
-% upgreek:
-\chemgreek_new_mapping:nnn { upgreek } { upgreek }
- {
- \ensuremath{\upalpha} / \ensuremath{\mathrm{A}} , % 1
- \ensuremath{\upbeta} / \ensuremath{\mathrm{B}} , % 2
- \ensuremath{\upgamma} / \ensuremath{\Upgamma} , % 3
- \ensuremath{\updelta} / \ensuremath{\Updelta} , % 4
- \ensuremath{\upepsilon} / \ensuremath{\mathrm{E}} , % 5
- \ensuremath{\upzeta} / \ensuremath{\mathrm{Z}} , % 6
- \ensuremath{\upeta} / \ensuremath{\mathrm{H}} , % 7
- \ensuremath{\uptheta} / \ensuremath{\Uptheta} , % 8
- \ensuremath{\upiota} / \ensuremath{\mathrm{I}} , % 9
- \ensuremath{\upkappa} / \ensuremath{\mathrm{K}} , % 10
- \ensuremath{\uplambda} / \ensuremath{\Uplambda} , % 11
- \ensuremath{\upmu} / \ensuremath{\mathrm{M}} , % 12
- \ensuremath{\upnu} / \ensuremath{\mathrm{N}} , % 13
- \ensuremath{\upxi} / \ensuremath{\Upxi} , % 14
- \ensuremath{\mathrm{o}} / \ensuremath{\mathrm{O}} , % 15
- \ensuremath{\uppi} / \ensuremath{\Uppi} , % 16
- \ensuremath{\uprho} / \ensuremath{\mathrm{R}} , % 17
- \ensuremath{\upsigma} / \ensuremath{\Upsigma} , % 18
- \ensuremath{\uptau} / \ensuremath{\mathrm{T}} , % 19
- \ensuremath{\upupsilon} / \ensuremath{\Upupsilon} , % 20
- \ensuremath{\upphi} / \ensuremath{\Upphi} , % 21
- \ensuremath{\uppsi} / \ensuremath{\Uppsi} , % 22
- \ensuremath{\upchi} / \ensuremath{\mathrm{X}} , % 23
- \ensuremath{\upomega} / \ensuremath{\Upomega} % 24
- }
-
-% kpfonts:
-\chemgreek_new_mapping:nnn { kpfonts } { kpfonts }
- {
- \ensuremath{\alphaup} / \ensuremath{\mathrm{A}} , % 1
- \ensuremath{\betaup} / \ensuremath{\mathrm{B}} , % 2
- \ensuremath{\gammaup} / \ensuremath{\Gammaup} , % 3
- \ensuremath{\deltaup} / \ensuremath{\Deltaup} , % 4
- \ensuremath{\epsilonup} / \ensuremath{\mathrm{E}} , % 5
- \ensuremath{\zetaup} / \ensuremath{\mathrm{Z}} , % 6
- \ensuremath{\etaup} / \ensuremath{\mathrm{H}} , % 7
- \ensuremath{\thetaup} / \ensuremath{\Thetaup} , % 8
- \ensuremath{\iotaup} / \ensuremath{\mathrm{I}} , % 9
- \ensuremath{\kappaup} / \ensuremath{\mathrm{K}} , % 10
- \ensuremath{\lambdaup} / \ensuremath{\Lambdaup} , % 11
- \ensuremath{\muup} / \ensuremath{\mathrm{M}} , % 12
- \ensuremath{\nuup} / \ensuremath{\mathrm{N}} , % 13
- \ensuremath{\xiup} / \ensuremath{\Xiup} , % 14
- \ensuremath{\mathrm{o}} / \ensuremath{\mathrm{O}} , % 15
- \ensuremath{\piup} / \ensuremath{\Piup} , % 16
- \ensuremath{\rhoup} / \ensuremath{\mathrm{R}} , % 17
- \ensuremath{\sigmaup} / \ensuremath{\Sigmaup} , % 18
- \ensuremath{\tauup} / \ensuremath{\mathrm{T}} , % 19
- \ensuremath{\upsilonup} / \ensuremath{\Upsilonup} , % 20
- \ensuremath{\phiup} / \ensuremath{\Phiup} , % 21
- \ensuremath{\psiup} / \ensuremath{\Psiup} , % 22
- \ensuremath{\chiup} / \ensuremath{\mathrm{X}} , % 23
- \ensuremath{\omegaup} / \ensuremath{\Omegaup} % 24
- }
-
-% newtx:
-\chemgreek_new_mapping:nnn { newtx } { newtxmath }
- {
- \ensuremath{\upalpha} / \ensuremath{\mathrm{A}} , % 1
- \ensuremath{\upbeta} / \ensuremath{\mathrm{B}} , % 2
- \ensuremath{\upgamma} / \ensuremath{\upGamma} , % 3
- \ensuremath{\updelta} / \ensuremath{\upDelta} , % 4
- \ensuremath{\upepsilon} / \ensuremath{\mathrm{E}} , % 5
- \ensuremath{\upzeta} / \ensuremath{\mathrm{Z}} , % 6
- \ensuremath{\upeta} / \ensuremath{\mathrm{H}} , % 7
- \ensuremath{\uptheta} / \ensuremath{\upTheta} , % 8
- \ensuremath{\upiota} / \ensuremath{\mathrm{I}} , % 9
- \ensuremath{\upkappa} / \ensuremath{\mathrm{K}} , % 10
- \ensuremath{\uplambda} / \ensuremath{\upLambda} , % 11
- \ensuremath{\upmu} / \ensuremath{\mathrm{M}} , % 12
- \ensuremath{\upnu} / \ensuremath{\mathrm{N}} , % 13
- \ensuremath{\upxi} / \ensuremath{\upXi} , % 14
- \ensuremath{\mathrm{o}} / \ensuremath{\mathrm{O}} , % 15
- \ensuremath{\uppi} / \ensuremath{\upPi} , % 16
- \ensuremath{\uprho} / \ensuremath{\mathrm{R}} , % 17
- \ensuremath{\upsigma} / \ensuremath{\upSigma} , % 18
- \ensuremath{\uptau} / \ensuremath{\mathrm{T}} , % 19
- \ensuremath{\upupsilon} / \ensuremath{\upUpsilon} , % 20
- \ensuremath{\upphi} / \ensuremath{\upPhi} , % 21
- \ensuremath{\uppsi} / \ensuremath{\upPsi} , % 22
- \ensuremath{\upchi} / \ensuremath{\mathrm{X}} , % 23
- \ensuremath{\upomega} / \ensuremath{\upOmega} % 24
- }
-
-% fourier:
-\cs_new:Npn \__chemgreek_lfourier:n #1
- {
- \chemgreek_latex_if:nTF { sloped }
- { \ensuremath { \use:c { other #1 } } }
- { \ensuremath { \use:c { #1 } } }
- }
-
-\cs_new:Npn \__chemgreek_ufourier:n #1
- {
- \chemgreek_latex_if:nTF { sloped }
- { \ensuremath { \use:c { #1 } } }
- { \ensuremath { \use:c { other #1 } } }
- }
-
-\chemgreek_new_mapping:nnn { fourier } { fourier }
- {
- \__chemgreek_lfourier:n {alpha} / \ensuremath{\mathrm{A}} , % 1
- \__chemgreek_lfourier:n {beta} / \ensuremath{\mathrm{B}} , % 2
- \__chemgreek_lfourier:n {gamma} / \__chemgreek_ufourier:n {Gamma} , % 3
- \__chemgreek_lfourier:n {delta} / \__chemgreek_ufourier:n {Delta} , % 4
- \__chemgreek_lfourier:n {epsilon} / \ensuremath{\mathrm{E}} , % 5
- \__chemgreek_lfourier:n {zeta} / \ensuremath{\mathrm{Z}} , % 6
- \__chemgreek_lfourier:n {eta} / \ensuremath{\mathrm{H}} , % 7
- \__chemgreek_lfourier:n {theta} / \__chemgreek_ufourier:n {Theta} , % 8
- \__chemgreek_lfourier:n {iota} / \ensuremath{\mathrm{I}} , % 9
- \__chemgreek_lfourier:n {kappa} / \ensuremath{\mathrm{K}} , % 10
- \__chemgreek_lfourier:n {lambda} / \__chemgreek_ufourier:n {Lambda} , % 11
- \__chemgreek_lfourier:n {mu} / \ensuremath{\mathrm{M}} , % 12
- \__chemgreek_lfourier:n {nu} / \ensuremath{\mathrm{N}} , % 13
- \__chemgreek_lfourier:n {xi} / \__chemgreek_ufourier:n {Xi} , % 14
- \ensuremath {\mathrm{o}} / \ensuremath{\mathrm{O}} , % 15
- \__chemgreek_lfourier:n {pi} / \__chemgreek_ufourier:n {Pi} , % 16
- \__chemgreek_lfourier:n {rho} / \ensuremath{\mathrm{R}} , % 17
- \__chemgreek_lfourier:n {sigma} / \__chemgreek_ufourier:n {Sigma} , % 18
- \__chemgreek_lfourier:n {tau} / \ensuremath{\mathrm{T}} , % 19
- \__chemgreek_lfourier:n {upsilon} / \__chemgreek_ufourier:n {Upsilon} , % 20
- \__chemgreek_lfourier:n {phi} / \__chemgreek_ufourier:n {Phi} , % 21
- \__chemgreek_lfourier:n {psi} / \__chemgreek_ufourier:n {Psi} , % 22
- \__chemgreek_lfourier:n {chi} / \ensuremath{\mathrm{X}} , % 23
- \__chemgreek_lfourier:n {omega} / \__chemgreek_ufourier:n {Omega} % 24
- }
-
-% textalpha:
-\chemgreek_new_mapping:nnn { textalpha } { textalpha }
- {
- \mbox{\textalpha} / \mbox{\textAlpha} , % 1
- \mbox{\textbeta} / \mbox{\textBeta} , % 2
- \mbox{\textgamma} / \mbox{\textGamma} , % 3
- \mbox{\textdelta} / \mbox{\textDelta} , % 4
- \mbox{\textepsilon} / \mbox{\textEpsilon} , % 5
- \mbox{\textzeta} / \mbox{\textZeta} , % 6
- \mbox{\texteta} / \mbox{\textEta} , % 7
- \mbox{\texttheta} / \mbox{\textTheta} , % 8
- \mbox{\textiota} / \mbox{\textIota} , % 9
- \mbox{\textkappa} / \mbox{\textKappa} , % 10
- \mbox{\textlambda} / \mbox{\textLambda} , % 11
- \mbox{\textmu} / \mbox{\textMu} , % 12
- \mbox{\textnu} / \mbox{\textNu} , % 13
- \mbox{\textxi} / \mbox{\textXi} , % 14
- \mbox{\textomicron} / \mbox{\textOmicron} , % 15
- \mbox{\textpi} / \mbox{\textPi} , % 16
- \mbox{\textrho} / \mbox{\textRho} , % 17
- \mbox{\textsigma} / \mbox{\textSigma} , % 18
- \mbox{\texttau} / \mbox{\textTau} , % 19
- \mbox{\textupsilon} / \mbox{\textUpsilon} , % 20
- \mbox{\textphi} / \mbox{\textPhi} , % 21
- \mbox{\textpsi} / \mbox{\textPsi} , % 22
- \mbox{\textchi} / \mbox{\textChi} , % 23
- \mbox{\textomega} / \mbox{\textOmega} % 24
- }
-
-% textgreek:
-\chemgreek_new_mapping:nnn { fontspec } { fontspec }
- {
- \mbox{\textalpha} / \mbox{\textAlpha} , % 1
- \mbox{\textbeta} / \mbox{\textBeta} , % 2
- \mbox{\textgamma} / \mbox{\textGamma} , % 3
- \mbox{\textdelta} / \mbox{\textDelta} , % 4
- \mbox{\textepsilon} / \mbox{\textEpsilon} , % 5
- \mbox{\textzeta} / \mbox{\textZeta} , % 6
- \mbox{\texteta} / \mbox{\textEta} , % 7
- \mbox{\texttheta} / \mbox{\textTheta} , % 8
- \mbox{\textiota} / \mbox{\textIota} , % 9
- \mbox{\textkappa} / \mbox{\textKappa} , % 10
- \mbox{\textlambda} / \mbox{\textLambda} , % 11
- \mbox{\textmu} / \mbox{\textMu} , % 12
- \mbox{\textnu} / \mbox{\textNu} , % 13
- \mbox{\textxi} / \mbox{\textXi} , % 14
- \mbox{o} / \mbox{O} , % 15
- \mbox{\textpi} / \mbox{\textPi} , % 16
- \mbox{\textrho} / \mbox{\textRho} , % 17
- \mbox{\textsigma} / \mbox{\textSigma} , % 18
- \mbox{\texttau} / \mbox{\textTau} , % 19
- \mbox{\textupsilon} / \mbox{\textUpsilon} , % 20
- \mbox{\textphi} / \mbox{\textPhi} , % 21
- \mbox{\textpsi} / \mbox{\textPsi} , % 22
- \mbox{\textchi} / \mbox{\textChi} , % 23
- \mbox{\textomega} / \mbox{\textOmega} % 24
- }
-
-% activate default mapping
-\chemgreek_activate_mapping:n { default }
-
-\AtBeginDocument
- {
- \chemgreek_if_package_with:nnT {hyperref} {unicode}
- {
- \chemgreek_if_package_loaded:nT {textalpha}
- {
- \pdfstringdefDisableCommands
- {
- \tl_map_inline:Nn \c__chemgreek_alphabet_tl
- {
- \cs_set_eq:cc
- { chem \tl_expandable_uppercase:n #1 }
- { text \tl_expandable_uppercase:n #1 }
- \cs_set_eq:cc { chem #1 } { text #1 }
- }
- }
- }
- }
- }
-
-\tex_endinput:D
-
-HISTORY:
-2013/06/26 - v0.1 - first working version to be bundled with chemmacros
-2013/07/06 - v0.1a - fixed stupid bug in `upgreek' mapping
- - added error messages and added \renewchemgreekmapping and
- \declarechemgreekmapping
-2013/08/24 - v0.2 - new mappings `mathdesign', `fourier'
- - new functions: \chemgreek_int_to_greek:n and
- \chemgreek_int_to_Greek:n
-2013/11/20 - v0.2a - fixed typos in `fourier' mapping
- - added missing \prop_clear: to \__chemgreek_set_mapping:nn
- - added missing argument to message calls
-2014/01/24 - v0.3 - rename \Chem<name => \chem<name>, the old names will
- issue warnings but still work
- - new mappings `textalpha' (cf the package with the same
- name, part of `greek-fontenc')
- - \chemgreek_new_mapping:nnn redefined so that package name
- must be given if needed; \chemgreek_activate_mapping:n
- now issues a warning if the needed package hasn't been
- loaded
- - if hyperref has been loaded with package option `unicode'
- and `textalpha' package has been loaded, too, we can use
- greek letters in PDF bookmarks
- - new command \printchemgreekmapping
- - \showchemgreekmapping now writes information to the log
-2014/01/29 - v0.4 - add mapping `fontspec'
- - new command \printchemgreekalphabet
-
-TODO:
-