From fc358ce7332053945afe16ced2a271556cdccfb7 Mon Sep 17 00:00:00 2001 From: Norbert Preining Date: Tue, 4 Feb 2020 03:01:28 +0000 Subject: CTAN sync 202002040301 --- macros/latex/contrib/acro/README | 2 +- macros/latex/contrib/acro/acro-manual.cls | 4 +- macros/latex/contrib/acro/acro-manual.pdf | Bin 577602 -> 576935 bytes macros/latex/contrib/acro/acro.history | 1 + macros/latex/contrib/acro/acro.sty | 6 +- macros/latex/contrib/chemmacros/README | 7 +- .../latex/contrib/chemmacros/chemmacros-manual.cls | 382 + .../latex/contrib/chemmacros/chemmacros-manual.pdf | Bin 0 -> 970626 bytes .../latex/contrib/chemmacros/chemmacros-manual.tex | 3578 ++++++ macros/latex/contrib/chemmacros/chemmacros.history | 4 + .../chemmacros/chemmacros.module.base.code.tex | 31 +- .../chemmacros.module.chemformula.code.tex | 18 +- .../chemmacros/chemmacros.module.greek.code.tex | 18 +- .../chemmacros.module.mechanisms.code.tex | 28 +- .../chemmacros.module.nomenclature.code.tex | 143 +- .../chemmacros/chemmacros.module.phases.code.tex | 2 +- .../chemmacros.module.reactions.code.tex | 11 +- .../chemmacros/chemmacros.module.redox.code.tex | 45 +- .../chemmacros/chemmacros.module.scheme.code.tex | 39 +- .../chemmacros.module.spectroscopy.code.tex | 23 +- .../chemmacros/chemmacros.module.units.code.tex | 17 +- macros/latex/contrib/chemmacros/chemmacros.sty | 20 +- macros/latex/contrib/chemmacros/chemmacros4.sty | 4 +- macros/latex/contrib/chemmacros/chemmacros5.sty | 31 +- macros/latex/contrib/chemmacros/chemmacros_en.pdf | Bin 947206 -> 0 bytes macros/latex/contrib/chemmacros/chemmacros_en.tex | 3707 ------ macros/latex/contrib/derivative/README.md | 4 +- macros/latex/contrib/derivative/derivative.pdf | Bin 184657 -> 184454 bytes macros/latex/contrib/derivative/derivative.sty | 8 +- macros/latex/contrib/derivative/derivative.tex | 9 +- macros/latex/contrib/filehook/README | 3 +- macros/latex/contrib/filehook/filehook.dtx | 352 +- macros/latex/contrib/filehook/filehook.pdf | Bin 267294 -> 266229 bytes macros/latex/contrib/fontspec/CHANGES.md | 8 + .../latex/contrib/fontspec/fontspec-code-enc.dtx | 1 - .../fontspec/fontspec-code-feat-opentype.dtx | 4 +- .../contrib/fontspec/fontspec-code-internal.dtx | 18 +- .../contrib/fontspec/fontspec-code-keyval.dtx | 3 +- .../contrib/fontspec/fontspec-code-opentype.dtx | 32 +- macros/latex/contrib/fontspec/fontspec-code.pdf | Bin 627145 -> 626791 bytes macros/latex/contrib/fontspec/fontspec.dtx | 6 +- macros/latex/contrib/fontspec/fontspec.pdf | Bin 610857 -> 610880 bytes macros/latex/contrib/physconst/CHANGELOG.md | 29 +- macros/latex/contrib/physconst/README.md | 35 +- macros/latex/contrib/physconst/physconst.dtx | 11205 +++++++++++++++---- macros/latex/contrib/physconst/physconst.pdf | Bin 135843 -> 208326 bytes macros/latex/contrib/thuthesis/README.md | 24 +- macros/latex/contrib/thuthesis/data/denotation.tex | 4 +- macros/latex/contrib/thuthesis/main.pdf | Bin 768081 -> 771605 bytes macros/latex/contrib/thuthesis/main.tex | 2 +- macros/latex/contrib/thuthesis/ref/appendix.bib | 18 +- macros/latex/contrib/thuthesis/ref/refs.bib | 247 +- macros/latex/contrib/thuthesis/spine.pdf | Bin 20221 -> 20300 bytes macros/latex/contrib/thuthesis/thuthesis.dtx | 36 +- macros/latex/contrib/thuthesis/thuthesis.pdf | Bin 937163 -> 938283 bytes macros/latex/required/babel/base/README.md | 34 +- macros/latex/required/babel/base/babel.dtx | 578 +- macros/latex/required/babel/base/babel.ins | 2 +- macros/latex/required/babel/base/babel.pdf | Bin 748353 -> 754441 bytes macros/latex/required/babel/base/bbcompat.dtx | 2 +- 60 files changed, 14173 insertions(+), 6612 deletions(-) create mode 100644 macros/latex/contrib/chemmacros/chemmacros-manual.cls create mode 100644 macros/latex/contrib/chemmacros/chemmacros-manual.pdf create mode 100644 macros/latex/contrib/chemmacros/chemmacros-manual.tex delete mode 100644 macros/latex/contrib/chemmacros/chemmacros_en.pdf delete mode 100644 macros/latex/contrib/chemmacros/chemmacros_en.tex (limited to 'macros/latex') diff --git a/macros/latex/contrib/acro/README b/macros/latex/contrib/acro/README index 9235273498..221ded70e3 100644 --- a/macros/latex/contrib/acro/README +++ b/macros/latex/contrib/acro/README @@ -1,5 +1,5 @@ -------------------------------------------------------------------------- -the ACRO package v2.11b 2020/01/24 +the ACRO package v2.11c 2020/02/03 Typeset Acronyms diff --git a/macros/latex/contrib/acro/acro-manual.cls b/macros/latex/contrib/acro/acro-manual.cls index 89f2fb286f..e0a35f4781 100644 --- a/macros/latex/contrib/acro/acro-manual.cls +++ b/macros/latex/contrib/acro/acro-manual.cls @@ -215,6 +215,7 @@ \begingroup \catcode`\^^M=13 \gdef\acroman@read@options#1#2^^M{% + \endgroup \ifblank{#2}{}{\acroman@read@options@#2}% #1% \XSIMfilewritestart*{\jobname.tmp}% @@ -226,7 +227,6 @@ {% \begingroup \acroman@readoptions{% - \endgroup \setlength\cnltx@sidebysidewidth {\dimexpr .45\columnwidth -\lst@xleftmargin -\lst@xrightmargin\relax}% \expanded{% @@ -251,7 +251,6 @@ {% \begingroup \acroman@readoptions{% - \endgroup \setlength\cnltx@sidebysidewidth {\dimexpr .45\columnwidth -\lst@xleftmargin -\lst@xrightmargin\relax}% \expanded{% @@ -387,5 +386,6 @@ \acro@add@version{2020-01-11}{2.11} \acro@add@version{2020-01-16}{2.11a} \acro@add@version{2020-01-24}{2.11b} +\acro@add@version{2020-02-03}{2.11c} \endinput diff --git a/macros/latex/contrib/acro/acro-manual.pdf b/macros/latex/contrib/acro/acro-manual.pdf index 2209e26891..4fea1ccc17 100644 Binary files a/macros/latex/contrib/acro/acro-manual.pdf and b/macros/latex/contrib/acro/acro-manual.pdf differ diff --git a/macros/latex/contrib/acro/acro.history b/macros/latex/contrib/acro/acro.history index 7fc23c120e..d719448f3e 100644 --- a/macros/latex/contrib/acro/acro.history +++ b/macros/latex/contrib/acro/acro.history @@ -282,3 +282,4 @@ feel free to contact me. - prefer lazy boolean evaluation when possible 2020/01/16 v2.11a - adapt to new l3text module 2020/01/24 v2.11b - fix issue #147 +2020/02/03 v2.11c - fix issue #76 diff --git a/macros/latex/contrib/acro/acro.sty b/macros/latex/contrib/acro/acro.sty index 3bf03df4d0..7346367aff 100644 --- a/macros/latex/contrib/acro/acro.sty +++ b/macros/latex/contrib/acro/acro.sty @@ -35,10 +35,10 @@ \ExplSyntaxOn -\tl_const:Nn \c_acro_date_tl {2020/01/24} +\tl_const:Nn \c_acro_date_tl {2020/02/03} \tl_const:Nn \c_acro_version_major_number_tl {2} \tl_const:Nn \c_acro_version_minor_number_tl {11} -\tl_const:Nn \c_acro_version_subrelease_tl {b} +\tl_const:Nn \c_acro_version_subrelease_tl {c} \tl_const:Nx \c_acro_version_number_tl { \c_acro_version_major_number_tl . @@ -716,7 +716,7 @@ \sys_if_engine_xetex:TF { \cs_set:Npn \acro_hyper_link:nn ##1##2 - { \hyperlink { \XeTeXLinkBox {##1} } {##2} } + { \hyperlink {##1} { \XeTeXLinkBox {##2} } } } { \cs_set_eq:NN \acro_hyper_link:nn \hyperlink } \cs_set:Npn \acro_hyper_target:nn ##1##2 diff --git a/macros/latex/contrib/chemmacros/README b/macros/latex/contrib/chemmacros/README index 7483ec9d3f..6153319d53 100644 --- a/macros/latex/contrib/chemmacros/README +++ b/macros/latex/contrib/chemmacros/README @@ -1,5 +1,5 @@ -------------------------------------------------------------------------- -the CHEMMACROS package v5.9 2019/11/17 +the CHEMMACROS package v5.10 2020/02/03 comprehensive support for typesetting chemistry documents @@ -28,8 +28,9 @@ The chemmacros package consists of the following files chemmacros4.sty chemmacros5.sty, == DOCUMENTATION FILES == - chemmacros_en.tex - chemmacros_en.pdf, + chemmacros-manual.tex + chemmacros-manual.pdf + chemmacros-manual.cls README chemmacros.history == MODULE CODE FILES == diff --git a/macros/latex/contrib/chemmacros/chemmacros-manual.cls b/macros/latex/contrib/chemmacros/chemmacros-manual.cls new file mode 100644 index 0000000000..179e588d55 --- /dev/null +++ b/macros/latex/contrib/chemmacros/chemmacros-manual.cls @@ -0,0 +1,382 @@ +% -------------------------------------------------------------------------- +% the CHEMFORMULA package +% +% typeset chemical compounds and reactions +% +% -------------------------------------------------------------------------- +% Clemens Niederberger +% -------------------------------------------------------------------------- +% https://github.com/cgnieder/chemformula/ +% 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.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. +% -------------------------------------------------------------------------- +\ProvidesClass{chemmacros-manual}[2020/02/03] + +\LoadClass[load-preamble,add-index]{cnltx-doc} +\RequirePackage{imakeidx} +\RequirePackage[utf8]{inputenc} + +\RequirePackage[compatibility=newest]{chemmacros} +\setcnltx{ + package = {chemmacros}, + info = {comprehensive support for typesetting chemistry documents}, + url = https://github.com/cgnieder/chemmacros , + authors = Clemens Niederberger , + email = contact@mychemistry.eu , + abstract = {% + \centering + \includegraphics{chemmacros-logo.pdf} + \par + } , + quote-format = \small\biolinumLF , + add-cmds = { + abinitio, activatechemgreekmapping, AddRxnDesc, anti, aq, aqi, + ba, bond, bridge, + cd, ch, changechemgreeksymbol, charrow, chcpd, chemabove, chemalpha, + chembeta, ChemCleverefSupport, chemdelta, chemDelta, + ChemFancyrefSupport, chemformula@bondlength, chemgamma, ChemModule, + chemomega, chemphi, chemPhi, chemsetup, chlewis, chname , cip, cis, ch, + CNMR, + data, DeclareChemArrow, DeclareChemBond, DeclareChemBondAlias, + DeclareChemCharge, DeclareChemEqConstant, declarechemgreekmapping, + DeclareChemIUPAC, DeclareChemIUPACShorthand, DeclareChemLatin, + DeclareChemNMR, DeclareChemNucleophile, DeclareChemPartialCharge, + DeclareChemParticle, DeclareChemPhase, DeclareChemReaction, + DeclareChemState, + delm, delp, Delta, dexter, Dfi, + el, ElPot, endo, entgegen, Enthalpy, enthalpy, entropy, + fdelm, fdelp, fmch, fminus, fpch, fplus, fscrm, fscrp, + gas, ghs, ghslistall, ghspic, gibbs, gram, + hapto, HNMR, Helmholtz, hydrogen, + IfChemCompatibilityF, IfChemCompatibilityT, IfChemCompatibilityTF, insitu, + invacuo, isotope, iupac, + Ka, Kb, Kw, + laevus, Lfi, listofreactions, lqd, + makepolymerdelims, mch, mega, meta, mhName, + NewChemArrow, NewChemBond, NewChemBondAlias, + NewChemCharge, NewChemEqConstant, newchemgreekmapping, NewChemIUPAC, + NewChemIUPACShorthand, NewChemLatin, NewChemMacroset, NewChemNMR, + NewChemNucleophile, NewChemPartialCharge, NewChemParticle, NewChemPhase, + NewChemReaction, NewChemState, + newman, nitrogen, NMR, Nu, Nuc, + orbital, ortho, ox, OX, oxygen, + para, pch, per, pH, phase, phosphorus, photon, pKa, pKb, pOH, pos, + positron, Pot, ProvideChemArrow, ProvideChemBond, ProvideChemCharge, + ProvideChemEqConstant, ProvideChemIUPAC, ProvideChemIUPACShorthand, + ProvideChemLatin, ProvideChemNMR, ProvideChemNucleophile, + ProvideChemPartialCharge, ProvideChemParticle, ProvideChemPhase, + ProvideChemReaction, + ProvideChemState, prt, + Rad, redox, RemoveChemIUPACShorthand, RenewChemArrow, RenewChemBond, + RenewChemCharge, RenewChemEqConstant, renewchemgreekmapping, + RenewChemIUPAC, RenewChemIUPACShorthand, RenewChemLatin, RenewChemNMR, + RenewChemNucleophile, RenewChemPartialCharge, RenewChemParticle, + RenewChemPhase, RenewChemState, + Sf, scrm, scrp, second, selectchemgreekmapping, setchemformula, + ShowChemArrow, ShowChemBond, sld, Sod, state, sulfur, + trans, + usechemmodule, + val, + zusammen + } , + add-silent-cmds = { + addplot, + bottomrule, + cancel, cdot, ce, cee, celsius, centering, chemfig, chemname, clap, + cnsetup, code, color, cstack, cstsetup, + DeclareInstance, DeclareSIUnit, definecolor, draw, + electronvolt, endtikzpicture, + footnotesize, + glqq, grqq, + hertz, hspace, + includegraphics, intertext, IUPAC, + joule, + kelvin, kilo, + latin, lc, lewis, Lewis, liquid, ltn, + metre, midrule, milli, mmHg, mole, + nano, nicefrac, num, numrange, + ominus, oplus, + percent, pgfarrowsdeclarealias, pgfarrowsrenewalias, + renewtagform, rightarrow, + sample, scriptscriptstyle, setchemfig, sfrac, shade, + shadedraw, shorthandoff, si, SI, sisetup, square, subsection, + textcolor, textendash, textsuperscript, tikz, tikzpicture, tiny, toprule, + upbeta, upeta, upgamma, usetikzlibrary, + volt, vphantom, vspave, + xspace, + z@, z@skip + } , + index-setup = { othercode = \footnotesize , level = \section } , + makeindex-setup = { columns = 2 , columnsep = 1em } +} + +\RequirePackage{booktabs,array,longtable} + +\RequirePackage{chemfig,cancel,varioref,csquotes} + +\RequirePackage[ + a4paper, + top = .1\paperheight, + bottom = .1\paperheight, + left = .2\paperwidth, + right = .1\paperwidth +]{geometry} + +\def\libertine@figurestyle{LF} +\RequirePackage{amsmath} +\undef\lvert \undef\lVert +\undef\rvert \undef\rVert +\RequirePackage[libertine]{newtxmath} +\def\libertine@figurestyle{OsF} + +\RequirePackage[biblatex]{embrac} +\ChangeEmph{[}[,.02em]{]}[.055em,-.08em] +\ChangeEmph{(}[-.01em,.04em]{)}[.04em,-.05em] + +\RequirePackage[accsupp]{acro} +\acsetup{ + long-format = \scshape , + short-format = \scshape +} + +\RequirePackage{fontawesome} +\RequirePackage{datetime2} +\DTMsetup{useregional=numeric,datesep=/} +\newrobustcmd*\chemmacros@add@version[2]{% + \csdef{chemmacros@ver@#2}{% + \DTMdate{#1}% + \csgdef{chemmacros@ver@#2used}{}% + \csdef{chemmacros@ver@#2}{\DTMdate{#1}}% + }% +} + +\newrobustcmd*\chemmacros@date[1]{% + \ifcsdef{chemmacros@ver@#1used}{}{ (\csuse{chemmacros@ver@#1})}} +\newrobustcmd*\chemmacros@ifnew[1]{\ifcsstring{c_chemmacros_version_tl}{#1}} +\newrobustcmd*\chemmacros@NEW{\faStarO\ New} + +\renewrobustcmd*\sinceversion[1]{% + \chemmacros@ifnew{#1}% + {\cnltx@version@note{\textcolor{red}{\chemmacros@NEW}}}% + {\cnltx@version@note{\GetTranslation{cnltx-introduced}~#1\chemmacros@date{#1}}}% +} +\renewrobustcmd*\changedversion[1]{% + \cnltx@version@note{\GetTranslation{cnltx-changed}~#1\chemmacros@date{#1}}% +} + +\newnote*\sincechanged[2]{% + \GetTranslation{cnltx-introduced}~#1\chemmacros@date{#1}, + changed with version~#2\chemmacros@date{#2}\chemmacros@ifnew{#2}{ \chemmacros@NEW}{}% +} + +\RenewDocumentEnvironment{commands}{} + {% + \cnltx@set@catcode_{12}% + \let\command\cnltx@command + \cnltxlist + } + {\endcnltxlist} + +\RequirePackage{tcolorbox,xsimverb} +\tcbuselibrary{skins,breakable} +\tcbset{enhanced,enhanced jigsaw} + +\newtcolorbox{bewareofthedog}{ + colback = white , + colframe = red , + underlay={% + \path[draw=none] + (interior.south west) + rectangle node[red]{\Huge\bfseries !} + ([xshift=-4mm]interior.north west); + }% +} + +\newtcolorbox{cnltxcode}[1][]{ + boxrule = 1pt , + colback = cnltxbg , + colframe = cnltx , + arc = 5pt , + beforeafter skip = .5\baselineskip ,% + #1% +} + +\newcommand*\chemmacros@readoptions[1]{% + \catcode`\^^M=13 + \chemmacros@read@options{#1}% +} + +\begingroup +\catcode`\^^M=13 +\gdef\chemmacros@read@options#1#2^^M{% + \endgroup + \ifblank{#2}{}{\chemmacros@read@options@#2}% + #1% + \XSIMfilewritestart*{\jobname.tmp}% +}% +\endgroup +\def\chemmacros@read@options@[#1]{\pgfqkeys{/cnltx}{#1}} + +\RenewDocumentEnvironment{sourcecode}{} + {% + \begingroup + \chemmacros@readoptions{% + \setlength\cnltx@sidebysidewidth + {\dimexpr .45\columnwidth -\lst@xleftmargin -\lst@xrightmargin\relax}% + \expanded{% + \noexpand\lstset{ + style=cnltx, + \ifboolexpe{ bool {cnltx@sidebyside} and not bool {cnltx@codeonly} } + {linewidth=\cnltx@sidebysidewidth,}{}% + \expandonce\cnltx@local@listings@options + }% + }% + \XSIMgobblechars{2}% + }% + } + {% + \XSIMfilewritestop + \cnltxcode[breakable]% + \lstinputlisting[style=cnltx]{\jobname.tmp}% + \endcnltxcode + } + +\RenewDocumentEnvironment{example}{} + {% + \begingroup + \chemmacros@readoptions{% + \setlength\cnltx@sidebysidewidth + {\dimexpr .45\columnwidth -\lst@xleftmargin -\lst@xrightmargin\relax}% + \expanded{% + \noexpand\lstset{ + style=cnltx, + \ifboolexpe{ bool {cnltx@sidebyside} and not bool {cnltx@codeonly} } + {linewidth=\cnltx@sidebysidewidth,}{}% + \expandonce\cnltx@local@listings@options + }% + }% + \XSIMgobblechars{2}% + }% + } + {% + \XSIMfilewritestop + \ifbool{cnltx@sidebyside} + {% + \cnltxcode + \noindent + \minipage[c]{\cnltx@sidebysidewidth}% + \cnltx@pre@source@hook + \lstinputlisting[style=cnltx] {\jobname.tmp}% + \cnltx@after@source@hook + \endminipage\hfill + \minipage[c]{\cnltx@sidebysidewidth}% + \cnltx@pre@example@hook + \input {\jobname.tmp}% + \cnltx@after@example@hook + \endminipage + } + {% + \cnltxcode[breakable]% + \cnltx@pre@source@hook + \lstinputlisting{\jobname.tmp}% + \cnltx@after@source@hook + \tcblower + \cnltx@pre@example@hook + \input {\jobname.tmp}% + \cnltx@after@example@hook + }% + \endcnltxcode + } + +\RequirePackage[ + backend=biber, + style=cnltx, + sortlocale=en_US, + indexing=cite]{biblatex} +\RequirePackage{csquotes,varioref} +\defbibheading{bibliography}{\section{References}} + +\RequirePackage[biblatex]{embrac}[2012/06/29] +\ChangeEmph{[}[,.02em]{]}[.055em,-.08em] +\ChangeEmph{(}[-.01em,.04em]{)}[.04em,-.05em] + +\chemmacros@add@version{2012-01-28}{3.0} +\chemmacros@add@version{2012-01-30}{3.0a} +\chemmacros@add@version{2012-02-03}{3.0b} +\chemmacros@add@version{2012-02-05}{3.0c} +\chemmacros@add@version{2012-02-10}{3.0d} +\chemmacros@add@version{2012-02-19}{3.1} +\chemmacros@add@version{2012-02-26}{3.1a} +\chemmacros@add@version{2012-03-03}{3.1b} +\chemmacros@add@version{2012-03-14}{3.1c} +\chemmacros@add@version{2012-03-20}{3.2} +\chemmacros@add@version{2012-05-07}{3.3} +\chemmacros@add@version{2012-05-13}{3.3a} +\chemmacros@add@version{2012-05-18}{3.3b} +\chemmacros@add@version{2012-05-18}{3.3c} +\chemmacros@add@version{2012-07-24}{3.3d} +\chemmacros@add@version{2012-08-21}{3.3e} +\chemmacros@add@version{2012-09-11}{3.4} +\chemmacros@add@version{2012-10-03}{3.4a} +\chemmacros@add@version{2013-01-04}{3.4b} +\chemmacros@add@version{2013-01-28}{3.5} +\chemmacros@add@version{2013-02-19}{3.5a} +\chemmacros@add@version{2013-02-26}{3.6} +\chemmacros@add@version{2013-02-27}{3.6a} +\chemmacros@add@version{2013-04-19}{3.6b} +\chemmacros@add@version{2013-07-06}{4.0} +\chemmacros@add@version{2013-08-07}{4.0a} +\chemmacros@add@version{2013-08-24}{4.1} +\chemmacros@add@version{2013-10-28}{4.2} +\chemmacros@add@version{2013-10-31}{4.2a} +\chemmacros@add@version{2013-11-04}{4.2b} +\chemmacros@add@version{2013-11-20}{4.2c} +\chemmacros@add@version{2013-12-15}{4.2d} +\chemmacros@add@version{2014-01-09}{4.2e} +\chemmacros@add@version{2014-01-24}{4.3} +\chemmacros@add@version{2014-01-29}{4.4} +\chemmacros@add@version{2014-04-08}{4.5} +\chemmacros@add@version{2014-06-30}{4.5a} +\chemmacros@add@version{2014-08-08}{4.6} +\chemmacros@add@version{2015-02-08}{4.7} +\chemmacros@add@version{2015-09-11}{5.0} +\chemmacros@add@version{2015-09-23}{5.1} +\chemmacros@add@version{2015-10-14}{5.2} +\chemmacros@add@version{2016-01-13}{5.3} +\chemmacros@add@version{2016-01-23}{5.3a} +\chemmacros@add@version{2016-02-10}{5.4} +\chemmacros@add@version{2016-03-08}{5.5} +\chemmacros@add@version{2016-05-02}{5.6} +\chemmacros@add@version{2016-05-04}{5.6a} +\chemmacros@add@version{2016-06-07}{5.7} +\chemmacros@add@version{2016-06-08}{5.7a} +\chemmacros@add@version{2016-10-05}{5.7b} +\chemmacros@add@version{2016-12-28}{5.7c} +\chemmacros@add@version{2017-04-17}{5.8} +\chemmacros@add@version{2017-06-13}{5.8a} +\chemmacros@add@version{2017-08-28}{5.8b} +\chemmacros@add@version{2018-03-02}{5.8c} +\chemmacros@add@version{2019-09-23}{5.8d} +\chemmacros@add@version{2019-09-27}{5.8e} +\chemmacros@add@version{2019-09-30}{5.8f} +\chemmacros@add@version{2019-11-17}{5.9} +\chemmacros@add@version{2020-01-16}{5.9a} +\chemmacros@add@version{2020-02-03}{5.10} + +\endinput diff --git a/macros/latex/contrib/chemmacros/chemmacros-manual.pdf b/macros/latex/contrib/chemmacros/chemmacros-manual.pdf new file mode 100644 index 0000000000..02badca256 Binary files /dev/null and b/macros/latex/contrib/chemmacros/chemmacros-manual.pdf differ diff --git a/macros/latex/contrib/chemmacros/chemmacros-manual.tex b/macros/latex/contrib/chemmacros/chemmacros-manual.tex new file mode 100644 index 0000000000..991742a710 --- /dev/null +++ b/macros/latex/contrib/chemmacros/chemmacros-manual.tex @@ -0,0 +1,3578 @@ +% !arara: pdflatex +% !arara: biber +% arara: pdflatex: { action: nonstopmode } +% arara: pdflatex: { action: nonstopmode } +% -------------------------------------------------------------------------- +% the CHEMMACROS package +% +% comprehensive support for typesetting chemistry documents +% +% -------------------------------------------------------------------------- +% Clemens Niederberger +% -------------------------------------------------------------------------- +% https://github.com/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.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. +% -------------------------------------------------------------------------- +\documentclass{chemmacros-manual} + +\DeclareAcronym{ghs}{ + short = ghs , + long = Globally Harmonized System of Classification and Labelling of + Chemicals , + pdfstring = GHS , + accsupp = GHS +} +\DeclareAcronym{eu}{ + short = EU , + long = European Union , + pdfstring = EU , + accsupp = EU +} +\DeclareAcronym{iupac}{ + short = iupac , + long = International Union of Pure and Applied Chemistry , + pdfstring = IUPAC , + accsupp = IUPAC +} +\DeclareAcronym{UN}{ + short = un , + long = United Nations , + pdfstring = UN , + accsupp = UN +} +\DeclareAcronym{dvi}{ + short = dvi , + long = device independent file format , + pdfstring = DVI , + accsupp = DVO +} +\DeclareAcronym{pdf}{ + short = pdf , + long = portable document file , + pdfstring = PDF , + accsupp = PDF +} +\DeclareAcronym{id}{ + short = id , + long = identification string , + pdfstring = ID , + accsupp = ID +} + +\chemsetup{ + modules = {all,polymers} , + greek = newtx , + formula = chemformula , + chemformula/format = \libertineLF +} + +\sisetup{ + detect-mode=false, + mode=text, + text-rm=\libertineLF +} + +\defbibheading{bibliography}{\section{References}} +\addbibresource{\jobname.bib} +\addbibresource{cnltx.bib} + +\begin{filecontents*}[overwrite]{\jobname.bib} +@book{iupac:greenbook, + author = {E. Richard Cohan and Tomislav Cvita\v{s} and Jeremy G. Frey and + Bertil Holmstr\"om and Kozo Kuchitsu and Roberto Marquardt and Ian Mills and + Franco Pavese and Martin Quack and J\"urgen Stohner and Herbert L. Strauss and + Michio Takami and Anders J Thor} , + title = {``Quantities, Symbols and Units in Physical Chemistry'', \acs{iupac} + Green Book} , + shorttitle = {The \acs{iupac} Green Book} , + sorttitle = {Quantities, Symbols and Units in Physical Chemistry} , + indexsorttitle = {Quantities, Symbols and Units in Physical Chemistry} , + edition = {3rd Edition. 2nd Printing} , + year = {2008} , + publisher = {\acs{iupac} \&\ RSC Publishing, Cambridge} +} +@book{iupac:redbook, + author = {Neil G. Connelly and Ture Damhus and Richard M. Hartshorn and + Alan T. Hutton} , + title = {``Nomenclature of Inorganic Chemistry'', \acs{iupac} Red Book} , + shorttitle = {The \acs{iupac} Red Book} , + sorttitle = {Nomenclature of Inorganic Chemistry} , + indexsorttitle = {Nomenclature of Inorganic Chemistry} , + year = {2005} , + publisher = { \acs{iupac} \&\ RSC Publishing, Cambridge} , + isbn = {0-85404-438-8} +} +@book{iupac:bluebook, + author = {R. Panico and W. H. Powell and J-C. Richer}, + title = {``Nomenclature of Organic Chemistry, Sections A, B, C, D, E, F, + and H'', \acs{iupac} Blue Book}, + shorttitle = {The \acs{iupac} Blue Book} , + sorttitle = {Nomenclature of Organic Chemistry} , + indexsorttitle = {Nomenclature of Organic Chemistry} , + edition = {\mkbibacro{draft}}, + date = {2004-10-07}, + url = + {http://old.iupac.org/reports/provisional/abstract04/BB-prs310305/CompleteDraft.pdf}, + urldate = {2013-07-07} +} +@misc{eu:ghsystem_regulation, + author = {{The European Parliament and The Council of the European Union}}, + sortname = {European Parliament and The Council of the European Union} , + title = {Regulation (EC) No 1272/2008 of the European Parliament and of + the Council} , + subtitle = {on classification, labelling and packaging of substances and + mixtures, amending and repealing Directives 67/548/EEC and 1999/45/EC, and + amending Regulation (EC) No 1907/2006} , + journal = {Official Journal of the European Union} , + date = {2008-12-16} +} +@online{unece:ghsystem_implementation, + author = {{United Nations Economic Commission for Europe}} , + title = {GHS Implementation} , + url = + {http://www.unece.org/trans/danger/publi/ghs/implementation_e.html} , + urldate = {2012-03-20} , + date = {2012-03-20} +} +@online{mychemistry:chemmacros-dev, + author = {Clemens Niederberger} , + title = {chemmacros development} , + url = {http://www.mychemistry.eu/2015/06/chemmacros-development/} , + urldate = {2015-07-16} , + date = {2015-06-14} +} +@online{mychemistry:modular-chemmacros, + author = {Clemens Niederberger} , + title = {modular chemmacros} , + url = {http://www.mychemistry.eu/2015/06/modular-chemmacros/} , + urldate = {2015-07-16} , + date = {2015-06-08} +} +@online{mychemistry:chemmacros-update-how, + author = {Clemens Niederberger} , + title = {a new chemmacros -- but how?} , + url = {http://www.mychemistry.eu/2015/07/a-new-chemmacros-but-how/} , + urldate = {2015-07-16} , + date = {2015-07-15} +} +\end{filecontents*} + +\DeclareInstance{xfrac}{chemformula-text-frac}{text} + { + scale-factor = 1 , + denominator-bot-sep = -.2ex , + denominator-format = \scriptsize #1 , + numerator-top-sep = -.2ex , + numerator-format = \scriptsize #1 , + slash-right-kern = .05em , + slash-left-kern = .05em + } + +\usetikzlibrary{calc,positioning,decorations.pathmorphing,patterns} + +% \newpackagename\chemmacros{chemmacros} +\newcommand*\chemmacrosversion{\csname c_chemmacros_version_tl\endcsname} +\newpackagename\chemformula{chemformula} +\newpackagename\ghsystem{ghsystem} +\newpackagename\chemgreek{chemgreek} + +\renewcommand*\AmS{\hologo{AmS}} +\newcommand*\TikZ{Ti\textit{k}Z} +\newcommand*\tablehead[1]{\textrm{\bfseries#1}} + +\providecommand*\XyM{% + X\kern-.30em + \smash{\raise.50ex\hbox{\char'7}}% + \kern-.30em M% +} +\providecommand*\XyMTeX{\XyM\kern-.1em\TeX} + +% \NewChemPhase{\aqi}{aq,$\infty$}% aqueous solution at infinite dilution +% \NewChemPhase{\cd}{cd}% condensed phase +% \NewChemPhase{\lc}{lc}% liquid crystal + +\newname\hensel{Martin Hensel} +\newname\pedersen{Bj\o rn Pedersen} + +\newcommand*\iupaccs[3][]{% + \command{#2}[\quad\iupac{\csuse{#2}}] + #3\ifblank{#1}{}{\ifblank{#3}{}{ }An alias for this command is \cs{#1}.}% +} + +% \undef\module +% \undef\moduleidx +\newidxcmd\chemmodule{\code{#1}}[ (module)] +\newidxcmd\tikzdecoration{\code{#1}}[ (\TikZ\ decoration)] +\AtEndPreamble{% + \pdfstringdefDisableCommands{% + \def\chemmodule*#1{\textquotedblleft#1\textquotedblright}% + }% +} +\newidxcmd\sym{\code{#1}}[ (symbol)] + +\makeatletter +\def\cnltx@bash@listings@style{ + language = bash, + basicstyle = {\sourceformat\color{black}}, + % numbers = left, + % numberstyle = \tiny, + xleftmargin = 1em, + numbersep = .75em, + gobble = \cnltx@gobble , + columns = fullflexible, + literate = + {ä}{{\"a}}1 + {ö}{{\"o}}1 + {ü}{{\"u}}1 + {Ä}{{\"A}}1 + {Ö}{{\"O}}1 + {Ü}{{\"U}}1 + {ß}{{\ss}}1 , + breaklines = true, + keepspaces = true, + breakindent = 1em, + commentstyle = \color{comment}, + keywordstyle = \color{black}\bfseries , + stringstyle = \color{black} , + showstringspaces = false , + morekeywords = texdoc +} + +\cnltx@expandargs(nx)\lstdefinestyle + {bash} + {\expandonce\cnltx@bash@listings@style} + +\newcommand*\prompt{} +\patchcmd\lst@NewLine + {\hbox{}}% search + {\hbox{}\prompt}% replace + {}% success + {}% failure +\newsourcecodeenv[ + code-only, + sourcecode-options = { + style = bash , + deleteindex = [5][keyword5] , + deleteindex = [6][keyword6] + }, + pre-code = \def\prompt{\textasciitilde\space\$\space} +]{lbash} +\makeatother + +\renewcommand*\dictumauthorformat[1]{#1} +\renewcommand*\raggeddictumtext{} + +\newcommand*\TF{\textcolor{red}{\uline{\code{\textcolor{cs}{\textit{TF}}}}}} + +\makeatletter +\newrobustcmd*\explcsformat[1]{% + \code{\textbackslash\textcolor{cs}{\detokenize{#1}}}% +} +\newidxcmd\explcs{\explcsformat{#1}}[ (expl3)] + +\cnltx@deflistitem{\cnltx@explcommand}{\explcs} +\renewenvironment{commands} + {% + \let\command\cnltx@command + \let\explcommand\cnltx@explcommand + \cnltxlist + } + {\endcnltxlist} +\newenvironment{tikzcode} + {% + \def\arrowtip{\@cnltx@option@item\code}% + \cnltxlist + } + {\endcnltxlist} + +\newrobustcmd*\showenv[1]{\beginenv*\code{\{}\env{#1}\code{\}}} +\makeatother + +\ExplSyntaxOn +\cs_new_protected:Npn \chemboldchecks #1 + { + \seq_set_map:NNn \l_tmpa_seq \l__chemmacros_if_bf_seq { \code {##1} } + \seq_use:Nnnn \l_tmpa_seq {,~} {,~} {~#1~} + } +\ExplSyntaxOff + +\AtBeginDocument{\renewcommand*\reftextfaraway[1]{starting on page~\pageref{#1}}} + +\usepackage{bookmark} + +\begin{document} + +\part{Preliminaries} +\section{Licence, Requirements and \textsc{README}}\label{sec:licence-requ-readme} +\license + +\chemmacros\ loads the packages \pkg{expl3}~\cite{bnd:l3kernel} and +\pkg{xparse}~\cite{bnd:l3packages}. Depending on your usage other packages +will be loaded. They are mentioned when the corresponding module using the +package is described. + +\section{Motivation and Background}\label{sec:motiv-backgr} +This package grew from a small collection of personal helper macros back +in~2010 into a rather big package supporting various different chemical +typesetting tasks. I hope I have achieved the following points with this +package: +\begin{itemize} + \item Intuitive usage as far as the syntax of the commands is concerned. + \item A comprehensive set of macros! If there are any needs you might have + with respect to typesetting of chemistry which is not supported by this + package\footnote{Not including needs already solved by other packages such + as \pkg{chemnum} or \pkg{chemfig}.} then let me know so \chemmacros\ can + be extended. + \item The commands shall not only make typesetting easier and faster but + also the document source more readable with respect to semantics + (\code{\cs{ortho}-dichlorobenzene} is easier to read and understand than + \code{\cs*{textit}\Marg{o}-dichlorobenzene}); the first variant in my + opinion also is more in the spirit of \LaTeXe. + \item As much customizability as I could think of so every user can adapt + the commands to his or her own wishes. Every now and then users have + wishes which can't be solved with the available options. Almost always + I'll add options then. If you find something please contact me, see + section~\vref{sec:sugg-bug-reports}. + \item Default settings that are compliant with the recommendations of the + \acf{iupac}. +\end{itemize} +Especially the last point in the past needed some pushing from users to get +things right in many places. If you find anything not compliant with +\ac{iupac} recommendations please contact me, see +section~\vref{sec:sugg-bug-reports}. Don't forget to add references for the +corresponding \ac{iupac} recommendation. + +\section{The Structure of \chemmacros}\label{sec:structure-chemmacros} +\subsection{General Structure} +Since version~5.0 the \chemmacros\ package has a strictly modular +structure\sinceversion{5.0}. On the one hand this eases maintenance but it +will also allow for easy and quick extension in the future. In a way it is a +logical consequence from \chemmacros' history: since version~2.0, \ie, since +the fall of~2011 \chemmacros\ already had modular options. + +The different modules of \chemmacros\ are divided into two groups: +\begin{enumerate} + \item Internal modules which provide underlying functionality or basic + functionality which is not of direct interest from a user perspective but + might be if you plan to write a module yourself (see + section~\ref{sec:own-modules} for details). + \item User modules which provide all the stuff for typesetting. +\end{enumerate} +Both groups each are subdivided into two groups: preloaded modules and modules +which have to be loaded by the programmer (internal modules) or by the +document author (user modules). Those modules are described in +parts~\ref{part:preloaded-modules} (preloaded modules) +and~\ref{part:additional-modules} (additional modules) of this manual. + +The above means that not all functionality is available per default. If you +want to load \emph{all} modules no matter what then you can say: +\begin{sourcecode} + \usechemmodule{all} +\end{sourcecode} +or +\begin{sourcecode} + \chemsetup{modules=all} +\end{sourcecode} +which will load all modules which are part of \chemmacros\ (also see +section~\vref{sec:all-module}). Own modules (see +section~\vref{sec:own-modules}) are \emph{not} loaded through this, though, +and still have to be loaded additionally. + +In part~\vref{part:preloaded-modules} the preloaded modules are described, +first the user modules then the internal ones, in +part~\vref{part:additional-modules} the other available modules are described, +again the user modules first. In each section the modules are described in +an alphabetical order. + +\subsection{Using \chemmacros' Options}\label{sec:using-chemm-opti} +Prior to v5.0 \chemmacros\ had quite a number of package options. +\chemmacros\ v5.0 or higher has none! All of \chemmacros' options are set +using the command +\begin{commands} + \command{chemsetup}[\oarg{module}\marg{option list}] + \chemmacros' setup command. +\end{commands} + +When an option is described then in the left margin the module the option +belongs to is denoted. This looks something like this: +\begin{options} + \keyval{option}{value}\Module{module}\Default + Description of \option{option}. The module is printed in the left margin. + The default value to the right is the setting the option has when + \chemmacros\ is loaded. This can be an explicit setting but the option + can also be empty. + \keychoice{choice-option}{list,of,\default{choices}}\Module{module}\Default{list} + Description of \option{choice-option}. A choice option can only be used + with a predefined list of values. If one of the values is underlined it + means that the option can be used without value in which case the + underlined value is chosen. If no value is underlined then a value + \emph{has} to be given by the user. + \keybool{boolean-option}\Module{module}\Default{true} + Description of \option{boolean-option}. A boolean option is a choice + option with exactly the two values \code{true} and \code{false}. If the + option is called without value then the underlined value is chosen (which + is always \code{true} for a boolean option). +\end{options} + +An option or list of options belonging to a module \chemmodule{module} can be +set in two ways: +\begin{sourcecode} + % first possibility: + \chemsetup[module]{ + option1 = value , + option2 = value + } + % second possibility: + \chemsetup{ + module/option1 = value , + module/option2 = value + } +\end{sourcecode} +The second way allows to set options belonging to different modules with one +call of \cs{chemsetup}. + +\subsection{Support Package \chemformula} +\chemformula\ provides means of typesetting chemical formulas and reactions. +You will see its macros \cs{ch} and \cs{chcpd} every now and then in this +manual. When using \chemmacros\ you can consider the \chemformula\ +package~\cite{pkg:chemformula} to be loaded as \chemmacros\ makes use of it in +various places. \chemmacros\ and \chemformula\ are tightly intertwined. +Nevertheless you should be able to use the \pkg{mhchem}~\cite{pkg:mhchem} +package with \chemmacros. Please see section~\vref{sec:using-mhchem} for +details and \latin{caveat}s. \emph{The recommendation is to use + \chemformula.} + +A historical note: \chemformula\ started as a part of \chemmacros\ in +January~2012. Since July~2013 it is a completely independent package -- from +\chemformula's point of view. It is maintained independently and has a manual +of its own. + +\subsection{Upgrading from version $<5.0$} +People upgrading from versions $<5.0$ will find that almost everything they +know from earlier versions is the same in versions $\geq5.0$. But there are +important and \emph{breaking} differences: +\begin{itemize} + \item \chemmacros\ has no package options any more, all options are set via + \cs{chemsetup}, also see section~\vref{sec:using-chemm-opti}. + \item Not all of the features are available per default any more, for some + the corresponding module has to be loaded explicitly, see + section~\ref{sec:general-options}. If suddenly some commands or + environments seem to be undefined this is the most likely reason. + \item Some option modules have been renamed (\eg, \module*{iupac} is now + \module{nomenclature}). If you experience strange errors when you upgrade + your document this is the most likely source. + \item The command family \cs*{NewChem\ldots}, \cs*{RenewChem\ldots} and + \cs*{DeclareChem\ldots} has a new member \cs*{ProvideChem\ldots}. + \item In \cs{iupac} the macro \cs*{-} no longer gives a dash with breaking + point. Instead \sym*{-} can be used directly\footnote{\cs*{-} is provided + up to and including v5.2 but is dropped in higher versions.}. + \item The macro \cs{ox} has another default behaviour (\keyis{pos}{super}) + and the starred version has another effect (\keyis{pos}{top}) than the + same macro in earlier versions. Now the default behaviour follows + \acs{iupac} recommendations. A second change is that the atom is now + treated as a \chemformula\ input (this depends on the setting of the + \option{formula} option, see~\vref{sec:chemformula-module}). + \item The syntax of \cs{NewChemReaction} and friends is now different from + what it used to be. If you have defined your own reaction environments + you need to adapt! + \item \chemmacros\ offers a macro \cs{state} which is similar to but + different from the earlier macro \cs*{State}. \cs*{State} is deprecated. + There are also differences in the syntax of \cs{enthalpy} \vs\ the earlier + \cs*{Enthalpy}, \cs{entropy} \vs\ \cs*{Entropy} and \cs{gibbs} \vs\ + \cs*{Gibbs}. The uppercase versions are deprecated. The macro + \cs{NewChemState} also has a different syntax now. + \item At various places in the code improvements and fixes have been made, + too many to list them here. You should keep an open eye and first of all + read the manual closely. +\end{itemize} + +\subsection{Compatibility Mode} + +\subsubsection{For Users} +It is actually not true that \chemmacros' has no package options any more. It +has one very important package option: +\begin{options} + \keychoice{compatibility}{\meta{version},newest,latest}\Default{\chemmacrosversion} + Let's you specify the version of \chemmacros\ you want to use. Any + version earlier than 5.0 will load v4.7. \ie, the last version before + \chemmacros\ got its modular structure\footnote{Mostly: the loaded v4.7 + has got a few fixes}. Not using the option will always load the newest + version. + + Both values \code{newest} and \code{latest} will choose the latest version + available. +\end{options} + +In your document you can check for the compatibility mode. For the following +functions it is important to understand the rules: \emph{greater} means +\emph{newer}. The version number is \emph{not} a usual decimal number! The +syntax for \meta{version} is \meta{major}\code{.}\meta{minor}\meta{optional + subrelease}. This means that a version~5.11 is \emph{newer} than a +version~5.7! In the same way \emph{less} means \emph{older}. As last +example: 5.10~is \emph{newer} (greater) than~5.1. \meta{optional subrelease} +is a lowercase letter which might or might not be present in a version number. +Version~5.7b is newer than~5.7a which in turn is newer than~5.7. +\begin{commands} + \expandable\command{IfChemCompatibilityTF}[\marg{comp}\marg{version}% + \marg{true}\marg{false}] + Checks the value given through the option \option{compatibility} against + \meta{version} using \meta{comp} and either leaves \meta{true} or + \meta{false} in the input stream. \meta{comp} can be one of \code{<}, + \code{<=}, \code{=}, \code{>=} or \code{>}. + \expandable\command{IfChemCompatibilityT}[\marg{comp}\marg{version}\marg{true}] + Checks the value given through the option \option{compatibility} against + \meta{version} using \meta{comp} and leaves \meta{true} in the input + stream if the check is logically true. \meta{comp} can be one of + \code{<}, \code{<=}, \code{=}, \code{>=} or \code{>}. + \expandable\command{IfChemCompatibilityF}[\marg{comp}\marg{version}\marg{false}] + Checks the value given through the option \option{compatibility} against + \meta{version} using \meta{comp} and leaves \meta{false} in the input + stream if the check is logically false. \meta{comp} can be one of + \code{<}, \code{<=}, \code{=}, \code{>=} or \code{>}. +\end{commands} + +A possible usage: +\begin{sourcecode} + \IfChemCompatibilityT{>=}{5.0}{\usechemmodule{all}} +\end{sourcecode} + +Loading \chemmacros\ with \keyis{compatibility}{4.7} also allows to use the +package options from that version: +\begin{sourcecode} + \usepackage[compatibility=4.7,language=german]{chemmacros} +\end{sourcecode} + +\subsubsection{For Module Writers} +For future versions the aim is not to make such breaking changes again. While +we never know what the future actually will bring \chemmacros\ now has the +tools for tying code to a version number: +\begin{commands} + \expandable\explcommand{chemmacros_if_compatibility:nn}[\TF\ \marg{comp} + \marg{version} \marg{true} \marg{false}] + expl3 version of \cs{IfChemCompatibilityTF}. +\end{commands} + +In modules one can try adding code for a certain version or range of versions: +\begin{commands} + \command{ChemCompatibility}[\marg{version} \meta{code} \cs{EndChemCompatibility}] + Leaves \meta{code} in the input stream if the compatibility version $x$ + given by \option{compatibility} matches \meta{version} + ($x=\text{\meta{version}}$). + \command{ChemCompatibilityFrom}[\marg{version} \meta{code} \cs{EndChemCompatibility}] + Leaves \meta{code} in the input stream if the compatibility version $x$ + given by \option{compatibility} matches \meta{version} or newer. This + means \meta{version} is the \emph{oldest} version allowed + ($x\geq\text{\meta{version}}$). + \command{ChemCompatibilityTo}[\marg{version} \meta{code} \cs{EndChemCompatibility}] + \changedversion{5.8a}Leaves \meta{code} in the input stream if the + compatibility version $x$ given by \option{compatibility} matches any + version up to and \emph{excluding} \meta{version}. This means + \meta{version} is the \emph{oldest} version \emph{not} allowed + ($x<\text{\meta{version}}$). + \command{ChemCompatibilityBetween}[\marg{version 1}\marg{version 2} \meta{code} + \cs{EndChemCompatibility}] + \changedversion{5.8a}Leaves \meta{code} in the input stream if the + compatibility version $x$ given by \option{compatibility} lies between and + \emph{including} \meta{version 1} up to and \emph{excluding} \meta{version 2} + ($\text{\meta{version 1}}\leq x<\text{\meta{version 2}}$). + \command{EndChemCompatibility} + This macro \emph{must} end each of the \cs*{ChemCompatibility\ldots} + macros. +\end{commands} + +You may refer to the current version of \chemmacros\ with the following +tokenlists: +\begin{commands} + \explcommand{c_chemmacros_date_tl} + The current release date: \enquote{\csname + c_chemmacros_date_tl\endcsname}. + \explcommand{c_chemmacros_version_major_number_tl} + The current major version: \enquote{\csname + c_chemmacros_version_major_number_tl\endcsname}. + \explcommand{c_chemmacros_version_minor_number_tl} + The current minor version: \enquote{\csname + c_chemmacros_version_minor_number_tl\endcsname}. + \explcommand{c_chemmacros_version_number_tl} + The current version number: \enquote{\csname + c_chemmacros_version_number_tl\endcsname}. + \explcommand{c_chemmacros_version_subrelease_tl} + The current sub-release: \enquote{\csname + c_chemmacros_version_subrelease_tl\endcsname}. + \explcommand{c_chemmacros_version_tl} + The current version: \enquote{\csname c_chemmacros_version_tl\endcsname}. + \explcommand{c_chemmacros_info_tl} + The package information: \enquote{\csname + c_chemmacros_info_tl\endcsname}. +\end{commands} + +\section{General Options}\label{sec:general-options} + +\chemmacros\ has some core options which don't belong to any of the modules +described in parts~\ref{part:preloaded-modules} +and~\ref{part:additional-modules}. Those options have no module denoted in +the left margin next to their descriptions and are also set without specifying +a module: +\begin{sourcecode} + \chemsetup{ + option1 = value , + option2 = value + } +\end{sourcecode} + +Two of those options are explained now: +\begin{options} + \keyval{modules}{comma separated list of module names}\Default + With this option you can specify which modules you want to load. + Alternatively you can use \cs{usechemmodule}\marg{comma separated list of + module names}. + \keyval{greek}{mapping}\Default + Explicitly specify which mapping should be used by the \chemgreek\ + package~\cite{pkg:chemgreek}. For details about what this means please + refer to section~\vref{sec:greek-module}. +\end{options} + +Some internal modules may also define core options, \eg, the \chemmodule{lang} +module, see section~\vref{sec:lang-module}. + +\part{The Preloaded Modules}\label{part:preloaded-modules} + +\section{User Modules} +\subsection{The \chemmodule*{acid-base} Module}\label{sec:acid-base-module} + +Easy representation of \pH, \pKa \ldots +\begin{commands} + \command{pH} \pH + \command{pOH} \pOH + \command{Ka} \Ka, depends on language settings, see + section~\vref{sec:lang-module}. The translations can be adapted. + \command{Kb} \Kb + \command{Kw} \Kw + \command{pKa}[\oarg{num}] \cs{pKa}: \pKa, \cs{pKa}\Oarg{1}: \pKa[1], depends + on language settings, see section~\vref{sec:lang-module}. The translations + can be adapted. + \command{pKb}[\oarg{num}] \cs{pKb}: \pKb, \cs{pKb}\Oarg{1}: \pKb[1] + \command{p}[\marg{anything}] \eg\ \cs{p}\Marg{\cs{Kw}} \p{\Kw} +\end{commands} + +\begin{example}[side-by-side] + \Ka\ \Kb\ \pKa\ \pKa[1] \pKb\ \pKb[1] +\end{example} + +\begin{cnltxquote}[{\citetitle{iupac:greenbook} \cite[][p.\,103]{iupac:greenbook}}] + The operator \p{} \textelp{} shall be printed in Roman type. +\end{cnltxquote} + +There is one option which changes the style the \p{} is typeset, other options +allow to change the subscript of the constants: +\begin{options} + \keychoice{p-style}{italics,slanted,upright}\Module{acid-base}\Default{upright} + Set the style of the \p{} operator. + \keyval{K-acid}{text}\Module{acid-base}\Default{\cs{ChemTranslate}\Marg{K-acid}} + The subscript to \cs{Ka} and \cs{pKa}. + \keyval{K-base}{text}\Module{acid-base}\Default{\cs{ChemTranslate}\Marg{K-base}} + The subscript to \cs{Kb} and \cs{pKb}. + \keyval{K-water}{text}\Module{acid-base}\Default{\cs{ChemTranslate}\Marg{K-water}} + The subscript to \cs{Kw}. + \keyval{eq-constant}{text}\Module{acid-base}\Default{K} + The\sinceversion{5.4} symbol of the constants. +\end{options} +\begin{example} + \pH, \pKa \par + \chemsetup[acid-base]{p-style=slanted} \pH, \pKa \par + \chemsetup[acid-base]{p-style=italics} \pH, \pKa +\end{example} + +As you can see the default subscripts of \cs{Kw}, \cs{Ka} and \cs{Kb} are +lowercase letters. The literature is inconclusive about if this is the right +way or if uppercase letters should be preferred. In textbooks the uppercase +variant usually seems to be used while journals seem to prefer the lowercase +variant. \chemmacros' default follows the usage in +\citetitle{iupac:greenbook}~\cite{iupac:greenbook}. If you want to change +this you have two possibilities: + +\begin{example} + % this works only in the preamble: + % \DeclareTranslation{English}{K-acid}{\mathrm{A}}% use your language here + % alternative: + \chemsetup{acid-base/K-acid=\mathrm{A}}% overwrites language dependent settings + \pKa +\end{example} + +The\sinceversion{5.4} constants \Ka, \Kb, and \Kw\ were defined using the +following commands: +\begin{commands} + \command{NewChemEqConstant}[\marg{cs}\marg{name}\marg{subscript}] + Define the constant \meta{cs} with the name \meta{name} and the subscript + \meta{subscript}. This also defines the default translation with the key + \meta{name} using \meta{subscript} as fallback translation (see + section~\vref{sec:lang-module} for details). It also defines the option + \meta{name} for setting the subscript. + \command{RenewChemEqConstant}[\marg{cs}\marg{name}\marg{default appearance}] + The same as \cs{NewChemEqConstant} but renews an existing command. + \command{DeclareChemEqConstant}[\marg{cs}\marg{name}\marg{default appearance}] + The same as \cs{NewChemEqConstant} but overwrites existing commands. + \command{ProvideChemEqConstant}[\marg{cs}\marg{name}\marg{default appearance}] + The same as \cs{NewChemEqConstant} but doesn't throw an error if \meta{cs} + already exists. +\end{commands} + +This is how \cs{Ka} is defined: +\begin{sourcecode} + \NewChemEqConstant\Ka{K-acid}{\mathrm{a}} +\end{sourcecode} + +\subsection{The \chemmodule*{charges} Module}\label{sec:charges-module} + +The \chemmodule{charges} module loads the module \chemmodule{chemformula}. + +\subsubsection{Charge Symbols} +\begin{commands} + \command{fplus} \fplus\ formal positive charge + \command{fminus} \fminus\ formal negative charge + \command{scrp} \scrp\ scriptstyle positive charge (\eg, for usage in + \pkg{chemfig}'s~\cite{pkg:chemfig} formulas). + \command{scrm} \scrm\ scriptstyle negative charge (\eg, for usage in + \pkg{chemfig}'s formulas). + \command{fscrp} \fscrp\ scriptstyle formal positive charge (\eg, for usage + in \pkg{chemfig}'s formulas). + \command{fscrm} \fscrm\ scriptstyle formal negative charge (\eg, for usage + in \pkg{chemfig}'s formulas). + \command{fsscrp} \fsscrp\ scriptscriptstyle formal positive charge (\eg, for + usage in \pkg{chemfig}'s formulas). + \command{fsscrm} \fsscrm\ scriptscriptstyle formal negative charge (\eg, for + usage in \pkg{chemfig}'s formulas). +\end{commands} + +\subsubsection{Ion Charges}\label{sec:ion-charges} +Simple displaying of (real) charges. It is worth noting that these commands +really are relicts from a time when \chemmacros\ tried hard to be compliant +with \pkg{mhchem} and \chemformula\ didn't exist, yet. \textbf{They are still + provided for backwards compatibility but \emph{my recommendation is to use} + \cs{ch} (see the documentation of the \chemformula\ + package~\cite{pkg:chemformula}) \emph{and forget about these commands:}} +\begin{commands} + \command{pch}[\oarg{number}] + positive charge + \command{mch}[\oarg{number}] + negative charge + \command{fpch}[\oarg{number}] + formal positive charge + \command{fmch}[\oarg{number}] + formal negative charge +\end{commands} +\begin{example}[side-by-side] + A\pch\ B\mch[3] C\fpch[2] D\fmch +\end{example} + +\subsubsection{Partial Charges and Similar Stuff}\label{sec:part-charg-simil} + +The next ones probably are seldomly needed but nevertheless useful: +\begin{commands} + \command{delp} \delp\ partial positive charge + \command{delm} \delm\ partial negative charge + \command{fdelp} \fdelp\ partial formal positive charge + \command{fdelm} \fdelm\ partial formal negative charge +\end{commands} + +These macros for example can be used with the \cs{ox} command (see +section~\vref{sec:redox-module}) or with the \pkg{chemfig} package: +\begin{example} + \chemsetup{ + charges/circled = all, + redox/parse = false, + redox/pos = top + } + \ch{"\ox{\delp,H}" -{} "\ox{\delm,Cl}"} \hspace*{1cm} + \chemfig{\chemabove[3pt]{\lewis{246,Br}}{\delm}-\chemabove[3pt]{H}{\delp}} +\end{example} + +\subsubsection{Charge Options} + +\begin{options} + \keychoice{circled}{formal,\default{all},none}\Module{charges}\Default{formal} + \chemmacros\ uses two different kinds of charges which indicate the usage + of real ($+/-$) and formal (\fplus/\fminus) charges. The option + \code{formal} distinguishes between them, option \code{none} displays them + all without circle, option \code{all} circles all. + \keychoice{circletype}{chem,math}\Module{charges}\Default{chem} + This option switches between two kinds of circled charge symbols: + \cs{fplus} \fplus/\cs{fminus} \fminus\ (\code{chem}) and + \verbcode+$\oplus$+ $\oplus$/\verbcode+$\ominus$+ $\ominus$ (\code{math}). + \keyval{partial-format}{\LaTeX\ code}\Module{charges}\Default{\cs*{tiny}} + Code which formats the macros defined with \cs{NewChemPartialCharge} (see + section~\ref{sec:own-charge-macros}). +\end{options} + +\subsubsection{Own Charge Macros}\label{sec:own-charge-macros} +Just in case the existing macros don't fit you needs there are commands for +defining new ones or modifying the existing ones. These commands define +macros like those described in section~\vref{sec:ion-charges}. + +\begin{commands} + \command{NewChemCharge}[\marg{cs}\marg{charge symbol}] + Defines a new macro \meta{cs}. Raises an error if \meta{cs} already + exists. + \command{RenewChemCharge}[\marg{cs}\marg{charge symbol}] + Redefines a new macro \meta{cs}. Raises an error if \meta{cs} doesn't + exist. + \command{DeclareChemCharge}[\marg{cs}\marg{charge symbol}] + Defines a macro \meta{cs}. Silently overwrites \meta{cs} if it exists. + \command{ProvideChemCharge}[\marg{cs}\marg{charge symbol}] + Defines a new macro \meta{cs}. Does nothing if \meta{cs} already exists. +\end{commands} +An example of usage is the definition of the existing ion charge macros: +\begin{sourcecode} + \NewChemCharge\fpch{\fplus} + \NewChemCharge\fmch{\fminus} +\end{sourcecode} + +These commands define macros like those described in +section~\vref{sec:part-charg-simil}. +\begin{commands} + \command{NewChemPartialCharge}[\marg{cs}\marg{charge symbol}] + Defines a new macro \meta{cs}. Raises an error if \meta{cs} already + exists. + \command{RenewChemPartialCharge}[\marg{cs}\marg{charge symbol}] + Redefines a new macro \meta{cs}. Raises an error if \meta{cs} doesn't + exist. + \command{DeclareChemPartialCharge}[\marg{cs}\marg{charge symbol}] + Defines a macro \meta{cs}. Silently overwrites \meta{cs} if it exists. + \command{ProvideChemPartialCharge}[\marg{cs}\marg{charge symbol}] + Defines a new macro \meta{cs}. Does nothing if \meta{cs} already exists. +\end{commands} +An example of usage is the definition of the existing partial charge macros: +\begin{sourcecode} + \NewChemPartialCharge\fdelp{\fplus} + \NewChemPartialCharge\fdelm{\fminus} +\end{sourcecode} + +\subsection{The \chemmodule*{nomenclature} Module}\label{sec:nomenclature-module} + +The \chemmodule{nomenclature} module loads the \chemmodule{tikz} module. It +also loads the package \pkg{scrlfile} which is part of the +\KOMAScript\ bundle~\cite{bnd:koma-script}. + +\subsubsection{The \cs*{iupac} Command} + +Similar to the \pkg{bpchem} package~\cite{pkg:bpchem} \chemmacros\ provides a +command\footnote{The idea and initial implementation is shamelessly borrowed + from \pkg{bpchem} by \pedersen.} for typesetting \ac{iupac} names. Why is +that useful? \ac{iupac} names can get very long. So long indeed that they +span over more than two lines, especially in two-column documents. This means +they must be allowed to be broken more than one time. This is what the +following command does. +\begin{commands} + \command{iupac}[\marg{IUPAC name}] + Inside this command use \sym{\textbar} indicate a breaking point + \sym{\textasciicircum} as a shortcut for \cs*{textsuperscript}. \sym{-}, + \sym{(} and \sym{)} allow words to be broken while still allow the rest of + word to be hyphenated, likewise \sym{[} and \sym{]}. +\end{commands} + +\begin{example} + \begin{minipage}{.4\linewidth} + \iupac{% + Tetra|cyclo[2.2.2.1^{1,4}]-un|decane-2-dodecyl-% + 5-(hepta|decyl|iso|dodecyl|thio|ester)% + } + \end{minipage} +\end{example} + +The \cs{iupac} command is more of a semantic command. In many cases you can +achieve (nearly) the same thing by using \cs*{-} instead of \sym{\textbar}, +and \cs*{textsuperscript} instead of \sym{\textasciicircum} without +\cs{iupac}. There are some important differences, though: +\begin{itemize} + \item The character \sym{-} inserts a small space before the hyphen and + removes a small space after it. Also usually words with hyphens are only + allowed to break at the hyphen. Inside \cs{iupac} the hyphen will not + prevent further hyphenation. The amount of inserted space can be + customized. + \item The character \sym{\textbar} not only prevents ligatures but also + inserts a small space. The amount of inserted space can be customized. + \item The characters \sym{(} and \sym{)} allow the word to be hyphenated and + don't prevent further hyphenation, likewise \sym{[} and \sym{]}. + \item \sinceversion{5.3}The character \sym{'} is printed as \cs{chemprime}. + \item \sinceversion{5.8c}The character \sym{=} is printed ad + \cs{nonbreakinghyphen}. +\end{itemize} +\begin{example}[side-by-side] + \huge\iupac{2,4-Di|chlor|pentan} \par + 2,4-Dichlorpentan +\end{example} +\begin{commands} + \command{chemprime} + Prints\sinceversion{5.3} a prime character in superscript position. It is + defined as \verbcode+\ensuremath{{}^{\prime}}+. + \command{nonbreakinghyphen} + Prints\sinceversion{5.8c} a hyphen which doesn't allow a linebreak after + it. It is defined as \verbcode+\mbox{-}\nobreak\hspace{0pt}+. +\end{commands} + +The spaces inserted by \sym{-} and \sym{\textbar} can be +customized. +\begin{options} + \keyval{hyphen-pre-space}{dim}\Module{nomenclature}\Default{.01em} + Set the space that is inserted before the hyphen set with \sym{-}. + \keyval{hyphen-post-space}{dim}\Module{nomenclature}\Default{-.03em} + Set the space that is inserted after the hyphen set with \sym{-}. + \keyval{break-space}{dim}\Module{nomenclature}\Default{.01em} + Set the space inserted by \sym{\textbar}. +\end{options} + +The command \cs{iupac} serves another purpose, too, however. Regardless of +the setting of the \option{iupac} option (see below) all the commands +presented in this section are always defined \emph{inside} \cs{iupac}. Quite +a number of the naming commands have very general names: \cs{meta}, \cs{D}, +\cs{E}, \cs{L}, \cs{R}, \cs{S}, \cs{trans} and so forth\footnote{Please read + section~\vref{sec:one-letter-commands} before you consider using the + one-letter commands}. This means they either are predefined already (\cs{L} +\L) or are easily defined by another package or class (the \pkg{cool} package +defines both \cs{D} and \cs{E}, for example). In order to give you control +which commands are defined in which way, there is the option \option{iupac}: +\begin{options} + \keychoice{iupac}{auto,restricted,strict}\Module{nomenclature}\Default{auto} + Take care of how \ac{iupac} naming commands are defined. +\end{options} +It has three modes: +\begin{itemize} + \item \keyis{iupac}{auto}: if the commands are \emph{not} defined by any + package or class you're using they are available generally, otherwise only + \emph{inside} \cs{iupac}. + \item \keyis{iupac}{restricted}: all naming commands are \emph{only} defined + inside \cs{iupac}. If the commands are defined by another package they of + course have that meaning outside. They're not defined outside otherwise. + \item \keyis{iupac}{strict}: \chemmacros\ overwrites any other definition and + makes the commands available throughout the document. Of course the + commands can be redefined (but only in the document body). They will still + be available inside \cs{iupac} then. +\end{itemize} +Table~\vref{tab:iupac_modes} demonstrates the different modes. + +\begin{table} + \centering + \caption{Demonstration of \option*{iupac}'s modes.}\label{tab:iupac_modes} + \begin{tabular}{lccc} + \toprule + & auto & restricted & strict \\ + \midrule + \cs{L} & \L & \L & \iupac{\L} \\ + \cs{iupac}\Marg{\cs{L}} & \iupac{\L} & \iupac{\L} & \iupac{\L} \\ + \cs{D} & \D & --- & \D \\ + \cs{iupac}\Marg{\cs{D}} & \iupac{\D} & \iupac{\D} & \iupac{\D} \\ + \bottomrule + \end{tabular} +\end{table} + +\subsubsection{Macros Defined (Not Only) For Usage in \cs*{iupac}} + +\paragraph{One-letter Macros}\label{sec:one-letter-commands} +For some of the macros explained in this section one-letter commands are +defined -- with a \latin{caveat} in mind, though: they are not actively +recommended. One-letter commands seldomly have meaningful names and often +they've also been defined by other packages. This means they make +collaboration more difficult than it needs to be and are a source for package +conflicts. \chemmacros\ solves the latter problem by only providing them +inside the argument of \cs{iupac}. The one exception \chemmacros\ makes is +the command \cs{p} (for things like \pH) which is and will remain an official +command (see section~\vref{sec:acid-base-module}). For all other one-letter +macros alternatives with more meaningful names exist. + +\paragraph{Greek Letters}\label{par:greek_letters} + +Greek letters in compound names are typeset upright. Here are a few examples +for the existing macros: +\begin{commands} + \command{chemalpha}[\quad\chemalpha] + Upright lowercase alpha + \command{chembeta}[\quad\chembeta] + Upright lowercase alpha + \command{chemgamma}[\quad\chemgamma] + Upright lowercase alpha + \command{chemdelta}[\quad\chemdelta] + Upright lowercase alpha +\end{commands} +There exist two commands for each of the twenty-four Greek letters: a +lowercase and an uppercase version (\cs{chemalpha} and \cs{chemAlpha}). Those +commands are actually provided by the \chemgreek\ package. For more details +read section~\vref{sec:greek-module} and also refer to \chemgreek's +documentation. + +There are a number of one-letter commands that some people may find convenient +to use which use above mentioned commands to print Greek letters inside +\cs{iupac}. They're listed in table~\vref{tab:iupac-greek-shortcuts}. + +\begin{table} + \centering + \caption{\acs*{iupac} shortcuts for Greek letters.} + \label{tab:iupac-greek-shortcuts} + \begin{tabular}{*9l} + \toprule + macro & + \cs{a} & \cs{b} & \cs{g} & \cs{d} & + \cs{k} & \cs{m} & \cs{n} & \cs{w} \\ + \midrule + letter & + \iupac{\a} & \iupac{\b} & \iupac{\g} & \iupac{\d} & + \iupac{\k} & \iupac{\m} & \iupac{\n} & \iupac{\w} \\ + \bottomrule + \end{tabular} +\end{table} + +\begin{example} + \iupac{5\chemalpha-androstan-3\chembeta-ol} \par + \iupac{\chemalpha-(tri|chloro|methyl)-\chemomega + -chloro|poly(1,4-phenylene|methylene)} +\end{example} + +\paragraph{Hetero Atoms and added Hydrogen} + +Attachments to hetero atoms and added hydrogen atoms are indicated by italic +letters~\cite{iupac:greenbook}. \chemmacros\ defines a few macros for the +most common ones. +\begin{commands} + \iupaccs[H]{hydrogen}{The italic H for hydrogen.} + \iupaccs[O]{oxygen}{The italic O for oxygen.} + \iupaccs[N]{nitrogen}{The italic N for nitrogen.} + \iupaccs[Sf]{sulfur}{The italic S for sulfur.} + \iupaccs[P]{phosphorus}{The italic P for phosphorus.} +\end{commands} +\begin{example}[side-by-side] + \iupac{\nitrogen-methyl|benz|amide} + + \iupac{3\hydrogen-pyrrole} + + \iupac{\oxygen-ethyl hexanethioate} +\end{example} + +\paragraph{Cahn-Ingold-Prelog}\label{par:cip} +\begin{commands} + \command{cip}[\marg{conf}] + Typeset Cahn-Ingol-Prelog descriptors, \eg: \cs{cip}\Marg{R,S} + \cip{R,S}. \meta{conf} may be a csv list of entries. + \iupaccs[R]{rectus}{The rectus descriptor.} + \iupaccs[S]{sinister}{The sinister descriptor.} +\end{commands} + +Both these commands and the entgegen/zusammen descriptors get a small +additional amount of kerning after the closing parenthesis. This amount can +be changed through the following option: +\begin{options} + \keyval{cip-kern}{dim}\Module{nomenclature}\Default{.075em} + Set the amount of kerning after the closing parenthesis. +\end{options} +The entries typeset by and implemented with \cs{cip} can be customized +further: +\begin{options} + \keyval{cip-outer-format}{format}\Default{\cs*{upshape}} + \sinceversion{5.8}The format of parentheses and commas typeset by + \cs{cip}. + \keyval{cip-inner-format}{format}\Default{\cs*{itshape}} + \sinceversion{5.8}The format of the entries in \cs{cip}. This format + works additive to the outer format. + \keyval{cip-number-format}{format}\Default{\cs*{itshape}} + \sinceversion{5.8}The format of numbers in \cs{cip}. This format works + additive to the outer format and is applied to arabic figures only. +\end{options} + +\paragraph{Fischer} +\begin{commands} + \iupaccs[D]{dexter}{The dexter descriptor.} + \iupaccs[L]{laevus}{The laevus descriptor.} +\end{commands} + +\paragraph{cis/trans, zusammen/entgegen, syn/anti \& tert} +\begin{itemize} + \item \cs{cis} \iupac{\cis} \quad \cs{trans} \iupac{\trans} + \item \cs{fac} \iupac{\fac} \quad \cs{mer} \iupac{\mer} + \item \cs{sin} \iupac{\sin} \quad \cs{ter} \iupac{\ter} + \item \cs{zusammen} \iupac{\zusammen} \quad \cs{entgegen} \iupac{\entgegen} + \item \cs{syn} \iupac{\syn} \quad \cs{anti} \iupac{\anti} + \item \cs{tert} \iupac{\tert} +\end{itemize} +An alias for \cs{entgegen} is \cs{E} and an alias for \cs{zusammen} is +\cs{Z}. + +\paragraph{ortho/meta/para} +\begin{center} + \cs{ortho} \iupac{\ortho} \quad + \cs{meta} \iupac{\meta} \quad + \cs{para} \iupac{\para} +\end{center} + +Although these commands are provided I like to cite +\citetitle{iupac:bluebook}~\cite{iupac:bluebook}: + +\begin{cnltxquote}[{\cite[][p.\,90]{iupac:bluebook}}] + The letters \iupac{\ortho}, \iupac{\meta}, and \iupac{\para} have been used + in place of \textit{ortho}, \textit{meta}, and \textit{para}, respectively, + to designate the 1,2-, 1,3-, and 1,4- isomers of disubstituted benzene. + This usage is strongly discouraged and is not used in preferred \acs{iupac} + names. +\end{cnltxquote} + +\paragraph{Absolute Configuration} +\begin{commands} + \command{Rconf}[\oarg{letter}] + \cs{Rconf}: \Rconf \quad \cs{Rconf}\oarg{}: \Rconf[] + \command{Sconf}[\oarg{letter}] + \cs{Sconf}: \Sconf \quad \cs{Sconf}\oarg{}: \Sconf[] +\end{commands} + +\paragraph{Coordination Chemistry} + +\chemmacros\ provides a few commands useful in coordination chemistry: +\begin{commands} + \command{bridge}[\marg{num}\quad\bridge{3}] + Denote bridging ligand connection. + \command{hapto}[\marg{num}\quad\hapto{5}] + Denote hapticity. + \command{dento}[\marg{num}\quad\dento{2}] + Denote denticity. +\end{commands} +\begin{example} + Ferrocene = \iupac{bis(\hapto{5}cyclo|penta|dienyl)iron} \par + \iupac{tetra-\bridge{3}iodido-tetrakis[tri|methyl|platinum(IV)]} +\end{example} + +Two options allow customization: +\begin{options} + \keychoice{bridge-number}{sub,super}\Module{nomenclature}\Default{sub} + Appends the number as a subscript or superscript, depending on the choice. + The \ac{iupac} recommendation is the subscript~\cite{iupac:redbook}. + \keybool{coord-use-hyphen}\Module{nomenclature}\Default{true} + Append a hyphen to \cs{hapto}, \cs{dento} and \cs{bridge} or don't. +\end{options} + +The default behaviour\sinceversion{5.8} of \cs{hapto} and \cs{dento} has +changed with version~5.8 to follow \ac{iupac} recommendations. + +\paragraph{Examples} +\begin{example} + \iupac{\dexter-Wein|s\"aure} = + \iupac{\cip{2S,3S}-Wein|s\"aure} \par + \iupac{\dexter-($-$)-Threose} = + \iupac{\cip{2S,3R}-($-$)-2,3,4-Tri|hydroxy|butanal} \par + \iupac{\cis-2-Butene} = + \iupac{\zusammen-2-Butene}, \par + \iupac{\cip{2E,4Z}-Hexa|diene} \par + \iupac{\meta-Xylol} = + \iupac{1,3-Di|methyl|benzene} +\end{example} + +\subsubsection{Own \cs*{iupac} Macros And Shorthands} + +If you find any commands missing you can define them using +\begin{commands} + \command{NewChemIUPAC}[\marg{cs}\marg{declaration}] + Define a new \ac{iupac} command that is in any case defined inside of + \cs{iupac} regardless if \meta{cs} is defined elsewhere already. + \command{ProvideChemIUPAC}[\marg{cs}\marg{declaration}] + Define a new \ac{iupac} command that is in any case defined inside of + \cs{iupac} regardless if \meta{cs} is defined elsewhere already only if + the corresponding \ac{iupac} macro is not defined, yet. + \command{RenewChemIUPAC}[\marg{cs}\marg{declaration}] + Redefine an existing \ac{iupac} command that is in any case defined inside + of \cs{iupac} regardless if \meta{cs} is defined elsewhere already. + \command{DeclareChemIUPAC}[\marg{cs}\marg{declaration}] + Define a new \ac{iupac} command that is in any case defined inside of + \cs{iupac} regardless if \meta{cs} is defined elsewhere already. This + silently overwrites an existing \ac{iupac} macro definition. + \command{LetChemIUPAC}[\marg{cs1}\marg{cs2}] + Defines \meta{cs1} to be an alias of \meta{cs2}. +\end{commands} +A command defined in this way will obey the setting of the option +\option{iupac}. This means any existing command is only overwritten with +\keyis{iupac}{strict}. However, \cs{NewChemIUPAC} will \emph{not} change the +definition of an existing \ac{iupac} naming command but issue an error if the +\ac{iupac} naming command already exists. \cs{DeclareChemIUPAC} \emph{will} +overwrite an existing \ac{iupac} command. +\begin{example} + \NewChemIUPAC\endo{\textsc{endo}} + \RenewChemIUPAC\anti{\textsc{anti}} + \iupac{(2-\endo,7-\anti)-2-bromo-7-fluoro|bicyclo[2.2.1]heptane} +\end{example} + +\cs{RenewChemIUPAC} allows you to redefine the existing \ac{iupac} naming +commands. +\begin{example}[side-by-side] + \iupac{\meta-Xylol} \par + \RenewChemIUPAC\meta{\textup{m}} + \iupac{\meta-Xylol} +\end{example} + +There's also a way for defining new \ac{iupac} shorthands or changing the +existing ones: +\begin{commands} + \command{NewChemIUPACShorthand}[\meta{shorthand token}\meta{control sequence}] + Defines a new \ac{iupac} shorthand. Inside \cs{iupac} it will be equal to + using \meta{control sequence}. This throws an error if \meta{shorthand + token} is already defined. + \command{RenewChemIUPACShorthand}[\meta{shorthand token}\meta{control sequence}] + Redefines an existing \ac{iupac} shorthand. This throws an error if + \meta{shorthand token} is not defined, yet. + \command{DeclareChemIUPACShorthand}[\meta{shorthand token}\meta{control sequence}] + Defines a new \ac{iupac} shorthand or redefines an existing one. + \command{ProvideChemIUPACShorthand}[\meta{shorthand token}\meta{control sequence}] + Provides a new \ac{iupac} shorthand. Does nothing if \meta{shorthand + token} is already defined. + \command{RemoveChemIUPACShorthand}[\meta{shorthand token}] + Deletes an existing \ac{iupac} shorthand. +\end{commands} + +\subsubsection{Latin Phrases} + +\chemmacros\ provides a command for typesetting latin phrases: +\begin{commands} + \command{latin}[\oarg{options}\marg{phrase}] + Typesets \meta{phrase} according to the option \option{format} described + below. + \command{insitu}[\quad\insitu] + \command{invacuo}[\quad\invacuo] + \command{abinitio}[\quad\abinitio] +\end{commands} + +If you additionally load \pkg{chemstyle}~\cite{pkg:chemstyle} said package +will \emph{not} define its own \cs{latin}. + +The last three commands mentioned above are defined through +\begin{commands} + \command{NewChemLatin}[\marg{cs}\marg{phrase}] + Define a new latin phrase. Gives an error if \meta{cs} already exists. + \command{DeclareChemLatin}[\marg{cs}\marg{phrase}] + Define a new latin phrase. Silently redefined existing macros. + \command{RenewChemLatin}[\marg{cs}\marg{phrase}] + Redefine an existing latin phrase. Gives an error if \meta{cs} doesn't + exist. + \command{ProvideChemLatin}[\marg{cs}\marg{phrase}] + Define a new latin phrase only if \meta{cs} doesn't exist. +\end{commands} +\begin{example}[side-by-side] + \NewChemLatin\ltn{latin text}\ltn +\end{example} +You can change the appearance with this option: +\begin{options} + \keyval{format}{definition}\Module{nomenclature}\Default{\cs*{emph}} + \changedversion{5.7}Sets the format for the latin phrases. +\end{options} + +\subsection{The \chemmodule*{particles} Module}\label{sec:particles-module} + +The \chemmodule{particles} module loads the modules \chemmodule{charges} and +\chemmodule{chemformula}. + +\subsubsection{Provided Particle Macros} +The \chemmodule{particles} defines a number of macros which can be used for +typesetting common particles in the running text. Most of them don't make +much sense in \pkg{chemformula}~\cite{pkg:chemformula}'s \cs{ch}, though, +which doesn't mean that they can't be used there, of course: +\begin{center} + \cs{el} \el\ \cs{prt} \prt\ \cs{ntr} \ntr\ \cs{Hyd} \Hyd\ \cs{Oxo} \Oxo\ + \cs{water} \water\ \cs{El} \El\ \cs{Nuc} \Nuc\ \cs{ba} \ba +\end{center} +All of these macros are defined using \pkg{chemformula}'s \cs{chcpd}. The +details are explained in section~\vref{sec:defin-own-part}. + +The macros \cs{Nuc} and \cs{ba} are special: they have an optional argument +for the following options: +\begin{options} + \keychoice{elpair}{dots,dash,false}\Module{particles}\Default{false} + Determine how the electron pair of the nucleophiles is displayed. The + electron pair is drawn using \chemformula's \cs{chlewis} macro. + \keyval{space}{dim}\Module{particles}\Default{.1em} + Sets\sinceversion{5.3} the space that is inserted between the electron + pair and the negative charge sign. +\end{options} +Both options can of course also be set with \cs{chemsetup}. + +\begin{example}[side-by-side] + \ba[elpair=dots] \Nuc[elpair=dash] + + \chemsetup[particles]{elpair=false} + \ba\ \Nuc +\end{example} + +\subsubsection{Defining Own Particle Macros}\label{sec:defin-own-part} + +There are two sets of macros, one for defining particles and one for defining +nucleophiles. +\begin{commands} + \command{NewChemParticle}[\marg{cs}\marg{formula}] + Defines a new macro \meta{cs}. \meta{formula} is any valid \chemformula\ + input (this depends on the setting of the \option{formula} option, + see~\vref{sec:chemformula-module}). Raises an error if \meta{cs} already + exists. + \command{RenewChemParticle}[\marg{cs}\marg{formula}] + Redefines a new macro \meta{cs}. \meta{formula} is any valid \chemformula\ + input (this depends on the setting of the \option{formula} option, + see~\vref{sec:chemformula-module}). Raises an error if \meta{cs} doesn't + exist. + \command{DeclareChemParticle}[\marg{cs}\marg{formula}] + Defines a macro \meta{cs}. \meta{formula} is any valid \chemformula\ + input (this depends on the setting of the \option{formula} option, + see~\vref{sec:chemformula-module}). Silently overwrites \meta{cs} if it + exists. + \command{ProvideChemParticle}[\marg{cs}\marg{formula}] + Defines a new macro \meta{cs}. \meta{formula} is any valid \chemformula\ + input (this depends on the setting of the \option{formula} option, + see~\vref{sec:chemformula-module}). Does nothing if \meta{cs} already + exists. +\end{commands} +An example of usage is the definition of the existing particle macros: +\begin{sourcecode} + \NewChemParticle\el {e-} + \NewChemParticle\prt{p+} + \NewChemParticle\ntr{n^0} +\end{sourcecode} + +The following set defines macros like \cs{Nuc} +\begin{commands} + \command{NewChemNucleophile}[\marg{cs}\marg{formula}] + Defines a new macro \meta{cs}. \meta{formula} is any valid \chemformula\ + input (this depends on the setting of the \option{formula} option, + see~\vref{sec:chemformula-module}). Note that \meta{formula} will get a + trailing negative charge! Raises an error if \meta{cs} already exists. + \command{RenewChemNucleophile}[\marg{cs}\marg{formula}] + Redefines a new macro \meta{cs}. \meta{formula} is any valid \chemformula\ + (this depends on the setting of the \option{formula} option, + see~\vref{sec:chemformula-module}). Note that \meta{formula} will get a + trailing negative charge! Raises an error if \meta{cs} doesn't exist. + \command{DeclareChemNucleophile}[\marg{cs}\marg{formula}] + Defines a macro \meta{cs}. \meta{formula} is any valid \chemformula\ + (this depends on the setting of the \option{formula} option, + see~\vref{sec:chemformula-module}). Note that \meta{formula} will get a + trailing negative charge! Silently overwrites \meta{cs} if it exists. + \command{ProvideChemNucleophile}[\marg{cs}\marg{formula}] + Defines a new macro \meta{cs}. \meta{formula} is any valid \chemformula\ + (this depends on the setting of the \option{formula} option, + see~\vref{sec:chemformula-module}). Note that \meta{formula} will get a + trailing negative charge! Does nothing if \meta{cs} already exists. +\end{commands} +An example of usage is the definition of the existing nucleophile macros: +\begin{sourcecode} + \NewChemNucleophile\Nuc{Nu} + \NewChemNucleophile\ba {ba} +\end{sourcecode} +A macro defined this way will have an optional argument for the +\option{elpair} option. + +\subsection{The \chemmodule*{phases} Module}\label{sec:phases-module} + +The \chemmodule{phases} module loads the \chemmodule{chemformula} modul. + +\subsubsection{Basics} + +These commands are intended to indicate the phase of a compound. +\begin{center} + \cs{sld} \sld \quad \cs{lqd} \lqd \quad \cs{gas} \gas \quad \cs{aq} \aq +\end{center} +\begin{example} + \ch{C\sld{} + 2 H2O\lqd{} -> CO2\gas{} + 2 H2\gas}\par + To make it complete: NaCl\aq. +\end{example} + +The \ac{iupac} recommendation to indicate the state of aggregation is to put +it in parentheses after the compound \cite{iupac:greenbook}. However, you +might want to put it as a subscript which is also very common. + +\begin{cnltxquote}[{\citetitle{iupac:greenbook}~\cite[][p.\,54]{iupac:greenbook}}] + The \textelp{} symbols are used to represent the states of aggregation of + chemical species. The letters are appended to the formula in parentheses + and should be printed in Roman (upright) type without a full stop (period). +\end{cnltxquote} + +There are two options to customize the output: +\begin{options} + \keychoice{pos}{side,sub}\Module{phases}\Default{side} + Switch the position of the phase indicator. + \keyval{space}{dim}\Module{phases}\Default{.1333em} + Change the default spacing between compound a phase indicator if + \keyis{pos}{side}. A \TeX\ dimension. +\end{options} +\begin{example} + \chemsetup[phases]{pos=sub} + \ch{C\sld{} + 2 H2O\lqd{} -> CO2\gas{} + 2 H2\gas}\par + To make it complete: NaCl\aq. +\end{example} + +All those phase commands have an optional argument: +\begin{example}[side-by-side] + \ch{H2O "\lqd[\SI{5}{\celsius}]"} +\end{example} + +There is also a generic phase command: +\begin{commands} + \command{phase}[\marg{phase}] + If you need a phase indicator just once or twice. You can use it to + denote a phase for which there is no phase command, yet. +\end{commands} + +\subsubsection{Define Own Phases} +Depending on the subject of your document you might need to indicate other +states of aggregation. You can easily define them. +\begin{commands} + \command{NewChemPhase}[\marg{cs}\marg{symbol}] + Define a new phase command. See section~\vref{sec:lang-depend} for a way + to define language dependent settings. Gives an error if \meta{cs} + already exists. + \command{DeclareChemPhase}[\marg{cs}\marg{symbol}] + Define a new phase command. See section~\vref{sec:lang-depend} for a way to + define language dependent settings. Overwrites previous definitions of + \meta{cs}. + \command{RenewChemPhase}[\marg{cs}\marg{symbol}] + Redefine an existing phase command. See section~\vref{sec:lang-depend} for + a way to define language dependent settings. Gives an error if \meta{cs} + is not defined. + \command{ProvideChemPhase}[\marg{cs}\marg{symbol}] + Define a new phase command. See section~\vref{sec:lang-depend} for a way + to define language dependent settings. Does nothing if \meta{cs} is + already defined. +\end{commands} + +\begin{example} + % preamble: + \NewChemPhase\aqi{aq,$\infty$} % aqueous solution at infinite dilution + \NewChemPhase\cd {cd} % condensed phase + \NewChemPhase\lc {lc} % liquid crystal + \ch{NaOH\aqi} \ch{H2O\cd} \ch{U\phase{cr}} \ch{A\lc}\par + \chemsetup[phases]{pos=sub} + \ch{NaOH\aqi} \ch{H2O\cd} \ch{U\phase{cr}} \ch{A\lc} +\end{example} + +\subsubsection{Language Dependencies}\label{sec:lang-depend} +For each phase command a translation into the custom language can be defined. +If a phase is declared with \cs{NewChemPhase} no translation exists and +for every \pkg{babel} language the literal string is used that was provided +as a definition. Let's say you define the phase +\begin{sourcecode} + \NewChemPhase\liquid{l} +\end{sourcecode} +and want to add the German translation ``f\/l''. Then you could do +\begin{sourcecode} + \DeclareTranslation{German}{phase-liquid}{f\/l} +\end{sourcecode} +This way, when you use it in a German document using the appropriate +\pkg{babel} option using \cs*{liquid} would correctly translate. For this the +package \pkg{translations}~\cite{pkg:translations} is used. The \acs{id} +always is \code{phase-\meta{csname}} where \meta{csname} is the name of the +phase command you defined without leading backslash. + +See section~\vref{sec:lang-module} for predefined translations and general +language options of \chemmacros. + +\subsection{The \chemmodule*{symbols} Module}\label{sec:symbols-module} + +The \chemmodule{symbols} module defines a few symbols chemists need now and +then. It loads the package \pkg{amstext}~\cite{pkg:amstext}. +\begin{commands} + \command{transitionstatesymbol} + This is self-explaining: \transitionstatesymbol + \command{standardstate} + Again self-explaining: \standardstate + \command{changestate} + The uppercase delta used in \state[superscript=]{H} for example. +\end{commands} + +\section{Internal Modules} +\subsection{The \chemmodule*{base} Module}\label{sec:base-module} + +The \chemmodule{base} module is the core module of \chemmacros. It defines +some tools which can (and should) be used in other modules. This means this +section is only interesting for you if you plan to write a module yourself +(see section~\vref{sec:own-modules} for details). + +This module requires the packages \pkg{bm}~\cite{pkg:bm}, +\pkg{amstext}~\cite{pkg:amstext}, and \pkg{etoolbox}~\cite{pkg:etoolbox}. + +This module also provides \cs{chemsetup} and the option \option{modules}. + +It also provides a number of (expl3) macros which may be used in other +modules. In the macro descriptions below \TF\ denotes that a \code{T}, an +\code{F} and a \code{TF} variant exist. In case of an expandable conditional +(\expandablesymbol) also the predicate variant is available. +\begin{commands} + \expandable\explcommand{chemmacros_if_loaded:nn}[\TF\ + \Marg{package|class} \marg{name} \marg{true} \marg{false}] + Checks if package (or class) \meta{name} has been loaded. Also works after + begin document. + \expandable\explcommand{chemmacros_if_package_loaded:n}[\TF\ \marg{name} + \marg{true} \marg{false}] + Checks if package \meta{name} has been loaded. Also works after begin + document. + \expandable\explcommand{chemmacros_if_class_loaded:n}[\TF\ \marg{name} + \marg{true} \marg{false}] + Checks if class \meta{name} has been loaded. Also works after begin + document. + \explcommand{chemmacros_nobreak:} + Inserts a penalty of \num{10000}. + \explcommand{chemmacros_allow_break:} + Inserts a penalty of \num{0}. + \explcommand{chemmacros_skip_nobreak:N}[ \meta{skip/length variable}] + Insert a horizontal skip where a linebreak is disallowed. + \expandable\explcommand{chemmacros_if_is_int:n}[\TF\ \marg{input} \marg{true} + \marg{false}] + Checks if \meta{input} is an integer or something else. + \explcommand{chemmacros_if_bold:}[\TF\ \marg{true} \marg{false}] + Checks if the current font weight is one of \chemboldchecks{or}. + \explcommand{chemmacros_bold:n}[ \marg{text}] + Checks if the current font weight is bold and if yes places \meta{text} in + \cs*{textbf} if in text mode or in \cs*{bm} if in math mode. If no + \meta{text} simply is placed in the input stream as is. + \explcommand{chemmacros_text:n}[ \marg{text}] + Ensures that \meta{text} is placed in text mode. + \explcommand{chemmacros_math:n}[ \marg{text}] + Ensures that \meta{text} is placed in math mode. + \explcommand{chemmacros_new_macroset:nnn}[ \marg{name} \marg{arg spec} + \marg{internal command call}] + \changedversion{5.3b}A command to define a set of macros + \cs*{NewChem\meta{name}}, \cs*{RenewChem\meta{name}}, + \cs*{DeclareChem\meta{name}} and \cs*{ProvideChem\meta{name}} where the + first letter of \meta{name} is converted to uppercase, other letters are + kept unchanged. \meta{arg spec} is any valid argument specification for + \pkg{xparse}'s \\ + \cs{DeclareDocumentCommand}~\cite{bnd:l3packages}. \meta{internal command + call} should be a macro which makes definitions \emph{without} error + checks, \ie, define new macros or redefine existing ones like \cs*{def} + does. This macro just should get the arguments passed on to. Have a look + at the example below. + \explcommand{chemmacros_new_environment_macroset:nnn}[ \marg{name} \marg{arg spec} + \marg{internal command call}] + Like \explcs{chemmacros_new_macroset:nnn} but for environments. + \command{NewChemMacroset}[\sarg\marg{name}\marg{arg spec}\marg{internal + command call}] + A non-expl3 version of \explcs{chemmacros_new_macroset:nnn} for \LaTeXe\ + programmers. The starred version calls + \explcs{chemmacros_new_environment_macroset:nnn}. + \explcommand{chemmacros_add_cleveref_support:nnnnn}[ \marg{counter} + \marg{singular} \marg{plural} \marg{uppercase singular} \marg{uppercase + plural}] + A\sinceversion{5.6} command to add suiting names for a counter for the + \pkg{cleveref} package's \cs*{cref} commands. This command acts at the + end of the preamble and only if a user hasn't provided definitions with + \cs*{crefname} already. + \command{ChemCleverefSupport}[\marg{counter}\marg{singular}\oarg{uppercase + singular}\marg{plural}\oarg{uppercase plural}] + \sinceversion{5.6}\LaTeXe-version of + \explcs{chemmacros_add_cleveref_support:nnnnn}. + \explcommand{chemmacros_add_fancyref_support:nnn}[ \marg{prefix} \marg{name} + \marg{uppercase name}] + A\sinceversion{5.6} command to add suiting names for a counter for the + \pkg{fancyref} package's \cs*{fref} commands. This command acts at the + end of the preamble and doesn't override definitions made by the users. + \command{ChemFancyrefSupport}[\marg{prefix}\marg{name}\oarg{uppercase name}] + \sinceversion{5.6}\LaTeXe-version of + \explcs{chemmacros_add_fancyref_support:nnnnn}. +\end{commands} +This is how the macros \cs{NewChemParticle}, \cs{RenewChemParticle}, +\cs{DeclareChemParticle} and \cs{ProvideChemParticle} were defined: +\begin{sourcecode} + \NewChemMacroset {Particle} {mm} + { \chemmacros_define_particle:Nn #1 {#2} } +\end{sourcecode} + +The following macros strictly speaking are not provided by the +\chemmodule{base} module but this place fits best for their description. +\begin{commands} + \expandable\explcommand{chemmacros_if_module_exist:n}[\TF\ \marg{module} + \marg{true} \marg{false}] + Checks if a file with the correct name for a module \meta{module} can be + found. + \expandable\explcommand{chemmacros_if_module_loaded:n}[\TF\ \marg{module} + \marg{true} \marg{false}] + Checks if the module \meta{module} has already been loaded or not. + \explcommand{chemmacros_load_module:n}[ \marg{module}] + Loads module \meta{module} if it hasn't been loaded, yet. + \explcommand{chemmacros_load_modules:n}[ \marg{csv list of modules}] + Loads every module in \meta{csv list of modules} if they haven't been + loaded, yet. This is the code level variant of \cs{usechemmodule}. + \explcommand{chemmacros_before_module:nn}[ \marg{module} \marg{code}] + Saves\sinceversion{5.1} \meta{code} and inserts it right before + \meta{module} is loaded. If \meta{module} is never loaded then + \meta{code} is never inserted. If \meta{module} already is loaded when + the command is used then \meta{code} also is never inserted. + \explcommand{chemmacros_after_module:nn}[ \marg{module} \marg{code}] + Saves\sinceversion{5.1} \meta{code} and inserts it right after + \meta{module} is loaded. If \meta{module} is never loaded then + \meta{code} is never inserted. If \meta{module} already is loaded when + the command is used then \meta{code} is inserted immediately. +\end{commands} + +\subsection{The \chemmodule*{chemformula} Module}\label{sec:chemformula-module} + +The \chemmodule{chemformula} module loads the \pkg{amstext} +package~\cite{pkg:amstext} and the \chemmodule{charges} module. + +\subsubsection{For Users} +There are different packages which provide means for typesetting chemical +formulas: +\begin{itemize} + \item \pkg{chemformula}~\cite{pkg:chemformula}. This is probably well known + to users of \chemmacros. + \item \pkg{mhchem}~\cite{pkg:mhchem}. This is the \enquote{older brother} of + \chemformula. + \item \pkg{chemfig}~\cite{pkg:chemfig}. The easiest and most complete of the + packages for drawing skeletal formulas. + \item \XyMTeX~\cite{pkg:xymtex}. A very comprehensive alternative for + typesetting chemistry. +\end{itemize} +In order to help authors getting a consistent layout \chemmacros\ does not +make a choice which package to use for typesetting formulas. Although +\chemformula\ is well tested and preferred users can choose other packages if +they like. + +this is done with the following general option: +\begin{options} + \keyval{formula}{method}\Default{chemformula} + This\sinceversion{5.1} option let's you choose how chemical formulas are + typeset. Available methods are + \begin{itemize} + \item \pkg{chemformula} + \item \pkg{mhchem} + \item \pkg{chemist}\sinceversion{5.6} (from the \XyMTeX\ bundle) + \item \pkg{chemfig}\sinceversion{5.6} + \end{itemize} + The corresponding package with the same name is loaded. +\end{options} +If you explicitly set this option the corresponding package is loaded +immediately and the method is set up. Otherwise the option will be set by +\chemmacros\ at the end of the preamble. + +If\sinceversion{5.2} you load a method package in a way that a unique choice +is possible then \chemmacros\ will set the method accordingly if you haven't +set the option by yourself. If \emph{no} unique choice is possible +\chemmacros\ will raise a warning and choose \pkg{chemformula} regardless if +the package is loaded or not. In this case if you want to use another method +you'll have to choose manually. \emph{All automatic choices only happen at the + end of the preamble}. + +\paragraph{Using the \pkg*{chemformula} Package} +If you set \keyis{formula}{chemformula} the \chemmodule{chemformula} module +makes it possible that you can set all \chemformula\ options via the +\cs{chemsetup} command using the module \module{chemformula}, for example: +\begin{sourcecode} + \chemsetup[chemformula]{format=\sffamily} +\end{sourcecode} + +Everywhere where \chemmacros\ typesets chemical formulas \chemformula's macros +\cs{chcpd} or \cs{ch} are used, for example in the reaction environments +provided by the \chemmodule{reactions} module. + +\emph{This method is the recommended choice!} + +\paragraph{Using the \pkg*{mhchem} Package}\sinceversion{5.1}\label{sec:using-mhchem} +If you set \keyis{formula}{mhchem} the \chemmodule{chemformula} module makes +it possible that you can set all of \pkg{mhchem}'s options via the +\cs{chemsetup} command using the module \module{mhchem}, for example: +\begin{sourcecode} + \chemsetup[mhchem]{format=\sffamily} +\end{sourcecode} + +Everywhere where \chemmacros\ typesets chemical formulas \pkg{mhchem}'s macro +\cs{ce} is used, for example in the reaction environments provided by the +\chemmodule{reactions} module. + +There are some \latin{caveat}s if you use this method: +\begin{itemize} + \item This method has not been extensively tested, yet. There may be errors + and wrong output at unexpected places. + \item Using this method effectively disables the different values of the + \module{particles} option \option{elpair} (see + section~\ref{sec:particles-module}). + \item The different kinds of formal charges provided by the + \chemmodule{charges} module (see section~\ref{sec:ion-charges}) are + disabled. Formal charges always use the math method now. + \item There may also be other incompatibilities (\eg, \pkg{mhchem} has it's + own method of setting upright Greek letters so it may or may not disable + \chemmacros' mechanism). +\end{itemize} + +\paragraph{Using the \pkg*{chemfig} Package}\sinceversion{5.6}\label{sec:using-chemfig} +Everywhere where \chemmacros\ typesets chemical formulas \pkg{chemfig}'s macro +\cs{printatom} is used, for example in the reaction environments provided by +the \chemmodule{reactions} module. + +There are some \latin{caveat}s if you use this method: +\begin{itemize} + \item This method has not been extensively tested, yet. There may be errors + and wrong output at unexpected places. + \item Using this method effectively disables the different values of the + \module{particles} option \option{elpair} (see + section~\ref{sec:particles-module}). + \item The different kinds of formal charges provided by the + \chemmodule{charges} module (see section~\ref{sec:ion-charges}) are + disabled. Formal charges always use the math method now. + \item The reaction environments by the \chemmodule{reactions} module may + work only to a limited respect. If you plan to use them consider using + methods \pkg{chemformula} or \pkg{mhchem} instead. +\end{itemize} + +\paragraph{Using the \pkg*{chemist} Package}\sinceversion{5.6}\label{sec:using-chemist} +Everywhere where \chemmacros\ typesets chemical formulas \pkg{chemist}'s macro +\cs{ChemForm} is used, for example in the reaction environments provided by +the \chemmodule{reactions} module. + +There are some \latin{caveat}s if you use this method: +\begin{itemize} + \item This method has not been extensively tested, yet. There may be errors + and wrong output at unexpected places. + \item Using this method effectively disables the different values of the + \module{particles} option \option{elpair} (see + section~\ref{sec:particles-module}). + \item The different kinds of formal charges provided by the + \chemmodule{charges} module (see section~\ref{sec:ion-charges}) are + disabled. Formal charges always use the math method now. + \item The reaction environments by the \chemmodule{reactions} module may + work only to a limited respect. If you plan to use them consider using + methods \pkg{chemformula} or \pkg{mhchem} instead\footnote{On the other + hand \XyMTeX\ (and especially the \pkg{chemist} package) provides quite + a number of chemical reaction environments itself.}. +\end{itemize} + +\subsubsection{For Module Writers} + +There are two macros for module writers: +\begin{commands} + \explcommand{chemmacros_chemformula:n}[ \marg{formula}] + This is only a wrapper for \cs{chcpd} or \cs{ce}. It is recommended that + module writers use this macro (or a variant thereof) inside of + \chemmacros' macros whenever they want to display a chemical formula. + Writers who prefer traditional \LaTeXe\ programming over expl3 should use + \cs*{chemmacros@formula}. + \explcommand{chemmacros_reaction:n}[ \marg{reaction}] + This is only a wrapper for \cs{ch} or \cs{ce}. It is recommended that + module writers use this macro (or a variant thereof) inside of + \chemmacros' macros whenever they want to display a chemical reaction. + Writers who prefer traditional \LaTeXe\ programming over expl3 should use + \cs*{chemmacros@reaction}. +\end{commands} + +\subsection{The \chemmodule*{errorcheck} Module}\label{sec:errorcheck-module} +The\sinceversion{5.2} \chemmodule{errorcheck} module provides some rudimentary +support for giving users more meaningful messages when they use a command or +environment provided by a module that they haven't loaded. + +\subsection{The \chemmodule*{greek} Module}\label{sec:greek-module} + +The \chemmodule{greek} module loads the \pkg{chemgreek} +package~\cite{pkg:chemgreek}. + +This module provides one option: +\begin{options} + \keyval{greek}{mapping} + A valid value is any valid \chemgreek\ \meta{mapping}. \chemmacros\ will + warn you if no mapping has been chosen or if you are using the + \code{default} or the \code{var-default} mapping because this means that + no upright Greek letters are available. +\end{options} +If you load a \chemgreek\ support package which allows an unambiguous choice +of a mapping \chemgreek\ will make this choice automatically. This means if +you say +\begin{sourcecode} + \usepackage{upgreek} + \usepackage{chemmacros} +\end{sourcecode} +then \chemmacros\ will use \pkg{upgreek}'s upright Greek letters. If you +have +\begin{sourcecode} + \usepackage{upgreek} + \usepackage{chemmacros} + \usepackage{textgreek} +\end{sourcecode} +then no unambiguous choice is possible and you should choose a mapping +yourself, for example: +\begin{sourcecode} + \usepackage{upgreek} + \usepackage{chemmacros} + \usepackage{textgreek} + \chemsetup{greek=textgreek} +\end{sourcecode} +For further details on mappings please refer to \chemgreek's manual. + +\subsection{The \chemmodule*{lang} Module}\label{sec:lang-module} + +The \chemmodule{lang} module provides language support for \chemmacros. It +loads the package \pkg{translations}~\cite{pkg:translations}. + +\subsubsection{Information For Users}\label{sec:information-users} + +This module defines the following option: +\begin{options} + \keychoice{language}{auto,\meta{language}}\Default{auto} + If set to \code{auto} \chemmacros\ will detect the language used by + \pkg{babel}~\cite{pkg:babel} or \pkg{polyglossia}~\cite{pkg:polyglossia} + automatically, the fallback translation is English and will be used if no + translation for the actual language is available. Any language known to + the \pkg{translations} package is a valid value for \meta{language}. +\end{options} + +The language chosen via \option{language} is used for translation of certain +strings in different places all over \chemmacros. They are mentioned in the +places when the corresponding function of \chemmacros\ is explained. + +Translation is done with the help of the \pkg{translations} package, available +translation keys are listed in section~\vref{sec:avail-transl-keys}. + +\subsubsection{Available Translation Keys}\label{sec:avail-transl-keys} + +Table~\vref{tab:translation-keys} lists all predefined translations of the +available keys. \emph{Some of the translations have changed in + version~5.6\changedversion{5.6}.} The \chemmodule{lang} module doesn't +provide the translations themselves -- they are provided by the corresponding +modules. A translation key is a unique string\footnote{That is, a string + using the definition for strings used for expl3, i.e., converted to a series + of category code~12 characters..} of characters. Each key is used to +identify a replacement text which depends on the current language or the +language set through the \option{language} option. For each key at least the +English fallback translation is provided, for most also the German translation +is provided. For a few keys also other translations are provided. If you +find that a translation for your language is missing you can provide it in the +preamble: +\begin{commands} + % \command{DeclareTranslation}[\marg{language}\marg{key}\marg{translation}] + % Defines a translation of key \meta{key} for the language \meta{language}. + % No error will be raised if a translation of \meta{key} already exists. + % This command can only be used in the preamble and is defined by the + % \pkg{translations} package. + \command{DeclareChemTranslation}[\marg{key}\marg{language}\marg{translation}] + \sinceversion{5.6}A command which makes an abstraction from the + \pkg{translations} package. It should be used in documents for adding + missing translations that are needed. This command can only be used in + the preamble. + \command{DeclareChemTranslations}[\marg{key}\Marg{\meta{language} = + \meta{translation}}] + \sinceversion{5.6}A command rather meant for module writers but can be + used by document authors as well, of course. It gets a csv list of + key\slash value pairs of translations. This command can only be used in + the preamble. +\end{commands} +If you send me an email (see section~\vref{sec:sugg-bug-reports}) with the +translations for your language I'll gladly add them to the next release of +\chemmacros! + +\emph{Please do not use \pkg{translations}' \cs{DeclareTranslation} for + declaring translations.} + +\ForAllChemTranslationsDo{ + \appto\chemtranslationtable{\texttt{#1} & #2 & \texttt{\detokenize{#3}} \\} +} + +\begin{longtable}{lll} + \caption{Translation keys predefined by \chemmacros\ (except + \code{phase-aqi}, \code{phase-cd} and \code{phase-lc} which were defined + in this document).} + \label{tab:translation-keys} \\ + \toprule + \bfseries key & \bfseries language & \bfseries translation \\ + \midrule + \endfirsthead + \toprule + \bfseries key & \bfseries language & \bfseries translation \\ + \midrule + \endhead + \bottomrule + \endlastfoot + \midrule + & & \hfill\emph{continues} \\ + \endfoot + \chemtranslationtable +\end{longtable} + +\subsubsection{Information For Module Writers} + +In addition to the commands from section~\vref{sec:avail-transl-keys} the +following macros are available: +\begin{commands} + \expandable\explcommand{chemmacros_translate:n}[ \marg{translation key}] + Translates the given key to the language which is detected automatically + or given by the user. Should be used in \chemmacros' macros instead of + \pkg{translations}' \cs*{GetTranslation}. + \explcommand{l_chemmacros_language_tl} + A token list variable that holds the language which is used by + \explcs{chemmacros_translate:n} for translation, \emph{after begin + document}. + \command{ChemTranslate}[\marg{translation key}] + A version of \explcs{chemmacros_translate:n} for those who prefer + traditional \LaTeXe\ programming over expl3. + \explcommand{chemmacros_declare_translation:nnn}[\marg{language}\marg{key}% + \marg{translation}] + The expl3 version of \cs{DeclareChemTranslation}. + \explcommand{chemmacros_declare_translations:nn}[\marg{key}\Marg{\meta{language} + = \meta{translation}}] + The expl3 version of \cs{DeclareChemTranslations}. +\end{commands} + +\clearpage + +\part{Additional Modules}\label{part:additional-modules} + +\section{User Modules} +\subsection{The \chemmodule*{all} \emph{pseudo}-module}\label{sec:all-module} + +The \chemmodule{all} module is a pseudo module: it doesn't define any +functionality at all. It does however load all other modules. So you can say +\begin{sourcecode} + \chemsetup{ modules = all } +\end{sourcecode} +to ensure that every module is available. This \emph{will not} load personal +modules! + +\subsection{The \chemmodule*{isotopes} Module}\label{sec:isotopes-module} + +The \chemmodule{isotope} module loads the \pkg{elements} +package~\cite{pkg:elements}. This module defines one user command: +\begin{commands} + \command{isotope}[\sarg\marg{input}] + \meta{input} can either be the \emph{symbol} of an element or the + \emph{name} of an element. Be aware that \emph{the name is language + dependent}, refer to the manual of the \pkg{elements} package for + details. To be on the safe side use the element symbol. + + \meta{input} can also be comma separated list: + \cs{isotope}\Marg{\meta{nuc},\meta{symbol}}. If you leave \meta{nuc} out + then \cs{isotope} will display the most common isotope. Otherwise + \meta{nuc} will be used. If \meta{nuc} is an isotope unknown to the + \pkg{elements} package \cs{isotope} will write a warning to the log file. + + The starred variant omits the element number. +\end{commands} + +\begin{example}[side-by-side] + \isotope{C} + \isotope*{C} + \isotope{14,C} + \isotope*{14,C} +\end{example} + +As input for the element symbol you can choose any of the elements known to +the \pkg{elements} package. + +There are options which allow you to determine how the isotope is printed: +\begin{options} + \keychoice{format}{super,side}\Module{isotopes}\Default{super} + Either print the isotope number as superscript or to the right of the + element symbol. + \keyval{side-connect}{input}\Module{isotopes}\Default{-} + Determine what is printed between the element symbol and the isotope + number if \keyis{format}{side}. +\end{options} + +\begin{example}[side-by-side] + \isotope{C} + \chemsetup[isotopes]{format=side} + \isotope{C} + \chemsetup[isotopes]{side-connect=} + \isotope{C} +\end{example} + +\subsection{The \chemmodule*{mechanisms} Module}\label{sec:mechanisms-module} + +The module \chemmodule{mechanisms} loads the package +\pkg{amstext}~\cite{pkg:amstext}. It provides one macro: + +\begin{commands} + \command{mech}[\oarg{type}] + Allows to specify the most common reaction mechanisms. +\end{commands} +\meta{type} can have one of the following values: +\begin{commands} + \command{mech} + (empty, no opt. argument) nucleophilic substitution \mech + \command{mech}[\Oarg{1}] + unimolecular nucleophilic substitution \mech[1] + \command{mech}[\Oarg{2}] + bimolecular nucleophilic substitution \mech[2] + \command{mech}[\Oarg{se}] + electrophilic substitution \mech[se] + \command{mech}[\Oarg{1e}] + unimolecular electrophilic substitution \mech[1e] + \command{mech}[\Oarg{2e}] + bimolecular electrophilic substitution \mech[2e] + \command{mech}[\Oarg{ar}] + electrophilic aromatic substitution \mech[ar] + \command{mech}[\Oarg{e}] + elimination \mech[e] + \command{mech}[\Oarg{e1}] + unimolecular elimination \mech[e1] + \command{mech}[\Oarg{e2}] + bimolecular elimination \mech[e2] + \command{mech}[\Oarg{cb}] + unimolecular elimination \enquote{conjugated base}, \ie, via carbanion + \mech[cb] +\end{commands} + +\subsection{The \chemmodule*{newman} Module}\label{sec:newman-module} +The \chemmodule{newman} module provides a command for drawing Newman +projections. It loads the \chemmodule{tikz} module. +\begin{commands} + \command{newman}[\oarg{options}\darg{angle}% + \Marg{\meta{1},\meta{2},\meta{3},\meta{4},\meta{5},\meta{6}}] + Create Newman projections. This command uses \TikZ\ internally. + \meta{angle} rotates the back atoms counter clockwise with respect to the + front atoms and is an optional argument. \meta{1} to \meta{6} are the + positions, the first three are the front atoms, the last three the back + atoms. +\end{commands} + +\begin{example} + \newman{} \newman(170){} + \newman{1,2,3,4,5,6} \newman{1,2,3} \newman{,,,4,5,6} +\end{example} + +Several options allow customization: +\begin{options} + \keyval{angle}{angle}\Module{newman}\Default{0} + Default angle. + \keyval{scale}{factor}\Module{newman}\Default{1} + Scale the whole projection by factor \meta{factor}. + \keyval{ring}{tikz}\Module{newman}\Default + Customize the ring with \TikZ\ keys. + \keyval{atoms}{tikz}\Module{newman}\Default + Customize the nodes within which the atoms are set with \TikZ\ keys. + \keyval{back-atoms}{tikz}\Module{newman}\Default + Explicitly customize the nodes of the back atoms with \TikZ\ keys. +\end{options} + +\begin{example} + \chemsetup[newman]{angle=45} \newman{} + \newman[scale=.75,ring={draw=blue,fill=blue!20}]{} +\end{example} + +\begin{example} + \chemsetup[newman]{atoms={draw=red,fill=red!20,inner sep=2pt,rounded corners}} + \newman{1,2,3,4,5,6} +\end{example} + +\begin{example} + \chemsetup[newman]{ + atoms = {draw=red,fill=red!20,inner sep=2pt,rounded corners}, + back-atoms = {draw=blue,fill=blue!20,inner sep=2pt,rounded corners} + } + \newman{1,2,3,4,5,6} \newman(170){1,2,3,4,5,6} +\end{example} + +\subsection{The \chemmodule*{orbital} Module}\label{sec:orbital-module} +The \chemmodule{orbital} module loads the \chemmodule{tikz} module. It +provides the following command to create orbitals: +\begin{commands} + \command{orbital}[\oarg{options}\marg{type}] + Draw an orbital shape of type \meta{type}. This command uses \TikZ\ + internally. +\end{commands} + +There are the following types available for \meta{type}: +\begin{center} + \code{s} \quad + \code{p} \quad + \code{sp} \quad + \code{sp2} \quad + \code{sp3} +\end{center} + +\begin{example} + \orbital{s} \orbital{p} \orbital{sp} \orbital{sp2} \orbital{sp3} +\end{example} + +Depending on the type you have different options to modify the orbitals: +\begin{options} + \keychoice{phase}{+,-}\Module{orbital}\Default{+} + changes the phase of the orbital (all types) + \keyval{scale}{factor}\Module{orbital}\Default{1} + changes the size of the orbital (all types) + \keyval{color}{color}\Module{orbital}\Default{black} + changes the color of the orbital (all types) + \keyval{angle}{angle}\Module{orbital}\Default{0} + rotates the orbitals with a p contribution counter clockwise (all types + except \code{s}) + \keybool{half}\Module{orbital}\Default{false} + displays only half an orbital (only \code{p}) +\end{options} + +\begin{example} + \orbital{s} \orbital[phase=-]{s} + \orbital{p} \orbital[phase=-]{p} + \orbital{sp3} \orbital[phase=-]{sp3} + + \orbital[angle=0]{p} \orbital[color=red!50]{p} + \orbital[angle=135,scale=1.5]{p} \orbital[half]{p} +\end{example} + +Additionally there are two options, with which the \TikZ\ behaviour can be +changed. +\begin{options} + \keybool{overlay}\Module{orbital} + The orbital \enquote{doesn't need space}; it is displayed with the \TikZ\ + option \code{overlay}. + \keyval{opacity}{num}\Module{orbital} + The orbital becomes transparent; \meta{value} can have values between + \code{1} (fully opaque) to \code{0} (invisible). +\end{options} +\begin{example} + \vspace{7mm} + \chemsetup[orbital]{ + overlay, + p/color = black!70 + } + \setchemfig{bond offset=0pt} + \chemfig{ + ?\orbital{p} + -[,1.3]{\orbital[phase=-]{p}} + -[:30,1.1]\orbital{p} + -[:150,.9]{\orbital[phase=-]{p}} + -[4,1.3]\orbital{p} + -[:-150,1.1]{\orbital[phase=-]{p}}? + } + \vspace{7mm} +\end{example} + +\begin{example} + \vspace{7mm} + \setchemfig{bond offset = 0pt} + \chemsetup[orbital]{ + overlay , + opacity = .75 , + p/scale = 1.6 , + s/color = blue!50 , + s/scale = 1.6 + } + \chemfig{ + \orbital{s} + -[:-20]{\orbital[scale=2]{p}} + {\orbital[half,angle=0]{p}} + {\orbital[angle=170,half]{p}} + {\orbital[angle=-150,half]{p}} + (-[:-150]\orbital{s})-\orbital{s} + } + \vspace{1cm} +\end{example} + +\subsection{The \chemmodule*{polymers} Module}\label{sec:polymers-module} +The\sinceversion{5.5} \chemmodule{polymers} module loads the +\chemmodule{nomenclature} and the \chemmodule{tikz} modules. + +\subsubsection{Nomenclature} + +The \chemmodule{polymers} module defines a number of \ac{iupac} macros for +usage inside \cs{iupac} which are used in polymer chemistry. + +\paragraph{Copolymers} +\begin{commands} + \iupaccs[co]{copolymer}{unspecified copolymer.} + \iupaccs[stat]{statistical}{statistical copolymer.} + \iupaccs[ran]{random}{random copolymer.} + \iupaccs[alt]{alternating}{alternating copolymer.} + \iupaccs[per]{periodic}{periodic copolymer.} + \iupaccs{block}{block copolymer.} + \iupaccs{graft}{graft copolymer.} +\end{commands} + +\paragraph{Non-linear (Co) Polymers and Polymer Assemblies} +\begin{commands} + \iupaccs{blend}{The blend qualifier.} + \iupaccs{comb}{The comb qualifier.} + \iupaccs[compl]{complex}{The complex qualifier.} + \iupaccs[cyclo]{cyclic}{The cyclic qualifier.} + \iupaccs{branch}{The branch qualifier.} + \iupaccs[net]{network}{The network qualifier.} + \iupaccs[ipn]{ipnetwork}{The interpenetrating network qualifier.} + \iupaccs[sipn]{sipnetwork}{The semi-interpenetrating network qualifier.} + \iupaccs{star}{The star qualifier.} +\end{commands} + +\subsubsection{Polymer Denotations in \pkg*{chemfig}'s Molecules} +The \pkg{chemfig} manual proposes some code defining the macros +\cs*{setpolymerdelim} and \cs*{makebraces} which make it possible to add +delimiters to \pkg{chemfig} molecules. The \chemmodule{polymers} module +implements the following macro based on the same idea: +\begin{commands} + \command{makepolymerdelims}[\oarg{options}\marg{height}\oarg{depth}\marg{opening + node}\marg{closing node}] + The value of \meta{depth} is the same as \meta{height} unless it is + specified explicitly. \meta{opening node} and \meta{closing node} are the + names of \TikZ' nodes where the delimites are placed. +\end{commands} +\begin{options} + \keychoice{delimiters}{\Marg{\meta{left}\meta{right}}}\Module{polymers}\Default{[]} + This option demands two tokens as argument, the first being the opening + brace, the second the closing brace. A dot (\code{.}) denotes an empty + delimiter. + \keyval{subscript}{subscript}\Module{polymers}\Default{\$n\$} + Subscript to the right delimiter. + \keyval{superscript}{superscript}\Module{polymers} + Superscript to the right delimiter. +\end{options} + +\begin{example} + \setchemfig{atom sep=2em} + \chemfig{-[@{op,.75}]CH_2-CH(-[6]Cl)-[@{cl,0.25}]} + \makepolymerdelims{5pt}[27pt]{op}{cl} + \chemfig{-[@{op,.75}]CH_2-CH(-[6]Cl)-[@{cl,0.25}]} + \makepolymerdelims[delimiters=()]{5pt}[27pt]{op}{cl} +\end{example} + +\subsection{The \chemmodule*{reactions} Module}\label{sec:reactions-module} +The \chemmodule{reactions} module loads the \chemmodule{chemformula} module +and the \pkg{mathtools} package~\cite{pkg:mathtools}. + +\subsubsection{Predefined Environments} + +You can use these environments for numbered\ldots +\begin{environments} + \environment{reaction} + A single reaction where \chemformula\ code is placed directly in the + environment body. A wrapper around the \env*{equation} environment. The + environment body is parsed with \cs{ch} or \cs{ce} depending on the value + of the \option{formula} option, see + section~\vref{sec:chemformula-module}. + \environment{reactions} + Several aligned reactions. A wrapper around \pkg{amsmath}'s \env*{align} + environment. The environment body is parsed with \cs{ch} or \cs{ce} + depending on the value of the \option{formula} option, see + section~\vref{sec:chemformula-module}. +\end{environments} + +\ldots and their starred versions for unnumbered reactions. +\begin{environments} + \environment{reaction*} + A wrapper around the \env*{equation*} environment. The environment body + is parsed with \cs{ch} or \cs{ce} depending on the value of the + \option{formula} option, see section~\vref{sec:chemformula-module}. + \environment{reactions*} + A wrapper around \pkg{amsmath}'s \env*{align*} environment. The + environment body is parsed with \cs{ch} or \cs{ce} depending on the value + of the \option{formula} option, see + section~\vref{sec:chemformula-module}. +\end{environments} + +With those environments you can create (un)numbered reaction equations similar +to mathematical equations. + +Theses environments use the \env*{equation}/\env*{equation*} environments or +the \env*{align}/\env*{align*} environments, respectively, to display the +reactions. + +\begin{example} + Reaction with counter: + \begin{reaction} + A -> B + \end{reaction} +\end{example} + +\begin{example} + Reaction without counter: + \begin{reaction*} + C -> D + \end{reaction*} +\end{example} + +\begin{example} + Several aligned reactions with counter: + \begin{reactions} + A &-> B + C \\ + D + E &-> F + \end{reactions} +\end{example} + +\begin{example} + Several aligned reactions without counter: + \begin{reactions*} + G &-> H + I \\ + J + K &-> L + \end{reactions*} +\end{example} + +If you want to change the layout of the counter tags, you can use +\begin{commands} + \command*{renewtagform}[\marg{tagname}\oarg{format}\marg{left + delimiter}\marg{right delimiter}] + Provided by the \pkg{mathtools} package. +\end{commands} +or use the following options: +\begin{options} + \keyval{tag-open}{left delimiter}\Module{reactions}\Default{\{} + \sinceversion{5.6}The left delimiter. + \keyval{tag-close}{right delimiter}\Module{reactions}\Default{\}} + \sinceversion{5.6}The right delimiter. + \keyval{before-tag}{format}\Module{reactions}\Default + \sinceversion{5.6}Code inserted before the tags. +\end{options} + +\begin{example} + \chemsetup[reactions]{ + before-tag = R \textbf , + tag-open = [ , + tag-close = ] + } + \begin{reaction} + H2O + CO2 <<=> H2CO3 + \end{reaction} +\end{example} + +The use of \AmS math's \cs{intertext} is possible: +\begin{example} + \begin{reactions} + A + 2 B &-> 3 C + D "\label{rxn:test}" + \intertext{Some text in between aligned reactions} + 3 E + F &<=> G + 1/2 H + \end{reactions} + See reaction~\ref{rxn:test}. +\end{example} + +If\sinceversion{5.6} you are using either \pkg{cleveref} or \pkg{fancyref} the +\env{reaction} counter is supported already. For \pkg{fancyref} use the +prefix \code{rct}. + +\subsubsection{Own Reactions} +You can create new types of reactions with the command: +\begin{commands} + \command{NewChemReaction}[\marg{name}\oarg{number of arguments}\marg{math name}] + \meta{name} will be the name of the new chem environment. \meta{math name} is + the underlying math environment. Gives an error if \meta{name} already + exists. + \command{RenewChemReaction}[\marg{name}\oarg{number of arguments}\marg{math name}] + \meta{name} is the name of the renewed chem environment. \meta{math name} is + the underlying math environment. Gives an error if \meta{name} does not exist. + \command{DeclareChemReaction}[\marg{name}\oarg{number of arguments}\marg{math name}] + \meta{name} will be the name of the chem environment. \meta{math name} is + the underlying math environment. + \command{ProvideChemReaction}[\marg{name}\oarg{number of arguments}\marg{math name}] + \meta{name} will be the name of the new chem environment. \meta{math name} is + the underlying math environment. The new environment is only defined if + it doesn't exist, yet. +\end{commands} + +\begin{sourcecode} + \NewChemReaction{reaction} {equation} + \NewChemReaction{reaction*} {equation*} + \NewChemReaction{reactions} {align} + \NewChemReaction{reactions*}{align*} +\end{sourcecode} + +Let's suppose, you'd like to have the alignment behaviour of the \env{alignat} +environment for \chemformula\ reactions. You could do the following: + +\begin{sourcecode} + \NewChemReaction{reactionsat}[1]{alignat} +\end{sourcecode} + +With this the \env{reactionsat} environment is defined. +\begin{example} + \NewChemReaction{reactionsat}[1]{alignat} + \NewChemReaction{reactionsat*}[1]{alignat*} + \begin{reactionsat}{3} + A &-> B &&-> C &&-> D \\ + aaaaa &-> bbbbb &&-> ccccc &&-> ddddd + \end{reactionsat} + \begin{reactionsat*}{2} + A &-> B & C &-> D \\ + aaaaa &-> bbbbb &\quad{} ccccc &-> ddddd + \end{reactionsat*} +\end{example} + +\subsubsection{List of Reactions} + +The \chemmodule{reactions} module also provides a command to display a list of +the reactions created with the \env{reaction} environment. +\begin{commands} + \command{listofreactions} + Print a list of reactions. +\end{commands} +\begin{example} + \listofreactions +\end{example} + +The output of this list can be modified by two options: +\begin{options} + \keyval{list-name}{name of the + list}\Module{reactions}\Default{\cs*{ChemTranslate}\Marg{{list-of-reactions}}} + Let's you set the name of the list manually. The default name is language + dependent, see section~\vref{sec:lang-module}. + \keyval{list-entry}{prefix to each + entry}\Module{reactions}\Default{\cs*{ChemTranslate}\Marg{reaction}} + Let's you set a prefix to each list entry. The default name is language + dependent, see section~\vref{sec:lang-module}. + \keyval{list-heading-cmd}{code}\Module{reactions}\Default{\cs*{section}\sarg\Marg{\#1}} + The\sinceversion{5.2} macro that is called at the beginning of the list. + Inside of \meta{code} \code{\#1} refers to the actual heading of the list. + The default setting is not entirely true: if a macro \cs*{chapter} is + defined \code{\cs*{chapter}\sarg\Marg{\#1}} is used. + \keybool{tocbasic}\Module{reactions}\Default{false} + \sinceversion{5.6}If you use a \KOMAScript\ class \emph{or} if you load + the \pkg{tocbasic} package \emph{or} if you set this option to \code{true} + the list of reactions will be set up using the \pkg{tocbasic} package. + This \emph{disables} the \option{list-heading-cmd} option. For a + \KOMAScript\ class this means that the list of reactions obeys + \KOMAScript's \option*{listof} option. +\end{options} +Instead of using the option \option{list-name} you also could redefine +\cs{reactionlistname}. + +The list lists all reactions with a number and disregards reactions without +number. All reaction environments without star have an optional argument +which let's you add a description (or caption) for the entry in the list. +\begin{example} + \begin{reaction}[Autoprotolyse] + 2 H2O <<=> H3O+ + OH- + \end{reaction} +\end{example} + +If you use the \env{reactions} environment this will not work, though. In +this case you can use +\begin{commands} + \command{AddRxnDesc}[\marg{description}] + Add a description to a reaction. +\end{commands} + +\begin{example} + \begin{reactions} + "\chlewis{0.}{Cl}" + CH4 & + -> HCl + "\chlewis{180.}{C}" H3 \AddRxnDesc{first~step~of~chain} \\ + "\chlewis{180.}{C}" H3 + Cl2 & + -> CH3Cl + "\chlewis{0.}{Cl}" \AddRxnDesc{second~step~of~chain} + \end{reactions} +\end{example} + +\subsection{The \chemmodule*{redox} Module}\label{sec:redox-module} + +The \chemmodule{redox} module loads the modules \chemmodule{tikz} and +\chemmodule{xfrac}. It also loads the packages +\pkg{mathtools}~\cite{pkg:mathtools} and \pkg{relsize}~\cite{pkg:relsize}. + +\subsubsection{Oxidation Numbers}\label{sec:oxidation-numbers} + +Regarding the typesetting of oxidation numbers +\citetitle{iupac:greenbook}~\cite{iupac:greenbook} says the following: +\begin{cnltxquote}[{\cite[][p.\,50]{iupac:greenbook}}] + Oxidation numbers are denoted by positive or negative Roman numerals or by + zero \textelp{} + + \textit{Examples}\quad \ox{7,Mn}, \ox[pos=side]{7,manganese}, \ox{-2,O}, + \ox{0,Ni} +\end{cnltxquote} + +The following command is provided to set oxidation numbers: +\begin{commands} + \command{ox}[\sarg\oarg{options}\Marg{\meta{number},\meta{atom}}] + Places \meta{number} as right superscript to \meta{atom}; \meta{number} + has to be a (rational) number! \meta{atom} is treated as a \chemformula\ + formula, like it would be in \cs{chcpd} (this depends on the setting of + the \option{formula} option, see~\vref{sec:chemformula-module}). +\end{commands} + +\begin{example} + \ox{+1,Na}, \ox{2,Ca}, \ox{-2,S}, \ox{-1,F} +\end{example} + +There are a number of options that can be used to modify the typeset result: +\begin{options} + \keybool{parse}\Module{redox}\Default{true} + When \code{false} an arbitrary entry can be used for \code{}. + \keybool{roman}\Module{redox}\Default{false} + Switches from roman to arabic numbers. + \keychoice{pos}{top,super,side}\Module{redox}\Default{super} + \code{top} places \meta{number} above \meta{atom}, \code{super} to the + upper right as superscript and \code{side} to the right and inside + brackets. Both \code{super} and \code{side} follow \ac{iupac} + recommendation, \code{top} does not! + \keybool{explicit-sign}\Module{redox}\Default{false} + Shows the $+$ for positiv numbers and the $\pm$ for $0$. + \keybool{explizit-zero-sign}\Module{redox}\Default{true} + Only\sinceversion{5.4} if both \option{explicit-sign} and + \option{explicit-zero-sign} are set to \code{true} $\pm0$ will be + printed. + \keychoice{decimal-marker}{comma,point}\Module{redox}\Default{point} + Choice for the decimal marker for formal oxidation numbers like \ox{1.2,X}. + \keychoice{align}{center,right}\Module{redox}\Default{center} + Center the oxidation number relative to the atom or right-align it. + \keyval{side-connect}{code}\Module{redox}\Default{\cs*{,}} + Code that is inserted between atom and oxidation number if + \keyis{pos}{side} is used. + \keyval{text-frac}{cs}\Module{redox}\Default{\cs{chemfrac}\Oarg{text}\Marg{\#1}\Marg{\#2}} + The fraction macro that is used for fractions if \keyis{pos}{side} is + used. \meta{cs} must be a macro that takes two mandatory arguments, the + first for the numerator and the second for the denominator. + \keyval{super-frac}{cs}\Module{redox}\Default{\cs{chemfrac}\Oarg{superscript}% + \Marg{\#1}\Marg{\#2}} + The fraction macro that is used for fractions if \keyis{pos}{top} or + \keyis{pos}{super} is used. \meta{cs} must be a macro that takes two + mandatory arguments, the first for the numerator and the second for the + denominator. +\end{options} + +\begin{example}[side-by-side] + \ox[roman=false]{2,Ca} \ox{2,Ca} \\ + \ox[pos=top]{3,Fe}-Oxide \\ + \ox[pos=side]{3,Fe}-Oxide \\ + \ox[parse=false]{?,Mn} \\ + \ox[pos=top,align=right]{2,Ca} +\end{example} + +The \keyis{pos}{top} variant also can be set with the shortcut \cs{ox}\sarg: +\begin{example}[side-by-side] + \ox{3,Fe} \ox*{3,Fe} +\end{example} + +Using the \option{explicit-sign} option will always show the sign of the +oxidation number: +\begin{example} + \chemsetup[redox]{explicit-sign = true} + \ox{+1,Na}, \ox{2,Ca}, \ox{-2,S}, \ch{"\ox{0,F}" {}2} +\end{example} + +\begin{example} + \chemsetup[redox]{pos=top} + Compare \ox{-1,O2^2-} to \ch{"\ox{-1,O}" {}2^2-} +\end{example} + +Sometimes one might want to use formal oxidation numbers like \num{.5} or +\chemfrac{1}{3}: +\begin{example}[side-by-side] + \chemsetup[redox]{pos=top} + \ox{.5,Br2} + \ch{"\ox{1/3,I}" {}3+} + + \chemsetup[redox]{pos=side} + \ox{1/3,I3+} +\end{example} + +The fraction is displayed with the help of the \pkg{xfrac} +package~\cite{bnd:l3packages}. For more details on how \chemmacros\ uses it +read section~\vref{sec:xfrac-module}. + +\subsubsection{Redox Reactions}\label{sec:redox-reactions} + +\chemmacros\ provides two commands to visualize the transfer of electrons in +redox reactions. Both commands are using \TikZ. +\begin{commands} + \command{OX}[\Marg{\meta{name},\meta{atom}}] + Label \meta{atom} with the label \meta{name}. + \command{redox}[\Darg{\meta{name1},\meta{name2}}\oarg{tikz}\oarg{num}\marg{text}] + Connect two \meta{atom}s previously labelled with \cs{OX}. Only the first + argument \Darg{\meta{name1},\meta{name2}} is required, the others are all + optional. +\end{commands} + +\cs{OX} places \meta{atom} into a node, which is named with \meta{name}. If +you have set two \cs{OX}, they can be connected with a line using \cs{redox}. +To do so the names of the two nodes that are to be connected are written in +the round braces. Since \cs{redox} draws a \code{tikzpicture} with options +\code{remember picture,overlay}, the document needs to be \emph{compiled at + least two times}. + +\begin{example} + \vspace{7mm} + \OX{a,Na} $\rightarrow$ \OX{b,Na}\pch\redox(a,b){oxidation} +\end{example} + +This line can be customized using \TikZ\ keys in \oarg{tikz}: +\begin{example} + \vspace{7mm} + \OX{a,Na} $\rightarrow$ \OX{b,Na}\pch\redox(a,b)[->,red]{ox} +\end{example} + +With the argument \oarg{num} the length of the vertical parts of the line can +be adjusted. The default length is \code{.6em}. This length is multiplied +with \meta{num}. If you use a negative value the line is placed \emph{below} +the text. +\begin{example} + \vspace{7mm} + \OX{a,Na} $\rightarrow$ \OX{b,Na}\pch + \redox(a,b)[->,red]{ox} + \redox(a,b)[<-,blue][-1]{red} + \vspace{7mm} +\end{example} + +The default length of the vertical lines can be customized with the option +\begin{options} + \keyval{dist}{dim}\Module{redox}\Default{.6em} + A \TeX\ dimension. +\end{options} + +\begin{example} + \vspace{7mm} + \chemsetup{redox/dist=1em} + \OX{a,Na} $\rightarrow$ \OX{b,Na}\pch\redox(a,b)[->,red]{ox} +\end{example} + +\begin{options} + \keyval{sep}{dim}\Module{redox}\Default{.2em} + The option can be used to change the distance between the atom and the + beginning of the line. +\end{options} + +\begin{example} + \vspace{7mm} + \chemsetup{redox/sep=.5em} + \OX{a,Na} $\rightarrow$ \OX{b,Na}\pch\redox(a,b)[->,red]{ox} +\end{example} + +\paragraph{Examples} +\begin{example} + \vspace{7mm} + \ch{ + 2 "\OX{o1,Na}" + "\OX{r1,Cl}" {}2 + -> + 2 "\OX{o2,Na}" {}+ + 2 "\OX{r2,Cl}" {}- + } + \redox(o1,o2){\small OX: $- 2\el$} + \redox(r1,r2)[][-1]{\small RED: $+ 2\el$} + \vspace{7mm} +\end{example} + +\begin{example} + \vspace{7mm} + \ch{ + 2 "\OX{o1,\ox*{0,Na}}" + "\OX{r1,\ox*{0,Cl}}" {}2 + -> + 2 "\OX{o2,\ox*{+1,Na}}" {}+ + 2 "\OX{r2,\ox*{-1,Cl}}" {}- + } + \redox(o1,o2){\small OX: $- 2\el$} + \redox(r1,r2)[][-1]{\small RED: $+ 2\el$} + \vspace{7mm} +\end{example} + +\begin{example} + \vspace{14mm} + \ch{ + 2 "\OX{o1,\ox*{0,Na}}" + "\OX{r1,\ox*{0,Cl}}" {}2 + -> + 2 "\OX{o2,\ox*{+1,Na}}" {}+ + 2 "\OX{r2,\ox*{-1,Cl}}" {}- + } + \redox(o1,o2)[draw=red,->][3.33]{\small OX: $- 2\el$} + \redox(r1,r2)[draw=blue,->]{\small RED: $+ 2\el$} +\end{example} + +\begin{example} + \vspace{7mm} + \ch{ + 2 "\OX{o1,\ox*{0,Na}}" + "\OX{r1,\ox*{0,Cl}}" {}2 + -> 2 "\OX{o2,\ox*{+1,Na}}" {}+ + 2 "\OX{r2,\ox*{-1,Cl}}" {}- + } + \redox(o1,o2)[green,-stealth]{\small OX} + \redox(r1,r2)[purple,-stealth][-1]{\small RED} + \vspace{7mm} +\end{example} + +\subsection{The \chemmodule*{scheme} Module}\label{sec:scheme-module} + +The \chemmodule{scheme} module loads the \pkg{chemnum} +package~\cite{pkg:chemnum} and defines a floating environment +\showenv{scheme}. That is, it \emph{only} defines this float if no +environment \env{scheme} exists at the end of the preamble. The module checks +for different available float defining methods, in \emph{this} order: +\begin{itemize} + \item If the current class is a \KOMAScript\ class \cs*{DeclareNewTOC} will + be used. + \item If the current class is \cls{memoir}, \cls{memoir}'s methods are used. + \item If the package \pkg{tocbasic} has been loaded \cs*{DeclareNewTOC} will + be used. + \item If the package \pkg{newfloat} has been loaded + \cs*{DeclareFloatingEnvironment} will be used. + \item \sinceversion{5.1}If the package \pkg{floatrow} has been loaded its + method will be used. + \item If the package \pkg{float} has been loaded its method will be used. + \item If neither of the above the \enquote{manual} method is used. This + means the environment is defined the same way like \env*{figure} is + defined in the \cls*{article} class or the \cls*{book} class, depending if + \cs*{chapter} is defined or not. +\end{itemize} + +The list name and the caption name both are translated to the language +specified according to the \option{lang} option and the provided translations, +see section~\vref{sec:lang-module} for details. If you want to manually change +them then redefine these macros after begin document: +\begin{commands} + \command{listschemename} + The name of the list of schemes. + \command{schemename} + The name used in captions. +\end{commands} +The list of schemes is printed as expected with +\begin{commands} + \command{listofschemes} +\end{commands} + +If\sinceversion{5.6} you are using either \pkg{cleveref} or \pkg{fancyref} the +\env{scheme} environment (or rather its captions) are supported already. For +\pkg{fancyref} use the prefix \code{sch}. + +\subsection{The \chemmodule*{spectroscopy} Module}\label{sec:spectroscopy-module} + +The \chemmodule{spectroscopy} module loads the \chemmodule{chemformula} module +and the \pkg{siunitx} package~\cite{pkg:siunitx}. + +\subsubsection{The \cs*{NMR} Command} + +When you're trying to find out if a compound is the one you think it is often +NMR spectroscopy is used. The experimental data are typeset similar to this: +\begin{center} + \NMR(400)[CDCl3] = \num{1.59} +\end{center} +The \chemmodule{spectroscopy} module provides a command which simplifies the +input. + +\begin{commands} + \command{NMR}[\sarg\Marg{\meta{num},\meta{element}}% + \Darg{\meta{num},\meta{unit}}\oarg{solvent}] + Typeset nuclear magnetic resonance data. \meta{num} is a valid + \pkg{siunitx} number input, \meta{unit} is a valid \pkg{siunitx} unit + input. \meta{solvent} is any valid \chemformula\ input as in \cs{chcpd} + (this depends on the setting of the \option{formula} option, + see~\vref{sec:chemformula-module}). +\end{commands} + +\emph{All} Argument are optional! Without arguments we get: +\begin{example}[side-by-side] + \NMR \par + \NMR* +\end{example} + +The first argument specifies the kind of NMR: +\begin{example}[side-by-side] + \NMR{13,C} +\end{example} + +The second argument sets the frequency (in \si{\mega\hertz}): +\begin{example}[side-by-side] + \NMR(400) +\end{example} +You can choose another unit: +\begin{example}[side-by-side] + \NMR(4e8,\hertz) +\end{example} +Please note that the setup of \pkg{siunitx} also affects this command: +\begin{example}[side-by-side] + \sisetup{exponent-product=\cdot} + \NMR(4e8,\hertz) +\end{example} + +The third argument specifies the solvent: +\begin{example}[side-by-side] + \NMR[CDCl3] +\end{example} + +\subsubsection{Short Cuts} + +It is possible to define short cut commands for specific nuclei. +\begin{commands} + \command{NewChemNMR}[\marg{cs}\Marg{\meta{num},\meta{atom}}] + Define a new shortcut macro for typesetting a certain type of magnetic + resonence data. Gives an error if \meta{cs} already exists. + \command{DeclareChemNMR}[\marg{cs}\Marg{\meta{num},\meta{atom}}] + Define a new shortcut macro for typesetting a certain type of magnetic + resonence data. Overwrites an existing macro. + \command{RenewChemNMR}[\marg{cs}\Marg{\meta{num},\meta{atom}}] + Redefine an existing shortcut macro for typesetting a certain type of + magnetic resonence data. Gives an error if \meta{cs} doesn't exist. + \command{ProvideChemNMR}[\marg{cs}\Marg{\meta{num},\meta{atom}}] + Define a new shortcut macro for typesetting a certain type of magnetic + resonence data. \meta{cs} is only defined if it doesn't exist, yet. +\end{commands} + +This defines a command with the same arguments as \cs{NMR} \emph{except} for +\Marg{\meta{num},\meta{atom}}: +\begin{example}[side-by-side] + \NewChemNMR\HNMR{1,H}% + \NewChemNMR\CNMR{13,C}% + \CNMR*(100) \par + \HNMR*(400) +\end{example} + +\subsubsection{An Environment to Typeset Experimental Data} + +The \chemmodule{spectroscopy} module provides an environment to ease the input +of experimental data. +\begin{environments} + \environment{experimental} + Environment for the output of experimental data. Inside the environment + the following commands are defined. +\end{environments} +\begin{commands} + \command{data}[\marg{type}\oarg{specification}] + Type of data, \eg\ IR, MS\ldots\ The optional argument takes further + specifications which are output in parentheses. + \command{data}[\sarg\marg{type}\oarg{specification}] + Like \cs{data} but changes the \code{=} into a \code{:}, given that + \keyis{use-equal}{true} is used. + \command{NMR}[\Marg{\meta{num},\meta{elem}\oarg{coupling + core}}\Darg{\meta{num},\meta{unit}}\oarg{solvent}] + This command gets an additional argument: + \cs{NMR}\Marg{13,C[\textasciicircum 1H]} \NMR{13,C[^1H]} + \command{J}[\Darg{\meta{bonds};\meta{nuclei}}\oarg{unit}\marg{list of nums}] + Coupling constant, values are input separated by \code{;} (NMR). The + arguments \Darg{\meta{bonds};\meta{nuclei}} and \oarg{unit} are optional + and enable further specifications of the coupling. + \command{\#}[\marg{num}] + Number of nuclei (NMR). + \command{pos}[\marg{num}] + Position of nuclues (NMR). + \command{val}[\marg{num}] + A number, an alias of \pkg{siunitx}' \cs*{num}\marg{num}. + \command{val}[\Marg{\meta{num1}--\meta{num2}}] + An alias of \pkg{siunitx}' \cs*{numrange}\marg{num1}\marg{num2}. +\end{commands} + +\begin{example} + \begin{experimental} + \data{type1} Data. + \data{type2}[specifications] More data. + \data*{type3} Even more data. + \end{experimental} +\end{example} + +\paragraph{Customization}\label{sec:experimental-customization} + +The output of the environment and of the NMR commands can be customized be a +number of options. For historical reasons they all belong to the module +\module{nmr}. +\begin{options} + \keyval{unit}{unit}\Module{spectroscopy}\Default{\cs*{mega}\cs*{hertz}} + The used default unit. + \keychoice{nucleus}{\Marg{\meta{num},\meta{atom}}}\Module{spectroscopy}\Default{\Marg{1,H}} + The used default nucleus. + \keyval{connector}{code}\Module{spectroscopy}\Default{-} + Places \meta{code} between the nucleus and the method. + \keyval{method}{code}\Module{spectroscopy}\Default{NMR} + The measuring method. + \keyval{format}{commands}\Module{spectroscopy}\Default + For example \cs*{bfseries}. + \keyval{nmr-base-format}{commands}\Module{spectroscopy}\Default + \sinceversion{5.8}Formatting instructions for the NMR base. + \keychoice{pos-number}{side,sub,super}\Module{spectroscopy}\Default{side} + Position of the number next to the atom. + \keyval{coupling-symbol}{code}\Module{spectroscopy}\Default{J} + The symbol used for the coupling constant. + \keyval{coupling-unit}{unit}\Module{spectroscopy}\Default{\cs*{hertz}} + A \pkg{siunitx} unit. + \keychoice{coupling-pos}{side,sub}\Module{spectroscopy}\Default{side} + Placement of the coupling nuclei next to the symbol $J$ (or rather the + symbol specified with option \option{coupling-symbol}). + \keyval{coupling-nuclei-pre}{code}\Module{spectroscopy}\Default{(} + Code inserted before the coupling nuclei when \keyis{coupling-pos}{side}. + \keyval{coupling-nuclei-post}{code}\Module{spectroscopy}\Default{)} + Code inserted after the coupling nuclei when \keyis{coupling-pos}{side}. + \keyval{coupling-bonds-pre}{code}\Module{spectroscopy}\Default + Code inserted before the coupling bonds. + \keyval{coupling-bonds-post}{code}\Module{spectroscopy}\Default{\cs*{!}} + Code inserted after the coupling bonds. + \keyval{coupling-pos-cs}{cs}\Module{spectroscopy}\Default{\cs*{@firstofone}} + Set the macro that prints the number set with the \cs{pos} macro. This + needs to be a command with one mandatory argument. + \keyval{atom-number-cs}{cs}\Module{spectroscopy}\Default{\cs*{@firstofone}} + Set the macro that prints the number set with the \cs{\#} macro. This + needs to be a command with one mandatory argument. + \keyval{atom-number-space}{dim}\Module{spectroscopy}\Default{.16667em} + Horizontal\sinceversion{5.3} space inserted between number and atom + (printed by \cs{\#}). + \keybool{parse}\Module{spectroscopy}\Default{true} + Treat the solvent as \chemformula\ formula (this depends on the setting of + the \option{formula} option, see~\vref{sec:chemformula-module}) or not. + \keyval{delta}{tokens}\Module{spectroscopy}\Default + The \meta{tokens} are added after $\delta$. + \keybool{list}\Module{spectroscopy}\Default{false} + The environment \env{nmr}[]{} is formatted as a list + \keyval{list-setup}{setup}\Module{spectroscopy} + Setup of the list. See below for the default settings. + \keybool{use-equal}\Module{spectroscopy}\Default{false} + Add egual sign after \cs{NMR} and \cs{data}. +\end{options} + +The default setup of the list: +\begin{sourcecode} + \topsep\z@skip \partopsep\z@skip + \itemsep\z@ \parsep\z@ \itemindent\z@ + \leftmargin\z@ +\end{sourcecode} + +\begin{example} + \begin{experimental}[format=\bfseries] + \data{type1} Data. + \data{type2}[specifications] More data. + \data*{type3} Even more data. + \end{experimental} +\end{example} + +The command \cs{NMR} and all commands defined through \cs{NewChemNMR} +can be used like \cs{data} for the NMR data. + +\begin{example} + \begin{experimental}[format=\bfseries,use-equal] + \data{type1} Data. + \data{type2}[specifications] More data. + \NMR Even more data. + \end{experimental} +\end{example} + +\paragraph{An Example} +The code below is shown with different specifications for \meta{options}. +Of course options can also be chosen with \cs{chemsetup}. + +\begin{sourcecode} + \sisetup{separate-uncertainty,per-mode=symbol,detect-all,range-phrase=--} + \begin{experimental}[] + \data*{yield} \SI{17}{\milli\gram} yellow needles (\SI{0.04}{\milli\mole}, + \SI{13}{\percent}). + % + \data{mp.} \SI{277}{\celsius} (DSC). + % + \NMR(600)[CDCl3] \val{2.01} (s, \#{24}, \pos{5}), \val{2.31} (s, \#{12}, + \pos{1}), \val{6.72--6.74} (m, \#{2}, \pos{11}), \val{6.82} (s, \#{8}, + \pos{3}), \val{7.05--7.07} (m, \#{2}, \pos{12}), \val{7.39--7.41} (m, \#{4}, + \pos{9}), \val{7.48--7.49} (m, \#{4}, \pos{8}). + % + \NMR{13,C}(150)[CDCl3] \val{21.2} ($+$, \#{4}, \pos{1}), \val{23.4} ($+$, + \#{8}, \pos{5}), \val{126.0} ($+$, \#{4}, \pos{9}), \val{128.2} ($+$, \#{8}, + \pos{3}), \val{130.8} ($+$, \#{2}, \pos{12}), \val{133.6} ($+$, \#{2}, + \pos{11}), \val{137.0} ($+$, \#{4}, \pos{8}), \val{138.6} (q, \#{4}, + \pos{2}), \val{140.6} (q, \#{2}, \pos{10}), \val{140.8} (q, \#{8}, \pos{4}), + \val{141.8} (q, \#{4}, \pos{6}), \val{145.6} (q, \#{2}, \pos{7}). + % + \data{MS}[DCP, EI, \SI{60}{\electronvolt}] \val{703} (2, \ch{M+}), \val{582} + (1), \val{462} (1), \val{249} (13), \val{120} (41), \val{105} (100). + % + \data{MS}[\ch{MeOH + H2O + KI}, ESI, \SI{10}{\electronvolt}] \val{720} (100, + \ch{M+ + OH-}), \val{368} (\ch{M+ + 2 OH-}). + % + \data{IR}[KBr] \val{3443} (w), \val{3061} (w), \val{2957} (m), \val{2918} + (m), \val{2856} (w), \val{2729} (w), \val{1725} (w), \val{1606} (s), + \val{1592} (s), \val{1545} (w), \val{1446} (m), \val{1421} (m), \val{1402} + (m), \val{1357} (w), \val{1278} (w), \val{1238} (s), \val{1214} (s), + \val{1172} (s), \val{1154} (m), \val{1101} (w), \val{1030} (w), \val{979} + (m), \val{874} (m), \val{846} (s), \val{818} (w), \val{798} (m), \val{744} + (w), \val{724} (m), \val{663} (w), \val{586} (w), \val{562} (w), \val{515} + (w). + % + \data*{UV-Vis} \SI{386}{\nano\metre} ($\varepsilon = \val{65984}$), + \SI{406}{\nano\metre} ($\varepsilon = \val{65378}$). + % + \data*{quantum yield} $\Phi = \val{0.74+-0.1}$\,. + \end{experimental} +\end{sourcecode} + +\paragraph{Nearly Standard} +Output with these options: + +\begin{sourcecode} + delta=(ppm),pos-number=sub,use-equal +\end{sourcecode} + +\begin{experimental}[delta=(ppm),pos-number=sub,use-equal] + \sisetup{separate-uncertainty,per-mode=symbol,detect-all,range-phrase=--} + \data*{yield} \SI{17}{\milli\gram} yellow needles (\SI{0.04}{\milli\mole}, + \SI{13}{\percent}). + % + \data{mp.} \SI{277}{\celsius} (DSC). + % + \NMR(600)[CDCl3] \val{2.01} (s, \#{24}, \pos{5}), \val{2.31} (s, \#{12}, + \pos{1}), \val{6.72--6.74} (m, \#{2}, \pos{11}), \val{6.82} (s, \#{8}, + \pos{3}), \val{7.05--7.07} (m, \#{2}, \pos{12}), \val{7.39--7.41} (m, \#{4}, + \pos{9}), \val{7.48--7.49} (m, \#{4}, \pos{8}). + % + \NMR{13,C}(150)[CDCl3] \val{21.2} ($+$, \#{4}, \pos{1}), \val{23.4} ($+$, + \#{8}, \pos{5}), \val{126.0} ($+$, \#{4}, \pos{9}), \val{128.2} ($+$, \#{8}, + \pos{3}), \val{130.8} ($+$, \#{2}, \pos{12}), \val{133.6} ($+$, \#{2}, + \pos{11}), \val{137.0} ($+$, \#{4}, \pos{8}), \val{138.6} (q, \#{4}, + \pos{2}), \val{140.6} (q, \#{2}, \pos{10}), \val{140.8} (q, \#{8}, \pos{4}), + \val{141.8} (q, \#{4}, \pos{6}), \val{145.6} (q, \#{2}, \pos{7}). + % + \data{MS}[DCP, EI, \SI{60}{\electronvolt}] \val{703} (2, \ch{M+}), \val{582} + (1), \val{462} (1), \val{249} (13), \val{120} (41), \val{105} (100). + % + \data{MS}[\ch{MeOH + H2O + KI}, ESI, \SI{10}{\electronvolt}] \val{720} (100, + \ch{M+ + OH-}), \val{368} (\ch{M+ + 2 OH-}). + % + \data{IR}[KBr] \val{3443} (w), \val{3061} (w), \val{2957} (m), \val{2918} + (m), \val{2856} (w), \val{2729} (w), \val{1725} (w), \val{1606} (s), + \val{1592} (s), \val{1545} (w), \val{1446} (m), \val{1421} (m), \val{1402} + (m), \val{1357} (w), \val{1278} (w), \val{1238} (s), \val{1214} (s), + \val{1172} (s), \val{1154} (m), \val{1101} (w), \val{1030} (w), \val{979} + (m), \val{874} (m), \val{846} (s), \val{818} (w), \val{798} (m), \val{744} + (w), \val{724} (m), \val{663} (w), \val{586} (w), \val{562} (w), \val{515} + (w). + % + \data*{UV-Vis} \SI{386}{\nano\metre} ($\varepsilon = \val{65984}$), + \SI{406}{\nano\metre} ($\varepsilon = \val{65378}$). + % + \data*{quantum yield} $\Phi = \val{0.74+-0.1}$\,. +\end{experimental} + +\paragraph{Formatted List} +Output with these options: + +\begin{sourcecode} + format=\bfseries,delta=(ppm),list=true,use-equal +\end{sourcecode} + +\begin{experimental}[format=\bfseries,delta=(ppm),list=true,use-equal] + \sisetup{separate-uncertainty,per-mode=symbol,detect-all,range-phrase=--} + \data*{yield} \SI{17}{\milli\gram} yellow needles (\SI{0.04}{\milli\mole}, + \SI{13}{\percent}). + % + \data{mp.} \SI{277}{\celsius} (DSC). + % + \NMR(600)[CDCl3] \val{2.01} (s, \#{24}, \pos{5}), \val{2.31} (s, \#{12}, + \pos{1}), \val{6.72--6.74} (m, \#{2}, \pos{11}), \val{6.82} (s, \#{8}, + \pos{3}), \val{7.05--7.07} (m, \#{2}, \pos{12}), \val{7.39--7.41} (m, \#{4}, + \pos{9}), \val{7.48--7.49} (m, \#{4}, \pos{8}). + % + \NMR{13,C}(150)[CDCl3] \val{21.2} ($+$, \#{4}, \pos{1}), \val{23.4} ($+$, + \#{8}, \pos{5}), \val{126.0} ($+$, \#{4}, \pos{9}), \val{128.2} ($+$, \#{8}, + \pos{3}), \val{130.8} ($+$, \#{2}, \pos{12}), \val{133.6} ($+$, \#{2}, + \pos{11}), \val{137.0} ($+$, \#{4}, \pos{8}), \val{138.6} (q, \#{4}, + \pos{2}), \val{140.6} (q, \#{2}, \pos{10}), \val{140.8} (q, \#{8}, \pos{4}), + \val{141.8} (q, \#{4}, \pos{6}), \val{145.6} (q, \#{2}, \pos{7}). + % + \data{MS}[DCP, EI, \SI{60}{\electronvolt}] \val{703} (2, \ch{M+}), \val{582} + (1), \val{462} (1), \val{249} (13), \val{120} (41), \val{105} (100). + % + \data{MS}[\ch{MeOH + H2O + KI}, ESI, \SI{10}{\electronvolt}] \val{720} (100, + \ch{M+ + OH-}), \val{368} (\ch{M+ + 2 OH-}). + % + \data{IR}[KBr] \val{3443} (w), \val{3061} (w), \val{2957} (m), \val{2918} + (m), \val{2856} (w), \val{2729} (w), \val{1725} (w), \val{1606} (s), + \val{1592} (s), \val{1545} (w), \val{1446} (m), \val{1421} (m), \val{1402} + (m), \val{1357} (w), \val{1278} (w), \val{1238} (s), \val{1214} (s), + \val{1172} (s), \val{1154} (m), \val{1101} (w), \val{1030} (w), \val{979} + (m), \val{874} (m), \val{846} (s), \val{818} (w), \val{798} (m), \val{744} + (w), \val{724} (m), \val{663} (w), \val{586} (w), \val{562} (w), \val{515} + (w). + % + \data*{UV-Vis} \SI{386}{\nano\metre} ($\varepsilon = \val{65984}$), + \SI{406}{\nano\metre} ($\varepsilon = \val{65378}$). + % + \data*{quantum yield} $\Phi = \val{0.74+-0.1}$\,. +\end{experimental} + +\paragraph{Crazy} +Output for these options: + +\begin{sourcecode} + format=\color{red}\itshape, + list=true, + delta=\textcolor{green}{\ch{M+ + H2O}}, + pos-number=side, + coupling-unit=\mega\gram\per\square\second, + list-setup=, + use-equal +\end{sourcecode} + +\begin{experimental}[ + format=\color{red}\itshape, + list=true, + delta=\textcolor{green}{\ch{M+ + H2O}}, + pos-number=side, + coupling-unit=\mega\gram\per\square\second, + list-setup=,use-equal] + \sisetup{separate-uncertainty,per-mode=symbol,detect-all,range-phrase=--} + \data*{yield} \SI{17}{\milli\gram} yellow needles (\SI{0.04}{\milli\mole}, + \SI{13}{\percent}). + % + \data{mp.} \SI{277}{\celsius} (DSC). + % + \NMR(600)[CDCl3] \val{2.01} (s, \#{24}, \pos{5}), \val{2.31} (s, \#{12}, + \pos{1}), \val{6.72--6.74} (m, \#{2}, \pos{11}), \val{6.82} (s, \#{8}, + \pos{3}), \val{7.05--7.07} (m, \#{2}, \pos{12}), \val{7.39--7.41} (m, \#{4}, + \pos{9}), \val{7.48--7.49} (m, \#{4}, \pos{8}). + % + \NMR{13,C}(150)[CDCl3] \val{21.2} ($+$, \#{4}, \pos{1}), \val{23.4} ($+$, + \#{8}, \pos{5}), \val{126.0} ($+$, \#{4}, \pos{9}), \val{128.2} ($+$, \#{8}, + \pos{3}), \val{130.8} ($+$, \#{2}, \pos{12}), \val{133.6} ($+$, \#{2}, + \pos{11}), \val{137.0} ($+$, \#{4}, \pos{8}), \val{138.6} (q, \#{4}, + \pos{2}), \val{140.6} (q, \#{2}, \pos{10}), \val{140.8} (q, \#{8}, \pos{4}), + \val{141.8} (q, \#{4}, \pos{6}), \val{145.6} (q, \#{2}, \pos{7}). + % + \data{MS}[DCP, EI, \SI{60}{\electronvolt}] \val{703} (2, \ch{M+}), \val{582} + (1), \val{462} (1), \val{249} (13), \val{120} (41), \val{105} (100). + % + \data{MS}[\ch{MeOH + H2O + KI}, ESI, \SI{10}{\electronvolt}] \val{720} (100, + \ch{M+ + OH-}), \val{368} (\ch{M+ + 2 OH-}). + % + \data{IR}[KBr] \val{3443} (w), \val{3061} (w), \val{2957} (m), \val{2918} + (m), \val{2856} (w), \val{2729} (w), \val{1725} (w), \val{1606} (s), + \val{1592} (s), \val{1545} (w), \val{1446} (m), \val{1421} (m), \val{1402} + (m), \val{1357} (w), \val{1278} (w), \val{1238} (s), \val{1214} (s), + \val{1172} (s), \val{1154} (m), \val{1101} (w), \val{1030} (w), \val{979} + (m), \val{874} (m), \val{846} (s), \val{818} (w), \val{798} (m), \val{744} + (w), \val{724} (m), \val{663} (w), \val{586} (w), \val{562} (w), \val{515} + (w). + % + \data*{UV-Vis} \SI{386}{\nano\metre} ($\varepsilon = \val{65984}$), + \SI{406}{\nano\metre} ($\varepsilon = \val{65378}$). + % + \data*{quantum yield} $\Phi = \val{0.74+-0.1}$\,. +\end{experimental} + +\subsection{The \chemmodule*{thermodynamics} Module}\label{sec:thermodynamics-module} + +The \chemmodule{thermodynamics} module loads the \pkg{siunitx} +package~\cite{pkg:siunitx}. + +\subsubsection{The \cs*{state} Macro} + +\begin{commands} + \command{state}[\oarg{options}\marg{symbol}] + Typeset a state variable. +\end{commands} + +This macro can be used to write the thermodynamic state variables. +\begin{example} + \state{A}, \state[subscript-left=f]{G} , + \state[subscript-right=\ch{Na}]{E}, + \state[superscript-right=\SI{1000}{\celsius}]{H} +\end{example} + +These options are available: +\begin{options} + \keyval{pre}{text}\Module{thermodynamics}\Default{\cs{changestate}} + Code inserted before the variable. Inserted in text mode. + \keyval{post}{text}\Module{thermodynamics}\Default + Code inserted after the variable. Inserted in text mode. + \keyval{superscript-left}{text}\Module{thermodynamics}\Default + The left superscript. Inserted in text mode. + \keyval{superscript-right}{text}\Module{thermodynamics}\Default{\cs{standardstate}} + The right superscript. Inserted in text mode. + \keyval{superscript}{text}\Module{thermodynamics} + An alias of \option{superscript-right}. + \keyval{subscript-left}{text}\Module{thermodynamics}\Default + The left subscript. Inserted in text mode. + \keyval{subscript-right}{text}\Module{thermodynamics}\Default + The right subscript. Inserted in text mode. + \keyval{subscript}{text}\Module{thermodynamics} + An alias of \option{subscript-left}. +\end{options} + +\subsubsection{Thermodynamic Variables} + +The \chemmodule{thermodynamics} module provides a few commands for specific +thermodynamic variables: +\begin{commands} + \command{enthalpy}[\sarg\oarg{options}\darg{subscript}\marg{value}] + Typeset the amount of enthalpy. + \command{entropy}[\sarg\oarg{options}\darg{subscript}\marg{value}] + Typeset the amount of entropy. + \command{gibbs}[\sarg\oarg{options}\darg{subscript}\marg{value}] + Typeset the amount of Gibbs enthalpy. +\end{commands} + +Their usage is pretty much self-explaining: +\begin{example}[side-by-side] + \enthalpy{123} \par + \entropy{123} \par + \gibbs{123} +\end{example} +The argument \darg{subscript} adds a subscript for specification, \sarg\ hides +number and unit: +\begin{example}[side-by-side] + \enthalpy(r){123} \par + \enthalpy*{123} \par +\end{example} + +\begin{options} + \keyval{pre}{text}\Module{thermodynamics}\Default{\cs{changestate}} + Code inserted before the variable. Inserted in text mode. + \keyval{post}{text}\Module{thermodynamics}\Default + Code inserted after the variable. Inserted in text mode. + \keyval{superscript-left}{text}\Module{thermodynamics}\Default + The left superscript. Inserted in text mode. + \keyval{superscript-right}{text}\Module{thermodynamics}\Default{\cs{standardstate}} + The right superscript. Inserted in text mode. + \keyval{superscript}{text}\Module{thermodynamics} + An alias of \option{superscript-right}. + \keyval{subscript-left}{text}\Module{thermodynamics}\Default + The left subscript. Inserted in text mode. + \keyval{subscript-right}{text}\Module{thermodynamics}\Default + The right subscript. Inserted in text mode. + \keyval{subscript}{text}\Module{thermodynamics} + An alias of \option{subscript-left}. + \keychoice{subscript-pos}{left,right}\Module{thermodynamics}\Default{left} + Determines wether the subscript given in \darg{subscript} is placed to the + left or the right of the variable. + \keyval{symbol}{symbol}\Module{thermodynamics}\Default + The symbol of the variable. Inserted in math mode. + \keyval{unit}{unit}\Module{thermodynamics}\Default + A valid \pkg{siunitx} unit. +\end{options} + +The default values depend on the command. +\begin{example}[side-by-side] + \enthalpy[unit=\kilo\joule]{-285} \par + \gibbs[pre=]{0} \par + \entropy[pre=$\Delta$,superscript=]{56.7} +\end{example} +The unit is set corresponding to the rules of \pkg{siunitx} and depends on +its settings: +\begin{example}[side-by-side] + \enthalpy{-1234.56e3} \par + \sisetup{ + per-mode=symbol, + exponent-product=\cdot, + output-decimal-marker={,}, + group-four-digits=true + } + \enthalpy{-1234.56e3} +\end{example} + +\subsubsection{Create New Variables or Redefine Existing Ones} + +\begin{commands} + \command{NewChemState}[\marg{cs}\marg{options}] + Define new state commands like \cs{enthalpy}. Gives an error is \meta{cs} + already exists. + \command{RenewChemState}[\marg{cs}\marg{options}] + Redefine existing state commands. + \command{DeclareChemState}[\marg{cs}\marg{options}] + Like \cs{NewChemState} but gives now error if \meta{cs} already exists. + \command{ProvideChemState}[\marg{cs}\marg{options}] + Define new state commands like \cs{enthalpy}. Defines \meta{cs} only if + it is not defined, yet. +\end{commands} +The argument \meta{options} is a comma separated list of key/value options: +\begin{options} + \keyval{pre}{text}\Module{thermodynamics}\Default{\cs{changestate}} + Code inserted before the variable. Inserted in text mode. + \keyval{post}{text}\Module{thermodynamics}\Default + Code inserted after the variable. Inserted in text mode. + \keyval{superscript-left}{text}\Module{thermodynamics}\Default + The left superscript. Inserted in text mode. + \keyval{superscript-right}{text}\Module{thermodynamics}\Default{\cs{standardstate}} + The right superscript. + \keyval{superscript}{text}\Module{thermodynamics} + An alias of \option{superscript-right}. + \keyval{subscript-left}{text}\Module{thermodynamics}\Default + The left subscript. Inserted in text mode. + \keyval{subscript-right}{text}\Module{thermodynamics}\Default + The right subscript. Inserted in text mode. + \keyval{subscript}{text}\Module{thermodynamics} + An alias of \option{subscript-left}. + \keychoice{subscript-pos}{left,right}\Module{thermodynamics}\Default{left} + Determines wether the subscript given in \darg{subscript} is placed to the + left or the right of the variable. + \keyval{symbol}{symbol}\Module{thermodynamics}\Default + The symbol of the variable. + \keyval{unit}{unit}\Module{thermodynamics}\Default + A valid \pkg{siunitx} unit. +\end{options} + +\begin{example} + \NewChemState\Helmholtz{ symbol=A , unit=\kilo\joule\per\mole } + \NewChemState\ElPot{ symbol=E , subscript-pos=right , superscript= , unit=\volt } + \Helmholtz{123.4} \par + \ElPot{-1.1} \par + \ElPot[superscript=0]($\ch{Sn}|\ch{Sn^2+}||\ch{Pb^2+}|\ch{Pb}$){0.01} \par + \RenewChemState\enthalpy{ symbol=h , unit=\joule} \par + \enthalpy(f){12.5} +\end{example} + +The existing commands have been defined like this: +\begin{sourcecode} + \NewChemState \enthalpy{ symbol = H, unit = \kilo\joule\per\mole } + \NewChemState \entropy { symbol = S, unit = \joule\per\kelvin\per\mole, pre = } + \NewChemState \gibbs { symbol = G, unit = \kilo\joule\per\mole } +\end{sourcecode} + +So -- for following thermodynamic conventions -- one could define a molar and +an absolute variable: +\begin{example} + \RenewChemState\enthalpy{symbol=h,superscript=,unit=\kilo\joule\per\mole}% molar + \NewChemState\Enthalpy{symbol=H,superscript=,unit=\kilo\joule}% absolute + \enthalpy{-12.3} \Enthalpy{-12.3} +\end{example} + +\subsection{The \chemmodule*{units} Module}\label{sec:units-module} + +The \chemmodule{units} module loads the \pkg{siunitx} +package~\cite{pkg:siunitx}. + +In chemistry some non-SI units are very common. \pkg{siunitx} provides the +command +\begin{commands} + \command*{DeclareSIUnit}[\marg{cs}\marg{unit}] + Define \meta{cs} to be a valid unit command inside \pkg{siunitx}' macros + \cs*{SI} and \cs*{si} which represents \meta{unit}. +\end{commands} +to add arbitrary units. \chemmacros\ uses that command to provide some +units. Like all \pkg{siunitx} units they're only valid inside +\cs*{SI}\marg{num}\marg{unit} and \cs*{si}\marg{unit}. +\begin{commands} + \command{atmosphere} \si{\atmosphere} + \command{atm} \si{\atm} + \command{calory} \si{\calory} + \command{cal} \si{\cal} + \command{cmc} \si{\cmc} \par + The units \cs{cmc}, \cs{molar}, and \cs{Molar} are defined by the + package \pkg{chemstyle} as well. \chemmacros\ only defines them, if + \pkg{chemstyle} is not loaded. + \command{molar} \si{\molar} + \command{moLar} \si{\moLar} + \command{Molar} \si{\Molar} + \command{MolMass} \si{\MolMass} + \command{normal} \si{\normal} + \command{Torr} \si{\Torr} +\end{commands} + +By the way: \cs*{mmHg} \si{\mmHg} already is defined by \pkg{siunitx}. + +\section{Internal Modules} + +\subsection{The \chemmodule*{tikz} Module}\label{sec:tikz-module} + +The \chemmodule{tikz} module loads the \pkg{tikz} package~\cite{pkg:pgf} and +the \TikZ\ library \code{calc}. + +\subsubsection{For Users} +The \chemmodule{tikz} module defines a few arrow tips: +\begin{tikzcode} + \arrowtip{el} + An arrow tip: \verbcode+\tikz\draw[-el](0,0)--(1,0);+ + \tikz\draw[-el](0,0)--(1,0); + \arrowtip{left el} + An arrow tip: \verbcode+\tikz\draw[-left el](0,0)--(1,0);+ + \tikz\draw[-left el](0,0)--(1,0); + \arrowtip{right el} + An arrow tip: \verbcode+\tikz\draw[-right el](0,0)--(1,0);+ + \tikz\draw[-right el](0,0)--(1,0); +\end{tikzcode} + +The\sinceversion{5.3} \chemmodule{tikz} module also loads the libraries +\code{calc} and \code{decorations.pathmorphing}. It uses those libraries for +defining a new decoration \tikzdecoration{wave}. +\begin{example}[side-by-side] + \begin{tikzpicture} + \draw[decorate,decoration=wave] (0,0) -- (2,0) ; + \end{tikzpicture} +\end{example} + +\subsubsection{For Module Writers} +The \chemmodule{tikz} module provides some macros for common \TikZ\ +functions. This allows to use expl3's powerful function variants for +expansion control. + +\begin{commands} + \explcommand{c_chemmacros_other_colon_tl} + A constant tokenlist which contains a colon with category code~12 (other). + This is useful since \TikZ\ sometimes expects an other colon and in an + expl3 programming environment \code{:} has category code~11 (letter). + \explcommand{chemmacros_tikz_picture:nn}[ \marg{options} \marg{code}] + Defined as \verbcode+\tikzpicture[{#1}] #2 \endtikzpicture+. + \explcommand{chemmacros_tikz:nn}[ \marg{options} \marg{code}] + Defined as \verbcode+\tikz[{#1}]{#2}+. + \explcommand{chemmacros_tikz_draw:n}[ \marg{options}] + Defined as \verbcode+\draw[{#1}]+. + \explcommand{chemmacros_tikz_node:n}[ \marg{options}] + Defined as \verbcode+\node[{#1}]+. + \explcommand{chemmacros_tikz_shade:n}[ \marg{options}] + Defined as \verbcode+\shade[{#1}]+. + \explcommand{chemmacros_tikz_shadedraw:n}[ \marg{options}] + Defined as \verbcode+\shadedraw[{#1}]+. + \explcommand{chemmacros_tikz_node_in_draw:n}[ \marg{options}] + Defined as \verbcode+node[{#1}]+. +\end{commands} + +\subsection{The \chemmodule*{xfrac} Module}\label{sec:xfrac-module} + +The \chemmodule{xfrac} module loads the package +\pkg{xfrac}~\cite{bnd:l3packages}. For the following explanations it will be +helpful if you know about said package and how it works first. This module is +a support module that defines the macro +\begin{commands} + \command{chemfrac}[\oarg{type}\marg{numerator}\marg{denominator}] + \meta{type} can either be \code{text} or \code{superscript}. +\end{commands} +This macro calls a certain instance of the \pkg{xfrac} \code{text} template, +depending on the option \meta{type} and the current font family. If used +\cs{chemfrac} looks if an instance +\begin{center} + \code{chemmacros-frac-\cs*{f@family}-\meta{type}} +\end{center} +exists. If yes this instance is used, if no the instance +\code{chemmacros-frac-default-\meta{type}} is used. The \code{default} +instances are the same as the ones for \code{cmr}. + +\begin{table} + \centering + \newcommand*\showfrac[1]{% + \code{#1} & + \fontfamily{#1}\selectfont + \chemfrac[text]{2}{3} & + \fontfamily{#1}\selectfont + \chemfrac[superscript]{2}{3}% + } + \caption{Predefined \chemmodule{xfrac} \code{text} instances.} + \label{tab:xfrac} + \begin{tabular}{llcc} + \toprule + \bfseries font family & \bfseries text & \bfseries superscript \\ + \midrule + \showfrac{cmr} \\ + \showfrac{lmr} \\ + \showfrac{LinuxLibertineT-TLF} \\ + \showfrac{LinuxLibertineT-TOsF} \\ + \bottomrule + \end{tabular} +\end{table} + +The \chemmodule{xfrac} module defines instances some font families, they are +listed and demonstrated in table~\vref{tab:xfrac}. The \code{superscript} +type fractions \emph{look} larger than the \code{text} types. The reason is +that the \code{superscript} types are typically used with a smaller font size. +Let's take a look at an example where both instances are used: +\begin{example}[side-by-side] + \chemsetup[redox]{pos=top} + \code{superscript}: + \ch{"\ox{1/3,I}" {}3+} + + \chemsetup[redox]{pos=side} + \code{text}: \ox{1/3,I3+} + + \huge + \chemsetup[redox]{pos=top} + \code{superscript}: + \ch{"\ox{1/3,I}" {}3+} + + \chemsetup[redox]{pos=side} + \code{text}: \ox{1/3,I3+} +\end{example} + +If you define instances for other families please feel free to submit them to +me (see section~\vref{sec:submitting-module}) so they can be added to the +\chemmodule{xfrac} module. + +\appendix +\part{Appendix} +\section{Own Modules}\label{sec:own-modules} +\subsection{How To} + +If you have additional functionality which you think might be useful as a +\chemmacros\ module then you can easily write one yourself. The module must +be a file in a path where \TeX\ can find it following a certain naming +scheme. The file for a module \chemmodule*{foo} \emph{must be named} +\code{chemmacros.module.foo.code.tex}. + +\begin{commands} + \command{ChemModule}[\sarg\marg{name}\marg{description}\oarg{minimal + compatibility version}] + Register module \meta{name}. The optional argument \meta{minimal + compatibility version} ensures that this module is only loaded if the + option \option{compatibility} has a high enough version number. If it is + omitted the module can be loaded in each version~5.0 or higher. +\end{commands} + +The first line in the file then should look similar to this: +\begin{sourcecode} + \ChemModule{foo}{2015/07/14 description of foo} +\end{sourcecode} +This registers module \chemmodule*{foo} which means \chemmacros\ will accept +this file as a valid module. + +Since \chemmacros\ is written using expl3 \cs{ChemModule} starts an expl3 +programming environment. If you don't want that but rather want to write your +module using traditional \LaTeXe\ methods then use the starred variant: +\begin{sourcecode} + \ChemModule*{foo}{2015/07/14 description of foo} +\end{sourcecode} +In both variants \code{@} has category code~11 (letter). + +Since new modules very likely might rely on code provided first in a certain +version of \chemmacros\ you might want to make sure that your module only is +loaded when the compatibility mode is high enough to provide the features you +want: +\begin{sourcecode} + \ChemModule{foo}{2015/10/14 description of foo}[5.2] +\end{sourcecode} + +You should be aware that your module \emph{will not be loaded} with +\verbcode+\usechemmodule{all}+! The pseudo-module \chemmodule{all} contains a +manually maintained list of the modules that are loaded by it. + +If you decide to write your module \chemmodule*{foo} using expl3 and add +options you want to be able to set using +\cs{chemsetup}\Oarg{foo}\marg{options} please make sure you define (and set) +them with the following macros: +\begin{commands} + \explcommand{chemmacros_define_keys:nn}[ \marg{module} \marg{key definitions}] + Define l3keys options for the module \meta{module}. This is a wrapper for + \explcs*{keys_define:nn} \Marg{chemmacros/\meta{module}} \marg{key + definitions}. + \explcommand{chemmacros_set_keys:nn}[ \marg{module} \marg{input}] + Sets l3keys options for the module \meta{module}. This is a wrapper for + \explcs*{keys_set:nn} \Marg{chemmacros/\meta{module}} \marg{input}. +\end{commands} +Also (\emph{especially if you consider submitting the module, see + section~\vref{sec:submitting-module}}) please follow the expl3 naming +conventions for variables and functions, \ie, use \code{chemmacros} as expl3 +module name: +\begin{sourcecode} + \tl_new:N \l__chemmacros_my_internal_variable_tl + \tl_new:N \l_chemmacros_my_public_variable_tl + \cs_new:Npn \__chemmacros_my_internal_function:n #1 { ... } + \cs_new_protected:Npn \chemmacros_my_public_function:n #1 { ... } + \NewDocumentCommand \publicfunction {m} + { \chemmacros_my_public_function:n {#1} } +\end{sourcecode} +You will find more details on the naming conventions in \code{interface3.pdf} +which most likely is available on your system: +\begin{lbash} + texdoc interface3 +\end{lbash} +If you haven't read section~\vref{sec:base-module} about the \chemmodule{base} +module, yet, please have a look. There some macros for module writers are +described. Also other modules define macros for module writers which may be +useful. + +\subsection{Submitting a Module}\label{sec:submitting-module} + +If you have written a module and feel it might be useful for other users +please feel free to contact me and submit the module. I will surely take at +look at both functionality and code and if I feel that it adds value to +\chemmacros\ I will add it to the package. Requirement for this is that the +module is licensed with the \LPPL\ (v1.3 or later) and that I take over +maintenance (according to the \enquote{maintainer} status of the \lppl). + +Please do \emph{not} submit your module via pull request but send me the files +directly. In the best case you also have a short piece of documentation. + +\section{Suggestions, Bug Reports, Support}\label{sec:sugg-bug-reports} + +\paragraph{Support} +If you need support or help with anything regarding \chemmacros\ please use +the usual support forums +\begin{itemize} + \item \url{http://www.golatex.de/} or + \item \url{http://texwelt.de/wissen/} if you speak German, + \item \url{http://www.latex-community.org/forum/} or + \item \url{http://tex.stackexchange.com/} if you speak English +\end{itemize} +or go the \emph{dedicated support forum} +\begin{itemize} + \item \url{http://www.mychemistry.eu/forums/forum/chemmacros/} +\end{itemize} +where you can be sure that I will see the question. + +\paragraph{Suggestions} +If you have any suggestions on how \chemmacros\ could be improved, adding +missing features \etc, please feel free to contact me via +\email{contact@mychemistry.eu}. + +\paragraph{Bug reports} +If you find any bugs, \ie, errors (something not working as described, +conflicts with other packages, \ldots) then please go to +\url{https://github.com/cgnieder/chemmacros/issues/} and open a new issue +describing the error including a minimal working example. + +\end{document} diff --git a/macros/latex/contrib/chemmacros/chemmacros.history b/macros/latex/contrib/chemmacros/chemmacros.history index fc78d0e120..694c1039ce 100644 --- a/macros/latex/contrib/chemmacros/chemmacros.history +++ b/macros/latex/contrib/chemmacros/chemmacros.history @@ -386,3 +386,7 @@ Version history - define latin phrases on the go instead of at begin document 2020/01/16 - version 5.9a - adapt to renaming of string case changing functions +2020/02/03 - version 5.10 - define \torr as well as \Torr (units) + - prefer lazy boolean evaluation + - prefer the kernel commands to + \chemmacros_leave_vmode: and \chemmacros_tex_if: diff --git a/macros/latex/contrib/chemmacros/chemmacros.module.base.code.tex b/macros/latex/contrib/chemmacros/chemmacros.module.base.code.tex index 3f84c9097b..ed85a205e5 100644 --- a/macros/latex/contrib/chemmacros/chemmacros.module.base.code.tex +++ b/macros/latex/contrib/chemmacros/chemmacros.module.base.code.tex @@ -25,7 +25,7 @@ % % The Current Maintainer of this work is Clemens Niederberger. % -------------------------------------------------------------------------- -\ChemModule{base}{2020/01/16 basic chemmacros module} +\ChemModule{base}{2020/02/02 basic chemmacros module} % for the document hooks \ChemCompatibilityFrom{5.1} @@ -117,21 +117,27 @@ { \exp_args:Nc \NewDocumentCommand {NewChem#1} {#2} { - \bool_if:nTF { \cs_if_free_p:c {##1} && \cs_if_free_p:c {end##1} } - { #3 } + \bool_lazy_and:nnTF + { \cs_if_free_p:c {##1} } + { \cs_if_free_p:c {end##1} } + {#3} { \msg_error:nnn {chemmacros} {new-#1} {##1} } } \exp_args:Nc \NewDocumentCommand {RenewChem#1} {#2} { - \bool_if:nTF { \cs_if_free_p:c {##1} || \cs_if_free_p:c {end##1} } + \bool_lazy_or:nnTF + { \cs_if_free_p:c {##1} } + { \cs_if_free_p:c {end##1} } { \msg_error:nnn {chemmacros} {renew-#1} {##1} } - { #3 } + {#3} } \exp_args:Nc \NewDocumentCommand {DeclareChem#1} {#2} {#3} \exp_args:Nc \NewDocumentCommand {ProvideChem#1} {#2} { - \bool_if:nT { \cs_if_free_p:c {##1} && \cs_if_free_p:c {end##1} } - { #3 } + \bool_lazy_and:nT + { \cs_if_free_p:c {##1} } + { \cs_if_free_p:c {end##1} } + {#3} } \msg_new:nnn {chemmacros} {new-#1} { @@ -178,7 +184,6 @@ \cs_new_eq:NN \chemmacros_ignore_spaces: \tex_ignorespaces:D -\cs_new_protected:Npn \chemmacros_leave_vmode: { \hbox_unpack:N \c_empty_box } \cs_new_protected:Npn \chemmacros_nobreak: { \tex_penalty:D 10000 \scan_stop: } \cs_new_protected:Npn \chemmacros_allow_break: { \tex_penalty:D \c_zero_int } \cs_new_protected:Npn \chemmacros_skip_nobreak:N #1 @@ -188,13 +193,6 @@ \chemmacros_nobreak: } -% do I use those at all? -\prg_new_conditional:Npnn \chemmacros_tex_if:nn #1#2 {p,T,F,TF} - { \use:c { if #1 } #2 \prg_return_true: \else: \prg_return_false: \fi: } - -\prg_new_conditional:Npnn \chemmacros_latex_if:n #1 {p,T,F,TF} - { #1 { \prg_return_true: } { \prg_return_false: } } - % this is used at least in the `isotope' module \prg_new_conditional:Npnn \chemmacros_if_is_int:n #1 {p,T,F,TF} { @@ -272,7 +270,7 @@ { \cs_if_exist:cF {cref@#1@name} { - \chemmacros_tex_if:nnTF {@cref@capitalise} {} + \legacy_if:nTF {@cref@capitalise} { \crefname {#1} {#4} {#5} } { \crefname {#1} {#2} {#3} } \Crefname {#1} {#4} {#5} @@ -485,3 +483,4 @@ 2016/05/04 - fix \ChemCleverefSupport 2017/08/28 - add missing hyperref check 2020/01/16 - adapt to renaming of string case changing functions +2020/02/02 - lazy boolean evaluation diff --git a/macros/latex/contrib/chemmacros/chemmacros.module.chemformula.code.tex b/macros/latex/contrib/chemmacros/chemmacros.module.chemformula.code.tex index 292b90747a..7bc4be0b0a 100644 --- a/macros/latex/contrib/chemmacros/chemmacros.module.chemformula.code.tex +++ b/macros/latex/contrib/chemmacros/chemmacros.module.chemformula.code.tex @@ -25,7 +25,7 @@ % % The Current Maintainer of this work is Clemens Niederberger. % -------------------------------------------------------------------------- -\ChemModule{chemformula}{2016/05/03 integration of chemical formulas} +\ChemModule{chemformula}{2020/02/02 integration of chemical formulas} \RequirePackage{amstext} \chemmacros_load_module:n {charges} @@ -209,17 +209,12 @@ \AtEndPreamble { - \bool_if:nTF - { - !\l__chemmacros_formula_method_set_bool - && - \chemmacros_if_compatibility_p:nn {>=} {5.2} - && - \chemmacros_if_compatibility_p:nn {<} {5.6} - } - { \chemmacros_check_formula_method: } + \bool_if:NF \l__chemmacros_formula_method_set_bool { - \bool_if:NF \l__chemmacros_formula_method_set_bool + \bool_lazy_and:nnTF + { \chemmacros_if_compatibility_p:nn {>=} {5.2} } + { \chemmacros_if_compatibility_p:nn {<} {5.6} } + { \chemmacros_check_formula_method: } { \chemmacros_if_compatibility:nnTF {>=} {5.6} { \msg_info:nn {chemmacros} {default-formula-method} } @@ -242,3 +237,4 @@ - don't automatically load an available method: load `chemformula' if the users haven't decided for themselves and issue a warning 2016/05/03 - correct wrong method check +2020/02/02 - lazy boolean evaluation diff --git a/macros/latex/contrib/chemmacros/chemmacros.module.greek.code.tex b/macros/latex/contrib/chemmacros/chemmacros.module.greek.code.tex index afe973899d..ef9f8568e2 100644 --- a/macros/latex/contrib/chemmacros/chemmacros.module.greek.code.tex +++ b/macros/latex/contrib/chemmacros/chemmacros.module.greek.code.tex @@ -25,9 +25,9 @@ % % The Current Maintainer of this work is Clemens Niederberger. % -------------------------------------------------------------------------- -\ChemModule{greek}{2015/06/09 upright greek symbols} +\ChemModule{greek}{2020/02/02 upright greek symbols} -\RequirePackage{chemgreek}[2015/04/09] +\RequirePackage{chemgreek}[2020/01/16] \msg_new:nnn {chemmacros} {no-greek} { @@ -45,19 +45,15 @@ % chemgreek selects a mapping if an unambiguous choice is possible, otherwise % selects `default'. Warn the user in this case: \AtBeginDocument{ - \bool_if:nT - { - \chemgreek_if_mapping_active_p:n {default} || - \chemgreek_if_mapping_active_p:n {var-default} - } + \bool_lazy_or:nnT + { \chemgreek_if_mapping_active_p:n {default} } + { \chemgreek_if_mapping_active_p:n {var-default} } { \msg_warning:nn {chemmacros} {no-greek} } } % an option for manual selection: \chemmacros_define_global_keys:n - { - greek .code:n = \chemmacros_choose_chemgreek_mapping:n {#1} - } + { greek .code:n = \chemmacros_choose_chemgreek_mapping:n {#1} } \cs_new_protected:Npn \chemmacros_choose_chemgreek_mapping:n #1 { @@ -70,3 +66,5 @@ } % -------------------------------------------------------------------------- +\file_input_stop: +2020/02/02 - lazy boolean evaluation diff --git a/macros/latex/contrib/chemmacros/chemmacros.module.mechanisms.code.tex b/macros/latex/contrib/chemmacros/chemmacros.module.mechanisms.code.tex index 2f272bb740..812dede658 100644 --- a/macros/latex/contrib/chemmacros/chemmacros.module.mechanisms.code.tex +++ b/macros/latex/contrib/chemmacros/chemmacros.module.mechanisms.code.tex @@ -40,9 +40,9 @@ \cs_new_protected:Npn \__chemmacros_set_mechanisms:nnn #1#2#3 { - \tl_set:Nn \l__chemmacros_mechanisms_type_tl { #1 } - \tl_set:Nn \l__chemmacros_mechanisms_mol_tl { #2 } - \tl_set:Nn \l__chemmacros_mechanisms_ar_tl { #3 } + \tl_set:Nn \l__chemmacros_mechanisms_type_tl {#1} + \tl_set:Nn \l__chemmacros_mechanisms_mol_tl {#2} + \tl_set:Nn \l__chemmacros_mechanisms_ar_tl {#3} } \chemmacros_define_keys:nn {mechanisms} @@ -50,7 +50,7 @@ type .choice: , type / .code:n = { - \__chemmacros_set_mechanisms:nnn { S } + \__chemmacros_set_mechanisms:nnn {S} { \c_math_toggle_token \c_math_subscript_token { \text {N} } @@ -60,7 +60,7 @@ } , type / 1 .code:n = { - \__chemmacros_set_mechanisms:nnn { S } + \__chemmacros_set_mechanisms:nnn {S} { \c_math_toggle_token \c_math_subscript_token { \text {N} } @@ -71,7 +71,7 @@ } , type / 2 .code:n = { - \__chemmacros_set_mechanisms:nnn { S } + \__chemmacros_set_mechanisms:nnn {S} { \c_math_toggle_token \c_math_subscript_token { \text {N} } @@ -82,7 +82,7 @@ } , type / se .code:n = { - \__chemmacros_set_mechanisms:nnn { S } + \__chemmacros_set_mechanisms:nnn {S} { \c_math_toggle_token \c_math_subscript_token { \text {E} } @@ -92,7 +92,7 @@ } , type / 1e .code:n = { - \__chemmacros_set_mechanisms:nnn { S } + \__chemmacros_set_mechanisms:nnn {S} { \c_math_toggle_token \c_math_subscript_token { \text {E} } @@ -103,7 +103,7 @@ } , type / 2e .code:n = { - \__chemmacros_set_mechanisms:nnn { S } + \__chemmacros_set_mechanisms:nnn {S} { \c_math_toggle_token \c_math_subscript_token { \text {E} } @@ -114,7 +114,7 @@ } , type / ar .code:n = { - \__chemmacros_set_mechanisms:nnn { S } + \__chemmacros_set_mechanisms:nnn {S} { \c_math_toggle_token \c_math_subscript_token { \text {E} } @@ -123,14 +123,14 @@ { Ar - } } , type / e .code:n = - { \__chemmacros_set_mechanisms:nnn { E } { } { } } , + { \__chemmacros_set_mechanisms:nnn {E} { } { } } , type / e1 .code:n = - { \__chemmacros_set_mechanisms:nnn { E } { 1 } { } } , + { \__chemmacros_set_mechanisms:nnn {E} {1} { } } , type / e2 .code:n = - { \__chemmacros_set_mechanisms:nnn { E } { 2 } { } } , + { \__chemmacros_set_mechanisms:nnn {E} {2} { } } , type / cb .code:n = { - \__chemmacros_set_mechanisms:nnn { E } + \__chemmacros_set_mechanisms:nnn {E} { 1 \c_math_toggle_token diff --git a/macros/latex/contrib/chemmacros/chemmacros.module.nomenclature.code.tex b/macros/latex/contrib/chemmacros/chemmacros.module.nomenclature.code.tex index 1175b3151e..3e5b6b616d 100644 --- a/macros/latex/contrib/chemmacros/chemmacros.module.nomenclature.code.tex +++ b/macros/latex/contrib/chemmacros/chemmacros.module.nomenclature.code.tex @@ -51,10 +51,10 @@ \msg_new:nnn {chemmacros} {let-iupac} { - You've~ tried~ to~ let~ the~ iupac~ command~ \token_to_str:N #1 ~ to~ the~ - iupac~ command~ \token_to_str:N #2 ,~ but~ the~ latter~ doesn't~ exist.~ - Use~ \token_to_str:N \NewChemIUPAC \c_space_tl instead~ or~declare~ - \token_to_str:N #2 \c_space_tl first. + You've~ tried~ to~ let~ the~ iupac~ command~ \token_to_str:N #1 + \c_space_tl to~ the~ iupac~ command~ \token_to_str:N #2 ,~ but~ the~ + latter~ doesn't~ exist.~ Use~ \token_to_str:N \NewChemIUPAC \c_space_tl + instead~ or~declare~ \token_to_str:N #2 \c_space_tl first. } \msg_new:nnn {chemmacros} {new-iupac-shorthand} @@ -70,75 +70,87 @@ but~ this~ shorthand~ doesn't~ exist,~ yet. } +\msg_new:nnn {chemmacros} {show-iupac} + { \\ >~ \token_to_str:N #1=iupac~macro: \\ -> #2 } + +\msg_new:nnn {chemmacros} {no-iupac-command} + { \\ >~ \token_to_str:N #1=not~ defined~ as~ iupac~ macro } + +\cs_generate_variant:Nn \msg_show:nnnn {nnnV} + +% -------------------------------------------------------------------------- \prop_new:N \l__chemmacros_iupac_prop -\cs_new_protected:Npn \chemmacros_new_iupac:Nn #1#2 +\cs_new_protected:Npn \__chemmacros_iupac_name:NN #1#2 + { \str_set:Nx #2 { \chemmacros_remove_backslash:N #1 } } + +\cs_new_protected:Npn \__chemmacros_define_iupac:Nn #1#2 { - \tl_set:Nx \l__chemmacros_tmpa_tl - { \chemmacros_remove_backslash:N #1 } - \prop_if_in:NVTF \l__chemmacros_iupac_prop \l__chemmacros_tmpa_tl - { \msg_error:nnn {chemmacros} {new-iupac} {#1} } - { - \prop_put:NVn \l__chemmacros_iupac_prop - \l__chemmacros_tmpa_tl - {#2} - } + \__chemmacros_iupac_name:NN #1 \l__chemmacros_tmpa_str + \prop_put:NVn \l__chemmacros_iupac_prop + \l__chemmacros_tmpa_str + {#2} \chemmacros_make_iupac: } +\cs_generate_variant:Nn \__chemmacros_define_iupac:Nn {NV} -\cs_new_protected:Npn \chemmacros_provide_iupac:Nn #1#2 +\cs_new_protected:Npn \__chemmacros_let_iupac:NN #1#2 { + \__chemmacros_iupac_name:NN #1 \l__chemmacros_tmpa_str + \__chemmacros_iupac_name:NN #2 \l__chemmacros_tmpb_str \tl_set:Nx \l__chemmacros_tmpa_tl - { \chemmacros_remove_backslash:N #1 } - \prop_if_in:NVF \l__chemmacros_iupac_prop \l__chemmacros_tmpa_tl - { - \prop_put:NVn \l__chemmacros_iupac_prop - \l__chemmacros_tmpa_tl - {#2} - } - \chemmacros_make_iupac: + { \prop_item:NV \l__chemmacros_iupac_prop \l__chemmacros_tmpb_str } + \__chemmacros_define_iupac:NV #1 \l__chemmacros_tmpa_tl } -\cs_new_protected:Npn \chemmacros_define_iupac:Nn #1#2 +\cs_new_protected:Npn \chemmacros_show_iupac:N #1 { - \tl_set:Nx \l__chemmacros_tmpa_tl - { \chemmacros_remove_backslash:N #1 } - \prop_put:NVn \l__chemmacros_iupac_prop - \l__chemmacros_tmpa_tl - {#2} - \chemmacros_make_iupac: + \group_begin: + \__chemmacros_iupac_name:NN #1 \l__chemmacros_tmpa_str + \tl_set:Nx \l__chemmacros_tmpa_tl + { \prop_item:NV \l__chemmacros_iupac_prop \l__chemmacros_tmpa_str } + \tl_if_empty:NTF \l__chemmacros_tmpa_tl + { \msg_show:nnn {chemmacros} {no-iupac-command} {#1} } + { \msg_show:nnnV {chemmacros} {show-iupac} {#1} \l__chemmacros_tmpa_tl } + \group_end: + } + +\prg_new_protected_conditional:Npnn \chemmacros_if_iupac:N #1 {T,F,TF} + { + \__chemmacros_iupac_name:NN #1 \l__chemmacros_tmpa_str + \prop_if_in:NVTF \l__chemmacros_iupac_prop \l__chemmacros_tmpa_str + { \prg_return_true: } + { \prg_return_false: } + } + +\cs_new_protected:Npn \chemmacros_new_iupac:Nn #1#2 + { + \chemmacros_if_iupac:NTF #1 + { \msg_error:nnn {chemmacros} {new-iupac} {#1} } + { \__chemmacros_define_iupac:Nn #1 {#2} } } +\cs_new_protected:Npn \chemmacros_provide_iupac:Nn #1#2 + { + \chemmacros_if_iupac:NF #1 + { \__chemmacros_define_iupac:Nn #1 {#2} } + } + +\cs_new_protected:Npn \chemmacros_define_iupac:Nn #1#2 + { \__chemmacros_define_iupac:Nn #1 {#2} } + \cs_new_protected:Npn \chemmacros_renew_iupac:Nn #1#2 { - \tl_set:Nx \l__chemmacros_tmpa_tl - { \chemmacros_remove_backslash:N #1 } - \prop_if_in:NVTF \l__chemmacros_iupac_prop \l__chemmacros_tmpa_tl - { - \prop_put:NVn \l__chemmacros_iupac_prop - \l__chemmacros_tmpa_tl - {#2} - } + \chemmacros_if_iupac:NTF #1 + { \__chemmacros_define_iupac:Nn #1 {#2} } { \msg_error:nnn {chemmacros} {renew-iupac} {#1} } - \chemmacros_make_iupac: } \cs_new_protected:Npn \chemmacros_let_iupac:NN #1#2 { - \tl_set:Nx \l__chemmacros_tmpa_tl - { \chemmacros_remove_backslash:N #1 } - \tl_set:Nx \l__chemmacros_tmpb_tl - { \chemmacros_remove_backslash:N #2 } - \prop_get:NVNTF \l__chemmacros_iupac_prop - \l__chemmacros_tmpb_tl - \l__chemmacros_tmpc_tl - { - \prop_put:NVV \l__chemmacros_iupac_prop - \l__chemmacros_tmpa_tl - \l__chemmacros_tmpc_tl - } + \chemmacros_if_iupac:NTF #2 + { \__chemmacros_let_iupac:NN #1#2 } { \msg_error:nnnn {chemmacros} {let-iupac} {#1} {#2} } - \chemmacros_make_iupac: } \ChemCompatibilityTo{5.2} @@ -220,6 +232,7 @@ \NewDocumentCommand \LetChemIUPAC {mm} { \chemmacros_let_iupac:NN #1 #2 } +% -------------------------------------------------------------------------- \chemmacros_define_keys:nn {nomenclature} { iupac .choice: , @@ -234,6 +247,7 @@ \bool_set_true:N \l__chemmacros_iupac_strict_bool , } +% -------------------------------------------------------------------------- % stereo descriptors and other nomenclature commands % Cahn-Ingold-Prelog \dim_new:N \l__chemmacros_cip_kern_dim @@ -643,6 +657,9 @@ } } +\NewDocumentCommand \ChemMakeIupacShorthands {} + { \chemmacros_make_shorthands: } + \NewDocumentCommand \DeclareChemIUPACShorthand {mm} { \chemmacros_define_iupac_shorthand:NN #1#2 } @@ -674,20 +691,20 @@ \NewChemIUPACShorthand - \chemmacros_break_point_hyphen: \ChemCompatibilityFrom{5.1} -\NewChemIUPACShorthand ( \chemmacros_break_point_opening_paren: -\NewChemIUPACShorthand ) \chemmacros_break_point_closing_paren: -\NewChemIUPACShorthand [ \chemmacros_break_point_opening_bracket: -\NewChemIUPACShorthand ] \chemmacros_break_point_closing_bracket: + \NewChemIUPACShorthand ( \chemmacros_break_point_opening_paren: + \NewChemIUPACShorthand ) \chemmacros_break_point_closing_paren: + \NewChemIUPACShorthand [ \chemmacros_break_point_opening_bracket: + \NewChemIUPACShorthand ] \chemmacros_break_point_closing_bracket: \EndChemCompatibility \ChemCompatibilityFrom{5.3} -\NewChemIUPAC \chemprime { \ensuremath {{}^{\prime}} } -\NewChemIUPACShorthand ' \chemprime + \NewChemIUPAC \chemprime { \ensuremath {{}^{\prime}} } + \NewChemIUPACShorthand ' \chemprime \EndChemCompatibility \ChemCompatibilityFrom{5.8c} -\NewChemIUPAC \nonbreakinghyphen { \mbox{-} \nobreak \hspace{0pt} } -\NewChemIUPACShorthand = \nonbreakinghyphen + \NewChemIUPAC \nonbreakinghyphen { \mbox{-} \nobreak \hspace{0pt} } + \NewChemIUPACShorthand = \nonbreakinghyphen \EndChemCompatibility \cs_new_protected:Npn \chemmacros_iupac:nn #1#2 @@ -697,13 +714,13 @@ \chemmacros_set_keys:nn {nomenclature} {#1} \chemmacros_make_iupac: \chemmacros_make_shorthands: - % what's this vvv in here for? - \chemmacros_ignore_spaces: + % \prop_show:N \l__chemmacros_iupac_shorthands_prop \chemmacros_if_compatibility:nnT {<=} {5.2} { \chemmacros_define_deprecated:NN \- - } \tl_set_rescan:Nnn \l__chemmacros_tmpa_tl { \chemmacros_activate_all_iupac_shorthands: } {#2} + % \tl_analysis_show:N \l__chemmacros_tmpa_tl \group_end: } @@ -953,3 +970,5 @@ `cip-number-format' 2017/06/11 - change behaviour of \__chemmacros_break_point_insert:nnn so it does nothing as last token in \iupac +2020/01/02 - \chemmacros_show_iupac:N + - \chemmacros_if_iupac:NTF diff --git a/macros/latex/contrib/chemmacros/chemmacros.module.phases.code.tex b/macros/latex/contrib/chemmacros/chemmacros.module.phases.code.tex index 1ddcc094bb..d305470efa 100644 --- a/macros/latex/contrib/chemmacros/chemmacros.module.phases.code.tex +++ b/macros/latex/contrib/chemmacros/chemmacros.module.phases.code.tex @@ -80,7 +80,7 @@ \cs_new_protected:Npn \chemmacros_phase:n #1 { - \chemmacros_leave_vmode: + \mode_leave_vertical: \bool_if:NTF \l__chemmacros_phases_sub_bool { \chemformula_subscript:n { (#1) } } { diff --git a/macros/latex/contrib/chemmacros/chemmacros.module.reactions.code.tex b/macros/latex/contrib/chemmacros/chemmacros.module.reactions.code.tex index c30c5fac89..0d2161cc2b 100644 --- a/macros/latex/contrib/chemmacros/chemmacros.module.reactions.code.tex +++ b/macros/latex/contrib/chemmacros/chemmacros.module.reactions.code.tex @@ -25,7 +25,7 @@ % % The Current Maintainer of this work is Clemens Niederberger. % -------------------------------------------------------------------------- -\ChemModule{reactions}{2019/09/27 reaction environments} +\ChemModule{reactions}{2020/02/02 reaction environments} \chemmacros_load_module:n {chemformula} @@ -167,11 +167,9 @@ \AtEndPreamble { - \bool_if:nT - { - \chemmacros_if_package_loaded_p:n {tocbasic} || - \l__chemmacros_reactions_tocbasic_bool - } + \bool_lazy_or:nnT + { \chemmacros_if_package_loaded_p:n {tocbasic} } + { \l__chemmacros_reactions_tocbasic_bool } { \RequirePackage {tocbasic} \addtotoclist [float] {lor} @@ -444,3 +442,4 @@ 2016/05/04 - options `tag-open', `tag-close' and `before-tag' 2019/09/23 - added Norwegian translations 2019/09/27 - change `O{}' argument of reactions into `!O{}' +2020/02/02 - lazy boolean evaluation diff --git a/macros/latex/contrib/chemmacros/chemmacros.module.redox.code.tex b/macros/latex/contrib/chemmacros/chemmacros.module.redox.code.tex index cbc0b2e242..2c0421b470 100644 --- a/macros/latex/contrib/chemmacros/chemmacros.module.redox.code.tex +++ b/macros/latex/contrib/chemmacros/chemmacros.module.redox.code.tex @@ -25,7 +25,7 @@ % % The Current Maintainer of this work is Clemens Niederberger. % -------------------------------------------------------------------------- -\ChemModule{redox}{2015/09/30 oxidation numbers, redox reactions} +\ChemModule{redox}{2020/02/02 oxidation numbers, redox reactions} \chemmacros_load_modules:n {tikz,xfrac} @@ -85,18 +85,14 @@ \ChemCompatibilityTo{5.4} \cs_new_protected:Npn \__chemmacros_ox_sign:n #1 { - \bool_if:nT - { - \fp_compare_p:n { #1 > 0 } && - \l__chemmacros_ox_explicit_sign_bool - } + \bool_lazy_and:nnT + { \fp_compare_p:n { #1 > 0 } } + { \l__chemmacros_ox_explicit_sign_bool } { \c_math_toggle_token + \c_math_toggle_token } - \bool_if:nT - { - \fp_compare_p:n { #1 = 0 } && - \l__chemmacros_ox_explicit_sign_bool - } - { \c_math_toggle_token \pm \c_math_toggle_token } + \bool_lazy_and:nnT + { \fp_compare_p:n { #1 = 0 } } + { \l__chemmacros_ox_explicit_sign_bool } + { \c_math_toggle_token \pm \c_math_toggle_token } \fp_compare:nT { #1 < 0 } { \c_math_toggle_token - \c_math_toggle_token } } @@ -104,19 +100,17 @@ \ChemCompatibilityFrom{5.4} \cs_new_protected:Npn \__chemmacros_ox_sign:n #1 { - \bool_if:nT + \bool_lazy_and:nnT + { \fp_compare_p:n { #1 > 0 } } + { \l__chemmacros_ox_explicit_sign_bool } + { \c_math_toggle_token + \c_math_toggle_token } + \bool_lazy_all:nT { - \fp_compare_p:n { #1 > 0 } && - \l__chemmacros_ox_explicit_sign_bool + { \fp_compare_p:n { #1 = 0 } } + { \l__chemmacros_ox_explicit_sign_bool } + { \l__chemmacros_ox_explicit_zero_sign_bool } } - { \c_math_toggle_token + \c_math_toggle_token } - \bool_if:nT - { - \fp_compare_p:n { #1 = 0 } && - \l__chemmacros_ox_explicit_sign_bool && - \l__chemmacros_ox_explicit_zero_sign_bool - } - { \c_math_toggle_token \pm \c_math_toggle_token } + { \c_math_toggle_token \pm \c_math_toggle_token } \fp_compare:nT { #1 < 0 } { \c_math_toggle_token - \c_math_toggle_token } } @@ -334,7 +328,7 @@ % TODO: add option to make `#2' be parsed as chem formula \cs_new_protected:Npn \chemmacros_redox_partner:nn #1#2 { - \chemmacros_tex_if:nnTF {measuring@} {} + \legacy_if:nTF {measuring@} { \group_begin: \tikz[baseline=(#1.base)] { \node [inner~sep=0pt] (#1) {#2} ; } @@ -437,4 +431,5 @@ % -------------------------------------------------------------------------- \file_input_stop: 2015/09/30 - new option `explicit-zero-sign' - +2020/02/02 - lazy boolean evaluation + - prefer \legacy_if:nTF over \chemmacros_if_tex:nnTF diff --git a/macros/latex/contrib/chemmacros/chemmacros.module.scheme.code.tex b/macros/latex/contrib/chemmacros/chemmacros.module.scheme.code.tex index 057acbf70c..97e1a11cb0 100644 --- a/macros/latex/contrib/chemmacros/chemmacros.module.scheme.code.tex +++ b/macros/latex/contrib/chemmacros/chemmacros.module.scheme.code.tex @@ -25,7 +25,7 @@ % % The Current Maintainer of this work is Clemens Niederberger. % -------------------------------------------------------------------------- -\ChemModule{scheme}{2019/09/23 a scheme floating environment} +\ChemModule{scheme}{2020/02/02 a scheme floating environment} \RequirePackage {chemnum} @@ -80,7 +80,7 @@ \counterwithin {#1} {chapter} \setcounter {#1} {0} } - \chemmacros_tex_if:nnT {artopt} {} + \legacy_if:nT {artopt} { \counterwithout {#1} {chapter} } } @@ -136,12 +136,15 @@ { \prop_get:NnNT \l__chemmacros_float_methods_prop {#1} \l__chemmacros_tmpa_tl - \bool_if:nT - { !\l__chemmacros_float_def_bool && \l__chemmacros_tmpa_tl } { - \bool_set_true:N \l__chemmacros_float_def_bool - \tl_set:Nn \l__chemmacros_float_method_tl {#1} - \msg_info:nnn {chemmacros} {float-method} {#1} + \bool_lazy_and:nnT + { !\l__chemmacros_float_def_bool } + { \l__chemmacros_tmpa_tl } + { + \bool_set_true:N \l__chemmacros_float_def_bool + \tl_set:Nn \l__chemmacros_float_method_tl {#1} + \msg_info:nnn {chemmacros} {float-method} {#1} + } } } @@ -180,8 +183,9 @@ % #1: env name \cs_new_protected:Npn \chemmacros_define_float:nn #1#2 { - \bool_if:nT - { !\cs_if_exist_p:c {#1} && !\cs_if_exist_p:c {end#1} } + \bool_lazy_and:nnT + { !\cs_if_exist_p:c {#1} } + { !\cs_if_exist_p:c {end#1} } { \bool_if:NTF \l__chemmacros_float_def_bool { @@ -209,15 +213,13 @@ \newenvironment {#1*} {\@dblfloat{#1}} {\end@dblfloat} - \bool_if:nTF - { - \chemmacros_if_class_loaded_p:n {book} || - \chemmacros_if_class_loaded_p:n {report} - } + \bool_lazy_or:nnTF + { \chemmacros_if_class_loaded_p:n {book} } + { \chemmacros_if_class_loaded_p:n {report} } { \cs_new_protected:cpn {listof#1s} { - \chemmacros_tex_if:nnTF {@twocolumn} {} + \legacy_if:nTF {@twocolumn} { \@restonecoltrue\onecolumn } { \@restonecolfalse } \exp_args:NNx \chapter* {\exp_not:c {list#1name}} @@ -225,8 +227,7 @@ { \MakeUppercase \use:c {list#1name} } { \MakeUppercase \use:c {list#1name} } \@starttoc {#2} - \chemmacros_tex_if:nnT {@restonecol} {} - { \twocolumn } + \legacy_if:nT {@restonecol} { \twocolumn } } } { @@ -319,5 +320,7 @@ 2015/10/23 - add info message to float method detection 2016/01/23 - make the module compatible with chemscheme 2016/04/25 - cleveref and fancyref support -2016/12/28 - bug fix: typo in \chemmacros_tex_if:nnTF usage +2016/12/28 - bug fix: typo in \chemmacros_if_tex:nnTF usage 2019/03/23 - added Norwegian translations +2020/02/03 - lazy boolean evaluation + - prefer \legacy_if:nTF over \chemmacros_if_tex:nnTF diff --git a/macros/latex/contrib/chemmacros/chemmacros.module.spectroscopy.code.tex b/macros/latex/contrib/chemmacros/chemmacros.module.spectroscopy.code.tex index a1be3187aa..c7e7037829 100644 --- a/macros/latex/contrib/chemmacros/chemmacros.module.spectroscopy.code.tex +++ b/macros/latex/contrib/chemmacros/chemmacros.module.spectroscopy.code.tex @@ -25,7 +25,7 @@ % % The Current Maintainer of this work is Clemens Niederberger. % -------------------------------------------------------------------------- -\ChemModule{spectroscopy}{2015/12/31 environment for spectroscopic data} +\ChemModule{spectroscopy}{2020/02/02 environment for spectroscopic data} \chemmacros_load_modules:n {chemformula} \RequirePackage{siunitx} @@ -268,26 +268,20 @@ { \bool_if:NT \l__chemmacros_nmr_list_bool { \item \scan_stop: } \group_begin: - \chemmacros_leave_vmode: + \mode_leave_vertical: \bool_set_false:N \l__chemmacros_nmr_frequency_bool \bool_set_false:N \l__chemmacros_nmr_solvent_bool \tl_if_empty:nF {#3} { \bool_set_true:N \l__chemmacros_nmr_frequency_bool } \tl_if_empty:nF {#4} { \bool_set_true:N \l__chemmacros_nmr_solvent_bool } - \bool_if:nT - { - \l__chemmacros_nmr_frequency_bool - || - \l__chemmacros_nmr_solvent_bool - } + \bool_lazy_or:nnT + { \l__chemmacros_nmr_frequency_bool } + { \l__chemmacros_nmr_solvent_bool } { \bool_set_true:N \l__chemmacros_nmr_delimiters_bool } - \bool_if:nT - { - \l__chemmacros_nmr_frequency_bool - && - \l__chemmacros_nmr_solvent_bool - } + \bool_lazy_and:nnT + { \l__chemmacros_nmr_frequency_bool } + { \l__chemmacros_nmr_solvent_bool } { \bool_set_true:N \l__chemmacros_nmr_comma_bool } \tl_if_empty:nTF {#2} { @@ -516,3 +510,4 @@ \file_input_stop: 2015/12/31 - new option `atom-number-space' 2017/01/27 - new option `nmr-base-format' +2020/02/02 - lazy boolean evaluation diff --git a/macros/latex/contrib/chemmacros/chemmacros.module.units.code.tex b/macros/latex/contrib/chemmacros/chemmacros.module.units.code.tex index 7b90faad3a..e8c4595af8 100644 --- a/macros/latex/contrib/chemmacros/chemmacros.module.units.code.tex +++ b/macros/latex/contrib/chemmacros/chemmacros.module.units.code.tex @@ -25,7 +25,7 @@ % % The Current Maintainer of this work is Clemens Niederberger. % -------------------------------------------------------------------------- -\ChemModule{units}{2019/11/07 chemical units} +\ChemModule{units}{2020/02/02 chemical units} \RequirePackage{siunitx} @@ -37,9 +37,18 @@ \DeclareSIUnit \moLar {\mole\per\liter} \DeclareSIUnit \MolMass {\gram\per\mole} \DeclareSIUnit \normal {\textsc{n}} -\chemmacros_if_compatibility:nnTF {<} {5.8g} - { \DeclareSIUnit \torr {torr} } - { \DeclareSIUnit \Torr {Torr} } + +\ChemCompatibilityTo{5.8g} + \DeclareSIUnit \torr {torr} +\EndChemCompatibility + +\ChemCompatibilityFrom{5.8h} + \DeclareSIUnit \Torr {Torr} +\EndChemCompatibility + +\ChemCompatibilityFrom{5.10} + \DeclareSIUnit \torr {Torr} +\EndChemCompatibility \AtEndPreamble { diff --git a/macros/latex/contrib/chemmacros/chemmacros.sty b/macros/latex/contrib/chemmacros/chemmacros.sty index e18a84fe95..ca76b8ab2c 100644 --- a/macros/latex/contrib/chemmacros/chemmacros.sty +++ b/macros/latex/contrib/chemmacros/chemmacros.sty @@ -31,10 +31,10 @@ % -------------------------------------------------------------------------- % package information: -\tl_const:Nn \c_chemmacros_date_tl {2020/01/16} +\tl_const:Nn \c_chemmacros_date_tl {2020/02/03} \tl_const:Nn \c_chemmacros_version_major_number_tl {5} -\tl_const:Nn \c_chemmacros_version_minor_number_tl {9} -\tl_const:Nn \c_chemmacros_version_subrelease_tl {a} +\tl_const:Nn \c_chemmacros_version_minor_number_tl {10} +\tl_const:Nn \c_chemmacros_version_subrelease_tl {} \tl_const:Nx \c_chemmacros_version_number_tl { \c_chemmacros_version_major_number_tl . @@ -208,11 +208,9 @@ \cs_new_protected:Npn \ChemCompatibilityBetween #1#2#3 \EndChemCompatibility { - \bool_if:nT - { - \chemmacros_if_compatibility_p:nn {>=} {#1} && - \chemmacros_if_compatibility_p:nn {<} {#2} - } + \bool_lazy_and:nnT + { \chemmacros_if_compatibility_p:nn {>=} {#1} } + { \chemmacros_if_compatibility_p:nn {<} {#2} } {#3} } @@ -267,6 +265,8 @@ { \RequirePackage{chemmacros4} } { \RequirePackage{chemmacros5} } -% -------------------------------------------------------------------------- \file_input_stop: - +% -------------------------------------------------------------------------- +2020/02/03 - lazy boolean evaluation + - prefer the kernel commands to \chemmacros_leave_vmode: and + \chemmacros_tex_if: diff --git a/macros/latex/contrib/chemmacros/chemmacros4.sty b/macros/latex/contrib/chemmacros/chemmacros4.sty index a9f6b2dfd3..bb392f5afd 100644 --- a/macros/latex/contrib/chemmacros/chemmacros4.sty +++ b/macros/latex/contrib/chemmacros/chemmacros4.sty @@ -606,7 +606,7 @@ % -------------------------------------------------------------------------- % a few general functions: -\cs_new_eq:NN \chemmacros_leave_vmode: \chemformula_leave_vmode: +\cs_new_eq:NN \mode_leave_vertical: \chemformula_leave_vmode: \cs_new_eq:NN \chemmacros_ignore_spaces: \tex_ignorespaces:D \cs_new_eq:NN \chemmacros_nobreak: \chemformula_nobreak: \cs_new_eq:NN \chemmacros_allow_break: \chemformula_allow_break: @@ -2295,7 +2295,7 @@ { \bool_if:NT \l__chemmacros_nmr_list_bool { \item \scan_stop: } \group_begin: - \chemmacros_leave_vmode: + \mode_leave_vertical: \bool_set_false:N \l__chemmacros_nmr_frequency_bool \bool_set_false:N \l__chemmacros_nmr_solvent_bool \tl_if_empty:nF { #3 } diff --git a/macros/latex/contrib/chemmacros/chemmacros5.sty b/macros/latex/contrib/chemmacros/chemmacros5.sty index 1f5ecbc939..e82088aa27 100644 --- a/macros/latex/contrib/chemmacros/chemmacros5.sty +++ b/macros/latex/contrib/chemmacros/chemmacros5.sty @@ -85,19 +85,19 @@ % -------------------------------------------------------------------------- % variants of kernel functions: -\cs_generate_variant:Nn \tl_if_eq:nnTF { xx , V } -\cs_generate_variant:Nn \seq_set_split:Nnn { Nnx } -\cs_generate_variant:Nn \prop_item:Nn { NV } -\cs_generate_variant:Nn \seq_item:Nn { cV } -\cs_generate_variant:Nn \int_to_arabic:n { V } -\cs_generate_variant:Nn \tl_replace_once:Nnn { NnV } -\cs_generate_variant:Nn \prop_gput:Nnn { cxx , NVf } -\cs_generate_variant:Nn \msg_error:nnn { nnV } -\cs_generate_variant:Nn \msg_warning:nnn { nnV } -\cs_generate_variant:Nn \msg_warning:nnnn { nnV } -\cs_generate_variant:Nn \vbox_set:Nn { NV } -\cs_generate_variant:Nn \keys_define:nn { x } -\cs_generate_variant:Nn \keys_set:nn { x , nx } +\cs_generate_variant:Nn \tl_if_eq:nnTF {xx,V} +\cs_generate_variant:Nn \seq_set_split:Nnn {Nnx} +\cs_generate_variant:Nn \prop_item:Nn {NV} +\cs_generate_variant:Nn \seq_item:Nn {cV} +\cs_generate_variant:Nn \int_to_arabic:n {V} +\cs_generate_variant:Nn \tl_replace_once:Nnn {NnV} +\cs_generate_variant:Nn \prop_gput:Nnn {cxx,NVf} +\cs_generate_variant:Nn \msg_error:nnn {nnV} +\cs_generate_variant:Nn \msg_warning:nnn {nnV} +\cs_generate_variant:Nn \msg_warning:nnnn {nnV} +\cs_generate_variant:Nn \vbox_set:Nn {NV} +\cs_generate_variant:Nn \keys_define:nn {x} +\cs_generate_variant:Nn \keys_set:nn {x,nx} % -------------------------------------------------------------------------- % temporary variables: @@ -130,6 +130,10 @@ \clist_new:N \l__chemmacros_tmpb_clist \clist_new:N \l__chemmacros_tmpc_clist +\str_new:N \l__chemmacros_tmpa_str +\str_new:N \l__chemmacros_tmpb_str +\str_new:N \l__chemmacros_tmpc_str + % -------------------------------------------------------------------------- % module mechanism: \tl_const:Nn \c__chemmacros_module_extension_tl {code.tex} @@ -323,3 +327,4 @@ Version history 2015/10/14 - bug fix in the module hook mechanism - bug fix in \chemmacros_if_module_loaded:n - new `errorcheck' module +2020/02/03 - add temporary string variables diff --git a/macros/latex/contrib/chemmacros/chemmacros_en.pdf b/macros/latex/contrib/chemmacros/chemmacros_en.pdf deleted file mode 100644 index 5619833757..0000000000 Binary files a/macros/latex/contrib/chemmacros/chemmacros_en.pdf and /dev/null differ diff --git a/macros/latex/contrib/chemmacros/chemmacros_en.tex b/macros/latex/contrib/chemmacros/chemmacros_en.tex deleted file mode 100644 index 9bf20e8789..0000000000 --- a/macros/latex/contrib/chemmacros/chemmacros_en.tex +++ /dev/null @@ -1,3707 +0,0 @@ -% !arara: pdflatex -% !arara: biber -% arara: pdflatex: { action: nonstopmode } -% arara: pdflatex: { action: nonstopmode } -% -------------------------------------------------------------------------- -% the CHEMMACROS package -% -% comprehensive support for typesetting chemistry documents -% -% -------------------------------------------------------------------------- -% Clemens Niederberger -% -------------------------------------------------------------------------- -% https://github.com/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.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. -% -------------------------------------------------------------------------- -\documentclass[load-preamble+]{cnltx-doc} -\usepackage[utf8]{inputenc} -\usepackage[compatibility=newest]{chemmacros} -\setcnltx{ - package = {chemmacros}, - info = {comprehensive support for typesetting chemistry documents}, - url = https://github.com/cgnieder/chemmacros , - authors = Clemens Niederberger , - email = contact@mychemistry.eu , - abstract = {% - \centering - \includegraphics{chemmacros-logo.pdf} - \par - } , - quote-format = \small\biolinumLF , - add-cmds = { - abinitio, activatechemgreekmapping, AddRxnDesc, anti, aq, aqi, - ba, bond, bridge, - cd, ch, changechemgreeksymbol, charrow, chcpd, chemabove, chemalpha, - chembeta, ChemCleverefSupport, chemdelta, chemDelta, - ChemFancyrefSupport, chemformula@bondlength, chemgamma, ChemModule, - chemomega, chemphi, chemPhi, chemsetup, chlewis, chname , cip, cis, ch, - CNMR, - data, DeclareChemArrow, DeclareChemBond, DeclareChemBondAlias, - DeclareChemCharge, DeclareChemEqConstant, declarechemgreekmapping, - DeclareChemIUPAC, DeclareChemIUPACShorthand, DeclareChemLatin, - DeclareChemNMR, DeclareChemNucleophile, DeclareChemPartialCharge, - DeclareChemParticle, DeclareChemPhase, DeclareChemReaction, - DeclareChemState, - delm, delp, Delta, dexter, Dfi, - el, ElPot, endo, entgegen, Enthalpy, enthalpy, entropy, - fdelm, fdelp, fmch, fminus, fpch, fplus, fscrm, fscrp, - gas, ghs, ghslistall, ghspic, gibbs, gram, - hapto, HNMR, Helmholtz, hydrogen, - IfChemCompatibilityF, IfChemCompatibilityT, IfChemCompatibilityTF, insitu, - invacuo, isotope, iupac, - Ka, Kb, Kw, - laevus, Lfi, listofreactions, lqd, - makepolymerdelims, mch, mega, meta, mhName, - NewChemArrow, NewChemBond, NewChemBondAlias, - NewChemCharge, NewChemEqConstant, newchemgreekmapping, NewChemIUPAC, - NewChemIUPACShorthand, NewChemLatin, NewChemMacroset, NewChemNMR, - NewChemNucleophile, NewChemPartialCharge, NewChemParticle, NewChemPhase, - NewChemReaction, NewChemState, - newman, nitrogen, NMR, Nu, Nuc, - orbital, ortho, ox, OX, oxygen, - para, pch, per, pH, phase, phosphorus, photon, pKa, pKb, pOH, pos, - positron, Pot, ProvideChemArrow, ProvideChemBond, ProvideChemCharge, - ProvideChemEqConstant, ProvideChemIUPAC, ProvideChemIUPACShorthand, - ProvideChemLatin, ProvideChemNMR, ProvideChemNucleophile, - ProvideChemPartialCharge, ProvideChemParticle, ProvideChemPhase, - ProvideChemReaction, - ProvideChemState, prt, - Rad, redox, RemoveChemIUPACShorthand, RenewChemArrow, RenewChemBond, - RenewChemCharge, RenewChemEqConstant, renewchemgreekmapping, - RenewChemIUPAC, RenewChemIUPACShorthand, RenewChemLatin, RenewChemNMR, - RenewChemNucleophile, RenewChemPartialCharge, RenewChemParticle, - RenewChemPhase, RenewChemState, - Sf, scrm, scrp, second, selectchemgreekmapping, setchemformula, - ShowChemArrow, ShowChemBond, sld, Sod, state, sulfur, - trans, - usechemmodule, - val, - zusammen - } , - add-silent-cmds = { - addplot, - bottomrule, - cancel, cdot, ce, cee, celsius, centering, chemfig, chemname, clap, - cnsetup, code, color, cstack, cstsetup, - DeclareInstance, DeclareSIUnit, definecolor, draw, - electronvolt, endtikzpicture, - footnotesize, - glqq, grqq, - hertz, hspace, - includegraphics, intertext, IUPAC, - joule, - kelvin, kilo, - latin, lc, lewis, Lewis, liquid, ltn, - metre, midrule, milli, mmHg, mole, - nano, nicefrac, num, numrange, - ominus, oplus, - percent, pgfarrowsdeclarealias, pgfarrowsrenewalias, - renewtagform, rightarrow, - sample, scriptscriptstyle, setchemfig, sfrac, shade, - shadedraw, shorthandoff, si, SI, sisetup, square, subsection, - textcolor, textendash, textsuperscript, tikz, tikzpicture, tiny, toprule, - upbeta, upeta, upgamma, usetikzlibrary, - volt, vphantom, vspave, - xspace, - z@, z@skip - } , - index-setup = { othercode = \footnotesize , level = \section } , - makeindex-setup = { columns = 2 , columnsep = 1em } -} - -\usepackage{booktabs,array,longtable} - -\usepackage{chemfig,cancel,varioref,csquotes} - -\usepackage[ - a4paper, - top = .1\paperheight, - bottom = .1\paperheight, - left = .2\paperwidth, - right = .1\paperwidth -]{geometry} - - -\makeatletter -\def\libertine@figurestyle{LF} -\usepackage{amsmath} -\undef\lvert \undef\lVert -\undef\rvert \undef\rVert -\usepackage[libertine]{newtxmath} -\def\libertine@figurestyle{OsF} -\makeatother - -\usepackage[biblatex]{embrac} -\ChangeEmph{[}[,.02em]{]}[.055em,-.08em] -\ChangeEmph{(}[-.01em,.04em]{)}[.04em,-.05em] - -\usepackage[accsupp]{acro} -\acsetup{ - long-format = \scshape , - short-format = \scshape -} -\DeclareAcronym{ghs}{ - short = ghs , - long = Globally Harmonized System of Classification and Labelling of - Chemicals , - pdfstring = GHS , - accsupp = GHS -} -\DeclareAcronym{eu}{ - short = EU , - long = European Union , - pdfstring = EU , - accsupp = EU -} -\DeclareAcronym{iupac}{ - short = iupac , - long = International Union of Pure and Applied Chemistry , - pdfstring = IUPAC , - accsupp = IUPAC -} -\DeclareAcronym{UN}{ - short = un , - long = United Nations , - pdfstring = UN , - accsupp = UN -} -\DeclareAcronym{dvi}{ - short = dvi , - long = device independent file format , - pdfstring = DVI , - accsupp = DVO -} -\DeclareAcronym{pdf}{ - short = pdf , - long = portable document file , - pdfstring = PDF , - accsupp = PDF -} -\DeclareAcronym{id}{ - short = id , - long = identification string , - pdfstring = ID , - accsupp = ID -} - -\chemsetup{ - modules = {all,polymers} , - greek = newtx , - formula = chemformula , - chemformula/format = \libertineLF -} - -\usepackage{siunitx} - -\sisetup{ - detect-mode=false, - mode=text, - text-rm=\libertineLF -} - -\usepackage{filecontents} - -\defbibheading{bibliography}{\section{References}} -\addbibresource{\jobname.bib} -\begin{filecontents*}{\jobname.bib} -@book{iupac:greenbook, - author = {E. Richard Cohan and Tomislav Cvita\v{s} and Jeremy G. Frey and - Bertil Holmstr\"om and Kozo Kuchitsu and Roberto Marquardt and Ian Mills and - Franco Pavese and Martin Quack and J\"urgen Stohner and Herbert L. Strauss and - Michio Takami and Anders J Thor} , - title = {``Quantities, Symbols and Units in Physical Chemistry'', \acs{iupac} - Green Book} , - shorttitle = {The \acs{iupac} Green Book} , - sorttitle = {Quantities, Symbols and Units in Physical Chemistry} , - indexsorttitle = {Quantities, Symbols and Units in Physical Chemistry} , - edition = {3rd Edition. 2nd Printing} , - year = {2008} , - publisher = {\acs{iupac} \&\ RSC Publishing, Cambridge} -} -@book{iupac:redbook, - author = {Neil G. Connelly and Ture Damhus and Richard M. Hartshorn and - Alan T. Hutton} , - title = {``Nomenclature of Inorganic Chemistry'', \acs{iupac} Red Book} , - shorttitle = {The \acs{iupac} Red Book} , - sorttitle = {Nomenclature of Inorganic Chemistry} , - indexsorttitle = {Nomenclature of Inorganic Chemistry} , - year = {2005} , - publisher = { \acs{iupac} \&\ RSC Publishing, Cambridge} , - isbn = {0-85404-438-8} -} -@book{iupac:bluebook, - author = {R. Panico and W. H. Powell and J-C. Richer}, - title = {``Nomenclature of Organic Chemistry, Sections A, B, C, D, E, F, - and H'', \acs{iupac} Blue Book}, - shorttitle = {The \acs{iupac} Blue Book} , - sorttitle = {Nomenclature of Organic Chemistry} , - indexsorttitle = {Nomenclature of Organic Chemistry} , - edition = {\mkbibacro{draft}}, - date = {2004-10-07}, - url = - {http://old.iupac.org/reports/provisional/abstract04/BB-prs310305/CompleteDraft.pdf}, - urldate = {2013-07-07} -} -@misc{eu:ghsystem_regulation, - author = {{The European Parliament and The Council of the European Union}}, - sortname = {European Parliament and The Council of the European Union} , - title = {Regulation (EC) No 1272/2008 of the European Parliament and of - the Council} , - subtitle = {on classification, labelling and packaging of substances and - mixtures, amending and repealing Directives 67/548/EEC and 1999/45/EC, and - amending Regulation (EC) No 1907/2006} , - journal = {Official Journal of the European Union} , - date = {2008-12-16} -} -@online{unece:ghsystem_implementation, - author = {{United Nations Economic Commission for Europe}} , - title = {GHS Implementation} , - url = - {http://www.unece.org/trans/danger/publi/ghs/implementation_e.html} , - urldate = {2012-03-20} , - date = {2012-03-20} -} -@online{mychemistry:chemmacros-dev, - author = {Clemens Niederberger} , - title = {chemmacros development} , - url = {http://www.mychemistry.eu/2015/06/chemmacros-development/} , - urldate = {2015-07-16} , - date = {2015-06-14} -} -@online{mychemistry:modular-chemmacros, - author = {Clemens Niederberger} , - title = {modular chemmacros} , - url = {http://www.mychemistry.eu/2015/06/modular-chemmacros/} , - urldate = {2015-07-16} , - date = {2015-06-08} -} -@online{mychemistry:chemmacros-update-how, - author = {Clemens Niederberger} , - title = {a new chemmacros -- but how?} , - url = {http://www.mychemistry.eu/2015/07/a-new-chemmacros-but-how/} , - urldate = {2015-07-16} , - date = {2015-07-15} -} -\end{filecontents*} - -\DeclareInstance{xfrac}{chemformula-text-frac}{text} - { - scale-factor = 1 , - denominator-bot-sep = -.2ex , - denominator-format = \scriptsize #1 , - numerator-top-sep = -.2ex , - numerator-format = \scriptsize #1 , - slash-right-kern = .05em , - slash-left-kern = .05em - } - -\usetikzlibrary{calc,positioning,decorations.pathmorphing,patterns} - -% \newpackagename\chemmacros{chemmacros} -\newcommand*\chemmacrosversion{\csname c_chemmacros_version_tl\endcsname} -\newpackagename\chemformula{chemformula} -\newpackagename\ghsystem{ghsystem} -\newpackagename\chemgreek{chemgreek} - -\renewcommand*\AmS{\hologo{AmS}} -\newcommand*\TikZ{Ti\textit{k}Z} -\newcommand*\tablehead[1]{\textrm{\bfseries#1}} - -\providecommand*\XyM{% - X\kern-.30em - \smash{\raise.50ex\hbox{\char'7}}% - \kern-.30em M% -} -\providecommand*\XyMTeX{\XyM\kern-.1em\TeX} - -% \NewChemPhase{\aqi}{aq,$\infty$}% aqueous solution at infinite dilution -% \NewChemPhase{\cd}{cd}% condensed phase -% \NewChemPhase{\lc}{lc}% liquid crystal - -\newname\hensel{Martin Hensel} -\newname\pedersen{Bj\o rn Pedersen} - -\newcommand*\iupaccs[3][]{% - \command{#2}[\quad\iupac{\csuse{#2}}] - #3\ifblank{#1}{}{\ifblank{#3}{}{ }An alias for this command is \cs{#1}.}% -} - -% \undef\module -% \undef\moduleidx -\newidxcmd\chemmodule{\code{#1}}[ (module)] -\newidxcmd\tikzdecoration{\code{#1}}[ (\TikZ\ decoration)] -\AtEndPreamble{% - \pdfstringdefDisableCommands{% - \def\chemmodule*#1{\textquotedblleft#1\textquotedblright}% - }% -} -\newidxcmd\sym{\code{#1}}[ (symbol)] - -\makeatletter -\def\cnltx@bash@listings@style{ - language = bash, - basicstyle = {\sourceformat\color{black}}, - % numbers = left, - % numberstyle = \tiny, - xleftmargin = 1em, - numbersep = .75em, - gobble = \cnltx@gobble , - columns = fullflexible, - literate = - {ä}{{\"a}}1 - {ö}{{\"o}}1 - {ü}{{\"u}}1 - {Ä}{{\"A}}1 - {Ö}{{\"O}}1 - {Ü}{{\"U}}1 - {ß}{{\ss}}1 , - breaklines = true, - keepspaces = true, - breakindent = 1em, - commentstyle = \color{comment}, - keywordstyle = \color{black}\bfseries , - stringstyle = \color{black} , - showstringspaces = false , - morekeywords = texdoc -} - -\cnltx@expandargs(nx)\lstdefinestyle - {bash} - {\expandonce\cnltx@bash@listings@style} - -\newcommand*\prompt{} -\patchcmd\lst@NewLine - {\hbox{}}% search - {\hbox{}\prompt}% replace - {}% success - {}% failure -\newsourcecodeenv[ - code-only, - sourcecode-options = { - style = bash , - deleteindex = [5][keyword5] , - deleteindex = [6][keyword6] - }, - pre-code = \def\prompt{\textasciitilde\space\$\space} -]{lbash} -\makeatother - -\renewcommand*\dictumauthorformat[1]{#1} -\renewcommand*\raggeddictumtext{} - -\newcommand*\TF{\textcolor{red}{\uline{\code{\textcolor{cs}{\textit{TF}}}}}} - -\makeatletter -\newrobustcmd*\explcsformat[1]{% - \code{\textbackslash\textcolor{cs}{\detokenize{#1}}}% -} -\newidxcmd\explcs{\explcsformat{#1}}[ (expl3)] - -\cnltx@deflistitem{\cnltx@explcommand}{\explcs} -\renewenvironment{commands} - {% - \let\command\cnltx@command - \let\explcommand\cnltx@explcommand - \cnltxlist - } - {\endcnltxlist} -\newenvironment{tikzcode} - {% - \def\arrowtip{\@cnltx@option@item\code}% - \cnltxlist - } - {\endcnltxlist} - -\newrobustcmd*\showenv[1]{\beginenv*\code{\{}\env{#1}\code{\}}} -\makeatother - -\ExplSyntaxOn -\cs_new_protected:Npn \chemboldchecks #1 - { - \seq_set_map:NNn \l_tmpa_seq \l__chemmacros_if_bf_seq { \code {##1} } - \seq_use:Nnnn \l_tmpa_seq {,~} {,~} {~#1~} - } -\ExplSyntaxOff - -\AtBeginDocument{\renewcommand*\reftextfaraway[1]{starting on page~\pageref{#1}}} - -\usepackage{bookmark} - -\begin{document} - -\part{Preliminaries} -\section{Licence, Requirements and \textsc{README}}\label{sec:licence-requ-readme} -\license - -\chemmacros\ loads the packages \pkg{expl3}~\cite{bnd:l3kernel} and -\pkg{xparse}~\cite{bnd:l3packages}. Depending on your usage other packages -will be loaded. They are mentioned when the corresponding module using the -package is described. - -\section{Motivation and Background}\label{sec:motiv-backgr} -This package grew from a small collection of personal helper macros back -in~2010 into a rather big package supporting various different chemical -typesetting tasks. I hope I have achieved the following points with this -package: -\begin{itemize} - \item Intuitive usage as far as the syntax of the commands is concerned. - \item A comprehensive set of macros! If there are any needs you might have - with respect to typesetting of chemistry which is not supported by this - package\footnote{Not including needs already solved by other packages such - as \pkg{chemnum} or \pkg{chemfig}.} then let me know so \chemmacros\ can - be extended. - \item The commands shall not only make typesetting easier and faster but - also the document source more readable with respect to semantics - (\code{\cs{ortho}-dichlorobenzene} is easier to read and understand than - \code{\cs*{textit}\Marg{o}-dichlorobenzene}); the first variant in my - opinion also is more in the spirit of \LaTeXe. - \item As much customizability as I could think of so every user can adapt - the commands to his or her own wishes. Every now and then users have - wishes which can't be solved with the available options. Almost always - I'll add options then. If you find something please contact me, see - section~\vref{sec:sugg-bug-reports}. - \item Default settings that are compliant with the recommendations of the - \acf{iupac}. -\end{itemize} -Especially the last point in the past needed some pushing from users to get -things right in many places. If you find anything not compliant with -\ac{iupac} recommendations please contact me, see -section~\vref{sec:sugg-bug-reports}. Don't forget to add references for the -corresponding \ac{iupac} recommendation. - -\section{The Structure of \chemmacros}\label{sec:structure-chemmacros} -\subsection{General Structure} -Since version~5.0 the \chemmacros\ package has a strictly modular -structure\sinceversion{5.0}. On the one hand this eases maintenance but it -will also allow for easy and quick extension in the future. In a way it is a -logical consequence from \chemmacros' history: since version~2.0, \ie, since -the fall of~2011 \chemmacros\ already had modular options. - -The different modules of \chemmacros\ are divided into two groups: -\begin{enumerate} - \item Internal modules which provide underlying functionality or basic - functionality which is not of direct interest from a user perspective but - might be if you plan to write a module yourself (see - section~\ref{sec:own-modules} for details). - \item User modules which provide all the stuff for typesetting. -\end{enumerate} -Both groups each are subdivided into two groups: preloaded modules and modules -which have to be loaded by the programmer (internal modules) or by the -document author (user modules). Those modules are described in -parts~\ref{part:preloaded-modules} (preloaded modules) -and~\ref{part:additional-modules} (additional modules) of this manual. - -The above means that not all functionality is available per default. If you -want to load \emph{all} modules no matter what then you can say: -\begin{sourcecode} - \usechemmodule{all} -\end{sourcecode} -or -\begin{sourcecode} - \chemsetup{modules=all} -\end{sourcecode} -which will load all modules which are part of \chemmacros\ (also see -section~\vref{sec:all-module}). Own modules (see -section~\vref{sec:own-modules}) are \emph{not} loaded through this, though, -and still have to be loaded additionally. - -In part~\vref{part:preloaded-modules} the preloaded modules are described, -first the user modules then the internal ones, in -part~\vref{part:additional-modules} the other available modules are described, -again the user modules first. In each section the modules are described in -an alphabetical order. - -\subsection{Using \chemmacros' Options}\label{sec:using-chemm-opti} -Prior to v5.0 \chemmacros\ had quite a number of package options. -\chemmacros\ v5.0 or higher has none! All of \chemmacros' options are set -using the command -\begin{commands} - \command{chemsetup}[\oarg{module}\marg{option list}] - \chemmacros' setup command. -\end{commands} - -When an option is described then in the left margin the module the option -belongs to is denoted. This looks something like this: -\begin{options} - \keyval{option}{value}\Module{module}\Default - Description of \option{option}. The module is printed in the left margin. - The default value to the right is the setting the option has when - \chemmacros\ is loaded. This can be an explicit setting but the option - can also be empty. - \keychoice{choice-option}{list,of,\default{choices}}\Module{module}\Default{list} - Description of \option{choice-option}. A choice option can only be used - with a predefined list of values. If one of the values is underlined it - means that the option can be used without value in which case the - underlined value is chosen. If no value is underlined then a value - \emph{has} to be given by the user. - \keybool{boolean-option}\Module{module}\Default{true} - Description of \option{boolean-option}. A boolean option is a choice - option with exactly the two values \code{true} and \code{false}. If the - option is called without value then the underlined value is chosen (which - is always \code{true} for a boolean option). -\end{options} - -An option or list of options belonging to a module \chemmodule{module} can be -set in two ways: -\begin{sourcecode} - % first possibility: - \chemsetup[module]{ - option1 = value , - option2 = value - } - % second possibility: - \chemsetup{ - module/option1 = value , - module/option2 = value - } -\end{sourcecode} -The second way allows to set options belonging to different modules with one -call of \cs{chemsetup}. - -\subsection{Support Package \chemformula} -\chemformula\ provides means of typesetting chemical formulas and reactions. -You will see its macros \cs{ch} and \cs{chcpd} every now and then in this -manual. When using \chemmacros\ you can consider the \chemformula\ -package~\cite{pkg:chemformula} to be loaded as \chemmacros\ makes use of it in -various places. \chemmacros\ and \chemformula\ are tightly intertwined. -Nevertheless you should be able to use the \pkg{mhchem}~\cite{pkg:mhchem} -package with \chemmacros. Please see section~\vref{sec:using-mhchem} for -details and \latin{caveat}s. \emph{The recommendation is to use - \chemformula.} - -A historical note: \chemformula\ started as a part of \chemmacros\ in -January~2012. Since July~2013 it is a completely independent package -- from -\chemformula's point of view. It is maintained independently and has a manual -of its own. - -\subsection{Upgrading from version $<5.0$} -People upgrading from versions $<5.0$ will find that almost everything they -know from earlier versions is the same in versions $\geq5.0$. But there are -important and \emph{breaking} differences: -\begin{itemize} - \item \chemmacros\ has no package options any more, all options are set via - \cs{chemsetup}, also see section~\vref{sec:using-chemm-opti}. - \item Not all of the features are available per default any more, for some - the corresponding module has to be loaded explicitly, see - section~\ref{sec:general-options}. If suddenly some commands or - environments seem to be undefined this is the most likely reason. - \item Some option modules have been renamed (\eg, \module*{iupac} is now - \module{nomenclature}). If you experience strange errors when you upgrade - your document this is the most likely source. - \item The command family \cs*{NewChem\ldots}, \cs*{RenewChem\ldots} and - \cs*{DeclareChem\ldots} has a new member \cs*{ProvideChem\ldots}. - \item In \cs{iupac} the macro \cs*{-} no longer gives a dash with breaking - point. Instead \sym*{-} can be used directly\footnote{\cs*{-} is provided - up to and including v5.2 but is dropped in higher versions.}. - \item The macro \cs{ox} has another default behaviour (\keyis{pos}{super}) - and the starred version has another effect (\keyis{pos}{top}) than the - same macro in earlier versions. Now the default behaviour follows - \acs{iupac} recommendations. A second change is that the atom is now - treated as a \chemformula\ input (this depends on the setting of the - \option{formula} option, see~\vref{sec:chemformula-module}). - \item The syntax of \cs{NewChemReaction} and friends is now different from - what it used to be. If you have defined your own reaction environments - you need to adapt! - \item \chemmacros\ offers a macro \cs{state} which is similar to but - different from the earlier macro \cs*{State}. \cs*{State} is deprecated. - There are also differences in the syntax of \cs{enthalpy} \vs\ the earlier - \cs*{Enthalpy}, \cs{entropy} \vs\ \cs*{Entropy} and \cs{gibbs} \vs\ - \cs*{Gibbs}. The uppercase versions are deprecated. The macro - \cs{NewChemState} also has a different syntax now. - \item At various places in the code improvements and fixes have been made, - too many to list them here. You should keep an open eye and first of all - read the manual closely. -\end{itemize} - -\subsection{Compatibility Mode} - -\subsubsection{For Users} -It is actually not true that \chemmacros' has no package options any more. It -has one very important package option: -\begin{options} - \keychoice{compatibility}{\meta{version},newest,latest}\Default{\chemmacrosversion} - Let's you specify the version of \chemmacros\ you want to use. Any - version earlier than 5.0 will load v4.7. \ie, the last version before - \chemmacros\ got its modular structure\footnote{Mostly: the loaded v4.7 - has got a few fixes}. Not using the option will always load the newest - version. - - Both values \code{newest} and \code{latest} will choose the latest version - available. -\end{options} - -In your document you can check for the compatibility mode. For the following -functions it is important to understand the rules: \emph{greater} means -\emph{newer}. The version number is \emph{not} a usual decimal number! The -syntax for \meta{version} is \meta{major}\code{.}\meta{minor}\meta{optional - subrelease}. This means that a version~5.11 is \emph{newer} than a -version~5.7! In the same way \emph{less} means \emph{older}. As last -example: 5.10~is \emph{newer} (greater) than~5.1. \meta{optional subrelease} -is a lowercase letter which might or might not be present in a version number. -Version~5.7b is newer than~5.7a which in turn is newer than~5.7. -\begin{commands} - \expandable\command{IfChemCompatibilityTF}[\marg{comp}\marg{version}% - \marg{true}\marg{false}] - Checks the value given through the option \option{compatibility} against - \meta{version} using \meta{comp} and either leaves \meta{true} or - \meta{false} in the input stream. \meta{comp} can be one of \code{<}, - \code{<=}, \code{=}, \code{>=} or \code{>}. - \expandable\command{IfChemCompatibilityT}[\marg{comp}\marg{version}\marg{true}] - Checks the value given through the option \option{compatibility} against - \meta{version} using \meta{comp} and leaves \meta{true} in the input - stream if the check is logically true. \meta{comp} can be one of - \code{<}, \code{<=}, \code{=}, \code{>=} or \code{>}. - \expandable\command{IfChemCompatibilityF}[\marg{comp}\marg{version}\marg{false}] - Checks the value given through the option \option{compatibility} against - \meta{version} using \meta{comp} and leaves \meta{false} in the input - stream if the check is logically false. \meta{comp} can be one of - \code{<}, \code{<=}, \code{=}, \code{>=} or \code{>}. -\end{commands} - -A possible usage: -\begin{sourcecode} - \IfChemCompatibilityT{>=}{5.0}{\usechemmodule{all}} -\end{sourcecode} - -Loading \chemmacros\ with \keyis{compatibility}{4.7} also allows to use the -package options from that version: -\begin{sourcecode} - \usepackage[compatibility=4.7,language=german]{chemmacros} -\end{sourcecode} - -\subsubsection{For Module Writers} -For future versions the aim is not to make such breaking changes again. While -we never know what the future actually will bring \chemmacros\ now has the -tools for tying code to a version number: -\begin{commands} - \expandable\explcommand{chemmacros_if_compatibility:nn}[\TF\ \marg{comp} - \marg{version} \marg{true} \marg{false}] - expl3 version of \cs{IfChemCompatibilityTF}. -\end{commands} - -In modules one can try adding code for a certain version or range of versions: -\begin{commands} - \command{ChemCompatibility}[\marg{version} \meta{code} \cs{EndChemCompatibility}] - Leaves \meta{code} in the input stream if the compatibility version $x$ - given by \option{compatibility} matches \meta{version} - ($x=\text{\meta{version}}$). - \command{ChemCompatibilityFrom}[\marg{version} \meta{code} \cs{EndChemCompatibility}] - Leaves \meta{code} in the input stream if the compatibility version $x$ - given by \option{compatibility} matches \meta{version} or newer. This - means \meta{version} is the \emph{oldest} version allowed - ($x\geq\text{\meta{version}}$). - \command{ChemCompatibilityTo}[\marg{version} \meta{code} \cs{EndChemCompatibility}] - \changedversion{5.8a}Leaves \meta{code} in the input stream if the - compatibility version $x$ given by \option{compatibility} matches any - version up to and \emph{excluding} \meta{version}. This means - \meta{version} is the \emph{oldest} version \emph{not} allowed - ($x<\text{\meta{version}}$). - \command{ChemCompatibilityBetween}[\marg{version 1}\marg{version 2} \meta{code} - \cs{EndChemCompatibility}] - \changedversion{5.8a}Leaves \meta{code} in the input stream if the - compatibility version $x$ given by \option{compatibility} lies between and - \emph{including} \meta{version 1} up to and \emph{excluding} \meta{version 2} - ($\text{\meta{version 1}}\leq x<\text{\meta{version 2}}$). - \command{EndChemCompatibility} - This macro \emph{must} end each of the \cs*{ChemCompatibility\ldots} - macros. -\end{commands} - -You may refer to the current version of \chemmacros\ with the following -tokenlists: -\begin{commands} - \explcommand{c_chemmacros_date_tl} - The current release date: \enquote{\csname - c_chemmacros_date_tl\endcsname}. - \explcommand{c_chemmacros_version_major_number_tl} - The current major version: \enquote{\csname - c_chemmacros_version_major_number_tl\endcsname}. - \explcommand{c_chemmacros_version_minor_number_tl} - The current minor version: \enquote{\csname - c_chemmacros_version_minor_number_tl\endcsname}. - \explcommand{c_chemmacros_version_number_tl} - The current version number: \enquote{\csname - c_chemmacros_version_number_tl\endcsname}. - \explcommand{c_chemmacros_version_subrelease_tl} - The current sub-release: \enquote{\csname - c_chemmacros_version_subrelease_tl\endcsname}. - \explcommand{c_chemmacros_version_tl} - The current version: \enquote{\csname c_chemmacros_version_tl\endcsname}. - \explcommand{c_chemmacros_info_tl} - The package information: \enquote{\csname - c_chemmacros_info_tl\endcsname}. -\end{commands} - -\section{General Options}\label{sec:general-options} - -\chemmacros\ has some core options which don't belong to any of the modules -described in parts~\ref{part:preloaded-modules} -and~\ref{part:additional-modules}. Those options have no module denoted in -the left margin next to their descriptions and are also set without specifying -a module: -\begin{sourcecode} - \chemsetup{ - option1 = value , - option2 = value - } -\end{sourcecode} - -Two of those options are explained now: -\begin{options} - \keyval{modules}{comma separated list of module names}\Default - With this option you can specify which modules you want to load. - Alternatively you can use \cs{usechemmodule}\marg{comma separated list of - module names}. - \keyval{greek}{mapping}\Default - Explicitly specify which mapping should be used by the \chemgreek\ - package~\cite{pkg:chemgreek}. For details about what this means please - refer to section~\vref{sec:greek-module}. -\end{options} - -Some internal modules may also define core options, \eg, the \chemmodule{lang} -module, see section~\vref{sec:lang-module}. - -\part{The Preloaded Modules}\label{part:preloaded-modules} - -\section{User Modules} -\subsection{The \chemmodule*{acid-base} Module}\label{sec:acid-base-module} - -Easy representation of \pH, \pKa \ldots -\begin{commands} - \command{pH} \pH - \command{pOH} \pOH - \command{Ka} \Ka, depends on language settings, see - section~\vref{sec:lang-module}. The translations can be adapted. - \command{Kb} \Kb - \command{Kw} \Kw - \command{pKa}[\oarg{num}] \cs{pKa}: \pKa, \cs{pKa}\Oarg{1}: \pKa[1], depends - on language settings, see section~\vref{sec:lang-module}. The translations - can be adapted. - \command{pKb}[\oarg{num}] \cs{pKb}: \pKb, \cs{pKb}\Oarg{1}: \pKb[1] - \command{p}[\marg{anything}] \eg\ \cs{p}\Marg{\cs{Kw}} \p{\Kw} -\end{commands} - -\begin{example}[side-by-side] - \Ka\ \Kb\ \pKa\ \pKa[1] \pKb\ \pKb[1] -\end{example} - -\begin{cnltxquote}[{\citetitle{iupac:greenbook} \cite[][p.\,103]{iupac:greenbook}}] - The operator \p{} \textelp{} shall be printed in Roman type. -\end{cnltxquote} - -There is one option which changes the style the \p{} is typeset, other options -allow to change the subscript of the constants: -\begin{options} - \keychoice{p-style}{italics,slanted,upright}\Module{acid-base}\Default{upright} - Set the style of the \p{} operator. - \keyval{K-acid}{text}\Module{acid-base}\Default{\cs{ChemTranslate}\Marg{K-acid}} - The subscript to \cs{Ka} and \cs{pKa}. - \keyval{K-base}{text}\Module{acid-base}\Default{\cs{ChemTranslate}\Marg{K-base}} - The subscript to \cs{Kb} and \cs{pKb}. - \keyval{K-water}{text}\Module{acid-base}\Default{\cs{ChemTranslate}\Marg{K-water}} - The subscript to \cs{Kw}. - \keyval{eq-constant}{text}\Module{acid-base}\Default{K} - The\sinceversion{5.4} symbol of the constants. -\end{options} -\begin{example} - \pH, \pKa \par - \chemsetup[acid-base]{p-style=slanted} \pH, \pKa \par - \chemsetup[acid-base]{p-style=italics} \pH, \pKa -\end{example} - -As you can see the default subscripts of \cs{Kw}, \cs{Ka} and \cs{Kb} are -lowercase letters. The literature is inconclusive about if this is the right -way or if uppercase letters should be preferred. In textbooks the uppercase -variant usually seems to be used while journals seem to prefer the lowercase -variant. \chemmacros' default follows the usage in -\citetitle{iupac:greenbook}~\cite{iupac:greenbook}. If you want to change -this you have two possibilities: - -\begin{example} - % this works only in the preamble: - % \DeclareTranslation{English}{K-acid}{\mathrm{A}}% use your language here - % alternative: - \chemsetup{acid-base/K-acid=\mathrm{A}}% overwrites language dependent settings - \pKa -\end{example} - -The\sinceversion{5.4} constants \Ka, \Kb, and \Kw\ were defined using the -following commands: -\begin{commands} - \command{NewChemEqConstant}[\marg{cs}\marg{name}\marg{subscript}] - Define the constant \meta{cs} with the name \meta{name} and the subscript - \meta{subscript}. This also defines the default translation with the key - \meta{name} using \meta{subscript} as fallback translation (see - section~\vref{sec:lang-module} for details). It also defines the option - \meta{name} for setting the subscript. - \command{RenewChemEqConstant}[\marg{cs}\marg{name}\marg{default appearance}] - The same as \cs{NewChemEqConstant} but renews an existing command. - \command{DeclareChemEqConstant}[\marg{cs}\marg{name}\marg{default appearance}] - The same as \cs{NewChemEqConstant} but overwrites existing commands. - \command{ProvideChemEqConstant}[\marg{cs}\marg{name}\marg{default appearance}] - The same as \cs{NewChemEqConstant} but doesn't throw an error if \meta{cs} - already exists. -\end{commands} - -This is how \cs{Ka} is defined: -\begin{sourcecode} - \NewChemEqConstant\Ka{K-acid}{\mathrm{a}} -\end{sourcecode} - -\subsection{The \chemmodule*{charges} Module}\label{sec:charges-module} - -The \chemmodule{charges} module loads the module \chemmodule{chemformula}. - -\subsubsection{Charge Symbols} -\begin{commands} - \command{fplus} \fplus\ formal positive charge - \command{fminus} \fminus\ formal negative charge - \command{scrp} \scrp\ scriptstyle positive charge (\eg, for usage in - \pkg{chemfig}'s~\cite{pkg:chemfig} formulas). - \command{scrm} \scrm\ scriptstyle negative charge (\eg, for usage in - \pkg{chemfig}'s formulas). - \command{fscrp} \fscrp\ scriptstyle formal positive charge (\eg, for usage - in \pkg{chemfig}'s formulas). - \command{fscrm} \fscrm\ scriptstyle formal negative charge (\eg, for usage - in \pkg{chemfig}'s formulas). - \command{fsscrp} \fsscrp\ scriptscriptstyle formal positive charge (\eg, for - usage in \pkg{chemfig}'s formulas). - \command{fsscrm} \fsscrm\ scriptscriptstyle formal negative charge (\eg, for - usage in \pkg{chemfig}'s formulas). -\end{commands} - -\subsubsection{Ion Charges}\label{sec:ion-charges} -Simple displaying of (real) charges. It is worth noting that these commands -really are relicts from a time when \chemmacros\ tried hard to be compliant -with \pkg{mhchem} and \chemformula\ didn't exist, yet. \textbf{They are still - provided for backwards compatibility but \emph{my recommendation is to use} - \cs{ch} (see the documentation of the \chemformula\ - package~\cite{pkg:chemformula}) \emph{and forget about these commands:}} -\begin{commands} - \command{pch}[\oarg{number}] - positive charge - \command{mch}[\oarg{number}] - negative charge - \command{fpch}[\oarg{number}] - formal positive charge - \command{fmch}[\oarg{number}] - formal negative charge -\end{commands} -\begin{example}[side-by-side] - A\pch\ B\mch[3] C\fpch[2] D\fmch -\end{example} - -\subsubsection{Partial Charges and Similar Stuff}\label{sec:part-charg-simil} - -The next ones probably are seldomly needed but nevertheless useful: -\begin{commands} - \command{delp} \delp\ partial positive charge - \command{delm} \delm\ partial negative charge - \command{fdelp} \fdelp\ partial formal positive charge - \command{fdelm} \fdelm\ partial formal negative charge -\end{commands} - -These macros for example can be used with the \cs{ox} command (see -section~\vref{sec:redox-module}) or with the \pkg{chemfig} package: -\begin{example} - \chemsetup{ - charges/circled = all, - redox/parse = false, - redox/pos = top - } - \ch{"\ox{\delp,H}" -{} "\ox{\delm,Cl}"} \hspace*{1cm} - \chemfig{\chemabove[3pt]{\lewis{246,Br}}{\delm}-\chemabove[3pt]{H}{\delp}} -\end{example} - -\subsubsection{Charge Options} - -\begin{options} - \keychoice{circled}{formal,\default{all},none}\Module{charges}\Default{formal} - \chemmacros\ uses two different kinds of charges which indicate the usage - of real ($+/-$) and formal (\fplus/\fminus) charges. The option - \code{formal} distinguishes between them, option \code{none} displays them - all without circle, option \code{all} circles all. - \keychoice{circletype}{chem,math}\Module{charges}\Default{chem} - This option switches between two kinds of circled charge symbols: - \cs{fplus} \fplus/\cs{fminus} \fminus\ (\code{chem}) and - \verbcode+$\oplus$+ $\oplus$/\verbcode+$\ominus$+ $\ominus$ (\code{math}). - \keyval{partial-format}{\LaTeX\ code}\Module{charges}\Default{\cs*{tiny}} - Code which formats the macros defined with \cs{NewChemPartialCharge} (see - section~\ref{sec:own-charge-macros}). -\end{options} - -\subsubsection{Own Charge Macros}\label{sec:own-charge-macros} -Just in case the existing macros don't fit you needs there are commands for -defining new ones or modifying the existing ones. These commands define -macros like those described in section~\vref{sec:ion-charges}. - -\begin{commands} - \command{NewChemCharge}[\marg{cs}\marg{charge symbol}] - Defines a new macro \meta{cs}. Raises an error if \meta{cs} already - exists. - \command{RenewChemCharge}[\marg{cs}\marg{charge symbol}] - Redefines a new macro \meta{cs}. Raises an error if \meta{cs} doesn't - exist. - \command{DeclareChemCharge}[\marg{cs}\marg{charge symbol}] - Defines a macro \meta{cs}. Silently overwrites \meta{cs} if it exists. - \command{ProvideChemCharge}[\marg{cs}\marg{charge symbol}] - Defines a new macro \meta{cs}. Does nothing if \meta{cs} already exists. -\end{commands} -An example of usage is the definition of the existing ion charge macros: -\begin{sourcecode} - \NewChemCharge\fpch{\fplus} - \NewChemCharge\fmch{\fminus} -\end{sourcecode} - -These commands define macros like those described in -section~\vref{sec:part-charg-simil}. -\begin{commands} - \command{NewChemPartialCharge}[\marg{cs}\marg{charge symbol}] - Defines a new macro \meta{cs}. Raises an error if \meta{cs} already - exists. - \command{RenewChemPartialCharge}[\marg{cs}\marg{charge symbol}] - Redefines a new macro \meta{cs}. Raises an error if \meta{cs} doesn't - exist. - \command{DeclareChemPartialCharge}[\marg{cs}\marg{charge symbol}] - Defines a macro \meta{cs}. Silently overwrites \meta{cs} if it exists. - \command{ProvideChemPartialCharge}[\marg{cs}\marg{charge symbol}] - Defines a new macro \meta{cs}. Does nothing if \meta{cs} already exists. -\end{commands} -An example of usage is the definition of the existing partial charge macros: -\begin{sourcecode} - \NewChemPartialCharge\fdelp{\fplus} - \NewChemPartialCharge\fdelm{\fminus} -\end{sourcecode} - -\subsection{The \chemmodule*{nomenclature} Module}\label{sec:nomenclature-module} - -The \chemmodule{nomenclature} module loads the \chemmodule{tikz} module. It -also loads the package \pkg{scrlfile} which is part of the -\KOMAScript\ bundle~\cite{bnd:koma-script}. - -\subsubsection{The \cs*{iupac} Command} - -Similar to the \pkg{bpchem} package~\cite{pkg:bpchem} \chemmacros\ provides a -command\footnote{The idea and initial implementation is shamelessly borrowed - from \pkg{bpchem} by \pedersen.} for typesetting \ac{iupac} names. Why is -that useful? \ac{iupac} names can get very long. So long indeed that they -span over more than two lines, especially in two-column documents. This means -they must be allowed to be broken more than one time. This is what the -following command does. -\begin{commands} - \command{iupac}[\marg{IUPAC name}] - Inside this command use \sym{\textbar} indicate a breaking point - \sym{\textasciicircum} as a shortcut for \cs*{textsuperscript}. \sym{-}, - \sym{(} and \sym{)} allow words to be broken while still allow the rest of - word to be hyphenated, likewise \sym{[} and \sym{]}. -\end{commands} - -\begin{example} - \begin{minipage}{.4\linewidth} - \iupac{% - Tetra|cyclo[2.2.2.1^{1,4}]-un|decane-2-dodecyl-% - 5-(hepta|decyl|iso|dodecyl|thio|ester)% - } - \end{minipage} -\end{example} - -The \cs{iupac} command is more of a semantic command. In many cases you can -achieve (nearly) the same thing by using \cs*{-} instead of \sym{\textbar}, -and \cs*{textsuperscript} instead of \sym{\textasciicircum} without -\cs{iupac}. There are some important differences, though: -\begin{itemize} - \item The character \sym{-} inserts a small space before the hyphen and - removes a small space after it. Also usually words with hyphens are only - allowed to break at the hyphen. Inside \cs{iupac} the hyphen will not - prevent further hyphenation. The amount of inserted space can be - customized. - \item The character \sym{\textbar} not only prevents ligatures but also - inserts a small space. The amount of inserted space can be customized. - \item The characters \sym{(} and \sym{)} allow the word to be hyphenated and - don't prevent further hyphenation, likewise \sym{[} and \sym{]}. - \item \sinceversion{5.3}The character \sym{'} is printed as \cs{chemprime}. - \item \sinceversion{5.8c}The character \sym{=} is printed ad - \cs{nonbreakinghyphen}. -\end{itemize} -\begin{example}[side-by-side] - \huge\iupac{2,4-Di|chlor|pentan} \par - 2,4-Dichlorpentan -\end{example} -\begin{commands} - \command{chemprime} - Prints\sinceversion{5.3} a prime character in superscript position. It is - defined as \verbcode+\ensuremath{{}^{\prime}}+. - \command{nonbreakinghyphen} - Prints\sinceversion{5.8c} a hyphen which doesn't allow a linebreak after - it. It is defined as \verbcode+\mbox{-}\nobreak\hspace{0pt}+. -\end{commands} - -The spaces inserted by \sym{-} and \sym{\textbar} can be -customized. -\begin{options} - \keyval{hyphen-pre-space}{dim}\Module{nomenclature}\Default{.01em} - Set the space that is inserted before the hyphen set with \sym{-}. - \keyval{hyphen-post-space}{dim}\Module{nomenclature}\Default{-.03em} - Set the space that is inserted after the hyphen set with \sym{-}. - \keyval{break-space}{dim}\Module{nomenclature}\Default{.01em} - Set the space inserted by \sym{\textbar}. -\end{options} - -The command \cs{iupac} serves another purpose, too, however. Regardless of -the setting of the \option{iupac} option (see below) all the commands -presented in this section are always defined \emph{inside} \cs{iupac}. Quite -a number of the naming commands have very general names: \cs{meta}, \cs{D}, -\cs{E}, \cs{L}, \cs{R}, \cs{S}, \cs{trans} and so forth\footnote{Please read - section~\vref{sec:one-letter-commands} before you consider using the - one-letter commands}. This means they either are predefined already (\cs{L} -\L) or are easily defined by another package or class (the \pkg{cool} package -defines both \cs{D} and \cs{E}, for example). In order to give you control -which commands are defined in which way, there is the option \option{iupac}: -\begin{options} - \keychoice{iupac}{auto,restricted,strict}\Module{nomenclature}\Default{auto} - Take care of how \ac{iupac} naming commands are defined. -\end{options} -It has three modes: -\begin{itemize} - \item \keyis{iupac}{auto}: if the commands are \emph{not} defined by any - package or class you're using they are available generally, otherwise only - \emph{inside} \cs{iupac}. - \item \keyis{iupac}{restricted}: all naming commands are \emph{only} defined - inside \cs{iupac}. If the commands are defined by another package they of - course have that meaning outside. They're not defined outside otherwise. - \item \keyis{iupac}{strict}: \chemmacros\ overwrites any other definition and - makes the commands available throughout the document. Of course the - commands can be redefined (but only in the document body). They will still - be available inside \cs{iupac} then. -\end{itemize} -Table~\vref{tab:iupac_modes} demonstrates the different modes. - -\begin{table} - \centering - \caption{Demonstration of \option*{iupac}'s modes.}\label{tab:iupac_modes} - \begin{tabular}{lccc} - \toprule - & auto & restricted & strict \\ - \midrule - \cs{L} & \L & \L & \iupac{\L} \\ - \cs{iupac}\Marg{\cs{L}} & \iupac{\L} & \iupac{\L} & \iupac{\L} \\ - \cs{D} & \D & --- & \D \\ - \cs{iupac}\Marg{\cs{D}} & \iupac{\D} & \iupac{\D} & \iupac{\D} \\ - \bottomrule - \end{tabular} -\end{table} - -\subsubsection{Macros Defined (Not Only) For Usage in \cs*{iupac}} - -\paragraph{One-letter Macros}\label{sec:one-letter-commands} -For some of the macros explained in this section one-letter commands are -defined -- with a \latin{caveat} in mind, though: they are not actively -recommended. One-letter commands seldomly have meaningful names and often -they've also been defined by other packages. This means they make -collaboration more difficult than it needs to be and are a source for package -conflicts. \chemmacros\ solves the latter problem by only providing them -inside the argument of \cs{iupac}. The one exception \chemmacros\ makes is -the command \cs{p} (for things like \pH) which is and will remain an official -command (see section~\vref{sec:acid-base-module}). For all other one-letter -macros alternatives with more meaningful names exist. - -\paragraph{Greek Letters}\label{par:greek_letters} - -Greek letters in compound names are typeset upright. Here are a few examples -for the existing macros: -\begin{commands} - \command{chemalpha}[\quad\chemalpha] - Upright lowercase alpha - \command{chembeta}[\quad\chembeta] - Upright lowercase alpha - \command{chemgamma}[\quad\chemgamma] - Upright lowercase alpha - \command{chemdelta}[\quad\chemdelta] - Upright lowercase alpha -\end{commands} -There exist two commands for each of the twenty-four Greek letters: a -lowercase and an uppercase version (\cs{chemalpha} and \cs{chemAlpha}). Those -commands are actually provided by the \chemgreek\ package. For more details -read section~\vref{sec:greek-module} and also refer to \chemgreek's -documentation. - -There are a number of one-letter commands that some people may find convenient -to use which use above mentioned commands to print Greek letters inside -\cs{iupac}. They're listed in table~\vref{tab:iupac-greek-shortcuts}. - -\begin{table} - \centering - \caption{\acs*{iupac} shortcuts for Greek letters.} - \label{tab:iupac-greek-shortcuts} - \begin{tabular}{*9l} - \toprule - macro & - \cs{a} & \cs{b} & \cs{g} & \cs{d} & - \cs{k} & \cs{m} & \cs{n} & \cs{w} \\ - \midrule - letter & - \iupac{\a} & \iupac{\b} & \iupac{\g} & \iupac{\d} & - \iupac{\k} & \iupac{\m} & \iupac{\n} & \iupac{\w} \\ - \bottomrule - \end{tabular} -\end{table} - -\begin{example} - \iupac{5\chemalpha-androstan-3\chembeta-ol} \par - \iupac{\chemalpha-(tri|chloro|methyl)-\chemomega - -chloro|poly(1,4-phenylene|methylene)} -\end{example} - -\paragraph{Hetero Atoms and added Hydrogen} - -Attachments to hetero atoms and added hydrogen atoms are indicated by italic -letters~\cite{iupac:greenbook}. \chemmacros\ defines a few macros for the -most common ones. -\begin{commands} - \iupaccs[H]{hydrogen}{The italic H for hydrogen.} - \iupaccs[O]{oxygen}{The italic O for oxygen.} - \iupaccs[N]{nitrogen}{The italic N for nitrogen.} - \iupaccs[Sf]{sulfur}{The italic S for sulfur.} - \iupaccs[P]{phosphorus}{The italic P for phosphorus.} -\end{commands} -\begin{example}[side-by-side] - \iupac{\nitrogen-methyl|benz|amide} - - \iupac{3\hydrogen-pyrrole} - - \iupac{\oxygen-ethyl hexanethioate} -\end{example} - -\paragraph{Cahn-Ingold-Prelog}\label{par:cip} -\begin{commands} - \command{cip}[\marg{conf}] - Typeset Cahn-Ingol-Prelog descriptors, \eg: \cs{cip}\Marg{R,S} - \cip{R,S}. \meta{conf} may be a csv list of entries. - \iupaccs[R]{rectus}{The rectus descriptor.} - \iupaccs[S]{sinister}{The sinister descriptor.} -\end{commands} - -Both these commands and the entgegen/zusammen descriptors get a small -additional amount of kerning after the closing parenthesis. This amount can -be changed through the following option: -\begin{options} - \keyval{cip-kern}{dim}\Module{nomenclature}\Default{.075em} - Set the amount of kerning after the closing parenthesis. -\end{options} -The entries typeset by and implemented with \cs{cip} can be customized -further: -\begin{options} - \keyval{cip-outer-format}{format}\Default{\cs*{upshape}} - \sinceversion{5.8}The format of parentheses and commas typeset by - \cs{cip}. - \keyval{cip-inner-format}{format}\Default{\cs*{itshape}} - \sinceversion{5.8}The format of the entries in \cs{cip}. This format - works additive to the outer format. - \keyval{cip-number-format}{format}\Default{\cs*{itshape}} - \sinceversion{5.8}The format of numbers in \cs{cip}. This format works - additive to the outer format and is applied to arabic figures only. -\end{options} - -\paragraph{Fischer} -\begin{commands} - \iupaccs[D]{dexter}{The dexter descriptor.} - \iupaccs[L]{laevus}{The laevus descriptor.} -\end{commands} - -\paragraph{cis/trans, zusammen/entgegen, syn/anti \& tert} -\begin{itemize} - \item \cs{cis} \iupac{\cis} \quad \cs{trans} \iupac{\trans} - \item \cs{fac} \iupac{\fac} \quad \cs{mer} \iupac{\mer} - \item \cs{sin} \iupac{\sin} \quad \cs{ter} \iupac{\ter} - \item \cs{zusammen} \iupac{\zusammen} \quad \cs{entgegen} \iupac{\entgegen} - \item \cs{syn} \iupac{\syn} \quad \cs{anti} \iupac{\anti} - \item \cs{tert} \iupac{\tert} -\end{itemize} -An alias for \cs{entgegen} is \cs{E} and an alias for \cs{zusammen} is -\cs{Z}. - -\paragraph{ortho/meta/para} -\begin{center} - \cs{ortho} \iupac{\ortho} \quad - \cs{meta} \iupac{\meta} \quad - \cs{para} \iupac{\para} -\end{center} - -Although these commands are provided I like to cite -\citetitle{iupac:bluebook}~\cite{iupac:bluebook}: - -\begin{cnltxquote}[{\cite[][p.\,90]{iupac:bluebook}}] - The letters \iupac{\ortho}, \iupac{\meta}, and \iupac{\para} have been used - in place of \textit{ortho}, \textit{meta}, and \textit{para}, respectively, - to designate the 1,2-, 1,3-, and 1,4- isomers of disubstituted benzene. - This usage is strongly discouraged and is not used in preferred \acs{iupac} - names. -\end{cnltxquote} - -\paragraph{Absolute Configuration} -\begin{commands} - \command{Rconf}[\oarg{letter}] - \cs{Rconf}: \Rconf \quad \cs{Rconf}\oarg{}: \Rconf[] - \command{Sconf}[\oarg{letter}] - \cs{Sconf}: \Sconf \quad \cs{Sconf}\oarg{}: \Sconf[] -\end{commands} - -\paragraph{Coordination Chemistry} - -\chemmacros\ provides a few commands useful in coordination chemistry: -\begin{commands} - \command{bridge}[\marg{num}\quad\bridge{3}] - Denote bridging ligand connection. - \command{hapto}[\marg{num}\quad\hapto{5}] - Denote hapticity. - \command{dento}[\marg{num}\quad\dento{2}] - Denote denticity. -\end{commands} -\begin{example} - Ferrocene = \iupac{bis(\hapto{5}cyclo|penta|dienyl)iron} \par - \iupac{tetra-\bridge{3}iodido-tetrakis[tri|methyl|platinum(IV)]} -\end{example} - -Two options allow customization: -\begin{options} - \keychoice{bridge-number}{sub,super}\Module{nomenclature}\Default{sub} - Appends the number as a subscript or superscript, depending on the choice. - The \ac{iupac} recommendation is the subscript~\cite{iupac:redbook}. - \keybool{coord-use-hyphen}\Module{nomenclature}\Default{true} - Append a hyphen to \cs{hapto}, \cs{dento} and \cs{bridge} or don't. -\end{options} - -The default behaviour\sinceversion{5.8} of \cs{hapto} and \cs{dento} has -changed with version~5.8 to follow \ac{iupac} recommendations. - -\paragraph{Examples} -\begin{example} - \iupac{\dexter-Wein|s\"aure} = - \iupac{\cip{2S,3S}-Wein|s\"aure} \par - \iupac{\dexter-($-$)-Threose} = - \iupac{\cip{2S,3R}-($-$)-2,3,4-Tri|hydroxy|butanal} \par - \iupac{\cis-2-Butene} = - \iupac{\zusammen-2-Butene}, \par - \iupac{\cip{2E,4Z}-Hexa|diene} \par - \iupac{\meta-Xylol} = - \iupac{1,3-Di|methyl|benzene} -\end{example} - -\subsubsection{Own \cs*{iupac} Macros And Shorthands} - -If you find any commands missing you can define them using -\begin{commands} - \command{NewChemIUPAC}[\marg{cs}\marg{declaration}] - Define a new \ac{iupac} command that is in any case defined inside of - \cs{iupac} regardless if \meta{cs} is defined elsewhere already. - \command{ProvideChemIUPAC}[\marg{cs}\marg{declaration}] - Define a new \ac{iupac} command that is in any case defined inside of - \cs{iupac} regardless if \meta{cs} is defined elsewhere already only if - the corresponding \ac{iupac} macro is not defined, yet. - \command{RenewChemIUPAC}[\marg{cs}\marg{declaration}] - Redefine an existing \ac{iupac} command that is in any case defined inside - of \cs{iupac} regardless if \meta{cs} is defined elsewhere already. - \command{DeclareChemIUPAC}[\marg{cs}\marg{declaration}] - Define a new \ac{iupac} command that is in any case defined inside of - \cs{iupac} regardless if \meta{cs} is defined elsewhere already. This - silently overwrites an existing \ac{iupac} macro definition. - \command{LetChemIUPAC}[\marg{cs1}\marg{cs2}] - Defines \meta{cs1} to be an alias of \meta{cs2}. -\end{commands} -A command defined in this way will obey the setting of the option -\option{iupac}. This means any existing command is only overwritten with -\keyis{iupac}{strict}. However, \cs{NewChemIUPAC} will \emph{not} change the -definition of an existing \ac{iupac} naming command but issue an error if the -\ac{iupac} naming command already exists. \cs{DeclareChemIUPAC} \emph{will} -overwrite an existing \ac{iupac} command. -\begin{example} - \NewChemIUPAC\endo{\textsc{endo}} - \RenewChemIUPAC\anti{\textsc{anti}} - \iupac{(2-\endo,7-\anti)-2-bromo-7-fluoro|bicyclo[2.2.1]heptane} -\end{example} - -\cs{RenewChemIUPAC} allows you to redefine the existing \ac{iupac} naming -commands. -\begin{example}[side-by-side] - \iupac{\meta-Xylol} \par - \RenewChemIUPAC\meta{\textup{m}} - \iupac{\meta-Xylol} -\end{example} - -There's also a way for defining new \ac{iupac} shorthands or changing the -existing ones: -\begin{commands} - \command{NewChemIUPACShorthand}[\meta{shorthand token}\meta{control sequence}] - Defines a new \ac{iupac} shorthand. Inside \cs{iupac} it will be equal to - using \meta{control sequence}. This throws an error if \meta{shorthand - token} is already defined. - \command{RenewChemIUPACShorthand}[\meta{shorthand token}\meta{control sequence}] - Redefines an existing \ac{iupac} shorthand. This throws an error if - \meta{shorthand token} is not defined, yet. - \command{DeclareChemIUPACShorthand}[\meta{shorthand token}\meta{control sequence}] - Defines a new \ac{iupac} shorthand or redefines an existing one. - \command{ProvideChemIUPACShorthand}[\meta{shorthand token}\meta{control sequence}] - Provides a new \ac{iupac} shorthand. Does nothing if \meta{shorthand - token} is already defined. - \command{RemoveChemIUPACShorthand}[\meta{shorthand token}] - Deletes an existing \ac{iupac} shorthand. -\end{commands} - -\subsubsection{Latin Phrases} - -\chemmacros\ provides a command for typesetting latin phrases: -\begin{commands} - \command{latin}[\oarg{options}\marg{phrase}] - Typesets \meta{phrase} according to the option \option{format} described - below. - \command{insitu}[\quad\insitu] - \command{invacuo}[\quad\invacuo] - \command{abinitio}[\quad\abinitio] -\end{commands} - -If you additionally load \pkg{chemstyle}~\cite{pkg:chemstyle} said package -will \emph{not} define its own \cs{latin}. - -The last three commands mentioned above are defined through -\begin{commands} - \command{NewChemLatin}[\marg{cs}\marg{phrase}] - Define a new latin phrase. Gives an error if \meta{cs} already exists. - \command{DeclareChemLatin}[\marg{cs}\marg{phrase}] - Define a new latin phrase. Silently redefined existing macros. - \command{RenewChemLatin}[\marg{cs}\marg{phrase}] - Redefine an existing latin phrase. Gives an error if \meta{cs} doesn't - exist. - \command{ProvideChemLatin}[\marg{cs}\marg{phrase}] - Define a new latin phrase only if \meta{cs} doesn't exist. -\end{commands} -\begin{example}[side-by-side] - \NewChemLatin\ltn{latin text}\ltn -\end{example} -You can change the appearance with this option: -\begin{options} - \keyval{format}{definition}\Module{nomenclature}\Default{\cs*{emph}} - \changedversion{5.7}Sets the format for the latin phrases. -\end{options} - -\subsection{The \chemmodule*{particles} Module}\label{sec:particles-module} - -The \chemmodule{particles} module loads the modules \chemmodule{charges} and -\chemmodule{chemformula}. - -\subsubsection{Provided Particle Macros} -The \chemmodule{particles} defines a number of macros which can be used for -typesetting common particles in the running text. Most of them don't make -much sense in \pkg{chemformula}~\cite{pkg:chemformula}'s \cs{ch}, though, -which doesn't mean that they can't be used there, of course: -\begin{center} - \cs{el} \el\ \cs{prt} \prt\ \cs{ntr} \ntr\ \cs{Hyd} \Hyd\ \cs{Oxo} \Oxo\ - \cs{water} \water\ \cs{El} \El\ \cs{Nuc} \Nuc\ \cs{ba} \ba -\end{center} -All of these macros are defined using \pkg{chemformula}'s \cs{chcpd}. The -details are explained in section~\vref{sec:defin-own-part}. - -The macros \cs{Nuc} and \cs{ba} are special: they have an optional argument -for the following options: -\begin{options} - \keychoice{elpair}{dots,dash,false}\Module{particles}\Default{false} - Determine how the electron pair of the nucleophiles is displayed. The - electron pair is drawn using \chemformula's \cs{chlewis} macro. - \keyval{space}{dim}\Module{particles}\Default{.1em} - Sets\sinceversion{5.3} the space that is inserted between the electron - pair and the negative charge sign. -\end{options} -Both options can of course also be set with \cs{chemsetup}. - -\begin{example}[side-by-side] - \ba[elpair=dots] \Nuc[elpair=dash] - - \chemsetup[particles]{elpair=false} - \ba\ \Nuc -\end{example} - -\subsubsection{Defining Own Particle Macros}\label{sec:defin-own-part} - -There are two sets of macros, one for defining particles and one for defining -nucleophiles. -\begin{commands} - \command{NewChemParticle}[\marg{cs}\marg{formula}] - Defines a new macro \meta{cs}. \meta{formula} is any valid \chemformula\ - input (this depends on the setting of the \option{formula} option, - see~\vref{sec:chemformula-module}). Raises an error if \meta{cs} already - exists. - \command{RenewChemParticle}[\marg{cs}\marg{formula}] - Redefines a new macro \meta{cs}. \meta{formula} is any valid \chemformula\ - input (this depends on the setting of the \option{formula} option, - see~\vref{sec:chemformula-module}). Raises an error if \meta{cs} doesn't - exist. - \command{DeclareChemParticle}[\marg{cs}\marg{formula}] - Defines a macro \meta{cs}. \meta{formula} is any valid \chemformula\ - input (this depends on the setting of the \option{formula} option, - see~\vref{sec:chemformula-module}). Silently overwrites \meta{cs} if it - exists. - \command{ProvideChemParticle}[\marg{cs}\marg{formula}] - Defines a new macro \meta{cs}. \meta{formula} is any valid \chemformula\ - input (this depends on the setting of the \option{formula} option, - see~\vref{sec:chemformula-module}). Does nothing if \meta{cs} already - exists. -\end{commands} -An example of usage is the definition of the existing particle macros: -\begin{sourcecode} - \NewChemParticle\el {e-} - \NewChemParticle\prt{p+} - \NewChemParticle\ntr{n^0} -\end{sourcecode} - -The following set defines macros like \cs{Nuc} -\begin{commands} - \command{NewChemNucleophile}[\marg{cs}\marg{formula}] - Defines a new macro \meta{cs}. \meta{formula} is any valid \chemformula\ - input (this depends on the setting of the \option{formula} option, - see~\vref{sec:chemformula-module}). Note that \meta{formula} will get a - trailing negative charge! Raises an error if \meta{cs} already exists. - \command{RenewChemNucleophile}[\marg{cs}\marg{formula}] - Redefines a new macro \meta{cs}. \meta{formula} is any valid \chemformula\ - (this depends on the setting of the \option{formula} option, - see~\vref{sec:chemformula-module}). Note that \meta{formula} will get a - trailing negative charge! Raises an error if \meta{cs} doesn't exist. - \command{DeclareChemNucleophile}[\marg{cs}\marg{formula}] - Defines a macro \meta{cs}. \meta{formula} is any valid \chemformula\ - (this depends on the setting of the \option{formula} option, - see~\vref{sec:chemformula-module}). Note that \meta{formula} will get a - trailing negative charge! Silently overwrites \meta{cs} if it exists. - \command{ProvideChemNucleophile}[\marg{cs}\marg{formula}] - Defines a new macro \meta{cs}. \meta{formula} is any valid \chemformula\ - (this depends on the setting of the \option{formula} option, - see~\vref{sec:chemformula-module}). Note that \meta{formula} will get a - trailing negative charge! Does nothing if \meta{cs} already exists. -\end{commands} -An example of usage is the definition of the existing nucleophile macros: -\begin{sourcecode} - \NewChemNucleophile\Nuc{Nu} - \NewChemNucleophile\ba {ba} -\end{sourcecode} -A macro defined this way will have an optional argument for the -\option{elpair} option. - -\subsection{The \chemmodule*{phases} Module}\label{sec:phases-module} - -The \chemmodule{phases} module loads the \chemmodule{chemformula} modul. - -\subsubsection{Basics} - -These commands are intended to indicate the phase of a compound. -\begin{center} - \cs{sld} \sld \quad \cs{lqd} \lqd \quad \cs{gas} \gas \quad \cs{aq} \aq -\end{center} -\begin{example} - \ch{C\sld{} + 2 H2O\lqd{} -> CO2\gas{} + 2 H2\gas}\par - To make it complete: NaCl\aq. -\end{example} - -The \ac{iupac} recommendation to indicate the state of aggregation is to put -it in parentheses after the compound \cite{iupac:greenbook}. However, you -might want to put it as a subscript which is also very common. - -\begin{cnltxquote}[{\citetitle{iupac:greenbook}~\cite[][p.\,54]{iupac:greenbook}}] - The \textelp{} symbols are used to represent the states of aggregation of - chemical species. The letters are appended to the formula in parentheses - and should be printed in Roman (upright) type without a full stop (period). -\end{cnltxquote} - -There are two options to customize the output: -\begin{options} - \keychoice{pos}{side,sub}\Module{phases}\Default{side} - Switch the position of the phase indicator. - \keyval{space}{dim}\Module{phases}\Default{.1333em} - Change the default spacing between compound a phase indicator if - \keyis{pos}{side}. A \TeX\ dimension. -\end{options} -\begin{example} - \chemsetup[phases]{pos=sub} - \ch{C\sld{} + 2 H2O\lqd{} -> CO2\gas{} + 2 H2\gas}\par - To make it complete: NaCl\aq. -\end{example} - -All those phase commands have an optional argument: -\begin{example}[side-by-side] - \ch{H2O "\lqd[\SI{5}{\celsius}]"} -\end{example} - -There is also a generic phase command: -\begin{commands} - \command{phase}[\marg{phase}] - If you need a phase indicator just once or twice. You can use it to - denote a phase for which there is no phase command, yet. -\end{commands} - -\subsubsection{Define Own Phases} -Depending on the subject of your document you might need to indicate other -states of aggregation. You can easily define them. -\begin{commands} - \command{NewChemPhase}[\marg{cs}\marg{symbol}] - Define a new phase command. See section~\vref{sec:lang-depend} for a way - to define language dependent settings. Gives an error if \meta{cs} - already exists. - \command{DeclareChemPhase}[\marg{cs}\marg{symbol}] - Define a new phase command. See section~\vref{sec:lang-depend} for a way to - define language dependent settings. Overwrites previous definitions of - \meta{cs}. - \command{RenewChemPhase}[\marg{cs}\marg{symbol}] - Redefine an existing phase command. See section~\vref{sec:lang-depend} for - a way to define language dependent settings. Gives an error if \meta{cs} - is not defined. - \command{ProvideChemPhase}[\marg{cs}\marg{symbol}] - Define a new phase command. See section~\vref{sec:lang-depend} for a way - to define language dependent settings. Does nothing if \meta{cs} is - already defined. -\end{commands} - -\begin{example} - % preamble: - \NewChemPhase\aqi{aq,$\infty$} % aqueous solution at infinite dilution - \NewChemPhase\cd {cd} % condensed phase - \NewChemPhase\lc {lc} % liquid crystal - \ch{NaOH\aqi} \ch{H2O\cd} \ch{U\phase{cr}} \ch{A\lc}\par - \chemsetup[phases]{pos=sub} - \ch{NaOH\aqi} \ch{H2O\cd} \ch{U\phase{cr}} \ch{A\lc} -\end{example} - -\subsubsection{Language Dependencies}\label{sec:lang-depend} -For each phase command a translation into the custom language can be defined. -If a phase is declared with \cs{NewChemPhase} no translation exists and -for every \pkg{babel} language the literal string is used that was provided -as a definition. Let's say you define the phase -\begin{sourcecode} - \NewChemPhase\liquid{l} -\end{sourcecode} -and want to add the German translation ``f\/l''. Then you could do -\begin{sourcecode} - \DeclareTranslation{German}{phase-liquid}{f\/l} -\end{sourcecode} -This way, when you use it in a German document using the appropriate -\pkg{babel} option using \cs*{liquid} would correctly translate. For this the -package \pkg{translations}~\cite{pkg:translations} is used. The \acs{id} -always is \code{phase-\meta{csname}} where \meta{csname} is the name of the -phase command you defined without leading backslash. - -See section~\vref{sec:lang-module} for predefined translations and general -language options of \chemmacros. - -\subsection{The \chemmodule*{symbols} Module}\label{sec:symbols-module} - -The \chemmodule{symbols} module defines a few symbols chemists need now and -then. It loads the package \pkg{amstext}~\cite{pkg:amstext}. -\begin{commands} - \command{transitionstatesymbol} - This is self-explaining: \transitionstatesymbol - \command{standardstate} - Again self-explaining: \standardstate - \command{changestate} - The uppercase delta used in \state[superscript=]{H} for example. -\end{commands} - -\section{Internal Modules} -\subsection{The \chemmodule*{base} Module}\label{sec:base-module} - -The \chemmodule{base} module is the core module of \chemmacros. It defines -some tools which can (and should) be used in other modules. This means this -section is only interesting for you if you plan to write a module yourself -(see section~\vref{sec:own-modules} for details). - -This module requires the packages \pkg{bm}~\cite{pkg:bm}, -\pkg{amstext}~\cite{pkg:amstext}, and \pkg{etoolbox}~\cite{pkg:etoolbox}. - -This module also provides \cs{chemsetup} and the option \option{modules}. - -It also provides a number of (expl3) macros which may be used in other -modules. In the macro descriptions below \TF\ denotes that a \code{T}, an -\code{F} and a \code{TF} variant exist. In case of an expandable conditional -(\expandablesymbol) also the predicate variant is available. -\begin{commands} - \expandable\explcommand{chemmacros_if_loaded:nn}[\TF\ - \Marg{package|class} \marg{name} \marg{true} \marg{false}] - Checks if package (or class) \meta{name} has been loaded. Also works after - begin document. - \expandable\explcommand{chemmacros_if_package_loaded:n}[\TF\ \marg{name} - \marg{true} \marg{false}] - Checks if package \meta{name} has been loaded. Also works after begin - document. - \expandable\explcommand{chemmacros_if_class_loaded:n}[\TF\ \marg{name} - \marg{true} \marg{false}] - Checks if class \meta{name} has been loaded. Also works after begin - document. - \explcommand{chemmacros_leave_vmode:} - Equivalent of \cs*{leavevmode}. - \explcommand{chemmacros_nobreak:} - Inserts a penalty of \num{10000}. - \explcommand{chemmacros_allow_break:} - Inserts a penalty of \num{0}. - \explcommand{chemmacros_skip_nobreak:N}[ \meta{skip/length variable}] - Insert a horizontal skip where a linebreak is disallowed. - \expandable\explcommand{chemmacros_if_is_int:n}[\TF\ \marg{input} \marg{true} - \marg{false}] - Checks if \meta{input} is an integer or something else. - \explcommand{chemmacros_if_bold:}[\TF\ \marg{true} \marg{false}] - Checks if the current font weight is one of \chemboldchecks{or}. - \explcommand{chemmacros_bold:n}[ \marg{text}] - Checks if the current font weight is bold and if yes places \meta{text} in - \cs*{textbf} if in text mode or in \cs*{bm} if in math mode. If no - \meta{text} simply is placed in the input stream as is. - \explcommand{chemmacros_text:n}[ \marg{text}] - Ensures that \meta{text} is placed in text mode. - \explcommand{chemmacros_math:n}[ \marg{text}] - Ensures that \meta{text} is placed in math mode. - \explcommand{chemmacros_new_macroset:nnn}[ \marg{name} \marg{arg spec} - \marg{internal command call}] - \changedversion{5.3b}A command to define a set of macros - \cs*{NewChem\meta{name}}, \cs*{RenewChem\meta{name}}, - \cs*{DeclareChem\meta{name}} and \cs*{ProvideChem\meta{name}} where the - first letter of \meta{name} is converted to uppercase, other letters are - kept unchanged. \meta{arg spec} is any valid argument specification for - \pkg{xparse}'s \\ - \cs{DeclareDocumentCommand}~\cite{bnd:l3packages}. \meta{internal command - call} should be a macro which makes definitions \emph{without} error - checks, \ie, define new macros or redefine existing ones like \cs*{def} - does. This macro just should get the arguments passed on to. Have a look - at the example below. - \explcommand{chemmacros_new_environment_macroset:nnn}[ \marg{name} \marg{arg spec} - \marg{internal command call}] - Like \explcs{chemmacros_new_macroset:nnn} but for environments. - \command{NewChemMacroset}[\sarg\marg{name}\marg{arg spec}\marg{internal - command call}] - A non-expl3 version of \explcs{chemmacros_new_macroset:nnn} for \LaTeXe\ - programmers. The starred version calls - \explcs{chemmacros_new_environment_macroset:nnn}. - \explcommand{chemmacros_add_cleveref_support:nnnnn}[ \marg{counter} - \marg{singular} \marg{plural} \marg{uppercase singular} \marg{uppercase - plural}] - A\sinceversion{5.6} command to add suiting names for a counter for the - \pkg{cleveref} package's \cs*{cref} commands. This command acts at the - end of the preamble and only if a user hasn't provided definitions with - \cs*{crefname} already. - \command{ChemCleverefSupport}[\marg{counter}\marg{singular}\oarg{uppercase - singular}\marg{plural}\oarg{uppercase plural}] - \sinceversion{5.6}\LaTeXe-version of - \explcs{chemmacros_add_cleveref_support:nnnnn}. - \explcommand{chemmacros_add_fancyref_support:nnn}[ \marg{prefix} \marg{name} - \marg{uppercase name}] - A\sinceversion{5.6} command to add suiting names for a counter for the - \pkg{fancyref} package's \cs*{fref} commands. This command acts at the - end of the preamble and doesn't override definitions made by the users. - \command{ChemFancyrefSupport}[\marg{prefix}\marg{name}\oarg{uppercase name}] - \sinceversion{5.6}\LaTeXe-version of - \explcs{chemmacros_add_fancyref_support:nnnnn}. -\end{commands} -This is how the macros \cs{NewChemParticle}, \cs{RenewChemParticle}, -\cs{DeclareChemParticle} and \cs{ProvideChemParticle} were defined: -\begin{sourcecode} - \NewChemMacroset {Particle} {mm} - { \chemmacros_define_particle:Nn #1 {#2} } -\end{sourcecode} - -The following macros strictly speaking are not provided by the -\chemmodule{base} module but this place fits best for their description. -\begin{commands} - \expandable\explcommand{chemmacros_if_module_exist:n}[\TF\ \marg{module} - \marg{true} \marg{false}] - Checks if a file with the correct name for a module \meta{module} can be - found. - \expandable\explcommand{chemmacros_if_module_loaded:n}[\TF\ \marg{module} - \marg{true} \marg{false}] - Checks if the module \meta{module} has already been loaded or not. - \explcommand{chemmacros_load_module:n}[ \marg{module}] - Loads module \meta{module} if it hasn't been loaded, yet. - \explcommand{chemmacros_load_modules:n}[ \marg{csv list of modules}] - Loads every module in \meta{csv list of modules} if they haven't been - loaded, yet. This is the code level variant of \cs{usechemmodule}. - \explcommand{chemmacros_before_module:nn}[ \marg{module} \marg{code}] - Saves\sinceversion{5.1} \meta{code} and inserts it right before - \meta{module} is loaded. If \meta{module} is never loaded then - \meta{code} is never inserted. If \meta{module} already is loaded when - the command is used then \meta{code} also is never inserted. - \explcommand{chemmacros_after_module:nn}[ \marg{module} \marg{code}] - Saves\sinceversion{5.1} \meta{code} and inserts it right after - \meta{module} is loaded. If \meta{module} is never loaded then - \meta{code} is never inserted. If \meta{module} already is loaded when - the command is used then \meta{code} is inserted immediately. -\end{commands} - -\subsection{The \chemmodule*{chemformula} Module}\label{sec:chemformula-module} - -The \chemmodule{chemformula} module loads the \pkg{amstext} -package~\cite{pkg:amstext} and the \chemmodule{charges} module. - -\subsubsection{For Users} -There are different packages which provide means for typesetting chemical -formulas: -\begin{itemize} - \item \pkg{chemformula}~\cite{pkg:chemformula}. This is probably well known - to users of \chemmacros. - \item \pkg{mhchem}~\cite{pkg:mhchem}. This is the \enquote{older brother} of - \chemformula. - \item \pkg{chemfig}~\cite{pkg:chemfig}. The easiest and most complete of the - packages for drawing skeletal formulas. - \item \XyMTeX~\cite{pkg:xymtex}. A very comprehensive alternative for - typesetting chemistry. -\end{itemize} -In order to help authors getting a consistent layout \chemmacros\ does not -make a choice which package to use for typesetting formulas. Although -\chemformula\ is well tested and preferred users can choose other packages if -they like. - -this is done with the following general option: -\begin{options} - \keyval{formula}{method}\Default{chemformula} - This\sinceversion{5.1} option let's you choose how chemical formulas are - typeset. Available methods are - \begin{itemize} - \item \pkg{chemformula} - \item \pkg{mhchem} - \item \pkg{chemist}\sinceversion{5.6} (from the \XyMTeX\ bundle) - \item \pkg{chemfig}\sinceversion{5.6} - \end{itemize} - The corresponding package with the same name is loaded. -\end{options} -If you explicitly set this option the corresponding package is loaded -immediately and the method is set up. Otherwise the option will be set by -\chemmacros\ at the end of the preamble. - -If\sinceversion{5.2} you load a method package in a way that a unique choice -is possible then \chemmacros\ will set the method accordingly if you haven't -set the option by yourself. If \emph{no} unique choice is possible -\chemmacros\ will raise a warning and choose \pkg{chemformula} regardless if -the package is loaded or not. In this case if you want to use another method -you'll have to choose manually. \emph{All automatic choices only happen at the - end of the preamble}. - -\paragraph{Using the \pkg*{chemformula} Package} -If you set \keyis{formula}{chemformula} the \chemmodule{chemformula} module -makes it possible that you can set all \chemformula\ options via the -\cs{chemsetup} command using the module \module{chemformula}, for example: -\begin{sourcecode} - \chemsetup[chemformula]{format=\sffamily} -\end{sourcecode} - -Everywhere where \chemmacros\ typesets chemical formulas \chemformula's macros -\cs{chcpd} or \cs{ch} are used, for example in the reaction environments -provided by the \chemmodule{reactions} module. - -\emph{This method is the recommended choice!} - -\paragraph{Using the \pkg*{mhchem} Package}\sinceversion{5.1}\label{sec:using-mhchem} -If you set \keyis{formula}{mhchem} the \chemmodule{chemformula} module makes -it possible that you can set all of \pkg{mhchem}'s options via the -\cs{chemsetup} command using the module \module{mhchem}, for example: -\begin{sourcecode} - \chemsetup[mhchem]{format=\sffamily} -\end{sourcecode} - -Everywhere where \chemmacros\ typesets chemical formulas \pkg{mhchem}'s macro -\cs{ce} is used, for example in the reaction environments provided by the -\chemmodule{reactions} module. - -There are some \latin{caveat}s if you use this method: -\begin{itemize} - \item This method has not been extensively tested, yet. There may be errors - and wrong output at unexpected places. - \item Using this method effectively disables the different values of the - \module{particles} option \option{elpair} (see - section~\ref{sec:particles-module}). - \item The different kinds of formal charges provided by the - \chemmodule{charges} module (see section~\ref{sec:ion-charges}) are - disabled. Formal charges always use the math method now. - \item There may also be other incompatibilities (\eg, \pkg{mhchem} has it's - own method of setting upright Greek letters so it may or may not disable - \chemmacros' mechanism). -\end{itemize} - -\paragraph{Using the \pkg*{chemfig} Package}\sinceversion{5.6}\label{sec:using-chemfig} -Everywhere where \chemmacros\ typesets chemical formulas \pkg{chemfig}'s macro -\cs{printatom} is used, for example in the reaction environments provided by -the \chemmodule{reactions} module. - -There are some \latin{caveat}s if you use this method: -\begin{itemize} - \item This method has not been extensively tested, yet. There may be errors - and wrong output at unexpected places. - \item Using this method effectively disables the different values of the - \module{particles} option \option{elpair} (see - section~\ref{sec:particles-module}). - \item The different kinds of formal charges provided by the - \chemmodule{charges} module (see section~\ref{sec:ion-charges}) are - disabled. Formal charges always use the math method now. - \item The reaction environments by the \chemmodule{reactions} module may - work only to a limited respect. If you plan to use them consider using - methods \pkg{chemformula} or \pkg{mhchem} instead. -\end{itemize} - -\paragraph{Using the \pkg*{chemist} Package}\sinceversion{5.6}\label{sec:using-chemist} -Everywhere where \chemmacros\ typesets chemical formulas \pkg{chemist}'s macro -\cs{ChemForm} is used, for example in the reaction environments provided by -the \chemmodule{reactions} module. - -There are some \latin{caveat}s if you use this method: -\begin{itemize} - \item This method has not been extensively tested, yet. There may be errors - and wrong output at unexpected places. - \item Using this method effectively disables the different values of the - \module{particles} option \option{elpair} (see - section~\ref{sec:particles-module}). - \item The different kinds of formal charges provided by the - \chemmodule{charges} module (see section~\ref{sec:ion-charges}) are - disabled. Formal charges always use the math method now. - \item The reaction environments by the \chemmodule{reactions} module may - work only to a limited respect. If you plan to use them consider using - methods \pkg{chemformula} or \pkg{mhchem} instead\footnote{On the other - hand \XyMTeX\ (and especially the \pkg{chemist} package) provides quite - a number of chemical reaction environments itself.}. -\end{itemize} - -\subsubsection{For Module Writers} - -There are two macros for module writers: -\begin{commands} - \explcommand{chemmacros_chemformula:n}[ \marg{formula}] - This is only a wrapper for \cs{chcpd} or \cs{ce}. It is recommended that - module writers use this macro (or a variant thereof) inside of - \chemmacros' macros whenever they want to display a chemical formula. - Writers who prefer traditional \LaTeXe\ programming over expl3 should use - \cs*{chemmacros@formula}. - \explcommand{chemmacros_reaction:n}[ \marg{reaction}] - This is only a wrapper for \cs{ch} or \cs{ce}. It is recommended that - module writers use this macro (or a variant thereof) inside of - \chemmacros' macros whenever they want to display a chemical reaction. - Writers who prefer traditional \LaTeXe\ programming over expl3 should use - \cs*{chemmacros@reaction}. -\end{commands} - -\subsection{The \chemmodule*{errorcheck} Module}\label{sec:errorcheck-module} -The\sinceversion{5.2} \chemmodule{errorcheck} module provides some rudimentary -support for giving users more meaningful messages when they use a command or -environment provided by a module that they haven't loaded. - -\subsection{The \chemmodule*{greek} Module}\label{sec:greek-module} - -The \chemmodule{greek} module loads the \pkg{chemgreek} -package~\cite{pkg:chemgreek}. - -This module provides one option: -\begin{options} - \keyval{greek}{mapping} - A valid value is any valid \chemgreek\ \meta{mapping}. \chemmacros\ will - warn you if no mapping has been chosen or if you are using the - \code{default} or the \code{var-default} mapping because this means that - no upright Greek letters are available. -\end{options} -If you load a \chemgreek\ support package which allows an unambiguous choice -of a mapping \chemgreek\ will make this choice automatically. This means if -you say -\begin{sourcecode} - \usepackage{upgreek} - \usepackage{chemmacros} -\end{sourcecode} -then \chemmacros\ will use \pkg{upgreek}'s upright Greek letters. If you -have -\begin{sourcecode} - \usepackage{upgreek} - \usepackage{chemmacros} - \usepackage{textgreek} -\end{sourcecode} -then no unambiguous choice is possible and you should choose a mapping -yourself, for example: -\begin{sourcecode} - \usepackage{upgreek} - \usepackage{chemmacros} - \usepackage{textgreek} - \chemsetup{greek=textgreek} -\end{sourcecode} -For further details on mappings please refer to \chemgreek's manual. - -\subsection{The \chemmodule*{lang} Module}\label{sec:lang-module} - -The \chemmodule{lang} module provides language support for \chemmacros. It -loads the package \pkg{translations}~\cite{pkg:translations}. - -\subsubsection{Information For Users}\label{sec:information-users} - -This module defines the following option: -\begin{options} - \keychoice{language}{auto,\meta{language}}\Default{auto} - If set to \code{auto} \chemmacros\ will detect the language used by - \pkg{babel}~\cite{pkg:babel} or \pkg{polyglossia}~\cite{pkg:polyglossia} - automatically, the fallback translation is English and will be used if no - translation for the actual language is available. Any language known to - the \pkg{translations} package is a valid value for \meta{language}. -\end{options} - -The language chosen via \option{language} is used for translation of certain -strings in different places all over \chemmacros. They are mentioned in the -places when the corresponding function of \chemmacros\ is explained. - -Translation is done with the help of the \pkg{translations} package, available -translation keys are listed in section~\vref{sec:avail-transl-keys}. - -\subsubsection{Available Translation Keys}\label{sec:avail-transl-keys} - -Table~\vref{tab:translation-keys} lists all predefined translations of the -available keys. \emph{Some of the translations have changed in - version~5.6\changedversion{5.6}.} The \chemmodule{lang} module doesn't -provide the translations themselves -- they are provided by the corresponding -modules. A translation key is a unique string\footnote{That is, a string - using the definition for strings used for expl3, i.e., converted to a series - of category code~12 characters..} of characters. Each key is used to -identify a replacement text which depends on the current language or the -language set through the \option{language} option. For each key at least the -English fallback translation is provided, for most also the German translation -is provided. For a few keys also other translations are provided. If you -find that a translation for your language is missing you can provide it in the -preamble: -\begin{commands} - % \command{DeclareTranslation}[\marg{language}\marg{key}\marg{translation}] - % Defines a translation of key \meta{key} for the language \meta{language}. - % No error will be raised if a translation of \meta{key} already exists. - % This command can only be used in the preamble and is defined by the - % \pkg{translations} package. - \command{DeclareChemTranslation}[\marg{key}\marg{language}\marg{translation}] - \sinceversion{5.6}A command which makes an abstraction from the - \pkg{translations} package. It should be used in documents for adding - missing translations that are needed. This command can only be used in - the preamble. - \command{DeclareChemTranslations}[\marg{key}\Marg{\meta{language} = - \meta{translation}}] - \sinceversion{5.6}A command rather meant for module writers but can be - used by document authors as well, of course. It gets a csv list of - key\slash value pairs of translations. This command can only be used in - the preamble. -\end{commands} -If you send me an email (see section~\vref{sec:sugg-bug-reports}) with the -translations for your language I'll gladly add them to the next release of -\chemmacros! - -\emph{Please do not use \pkg{translations}' \cs{DeclareTranslation} for - declaring translations.} - -\ForAllChemTranslationsDo{ - \appto\chemtranslationtable{\texttt{#1} & #2 & \texttt{\detokenize{#3}} \\} -} - -\begin{longtable}{lll} - \caption{Translation keys predefined by \chemmacros\ (except - \code{phase-aqi}, \code{phase-cd} and \code{phase-lc} which were defined - in this document).} - \label{tab:translation-keys} \\ - \toprule - \bfseries key & \bfseries language & \bfseries translation \\ - \midrule - \endfirsthead - \toprule - \bfseries key & \bfseries language & \bfseries translation \\ - \midrule - \endhead - \bottomrule - \endlastfoot - \midrule - & & \hfill\emph{continues} \\ - \endfoot - \chemtranslationtable -\end{longtable} - -\subsubsection{Information For Module Writers} - -In addition to the commands from section~\vref{sec:avail-transl-keys} the -following macros are available: -\begin{commands} - \expandable\explcommand{chemmacros_translate:n}[ \marg{translation key}] - Translates the given key to the language which is detected automatically - or given by the user. Should be used in \chemmacros' macros instead of - \pkg{translations}' \cs*{GetTranslation}. - \explcommand{l_chemmacros_language_tl} - A token list variable that holds the language which is used by - \explcs{chemmacros_translate:n} for translation, \emph{after begin - document}. - \command{ChemTranslate}[\marg{translation key}] - A version of \explcs{chemmacros_translate:n} for those who prefer - traditional \LaTeXe\ programming over expl3. - \explcommand{chemmacros_declare_translation:nnn}[\marg{language}\marg{key}% - \marg{translation}] - The expl3 version of \cs{DeclareChemTranslation}. - \explcommand{chemmacros_declare_translations:nn}[\marg{key}\Marg{\meta{language} - = \meta{translation}}] - The expl3 version of \cs{DeclareChemTranslations}. -\end{commands} - -\clearpage - -\part{Additional Modules}\label{part:additional-modules} - -\section{User Modules} -\subsection{The \chemmodule*{all} \emph{pseudo}-module}\label{sec:all-module} - -The \chemmodule{all} module is a pseudo module: it doesn't define any -functionality at all. It does however load all other modules. So you can say -\begin{sourcecode} - \chemsetup{ modules = all } -\end{sourcecode} -to ensure that every module is available. This \emph{will not} load personal -modules! - -\subsection{The \chemmodule*{isotopes} Module}\label{sec:isotopes-module} - -The \chemmodule{isotope} module loads the \pkg{elements} -package~\cite{pkg:elements}. This module defines one user command: -\begin{commands} - \command{isotope}[\sarg\marg{input}] - \meta{input} can either be the \emph{symbol} of an element or the - \emph{name} of an element. Be aware that \emph{the name is language - dependent}, refer to the manual of the \pkg{elements} package for - details. To be on the safe side use the element symbol. - - \meta{input} can also be comma separated list: - \cs{isotope}\Marg{\meta{nuc},\meta{symbol}}. If you leave \meta{nuc} out - then \cs{isotope} will display the most common isotope. Otherwise - \meta{nuc} will be used. If \meta{nuc} is an isotope unknown to the - \pkg{elements} package \cs{isotope} will write a warning to the log file. - - The starred variant omits the element number. -\end{commands} - -\begin{example}[side-by-side] - \isotope{C} - \isotope*{C} - \isotope{14,C} - \isotope*{14,C} -\end{example} - -As input for the element symbol you can choose any of the elements known to -the \pkg{elements} package. - -There are options which allow you to determine how the isotope is printed: -\begin{options} - \keychoice{format}{super,side}\Module{isotopes}\Default{super} - Either print the isotope number as superscript or to the right of the - element symbol. - \keyval{side-connect}{input}\Module{isotopes}\Default{-} - Determine what is printed between the element symbol and the isotope - number if \keyis{format}{side}. -\end{options} - -\begin{example}[side-by-side] - \isotope{C} - \chemsetup[isotopes]{format=side} - \isotope{C} - \chemsetup[isotopes]{side-connect=} - \isotope{C} -\end{example} - -\subsection{The \chemmodule*{mechanisms} Module}\label{sec:mechanisms-module} - -The module \chemmodule{mechanisms} loads the package -\pkg{amstext}~\cite{pkg:amstext}. It provides one macro: - -\begin{commands} - \command{mech}[\oarg{type}] - Allows to specify the most common reaction mechanisms. -\end{commands} -\meta{type} can have one of the following values: -\begin{commands} - \command{mech} - (empty, no opt. argument) nucleophilic substitution \mech - \command{mech}[\Oarg{1}] - unimolecular nucleophilic substitution \mech[1] - \command{mech}[\Oarg{2}] - bimolecular nucleophilic substitution \mech[2] - \command{mech}[\Oarg{se}] - electrophilic substitution \mech[se] - \command{mech}[\Oarg{1e}] - unimolecular electrophilic substitution \mech[1e] - \command{mech}[\Oarg{2e}] - bimolecular electrophilic substitution \mech[2e] - \command{mech}[\Oarg{ar}] - electrophilic aromatic substitution \mech[ar] - \command{mech}[\Oarg{e}] - elimination \mech[e] - \command{mech}[\Oarg{e1}] - unimolecular elimination \mech[e1] - \command{mech}[\Oarg{e2}] - bimolecular elimination \mech[e2] - \command{mech}[\Oarg{cb}] - unimolecular elimination \enquote{conjugated base}, \ie, via carbanion - \mech[cb] -\end{commands} - -\subsection{The \chemmodule*{newman} Module}\label{sec:newman-module} -The \chemmodule{newman} module provides a command for drawing Newman -projections. It loads the \chemmodule{tikz} module. -\begin{commands} - \command{newman}[\oarg{options}\darg{angle}% - \Marg{\meta{1},\meta{2},\meta{3},\meta{4},\meta{5},\meta{6}}] - Create Newman projections. This command uses \TikZ\ internally. - \meta{angle} rotates the back atoms counter clockwise with respect to the - front atoms and is an optional argument. \meta{1} to \meta{6} are the - positions, the first three are the front atoms, the last three the back - atoms. -\end{commands} - -\begin{example} - \newman{} \newman(170){} - \newman{1,2,3,4,5,6} \newman{1,2,3} \newman{,,,4,5,6} -\end{example} - -Several options allow customization: -\begin{options} - \keyval{angle}{angle}\Module{newman}\Default{0} - Default angle. - \keyval{scale}{factor}\Module{newman}\Default{1} - Scale the whole projection by factor \meta{factor}. - \keyval{ring}{tikz}\Module{newman}\Default - Customize the ring with \TikZ\ keys. - \keyval{atoms}{tikz}\Module{newman}\Default - Customize the nodes within which the atoms are set with \TikZ\ keys. - \keyval{back-atoms}{tikz}\Module{newman}\Default - Explicitly customize the nodes of the back atoms with \TikZ\ keys. -\end{options} - -\begin{example} - \chemsetup[newman]{angle=45} \newman{} - \newman[scale=.75,ring={draw=blue,fill=blue!20}]{} -\end{example} - -\begin{example} - \chemsetup[newman]{atoms={draw=red,fill=red!20,inner sep=2pt,rounded corners}} - \newman{1,2,3,4,5,6} -\end{example} - -\begin{example} - \chemsetup[newman]{ - atoms = {draw=red,fill=red!20,inner sep=2pt,rounded corners}, - back-atoms = {draw=blue,fill=blue!20,inner sep=2pt,rounded corners} - } - \newman{1,2,3,4,5,6} \newman(170){1,2,3,4,5,6} -\end{example} - -\subsection{The \chemmodule*{orbital} Module}\label{sec:orbital-module} -The \chemmodule{orbital} module loads the \chemmodule{tikz} module. It -provides the following command to create orbitals: -\begin{commands} - \command{orbital}[\oarg{options}\marg{type}] - Draw an orbital shape of type \meta{type}. This command uses \TikZ\ - internally. -\end{commands} - -There are the following types available for \meta{type}: -\begin{center} - \code{s} \quad - \code{p} \quad - \code{sp} \quad - \code{sp2} \quad - \code{sp3} -\end{center} - -\begin{example} - \orbital{s} \orbital{p} \orbital{sp} \orbital{sp2} \orbital{sp3} -\end{example} - -Depending on the type you have different options to modify the orbitals: -\begin{options} - \keychoice{phase}{+,-}\Module{orbital}\Default{+} - changes the phase of the orbital (all types) - \keyval{scale}{factor}\Module{orbital}\Default{1} - changes the size of the orbital (all types) - \keyval{color}{color}\Module{orbital}\Default{black} - changes the color of the orbital (all types) - \keyval{angle}{angle}\Module{orbital}\Default{0} - rotates the orbitals with a p contribution counter clockwise (all types - except \code{s}) - \keybool{half}\Module{orbital}\Default{false} - displays only half an orbital (only \code{p}) -\end{options} - -\begin{example} - \orbital{s} \orbital[phase=-]{s} - \orbital{p} \orbital[phase=-]{p} - \orbital{sp3} \orbital[phase=-]{sp3} - - \orbital[angle=0]{p} \orbital[color=red!50]{p} - \orbital[angle=135,scale=1.5]{p} \orbital[half]{p} -\end{example} - -Additionally there are two options, with which the \TikZ\ behaviour can be -changed. -\begin{options} - \keybool{overlay}\Module{orbital} - The orbital \enquote{doesn't need space}; it is displayed with the \TikZ\ - option \code{overlay}. - \keyval{opacity}{num}\Module{orbital} - The orbital becomes transparent; \meta{value} can have values between - \code{1} (fully opaque) to \code{0} (invisible). -\end{options} -\begin{example} - \vspace{7mm} - \chemsetup[orbital]{ - overlay, - p/color = black!70 - } - \setchemfig{bond offset=0pt} - \chemfig{ - ?\orbital{p} - -[,1.3]{\orbital[phase=-]{p}} - -[:30,1.1]\orbital{p} - -[:150,.9]{\orbital[phase=-]{p}} - -[4,1.3]\orbital{p} - -[:-150,1.1]{\orbital[phase=-]{p}}? - } - \vspace{7mm} -\end{example} - -\begin{example} - \vspace{7mm} - \setchemfig{bond offset = 0pt} - \chemsetup[orbital]{ - overlay , - opacity = .75 , - p/scale = 1.6 , - s/color = blue!50 , - s/scale = 1.6 - } - \chemfig{ - \orbital{s} - -[:-20]{\orbital[scale=2]{p}} - {\orbital[half,angle=0]{p}} - {\orbital[angle=170,half]{p}} - {\orbital[angle=-150,half]{p}} - (-[:-150]\orbital{s})-\orbital{s} - } - \vspace{1cm} -\end{example} - -\subsection{The \chemmodule*{polymers} Module}\label{sec:polymers-module} -The\sinceversion{5.5} \chemmodule{polymers} module loads the -\chemmodule{nomenclature} and the \chemmodule{tikz} modules. - -\subsubsection{Nomenclature} - -The \chemmodule{polymers} module defines a number of \ac{iupac} macros for -usage inside \cs{iupac} which are used in polymer chemistry. - -\paragraph{Copolymers} -\begin{commands} - \iupaccs[co]{copolymer}{unspecified copolymer.} - \iupaccs[stat]{statistical}{statistical copolymer.} - \iupaccs[ran]{random}{random copolymer.} - \iupaccs[alt]{alternating}{alternating copolymer.} - \iupaccs[per]{periodic}{periodic copolymer.} - \iupaccs{block}{block copolymer.} - \iupaccs{graft}{graft copolymer.} -\end{commands} - -\paragraph{Non-linear (Co) Polymers and Polymer Assemblies} -\begin{commands} - \iupaccs{blend}{The blend qualifier.} - \iupaccs{comb}{The comb qualifier.} - \iupaccs[compl]{complex}{The complex qualifier.} - \iupaccs[cyclo]{cyclic}{The cyclic qualifier.} - \iupaccs{branch}{The branch qualifier.} - \iupaccs[net]{network}{The network qualifier.} - \iupaccs[ipn]{ipnetwork}{The interpenetrating network qualifier.} - \iupaccs[sipn]{sipnetwork}{The semi-interpenetrating network qualifier.} - \iupaccs{star}{The star qualifier.} -\end{commands} - -\subsubsection{Polymer Denotations in \pkg*{chemfig}'s Molecules} -The \pkg{chemfig} manual proposes some code defining the macros -\cs*{setpolymerdelim} and \cs*{makebraces} which make it possible to add -delimiters to \pkg{chemfig} molecules. The \chemmodule{polymers} module -implements the following macro based on the same idea: -\begin{commands} - \command{makepolymerdelims}[\oarg{options}\marg{height}\oarg{depth}\marg{opening - node}\marg{closing node}] - The value of \meta{depth} is the same as \meta{height} unless it is - specified explicitly. \meta{opening node} and \meta{closing node} are the - names of \TikZ' nodes where the delimites are placed. -\end{commands} -\begin{options} - \keychoice{delimiters}{\Marg{\meta{left}\meta{right}}}\Module{polymers}\Default{[]} - This option demands two tokens as argument, the first being the opening - brace, the second the closing brace. A dot (\code{.}) denotes an empty - delimiter. - \keyval{subscript}{subscript}\Module{polymers}\Default{\$n\$} - Subscript to the right delimiter. - \keyval{superscript}{superscript}\Module{polymers} - Superscript to the right delimiter. -\end{options} - -\begin{example} - \setchemfig{atom sep=2em} - \chemfig{-[@{op,.75}]CH_2-CH(-[6]Cl)-[@{cl,0.25}]} - \makepolymerdelims{5pt}[27pt]{op}{cl} - \chemfig{-[@{op,.75}]CH_2-CH(-[6]Cl)-[@{cl,0.25}]} - \makepolymerdelims[delimiters=()]{5pt}[27pt]{op}{cl} -\end{example} - -\subsection{The \chemmodule*{reactions} Module}\label{sec:reactions-module} -The \chemmodule{reactions} module loads the \chemmodule{chemformula} module -and the \pkg{mathtools} package~\cite{pkg:mathtools}. - -\subsubsection{Predefined Environments} - -You can use these environments for numbered\ldots -\begin{environments} - \environment{reaction} - A single reaction where \chemformula\ code is placed directly in the - environment body. A wrapper around the \env*{equation} environment. The - environment body is parsed with \cs{ch} or \cs{ce} depending on the value - of the \option{formula} option, see - section~\vref{sec:chemformula-module}. - \environment{reactions} - Several aligned reactions. A wrapper around \pkg{amsmath}'s \env*{align} - environment. The environment body is parsed with \cs{ch} or \cs{ce} - depending on the value of the \option{formula} option, see - section~\vref{sec:chemformula-module}. -\end{environments} - -\ldots and their starred versions for unnumbered reactions. -\begin{environments} - \environment{reaction*} - A wrapper around the \env*{equation*} environment. The environment body - is parsed with \cs{ch} or \cs{ce} depending on the value of the - \option{formula} option, see section~\vref{sec:chemformula-module}. - \environment{reactions*} - A wrapper around \pkg{amsmath}'s \env*{align*} environment. The - environment body is parsed with \cs{ch} or \cs{ce} depending on the value - of the \option{formula} option, see - section~\vref{sec:chemformula-module}. -\end{environments} - -With those environments you can create (un)numbered reaction equations similar -to mathematical equations. - -Theses environments use the \env*{equation}/\env*{equation*} environments or -the \env*{align}/\env*{align*} environments, respectively, to display the -reactions. - -\begin{example} - Reaction with counter: - \begin{reaction} - A -> B - \end{reaction} -\end{example} - -\begin{example} - Reaction without counter: - \begin{reaction*} - C -> D - \end{reaction*} -\end{example} - -\begin{example} - Several aligned reactions with counter: - \begin{reactions} - A &-> B + C \\ - D + E &-> F - \end{reactions} -\end{example} - -\begin{example} - Several aligned reactions without counter: - \begin{reactions*} - G &-> H + I \\ - J + K &-> L - \end{reactions*} -\end{example} - -If you want to change the layout of the counter tags, you can use -\begin{commands} - \command*{renewtagform}[\marg{tagname}\oarg{format}\marg{left - delimiter}\marg{right delimiter}] - Provided by the \pkg{mathtools} package. -\end{commands} -or use the following options: -\begin{options} - \keyval{tag-open}{left delimiter}\Module{reactions}\Default{\{} - \sinceversion{5.6}The left delimiter. - \keyval{tag-close}{right delimiter}\Module{reactions}\Default{\}} - \sinceversion{5.6}The right delimiter. - \keyval{before-tag}{format}\Module{reactions}\Default - \sinceversion{5.6}Code inserted before the tags. -\end{options} - -\begin{example} - \chemsetup[reactions]{ - before-tag = R \textbf , - tag-open = [ , - tag-close = ] - } - \begin{reaction} - H2O + CO2 <<=> H2CO3 - \end{reaction} -\end{example} - -The use of \AmS math's \cs{intertext} is possible: -\begin{example} - \begin{reactions} - A + 2 B &-> 3 C + D "\label{rxn:test}" - \intertext{Some text in between aligned reactions} - 3 E + F &<=> G + 1/2 H - \end{reactions} - See reaction~\ref{rxn:test}. -\end{example} - -If\sinceversion{5.6} you are using either \pkg{cleveref} or \pkg{fancyref} the -\env{reaction} counter is supported already. For \pkg{fancyref} use the -prefix \code{rct}. - -\subsubsection{Own Reactions} -You can create new types of reactions with the command: -\begin{commands} - \command{NewChemReaction}[\marg{name}\oarg{number of arguments}\marg{math name}] - \meta{name} will be the name of the new chem environment. \meta{math name} is - the underlying math environment. Gives an error if \meta{name} already - exists. - \command{RenewChemReaction}[\marg{name}\oarg{number of arguments}\marg{math name}] - \meta{name} is the name of the renewed chem environment. \meta{math name} is - the underlying math environment. Gives an error if \meta{name} does not exist. - \command{DeclareChemReaction}[\marg{name}\oarg{number of arguments}\marg{math name}] - \meta{name} will be the name of the chem environment. \meta{math name} is - the underlying math environment. - \command{ProvideChemReaction}[\marg{name}\oarg{number of arguments}\marg{math name}] - \meta{name} will be the name of the new chem environment. \meta{math name} is - the underlying math environment. The new environment is only defined if - it doesn't exist, yet. -\end{commands} - -\begin{sourcecode} - \NewChemReaction{reaction} {equation} - \NewChemReaction{reaction*} {equation*} - \NewChemReaction{reactions} {align} - \NewChemReaction{reactions*}{align*} -\end{sourcecode} - -Let's suppose, you'd like to have the alignment behaviour of the \env{alignat} -environment for \chemformula\ reactions. You could do the following: - -\begin{sourcecode} - \NewChemReaction{reactionsat}[1]{alignat} -\end{sourcecode} - -With this the \env{reactionsat} environment is defined. -\begin{example} - \NewChemReaction{reactionsat}[1]{alignat} - \NewChemReaction{reactionsat*}[1]{alignat*} - \begin{reactionsat}{3} - A &-> B &&-> C &&-> D \\ - aaaaa &-> bbbbb &&-> ccccc &&-> ddddd - \end{reactionsat} - \begin{reactionsat*}{2} - A &-> B & C &-> D \\ - aaaaa &-> bbbbb &\quad{} ccccc &-> ddddd - \end{reactionsat*} -\end{example} - -\subsubsection{List of Reactions} - -The \chemmodule{reactions} module also provides a command to display a list of -the reactions created with the \env{reaction} environment. -\begin{commands} - \command{listofreactions} - Print a list of reactions. -\end{commands} -\begin{example} - \listofreactions -\end{example} - -The output of this list can be modified by two options: -\begin{options} - \keyval{list-name}{name of the - list}\Module{reactions}\Default{\cs*{ChemTranslate}\Marg{{list-of-reactions}}} - Let's you set the name of the list manually. The default name is language - dependent, see section~\vref{sec:lang-module}. - \keyval{list-entry}{prefix to each - entry}\Module{reactions}\Default{\cs*{ChemTranslate}\Marg{reaction}} - Let's you set a prefix to each list entry. The default name is language - dependent, see section~\vref{sec:lang-module}. - \keyval{list-heading-cmd}{code}\Module{reactions}\Default{\cs*{section}\sarg\Marg{\#1}} - The\sinceversion{5.2} macro that is called at the beginning of the list. - Inside of \meta{code} \code{\#1} refers to the actual heading of the list. - The default setting is not entirely true: if a macro \cs*{chapter} is - defined \code{\cs*{chapter}\sarg\Marg{\#1}} is used. - \keybool{tocbasic}\Module{reactions}\Default{false} - \sinceversion{5.6}If you use a \KOMAScript\ class \emph{or} if you load - the \pkg{tocbasic} package \emph{or} if you set this option to \code{true} - the list of reactions will be set up using the \pkg{tocbasic} package. - This \emph{disables} the \option{list-heading-cmd} option. For a - \KOMAScript\ class this means that the list of reactions obeys - \KOMAScript's \option*{listof} option. -\end{options} -Instead of using the option \option{list-name} you also could redefine -\cs{reactionlistname}. - -The list lists all reactions with a number and disregards reactions without -number. All reaction environments without star have an optional argument -which let's you add a description (or caption) for the entry in the list. -\begin{example} - \begin{reaction}[Autoprotolyse] - 2 H2O <<=> H3O+ + OH- - \end{reaction} -\end{example} - -If you use the \env{reactions} environment this will not work, though. In -this case you can use -\begin{commands} - \command{AddRxnDesc}[\marg{description}] - Add a description to a reaction. -\end{commands} - -\begin{example} - \begin{reactions} - "\chlewis{0.}{Cl}" + CH4 & - -> HCl + "\chlewis{180.}{C}" H3 \AddRxnDesc{first~step~of~chain} \\ - "\chlewis{180.}{C}" H3 + Cl2 & - -> CH3Cl + "\chlewis{0.}{Cl}" \AddRxnDesc{second~step~of~chain} - \end{reactions} -\end{example} - -\subsection{The \chemmodule*{redox} Module}\label{sec:redox-module} - -The \chemmodule{redox} module loads the modules \chemmodule{tikz} and -\chemmodule{xfrac}. It also loads the packages -\pkg{mathtools}~\cite{pkg:mathtools} and \pkg{relsize}~\cite{pkg:relsize}. - -\subsubsection{Oxidation Numbers}\label{sec:oxidation-numbers} - -Regarding the typesetting of oxidation numbers -\citetitle{iupac:greenbook}~\cite{iupac:greenbook} says the following: -\begin{cnltxquote}[{\cite[][p.\,50]{iupac:greenbook}}] - Oxidation numbers are denoted by positive or negative Roman numerals or by - zero \textelp{} - - \textit{Examples}\quad \ox{7,Mn}, \ox[pos=side]{7,manganese}, \ox{-2,O}, - \ox{0,Ni} -\end{cnltxquote} - -The following command is provided to set oxidation numbers: -\begin{commands} - \command{ox}[\sarg\oarg{options}\Marg{\meta{number},\meta{atom}}] - Places \meta{number} as right superscript to \meta{atom}; \meta{number} - has to be a (rational) number! \meta{atom} is treated as a \chemformula\ - formula, like it would be in \cs{chcpd} (this depends on the setting of - the \option{formula} option, see~\vref{sec:chemformula-module}). -\end{commands} - -\begin{example} - \ox{+1,Na}, \ox{2,Ca}, \ox{-2,S}, \ox{-1,F} -\end{example} - -There are a number of options that can be used to modify the typeset result: -\begin{options} - \keybool{parse}\Module{redox}\Default{true} - When \code{false} an arbitrary entry can be used for \code{}. - \keybool{roman}\Module{redox}\Default{false} - Switches from roman to arabic numbers. - \keychoice{pos}{top,super,side}\Module{redox}\Default{super} - \code{top} places \meta{number} above \meta{atom}, \code{super} to the - upper right as superscript and \code{side} to the right and inside - brackets. Both \code{super} and \code{side} follow \ac{iupac} - recommendation, \code{top} does not! - \keybool{explicit-sign}\Module{redox}\Default{false} - Shows the $+$ for positiv numbers and the $\pm$ for $0$. - \keybool{explizit-zero-sign}\Module{redox}\Default{true} - Only\sinceversion{5.4} if both \option{explicit-sign} and - \option{explicit-zero-sign} are set to \code{true} $\pm0$ will be - printed. - \keychoice{decimal-marker}{comma,point}\Module{redox}\Default{point} - Choice for the decimal marker for formal oxidation numbers like \ox{1.2,X}. - \keychoice{align}{center,right}\Module{redox}\Default{center} - Center the oxidation number relative to the atom or right-align it. - \keyval{side-connect}{code}\Module{redox}\Default{\cs*{,}} - Code that is inserted between atom and oxidation number if - \keyis{pos}{side} is used. - \keyval{text-frac}{cs}\Module{redox}\Default{\cs{chemfrac}\Oarg{text}\Marg{\#1}\Marg{\#2}} - The fraction macro that is used for fractions if \keyis{pos}{side} is - used. \meta{cs} must be a macro that takes two mandatory arguments, the - first for the numerator and the second for the denominator. - \keyval{super-frac}{cs}\Module{redox}\Default{\cs{chemfrac}\Oarg{superscript}% - \Marg{\#1}\Marg{\#2}} - The fraction macro that is used for fractions if \keyis{pos}{top} or - \keyis{pos}{super} is used. \meta{cs} must be a macro that takes two - mandatory arguments, the first for the numerator and the second for the - denominator. -\end{options} - -\begin{example}[side-by-side] - \ox[roman=false]{2,Ca} \ox{2,Ca} \\ - \ox[pos=top]{3,Fe}-Oxide \\ - \ox[pos=side]{3,Fe}-Oxide \\ - \ox[parse=false]{?,Mn} \\ - \ox[pos=top,align=right]{2,Ca} -\end{example} - -The \keyis{pos}{top} variant also can be set with the shortcut \cs{ox}\sarg: -\begin{example}[side-by-side] - \ox{3,Fe} \ox*{3,Fe} -\end{example} - -Using the \option{explicit-sign} option will always show the sign of the -oxidation number: -\begin{example} - \chemsetup[redox]{explicit-sign = true} - \ox{+1,Na}, \ox{2,Ca}, \ox{-2,S}, \ch{"\ox{0,F}" {}2} -\end{example} - -\begin{example} - \chemsetup[redox]{pos=top} - Compare \ox{-1,O2^2-} to \ch{"\ox{-1,O}" {}2^2-} -\end{example} - -Sometimes one might want to use formal oxidation numbers like \num{.5} or -\chemfrac{1}{3}: -\begin{example}[side-by-side] - \chemsetup[redox]{pos=top} - \ox{.5,Br2} - \ch{"\ox{1/3,I}" {}3+} - - \chemsetup[redox]{pos=side} - \ox{1/3,I3+} -\end{example} - -The fraction is displayed with the help of the \pkg{xfrac} -package~\cite{bnd:l3packages}. For more details on how \chemmacros\ uses it -read section~\vref{sec:xfrac-module}. - -\subsubsection{Redox Reactions}\label{sec:redox-reactions} - -\chemmacros\ provides two commands to visualize the transfer of electrons in -redox reactions. Both commands are using \TikZ. -\begin{commands} - \command{OX}[\Marg{\meta{name},\meta{atom}}] - Label \meta{atom} with the label \meta{name}. - \command{redox}[\Darg{\meta{name1},\meta{name2}}\oarg{tikz}\oarg{num}\marg{text}] - Connect two \meta{atom}s previously labelled with \cs{OX}. Only the first - argument \Darg{\meta{name1},\meta{name2}} is required, the others are all - optional. -\end{commands} - -\cs{OX} places \meta{atom} into a node, which is named with \meta{name}. If -you have set two \cs{OX}, they can be connected with a line using \cs{redox}. -To do so the names of the two nodes that are to be connected are written in -the round braces. Since \cs{redox} draws a \code{tikzpicture} with options -\code{remember picture,overlay}, the document needs to be \emph{compiled at - least two times}. - -\begin{example} - \vspace{7mm} - \OX{a,Na} $\rightarrow$ \OX{b,Na}\pch\redox(a,b){oxidation} -\end{example} - -This line can be customized using \TikZ\ keys in \oarg{tikz}: -\begin{example} - \vspace{7mm} - \OX{a,Na} $\rightarrow$ \OX{b,Na}\pch\redox(a,b)[->,red]{ox} -\end{example} - -With the argument \oarg{num} the length of the vertical parts of the line can -be adjusted. The default length is \code{.6em}. This length is multiplied -with \meta{num}. If you use a negative value the line is placed \emph{below} -the text. -\begin{example} - \vspace{7mm} - \OX{a,Na} $\rightarrow$ \OX{b,Na}\pch - \redox(a,b)[->,red]{ox} - \redox(a,b)[<-,blue][-1]{red} - \vspace{7mm} -\end{example} - -The default length of the vertical lines can be customized with the option -\begin{options} - \keyval{dist}{dim}\Module{redox}\Default{.6em} - A \TeX\ dimension. -\end{options} - -\begin{example} - \vspace{7mm} - \chemsetup{redox/dist=1em} - \OX{a,Na} $\rightarrow$ \OX{b,Na}\pch\redox(a,b)[->,red]{ox} -\end{example} - -\begin{options} - \keyval{sep}{dim}\Module{redox}\Default{.2em} - The option can be used to change the distance between the atom and the - beginning of the line. -\end{options} - -\begin{example} - \vspace{7mm} - \chemsetup{redox/sep=.5em} - \OX{a,Na} $\rightarrow$ \OX{b,Na}\pch\redox(a,b)[->,red]{ox} -\end{example} - -\paragraph{Examples} -\begin{example} - \vspace{7mm} - \ch{ - 2 "\OX{o1,Na}" + "\OX{r1,Cl}" {}2 - -> - 2 "\OX{o2,Na}" {}+ + 2 "\OX{r2,Cl}" {}- - } - \redox(o1,o2){\small OX: $- 2\el$} - \redox(r1,r2)[][-1]{\small RED: $+ 2\el$} - \vspace{7mm} -\end{example} - -\begin{example} - \vspace{7mm} - \ch{ - 2 "\OX{o1,\ox*{0,Na}}" + "\OX{r1,\ox*{0,Cl}}" {}2 - -> - 2 "\OX{o2,\ox*{+1,Na}}" {}+ + 2 "\OX{r2,\ox*{-1,Cl}}" {}- - } - \redox(o1,o2){\small OX: $- 2\el$} - \redox(r1,r2)[][-1]{\small RED: $+ 2\el$} - \vspace{7mm} -\end{example} - -\begin{example} - \vspace{14mm} - \ch{ - 2 "\OX{o1,\ox*{0,Na}}" + "\OX{r1,\ox*{0,Cl}}" {}2 - -> - 2 "\OX{o2,\ox*{+1,Na}}" {}+ + 2 "\OX{r2,\ox*{-1,Cl}}" {}- - } - \redox(o1,o2)[draw=red,->][3.33]{\small OX: $- 2\el$} - \redox(r1,r2)[draw=blue,->]{\small RED: $+ 2\el$} -\end{example} - -\begin{example} - \vspace{7mm} - \ch{ - 2 "\OX{o1,\ox*{0,Na}}" + "\OX{r1,\ox*{0,Cl}}" {}2 - -> 2 "\OX{o2,\ox*{+1,Na}}" {}+ + 2 "\OX{r2,\ox*{-1,Cl}}" {}- - } - \redox(o1,o2)[green,-stealth]{\small OX} - \redox(r1,r2)[purple,-stealth][-1]{\small RED} - \vspace{7mm} -\end{example} - -\subsection{The \chemmodule*{scheme} Module}\label{sec:scheme-module} - -The \chemmodule{scheme} module loads the \pkg{chemnum} -package~\cite{pkg:chemnum} and defines a floating environment -\showenv{scheme}. That is, it \emph{only} defines this float if no -environment \env{scheme} exists at the end of the preamble. The module checks -for different available float defining methods, in \emph{this} order: -\begin{itemize} - \item If the current class is a \KOMAScript\ class \cs*{DeclareNewTOC} will - be used. - \item If the current class is \cls{memoir}, \cls{memoir}'s methods are used. - \item If the package \pkg{tocbasic} has been loaded \cs*{DeclareNewTOC} will - be used. - \item If the package \pkg{newfloat} has been loaded - \cs*{DeclareFloatingEnvironment} will be used. - \item \sinceversion{5.1}If the package \pkg{floatrow} has been loaded its - method will be used. - \item If the package \pkg{float} has been loaded its method will be used. - \item If neither of the above the \enquote{manual} method is used. This - means the environment is defined the same way like \env*{figure} is - defined in the \cls*{article} class or the \cls*{book} class, depending if - \cs*{chapter} is defined or not. -\end{itemize} - -The list name and the caption name both are translated to the language -specified according to the \option{lang} option and the provided translations, -see section~\vref{sec:lang-module} for details. If you want to manually change -them then redefine these macros after begin document: -\begin{commands} - \command{listschemename} - The name of the list of schemes. - \command{schemename} - The name used in captions. -\end{commands} -The list of schemes is printed as expected with -\begin{commands} - \command{listofschemes} -\end{commands} - -If\sinceversion{5.6} you are using either \pkg{cleveref} or \pkg{fancyref} the -\env{scheme} environment (or rather its captions) are supported already. For -\pkg{fancyref} use the prefix \code{sch}. - -\subsection{The \chemmodule*{spectroscopy} Module}\label{sec:spectroscopy-module} - -The \chemmodule{spectroscopy} module loads the \chemmodule{chemformula} module -and the \pkg{siunitx} package~\cite{pkg:siunitx}. - -\subsubsection{The \cs*{NMR} Command} - -When you're trying to find out if a compound is the one you think it is often -NMR spectroscopy is used. The experimental data are typeset similar to this: -\begin{center} - \NMR(400)[CDCl3] = \num{1.59} -\end{center} -The \chemmodule{spectroscopy} module provides a command which simplifies the -input. - -\begin{commands} - \command{NMR}[\sarg\Marg{\meta{num},\meta{element}}% - \Darg{\meta{num},\meta{unit}}\oarg{solvent}] - Typeset nuclear magnetic resonance data. \meta{num} is a valid - \pkg{siunitx} number input, \meta{unit} is a valid \pkg{siunitx} unit - input. \meta{solvent} is any valid \chemformula\ input as in \cs{chcpd} - (this depends on the setting of the \option{formula} option, - see~\vref{sec:chemformula-module}). -\end{commands} - -\emph{All} Argument are optional! Without arguments we get: -\begin{example}[side-by-side] - \NMR \par - \NMR* -\end{example} - -The first argument specifies the kind of NMR: -\begin{example}[side-by-side] - \NMR{13,C} -\end{example} - -The second argument sets the frequency (in \si{\mega\hertz}): -\begin{example}[side-by-side] - \NMR(400) -\end{example} -You can choose another unit: -\begin{example}[side-by-side] - \NMR(4e8,\hertz) -\end{example} -Please note that the setup of \pkg{siunitx} also affects this command: -\begin{example}[side-by-side] - \sisetup{exponent-product=\cdot} - \NMR(4e8,\hertz) -\end{example} - -The third argument specifies the solvent: -\begin{example}[side-by-side] - \NMR[CDCl3] -\end{example} - -\subsubsection{Short Cuts} - -It is possible to define short cut commands for specific nuclei. -\begin{commands} - \command{NewChemNMR}[\marg{cs}\Marg{\meta{num},\meta{atom}}] - Define a new shortcut macro for typesetting a certain type of magnetic - resonence data. Gives an error if \meta{cs} already exists. - \command{DeclareChemNMR}[\marg{cs}\Marg{\meta{num},\meta{atom}}] - Define a new shortcut macro for typesetting a certain type of magnetic - resonence data. Overwrites an existing macro. - \command{RenewChemNMR}[\marg{cs}\Marg{\meta{num},\meta{atom}}] - Redefine an existing shortcut macro for typesetting a certain type of - magnetic resonence data. Gives an error if \meta{cs} doesn't exist. - \command{ProvideChemNMR}[\marg{cs}\Marg{\meta{num},\meta{atom}}] - Define a new shortcut macro for typesetting a certain type of magnetic - resonence data. \meta{cs} is only defined if it doesn't exist, yet. -\end{commands} - -This defines a command with the same arguments as \cs{NMR} \emph{except} for -\Marg{\meta{num},\meta{atom}}: -\begin{example}[side-by-side] - \NewChemNMR\HNMR{1,H}% - \NewChemNMR\CNMR{13,C}% - \CNMR*(100) \par - \HNMR*(400) -\end{example} - -\subsubsection{An Environment to Typeset Experimental Data} - -The \chemmodule{spectroscopy} module provides an environment to ease the input -of experimental data. -\begin{environments} - \environment{experimental} - Environment for the output of experimental data. Inside the environment - the following commands are defined. -\end{environments} -\begin{commands} - \command{data}[\marg{type}\oarg{specification}] - Type of data, \eg\ IR, MS\ldots\ The optional argument takes further - specifications which are output in parentheses. - \command{data}[\sarg\marg{type}\oarg{specification}] - Like \cs{data} but changes the \code{=} into a \code{:}, given that - \keyis{use-equal}{true} is used. - \command{NMR}[\Marg{\meta{num},\meta{elem}\oarg{coupling - core}}\Darg{\meta{num},\meta{unit}}\oarg{solvent}] - This command gets an additional argument: - \cs{NMR}\Marg{13,C[\textasciicircum 1H]} \NMR{13,C[^1H]} - \command{J}[\Darg{\meta{bonds};\meta{nuclei}}\oarg{unit}\marg{list of nums}] - Coupling constant, values are input separated by \code{;} (NMR). The - arguments \Darg{\meta{bonds};\meta{nuclei}} and \oarg{unit} are optional - and enable further specifications of the coupling. - \command{\#}[\marg{num}] - Number of nuclei (NMR). - \command{pos}[\marg{num}] - Position of nuclues (NMR). - \command{val}[\marg{num}] - A number, an alias of \pkg{siunitx}' \cs*{num}\marg{num}. - \command{val}[\Marg{\meta{num1}--\meta{num2}}] - An alias of \pkg{siunitx}' \cs*{numrange}\marg{num1}\marg{num2}. -\end{commands} - -\begin{example} - \begin{experimental} - \data{type1} Data. - \data{type2}[specifications] More data. - \data*{type3} Even more data. - \end{experimental} -\end{example} - -\paragraph{Customization}\label{sec:experimental-customization} - -The output of the environment and of the NMR commands can be customized be a -number of options. For historical reasons they all belong to the module -\module{nmr}. -\begin{options} - \keyval{unit}{unit}\Module{spectroscopy}\Default{\cs*{mega}\cs*{hertz}} - The used default unit. - \keychoice{nucleus}{\Marg{\meta{num},\meta{atom}}}\Module{spectroscopy}\Default{\Marg{1,H}} - The used default nucleus. - \keyval{connector}{code}\Module{spectroscopy}\Default{-} - Places \meta{code} between the nucleus and the method. - \keyval{method}{code}\Module{spectroscopy}\Default{NMR} - The measuring method. - \keyval{format}{commands}\Module{spectroscopy}\Default - For example \cs*{bfseries}. - \keyval{nmr-base-format}{commands}\Module{spectroscopy}\Default - \sinceversion{5.8}Formatting instructions for the NMR base. - \keychoice{pos-number}{side,sub,super}\Module{spectroscopy}\Default{side} - Position of the number next to the atom. - \keyval{coupling-symbol}{code}\Module{spectroscopy}\Default{J} - The symbol used for the coupling constant. - \keyval{coupling-unit}{unit}\Module{spectroscopy}\Default{\cs*{hertz}} - A \pkg{siunitx} unit. - \keychoice{coupling-pos}{side,sub}\Module{spectroscopy}\Default{side} - Placement of the coupling nuclei next to the symbol $J$ (or rather the - symbol specified with option \option{coupling-symbol}). - \keyval{coupling-nuclei-pre}{code}\Module{spectroscopy}\Default{(} - Code inserted before the coupling nuclei when \keyis{coupling-pos}{side}. - \keyval{coupling-nuclei-post}{code}\Module{spectroscopy}\Default{)} - Code inserted after the coupling nuclei when \keyis{coupling-pos}{side}. - \keyval{coupling-bonds-pre}{code}\Module{spectroscopy}\Default - Code inserted before the coupling bonds. - \keyval{coupling-bonds-post}{code}\Module{spectroscopy}\Default{\cs*{!}} - Code inserted after the coupling bonds. - \keyval{coupling-pos-cs}{cs}\Module{spectroscopy}\Default{\cs*{@firstofone}} - Set the macro that prints the number set with the \cs{pos} macro. This - needs to be a command with one mandatory argument. - \keyval{atom-number-cs}{cs}\Module{spectroscopy}\Default{\cs*{@firstofone}} - Set the macro that prints the number set with the \cs{\#} macro. This - needs to be a command with one mandatory argument. - \keyval{atom-number-space}{dim}\Module{spectroscopy}\Default{.16667em} - Horizontal\sinceversion{5.3} space inserted between number and atom - (printed by \cs{\#}). - \keybool{parse}\Module{spectroscopy}\Default{true} - Treat the solvent as \chemformula\ formula (this depends on the setting of - the \option{formula} option, see~\vref{sec:chemformula-module}) or not. - \keyval{delta}{tokens}\Module{spectroscopy}\Default - The \meta{tokens} are added after $\delta$. - \keybool{list}\Module{spectroscopy}\Default{false} - The environment \env{nmr}[]{} is formatted as a list - \keyval{list-setup}{setup}\Module{spectroscopy} - Setup of the list. See below for the default settings. - \keybool{use-equal}\Module{spectroscopy}\Default{false} - Add egual sign after \cs{NMR} and \cs{data}. -\end{options} - -The default setup of the list: -\begin{sourcecode} - \topsep\z@skip \partopsep\z@skip - \itemsep\z@ \parsep\z@ \itemindent\z@ - \leftmargin\z@ -\end{sourcecode} - -\begin{example} - \begin{experimental}[format=\bfseries] - \data{type1} Data. - \data{type2}[specifications] More data. - \data*{type3} Even more data. - \end{experimental} -\end{example} - -The command \cs{NMR} and all commands defined through \cs{NewChemNMR} -can be used like \cs{data} for the NMR data. - -\begin{example} - \begin{experimental}[format=\bfseries,use-equal] - \data{type1} Data. - \data{type2}[specifications] More data. - \NMR Even more data. - \end{experimental} -\end{example} - -\paragraph{An Example} -The code below is shown with different specifications for \meta{options}. -Of course options can also be chosen with \cs{chemsetup}. - -\begin{sourcecode} - \sisetup{separate-uncertainty,per-mode=symbol,detect-all,range-phrase=--} - \begin{experimental}[] - \data*{yield} \SI{17}{\milli\gram} yellow needles (\SI{0.04}{\milli\mole}, - \SI{13}{\percent}). - % - \data{mp.} \SI{277}{\celsius} (DSC). - % - \NMR(600)[CDCl3] \val{2.01} (s, \#{24}, \pos{5}), \val{2.31} (s, \#{12}, - \pos{1}), \val{6.72--6.74} (m, \#{2}, \pos{11}), \val{6.82} (s, \#{8}, - \pos{3}), \val{7.05--7.07} (m, \#{2}, \pos{12}), \val{7.39--7.41} (m, \#{4}, - \pos{9}), \val{7.48--7.49} (m, \#{4}, \pos{8}). - % - \NMR{13,C}(150)[CDCl3] \val{21.2} ($+$, \#{4}, \pos{1}), \val{23.4} ($+$, - \#{8}, \pos{5}), \val{126.0} ($+$, \#{4}, \pos{9}), \val{128.2} ($+$, \#{8}, - \pos{3}), \val{130.8} ($+$, \#{2}, \pos{12}), \val{133.6} ($+$, \#{2}, - \pos{11}), \val{137.0} ($+$, \#{4}, \pos{8}), \val{138.6} (q, \#{4}, - \pos{2}), \val{140.6} (q, \#{2}, \pos{10}), \val{140.8} (q, \#{8}, \pos{4}), - \val{141.8} (q, \#{4}, \pos{6}), \val{145.6} (q, \#{2}, \pos{7}). - % - \data{MS}[DCP, EI, \SI{60}{\electronvolt}] \val{703} (2, \ch{M+}), \val{582} - (1), \val{462} (1), \val{249} (13), \val{120} (41), \val{105} (100). - % - \data{MS}[\ch{MeOH + H2O + KI}, ESI, \SI{10}{\electronvolt}] \val{720} (100, - \ch{M+ + OH-}), \val{368} (\ch{M+ + 2 OH-}). - % - \data{IR}[KBr] \val{3443} (w), \val{3061} (w), \val{2957} (m), \val{2918} - (m), \val{2856} (w), \val{2729} (w), \val{1725} (w), \val{1606} (s), - \val{1592} (s), \val{1545} (w), \val{1446} (m), \val{1421} (m), \val{1402} - (m), \val{1357} (w), \val{1278} (w), \val{1238} (s), \val{1214} (s), - \val{1172} (s), \val{1154} (m), \val{1101} (w), \val{1030} (w), \val{979} - (m), \val{874} (m), \val{846} (s), \val{818} (w), \val{798} (m), \val{744} - (w), \val{724} (m), \val{663} (w), \val{586} (w), \val{562} (w), \val{515} - (w). - % - \data*{UV-Vis} \SI{386}{\nano\metre} ($\varepsilon = \val{65984}$), - \SI{406}{\nano\metre} ($\varepsilon = \val{65378}$). - % - \data*{quantum yield} $\Phi = \val{0.74+-0.1}$\,. - \end{experimental} -\end{sourcecode} - -\paragraph{Nearly Standard} -Output with these options: - -\begin{sourcecode} - delta=(ppm),pos-number=sub,use-equal -\end{sourcecode} - -\begin{experimental}[delta=(ppm),pos-number=sub,use-equal] - \sisetup{separate-uncertainty,per-mode=symbol,detect-all,range-phrase=--} - \data*{yield} \SI{17}{\milli\gram} yellow needles (\SI{0.04}{\milli\mole}, - \SI{13}{\percent}). - % - \data{mp.} \SI{277}{\celsius} (DSC). - % - \NMR(600)[CDCl3] \val{2.01} (s, \#{24}, \pos{5}), \val{2.31} (s, \#{12}, - \pos{1}), \val{6.72--6.74} (m, \#{2}, \pos{11}), \val{6.82} (s, \#{8}, - \pos{3}), \val{7.05--7.07} (m, \#{2}, \pos{12}), \val{7.39--7.41} (m, \#{4}, - \pos{9}), \val{7.48--7.49} (m, \#{4}, \pos{8}). - % - \NMR{13,C}(150)[CDCl3] \val{21.2} ($+$, \#{4}, \pos{1}), \val{23.4} ($+$, - \#{8}, \pos{5}), \val{126.0} ($+$, \#{4}, \pos{9}), \val{128.2} ($+$, \#{8}, - \pos{3}), \val{130.8} ($+$, \#{2}, \pos{12}), \val{133.6} ($+$, \#{2}, - \pos{11}), \val{137.0} ($+$, \#{4}, \pos{8}), \val{138.6} (q, \#{4}, - \pos{2}), \val{140.6} (q, \#{2}, \pos{10}), \val{140.8} (q, \#{8}, \pos{4}), - \val{141.8} (q, \#{4}, \pos{6}), \val{145.6} (q, \#{2}, \pos{7}). - % - \data{MS}[DCP, EI, \SI{60}{\electronvolt}] \val{703} (2, \ch{M+}), \val{582} - (1), \val{462} (1), \val{249} (13), \val{120} (41), \val{105} (100). - % - \data{MS}[\ch{MeOH + H2O + KI}, ESI, \SI{10}{\electronvolt}] \val{720} (100, - \ch{M+ + OH-}), \val{368} (\ch{M+ + 2 OH-}). - % - \data{IR}[KBr] \val{3443} (w), \val{3061} (w), \val{2957} (m), \val{2918} - (m), \val{2856} (w), \val{2729} (w), \val{1725} (w), \val{1606} (s), - \val{1592} (s), \val{1545} (w), \val{1446} (m), \val{1421} (m), \val{1402} - (m), \val{1357} (w), \val{1278} (w), \val{1238} (s), \val{1214} (s), - \val{1172} (s), \val{1154} (m), \val{1101} (w), \val{1030} (w), \val{979} - (m), \val{874} (m), \val{846} (s), \val{818} (w), \val{798} (m), \val{744} - (w), \val{724} (m), \val{663} (w), \val{586} (w), \val{562} (w), \val{515} - (w). - % - \data*{UV-Vis} \SI{386}{\nano\metre} ($\varepsilon = \val{65984}$), - \SI{406}{\nano\metre} ($\varepsilon = \val{65378}$). - % - \data*{quantum yield} $\Phi = \val{0.74+-0.1}$\,. -\end{experimental} - -\paragraph{Formatted List} -Output with these options: - -\begin{sourcecode} - format=\bfseries,delta=(ppm),list=true,use-equal -\end{sourcecode} - -\begin{experimental}[format=\bfseries,delta=(ppm),list=true,use-equal] - \sisetup{separate-uncertainty,per-mode=symbol,detect-all,range-phrase=--} - \data*{yield} \SI{17}{\milli\gram} yellow needles (\SI{0.04}{\milli\mole}, - \SI{13}{\percent}). - % - \data{mp.} \SI{277}{\celsius} (DSC). - % - \NMR(600)[CDCl3] \val{2.01} (s, \#{24}, \pos{5}), \val{2.31} (s, \#{12}, - \pos{1}), \val{6.72--6.74} (m, \#{2}, \pos{11}), \val{6.82} (s, \#{8}, - \pos{3}), \val{7.05--7.07} (m, \#{2}, \pos{12}), \val{7.39--7.41} (m, \#{4}, - \pos{9}), \val{7.48--7.49} (m, \#{4}, \pos{8}). - % - \NMR{13,C}(150)[CDCl3] \val{21.2} ($+$, \#{4}, \pos{1}), \val{23.4} ($+$, - \#{8}, \pos{5}), \val{126.0} ($+$, \#{4}, \pos{9}), \val{128.2} ($+$, \#{8}, - \pos{3}), \val{130.8} ($+$, \#{2}, \pos{12}), \val{133.6} ($+$, \#{2}, - \pos{11}), \val{137.0} ($+$, \#{4}, \pos{8}), \val{138.6} (q, \#{4}, - \pos{2}), \val{140.6} (q, \#{2}, \pos{10}), \val{140.8} (q, \#{8}, \pos{4}), - \val{141.8} (q, \#{4}, \pos{6}), \val{145.6} (q, \#{2}, \pos{7}). - % - \data{MS}[DCP, EI, \SI{60}{\electronvolt}] \val{703} (2, \ch{M+}), \val{582} - (1), \val{462} (1), \val{249} (13), \val{120} (41), \val{105} (100). - % - \data{MS}[\ch{MeOH + H2O + KI}, ESI, \SI{10}{\electronvolt}] \val{720} (100, - \ch{M+ + OH-}), \val{368} (\ch{M+ + 2 OH-}). - % - \data{IR}[KBr] \val{3443} (w), \val{3061} (w), \val{2957} (m), \val{2918} - (m), \val{2856} (w), \val{2729} (w), \val{1725} (w), \val{1606} (s), - \val{1592} (s), \val{1545} (w), \val{1446} (m), \val{1421} (m), \val{1402} - (m), \val{1357} (w), \val{1278} (w), \val{1238} (s), \val{1214} (s), - \val{1172} (s), \val{1154} (m), \val{1101} (w), \val{1030} (w), \val{979} - (m), \val{874} (m), \val{846} (s), \val{818} (w), \val{798} (m), \val{744} - (w), \val{724} (m), \val{663} (w), \val{586} (w), \val{562} (w), \val{515} - (w). - % - \data*{UV-Vis} \SI{386}{\nano\metre} ($\varepsilon = \val{65984}$), - \SI{406}{\nano\metre} ($\varepsilon = \val{65378}$). - % - \data*{quantum yield} $\Phi = \val{0.74+-0.1}$\,. -\end{experimental} - -\paragraph{Crazy} -Output for these options: - -\begin{sourcecode} - format=\color{red}\itshape, - list=true, - delta=\textcolor{green}{\ch{M+ + H2O}}, - pos-number=side, - coupling-unit=\mega\gram\per\square\second, - list-setup=, - use-equal -\end{sourcecode} - -\begin{experimental}[ - format=\color{red}\itshape, - list=true, - delta=\textcolor{green}{\ch{M+ + H2O}}, - pos-number=side, - coupling-unit=\mega\gram\per\square\second, - list-setup=,use-equal] - \sisetup{separate-uncertainty,per-mode=symbol,detect-all,range-phrase=--} - \data*{yield} \SI{17}{\milli\gram} yellow needles (\SI{0.04}{\milli\mole}, - \SI{13}{\percent}). - % - \data{mp.} \SI{277}{\celsius} (DSC). - % - \NMR(600)[CDCl3] \val{2.01} (s, \#{24}, \pos{5}), \val{2.31} (s, \#{12}, - \pos{1}), \val{6.72--6.74} (m, \#{2}, \pos{11}), \val{6.82} (s, \#{8}, - \pos{3}), \val{7.05--7.07} (m, \#{2}, \pos{12}), \val{7.39--7.41} (m, \#{4}, - \pos{9}), \val{7.48--7.49} (m, \#{4}, \pos{8}). - % - \NMR{13,C}(150)[CDCl3] \val{21.2} ($+$, \#{4}, \pos{1}), \val{23.4} ($+$, - \#{8}, \pos{5}), \val{126.0} ($+$, \#{4}, \pos{9}), \val{128.2} ($+$, \#{8}, - \pos{3}), \val{130.8} ($+$, \#{2}, \pos{12}), \val{133.6} ($+$, \#{2}, - \pos{11}), \val{137.0} ($+$, \#{4}, \pos{8}), \val{138.6} (q, \#{4}, - \pos{2}), \val{140.6} (q, \#{2}, \pos{10}), \val{140.8} (q, \#{8}, \pos{4}), - \val{141.8} (q, \#{4}, \pos{6}), \val{145.6} (q, \#{2}, \pos{7}). - % - \data{MS}[DCP, EI, \SI{60}{\electronvolt}] \val{703} (2, \ch{M+}), \val{582} - (1), \val{462} (1), \val{249} (13), \val{120} (41), \val{105} (100). - % - \data{MS}[\ch{MeOH + H2O + KI}, ESI, \SI{10}{\electronvolt}] \val{720} (100, - \ch{M+ + OH-}), \val{368} (\ch{M+ + 2 OH-}). - % - \data{IR}[KBr] \val{3443} (w), \val{3061} (w), \val{2957} (m), \val{2918} - (m), \val{2856} (w), \val{2729} (w), \val{1725} (w), \val{1606} (s), - \val{1592} (s), \val{1545} (w), \val{1446} (m), \val{1421} (m), \val{1402} - (m), \val{1357} (w), \val{1278} (w), \val{1238} (s), \val{1214} (s), - \val{1172} (s), \val{1154} (m), \val{1101} (w), \val{1030} (w), \val{979} - (m), \val{874} (m), \val{846} (s), \val{818} (w), \val{798} (m), \val{744} - (w), \val{724} (m), \val{663} (w), \val{586} (w), \val{562} (w), \val{515} - (w). - % - \data*{UV-Vis} \SI{386}{\nano\metre} ($\varepsilon = \val{65984}$), - \SI{406}{\nano\metre} ($\varepsilon = \val{65378}$). - % - \data*{quantum yield} $\Phi = \val{0.74+-0.1}$\,. -\end{experimental} - -\subsection{The \chemmodule*{thermodynamics} Module}\label{sec:thermodynamics-module} - -The \chemmodule{thermodynamics} module loads the \pkg{siunitx} -package~\cite{pkg:siunitx}. - -\subsubsection{The \cs*{state} Macro} - -\begin{commands} - \command{state}[\oarg{options}\marg{symbol}] - Typeset a state variable. -\end{commands} - -This macro can be used to write the thermodynamic state variables. -\begin{example} - \state{A}, \state[subscript-left=f]{G} , - \state[subscript-right=\ch{Na}]{E}, - \state[superscript-right=\SI{1000}{\celsius}]{H} -\end{example} - -These options are available: -\begin{options} - \keyval{pre}{text}\Module{thermodynamics}\Default{\cs{changestate}} - Code inserted before the variable. Inserted in text mode. - \keyval{post}{text}\Module{thermodynamics}\Default - Code inserted after the variable. Inserted in text mode. - \keyval{superscript-left}{text}\Module{thermodynamics}\Default - The left superscript. Inserted in text mode. - \keyval{superscript-right}{text}\Module{thermodynamics}\Default{\cs{standardstate}} - The right superscript. Inserted in text mode. - \keyval{superscript}{text}\Module{thermodynamics} - An alias of \option{superscript-right}. - \keyval{subscript-left}{text}\Module{thermodynamics}\Default - The left subscript. Inserted in text mode. - \keyval{subscript-right}{text}\Module{thermodynamics}\Default - The right subscript. Inserted in text mode. - \keyval{subscript}{text}\Module{thermodynamics} - An alias of \option{subscript-left}. -\end{options} - -\subsubsection{Thermodynamic Variables} - -The \chemmodule{thermodynamics} module provides a few commands for specific -thermodynamic variables: -\begin{commands} - \command{enthalpy}[\sarg\oarg{options}\darg{subscript}\marg{value}] - Typeset the amount of enthalpy. - \command{entropy}[\sarg\oarg{options}\darg{subscript}\marg{value}] - Typeset the amount of entropy. - \command{gibbs}[\sarg\oarg{options}\darg{subscript}\marg{value}] - Typeset the amount of Gibbs enthalpy. -\end{commands} - -Their usage is pretty much self-explaining: -\begin{example}[side-by-side] - \enthalpy{123} \par - \entropy{123} \par - \gibbs{123} -\end{example} -The argument \darg{subscript} adds a subscript for specification, \sarg\ hides -number and unit: -\begin{example}[side-by-side] - \enthalpy(r){123} \par - \enthalpy*{123} \par -\end{example} - -\begin{options} - \keyval{pre}{text}\Module{thermodynamics}\Default{\cs{changestate}} - Code inserted before the variable. Inserted in text mode. - \keyval{post}{text}\Module{thermodynamics}\Default - Code inserted after the variable. Inserted in text mode. - \keyval{superscript-left}{text}\Module{thermodynamics}\Default - The left superscript. Inserted in text mode. - \keyval{superscript-right}{text}\Module{thermodynamics}\Default{\cs{standardstate}} - The right superscript. Inserted in text mode. - \keyval{superscript}{text}\Module{thermodynamics} - An alias of \option{superscript-right}. - \keyval{subscript-left}{text}\Module{thermodynamics}\Default - The left subscript. Inserted in text mode. - \keyval{subscript-right}{text}\Module{thermodynamics}\Default - The right subscript. Inserted in text mode. - \keyval{subscript}{text}\Module{thermodynamics} - An alias of \option{subscript-left}. - \keychoice{subscript-pos}{left,right}\Module{thermodynamics}\Default{left} - Determines wether the subscript given in \darg{subscript} is placed to the - left or the right of the variable. - \keyval{symbol}{symbol}\Module{thermodynamics}\Default - The symbol of the variable. Inserted in math mode. - \keyval{unit}{unit}\Module{thermodynamics}\Default - A valid \pkg{siunitx} unit. -\end{options} - -The default values depend on the command. -\begin{example}[side-by-side] - \enthalpy[unit=\kilo\joule]{-285} \par - \gibbs[pre=]{0} \par - \entropy[pre=$\Delta$,superscript=]{56.7} -\end{example} -The unit is set corresponding to the rules of \pkg{siunitx} and depends on -its settings: -\begin{example}[side-by-side] - \enthalpy{-1234.56e3} \par - \sisetup{ - per-mode=symbol, - exponent-product=\cdot, - output-decimal-marker={,}, - group-four-digits=true - } - \enthalpy{-1234.56e3} -\end{example} - -\subsubsection{Create New Variables or Redefine Existing Ones} - -\begin{commands} - \command{NewChemState}[\marg{cs}\marg{options}] - Define new state commands like \cs{enthalpy}. Gives an error is \meta{cs} - already exists. - \command{RenewChemState}[\marg{cs}\marg{options}] - Redefine existing state commands. - \command{DeclareChemState}[\marg{cs}\marg{options}] - Like \cs{NewChemState} but gives now error if \meta{cs} already exists. - \command{ProvideChemState}[\marg{cs}\marg{options}] - Define new state commands like \cs{enthalpy}. Defines \meta{cs} only if - it is not defined, yet. -\end{commands} -The argument \meta{options} is a comma separated list of key/value options: -\begin{options} - \keyval{pre}{text}\Module{thermodynamics}\Default{\cs{changestate}} - Code inserted before the variable. Inserted in text mode. - \keyval{post}{text}\Module{thermodynamics}\Default - Code inserted after the variable. Inserted in text mode. - \keyval{superscript-left}{text}\Module{thermodynamics}\Default - The left superscript. Inserted in text mode. - \keyval{superscript-right}{text}\Module{thermodynamics}\Default{\cs{standardstate}} - The right superscript. - \keyval{superscript}{text}\Module{thermodynamics} - An alias of \option{superscript-right}. - \keyval{subscript-left}{text}\Module{thermodynamics}\Default - The left subscript. Inserted in text mode. - \keyval{subscript-right}{text}\Module{thermodynamics}\Default - The right subscript. Inserted in text mode. - \keyval{subscript}{text}\Module{thermodynamics} - An alias of \option{subscript-left}. - \keychoice{subscript-pos}{left,right}\Module{thermodynamics}\Default{left} - Determines wether the subscript given in \darg{subscript} is placed to the - left or the right of the variable. - \keyval{symbol}{symbol}\Module{thermodynamics}\Default - The symbol of the variable. - \keyval{unit}{unit}\Module{thermodynamics}\Default - A valid \pkg{siunitx} unit. -\end{options} - -\begin{example} - \NewChemState\Helmholtz{ symbol=A , unit=\kilo\joule\per\mole } - \NewChemState\ElPot{ symbol=E , subscript-pos=right , superscript= , unit=\volt } - \Helmholtz{123.4} \par - \ElPot{-1.1} \par - \ElPot[superscript=0]($\ch{Sn}|\ch{Sn^2+}||\ch{Pb^2+}|\ch{Pb}$){0.01} \par - \RenewChemState\enthalpy{ symbol=h , unit=\joule} \par - \enthalpy(f){12.5} -\end{example} - -The existing commands have been defined like this: -\begin{sourcecode} - \NewChemState \enthalpy{ symbol = H, unit = \kilo\joule\per\mole } - \NewChemState \entropy { symbol = S, unit = \joule\per\kelvin\per\mole, pre = } - \NewChemState \gibbs { symbol = G, unit = \kilo\joule\per\mole } -\end{sourcecode} - -So -- for following thermodynamic conventions -- one could define a molar and -an absolute variable: -\begin{example} - \RenewChemState\enthalpy{symbol=h,superscript=,unit=\kilo\joule\per\mole}% molar - \NewChemState\Enthalpy{symbol=H,superscript=,unit=\kilo\joule}% absolute - \enthalpy{-12.3} \Enthalpy{-12.3} -\end{example} - -\subsection{The \chemmodule*{units} Module}\label{sec:units-module} - -The \chemmodule{units} module loads the \pkg{siunitx} -package~\cite{pkg:siunitx}. - -In chemistry some non-SI units are very common. \pkg{siunitx} provides the -command -\begin{commands} - \command*{DeclareSIUnit}[\marg{cs}\marg{unit}] - Define \meta{cs} to be a valid unit command inside \pkg{siunitx}' macros - \cs*{SI} and \cs*{si} which represents \meta{unit}. -\end{commands} -to add arbitrary units. \chemmacros\ uses that command to provide some -units. Like all \pkg{siunitx} units they're only valid inside -\cs*{SI}\marg{num}\marg{unit} and \cs*{si}\marg{unit}. -\begin{commands} - \command{atmosphere} \si{\atmosphere} - \command{atm} \si{\atm} - \command{calory} \si{\calory} - \command{cal} \si{\cal} - \command{cmc} \si{\cmc} \par - The units \cs{cmc}, \cs{molar}, and \cs{Molar} are defined by the - package \pkg{chemstyle} as well. \chemmacros\ only defines them, if - \pkg{chemstyle} is not loaded. - \command{molar} \si{\molar} - \command{moLar} \si{\moLar} - \command{Molar} \si{\Molar} - \command{MolMass} \si{\MolMass} - \command{normal} \si{\normal} - \command{Torr} \si{\Torr} -\end{commands} - -By the way: \cs*{mmHg} \si{\mmHg} already is defined by \pkg{siunitx}. - -\section{Internal Modules} - -\subsection{The \chemmodule*{tikz} Module}\label{sec:tikz-module} - -The \chemmodule{tikz} module loads the \pkg{tikz} package~\cite{pkg:pgf} and -the \TikZ\ library \code{calc}. - -\subsubsection{For Users} -The \chemmodule{tikz} module defines a few arrow tips: -\begin{tikzcode} - \arrowtip{el} - An arrow tip: \verbcode+\tikz\draw[-el](0,0)--(1,0);+ - \tikz\draw[-el](0,0)--(1,0); - \arrowtip{left el} - An arrow tip: \verbcode+\tikz\draw[-left el](0,0)--(1,0);+ - \tikz\draw[-left el](0,0)--(1,0); - \arrowtip{right el} - An arrow tip: \verbcode+\tikz\draw[-right el](0,0)--(1,0);+ - \tikz\draw[-right el](0,0)--(1,0); -\end{tikzcode} - -The\sinceversion{5.3} \chemmodule{tikz} module also loads the libraries -\code{calc} and \code{decorations.pathmorphing}. It uses those libraries for -defining a new decoration \tikzdecoration{wave}. -\begin{example}[side-by-side] - \begin{tikzpicture} - \draw[decorate,decoration=wave] (0,0) -- (2,0) ; - \end{tikzpicture} -\end{example} - -\subsubsection{For Module Writers} -The \chemmodule{tikz} module provides some macros for common \TikZ\ -functions. This allows to use expl3's powerful function variants for -expansion control. - -\begin{commands} - \explcommand{c_chemmacros_other_colon_tl} - A constant tokenlist which contains a colon with category code~12 (other). - This is useful since \TikZ\ sometimes expects an other colon and in an - expl3 programming environment \code{:} has category code~11 (letter). - \explcommand{chemmacros_tikz_picture:nn}[ \marg{options} \marg{code}] - Defined as \verbcode+\tikzpicture[{#1}] #2 \endtikzpicture+. - \explcommand{chemmacros_tikz:nn}[ \marg{options} \marg{code}] - Defined as \verbcode+\tikz[{#1}]{#2}+. - \explcommand{chemmacros_tikz_draw:n}[ \marg{options}] - Defined as \verbcode+\draw[{#1}]+. - \explcommand{chemmacros_tikz_node:n}[ \marg{options}] - Defined as \verbcode+\node[{#1}]+. - \explcommand{chemmacros_tikz_shade:n}[ \marg{options}] - Defined as \verbcode+\shade[{#1}]+. - \explcommand{chemmacros_tikz_shadedraw:n}[ \marg{options}] - Defined as \verbcode+\shadedraw[{#1}]+. - \explcommand{chemmacros_tikz_node_in_draw:n}[ \marg{options}] - Defined as \verbcode+node[{#1}]+. -\end{commands} - -\subsection{The \chemmodule*{xfrac} Module}\label{sec:xfrac-module} - -The \chemmodule{xfrac} module loads the package -\pkg{xfrac}~\cite{bnd:l3packages}. For the following explanations it will be -helpful if you know about said package and how it works first. This module is -a support module that defines the macro -\begin{commands} - \command{chemfrac}[\oarg{type}\marg{numerator}\marg{denominator}] - \meta{type} can either be \code{text} or \code{superscript}. -\end{commands} -This macro calls a certain instance of the \pkg{xfrac} \code{text} template, -depending on the option \meta{type} and the current font family. If used -\cs{chemfrac} looks if an instance -\begin{center} - \code{chemmacros-frac-\cs*{f@family}-\meta{type}} -\end{center} -exists. If yes this instance is used, if no the instance -\code{chemmacros-frac-default-\meta{type}} is used. The \code{default} -instances are the same as the ones for \code{cmr}. - -\begin{table} - \centering - \newcommand*\showfrac[1]{% - \code{#1} & - \fontfamily{#1}\selectfont - \chemfrac[text]{2}{3} & - \fontfamily{#1}\selectfont - \chemfrac[superscript]{2}{3}% - } - \caption{Predefined \chemmodule{xfrac} \code{text} instances.} - \label{tab:xfrac} - \begin{tabular}{llcc} - \toprule - \bfseries font family & \bfseries text & \bfseries superscript \\ - \midrule - \showfrac{cmr} \\ - \showfrac{lmr} \\ - \showfrac{LinuxLibertineT-TLF} \\ - \showfrac{LinuxLibertineT-TOsF} \\ - \bottomrule - \end{tabular} -\end{table} - -The \chemmodule{xfrac} module defines instances some font families, they are -listed and demonstrated in table~\vref{tab:xfrac}. The \code{superscript} -type fractions \emph{look} larger than the \code{text} types. The reason is -that the \code{superscript} types are typically used with a smaller font size. -Let's take a look at an example where both instances are used: -\begin{example}[side-by-side] - \chemsetup[redox]{pos=top} - \code{superscript}: - \ch{"\ox{1/3,I}" {}3+} - - \chemsetup[redox]{pos=side} - \code{text}: \ox{1/3,I3+} - - \huge - \chemsetup[redox]{pos=top} - \code{superscript}: - \ch{"\ox{1/3,I}" {}3+} - - \chemsetup[redox]{pos=side} - \code{text}: \ox{1/3,I3+} -\end{example} - -If you define instances for other families please feel free to submit them to -me (see section~\vref{sec:submitting-module}) so they can be added to the -\chemmodule{xfrac} module. - -\appendix -\part{Appendix} -\section{Own Modules}\label{sec:own-modules} -\subsection{How To} - -If you have additional functionality which you think might be useful as a -\chemmacros\ module then you can easily write one yourself. The module must -be a file in a path where \TeX\ can find it following a certain naming -scheme. The file for a module \chemmodule*{foo} \emph{must be named} -\code{chemmacros.module.foo.code.tex}. - -\begin{commands} - \command{ChemModule}[\sarg\marg{name}\marg{description}\oarg{minimal - compatibility version}] - Register module \meta{name}. The optional argument \meta{minimal - compatibility version} ensures that this module is only loaded if the - option \option{compatibility} has a high enough version number. If it is - omitted the module can be loaded in each version~5.0 or higher. -\end{commands} - -The first line in the file then should look similar to this: -\begin{sourcecode} - \ChemModule{foo}{2015/07/14 description of foo} -\end{sourcecode} -This registers module \chemmodule*{foo} which means \chemmacros\ will accept -this file as a valid module. - -Since \chemmacros\ is written using expl3 \cs{ChemModule} starts an expl3 -programming environment. If you don't want that but rather want to write your -module using traditional \LaTeXe\ methods then use the starred variant: -\begin{sourcecode} - \ChemModule*{foo}{2015/07/14 description of foo} -\end{sourcecode} -In both variants \code{@} has category code~11 (letter). - -Since new modules very likely might rely on code provided first in a certain -version of \chemmacros\ you might want to make sure that your module only is -loaded when the compatibility mode is high enough to provide the features you -want: -\begin{sourcecode} - \ChemModule{foo}{2015/10/14 description of foo}[5.2] -\end{sourcecode} - -You should be aware that your module \emph{will not be loaded} with -\verbcode+\usechemmodule{all}+! The pseudo-module \chemmodule{all} contains a -manually maintained list of the modules that are loaded by it. - -If you decide to write your module \chemmodule*{foo} using expl3 and add -options you want to be able to set using -\cs{chemsetup}\Oarg{foo}\marg{options} please make sure you define (and set) -them with the following macros: -\begin{commands} - \explcommand{chemmacros_define_keys:nn}[ \marg{module} \marg{key definitions}] - Define l3keys options for the module \meta{module}. This is a wrapper for - \explcs*{keys_define:nn} \Marg{chemmacros/\meta{module}} \marg{key - definitions}. - \explcommand{chemmacros_set_keys:nn}[ \marg{module} \marg{input}] - Sets l3keys options for the module \meta{module}. This is a wrapper for - \explcs*{keys_set:nn} \Marg{chemmacros/\meta{module}} \marg{input}. -\end{commands} -Also (\emph{especially if you consider submitting the module, see - section~\vref{sec:submitting-module}}) please follow the expl3 naming -conventions for variables and functions, \ie, use \code{chemmacros} as expl3 -module name: -\begin{sourcecode} - \tl_new:N \l__chemmacros_my_internal_variable_tl - \tl_new:N \l_chemmacros_my_public_variable_tl - \cs_new:Npn \__chemmacros_my_internal_function:n #1 { ... } - \cs_new_protected:Npn \chemmacros_my_public_function:n #1 { ... } - \NewDocumentCommand \publicfunction {m} - { \chemmacros_my_public_function:n {#1} } -\end{sourcecode} -You will find more details on the naming conventions in \code{interface3.pdf} -which most likely is available on your system: -\begin{lbash} - texdoc interface3 -\end{lbash} -If you haven't read section~\vref{sec:base-module} about the \chemmodule{base} -module, yet, please have a look. There some macros for module writers are -described. Also other modules define macros for module writers which may be -useful. - -\subsection{Submitting a Module}\label{sec:submitting-module} - -If you have written a module and feel it might be useful for other users -please feel free to contact me and submit the module. I will surely take at -look at both functionality and code and if I feel that it adds value to -\chemmacros\ I will add it to the package. Requirement for this is that the -module is licensed with the \LPPL\ (v1.3 or later) and that I take over -maintenance (according to the \enquote{maintainer} status of the \lppl). - -Please do \emph{not} submit your module via pull request but send me the files -directly. In the best case you also have a short piece of documentation. - -\section{Suggestions, Bug Reports, Support}\label{sec:sugg-bug-reports} - -\paragraph{Support} -If you need support or help with anything regarding \chemmacros\ please use -the usual support forums -\begin{itemize} - \item \url{http://www.golatex.de/} or - \item \url{http://texwelt.de/wissen/} if you speak German, - \item \url{http://www.latex-community.org/forum/} or - \item \url{http://tex.stackexchange.com/} if you speak English -\end{itemize} -or go the \emph{dedicated support forum} -\begin{itemize} - \item \url{http://www.mychemistry.eu/forums/forum/chemmacros/} -\end{itemize} -where you can be sure that I will see the question. - -\paragraph{Suggestions} -If you have any suggestions on how \chemmacros\ could be improved, adding -missing features \etc, please feel free to contact me via -\email{contact@mychemistry.eu}. - -\paragraph{Bug reports} -If you find any bugs, \ie, errors (something not working as described, -conflicts with other packages, \ldots) then please go to -\url{https://github.com/cgnieder/chemmacros/issues/} and open a new issue -describing the error including a minimal working example. - -\end{document} diff --git a/macros/latex/contrib/derivative/README.md b/macros/latex/contrib/derivative/README.md index 1ecac42f09..308e79be32 100644 --- a/macros/latex/contrib/derivative/README.md +++ b/macros/latex/contrib/derivative/README.md @@ -1,4 +1,4 @@ -## README for derivative package v0.96 dated 2019-12-22 +## README for derivative package v0.97 dated 2019-02-03 The package provides a set of commands `\NewOdvVariant`, `\NewPdvVariant` etc. that can be used to define a variant of a derivative. The package have already defined several derivatives: @@ -11,7 +11,7 @@ The package provides a set of commands `\NewOdvVariant`, `\NewPdvVariant` etc. t ### Copyright and license -Copyright 2019 Simon Jensen +Copyright 2019-2020 Simon Jensen This work may be distributed and/or modified under the conditions of the LaTeX Project Public License, either version 1.3 diff --git a/macros/latex/contrib/derivative/derivative.pdf b/macros/latex/contrib/derivative/derivative.pdf index 39592e3c9d..dae8b7dede 100644 Binary files a/macros/latex/contrib/derivative/derivative.pdf and b/macros/latex/contrib/derivative/derivative.pdf differ diff --git a/macros/latex/contrib/derivative/derivative.sty b/macros/latex/contrib/derivative/derivative.sty index f805cbbf86..d410254931 100644 --- a/macros/latex/contrib/derivative/derivative.sty +++ b/macros/latex/contrib/derivative/derivative.sty @@ -1,5 +1,5 @@ % derivative.sty -% Copyright 2019 Simon Jensen +% Copyright 2019-2020 Simon Jensen % % This work may be distributed and/or modified under the % conditions of the LaTeX Project Public License, either version 1.3 @@ -16,7 +16,7 @@ \NeedsTeXFormat{LaTeX2e} \RequirePackage{xparse}[2018/05/09] -\ProvidesExplPackage{derivative}{2019/12/22}{0.96}{Nice and easy derivatives} +\ProvidesExplPackage{derivative}{2020/02/03}{0.97}{Nice and easy derivatives} %%%%% Useful conditionals %%%%% @@ -924,7 +924,7 @@ { auto } { \__deriv_scale_auto:Nnnn \__deriv_auto_left:n {#1} {#2} { 1 } } { none } { \__deriv_scale_none:nnn {#1} {#2} { 1 } } } - { \__deriv_scale_big:nnnm {#1} {#2} { 1 } { l } } + { \__deriv_scale_big:nnnn {#1} {#2} { 1 } { l } } } % dv , name \cs_new:Npn \__deriv_scale_right:nn #1 #2 @@ -934,7 +934,7 @@ { auto } { \__deriv_scale_auto:Nnnn \__deriv_auto_right:n {#1} {#2} { 2 } } { none } { \__deriv_scale_none:nnn {#1} {#2} { 2 } } } - { \__deriv_scale_big:nnnm {#1} {#2} { 2 } { r } } + { \__deriv_scale_big:nnnn {#1} {#2} { 2 } { r } } } % left/right , dv , name, number \cs_new:Npn \__deriv_scale_auto:Nnnn #1 #2 #3 #4 diff --git a/macros/latex/contrib/derivative/derivative.tex b/macros/latex/contrib/derivative/derivative.tex index 0bc1772615..30eaab1bee 100644 --- a/macros/latex/contrib/derivative/derivative.tex +++ b/macros/latex/contrib/derivative/derivative.tex @@ -1,5 +1,5 @@ % derivative.tex -% Copyright 2019 Simon Jensen +% Copyright 2019-2020 Simon Jensen % % This work may be distributed and/or modified under the % conditions of the LaTeX Project Public License, either version 1.3 @@ -1082,8 +1082,8 @@ \Titel{The \pakkenavn{} package} \Forfatter{Simon Jensen} \Email{sjelatex@gmail.com} -\Dato{2019/12/22} -\Version{0.96} +\Dato{2019/02/03} +\Version{0.97} \RequirePackage{derivative}[\dato] \derivset{all}[scale-auto = mleftmright] @@ -2316,5 +2316,8 @@ \begin{change}[version = 0.96, date = 2019-12-22, beta = true] \item Fixed the double superscript issue for higher order derivative when the variable contained a superscript. \end{change} + \begin{change}[version = 0.97, date = 2020-02-03, beta = true] + \item Fixed the argument specifier of {\small\verb|\__deriv_scale_big:nnnn|} when it was used (it was used with \texttt{:nnnm}). + \end{change} \end{changelog} \end{document} \ No newline at end of file diff --git a/macros/latex/contrib/filehook/README b/macros/latex/contrib/filehook/README index a521e4f062..25cc0e39b1 100644 --- a/macros/latex/contrib/filehook/README +++ b/macros/latex/contrib/filehook/README @@ -1,7 +1,6 @@ LaTeX package 'filehook' ~~~~~~~~~~~~~~~~~~~~~~~~ -Copyright (c) 2010-2019 by Martin Scharrer -WWW: http://latex.scharrer-online.de/ +Copyright (c) 2010-2020 by Martin Scharrer Code repository: https://bitbucket.org/martin_scharrer/filehook Provides several file hooks for files read by \input, \include and \InputIfFileExists. diff --git a/macros/latex/contrib/filehook/filehook.dtx b/macros/latex/contrib/filehook/filehook.dtx index efaeb3d5a8..0cd0f63354 100644 --- a/macros/latex/contrib/filehook/filehook.dtx +++ b/macros/latex/contrib/filehook/filehook.dtx @@ -1,6 +1,6 @@ % \iffalse meta-comment %<=*COPYRIGHT> -%% Copyright (C) 2011-2019 by Martin Scharrer +%% Copyright (C) 2011-2020 by Martin Scharrer %% ---------------------------------------------------------------------- %% This work may be distributed and/or modified under the %% conditions of the LaTeX Project Public License, either version 1.3 @@ -26,10 +26,10 @@ %<*driver> \ProvidesFile{filehook.dtx}[% %<=*DATE> - 2019/10/03 + 2020/02/03 %<=/DATE> %<=*VERSION> - v0.6 + v0.7 %<=/VERSION> Hooks for input files] \documentclass{ydoc} @@ -55,7 +55,7 @@ % % \fi % -% \CheckSum{1093} +% \CheckSum{1011} % % \CharacterTable % {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z @@ -97,6 +97,7 @@ % \changes{v0.5d}{2011/10/12}{Fix for fall-back code.} % \changes{v0.5e}{2019/08/19}{Fix for new LaTeX format.} % \changes{v0.6}{2019/10/03}{Fix for InputIfFileExists for LaTeX format 2019/10/01.} +% \changes{v0.7}{2020/02/03}{Further fixes for InputIfFileExists for LaTeX format 2019/10/01.} % % \GetFileInfo{filehook.dtx} % @@ -530,11 +531,67 @@ \ProcessOptions\relax % \end{macrocode} % +% \subsection{General stuff} +% +% \begin{macro}{\iffilehook@newfmt} +% \begin{macrocode} +\newif\iffilehook@newfmt +\@ifl@t@r\fmtversion{2019/10/01}{\filehook@newfmttrue}{\filehook@newfmtfalse} +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\filehook@let}[2]{}{} +% \begin{macrocode} +\def\filehook@let#1#2{% + \expandafter\ifx\csname #2\space\endcsname\relax + \expandafter\let\csname #1\expandafter\endcsname\csname #2\endcsname + \else + \expandafter\def\csname #1\expandafter\endcsname\expandafter{\expandafter\protect\csname #1\space\endcsname}% + \expandafter\let\csname #1\space\expandafter\endcsname\csname #2\space\endcsname + \fi +} +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\filehook@glet}[2]{}{} +% \begin{macrocode} +\def\filehook@glet#1#2{% + \expandafter\ifx\csname #2\space\endcsname\relax + \expandafter\global\expandafter\let\csname #1\expandafter\endcsname\csname #2\endcsname + \else + \expandafter\global\expandafter\def\csname #1\expandafter\endcsname\expandafter{\expandafter\protect\csname #1\space\endcsname}% + \expandafter\global\expandafter\let\csname #1\space\expandafter\endcsname\csname #2\space\endcsname + \fi +} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\filehook@cmp}[2]{}{} +% Compare two macros definition including its space form in case of robust macros. +% \begin{macrocode} +\def\filehook@cmp#1#2{% + \expandafter\ifx\csname #2\space\endcsname\relax + \expandafter\ifx\csname #1\expandafter\endcsname\csname #2\endcsname + \expandafter\expandafter\expandafter\@firstoftwo + \else + \expandafter\expandafter\expandafter\@secondoftwo + \fi + \else + \expandafter\ifx\csname #1\space\expandafter\endcsname\csname #2\space\endcsname + \expandafter\expandafter\expandafter\@firstoftwo + \else + \expandafter\expandafter\expandafter\@secondoftwo + \fi + \fi +} +% \end{macrocode} +% \end{macro} +% % % \subsection{Initialisation of Hooks} % The general hooks are initialised to call the file specific hooks. % -% % \begin{macro}{\filehook@csuse} % \begin{macrocode} \begingroup @@ -553,7 +610,7 @@ % \begin{macro}{\filehook@include@atbegin} % \begin{macrocode} \def\filehook@include@atbegin#1{% - \let\InputIfFileExists\filehook@@InputIfFileExists + \filehook@let{InputIfFileExists}{filehook@@InputIfFileExists}% \filehook@csuse{\filehook@include@atbegin@#1}% \filehook@include@@atbegin } @@ -599,7 +656,7 @@ % \begin{macro}{\filehook@input@atbegin} % \begin{macrocode} \def\filehook@input@atbegin#1{% - \let\InputIfFileExists\filehook@@InputIfFileExists + \filehook@let{InputIfFileExists}{filehook@@InputIfFileExists}% \filehook@csuse{\filehook@input@atbegin@\filehook@ensureext{#1}}% \filehook@input@@atbegin } @@ -1108,16 +1165,14 @@ % This is always done inside a group to keep them temporary only. % The token register is used to avoid doubling of macro argument characters. % -% \begin{macrocode} -\newif\iffilehook@newfmt -\@ifl@t@r\fmtversion{2019/10/01}{\filehook@newfmttrue}{\filehook@newfmtfalse} -% \end{macrocode} -% % \begin{macro}{\latex@InputIfFileExists} % Standard \LaTeX\ definition of \Macro\InputIfFileExists. % \begin{macrocode} \iffilehook@newfmt -\DeclareRobustCommand \latex@InputIfFileExists[2]{% +\expandafter\def\expandafter\latex@InputIfFileExists\expandafter{% + \expandafter\protect\csname InputIfFileExists\space\endcsname +} +\expandafter\long\expandafter\def\csname latex@InputIfFileExists\space\endcsname#1#2{% \IfFileExists{#1}% {% \expandafter\@swaptwoargs\expandafter @@ -1136,7 +1191,7 @@ % % \begin{macro}{\filehook@default@InputIfFileExists} % \begin{macrocode} -\long\gdef\filehook@default@InputIfFileExists#1#2{% +\DeclareRobustCommand\filehook@default@InputIfFileExists[2]{% \IfFileExists{#1}% {\expandafter\filehook@swap \expandafter{\@filef@und}% @@ -1149,12 +1204,16 @@ }% } % \end{macrocode} +% Make sure definition is global: +% \begin{macrocode} +\filehook@glet{filehook@default@InputIfFileExists}{filehook@default@InputIfFileExists}% +% \end{macrocode} % \end{macro} % % \begin{macro}{\filehook@@default@InputIfFileExists} % \begin{macrocode} -\long\gdef\filehook@@default@InputIfFileExists#1#2{% - \let\InputIfFileExists\filehook@InputIfFileExists +\DeclareRobustCommand\filehook@@default@InputIfFileExists[2]{% + \filehook@let{InputIfFileExists}{filehook@InputIfFileExists}% \IfFileExists{#1}% {\expandafter\filehook@swap \expandafter{\@filef@und}% @@ -1165,88 +1224,9 @@ }% } % \end{macrocode} -% \end{macro} -% -% \begin{macro}{\scrlfile@InputIfFileExists} -% \begin{macrocode} -\long\def\scrlfile@InputIfFileExists#1#2{% - \begingroup\expandafter\expandafter\expandafter\endgroup - \expandafter\ifx\csname #1-@alias\endcsname\relax - \expandafter\@secondoftwo - \else - \scr@replacefile@msg{\csname #1-@alias\endcsname}{#1}% - \expandafter\@firstoftwo - \fi - {% - \expandafter\InputIfFileExists\expandafter{\csname - #1-@alias\endcsname}{#2}% - }% - {\IfFileExists{#1}{% - \scr@load@hook{before}{#1}% - #2\@addtofilelist{#1}% - \@@input \@filef@und - \scr@load@hook{after}{#1}% - }}% -} -% \end{macrocode} -% \end{macro} -% -% \begin{macro}{\filehook@scrlfile@InputIfFileExists} -% \begin{macrocode} -\long\def\filehook@scrlfile@InputIfFileExists#1#2{% - \begingroup\expandafter\expandafter\expandafter\endgroup - \expandafter\ifx\csname #1-@alias\endcsname\relax - \expandafter\@secondoftwo - \else - \scr@replacefile@msg{\csname #1-@alias\endcsname}{#1}% - \expandafter\@firstoftwo - \fi - {% - \expandafter\InputIfFileExists\expandafter{\csname - #1-@alias\endcsname}{#2}% - }% - {\IfFileExists{#1}{% - \expandafter\filehook@swap - \expandafter{\@filef@und}% - {\scr@load@hook{before}{#1}% - #2\@addtofilelist{#1}% - \filehook@every@atbegin{#1}% - \filehook@atbegin{#1}% - \@@input}% - \filehook@atend{#1}% - \filehook@every@atend{#1}% - \scr@load@hook{after}{#1}% - }}% -} -% \end{macrocode} -% \end{macro} -% -% \begin{macro}{\filehook@@scrlfile@InputIfFileExists} +% Make sure definition is global: % \begin{macrocode} -\long\def\filehook@@scrlfile@InputIfFileExists#1#2{% - \let\InputIfFileExists\filehook@InputIfFileExists - \begingroup\expandafter\expandafter\expandafter\endgroup - \expandafter\ifx\csname #1-@alias\endcsname\relax - \expandafter\@secondoftwo - \else - \scr@replacefile@msg{\csname #1-@alias\endcsname}{#1}% - \expandafter\@firstoftwo - \fi - {% - \expandafter\InputIfFileExists\expandafter{\csname - #1-@alias\endcsname}{#2}% - }% - {\IfFileExists{#1}{% - \expandafter\filehook@swap - \expandafter{\@filef@und}% - {\scr@load@hook{before}{#1}% - #2\@addtofilelist{#1}% - \filehook@atbegin{#1}% - \@@input}% - \filehook@atend{#1}% - \scr@load@hook{after}{#1}% - }}% -} +\filehook@glet{filehook@@default@InputIfFileExists}{filehook@@default@InputIfFileExists}% % \end{macrocode} % \end{macro} % @@ -1256,8 +1236,8 @@ % In order to also support it when it is loaded afterwards the two hooks below are used to revert the definition % before the package and patch it afterwards. % \begin{macrocode} -\AtBeginOfPackageFile*{scrlfile}{% - \let\InputIfFileExists\latex@InputIfFileExists +\AtBeginOfPackageFile{scrlfile}{% + \filehook@glet{InputIfFileExists}{latex@InputIfFileExists}% }% \AtEndOfPackageFile*{scrlfile}{% \RequirePackage{filehook-scrlfile}% @@ -1268,7 +1248,7 @@ \AtBeginOfPackageFile*{fink}{% \RequirePackage{kvoptions}% \begingroup - \let\InputIfFileExists\latex@InputIfFileExists + \filehook@let{InputIfFileExists}{latex@InputIfFileExists}% }% \AtEndOfPackageFile*{fink}{% \edef\@tempa{\noexpand\PassOptionsToPackage{mainext=\fnk@mainext,maindir=\fnk@maindir}{currfile}}% @@ -1281,9 +1261,8 @@ % exact same position. Please note that the case when |memoir| is used together with |scrlfile| is not explicitly covered. % In this case the |scrlfile| package will overwrite |memoir|s definition. % \begin{macrocode} -\AtBeginOfClassFile*{memoir}{% - \let\filehook@@InputIfFileExists\latex@InputIfFileExists - \let\InputIfFileExists\latex@InputIfFileExists +\AtBeginOfClassFile{memoir}{% + \filehook@let{InputIfFileExists}{latex@InputIfFileExists}% \let\@iinput\filehook@orig@@iinput }% \AtEndOfClassFile*{memoir}{% @@ -1295,45 +1274,28 @@ % error is given if any other unknown definition is detected. % The \opt{force} option will change the error into a warning and overwrite the macro with the default. % \begin{macrocode} -\def\@tempa{9}% -\ifx\InputIfFileExists\filehook@InputIfFileExists - \def\@tempa{0}% -\else - \iffilehook@force - \def\@tempa{1}% - \else - \iffilehook@newfmt - % check if both the robust \InputIfFileExist and its internal macro match the default LaTeX definition - \edef\@tempb{\noexpand\protect\expandafter\noexpand\csname InputIfFileExists\space\endcsname}% - \ifx\InputIfFileExists\@tempb - \expandafter\ifx\csname InputIfFileExists\space\expandafter\endcsname\csname latex@InputIfFileExists\space\endcsname - \def\@tempa{1}% - \fi - \fi - \else\ifx\InputIfFileExists\latex@InputIfFileExists - \def\@tempa{1}% - \fi\fi - \fi -\fi -% -\ifcase\@tempa -\relax% 0 -\or% 1 - \let\filehook@InputIfFileExists\filehook@default@InputIfFileExists - \let\filehook@@InputIfFileExists\filehook@@default@InputIfFileExists - \iffilehook@newfmt - \expandafter\let\csname InputIfFileExists\space\endcsname\filehook@InputIfFileExists - \else - \let\InputIfFileExists\filehook@InputIfFileExists - \fi - \iffilehook@force - \PackageWarning{filehook}{Detected unknown definition of \string\InputIfFileExists.^^J% - The 'force' option of 'filehook' is in effect. Macro is overwritten with default!}% - \fi -\else - \PackageError{filehook}{Detected unknown definition of \string\InputIfFileExists.^^J% - Use the 'force' option of 'filehook' to overwrite it.}{}% -\fi +\filehook@cmp{InputIfFileExists}{filehook@InputIfFileExists}% + {}% already set up + {% + \filehook@cmp{InputIfFileExists}{latex@InputIfFileExists}% + {% + \filehook@let{filehook@InputIfFileExists}{filehook@default@InputIfFileExists}% + \filehook@let{filehook@@InputIfFileExists}{filehook@@default@InputIfFileExists}% + \filehook@let{InputIfFileExists}{filehook@InputIfFileExists}% + }% + {% + \iffilehook@force + \filehook@let{filehook@InputIfFileExists}{filehook@default@InputIfFileExists}% + \filehook@let{filehook@@InputIfFileExists}{filehook@@default@InputIfFileExists}% + \filehook@let{InputIfFileExists}{filehook@InputIfFileExists}% + \PackageWarning{filehook}{Detected unknown definition of \string\InputIfFileExists.^^J% + The 'force' option of 'filehook' is in effect. Macro is overwritten with default!}% + \else + \PackageError{filehook}{Detected unknown definition of \string\InputIfFileExists.^^J% + Use the 'force' option of 'filehook' to overwrite it.}{}% + \fi + }% + }% % \end{macrocode} % \end{macro} % @@ -1341,10 +1303,10 @@ \AtBeginDocument{% % Check if definition got changed again. For the new LaTeX format we check again \InputIfFileExists, % for the old format to \InputIfFileExists directly. - \expandafter\ifx\csname InputIfFileExists\iffilehook@newfmt\space\fi\endcsname\filehook@InputIfFileExists\else + \filehook@cmp{InputIfFileExists}{filehook@InputIfFileExists}{}{% \PackageWarning{filehook}{Macro \string\InputIfFileExists\space got redefined after 'filehook' was loaded.^^J% - Certain file hooks might now be dysfunctional!} - \fi + Certain file hooks might now be dysfunctional!}% + }% } % \end{macrocode} % @@ -1358,7 +1320,7 @@ % \begin{macrocode} % \NeedsTeXFormat{LaTeX2e}[1999/12/01] -\ProvidesPackage{filehook-memoir}[2011/01/03 v0.1 filehook patch for memoir class] +\ProvidesPackage{filehook-memoir}[2020/02/02 v0.2 filehook patch for memoir class] % \end{macrocode} % % \begin{macrocode} @@ -1367,35 +1329,53 @@ % \end{macrocode} % % \begin{macro}{\memoir@InputIfFileExists} +% The definition taken from memoir.cls. Copyright see there. % \begin{macrocode} -\long\def\memoir@InputIfFileExists#1#2{% +\ifcsname InputIfFileExists\space\endcsname + \DeclareRobustCommand \memoir@InputIfFileExists[2]{% + \IfFileExists{#1}% + {% + \expandafter\@swaptwoargs\expandafter + {\@filef@und\m@matendf{#1}\killm@matf{#1}}{% + #2\@addtofilelist{#1}\m@matbeginf{#1}\@@input% + }% + }% + } +\else + % Old definition +\renewcommand{\memoir@InputIfFileExists}[2]{% \IfFileExists{#1}% {#2\@addtofilelist{#1}\m@matbeginf{#1}% \@@input \@filef@und \m@matendf{#1}% \killm@matf{#1}}% } +\fi % \end{macrocode} % \end{macro} % % \begin{macrocode} -\ifcase - \ifx\InputIfFileExists\latex@InputIfFileExists 0\else - \ifx\InputIfFileExists\memoir@InputIfFileExists 0\else - 1% - \fi\fi -\relax - \global\let\filehook@InputIfFileExists\filehook@default@InputIfFileExists - \global\let\filehook@@InputIfFileExists\filehook@@default@InputIfFileExists - \global\let\InputIfFileExists\filehook@InputIfFileExists +\@tempswafalse +\filehook@cmp{InputIfFileExists}{filehook@InputIfFileExists}% + {\@tempswatrue}% + {% + \filehook@cmp{InputIfFileExists}{memoir@InputIfFileExists}% + {\@tempswatrue}% + {}% + }% + +\if@tempswa + \filehook@glet{filehook@InputIfFileExists}{filehook@default@InputIfFileExists}% + \filehook@glet{filehook@@InputIfFileExists}{filehook@@default@InputIfFileExists}% + \filehook@glet{InputIfFileExists}{filehook@InputIfFileExists}% \filehook@appendwarg\filehook@atbegin{\m@matbeginf{#1}}% \filehook@prefixwarg\filehook@atend{\m@matendf{#1}\killm@matf{#1}}% \PackageInfo{filehook}{Detected 'memoir' class: the memoir hooks will be moved to the `At...OfFiles' hooks} \else \iffilehook@force - \global\let\filehook@InputIfFileExists\filehook@default@InputIfFileExists - \global\let\filehook@@InputIfFileExists\filehook@@default@InputIfFileExists - \global\let\InputIfFileExists\filehook@InputIfFileExists + \filehook@glet{filehook@InputIfFileExists}{filehook@default@InputIfFileExists}% + \filehook@glet{filehook@@InputIfFileExists}{filehook@@default@InputIfFileExists}% + \filehook@glet{InputIfFileExists}{filehook@InputIfFileExists}% \PackageWarning{filehook}{Detected 'memoir' class with unknown definition of \string\InputIfFileExists.^^J% The 'force' option of 'filehook' is in effect. Macro is overwritten with default!}% \else @@ -1455,14 +1435,17 @@ % \begin{macrocode} % \NeedsTeXFormat{LaTeX2e}[1999/12/01] -\ProvidesPackage{filehook-scrlfile}[2011/01/03 v0.1 filehook patch for scrlfile package] +\ProvidesPackage{filehook-scrlfile}[2020/02/02 v0.2 filehook patch for scrlfile package] \RequirePackage{filehook} \begingroup % \end{macrocode} % % \begin{macro}{\scrlfile@InputIfFileExists} % \begin{macrocode} -\long\def\scrlfile@InputIfFileExists#1#2{% +\expandafter\def\expandafter\sclrfile@InputIfFileExists\expandafter{% + \expandafter\protect\csname InputIfFileExists\space\endcsname +} +\expandafter\long\expandafter\def\csname scrlfile@InputIfFileExists\space\endcsname#1#2{% \begingroup\expandafter\expandafter\expandafter\endgroup \expandafter\ifx\csname #1-@alias\endcsname\relax \expandafter\@secondoftwo @@ -1472,21 +1455,19 @@ \fi {% \expandafter\InputIfFileExists\expandafter{\csname - #1-@alias\endcsname}{#2}% +#1-@alias\endcsname}{#2}% }% {\IfFileExists{#1}{% - \scr@load@hook{before}{#1}% - #2\@addtofilelist{#1}% - \@@input \@filef@und - \scr@load@hook{after}{#1}% - }}% + \expandafter\scr@input@withhook\expandafter{\@filef@und}{#1}{#2}}% + }% } % \end{macrocode} % \end{macro} % +% % \begin{macro}{\filehook@scrlfile@InputIfFileExists} % \begin{macrocode} -\long\def\filehook@scrlfile@InputIfFileExists#1#2{% +\DeclareRobustCommand\filehook@scrlfile@InputIfFileExists[2]{% \begingroup\expandafter\expandafter\expandafter\endgroup \expandafter\ifx\csname #1-@alias\endcsname\relax \expandafter\@secondoftwo @@ -1511,13 +1492,15 @@ \scr@load@hook{after}{#1}% }}% } +\filehook@glet{filehook@scrlfile@InputIfFileExists}{filehook@scrlfile@InputIfFileExists}% % \end{macrocode} % \end{macro} % +% % \begin{macro}{\filehook@@scrlfile@InputIfFileExists} % \begin{macrocode} -\long\def\filehook@@scrlfile@InputIfFileExists#1#2{% - \let\InputIfFileExists\filehook@InputIfFileExists +\DeclareRobustCommand\filehook@@scrlfile@InputIfFileExists[2]{% + \filehook@let{InputIfFileExists}{filehook@InputIfFileExists}% \begingroup\expandafter\expandafter\expandafter\endgroup \expandafter\ifx\csname #1-@alias\endcsname\relax \expandafter\@secondoftwo @@ -1540,6 +1523,7 @@ \scr@load@hook{after}{#1}% }}% } +\filehook@glet{filehook@@scrlfile@InputIfFileExists}{filehook@@scrlfile@InputIfFileExists}% % \end{macrocode} % \end{macro} % @@ -1548,21 +1532,25 @@ % not after the |#2\@addtofilelist{#1}| code. Otherwise the |filehook|s could simply be added to these hooks. % Note that this will stop working if |scrlfile| ever changes its definition of the \Macro\InputIfFileExists macro. % \begin{macrocode} -\ifcase - \ifx\InputIfFileExists\latex@InputIfFileExists 0\else - \ifx\InputIfFileExists\scrlfile@InputIfFileExists 0\else - 1% - \fi\fi -\relax - \global\let\filehook@InputIfFileExists\filehook@scrlfile@InputIfFileExists - \global\let\filehook@@InputIfFileExists\filehook@@scrlfile@InputIfFileExists - \global\let\InputIfFileExists\filehook@InputIfFileExists +\@tempswafalse +\filehook@cmp{InputIfFileExists}{filehook@InputIfFileExists}% + {\@tempswatrue}% + {% + \filehook@cmp{InputIfFileExists}{scrlfile@InputIfFileExists}% + {\@tempswatrue}% + {}% + }% + +\if@tempswa + \filehook@glet{filehook@InputIfFileExists}{filehook@scrlfile@InputIfFileExists}% + \filehook@glet{filehook@@InputIfFileExists}{filehook@@scrlfile@InputIfFileExists}% + \filehook@glet{InputIfFileExists}{filehook@InputIfFileExists}% \PackageInfo{filehook}{Package 'scrlfile' detected and compensated for}% \else \iffilehook@force - \global\let\filehook@InputIfFileExists\filehook@default@InputIfFileExists - \global\let\filehook@@InputIfFileExists\filehook@@default@InputIfFileExists - \global\let\InputIfFileExists\filehook@InputIfFileExists + \filehook@glet{filehook@InputIfFileExists}{filehook@scrlfile@InputIfFileExists}% + \filehook@glet{filehook@@InputIfFileExists}{filehook@@scrlfile@InputIfFileExists}% + \filehook@glet{InputIfFileExists}{filehook@InputIfFileExists}% \PackageWarning{filehook}{Detected 'scrlfile' package with unknown definition of \string\InputIfFileExists.^^J% The 'force' option of 'filehook' is in effect. Macro is overwritten with default!}% \else diff --git a/macros/latex/contrib/filehook/filehook.pdf b/macros/latex/contrib/filehook/filehook.pdf index ce6afd430f..4d3462623b 100644 Binary files a/macros/latex/contrib/filehook/filehook.pdf and b/macros/latex/contrib/filehook/filehook.pdf differ diff --git a/macros/latex/contrib/fontspec/CHANGES.md b/macros/latex/contrib/fontspec/CHANGES.md index d65a8b1c01..176a83b6c8 100644 --- a/macros/latex/contrib/fontspec/CHANGES.md +++ b/macros/latex/contrib/fontspec/CHANGES.md @@ -1,6 +1,14 @@ Change history ============== +## v2.7h (2020/02/03) + + * Eroneous uses of `language=DFLT` changed to `language=dflt`. + * Fix spurious error in some cases of `SlantedFont` and `BoldSlantedFont` + being specified in a `.fontspec` file. + * Fix regression with `unicode-math` related log files showing the wrong + NFSS-based font ‘identifier’. + ## v2.7g (2020/01/26) * Fix regression that broke changing the default encoding after `fontspec` was loaded diff --git a/macros/latex/contrib/fontspec/fontspec-code-enc.dtx b/macros/latex/contrib/fontspec/fontspec-code-enc.dtx index 8969c1be9c..7d30448002 100644 --- a/macros/latex/contrib/fontspec/fontspec-code-enc.dtx +++ b/macros/latex/contrib/fontspec/fontspec-code-enc.dtx @@ -69,7 +69,6 @@ \DeclareDocumentCommand \DeclareUnicodeEncoding {mm} { \DeclareFontEncoding{#1}{}{} - \DeclareErrorFont{#1}{lmr}{m}{n}{10} \DeclareFontSubstitution{#1}{lmr}{m}{n} \DeclareFontFamily{#1}{lmr}{} diff --git a/macros/latex/contrib/fontspec/fontspec-code-feat-opentype.dtx b/macros/latex/contrib/fontspec/fontspec-code-feat-opentype.dtx index 935cf81a70..77d431ccf8 100644 --- a/macros/latex/contrib/fontspec/fontspec-code-feat-opentype.dtx +++ b/macros/latex/contrib/fontspec/fontspec-code-feat-opentype.dtx @@ -525,9 +525,9 @@ % \begin{macrocode} \@@_keys_define_code:nnn {fontspec-opentype} { Language / Default } { - \tl_set:Nn \l_@@_lang_tl {DFLT} + \tl_set:Nn \l_@@_lang_tl {dflt} \int_zero:N \l_@@_language_int - \tl_gset:Nn \g_@@_single_feat_tl { language=DFLT } + \tl_gset:Nn \g_@@_single_feat_tl { language=dflt } } % \end{macrocode} % diff --git a/macros/latex/contrib/fontspec/fontspec-code-internal.dtx b/macros/latex/contrib/fontspec/fontspec-code-internal.dtx index 432ae803f6..6282569a6f 100644 --- a/macros/latex/contrib/fontspec/fontspec-code-internal.dtx +++ b/macros/latex/contrib/fontspec/fontspec-code-internal.dtx @@ -241,7 +241,7 @@ \@@_set_font_type:N \l_@@_test_font \@@_primitive_font_gset:Onn \l_@@_fontface_cs_tl { \@@_construct_font_call:nn { \l_@@_fontname_up_tl } { \l_@@_pre_feat_sclist } } - { \f@size pt } + { \f@size pt + 2sp } \l_@@_fontface_cs_tl % this is necessary for LuaLaTeX to check the scripts properly @@ -682,7 +682,7 @@ { \clist_clear:N \l_@@_fontopts_clist } \keys_set_groups:nnV {fontspec/fontname} {getfontname} \l_@@_fontopts_clist \@@_primitive_font_set:OnnF \l_@@_fontface_cs_tl - { \@@_construct_font_call:nn {#1} { \l_@@_pre_feat_sclist } } { \f@size pt } + { \@@_construct_font_call:nn {#1} { \l_@@_pre_feat_sclist } } { \f@size pt + 2sp } { \@@_error:nx {font-not-found} {#2} } } % \end{macrocode} @@ -1146,20 +1146,6 @@ % \end{macrocode} % \end{macro} % -% \begin{macro}{\@@_lang_dflt_correct:N} -% \begin{macrocode} -%<*XE> -\cs_new_protected:Nn \@@_lang_dflt_correct:N - { - \int_compare:nNnT {#1} = {1145457748} % "DFLT" - { - \int_zero:N #1 - } - } -% -% \end{macrocode} -% \end{macro} -% % % \iffalse % \begin{macrocode} diff --git a/macros/latex/contrib/fontspec/fontspec-code-keyval.dtx b/macros/latex/contrib/fontspec/fontspec-code-keyval.dtx index b7e660da0c..87a93c176b 100644 --- a/macros/latex/contrib/fontspec/fontspec-code-keyval.dtx +++ b/macros/latex/contrib/fontspec/fontspec-code-keyval.dtx @@ -383,10 +383,11 @@ % \begin{macrocode} \@@_keys_define_code:nnn {fontspec-opentype} {UprightFont} {} \@@_keys_define_code:nnn {fontspec-opentype} {ItalicFont} {} +\@@_keys_define_code:nnn {fontspec-opentype} {SlantedFont} {} \@@_keys_define_code:nnn {fontspec-opentype} {BoldFont} {} \@@_keys_define_code:nnn {fontspec-opentype} {BoldItalicFont} {} +\@@_keys_define_code:nnn {fontspec-opentype} {BoldSlantedFont} {} % \end{macrocode} - % % % diff --git a/macros/latex/contrib/fontspec/fontspec-code-opentype.dtx b/macros/latex/contrib/fontspec/fontspec-code-opentype.dtx index ad9413eca4..be0b8be768 100644 --- a/macros/latex/contrib/fontspec/fontspec-code-opentype.dtx +++ b/macros/latex/contrib/fontspec/fontspec-code-opentype.dtx @@ -283,27 +283,27 @@ %<*XE> %\typeout{::~ fontspec_check_ot_feat:nnn~ {#2}{#3}{#4}} \@@_iv_str_to_num:Nx \l_@@_strnum_int {#2} - \@@_iv_str_to_num:Nx \l_@@_language_int {#3} - \@@_lang_dflt_correct:N \l_@@_language_int + + \str_if_eq:eeTF {#3} {dflt} + { \int_zero:N \l_@@_language_int } + { \@@_iv_str_to_num:Nx \l_@@_language_int {#3} } \@@_iv_str_to_num:Nx \l_@@_script_int {#4} + \int_set:Nn \l_tmpb_int - { - \XeTeXOTcountfeatures #1 - \l_@@_script_int - \l_@@_language_int - } + { \XeTeXOTcountfeatures #1 \l_@@_script_int \l_@@_language_int } + \int_zero:N \l_tmpa_int \bool_set_false:N \l_@@_check_bool \bool_until_do:nn { \int_compare_p:nNn \l_tmpa_int = \l_tmpb_int } - { - \ifnum\XeTeXOTfeaturetag #1 \l_@@_script_int \l_@@_language_int - \l_tmpa_int =\l_@@_strnum_int - \bool_set_true:N \l_@@_check_bool - \int_set:Nn \l_tmpa_int {\l_tmpb_int} - \else - \int_incr:N \l_tmpa_int - \fi - } + { + \ifnum\XeTeXOTfeaturetag #1 \l_@@_script_int \l_@@_language_int + \l_tmpa_int =\l_@@_strnum_int + \bool_set_true:N \l_@@_check_bool + \int_set:Nn \l_tmpa_int {\l_tmpb_int} + \else + \int_incr:N \l_tmpa_int + \fi + } \bool_if:NTF \l_@@_check_bool \prg_return_true: \prg_return_false: % %<*LU> diff --git a/macros/latex/contrib/fontspec/fontspec-code.pdf b/macros/latex/contrib/fontspec/fontspec-code.pdf index 8982d35be2..9ca1bd3430 100644 Binary files a/macros/latex/contrib/fontspec/fontspec-code.pdf and b/macros/latex/contrib/fontspec/fontspec-code.pdf differ diff --git a/macros/latex/contrib/fontspec/fontspec.dtx b/macros/latex/contrib/fontspec/fontspec.dtx index 826ad41cce..e5a6f2f111 100644 --- a/macros/latex/contrib/fontspec/fontspec.dtx +++ b/macros/latex/contrib/fontspec/fontspec.dtx @@ -70,7 +70,7 @@ \ProvidesExplFile{fontspec.dtx} % %<*fontspec> - {2020/01/26}{2.7g}{Font selection for XeLaTeX and LuaLaTeX} + {2020/02/03}{2.7h}{Font selection for XeLaTeX and LuaLaTeX} % % \end{macrocode} % @@ -89,8 +89,8 @@ %local fontspec = fontspec %fontspec.module = { % name = "fontspec", -% version = "2.7g", -% date = "2020/01/26", +% version = "2.7h", +% date = "2020/02/03", % description = "Font selection for XeLaTeX and LuaLaTeX", % author = "Khaled Hosny, Philipp Gesang, Will Robertson", % copyright = "Khaled Hosny, Philipp Gesang, Will Robertson", diff --git a/macros/latex/contrib/fontspec/fontspec.pdf b/macros/latex/contrib/fontspec/fontspec.pdf index b64f441771..2003bddf9c 100644 Binary files a/macros/latex/contrib/fontspec/fontspec.pdf and b/macros/latex/contrib/fontspec/fontspec.pdf differ diff --git a/macros/latex/contrib/physconst/CHANGELOG.md b/macros/latex/contrib/physconst/CHANGELOG.md index 059256090c..c765c612a0 100644 --- a/macros/latex/contrib/physconst/CHANGELOG.md +++ b/macros/latex/contrib/physconst/CHANGELOG.md @@ -13,7 +13,8 @@ - added localuninstall and distuninstall targets to the makefile ### Changed - Modified the makefile to split up generation of the .sty, .dtx, and .pdf -- Modified the .cpp so that every \DeclareRobustCommand starts a new line right away +- Modified the .cpp so that every \DeclareRobustCommand starts a new line right +away - Added a newline in the middle of the title declaration (in .cpp) - Added a newline in the middle of the \DoNotIndex declaration (in .cpp) - Added dependency on imakeidx and changed the index to 2 column. @@ -31,10 +32,30 @@ - Add disribution specific readme - Add disribution specific makefile ### Changed -- Update README to have clearer build, distribute, install, and uninstall instructions. +- Update README to have clearer build, distribute, install, and uninstall +instructions. - Distribute with .dtx instead of .sty - Reordered build, install, distribute, and uninstall sections of the README - Pulled build up one level of headings in the README - fix some typos in README - - +## [1.1.0] - 2020/02/03 +### Added +- macro for Earth's mass +- macro for Jupiter's mass +- macro for Earth's radius +- macro for Jupiter's radius +- distribution specific change log +- Numeric variant of each constant for use with e.g. tikz +### Changes +- Colomb constant in SI units had an incorrect magnitude; fixed to 10^9 instead +of 10^14 +- Vacuum permeability was incorrectly a duplicate of the permittivity. +Premeability is now the correct value. +- Mass of particles in eV was being computed incorrectly. Fixed values. +- Order of magnitude of Newton's Gravity, Boltzmann, Planck, and +Stefan-Boltzmann constants were incorrect. +- Acceleration due to gravity on Earth was accidentally a copy of G instead of g +- Acceleration due to gravity on Earth had the wrong units +- Corrected formatting of README file. +- Fixed sections of macros - the individual macros were unintentionally +subsections of the Naming Conversion diff --git a/macros/latex/contrib/physconst/README.md b/macros/latex/contrib/physconst/README.md index 8a43c78f49..8727bf5e43 100644 --- a/macros/latex/contrib/physconst/README.md +++ b/macros/latex/contrib/physconst/README.md @@ -16,7 +16,8 @@ and version 1.3c or later is part of all distributions of LaTeX version 2006/05/20 or later. # Dependencies -- [`physunits` package](https://github.com/astrobit/physunits) also available at [CTAN](https://ctan.org) +- [`physunits` package](https://github.com/astrobit/physunits) also available +at [CTAN](https://ctan.org) # Build Dependencies - some LaTeX distribution. @@ -27,7 +28,8 @@ version 2006/05/20 or later. # Files ``` - makefile GNU makefile to simplify building and installation on linux + makefile GNU makefile to simplify building and installation + on linux README.md This file. CHANGELOG.md List of changes physconst.ins The installer file @@ -40,28 +42,37 @@ version 2006/05/20 or later. 1. `make` ## Otherwise -1. Run `latex` on `physconst.ins` to create the `.sty` file. e.g. `latex physconst.ins`. +1. Run `latex` on `physconst.ins` to create the `.sty` file. e.g. +`latex physconst.ins`. 1. The following steps apply only if you want the documentation (recommended). - 1. Run `latex` on `physconst.dtx` to create the `.pdf` file. e.g. `xelatex physconst.pdf`. - 1. Run `makeindex` to create the index, e.g. `makeindex -s gind.ist -o physconst.ind physconst.idx`. - 1. Run `makeindex` to create the change log, e.g. `makeindex -s gglo.ist -o physconst.gls physconst.glo`. - 1. Run `latex` on `physconst.dtx` to create the `.pdf` file with index and change log. e.g. `xelatex physconst.pdf`. - 1. Run `latex` on `physconst.dtx` to get the labels sorted out. e.g. `xelatex physconst.pdf`. - -Instructions that might help can be for windows can be found at [this post on StackExchange](https://tex.stackexchange.com/questions/369921/loading-packages-with-ins-and-dtx-files). + 1. Run `latex` on `physconst.dtx` to create the `.pdf` file. e.g. +`xelatex physconst.pdf`. + 1. Run `makeindex` to create the index, e.g. +`makeindex -s gind.ist -o physconst.ind physconst.idx`. + 1. Run `makeindex` to create the change log, e.g. +`makeindex -s gglo.ist -o physconst.gls physconst.glo`. + 1. Run `latex` on `physconst.dtx` to create the `.pdf` file with index and +change log. e.g. `xelatex physconst.pdf`. + 1. Run `latex` on `physconst.dtx` to get the labels sorted out. e.g. +`xelatex physconst.pdf`. + +Instructions that might help can be for windows can be found at +[this post on StackExchange](https://tex.stackexchange.com/questions/369921/loading-packages-with-ins-and-dtx-files). # Installation First build the project as described above. ## For a single project -1. Copy the `physconst.sty` into your project where your `.tex` files are located. +1. Copy the `physconst.sty` into your project where your `.tex` files are +located. ## for all users and projects ### Linux / Mac using make and xelatex 1. `make localinstall` ### Otherwise -Instructions that might help can be for windows can be found at [this post on StackExchange](https://tex.stackexchange.com/questions/369921/loading-packages-with-ins-and-dtx-files). +Instructions that might help can be for windows can be found at +[this post on StackExchange](https://tex.stackexchange.com/questions/369921/loading-packages-with-ins-and-dtx-files). 1. Figure out where your LaTeX local packages are installed. 1. Create a directory named `physconst` in that location. 1. Copy the `.sty` file into the directory you just created. diff --git a/macros/latex/contrib/physconst/physconst.dtx b/macros/latex/contrib/physconst/physconst.dtx index 691a5fd901..7ade189381 100644 --- a/macros/latex/contrib/physconst/physconst.dtx +++ b/macros/latex/contrib/physconst/physconst.dtx @@ -133,7 +133,7 @@ % The normal macros are the ones that you will typically use, whose values are % determined by the choice of options when the package is invoked. % -% \subsection{Naming Convention} +% \subsubsection{Naming Convention} % % Each macro starts with a lower case `k' to indicate that it is a constant. % If the macro is of special units, e.g. eV, those units will be specified next. @@ -147,41 +147,136 @@ %\index{Mass|usage} % % \DescribeMacro{\kMassElectron} +% \changes{v1.1.0}{2020/02/03}{Fix order of magnitude of constant.} +% \changes{v1.1.0}{2020/02/03}{Correct value in eV.} % \index{Mass>Electron|usage} % |\kMassElectron| is the mass of an electron. % % \DescribeMacro{\keVMassElectron} +% \changes{v1.1.0}{2020/02/03}{Fix order of magnitude of constant.} +% \changes{v1.1.0}{2020/02/03}{Correct value in eV.} % \index{Mass>Electron>in eV|usage} % |\keVMassElectron| is the mass of an electron. % +% \DescribeMacro{\kMassElectronNumeric} +% \changes{v1.1.0}{2020/02/03}{Fix order of magnitude of constant.} +% \changes{v1.1.0}{2020/02/03}{Correct value in eV.} +% \index{Mass>Electron|usage} +% |\kMassElectronNumeric| is the numeric value of +% the mass of an electron. +% +% \DescribeMacro{\keVMassElectronNumeric} +% \changes{v1.1.0}{2020/02/03}{Fix order of magnitude of constant.} +% \changes{v1.1.0}{2020/02/03}{Correct value in eV.} +% \index{Mass>Electron>in eV|usage} +% |\keVMassElectronNumeric| is the numeric value of +% the mass of an electron. +% % \DescribeMacro{\kMassProton} +% \changes{v1.1.0}{2020/02/03}{Fix order of magnitude of constant.} +% \changes{v1.1.0}{2020/02/03}{Correct value in eV.} % \index{Mass>Proton|usage} % |\kMassProton| is the mass of a proton. % % \DescribeMacro{\keVMassProton} +% \changes{v1.1.0}{2020/02/03}{Fix order of magnitude of constant.} +% \changes{v1.1.0}{2020/02/03}{Correct value in eV.} % \index{Mass>Proton>in eV|usage} % |\keVMassProton| is the mass of a proton. % +% \DescribeMacro{\kMassProtonNumeric} +% \changes{v1.1.0}{2020/02/03}{Fix order of magnitude of constant.} +% \changes{v1.1.0}{2020/02/03}{Correct value in eV.} +% \index{Mass>Proton|usage} +% |\kMassProtonNumeric| is the numeric value of +% the mass of a proton. +% +% \DescribeMacro{\keVMassProtonNumeric} +% \changes{v1.1.0}{2020/02/03}{Fix order of magnitude of constant.} +% \changes{v1.1.0}{2020/02/03}{Correct value in eV.} +% \index{Mass>Proton>in eV|usage} +% |\keVMassProtonNumeric| is the numeric value of +% the mass of a proton. +% % \DescribeMacro{\kMassHydrogen} +% \changes{v1.1.0}{2020/02/03}{Fix order of magnitude of constant.} +% \changes{v1.1.0}{2020/02/03}{Correct value in eV.} % \index{Mass>Hydrogen atom|usage} % |\kMassHydrogen| is the mass of a neutral hydrogen atom. % % \DescribeMacro{\keVMassHydrogen} +% \changes{v1.1.0}{2020/02/03}{Fix order of magnitude of constant.} +% \changes{v1.1.0}{2020/02/03}{Correct value in eV.} % \index{Mass>Hydrogen atom>in eV|usage} % |\keVMassHydrogen| is the mass of a neutral hydrogen atom. % +% \DescribeMacro{\kMassHydrogenNumeric} +% \changes{v1.1.0}{2020/02/03}{Fix order of magnitude of constant.} +% \changes{v1.1.0}{2020/02/03}{Correct value in eV.} +% \index{Mass>Hydrogen atom|usage} +% |\kMassHydrogenNumeric| is the numeric value of +% the mass of a neutral hydrogen atom. +% +% \DescribeMacro{\keVMassHydrogenNumeric} +% \changes{v1.1.0}{2020/02/03}{Fix order of magnitude of constant.} +% \changes{v1.1.0}{2020/02/03}{Correct value in eV.} +% \index{Mass>Hydrogen atom>in eV|usage} +% |\keVMassHydrogenNumeric| is the numeric value of +% the mass of a neutral hydrogen atom. +% % \DescribeMacro{\kMassSun} % \index{Mass>Sun|usage} % |\kMassSun| is the mass of the Sun. % +% \DescribeMacro{\kMassSunNumeric} +% \index{Mass>Sun|usage} +% |\kMassSunNumeric| is the numeric value of +% the mass of the Sun. +% +% \DescribeMacro{\kMassEarth} +% \changes{v1.1.0}{2020/02/03}{Add mass of Earth} +% |\kMassEarth| is the mass of the Earth. +% +% \DescribeMacro{\kMassEarthNumeric} +% \changes{v1.1.0}{2020/02/03}{Add mass of Earth} +% |\kMassEarthNumeric| is the numeric value of +% the mass of the Earth. +% +% \DescribeMacro{\kMassJupiter} +% \changes{v1.1.0}{2020/02/03}{Add mass of Jupiter} +% |\kMassJupiter| is the mass of Jupiter. +% +% \DescribeMacro{\kMassJupiterNumeric} +% \changes{v1.1.0}{2020/02/03}{Add mass of Jupiter} +% |\kMassJupiterNumeric| is the numeric value of +% the mass of Jupiter. +% % \DescribeMacro{\kMassAMU} +% \changes{v1.1.0}{2020/02/03}{Fix order of magnitude of constant.} +% \changes{v1.1.0}{2020/02/03}{Correct value in eV.} % \index{Mass>amu|usage} % |\kMassAMU| is the mass of an atomic mass unit. % % \DescribeMacro{\keVMassAMU} +% \changes{v1.1.0}{2020/02/03}{Fix order of magnitude of constant.} +% \changes{v1.1.0}{2020/02/03}{Correct value in eV.} % \index{Mass>amu>in eV|usage} % |\keVMassAMU| is the mass of an atomic mass unit. % +% \DescribeMacro{\kMassAMUNumeric} +% \changes{v1.1.0}{2020/02/03}{Fix order of magnitude of constant.} +% \changes{v1.1.0}{2020/02/03}{Correct value in eV.} +% \index{Mass>amu|usage} +% |\kMassAMUNumeric| is the numeric value of +% the mass of an atomic mass unit. +% +% \DescribeMacro{\keVMassAMUNumeric} +% \changes{v1.1.0}{2020/02/03}{Fix order of magnitude of constant.} +% \changes{v1.1.0}{2020/02/03}{Correct value in eV.} +% \index{Mass>amu>in eV|usage} +% |\keVMassAMUNumeric| is the numeric value of +% the mass of an atomic mass unit. +% % %\subsubsection{Charge} % @@ -192,14 +287,29 @@ % \index{Charge>Elementary|usage} % |\kChargeFundamental| is the fundamental charge. % +% \DescribeMacro{\kChargeFundamentalNumeric} +% \index{Charge>Elementary|usage} +% |\kChargeFundamentalNumeric| is the numeric value of +% the fundamental charge. +% % \DescribeMacro{\kChargeElectron} % \index{Charge>Electron|usage} % |\kChargeElectron| is the charge of an electron. % +% \DescribeMacro{\kChargeElectronNumeric} +% \index{Charge>Electron|usage} +% |\kChargeElectronNumeric| is the numeric value of +% the charge of an electron. +% % \DescribeMacro{\kChargeProton} % \index{Charge>Proton|usage} % |\kChargeProton| is the charge of a proton. % +% \DescribeMacro{\kChargeProtonNumeric} +% \index{Charge>Proton|usage} +% |\kChargeProtonNumeric| is the numeric value of +% the charge of a proton. +% % %\subsubsection{Distances and Lengths} % @@ -210,19 +320,58 @@ % \index{Distances and Lengths>Bohr Radius|usage} % |\kRadiusBohr| is Bohr radius of an atom. % +% \DescribeMacro{\kRadiusBohrNumeric} +% \index{Distances and Lengths>Bohr Radius|usage} +% |\kRadiusBohrNumeric| is the numeric value of +% Bohr radius of an atom. +% % \DescribeMacro{\kAstronomicalUnit} % \index{Distances and Lengths>Astronomical Unit|usage} % |\kAstronomicalUnit| is the astronomical unit (the average distance between % the Earth and the Sun). % +% \DescribeMacro{\kAstronomicalUnitNumeric} +% \index{Distances and Lengths>Astronomical Unit|usage} +% |\kAstronomicalUnitNumeric| is the numeric value of +% the astronomical unit (the average distance between the +% Earth and the Sun). +% % \DescribeMacro{\kParsec} % \index{Distances and Lengths>Parsec|usage} % |\kParsec| is the length of a parsec ($\frac{648000\au}{\pi}$). % +% \DescribeMacro{\kParsecNumeric} +% \index{Distances and Lengths>Parsec|usage} +% |\kParsecNumeric| is the numeric value of +% the length of a parsec ($\frac{648000\au}{\pi}$). +% % \DescribeMacro{\kRadiusSun} % \index{Distances and Lengths>Solar Radius|usage} % |\kRadiusSun| is the mean radius of the Sun. % +% \DescribeMacro{\kRadiusSunNumeric} +% \index{Distances and Lengths>Solar Radius|usage} +% |\kRadiusSunNumeric| is the numeric value of +% the mean radius of the Sun. +% +% \DescribeMacro{\kRadiusEarth} +% \changes{v1.1.0}{2020/02/03}{Add radius of Earth} +% |\kRadiusEarth| is the mean radius of the Earth. +% +% \DescribeMacro{\kRadiusEarthNumeric} +% \changes{v1.1.0}{2020/02/03}{Add radius of Earth} +% |\kRadiusEarthNumeric| is the numeric value of +% the mean radius of the Earth. +% +% \DescribeMacro{\kRadiusJupiter} +% \changes{v1.1.0}{2020/02/03}{Add radius of Jupiter} +% |\kRadiusJupiter| is the mean radius of Jupiter. +% +% \DescribeMacro{\kRadiusJupiterNumeric} +% \changes{v1.1.0}{2020/02/03}{Add radius of Jupiter} +% |\kRadiusJupiterNumeric| is the numeric value of +% the mean radius of Jupiter. +% % %\subsubsection{Energy, Power, and Luminosity} % @@ -237,10 +386,25 @@ % \index{Energy, Power, and Luminosity>Rydberg>in eV|usage} % |\keVRydberg| is the Rydberg energy (the binding energy of Hydrogen). % +% \DescribeMacro{\kRydbergNumeric} +% \index{Energy, Power, and Luminosity>Rydberg|usage} +% |\kRydbergNumeric| is the numeric value of +% the Rydberg energy (the binding energy of Hydrogen). +% +% \DescribeMacro{\keVRydbergNumeric} +% \index{Energy, Power, and Luminosity>Rydberg>in eV|usage} +% |\keVRydbergNumeric| is the numeric value of +% the Rydberg energy (the binding energy of Hydrogen). +% % \DescribeMacro{\kLuminositySun} % \index{Energy, Power, and Luminosity>Solar Luminosity|usage} % |\kLuminositySun| is the luminosity of the Sun. % +% \DescribeMacro{\kLuminositySunNumeric} +% \index{Energy, Power, and Luminosity>Solar Luminosity|usage} +% |\kLuminositySunNumeric| is the numeric value of +% the luminosity of the Sun. +% % %\subsubsection{Pressure} % @@ -248,13 +412,27 @@ %\index{Pressure|usage} % % \DescribeMacro{\kPressureAtmosphere} +% \changes{v1.1.0}{2020/02/03}{Fix prefix of units.} % \index{Pressure>Standard Atmosphere|usage} % |\kPressureAtmosphere| is the standard atmospheric pressure. % +% \DescribeMacro{\kPressureAtmosphereNumeric} +% \changes{v1.1.0}{2020/02/03}{Fix prefix of units.} +% \index{Pressure>Standard Atmosphere|usage} +% |\kPressureAtmosphereNumeric| is the numeric value of +% the standard atmospheric pressure. +% % \DescribeMacro{\kPressureStandard} +% \changes{v1.1.0}{2020/02/03}{Fix prefix of units.} % \index{Pressure>Standard Pressure|usage} % |\kPressureStandard| is the standard atmospheric pressure. % +% \DescribeMacro{\kPressureStandardNumeric} +% \changes{v1.1.0}{2020/02/03}{Fix prefix of units.} +% \index{Pressure>Standard Pressure|usage} +% |\kPressureStandardNumeric| is the numeric value of +% the standard atmospheric pressure. +% % %\subsubsection{Velocity, Speed and Acceleration} % @@ -265,11 +443,25 @@ % \index{Velocity, Speed and Acceleration>Speed of Light|usage} % |\kSpeedLight| is the speed of light. % +% \DescribeMacro{\kSpeedLightNumeric} +% \index{Velocity, Speed and Acceleration>Speed of Light|usage} +% |\kSpeedLightNumeric| is the numeric value of +% the speed of light. +% % \DescribeMacro{\kAccelGravity} +% \changes{v1.1.0}{2020/02/03}{Correct value.} +% \changes{v1.1.0}{2020/02/03}{Fix units.} % \index{Velocity, Speed and Acceleration>Acceleration due to Gravity|usage} % |\kAccelGravity| is the accelertion due to gravity at the surface of the % Earth. % +% \DescribeMacro{\kAccelGravityNumeric} +% \changes{v1.1.0}{2020/02/03}{Correct value.} +% \changes{v1.1.0}{2020/02/03}{Fix units.} +% \index{Velocity, Speed and Acceleration>Acceleration due to Gravity|usage} +% |\kAccelGravityNumeric| is the numeric value of +% the accelertion due to gravity at the surface of the Earth. +% % %\subsubsection{Other Constants} % @@ -277,21 +469,45 @@ %\index{Other Constants|usage} % % \DescribeMacro{\kCoulomb} +% \changes{v1.1.0}{2020/02/03}{Fix order of magnitude of constant.} % \index{Other Constants>Coulomb Constant|usage} % |\kCoulomb| is the Coulomb constant ($\frac{1}{4\pi\epsilon_0}$). % +% \DescribeMacro{\kCoulombNumeric} +% \changes{v1.1.0}{2020/02/03}{Fix order of magnitude of constant.} +% \index{Other Constants>Coulomb Constant|usage} +% |\kCoulombNumeric| is the numeric value of +% the Coulomb constant ($\frac{1}{4\pi\epsilon_0}$). +% % \DescribeMacro{\kVacuumPermittivity} % \index{Other Constants>Vacuum Permittivity|usage} % |\kVacuumPermittivity| is the electric permittivity of the vacuum. % +% \DescribeMacro{\kVacuumPermittivityNumeric} +% \index{Other Constants>Vacuum Permittivity|usage} +% |\kVacuumPermittivityNumeric| is the numeric value of +% the electric permittivity of the vacuum. +% % \DescribeMacro{\kVacuumPermeability} +% \changes{v1.1.0}{2020/02/03}{Fix value of constant.} % \index{Other Constants>Vacuum Permeability|usage} % |\kVacuumPermeability| is the magnetic permeability of the vacuum. % +% \DescribeMacro{\kVacuumPermeabilityNumeric} +% \changes{v1.1.0}{2020/02/03}{Fix value of constant.} +% \index{Other Constants>Vacuum Permeability|usage} +% |\kVacuumPermeabilityNumeric| is the numeric value of +% the magnetic permeability of the vacuum. +% % \DescribeMacro{\kVacuumImpedance} % \index{Other Constants>Vacuum Impedance|usage} % |\kVacuumImpedance| is the characteristic impedance of the vacuum. % +% \DescribeMacro{\kVacuumImpedanceNumeric} +% \index{Other Constants>Vacuum Impedance|usage} +% |\kVacuumImpedanceNumeric| is the numeric value of +% the characteristic impedance of the vacuum. +% % \DescribeMacro{\kBoltzmann} % \index{Other Constants>Boltzmann|usage} % |\kBoltzmann| is the Boltzmann constant. @@ -300,50 +516,124 @@ % \index{Other Constants>Boltzmann>in eV|usage} % |\keVBoltzmann| is the Boltzmann constant. % +% \DescribeMacro{\kBoltzmannNumeric} +% \index{Other Constants>Boltzmann|usage} +% |\kBoltzmannNumeric| is the numeric value of +% the Boltzmann constant. +% +% \DescribeMacro{\keVBoltzmannNumeric} +% \index{Other Constants>Boltzmann>in eV|usage} +% |\keVBoltzmannNumeric| is the numeric value of +% the Boltzmann constant. +% % \DescribeMacro{\kPlanck} +% \changes{v1.1.0}{2020/02/03}{Fix order of magnitude of constant.} % \index{Other Constants>Planck|usage} % |\kPlanck| is the Planck constant. % % \DescribeMacro{\keVPlanck} +% \changes{v1.1.0}{2020/02/03}{Fix order of magnitude of constant.} % \index{Other Constants>Planck>in eV|usage} % |\keVPlanck| is the Planck constant. % +% \DescribeMacro{\kPlanckNumeric} +% \changes{v1.1.0}{2020/02/03}{Fix order of magnitude of constant.} +% \index{Other Constants>Planck|usage} +% |\kPlanckNumeric| is the numeric value of +% the Planck constant. +% +% \DescribeMacro{\keVPlanckNumeric} +% \changes{v1.1.0}{2020/02/03}{Fix order of magnitude of constant.} +% \index{Other Constants>Planck>in eV|usage} +% |\keVPlanckNumeric| is the numeric value of +% the Planck constant. +% % \DescribeMacro{\kPlanckReduced} +% \changes{v1.1.0}{2020/02/03}{Fix order of magnitude of constant.} % \index{Other Constants>Reduced Planck|usage} % |\kPlanckReduced| is the Reduced Planck constant % $\left(\frac{h}{2\pi}\right)$. % % \DescribeMacro{\keVPlanckReduced} +% \changes{v1.1.0}{2020/02/03}{Fix order of magnitude of constant.} % \index{Other Constants>Reduced Planck>in eV|usage} % |\keVPlanckReduced| is the Reduced Planck constant % $\left(\frac{h}{2\pi}\right)$. % +% \DescribeMacro{\kPlanckReducedNumeric} +% \changes{v1.1.0}{2020/02/03}{Fix order of magnitude of constant.} +% \index{Other Constants>Reduced Planck|usage} +% |\kPlanckReducedNumeric| is the numeric value of +% the Reduced Planck constant $\left(\frac{h}{2\pi}\right)$. +% +% \DescribeMacro{\keVPlanckReducedNumeric} +% \changes{v1.1.0}{2020/02/03}{Fix order of magnitude of constant.} +% \index{Other Constants>Reduced Planck>in eV|usage} +% |\keVPlanckReducedNumeric| is the numeric value of +% the Reduced Planck constant $\left(\frac{h}{2\pi}\right)$. +% % \DescribeMacro{\kGravity} +% \changes{v1.1.0}{2020/02/03}{Fix value of constant.} % \index{Other Constants>Newton's Gravitational Constant|usage} % |\kGravity| is Newton's gravitational constant. % +% \DescribeMacro{\kGravityNumeric} +% \changes{v1.1.0}{2020/02/03}{Fix value of constant.} +% \index{Other Constants>Newton's Gravitational Constant|usage} +% |\kGravityNumeric| is the numeric value of +% Newton's gravitational constant. +% % \DescribeMacro{\kStefanBoltzmann} +% \changes{v1.1.0}{2020/02/03}{Fix order of magnitude of constant.} % \index{Other Constants>Stefan-Boltzmann|usage} % |\kStefanBoltzmann| is the Stefan-Boltzmann blackbody constant % $\left(\frac{2\pi^5k_\mathrm{B}}{15h^3c^2}\right)$. % +% \DescribeMacro{\kStefanBoltzmannNumeric} +% \changes{v1.1.0}{2020/02/03}{Fix order of magnitude of constant.} +% \index{Other Constants>Stefan-Boltzmann|usage} +% |\kStefanBoltzmannNumeric| is the numeric value of +% the Stefan-Boltzmann blackbody constant +% $\left(\frac{2\pi^5k_\mathrm{B}}{15h^3c^2}\right)$. +% % \DescribeMacro{\kRadiation} % \index{Other Constants>Radiation|usage} % |\kRadiation| is the radiation constant, $a % \left(\frac{8\pi^5k_\mathrm{B}^4}{15c^3h^3}\right)$. % +% \DescribeMacro{\kRadiationNumeric} +% \index{Other Constants>Radiation|usage} +% |\kRadiationNumeric| is the numeric value of +% the radiation constant, $a +% \left(\frac{8\pi^5k_\mathrm{B}^4}{15c^3h^3}\right)$. +% % \DescribeMacro{\kFineStructure} % \index{Other Constants>Fine Structure|usage} % |\kFineStructure| is the fine structure constant. % +% \DescribeMacro{\kFineStructureNumeric} +% \index{Other Constants>Fine Structure|usage} +% |\kFineStructureNumeric| is the numeric value of +% the fine structure constant. +% % \DescribeMacro{\kFineStructureReciprocal} % \index{Other Constants>Fine Structure>Reciprocal|usage} % |\kFineStructureReciprocal| is the reciprocal of the fine structure constant. % +% \DescribeMacro{\kFineStructureReciprocalNumeric} +% \index{Other Constants>Fine Structure>Reciprocal|usage} +% |\kFineStructureReciprocalNumeric| is the numeric value of +% the reciprocal of the fine structure constant. +% % \DescribeMacro{\kAvogadro} % \index{Other Constants>Avogadro's Number|usage} % |\kAvogadro| is Avogadro's Number (the number of particles in a mole). % +% \DescribeMacro{\kAvogadroNumeric} +% \index{Other Constants>Avogadro's Number|usage} +% |\kAvogadroNumeric| is the numeric value of +% Avogadro's Number (the number of particles in a mole). +% % %\subsection{Detailed Macros} % @@ -353,7 +643,7 @@ % by physconst to define the macros that are normally used (those described % above. % -% \subsection{NamingConvention} +% \subsubsection{NamingConvention} % The detailed macros are named like \k@units@precision@name. The units % specify which units the constant is in (SI, cgs, or eV). For constants that % are independent of the unit system (e.g. Avogadro's number and the fine @@ -366,6 +656,8 @@ %\subsubsection{Mass} % % \DescribeMacro{\k@SI@short@MassElectron} +% \changes{v1.1.0}{2020/02/03}{Fix order of magnitude of constant.} +% \changes{v1.1.0}{2020/02/03}{Correct value in eV.} % |\k@SI@short@MassElectron| is the mass of an electron in SI units with % reduced precision. % (CODATA~2018) @@ -382,6 +674,8 @@ % \makeatother % % \DescribeMacro{\k@SI@full@MassElectron} +% \changes{v1.1.0}{2020/02/03}{Fix order of magnitude of constant.} +% \changes{v1.1.0}{2020/02/03}{Correct value in eV.} % |\k@SI@full@MassElectron| is the mass of an electron in SI units with full % precision. % (CODATA~2018) @@ -398,6 +692,8 @@ % \makeatother % % \DescribeMacro{\k@cgs@short@MassElectron} +% \changes{v1.1.0}{2020/02/03}{Fix order of magnitude of constant.} +% \changes{v1.1.0}{2020/02/03}{Correct value in eV.} % |\k@cgs@short@MassElectron| is the mass of an electron in cgs units with % reduced precision. % (CODATA~2018) @@ -414,6 +710,8 @@ % \makeatother % % \DescribeMacro{\k@cgs@full@MassElectron} +% \changes{v1.1.0}{2020/02/03}{Fix order of magnitude of constant.} +% \changes{v1.1.0}{2020/02/03}{Correct value in eV.} % |\k@cgs@full@MassElectron| is the mass of an electron in cgs units with full % precision. % (CODATA~2018) @@ -430,6 +728,8 @@ % \makeatother % % \DescribeMacro{\k@eV@short@MassElectron} +% \changes{v1.1.0}{2020/02/03}{Fix order of magnitude of constant.} +% \changes{v1.1.0}{2020/02/03}{Correct value in eV.} % |\k@eV@short@MassElectron| is the mass of an electron in eV with reduced % precision. % (CODATA~2018) @@ -446,6 +746,8 @@ % \makeatother % % \DescribeMacro{\k@eV@full@MassElectron} +% \changes{v1.1.0}{2020/02/03}{Fix order of magnitude of constant.} +% \changes{v1.1.0}{2020/02/03}{Correct value in eV.} % |\k@eV@full@MassElectron| is the mass of an electron in eV with full % precision. % (CODATA~2018) @@ -461,2081 +763,8315 @@ % {The value is \k@eV@full@MassElectron}\end{mdframed} % \makeatother % -% \DescribeMacro{\k@SI@short@MassProton} -% |\k@SI@short@MassProton| is the mass of a proton in SI units with reduced +% \DescribeMacro{\k@SI@short@MassElectronNumeric} +% \changes{v1.1.0}{2020/02/03}{Fix order of magnitude of constant.} +% \changes{v1.1.0}{2020/02/03}{Correct value in eV.} +% |\k@SI@short@MassElectronNumeric| is a mathematical value of +% the mass of an electron in SI units with reduced % precision. % (CODATA~2018) % % The macro can be invoked by (e.g.) % \begin{mdframed}[backgroundcolor=orange!25]% % {\small\texttt{\textbackslash makeatletter\\ The value is -% \textbackslash k@SI@short@MassProton\\ +% \textbackslash k@SI@short@MassElectronNumeric\\ % \textbackslash makeatother}}\end{mdframed} % \makeatletter % Resulting in % \begin{mdframed}[backgroundcolor=blue!25]% -% {The value is \k@SI@short@MassProton}\end{mdframed} +% {The value is \k@SI@short@MassElectronNumeric}\end{mdframed} % \makeatother % -% \DescribeMacro{\k@SI@full@MassProton} -% |\k@SI@full@MassProton| is the mass of a proton in SI units with full +% \DescribeMacro{\k@SI@full@MassElectronNumeric} +% \changes{v1.1.0}{2020/02/03}{Fix order of magnitude of constant.} +% \changes{v1.1.0}{2020/02/03}{Correct value in eV.} +% |\k@SI@full@MassElectronNumeric| is a mathematical value of +% the mass of an electron in SI units with full % precision. % (CODATA~2018) % % The macro can be invoked by (e.g.) % \begin{mdframed}[backgroundcolor=orange!25]% % {\small\texttt{\textbackslash makeatletter\\ The value is -% \textbackslash k@SI@full@MassProton\\ +% \textbackslash k@SI@full@MassElectronNumeric\\ % \textbackslash makeatother}}\end{mdframed} % \makeatletter % Resulting in % \begin{mdframed}[backgroundcolor=blue!25]% -% {The value is \k@SI@full@MassProton}\end{mdframed} +% {The value is \k@SI@full@MassElectronNumeric}\end{mdframed} % \makeatother % -% \DescribeMacro{\k@cgs@short@MassProton} -% |\k@cgs@short@MassProton| is the mass of a proton in cgs units with reduced +% \DescribeMacro{\k@cgs@short@MassElectronNumeric} +% \changes{v1.1.0}{2020/02/03}{Fix order of magnitude of constant.} +% \changes{v1.1.0}{2020/02/03}{Correct value in eV.} +% |\k@cgs@short@MassElectronNumeric| is a mathematical value of +% the mass of an electron in cgs units with reduced % precision. % (CODATA~2018) % % The macro can be invoked by (e.g.) % \begin{mdframed}[backgroundcolor=orange!25]% % {\small\texttt{\textbackslash makeatletter\\ The value is -% \textbackslash k@cgs@short@MassProton\\ +% \textbackslash k@cgs@short@MassElectronNumeric\\ % \textbackslash makeatother}}\end{mdframed} % \makeatletter % Resulting in % \begin{mdframed}[backgroundcolor=blue!25]% -% {The value is \k@cgs@short@MassProton}\end{mdframed} +% {The value is \k@cgs@short@MassElectronNumeric}\end{mdframed} % \makeatother % -% \DescribeMacro{\k@cgs@full@MassProton} -% |\k@cgs@full@MassProton| is the mass of a proton in cgs units with full +% \DescribeMacro{\k@cgs@full@MassElectronNumeric} +% \changes{v1.1.0}{2020/02/03}{Fix order of magnitude of constant.} +% \changes{v1.1.0}{2020/02/03}{Correct value in eV.} +% |\k@cgs@full@MassElectronNumeric| is a mathematical value of +% the mass of an electron in cgs units with full % precision. % (CODATA~2018) % % The macro can be invoked by (e.g.) % \begin{mdframed}[backgroundcolor=orange!25]% % {\small\texttt{\textbackslash makeatletter\\ The value is -% \textbackslash k@cgs@full@MassProton\\ +% \textbackslash k@cgs@full@MassElectronNumeric\\ % \textbackslash makeatother}}\end{mdframed} % \makeatletter % Resulting in % \begin{mdframed}[backgroundcolor=blue!25]% -% {The value is \k@cgs@full@MassProton}\end{mdframed} +% {The value is \k@cgs@full@MassElectronNumeric}\end{mdframed} % \makeatother % -% \DescribeMacro{\k@eV@short@MassProton} -% |\k@eV@short@MassProton| is the mass of a proton in eV with reduced precision. +% \DescribeMacro{\k@eV@short@MassElectronNumeric} +% \changes{v1.1.0}{2020/02/03}{Fix order of magnitude of constant.} +% \changes{v1.1.0}{2020/02/03}{Correct value in eV.} +% |\k@eV@short@MassElectronNumeric| is a mathematical value of +% the mass of an electron in eV with reduced precision. % (CODATA~2018) % % The macro can be invoked by (e.g.) % \begin{mdframed}[backgroundcolor=orange!25]% % {\small\texttt{\textbackslash makeatletter\\ The value is -% \textbackslash k@eV@short@MassProton\\ +% \textbackslash k@eV@short@MassElectronNumeric\\ % \textbackslash makeatother}}\end{mdframed} % \makeatletter % Resulting in % \begin{mdframed}[backgroundcolor=blue!25]% -% {The value is \k@eV@short@MassProton}\end{mdframed} +% {The value is \k@eV@short@MassElectronNumeric}\end{mdframed} % \makeatother % -% \DescribeMacro{\k@eV@full@MassProton} -% |\k@eV@full@MassProton| is the mass of a proton in eV with full precision. +% \DescribeMacro{\k@eV@full@MassElectronNumeric} +% \changes{v1.1.0}{2020/02/03}{Fix order of magnitude of constant.} +% \changes{v1.1.0}{2020/02/03}{Correct value in eV.} +% |\k@eV@full@MassElectronNumeric| is a mathematical value of +% the mass of an electron in eV with full precision. % (CODATA~2018) % % The macro can be invoked by (e.g.) % \begin{mdframed}[backgroundcolor=orange!25]% % {\small\texttt{\textbackslash makeatletter\\ The value is -% \textbackslash k@eV@full@MassProton\\ +% \textbackslash k@eV@full@MassElectronNumeric\\ % \textbackslash makeatother}}\end{mdframed} % \makeatletter % Resulting in % \begin{mdframed}[backgroundcolor=blue!25]% -% {The value is \k@eV@full@MassProton}\end{mdframed} +% {The value is \k@eV@full@MassElectronNumeric}\end{mdframed} % \makeatother % -% \DescribeMacro{\k@SI@short@MassHydrogen} -% |\k@SI@short@MassHydrogen| is the mass of a neutral hydrogen atom in SI units -% with reduced precision. +% \DescribeMacro{\k@SI@short@MassProton} +% \changes{v1.1.0}{2020/02/03}{Fix order of magnitude of constant.} +% \changes{v1.1.0}{2020/02/03}{Correct value in eV.} +% |\k@SI@short@MassProton| is the mass of a proton in SI units with reduced +% precision. % (CODATA~2018) % % The macro can be invoked by (e.g.) % \begin{mdframed}[backgroundcolor=orange!25]% % {\small\texttt{\textbackslash makeatletter\\ The value is -% \textbackslash k@SI@short@MassHydrogen\\ +% \textbackslash k@SI@short@MassProton\\ % \textbackslash makeatother}}\end{mdframed} % \makeatletter % Resulting in % \begin{mdframed}[backgroundcolor=blue!25]% -% {The value is \k@SI@short@MassHydrogen}\end{mdframed} +% {The value is \k@SI@short@MassProton}\end{mdframed} % \makeatother % -% \DescribeMacro{\k@SI@full@MassHydrogen} -% |\k@SI@full@MassHydrogen| is the mass of a neutral hydrogen atom in SI units -% with full precision. +% \DescribeMacro{\k@SI@full@MassProton} +% \changes{v1.1.0}{2020/02/03}{Fix order of magnitude of constant.} +% \changes{v1.1.0}{2020/02/03}{Correct value in eV.} +% |\k@SI@full@MassProton| is the mass of a proton in SI units with full +% precision. % (CODATA~2018) % % The macro can be invoked by (e.g.) % \begin{mdframed}[backgroundcolor=orange!25]% % {\small\texttt{\textbackslash makeatletter\\ The value is -% \textbackslash k@SI@full@MassHydrogen\\ +% \textbackslash k@SI@full@MassProton\\ % \textbackslash makeatother}}\end{mdframed} % \makeatletter % Resulting in % \begin{mdframed}[backgroundcolor=blue!25]% -% {The value is \k@SI@full@MassHydrogen}\end{mdframed} +% {The value is \k@SI@full@MassProton}\end{mdframed} % \makeatother % -% \DescribeMacro{\k@cgs@short@MassHydrogen} -% |\k@cgs@short@MassHydrogen| is the mass of a neutral hydrogen atom in cgs -% units with reduced precision. +% \DescribeMacro{\k@cgs@short@MassProton} +% \changes{v1.1.0}{2020/02/03}{Fix order of magnitude of constant.} +% \changes{v1.1.0}{2020/02/03}{Correct value in eV.} +% |\k@cgs@short@MassProton| is the mass of a proton in cgs units with reduced +% precision. % (CODATA~2018) % % The macro can be invoked by (e.g.) % \begin{mdframed}[backgroundcolor=orange!25]% % {\small\texttt{\textbackslash makeatletter\\ The value is -% \textbackslash k@cgs@short@MassHydrogen\\ +% \textbackslash k@cgs@short@MassProton\\ % \textbackslash makeatother}}\end{mdframed} % \makeatletter % Resulting in % \begin{mdframed}[backgroundcolor=blue!25]% -% {The value is \k@cgs@short@MassHydrogen}\end{mdframed} +% {The value is \k@cgs@short@MassProton}\end{mdframed} % \makeatother % -% \DescribeMacro{\k@cgs@full@MassHydrogen} -% |\k@cgs@full@MassHydrogen| is the mass of a neutral hydrogen atom in cgs -% units with full precision. +% \DescribeMacro{\k@cgs@full@MassProton} +% \changes{v1.1.0}{2020/02/03}{Fix order of magnitude of constant.} +% \changes{v1.1.0}{2020/02/03}{Correct value in eV.} +% |\k@cgs@full@MassProton| is the mass of a proton in cgs units with full +% precision. % (CODATA~2018) % % The macro can be invoked by (e.g.) % \begin{mdframed}[backgroundcolor=orange!25]% % {\small\texttt{\textbackslash makeatletter\\ The value is -% \textbackslash k@cgs@full@MassHydrogen\\ +% \textbackslash k@cgs@full@MassProton\\ % \textbackslash makeatother}}\end{mdframed} % \makeatletter % Resulting in % \begin{mdframed}[backgroundcolor=blue!25]% -% {The value is \k@cgs@full@MassHydrogen}\end{mdframed} +% {The value is \k@cgs@full@MassProton}\end{mdframed} % \makeatother % -% \DescribeMacro{\k@eV@short@MassHydrogen} -% |\k@eV@short@MassHydrogen| is the mass of a neutral hydrogen atom in eV with -% reduced precision. +% \DescribeMacro{\k@eV@short@MassProton} +% \changes{v1.1.0}{2020/02/03}{Fix order of magnitude of constant.} +% \changes{v1.1.0}{2020/02/03}{Correct value in eV.} +% |\k@eV@short@MassProton| is the mass of a proton in eV with reduced precision. % (CODATA~2018) % % The macro can be invoked by (e.g.) % \begin{mdframed}[backgroundcolor=orange!25]% % {\small\texttt{\textbackslash makeatletter\\ The value is -% \textbackslash k@eV@short@MassHydrogen\\ +% \textbackslash k@eV@short@MassProton\\ % \textbackslash makeatother}}\end{mdframed} % \makeatletter % Resulting in % \begin{mdframed}[backgroundcolor=blue!25]% -% {The value is \k@eV@short@MassHydrogen}\end{mdframed} +% {The value is \k@eV@short@MassProton}\end{mdframed} % \makeatother % -% \DescribeMacro{\k@eV@full@MassHydrogen} -% |\k@eV@full@MassHydrogen| is the mass of a neutral hydrogen atom in eV with -% full precision. +% \DescribeMacro{\k@eV@full@MassProton} +% \changes{v1.1.0}{2020/02/03}{Fix order of magnitude of constant.} +% \changes{v1.1.0}{2020/02/03}{Correct value in eV.} +% |\k@eV@full@MassProton| is the mass of a proton in eV with full precision. % (CODATA~2018) % % The macro can be invoked by (e.g.) % \begin{mdframed}[backgroundcolor=orange!25]% % {\small\texttt{\textbackslash makeatletter\\ The value is -% \textbackslash k@eV@full@MassHydrogen\\ +% \textbackslash k@eV@full@MassProton\\ % \textbackslash makeatother}}\end{mdframed} % \makeatletter % Resulting in % \begin{mdframed}[backgroundcolor=blue!25]% -% {The value is \k@eV@full@MassHydrogen}\end{mdframed} +% {The value is \k@eV@full@MassProton}\end{mdframed} % \makeatother % -% \DescribeMacro{\k@SI@short@MassSun} -% |\k@SI@short@MassSun| is the mass of the Sun in SI units with reduced +% \DescribeMacro{\k@SI@short@MassProtonNumeric} +% \changes{v1.1.0}{2020/02/03}{Fix order of magnitude of constant.} +% \changes{v1.1.0}{2020/02/03}{Correct value in eV.} +% |\k@SI@short@MassProtonNumeric| is a mathematical value of +% the mass of a proton in SI units with reduced % precision. -% (IAU~Resolution~B3~2015) +% (CODATA~2018) % % The macro can be invoked by (e.g.) % \begin{mdframed}[backgroundcolor=orange!25]% % {\small\texttt{\textbackslash makeatletter\\ The value is -% \textbackslash k@SI@short@MassSun\\ +% \textbackslash k@SI@short@MassProtonNumeric\\ % \textbackslash makeatother}}\end{mdframed} % \makeatletter % Resulting in % \begin{mdframed}[backgroundcolor=blue!25]% -% {The value is \k@SI@short@MassSun}\end{mdframed} +% {The value is \k@SI@short@MassProtonNumeric}\end{mdframed} % \makeatother % -% \DescribeMacro{\k@SI@full@MassSun} -% |\k@SI@full@MassSun| is the mass of the Sun in SI units with full precision. -% (IAU~Resolution~B3~2015) +% \DescribeMacro{\k@SI@full@MassProtonNumeric} +% \changes{v1.1.0}{2020/02/03}{Fix order of magnitude of constant.} +% \changes{v1.1.0}{2020/02/03}{Correct value in eV.} +% |\k@SI@full@MassProtonNumeric| is a mathematical value of +% the mass of a proton in SI units with full precision. +% (CODATA~2018) % % The macro can be invoked by (e.g.) % \begin{mdframed}[backgroundcolor=orange!25]% % {\small\texttt{\textbackslash makeatletter\\ The value is -% \textbackslash k@SI@full@MassSun\\ +% \textbackslash k@SI@full@MassProtonNumeric\\ % \textbackslash makeatother}}\end{mdframed} % \makeatletter % Resulting in % \begin{mdframed}[backgroundcolor=blue!25]% -% {The value is \k@SI@full@MassSun}\end{mdframed} +% {The value is \k@SI@full@MassProtonNumeric}\end{mdframed} % \makeatother % -% \DescribeMacro{\k@cgs@short@MassSun} -% |\k@cgs@short@MassSun| is the mass of the Sun in cgs units with reduced +% \DescribeMacro{\k@cgs@short@MassProtonNumeric} +% \changes{v1.1.0}{2020/02/03}{Fix order of magnitude of constant.} +% \changes{v1.1.0}{2020/02/03}{Correct value in eV.} +% |\k@cgs@short@MassProtonNumeric| is a mathematical value of +% the mass of a proton in cgs units with reduced % precision. -% (IAU~Resolution~B3~2015) +% (CODATA~2018) % % The macro can be invoked by (e.g.) % \begin{mdframed}[backgroundcolor=orange!25]% % {\small\texttt{\textbackslash makeatletter\\ The value is -% \textbackslash k@cgs@short@MassSun\\ +% \textbackslash k@cgs@short@MassProtonNumeric\\ % \textbackslash makeatother}}\end{mdframed} % \makeatletter % Resulting in % \begin{mdframed}[backgroundcolor=blue!25]% -% {The value is \k@cgs@short@MassSun}\end{mdframed} +% {The value is \k@cgs@short@MassProtonNumeric}\end{mdframed} % \makeatother % -% \DescribeMacro{\k@cgs@full@MassSun} -% |\k@cgs@full@MassSun| is the mass of the Sun in cgs units with full precision. -% (IAU~Resolution~B3~2015) +% \DescribeMacro{\k@cgs@full@MassProtonNumeric} +% \changes{v1.1.0}{2020/02/03}{Fix order of magnitude of constant.} +% \changes{v1.1.0}{2020/02/03}{Correct value in eV.} +% |\k@cgs@full@MassProtonNumeric| is a mathematical value of +% the mass of a proton in cgs units with full precision. +% (CODATA~2018) % % The macro can be invoked by (e.g.) % \begin{mdframed}[backgroundcolor=orange!25]% % {\small\texttt{\textbackslash makeatletter\\ The value is -% \textbackslash k@cgs@full@MassSun\\ +% \textbackslash k@cgs@full@MassProtonNumeric\\ % \textbackslash makeatother}}\end{mdframed} % \makeatletter % Resulting in % \begin{mdframed}[backgroundcolor=blue!25]% -% {The value is \k@cgs@full@MassSun}\end{mdframed} +% {The value is \k@cgs@full@MassProtonNumeric}\end{mdframed} % \makeatother % -% \DescribeMacro{\k@SI@short@MassAMU} -% |\k@SI@short@MassAMU| is the mass of an atomic mass unit in SI units with -% reduced precision. +% \DescribeMacro{\k@eV@short@MassProtonNumeric} +% \changes{v1.1.0}{2020/02/03}{Fix order of magnitude of constant.} +% \changes{v1.1.0}{2020/02/03}{Correct value in eV.} +% |\k@eV@short@MassProtonNumeric| is a mathematical value of +% the mass of a proton in eV with reduced precision. % (CODATA~2018) % % The macro can be invoked by (e.g.) % \begin{mdframed}[backgroundcolor=orange!25]% % {\small\texttt{\textbackslash makeatletter\\ The value is -% \textbackslash k@SI@short@MassAMU\\ +% \textbackslash k@eV@short@MassProtonNumeric\\ % \textbackslash makeatother}}\end{mdframed} % \makeatletter % Resulting in % \begin{mdframed}[backgroundcolor=blue!25]% -% {The value is \k@SI@short@MassAMU}\end{mdframed} +% {The value is \k@eV@short@MassProtonNumeric}\end{mdframed} % \makeatother % -% \DescribeMacro{\k@SI@full@MassAMU} -% |\k@SI@full@MassAMU| is the mass of an atomic mass unit in SI units with full -% precision. +% \DescribeMacro{\k@eV@full@MassProtonNumeric} +% \changes{v1.1.0}{2020/02/03}{Fix order of magnitude of constant.} +% \changes{v1.1.0}{2020/02/03}{Correct value in eV.} +% |\k@eV@full@MassProtonNumeric| is a mathematical value of +% the mass of a proton in eV with full precision. % (CODATA~2018) % % The macro can be invoked by (e.g.) % \begin{mdframed}[backgroundcolor=orange!25]% % {\small\texttt{\textbackslash makeatletter\\ The value is -% \textbackslash k@SI@full@MassAMU\\ +% \textbackslash k@eV@full@MassProtonNumeric\\ % \textbackslash makeatother}}\end{mdframed} % \makeatletter % Resulting in % \begin{mdframed}[backgroundcolor=blue!25]% -% {The value is \k@SI@full@MassAMU}\end{mdframed} +% {The value is \k@eV@full@MassProtonNumeric}\end{mdframed} % \makeatother % -% \DescribeMacro{\k@cgs@short@MassAMU} -% |\k@cgs@short@MassAMU| is the mass of an atomic mass unit in cgs units with -% reduced precision. +% \DescribeMacro{\k@SI@short@MassHydrogen} +% \changes{v1.1.0}{2020/02/03}{Fix order of magnitude of constant.} +% \changes{v1.1.0}{2020/02/03}{Correct value in eV.} +% |\k@SI@short@MassHydrogen| is the mass of a neutral hydrogen atom in SI units +% with reduced precision. % (CODATA~2018) % % The macro can be invoked by (e.g.) % \begin{mdframed}[backgroundcolor=orange!25]% % {\small\texttt{\textbackslash makeatletter\\ The value is -% \textbackslash k@cgs@short@MassAMU\\ +% \textbackslash k@SI@short@MassHydrogen\\ % \textbackslash makeatother}}\end{mdframed} % \makeatletter % Resulting in % \begin{mdframed}[backgroundcolor=blue!25]% -% {The value is \k@cgs@short@MassAMU}\end{mdframed} +% {The value is \k@SI@short@MassHydrogen}\end{mdframed} % \makeatother % -% \DescribeMacro{\k@cgs@full@MassAMU} -% |\k@cgs@full@MassAMU| is the mass of an atomic mass unit in cgs units with -% full precision. +% \DescribeMacro{\k@SI@full@MassHydrogen} +% \changes{v1.1.0}{2020/02/03}{Fix order of magnitude of constant.} +% \changes{v1.1.0}{2020/02/03}{Correct value in eV.} +% |\k@SI@full@MassHydrogen| is the mass of a neutral hydrogen atom in SI units +% with full precision. % (CODATA~2018) % % The macro can be invoked by (e.g.) % \begin{mdframed}[backgroundcolor=orange!25]% % {\small\texttt{\textbackslash makeatletter\\ The value is -% \textbackslash k@cgs@full@MassAMU\\ +% \textbackslash k@SI@full@MassHydrogen\\ % \textbackslash makeatother}}\end{mdframed} % \makeatletter % Resulting in % \begin{mdframed}[backgroundcolor=blue!25]% -% {The value is \k@cgs@full@MassAMU}\end{mdframed} +% {The value is \k@SI@full@MassHydrogen}\end{mdframed} % \makeatother % -% \DescribeMacro{\k@eV@short@MassAMU} -% |\k@eV@short@MassAMU| is the mass of an atomic mass unit in eV with reduced -% precision. +% \DescribeMacro{\k@cgs@short@MassHydrogen} +% \changes{v1.1.0}{2020/02/03}{Fix order of magnitude of constant.} +% \changes{v1.1.0}{2020/02/03}{Correct value in eV.} +% |\k@cgs@short@MassHydrogen| is the mass of a neutral hydrogen atom in cgs +% units with reduced precision. % (CODATA~2018) % % The macro can be invoked by (e.g.) % \begin{mdframed}[backgroundcolor=orange!25]% % {\small\texttt{\textbackslash makeatletter\\ The value is -% \textbackslash k@eV@short@MassAMU\\ +% \textbackslash k@cgs@short@MassHydrogen\\ % \textbackslash makeatother}}\end{mdframed} % \makeatletter % Resulting in % \begin{mdframed}[backgroundcolor=blue!25]% -% {The value is \k@eV@short@MassAMU}\end{mdframed} +% {The value is \k@cgs@short@MassHydrogen}\end{mdframed} % \makeatother % -% \DescribeMacro{\k@eV@full@MassAMU} -% |\k@eV@full@MassAMU| is the mass of an atomic mass unit in eV with full -% precision. +% \DescribeMacro{\k@cgs@full@MassHydrogen} +% \changes{v1.1.0}{2020/02/03}{Fix order of magnitude of constant.} +% \changes{v1.1.0}{2020/02/03}{Correct value in eV.} +% |\k@cgs@full@MassHydrogen| is the mass of a neutral hydrogen atom in cgs +% units with full precision. % (CODATA~2018) % % The macro can be invoked by (e.g.) % \begin{mdframed}[backgroundcolor=orange!25]% % {\small\texttt{\textbackslash makeatletter\\ The value is -% \textbackslash k@eV@full@MassAMU\\ +% \textbackslash k@cgs@full@MassHydrogen\\ % \textbackslash makeatother}}\end{mdframed} % \makeatletter % Resulting in % \begin{mdframed}[backgroundcolor=blue!25]% -% {The value is \k@eV@full@MassAMU}\end{mdframed} +% {The value is \k@cgs@full@MassHydrogen}\end{mdframed} % \makeatother % -% -%\subsubsection{Charge} -% -% \DescribeMacro{\k@SI@short@ChargeFundamental} -% |\k@SI@short@ChargeFundamental| is the fundamental charge in SI units with +% \DescribeMacro{\k@eV@short@MassHydrogen} +% \changes{v1.1.0}{2020/02/03}{Fix order of magnitude of constant.} +% \changes{v1.1.0}{2020/02/03}{Correct value in eV.} +% |\k@eV@short@MassHydrogen| is the mass of a neutral hydrogen atom in eV with % reduced precision. % (CODATA~2018) % % The macro can be invoked by (e.g.) % \begin{mdframed}[backgroundcolor=orange!25]% % {\small\texttt{\textbackslash makeatletter\\ The value is -% \textbackslash k@SI@short@ChargeFundamental\\ +% \textbackslash k@eV@short@MassHydrogen\\ % \textbackslash makeatother}}\end{mdframed} % \makeatletter % Resulting in % \begin{mdframed}[backgroundcolor=blue!25]% -% {The value is \k@SI@short@ChargeFundamental}\end{mdframed} +% {The value is \k@eV@short@MassHydrogen}\end{mdframed} % \makeatother % -% \DescribeMacro{\k@SI@full@ChargeFundamental} -% |\k@SI@full@ChargeFundamental| is the fundamental charge in SI units with +% \DescribeMacro{\k@eV@full@MassHydrogen} +% \changes{v1.1.0}{2020/02/03}{Fix order of magnitude of constant.} +% \changes{v1.1.0}{2020/02/03}{Correct value in eV.} +% |\k@eV@full@MassHydrogen| is the mass of a neutral hydrogen atom in eV with % full precision. % (CODATA~2018) % % The macro can be invoked by (e.g.) % \begin{mdframed}[backgroundcolor=orange!25]% % {\small\texttt{\textbackslash makeatletter\\ The value is -% \textbackslash k@SI@full@ChargeFundamental\\ +% \textbackslash k@eV@full@MassHydrogen\\ % \textbackslash makeatother}}\end{mdframed} % \makeatletter % Resulting in % \begin{mdframed}[backgroundcolor=blue!25]% -% {The value is \k@SI@full@ChargeFundamental}\end{mdframed} +% {The value is \k@eV@full@MassHydrogen}\end{mdframed} % \makeatother % -% \DescribeMacro{\k@cgs@short@ChargeFundamental} -% |\k@cgs@short@ChargeFundamental| is the fundamental charge in cgs units with +% \DescribeMacro{\k@SI@short@MassHydrogenNumeric} +% \changes{v1.1.0}{2020/02/03}{Fix order of magnitude of constant.} +% \changes{v1.1.0}{2020/02/03}{Correct value in eV.} +% |\k@SI@short@MassHydrogenNumeric| is a mathematical value of +% the mass of a neutral hydrogen atom in SI units with % reduced precision. % (CODATA~2018) % % The macro can be invoked by (e.g.) % \begin{mdframed}[backgroundcolor=orange!25]% % {\small\texttt{\textbackslash makeatletter\\ The value is -% \textbackslash k@cgs@short@ChargeFundamental\\ +% \textbackslash k@SI@short@MassHydrogenNumeric\\ % \textbackslash makeatother}}\end{mdframed} % \makeatletter % Resulting in % \begin{mdframed}[backgroundcolor=blue!25]% -% {The value is \k@cgs@short@ChargeFundamental}\end{mdframed} +% {The value is \k@SI@short@MassHydrogenNumeric}\end{mdframed} % \makeatother % -% \DescribeMacro{\k@cgs@full@ChargeFundamental} -% |\k@cgs@full@ChargeFundamental| is the fundamental charge in cgs units with +% \DescribeMacro{\k@SI@full@MassHydrogenNumeric} +% \changes{v1.1.0}{2020/02/03}{Fix order of magnitude of constant.} +% \changes{v1.1.0}{2020/02/03}{Correct value in eV.} +% |\k@SI@full@MassHydrogenNumeric| is a mathematical value of +% the mass of a neutral hydrogen atom in SI units with % full precision. % (CODATA~2018) % % The macro can be invoked by (e.g.) % \begin{mdframed}[backgroundcolor=orange!25]% % {\small\texttt{\textbackslash makeatletter\\ The value is -% \textbackslash k@cgs@full@ChargeFundamental\\ +% \textbackslash k@SI@full@MassHydrogenNumeric\\ % \textbackslash makeatother}}\end{mdframed} % \makeatletter % Resulting in % \begin{mdframed}[backgroundcolor=blue!25]% -% {The value is \k@cgs@full@ChargeFundamental}\end{mdframed} +% {The value is \k@SI@full@MassHydrogenNumeric}\end{mdframed} % \makeatother % -% \DescribeMacro{\k@SI@short@ChargeElectron} -% |\k@SI@short@ChargeElectron| is the charge of an electron in SI units with -% reduced precision. +% \DescribeMacro{\k@cgs@short@MassHydrogenNumeric} +% \changes{v1.1.0}{2020/02/03}{Fix order of magnitude of constant.} +% \changes{v1.1.0}{2020/02/03}{Correct value in eV.} +% |\k@cgs@short@MassHydrogenNumeric| is a mathematical value of +% the mass of a neutral hydrogen atom in cgs units +% with reduced precision. % (CODATA~2018) % % The macro can be invoked by (e.g.) % \begin{mdframed}[backgroundcolor=orange!25]% % {\small\texttt{\textbackslash makeatletter\\ The value is -% \textbackslash k@SI@short@ChargeElectron\\ +% \textbackslash k@cgs@short@MassHydrogenNumeric\\ % \textbackslash makeatother}}\end{mdframed} % \makeatletter % Resulting in % \begin{mdframed}[backgroundcolor=blue!25]% -% {The value is \k@SI@short@ChargeElectron}\end{mdframed} +% {The value is \k@cgs@short@MassHydrogenNumeric}\end{mdframed} % \makeatother % -% \DescribeMacro{\k@SI@full@ChargeElectron} -% |\k@SI@full@ChargeElectron| is the charge of an electron in SI units with -% full precision. +% \DescribeMacro{\k@cgs@full@MassHydrogenNumeric} +% \changes{v1.1.0}{2020/02/03}{Fix order of magnitude of constant.} +% \changes{v1.1.0}{2020/02/03}{Correct value in eV.} +% |\k@cgs@full@MassHydrogenNumeric| is a mathematical value of +% the mass of a neutral hydrogen atom in cgs units +% with full precision. % (CODATA~2018) % % The macro can be invoked by (e.g.) % \begin{mdframed}[backgroundcolor=orange!25]% % {\small\texttt{\textbackslash makeatletter\\ The value is -% \textbackslash k@SI@full@ChargeElectron\\ +% \textbackslash k@cgs@full@MassHydrogenNumeric\\ % \textbackslash makeatother}}\end{mdframed} % \makeatletter % Resulting in % \begin{mdframed}[backgroundcolor=blue!25]% -% {The value is \k@SI@full@ChargeElectron}\end{mdframed} +% {The value is \k@cgs@full@MassHydrogenNumeric}\end{mdframed} % \makeatother % -% \DescribeMacro{\k@cgs@short@ChargeElectron} -% |\k@cgs@short@ChargeElectron| is the charge of an electron in cgs units with +% \DescribeMacro{\k@eV@short@MassHydrogenNumeric} +% \changes{v1.1.0}{2020/02/03}{Fix order of magnitude of constant.} +% \changes{v1.1.0}{2020/02/03}{Correct value in eV.} +% |\k@eV@short@MassHydrogenNumeric| is a mathematical value of +% the mass of a neutral hydrogen atom in eV with % reduced precision. % (CODATA~2018) % % The macro can be invoked by (e.g.) % \begin{mdframed}[backgroundcolor=orange!25]% % {\small\texttt{\textbackslash makeatletter\\ The value is -% \textbackslash k@cgs@short@ChargeElectron\\ +% \textbackslash k@eV@short@MassHydrogenNumeric\\ % \textbackslash makeatother}}\end{mdframed} % \makeatletter % Resulting in % \begin{mdframed}[backgroundcolor=blue!25]% -% {The value is \k@cgs@short@ChargeElectron}\end{mdframed} +% {The value is \k@eV@short@MassHydrogenNumeric}\end{mdframed} % \makeatother % -% \DescribeMacro{\k@cgs@full@ChargeElectron} -% |\k@cgs@full@ChargeElectron| is the charge of an electron in cgs units with -% full precision. +% \DescribeMacro{\k@eV@full@MassHydrogenNumeric} +% \changes{v1.1.0}{2020/02/03}{Fix order of magnitude of constant.} +% \changes{v1.1.0}{2020/02/03}{Correct value in eV.} +% |\k@eV@full@MassHydrogenNumeric| is a mathematical value of +% the mass of a neutral hydrogen atom in eV with full +% precision. % (CODATA~2018) % % The macro can be invoked by (e.g.) % \begin{mdframed}[backgroundcolor=orange!25]% % {\small\texttt{\textbackslash makeatletter\\ The value is -% \textbackslash k@cgs@full@ChargeElectron\\ +% \textbackslash k@eV@full@MassHydrogenNumeric\\ % \textbackslash makeatother}}\end{mdframed} % \makeatletter % Resulting in % \begin{mdframed}[backgroundcolor=blue!25]% -% {The value is \k@cgs@full@ChargeElectron}\end{mdframed} +% {The value is \k@eV@full@MassHydrogenNumeric}\end{mdframed} % \makeatother % -% \DescribeMacro{\k@SI@short@ChargeProton} -% |\k@SI@short@ChargeProton| is the charge of a proton in SI units with reduced +% \DescribeMacro{\k@SI@short@MassSun} +% |\k@SI@short@MassSun| is the mass of the Sun in SI units with reduced % precision. -% (CODATA~2018) +% (IAU~Resolution~B3~2015) % % The macro can be invoked by (e.g.) % \begin{mdframed}[backgroundcolor=orange!25]% % {\small\texttt{\textbackslash makeatletter\\ The value is -% \textbackslash k@SI@short@ChargeProton\\ +% \textbackslash k@SI@short@MassSun\\ % \textbackslash makeatother}}\end{mdframed} % \makeatletter % Resulting in % \begin{mdframed}[backgroundcolor=blue!25]% -% {The value is \k@SI@short@ChargeProton}\end{mdframed} +% {The value is \k@SI@short@MassSun}\end{mdframed} % \makeatother % -% \DescribeMacro{\k@SI@full@ChargeProton} -% |\k@SI@full@ChargeProton| is the charge of a proton in SI units with full -% precision. -% (CODATA~2018) +% \DescribeMacro{\k@SI@full@MassSun} +% |\k@SI@full@MassSun| is the mass of the Sun in SI units with full precision. +% (IAU~Resolution~B3~2015) % % The macro can be invoked by (e.g.) % \begin{mdframed}[backgroundcolor=orange!25]% % {\small\texttt{\textbackslash makeatletter\\ The value is -% \textbackslash k@SI@full@ChargeProton\\ +% \textbackslash k@SI@full@MassSun\\ % \textbackslash makeatother}}\end{mdframed} % \makeatletter % Resulting in % \begin{mdframed}[backgroundcolor=blue!25]% -% {The value is \k@SI@full@ChargeProton}\end{mdframed} +% {The value is \k@SI@full@MassSun}\end{mdframed} % \makeatother % -% \DescribeMacro{\k@cgs@short@ChargeProton} -% |\k@cgs@short@ChargeProton| is the charge of a proton in cgs units with -% reduced precision. -% (CODATA~2018) +% \DescribeMacro{\k@cgs@short@MassSun} +% |\k@cgs@short@MassSun| is the mass of the Sun in cgs units with reduced +% precision. +% (IAU~Resolution~B3~2015) % % The macro can be invoked by (e.g.) % \begin{mdframed}[backgroundcolor=orange!25]% % {\small\texttt{\textbackslash makeatletter\\ The value is -% \textbackslash k@cgs@short@ChargeProton\\ +% \textbackslash k@cgs@short@MassSun\\ % \textbackslash makeatother}}\end{mdframed} % \makeatletter % Resulting in % \begin{mdframed}[backgroundcolor=blue!25]% -% {The value is \k@cgs@short@ChargeProton}\end{mdframed} +% {The value is \k@cgs@short@MassSun}\end{mdframed} % \makeatother % -% \DescribeMacro{\k@cgs@full@ChargeProton} -% |\k@cgs@full@ChargeProton| is the charge of a proton in cgs units with full -% precision. -% (CODATA~2018) +% \DescribeMacro{\k@cgs@full@MassSun} +% |\k@cgs@full@MassSun| is the mass of the Sun in cgs units with full precision. +% (IAU~Resolution~B3~2015) % % The macro can be invoked by (e.g.) % \begin{mdframed}[backgroundcolor=orange!25]% % {\small\texttt{\textbackslash makeatletter\\ The value is -% \textbackslash k@cgs@full@ChargeProton\\ +% \textbackslash k@cgs@full@MassSun\\ % \textbackslash makeatother}}\end{mdframed} % \makeatletter % Resulting in % \begin{mdframed}[backgroundcolor=blue!25]% -% {The value is \k@cgs@full@ChargeProton}\end{mdframed} +% {The value is \k@cgs@full@MassSun}\end{mdframed} % \makeatother % -% -%\subsubsection{Distances and Lengths} -% -% \DescribeMacro{\k@SI@short@RadiusBohr} -% |\k@SI@short@RadiusBohr| is Bohr radius of an atom in SI units with reduced -% precision. -% (Calculated) +% \DescribeMacro{\k@SI@short@MassSunNumeric} +% |\k@SI@short@MassSunNumeric| is a mathematical value of +% the mass of the Sun in SI units with reduced precision. +% (IAU~Resolution~B3~2015) % % The macro can be invoked by (e.g.) % \begin{mdframed}[backgroundcolor=orange!25]% % {\small\texttt{\textbackslash makeatletter\\ The value is -% \textbackslash k@SI@short@RadiusBohr\\ +% \textbackslash k@SI@short@MassSunNumeric\\ % \textbackslash makeatother}}\end{mdframed} % \makeatletter % Resulting in % \begin{mdframed}[backgroundcolor=blue!25]% -% {The value is \k@SI@short@RadiusBohr}\end{mdframed} +% {The value is \k@SI@short@MassSunNumeric}\end{mdframed} % \makeatother % -% \DescribeMacro{\k@SI@full@RadiusBohr} -% |\k@SI@full@RadiusBohr| is Bohr radius of an atom in SI units with full -% precision. -% (Calculated) +% \DescribeMacro{\k@SI@full@MassSunNumeric} +% |\k@SI@full@MassSunNumeric| is a mathematical value of +% the mass of the Sun in SI units with full precision. +% (IAU~Resolution~B3~2015) % % The macro can be invoked by (e.g.) % \begin{mdframed}[backgroundcolor=orange!25]% % {\small\texttt{\textbackslash makeatletter\\ The value is -% \textbackslash k@SI@full@RadiusBohr\\ +% \textbackslash k@SI@full@MassSunNumeric\\ % \textbackslash makeatother}}\end{mdframed} % \makeatletter % Resulting in % \begin{mdframed}[backgroundcolor=blue!25]% -% {The value is \k@SI@full@RadiusBohr}\end{mdframed} +% {The value is \k@SI@full@MassSunNumeric}\end{mdframed} % \makeatother % -% \DescribeMacro{\k@cgs@short@RadiusBohr} -% |\k@cgs@short@RadiusBohr| is Bohr radius of an atom in cgs units with reduced -% precision. -% (Calculated) +% \DescribeMacro{\k@cgs@short@MassSunNumeric} +% |\k@cgs@short@MassSunNumeric| is a mathematical value of +% the mass of the Sun in cgs units with reduced precision. +% (IAU~Resolution~B3~2015) % % The macro can be invoked by (e.g.) % \begin{mdframed}[backgroundcolor=orange!25]% % {\small\texttt{\textbackslash makeatletter\\ The value is -% \textbackslash k@cgs@short@RadiusBohr\\ +% \textbackslash k@cgs@short@MassSunNumeric\\ % \textbackslash makeatother}}\end{mdframed} % \makeatletter % Resulting in % \begin{mdframed}[backgroundcolor=blue!25]% -% {The value is \k@cgs@short@RadiusBohr}\end{mdframed} +% {The value is \k@cgs@short@MassSunNumeric}\end{mdframed} % \makeatother % -% \DescribeMacro{\k@cgs@full@RadiusBohr} -% |\k@cgs@full@RadiusBohr| is Bohr radius of an atom in cgs units with full -% precision. -% (Calculated) +% \DescribeMacro{\k@cgs@full@MassSunNumeric} +% |\k@cgs@full@MassSunNumeric| is a mathematical value of +% the mass of the Sun in cgs units with full precision. +% (IAU~Resolution~B3~2015) % % The macro can be invoked by (e.g.) % \begin{mdframed}[backgroundcolor=orange!25]% % {\small\texttt{\textbackslash makeatletter\\ The value is -% \textbackslash k@cgs@full@RadiusBohr\\ +% \textbackslash k@cgs@full@MassSunNumeric\\ % \textbackslash makeatother}}\end{mdframed} % \makeatletter % Resulting in % \begin{mdframed}[backgroundcolor=blue!25]% -% {The value is \k@cgs@full@RadiusBohr}\end{mdframed} +% {The value is \k@cgs@full@MassSunNumeric}\end{mdframed} % \makeatother % -% \DescribeMacro{\k@SI@short@AstronomicalUnit} -% |\k@SI@short@AstronomicalUnit| is the astronomical unit (the average distance -% between the Earth and the Sun) in SI units with reduced precision. -% (IAU~Resolution~B2~2012) +% \DescribeMacro{\k@short@MassEarth} +% \changes{v1.1.0}{2020/02/03}{Add mass of Earth} +% |\k@short@MassEarth| is the mass of the Earth with reduced precision. +% (IAU~Resolution~B3~2015) % % The macro can be invoked by (e.g.) % \begin{mdframed}[backgroundcolor=orange!25]% % {\small\texttt{\textbackslash makeatletter\\ The value is -% \textbackslash k@SI@short@AstronomicalUnit\\ +% \textbackslash k@short@MassEarth\\ % \textbackslash makeatother}}\end{mdframed} % \makeatletter % Resulting in % \begin{mdframed}[backgroundcolor=blue!25]% -% {The value is \k@SI@short@AstronomicalUnit}\end{mdframed} +% {The value is \k@short@MassEarth}\end{mdframed} % \makeatother % -% \DescribeMacro{\k@SI@full@AstronomicalUnit} -% |\k@SI@full@AstronomicalUnit| is the astronomical unit (the average distance -% between the Earth and the Sun) in SI units with full precision. -% (IAU~Resolution~B2~2012) +% \DescribeMacro{\k@full@MassEarth} +% \changes{v1.1.0}{2020/02/03}{Add mass of Earth} +% |\k@full@MassEarth| is the mass of the Earth with full precision. +% (IAU~Resolution~B3~2015) % % The macro can be invoked by (e.g.) % \begin{mdframed}[backgroundcolor=orange!25]% % {\small\texttt{\textbackslash makeatletter\\ The value is -% \textbackslash k@SI@full@AstronomicalUnit\\ +% \textbackslash k@full@MassEarth\\ % \textbackslash makeatother}}\end{mdframed} % \makeatletter % Resulting in % \begin{mdframed}[backgroundcolor=blue!25]% -% {The value is \k@SI@full@AstronomicalUnit}\end{mdframed} +% {The value is \k@full@MassEarth}\end{mdframed} % \makeatother % -% \DescribeMacro{\k@cgs@short@AstronomicalUnit} -% |\k@cgs@short@AstronomicalUnit| is the astronomical unit (the average -% distance between the Earth and the Sun) in cgs units with reduced precision. -% (IAU~Resolution~B2~2012) +% \DescribeMacro{\k@short@MassEarthNumeric} +% \changes{v1.1.0}{2020/02/03}{Add mass of Earth} +% |\k@short@MassEarthNumeric| is a mathematical value of +% the mass of the Earth with reduced precision. +% (IAU~Resolution~B3~2015) % % The macro can be invoked by (e.g.) % \begin{mdframed}[backgroundcolor=orange!25]% % {\small\texttt{\textbackslash makeatletter\\ The value is -% \textbackslash k@cgs@short@AstronomicalUnit\\ +% \textbackslash k@short@MassEarthNumeric\\ % \textbackslash makeatother}}\end{mdframed} % \makeatletter % Resulting in % \begin{mdframed}[backgroundcolor=blue!25]% -% {The value is \k@cgs@short@AstronomicalUnit}\end{mdframed} +% {The value is \k@short@MassEarthNumeric}\end{mdframed} % \makeatother % -% \DescribeMacro{\k@cgs@full@AstronomicalUnit} -% |\k@cgs@full@AstronomicalUnit| is the astronomical unit (the average distance -% between the Earth and the Sun) in cgs units with full precision. -% (IAU~Resolution~B2~2012) +% \DescribeMacro{\k@full@MassEarthNumeric} +% \changes{v1.1.0}{2020/02/03}{Add mass of Earth} +% |\k@full@MassEarthNumeric| is a mathematical value of +% the mass of the Earth with full precision. +% (IAU~Resolution~B3~2015) % % The macro can be invoked by (e.g.) % \begin{mdframed}[backgroundcolor=orange!25]% % {\small\texttt{\textbackslash makeatletter\\ The value is -% \textbackslash k@cgs@full@AstronomicalUnit\\ +% \textbackslash k@full@MassEarthNumeric\\ % \textbackslash makeatother}}\end{mdframed} % \makeatletter % Resulting in % \begin{mdframed}[backgroundcolor=blue!25]% -% {The value is \k@cgs@full@AstronomicalUnit}\end{mdframed} +% {The value is \k@full@MassEarthNumeric}\end{mdframed} % \makeatother % -% \DescribeMacro{\k@SI@short@Parsec} -% |\k@SI@short@Parsec| is the length of a parsec ($\frac{648000\au}{\pi}$) in -% SI units with reduced precision. -% (Calculated) +% \DescribeMacro{\k@short@MassJupiter} +% \changes{v1.1.0}{2020/02/03}{Add mass of Jupiter} +% |\k@short@MassJupiter| is the mass of Jupiter with reduced precision. +% (IAU~Resolution~B3~2015) % % The macro can be invoked by (e.g.) % \begin{mdframed}[backgroundcolor=orange!25]% % {\small\texttt{\textbackslash makeatletter\\ The value is -% \textbackslash k@SI@short@Parsec\\ +% \textbackslash k@short@MassJupiter\\ % \textbackslash makeatother}}\end{mdframed} % \makeatletter % Resulting in % \begin{mdframed}[backgroundcolor=blue!25]% -% {The value is \k@SI@short@Parsec}\end{mdframed} +% {The value is \k@short@MassJupiter}\end{mdframed} % \makeatother % -% \DescribeMacro{\k@SI@full@Parsec} -% |\k@SI@full@Parsec| is the length of a parsec ($\frac{648000\au}{\pi}$) in SI -% units with full precision. -% (Calculated) +% \DescribeMacro{\k@full@MassJupiter} +% \changes{v1.1.0}{2020/02/03}{Add mass of Jupiter} +% |\k@full@MassJupiter| is the mass of Jupiter with full precision. +% (IAU~Resolution~B3~2015) % % The macro can be invoked by (e.g.) % \begin{mdframed}[backgroundcolor=orange!25]% % {\small\texttt{\textbackslash makeatletter\\ The value is -% \textbackslash k@SI@full@Parsec\\ +% \textbackslash k@full@MassJupiter\\ % \textbackslash makeatother}}\end{mdframed} % \makeatletter % Resulting in % \begin{mdframed}[backgroundcolor=blue!25]% -% {The value is \k@SI@full@Parsec}\end{mdframed} +% {The value is \k@full@MassJupiter}\end{mdframed} % \makeatother % -% \DescribeMacro{\k@cgs@short@Parsec} -% |\k@cgs@short@Parsec| is the length of a parsec ($\frac{648000\au}{\pi}$) in -% cgs units with reduced precision. -% (Calculated) +% \DescribeMacro{\k@short@MassJupiterNumeric} +% \changes{v1.1.0}{2020/02/03}{Add mass of Jupiter} +% |\k@short@MassJupiterNumeric| is a mathematical value of +% the mass of Jupiter with reduced precision. +% (IAU~Resolution~B3~2015) % % The macro can be invoked by (e.g.) % \begin{mdframed}[backgroundcolor=orange!25]% % {\small\texttt{\textbackslash makeatletter\\ The value is -% \textbackslash k@cgs@short@Parsec\\ +% \textbackslash k@short@MassJupiterNumeric\\ % \textbackslash makeatother}}\end{mdframed} % \makeatletter % Resulting in % \begin{mdframed}[backgroundcolor=blue!25]% -% {The value is \k@cgs@short@Parsec}\end{mdframed} +% {The value is \k@short@MassJupiterNumeric}\end{mdframed} % \makeatother % -% \DescribeMacro{\k@cgs@full@Parsec} -% |\k@cgs@full@Parsec| is the length of a parsec ($\frac{648000\au}{\pi}$) in -% cgs units with full precision. -% (Calculated) +% \DescribeMacro{\k@full@MassJupiterNumeric} +% \changes{v1.1.0}{2020/02/03}{Add mass of Jupiter} +% |\k@full@MassJupiterNumeric| is a mathematical value of +% the mass of Jupiter with full precision. +% (IAU~Resolution~B3~2015) % % The macro can be invoked by (e.g.) % \begin{mdframed}[backgroundcolor=orange!25]% % {\small\texttt{\textbackslash makeatletter\\ The value is -% \textbackslash k@cgs@full@Parsec\\ +% \textbackslash k@full@MassJupiterNumeric\\ % \textbackslash makeatother}}\end{mdframed} % \makeatletter % Resulting in % \begin{mdframed}[backgroundcolor=blue!25]% -% {The value is \k@cgs@full@Parsec}\end{mdframed} +% {The value is \k@full@MassJupiterNumeric}\end{mdframed} % \makeatother % -% \DescribeMacro{\k@SI@short@RadiusSun} -% |\k@SI@short@RadiusSun| is the mean radius of the Sun in SI units with +% \DescribeMacro{\k@SI@short@MassAMU} +% \changes{v1.1.0}{2020/02/03}{Fix order of magnitude of constant.} +% \changes{v1.1.0}{2020/02/03}{Correct value in eV.} +% |\k@SI@short@MassAMU| is the mass of an atomic mass unit in SI units with % reduced precision. -% (IAU~Resolution~B3~2015) +% (CODATA~2018) % % The macro can be invoked by (e.g.) % \begin{mdframed}[backgroundcolor=orange!25]% % {\small\texttt{\textbackslash makeatletter\\ The value is -% \textbackslash k@SI@short@RadiusSun\\ +% \textbackslash k@SI@short@MassAMU\\ % \textbackslash makeatother}}\end{mdframed} % \makeatletter % Resulting in % \begin{mdframed}[backgroundcolor=blue!25]% -% {The value is \k@SI@short@RadiusSun}\end{mdframed} +% {The value is \k@SI@short@MassAMU}\end{mdframed} % \makeatother % -% \DescribeMacro{\k@SI@full@RadiusSun} -% |\k@SI@full@RadiusSun| is the mean radius of the Sun in SI units with full +% \DescribeMacro{\k@SI@full@MassAMU} +% \changes{v1.1.0}{2020/02/03}{Fix order of magnitude of constant.} +% \changes{v1.1.0}{2020/02/03}{Correct value in eV.} +% |\k@SI@full@MassAMU| is the mass of an atomic mass unit in SI units with full % precision. -% (IAU~Resolution~B3~2015) +% (CODATA~2018) % % The macro can be invoked by (e.g.) % \begin{mdframed}[backgroundcolor=orange!25]% % {\small\texttt{\textbackslash makeatletter\\ The value is -% \textbackslash k@SI@full@RadiusSun\\ +% \textbackslash k@SI@full@MassAMU\\ % \textbackslash makeatother}}\end{mdframed} % \makeatletter % Resulting in % \begin{mdframed}[backgroundcolor=blue!25]% -% {The value is \k@SI@full@RadiusSun}\end{mdframed} +% {The value is \k@SI@full@MassAMU}\end{mdframed} % \makeatother % -% \DescribeMacro{\k@cgs@short@RadiusSun} -% |\k@cgs@short@RadiusSun| is the mean radius of the Sun in cgs units with +% \DescribeMacro{\k@cgs@short@MassAMU} +% \changes{v1.1.0}{2020/02/03}{Fix order of magnitude of constant.} +% \changes{v1.1.0}{2020/02/03}{Correct value in eV.} +% |\k@cgs@short@MassAMU| is the mass of an atomic mass unit in cgs units with % reduced precision. -% (IAU~Resolution~B3~2015) +% (CODATA~2018) % % The macro can be invoked by (e.g.) % \begin{mdframed}[backgroundcolor=orange!25]% % {\small\texttt{\textbackslash makeatletter\\ The value is -% \textbackslash k@cgs@short@RadiusSun\\ +% \textbackslash k@cgs@short@MassAMU\\ % \textbackslash makeatother}}\end{mdframed} % \makeatletter % Resulting in % \begin{mdframed}[backgroundcolor=blue!25]% -% {The value is \k@cgs@short@RadiusSun}\end{mdframed} +% {The value is \k@cgs@short@MassAMU}\end{mdframed} % \makeatother % -% \DescribeMacro{\k@cgs@full@RadiusSun} -% |\k@cgs@full@RadiusSun| is the mean radius of the Sun in cgs units with full -% precision. -% (IAU~Resolution~B3~2015) +% \DescribeMacro{\k@cgs@full@MassAMU} +% \changes{v1.1.0}{2020/02/03}{Fix order of magnitude of constant.} +% \changes{v1.1.0}{2020/02/03}{Correct value in eV.} +% |\k@cgs@full@MassAMU| is the mass of an atomic mass unit in cgs units with +% full precision. +% (CODATA~2018) % % The macro can be invoked by (e.g.) % \begin{mdframed}[backgroundcolor=orange!25]% % {\small\texttt{\textbackslash makeatletter\\ The value is -% \textbackslash k@cgs@full@RadiusSun\\ +% \textbackslash k@cgs@full@MassAMU\\ % \textbackslash makeatother}}\end{mdframed} % \makeatletter % Resulting in % \begin{mdframed}[backgroundcolor=blue!25]% -% {The value is \k@cgs@full@RadiusSun}\end{mdframed} +% {The value is \k@cgs@full@MassAMU}\end{mdframed} % \makeatother % -% -%\subsubsection{Energy, Power, and Luminosity} -% -% \DescribeMacro{\k@SI@short@Rydberg} -% |\k@SI@short@Rydberg| is the Rydberg energy (the binding energy of Hydrogen) -% in SI units with reduced precision. -% (Calculated) +% \DescribeMacro{\k@eV@short@MassAMU} +% \changes{v1.1.0}{2020/02/03}{Fix order of magnitude of constant.} +% \changes{v1.1.0}{2020/02/03}{Correct value in eV.} +% |\k@eV@short@MassAMU| is the mass of an atomic mass unit in eV with reduced +% precision. +% (CODATA~2018) % % The macro can be invoked by (e.g.) % \begin{mdframed}[backgroundcolor=orange!25]% % {\small\texttt{\textbackslash makeatletter\\ The value is -% \textbackslash k@SI@short@Rydberg\\ +% \textbackslash k@eV@short@MassAMU\\ % \textbackslash makeatother}}\end{mdframed} % \makeatletter % Resulting in % \begin{mdframed}[backgroundcolor=blue!25]% -% {The value is \k@SI@short@Rydberg}\end{mdframed} +% {The value is \k@eV@short@MassAMU}\end{mdframed} % \makeatother % -% \DescribeMacro{\k@SI@full@Rydberg} -% |\k@SI@full@Rydberg| is the Rydberg energy (the binding energy of Hydrogen) -% in SI units with full precision. -% (Calculated) +% \DescribeMacro{\k@eV@full@MassAMU} +% \changes{v1.1.0}{2020/02/03}{Fix order of magnitude of constant.} +% \changes{v1.1.0}{2020/02/03}{Correct value in eV.} +% |\k@eV@full@MassAMU| is the mass of an atomic mass unit in eV with full +% precision. +% (CODATA~2018) % % The macro can be invoked by (e.g.) % \begin{mdframed}[backgroundcolor=orange!25]% % {\small\texttt{\textbackslash makeatletter\\ The value is -% \textbackslash k@SI@full@Rydberg\\ +% \textbackslash k@eV@full@MassAMU\\ % \textbackslash makeatother}}\end{mdframed} % \makeatletter % Resulting in % \begin{mdframed}[backgroundcolor=blue!25]% -% {The value is \k@SI@full@Rydberg}\end{mdframed} +% {The value is \k@eV@full@MassAMU}\end{mdframed} % \makeatother % -% \DescribeMacro{\k@cgs@short@Rydberg} -% |\k@cgs@short@Rydberg| is the Rydberg energy (the binding energy of Hydrogen) -% in cgs units with reduced precision. -% (Calculated) +% \DescribeMacro{\k@SI@short@MassAMUNumeric} +% \changes{v1.1.0}{2020/02/03}{Fix order of magnitude of constant.} +% \changes{v1.1.0}{2020/02/03}{Correct value in eV.} +% |\k@SI@short@MassAMUNumeric| is a mathematical value of +% the mass of an atomic mass unit in SI units with reduced +% precision. +% (CODATA~2018) % % The macro can be invoked by (e.g.) % \begin{mdframed}[backgroundcolor=orange!25]% % {\small\texttt{\textbackslash makeatletter\\ The value is -% \textbackslash k@cgs@short@Rydberg\\ +% \textbackslash k@SI@short@MassAMUNumeric\\ % \textbackslash makeatother}}\end{mdframed} % \makeatletter % Resulting in % \begin{mdframed}[backgroundcolor=blue!25]% -% {The value is \k@cgs@short@Rydberg}\end{mdframed} +% {The value is \k@SI@short@MassAMUNumeric}\end{mdframed} % \makeatother % -% \DescribeMacro{\k@cgs@full@Rydberg} -% |\k@cgs@full@Rydberg| is the Rydberg energy (the binding energy of Hydrogen) -% in cgs units with full precision. -% (Calculated) +% \DescribeMacro{\k@SI@full@MassAMUNumeric} +% \changes{v1.1.0}{2020/02/03}{Fix order of magnitude of constant.} +% \changes{v1.1.0}{2020/02/03}{Correct value in eV.} +% |\k@SI@full@MassAMUNumeric| is a mathematical value of +% the mass of an atomic mass unit in SI units with full +% precision. +% (CODATA~2018) % % The macro can be invoked by (e.g.) % \begin{mdframed}[backgroundcolor=orange!25]% % {\small\texttt{\textbackslash makeatletter\\ The value is -% \textbackslash k@cgs@full@Rydberg\\ +% \textbackslash k@SI@full@MassAMUNumeric\\ % \textbackslash makeatother}}\end{mdframed} % \makeatletter % Resulting in % \begin{mdframed}[backgroundcolor=blue!25]% -% {The value is \k@cgs@full@Rydberg}\end{mdframed} +% {The value is \k@SI@full@MassAMUNumeric}\end{mdframed} % \makeatother % -% \DescribeMacro{\k@eV@short@Rydberg} -% |\k@eV@short@Rydberg| is the Rydberg energy (the binding energy of Hydrogen) -% in eV with reduced precision. -% (Calculated) +% \DescribeMacro{\k@cgs@short@MassAMUNumeric} +% \changes{v1.1.0}{2020/02/03}{Fix order of magnitude of constant.} +% \changes{v1.1.0}{2020/02/03}{Correct value in eV.} +% |\k@cgs@short@MassAMUNumeric| is a mathematical value of +% the mass of an atomic mass unit in cgs units with +% reduced precision. +% (CODATA~2018) % % The macro can be invoked by (e.g.) % \begin{mdframed}[backgroundcolor=orange!25]% % {\small\texttt{\textbackslash makeatletter\\ The value is -% \textbackslash k@eV@short@Rydberg\\ +% \textbackslash k@cgs@short@MassAMUNumeric\\ % \textbackslash makeatother}}\end{mdframed} % \makeatletter % Resulting in % \begin{mdframed}[backgroundcolor=blue!25]% -% {The value is \k@eV@short@Rydberg}\end{mdframed} +% {The value is \k@cgs@short@MassAMUNumeric}\end{mdframed} % \makeatother % -% \DescribeMacro{\k@eV@full@Rydberg} -% |\k@eV@full@Rydberg| is the Rydberg energy (the binding energy of Hydrogen) -% in eV with full precision. -% (Calculated) +% \DescribeMacro{\k@cgs@full@MassAMUNumeric} +% \changes{v1.1.0}{2020/02/03}{Fix order of magnitude of constant.} +% \changes{v1.1.0}{2020/02/03}{Correct value in eV.} +% |\k@cgs@full@MassAMUNumeric| is a mathematical value of +% the mass of an atomic mass unit in cgs units with full +% precision. +% (CODATA~2018) % % The macro can be invoked by (e.g.) % \begin{mdframed}[backgroundcolor=orange!25]% % {\small\texttt{\textbackslash makeatletter\\ The value is -% \textbackslash k@eV@full@Rydberg\\ +% \textbackslash k@cgs@full@MassAMUNumeric\\ % \textbackslash makeatother}}\end{mdframed} % \makeatletter % Resulting in % \begin{mdframed}[backgroundcolor=blue!25]% -% {The value is \k@eV@full@Rydberg}\end{mdframed} +% {The value is \k@cgs@full@MassAMUNumeric}\end{mdframed} % \makeatother % -% \DescribeMacro{\k@SI@short@LuminositySun} -% |\k@SI@short@LuminositySun| is the luminosity of the Sun in SI units with -% reduced precision. -% (IAU~Resolution~B3~2015) +% \DescribeMacro{\k@eV@short@MassAMUNumeric} +% \changes{v1.1.0}{2020/02/03}{Fix order of magnitude of constant.} +% \changes{v1.1.0}{2020/02/03}{Correct value in eV.} +% |\k@eV@short@MassAMUNumeric| is a mathematical value of +% the mass of an atomic mass unit in eV with reduced +% precision. +% (CODATA~2018) % % The macro can be invoked by (e.g.) % \begin{mdframed}[backgroundcolor=orange!25]% % {\small\texttt{\textbackslash makeatletter\\ The value is -% \textbackslash k@SI@short@LuminositySun\\ +% \textbackslash k@eV@short@MassAMUNumeric\\ % \textbackslash makeatother}}\end{mdframed} % \makeatletter % Resulting in % \begin{mdframed}[backgroundcolor=blue!25]% -% {The value is \k@SI@short@LuminositySun}\end{mdframed} +% {The value is \k@eV@short@MassAMUNumeric}\end{mdframed} % \makeatother % -% \DescribeMacro{\k@SI@full@LuminositySun} -% |\k@SI@full@LuminositySun| is the luminosity of the Sun in SI units with full -% precision. -% (IAU~Resolution~B3~2015) +% \DescribeMacro{\k@eV@full@MassAMUNumeric} +% \changes{v1.1.0}{2020/02/03}{Fix order of magnitude of constant.} +% \changes{v1.1.0}{2020/02/03}{Correct value in eV.} +% |\k@eV@full@MassAMUNumeric| is a mathematical value of +% the mass of an atomic mass unit in eV with full precision. +% (CODATA~2018) % % The macro can be invoked by (e.g.) % \begin{mdframed}[backgroundcolor=orange!25]% % {\small\texttt{\textbackslash makeatletter\\ The value is -% \textbackslash k@SI@full@LuminositySun\\ +% \textbackslash k@eV@full@MassAMUNumeric\\ % \textbackslash makeatother}}\end{mdframed} % \makeatletter % Resulting in % \begin{mdframed}[backgroundcolor=blue!25]% -% {The value is \k@SI@full@LuminositySun}\end{mdframed} +% {The value is \k@eV@full@MassAMUNumeric}\end{mdframed} % \makeatother % -% \DescribeMacro{\k@cgs@short@LuminositySun} -% |\k@cgs@short@LuminositySun| is the luminosity of the Sun in cgs units with +% +%\subsubsection{Charge} +% +% \DescribeMacro{\k@SI@short@ChargeFundamental} +% |\k@SI@short@ChargeFundamental| is the fundamental charge in SI units with % reduced precision. -% (IAU~Resolution~B3~2015) +% (CODATA~2018) % % The macro can be invoked by (e.g.) % \begin{mdframed}[backgroundcolor=orange!25]% % {\small\texttt{\textbackslash makeatletter\\ The value is -% \textbackslash k@cgs@short@LuminositySun\\ +% \textbackslash k@SI@short@ChargeFundamental\\ % \textbackslash makeatother}}\end{mdframed} % \makeatletter % Resulting in % \begin{mdframed}[backgroundcolor=blue!25]% -% {The value is \k@cgs@short@LuminositySun}\end{mdframed} +% {The value is \k@SI@short@ChargeFundamental}\end{mdframed} % \makeatother % -% \DescribeMacro{\k@cgs@full@LuminositySun} -% |\k@cgs@full@LuminositySun| is the luminosity of the Sun in cgs units with +% \DescribeMacro{\k@SI@full@ChargeFundamental} +% |\k@SI@full@ChargeFundamental| is the fundamental charge in SI units with % full precision. -% (IAU~Resolution~B3~2015) +% (CODATA~2018) % % The macro can be invoked by (e.g.) % \begin{mdframed}[backgroundcolor=orange!25]% % {\small\texttt{\textbackslash makeatletter\\ The value is -% \textbackslash k@cgs@full@LuminositySun\\ +% \textbackslash k@SI@full@ChargeFundamental\\ % \textbackslash makeatother}}\end{mdframed} % \makeatletter % Resulting in % \begin{mdframed}[backgroundcolor=blue!25]% -% {The value is \k@cgs@full@LuminositySun}\end{mdframed} +% {The value is \k@SI@full@ChargeFundamental}\end{mdframed} % \makeatother % -% -%\subsubsection{Pressure} -% -% \DescribeMacro{\k@SI@short@PressureAtmosphere} -% |\k@SI@short@PressureAtmosphere| is the standard atmospheric pressure in SI -% units with reduced precision. +% \DescribeMacro{\k@cgs@short@ChargeFundamental} +% |\k@cgs@short@ChargeFundamental| is the fundamental charge in cgs units with +% reduced precision. % (CODATA~2018) % % The macro can be invoked by (e.g.) % \begin{mdframed}[backgroundcolor=orange!25]% % {\small\texttt{\textbackslash makeatletter\\ The value is -% \textbackslash k@SI@short@PressureAtmosphere\\ +% \textbackslash k@cgs@short@ChargeFundamental\\ % \textbackslash makeatother}}\end{mdframed} % \makeatletter % Resulting in % \begin{mdframed}[backgroundcolor=blue!25]% -% {The value is \k@SI@short@PressureAtmosphere}\end{mdframed} +% {The value is \k@cgs@short@ChargeFundamental}\end{mdframed} % \makeatother % -% \DescribeMacro{\k@SI@full@PressureAtmosphere} -% |\k@SI@full@PressureAtmosphere| is the standard atmospheric pressure in SI -% units with full precision. +% \DescribeMacro{\k@cgs@full@ChargeFundamental} +% |\k@cgs@full@ChargeFundamental| is the fundamental charge in cgs units with +% full precision. % (CODATA~2018) % % The macro can be invoked by (e.g.) % \begin{mdframed}[backgroundcolor=orange!25]% % {\small\texttt{\textbackslash makeatletter\\ The value is -% \textbackslash k@SI@full@PressureAtmosphere\\ +% \textbackslash k@cgs@full@ChargeFundamental\\ % \textbackslash makeatother}}\end{mdframed} % \makeatletter % Resulting in % \begin{mdframed}[backgroundcolor=blue!25]% -% {The value is \k@SI@full@PressureAtmosphere}\end{mdframed} +% {The value is \k@cgs@full@ChargeFundamental}\end{mdframed} % \makeatother % -% \DescribeMacro{\k@cgs@short@PressureAtmosphere} -% |\k@cgs@short@PressureAtmosphere| is the standard atmospheric pressure in cgs -% units with reduced precision. +% \DescribeMacro{\k@SI@short@ChargeFundamentalNumeric} +% |\k@SI@short@ChargeFundamentalNumeric| is a mathematical value of +% the fundamental charge in SI units with reduced +% precision. % (CODATA~2018) % % The macro can be invoked by (e.g.) % \begin{mdframed}[backgroundcolor=orange!25]% % {\small\texttt{\textbackslash makeatletter\\ The value is -% \textbackslash k@cgs@short@PressureAtmosphere\\ +% \textbackslash k@SI@short@ChargeFundamentalNumeric\\ % \textbackslash makeatother}}\end{mdframed} % \makeatletter % Resulting in % \begin{mdframed}[backgroundcolor=blue!25]% -% {The value is \k@cgs@short@PressureAtmosphere}\end{mdframed} +% {The value is \k@SI@short@ChargeFundamentalNumeric}\end{mdframed} % \makeatother % -% \DescribeMacro{\k@cgs@full@PressureAtmosphere} -% |\k@cgs@full@PressureAtmosphere| is the standard atmospheric pressure in cgs -% units with full precision. +% \DescribeMacro{\k@SI@full@ChargeFundamentalNumeric} +% |\k@SI@full@ChargeFundamentalNumeric| is a mathematical value of +% the fundamental charge in SI units with full +% precision. % (CODATA~2018) % % The macro can be invoked by (e.g.) % \begin{mdframed}[backgroundcolor=orange!25]% % {\small\texttt{\textbackslash makeatletter\\ The value is -% \textbackslash k@cgs@full@PressureAtmosphere\\ +% \textbackslash k@SI@full@ChargeFundamentalNumeric\\ % \textbackslash makeatother}}\end{mdframed} % \makeatletter % Resulting in % \begin{mdframed}[backgroundcolor=blue!25]% -% {The value is \k@cgs@full@PressureAtmosphere}\end{mdframed} +% {The value is \k@SI@full@ChargeFundamentalNumeric}\end{mdframed} % \makeatother % -% \DescribeMacro{\k@SI@short@PressureStandard} -% |\k@SI@short@PressureStandard| is the standard atmospheric pressure in SI -% units with reduced precision. +% \DescribeMacro{\k@cgs@short@ChargeFundamentalNumeric} +% |\k@cgs@short@ChargeFundamentalNumeric| is a mathematical value of +% the fundamental charge in cgs units with +% reduced precision. % (CODATA~2018) % % The macro can be invoked by (e.g.) % \begin{mdframed}[backgroundcolor=orange!25]% % {\small\texttt{\textbackslash makeatletter\\ The value is -% \textbackslash k@SI@short@PressureStandard\\ +% \textbackslash k@cgs@short@ChargeFundamentalNumeric\\ % \textbackslash makeatother}}\end{mdframed} % \makeatletter % Resulting in % \begin{mdframed}[backgroundcolor=blue!25]% -% {The value is \k@SI@short@PressureStandard}\end{mdframed} +% {The value is \k@cgs@short@ChargeFundamentalNumeric}\end{mdframed} % \makeatother % -% \DescribeMacro{\k@SI@full@PressureStandard} -% |\k@SI@full@PressureStandard| is the standard atmospheric pressure in SI -% units with full precision. +% \DescribeMacro{\k@cgs@full@ChargeFundamentalNumeric} +% |\k@cgs@full@ChargeFundamentalNumeric| is a mathematical value of +% the fundamental charge in cgs units with full +% precision. % (CODATA~2018) % % The macro can be invoked by (e.g.) % \begin{mdframed}[backgroundcolor=orange!25]% % {\small\texttt{\textbackslash makeatletter\\ The value is -% \textbackslash k@SI@full@PressureStandard\\ +% \textbackslash k@cgs@full@ChargeFundamentalNumeric\\ % \textbackslash makeatother}}\end{mdframed} % \makeatletter % Resulting in % \begin{mdframed}[backgroundcolor=blue!25]% -% {The value is \k@SI@full@PressureStandard}\end{mdframed} +% {The value is \k@cgs@full@ChargeFundamentalNumeric}\end{mdframed} % \makeatother % -% \DescribeMacro{\k@cgs@short@PressureStandard} -% |\k@cgs@short@PressureStandard| is the standard atmospheric pressure in cgs -% units with reduced precision. +% \DescribeMacro{\k@SI@short@ChargeElectron} +% |\k@SI@short@ChargeElectron| is the charge of an electron in SI units with +% reduced precision. % (CODATA~2018) % % The macro can be invoked by (e.g.) % \begin{mdframed}[backgroundcolor=orange!25]% % {\small\texttt{\textbackslash makeatletter\\ The value is -% \textbackslash k@cgs@short@PressureStandard\\ +% \textbackslash k@SI@short@ChargeElectron\\ % \textbackslash makeatother}}\end{mdframed} % \makeatletter % Resulting in % \begin{mdframed}[backgroundcolor=blue!25]% -% {The value is \k@cgs@short@PressureStandard}\end{mdframed} +% {The value is \k@SI@short@ChargeElectron}\end{mdframed} % \makeatother % -% \DescribeMacro{\k@cgs@full@PressureStandard} -% |\k@cgs@full@PressureStandard| is the standard atmospheric pressure in cgs -% units with full precision. +% \DescribeMacro{\k@SI@full@ChargeElectron} +% |\k@SI@full@ChargeElectron| is the charge of an electron in SI units with +% full precision. % (CODATA~2018) % % The macro can be invoked by (e.g.) % \begin{mdframed}[backgroundcolor=orange!25]% % {\small\texttt{\textbackslash makeatletter\\ The value is -% \textbackslash k@cgs@full@PressureStandard\\ +% \textbackslash k@SI@full@ChargeElectron\\ % \textbackslash makeatother}}\end{mdframed} % \makeatletter % Resulting in % \begin{mdframed}[backgroundcolor=blue!25]% -% {The value is \k@cgs@full@PressureStandard}\end{mdframed} +% {The value is \k@SI@full@ChargeElectron}\end{mdframed} % \makeatother % -% -%\subsubsection{Velocity, Speed and Acceleration} -% -% \DescribeMacro{\k@SI@short@SpeedLight} -% |\k@SI@short@SpeedLight| is the speed of light in SI units with reduced -% precision. -% (CODATA 2018) +% \DescribeMacro{\k@cgs@short@ChargeElectron} +% |\k@cgs@short@ChargeElectron| is the charge of an electron in cgs units with +% reduced precision. +% (CODATA~2018) % % The macro can be invoked by (e.g.) % \begin{mdframed}[backgroundcolor=orange!25]% % {\small\texttt{\textbackslash makeatletter\\ The value is -% \textbackslash k@SI@short@SpeedLight\\ +% \textbackslash k@cgs@short@ChargeElectron\\ % \textbackslash makeatother}}\end{mdframed} % \makeatletter % Resulting in % \begin{mdframed}[backgroundcolor=blue!25]% -% {The value is \k@SI@short@SpeedLight}\end{mdframed} +% {The value is \k@cgs@short@ChargeElectron}\end{mdframed} % \makeatother % -% \DescribeMacro{\k@SI@full@SpeedLight} -% |\k@SI@full@SpeedLight| is the speed of light in SI units with full precision. -% (CODATA 2018) +% \DescribeMacro{\k@cgs@full@ChargeElectron} +% |\k@cgs@full@ChargeElectron| is the charge of an electron in cgs units with +% full precision. +% (CODATA~2018) % % The macro can be invoked by (e.g.) % \begin{mdframed}[backgroundcolor=orange!25]% % {\small\texttt{\textbackslash makeatletter\\ The value is -% \textbackslash k@SI@full@SpeedLight\\ +% \textbackslash k@cgs@full@ChargeElectron\\ % \textbackslash makeatother}}\end{mdframed} % \makeatletter % Resulting in % \begin{mdframed}[backgroundcolor=blue!25]% -% {The value is \k@SI@full@SpeedLight}\end{mdframed} +% {The value is \k@cgs@full@ChargeElectron}\end{mdframed} % \makeatother % -% \DescribeMacro{\k@cgs@short@SpeedLight} -% |\k@cgs@short@SpeedLight| is the speed of light in cgs units with reduced +% \DescribeMacro{\k@SI@short@ChargeElectronNumeric} +% |\k@SI@short@ChargeElectronNumeric| is a mathematical value of +% the charge of an electron in SI units with reduced % precision. -% (CODATA 2018) +% (CODATA~2018) % % The macro can be invoked by (e.g.) % \begin{mdframed}[backgroundcolor=orange!25]% % {\small\texttt{\textbackslash makeatletter\\ The value is -% \textbackslash k@cgs@short@SpeedLight\\ +% \textbackslash k@SI@short@ChargeElectronNumeric\\ % \textbackslash makeatother}}\end{mdframed} % \makeatletter % Resulting in % \begin{mdframed}[backgroundcolor=blue!25]% -% {The value is \k@cgs@short@SpeedLight}\end{mdframed} +% {The value is \k@SI@short@ChargeElectronNumeric}\end{mdframed} % \makeatother % -% \DescribeMacro{\k@cgs@full@SpeedLight} -% |\k@cgs@full@SpeedLight| is the speed of light in cgs units with full +% \DescribeMacro{\k@SI@full@ChargeElectronNumeric} +% |\k@SI@full@ChargeElectronNumeric| is a mathematical value of +% the charge of an electron in SI units with full % precision. -% (CODATA 2018) +% (CODATA~2018) % % The macro can be invoked by (e.g.) % \begin{mdframed}[backgroundcolor=orange!25]% % {\small\texttt{\textbackslash makeatletter\\ The value is -% \textbackslash k@cgs@full@SpeedLight\\ +% \textbackslash k@SI@full@ChargeElectronNumeric\\ % \textbackslash makeatother}}\end{mdframed} % \makeatletter % Resulting in % \begin{mdframed}[backgroundcolor=blue!25]% -% {The value is \k@cgs@full@SpeedLight}\end{mdframed} +% {The value is \k@SI@full@ChargeElectronNumeric}\end{mdframed} % \makeatother % -% \DescribeMacro{\k@SI@short@AccelGravity} -% |\k@SI@short@AccelGravity| is the accelertion due to gravity at the surface -% of the Earth in SI units with reduced precision. -% (CODATA 2018) +% \DescribeMacro{\k@cgs@short@ChargeElectronNumeric} +% |\k@cgs@short@ChargeElectronNumeric| is a mathematical value of +% the charge of an electron in cgs units with +% reduced precision. +% (CODATA~2018) % % The macro can be invoked by (e.g.) % \begin{mdframed}[backgroundcolor=orange!25]% % {\small\texttt{\textbackslash makeatletter\\ The value is -% \textbackslash k@SI@short@AccelGravity\\ +% \textbackslash k@cgs@short@ChargeElectronNumeric\\ % \textbackslash makeatother}}\end{mdframed} % \makeatletter % Resulting in % \begin{mdframed}[backgroundcolor=blue!25]% -% {The value is \k@SI@short@AccelGravity}\end{mdframed} +% {The value is \k@cgs@short@ChargeElectronNumeric}\end{mdframed} % \makeatother % -% \DescribeMacro{\k@SI@full@AccelGravity} -% |\k@SI@full@AccelGravity| is the accelertion due to gravity at the surface of -% the Earth in SI units with full precision. -% (CODATA 2018) +% \DescribeMacro{\k@cgs@full@ChargeElectronNumeric} +% |\k@cgs@full@ChargeElectronNumeric| is a mathematical value of +% the charge of an electron in cgs units with full +% precision. +% (CODATA~2018) % % The macro can be invoked by (e.g.) % \begin{mdframed}[backgroundcolor=orange!25]% % {\small\texttt{\textbackslash makeatletter\\ The value is -% \textbackslash k@SI@full@AccelGravity\\ +% \textbackslash k@cgs@full@ChargeElectronNumeric\\ % \textbackslash makeatother}}\end{mdframed} % \makeatletter % Resulting in % \begin{mdframed}[backgroundcolor=blue!25]% -% {The value is \k@SI@full@AccelGravity}\end{mdframed} +% {The value is \k@cgs@full@ChargeElectronNumeric}\end{mdframed} % \makeatother % -% \DescribeMacro{\k@cgs@short@AccelGravity} -% |\k@cgs@short@AccelGravity| is the accelertion due to gravity at the surface -% of the Earth in cgs units with reduced precision. -% (CODATA 2018) +% \DescribeMacro{\k@SI@short@ChargeProton} +% |\k@SI@short@ChargeProton| is the charge of a proton in SI units with reduced +% precision. +% (CODATA~2018) % % The macro can be invoked by (e.g.) % \begin{mdframed}[backgroundcolor=orange!25]% % {\small\texttt{\textbackslash makeatletter\\ The value is -% \textbackslash k@cgs@short@AccelGravity\\ +% \textbackslash k@SI@short@ChargeProton\\ % \textbackslash makeatother}}\end{mdframed} % \makeatletter % Resulting in % \begin{mdframed}[backgroundcolor=blue!25]% -% {The value is \k@cgs@short@AccelGravity}\end{mdframed} +% {The value is \k@SI@short@ChargeProton}\end{mdframed} % \makeatother % -% \DescribeMacro{\k@cgs@full@AccelGravity} -% |\k@cgs@full@AccelGravity| is the accelertion due to gravity at the surface -% of the Earth in cgs units with full precision. -% (CODATA 2018) +% \DescribeMacro{\k@SI@full@ChargeProton} +% |\k@SI@full@ChargeProton| is the charge of a proton in SI units with full +% precision. +% (CODATA~2018) % % The macro can be invoked by (e.g.) % \begin{mdframed}[backgroundcolor=orange!25]% % {\small\texttt{\textbackslash makeatletter\\ The value is -% \textbackslash k@cgs@full@AccelGravity\\ +% \textbackslash k@SI@full@ChargeProton\\ % \textbackslash makeatother}}\end{mdframed} % \makeatletter % Resulting in % \begin{mdframed}[backgroundcolor=blue!25]% -% {The value is \k@cgs@full@AccelGravity}\end{mdframed} +% {The value is \k@SI@full@ChargeProton}\end{mdframed} % \makeatother % -% -%\subsubsection{Other Constants} -% -% \DescribeMacro{\k@SI@short@Coulomb} -% |\k@SI@short@Coulomb| is the Coulomb constant ($\frac{1}{4\pi\epsilon_0}$) in -% SI units with reduced precision. -% (Calculated) +% \DescribeMacro{\k@cgs@short@ChargeProton} +% |\k@cgs@short@ChargeProton| is the charge of a proton in cgs units with +% reduced precision. +% (CODATA~2018) % % The macro can be invoked by (e.g.) % \begin{mdframed}[backgroundcolor=orange!25]% % {\small\texttt{\textbackslash makeatletter\\ The value is -% \textbackslash k@SI@short@Coulomb\\ +% \textbackslash k@cgs@short@ChargeProton\\ % \textbackslash makeatother}}\end{mdframed} % \makeatletter % Resulting in % \begin{mdframed}[backgroundcolor=blue!25]% -% {The value is \k@SI@short@Coulomb}\end{mdframed} +% {The value is \k@cgs@short@ChargeProton}\end{mdframed} % \makeatother % -% \DescribeMacro{\k@SI@full@Coulomb} -% |\k@SI@full@Coulomb| is the Coulomb constant ($\frac{1}{4\pi\epsilon_0}$) in -% SI units with full precision. -% (Calculated) +% \DescribeMacro{\k@cgs@full@ChargeProton} +% |\k@cgs@full@ChargeProton| is the charge of a proton in cgs units with full +% precision. +% (CODATA~2018) % % The macro can be invoked by (e.g.) % \begin{mdframed}[backgroundcolor=orange!25]% % {\small\texttt{\textbackslash makeatletter\\ The value is -% \textbackslash k@SI@full@Coulomb\\ +% \textbackslash k@cgs@full@ChargeProton\\ % \textbackslash makeatother}}\end{mdframed} % \makeatletter % Resulting in % \begin{mdframed}[backgroundcolor=blue!25]% -% {The value is \k@SI@full@Coulomb}\end{mdframed} +% {The value is \k@cgs@full@ChargeProton}\end{mdframed} % \makeatother % -% \DescribeMacro{\k@cgs@short@Coulomb} -% |\k@cgs@short@Coulomb| is the Coulomb constant ($\frac{1}{4\pi\epsilon_0}$) -% in cgs units with reduced precision. -% (Calculated) +% \DescribeMacro{\k@SI@short@ChargeProtonNumeric} +% |\k@SI@short@ChargeProtonNumeric| is a mathematical value of +% the charge of a proton in SI units with reduced +% precision. +% (CODATA~2018) % % The macro can be invoked by (e.g.) % \begin{mdframed}[backgroundcolor=orange!25]% % {\small\texttt{\textbackslash makeatletter\\ The value is -% \textbackslash k@cgs@short@Coulomb\\ +% \textbackslash k@SI@short@ChargeProtonNumeric\\ % \textbackslash makeatother}}\end{mdframed} % \makeatletter % Resulting in % \begin{mdframed}[backgroundcolor=blue!25]% -% {The value is \k@cgs@short@Coulomb}\end{mdframed} +% {The value is \k@SI@short@ChargeProtonNumeric}\end{mdframed} % \makeatother % -% \DescribeMacro{\k@cgs@full@Coulomb} -% |\k@cgs@full@Coulomb| is the Coulomb constant ($\frac{1}{4\pi\epsilon_0}$) in -% cgs units with full precision. -% (Calculated) +% \DescribeMacro{\k@SI@full@ChargeProtonNumeric} +% |\k@SI@full@ChargeProtonNumeric| is a mathematical value of +% the charge of a proton in SI units with full +% precision. +% (CODATA~2018) % % The macro can be invoked by (e.g.) % \begin{mdframed}[backgroundcolor=orange!25]% % {\small\texttt{\textbackslash makeatletter\\ The value is -% \textbackslash k@cgs@full@Coulomb\\ +% \textbackslash k@SI@full@ChargeProtonNumeric\\ % \textbackslash makeatother}}\end{mdframed} % \makeatletter % Resulting in % \begin{mdframed}[backgroundcolor=blue!25]% -% {The value is \k@cgs@full@Coulomb}\end{mdframed} +% {The value is \k@SI@full@ChargeProtonNumeric}\end{mdframed} % \makeatother % -% \DescribeMacro{\k@SI@short@VacuumPermittivity} -% |\k@SI@short@VacuumPermittivity| is the electric permittivity of the vacuum -% in SI units with reduced precision. +% \DescribeMacro{\k@cgs@short@ChargeProtonNumeric} +% |\k@cgs@short@ChargeProtonNumeric| is a mathematical value of +% the charge of a proton in cgs units with reduced +% precision. % (CODATA~2018) % % The macro can be invoked by (e.g.) % \begin{mdframed}[backgroundcolor=orange!25]% % {\small\texttt{\textbackslash makeatletter\\ The value is -% \textbackslash k@SI@short@VacuumPermittivity\\ +% \textbackslash k@cgs@short@ChargeProtonNumeric\\ % \textbackslash makeatother}}\end{mdframed} % \makeatletter % Resulting in % \begin{mdframed}[backgroundcolor=blue!25]% -% {The value is \k@SI@short@VacuumPermittivity}\end{mdframed} +% {The value is \k@cgs@short@ChargeProtonNumeric}\end{mdframed} % \makeatother % -% \DescribeMacro{\k@SI@full@VacuumPermittivity} -% |\k@SI@full@VacuumPermittivity| is the electric permittivity of the vacuum in -% SI units with full precision. +% \DescribeMacro{\k@cgs@full@ChargeProtonNumeric} +% |\k@cgs@full@ChargeProtonNumeric| is a mathematical value of +% the charge of a proton in cgs units with full +% precision. % (CODATA~2018) % % The macro can be invoked by (e.g.) % \begin{mdframed}[backgroundcolor=orange!25]% % {\small\texttt{\textbackslash makeatletter\\ The value is -% \textbackslash k@SI@full@VacuumPermittivity\\ +% \textbackslash k@cgs@full@ChargeProtonNumeric\\ % \textbackslash makeatother}}\end{mdframed} % \makeatletter % Resulting in % \begin{mdframed}[backgroundcolor=blue!25]% -% {The value is \k@SI@full@VacuumPermittivity}\end{mdframed} +% {The value is \k@cgs@full@ChargeProtonNumeric}\end{mdframed} % \makeatother % -% \DescribeMacro{\k@cgs@short@VacuumPermittivity} -% |\k@cgs@short@VacuumPermittivity| is the electric permittivity of the vacuum -% in cgs units with reduced precision. -% (CODATA~2018) % -% The macro can be invoked by (e.g.) -% \begin{mdframed}[backgroundcolor=orange!25]% -% {\small\texttt{\textbackslash makeatletter\\ The value is -% \textbackslash k@cgs@short@VacuumPermittivity\\ -% \textbackslash makeatother}}\end{mdframed} -% \makeatletter -% Resulting in -% \begin{mdframed}[backgroundcolor=blue!25]% -% {The value is \k@cgs@short@VacuumPermittivity}\end{mdframed} -% \makeatother +%\subsubsection{Distances and Lengths} % -% \DescribeMacro{\k@cgs@full@VacuumPermittivity} -% |\k@cgs@full@VacuumPermittivity| is the electric permittivity of the vacuum -% in cgs units with full precision. -% (CODATA~2018) +% \DescribeMacro{\k@SI@short@RadiusBohr} +% |\k@SI@short@RadiusBohr| is Bohr radius of an atom in SI units with reduced +% precision. +% (Calculated) % % The macro can be invoked by (e.g.) % \begin{mdframed}[backgroundcolor=orange!25]% % {\small\texttt{\textbackslash makeatletter\\ The value is -% \textbackslash k@cgs@full@VacuumPermittivity\\ +% \textbackslash k@SI@short@RadiusBohr\\ % \textbackslash makeatother}}\end{mdframed} % \makeatletter % Resulting in % \begin{mdframed}[backgroundcolor=blue!25]% -% {The value is \k@cgs@full@VacuumPermittivity}\end{mdframed} +% {The value is \k@SI@short@RadiusBohr}\end{mdframed} % \makeatother % -% \DescribeMacro{\k@SI@short@VacuumPermeability} -% |\k@SI@short@VacuumPermeability| is the magnetic permeability of the vacuum -% in SI units with reduced precision. -% (CODATA~2018) +% \DescribeMacro{\k@SI@full@RadiusBohr} +% |\k@SI@full@RadiusBohr| is Bohr radius of an atom in SI units with full +% precision. +% (Calculated) % % The macro can be invoked by (e.g.) % \begin{mdframed}[backgroundcolor=orange!25]% % {\small\texttt{\textbackslash makeatletter\\ The value is -% \textbackslash k@SI@short@VacuumPermeability\\ +% \textbackslash k@SI@full@RadiusBohr\\ % \textbackslash makeatother}}\end{mdframed} % \makeatletter % Resulting in % \begin{mdframed}[backgroundcolor=blue!25]% -% {The value is \k@SI@short@VacuumPermeability}\end{mdframed} +% {The value is \k@SI@full@RadiusBohr}\end{mdframed} % \makeatother % -% \DescribeMacro{\k@SI@full@VacuumPermeability} -% |\k@SI@full@VacuumPermeability| is the magnetic permeability of the vacuum in -% SI units with full precision. -% (CODATA~2018) +% \DescribeMacro{\k@cgs@short@RadiusBohr} +% |\k@cgs@short@RadiusBohr| is Bohr radius of an atom in cgs units with reduced +% precision. +% (Calculated) % % The macro can be invoked by (e.g.) % \begin{mdframed}[backgroundcolor=orange!25]% % {\small\texttt{\textbackslash makeatletter\\ The value is -% \textbackslash k@SI@full@VacuumPermeability\\ +% \textbackslash k@cgs@short@RadiusBohr\\ % \textbackslash makeatother}}\end{mdframed} % \makeatletter % Resulting in % \begin{mdframed}[backgroundcolor=blue!25]% -% {The value is \k@SI@full@VacuumPermeability}\end{mdframed} +% {The value is \k@cgs@short@RadiusBohr}\end{mdframed} % \makeatother % -% \DescribeMacro{\k@cgs@short@VacuumPermeability} -% |\k@cgs@short@VacuumPermeability| is the magnetic permeability of the vacuum -% in cgs units with reduced precision. -% (CODATA~2018) +% \DescribeMacro{\k@cgs@full@RadiusBohr} +% |\k@cgs@full@RadiusBohr| is Bohr radius of an atom in cgs units with full +% precision. +% (Calculated) % % The macro can be invoked by (e.g.) % \begin{mdframed}[backgroundcolor=orange!25]% % {\small\texttt{\textbackslash makeatletter\\ The value is -% \textbackslash k@cgs@short@VacuumPermeability\\ +% \textbackslash k@cgs@full@RadiusBohr\\ % \textbackslash makeatother}}\end{mdframed} % \makeatletter % Resulting in % \begin{mdframed}[backgroundcolor=blue!25]% -% {The value is \k@cgs@short@VacuumPermeability}\end{mdframed} +% {The value is \k@cgs@full@RadiusBohr}\end{mdframed} % \makeatother % -% \DescribeMacro{\k@cgs@full@VacuumPermeability} -% |\k@cgs@full@VacuumPermeability| is the magnetic permeability of the vacuum -% in cgs units with full precision. -% (CODATA~2018) +% \DescribeMacro{\k@SI@short@RadiusBohrNumeric} +% |\k@SI@short@RadiusBohrNumeric| is a mathematical value of +% Bohr radius of an atom in SI units with reduced +% precision. +% (Calculated) % % The macro can be invoked by (e.g.) % \begin{mdframed}[backgroundcolor=orange!25]% % {\small\texttt{\textbackslash makeatletter\\ The value is -% \textbackslash k@cgs@full@VacuumPermeability\\ +% \textbackslash k@SI@short@RadiusBohrNumeric\\ % \textbackslash makeatother}}\end{mdframed} % \makeatletter % Resulting in % \begin{mdframed}[backgroundcolor=blue!25]% -% {The value is \k@cgs@full@VacuumPermeability}\end{mdframed} +% {The value is \k@SI@short@RadiusBohrNumeric}\end{mdframed} % \makeatother % -% \DescribeMacro{\k@short@VacuumImpedance} -% |\k@short@VacuumImpedance| is the characteristic impedance of the vacuum with -% reduced precision. -% (CODATA~2018) +% \DescribeMacro{\k@SI@full@RadiusBohrNumeric} +% |\k@SI@full@RadiusBohrNumeric| is a mathematical value of +% Bohr radius of an atom in SI units with full precision. +% (Calculated) % % The macro can be invoked by (e.g.) % \begin{mdframed}[backgroundcolor=orange!25]% % {\small\texttt{\textbackslash makeatletter\\ The value is -% \textbackslash k@short@VacuumImpedance\\ +% \textbackslash k@SI@full@RadiusBohrNumeric\\ % \textbackslash makeatother}}\end{mdframed} % \makeatletter % Resulting in % \begin{mdframed}[backgroundcolor=blue!25]% -% {The value is \k@short@VacuumImpedance}\end{mdframed} +% {The value is \k@SI@full@RadiusBohrNumeric}\end{mdframed} % \makeatother % -% \DescribeMacro{\k@full@VacuumImpedance} -% |\k@full@VacuumImpedance| is the characteristic impedance of the vacuum with -% full precision. -% (CODATA~2018) +% \DescribeMacro{\k@cgs@short@RadiusBohrNumeric} +% |\k@cgs@short@RadiusBohrNumeric| is a mathematical value of +% Bohr radius of an atom in cgs units with reduced +% precision. +% (Calculated) % % The macro can be invoked by (e.g.) % \begin{mdframed}[backgroundcolor=orange!25]% % {\small\texttt{\textbackslash makeatletter\\ The value is -% \textbackslash k@full@VacuumImpedance\\ +% \textbackslash k@cgs@short@RadiusBohrNumeric\\ % \textbackslash makeatother}}\end{mdframed} % \makeatletter % Resulting in % \begin{mdframed}[backgroundcolor=blue!25]% -% {The value is \k@full@VacuumImpedance}\end{mdframed} +% {The value is \k@cgs@short@RadiusBohrNumeric}\end{mdframed} % \makeatother % -% \DescribeMacro{\k@SI@short@Boltzmann} -% |\k@SI@short@Boltzmann| is the Boltzmann constant in SI units with reduced +% \DescribeMacro{\k@cgs@full@RadiusBohrNumeric} +% |\k@cgs@full@RadiusBohrNumeric| is a mathematical value of +% Bohr radius of an atom in cgs units with full % precision. -% (CODATA~2018) +% (Calculated) % % The macro can be invoked by (e.g.) % \begin{mdframed}[backgroundcolor=orange!25]% % {\small\texttt{\textbackslash makeatletter\\ The value is -% \textbackslash k@SI@short@Boltzmann\\ +% \textbackslash k@cgs@full@RadiusBohrNumeric\\ % \textbackslash makeatother}}\end{mdframed} % \makeatletter % Resulting in % \begin{mdframed}[backgroundcolor=blue!25]% -% {The value is \k@SI@short@Boltzmann}\end{mdframed} +% {The value is \k@cgs@full@RadiusBohrNumeric}\end{mdframed} % \makeatother % -% \DescribeMacro{\k@SI@full@Boltzmann} -% |\k@SI@full@Boltzmann| is the Boltzmann constant in SI units with full -% precision. -% (CODATA~2018) +% \DescribeMacro{\k@SI@short@AstronomicalUnit} +% |\k@SI@short@AstronomicalUnit| is the astronomical unit (the average distance +% between the Earth and the Sun) in SI units with reduced precision. +% (IAU~Resolution~B2~2012) % % The macro can be invoked by (e.g.) % \begin{mdframed}[backgroundcolor=orange!25]% % {\small\texttt{\textbackslash makeatletter\\ The value is -% \textbackslash k@SI@full@Boltzmann\\ +% \textbackslash k@SI@short@AstronomicalUnit\\ % \textbackslash makeatother}}\end{mdframed} % \makeatletter % Resulting in % \begin{mdframed}[backgroundcolor=blue!25]% -% {The value is \k@SI@full@Boltzmann}\end{mdframed} +% {The value is \k@SI@short@AstronomicalUnit}\end{mdframed} % \makeatother % -% \DescribeMacro{\k@cgs@short@Boltzmann} -% |\k@cgs@short@Boltzmann| is the Boltzmann constant in cgs units with reduced -% precision. -% (CODATA~2018) +% \DescribeMacro{\k@SI@full@AstronomicalUnit} +% |\k@SI@full@AstronomicalUnit| is the astronomical unit (the average distance +% between the Earth and the Sun) in SI units with full precision. +% (IAU~Resolution~B2~2012) % % The macro can be invoked by (e.g.) % \begin{mdframed}[backgroundcolor=orange!25]% % {\small\texttt{\textbackslash makeatletter\\ The value is -% \textbackslash k@cgs@short@Boltzmann\\ +% \textbackslash k@SI@full@AstronomicalUnit\\ % \textbackslash makeatother}}\end{mdframed} % \makeatletter % Resulting in % \begin{mdframed}[backgroundcolor=blue!25]% -% {The value is \k@cgs@short@Boltzmann}\end{mdframed} +% {The value is \k@SI@full@AstronomicalUnit}\end{mdframed} % \makeatother % -% \DescribeMacro{\k@cgs@full@Boltzmann} -% |\k@cgs@full@Boltzmann| is the Boltzmann constant in cgs units with full -% precision. -% (CODATA~2018) +% \DescribeMacro{\k@cgs@short@AstronomicalUnit} +% |\k@cgs@short@AstronomicalUnit| is the astronomical unit (the average +% distance between the Earth and the Sun) in cgs units with reduced precision. +% (IAU~Resolution~B2~2012) % % The macro can be invoked by (e.g.) % \begin{mdframed}[backgroundcolor=orange!25]% % {\small\texttt{\textbackslash makeatletter\\ The value is -% \textbackslash k@cgs@full@Boltzmann\\ +% \textbackslash k@cgs@short@AstronomicalUnit\\ % \textbackslash makeatother}}\end{mdframed} % \makeatletter % Resulting in % \begin{mdframed}[backgroundcolor=blue!25]% -% {The value is \k@cgs@full@Boltzmann}\end{mdframed} +% {The value is \k@cgs@short@AstronomicalUnit}\end{mdframed} % \makeatother % -% \DescribeMacro{\k@eV@short@Boltzmann} -% |\k@eV@short@Boltzmann| is the Boltzmann constant in eV with reduced -% precision. -% (CODATA~2018) +% \DescribeMacro{\k@cgs@full@AstronomicalUnit} +% |\k@cgs@full@AstronomicalUnit| is the astronomical unit (the average distance +% between the Earth and the Sun) in cgs units with full precision. +% (IAU~Resolution~B2~2012) % % The macro can be invoked by (e.g.) % \begin{mdframed}[backgroundcolor=orange!25]% % {\small\texttt{\textbackslash makeatletter\\ The value is -% \textbackslash k@eV@short@Boltzmann\\ +% \textbackslash k@cgs@full@AstronomicalUnit\\ % \textbackslash makeatother}}\end{mdframed} % \makeatletter % Resulting in % \begin{mdframed}[backgroundcolor=blue!25]% -% {The value is \k@eV@short@Boltzmann}\end{mdframed} +% {The value is \k@cgs@full@AstronomicalUnit}\end{mdframed} % \makeatother % -% \DescribeMacro{\k@eV@full@Boltzmann} -% |\k@eV@full@Boltzmann| is the Boltzmann constant in eV with full precision. -% (CODATA~2018) +% \DescribeMacro{\k@SI@short@AstronomicalUnitNumeric} +% |\k@SI@short@AstronomicalUnitNumeric| is a mathematical value of +% the astronomical unit (the average distance +% between the Earth and the Sun) in SI units with reduced precision. +% (IAU~Resolution~B2~2012) % % The macro can be invoked by (e.g.) % \begin{mdframed}[backgroundcolor=orange!25]% % {\small\texttt{\textbackslash makeatletter\\ The value is -% \textbackslash k@eV@full@Boltzmann\\ +% \textbackslash k@SI@short@AstronomicalUnitNumeric\\ % \textbackslash makeatother}}\end{mdframed} % \makeatletter % Resulting in % \begin{mdframed}[backgroundcolor=blue!25]% -% {The value is \k@eV@full@Boltzmann}\end{mdframed} +% {The value is \k@SI@short@AstronomicalUnitNumeric}\end{mdframed} % \makeatother % -% \DescribeMacro{\k@SI@short@Planck} -% |\k@SI@short@Planck| is the Planck constant in SI units with reduced -% precision. -% (CODATA~2018) +% \DescribeMacro{\k@SI@full@AstronomicalUnitNumeric} +% |\k@SI@full@AstronomicalUnitNumeric| is a mathematical value of +% the astronomical unit (the average distance +% between the Earth and the Sun) in SI units with full precision. +% (IAU~Resolution~B2~2012) % % The macro can be invoked by (e.g.) % \begin{mdframed}[backgroundcolor=orange!25]% % {\small\texttt{\textbackslash makeatletter\\ The value is -% \textbackslash k@SI@short@Planck\\ +% \textbackslash k@SI@full@AstronomicalUnitNumeric\\ % \textbackslash makeatother}}\end{mdframed} % \makeatletter % Resulting in % \begin{mdframed}[backgroundcolor=blue!25]% -% {The value is \k@SI@short@Planck}\end{mdframed} +% {The value is \k@SI@full@AstronomicalUnitNumeric}\end{mdframed} % \makeatother % -% \DescribeMacro{\k@SI@full@Planck} -% |\k@SI@full@Planck| is the Planck constant in SI units with full precision. -% (CODATA~2018) +% \DescribeMacro{\k@cgs@short@AstronomicalUnitNumeric} +% |\k@cgs@short@AstronomicalUnitNumeric| is a mathematical value of +% the astronomical unit (the average distance +% between the Earth and the Sun) in cgs units with reduced precision. +% (IAU~Resolution~B2~2012) % % The macro can be invoked by (e.g.) % \begin{mdframed}[backgroundcolor=orange!25]% % {\small\texttt{\textbackslash makeatletter\\ The value is -% \textbackslash k@SI@full@Planck\\ +% \textbackslash k@cgs@short@AstronomicalUnitNumeric\\ % \textbackslash makeatother}}\end{mdframed} % \makeatletter % Resulting in % \begin{mdframed}[backgroundcolor=blue!25]% -% {The value is \k@SI@full@Planck}\end{mdframed} +% {The value is \k@cgs@short@AstronomicalUnitNumeric}\end{mdframed} % \makeatother % -% \DescribeMacro{\k@cgs@short@Planck} -% |\k@cgs@short@Planck| is the Planck constant in cgs units with reduced -% precision. -% (CODATA~2018) +% \DescribeMacro{\k@cgs@full@AstronomicalUnitNumeric} +% |\k@cgs@full@AstronomicalUnitNumeric| is a mathematical value of +% the astronomical unit (the average distance +% between the Earth and the Sun) in cgs units with full precision. +% (IAU~Resolution~B2~2012) % % The macro can be invoked by (e.g.) % \begin{mdframed}[backgroundcolor=orange!25]% % {\small\texttt{\textbackslash makeatletter\\ The value is -% \textbackslash k@cgs@short@Planck\\ +% \textbackslash k@cgs@full@AstronomicalUnitNumeric\\ % \textbackslash makeatother}}\end{mdframed} % \makeatletter % Resulting in % \begin{mdframed}[backgroundcolor=blue!25]% -% {The value is \k@cgs@short@Planck}\end{mdframed} +% {The value is \k@cgs@full@AstronomicalUnitNumeric}\end{mdframed} % \makeatother % -% \DescribeMacro{\k@cgs@full@Planck} -% |\k@cgs@full@Planck| is the Planck constant in cgs units with full precision. -% (CODATA~2018) +% \DescribeMacro{\k@SI@short@Parsec} +% |\k@SI@short@Parsec| is the length of a parsec ($\frac{648000\au}{\pi}$) in +% SI units with reduced precision. +% (Calculated) % % The macro can be invoked by (e.g.) % \begin{mdframed}[backgroundcolor=orange!25]% % {\small\texttt{\textbackslash makeatletter\\ The value is -% \textbackslash k@cgs@full@Planck\\ +% \textbackslash k@SI@short@Parsec\\ % \textbackslash makeatother}}\end{mdframed} % \makeatletter % Resulting in % \begin{mdframed}[backgroundcolor=blue!25]% -% {The value is \k@cgs@full@Planck}\end{mdframed} +% {The value is \k@SI@short@Parsec}\end{mdframed} % \makeatother % -% \DescribeMacro{\k@eV@short@Planck} -% |\k@eV@short@Planck| is the Planck constant in eV with reduced precision. -% (CODATA~2018) +% \DescribeMacro{\k@SI@full@Parsec} +% |\k@SI@full@Parsec| is the length of a parsec ($\frac{648000\au}{\pi}$) in SI +% units with full precision. +% (Calculated) % % The macro can be invoked by (e.g.) % \begin{mdframed}[backgroundcolor=orange!25]% % {\small\texttt{\textbackslash makeatletter\\ The value is -% \textbackslash k@eV@short@Planck\\ +% \textbackslash k@SI@full@Parsec\\ % \textbackslash makeatother}}\end{mdframed} % \makeatletter % Resulting in % \begin{mdframed}[backgroundcolor=blue!25]% -% {The value is \k@eV@short@Planck}\end{mdframed} +% {The value is \k@SI@full@Parsec}\end{mdframed} % \makeatother % -% \DescribeMacro{\k@eV@full@Planck} -% |\k@eV@full@Planck| is the Planck constant in eV with full precision. -% (CODATA~2018) +% \DescribeMacro{\k@cgs@short@Parsec} +% |\k@cgs@short@Parsec| is the length of a parsec ($\frac{648000\au}{\pi}$) in +% cgs units with reduced precision. +% (Calculated) % % The macro can be invoked by (e.g.) % \begin{mdframed}[backgroundcolor=orange!25]% % {\small\texttt{\textbackslash makeatletter\\ The value is -% \textbackslash k@eV@full@Planck\\ +% \textbackslash k@cgs@short@Parsec\\ % \textbackslash makeatother}}\end{mdframed} % \makeatletter % Resulting in % \begin{mdframed}[backgroundcolor=blue!25]% -% {The value is \k@eV@full@Planck}\end{mdframed} +% {The value is \k@cgs@short@Parsec}\end{mdframed} % \makeatother % -% \DescribeMacro{\k@SI@short@PlanckReduced} -% |\k@SI@short@PlanckReduced| is the Reduced Planck constant -% $\left(\frac{h}{2\pi}\right)$ in SI units with reduced precision. +% \DescribeMacro{\k@cgs@full@Parsec} +% |\k@cgs@full@Parsec| is the length of a parsec ($\frac{648000\au}{\pi}$) in +% cgs units with full precision. % (Calculated) % % The macro can be invoked by (e.g.) % \begin{mdframed}[backgroundcolor=orange!25]% % {\small\texttt{\textbackslash makeatletter\\ The value is -% \textbackslash k@SI@short@PlanckReduced\\ +% \textbackslash k@cgs@full@Parsec\\ % \textbackslash makeatother}}\end{mdframed} % \makeatletter % Resulting in % \begin{mdframed}[backgroundcolor=blue!25]% -% {The value is \k@SI@short@PlanckReduced}\end{mdframed} +% {The value is \k@cgs@full@Parsec}\end{mdframed} % \makeatother % -% \DescribeMacro{\k@SI@full@PlanckReduced} -% |\k@SI@full@PlanckReduced| is the Reduced Planck constant -% $\left(\frac{h}{2\pi}\right)$ in SI units with full precision. +% \DescribeMacro{\k@SI@short@ParsecNumeric} +% |\k@SI@short@ParsecNumeric| is a mathematical value of +% the length of a parsec ($\frac{648000\au}{\pi}$) in SI +% units with reduced precision. % (Calculated) % % The macro can be invoked by (e.g.) % \begin{mdframed}[backgroundcolor=orange!25]% % {\small\texttt{\textbackslash makeatletter\\ The value is -% \textbackslash k@SI@full@PlanckReduced\\ +% \textbackslash k@SI@short@ParsecNumeric\\ % \textbackslash makeatother}}\end{mdframed} % \makeatletter % Resulting in % \begin{mdframed}[backgroundcolor=blue!25]% -% {The value is \k@SI@full@PlanckReduced}\end{mdframed} +% {The value is \k@SI@short@ParsecNumeric}\end{mdframed} % \makeatother % -% \DescribeMacro{\k@cgs@short@PlanckReduced} -% |\k@cgs@short@PlanckReduced| is the Reduced Planck constant -% $\left(\frac{h}{2\pi}\right)$ in cgs units with reduced precision. +% \DescribeMacro{\k@SI@full@ParsecNumeric} +% |\k@SI@full@ParsecNumeric| is a mathematical value of +% the length of a parsec ($\frac{648000\au}{\pi}$) in SI +% units with full precision. % (Calculated) % % The macro can be invoked by (e.g.) % \begin{mdframed}[backgroundcolor=orange!25]% % {\small\texttt{\textbackslash makeatletter\\ The value is -% \textbackslash k@cgs@short@PlanckReduced\\ +% \textbackslash k@SI@full@ParsecNumeric\\ % \textbackslash makeatother}}\end{mdframed} % \makeatletter % Resulting in % \begin{mdframed}[backgroundcolor=blue!25]% -% {The value is \k@cgs@short@PlanckReduced}\end{mdframed} +% {The value is \k@SI@full@ParsecNumeric}\end{mdframed} % \makeatother % -% \DescribeMacro{\k@cgs@full@PlanckReduced} -% |\k@cgs@full@PlanckReduced| is the Reduced Planck constant -% $\left(\frac{h}{2\pi}\right)$ in cgs units with full precision. +% \DescribeMacro{\k@cgs@short@ParsecNumeric} +% |\k@cgs@short@ParsecNumeric| is a mathematical value of +% the length of a parsec ($\frac{648000\au}{\pi}$) in cgs +% units with reduced precision. % (Calculated) % % The macro can be invoked by (e.g.) % \begin{mdframed}[backgroundcolor=orange!25]% % {\small\texttt{\textbackslash makeatletter\\ The value is -% \textbackslash k@cgs@full@PlanckReduced\\ +% \textbackslash k@cgs@short@ParsecNumeric\\ % \textbackslash makeatother}}\end{mdframed} % \makeatletter % Resulting in % \begin{mdframed}[backgroundcolor=blue!25]% -% {The value is \k@cgs@full@PlanckReduced}\end{mdframed} +% {The value is \k@cgs@short@ParsecNumeric}\end{mdframed} % \makeatother % -% \DescribeMacro{\k@eV@short@PlanckReduced} -% |\k@eV@short@PlanckReduced| is the Reduced Planck constant -% $\left(\frac{h}{2\pi}\right)$ in eV with reduced precision. +% \DescribeMacro{\k@cgs@full@ParsecNumeric} +% |\k@cgs@full@ParsecNumeric| is a mathematical value of +% the length of a parsec ($\frac{648000\au}{\pi}$) in cgs +% units with full precision. % (Calculated) % % The macro can be invoked by (e.g.) % \begin{mdframed}[backgroundcolor=orange!25]% % {\small\texttt{\textbackslash makeatletter\\ The value is -% \textbackslash k@eV@short@PlanckReduced\\ +% \textbackslash k@cgs@full@ParsecNumeric\\ % \textbackslash makeatother}}\end{mdframed} % \makeatletter % Resulting in % \begin{mdframed}[backgroundcolor=blue!25]% -% {The value is \k@eV@short@PlanckReduced}\end{mdframed} +% {The value is \k@cgs@full@ParsecNumeric}\end{mdframed} % \makeatother % -% \DescribeMacro{\k@eV@full@PlanckReduced} -% |\k@eV@full@PlanckReduced| is the Reduced Planck constant -% $\left(\frac{h}{2\pi}\right)$ in eV with full precision. -% (Calculated) +% \DescribeMacro{\k@SI@short@RadiusSun} +% |\k@SI@short@RadiusSun| is the mean radius of the Sun in SI units with +% reduced precision. +% (IAU~Resolution~B3~2015) % % The macro can be invoked by (e.g.) % \begin{mdframed}[backgroundcolor=orange!25]% % {\small\texttt{\textbackslash makeatletter\\ The value is -% \textbackslash k@eV@full@PlanckReduced\\ +% \textbackslash k@SI@short@RadiusSun\\ % \textbackslash makeatother}}\end{mdframed} % \makeatletter % Resulting in % \begin{mdframed}[backgroundcolor=blue!25]% -% {The value is \k@eV@full@PlanckReduced}\end{mdframed} +% {The value is \k@SI@short@RadiusSun}\end{mdframed} % \makeatother % -% \DescribeMacro{\k@SI@short@Gravity} -% |\k@SI@short@Gravity| is Newton's gravitational constant in SI units with -% reduced precision. -% (CODATA~2018) +% \DescribeMacro{\k@SI@full@RadiusSun} +% |\k@SI@full@RadiusSun| is the mean radius of the Sun in SI units with full +% precision. +% (IAU~Resolution~B3~2015) % % The macro can be invoked by (e.g.) % \begin{mdframed}[backgroundcolor=orange!25]% % {\small\texttt{\textbackslash makeatletter\\ The value is -% \textbackslash k@SI@short@Gravity\\ +% \textbackslash k@SI@full@RadiusSun\\ % \textbackslash makeatother}}\end{mdframed} % \makeatletter % Resulting in % \begin{mdframed}[backgroundcolor=blue!25]% -% {The value is \k@SI@short@Gravity}\end{mdframed} +% {The value is \k@SI@full@RadiusSun}\end{mdframed} % \makeatother % -% \DescribeMacro{\k@SI@full@Gravity} -% |\k@SI@full@Gravity| is Newton's gravitational constant in SI units with full -% precision. -% (CODATA~2018) +% \DescribeMacro{\k@cgs@short@RadiusSun} +% |\k@cgs@short@RadiusSun| is the mean radius of the Sun in cgs units with +% reduced precision. +% (IAU~Resolution~B3~2015) % % The macro can be invoked by (e.g.) % \begin{mdframed}[backgroundcolor=orange!25]% % {\small\texttt{\textbackslash makeatletter\\ The value is -% \textbackslash k@SI@full@Gravity\\ +% \textbackslash k@cgs@short@RadiusSun\\ % \textbackslash makeatother}}\end{mdframed} % \makeatletter % Resulting in % \begin{mdframed}[backgroundcolor=blue!25]% -% {The value is \k@SI@full@Gravity}\end{mdframed} +% {The value is \k@cgs@short@RadiusSun}\end{mdframed} % \makeatother % -% \DescribeMacro{\k@cgs@short@Gravity} -% |\k@cgs@short@Gravity| is Newton's gravitational constant in cgs units with -% reduced precision. -% (CODATA~2018) +% \DescribeMacro{\k@cgs@full@RadiusSun} +% |\k@cgs@full@RadiusSun| is the mean radius of the Sun in cgs units with full +% precision. +% (IAU~Resolution~B3~2015) % % The macro can be invoked by (e.g.) % \begin{mdframed}[backgroundcolor=orange!25]% % {\small\texttt{\textbackslash makeatletter\\ The value is -% \textbackslash k@cgs@short@Gravity\\ +% \textbackslash k@cgs@full@RadiusSun\\ % \textbackslash makeatother}}\end{mdframed} % \makeatletter % Resulting in % \begin{mdframed}[backgroundcolor=blue!25]% -% {The value is \k@cgs@short@Gravity}\end{mdframed} +% {The value is \k@cgs@full@RadiusSun}\end{mdframed} % \makeatother % -% \DescribeMacro{\k@cgs@full@Gravity} -% |\k@cgs@full@Gravity| is Newton's gravitational constant in cgs units with -% full precision. -% (CODATA~2018) +% \DescribeMacro{\k@SI@short@RadiusSunNumeric} +% |\k@SI@short@RadiusSunNumeric| is a mathematical value of +% the mean radius of the Sun in SI units with reduced +% precision. +% (IAU~Resolution~B3~2015) % % The macro can be invoked by (e.g.) % \begin{mdframed}[backgroundcolor=orange!25]% % {\small\texttt{\textbackslash makeatletter\\ The value is -% \textbackslash k@cgs@full@Gravity\\ +% \textbackslash k@SI@short@RadiusSunNumeric\\ % \textbackslash makeatother}}\end{mdframed} % \makeatletter % Resulting in % \begin{mdframed}[backgroundcolor=blue!25]% -% {The value is \k@cgs@full@Gravity}\end{mdframed} +% {The value is \k@SI@short@RadiusSunNumeric}\end{mdframed} % \makeatother % -% \DescribeMacro{\k@SI@short@StefanBoltzmann} -% |\k@SI@short@StefanBoltzmann| is the Stefan-Boltzmann blackbody constant -% $\left(\frac{2\pi^5k_\mathrm{B}}{15h^3c^2}\right)$ in SI units with reduced +% \DescribeMacro{\k@SI@full@RadiusSunNumeric} +% |\k@SI@full@RadiusSunNumeric| is a mathematical value of +% the mean radius of the Sun in SI units with full % precision. -% (Calculated) +% (IAU~Resolution~B3~2015) % % The macro can be invoked by (e.g.) % \begin{mdframed}[backgroundcolor=orange!25]% % {\small\texttt{\textbackslash makeatletter\\ The value is -% \textbackslash k@SI@short@StefanBoltzmann\\ +% \textbackslash k@SI@full@RadiusSunNumeric\\ % \textbackslash makeatother}}\end{mdframed} % \makeatletter % Resulting in % \begin{mdframed}[backgroundcolor=blue!25]% -% {The value is \k@SI@short@StefanBoltzmann}\end{mdframed} +% {The value is \k@SI@full@RadiusSunNumeric}\end{mdframed} % \makeatother % -% \DescribeMacro{\k@SI@full@StefanBoltzmann} -% |\k@SI@full@StefanBoltzmann| is the Stefan-Boltzmann blackbody constant -% $\left(\frac{2\pi^5k_\mathrm{B}}{15h^3c^2}\right)$ in SI units with full +% \DescribeMacro{\k@cgs@short@RadiusSunNumeric} +% |\k@cgs@short@RadiusSunNumeric| is a mathematical value of +% the mean radius of the Sun in cgs units with reduced % precision. -% (Calculated) +% (IAU~Resolution~B3~2015) % % The macro can be invoked by (e.g.) % \begin{mdframed}[backgroundcolor=orange!25]% % {\small\texttt{\textbackslash makeatletter\\ The value is -% \textbackslash k@SI@full@StefanBoltzmann\\ +% \textbackslash k@cgs@short@RadiusSunNumeric\\ % \textbackslash makeatother}}\end{mdframed} % \makeatletter % Resulting in % \begin{mdframed}[backgroundcolor=blue!25]% -% {The value is \k@SI@full@StefanBoltzmann}\end{mdframed} +% {The value is \k@cgs@short@RadiusSunNumeric}\end{mdframed} % \makeatother % -% \DescribeMacro{\k@cgs@short@StefanBoltzmann} -% |\k@cgs@short@StefanBoltzmann| is the Stefan-Boltzmann blackbody constant -% $\left(\frac{2\pi^5k_\mathrm{B}}{15h^3c^2}\right)$ in cgs units with reduced +% \DescribeMacro{\k@cgs@full@RadiusSunNumeric} +% |\k@cgs@full@RadiusSunNumeric| is a mathematical value of +% the mean radius of the Sun in cgs units with full % precision. +% (IAU~Resolution~B3~2015) +% +% The macro can be invoked by (e.g.) +% \begin{mdframed}[backgroundcolor=orange!25]% +% {\small\texttt{\textbackslash makeatletter\\ The value is +% \textbackslash k@cgs@full@RadiusSunNumeric\\ +% \textbackslash makeatother}}\end{mdframed} +% \makeatletter +% Resulting in +% \begin{mdframed}[backgroundcolor=blue!25]% +% {The value is \k@cgs@full@RadiusSunNumeric}\end{mdframed} +% \makeatother +% +% \DescribeMacro{\k@short@RadiusEarth} +% \changes{v1.1.0}{2020/02/03}{Add radius of Earth} +% |\k@short@RadiusEarth| is the mean radius of the Earth with reduced precision. +% (IAU~Resolution~B3~2015) +% +% The macro can be invoked by (e.g.) +% \begin{mdframed}[backgroundcolor=orange!25]% +% {\small\texttt{\textbackslash makeatletter\\ The value is +% \textbackslash k@short@RadiusEarth\\ +% \textbackslash makeatother}}\end{mdframed} +% \makeatletter +% Resulting in +% \begin{mdframed}[backgroundcolor=blue!25]% +% {The value is \k@short@RadiusEarth}\end{mdframed} +% \makeatother +% +% \DescribeMacro{\k@full@RadiusEarth} +% \changes{v1.1.0}{2020/02/03}{Add radius of Earth} +% |\k@full@RadiusEarth| is the mean radius of the Earth with full precision. +% (IAU~Resolution~B3~2015) +% +% The macro can be invoked by (e.g.) +% \begin{mdframed}[backgroundcolor=orange!25]% +% {\small\texttt{\textbackslash makeatletter\\ The value is +% \textbackslash k@full@RadiusEarth\\ +% \textbackslash makeatother}}\end{mdframed} +% \makeatletter +% Resulting in +% \begin{mdframed}[backgroundcolor=blue!25]% +% {The value is \k@full@RadiusEarth}\end{mdframed} +% \makeatother +% +% \DescribeMacro{\k@short@RadiusEarthNumeric} +% \changes{v1.1.0}{2020/02/03}{Add radius of Earth} +% |\k@short@RadiusEarthNumeric| is a mathematical value of +% the mean radius of the Earth with reduced precision. +% (IAU~Resolution~B3~2015) +% +% The macro can be invoked by (e.g.) +% \begin{mdframed}[backgroundcolor=orange!25]% +% {\small\texttt{\textbackslash makeatletter\\ The value is +% \textbackslash k@short@RadiusEarthNumeric\\ +% \textbackslash makeatother}}\end{mdframed} +% \makeatletter +% Resulting in +% \begin{mdframed}[backgroundcolor=blue!25]% +% {The value is \k@short@RadiusEarthNumeric}\end{mdframed} +% \makeatother +% +% \DescribeMacro{\k@full@RadiusEarthNumeric} +% \changes{v1.1.0}{2020/02/03}{Add radius of Earth} +% |\k@full@RadiusEarthNumeric| is a mathematical value of +% the mean radius of the Earth with full precision. +% (IAU~Resolution~B3~2015) +% +% The macro can be invoked by (e.g.) +% \begin{mdframed}[backgroundcolor=orange!25]% +% {\small\texttt{\textbackslash makeatletter\\ The value is +% \textbackslash k@full@RadiusEarthNumeric\\ +% \textbackslash makeatother}}\end{mdframed} +% \makeatletter +% Resulting in +% \begin{mdframed}[backgroundcolor=blue!25]% +% {The value is \k@full@RadiusEarthNumeric}\end{mdframed} +% \makeatother +% +% \DescribeMacro{\k@short@RadiusJupiter} +% \changes{v1.1.0}{2020/02/03}{Add radius of Jupiter} +% |\k@short@RadiusJupiter| is the mean radius of Jupiter with reduced precision. +% (IAU~Resolution~B3~2015) +% +% The macro can be invoked by (e.g.) +% \begin{mdframed}[backgroundcolor=orange!25]% +% {\small\texttt{\textbackslash makeatletter\\ The value is +% \textbackslash k@short@RadiusJupiter\\ +% \textbackslash makeatother}}\end{mdframed} +% \makeatletter +% Resulting in +% \begin{mdframed}[backgroundcolor=blue!25]% +% {The value is \k@short@RadiusJupiter}\end{mdframed} +% \makeatother +% +% \DescribeMacro{\k@full@RadiusJupiter} +% \changes{v1.1.0}{2020/02/03}{Add radius of Jupiter} +% |\k@full@RadiusJupiter| is the mean radius of Jupiter with full precision. +% (IAU~Resolution~B3~2015) +% +% The macro can be invoked by (e.g.) +% \begin{mdframed}[backgroundcolor=orange!25]% +% {\small\texttt{\textbackslash makeatletter\\ The value is +% \textbackslash k@full@RadiusJupiter\\ +% \textbackslash makeatother}}\end{mdframed} +% \makeatletter +% Resulting in +% \begin{mdframed}[backgroundcolor=blue!25]% +% {The value is \k@full@RadiusJupiter}\end{mdframed} +% \makeatother +% +% \DescribeMacro{\k@short@RadiusJupiterNumeric} +% \changes{v1.1.0}{2020/02/03}{Add radius of Jupiter} +% |\k@short@RadiusJupiterNumeric| is a mathematical value of +% the mean radius of Jupiter with reduced precision. +% (IAU~Resolution~B3~2015) +% +% The macro can be invoked by (e.g.) +% \begin{mdframed}[backgroundcolor=orange!25]% +% {\small\texttt{\textbackslash makeatletter\\ The value is +% \textbackslash k@short@RadiusJupiterNumeric\\ +% \textbackslash makeatother}}\end{mdframed} +% \makeatletter +% Resulting in +% \begin{mdframed}[backgroundcolor=blue!25]% +% {The value is \k@short@RadiusJupiterNumeric}\end{mdframed} +% \makeatother +% +% \DescribeMacro{\k@full@RadiusJupiterNumeric} +% \changes{v1.1.0}{2020/02/03}{Add radius of Jupiter} +% |\k@full@RadiusJupiterNumeric| is a mathematical value of +% the mean radius of Jupiter with full precision. +% (IAU~Resolution~B3~2015) +% +% The macro can be invoked by (e.g.) +% \begin{mdframed}[backgroundcolor=orange!25]% +% {\small\texttt{\textbackslash makeatletter\\ The value is +% \textbackslash k@full@RadiusJupiterNumeric\\ +% \textbackslash makeatother}}\end{mdframed} +% \makeatletter +% Resulting in +% \begin{mdframed}[backgroundcolor=blue!25]% +% {The value is \k@full@RadiusJupiterNumeric}\end{mdframed} +% \makeatother +% +% +%\subsubsection{Energy, Power, and Luminosity} +% +% \DescribeMacro{\k@SI@short@Rydberg} +% |\k@SI@short@Rydberg| is the Rydberg energy (the binding energy of Hydrogen) +% in SI units with reduced precision. % (Calculated) % % The macro can be invoked by (e.g.) % \begin{mdframed}[backgroundcolor=orange!25]% % {\small\texttt{\textbackslash makeatletter\\ The value is -% \textbackslash k@cgs@short@StefanBoltzmann\\ +% \textbackslash k@SI@short@Rydberg\\ % \textbackslash makeatother}}\end{mdframed} % \makeatletter % Resulting in % \begin{mdframed}[backgroundcolor=blue!25]% -% {The value is \k@cgs@short@StefanBoltzmann}\end{mdframed} +% {The value is \k@SI@short@Rydberg}\end{mdframed} % \makeatother % -% \DescribeMacro{\k@cgs@full@StefanBoltzmann} -% |\k@cgs@full@StefanBoltzmann| is the Stefan-Boltzmann blackbody constant -% $\left(\frac{2\pi^5k_\mathrm{B}}{15h^3c^2}\right)$ in cgs units with full -% precision. +% \DescribeMacro{\k@SI@full@Rydberg} +% |\k@SI@full@Rydberg| is the Rydberg energy (the binding energy of Hydrogen) +% in SI units with full precision. % (Calculated) % % The macro can be invoked by (e.g.) % \begin{mdframed}[backgroundcolor=orange!25]% % {\small\texttt{\textbackslash makeatletter\\ The value is -% \textbackslash k@cgs@full@StefanBoltzmann\\ +% \textbackslash k@SI@full@Rydberg\\ % \textbackslash makeatother}}\end{mdframed} % \makeatletter % Resulting in % \begin{mdframed}[backgroundcolor=blue!25]% -% {The value is \k@cgs@full@StefanBoltzmann}\end{mdframed} +% {The value is \k@SI@full@Rydberg}\end{mdframed} % \makeatother % -% \DescribeMacro{\k@SI@short@Radiation} -% |\k@SI@short@Radiation| is the radiation constant, $a -% \left(\frac{8\pi^5k_\mathrm{B}^4}{15c^3h^3}\right)$ in SI units with reduced -% precision. +% \DescribeMacro{\k@cgs@short@Rydberg} +% |\k@cgs@short@Rydberg| is the Rydberg energy (the binding energy of Hydrogen) +% in cgs units with reduced precision. % (Calculated) % % The macro can be invoked by (e.g.) % \begin{mdframed}[backgroundcolor=orange!25]% % {\small\texttt{\textbackslash makeatletter\\ The value is -% \textbackslash k@SI@short@Radiation\\ +% \textbackslash k@cgs@short@Rydberg\\ % \textbackslash makeatother}}\end{mdframed} % \makeatletter % Resulting in % \begin{mdframed}[backgroundcolor=blue!25]% -% {The value is \k@SI@short@Radiation}\end{mdframed} +% {The value is \k@cgs@short@Rydberg}\end{mdframed} % \makeatother % -% \DescribeMacro{\k@SI@full@Radiation} -% |\k@SI@full@Radiation| is the radiation constant, $a -% \left(\frac{8\pi^5k_\mathrm{B}^4}{15c^3h^3}\right)$ in SI units with full -% precision. +% \DescribeMacro{\k@cgs@full@Rydberg} +% |\k@cgs@full@Rydberg| is the Rydberg energy (the binding energy of Hydrogen) +% in cgs units with full precision. % (Calculated) % % The macro can be invoked by (e.g.) % \begin{mdframed}[backgroundcolor=orange!25]% % {\small\texttt{\textbackslash makeatletter\\ The value is -% \textbackslash k@SI@full@Radiation\\ +% \textbackslash k@cgs@full@Rydberg\\ % \textbackslash makeatother}}\end{mdframed} % \makeatletter % Resulting in % \begin{mdframed}[backgroundcolor=blue!25]% -% {The value is \k@SI@full@Radiation}\end{mdframed} +% {The value is \k@cgs@full@Rydberg}\end{mdframed} % \makeatother % -% \DescribeMacro{\k@cgs@short@Radiation} -% |\k@cgs@short@Radiation| is the radiation constant, $a -% \left(\frac{8\pi^5k_\mathrm{B}^4}{15c^3h^3}\right)$ in cgs units with reduced -% precision. +% \DescribeMacro{\k@eV@short@Rydberg} +% |\k@eV@short@Rydberg| is the Rydberg energy (the binding energy of Hydrogen) +% in eV with reduced precision. % (Calculated) % % The macro can be invoked by (e.g.) % \begin{mdframed}[backgroundcolor=orange!25]% % {\small\texttt{\textbackslash makeatletter\\ The value is -% \textbackslash k@cgs@short@Radiation\\ +% \textbackslash k@eV@short@Rydberg\\ % \textbackslash makeatother}}\end{mdframed} % \makeatletter % Resulting in % \begin{mdframed}[backgroundcolor=blue!25]% -% {The value is \k@cgs@short@Radiation}\end{mdframed} +% {The value is \k@eV@short@Rydberg}\end{mdframed} % \makeatother % -% \DescribeMacro{\k@cgs@full@Radiation} -% |\k@cgs@full@Radiation| is the radiation constant, $a -% \left(\frac{8\pi^5k_\mathrm{B}^4}{15c^3h^3}\right)$ in cgs units with full -% precision. +% \DescribeMacro{\k@eV@full@Rydberg} +% |\k@eV@full@Rydberg| is the Rydberg energy (the binding energy of Hydrogen) +% in eV with full precision. % (Calculated) % % The macro can be invoked by (e.g.) % \begin{mdframed}[backgroundcolor=orange!25]% % {\small\texttt{\textbackslash makeatletter\\ The value is -% \textbackslash k@cgs@full@Radiation\\ +% \textbackslash k@eV@full@Rydberg\\ % \textbackslash makeatother}}\end{mdframed} % \makeatletter % Resulting in % \begin{mdframed}[backgroundcolor=blue!25]% -% {The value is \k@cgs@full@Radiation}\end{mdframed} +% {The value is \k@eV@full@Rydberg}\end{mdframed} % \makeatother % -% \DescribeMacro{\k@short@FineStructure} -% |\k@short@FineStructure| is the fine structure constant with reduced -% precision. +% \DescribeMacro{\k@SI@short@RydbergNumeric} +% |\k@SI@short@RydbergNumeric| is a mathematical value of +% the Rydberg energy (the binding energy of Hydrogen) in SI +% units with reduced precision. % (Calculated) % % The macro can be invoked by (e.g.) % \begin{mdframed}[backgroundcolor=orange!25]% % {\small\texttt{\textbackslash makeatletter\\ The value is -% \textbackslash k@short@FineStructure\\ +% \textbackslash k@SI@short@RydbergNumeric\\ % \textbackslash makeatother}}\end{mdframed} % \makeatletter % Resulting in % \begin{mdframed}[backgroundcolor=blue!25]% -% {The value is \k@short@FineStructure}\end{mdframed} +% {The value is \k@SI@short@RydbergNumeric}\end{mdframed} % \makeatother % -% \DescribeMacro{\k@full@FineStructure} -% |\k@full@FineStructure| is the fine structure constant with full precision. +% \DescribeMacro{\k@SI@full@RydbergNumeric} +% |\k@SI@full@RydbergNumeric| is a mathematical value of +% the Rydberg energy (the binding energy of Hydrogen) in SI +% units with full precision. % (Calculated) % % The macro can be invoked by (e.g.) % \begin{mdframed}[backgroundcolor=orange!25]% % {\small\texttt{\textbackslash makeatletter\\ The value is -% \textbackslash k@full@FineStructure\\ +% \textbackslash k@SI@full@RydbergNumeric\\ % \textbackslash makeatother}}\end{mdframed} % \makeatletter % Resulting in % \begin{mdframed}[backgroundcolor=blue!25]% -% {The value is \k@full@FineStructure}\end{mdframed} +% {The value is \k@SI@full@RydbergNumeric}\end{mdframed} % \makeatother % -% \DescribeMacro{\k@short@FineStructureReciprocal} -% |\k@short@FineStructureReciprocal| is the reciprocal of the fine structure -% constant with reduced precision. +% \DescribeMacro{\k@cgs@short@RydbergNumeric} +% |\k@cgs@short@RydbergNumeric| is a mathematical value of +% the Rydberg energy (the binding energy of Hydrogen) in +% cgs units with reduced precision. % (Calculated) % % The macro can be invoked by (e.g.) % \begin{mdframed}[backgroundcolor=orange!25]% % {\small\texttt{\textbackslash makeatletter\\ The value is -% \textbackslash k@short@FineStructureReciprocal\\ +% \textbackslash k@cgs@short@RydbergNumeric\\ % \textbackslash makeatother}}\end{mdframed} % \makeatletter % Resulting in % \begin{mdframed}[backgroundcolor=blue!25]% -% {The value is \k@short@FineStructureReciprocal}\end{mdframed} +% {The value is \k@cgs@short@RydbergNumeric}\end{mdframed} % \makeatother % -% \DescribeMacro{\k@full@FineStructureReciprocal} -% |\k@full@FineStructureReciprocal| is the reciprocal of the fine structure -% constant with full precision. +% \DescribeMacro{\k@cgs@full@RydbergNumeric} +% |\k@cgs@full@RydbergNumeric| is a mathematical value of +% the Rydberg energy (the binding energy of Hydrogen) in +% cgs units with full precision. % (Calculated) % % The macro can be invoked by (e.g.) % \begin{mdframed}[backgroundcolor=orange!25]% % {\small\texttt{\textbackslash makeatletter\\ The value is -% \textbackslash k@full@FineStructureReciprocal\\ +% \textbackslash k@cgs@full@RydbergNumeric\\ % \textbackslash makeatother}}\end{mdframed} % \makeatletter % Resulting in % \begin{mdframed}[backgroundcolor=blue!25]% -% {The value is \k@full@FineStructureReciprocal}\end{mdframed} +% {The value is \k@cgs@full@RydbergNumeric}\end{mdframed} % \makeatother % -% \DescribeMacro{\k@short@Avogadro} -% |\k@short@Avogadro| is Avogadro's Number (the number of particles in a mole) +% \DescribeMacro{\k@eV@short@RydbergNumeric} +% |\k@eV@short@RydbergNumeric| is a mathematical value of +% the Rydberg energy (the binding energy of Hydrogen) in eV % with reduced precision. -% (CODATA~2018) +% (Calculated) % % The macro can be invoked by (e.g.) % \begin{mdframed}[backgroundcolor=orange!25]% % {\small\texttt{\textbackslash makeatletter\\ The value is -% \textbackslash k@short@Avogadro\\ +% \textbackslash k@eV@short@RydbergNumeric\\ % \textbackslash makeatother}}\end{mdframed} % \makeatletter % Resulting in % \begin{mdframed}[backgroundcolor=blue!25]% -% {The value is \k@short@Avogadro}\end{mdframed} +% {The value is \k@eV@short@RydbergNumeric}\end{mdframed} % \makeatother % -% \DescribeMacro{\k@full@Avogadro} -% |\k@full@Avogadro| is Avogadro's Number (the number of particles in a mole) +% \DescribeMacro{\k@eV@full@RydbergNumeric} +% |\k@eV@full@RydbergNumeric| is a mathematical value of +% the Rydberg energy (the binding energy of Hydrogen) in eV % with full precision. -% (CODATA~2018) +% (Calculated) % % The macro can be invoked by (e.g.) % \begin{mdframed}[backgroundcolor=orange!25]% % {\small\texttt{\textbackslash makeatletter\\ The value is -% \textbackslash k@full@Avogadro\\ +% \textbackslash k@eV@full@RydbergNumeric\\ % \textbackslash makeatother}}\end{mdframed} % \makeatletter % Resulting in % \begin{mdframed}[backgroundcolor=blue!25]% -% {The value is \k@full@Avogadro}\end{mdframed} +% {The value is \k@eV@full@RydbergNumeric}\end{mdframed} % \makeatother % -\makeatletter -% \StopEventually{} -% -% \section{Implementation} +% \DescribeMacro{\k@SI@short@LuminositySun} +% |\k@SI@short@LuminositySun| is the luminosity of the Sun in SI units with +% reduced precision. +% (IAU~Resolution~B3~2015) % -% \subsection{Special} +% The macro can be invoked by (e.g.) +% \begin{mdframed}[backgroundcolor=orange!25]% +% {\small\texttt{\textbackslash makeatletter\\ The value is +% \textbackslash k@SI@short@LuminositySun\\ +% \textbackslash makeatother}}\end{mdframed} +% \makeatletter +% Resulting in +% \begin{mdframed}[backgroundcolor=blue!25]% +% {The value is \k@SI@short@LuminositySun}\end{mdframed} +% \makeatother +% +% \DescribeMacro{\k@SI@full@LuminositySun} +% |\k@SI@full@LuminositySun| is the luminosity of the Sun in SI units with full +% precision. +% (IAU~Resolution~B3~2015) +% +% The macro can be invoked by (e.g.) +% \begin{mdframed}[backgroundcolor=orange!25]% +% {\small\texttt{\textbackslash makeatletter\\ The value is +% \textbackslash k@SI@full@LuminositySun\\ +% \textbackslash makeatother}}\end{mdframed} +% \makeatletter +% Resulting in +% \begin{mdframed}[backgroundcolor=blue!25]% +% {The value is \k@SI@full@LuminositySun}\end{mdframed} +% \makeatother +% +% \DescribeMacro{\k@cgs@short@LuminositySun} +% |\k@cgs@short@LuminositySun| is the luminosity of the Sun in cgs units with +% reduced precision. +% (IAU~Resolution~B3~2015) +% +% The macro can be invoked by (e.g.) +% \begin{mdframed}[backgroundcolor=orange!25]% +% {\small\texttt{\textbackslash makeatletter\\ The value is +% \textbackslash k@cgs@short@LuminositySun\\ +% \textbackslash makeatother}}\end{mdframed} +% \makeatletter +% Resulting in +% \begin{mdframed}[backgroundcolor=blue!25]% +% {The value is \k@cgs@short@LuminositySun}\end{mdframed} +% \makeatother +% +% \DescribeMacro{\k@cgs@full@LuminositySun} +% |\k@cgs@full@LuminositySun| is the luminosity of the Sun in cgs units with +% full precision. +% (IAU~Resolution~B3~2015) +% +% The macro can be invoked by (e.g.) +% \begin{mdframed}[backgroundcolor=orange!25]% +% {\small\texttt{\textbackslash makeatletter\\ The value is +% \textbackslash k@cgs@full@LuminositySun\\ +% \textbackslash makeatother}}\end{mdframed} +% \makeatletter +% Resulting in +% \begin{mdframed}[backgroundcolor=blue!25]% +% {The value is \k@cgs@full@LuminositySun}\end{mdframed} +% \makeatother +% +% \DescribeMacro{\k@SI@short@LuminositySunNumeric} +% |\k@SI@short@LuminositySunNumeric| is a mathematical value of +% the luminosity of the Sun in SI units with reduced +% precision. +% (IAU~Resolution~B3~2015) +% +% The macro can be invoked by (e.g.) +% \begin{mdframed}[backgroundcolor=orange!25]% +% {\small\texttt{\textbackslash makeatletter\\ The value is +% \textbackslash k@SI@short@LuminositySunNumeric\\ +% \textbackslash makeatother}}\end{mdframed} +% \makeatletter +% Resulting in +% \begin{mdframed}[backgroundcolor=blue!25]% +% {The value is \k@SI@short@LuminositySunNumeric}\end{mdframed} +% \makeatother +% +% \DescribeMacro{\k@SI@full@LuminositySunNumeric} +% |\k@SI@full@LuminositySunNumeric| is a mathematical value of +% the luminosity of the Sun in SI units with full +% precision. +% (IAU~Resolution~B3~2015) +% +% The macro can be invoked by (e.g.) +% \begin{mdframed}[backgroundcolor=orange!25]% +% {\small\texttt{\textbackslash makeatletter\\ The value is +% \textbackslash k@SI@full@LuminositySunNumeric\\ +% \textbackslash makeatother}}\end{mdframed} +% \makeatletter +% Resulting in +% \begin{mdframed}[backgroundcolor=blue!25]% +% {The value is \k@SI@full@LuminositySunNumeric}\end{mdframed} +% \makeatother +% +% \DescribeMacro{\k@cgs@short@LuminositySunNumeric} +% |\k@cgs@short@LuminositySunNumeric| is a mathematical value of +% the luminosity of the Sun in cgs units with +% reduced precision. +% (IAU~Resolution~B3~2015) +% +% The macro can be invoked by (e.g.) +% \begin{mdframed}[backgroundcolor=orange!25]% +% {\small\texttt{\textbackslash makeatletter\\ The value is +% \textbackslash k@cgs@short@LuminositySunNumeric\\ +% \textbackslash makeatother}}\end{mdframed} +% \makeatletter +% Resulting in +% \begin{mdframed}[backgroundcolor=blue!25]% +% {The value is \k@cgs@short@LuminositySunNumeric}\end{mdframed} +% \makeatother +% +% \DescribeMacro{\k@cgs@full@LuminositySunNumeric} +% |\k@cgs@full@LuminositySunNumeric| is a mathematical value of +% the luminosity of the Sun in cgs units with full +% precision. +% (IAU~Resolution~B3~2015) +% +% The macro can be invoked by (e.g.) +% \begin{mdframed}[backgroundcolor=orange!25]% +% {\small\texttt{\textbackslash makeatletter\\ The value is +% \textbackslash k@cgs@full@LuminositySunNumeric\\ +% \textbackslash makeatother}}\end{mdframed} +% \makeatletter +% Resulting in +% \begin{mdframed}[backgroundcolor=blue!25]% +% {The value is \k@cgs@full@LuminositySunNumeric}\end{mdframed} +% \makeatother +% +% +%\subsubsection{Pressure} +% +% \DescribeMacro{\k@SI@short@PressureAtmosphere} +% \changes{v1.1.0}{2020/02/03}{Fix prefix of units.} +% |\k@SI@short@PressureAtmosphere| is the standard atmospheric pressure in SI +% units with reduced precision. +% (CODATA~2018) +% +% The macro can be invoked by (e.g.) +% \begin{mdframed}[backgroundcolor=orange!25]% +% {\small\texttt{\textbackslash makeatletter\\ The value is +% \textbackslash k@SI@short@PressureAtmosphere\\ +% \textbackslash makeatother}}\end{mdframed} +% \makeatletter +% Resulting in +% \begin{mdframed}[backgroundcolor=blue!25]% +% {The value is \k@SI@short@PressureAtmosphere}\end{mdframed} +% \makeatother +% +% \DescribeMacro{\k@SI@full@PressureAtmosphere} +% \changes{v1.1.0}{2020/02/03}{Fix prefix of units.} +% |\k@SI@full@PressureAtmosphere| is the standard atmospheric pressure in SI +% units with full precision. +% (CODATA~2018) +% +% The macro can be invoked by (e.g.) +% \begin{mdframed}[backgroundcolor=orange!25]% +% {\small\texttt{\textbackslash makeatletter\\ The value is +% \textbackslash k@SI@full@PressureAtmosphere\\ +% \textbackslash makeatother}}\end{mdframed} +% \makeatletter +% Resulting in +% \begin{mdframed}[backgroundcolor=blue!25]% +% {The value is \k@SI@full@PressureAtmosphere}\end{mdframed} +% \makeatother +% +% \DescribeMacro{\k@cgs@short@PressureAtmosphere} +% \changes{v1.1.0}{2020/02/03}{Fix prefix of units.} +% |\k@cgs@short@PressureAtmosphere| is the standard atmospheric pressure in cgs +% units with reduced precision. +% (CODATA~2018) +% +% The macro can be invoked by (e.g.) +% \begin{mdframed}[backgroundcolor=orange!25]% +% {\small\texttt{\textbackslash makeatletter\\ The value is +% \textbackslash k@cgs@short@PressureAtmosphere\\ +% \textbackslash makeatother}}\end{mdframed} +% \makeatletter +% Resulting in +% \begin{mdframed}[backgroundcolor=blue!25]% +% {The value is \k@cgs@short@PressureAtmosphere}\end{mdframed} +% \makeatother +% +% \DescribeMacro{\k@cgs@full@PressureAtmosphere} +% \changes{v1.1.0}{2020/02/03}{Fix prefix of units.} +% |\k@cgs@full@PressureAtmosphere| is the standard atmospheric pressure in cgs +% units with full precision. +% (CODATA~2018) +% +% The macro can be invoked by (e.g.) +% \begin{mdframed}[backgroundcolor=orange!25]% +% {\small\texttt{\textbackslash makeatletter\\ The value is +% \textbackslash k@cgs@full@PressureAtmosphere\\ +% \textbackslash makeatother}}\end{mdframed} +% \makeatletter +% Resulting in +% \begin{mdframed}[backgroundcolor=blue!25]% +% {The value is \k@cgs@full@PressureAtmosphere}\end{mdframed} +% \makeatother +% +% \DescribeMacro{\k@SI@short@PressureAtmosphereNumeric} +% \changes{v1.1.0}{2020/02/03}{Fix prefix of units.} +% |\k@SI@short@PressureAtmosphereNumeric| is a mathematical value of +% the standard atmospheric pressure in SI units +% with reduced precision. +% (CODATA~2018) +% +% The macro can be invoked by (e.g.) +% \begin{mdframed}[backgroundcolor=orange!25]% +% {\small\texttt{\textbackslash makeatletter\\ The value is +% \textbackslash k@SI@short@PressureAtmosphereNumeric\\ +% \textbackslash makeatother}}\end{mdframed} +% \makeatletter +% Resulting in +% \begin{mdframed}[backgroundcolor=blue!25]% +% {The value is \k@SI@short@PressureAtmosphereNumeric}\end{mdframed} +% \makeatother +% +% \DescribeMacro{\k@SI@full@PressureAtmosphereNumeric} +% \changes{v1.1.0}{2020/02/03}{Fix prefix of units.} +% |\k@SI@full@PressureAtmosphereNumeric| is a mathematical value of +% the standard atmospheric pressure in SI units +% with full precision. +% (CODATA~2018) +% +% The macro can be invoked by (e.g.) +% \begin{mdframed}[backgroundcolor=orange!25]% +% {\small\texttt{\textbackslash makeatletter\\ The value is +% \textbackslash k@SI@full@PressureAtmosphereNumeric\\ +% \textbackslash makeatother}}\end{mdframed} +% \makeatletter +% Resulting in +% \begin{mdframed}[backgroundcolor=blue!25]% +% {The value is \k@SI@full@PressureAtmosphereNumeric}\end{mdframed} +% \makeatother +% +% \DescribeMacro{\k@cgs@short@PressureAtmosphereNumeric} +% \changes{v1.1.0}{2020/02/03}{Fix prefix of units.} +% |\k@cgs@short@PressureAtmosphereNumeric| is a mathematical value of +% the standard atmospheric pressure in cgs +% units with reduced precision. +% (CODATA~2018) +% +% The macro can be invoked by (e.g.) +% \begin{mdframed}[backgroundcolor=orange!25]% +% {\small\texttt{\textbackslash makeatletter\\ The value is +% \textbackslash k@cgs@short@PressureAtmosphereNumeric\\ +% \textbackslash makeatother}}\end{mdframed} +% \makeatletter +% Resulting in +% \begin{mdframed}[backgroundcolor=blue!25]% +% {The value is \k@cgs@short@PressureAtmosphereNumeric}\end{mdframed} +% \makeatother +% +% \DescribeMacro{\k@cgs@full@PressureAtmosphereNumeric} +% \changes{v1.1.0}{2020/02/03}{Fix prefix of units.} +% |\k@cgs@full@PressureAtmosphereNumeric| is a mathematical value of +% the standard atmospheric pressure in cgs units +% with full precision. +% (CODATA~2018) +% +% The macro can be invoked by (e.g.) +% \begin{mdframed}[backgroundcolor=orange!25]% +% {\small\texttt{\textbackslash makeatletter\\ The value is +% \textbackslash k@cgs@full@PressureAtmosphereNumeric\\ +% \textbackslash makeatother}}\end{mdframed} +% \makeatletter +% Resulting in +% \begin{mdframed}[backgroundcolor=blue!25]% +% {The value is \k@cgs@full@PressureAtmosphereNumeric}\end{mdframed} +% \makeatother +% +% \DescribeMacro{\k@SI@short@PressureStandard} +% \changes{v1.1.0}{2020/02/03}{Fix prefix of units.} +% |\k@SI@short@PressureStandard| is the standard atmospheric pressure in SI +% units with reduced precision. +% (CODATA~2018) +% +% The macro can be invoked by (e.g.) +% \begin{mdframed}[backgroundcolor=orange!25]% +% {\small\texttt{\textbackslash makeatletter\\ The value is +% \textbackslash k@SI@short@PressureStandard\\ +% \textbackslash makeatother}}\end{mdframed} +% \makeatletter +% Resulting in +% \begin{mdframed}[backgroundcolor=blue!25]% +% {The value is \k@SI@short@PressureStandard}\end{mdframed} +% \makeatother +% +% \DescribeMacro{\k@SI@full@PressureStandard} +% \changes{v1.1.0}{2020/02/03}{Fix prefix of units.} +% |\k@SI@full@PressureStandard| is the standard atmospheric pressure in SI +% units with full precision. +% (CODATA~2018) +% +% The macro can be invoked by (e.g.) +% \begin{mdframed}[backgroundcolor=orange!25]% +% {\small\texttt{\textbackslash makeatletter\\ The value is +% \textbackslash k@SI@full@PressureStandard\\ +% \textbackslash makeatother}}\end{mdframed} +% \makeatletter +% Resulting in +% \begin{mdframed}[backgroundcolor=blue!25]% +% {The value is \k@SI@full@PressureStandard}\end{mdframed} +% \makeatother +% +% \DescribeMacro{\k@cgs@short@PressureStandard} +% \changes{v1.1.0}{2020/02/03}{Fix prefix of units.} +% |\k@cgs@short@PressureStandard| is the standard atmospheric pressure in cgs +% units with reduced precision. +% (CODATA~2018) +% +% The macro can be invoked by (e.g.) +% \begin{mdframed}[backgroundcolor=orange!25]% +% {\small\texttt{\textbackslash makeatletter\\ The value is +% \textbackslash k@cgs@short@PressureStandard\\ +% \textbackslash makeatother}}\end{mdframed} +% \makeatletter +% Resulting in +% \begin{mdframed}[backgroundcolor=blue!25]% +% {The value is \k@cgs@short@PressureStandard}\end{mdframed} +% \makeatother +% +% \DescribeMacro{\k@cgs@full@PressureStandard} +% \changes{v1.1.0}{2020/02/03}{Fix prefix of units.} +% |\k@cgs@full@PressureStandard| is the standard atmospheric pressure in cgs +% units with full precision. +% (CODATA~2018) +% +% The macro can be invoked by (e.g.) +% \begin{mdframed}[backgroundcolor=orange!25]% +% {\small\texttt{\textbackslash makeatletter\\ The value is +% \textbackslash k@cgs@full@PressureStandard\\ +% \textbackslash makeatother}}\end{mdframed} +% \makeatletter +% Resulting in +% \begin{mdframed}[backgroundcolor=blue!25]% +% {The value is \k@cgs@full@PressureStandard}\end{mdframed} +% \makeatother +% +% \DescribeMacro{\k@SI@short@PressureStandardNumeric} +% \changes{v1.1.0}{2020/02/03}{Fix prefix of units.} +% |\k@SI@short@PressureStandardNumeric| is a mathematical value of +% the standard atmospheric pressure in SI units +% with reduced precision. +% (CODATA~2018) +% +% The macro can be invoked by (e.g.) +% \begin{mdframed}[backgroundcolor=orange!25]% +% {\small\texttt{\textbackslash makeatletter\\ The value is +% \textbackslash k@SI@short@PressureStandardNumeric\\ +% \textbackslash makeatother}}\end{mdframed} +% \makeatletter +% Resulting in +% \begin{mdframed}[backgroundcolor=blue!25]% +% {The value is \k@SI@short@PressureStandardNumeric}\end{mdframed} +% \makeatother +% +% \DescribeMacro{\k@SI@full@PressureStandardNumeric} +% \changes{v1.1.0}{2020/02/03}{Fix prefix of units.} +% |\k@SI@full@PressureStandardNumeric| is a mathematical value of +% the standard atmospheric pressure in SI units +% with full precision. +% (CODATA~2018) +% +% The macro can be invoked by (e.g.) +% \begin{mdframed}[backgroundcolor=orange!25]% +% {\small\texttt{\textbackslash makeatletter\\ The value is +% \textbackslash k@SI@full@PressureStandardNumeric\\ +% \textbackslash makeatother}}\end{mdframed} +% \makeatletter +% Resulting in +% \begin{mdframed}[backgroundcolor=blue!25]% +% {The value is \k@SI@full@PressureStandardNumeric}\end{mdframed} +% \makeatother +% +% \DescribeMacro{\k@cgs@short@PressureStandardNumeric} +% \changes{v1.1.0}{2020/02/03}{Fix prefix of units.} +% |\k@cgs@short@PressureStandardNumeric| is a mathematical value of +% the standard atmospheric pressure in cgs units +% with reduced precision. +% (CODATA~2018) +% +% The macro can be invoked by (e.g.) +% \begin{mdframed}[backgroundcolor=orange!25]% +% {\small\texttt{\textbackslash makeatletter\\ The value is +% \textbackslash k@cgs@short@PressureStandardNumeric\\ +% \textbackslash makeatother}}\end{mdframed} +% \makeatletter +% Resulting in +% \begin{mdframed}[backgroundcolor=blue!25]% +% {The value is \k@cgs@short@PressureStandardNumeric}\end{mdframed} +% \makeatother +% +% \DescribeMacro{\k@cgs@full@PressureStandardNumeric} +% \changes{v1.1.0}{2020/02/03}{Fix prefix of units.} +% |\k@cgs@full@PressureStandardNumeric| is a mathematical value of +% the standard atmospheric pressure in cgs units +% with full precision. +% (CODATA~2018) +% +% The macro can be invoked by (e.g.) +% \begin{mdframed}[backgroundcolor=orange!25]% +% {\small\texttt{\textbackslash makeatletter\\ The value is +% \textbackslash k@cgs@full@PressureStandardNumeric\\ +% \textbackslash makeatother}}\end{mdframed} +% \makeatletter +% Resulting in +% \begin{mdframed}[backgroundcolor=blue!25]% +% {The value is \k@cgs@full@PressureStandardNumeric}\end{mdframed} +% \makeatother +% +% +%\subsubsection{Velocity, Speed and Acceleration} +% +% \DescribeMacro{\k@SI@short@SpeedLight} +% |\k@SI@short@SpeedLight| is the speed of light in SI units with reduced +% precision. +% (CODATA 2018) +% +% The macro can be invoked by (e.g.) +% \begin{mdframed}[backgroundcolor=orange!25]% +% {\small\texttt{\textbackslash makeatletter\\ The value is +% \textbackslash k@SI@short@SpeedLight\\ +% \textbackslash makeatother}}\end{mdframed} +% \makeatletter +% Resulting in +% \begin{mdframed}[backgroundcolor=blue!25]% +% {The value is \k@SI@short@SpeedLight}\end{mdframed} +% \makeatother +% +% \DescribeMacro{\k@SI@full@SpeedLight} +% |\k@SI@full@SpeedLight| is the speed of light in SI units with full precision. +% (CODATA 2018) +% +% The macro can be invoked by (e.g.) +% \begin{mdframed}[backgroundcolor=orange!25]% +% {\small\texttt{\textbackslash makeatletter\\ The value is +% \textbackslash k@SI@full@SpeedLight\\ +% \textbackslash makeatother}}\end{mdframed} +% \makeatletter +% Resulting in +% \begin{mdframed}[backgroundcolor=blue!25]% +% {The value is \k@SI@full@SpeedLight}\end{mdframed} +% \makeatother +% +% \DescribeMacro{\k@cgs@short@SpeedLight} +% |\k@cgs@short@SpeedLight| is the speed of light in cgs units with reduced +% precision. +% (CODATA 2018) +% +% The macro can be invoked by (e.g.) +% \begin{mdframed}[backgroundcolor=orange!25]% +% {\small\texttt{\textbackslash makeatletter\\ The value is +% \textbackslash k@cgs@short@SpeedLight\\ +% \textbackslash makeatother}}\end{mdframed} +% \makeatletter +% Resulting in +% \begin{mdframed}[backgroundcolor=blue!25]% +% {The value is \k@cgs@short@SpeedLight}\end{mdframed} +% \makeatother +% +% \DescribeMacro{\k@cgs@full@SpeedLight} +% |\k@cgs@full@SpeedLight| is the speed of light in cgs units with full +% precision. +% (CODATA 2018) +% +% The macro can be invoked by (e.g.) +% \begin{mdframed}[backgroundcolor=orange!25]% +% {\small\texttt{\textbackslash makeatletter\\ The value is +% \textbackslash k@cgs@full@SpeedLight\\ +% \textbackslash makeatother}}\end{mdframed} +% \makeatletter +% Resulting in +% \begin{mdframed}[backgroundcolor=blue!25]% +% {The value is \k@cgs@full@SpeedLight}\end{mdframed} +% \makeatother +% +% \DescribeMacro{\k@SI@short@SpeedLightNumeric} +% |\k@SI@short@SpeedLightNumeric| is a mathematical value of +% the speed of light in SI units with reduced precision. +% (CODATA 2018) +% +% The macro can be invoked by (e.g.) +% \begin{mdframed}[backgroundcolor=orange!25]% +% {\small\texttt{\textbackslash makeatletter\\ The value is +% \textbackslash k@SI@short@SpeedLightNumeric\\ +% \textbackslash makeatother}}\end{mdframed} +% \makeatletter +% Resulting in +% \begin{mdframed}[backgroundcolor=blue!25]% +% {The value is \k@SI@short@SpeedLightNumeric}\end{mdframed} +% \makeatother +% +% \DescribeMacro{\k@SI@full@SpeedLightNumeric} +% |\k@SI@full@SpeedLightNumeric| is a mathematical value of +% the speed of light in SI units with full precision. +% (CODATA 2018) +% +% The macro can be invoked by (e.g.) +% \begin{mdframed}[backgroundcolor=orange!25]% +% {\small\texttt{\textbackslash makeatletter\\ The value is +% \textbackslash k@SI@full@SpeedLightNumeric\\ +% \textbackslash makeatother}}\end{mdframed} +% \makeatletter +% Resulting in +% \begin{mdframed}[backgroundcolor=blue!25]% +% {The value is \k@SI@full@SpeedLightNumeric}\end{mdframed} +% \makeatother +% +% \DescribeMacro{\k@cgs@short@SpeedLightNumeric} +% |\k@cgs@short@SpeedLightNumeric| is a mathematical value of +% the speed of light in cgs units with reduced +% precision. +% (CODATA 2018) +% +% The macro can be invoked by (e.g.) +% \begin{mdframed}[backgroundcolor=orange!25]% +% {\small\texttt{\textbackslash makeatletter\\ The value is +% \textbackslash k@cgs@short@SpeedLightNumeric\\ +% \textbackslash makeatother}}\end{mdframed} +% \makeatletter +% Resulting in +% \begin{mdframed}[backgroundcolor=blue!25]% +% {The value is \k@cgs@short@SpeedLightNumeric}\end{mdframed} +% \makeatother +% +% \DescribeMacro{\k@cgs@full@SpeedLightNumeric} +% |\k@cgs@full@SpeedLightNumeric| is a mathematical value of +% the speed of light in cgs units with full precision. +% (CODATA 2018) +% +% The macro can be invoked by (e.g.) +% \begin{mdframed}[backgroundcolor=orange!25]% +% {\small\texttt{\textbackslash makeatletter\\ The value is +% \textbackslash k@cgs@full@SpeedLightNumeric\\ +% \textbackslash makeatother}}\end{mdframed} +% \makeatletter +% Resulting in +% \begin{mdframed}[backgroundcolor=blue!25]% +% {The value is \k@cgs@full@SpeedLightNumeric}\end{mdframed} +% \makeatother +% +% \DescribeMacro{\k@SI@short@AccelGravity} +% \changes{v1.1.0}{2020/02/03}{Correct value.} +% \changes{v1.1.0}{2020/02/03}{Fix units.} +% |\k@SI@short@AccelGravity| is the accelertion due to gravity at the surface +% of the Earth in SI units with reduced precision. +% (CODATA 2018) +% +% The macro can be invoked by (e.g.) +% \begin{mdframed}[backgroundcolor=orange!25]% +% {\small\texttt{\textbackslash makeatletter\\ The value is +% \textbackslash k@SI@short@AccelGravity\\ +% \textbackslash makeatother}}\end{mdframed} +% \makeatletter +% Resulting in +% \begin{mdframed}[backgroundcolor=blue!25]% +% {The value is \k@SI@short@AccelGravity}\end{mdframed} +% \makeatother +% +% \DescribeMacro{\k@SI@full@AccelGravity} +% \changes{v1.1.0}{2020/02/03}{Correct value.} +% \changes{v1.1.0}{2020/02/03}{Fix units.} +% |\k@SI@full@AccelGravity| is the accelertion due to gravity at the surface of +% the Earth in SI units with full precision. +% (CODATA 2018) +% +% The macro can be invoked by (e.g.) +% \begin{mdframed}[backgroundcolor=orange!25]% +% {\small\texttt{\textbackslash makeatletter\\ The value is +% \textbackslash k@SI@full@AccelGravity\\ +% \textbackslash makeatother}}\end{mdframed} +% \makeatletter +% Resulting in +% \begin{mdframed}[backgroundcolor=blue!25]% +% {The value is \k@SI@full@AccelGravity}\end{mdframed} +% \makeatother +% +% \DescribeMacro{\k@cgs@short@AccelGravity} +% \changes{v1.1.0}{2020/02/03}{Correct value.} +% \changes{v1.1.0}{2020/02/03}{Fix units.} +% |\k@cgs@short@AccelGravity| is the accelertion due to gravity at the surface +% of the Earth in cgs units with reduced precision. +% (CODATA 2018) +% +% The macro can be invoked by (e.g.) +% \begin{mdframed}[backgroundcolor=orange!25]% +% {\small\texttt{\textbackslash makeatletter\\ The value is +% \textbackslash k@cgs@short@AccelGravity\\ +% \textbackslash makeatother}}\end{mdframed} +% \makeatletter +% Resulting in +% \begin{mdframed}[backgroundcolor=blue!25]% +% {The value is \k@cgs@short@AccelGravity}\end{mdframed} +% \makeatother +% +% \DescribeMacro{\k@cgs@full@AccelGravity} +% \changes{v1.1.0}{2020/02/03}{Correct value.} +% \changes{v1.1.0}{2020/02/03}{Fix units.} +% |\k@cgs@full@AccelGravity| is the accelertion due to gravity at the surface +% of the Earth in cgs units with full precision. +% (CODATA 2018) +% +% The macro can be invoked by (e.g.) +% \begin{mdframed}[backgroundcolor=orange!25]% +% {\small\texttt{\textbackslash makeatletter\\ The value is +% \textbackslash k@cgs@full@AccelGravity\\ +% \textbackslash makeatother}}\end{mdframed} +% \makeatletter +% Resulting in +% \begin{mdframed}[backgroundcolor=blue!25]% +% {The value is \k@cgs@full@AccelGravity}\end{mdframed} +% \makeatother +% +% \DescribeMacro{\k@SI@short@AccelGravityNumeric} +% \changes{v1.1.0}{2020/02/03}{Correct value.} +% \changes{v1.1.0}{2020/02/03}{Fix units.} +% |\k@SI@short@AccelGravityNumeric| is a mathematical value of +% the accelertion due to gravity at the surface of the +% Earth in SI units with reduced precision. +% (CODATA 2018) +% +% The macro can be invoked by (e.g.) +% \begin{mdframed}[backgroundcolor=orange!25]% +% {\small\texttt{\textbackslash makeatletter\\ The value is +% \textbackslash k@SI@short@AccelGravityNumeric\\ +% \textbackslash makeatother}}\end{mdframed} +% \makeatletter +% Resulting in +% \begin{mdframed}[backgroundcolor=blue!25]% +% {The value is \k@SI@short@AccelGravityNumeric}\end{mdframed} +% \makeatother +% +% \DescribeMacro{\k@SI@full@AccelGravityNumeric} +% \changes{v1.1.0}{2020/02/03}{Correct value.} +% \changes{v1.1.0}{2020/02/03}{Fix units.} +% |\k@SI@full@AccelGravityNumeric| is a mathematical value of +% the accelertion due to gravity at the surface of the +% Earth in SI units with full precision. +% (CODATA 2018) +% +% The macro can be invoked by (e.g.) +% \begin{mdframed}[backgroundcolor=orange!25]% +% {\small\texttt{\textbackslash makeatletter\\ The value is +% \textbackslash k@SI@full@AccelGravityNumeric\\ +% \textbackslash makeatother}}\end{mdframed} +% \makeatletter +% Resulting in +% \begin{mdframed}[backgroundcolor=blue!25]% +% {The value is \k@SI@full@AccelGravityNumeric}\end{mdframed} +% \makeatother +% +% \DescribeMacro{\k@cgs@short@AccelGravityNumeric} +% \changes{v1.1.0}{2020/02/03}{Correct value.} +% \changes{v1.1.0}{2020/02/03}{Fix units.} +% |\k@cgs@short@AccelGravityNumeric| is a mathematical value of +% the accelertion due to gravity at the surface of +% the Earth in cgs units with reduced precision. +% (CODATA 2018) +% +% The macro can be invoked by (e.g.) +% \begin{mdframed}[backgroundcolor=orange!25]% +% {\small\texttt{\textbackslash makeatletter\\ The value is +% \textbackslash k@cgs@short@AccelGravityNumeric\\ +% \textbackslash makeatother}}\end{mdframed} +% \makeatletter +% Resulting in +% \begin{mdframed}[backgroundcolor=blue!25]% +% {The value is \k@cgs@short@AccelGravityNumeric}\end{mdframed} +% \makeatother +% +% \DescribeMacro{\k@cgs@full@AccelGravityNumeric} +% \changes{v1.1.0}{2020/02/03}{Correct value.} +% \changes{v1.1.0}{2020/02/03}{Fix units.} +% |\k@cgs@full@AccelGravityNumeric| is a mathematical value of +% the accelertion due to gravity at the surface of the +% Earth in cgs units with full precision. +% (CODATA 2018) +% +% The macro can be invoked by (e.g.) +% \begin{mdframed}[backgroundcolor=orange!25]% +% {\small\texttt{\textbackslash makeatletter\\ The value is +% \textbackslash k@cgs@full@AccelGravityNumeric\\ +% \textbackslash makeatother}}\end{mdframed} +% \makeatletter +% Resulting in +% \begin{mdframed}[backgroundcolor=blue!25]% +% {The value is \k@cgs@full@AccelGravityNumeric}\end{mdframed} +% \makeatother +% +% +%\subsubsection{Other Constants} +% +% \DescribeMacro{\k@SI@short@Coulomb} +% \changes{v1.1.0}{2020/02/03}{Fix order of magnitude of constant.} +% |\k@SI@short@Coulomb| is the Coulomb constant ($\frac{1}{4\pi\epsilon_0}$) in +% SI units with reduced precision. +% (Calculated) +% +% The macro can be invoked by (e.g.) +% \begin{mdframed}[backgroundcolor=orange!25]% +% {\small\texttt{\textbackslash makeatletter\\ The value is +% \textbackslash k@SI@short@Coulomb\\ +% \textbackslash makeatother}}\end{mdframed} +% \makeatletter +% Resulting in +% \begin{mdframed}[backgroundcolor=blue!25]% +% {The value is \k@SI@short@Coulomb}\end{mdframed} +% \makeatother +% +% \DescribeMacro{\k@SI@full@Coulomb} +% \changes{v1.1.0}{2020/02/03}{Fix order of magnitude of constant.} +% |\k@SI@full@Coulomb| is the Coulomb constant ($\frac{1}{4\pi\epsilon_0}$) in +% SI units with full precision. +% (Calculated) +% +% The macro can be invoked by (e.g.) +% \begin{mdframed}[backgroundcolor=orange!25]% +% {\small\texttt{\textbackslash makeatletter\\ The value is +% \textbackslash k@SI@full@Coulomb\\ +% \textbackslash makeatother}}\end{mdframed} +% \makeatletter +% Resulting in +% \begin{mdframed}[backgroundcolor=blue!25]% +% {The value is \k@SI@full@Coulomb}\end{mdframed} +% \makeatother +% +% \DescribeMacro{\k@cgs@short@Coulomb} +% \changes{v1.1.0}{2020/02/03}{Fix order of magnitude of constant.} +% |\k@cgs@short@Coulomb| is the Coulomb constant ($\frac{1}{4\pi\epsilon_0}$) +% in cgs units with reduced precision. +% (Calculated) +% +% The macro can be invoked by (e.g.) +% \begin{mdframed}[backgroundcolor=orange!25]% +% {\small\texttt{\textbackslash makeatletter\\ The value is +% \textbackslash k@cgs@short@Coulomb\\ +% \textbackslash makeatother}}\end{mdframed} +% \makeatletter +% Resulting in +% \begin{mdframed}[backgroundcolor=blue!25]% +% {The value is \k@cgs@short@Coulomb}\end{mdframed} +% \makeatother +% +% \DescribeMacro{\k@cgs@full@Coulomb} +% \changes{v1.1.0}{2020/02/03}{Fix order of magnitude of constant.} +% |\k@cgs@full@Coulomb| is the Coulomb constant ($\frac{1}{4\pi\epsilon_0}$) in +% cgs units with full precision. +% (Calculated) +% +% The macro can be invoked by (e.g.) +% \begin{mdframed}[backgroundcolor=orange!25]% +% {\small\texttt{\textbackslash makeatletter\\ The value is +% \textbackslash k@cgs@full@Coulomb\\ +% \textbackslash makeatother}}\end{mdframed} +% \makeatletter +% Resulting in +% \begin{mdframed}[backgroundcolor=blue!25]% +% {The value is \k@cgs@full@Coulomb}\end{mdframed} +% \makeatother +% +% \DescribeMacro{\k@SI@short@CoulombNumeric} +% \changes{v1.1.0}{2020/02/03}{Fix order of magnitude of constant.} +% |\k@SI@short@CoulombNumeric| is a mathematical value of +% the Coulomb constant ($\frac{1}{4\pi\epsilon_0}$) in SI +% units with reduced precision. +% (Calculated) +% +% The macro can be invoked by (e.g.) +% \begin{mdframed}[backgroundcolor=orange!25]% +% {\small\texttt{\textbackslash makeatletter\\ The value is +% \textbackslash k@SI@short@CoulombNumeric\\ +% \textbackslash makeatother}}\end{mdframed} +% \makeatletter +% Resulting in +% \begin{mdframed}[backgroundcolor=blue!25]% +% {The value is \k@SI@short@CoulombNumeric}\end{mdframed} +% \makeatother +% +% \DescribeMacro{\k@SI@full@CoulombNumeric} +% \changes{v1.1.0}{2020/02/03}{Fix order of magnitude of constant.} +% |\k@SI@full@CoulombNumeric| is a mathematical value of +% the Coulomb constant ($\frac{1}{4\pi\epsilon_0}$) in SI +% units with full precision. +% (Calculated) +% +% The macro can be invoked by (e.g.) +% \begin{mdframed}[backgroundcolor=orange!25]% +% {\small\texttt{\textbackslash makeatletter\\ The value is +% \textbackslash k@SI@full@CoulombNumeric\\ +% \textbackslash makeatother}}\end{mdframed} +% \makeatletter +% Resulting in +% \begin{mdframed}[backgroundcolor=blue!25]% +% {The value is \k@SI@full@CoulombNumeric}\end{mdframed} +% \makeatother +% +% \DescribeMacro{\k@cgs@short@CoulombNumeric} +% \changes{v1.1.0}{2020/02/03}{Fix order of magnitude of constant.} +% |\k@cgs@short@CoulombNumeric| is a mathematical value of +% the Coulomb constant ($\frac{1}{4\pi\epsilon_0}$) in cgs +% units with reduced precision. +% (Calculated) +% +% The macro can be invoked by (e.g.) +% \begin{mdframed}[backgroundcolor=orange!25]% +% {\small\texttt{\textbackslash makeatletter\\ The value is +% \textbackslash k@cgs@short@CoulombNumeric\\ +% \textbackslash makeatother}}\end{mdframed} +% \makeatletter +% Resulting in +% \begin{mdframed}[backgroundcolor=blue!25]% +% {The value is \k@cgs@short@CoulombNumeric}\end{mdframed} +% \makeatother +% +% \DescribeMacro{\k@cgs@full@CoulombNumeric} +% \changes{v1.1.0}{2020/02/03}{Fix order of magnitude of constant.} +% |\k@cgs@full@CoulombNumeric| is a mathematical value of +% the Coulomb constant ($\frac{1}{4\pi\epsilon_0}$) in cgs +% units with full precision. +% (Calculated) +% +% The macro can be invoked by (e.g.) +% \begin{mdframed}[backgroundcolor=orange!25]% +% {\small\texttt{\textbackslash makeatletter\\ The value is +% \textbackslash k@cgs@full@CoulombNumeric\\ +% \textbackslash makeatother}}\end{mdframed} +% \makeatletter +% Resulting in +% \begin{mdframed}[backgroundcolor=blue!25]% +% {The value is \k@cgs@full@CoulombNumeric}\end{mdframed} +% \makeatother +% +% \DescribeMacro{\k@SI@short@VacuumPermittivity} +% |\k@SI@short@VacuumPermittivity| is the electric permittivity of the vacuum +% in SI units with reduced precision. +% (CODATA~2018) +% +% The macro can be invoked by (e.g.) +% \begin{mdframed}[backgroundcolor=orange!25]% +% {\small\texttt{\textbackslash makeatletter\\ The value is +% \textbackslash k@SI@short@VacuumPermittivity\\ +% \textbackslash makeatother}}\end{mdframed} +% \makeatletter +% Resulting in +% \begin{mdframed}[backgroundcolor=blue!25]% +% {The value is \k@SI@short@VacuumPermittivity}\end{mdframed} +% \makeatother +% +% \DescribeMacro{\k@SI@full@VacuumPermittivity} +% |\k@SI@full@VacuumPermittivity| is the electric permittivity of the vacuum in +% SI units with full precision. +% (CODATA~2018) +% +% The macro can be invoked by (e.g.) +% \begin{mdframed}[backgroundcolor=orange!25]% +% {\small\texttt{\textbackslash makeatletter\\ The value is +% \textbackslash k@SI@full@VacuumPermittivity\\ +% \textbackslash makeatother}}\end{mdframed} +% \makeatletter +% Resulting in +% \begin{mdframed}[backgroundcolor=blue!25]% +% {The value is \k@SI@full@VacuumPermittivity}\end{mdframed} +% \makeatother +% +% \DescribeMacro{\k@cgs@short@VacuumPermittivity} +% |\k@cgs@short@VacuumPermittivity| is the electric permittivity of the vacuum +% in cgs units with reduced precision. +% (CODATA~2018) +% +% The macro can be invoked by (e.g.) +% \begin{mdframed}[backgroundcolor=orange!25]% +% {\small\texttt{\textbackslash makeatletter\\ The value is +% \textbackslash k@cgs@short@VacuumPermittivity\\ +% \textbackslash makeatother}}\end{mdframed} +% \makeatletter +% Resulting in +% \begin{mdframed}[backgroundcolor=blue!25]% +% {The value is \k@cgs@short@VacuumPermittivity}\end{mdframed} +% \makeatother +% +% \DescribeMacro{\k@cgs@full@VacuumPermittivity} +% |\k@cgs@full@VacuumPermittivity| is the electric permittivity of the vacuum +% in cgs units with full precision. +% (CODATA~2018) +% +% The macro can be invoked by (e.g.) +% \begin{mdframed}[backgroundcolor=orange!25]% +% {\small\texttt{\textbackslash makeatletter\\ The value is +% \textbackslash k@cgs@full@VacuumPermittivity\\ +% \textbackslash makeatother}}\end{mdframed} +% \makeatletter +% Resulting in +% \begin{mdframed}[backgroundcolor=blue!25]% +% {The value is \k@cgs@full@VacuumPermittivity}\end{mdframed} +% \makeatother +% +% \DescribeMacro{\k@SI@short@VacuumPermittivityNumeric} +% |\k@SI@short@VacuumPermittivityNumeric| is a mathematical value of +% the electric permittivity of the vacuum in SI +% units with reduced precision. +% (CODATA~2018) +% +% The macro can be invoked by (e.g.) +% \begin{mdframed}[backgroundcolor=orange!25]% +% {\small\texttt{\textbackslash makeatletter\\ The value is +% \textbackslash k@SI@short@VacuumPermittivityNumeric\\ +% \textbackslash makeatother}}\end{mdframed} +% \makeatletter +% Resulting in +% \begin{mdframed}[backgroundcolor=blue!25]% +% {The value is \k@SI@short@VacuumPermittivityNumeric}\end{mdframed} +% \makeatother +% +% \DescribeMacro{\k@SI@full@VacuumPermittivityNumeric} +% |\k@SI@full@VacuumPermittivityNumeric| is a mathematical value of +% the electric permittivity of the vacuum in SI +% units with full precision. +% (CODATA~2018) +% +% The macro can be invoked by (e.g.) +% \begin{mdframed}[backgroundcolor=orange!25]% +% {\small\texttt{\textbackslash makeatletter\\ The value is +% \textbackslash k@SI@full@VacuumPermittivityNumeric\\ +% \textbackslash makeatother}}\end{mdframed} +% \makeatletter +% Resulting in +% \begin{mdframed}[backgroundcolor=blue!25]% +% {The value is \k@SI@full@VacuumPermittivityNumeric}\end{mdframed} +% \makeatother +% +% \DescribeMacro{\k@cgs@short@VacuumPermittivityNumeric} +% |\k@cgs@short@VacuumPermittivityNumeric| is a mathematical value of +% the electric permittivity of the vacuum in +% cgs units with reduced precision. +% (CODATA~2018) +% +% The macro can be invoked by (e.g.) +% \begin{mdframed}[backgroundcolor=orange!25]% +% {\small\texttt{\textbackslash makeatletter\\ The value is +% \textbackslash k@cgs@short@VacuumPermittivityNumeric\\ +% \textbackslash makeatother}}\end{mdframed} +% \makeatletter +% Resulting in +% \begin{mdframed}[backgroundcolor=blue!25]% +% {The value is \k@cgs@short@VacuumPermittivityNumeric}\end{mdframed} +% \makeatother +% +% \DescribeMacro{\k@cgs@full@VacuumPermittivityNumeric} +% |\k@cgs@full@VacuumPermittivityNumeric| is a mathematical value of +% the electric permittivity of the vacuum in cgs +% units with full precision. +% (CODATA~2018) +% +% The macro can be invoked by (e.g.) +% \begin{mdframed}[backgroundcolor=orange!25]% +% {\small\texttt{\textbackslash makeatletter\\ The value is +% \textbackslash k@cgs@full@VacuumPermittivityNumeric\\ +% \textbackslash makeatother}}\end{mdframed} +% \makeatletter +% Resulting in +% \begin{mdframed}[backgroundcolor=blue!25]% +% {The value is \k@cgs@full@VacuumPermittivityNumeric}\end{mdframed} +% \makeatother +% +% \DescribeMacro{\k@SI@short@VacuumPermeability} +% \changes{v1.1.0}{2020/02/03}{Fix value of constant.} +% |\k@SI@short@VacuumPermeability| is the magnetic permeability of the vacuum +% in SI units with reduced precision. +% (Calculated) +% +% The macro can be invoked by (e.g.) +% \begin{mdframed}[backgroundcolor=orange!25]% +% {\small\texttt{\textbackslash makeatletter\\ The value is +% \textbackslash k@SI@short@VacuumPermeability\\ +% \textbackslash makeatother}}\end{mdframed} +% \makeatletter +% Resulting in +% \begin{mdframed}[backgroundcolor=blue!25]% +% {The value is \k@SI@short@VacuumPermeability}\end{mdframed} +% \makeatother +% +% \DescribeMacro{\k@SI@full@VacuumPermeability} +% \changes{v1.1.0}{2020/02/03}{Fix value of constant.} +% |\k@SI@full@VacuumPermeability| is the magnetic permeability of the vacuum in +% SI units with full precision. +% (Calculated) +% +% The macro can be invoked by (e.g.) +% \begin{mdframed}[backgroundcolor=orange!25]% +% {\small\texttt{\textbackslash makeatletter\\ The value is +% \textbackslash k@SI@full@VacuumPermeability\\ +% \textbackslash makeatother}}\end{mdframed} +% \makeatletter +% Resulting in +% \begin{mdframed}[backgroundcolor=blue!25]% +% {The value is \k@SI@full@VacuumPermeability}\end{mdframed} +% \makeatother +% +% \DescribeMacro{\k@cgs@short@VacuumPermeability} +% \changes{v1.1.0}{2020/02/03}{Fix value of constant.} +% |\k@cgs@short@VacuumPermeability| is the magnetic permeability of the vacuum +% in cgs units with reduced precision. +% (Calculated) +% +% The macro can be invoked by (e.g.) +% \begin{mdframed}[backgroundcolor=orange!25]% +% {\small\texttt{\textbackslash makeatletter\\ The value is +% \textbackslash k@cgs@short@VacuumPermeability\\ +% \textbackslash makeatother}}\end{mdframed} +% \makeatletter +% Resulting in +% \begin{mdframed}[backgroundcolor=blue!25]% +% {The value is \k@cgs@short@VacuumPermeability}\end{mdframed} +% \makeatother +% +% \DescribeMacro{\k@cgs@full@VacuumPermeability} +% \changes{v1.1.0}{2020/02/03}{Fix value of constant.} +% |\k@cgs@full@VacuumPermeability| is the magnetic permeability of the vacuum +% in cgs units with full precision. +% (Calculated) +% +% The macro can be invoked by (e.g.) +% \begin{mdframed}[backgroundcolor=orange!25]% +% {\small\texttt{\textbackslash makeatletter\\ The value is +% \textbackslash k@cgs@full@VacuumPermeability\\ +% \textbackslash makeatother}}\end{mdframed} +% \makeatletter +% Resulting in +% \begin{mdframed}[backgroundcolor=blue!25]% +% {The value is \k@cgs@full@VacuumPermeability}\end{mdframed} +% \makeatother +% +% \DescribeMacro{\k@SI@short@VacuumPermeabilityNumeric} +% \changes{v1.1.0}{2020/02/03}{Fix value of constant.} +% |\k@SI@short@VacuumPermeabilityNumeric| is a mathematical value of +% the magnetic permeability of the vacuum in SI +% units with reduced precision. +% (Calculated) +% +% The macro can be invoked by (e.g.) +% \begin{mdframed}[backgroundcolor=orange!25]% +% {\small\texttt{\textbackslash makeatletter\\ The value is +% \textbackslash k@SI@short@VacuumPermeabilityNumeric\\ +% \textbackslash makeatother}}\end{mdframed} +% \makeatletter +% Resulting in +% \begin{mdframed}[backgroundcolor=blue!25]% +% {The value is \k@SI@short@VacuumPermeabilityNumeric}\end{mdframed} +% \makeatother +% +% \DescribeMacro{\k@SI@full@VacuumPermeabilityNumeric} +% \changes{v1.1.0}{2020/02/03}{Fix value of constant.} +% |\k@SI@full@VacuumPermeabilityNumeric| is a mathematical value of +% the magnetic permeability of the vacuum in SI +% units with full precision. +% (Calculated) +% +% The macro can be invoked by (e.g.) +% \begin{mdframed}[backgroundcolor=orange!25]% +% {\small\texttt{\textbackslash makeatletter\\ The value is +% \textbackslash k@SI@full@VacuumPermeabilityNumeric\\ +% \textbackslash makeatother}}\end{mdframed} +% \makeatletter +% Resulting in +% \begin{mdframed}[backgroundcolor=blue!25]% +% {The value is \k@SI@full@VacuumPermeabilityNumeric}\end{mdframed} +% \makeatother +% +% \DescribeMacro{\k@cgs@short@VacuumPermeabilityNumeric} +% \changes{v1.1.0}{2020/02/03}{Fix value of constant.} +% |\k@cgs@short@VacuumPermeabilityNumeric| is a mathematical value of +% the magnetic permeability of the vacuum in +% cgs units with reduced precision. +% (Calculated) +% +% The macro can be invoked by (e.g.) +% \begin{mdframed}[backgroundcolor=orange!25]% +% {\small\texttt{\textbackslash makeatletter\\ The value is +% \textbackslash k@cgs@short@VacuumPermeabilityNumeric\\ +% \textbackslash makeatother}}\end{mdframed} +% \makeatletter +% Resulting in +% \begin{mdframed}[backgroundcolor=blue!25]% +% {The value is \k@cgs@short@VacuumPermeabilityNumeric}\end{mdframed} +% \makeatother +% +% \DescribeMacro{\k@cgs@full@VacuumPermeabilityNumeric} +% \changes{v1.1.0}{2020/02/03}{Fix value of constant.} +% |\k@cgs@full@VacuumPermeabilityNumeric| is a mathematical value of +% the magnetic permeability of the vacuum in cgs +% units with full precision. +% (Calculated) +% +% The macro can be invoked by (e.g.) +% \begin{mdframed}[backgroundcolor=orange!25]% +% {\small\texttt{\textbackslash makeatletter\\ The value is +% \textbackslash k@cgs@full@VacuumPermeabilityNumeric\\ +% \textbackslash makeatother}}\end{mdframed} +% \makeatletter +% Resulting in +% \begin{mdframed}[backgroundcolor=blue!25]% +% {The value is \k@cgs@full@VacuumPermeabilityNumeric}\end{mdframed} +% \makeatother +% +% \DescribeMacro{\k@short@VacuumImpedance} +% |\k@short@VacuumImpedance| is the characteristic impedance of the vacuum with +% reduced precision. +% (CODATA~2018) +% +% The macro can be invoked by (e.g.) +% \begin{mdframed}[backgroundcolor=orange!25]% +% {\small\texttt{\textbackslash makeatletter\\ The value is +% \textbackslash k@short@VacuumImpedance\\ +% \textbackslash makeatother}}\end{mdframed} +% \makeatletter +% Resulting in +% \begin{mdframed}[backgroundcolor=blue!25]% +% {The value is \k@short@VacuumImpedance}\end{mdframed} +% \makeatother +% +% \DescribeMacro{\k@full@VacuumImpedance} +% |\k@full@VacuumImpedance| is the characteristic impedance of the vacuum with +% full precision. +% (CODATA~2018) +% +% The macro can be invoked by (e.g.) +% \begin{mdframed}[backgroundcolor=orange!25]% +% {\small\texttt{\textbackslash makeatletter\\ The value is +% \textbackslash k@full@VacuumImpedance\\ +% \textbackslash makeatother}}\end{mdframed} +% \makeatletter +% Resulting in +% \begin{mdframed}[backgroundcolor=blue!25]% +% {The value is \k@full@VacuumImpedance}\end{mdframed} +% \makeatother +% +% \DescribeMacro{\k@short@VacuumImpedanceNumeric} +% |\k@short@VacuumImpedanceNumeric| is a mathematical value of +% the characteristic impedance of the vacuum with +% reduced precision. +% (CODATA~2018) +% +% The macro can be invoked by (e.g.) +% \begin{mdframed}[backgroundcolor=orange!25]% +% {\small\texttt{\textbackslash makeatletter\\ The value is +% \textbackslash k@short@VacuumImpedanceNumeric\\ +% \textbackslash makeatother}}\end{mdframed} +% \makeatletter +% Resulting in +% \begin{mdframed}[backgroundcolor=blue!25]% +% {The value is \k@short@VacuumImpedanceNumeric}\end{mdframed} +% \makeatother +% +% \DescribeMacro{\k@full@VacuumImpedanceNumeric} +% |\k@full@VacuumImpedanceNumeric| is a mathematical value of +% the characteristic impedance of the vacuum with full +% precision. +% (CODATA~2018) +% +% The macro can be invoked by (e.g.) +% \begin{mdframed}[backgroundcolor=orange!25]% +% {\small\texttt{\textbackslash makeatletter\\ The value is +% \textbackslash k@full@VacuumImpedanceNumeric\\ +% \textbackslash makeatother}}\end{mdframed} +% \makeatletter +% Resulting in +% \begin{mdframed}[backgroundcolor=blue!25]% +% {The value is \k@full@VacuumImpedanceNumeric}\end{mdframed} +% \makeatother +% +% \DescribeMacro{\k@SI@short@Boltzmann} +% |\k@SI@short@Boltzmann| is the Boltzmann constant in SI units with reduced +% precision. +% (CODATA~2018) +% +% The macro can be invoked by (e.g.) +% \begin{mdframed}[backgroundcolor=orange!25]% +% {\small\texttt{\textbackslash makeatletter\\ The value is +% \textbackslash k@SI@short@Boltzmann\\ +% \textbackslash makeatother}}\end{mdframed} +% \makeatletter +% Resulting in +% \begin{mdframed}[backgroundcolor=blue!25]% +% {The value is \k@SI@short@Boltzmann}\end{mdframed} +% \makeatother +% +% \DescribeMacro{\k@SI@full@Boltzmann} +% |\k@SI@full@Boltzmann| is the Boltzmann constant in SI units with full +% precision. +% (CODATA~2018) +% +% The macro can be invoked by (e.g.) +% \begin{mdframed}[backgroundcolor=orange!25]% +% {\small\texttt{\textbackslash makeatletter\\ The value is +% \textbackslash k@SI@full@Boltzmann\\ +% \textbackslash makeatother}}\end{mdframed} +% \makeatletter +% Resulting in +% \begin{mdframed}[backgroundcolor=blue!25]% +% {The value is \k@SI@full@Boltzmann}\end{mdframed} +% \makeatother +% +% \DescribeMacro{\k@cgs@short@Boltzmann} +% |\k@cgs@short@Boltzmann| is the Boltzmann constant in cgs units with reduced +% precision. +% (CODATA~2018) +% +% The macro can be invoked by (e.g.) +% \begin{mdframed}[backgroundcolor=orange!25]% +% {\small\texttt{\textbackslash makeatletter\\ The value is +% \textbackslash k@cgs@short@Boltzmann\\ +% \textbackslash makeatother}}\end{mdframed} +% \makeatletter +% Resulting in +% \begin{mdframed}[backgroundcolor=blue!25]% +% {The value is \k@cgs@short@Boltzmann}\end{mdframed} +% \makeatother +% +% \DescribeMacro{\k@cgs@full@Boltzmann} +% |\k@cgs@full@Boltzmann| is the Boltzmann constant in cgs units with full +% precision. +% (CODATA~2018) +% +% The macro can be invoked by (e.g.) +% \begin{mdframed}[backgroundcolor=orange!25]% +% {\small\texttt{\textbackslash makeatletter\\ The value is +% \textbackslash k@cgs@full@Boltzmann\\ +% \textbackslash makeatother}}\end{mdframed} +% \makeatletter +% Resulting in +% \begin{mdframed}[backgroundcolor=blue!25]% +% {The value is \k@cgs@full@Boltzmann}\end{mdframed} +% \makeatother +% +% \DescribeMacro{\k@eV@short@Boltzmann} +% |\k@eV@short@Boltzmann| is the Boltzmann constant in eV with reduced +% precision. +% (CODATA~2018) +% +% The macro can be invoked by (e.g.) +% \begin{mdframed}[backgroundcolor=orange!25]% +% {\small\texttt{\textbackslash makeatletter\\ The value is +% \textbackslash k@eV@short@Boltzmann\\ +% \textbackslash makeatother}}\end{mdframed} +% \makeatletter +% Resulting in +% \begin{mdframed}[backgroundcolor=blue!25]% +% {The value is \k@eV@short@Boltzmann}\end{mdframed} +% \makeatother +% +% \DescribeMacro{\k@eV@full@Boltzmann} +% |\k@eV@full@Boltzmann| is the Boltzmann constant in eV with full precision. +% (CODATA~2018) +% +% The macro can be invoked by (e.g.) +% \begin{mdframed}[backgroundcolor=orange!25]% +% {\small\texttt{\textbackslash makeatletter\\ The value is +% \textbackslash k@eV@full@Boltzmann\\ +% \textbackslash makeatother}}\end{mdframed} +% \makeatletter +% Resulting in +% \begin{mdframed}[backgroundcolor=blue!25]% +% {The value is \k@eV@full@Boltzmann}\end{mdframed} +% \makeatother +% +% \DescribeMacro{\k@SI@short@BoltzmannNumeric} +% |\k@SI@short@BoltzmannNumeric| is a mathematical value of +% the Boltzmann constant in SI units with reduced +% precision. +% (CODATA~2018) +% +% The macro can be invoked by (e.g.) +% \begin{mdframed}[backgroundcolor=orange!25]% +% {\small\texttt{\textbackslash makeatletter\\ The value is +% \textbackslash k@SI@short@BoltzmannNumeric\\ +% \textbackslash makeatother}}\end{mdframed} +% \makeatletter +% Resulting in +% \begin{mdframed}[backgroundcolor=blue!25]% +% {The value is \k@SI@short@BoltzmannNumeric}\end{mdframed} +% \makeatother +% +% \DescribeMacro{\k@SI@full@BoltzmannNumeric} +% |\k@SI@full@BoltzmannNumeric| is a mathematical value of +% the Boltzmann constant in SI units with full precision. +% (CODATA~2018) +% +% The macro can be invoked by (e.g.) +% \begin{mdframed}[backgroundcolor=orange!25]% +% {\small\texttt{\textbackslash makeatletter\\ The value is +% \textbackslash k@SI@full@BoltzmannNumeric\\ +% \textbackslash makeatother}}\end{mdframed} +% \makeatletter +% Resulting in +% \begin{mdframed}[backgroundcolor=blue!25]% +% {The value is \k@SI@full@BoltzmannNumeric}\end{mdframed} +% \makeatother +% +% \DescribeMacro{\k@cgs@short@BoltzmannNumeric} +% |\k@cgs@short@BoltzmannNumeric| is a mathematical value of +% the Boltzmann constant in cgs units with reduced +% precision. +% (CODATA~2018) +% +% The macro can be invoked by (e.g.) +% \begin{mdframed}[backgroundcolor=orange!25]% +% {\small\texttt{\textbackslash makeatletter\\ The value is +% \textbackslash k@cgs@short@BoltzmannNumeric\\ +% \textbackslash makeatother}}\end{mdframed} +% \makeatletter +% Resulting in +% \begin{mdframed}[backgroundcolor=blue!25]% +% {The value is \k@cgs@short@BoltzmannNumeric}\end{mdframed} +% \makeatother +% +% \DescribeMacro{\k@cgs@full@BoltzmannNumeric} +% |\k@cgs@full@BoltzmannNumeric| is a mathematical value of +% the Boltzmann constant in cgs units with full precision. +% (CODATA~2018) +% +% The macro can be invoked by (e.g.) +% \begin{mdframed}[backgroundcolor=orange!25]% +% {\small\texttt{\textbackslash makeatletter\\ The value is +% \textbackslash k@cgs@full@BoltzmannNumeric\\ +% \textbackslash makeatother}}\end{mdframed} +% \makeatletter +% Resulting in +% \begin{mdframed}[backgroundcolor=blue!25]% +% {The value is \k@cgs@full@BoltzmannNumeric}\end{mdframed} +% \makeatother +% +% \DescribeMacro{\k@eV@short@BoltzmannNumeric} +% |\k@eV@short@BoltzmannNumeric| is a mathematical value of +% the Boltzmann constant in eV with reduced precision. +% (CODATA~2018) +% +% The macro can be invoked by (e.g.) +% \begin{mdframed}[backgroundcolor=orange!25]% +% {\small\texttt{\textbackslash makeatletter\\ The value is +% \textbackslash k@eV@short@BoltzmannNumeric\\ +% \textbackslash makeatother}}\end{mdframed} +% \makeatletter +% Resulting in +% \begin{mdframed}[backgroundcolor=blue!25]% +% {The value is \k@eV@short@BoltzmannNumeric}\end{mdframed} +% \makeatother +% +% \DescribeMacro{\k@eV@full@BoltzmannNumeric} +% |\k@eV@full@BoltzmannNumeric| is a mathematical value of +% the Boltzmann constant in eV with full precision. +% (CODATA~2018) +% +% The macro can be invoked by (e.g.) +% \begin{mdframed}[backgroundcolor=orange!25]% +% {\small\texttt{\textbackslash makeatletter\\ The value is +% \textbackslash k@eV@full@BoltzmannNumeric\\ +% \textbackslash makeatother}}\end{mdframed} +% \makeatletter +% Resulting in +% \begin{mdframed}[backgroundcolor=blue!25]% +% {The value is \k@eV@full@BoltzmannNumeric}\end{mdframed} +% \makeatother +% +% \DescribeMacro{\k@SI@short@Planck} +% \changes{v1.1.0}{2020/02/03}{Fix order of magnitude of constant.} +% |\k@SI@short@Planck| is the Planck constant in SI units with reduced +% precision. +% (CODATA~2018) +% +% The macro can be invoked by (e.g.) +% \begin{mdframed}[backgroundcolor=orange!25]% +% {\small\texttt{\textbackslash makeatletter\\ The value is +% \textbackslash k@SI@short@Planck\\ +% \textbackslash makeatother}}\end{mdframed} +% \makeatletter +% Resulting in +% \begin{mdframed}[backgroundcolor=blue!25]% +% {The value is \k@SI@short@Planck}\end{mdframed} +% \makeatother +% +% \DescribeMacro{\k@SI@full@Planck} +% \changes{v1.1.0}{2020/02/03}{Fix order of magnitude of constant.} +% |\k@SI@full@Planck| is the Planck constant in SI units with full precision. +% (CODATA~2018) +% +% The macro can be invoked by (e.g.) +% \begin{mdframed}[backgroundcolor=orange!25]% +% {\small\texttt{\textbackslash makeatletter\\ The value is +% \textbackslash k@SI@full@Planck\\ +% \textbackslash makeatother}}\end{mdframed} +% \makeatletter +% Resulting in +% \begin{mdframed}[backgroundcolor=blue!25]% +% {The value is \k@SI@full@Planck}\end{mdframed} +% \makeatother +% +% \DescribeMacro{\k@cgs@short@Planck} +% \changes{v1.1.0}{2020/02/03}{Fix order of magnitude of constant.} +% |\k@cgs@short@Planck| is the Planck constant in cgs units with reduced +% precision. +% (CODATA~2018) +% +% The macro can be invoked by (e.g.) +% \begin{mdframed}[backgroundcolor=orange!25]% +% {\small\texttt{\textbackslash makeatletter\\ The value is +% \textbackslash k@cgs@short@Planck\\ +% \textbackslash makeatother}}\end{mdframed} +% \makeatletter +% Resulting in +% \begin{mdframed}[backgroundcolor=blue!25]% +% {The value is \k@cgs@short@Planck}\end{mdframed} +% \makeatother +% +% \DescribeMacro{\k@cgs@full@Planck} +% \changes{v1.1.0}{2020/02/03}{Fix order of magnitude of constant.} +% |\k@cgs@full@Planck| is the Planck constant in cgs units with full precision. +% (CODATA~2018) +% +% The macro can be invoked by (e.g.) +% \begin{mdframed}[backgroundcolor=orange!25]% +% {\small\texttt{\textbackslash makeatletter\\ The value is +% \textbackslash k@cgs@full@Planck\\ +% \textbackslash makeatother}}\end{mdframed} +% \makeatletter +% Resulting in +% \begin{mdframed}[backgroundcolor=blue!25]% +% {The value is \k@cgs@full@Planck}\end{mdframed} +% \makeatother +% +% \DescribeMacro{\k@eV@short@Planck} +% \changes{v1.1.0}{2020/02/03}{Fix order of magnitude of constant.} +% |\k@eV@short@Planck| is the Planck constant in eV with reduced precision. +% (CODATA~2018) +% +% The macro can be invoked by (e.g.) +% \begin{mdframed}[backgroundcolor=orange!25]% +% {\small\texttt{\textbackslash makeatletter\\ The value is +% \textbackslash k@eV@short@Planck\\ +% \textbackslash makeatother}}\end{mdframed} +% \makeatletter +% Resulting in +% \begin{mdframed}[backgroundcolor=blue!25]% +% {The value is \k@eV@short@Planck}\end{mdframed} +% \makeatother +% +% \DescribeMacro{\k@eV@full@Planck} +% \changes{v1.1.0}{2020/02/03}{Fix order of magnitude of constant.} +% |\k@eV@full@Planck| is the Planck constant in eV with full precision. +% (CODATA~2018) +% +% The macro can be invoked by (e.g.) +% \begin{mdframed}[backgroundcolor=orange!25]% +% {\small\texttt{\textbackslash makeatletter\\ The value is +% \textbackslash k@eV@full@Planck\\ +% \textbackslash makeatother}}\end{mdframed} +% \makeatletter +% Resulting in +% \begin{mdframed}[backgroundcolor=blue!25]% +% {The value is \k@eV@full@Planck}\end{mdframed} +% \makeatother +% +% \DescribeMacro{\k@SI@short@PlanckNumeric} +% \changes{v1.1.0}{2020/02/03}{Fix order of magnitude of constant.} +% |\k@SI@short@PlanckNumeric| is a mathematical value of +% the Planck constant in SI units with reduced precision. +% (CODATA~2018) +% +% The macro can be invoked by (e.g.) +% \begin{mdframed}[backgroundcolor=orange!25]% +% {\small\texttt{\textbackslash makeatletter\\ The value is +% \textbackslash k@SI@short@PlanckNumeric\\ +% \textbackslash makeatother}}\end{mdframed} +% \makeatletter +% Resulting in +% \begin{mdframed}[backgroundcolor=blue!25]% +% {The value is \k@SI@short@PlanckNumeric}\end{mdframed} +% \makeatother +% +% \DescribeMacro{\k@SI@full@PlanckNumeric} +% \changes{v1.1.0}{2020/02/03}{Fix order of magnitude of constant.} +% |\k@SI@full@PlanckNumeric| is a mathematical value of +% the Planck constant in SI units with full precision. +% (CODATA~2018) +% +% The macro can be invoked by (e.g.) +% \begin{mdframed}[backgroundcolor=orange!25]% +% {\small\texttt{\textbackslash makeatletter\\ The value is +% \textbackslash k@SI@full@PlanckNumeric\\ +% \textbackslash makeatother}}\end{mdframed} +% \makeatletter +% Resulting in +% \begin{mdframed}[backgroundcolor=blue!25]% +% {The value is \k@SI@full@PlanckNumeric}\end{mdframed} +% \makeatother +% +% \DescribeMacro{\k@cgs@short@PlanckNumeric} +% \changes{v1.1.0}{2020/02/03}{Fix order of magnitude of constant.} +% |\k@cgs@short@PlanckNumeric| is a mathematical value of +% the Planck constant in cgs units with reduced precision. +% (CODATA~2018) +% +% The macro can be invoked by (e.g.) +% \begin{mdframed}[backgroundcolor=orange!25]% +% {\small\texttt{\textbackslash makeatletter\\ The value is +% \textbackslash k@cgs@short@PlanckNumeric\\ +% \textbackslash makeatother}}\end{mdframed} +% \makeatletter +% Resulting in +% \begin{mdframed}[backgroundcolor=blue!25]% +% {The value is \k@cgs@short@PlanckNumeric}\end{mdframed} +% \makeatother +% +% \DescribeMacro{\k@cgs@full@PlanckNumeric} +% \changes{v1.1.0}{2020/02/03}{Fix order of magnitude of constant.} +% |\k@cgs@full@PlanckNumeric| is a mathematical value of +% the Planck constant in cgs units with full precision. +% (CODATA~2018) +% +% The macro can be invoked by (e.g.) +% \begin{mdframed}[backgroundcolor=orange!25]% +% {\small\texttt{\textbackslash makeatletter\\ The value is +% \textbackslash k@cgs@full@PlanckNumeric\\ +% \textbackslash makeatother}}\end{mdframed} +% \makeatletter +% Resulting in +% \begin{mdframed}[backgroundcolor=blue!25]% +% {The value is \k@cgs@full@PlanckNumeric}\end{mdframed} +% \makeatother +% +% \DescribeMacro{\k@eV@short@PlanckNumeric} +% \changes{v1.1.0}{2020/02/03}{Fix order of magnitude of constant.} +% |\k@eV@short@PlanckNumeric| is a mathematical value of +% the Planck constant in eV with reduced precision. +% (CODATA~2018) +% +% The macro can be invoked by (e.g.) +% \begin{mdframed}[backgroundcolor=orange!25]% +% {\small\texttt{\textbackslash makeatletter\\ The value is +% \textbackslash k@eV@short@PlanckNumeric\\ +% \textbackslash makeatother}}\end{mdframed} +% \makeatletter +% Resulting in +% \begin{mdframed}[backgroundcolor=blue!25]% +% {The value is \k@eV@short@PlanckNumeric}\end{mdframed} +% \makeatother +% +% \DescribeMacro{\k@eV@full@PlanckNumeric} +% \changes{v1.1.0}{2020/02/03}{Fix order of magnitude of constant.} +% |\k@eV@full@PlanckNumeric| is a mathematical value of +% the Planck constant in eV with full precision. +% (CODATA~2018) +% +% The macro can be invoked by (e.g.) +% \begin{mdframed}[backgroundcolor=orange!25]% +% {\small\texttt{\textbackslash makeatletter\\ The value is +% \textbackslash k@eV@full@PlanckNumeric\\ +% \textbackslash makeatother}}\end{mdframed} +% \makeatletter +% Resulting in +% \begin{mdframed}[backgroundcolor=blue!25]% +% {The value is \k@eV@full@PlanckNumeric}\end{mdframed} +% \makeatother +% +% \DescribeMacro{\k@SI@short@PlanckReduced} +% \changes{v1.1.0}{2020/02/03}{Fix order of magnitude of constant.} +% |\k@SI@short@PlanckReduced| is the Reduced Planck constant +% $\left(\frac{h}{2\pi}\right)$ in SI units with reduced precision. +% (Calculated) +% +% The macro can be invoked by (e.g.) +% \begin{mdframed}[backgroundcolor=orange!25]% +% {\small\texttt{\textbackslash makeatletter\\ The value is +% \textbackslash k@SI@short@PlanckReduced\\ +% \textbackslash makeatother}}\end{mdframed} +% \makeatletter +% Resulting in +% \begin{mdframed}[backgroundcolor=blue!25]% +% {The value is \k@SI@short@PlanckReduced}\end{mdframed} +% \makeatother +% +% \DescribeMacro{\k@SI@full@PlanckReduced} +% \changes{v1.1.0}{2020/02/03}{Fix order of magnitude of constant.} +% |\k@SI@full@PlanckReduced| is the Reduced Planck constant +% $\left(\frac{h}{2\pi}\right)$ in SI units with full precision. +% (Calculated) +% +% The macro can be invoked by (e.g.) +% \begin{mdframed}[backgroundcolor=orange!25]% +% {\small\texttt{\textbackslash makeatletter\\ The value is +% \textbackslash k@SI@full@PlanckReduced\\ +% \textbackslash makeatother}}\end{mdframed} +% \makeatletter +% Resulting in +% \begin{mdframed}[backgroundcolor=blue!25]% +% {The value is \k@SI@full@PlanckReduced}\end{mdframed} +% \makeatother +% +% \DescribeMacro{\k@cgs@short@PlanckReduced} +% \changes{v1.1.0}{2020/02/03}{Fix order of magnitude of constant.} +% |\k@cgs@short@PlanckReduced| is the Reduced Planck constant +% $\left(\frac{h}{2\pi}\right)$ in cgs units with reduced precision. +% (Calculated) +% +% The macro can be invoked by (e.g.) +% \begin{mdframed}[backgroundcolor=orange!25]% +% {\small\texttt{\textbackslash makeatletter\\ The value is +% \textbackslash k@cgs@short@PlanckReduced\\ +% \textbackslash makeatother}}\end{mdframed} +% \makeatletter +% Resulting in +% \begin{mdframed}[backgroundcolor=blue!25]% +% {The value is \k@cgs@short@PlanckReduced}\end{mdframed} +% \makeatother +% +% \DescribeMacro{\k@cgs@full@PlanckReduced} +% \changes{v1.1.0}{2020/02/03}{Fix order of magnitude of constant.} +% |\k@cgs@full@PlanckReduced| is the Reduced Planck constant +% $\left(\frac{h}{2\pi}\right)$ in cgs units with full precision. +% (Calculated) +% +% The macro can be invoked by (e.g.) +% \begin{mdframed}[backgroundcolor=orange!25]% +% {\small\texttt{\textbackslash makeatletter\\ The value is +% \textbackslash k@cgs@full@PlanckReduced\\ +% \textbackslash makeatother}}\end{mdframed} +% \makeatletter +% Resulting in +% \begin{mdframed}[backgroundcolor=blue!25]% +% {The value is \k@cgs@full@PlanckReduced}\end{mdframed} +% \makeatother +% +% \DescribeMacro{\k@eV@short@PlanckReduced} +% \changes{v1.1.0}{2020/02/03}{Fix order of magnitude of constant.} +% |\k@eV@short@PlanckReduced| is the Reduced Planck constant +% $\left(\frac{h}{2\pi}\right)$ in eV with reduced precision. +% (Calculated) +% +% The macro can be invoked by (e.g.) +% \begin{mdframed}[backgroundcolor=orange!25]% +% {\small\texttt{\textbackslash makeatletter\\ The value is +% \textbackslash k@eV@short@PlanckReduced\\ +% \textbackslash makeatother}}\end{mdframed} +% \makeatletter +% Resulting in +% \begin{mdframed}[backgroundcolor=blue!25]% +% {The value is \k@eV@short@PlanckReduced}\end{mdframed} +% \makeatother +% +% \DescribeMacro{\k@eV@full@PlanckReduced} +% \changes{v1.1.0}{2020/02/03}{Fix order of magnitude of constant.} +% |\k@eV@full@PlanckReduced| is the Reduced Planck constant +% $\left(\frac{h}{2\pi}\right)$ in eV with full precision. +% (Calculated) +% +% The macro can be invoked by (e.g.) +% \begin{mdframed}[backgroundcolor=orange!25]% +% {\small\texttt{\textbackslash makeatletter\\ The value is +% \textbackslash k@eV@full@PlanckReduced\\ +% \textbackslash makeatother}}\end{mdframed} +% \makeatletter +% Resulting in +% \begin{mdframed}[backgroundcolor=blue!25]% +% {The value is \k@eV@full@PlanckReduced}\end{mdframed} +% \makeatother +% +% \DescribeMacro{\k@SI@short@PlanckReducedNumeric} +% \changes{v1.1.0}{2020/02/03}{Fix order of magnitude of constant.} +% |\k@SI@short@PlanckReducedNumeric| is a mathematical value of +% the Reduced Planck constant +% $\left(\frac{h}{2\pi}\right)$ in SI units with reduced precision. +% (Calculated) +% +% The macro can be invoked by (e.g.) +% \begin{mdframed}[backgroundcolor=orange!25]% +% {\small\texttt{\textbackslash makeatletter\\ The value is +% \textbackslash k@SI@short@PlanckReducedNumeric\\ +% \textbackslash makeatother}}\end{mdframed} +% \makeatletter +% Resulting in +% \begin{mdframed}[backgroundcolor=blue!25]% +% {The value is \k@SI@short@PlanckReducedNumeric}\end{mdframed} +% \makeatother +% +% \DescribeMacro{\k@SI@full@PlanckReducedNumeric} +% \changes{v1.1.0}{2020/02/03}{Fix order of magnitude of constant.} +% |\k@SI@full@PlanckReducedNumeric| is a mathematical value of +% the Reduced Planck constant +% $\left(\frac{h}{2\pi}\right)$ in SI units with full precision. +% (Calculated) +% +% The macro can be invoked by (e.g.) +% \begin{mdframed}[backgroundcolor=orange!25]% +% {\small\texttt{\textbackslash makeatletter\\ The value is +% \textbackslash k@SI@full@PlanckReducedNumeric\\ +% \textbackslash makeatother}}\end{mdframed} +% \makeatletter +% Resulting in +% \begin{mdframed}[backgroundcolor=blue!25]% +% {The value is \k@SI@full@PlanckReducedNumeric}\end{mdframed} +% \makeatother +% +% \DescribeMacro{\k@cgs@short@PlanckReducedNumeric} +% \changes{v1.1.0}{2020/02/03}{Fix order of magnitude of constant.} +% |\k@cgs@short@PlanckReducedNumeric| is a mathematical value of +% the Reduced Planck constant +% $\left(\frac{h}{2\pi}\right)$ in cgs units with reduced precision. +% (Calculated) +% +% The macro can be invoked by (e.g.) +% \begin{mdframed}[backgroundcolor=orange!25]% +% {\small\texttt{\textbackslash makeatletter\\ The value is +% \textbackslash k@cgs@short@PlanckReducedNumeric\\ +% \textbackslash makeatother}}\end{mdframed} +% \makeatletter +% Resulting in +% \begin{mdframed}[backgroundcolor=blue!25]% +% {The value is \k@cgs@short@PlanckReducedNumeric}\end{mdframed} +% \makeatother +% +% \DescribeMacro{\k@cgs@full@PlanckReducedNumeric} +% \changes{v1.1.0}{2020/02/03}{Fix order of magnitude of constant.} +% |\k@cgs@full@PlanckReducedNumeric| is a mathematical value of +% the Reduced Planck constant +% $\left(\frac{h}{2\pi}\right)$ in cgs units with full precision. +% (Calculated) +% +% The macro can be invoked by (e.g.) +% \begin{mdframed}[backgroundcolor=orange!25]% +% {\small\texttt{\textbackslash makeatletter\\ The value is +% \textbackslash k@cgs@full@PlanckReducedNumeric\\ +% \textbackslash makeatother}}\end{mdframed} +% \makeatletter +% Resulting in +% \begin{mdframed}[backgroundcolor=blue!25]% +% {The value is \k@cgs@full@PlanckReducedNumeric}\end{mdframed} +% \makeatother +% +% \DescribeMacro{\k@eV@short@PlanckReducedNumeric} +% \changes{v1.1.0}{2020/02/03}{Fix order of magnitude of constant.} +% |\k@eV@short@PlanckReducedNumeric| is a mathematical value of +% the Reduced Planck constant +% $\left(\frac{h}{2\pi}\right)$ in eV with reduced precision. +% (Calculated) +% +% The macro can be invoked by (e.g.) +% \begin{mdframed}[backgroundcolor=orange!25]% +% {\small\texttt{\textbackslash makeatletter\\ The value is +% \textbackslash k@eV@short@PlanckReducedNumeric\\ +% \textbackslash makeatother}}\end{mdframed} +% \makeatletter +% Resulting in +% \begin{mdframed}[backgroundcolor=blue!25]% +% {The value is \k@eV@short@PlanckReducedNumeric}\end{mdframed} +% \makeatother +% +% \DescribeMacro{\k@eV@full@PlanckReducedNumeric} +% \changes{v1.1.0}{2020/02/03}{Fix order of magnitude of constant.} +% |\k@eV@full@PlanckReducedNumeric| is a mathematical value of +% the Reduced Planck constant +% $\left(\frac{h}{2\pi}\right)$ in eV with full precision. +% (Calculated) +% +% The macro can be invoked by (e.g.) +% \begin{mdframed}[backgroundcolor=orange!25]% +% {\small\texttt{\textbackslash makeatletter\\ The value is +% \textbackslash k@eV@full@PlanckReducedNumeric\\ +% \textbackslash makeatother}}\end{mdframed} +% \makeatletter +% Resulting in +% \begin{mdframed}[backgroundcolor=blue!25]% +% {The value is \k@eV@full@PlanckReducedNumeric}\end{mdframed} +% \makeatother +% +% \DescribeMacro{\k@SI@short@Gravity} +% \changes{v1.1.0}{2020/02/03}{Fix value of constant.} +% |\k@SI@short@Gravity| is Newton's gravitational constant in SI units with +% reduced precision. +% (CODATA~2018) +% +% The macro can be invoked by (e.g.) +% \begin{mdframed}[backgroundcolor=orange!25]% +% {\small\texttt{\textbackslash makeatletter\\ The value is +% \textbackslash k@SI@short@Gravity\\ +% \textbackslash makeatother}}\end{mdframed} +% \makeatletter +% Resulting in +% \begin{mdframed}[backgroundcolor=blue!25]% +% {The value is \k@SI@short@Gravity}\end{mdframed} +% \makeatother +% +% \DescribeMacro{\k@SI@full@Gravity} +% \changes{v1.1.0}{2020/02/03}{Fix value of constant.} +% |\k@SI@full@Gravity| is Newton's gravitational constant in SI units with full +% precision. +% (CODATA~2018) +% +% The macro can be invoked by (e.g.) +% \begin{mdframed}[backgroundcolor=orange!25]% +% {\small\texttt{\textbackslash makeatletter\\ The value is +% \textbackslash k@SI@full@Gravity\\ +% \textbackslash makeatother}}\end{mdframed} +% \makeatletter +% Resulting in +% \begin{mdframed}[backgroundcolor=blue!25]% +% {The value is \k@SI@full@Gravity}\end{mdframed} +% \makeatother +% +% \DescribeMacro{\k@cgs@short@Gravity} +% \changes{v1.1.0}{2020/02/03}{Fix value of constant.} +% |\k@cgs@short@Gravity| is Newton's gravitational constant in cgs units with +% reduced precision. +% (CODATA~2018) +% +% The macro can be invoked by (e.g.) +% \begin{mdframed}[backgroundcolor=orange!25]% +% {\small\texttt{\textbackslash makeatletter\\ The value is +% \textbackslash k@cgs@short@Gravity\\ +% \textbackslash makeatother}}\end{mdframed} +% \makeatletter +% Resulting in +% \begin{mdframed}[backgroundcolor=blue!25]% +% {The value is \k@cgs@short@Gravity}\end{mdframed} +% \makeatother +% +% \DescribeMacro{\k@cgs@full@Gravity} +% \changes{v1.1.0}{2020/02/03}{Fix value of constant.} +% |\k@cgs@full@Gravity| is Newton's gravitational constant in cgs units with +% full precision. +% (CODATA~2018) +% +% The macro can be invoked by (e.g.) +% \begin{mdframed}[backgroundcolor=orange!25]% +% {\small\texttt{\textbackslash makeatletter\\ The value is +% \textbackslash k@cgs@full@Gravity\\ +% \textbackslash makeatother}}\end{mdframed} +% \makeatletter +% Resulting in +% \begin{mdframed}[backgroundcolor=blue!25]% +% {The value is \k@cgs@full@Gravity}\end{mdframed} +% \makeatother +% +% \DescribeMacro{\k@SI@short@GravityNumeric} +% \changes{v1.1.0}{2020/02/03}{Fix value of constant.} +% |\k@SI@short@GravityNumeric| is a mathematical value of +% Newton's gravitational constant in SI units with reduced +% precision. +% (CODATA~2018) +% +% The macro can be invoked by (e.g.) +% \begin{mdframed}[backgroundcolor=orange!25]% +% {\small\texttt{\textbackslash makeatletter\\ The value is +% \textbackslash k@SI@short@GravityNumeric\\ +% \textbackslash makeatother}}\end{mdframed} +% \makeatletter +% Resulting in +% \begin{mdframed}[backgroundcolor=blue!25]% +% {The value is \k@SI@short@GravityNumeric}\end{mdframed} +% \makeatother +% +% \DescribeMacro{\k@SI@full@GravityNumeric} +% \changes{v1.1.0}{2020/02/03}{Fix value of constant.} +% |\k@SI@full@GravityNumeric| is a mathematical value of +% Newton's gravitational constant in SI units with full +% precision. +% (CODATA~2018) +% +% The macro can be invoked by (e.g.) +% \begin{mdframed}[backgroundcolor=orange!25]% +% {\small\texttt{\textbackslash makeatletter\\ The value is +% \textbackslash k@SI@full@GravityNumeric\\ +% \textbackslash makeatother}}\end{mdframed} +% \makeatletter +% Resulting in +% \begin{mdframed}[backgroundcolor=blue!25]% +% {The value is \k@SI@full@GravityNumeric}\end{mdframed} +% \makeatother +% +% \DescribeMacro{\k@cgs@short@GravityNumeric} +% \changes{v1.1.0}{2020/02/03}{Fix value of constant.} +% |\k@cgs@short@GravityNumeric| is a mathematical value of +% Newton's gravitational constant in cgs units with +% reduced precision. +% (CODATA~2018) +% +% The macro can be invoked by (e.g.) +% \begin{mdframed}[backgroundcolor=orange!25]% +% {\small\texttt{\textbackslash makeatletter\\ The value is +% \textbackslash k@cgs@short@GravityNumeric\\ +% \textbackslash makeatother}}\end{mdframed} +% \makeatletter +% Resulting in +% \begin{mdframed}[backgroundcolor=blue!25]% +% {The value is \k@cgs@short@GravityNumeric}\end{mdframed} +% \makeatother +% +% \DescribeMacro{\k@cgs@full@GravityNumeric} +% \changes{v1.1.0}{2020/02/03}{Fix value of constant.} +% |\k@cgs@full@GravityNumeric| is a mathematical value of +% Newton's gravitational constant in cgs units with full +% precision. +% (CODATA~2018) +% +% The macro can be invoked by (e.g.) +% \begin{mdframed}[backgroundcolor=orange!25]% +% {\small\texttt{\textbackslash makeatletter\\ The value is +% \textbackslash k@cgs@full@GravityNumeric\\ +% \textbackslash makeatother}}\end{mdframed} +% \makeatletter +% Resulting in +% \begin{mdframed}[backgroundcolor=blue!25]% +% {The value is \k@cgs@full@GravityNumeric}\end{mdframed} +% \makeatother +% +% \DescribeMacro{\k@SI@short@StefanBoltzmann} +% \changes{v1.1.0}{2020/02/03}{Fix order of magnitude of constant.} +% |\k@SI@short@StefanBoltzmann| is the Stefan-Boltzmann blackbody constant +% $\left(\frac{2\pi^5k_\mathrm{B}}{15h^3c^2}\right)$ in SI units with reduced +% precision. +% (Calculated) +% +% The macro can be invoked by (e.g.) +% \begin{mdframed}[backgroundcolor=orange!25]% +% {\small\texttt{\textbackslash makeatletter\\ The value is +% \textbackslash k@SI@short@StefanBoltzmann\\ +% \textbackslash makeatother}}\end{mdframed} +% \makeatletter +% Resulting in +% \begin{mdframed}[backgroundcolor=blue!25]% +% {The value is \k@SI@short@StefanBoltzmann}\end{mdframed} +% \makeatother +% +% \DescribeMacro{\k@SI@full@StefanBoltzmann} +% \changes{v1.1.0}{2020/02/03}{Fix order of magnitude of constant.} +% |\k@SI@full@StefanBoltzmann| is the Stefan-Boltzmann blackbody constant +% $\left(\frac{2\pi^5k_\mathrm{B}}{15h^3c^2}\right)$ in SI units with full +% precision. +% (Calculated) +% +% The macro can be invoked by (e.g.) +% \begin{mdframed}[backgroundcolor=orange!25]% +% {\small\texttt{\textbackslash makeatletter\\ The value is +% \textbackslash k@SI@full@StefanBoltzmann\\ +% \textbackslash makeatother}}\end{mdframed} +% \makeatletter +% Resulting in +% \begin{mdframed}[backgroundcolor=blue!25]% +% {The value is \k@SI@full@StefanBoltzmann}\end{mdframed} +% \makeatother +% +% \DescribeMacro{\k@cgs@short@StefanBoltzmann} +% \changes{v1.1.0}{2020/02/03}{Fix order of magnitude of constant.} +% |\k@cgs@short@StefanBoltzmann| is the Stefan-Boltzmann blackbody constant +% $\left(\frac{2\pi^5k_\mathrm{B}}{15h^3c^2}\right)$ in cgs units with reduced +% precision. +% (Calculated) +% +% The macro can be invoked by (e.g.) +% \begin{mdframed}[backgroundcolor=orange!25]% +% {\small\texttt{\textbackslash makeatletter\\ The value is +% \textbackslash k@cgs@short@StefanBoltzmann\\ +% \textbackslash makeatother}}\end{mdframed} +% \makeatletter +% Resulting in +% \begin{mdframed}[backgroundcolor=blue!25]% +% {The value is \k@cgs@short@StefanBoltzmann}\end{mdframed} +% \makeatother +% +% \DescribeMacro{\k@cgs@full@StefanBoltzmann} +% \changes{v1.1.0}{2020/02/03}{Fix order of magnitude of constant.} +% |\k@cgs@full@StefanBoltzmann| is the Stefan-Boltzmann blackbody constant +% $\left(\frac{2\pi^5k_\mathrm{B}}{15h^3c^2}\right)$ in cgs units with full +% precision. +% (Calculated) +% +% The macro can be invoked by (e.g.) +% \begin{mdframed}[backgroundcolor=orange!25]% +% {\small\texttt{\textbackslash makeatletter\\ The value is +% \textbackslash k@cgs@full@StefanBoltzmann\\ +% \textbackslash makeatother}}\end{mdframed} +% \makeatletter +% Resulting in +% \begin{mdframed}[backgroundcolor=blue!25]% +% {The value is \k@cgs@full@StefanBoltzmann}\end{mdframed} +% \makeatother +% +% \DescribeMacro{\k@SI@short@StefanBoltzmannNumeric} +% \changes{v1.1.0}{2020/02/03}{Fix order of magnitude of constant.} +% |\k@SI@short@StefanBoltzmannNumeric| is a mathematical value of +% the Stefan-Boltzmann blackbody constant +% $\left(\frac{2\pi^5k_\mathrm{B}}{15h^3c^2}\right)$ in SI units with reduced +% precision. +% (Calculated) +% +% The macro can be invoked by (e.g.) +% \begin{mdframed}[backgroundcolor=orange!25]% +% {\small\texttt{\textbackslash makeatletter\\ The value is +% \textbackslash k@SI@short@StefanBoltzmannNumeric\\ +% \textbackslash makeatother}}\end{mdframed} +% \makeatletter +% Resulting in +% \begin{mdframed}[backgroundcolor=blue!25]% +% {The value is \k@SI@short@StefanBoltzmannNumeric}\end{mdframed} +% \makeatother +% +% \DescribeMacro{\k@SI@full@StefanBoltzmannNumeric} +% \changes{v1.1.0}{2020/02/03}{Fix order of magnitude of constant.} +% |\k@SI@full@StefanBoltzmannNumeric| is a mathematical value of +% the Stefan-Boltzmann blackbody constant +% $\left(\frac{2\pi^5k_\mathrm{B}}{15h^3c^2}\right)$ in SI units with full +% precision. +% (Calculated) +% +% The macro can be invoked by (e.g.) +% \begin{mdframed}[backgroundcolor=orange!25]% +% {\small\texttt{\textbackslash makeatletter\\ The value is +% \textbackslash k@SI@full@StefanBoltzmannNumeric\\ +% \textbackslash makeatother}}\end{mdframed} +% \makeatletter +% Resulting in +% \begin{mdframed}[backgroundcolor=blue!25]% +% {The value is \k@SI@full@StefanBoltzmannNumeric}\end{mdframed} +% \makeatother +% +% \DescribeMacro{\k@cgs@short@StefanBoltzmannNumeric} +% \changes{v1.1.0}{2020/02/03}{Fix order of magnitude of constant.} +% |\k@cgs@short@StefanBoltzmannNumeric| is a mathematical value of +% the Stefan-Boltzmann blackbody constant +% $\left(\frac{2\pi^5k_\mathrm{B}}{15h^3c^2}\right)$ in cgs units with reduced +% precision. +% (Calculated) +% +% The macro can be invoked by (e.g.) +% \begin{mdframed}[backgroundcolor=orange!25]% +% {\small\texttt{\textbackslash makeatletter\\ The value is +% \textbackslash k@cgs@short@StefanBoltzmannNumeric\\ +% \textbackslash makeatother}}\end{mdframed} +% \makeatletter +% Resulting in +% \begin{mdframed}[backgroundcolor=blue!25]% +% {The value is \k@cgs@short@StefanBoltzmannNumeric}\end{mdframed} +% \makeatother +% +% \DescribeMacro{\k@cgs@full@StefanBoltzmannNumeric} +% \changes{v1.1.0}{2020/02/03}{Fix order of magnitude of constant.} +% |\k@cgs@full@StefanBoltzmannNumeric| is a mathematical value of +% the Stefan-Boltzmann blackbody constant +% $\left(\frac{2\pi^5k_\mathrm{B}}{15h^3c^2}\right)$ in cgs units with full +% precision. +% (Calculated) +% +% The macro can be invoked by (e.g.) +% \begin{mdframed}[backgroundcolor=orange!25]% +% {\small\texttt{\textbackslash makeatletter\\ The value is +% \textbackslash k@cgs@full@StefanBoltzmannNumeric\\ +% \textbackslash makeatother}}\end{mdframed} +% \makeatletter +% Resulting in +% \begin{mdframed}[backgroundcolor=blue!25]% +% {The value is \k@cgs@full@StefanBoltzmannNumeric}\end{mdframed} +% \makeatother +% +% \DescribeMacro{\k@SI@short@Radiation} +% |\k@SI@short@Radiation| is the radiation constant, $a +% \left(\frac{8\pi^5k_\mathrm{B}^4}{15c^3h^3}\right)$ in SI units with reduced +% precision. +% (Calculated) +% +% The macro can be invoked by (e.g.) +% \begin{mdframed}[backgroundcolor=orange!25]% +% {\small\texttt{\textbackslash makeatletter\\ The value is +% \textbackslash k@SI@short@Radiation\\ +% \textbackslash makeatother}}\end{mdframed} +% \makeatletter +% Resulting in +% \begin{mdframed}[backgroundcolor=blue!25]% +% {The value is \k@SI@short@Radiation}\end{mdframed} +% \makeatother +% +% \DescribeMacro{\k@SI@full@Radiation} +% |\k@SI@full@Radiation| is the radiation constant, $a +% \left(\frac{8\pi^5k_\mathrm{B}^4}{15c^3h^3}\right)$ in SI units with full +% precision. +% (Calculated) +% +% The macro can be invoked by (e.g.) +% \begin{mdframed}[backgroundcolor=orange!25]% +% {\small\texttt{\textbackslash makeatletter\\ The value is +% \textbackslash k@SI@full@Radiation\\ +% \textbackslash makeatother}}\end{mdframed} +% \makeatletter +% Resulting in +% \begin{mdframed}[backgroundcolor=blue!25]% +% {The value is \k@SI@full@Radiation}\end{mdframed} +% \makeatother +% +% \DescribeMacro{\k@cgs@short@Radiation} +% |\k@cgs@short@Radiation| is the radiation constant, $a +% \left(\frac{8\pi^5k_\mathrm{B}^4}{15c^3h^3}\right)$ in cgs units with reduced +% precision. +% (Calculated) +% +% The macro can be invoked by (e.g.) +% \begin{mdframed}[backgroundcolor=orange!25]% +% {\small\texttt{\textbackslash makeatletter\\ The value is +% \textbackslash k@cgs@short@Radiation\\ +% \textbackslash makeatother}}\end{mdframed} +% \makeatletter +% Resulting in +% \begin{mdframed}[backgroundcolor=blue!25]% +% {The value is \k@cgs@short@Radiation}\end{mdframed} +% \makeatother +% +% \DescribeMacro{\k@cgs@full@Radiation} +% |\k@cgs@full@Radiation| is the radiation constant, $a +% \left(\frac{8\pi^5k_\mathrm{B}^4}{15c^3h^3}\right)$ in cgs units with full +% precision. +% (Calculated) +% +% The macro can be invoked by (e.g.) +% \begin{mdframed}[backgroundcolor=orange!25]% +% {\small\texttt{\textbackslash makeatletter\\ The value is +% \textbackslash k@cgs@full@Radiation\\ +% \textbackslash makeatother}}\end{mdframed} +% \makeatletter +% Resulting in +% \begin{mdframed}[backgroundcolor=blue!25]% +% {The value is \k@cgs@full@Radiation}\end{mdframed} +% \makeatother +% +% \DescribeMacro{\k@SI@short@RadiationNumeric} +% |\k@SI@short@RadiationNumeric| is a mathematical value of +% the radiation constant, $a +% \left(\frac{8\pi^5k_\mathrm{B}^4}{15c^3h^3}\right)$ in SI units with reduced +% precision. +% (Calculated) +% +% The macro can be invoked by (e.g.) +% \begin{mdframed}[backgroundcolor=orange!25]% +% {\small\texttt{\textbackslash makeatletter\\ The value is +% \textbackslash k@SI@short@RadiationNumeric\\ +% \textbackslash makeatother}}\end{mdframed} +% \makeatletter +% Resulting in +% \begin{mdframed}[backgroundcolor=blue!25]% +% {The value is \k@SI@short@RadiationNumeric}\end{mdframed} +% \makeatother +% +% \DescribeMacro{\k@SI@full@RadiationNumeric} +% |\k@SI@full@RadiationNumeric| is a mathematical value of +% the radiation constant, $a +% \left(\frac{8\pi^5k_\mathrm{B}^4}{15c^3h^3}\right)$ in SI units with full +% precision. +% (Calculated) +% +% The macro can be invoked by (e.g.) +% \begin{mdframed}[backgroundcolor=orange!25]% +% {\small\texttt{\textbackslash makeatletter\\ The value is +% \textbackslash k@SI@full@RadiationNumeric\\ +% \textbackslash makeatother}}\end{mdframed} +% \makeatletter +% Resulting in +% \begin{mdframed}[backgroundcolor=blue!25]% +% {The value is \k@SI@full@RadiationNumeric}\end{mdframed} +% \makeatother +% +% \DescribeMacro{\k@cgs@short@RadiationNumeric} +% |\k@cgs@short@RadiationNumeric| is a mathematical value of +% the radiation constant, $a +% \left(\frac{8\pi^5k_\mathrm{B}^4}{15c^3h^3}\right)$ in cgs units with reduced +% precision. +% (Calculated) +% +% The macro can be invoked by (e.g.) +% \begin{mdframed}[backgroundcolor=orange!25]% +% {\small\texttt{\textbackslash makeatletter\\ The value is +% \textbackslash k@cgs@short@RadiationNumeric\\ +% \textbackslash makeatother}}\end{mdframed} +% \makeatletter +% Resulting in +% \begin{mdframed}[backgroundcolor=blue!25]% +% {The value is \k@cgs@short@RadiationNumeric}\end{mdframed} +% \makeatother +% +% \DescribeMacro{\k@cgs@full@RadiationNumeric} +% |\k@cgs@full@RadiationNumeric| is a mathematical value of +% the radiation constant, $a +% \left(\frac{8\pi^5k_\mathrm{B}^4}{15c^3h^3}\right)$ in cgs units with full +% precision. +% (Calculated) +% +% The macro can be invoked by (e.g.) +% \begin{mdframed}[backgroundcolor=orange!25]% +% {\small\texttt{\textbackslash makeatletter\\ The value is +% \textbackslash k@cgs@full@RadiationNumeric\\ +% \textbackslash makeatother}}\end{mdframed} +% \makeatletter +% Resulting in +% \begin{mdframed}[backgroundcolor=blue!25]% +% {The value is \k@cgs@full@RadiationNumeric}\end{mdframed} +% \makeatother +% +% \DescribeMacro{\k@short@FineStructure} +% |\k@short@FineStructure| is the fine structure constant with reduced +% precision. +% (Calculated) +% +% The macro can be invoked by (e.g.) +% \begin{mdframed}[backgroundcolor=orange!25]% +% {\small\texttt{\textbackslash makeatletter\\ The value is +% \textbackslash k@short@FineStructure\\ +% \textbackslash makeatother}}\end{mdframed} +% \makeatletter +% Resulting in +% \begin{mdframed}[backgroundcolor=blue!25]% +% {The value is \k@short@FineStructure}\end{mdframed} +% \makeatother +% +% \DescribeMacro{\k@full@FineStructure} +% |\k@full@FineStructure| is the fine structure constant with full precision. +% (Calculated) +% +% The macro can be invoked by (e.g.) +% \begin{mdframed}[backgroundcolor=orange!25]% +% {\small\texttt{\textbackslash makeatletter\\ The value is +% \textbackslash k@full@FineStructure\\ +% \textbackslash makeatother}}\end{mdframed} +% \makeatletter +% Resulting in +% \begin{mdframed}[backgroundcolor=blue!25]% +% {The value is \k@full@FineStructure}\end{mdframed} +% \makeatother +% +% \DescribeMacro{\k@short@FineStructureNumeric} +% |\k@short@FineStructureNumeric| is a mathematical value of +% the fine structure constant with reduced precision. +% (Calculated) +% +% The macro can be invoked by (e.g.) +% \begin{mdframed}[backgroundcolor=orange!25]% +% {\small\texttt{\textbackslash makeatletter\\ The value is +% \textbackslash k@short@FineStructureNumeric\\ +% \textbackslash makeatother}}\end{mdframed} +% \makeatletter +% Resulting in +% \begin{mdframed}[backgroundcolor=blue!25]% +% {The value is \k@short@FineStructureNumeric}\end{mdframed} +% \makeatother +% +% \DescribeMacro{\k@full@FineStructureNumeric} +% |\k@full@FineStructureNumeric| is a mathematical value of +% the fine structure constant with full precision. +% (Calculated) +% +% The macro can be invoked by (e.g.) +% \begin{mdframed}[backgroundcolor=orange!25]% +% {\small\texttt{\textbackslash makeatletter\\ The value is +% \textbackslash k@full@FineStructureNumeric\\ +% \textbackslash makeatother}}\end{mdframed} +% \makeatletter +% Resulting in +% \begin{mdframed}[backgroundcolor=blue!25]% +% {The value is \k@full@FineStructureNumeric}\end{mdframed} +% \makeatother +% +% \DescribeMacro{\k@short@FineStructureReciprocal} +% |\k@short@FineStructureReciprocal| is the reciprocal of the fine structure +% constant with reduced precision. +% (Calculated) +% +% The macro can be invoked by (e.g.) +% \begin{mdframed}[backgroundcolor=orange!25]% +% {\small\texttt{\textbackslash makeatletter\\ The value is +% \textbackslash k@short@FineStructureReciprocal\\ +% \textbackslash makeatother}}\end{mdframed} +% \makeatletter +% Resulting in +% \begin{mdframed}[backgroundcolor=blue!25]% +% {The value is \k@short@FineStructureReciprocal}\end{mdframed} +% \makeatother +% +% \DescribeMacro{\k@full@FineStructureReciprocal} +% |\k@full@FineStructureReciprocal| is the reciprocal of the fine structure +% constant with full precision. +% (Calculated) +% +% The macro can be invoked by (e.g.) +% \begin{mdframed}[backgroundcolor=orange!25]% +% {\small\texttt{\textbackslash makeatletter\\ The value is +% \textbackslash k@full@FineStructureReciprocal\\ +% \textbackslash makeatother}}\end{mdframed} +% \makeatletter +% Resulting in +% \begin{mdframed}[backgroundcolor=blue!25]% +% {The value is \k@full@FineStructureReciprocal}\end{mdframed} +% \makeatother +% +% \DescribeMacro{\k@short@FineStructureReciprocalNumeric} +% |\k@short@FineStructureReciprocalNumeric| is a mathematical value of +% the reciprocal of the fine structure +% constant with reduced precision. +% (Calculated) +% +% The macro can be invoked by (e.g.) +% \begin{mdframed}[backgroundcolor=orange!25]% +% {\small\texttt{\textbackslash makeatletter\\ The value is +% \textbackslash k@short@FineStructureReciprocalNumeric\\ +% \textbackslash makeatother}}\end{mdframed} +% \makeatletter +% Resulting in +% \begin{mdframed}[backgroundcolor=blue!25]% +% {The value is \k@short@FineStructureReciprocalNumeric}\end{mdframed} +% \makeatother +% +% \DescribeMacro{\k@full@FineStructureReciprocalNumeric} +% |\k@full@FineStructureReciprocalNumeric| is a mathematical value of +% the reciprocal of the fine structure constant +% with full precision. +% (Calculated) +% +% The macro can be invoked by (e.g.) +% \begin{mdframed}[backgroundcolor=orange!25]% +% {\small\texttt{\textbackslash makeatletter\\ The value is +% \textbackslash k@full@FineStructureReciprocalNumeric\\ +% \textbackslash makeatother}}\end{mdframed} +% \makeatletter +% Resulting in +% \begin{mdframed}[backgroundcolor=blue!25]% +% {The value is \k@full@FineStructureReciprocalNumeric}\end{mdframed} +% \makeatother +% +% \DescribeMacro{\k@short@Avogadro} +% |\k@short@Avogadro| is Avogadro's Number (the number of particles in a mole) +% with reduced precision. +% (CODATA~2018) +% +% The macro can be invoked by (e.g.) +% \begin{mdframed}[backgroundcolor=orange!25]% +% {\small\texttt{\textbackslash makeatletter\\ The value is +% \textbackslash k@short@Avogadro\\ +% \textbackslash makeatother}}\end{mdframed} +% \makeatletter +% Resulting in +% \begin{mdframed}[backgroundcolor=blue!25]% +% {The value is \k@short@Avogadro}\end{mdframed} +% \makeatother +% +% \DescribeMacro{\k@full@Avogadro} +% |\k@full@Avogadro| is Avogadro's Number (the number of particles in a mole) +% with full precision. +% (CODATA~2018) +% +% The macro can be invoked by (e.g.) +% \begin{mdframed}[backgroundcolor=orange!25]% +% {\small\texttt{\textbackslash makeatletter\\ The value is +% \textbackslash k@full@Avogadro\\ +% \textbackslash makeatother}}\end{mdframed} +% \makeatletter +% Resulting in +% \begin{mdframed}[backgroundcolor=blue!25]% +% {The value is \k@full@Avogadro}\end{mdframed} +% \makeatother +% +% \DescribeMacro{\k@short@AvogadroNumeric} +% |\k@short@AvogadroNumeric| is a mathematical value of +% Avogadro's Number (the number of particles in a mole) with +% reduced precision. +% (CODATA~2018) +% +% The macro can be invoked by (e.g.) +% \begin{mdframed}[backgroundcolor=orange!25]% +% {\small\texttt{\textbackslash makeatletter\\ The value is +% \textbackslash k@short@AvogadroNumeric\\ +% \textbackslash makeatother}}\end{mdframed} +% \makeatletter +% Resulting in +% \begin{mdframed}[backgroundcolor=blue!25]% +% {The value is \k@short@AvogadroNumeric}\end{mdframed} +% \makeatother +% +% \DescribeMacro{\k@full@AvogadroNumeric} +% |\k@full@AvogadroNumeric| is a mathematical value of +% Avogadro's Number (the number of particles in a mole) with +% full precision. +% (CODATA~2018) +% +% The macro can be invoked by (e.g.) +% \begin{mdframed}[backgroundcolor=orange!25]% +% {\small\texttt{\textbackslash makeatletter\\ The value is +% \textbackslash k@full@AvogadroNumeric\\ +% \textbackslash makeatother}}\end{mdframed} +% \makeatletter +% Resulting in +% \begin{mdframed}[backgroundcolor=blue!25]% +% {The value is \k@full@AvogadroNumeric}\end{mdframed} +% \makeatother +% +\makeatletter +% \StopEventually{} +% +% \section{Implementation} +% +% \subsection{Special} +% +%\iffalse +%<*package> +%\fi +% \begin{macro}{\physconst@decimalsseparator} +% |\physconst@decimalsseparator| is the a special macro used to separate digits +% in the decimal portion of the constants. If the option unseparatedecimals is +% not specified, decimals will be printed as 1.234\,567\,890. If the option +% is specified, decimals will be printed as 1.234567890. This macro should +% note be used outside of this package. +% +% \begin{macrocode} +\ifx\unseparatedecimals\undefined +\DeclareRobustCommand{\physconst@decimalsseparator}{\,} +\else +\DeclareRobustCommand{\physconst@decimalsseparator}{ } +\fi +% \end{macrocode} +% \end{macro} +%\iffalse +% +%\fi +% +%\subsection{Mass} +% +%\iffalse +%<*package> +%\fi +% \begin{macro}{\k@SI@short@MassElectron} +% \changes{v1.1.0}{2020/02/03}{Fix order of magnitude of constant.} +% \changes{v1.1.0}{2020/02/03}{Correct value in eV.} +% |\k@SI@short@MassElectron| is the mass of an electron in SI units with +% reduced precision. +% Source: CODATA~2018 +% +% \begin{macrocode} +\DeclareRobustCommand{\k@SI@short@MassElectron}{% +\ensuremath{% +9.11% +\times 10^{-31}\kg}} +% \end{macrocode} +% \end{macro} +% +%\iffalse +% +%\fi +%\iffalse +%<*package> +%\fi +% \begin{macro}{\k@SI@full@MassElectron} +% \changes{v1.1.0}{2020/02/03}{Fix order of magnitude of constant.} +% \changes{v1.1.0}{2020/02/03}{Correct value in eV.} +% |\k@SI@full@MassElectron| is the mass of an electron in SI units with full +% precision. +% Source: CODATA~2018 +% +% \begin{macrocode} +\DeclareRobustCommand{\k@SI@full@MassElectron}{% +\ensuremath{% +9.108\expandafter\physconst@decimalsseparator% +980\expandafter\physconst@decimalsseparator% +087\expandafter\physconst@decimalsseparator% +382% +\times 10^{-31}\kg}} +% \end{macrocode} +% \end{macro} +% +%\iffalse +% +%\fi +%\iffalse +%<*package> +%\fi +% \begin{macro}{\k@cgs@short@MassElectron} +% \changes{v1.1.0}{2020/02/03}{Fix order of magnitude of constant.} +% \changes{v1.1.0}{2020/02/03}{Correct value in eV.} +% |\k@cgs@short@MassElectron| is the mass of an electron in cgs units with +% reduced precision. +% Source: CODATA~2018 +% +% \begin{macrocode} +\DeclareRobustCommand{\k@cgs@short@MassElectron}{% +\ensuremath{% +9.11% +\times 10^{-28}\gm}} +% \end{macrocode} +% \end{macro} +% +%\iffalse +% +%\fi +%\iffalse +%<*package> +%\fi +% \begin{macro}{\k@cgs@full@MassElectron} +% \changes{v1.1.0}{2020/02/03}{Fix order of magnitude of constant.} +% \changes{v1.1.0}{2020/02/03}{Correct value in eV.} +% |\k@cgs@full@MassElectron| is the mass of an electron in cgs units with full +% precision. +% Source: CODATA~2018 +% +% \begin{macrocode} +\DeclareRobustCommand{\k@cgs@full@MassElectron}{% +\ensuremath{% +9.108\expandafter\physconst@decimalsseparator% +980\expandafter\physconst@decimalsseparator% +087\expandafter\physconst@decimalsseparator% +382% +\times 10^{-28}\gm}} +% \end{macrocode} +% \end{macro} +% +%\iffalse +% +%\fi +%\iffalse +%<*package> +%\fi +% \begin{macro}{\k@eV@short@MassElectron} +% \changes{v1.1.0}{2020/02/03}{Fix order of magnitude of constant.} +% \changes{v1.1.0}{2020/02/03}{Correct value in eV.} +% |\k@eV@short@MassElectron| is the mass of an electron in eV with reduced +% precision. +% Source: CODATA~2018 +% +% \begin{macrocode} +\DeclareRobustCommand{\k@eV@short@MassElectron}{% +\ensuremath{% +5.11% +\times 10^{5}\eV\,c^{-2}}} +% \end{macrocode} +% \end{macro} +% +%\iffalse +% +%\fi +%\iffalse +%<*package> +%\fi +% \begin{macro}{\k@eV@full@MassElectron} +% \changes{v1.1.0}{2020/02/03}{Fix order of magnitude of constant.} +% \changes{v1.1.0}{2020/02/03}{Correct value in eV.} +% |\k@eV@full@MassElectron| is the mass of an electron in eV with full +% precision. +% Source: CODATA~2018 +% +% \begin{macrocode} +\DeclareRobustCommand{\k@eV@full@MassElectron}{% +\ensuremath{% +5.109\expandafter\physconst@decimalsseparator% +763\expandafter\physconst@decimalsseparator% +089\expandafter\physconst@decimalsseparator% +046% +\times 10^{5}\eV\,c^{-2}}} +% \end{macrocode} +% \end{macro} +% +%\iffalse +% +%\fi +%\iffalse +%<*package> +%\fi +% \begin{macro}{\kMassElectron} +% \changes{v1.1.0}{2020/02/03}{Fix order of magnitude of constant.} +% \changes{v1.1.0}{2020/02/03}{Correct value in eV.} +% |\kMassElectron| is the mass of an electron. +% +% \begin{macrocode} +\ifx\cgsunits\undefined +\ifx\shortconst\undefined +\DeclareRobustCommand {\kMassElectron}{% +\k@SI@short@MassElectron} +\else +\DeclareRobustCommand {\kMassElectron}{% +\k@SI@full@MassElectron} +\fi +\else +\ifx\shortconst\undefined +\DeclareRobustCommand {\kMassElectron}{% +\k@cgs@short@MassElectron} +\else +\DeclareRobustCommand {\kMassElectron}{% +\k@cgs@full@MassElectron} +\fi +\fi +% \end{macrocode} +% \end{macro} +% +%\iffalse +% +%\fi +%\iffalse +%<*package> +%\fi +% \begin{macro}{\keVMassElectron} +% \changes{v1.1.0}{2020/02/03}{Fix order of magnitude of constant.} +% \changes{v1.1.0}{2020/02/03}{Correct value in eV.} +% |\keVMassElectron| is the mass of an electron. +% +% \begin{macrocode} +\ifx\shortconst\undefined +\DeclareRobustCommand {\keVMassElectron}{% +\k@eV@short@MassElectron} +\else +\DeclareRobustCommand {\keVMassElectron}{% +\k@eV@full@MassElectron} +\fi +% \end{macrocode} +% \end{macro} +% +%\iffalse +% +%\fi +%\iffalse +%<*package> +%\fi +% \begin{macro}{\k@SI@short@MassElectronNumeric} +% \changes{v1.1.0}{2020/02/03}{Fix order of magnitude of constant.} +% \changes{v1.1.0}{2020/02/03}{Correct value in eV.} +% |\k@SI@short@MassElectronNumeric| is the mass of an electron in SI units with +% reduced precision. +% Source: CODATA~2018 +% +% \begin{macrocode} +\DeclareRobustCommand{\k@SI@short@MassElectronNumeric}{% +\ensuremath{% +9.11e-31}} +% \end{macrocode} +% \end{macro} +% +%\iffalse +% +%\fi +%\iffalse +%<*package> +%\fi +% \begin{macro}{\k@SI@full@MassElectronNumeric} +% \changes{v1.1.0}{2020/02/03}{Fix order of magnitude of constant.} +% \changes{v1.1.0}{2020/02/03}{Correct value in eV.} +% |\k@SI@full@MassElectronNumeric| is the mass of an electron in SI units with full +% precision. +% Source: CODATA~2018 +% +% \begin{macrocode} +\DeclareRobustCommand{\k@SI@full@MassElectronNumeric}{% +\ensuremath{% +9.108980087382e-31}} +% \end{macrocode} +% \end{macro} +% +%\iffalse +% +%\fi +%\iffalse +%<*package> +%\fi +% \begin{macro}{\k@cgs@short@MassElectronNumeric} +% \changes{v1.1.0}{2020/02/03}{Fix order of magnitude of constant.} +% \changes{v1.1.0}{2020/02/03}{Correct value in eV.} +% |\k@cgs@short@MassElectronNumeric| is the mass of an electron in cgs units with +% reduced precision. +% Source: CODATA~2018 +% +% \begin{macrocode} +\DeclareRobustCommand{\k@cgs@short@MassElectronNumeric}{% +\ensuremath{% +9.11e-28}} +% \end{macrocode} +% \end{macro} +% +%\iffalse +% +%\fi +%\iffalse +%<*package> +%\fi +% \begin{macro}{\k@cgs@full@MassElectronNumeric} +% \changes{v1.1.0}{2020/02/03}{Fix order of magnitude of constant.} +% \changes{v1.1.0}{2020/02/03}{Correct value in eV.} +% |\k@cgs@full@MassElectronNumeric| is the mass of an electron in cgs units with full +% precision. +% Source: CODATA~2018 +% +% \begin{macrocode} +\DeclareRobustCommand{\k@cgs@full@MassElectronNumeric}{% +\ensuremath{% +9.108980087382e-28}} +% \end{macrocode} +% \end{macro} +% +%\iffalse +% +%\fi +%\iffalse +%<*package> +%\fi +% \begin{macro}{\k@eV@short@MassElectronNumeric} +% \changes{v1.1.0}{2020/02/03}{Fix order of magnitude of constant.} +% \changes{v1.1.0}{2020/02/03}{Correct value in eV.} +% |\k@eV@short@MassElectronNumeric| is the mass of an electron in eV with reduced +% precision. +% Source: CODATA~2018 +% +% \begin{macrocode} +\DeclareRobustCommand{\k@eV@short@MassElectronNumeric}{% +\ensuremath{% +5.11e+05}} +% \end{macrocode} +% \end{macro} +% +%\iffalse +% +%\fi +%\iffalse +%<*package> +%\fi +% \begin{macro}{\k@eV@full@MassElectronNumeric} +% \changes{v1.1.0}{2020/02/03}{Fix order of magnitude of constant.} +% \changes{v1.1.0}{2020/02/03}{Correct value in eV.} +% |\k@eV@full@MassElectronNumeric| is the mass of an electron in eV with full +% precision. +% Source: CODATA~2018 +% +% \begin{macrocode} +\DeclareRobustCommand{\k@eV@full@MassElectronNumeric}{% +\ensuremath{% +5.109763089046e+05}} +% \end{macrocode} +% \end{macro} +% +%\iffalse +% +%\fi +%\iffalse +%<*package> +%\fi +% \begin{macro}{\kMassElectronNumeric} +% \changes{v1.1.0}{2020/02/03}{Fix order of magnitude of constant.} +% \changes{v1.1.0}{2020/02/03}{Correct value in eV.} +% |\kMassElectronNumeric| is the mass of an electron. +% +% \begin{macrocode} +\ifx\cgsunits\undefined +\ifx\shortconst\undefined +\DeclareRobustCommand {\kMassElectronNumeric}{% +\k@SI@short@MassElectronNumeric} +\else +\DeclareRobustCommand {\kMassElectronNumeric}{% +\k@SI@full@MassElectronNumeric} +\fi +\else +\ifx\shortconst\undefined +\DeclareRobustCommand {\kMassElectronNumeric}{% +\k@cgs@short@MassElectronNumeric} +\else +\DeclareRobustCommand {\kMassElectronNumeric}{% +\k@cgs@full@MassElectronNumeric} +\fi +\fi +% \end{macrocode} +% \end{macro} +% +%\iffalse +% +%\fi +%\iffalse +%<*package> +%\fi +% \begin{macro}{\keVMassElectronNumeric} +% \changes{v1.1.0}{2020/02/03}{Fix order of magnitude of constant.} +% \changes{v1.1.0}{2020/02/03}{Correct value in eV.} +% |\keVMassElectronNumeric| is the mass of an electron. +% +% \begin{macrocode} +\ifx\shortconst\undefined +\DeclareRobustCommand {\keVMassElectronNumeric}{% +\k@eV@short@MassElectronNumeric} +\else +\DeclareRobustCommand {\keVMassElectronNumeric}{% +\k@eV@full@MassElectronNumeric} +\fi +% \end{macrocode} +% \end{macro} +% +%\iffalse +% +%\fi +%\iffalse +%<*package> +%\fi +% \begin{macro}{\k@SI@short@MassProton} +% \changes{v1.1.0}{2020/02/03}{Fix order of magnitude of constant.} +% \changes{v1.1.0}{2020/02/03}{Correct value in eV.} +% |\k@SI@short@MassProton| is the mass of a proton in SI units with reduced +% precision. +% Source: CODATA~2018 +% +% \begin{macrocode} +\DeclareRobustCommand{\k@SI@short@MassProton}{% +\ensuremath{% +1.67% +\times 10^{-27}\kg}} +% \end{macrocode} +% \end{macro} +% +%\iffalse +% +%\fi +%\iffalse +%<*package> +%\fi +% \begin{macro}{\k@SI@full@MassProton} +% \changes{v1.1.0}{2020/02/03}{Fix order of magnitude of constant.} +% \changes{v1.1.0}{2020/02/03}{Correct value in eV.} +% |\k@SI@full@MassProton| is the mass of a proton in SI units with full +% precision. +% Source: CODATA~2018 +% +% \begin{macrocode} +\DeclareRobustCommand{\k@SI@full@MassProton}{% +\ensuremath{% +1.672\expandafter\physconst@decimalsseparator% +547\expandafter\physconst@decimalsseparator% +813\expandafter\physconst@decimalsseparator% +969% +\times 10^{-27}\kg}} +% \end{macrocode} +% \end{macro} +% +%\iffalse +% +%\fi +%\iffalse +%<*package> +%\fi +% \begin{macro}{\k@cgs@short@MassProton} +% \changes{v1.1.0}{2020/02/03}{Fix order of magnitude of constant.} +% \changes{v1.1.0}{2020/02/03}{Correct value in eV.} +% |\k@cgs@short@MassProton| is the mass of a proton in cgs units with reduced +% precision. +% Source: CODATA~2018 +% +% \begin{macrocode} +\DeclareRobustCommand{\k@cgs@short@MassProton}{% +\ensuremath{% +1.67% +\times 10^{-24}\gm}} +% \end{macrocode} +% \end{macro} +% +%\iffalse +% +%\fi +%\iffalse +%<*package> +%\fi +% \begin{macro}{\k@cgs@full@MassProton} +% \changes{v1.1.0}{2020/02/03}{Fix order of magnitude of constant.} +% \changes{v1.1.0}{2020/02/03}{Correct value in eV.} +% |\k@cgs@full@MassProton| is the mass of a proton in cgs units with full +% precision. +% Source: CODATA~2018 +% +% \begin{macrocode} +\DeclareRobustCommand{\k@cgs@full@MassProton}{% +\ensuremath{% +1.672\expandafter\physconst@decimalsseparator% +547\expandafter\physconst@decimalsseparator% +813\expandafter\physconst@decimalsseparator% +969% +\times 10^{-24}\gm}} +% \end{macrocode} +% \end{macro} +% +%\iffalse +% +%\fi +%\iffalse +%<*package> +%\fi +% \begin{macro}{\k@eV@short@MassProton} +% \changes{v1.1.0}{2020/02/03}{Fix order of magnitude of constant.} +% \changes{v1.1.0}{2020/02/03}{Correct value in eV.} +% |\k@eV@short@MassProton| is the mass of a proton in eV with reduced precision. +% Source: CODATA~2018 +% +% \begin{macrocode} +\DeclareRobustCommand{\k@eV@short@MassProton}{% +\ensuremath{% +9.38% +\times 10^{8}\eV\,c^{-2}}} +% \end{macrocode} +% \end{macro} +% +%\iffalse +% +%\fi +%\iffalse +%<*package> +%\fi +% \begin{macro}{\k@eV@full@MassProton} +% \changes{v1.1.0}{2020/02/03}{Fix order of magnitude of constant.} +% \changes{v1.1.0}{2020/02/03}{Correct value in eV.} +% |\k@eV@full@MassProton| is the mass of a proton in eV with full precision. +% Source: CODATA~2018 +% +% \begin{macrocode} +\DeclareRobustCommand{\k@eV@full@MassProton}{% +\ensuremath{% +9.382\expandafter\physconst@decimalsseparator% +305\expandafter\physconst@decimalsseparator% +156\expandafter\physconst@decimalsseparator% +558% +\times 10^{8}\eV\,c^{-2}}} +% \end{macrocode} +% \end{macro} +% +%\iffalse +% +%\fi +%\iffalse +%<*package> +%\fi +% \begin{macro}{\kMassProton} +% \changes{v1.1.0}{2020/02/03}{Fix order of magnitude of constant.} +% \changes{v1.1.0}{2020/02/03}{Correct value in eV.} +% |\kMassProton| is the mass of a proton. +% +% \begin{macrocode} +\ifx\cgsunits\undefined +\ifx\shortconst\undefined +\DeclareRobustCommand {\kMassProton}{% +\k@SI@short@MassProton} +\else +\DeclareRobustCommand {\kMassProton}{% +\k@SI@full@MassProton} +\fi +\else +\ifx\shortconst\undefined +\DeclareRobustCommand {\kMassProton}{% +\k@cgs@short@MassProton} +\else +\DeclareRobustCommand {\kMassProton}{% +\k@cgs@full@MassProton} +\fi +\fi +% \end{macrocode} +% \end{macro} +% +%\iffalse +% +%\fi +%\iffalse +%<*package> +%\fi +% \begin{macro}{\keVMassProton} +% \changes{v1.1.0}{2020/02/03}{Fix order of magnitude of constant.} +% \changes{v1.1.0}{2020/02/03}{Correct value in eV.} +% |\keVMassProton| is the mass of a proton. +% +% \begin{macrocode} +\ifx\shortconst\undefined +\DeclareRobustCommand {\keVMassProton}{% +\k@eV@short@MassProton} +\else +\DeclareRobustCommand {\keVMassProton}{% +\k@eV@full@MassProton} +\fi +% \end{macrocode} +% \end{macro} +% +%\iffalse +% +%\fi +%\iffalse +%<*package> +%\fi +% \begin{macro}{\k@SI@short@MassProtonNumeric} +% \changes{v1.1.0}{2020/02/03}{Fix order of magnitude of constant.} +% \changes{v1.1.0}{2020/02/03}{Correct value in eV.} +% |\k@SI@short@MassProtonNumeric| is the mass of a proton in SI units with reduced +% precision. +% Source: CODATA~2018 +% +% \begin{macrocode} +\DeclareRobustCommand{\k@SI@short@MassProtonNumeric}{% +\ensuremath{% +1.67e-27}} +% \end{macrocode} +% \end{macro} +% +%\iffalse +% +%\fi +%\iffalse +%<*package> +%\fi +% \begin{macro}{\k@SI@full@MassProtonNumeric} +% \changes{v1.1.0}{2020/02/03}{Fix order of magnitude of constant.} +% \changes{v1.1.0}{2020/02/03}{Correct value in eV.} +% |\k@SI@full@MassProtonNumeric| is the mass of a proton in SI units with full +% precision. +% Source: CODATA~2018 +% +% \begin{macrocode} +\DeclareRobustCommand{\k@SI@full@MassProtonNumeric}{% +\ensuremath{% +1.672547813969e-27}} +% \end{macrocode} +% \end{macro} +% +%\iffalse +% +%\fi +%\iffalse +%<*package> +%\fi +% \begin{macro}{\k@cgs@short@MassProtonNumeric} +% \changes{v1.1.0}{2020/02/03}{Fix order of magnitude of constant.} +% \changes{v1.1.0}{2020/02/03}{Correct value in eV.} +% |\k@cgs@short@MassProtonNumeric| is the mass of a proton in cgs units with reduced +% precision. +% Source: CODATA~2018 +% +% \begin{macrocode} +\DeclareRobustCommand{\k@cgs@short@MassProtonNumeric}{% +\ensuremath{% +1.67e-24}} +% \end{macrocode} +% \end{macro} +% +%\iffalse +% +%\fi +%\iffalse +%<*package> +%\fi +% \begin{macro}{\k@cgs@full@MassProtonNumeric} +% \changes{v1.1.0}{2020/02/03}{Fix order of magnitude of constant.} +% \changes{v1.1.0}{2020/02/03}{Correct value in eV.} +% |\k@cgs@full@MassProtonNumeric| is the mass of a proton in cgs units with full +% precision. +% Source: CODATA~2018 +% +% \begin{macrocode} +\DeclareRobustCommand{\k@cgs@full@MassProtonNumeric}{% +\ensuremath{% +1.672547813969e-24}} +% \end{macrocode} +% \end{macro} +% +%\iffalse +% +%\fi +%\iffalse +%<*package> +%\fi +% \begin{macro}{\k@eV@short@MassProtonNumeric} +% \changes{v1.1.0}{2020/02/03}{Fix order of magnitude of constant.} +% \changes{v1.1.0}{2020/02/03}{Correct value in eV.} +% |\k@eV@short@MassProtonNumeric| is the mass of a proton in eV with reduced precision. +% Source: CODATA~2018 +% +% \begin{macrocode} +\DeclareRobustCommand{\k@eV@short@MassProtonNumeric}{% +\ensuremath{% +9.38e+08}} +% \end{macrocode} +% \end{macro} +% +%\iffalse +% +%\fi +%\iffalse +%<*package> +%\fi +% \begin{macro}{\k@eV@full@MassProtonNumeric} +% \changes{v1.1.0}{2020/02/03}{Fix order of magnitude of constant.} +% \changes{v1.1.0}{2020/02/03}{Correct value in eV.} +% |\k@eV@full@MassProtonNumeric| is the mass of a proton in eV with full precision. +% Source: CODATA~2018 +% +% \begin{macrocode} +\DeclareRobustCommand{\k@eV@full@MassProtonNumeric}{% +\ensuremath{% +9.382305156558e+08}} +% \end{macrocode} +% \end{macro} +% +%\iffalse +% +%\fi +%\iffalse +%<*package> +%\fi +% \begin{macro}{\kMassProtonNumeric} +% \changes{v1.1.0}{2020/02/03}{Fix order of magnitude of constant.} +% \changes{v1.1.0}{2020/02/03}{Correct value in eV.} +% |\kMassProtonNumeric| is the mass of a proton. +% +% \begin{macrocode} +\ifx\cgsunits\undefined +\ifx\shortconst\undefined +\DeclareRobustCommand {\kMassProtonNumeric}{% +\k@SI@short@MassProtonNumeric} +\else +\DeclareRobustCommand {\kMassProtonNumeric}{% +\k@SI@full@MassProtonNumeric} +\fi +\else +\ifx\shortconst\undefined +\DeclareRobustCommand {\kMassProtonNumeric}{% +\k@cgs@short@MassProtonNumeric} +\else +\DeclareRobustCommand {\kMassProtonNumeric}{% +\k@cgs@full@MassProtonNumeric} +\fi +\fi +% \end{macrocode} +% \end{macro} +% +%\iffalse +% +%\fi +%\iffalse +%<*package> +%\fi +% \begin{macro}{\keVMassProtonNumeric} +% \changes{v1.1.0}{2020/02/03}{Fix order of magnitude of constant.} +% \changes{v1.1.0}{2020/02/03}{Correct value in eV.} +% |\keVMassProtonNumeric| is the mass of a proton. +% +% \begin{macrocode} +\ifx\shortconst\undefined +\DeclareRobustCommand {\keVMassProtonNumeric}{% +\k@eV@short@MassProtonNumeric} +\else +\DeclareRobustCommand {\keVMassProtonNumeric}{% +\k@eV@full@MassProtonNumeric} +\fi +% \end{macrocode} +% \end{macro} +% +%\iffalse +% +%\fi +%\iffalse +%<*package> +%\fi +% \begin{macro}{\k@SI@short@MassHydrogen} +% \changes{v1.1.0}{2020/02/03}{Fix order of magnitude of constant.} +% \changes{v1.1.0}{2020/02/03}{Correct value in eV.} +% |\k@SI@short@MassHydrogen| is the mass of a neutral hydrogen atom in SI units +% with reduced precision. +% Source: CODATA~2018 +% +% \begin{macrocode} +\DeclareRobustCommand{\k@SI@short@MassHydrogen}{% +\ensuremath{% +1.67% +\times 10^{-27}\kg}} +% \end{macrocode} +% \end{macro} +% +%\iffalse +% +%\fi +%\iffalse +%<*package> +%\fi +% \begin{macro}{\k@SI@full@MassHydrogen} +% \changes{v1.1.0}{2020/02/03}{Fix order of magnitude of constant.} +% \changes{v1.1.0}{2020/02/03}{Correct value in eV.} +% |\k@SI@full@MassHydrogen| is the mass of a neutral hydrogen atom in SI units +% with full precision. +% Source: CODATA~2018 +% +% \begin{macrocode} +\DeclareRobustCommand{\k@SI@full@MassHydrogen}{% +\ensuremath{% +1.673\expandafter\physconst@decimalsseparator% +458\expandafter\physconst@decimalsseparator% +687\expandafter\physconst@decimalsseparator% +724% +\times 10^{-27}\kg}} +% \end{macrocode} +% \end{macro} +% +%\iffalse +% +%\fi +%\iffalse +%<*package> +%\fi +% \begin{macro}{\k@cgs@short@MassHydrogen} +% \changes{v1.1.0}{2020/02/03}{Fix order of magnitude of constant.} +% \changes{v1.1.0}{2020/02/03}{Correct value in eV.} +% |\k@cgs@short@MassHydrogen| is the mass of a neutral hydrogen atom in cgs +% units with reduced precision. +% Source: CODATA~2018 +% +% \begin{macrocode} +\DeclareRobustCommand{\k@cgs@short@MassHydrogen}{% +\ensuremath{% +1.67% +\times 10^{-24}\gm}} +% \end{macrocode} +% \end{macro} +% +%\iffalse +% +%\fi +%\iffalse +%<*package> +%\fi +% \begin{macro}{\k@cgs@full@MassHydrogen} +% \changes{v1.1.0}{2020/02/03}{Fix order of magnitude of constant.} +% \changes{v1.1.0}{2020/02/03}{Correct value in eV.} +% |\k@cgs@full@MassHydrogen| is the mass of a neutral hydrogen atom in cgs +% units with full precision. +% Source: CODATA~2018 +% +% \begin{macrocode} +\DeclareRobustCommand{\k@cgs@full@MassHydrogen}{% +\ensuremath{% +1.673\expandafter\physconst@decimalsseparator% +458\expandafter\physconst@decimalsseparator% +687\expandafter\physconst@decimalsseparator% +724% +\times 10^{-24}\gm}} +% \end{macrocode} +% \end{macro} +% +%\iffalse +% +%\fi +%\iffalse +%<*package> +%\fi +% \begin{macro}{\k@eV@short@MassHydrogen} +% \changes{v1.1.0}{2020/02/03}{Fix order of magnitude of constant.} +% \changes{v1.1.0}{2020/02/03}{Correct value in eV.} +% |\k@eV@short@MassHydrogen| is the mass of a neutral hydrogen atom in eV with +% reduced precision. +% Source: CODATA~2018 +% +% \begin{macrocode} +\DeclareRobustCommand{\k@eV@short@MassHydrogen}{% +\ensuremath{% +9.39% +\times 10^{8}\eV\,c^{-2}}} +% \end{macrocode} +% \end{macro} +% +%\iffalse +% +%\fi +%\iffalse +%<*package> +%\fi +% \begin{macro}{\k@eV@full@MassHydrogen} +% \changes{v1.1.0}{2020/02/03}{Fix order of magnitude of constant.} +% \changes{v1.1.0}{2020/02/03}{Correct value in eV.} +% |\k@eV@full@MassHydrogen| is the mass of a neutral hydrogen atom in eV with +% full precision. +% Source: CODATA~2018 +% +% \begin{macrocode} +\DeclareRobustCommand{\k@eV@full@MassHydrogen}{% +\ensuremath{% +9.387\expandafter\physconst@decimalsseparator% +414\expandafter\physconst@decimalsseparator% +783\expandafter\physconst@decimalsseparator% +596% +\times 10^{8}\eV\,c^{-2}}} +% \end{macrocode} +% \end{macro} +% +%\iffalse +% +%\fi +%\iffalse +%<*package> +%\fi +% \begin{macro}{\kMassHydrogen} +% \changes{v1.1.0}{2020/02/03}{Fix order of magnitude of constant.} +% \changes{v1.1.0}{2020/02/03}{Correct value in eV.} +% |\kMassHydrogen| is the mass of a neutral hydrogen atom. +% +% \begin{macrocode} +\ifx\cgsunits\undefined +\ifx\shortconst\undefined +\DeclareRobustCommand {\kMassHydrogen}{% +\k@SI@short@MassHydrogen} +\else +\DeclareRobustCommand {\kMassHydrogen}{% +\k@SI@full@MassHydrogen} +\fi +\else +\ifx\shortconst\undefined +\DeclareRobustCommand {\kMassHydrogen}{% +\k@cgs@short@MassHydrogen} +\else +\DeclareRobustCommand {\kMassHydrogen}{% +\k@cgs@full@MassHydrogen} +\fi +\fi +% \end{macrocode} +% \end{macro} +% +%\iffalse +% +%\fi +%\iffalse +%<*package> +%\fi +% \begin{macro}{\keVMassHydrogen} +% \changes{v1.1.0}{2020/02/03}{Fix order of magnitude of constant.} +% \changes{v1.1.0}{2020/02/03}{Correct value in eV.} +% |\keVMassHydrogen| is the mass of a neutral hydrogen atom. +% +% \begin{macrocode} +\ifx\shortconst\undefined +\DeclareRobustCommand {\keVMassHydrogen}{% +\k@eV@short@MassHydrogen} +\else +\DeclareRobustCommand {\keVMassHydrogen}{% +\k@eV@full@MassHydrogen} +\fi +% \end{macrocode} +% \end{macro} +% +%\iffalse +% +%\fi +%\iffalse +%<*package> +%\fi +% \begin{macro}{\k@SI@short@MassHydrogenNumeric} +% \changes{v1.1.0}{2020/02/03}{Fix order of magnitude of constant.} +% \changes{v1.1.0}{2020/02/03}{Correct value in eV.} +% |\k@SI@short@MassHydrogenNumeric| is the mass of a neutral hydrogen atom in SI units +% with reduced precision. +% Source: CODATA~2018 +% +% \begin{macrocode} +\DeclareRobustCommand{\k@SI@short@MassHydrogenNumeric}{% +\ensuremath{% +1.67e-27}} +% \end{macrocode} +% \end{macro} +% +%\iffalse +% +%\fi +%\iffalse +%<*package> +%\fi +% \begin{macro}{\k@SI@full@MassHydrogenNumeric} +% \changes{v1.1.0}{2020/02/03}{Fix order of magnitude of constant.} +% \changes{v1.1.0}{2020/02/03}{Correct value in eV.} +% |\k@SI@full@MassHydrogenNumeric| is the mass of a neutral hydrogen atom in SI units +% with full precision. +% Source: CODATA~2018 +% +% \begin{macrocode} +\DeclareRobustCommand{\k@SI@full@MassHydrogenNumeric}{% +\ensuremath{% +1.673458687724e-27}} +% \end{macrocode} +% \end{macro} +% +%\iffalse +% +%\fi +%\iffalse +%<*package> +%\fi +% \begin{macro}{\k@cgs@short@MassHydrogenNumeric} +% \changes{v1.1.0}{2020/02/03}{Fix order of magnitude of constant.} +% \changes{v1.1.0}{2020/02/03}{Correct value in eV.} +% |\k@cgs@short@MassHydrogenNumeric| is the mass of a neutral hydrogen atom in cgs +% units with reduced precision. +% Source: CODATA~2018 +% +% \begin{macrocode} +\DeclareRobustCommand{\k@cgs@short@MassHydrogenNumeric}{% +\ensuremath{% +1.67e-24}} +% \end{macrocode} +% \end{macro} +% +%\iffalse +% +%\fi +%\iffalse +%<*package> +%\fi +% \begin{macro}{\k@cgs@full@MassHydrogenNumeric} +% \changes{v1.1.0}{2020/02/03}{Fix order of magnitude of constant.} +% \changes{v1.1.0}{2020/02/03}{Correct value in eV.} +% |\k@cgs@full@MassHydrogenNumeric| is the mass of a neutral hydrogen atom in cgs +% units with full precision. +% Source: CODATA~2018 +% +% \begin{macrocode} +\DeclareRobustCommand{\k@cgs@full@MassHydrogenNumeric}{% +\ensuremath{% +1.673458687724e-24}} +% \end{macrocode} +% \end{macro} +% +%\iffalse +% +%\fi +%\iffalse +%<*package> +%\fi +% \begin{macro}{\k@eV@short@MassHydrogenNumeric} +% \changes{v1.1.0}{2020/02/03}{Fix order of magnitude of constant.} +% \changes{v1.1.0}{2020/02/03}{Correct value in eV.} +% |\k@eV@short@MassHydrogenNumeric| is the mass of a neutral hydrogen atom in eV with +% reduced precision. +% Source: CODATA~2018 +% +% \begin{macrocode} +\DeclareRobustCommand{\k@eV@short@MassHydrogenNumeric}{% +\ensuremath{% +9.39e+08}} +% \end{macrocode} +% \end{macro} +% +%\iffalse +% +%\fi +%\iffalse +%<*package> +%\fi +% \begin{macro}{\k@eV@full@MassHydrogenNumeric} +% \changes{v1.1.0}{2020/02/03}{Fix order of magnitude of constant.} +% \changes{v1.1.0}{2020/02/03}{Correct value in eV.} +% |\k@eV@full@MassHydrogenNumeric| is the mass of a neutral hydrogen atom in eV with +% full precision. +% Source: CODATA~2018 +% +% \begin{macrocode} +\DeclareRobustCommand{\k@eV@full@MassHydrogenNumeric}{% +\ensuremath{% +9.387414783596e+08}} +% \end{macrocode} +% \end{macro} +% +%\iffalse +% +%\fi +%\iffalse +%<*package> +%\fi +% \begin{macro}{\kMassHydrogenNumeric} +% \changes{v1.1.0}{2020/02/03}{Fix order of magnitude of constant.} +% \changes{v1.1.0}{2020/02/03}{Correct value in eV.} +% |\kMassHydrogenNumeric| is the mass of a neutral hydrogen atom. +% +% \begin{macrocode} +\ifx\cgsunits\undefined +\ifx\shortconst\undefined +\DeclareRobustCommand {\kMassHydrogenNumeric}{% +\k@SI@short@MassHydrogenNumeric} +\else +\DeclareRobustCommand {\kMassHydrogenNumeric}{% +\k@SI@full@MassHydrogenNumeric} +\fi +\else +\ifx\shortconst\undefined +\DeclareRobustCommand {\kMassHydrogenNumeric}{% +\k@cgs@short@MassHydrogenNumeric} +\else +\DeclareRobustCommand {\kMassHydrogenNumeric}{% +\k@cgs@full@MassHydrogenNumeric} +\fi +\fi +% \end{macrocode} +% \end{macro} +% +%\iffalse +% +%\fi +%\iffalse +%<*package> +%\fi +% \begin{macro}{\keVMassHydrogenNumeric} +% \changes{v1.1.0}{2020/02/03}{Fix order of magnitude of constant.} +% \changes{v1.1.0}{2020/02/03}{Correct value in eV.} +% |\keVMassHydrogenNumeric| is the mass of a neutral hydrogen atom. +% +% \begin{macrocode} +\ifx\shortconst\undefined +\DeclareRobustCommand {\keVMassHydrogenNumeric}{% +\k@eV@short@MassHydrogenNumeric} +\else +\DeclareRobustCommand {\keVMassHydrogenNumeric}{% +\k@eV@full@MassHydrogenNumeric} +\fi +% \end{macrocode} +% \end{macro} +% +%\iffalse +% +%\fi +%\iffalse +%<*package> +%\fi +% \begin{macro}{\k@SI@short@MassSun} +% |\k@SI@short@MassSun| is the mass of the Sun in SI units with reduced +% precision. +% Source: IAU~Resolution~B3~2015 +% +% \begin{macrocode} +\DeclareRobustCommand{\k@SI@short@MassSun}{% +\ensuremath{% +1.99% +\times 10^{30}\kg}} +% \end{macrocode} +% \end{macro} +% +%\iffalse +% +%\fi +%\iffalse +%<*package> +%\fi +% \begin{macro}{\k@SI@full@MassSun} +% |\k@SI@full@MassSun| is the mass of the Sun in SI units with full precision. +% Source: IAU~Resolution~B3~2015 +% +% \begin{macrocode} +\DeclareRobustCommand{\k@SI@full@MassSun}{% +\ensuremath{% +1.988\expandafter\physconst@decimalsseparator% +409\expandafter\physconst@decimalsseparator% +9% +\times 10^{30}\kg}} +% \end{macrocode} +% \end{macro} +% +%\iffalse +% +%\fi +%\iffalse +%<*package> +%\fi +% \begin{macro}{\k@cgs@short@MassSun} +% |\k@cgs@short@MassSun| is the mass of the Sun in cgs units with reduced +% precision. +% Source: IAU~Resolution~B3~2015 +% +% \begin{macrocode} +\DeclareRobustCommand{\k@cgs@short@MassSun}{% +\ensuremath{% +1.99% +\times 10^{33}\gm}} +% \end{macrocode} +% \end{macro} +% +%\iffalse +% +%\fi +%\iffalse +%<*package> +%\fi +% \begin{macro}{\k@cgs@full@MassSun} +% |\k@cgs@full@MassSun| is the mass of the Sun in cgs units with full precision. +% Source: IAU~Resolution~B3~2015 +% +% \begin{macrocode} +\DeclareRobustCommand{\k@cgs@full@MassSun}{% +\ensuremath{% +1.988\expandafter\physconst@decimalsseparator% +409\expandafter\physconst@decimalsseparator% +9% +\times 10^{33}\gm}} +% \end{macrocode} +% \end{macro} +% +%\iffalse +% +%\fi +%\iffalse +%<*package> +%\fi +% \begin{macro}{\kMassSun} +% |\kMassSun| is the mass of the Sun. +% +% \begin{macrocode} +\ifx\cgsunits\undefined +\ifx\shortconst\undefined +\DeclareRobustCommand {\kMassSun}{% +\k@SI@short@MassSun} +\else +\DeclareRobustCommand {\kMassSun}{% +\k@SI@full@MassSun} +\fi +\else +\ifx\shortconst\undefined +\DeclareRobustCommand {\kMassSun}{% +\k@cgs@short@MassSun} +\else +\DeclareRobustCommand {\kMassSun}{% +\k@cgs@full@MassSun} +\fi +\fi +% \end{macrocode} +% \end{macro} +% +%\iffalse +% +%\fi +%\iffalse +%<*package> +%\fi +% \begin{macro}{\k@SI@short@MassSunNumeric} +% |\k@SI@short@MassSunNumeric| is the mass of the Sun in SI units with reduced +% precision. +% Source: IAU~Resolution~B3~2015 +% +% \begin{macrocode} +\DeclareRobustCommand{\k@SI@short@MassSunNumeric}{% +\ensuremath{% +1.99e+30}} +% \end{macrocode} +% \end{macro} +% +%\iffalse +% +%\fi +%\iffalse +%<*package> +%\fi +% \begin{macro}{\k@SI@full@MassSunNumeric} +% |\k@SI@full@MassSunNumeric| is the mass of the Sun in SI units with full precision. +% Source: IAU~Resolution~B3~2015 +% +% \begin{macrocode} +\DeclareRobustCommand{\k@SI@full@MassSunNumeric}{% +\ensuremath{% +1.9884099e+30}} +% \end{macrocode} +% \end{macro} +% +%\iffalse +% +%\fi +%\iffalse +%<*package> +%\fi +% \begin{macro}{\k@cgs@short@MassSunNumeric} +% |\k@cgs@short@MassSunNumeric| is the mass of the Sun in cgs units with reduced +% precision. +% Source: IAU~Resolution~B3~2015 +% +% \begin{macrocode} +\DeclareRobustCommand{\k@cgs@short@MassSunNumeric}{% +\ensuremath{% +1.99e+33}} +% \end{macrocode} +% \end{macro} +% +%\iffalse +% +%\fi +%\iffalse +%<*package> +%\fi +% \begin{macro}{\k@cgs@full@MassSunNumeric} +% |\k@cgs@full@MassSunNumeric| is the mass of the Sun in cgs units with full precision. +% Source: IAU~Resolution~B3~2015 +% +% \begin{macrocode} +\DeclareRobustCommand{\k@cgs@full@MassSunNumeric}{% +\ensuremath{% +1.9884099e+33}} +% \end{macrocode} +% \end{macro} +% +%\iffalse +% +%\fi +%\iffalse +%<*package> +%\fi +% \begin{macro}{\kMassSunNumeric} +% |\kMassSunNumeric| is the mass of the Sun. +% +% \begin{macrocode} +\ifx\cgsunits\undefined +\ifx\shortconst\undefined +\DeclareRobustCommand {\kMassSunNumeric}{% +\k@SI@short@MassSunNumeric} +\else +\DeclareRobustCommand {\kMassSunNumeric}{% +\k@SI@full@MassSunNumeric} +\fi +\else +\ifx\shortconst\undefined +\DeclareRobustCommand {\kMassSunNumeric}{% +\k@cgs@short@MassSunNumeric} +\else +\DeclareRobustCommand {\kMassSunNumeric}{% +\k@cgs@full@MassSunNumeric} +\fi +\fi +% \end{macrocode} +% \end{macro} +% +%\iffalse +% +%\fi +%\iffalse +%<*package> +%\fi +% \begin{macro}{\k@short@MassEarth} +% \changes{v1.1.0}{2020/02/03}{Add mass of Earth} +% |\k@short@MassEarth| is the mass of the Earth with reduced precision. +% Source: IAU~Resolution~B3~2015 +% +% \begin{macrocode} +\DeclareRobustCommand{\k@short@MassEarth}{% +\ensuremath{% +5.97% +\times 10^{24}\kg}} +% \end{macrocode} +% \end{macro} +% +%\iffalse +% +%\fi +%\iffalse +%<*package> +%\fi +% \begin{macro}{\k@full@MassEarth} +% \changes{v1.1.0}{2020/02/03}{Add mass of Earth} +% |\k@full@MassEarth| is the mass of the Earth with full precision. +% Source: IAU~Resolution~B3~2015 +% +% \begin{macrocode} +\DeclareRobustCommand{\k@full@MassEarth}{% +\ensuremath{% +5.972\expandafter\physconst@decimalsseparator% +168% +\times 10^{24}\kg}} +% \end{macrocode} +% \end{macro} +% +%\iffalse +% +%\fi +%\iffalse +%<*package> +%\fi +% \begin{macro}{\kMassEarth} +% \changes{v1.1.0}{2020/02/03}{Add mass of Earth} +% |\kMassEarth| is the mass of the Earth. +% +% \begin{macrocode} +\ifx\shortconst\undefined +\DeclareRobustCommand {\kMassEarth}{% +\k@short@MassEarth} +\else +\DeclareRobustCommand {\kMassEarth}{% +\k@full@MassEarth} +\fi +% \end{macrocode} +% \end{macro} +% +%\iffalse +% +%\fi +%\iffalse +%<*package> +%\fi +% \begin{macro}{\k@short@MassEarthNumeric} +% \changes{v1.1.0}{2020/02/03}{Add mass of Earth} +% |\k@short@MassEarthNumeric| is the mass of the Earth with reduced precision. +% Source: IAU~Resolution~B3~2015 +% +% \begin{macrocode} +\DeclareRobustCommand{\k@short@MassEarthNumeric}{% +\ensuremath{% +5.97e+24}} +% \end{macrocode} +% \end{macro} +% +%\iffalse +% +%\fi +%\iffalse +%<*package> +%\fi +% \begin{macro}{\k@full@MassEarthNumeric} +% \changes{v1.1.0}{2020/02/03}{Add mass of Earth} +% |\k@full@MassEarthNumeric| is the mass of the Earth with full precision. +% Source: IAU~Resolution~B3~2015 +% +% \begin{macrocode} +\DeclareRobustCommand{\k@full@MassEarthNumeric}{% +\ensuremath{% +5.972168e+24}} +% \end{macrocode} +% \end{macro} +% +%\iffalse +% +%\fi +%\iffalse +%<*package> +%\fi +% \begin{macro}{\kMassEarthNumeric} +% \changes{v1.1.0}{2020/02/03}{Add mass of Earth} +% |\kMassEarthNumeric| is the mass of the Earth. +% +% \begin{macrocode} +\ifx\shortconst\undefined +\DeclareRobustCommand {\kMassEarthNumeric}{% +\k@short@MassEarthNumeric} +\else +\DeclareRobustCommand {\kMassEarthNumeric}{% +\k@full@MassEarthNumeric} +\fi +% \end{macrocode} +% \end{macro} +% +%\iffalse +% +%\fi +%\iffalse +%<*package> +%\fi +% \begin{macro}{\k@short@MassJupiter} +% \changes{v1.1.0}{2020/02/03}{Add mass of Jupiter} +% |\k@short@MassJupiter| is the mass of Jupiter with reduced precision. +% Source: IAU~Resolution~B3~2015 +% +% \begin{macrocode} +\DeclareRobustCommand{\k@short@MassJupiter}{% +\ensuremath{% +1.90% +\times 10^{27}\kg}} +% \end{macrocode} +% \end{macro} +% +%\iffalse +% +%\fi +%\iffalse +%<*package> +%\fi +% \begin{macro}{\k@full@MassJupiter} +% \changes{v1.1.0}{2020/02/03}{Add mass of Jupiter} +% |\k@full@MassJupiter| is the mass of Jupiter with full precision. +% Source: IAU~Resolution~B3~2015 +% +% \begin{macrocode} +\DeclareRobustCommand{\k@full@MassJupiter}{% +\ensuremath{% +1.898\expandafter\physconst@decimalsseparator% +124\expandafter\physconst@decimalsseparator% +6% +\times 10^{27}\kg}} +% \end{macrocode} +% \end{macro} +% +%\iffalse +% +%\fi +%\iffalse +%<*package> +%\fi +% \begin{macro}{\kMassJupiter} +% \changes{v1.1.0}{2020/02/03}{Add mass of Jupiter} +% |\kMassJupiter| is the mass of Jupiter. +% +% \begin{macrocode} +\ifx\shortconst\undefined +\DeclareRobustCommand {\kMassJupiter}{% +\k@short@MassJupiter} +\else +\DeclareRobustCommand {\kMassJupiter}{% +\k@full@MassJupiter} +\fi +% \end{macrocode} +% \end{macro} +% +%\iffalse +% +%\fi +%\iffalse +%<*package> +%\fi +% \begin{macro}{\k@short@MassJupiterNumeric} +% \changes{v1.1.0}{2020/02/03}{Add mass of Jupiter} +% |\k@short@MassJupiterNumeric| is the mass of Jupiter with reduced precision. +% Source: IAU~Resolution~B3~2015 +% +% \begin{macrocode} +\DeclareRobustCommand{\k@short@MassJupiterNumeric}{% +\ensuremath{% +1.90e+27}} +% \end{macrocode} +% \end{macro} +% +%\iffalse +% +%\fi +%\iffalse +%<*package> +%\fi +% \begin{macro}{\k@full@MassJupiterNumeric} +% \changes{v1.1.0}{2020/02/03}{Add mass of Jupiter} +% |\k@full@MassJupiterNumeric| is the mass of Jupiter with full precision. +% Source: IAU~Resolution~B3~2015 +% +% \begin{macrocode} +\DeclareRobustCommand{\k@full@MassJupiterNumeric}{% +\ensuremath{% +1.8981246e+27}} +% \end{macrocode} +% \end{macro} +% +%\iffalse +% +%\fi +%\iffalse +%<*package> +%\fi +% \begin{macro}{\kMassJupiterNumeric} +% \changes{v1.1.0}{2020/02/03}{Add mass of Jupiter} +% |\kMassJupiterNumeric| is the mass of Jupiter. +% +% \begin{macrocode} +\ifx\shortconst\undefined +\DeclareRobustCommand {\kMassJupiterNumeric}{% +\k@short@MassJupiterNumeric} +\else +\DeclareRobustCommand {\kMassJupiterNumeric}{% +\k@full@MassJupiterNumeric} +\fi +% \end{macrocode} +% \end{macro} +% +%\iffalse +% +%\fi +%\iffalse +%<*package> +%\fi +% \begin{macro}{\k@SI@short@MassAMU} +% \changes{v1.1.0}{2020/02/03}{Fix order of magnitude of constant.} +% \changes{v1.1.0}{2020/02/03}{Correct value in eV.} +% |\k@SI@short@MassAMU| is the mass of an atomic mass unit in SI units with +% reduced precision. +% Source: CODATA~2018 +% +% \begin{macrocode} +\DeclareRobustCommand{\k@SI@short@MassAMU}{% +\ensuremath{% +1.66% +\times 10^{-27}\kg}} +% \end{macrocode} +% \end{macro} +% +%\iffalse +% +%\fi +%\iffalse +%<*package> +%\fi +% \begin{macro}{\k@SI@full@MassAMU} +% \changes{v1.1.0}{2020/02/03}{Fix order of magnitude of constant.} +% \changes{v1.1.0}{2020/02/03}{Correct value in eV.} +% |\k@SI@full@MassAMU| is the mass of an atomic mass unit in SI units with full +% precision. +% Source: CODATA~2018 +% +% \begin{macrocode} +\DeclareRobustCommand{\k@SI@full@MassAMU}{% +\ensuremath{% +1.660\expandafter\physconst@decimalsseparator% +465\expandafter\physconst@decimalsseparator% +492\expandafter\physconst@decimalsseparator% +239% +\times 10^{-27}\kg}} +% \end{macrocode} +% \end{macro} +% +%\iffalse +% +%\fi +%\iffalse +%<*package> +%\fi +% \begin{macro}{\k@cgs@short@MassAMU} +% \changes{v1.1.0}{2020/02/03}{Fix order of magnitude of constant.} +% \changes{v1.1.0}{2020/02/03}{Correct value in eV.} +% |\k@cgs@short@MassAMU| is the mass of an atomic mass unit in cgs units with +% reduced precision. +% Source: CODATA~2018 +% +% \begin{macrocode} +\DeclareRobustCommand{\k@cgs@short@MassAMU}{% +\ensuremath{% +1.66% +\times 10^{-24}\gm}} +% \end{macrocode} +% \end{macro} +% +%\iffalse +% +%\fi +%\iffalse +%<*package> +%\fi +% \begin{macro}{\k@cgs@full@MassAMU} +% \changes{v1.1.0}{2020/02/03}{Fix order of magnitude of constant.} +% \changes{v1.1.0}{2020/02/03}{Correct value in eV.} +% |\k@cgs@full@MassAMU| is the mass of an atomic mass unit in cgs units with +% full precision. +% Source: CODATA~2018 +% +% \begin{macrocode} +\DeclareRobustCommand{\k@cgs@full@MassAMU}{% +\ensuremath{% +1.660\expandafter\physconst@decimalsseparator% +465\expandafter\physconst@decimalsseparator% +492\expandafter\physconst@decimalsseparator% +239% +\times 10^{-24}\gm}} +% \end{macrocode} +% \end{macro} +% +%\iffalse +% +%\fi +%\iffalse +%<*package> +%\fi +% \begin{macro}{\k@eV@short@MassAMU} +% \changes{v1.1.0}{2020/02/03}{Fix order of magnitude of constant.} +% \changes{v1.1.0}{2020/02/03}{Correct value in eV.} +% |\k@eV@short@MassAMU| is the mass of an atomic mass unit in eV with reduced +% precision. +% Source: CODATA~2018 +% +% \begin{macrocode} +\DeclareRobustCommand{\k@eV@short@MassAMU}{% +\ensuremath{% +9.31% +\times 10^{8}\eV\,c^{-2}}} +% \end{macrocode} +% \end{macro} +% +%\iffalse +% +%\fi +%\iffalse +%<*package> +%\fi +% \begin{macro}{\k@eV@full@MassAMU} +% \changes{v1.1.0}{2020/02/03}{Fix order of magnitude of constant.} +% \changes{v1.1.0}{2020/02/03}{Correct value in eV.} +% |\k@eV@full@MassAMU| is the mass of an atomic mass unit in eV with full +% precision. +% Source: CODATA~2018 +% +% \begin{macrocode} +\DeclareRobustCommand{\k@eV@full@MassAMU}{% +\ensuremath{% +9.314\expandafter\physconst@decimalsseparator% +528\expandafter\physconst@decimalsseparator% +302\expandafter\physconst@decimalsseparator% +276% +\times 10^{8}\eV\,c^{-2}}} +% \end{macrocode} +% \end{macro} +% +%\iffalse +% +%\fi +%\iffalse +%<*package> +%\fi +% \begin{macro}{\kMassAMU} +% \changes{v1.1.0}{2020/02/03}{Fix order of magnitude of constant.} +% \changes{v1.1.0}{2020/02/03}{Correct value in eV.} +% |\kMassAMU| is the mass of an atomic mass unit. +% +% \begin{macrocode} +\ifx\cgsunits\undefined +\ifx\shortconst\undefined +\DeclareRobustCommand {\kMassAMU}{% +\k@SI@short@MassAMU} +\else +\DeclareRobustCommand {\kMassAMU}{% +\k@SI@full@MassAMU} +\fi +\else +\ifx\shortconst\undefined +\DeclareRobustCommand {\kMassAMU}{% +\k@cgs@short@MassAMU} +\else +\DeclareRobustCommand {\kMassAMU}{% +\k@cgs@full@MassAMU} +\fi +\fi +% \end{macrocode} +% \end{macro} +% +%\iffalse +% +%\fi +%\iffalse +%<*package> +%\fi +% \begin{macro}{\keVMassAMU} +% \changes{v1.1.0}{2020/02/03}{Fix order of magnitude of constant.} +% \changes{v1.1.0}{2020/02/03}{Correct value in eV.} +% |\keVMassAMU| is the mass of an atomic mass unit. +% +% \begin{macrocode} +\ifx\shortconst\undefined +\DeclareRobustCommand {\keVMassAMU}{% +\k@eV@short@MassAMU} +\else +\DeclareRobustCommand {\keVMassAMU}{% +\k@eV@full@MassAMU} +\fi +% \end{macrocode} +% \end{macro} +% +%\iffalse +% +%\fi +%\iffalse +%<*package> +%\fi +% \begin{macro}{\k@SI@short@MassAMUNumeric} +% \changes{v1.1.0}{2020/02/03}{Fix order of magnitude of constant.} +% \changes{v1.1.0}{2020/02/03}{Correct value in eV.} +% |\k@SI@short@MassAMUNumeric| is the mass of an atomic mass unit in SI units with +% reduced precision. +% Source: CODATA~2018 +% +% \begin{macrocode} +\DeclareRobustCommand{\k@SI@short@MassAMUNumeric}{% +\ensuremath{% +1.66e-27}} +% \end{macrocode} +% \end{macro} +% +%\iffalse +% +%\fi +%\iffalse +%<*package> +%\fi +% \begin{macro}{\k@SI@full@MassAMUNumeric} +% \changes{v1.1.0}{2020/02/03}{Fix order of magnitude of constant.} +% \changes{v1.1.0}{2020/02/03}{Correct value in eV.} +% |\k@SI@full@MassAMUNumeric| is the mass of an atomic mass unit in SI units with full +% precision. +% Source: CODATA~2018 +% +% \begin{macrocode} +\DeclareRobustCommand{\k@SI@full@MassAMUNumeric}{% +\ensuremath{% +1.660465492239e-27}} +% \end{macrocode} +% \end{macro} +% +%\iffalse +% +%\fi +%\iffalse +%<*package> +%\fi +% \begin{macro}{\k@cgs@short@MassAMUNumeric} +% \changes{v1.1.0}{2020/02/03}{Fix order of magnitude of constant.} +% \changes{v1.1.0}{2020/02/03}{Correct value in eV.} +% |\k@cgs@short@MassAMUNumeric| is the mass of an atomic mass unit in cgs units with +% reduced precision. +% Source: CODATA~2018 +% +% \begin{macrocode} +\DeclareRobustCommand{\k@cgs@short@MassAMUNumeric}{% +\ensuremath{% +1.66e-24}} +% \end{macrocode} +% \end{macro} +% +%\iffalse +% +%\fi +%\iffalse +%<*package> +%\fi +% \begin{macro}{\k@cgs@full@MassAMUNumeric} +% \changes{v1.1.0}{2020/02/03}{Fix order of magnitude of constant.} +% \changes{v1.1.0}{2020/02/03}{Correct value in eV.} +% |\k@cgs@full@MassAMUNumeric| is the mass of an atomic mass unit in cgs units with +% full precision. +% Source: CODATA~2018 +% +% \begin{macrocode} +\DeclareRobustCommand{\k@cgs@full@MassAMUNumeric}{% +\ensuremath{% +1.660465492239e-24}} +% \end{macrocode} +% \end{macro} +% +%\iffalse +% +%\fi +%\iffalse +%<*package> +%\fi +% \begin{macro}{\k@eV@short@MassAMUNumeric} +% \changes{v1.1.0}{2020/02/03}{Fix order of magnitude of constant.} +% \changes{v1.1.0}{2020/02/03}{Correct value in eV.} +% |\k@eV@short@MassAMUNumeric| is the mass of an atomic mass unit in eV with reduced +% precision. +% Source: CODATA~2018 +% +% \begin{macrocode} +\DeclareRobustCommand{\k@eV@short@MassAMUNumeric}{% +\ensuremath{% +9.31e+08}} +% \end{macrocode} +% \end{macro} +% +%\iffalse +% +%\fi +%\iffalse +%<*package> +%\fi +% \begin{macro}{\k@eV@full@MassAMUNumeric} +% \changes{v1.1.0}{2020/02/03}{Fix order of magnitude of constant.} +% \changes{v1.1.0}{2020/02/03}{Correct value in eV.} +% |\k@eV@full@MassAMUNumeric| is the mass of an atomic mass unit in eV with full +% precision. +% Source: CODATA~2018 +% +% \begin{macrocode} +\DeclareRobustCommand{\k@eV@full@MassAMUNumeric}{% +\ensuremath{% +9.314528302276e+08}} +% \end{macrocode} +% \end{macro} +% +%\iffalse +% +%\fi +%\iffalse +%<*package> +%\fi +% \begin{macro}{\kMassAMUNumeric} +% \changes{v1.1.0}{2020/02/03}{Fix order of magnitude of constant.} +% \changes{v1.1.0}{2020/02/03}{Correct value in eV.} +% |\kMassAMUNumeric| is the mass of an atomic mass unit. +% +% \begin{macrocode} +\ifx\cgsunits\undefined +\ifx\shortconst\undefined +\DeclareRobustCommand {\kMassAMUNumeric}{% +\k@SI@short@MassAMUNumeric} +\else +\DeclareRobustCommand {\kMassAMUNumeric}{% +\k@SI@full@MassAMUNumeric} +\fi +\else +\ifx\shortconst\undefined +\DeclareRobustCommand {\kMassAMUNumeric}{% +\k@cgs@short@MassAMUNumeric} +\else +\DeclareRobustCommand {\kMassAMUNumeric}{% +\k@cgs@full@MassAMUNumeric} +\fi +\fi +% \end{macrocode} +% \end{macro} +% +%\iffalse +% +%\fi +%\iffalse +%<*package> +%\fi +% \begin{macro}{\keVMassAMUNumeric} +% \changes{v1.1.0}{2020/02/03}{Fix order of magnitude of constant.} +% \changes{v1.1.0}{2020/02/03}{Correct value in eV.} +% |\keVMassAMUNumeric| is the mass of an atomic mass unit. +% +% \begin{macrocode} +\ifx\shortconst\undefined +\DeclareRobustCommand {\keVMassAMUNumeric}{% +\k@eV@short@MassAMUNumeric} +\else +\DeclareRobustCommand {\keVMassAMUNumeric}{% +\k@eV@full@MassAMUNumeric} +\fi +% \end{macrocode} +% \end{macro} +% +%\iffalse +% +%\fi +% +%\subsection{Charge} +% +%\iffalse +%<*package> +%\fi +% \begin{macro}{\k@SI@short@ChargeFundamental} +% |\k@SI@short@ChargeFundamental| is the fundamental charge in SI units with +% reduced precision. +% Source: CODATA~2018 +% +% \begin{macrocode} +\DeclareRobustCommand{\k@SI@short@ChargeFundamental}{% +\ensuremath{% +1.60% +\times 10^{-19}\Coulomb}} +% \end{macrocode} +% \end{macro} +% +%\iffalse +% +%\fi +%\iffalse +%<*package> +%\fi +% \begin{macro}{\k@SI@full@ChargeFundamental} +% |\k@SI@full@ChargeFundamental| is the fundamental charge in SI units with +% full precision. +% Source: CODATA~2018 +% +% \begin{macrocode} +\DeclareRobustCommand{\k@SI@full@ChargeFundamental}{% +\ensuremath{% +1.602\expandafter\physconst@decimalsseparator% +176\expandafter\physconst@decimalsseparator% +634% +\times 10^{-19}\Coulomb}} +% \end{macrocode} +% \end{macro} +% +%\iffalse +% +%\fi +%\iffalse +%<*package> +%\fi +% \begin{macro}{\k@cgs@short@ChargeFundamental} +% |\k@cgs@short@ChargeFundamental| is the fundamental charge in cgs units with +% reduced precision. +% Source: CODATA~2018 +% +% \begin{macrocode} +\DeclareRobustCommand{\k@cgs@short@ChargeFundamental}{% +\ensuremath{% +4.80% +\times 10^{-10}\esu}} +% \end{macrocode} +% \end{macro} +% +%\iffalse +% +%\fi +%\iffalse +%<*package> +%\fi +% \begin{macro}{\k@cgs@full@ChargeFundamental} +% |\k@cgs@full@ChargeFundamental| is the fundamental charge in cgs units with +% full precision. +% Source: CODATA~2018 +% +% \begin{macrocode} +\DeclareRobustCommand{\k@cgs@full@ChargeFundamental}{% +\ensuremath{% +4.803\expandafter\physconst@decimalsseparator% +204\expandafter\physconst@decimalsseparator% +713% +\times 10^{-10}\esu}} +% \end{macrocode} +% \end{macro} +% +%\iffalse +% +%\fi +%\iffalse +%<*package> +%\fi +% \begin{macro}{\kChargeFundamental} +% |\kChargeFundamental| is the fundamental charge. +% +% \begin{macrocode} +\ifx\cgsunits\undefined +\ifx\shortconst\undefined +\DeclareRobustCommand {\kChargeFundamental}{% +\k@SI@short@ChargeFundamental} +\else +\DeclareRobustCommand {\kChargeFundamental}{% +\k@SI@full@ChargeFundamental} +\fi +\else +\ifx\shortconst\undefined +\DeclareRobustCommand {\kChargeFundamental}{% +\k@cgs@short@ChargeFundamental} +\else +\DeclareRobustCommand {\kChargeFundamental}{% +\k@cgs@full@ChargeFundamental} +\fi +\fi +% \end{macrocode} +% \end{macro} +% +%\iffalse +% +%\fi +%\iffalse +%<*package> +%\fi +% \begin{macro}{\k@SI@short@ChargeFundamentalNumeric} +% |\k@SI@short@ChargeFundamentalNumeric| is the fundamental charge in SI units with +% reduced precision. +% Source: CODATA~2018 +% +% \begin{macrocode} +\DeclareRobustCommand{\k@SI@short@ChargeFundamentalNumeric}{% +\ensuremath{% +1.60e-19}} +% \end{macrocode} +% \end{macro} +% +%\iffalse +% +%\fi +%\iffalse +%<*package> +%\fi +% \begin{macro}{\k@SI@full@ChargeFundamentalNumeric} +% |\k@SI@full@ChargeFundamentalNumeric| is the fundamental charge in SI units with +% full precision. +% Source: CODATA~2018 +% +% \begin{macrocode} +\DeclareRobustCommand{\k@SI@full@ChargeFundamentalNumeric}{% +\ensuremath{% +1.602176634e-19}} +% \end{macrocode} +% \end{macro} +% +%\iffalse +% +%\fi +%\iffalse +%<*package> +%\fi +% \begin{macro}{\k@cgs@short@ChargeFundamentalNumeric} +% |\k@cgs@short@ChargeFundamentalNumeric| is the fundamental charge in cgs units with +% reduced precision. +% Source: CODATA~2018 +% +% \begin{macrocode} +\DeclareRobustCommand{\k@cgs@short@ChargeFundamentalNumeric}{% +\ensuremath{% +4.80e-10}} +% \end{macrocode} +% \end{macro} +% +%\iffalse +% +%\fi +%\iffalse +%<*package> +%\fi +% \begin{macro}{\k@cgs@full@ChargeFundamentalNumeric} +% |\k@cgs@full@ChargeFundamentalNumeric| is the fundamental charge in cgs units with +% full precision. +% Source: CODATA~2018 +% +% \begin{macrocode} +\DeclareRobustCommand{\k@cgs@full@ChargeFundamentalNumeric}{% +\ensuremath{% +4.803204713e-10}} +% \end{macrocode} +% \end{macro} +% +%\iffalse +% +%\fi +%\iffalse +%<*package> +%\fi +% \begin{macro}{\kChargeFundamentalNumeric} +% |\kChargeFundamentalNumeric| is the fundamental charge. +% +% \begin{macrocode} +\ifx\cgsunits\undefined +\ifx\shortconst\undefined +\DeclareRobustCommand {\kChargeFundamentalNumeric}{% +\k@SI@short@ChargeFundamentalNumeric} +\else +\DeclareRobustCommand {\kChargeFundamentalNumeric}{% +\k@SI@full@ChargeFundamentalNumeric} +\fi +\else +\ifx\shortconst\undefined +\DeclareRobustCommand {\kChargeFundamentalNumeric}{% +\k@cgs@short@ChargeFundamentalNumeric} +\else +\DeclareRobustCommand {\kChargeFundamentalNumeric}{% +\k@cgs@full@ChargeFundamentalNumeric} +\fi +\fi +% \end{macrocode} +% \end{macro} +% +%\iffalse +% +%\fi +%\iffalse +%<*package> +%\fi +% \begin{macro}{\k@SI@short@ChargeElectron} +% |\k@SI@short@ChargeElectron| is the charge of an electron in SI units with +% reduced precision. +% Source: CODATA~2018 +% +% \begin{macrocode} +\DeclareRobustCommand{\k@SI@short@ChargeElectron}{% +\ensuremath{% +-1.60% +\times 10^{-19}\Coulomb}} +% \end{macrocode} +% \end{macro} +% +%\iffalse +% +%\fi +%\iffalse +%<*package> +%\fi +% \begin{macro}{\k@SI@full@ChargeElectron} +% |\k@SI@full@ChargeElectron| is the charge of an electron in SI units with +% full precision. +% Source: CODATA~2018 +% +% \begin{macrocode} +\DeclareRobustCommand{\k@SI@full@ChargeElectron}{% +\ensuremath{% +-1.602\expandafter\physconst@decimalsseparator% +176\expandafter\physconst@decimalsseparator% +634% +\times 10^{-19}\Coulomb}} +% \end{macrocode} +% \end{macro} +% +%\iffalse +% +%\fi +%\iffalse +%<*package> +%\fi +% \begin{macro}{\k@cgs@short@ChargeElectron} +% |\k@cgs@short@ChargeElectron| is the charge of an electron in cgs units with +% reduced precision. +% Source: CODATA~2018 +% +% \begin{macrocode} +\DeclareRobustCommand{\k@cgs@short@ChargeElectron}{% +\ensuremath{% +-4.80% +\times 10^{-10}\esu}} +% \end{macrocode} +% \end{macro} +% +%\iffalse +% +%\fi +%\iffalse +%<*package> +%\fi +% \begin{macro}{\k@cgs@full@ChargeElectron} +% |\k@cgs@full@ChargeElectron| is the charge of an electron in cgs units with +% full precision. +% Source: CODATA~2018 +% +% \begin{macrocode} +\DeclareRobustCommand{\k@cgs@full@ChargeElectron}{% +\ensuremath{% +-4.803\expandafter\physconst@decimalsseparator% +204\expandafter\physconst@decimalsseparator% +713% +\times 10^{-10}\esu}} +% \end{macrocode} +% \end{macro} +% +%\iffalse +% +%\fi +%\iffalse +%<*package> +%\fi +% \begin{macro}{\kChargeElectron} +% |\kChargeElectron| is the charge of an electron. +% +% \begin{macrocode} +\ifx\cgsunits\undefined +\ifx\shortconst\undefined +\DeclareRobustCommand {\kChargeElectron}{% +\k@SI@short@ChargeElectron} +\else +\DeclareRobustCommand {\kChargeElectron}{% +\k@SI@full@ChargeElectron} +\fi +\else +\ifx\shortconst\undefined +\DeclareRobustCommand {\kChargeElectron}{% +\k@cgs@short@ChargeElectron} +\else +\DeclareRobustCommand {\kChargeElectron}{% +\k@cgs@full@ChargeElectron} +\fi +\fi +% \end{macrocode} +% \end{macro} +% +%\iffalse +% +%\fi +%\iffalse +%<*package> +%\fi +% \begin{macro}{\k@SI@short@ChargeElectronNumeric} +% |\k@SI@short@ChargeElectronNumeric| is the charge of an electron in SI units with +% reduced precision. +% Source: CODATA~2018 +% +% \begin{macrocode} +\DeclareRobustCommand{\k@SI@short@ChargeElectronNumeric}{% +\ensuremath{% +-1.60e-19}} +% \end{macrocode} +% \end{macro} +% +%\iffalse +% +%\fi +%\iffalse +%<*package> +%\fi +% \begin{macro}{\k@SI@full@ChargeElectronNumeric} +% |\k@SI@full@ChargeElectronNumeric| is the charge of an electron in SI units with +% full precision. +% Source: CODATA~2018 +% +% \begin{macrocode} +\DeclareRobustCommand{\k@SI@full@ChargeElectronNumeric}{% +\ensuremath{% +-1.602176634e-19}} +% \end{macrocode} +% \end{macro} +% +%\iffalse +% +%\fi +%\iffalse +%<*package> +%\fi +% \begin{macro}{\k@cgs@short@ChargeElectronNumeric} +% |\k@cgs@short@ChargeElectronNumeric| is the charge of an electron in cgs units with +% reduced precision. +% Source: CODATA~2018 +% +% \begin{macrocode} +\DeclareRobustCommand{\k@cgs@short@ChargeElectronNumeric}{% +\ensuremath{% +-4.80e-10}} +% \end{macrocode} +% \end{macro} +% +%\iffalse +% +%\fi +%\iffalse +%<*package> +%\fi +% \begin{macro}{\k@cgs@full@ChargeElectronNumeric} +% |\k@cgs@full@ChargeElectronNumeric| is the charge of an electron in cgs units with +% full precision. +% Source: CODATA~2018 +% +% \begin{macrocode} +\DeclareRobustCommand{\k@cgs@full@ChargeElectronNumeric}{% +\ensuremath{% +-4.803204713e-10}} +% \end{macrocode} +% \end{macro} +% +%\iffalse +% +%\fi +%\iffalse +%<*package> +%\fi +% \begin{macro}{\kChargeElectronNumeric} +% |\kChargeElectronNumeric| is the charge of an electron. +% +% \begin{macrocode} +\ifx\cgsunits\undefined +\ifx\shortconst\undefined +\DeclareRobustCommand {\kChargeElectronNumeric}{% +\k@SI@short@ChargeElectronNumeric} +\else +\DeclareRobustCommand {\kChargeElectronNumeric}{% +\k@SI@full@ChargeElectronNumeric} +\fi +\else +\ifx\shortconst\undefined +\DeclareRobustCommand {\kChargeElectronNumeric}{% +\k@cgs@short@ChargeElectronNumeric} +\else +\DeclareRobustCommand {\kChargeElectronNumeric}{% +\k@cgs@full@ChargeElectronNumeric} +\fi +\fi +% \end{macrocode} +% \end{macro} +% +%\iffalse +% +%\fi +%\iffalse +%<*package> +%\fi +% \begin{macro}{\k@SI@short@ChargeProton} +% |\k@SI@short@ChargeProton| is the charge of a proton in SI units with reduced +% precision. +% Source: CODATA~2018 +% +% \begin{macrocode} +\DeclareRobustCommand{\k@SI@short@ChargeProton}{% +\ensuremath{% +1.60% +\times 10^{-19}\Coulomb}} +% \end{macrocode} +% \end{macro} +% +%\iffalse +% +%\fi +%\iffalse +%<*package> +%\fi +% \begin{macro}{\k@SI@full@ChargeProton} +% |\k@SI@full@ChargeProton| is the charge of a proton in SI units with full +% precision. +% Source: CODATA~2018 +% +% \begin{macrocode} +\DeclareRobustCommand{\k@SI@full@ChargeProton}{% +\ensuremath{% +1.602\expandafter\physconst@decimalsseparator% +176\expandafter\physconst@decimalsseparator% +634% +\times 10^{-19}\Coulomb}} +% \end{macrocode} +% \end{macro} +% +%\iffalse +% +%\fi +%\iffalse +%<*package> +%\fi +% \begin{macro}{\k@cgs@short@ChargeProton} +% |\k@cgs@short@ChargeProton| is the charge of a proton in cgs units with +% reduced precision. +% Source: CODATA~2018 +% +% \begin{macrocode} +\DeclareRobustCommand{\k@cgs@short@ChargeProton}{% +\ensuremath{% +4.80% +\times 10^{-10}\esu}} +% \end{macrocode} +% \end{macro} +% +%\iffalse +% +%\fi +%\iffalse +%<*package> +%\fi +% \begin{macro}{\k@cgs@full@ChargeProton} +% |\k@cgs@full@ChargeProton| is the charge of a proton in cgs units with full +% precision. +% Source: CODATA~2018 +% +% \begin{macrocode} +\DeclareRobustCommand{\k@cgs@full@ChargeProton}{% +\ensuremath{% +4.803\expandafter\physconst@decimalsseparator% +204\expandafter\physconst@decimalsseparator% +713% +\times 10^{-10}\esu}} +% \end{macrocode} +% \end{macro} +% +%\iffalse +% +%\fi +%\iffalse +%<*package> +%\fi +% \begin{macro}{\kChargeProton} +% |\kChargeProton| is the charge of a proton. +% +% \begin{macrocode} +\ifx\cgsunits\undefined +\ifx\shortconst\undefined +\DeclareRobustCommand {\kChargeProton}{% +\k@SI@short@ChargeProton} +\else +\DeclareRobustCommand {\kChargeProton}{% +\k@SI@full@ChargeProton} +\fi +\else +\ifx\shortconst\undefined +\DeclareRobustCommand {\kChargeProton}{% +\k@cgs@short@ChargeProton} +\else +\DeclareRobustCommand {\kChargeProton}{% +\k@cgs@full@ChargeProton} +\fi +\fi +% \end{macrocode} +% \end{macro} +% +%\iffalse +% +%\fi +%\iffalse +%<*package> +%\fi +% \begin{macro}{\k@SI@short@ChargeProtonNumeric} +% |\k@SI@short@ChargeProtonNumeric| is the charge of a proton in SI units with reduced +% precision. +% Source: CODATA~2018 +% +% \begin{macrocode} +\DeclareRobustCommand{\k@SI@short@ChargeProtonNumeric}{% +\ensuremath{% +1.60e-19}} +% \end{macrocode} +% \end{macro} +% +%\iffalse +% +%\fi +%\iffalse +%<*package> +%\fi +% \begin{macro}{\k@SI@full@ChargeProtonNumeric} +% |\k@SI@full@ChargeProtonNumeric| is the charge of a proton in SI units with full +% precision. +% Source: CODATA~2018 +% +% \begin{macrocode} +\DeclareRobustCommand{\k@SI@full@ChargeProtonNumeric}{% +\ensuremath{% +1.602176634e-19}} +% \end{macrocode} +% \end{macro} +% +%\iffalse +% +%\fi +%\iffalse +%<*package> +%\fi +% \begin{macro}{\k@cgs@short@ChargeProtonNumeric} +% |\k@cgs@short@ChargeProtonNumeric| is the charge of a proton in cgs units with +% reduced precision. +% Source: CODATA~2018 +% +% \begin{macrocode} +\DeclareRobustCommand{\k@cgs@short@ChargeProtonNumeric}{% +\ensuremath{% +4.80e-10}} +% \end{macrocode} +% \end{macro} +% +%\iffalse +% +%\fi +%\iffalse +%<*package> +%\fi +% \begin{macro}{\k@cgs@full@ChargeProtonNumeric} +% |\k@cgs@full@ChargeProtonNumeric| is the charge of a proton in cgs units with full +% precision. +% Source: CODATA~2018 +% +% \begin{macrocode} +\DeclareRobustCommand{\k@cgs@full@ChargeProtonNumeric}{% +\ensuremath{% +4.803204713e-10}} +% \end{macrocode} +% \end{macro} +% +%\iffalse +% +%\fi +%\iffalse +%<*package> +%\fi +% \begin{macro}{\kChargeProtonNumeric} +% |\kChargeProtonNumeric| is the charge of a proton. +% +% \begin{macrocode} +\ifx\cgsunits\undefined +\ifx\shortconst\undefined +\DeclareRobustCommand {\kChargeProtonNumeric}{% +\k@SI@short@ChargeProtonNumeric} +\else +\DeclareRobustCommand {\kChargeProtonNumeric}{% +\k@SI@full@ChargeProtonNumeric} +\fi +\else +\ifx\shortconst\undefined +\DeclareRobustCommand {\kChargeProtonNumeric}{% +\k@cgs@short@ChargeProtonNumeric} +\else +\DeclareRobustCommand {\kChargeProtonNumeric}{% +\k@cgs@full@ChargeProtonNumeric} +\fi +\fi +% \end{macrocode} +% \end{macro} +% +%\iffalse +% +%\fi +% +%\subsection{Distances and Lengths} +% +%\iffalse +%<*package> +%\fi +% \begin{macro}{\k@SI@short@RadiusBohr} +% |\k@SI@short@RadiusBohr| is Bohr radius of an atom in SI units with reduced +% precision. +% Source: Calculated +% +% \begin{macrocode} +\DeclareRobustCommand{\k@SI@short@RadiusBohr}{% +\ensuremath{% +5.29% +\times 10^{-11}\m}} +% \end{macrocode} +% \end{macro} +% +%\iffalse +% +%\fi +%\iffalse +%<*package> +%\fi +% \begin{macro}{\k@SI@full@RadiusBohr} +% |\k@SI@full@RadiusBohr| is Bohr radius of an atom in SI units with full +% precision. +% Source: Calculated +% +% \begin{macrocode} +\DeclareRobustCommand{\k@SI@full@RadiusBohr}{% +\ensuremath{% +5.292\expandafter\physconst@decimalsseparator% +006\expandafter\physconst@decimalsseparator% +59% +\times 10^{-11}\m}} +% \end{macrocode} +% \end{macro} +% +%\iffalse +% +%\fi +%\iffalse +%<*package> +%\fi +% \begin{macro}{\k@cgs@short@RadiusBohr} +% |\k@cgs@short@RadiusBohr| is Bohr radius of an atom in cgs units with reduced +% precision. +% Source: Calculated +% +% \begin{macrocode} +\DeclareRobustCommand{\k@cgs@short@RadiusBohr}{% +\ensuremath{% +5.29% +\times 10^{-9}\cm}} +% \end{macrocode} +% \end{macro} +% +%\iffalse +% +%\fi +%\iffalse +%<*package> +%\fi +% \begin{macro}{\k@cgs@full@RadiusBohr} +% |\k@cgs@full@RadiusBohr| is Bohr radius of an atom in cgs units with full +% precision. +% Source: Calculated +% +% \begin{macrocode} +\DeclareRobustCommand{\k@cgs@full@RadiusBohr}{% +\ensuremath{% +5.292\expandafter\physconst@decimalsseparator% +006\expandafter\physconst@decimalsseparator% +59% +\times 10^{-9}\cm}} +% \end{macrocode} +% \end{macro} +% +%\iffalse +% +%\fi +%\iffalse +%<*package> +%\fi +% \begin{macro}{\kRadiusBohr} +% |\kRadiusBohr| is Bohr radius of an atom. +% +% \begin{macrocode} +\ifx\cgsunits\undefined +\ifx\shortconst\undefined +\DeclareRobustCommand {\kRadiusBohr}{% +\k@SI@short@RadiusBohr} +\else +\DeclareRobustCommand {\kRadiusBohr}{% +\k@SI@full@RadiusBohr} +\fi +\else +\ifx\shortconst\undefined +\DeclareRobustCommand {\kRadiusBohr}{% +\k@cgs@short@RadiusBohr} +\else +\DeclareRobustCommand {\kRadiusBohr}{% +\k@cgs@full@RadiusBohr} +\fi +\fi +% \end{macrocode} +% \end{macro} +% +%\iffalse +% +%\fi +%\iffalse +%<*package> +%\fi +% \begin{macro}{\k@SI@short@RadiusBohrNumeric} +% |\k@SI@short@RadiusBohrNumeric| is Bohr radius of an atom in SI units with reduced +% precision. +% Source: Calculated +% +% \begin{macrocode} +\DeclareRobustCommand{\k@SI@short@RadiusBohrNumeric}{% +\ensuremath{% +5.29e-11}} +% \end{macrocode} +% \end{macro} +% +%\iffalse +% +%\fi +%\iffalse +%<*package> +%\fi +% \begin{macro}{\k@SI@full@RadiusBohrNumeric} +% |\k@SI@full@RadiusBohrNumeric| is Bohr radius of an atom in SI units with full +% precision. +% Source: Calculated +% +% \begin{macrocode} +\DeclareRobustCommand{\k@SI@full@RadiusBohrNumeric}{% +\ensuremath{% +5.29200659e-11}} +% \end{macrocode} +% \end{macro} +% +%\iffalse +% +%\fi +%\iffalse +%<*package> +%\fi +% \begin{macro}{\k@cgs@short@RadiusBohrNumeric} +% |\k@cgs@short@RadiusBohrNumeric| is Bohr radius of an atom in cgs units with reduced +% precision. +% Source: Calculated +% +% \begin{macrocode} +\DeclareRobustCommand{\k@cgs@short@RadiusBohrNumeric}{% +\ensuremath{% +5.29e-09}} +% \end{macrocode} +% \end{macro} +% +%\iffalse +% +%\fi +%\iffalse +%<*package> +%\fi +% \begin{macro}{\k@cgs@full@RadiusBohrNumeric} +% |\k@cgs@full@RadiusBohrNumeric| is Bohr radius of an atom in cgs units with full +% precision. +% Source: Calculated +% +% \begin{macrocode} +\DeclareRobustCommand{\k@cgs@full@RadiusBohrNumeric}{% +\ensuremath{% +5.29200659e-09}} +% \end{macrocode} +% \end{macro} +% +%\iffalse +% +%\fi +%\iffalse +%<*package> +%\fi +% \begin{macro}{\kRadiusBohrNumeric} +% |\kRadiusBohrNumeric| is Bohr radius of an atom. +% +% \begin{macrocode} +\ifx\cgsunits\undefined +\ifx\shortconst\undefined +\DeclareRobustCommand {\kRadiusBohrNumeric}{% +\k@SI@short@RadiusBohrNumeric} +\else +\DeclareRobustCommand {\kRadiusBohrNumeric}{% +\k@SI@full@RadiusBohrNumeric} +\fi +\else +\ifx\shortconst\undefined +\DeclareRobustCommand {\kRadiusBohrNumeric}{% +\k@cgs@short@RadiusBohrNumeric} +\else +\DeclareRobustCommand {\kRadiusBohrNumeric}{% +\k@cgs@full@RadiusBohrNumeric} +\fi +\fi +% \end{macrocode} +% \end{macro} +% +%\iffalse +% +%\fi +%\iffalse +%<*package> +%\fi +% \begin{macro}{\k@SI@short@AstronomicalUnit} +% |\k@SI@short@AstronomicalUnit| is the astronomical unit (the average distance +% between the Earth and the Sun) in SI units with reduced precision. +% Source: IAU~Resolution~B2~2012 +% +% \begin{macrocode} +\DeclareRobustCommand{\k@SI@short@AstronomicalUnit}{% +\ensuremath{% +1.50% +\times 10^{11}\m}} +% \end{macrocode} +% \end{macro} +% +%\iffalse +% +%\fi +%\iffalse +%<*package> +%\fi +% \begin{macro}{\k@SI@full@AstronomicalUnit} +% |\k@SI@full@AstronomicalUnit| is the astronomical unit (the average distance +% between the Earth and the Sun) in SI units with full precision. +% Source: IAU~Resolution~B2~2012 +% +% \begin{macrocode} +\DeclareRobustCommand{\k@SI@full@AstronomicalUnit}{% +\ensuremath{% +1.495\expandafter\physconst@decimalsseparator% +978\expandafter\physconst@decimalsseparator% +707% +\times 10^{11}\m}} +% \end{macrocode} +% \end{macro} +% +%\iffalse +% +%\fi +%\iffalse +%<*package> +%\fi +% \begin{macro}{\k@cgs@short@AstronomicalUnit} +% |\k@cgs@short@AstronomicalUnit| is the astronomical unit (the average +% distance between the Earth and the Sun) in cgs units with reduced precision. +% Source: IAU~Resolution~B2~2012 +% +% \begin{macrocode} +\DeclareRobustCommand{\k@cgs@short@AstronomicalUnit}{% +\ensuremath{% +1.50% +\times 10^{13}\cm}} +% \end{macrocode} +% \end{macro} +% +%\iffalse +% +%\fi +%\iffalse +%<*package> +%\fi +% \begin{macro}{\k@cgs@full@AstronomicalUnit} +% |\k@cgs@full@AstronomicalUnit| is the astronomical unit (the average distance +% between the Earth and the Sun) in cgs units with full precision. +% Source: IAU~Resolution~B2~2012 +% +% \begin{macrocode} +\DeclareRobustCommand{\k@cgs@full@AstronomicalUnit}{% +\ensuremath{% +1.495\expandafter\physconst@decimalsseparator% +978\expandafter\physconst@decimalsseparator% +707% +\times 10^{13}\cm}} +% \end{macrocode} +% \end{macro} +% +%\iffalse +% +%\fi +%\iffalse +%<*package> +%\fi +% \begin{macro}{\kAstronomicalUnit} +% |\kAstronomicalUnit| is the astronomical unit (the average distance between +% the Earth and the Sun). +% +% \begin{macrocode} +\ifx\cgsunits\undefined +\ifx\shortconst\undefined +\DeclareRobustCommand {\kAstronomicalUnit}{% +\k@SI@short@AstronomicalUnit} +\else +\DeclareRobustCommand {\kAstronomicalUnit}{% +\k@SI@full@AstronomicalUnit} +\fi +\else +\ifx\shortconst\undefined +\DeclareRobustCommand {\kAstronomicalUnit}{% +\k@cgs@short@AstronomicalUnit} +\else +\DeclareRobustCommand {\kAstronomicalUnit}{% +\k@cgs@full@AstronomicalUnit} +\fi +\fi +% \end{macrocode} +% \end{macro} +% +%\iffalse +% +%\fi +%\iffalse +%<*package> +%\fi +% \begin{macro}{\k@SI@short@AstronomicalUnitNumeric} +% |\k@SI@short@AstronomicalUnitNumeric| is the astronomical unit (the average distance +% between the Earth and the Sun) in SI units with reduced precision. +% Source: IAU~Resolution~B2~2012 +% +% \begin{macrocode} +\DeclareRobustCommand{\k@SI@short@AstronomicalUnitNumeric}{% +\ensuremath{% +1.50e+11}} +% \end{macrocode} +% \end{macro} +% +%\iffalse +% +%\fi +%\iffalse +%<*package> +%\fi +% \begin{macro}{\k@SI@full@AstronomicalUnitNumeric} +% |\k@SI@full@AstronomicalUnitNumeric| is the astronomical unit (the average distance +% between the Earth and the Sun) in SI units with full precision. +% Source: IAU~Resolution~B2~2012 +% +% \begin{macrocode} +\DeclareRobustCommand{\k@SI@full@AstronomicalUnitNumeric}{% +\ensuremath{% +1.495978707e+11}} +% \end{macrocode} +% \end{macro} +% +%\iffalse +% +%\fi +%\iffalse +%<*package> +%\fi +% \begin{macro}{\k@cgs@short@AstronomicalUnitNumeric} +% |\k@cgs@short@AstronomicalUnitNumeric| is the astronomical unit (the average +% distance between the Earth and the Sun) in cgs units with reduced precision. +% Source: IAU~Resolution~B2~2012 +% +% \begin{macrocode} +\DeclareRobustCommand{\k@cgs@short@AstronomicalUnitNumeric}{% +\ensuremath{% +1.50e+13}} +% \end{macrocode} +% \end{macro} +% +%\iffalse +% +%\fi +%\iffalse +%<*package> +%\fi +% \begin{macro}{\k@cgs@full@AstronomicalUnitNumeric} +% |\k@cgs@full@AstronomicalUnitNumeric| is the astronomical unit (the average distance +% between the Earth and the Sun) in cgs units with full precision. +% Source: IAU~Resolution~B2~2012 +% +% \begin{macrocode} +\DeclareRobustCommand{\k@cgs@full@AstronomicalUnitNumeric}{% +\ensuremath{% +1.495978707e+13}} +% \end{macrocode} +% \end{macro} +% +%\iffalse +% +%\fi +%\iffalse +%<*package> +%\fi +% \begin{macro}{\kAstronomicalUnitNumeric} +% |\kAstronomicalUnitNumeric| is the astronomical unit (the average distance between +% the Earth and the Sun). +% +% \begin{macrocode} +\ifx\cgsunits\undefined +\ifx\shortconst\undefined +\DeclareRobustCommand {\kAstronomicalUnitNumeric}{% +\k@SI@short@AstronomicalUnitNumeric} +\else +\DeclareRobustCommand {\kAstronomicalUnitNumeric}{% +\k@SI@full@AstronomicalUnitNumeric} +\fi +\else +\ifx\shortconst\undefined +\DeclareRobustCommand {\kAstronomicalUnitNumeric}{% +\k@cgs@short@AstronomicalUnitNumeric} +\else +\DeclareRobustCommand {\kAstronomicalUnitNumeric}{% +\k@cgs@full@AstronomicalUnitNumeric} +\fi +\fi +% \end{macrocode} +% \end{macro} +% +%\iffalse +% +%\fi +%\iffalse +%<*package> +%\fi +% \begin{macro}{\k@SI@short@Parsec} +% |\k@SI@short@Parsec| is the length of a parsec ($\frac{648000\au}{\pi}$) in +% SI units with reduced precision. +% Source: Calculated +% +% \begin{macrocode} +\DeclareRobustCommand{\k@SI@short@Parsec}{% +\ensuremath{% +3.09% +\times 10^{16}\m}} +% \end{macrocode} +% \end{macro} +% +%\iffalse +% +%\fi +%\iffalse +%<*package> +%\fi +% \begin{macro}{\k@SI@full@Parsec} +% |\k@SI@full@Parsec| is the length of a parsec ($\frac{648000\au}{\pi}$) in SI +% units with full precision. +% Source: Calculated +% +% \begin{macrocode} +\DeclareRobustCommand{\k@SI@full@Parsec}{% +\ensuremath{% +3.085\expandafter\physconst@decimalsseparator% +677\expandafter\physconst@decimalsseparator% +581% +\times 10^{16}\m}} +% \end{macrocode} +% \end{macro} +% +%\iffalse +% +%\fi +%\iffalse +%<*package> +%\fi +% \begin{macro}{\k@cgs@short@Parsec} +% |\k@cgs@short@Parsec| is the length of a parsec ($\frac{648000\au}{\pi}$) in +% cgs units with reduced precision. +% Source: Calculated +% +% \begin{macrocode} +\DeclareRobustCommand{\k@cgs@short@Parsec}{% +\ensuremath{% +3.09% +\times 10^{18}\cm}} +% \end{macrocode} +% \end{macro} +% +%\iffalse +% +%\fi +%\iffalse +%<*package> +%\fi +% \begin{macro}{\k@cgs@full@Parsec} +% |\k@cgs@full@Parsec| is the length of a parsec ($\frac{648000\au}{\pi}$) in +% cgs units with full precision. +% Source: Calculated +% +% \begin{macrocode} +\DeclareRobustCommand{\k@cgs@full@Parsec}{% +\ensuremath{% +3.085\expandafter\physconst@decimalsseparator% +677\expandafter\physconst@decimalsseparator% +581% +\times 10^{18}\cm}} +% \end{macrocode} +% \end{macro} +% +%\iffalse +% +%\fi +%\iffalse +%<*package> +%\fi +% \begin{macro}{\kParsec} +% |\kParsec| is the length of a parsec ($\frac{648000\au}{\pi}$). +% +% \begin{macrocode} +\ifx\cgsunits\undefined +\ifx\shortconst\undefined +\DeclareRobustCommand {\kParsec}{% +\k@SI@short@Parsec} +\else +\DeclareRobustCommand {\kParsec}{% +\k@SI@full@Parsec} +\fi +\else +\ifx\shortconst\undefined +\DeclareRobustCommand {\kParsec}{% +\k@cgs@short@Parsec} +\else +\DeclareRobustCommand {\kParsec}{% +\k@cgs@full@Parsec} +\fi +\fi +% \end{macrocode} +% \end{macro} +% +%\iffalse +% +%\fi +%\iffalse +%<*package> +%\fi +% \begin{macro}{\k@SI@short@ParsecNumeric} +% |\k@SI@short@ParsecNumeric| is the length of a parsec ($\frac{648000\au}{\pi}$) in +% SI units with reduced precision. +% Source: Calculated +% +% \begin{macrocode} +\DeclareRobustCommand{\k@SI@short@ParsecNumeric}{% +\ensuremath{% +3.09e+16}} +% \end{macrocode} +% \end{macro} +% +%\iffalse +% +%\fi +%\iffalse +%<*package> +%\fi +% \begin{macro}{\k@SI@full@ParsecNumeric} +% |\k@SI@full@ParsecNumeric| is the length of a parsec ($\frac{648000\au}{\pi}$) in SI +% units with full precision. +% Source: Calculated +% +% \begin{macrocode} +\DeclareRobustCommand{\k@SI@full@ParsecNumeric}{% +\ensuremath{% +3.085677581e+16}} +% \end{macrocode} +% \end{macro} +% +%\iffalse +% +%\fi +%\iffalse +%<*package> +%\fi +% \begin{macro}{\k@cgs@short@ParsecNumeric} +% |\k@cgs@short@ParsecNumeric| is the length of a parsec ($\frac{648000\au}{\pi}$) in +% cgs units with reduced precision. +% Source: Calculated +% +% \begin{macrocode} +\DeclareRobustCommand{\k@cgs@short@ParsecNumeric}{% +\ensuremath{% +3.09e+18}} +% \end{macrocode} +% \end{macro} +% +%\iffalse +% +%\fi +%\iffalse +%<*package> +%\fi +% \begin{macro}{\k@cgs@full@ParsecNumeric} +% |\k@cgs@full@ParsecNumeric| is the length of a parsec ($\frac{648000\au}{\pi}$) in +% cgs units with full precision. +% Source: Calculated +% +% \begin{macrocode} +\DeclareRobustCommand{\k@cgs@full@ParsecNumeric}{% +\ensuremath{% +3.085677581e+18}} +% \end{macrocode} +% \end{macro} +% +%\iffalse +% +%\fi +%\iffalse +%<*package> +%\fi +% \begin{macro}{\kParsecNumeric} +% |\kParsecNumeric| is the length of a parsec ($\frac{648000\au}{\pi}$). +% +% \begin{macrocode} +\ifx\cgsunits\undefined +\ifx\shortconst\undefined +\DeclareRobustCommand {\kParsecNumeric}{% +\k@SI@short@ParsecNumeric} +\else +\DeclareRobustCommand {\kParsecNumeric}{% +\k@SI@full@ParsecNumeric} +\fi +\else +\ifx\shortconst\undefined +\DeclareRobustCommand {\kParsecNumeric}{% +\k@cgs@short@ParsecNumeric} +\else +\DeclareRobustCommand {\kParsecNumeric}{% +\k@cgs@full@ParsecNumeric} +\fi +\fi +% \end{macrocode} +% \end{macro} +% +%\iffalse +% +%\fi +%\iffalse +%<*package> +%\fi +% \begin{macro}{\k@SI@short@RadiusSun} +% |\k@SI@short@RadiusSun| is the mean radius of the Sun in SI units with +% reduced precision. +% Source: IAU~Resolution~B3~2015 +% +% \begin{macrocode} +\DeclareRobustCommand{\k@SI@short@RadiusSun}{% +\ensuremath{% +6.96% +\times 10^{8}\m}} +% \end{macrocode} +% \end{macro} +% +%\iffalse +% +%\fi +%\iffalse +%<*package> +%\fi +% \begin{macro}{\k@SI@full@RadiusSun} +% |\k@SI@full@RadiusSun| is the mean radius of the Sun in SI units with full +% precision. +% Source: IAU~Resolution~B3~2015 +% +% \begin{macrocode} +\DeclareRobustCommand{\k@SI@full@RadiusSun}{% +\ensuremath{% +6.957% +\times 10^{8}\m}} +% \end{macrocode} +% \end{macro} +% +%\iffalse +% +%\fi +%\iffalse +%<*package> +%\fi +% \begin{macro}{\k@cgs@short@RadiusSun} +% |\k@cgs@short@RadiusSun| is the mean radius of the Sun in cgs units with +% reduced precision. +% Source: IAU~Resolution~B3~2015 +% +% \begin{macrocode} +\DeclareRobustCommand{\k@cgs@short@RadiusSun}{% +\ensuremath{% +6.96% +\times 10^{10}\cm}} +% \end{macrocode} +% \end{macro} +% +%\iffalse +% +%\fi +%\iffalse +%<*package> +%\fi +% \begin{macro}{\k@cgs@full@RadiusSun} +% |\k@cgs@full@RadiusSun| is the mean radius of the Sun in cgs units with full +% precision. +% Source: IAU~Resolution~B3~2015 +% +% \begin{macrocode} +\DeclareRobustCommand{\k@cgs@full@RadiusSun}{% +\ensuremath{% +6.957% +\times 10^{10}\cm}} +% \end{macrocode} +% \end{macro} +% +%\iffalse +% +%\fi +%\iffalse +%<*package> +%\fi +% \begin{macro}{\kRadiusSun} +% |\kRadiusSun| is the mean radius of the Sun. +% +% \begin{macrocode} +\ifx\cgsunits\undefined +\ifx\shortconst\undefined +\DeclareRobustCommand {\kRadiusSun}{% +\k@SI@short@RadiusSun} +\else +\DeclareRobustCommand {\kRadiusSun}{% +\k@SI@full@RadiusSun} +\fi +\else +\ifx\shortconst\undefined +\DeclareRobustCommand {\kRadiusSun}{% +\k@cgs@short@RadiusSun} +\else +\DeclareRobustCommand {\kRadiusSun}{% +\k@cgs@full@RadiusSun} +\fi +\fi +% \end{macrocode} +% \end{macro} +% +%\iffalse +% +%\fi +%\iffalse +%<*package> +%\fi +% \begin{macro}{\k@SI@short@RadiusSunNumeric} +% |\k@SI@short@RadiusSunNumeric| is the mean radius of the Sun in SI units with +% reduced precision. +% Source: IAU~Resolution~B3~2015 +% +% \begin{macrocode} +\DeclareRobustCommand{\k@SI@short@RadiusSunNumeric}{% +\ensuremath{% +6.96e+08}} +% \end{macrocode} +% \end{macro} +% +%\iffalse +% +%\fi +%\iffalse +%<*package> +%\fi +% \begin{macro}{\k@SI@full@RadiusSunNumeric} +% |\k@SI@full@RadiusSunNumeric| is the mean radius of the Sun in SI units with full +% precision. +% Source: IAU~Resolution~B3~2015 +% +% \begin{macrocode} +\DeclareRobustCommand{\k@SI@full@RadiusSunNumeric}{% +\ensuremath{% +6.957e+08}} +% \end{macrocode} +% \end{macro} +% +%\iffalse +% +%\fi +%\iffalse +%<*package> +%\fi +% \begin{macro}{\k@cgs@short@RadiusSunNumeric} +% |\k@cgs@short@RadiusSunNumeric| is the mean radius of the Sun in cgs units with +% reduced precision. +% Source: IAU~Resolution~B3~2015 +% +% \begin{macrocode} +\DeclareRobustCommand{\k@cgs@short@RadiusSunNumeric}{% +\ensuremath{% +6.96e+10}} +% \end{macrocode} +% \end{macro} +% +%\iffalse +% +%\fi +%\iffalse +%<*package> +%\fi +% \begin{macro}{\k@cgs@full@RadiusSunNumeric} +% |\k@cgs@full@RadiusSunNumeric| is the mean radius of the Sun in cgs units with full +% precision. +% Source: IAU~Resolution~B3~2015 +% +% \begin{macrocode} +\DeclareRobustCommand{\k@cgs@full@RadiusSunNumeric}{% +\ensuremath{% +6.957e+10}} +% \end{macrocode} +% \end{macro} +% +%\iffalse +% +%\fi +%\iffalse +%<*package> +%\fi +% \begin{macro}{\kRadiusSunNumeric} +% |\kRadiusSunNumeric| is the mean radius of the Sun. +% +% \begin{macrocode} +\ifx\cgsunits\undefined +\ifx\shortconst\undefined +\DeclareRobustCommand {\kRadiusSunNumeric}{% +\k@SI@short@RadiusSunNumeric} +\else +\DeclareRobustCommand {\kRadiusSunNumeric}{% +\k@SI@full@RadiusSunNumeric} +\fi +\else +\ifx\shortconst\undefined +\DeclareRobustCommand {\kRadiusSunNumeric}{% +\k@cgs@short@RadiusSunNumeric} +\else +\DeclareRobustCommand {\kRadiusSunNumeric}{% +\k@cgs@full@RadiusSunNumeric} +\fi +\fi +% \end{macrocode} +% \end{macro} +% +%\iffalse +% +%\fi +%\iffalse +%<*package> +%\fi +% \begin{macro}{\k@short@RadiusEarth} +% \changes{v1.1.0}{2020/02/03}{Add radius of Earth} +% |\k@short@RadiusEarth| is the mean radius of the Earth with reduced precision. +% Source: IAU~Resolution~B3~2015 +% +% \begin{macrocode} +\DeclareRobustCommand{\k@short@RadiusEarth}{% +\ensuremath{% +6.37% +\times 10^{6}\m}} +% \end{macrocode} +% \end{macro} +% +%\iffalse +% +%\fi +%\iffalse +%<*package> +%\fi +% \begin{macro}{\k@full@RadiusEarth} +% \changes{v1.1.0}{2020/02/03}{Add radius of Earth} +% |\k@full@RadiusEarth| is the mean radius of the Earth with full precision. +% Source: IAU~Resolution~B3~2015 +% +% \begin{macrocode} +\DeclareRobustCommand{\k@full@RadiusEarth}{% +\ensuremath{% +6.371\expandafter\physconst@decimalsseparator% +0% +\times 10^{6}\m}} +% \end{macrocode} +% \end{macro} +% +%\iffalse +% +%\fi +%\iffalse +%<*package> +%\fi +% \begin{macro}{\kRadiusEarth} +% \changes{v1.1.0}{2020/02/03}{Add radius of Earth} +% |\kRadiusEarth| is the mean radius of the Earth. +% +% \begin{macrocode} +\ifx\shortconst\undefined +\DeclareRobustCommand {\kRadiusEarth}{% +\k@short@RadiusEarth} +\else +\DeclareRobustCommand {\kRadiusEarth}{% +\k@full@RadiusEarth} +\fi +% \end{macrocode} +% \end{macro} +% +%\iffalse +% +%\fi +%\iffalse +%<*package> +%\fi +% \begin{macro}{\k@short@RadiusEarthNumeric} +% \changes{v1.1.0}{2020/02/03}{Add radius of Earth} +% |\k@short@RadiusEarthNumeric| is the mean radius of the Earth with reduced precision. +% Source: IAU~Resolution~B3~2015 +% +% \begin{macrocode} +\DeclareRobustCommand{\k@short@RadiusEarthNumeric}{% +\ensuremath{% +6.37e+06}} +% \end{macrocode} +% \end{macro} +% +%\iffalse +% +%\fi +%\iffalse +%<*package> +%\fi +% \begin{macro}{\k@full@RadiusEarthNumeric} +% \changes{v1.1.0}{2020/02/03}{Add radius of Earth} +% |\k@full@RadiusEarthNumeric| is the mean radius of the Earth with full precision. +% Source: IAU~Resolution~B3~2015 +% +% \begin{macrocode} +\DeclareRobustCommand{\k@full@RadiusEarthNumeric}{% +\ensuremath{% +6.3710e+06}} +% \end{macrocode} +% \end{macro} +% +%\iffalse +% +%\fi +%\iffalse +%<*package> +%\fi +% \begin{macro}{\kRadiusEarthNumeric} +% \changes{v1.1.0}{2020/02/03}{Add radius of Earth} +% |\kRadiusEarthNumeric| is the mean radius of the Earth. +% +% \begin{macrocode} +\ifx\shortconst\undefined +\DeclareRobustCommand {\kRadiusEarthNumeric}{% +\k@short@RadiusEarthNumeric} +\else +\DeclareRobustCommand {\kRadiusEarthNumeric}{% +\k@full@RadiusEarthNumeric} +\fi +% \end{macrocode} +% \end{macro} +% +%\iffalse +% +%\fi +%\iffalse +%<*package> +%\fi +% \begin{macro}{\k@short@RadiusJupiter} +% \changes{v1.1.0}{2020/02/03}{Add radius of Jupiter} +% |\k@short@RadiusJupiter| is the mean radius of Jupiter with reduced precision. +% Source: IAU~Resolution~B3~2015 +% +% \begin{macrocode} +\DeclareRobustCommand{\k@short@RadiusJupiter}{% +\ensuremath{% +6.99% +\times 10^{7}\m}} +% \end{macrocode} +% \end{macro} % %\iffalse +% +%\fi +%\iffalse %<*package> %\fi -% \begin{macro}{\physconst@decimalsseparator} -% |\physconst@decimalsseparator| is the a special macro used to separate digits -% in the decimal portion of the constants. If the option unseparatedecimals is -% not specified, decimals will be printed as 1.234\,567\,890. If the option -% is specified, decimals will be printed as 1.234567890. This macro should -% note be used outside of this package. +% \begin{macro}{\k@full@RadiusJupiter} +% \changes{v1.1.0}{2020/02/03}{Add radius of Jupiter} +% |\k@full@RadiusJupiter| is the mean radius of Jupiter with full precision. +% Source: IAU~Resolution~B3~2015 % % \begin{macrocode} -\ifx\unseparatedecimals\undefined -\DeclareRobustCommand{\physconst@decimalsseparator}{\,} +\DeclareRobustCommand{\k@full@RadiusJupiter}{% +\ensuremath{% +6.991\expandafter\physconst@decimalsseparator% +1% +\times 10^{7}\m}} +% \end{macrocode} +% \end{macro} +% +%\iffalse +% +%\fi +%\iffalse +%<*package> +%\fi +% \begin{macro}{\kRadiusJupiter} +% \changes{v1.1.0}{2020/02/03}{Add radius of Jupiter} +% |\kRadiusJupiter| is the mean radius of Jupiter. +% +% \begin{macrocode} +\ifx\shortconst\undefined +\DeclareRobustCommand {\kRadiusJupiter}{% +\k@short@RadiusJupiter} \else -\DeclareRobustCommand{\physconst@decimalsseparator}{ } +\DeclareRobustCommand {\kRadiusJupiter}{% +\k@full@RadiusJupiter} \fi % \end{macrocode} % \end{macro} +% %\iffalse % %\fi +%\iffalse +%<*package> +%\fi +% \begin{macro}{\k@short@RadiusJupiterNumeric} +% \changes{v1.1.0}{2020/02/03}{Add radius of Jupiter} +% |\k@short@RadiusJupiterNumeric| is the mean radius of Jupiter with reduced precision. +% Source: IAU~Resolution~B3~2015 % -%\subsection{Mass} +% \begin{macrocode} +\DeclareRobustCommand{\k@short@RadiusJupiterNumeric}{% +\ensuremath{% +6.99e+07}} +% \end{macrocode} +% \end{macro} % %\iffalse +% +%\fi +%\iffalse %<*package> %\fi -% \begin{macro}{\k@SI@short@MassElectron} -% |\k@SI@short@MassElectron| is the mass of an electron in SI units with -% reduced precision. -% Source: CODATA~2018 +% \begin{macro}{\k@full@RadiusJupiterNumeric} +% \changes{v1.1.0}{2020/02/03}{Add radius of Jupiter} +% |\k@full@RadiusJupiterNumeric| is the mean radius of Jupiter with full precision. +% Source: IAU~Resolution~B3~2015 % % \begin{macrocode} -\DeclareRobustCommand{\k@SI@short@MassElectron}{% +\DeclareRobustCommand{\k@full@RadiusJupiterNumeric}{% \ensuremath{% -9.11% -\times 10^{-34}\kg}} +6.9911e+07}} % \end{macrocode} % \end{macro} % @@ -2545,19 +9081,40 @@ %\iffalse %<*package> %\fi -% \begin{macro}{\k@SI@full@MassElectron} -% |\k@SI@full@MassElectron| is the mass of an electron in SI units with full -% precision. -% Source: CODATA~2018 +% \begin{macro}{\kRadiusJupiterNumeric} +% \changes{v1.1.0}{2020/02/03}{Add radius of Jupiter} +% |\kRadiusJupiterNumeric| is the mean radius of Jupiter. % % \begin{macrocode} -\DeclareRobustCommand{\k@SI@full@MassElectron}{% +\ifx\shortconst\undefined +\DeclareRobustCommand {\kRadiusJupiterNumeric}{% +\k@short@RadiusJupiterNumeric} +\else +\DeclareRobustCommand {\kRadiusJupiterNumeric}{% +\k@full@RadiusJupiterNumeric} +\fi +% \end{macrocode} +% \end{macro} +% +%\iffalse +% +%\fi +% +%\subsection{Energy, Power, and Luminosity} +% +%\iffalse +%<*package> +%\fi +% \begin{macro}{\k@SI@short@Rydberg} +% |\k@SI@short@Rydberg| is the Rydberg energy (the binding energy of Hydrogen) +% in SI units with reduced precision. +% Source: Calculated +% +% \begin{macrocode} +\DeclareRobustCommand{\k@SI@short@Rydberg}{% \ensuremath{% -9.108\expandafter\physconst@decimalsseparator% -980\expandafter\physconst@decimalsseparator% -087\expandafter\physconst@decimalsseparator% -382% -\times 10^{-34}\kg}} +2.18% +\times 10^{-18}\Joule}} % \end{macrocode} % \end{macro} % @@ -2567,16 +9124,18 @@ %\iffalse %<*package> %\fi -% \begin{macro}{\k@cgs@short@MassElectron} -% |\k@cgs@short@MassElectron| is the mass of an electron in cgs units with -% reduced precision. -% Source: CODATA~2018 +% \begin{macro}{\k@SI@full@Rydberg} +% |\k@SI@full@Rydberg| is the Rydberg energy (the binding energy of Hydrogen) +% in SI units with full precision. +% Source: Calculated % % \begin{macrocode} -\DeclareRobustCommand{\k@cgs@short@MassElectron}{% +\DeclareRobustCommand{\k@SI@full@Rydberg}{% \ensuremath{% -9.11% -\times 10^{-31}\gm}} +2.179\expandafter\physconst@decimalsseparator% +775\expandafter\physconst@decimalsseparator% +77% +\times 10^{-18}\Joule}} % \end{macrocode} % \end{macro} % @@ -2586,19 +9145,16 @@ %\iffalse %<*package> %\fi -% \begin{macro}{\k@cgs@full@MassElectron} -% |\k@cgs@full@MassElectron| is the mass of an electron in cgs units with full -% precision. -% Source: CODATA~2018 +% \begin{macro}{\k@cgs@short@Rydberg} +% |\k@cgs@short@Rydberg| is the Rydberg energy (the binding energy of Hydrogen) +% in cgs units with reduced precision. +% Source: Calculated % % \begin{macrocode} -\DeclareRobustCommand{\k@cgs@full@MassElectron}{% +\DeclareRobustCommand{\k@cgs@short@Rydberg}{% \ensuremath{% -9.108\expandafter\physconst@decimalsseparator% -980\expandafter\physconst@decimalsseparator% -087\expandafter\physconst@decimalsseparator% -382% -\times 10^{-31}\gm}} +2.18% +\times 10^{-11}\erg}} % \end{macrocode} % \end{macro} % @@ -2608,16 +9164,37 @@ %\iffalse %<*package> %\fi -% \begin{macro}{\k@eV@short@MassElectron} -% |\k@eV@short@MassElectron| is the mass of an electron in eV with reduced -% precision. -% Source: CODATA~2018 +% \begin{macro}{\k@cgs@full@Rydberg} +% |\k@cgs@full@Rydberg| is the Rydberg energy (the binding energy of Hydrogen) +% in cgs units with full precision. +% Source: Calculated % % \begin{macrocode} -\DeclareRobustCommand{\k@eV@short@MassElectron}{% +\DeclareRobustCommand{\k@cgs@full@Rydberg}{% +\ensuremath{% +2.179\expandafter\physconst@decimalsseparator% +775\expandafter\physconst@decimalsseparator% +77% +\times 10^{-11}\erg}} +% \end{macrocode} +% \end{macro} +% +%\iffalse +% +%\fi +%\iffalse +%<*package> +%\fi +% \begin{macro}{\k@eV@short@Rydberg} +% |\k@eV@short@Rydberg| is the Rydberg energy (the binding energy of Hydrogen) +% in eV with reduced precision. +% Source: Calculated +% +% \begin{macrocode} +\DeclareRobustCommand{\k@eV@short@Rydberg}{% \ensuremath{% -5.69% -\times 10^{-19}\eV\,c^{-2}}} +1.36% +\times 10^{1}\eV}} % \end{macrocode} % \end{macro} % @@ -2627,19 +9204,18 @@ %\iffalse %<*package> %\fi -% \begin{macro}{\k@eV@full@MassElectron} -% |\k@eV@full@MassElectron| is the mass of an electron in eV with full -% precision. -% Source: CODATA~2018 +% \begin{macro}{\k@eV@full@Rydberg} +% |\k@eV@full@Rydberg| is the Rydberg energy (the binding energy of Hydrogen) +% in eV with full precision. +% Source: Calculated % % \begin{macrocode} -\DeclareRobustCommand{\k@eV@full@MassElectron}{% +\DeclareRobustCommand{\k@eV@full@Rydberg}{% \ensuremath{% -5.685\expandafter\physconst@decimalsseparator% -378\expandafter\physconst@decimalsseparator% -187\expandafter\physconst@decimalsseparator% -448% -\times 10^{-19}\eV\,c^{-2}}} +1.360\expandafter\physconst@decimalsseparator% +509\expandafter\physconst@decimalsseparator% +03% +\times 10^{1}\eV}} % \end{macrocode} % \end{macro} % @@ -2649,25 +9225,25 @@ %\iffalse %<*package> %\fi -% \begin{macro}{\kMassElectron} -% |\kMassElectron| is the mass of an electron. +% \begin{macro}{\kRydberg} +% |\kRydberg| is the Rydberg energy (the binding energy of Hydrogen). % % \begin{macrocode} \ifx\cgsunits\undefined \ifx\shortconst\undefined -\DeclareRobustCommand {\kMassElectron}{% -\k@SI@short@MassElectron} +\DeclareRobustCommand {\kRydberg}{% +\k@SI@short@Rydberg} \else -\DeclareRobustCommand {\kMassElectron}{% -\k@SI@full@MassElectron} +\DeclareRobustCommand {\kRydberg}{% +\k@SI@full@Rydberg} \fi \else \ifx\shortconst\undefined -\DeclareRobustCommand {\kMassElectron}{% -\k@cgs@short@MassElectron} +\DeclareRobustCommand {\kRydberg}{% +\k@cgs@short@Rydberg} \else -\DeclareRobustCommand {\kMassElectron}{% -\k@cgs@full@MassElectron} +\DeclareRobustCommand {\kRydberg}{% +\k@cgs@full@Rydberg} \fi \fi % \end{macrocode} @@ -2679,17 +9255,107 @@ %\iffalse %<*package> %\fi -% \begin{macro}{\keVMassElectron} -% |\keVMassElectron| is the mass of an electron. +% \begin{macro}{\keVRydberg} +% |\keVRydberg| is the Rydberg energy (the binding energy of Hydrogen). +% +% \begin{macrocode} +\ifx\shortconst\undefined +\DeclareRobustCommand {\keVRydberg}{% +\k@eV@short@Rydberg} +\else +\DeclareRobustCommand {\keVRydberg}{% +\k@eV@full@Rydberg} +\fi +% \end{macrocode} +% \end{macro} +% +%\iffalse +% +%\fi +%\iffalse +%<*package> +%\fi +% \begin{macro}{\k@SI@short@RydbergNumeric} +% |\k@SI@short@RydbergNumeric| is the Rydberg energy (the binding energy of Hydrogen) +% in SI units with reduced precision. +% Source: Calculated +% +% \begin{macrocode} +\DeclareRobustCommand{\k@SI@short@RydbergNumeric}{% +\ensuremath{% +2.18e-18}} +% \end{macrocode} +% \end{macro} +% +%\iffalse +% +%\fi +%\iffalse +%<*package> +%\fi +% \begin{macro}{\k@SI@full@RydbergNumeric} +% |\k@SI@full@RydbergNumeric| is the Rydberg energy (the binding energy of Hydrogen) +% in SI units with full precision. +% Source: Calculated +% +% \begin{macrocode} +\DeclareRobustCommand{\k@SI@full@RydbergNumeric}{% +\ensuremath{% +2.17977577e-18}} +% \end{macrocode} +% \end{macro} +% +%\iffalse +% +%\fi +%\iffalse +%<*package> +%\fi +% \begin{macro}{\k@cgs@short@RydbergNumeric} +% |\k@cgs@short@RydbergNumeric| is the Rydberg energy (the binding energy of Hydrogen) +% in cgs units with reduced precision. +% Source: Calculated +% +% \begin{macrocode} +\DeclareRobustCommand{\k@cgs@short@RydbergNumeric}{% +\ensuremath{% +2.18e-11}} +% \end{macrocode} +% \end{macro} +% +%\iffalse +% +%\fi +%\iffalse +%<*package> +%\fi +% \begin{macro}{\k@cgs@full@RydbergNumeric} +% |\k@cgs@full@RydbergNumeric| is the Rydberg energy (the binding energy of Hydrogen) +% in cgs units with full precision. +% Source: Calculated +% +% \begin{macrocode} +\DeclareRobustCommand{\k@cgs@full@RydbergNumeric}{% +\ensuremath{% +2.17977577e-11}} +% \end{macrocode} +% \end{macro} +% +%\iffalse +% +%\fi +%\iffalse +%<*package> +%\fi +% \begin{macro}{\k@eV@short@RydbergNumeric} +% |\k@eV@short@RydbergNumeric| is the Rydberg energy (the binding energy of Hydrogen) +% in eV with reduced precision. +% Source: Calculated % % \begin{macrocode} -\ifx\shortconst\undefined -\DeclareRobustCommand {\keVMassElectron}{% -\k@eV@short@MassElectron} -\else -\DeclareRobustCommand {\keVMassElectron}{% -\k@eV@full@MassElectron} -\fi +\DeclareRobustCommand{\k@eV@short@RydbergNumeric}{% +\ensuremath{% +1.36e+01}} % \end{macrocode} % \end{macro} % @@ -2699,16 +9365,15 @@ %\iffalse %<*package> %\fi -% \begin{macro}{\k@SI@short@MassProton} -% |\k@SI@short@MassProton| is the mass of a proton in SI units with reduced -% precision. -% Source: CODATA~2018 +% \begin{macro}{\k@eV@full@RydbergNumeric} +% |\k@eV@full@RydbergNumeric| is the Rydberg energy (the binding energy of Hydrogen) +% in eV with full precision. +% Source: Calculated % % \begin{macrocode} -\DeclareRobustCommand{\k@SI@short@MassProton}{% +\DeclareRobustCommand{\k@eV@full@RydbergNumeric}{% \ensuremath{% -1.67% -\times 10^{-30}\kg}} +1.36050903e+01}} % \end{macrocode} % \end{macro} % @@ -2718,19 +9383,27 @@ %\iffalse %<*package> %\fi -% \begin{macro}{\k@SI@full@MassProton} -% |\k@SI@full@MassProton| is the mass of a proton in SI units with full -% precision. -% Source: CODATA~2018 +% \begin{macro}{\kRydbergNumeric} +% |\kRydbergNumeric| is the Rydberg energy (the binding energy of Hydrogen). % % \begin{macrocode} -\DeclareRobustCommand{\k@SI@full@MassProton}{% -\ensuremath{% -1.672\expandafter\physconst@decimalsseparator% -547\expandafter\physconst@decimalsseparator% -813\expandafter\physconst@decimalsseparator% -969% -\times 10^{-30}\kg}} +\ifx\cgsunits\undefined +\ifx\shortconst\undefined +\DeclareRobustCommand {\kRydbergNumeric}{% +\k@SI@short@RydbergNumeric} +\else +\DeclareRobustCommand {\kRydbergNumeric}{% +\k@SI@full@RydbergNumeric} +\fi +\else +\ifx\shortconst\undefined +\DeclareRobustCommand {\kRydbergNumeric}{% +\k@cgs@short@RydbergNumeric} +\else +\DeclareRobustCommand {\kRydbergNumeric}{% +\k@cgs@full@RydbergNumeric} +\fi +\fi % \end{macrocode} % \end{macro} % @@ -2740,16 +9413,17 @@ %\iffalse %<*package> %\fi -% \begin{macro}{\k@cgs@short@MassProton} -% |\k@cgs@short@MassProton| is the mass of a proton in cgs units with reduced -% precision. -% Source: CODATA~2018 +% \begin{macro}{\keVRydbergNumeric} +% |\keVRydbergNumeric| is the Rydberg energy (the binding energy of Hydrogen). % % \begin{macrocode} -\DeclareRobustCommand{\k@cgs@short@MassProton}{% -\ensuremath{% -1.67% -\times 10^{-27}\gm}} +\ifx\shortconst\undefined +\DeclareRobustCommand {\keVRydbergNumeric}{% +\k@eV@short@RydbergNumeric} +\else +\DeclareRobustCommand {\keVRydbergNumeric}{% +\k@eV@full@RydbergNumeric} +\fi % \end{macrocode} % \end{macro} % @@ -2759,19 +9433,16 @@ %\iffalse %<*package> %\fi -% \begin{macro}{\k@cgs@full@MassProton} -% |\k@cgs@full@MassProton| is the mass of a proton in cgs units with full -% precision. -% Source: CODATA~2018 +% \begin{macro}{\k@SI@short@LuminositySun} +% |\k@SI@short@LuminositySun| is the luminosity of the Sun in SI units with +% reduced precision. +% Source: IAU~Resolution~B3~2015 % % \begin{macrocode} -\DeclareRobustCommand{\k@cgs@full@MassProton}{% +\DeclareRobustCommand{\k@SI@short@LuminositySun}{% \ensuremath{% -1.672\expandafter\physconst@decimalsseparator% -547\expandafter\physconst@decimalsseparator% -813\expandafter\physconst@decimalsseparator% -969% -\times 10^{-27}\gm}} +3.83% +\times 10^{26}\Watt}} % \end{macrocode} % \end{macro} % @@ -2781,15 +9452,16 @@ %\iffalse %<*package> %\fi -% \begin{macro}{\k@eV@short@MassProton} -% |\k@eV@short@MassProton| is the mass of a proton in eV with reduced precision. -% Source: CODATA~2018 +% \begin{macro}{\k@SI@full@LuminositySun} +% |\k@SI@full@LuminositySun| is the luminosity of the Sun in SI units with full +% precision. +% Source: IAU~Resolution~B3~2015 % % \begin{macrocode} -\DeclareRobustCommand{\k@eV@short@MassProton}{% +\DeclareRobustCommand{\k@SI@full@LuminositySun}{% \ensuremath{% -1.04% -\times 10^{-15}\eV\,c^{-2}}} +3.828% +\times 10^{26}\Watt}} % \end{macrocode} % \end{macro} % @@ -2799,18 +9471,16 @@ %\iffalse %<*package> %\fi -% \begin{macro}{\k@eV@full@MassProton} -% |\k@eV@full@MassProton| is the mass of a proton in eV with full precision. -% Source: CODATA~2018 +% \begin{macro}{\k@cgs@short@LuminositySun} +% |\k@cgs@short@LuminositySun| is the luminosity of the Sun in cgs units with +% reduced precision. +% Source: IAU~Resolution~B3~2015 % % \begin{macrocode} -\DeclareRobustCommand{\k@eV@full@MassProton}{% +\DeclareRobustCommand{\k@cgs@short@LuminositySun}{% \ensuremath{% -1.043\expandafter\physconst@decimalsseparator% -922\expandafter\physconst@decimalsseparator% -235\expandafter\physconst@decimalsseparator% -836% -\times 10^{-15}\eV\,c^{-2}}} +3.83% +\times 10^{33}\erg\Sec^{-1}}} % \end{macrocode} % \end{macro} % @@ -2820,27 +9490,16 @@ %\iffalse %<*package> %\fi -% \begin{macro}{\kMassProton} -% |\kMassProton| is the mass of a proton. +% \begin{macro}{\k@cgs@full@LuminositySun} +% |\k@cgs@full@LuminositySun| is the luminosity of the Sun in cgs units with +% full precision. +% Source: IAU~Resolution~B3~2015 % % \begin{macrocode} -\ifx\cgsunits\undefined -\ifx\shortconst\undefined -\DeclareRobustCommand {\kMassProton}{% -\k@SI@short@MassProton} -\else -\DeclareRobustCommand {\kMassProton}{% -\k@SI@full@MassProton} -\fi -\else -\ifx\shortconst\undefined -\DeclareRobustCommand {\kMassProton}{% -\k@cgs@short@MassProton} -\else -\DeclareRobustCommand {\kMassProton}{% -\k@cgs@full@MassProton} -\fi -\fi +\DeclareRobustCommand{\k@cgs@full@LuminositySun}{% +\ensuremath{% +3.828% +\times 10^{33}\erg\Sec^{-1}}} % \end{macrocode} % \end{macro} % @@ -2850,16 +9509,26 @@ %\iffalse %<*package> %\fi -% \begin{macro}{\keVMassProton} -% |\keVMassProton| is the mass of a proton. +% \begin{macro}{\kLuminositySun} +% |\kLuminositySun| is the luminosity of the Sun. % % \begin{macrocode} +\ifx\cgsunits\undefined \ifx\shortconst\undefined -\DeclareRobustCommand {\keVMassProton}{% -\k@eV@short@MassProton} +\DeclareRobustCommand {\kLuminositySun}{% +\k@SI@short@LuminositySun} \else -\DeclareRobustCommand {\keVMassProton}{% -\k@eV@full@MassProton} +\DeclareRobustCommand {\kLuminositySun}{% +\k@SI@full@LuminositySun} +\fi +\else +\ifx\shortconst\undefined +\DeclareRobustCommand {\kLuminositySun}{% +\k@cgs@short@LuminositySun} +\else +\DeclareRobustCommand {\kLuminositySun}{% +\k@cgs@full@LuminositySun} +\fi \fi % \end{macrocode} % \end{macro} @@ -2870,16 +9539,15 @@ %\iffalse %<*package> %\fi -% \begin{macro}{\k@SI@short@MassHydrogen} -% |\k@SI@short@MassHydrogen| is the mass of a neutral hydrogen atom in SI units -% with reduced precision. -% Source: CODATA~2018 +% \begin{macro}{\k@SI@short@LuminositySunNumeric} +% |\k@SI@short@LuminositySunNumeric| is the luminosity of the Sun in SI units with +% reduced precision. +% Source: IAU~Resolution~B3~2015 % % \begin{macrocode} -\DeclareRobustCommand{\k@SI@short@MassHydrogen}{% +\DeclareRobustCommand{\k@SI@short@LuminositySunNumeric}{% \ensuremath{% -1.67% -\times 10^{-30}\kg}} +3.83e+26}} % \end{macrocode} % \end{macro} % @@ -2889,19 +9557,15 @@ %\iffalse %<*package> %\fi -% \begin{macro}{\k@SI@full@MassHydrogen} -% |\k@SI@full@MassHydrogen| is the mass of a neutral hydrogen atom in SI units -% with full precision. -% Source: CODATA~2018 +% \begin{macro}{\k@SI@full@LuminositySunNumeric} +% |\k@SI@full@LuminositySunNumeric| is the luminosity of the Sun in SI units with full +% precision. +% Source: IAU~Resolution~B3~2015 % % \begin{macrocode} -\DeclareRobustCommand{\k@SI@full@MassHydrogen}{% +\DeclareRobustCommand{\k@SI@full@LuminositySunNumeric}{% \ensuremath{% -1.673\expandafter\physconst@decimalsseparator% -458\expandafter\physconst@decimalsseparator% -687\expandafter\physconst@decimalsseparator% -724% -\times 10^{-30}\kg}} +3.828e+26}} % \end{macrocode} % \end{macro} % @@ -2911,16 +9575,15 @@ %\iffalse %<*package> %\fi -% \begin{macro}{\k@cgs@short@MassHydrogen} -% |\k@cgs@short@MassHydrogen| is the mass of a neutral hydrogen atom in cgs -% units with reduced precision. -% Source: CODATA~2018 +% \begin{macro}{\k@cgs@short@LuminositySunNumeric} +% |\k@cgs@short@LuminositySunNumeric| is the luminosity of the Sun in cgs units with +% reduced precision. +% Source: IAU~Resolution~B3~2015 % % \begin{macrocode} -\DeclareRobustCommand{\k@cgs@short@MassHydrogen}{% +\DeclareRobustCommand{\k@cgs@short@LuminositySunNumeric}{% \ensuremath{% -1.67% -\times 10^{-27}\gm}} +3.83e+33}} % \end{macrocode} % \end{macro} % @@ -2930,19 +9593,15 @@ %\iffalse %<*package> %\fi -% \begin{macro}{\k@cgs@full@MassHydrogen} -% |\k@cgs@full@MassHydrogen| is the mass of a neutral hydrogen atom in cgs -% units with full precision. -% Source: CODATA~2018 +% \begin{macro}{\k@cgs@full@LuminositySunNumeric} +% |\k@cgs@full@LuminositySunNumeric| is the luminosity of the Sun in cgs units with +% full precision. +% Source: IAU~Resolution~B3~2015 % % \begin{macrocode} -\DeclareRobustCommand{\k@cgs@full@MassHydrogen}{% +\DeclareRobustCommand{\k@cgs@full@LuminositySunNumeric}{% \ensuremath{% -1.673\expandafter\physconst@decimalsseparator% -458\expandafter\physconst@decimalsseparator% -687\expandafter\physconst@decimalsseparator% -724% -\times 10^{-27}\gm}} +3.828e+33}} % \end{macrocode} % \end{macro} % @@ -2952,38 +9611,50 @@ %\iffalse %<*package> %\fi -% \begin{macro}{\k@eV@short@MassHydrogen} -% |\k@eV@short@MassHydrogen| is the mass of a neutral hydrogen atom in eV with -% reduced precision. -% Source: CODATA~2018 +% \begin{macro}{\kLuminositySunNumeric} +% |\kLuminositySunNumeric| is the luminosity of the Sun. % % \begin{macrocode} -\DeclareRobustCommand{\k@eV@short@MassHydrogen}{% -\ensuremath{% -1.04% -\times 10^{-15}\eV\,c^{-2}}} +\ifx\cgsunits\undefined +\ifx\shortconst\undefined +\DeclareRobustCommand {\kLuminositySunNumeric}{% +\k@SI@short@LuminositySunNumeric} +\else +\DeclareRobustCommand {\kLuminositySunNumeric}{% +\k@SI@full@LuminositySunNumeric} +\fi +\else +\ifx\shortconst\undefined +\DeclareRobustCommand {\kLuminositySunNumeric}{% +\k@cgs@short@LuminositySunNumeric} +\else +\DeclareRobustCommand {\kLuminositySunNumeric}{% +\k@cgs@full@LuminositySunNumeric} +\fi +\fi % \end{macrocode} % \end{macro} % %\iffalse % %\fi +% +%\subsection{Pressure} +% %\iffalse %<*package> %\fi -% \begin{macro}{\k@eV@full@MassHydrogen} -% |\k@eV@full@MassHydrogen| is the mass of a neutral hydrogen atom in eV with -% full precision. +% \begin{macro}{\k@SI@short@PressureAtmosphere} +% \changes{v1.1.0}{2020/02/03}{Fix prefix of units.} +% |\k@SI@short@PressureAtmosphere| is the standard atmospheric pressure in SI +% units with reduced precision. % Source: CODATA~2018 % % \begin{macrocode} -\DeclareRobustCommand{\k@eV@full@MassHydrogen}{% +\DeclareRobustCommand{\k@SI@short@PressureAtmosphere}{% \ensuremath{% -1.044\expandafter\physconst@decimalsseparator% -490\expandafter\physconst@decimalsseparator% -758\expandafter\physconst@decimalsseparator% -517% -\times 10^{-15}\eV\,c^{-2}}} +1.01% +\times 10^{5}\Pa}} % \end{macrocode} % \end{macro} % @@ -2993,27 +9664,18 @@ %\iffalse %<*package> %\fi -% \begin{macro}{\kMassHydrogen} -% |\kMassHydrogen| is the mass of a neutral hydrogen atom. +% \begin{macro}{\k@SI@full@PressureAtmosphere} +% \changes{v1.1.0}{2020/02/03}{Fix prefix of units.} +% |\k@SI@full@PressureAtmosphere| is the standard atmospheric pressure in SI +% units with full precision. +% Source: CODATA~2018 % % \begin{macrocode} -\ifx\cgsunits\undefined -\ifx\shortconst\undefined -\DeclareRobustCommand {\kMassHydrogen}{% -\k@SI@short@MassHydrogen} -\else -\DeclareRobustCommand {\kMassHydrogen}{% -\k@SI@full@MassHydrogen} -\fi -\else -\ifx\shortconst\undefined -\DeclareRobustCommand {\kMassHydrogen}{% -\k@cgs@short@MassHydrogen} -\else -\DeclareRobustCommand {\kMassHydrogen}{% -\k@cgs@full@MassHydrogen} -\fi -\fi +\DeclareRobustCommand{\k@SI@full@PressureAtmosphere}{% +\ensuremath{% +1.013\expandafter\physconst@decimalsseparator% +25% +\times 10^{5}\Pa}} % \end{macrocode} % \end{macro} % @@ -3023,17 +9685,16 @@ %\iffalse %<*package> %\fi -% \begin{macro}{\keVMassHydrogen} -% |\keVMassHydrogen| is the mass of a neutral hydrogen atom. +% \begin{macro}{\k@cgs@short@PressureAtmosphere} +% \changes{v1.1.0}{2020/02/03}{Fix prefix of units.} +% |\k@cgs@short@PressureAtmosphere| is the standard atmospheric pressure in cgs +% units with reduced precision. +% Source: CODATA~2018 % % \begin{macrocode} -\ifx\shortconst\undefined -\DeclareRobustCommand {\keVMassHydrogen}{% -\k@eV@short@MassHydrogen} -\else -\DeclareRobustCommand {\keVMassHydrogen}{% -\k@eV@full@MassHydrogen} -\fi +\DeclareRobustCommand{\k@cgs@short@PressureAtmosphere}{% +\ensuremath{% +1.01\barP}} % \end{macrocode} % \end{macro} % @@ -3043,16 +9704,17 @@ %\iffalse %<*package> %\fi -% \begin{macro}{\k@SI@short@MassSun} -% |\k@SI@short@MassSun| is the mass of the Sun in SI units with reduced -% precision. -% Source: IAU~Resolution~B3~2015 +% \begin{macro}{\k@cgs@full@PressureAtmosphere} +% \changes{v1.1.0}{2020/02/03}{Fix prefix of units.} +% |\k@cgs@full@PressureAtmosphere| is the standard atmospheric pressure in cgs +% units with full precision. +% Source: CODATA~2018 % % \begin{macrocode} -\DeclareRobustCommand{\k@SI@short@MassSun}{% +\DeclareRobustCommand{\k@cgs@full@PressureAtmosphere}{% \ensuremath{% -1.99% -\times 10^{30}\kg}} +1.013\expandafter\physconst@decimalsseparator% +25\barP}} % \end{macrocode} % \end{macro} % @@ -3062,17 +9724,28 @@ %\iffalse %<*package> %\fi -% \begin{macro}{\k@SI@full@MassSun} -% |\k@SI@full@MassSun| is the mass of the Sun in SI units with full precision. -% Source: IAU~Resolution~B3~2015 +% \begin{macro}{\kPressureAtmosphere} +% \changes{v1.1.0}{2020/02/03}{Fix prefix of units.} +% |\kPressureAtmosphere| is the standard atmospheric pressure. % % \begin{macrocode} -\DeclareRobustCommand{\k@SI@full@MassSun}{% -\ensuremath{% -1.988\expandafter\physconst@decimalsseparator% -409\expandafter\physconst@decimalsseparator% -9% -\times 10^{30}\kg}} +\ifx\cgsunits\undefined +\ifx\shortconst\undefined +\DeclareRobustCommand {\kPressureAtmosphere}{% +\k@SI@short@PressureAtmosphere} +\else +\DeclareRobustCommand {\kPressureAtmosphere}{% +\k@SI@full@PressureAtmosphere} +\fi +\else +\ifx\shortconst\undefined +\DeclareRobustCommand {\kPressureAtmosphere}{% +\k@cgs@short@PressureAtmosphere} +\else +\DeclareRobustCommand {\kPressureAtmosphere}{% +\k@cgs@full@PressureAtmosphere} +\fi +\fi % \end{macrocode} % \end{macro} % @@ -3082,16 +9755,16 @@ %\iffalse %<*package> %\fi -% \begin{macro}{\k@cgs@short@MassSun} -% |\k@cgs@short@MassSun| is the mass of the Sun in cgs units with reduced -% precision. -% Source: IAU~Resolution~B3~2015 +% \begin{macro}{\k@SI@short@PressureAtmosphereNumeric} +% \changes{v1.1.0}{2020/02/03}{Fix prefix of units.} +% |\k@SI@short@PressureAtmosphereNumeric| is the standard atmospheric pressure in SI +% units with reduced precision. +% Source: CODATA~2018 % % \begin{macrocode} -\DeclareRobustCommand{\k@cgs@short@MassSun}{% +\DeclareRobustCommand{\k@SI@short@PressureAtmosphereNumeric}{% \ensuremath{% -1.99% -\times 10^{33}\gm}} +1.01e+05}} % \end{macrocode} % \end{macro} % @@ -3101,17 +9774,16 @@ %\iffalse %<*package> %\fi -% \begin{macro}{\k@cgs@full@MassSun} -% |\k@cgs@full@MassSun| is the mass of the Sun in cgs units with full precision. -% Source: IAU~Resolution~B3~2015 +% \begin{macro}{\k@SI@full@PressureAtmosphereNumeric} +% \changes{v1.1.0}{2020/02/03}{Fix prefix of units.} +% |\k@SI@full@PressureAtmosphereNumeric| is the standard atmospheric pressure in SI +% units with full precision. +% Source: CODATA~2018 % % \begin{macrocode} -\DeclareRobustCommand{\k@cgs@full@MassSun}{% +\DeclareRobustCommand{\k@SI@full@PressureAtmosphereNumeric}{% \ensuremath{% -1.988\expandafter\physconst@decimalsseparator% -409\expandafter\physconst@decimalsseparator% -9% -\times 10^{33}\gm}} +1.01325e+05}} % \end{macrocode} % \end{macro} % @@ -3121,27 +9793,16 @@ %\iffalse %<*package> %\fi -% \begin{macro}{\kMassSun} -% |\kMassSun| is the mass of the Sun. +% \begin{macro}{\k@cgs@short@PressureAtmosphereNumeric} +% \changes{v1.1.0}{2020/02/03}{Fix prefix of units.} +% |\k@cgs@short@PressureAtmosphereNumeric| is the standard atmospheric pressure in cgs +% units with reduced precision. +% Source: CODATA~2018 % % \begin{macrocode} -\ifx\cgsunits\undefined -\ifx\shortconst\undefined -\DeclareRobustCommand {\kMassSun}{% -\k@SI@short@MassSun} -\else -\DeclareRobustCommand {\kMassSun}{% -\k@SI@full@MassSun} -\fi -\else -\ifx\shortconst\undefined -\DeclareRobustCommand {\kMassSun}{% -\k@cgs@short@MassSun} -\else -\DeclareRobustCommand {\kMassSun}{% -\k@cgs@full@MassSun} -\fi -\fi +\DeclareRobustCommand{\k@cgs@short@PressureAtmosphereNumeric}{% +\ensuremath{% +1.01e+00}} % \end{macrocode} % \end{macro} % @@ -3151,16 +9812,16 @@ %\iffalse %<*package> %\fi -% \begin{macro}{\k@SI@short@MassAMU} -% |\k@SI@short@MassAMU| is the mass of an atomic mass unit in SI units with -% reduced precision. +% \begin{macro}{\k@cgs@full@PressureAtmosphereNumeric} +% \changes{v1.1.0}{2020/02/03}{Fix prefix of units.} +% |\k@cgs@full@PressureAtmosphereNumeric| is the standard atmospheric pressure in cgs +% units with full precision. % Source: CODATA~2018 % % \begin{macrocode} -\DeclareRobustCommand{\k@SI@short@MassAMU}{% +\DeclareRobustCommand{\k@cgs@full@PressureAtmosphereNumeric}{% \ensuremath{% -1.66% -\times 10^{-30}\kg}} +1.01325e+00}} % \end{macrocode} % \end{macro} % @@ -3170,19 +9831,28 @@ %\iffalse %<*package> %\fi -% \begin{macro}{\k@SI@full@MassAMU} -% |\k@SI@full@MassAMU| is the mass of an atomic mass unit in SI units with full -% precision. -% Source: CODATA~2018 +% \begin{macro}{\kPressureAtmosphereNumeric} +% \changes{v1.1.0}{2020/02/03}{Fix prefix of units.} +% |\kPressureAtmosphereNumeric| is the standard atmospheric pressure. % % \begin{macrocode} -\DeclareRobustCommand{\k@SI@full@MassAMU}{% -\ensuremath{% -1.660\expandafter\physconst@decimalsseparator% -465\expandafter\physconst@decimalsseparator% -492\expandafter\physconst@decimalsseparator% -239% -\times 10^{-30}\kg}} +\ifx\cgsunits\undefined +\ifx\shortconst\undefined +\DeclareRobustCommand {\kPressureAtmosphereNumeric}{% +\k@SI@short@PressureAtmosphereNumeric} +\else +\DeclareRobustCommand {\kPressureAtmosphereNumeric}{% +\k@SI@full@PressureAtmosphereNumeric} +\fi +\else +\ifx\shortconst\undefined +\DeclareRobustCommand {\kPressureAtmosphereNumeric}{% +\k@cgs@short@PressureAtmosphereNumeric} +\else +\DeclareRobustCommand {\kPressureAtmosphereNumeric}{% +\k@cgs@full@PressureAtmosphereNumeric} +\fi +\fi % \end{macrocode} % \end{macro} % @@ -3192,16 +9862,17 @@ %\iffalse %<*package> %\fi -% \begin{macro}{\k@cgs@short@MassAMU} -% |\k@cgs@short@MassAMU| is the mass of an atomic mass unit in cgs units with -% reduced precision. +% \begin{macro}{\k@SI@short@PressureStandard} +% \changes{v1.1.0}{2020/02/03}{Fix prefix of units.} +% |\k@SI@short@PressureStandard| is the standard atmospheric pressure in SI +% units with reduced precision. % Source: CODATA~2018 % % \begin{macrocode} -\DeclareRobustCommand{\k@cgs@short@MassAMU}{% +\DeclareRobustCommand{\k@SI@short@PressureStandard}{% \ensuremath{% -1.66% -\times 10^{-27}\gm}} +1.00% +\times 10^{5}\Pa}} % \end{macrocode} % \end{macro} % @@ -3211,19 +9882,18 @@ %\iffalse %<*package> %\fi -% \begin{macro}{\k@cgs@full@MassAMU} -% |\k@cgs@full@MassAMU| is the mass of an atomic mass unit in cgs units with -% full precision. +% \begin{macro}{\k@SI@full@PressureStandard} +% \changes{v1.1.0}{2020/02/03}{Fix prefix of units.} +% |\k@SI@full@PressureStandard| is the standard atmospheric pressure in SI +% units with full precision. % Source: CODATA~2018 % % \begin{macrocode} -\DeclareRobustCommand{\k@cgs@full@MassAMU}{% +\DeclareRobustCommand{\k@SI@full@PressureStandard}{% \ensuremath{% -1.660\expandafter\physconst@decimalsseparator% -465\expandafter\physconst@decimalsseparator% -492\expandafter\physconst@decimalsseparator% -239% -\times 10^{-27}\gm}} +1.000\expandafter\physconst@decimalsseparator% +00% +\times 10^{5}\Pa}} % \end{macrocode} % \end{macro} % @@ -3233,16 +9903,16 @@ %\iffalse %<*package> %\fi -% \begin{macro}{\k@eV@short@MassAMU} -% |\k@eV@short@MassAMU| is the mass of an atomic mass unit in eV with reduced -% precision. +% \begin{macro}{\k@cgs@short@PressureStandard} +% \changes{v1.1.0}{2020/02/03}{Fix prefix of units.} +% |\k@cgs@short@PressureStandard| is the standard atmospheric pressure in cgs +% units with reduced precision. % Source: CODATA~2018 % % \begin{macrocode} -\DeclareRobustCommand{\k@eV@short@MassAMU}{% +\DeclareRobustCommand{\k@cgs@short@PressureStandard}{% \ensuremath{% -1.04% -\times 10^{-15}\eV\,c^{-2}}} +1.00\barP}} % \end{macrocode} % \end{macro} % @@ -3252,19 +9922,17 @@ %\iffalse %<*package> %\fi -% \begin{macro}{\k@eV@full@MassAMU} -% |\k@eV@full@MassAMU| is the mass of an atomic mass unit in eV with full -% precision. +% \begin{macro}{\k@cgs@full@PressureStandard} +% \changes{v1.1.0}{2020/02/03}{Fix prefix of units.} +% |\k@cgs@full@PressureStandard| is the standard atmospheric pressure in cgs +% units with full precision. % Source: CODATA~2018 % % \begin{macrocode} -\DeclareRobustCommand{\k@eV@full@MassAMU}{% +\DeclareRobustCommand{\k@cgs@full@PressureStandard}{% \ensuremath{% -1.036\expandafter\physconst@decimalsseparator% -381\expandafter\physconst@decimalsseparator% -043\expandafter\physconst@decimalsseparator% -764% -\times 10^{-15}\eV\,c^{-2}}} +1.000\expandafter\physconst@decimalsseparator% +00\barP}} % \end{macrocode} % \end{macro} % @@ -3274,46 +9942,27 @@ %\iffalse %<*package> %\fi -% \begin{macro}{\kMassAMU} -% |\kMassAMU| is the mass of an atomic mass unit. +% \begin{macro}{\kPressureStandard} +% \changes{v1.1.0}{2020/02/03}{Fix prefix of units.} +% |\kPressureStandard| is the standard atmospheric pressure. % % \begin{macrocode} \ifx\cgsunits\undefined \ifx\shortconst\undefined -\DeclareRobustCommand {\kMassAMU}{% -\k@SI@short@MassAMU} +\DeclareRobustCommand {\kPressureStandard}{% +\k@SI@short@PressureStandard} \else -\DeclareRobustCommand {\kMassAMU}{% -\k@SI@full@MassAMU} +\DeclareRobustCommand {\kPressureStandard}{% +\k@SI@full@PressureStandard} \fi \else \ifx\shortconst\undefined -\DeclareRobustCommand {\kMassAMU}{% -\k@cgs@short@MassAMU} +\DeclareRobustCommand {\kPressureStandard}{% +\k@cgs@short@PressureStandard} \else -\DeclareRobustCommand {\kMassAMU}{% -\k@cgs@full@MassAMU} -\fi +\DeclareRobustCommand {\kPressureStandard}{% +\k@cgs@full@PressureStandard} \fi -% \end{macrocode} -% \end{macro} -% -%\iffalse -% -%\fi -%\iffalse -%<*package> -%\fi -% \begin{macro}{\keVMassAMU} -% |\keVMassAMU| is the mass of an atomic mass unit. -% -% \begin{macrocode} -\ifx\shortconst\undefined -\DeclareRobustCommand {\keVMassAMU}{% -\k@eV@short@MassAMU} -\else -\DeclareRobustCommand {\keVMassAMU}{% -\k@eV@full@MassAMU} \fi % \end{macrocode} % \end{macro} @@ -3321,22 +9970,19 @@ %\iffalse % %\fi -% -%\subsection{Charge} -% %\iffalse %<*package> %\fi -% \begin{macro}{\k@SI@short@ChargeFundamental} -% |\k@SI@short@ChargeFundamental| is the fundamental charge in SI units with -% reduced precision. +% \begin{macro}{\k@SI@short@PressureStandardNumeric} +% \changes{v1.1.0}{2020/02/03}{Fix prefix of units.} +% |\k@SI@short@PressureStandardNumeric| is the standard atmospheric pressure in SI +% units with reduced precision. % Source: CODATA~2018 % % \begin{macrocode} -\DeclareRobustCommand{\k@SI@short@ChargeFundamental}{% +\DeclareRobustCommand{\k@SI@short@PressureStandardNumeric}{% \ensuremath{% -1.60% -\times 10^{-19}\Coulomb}} +1.00e+05}} % \end{macrocode} % \end{macro} % @@ -3346,18 +9992,16 @@ %\iffalse %<*package> %\fi -% \begin{macro}{\k@SI@full@ChargeFundamental} -% |\k@SI@full@ChargeFundamental| is the fundamental charge in SI units with -% full precision. +% \begin{macro}{\k@SI@full@PressureStandardNumeric} +% \changes{v1.1.0}{2020/02/03}{Fix prefix of units.} +% |\k@SI@full@PressureStandardNumeric| is the standard atmospheric pressure in SI +% units with full precision. % Source: CODATA~2018 % % \begin{macrocode} -\DeclareRobustCommand{\k@SI@full@ChargeFundamental}{% +\DeclareRobustCommand{\k@SI@full@PressureStandardNumeric}{% \ensuremath{% -1.602\expandafter\physconst@decimalsseparator% -176\expandafter\physconst@decimalsseparator% -634% -\times 10^{-19}\Coulomb}} +1.00000e+05}} % \end{macrocode} % \end{macro} % @@ -3367,16 +10011,16 @@ %\iffalse %<*package> %\fi -% \begin{macro}{\k@cgs@short@ChargeFundamental} -% |\k@cgs@short@ChargeFundamental| is the fundamental charge in cgs units with -% reduced precision. +% \begin{macro}{\k@cgs@short@PressureStandardNumeric} +% \changes{v1.1.0}{2020/02/03}{Fix prefix of units.} +% |\k@cgs@short@PressureStandardNumeric| is the standard atmospheric pressure in cgs +% units with reduced precision. % Source: CODATA~2018 % % \begin{macrocode} -\DeclareRobustCommand{\k@cgs@short@ChargeFundamental}{% +\DeclareRobustCommand{\k@cgs@short@PressureStandardNumeric}{% \ensuremath{% -4.80% -\times 10^{-10}\esu}} +1.00e+00}} % \end{macrocode} % \end{macro} % @@ -3386,18 +10030,16 @@ %\iffalse %<*package> %\fi -% \begin{macro}{\k@cgs@full@ChargeFundamental} -% |\k@cgs@full@ChargeFundamental| is the fundamental charge in cgs units with -% full precision. +% \begin{macro}{\k@cgs@full@PressureStandardNumeric} +% \changes{v1.1.0}{2020/02/03}{Fix prefix of units.} +% |\k@cgs@full@PressureStandardNumeric| is the standard atmospheric pressure in cgs +% units with full precision. % Source: CODATA~2018 % % \begin{macrocode} -\DeclareRobustCommand{\k@cgs@full@ChargeFundamental}{% +\DeclareRobustCommand{\k@cgs@full@PressureStandardNumeric}{% \ensuremath{% -4.803\expandafter\physconst@decimalsseparator% -204\expandafter\physconst@decimalsseparator% -713% -\times 10^{-10}\esu}} +1.00000e+00}} % \end{macrocode} % \end{macro} % @@ -3407,25 +10049,26 @@ %\iffalse %<*package> %\fi -% \begin{macro}{\kChargeFundamental} -% |\kChargeFundamental| is the fundamental charge. +% \begin{macro}{\kPressureStandardNumeric} +% \changes{v1.1.0}{2020/02/03}{Fix prefix of units.} +% |\kPressureStandardNumeric| is the standard atmospheric pressure. % % \begin{macrocode} \ifx\cgsunits\undefined \ifx\shortconst\undefined -\DeclareRobustCommand {\kChargeFundamental}{% -\k@SI@short@ChargeFundamental} +\DeclareRobustCommand {\kPressureStandardNumeric}{% +\k@SI@short@PressureStandardNumeric} \else -\DeclareRobustCommand {\kChargeFundamental}{% -\k@SI@full@ChargeFundamental} +\DeclareRobustCommand {\kPressureStandardNumeric}{% +\k@SI@full@PressureStandardNumeric} \fi \else \ifx\shortconst\undefined -\DeclareRobustCommand {\kChargeFundamental}{% -\k@cgs@short@ChargeFundamental} +\DeclareRobustCommand {\kPressureStandardNumeric}{% +\k@cgs@short@PressureStandardNumeric} \else -\DeclareRobustCommand {\kChargeFundamental}{% -\k@cgs@full@ChargeFundamental} +\DeclareRobustCommand {\kPressureStandardNumeric}{% +\k@cgs@full@PressureStandardNumeric} \fi \fi % \end{macrocode} @@ -3434,19 +10077,22 @@ %\iffalse % %\fi +% +%\subsection{Velocity, Speed and Acceleration} +% %\iffalse %<*package> %\fi -% \begin{macro}{\k@SI@short@ChargeElectron} -% |\k@SI@short@ChargeElectron| is the charge of an electron in SI units with -% reduced precision. -% Source: CODATA~2018 +% \begin{macro}{\k@SI@short@SpeedLight} +% |\k@SI@short@SpeedLight| is the speed of light in SI units with reduced +% precision. +% Source: CODATA 2018 % % \begin{macrocode} -\DeclareRobustCommand{\k@SI@short@ChargeElectron}{% +\DeclareRobustCommand{\k@SI@short@SpeedLight}{% \ensuremath{% --1.60% -\times 10^{-19}\Coulomb}} +3.00% +\times 10^{8}\m\Sec^{-1}}} % \end{macrocode} % \end{macro} % @@ -3456,18 +10102,17 @@ %\iffalse %<*package> %\fi -% \begin{macro}{\k@SI@full@ChargeElectron} -% |\k@SI@full@ChargeElectron| is the charge of an electron in SI units with -% full precision. -% Source: CODATA~2018 +% \begin{macro}{\k@SI@full@SpeedLight} +% |\k@SI@full@SpeedLight| is the speed of light in SI units with full precision. +% Source: CODATA 2018 % % \begin{macrocode} -\DeclareRobustCommand{\k@SI@full@ChargeElectron}{% +\DeclareRobustCommand{\k@SI@full@SpeedLight}{% \ensuremath{% --1.602\expandafter\physconst@decimalsseparator% -176\expandafter\physconst@decimalsseparator% -634% -\times 10^{-19}\Coulomb}} +2.997\expandafter\physconst@decimalsseparator% +924\expandafter\physconst@decimalsseparator% +58% +\times 10^{8}\m\Sec^{-1}}} % \end{macrocode} % \end{macro} % @@ -3477,16 +10122,16 @@ %\iffalse %<*package> %\fi -% \begin{macro}{\k@cgs@short@ChargeElectron} -% |\k@cgs@short@ChargeElectron| is the charge of an electron in cgs units with -% reduced precision. -% Source: CODATA~2018 +% \begin{macro}{\k@cgs@short@SpeedLight} +% |\k@cgs@short@SpeedLight| is the speed of light in cgs units with reduced +% precision. +% Source: CODATA 2018 % % \begin{macrocode} -\DeclareRobustCommand{\k@cgs@short@ChargeElectron}{% +\DeclareRobustCommand{\k@cgs@short@SpeedLight}{% \ensuremath{% --4.80% -\times 10^{-10}\esu}} +3.00% +\times 10^{10}\cm\Sec^{-1}}} % \end{macrocode} % \end{macro} % @@ -3496,18 +10141,18 @@ %\iffalse %<*package> %\fi -% \begin{macro}{\k@cgs@full@ChargeElectron} -% |\k@cgs@full@ChargeElectron| is the charge of an electron in cgs units with -% full precision. -% Source: CODATA~2018 +% \begin{macro}{\k@cgs@full@SpeedLight} +% |\k@cgs@full@SpeedLight| is the speed of light in cgs units with full +% precision. +% Source: CODATA 2018 % % \begin{macrocode} -\DeclareRobustCommand{\k@cgs@full@ChargeElectron}{% +\DeclareRobustCommand{\k@cgs@full@SpeedLight}{% \ensuremath{% --4.803\expandafter\physconst@decimalsseparator% -204\expandafter\physconst@decimalsseparator% -713% -\times 10^{-10}\esu}} +2.997\expandafter\physconst@decimalsseparator% +924\expandafter\physconst@decimalsseparator% +58% +\times 10^{10}\cm\Sec^{-1}}} % \end{macrocode} % \end{macro} % @@ -3517,25 +10162,25 @@ %\iffalse %<*package> %\fi -% \begin{macro}{\kChargeElectron} -% |\kChargeElectron| is the charge of an electron. +% \begin{macro}{\kSpeedLight} +% |\kSpeedLight| is the speed of light. % % \begin{macrocode} \ifx\cgsunits\undefined \ifx\shortconst\undefined -\DeclareRobustCommand {\kChargeElectron}{% -\k@SI@short@ChargeElectron} +\DeclareRobustCommand {\kSpeedLight}{% +\k@SI@short@SpeedLight} \else -\DeclareRobustCommand {\kChargeElectron}{% -\k@SI@full@ChargeElectron} +\DeclareRobustCommand {\kSpeedLight}{% +\k@SI@full@SpeedLight} \fi \else \ifx\shortconst\undefined -\DeclareRobustCommand {\kChargeElectron}{% -\k@cgs@short@ChargeElectron} +\DeclareRobustCommand {\kSpeedLight}{% +\k@cgs@short@SpeedLight} \else -\DeclareRobustCommand {\kChargeElectron}{% -\k@cgs@full@ChargeElectron} +\DeclareRobustCommand {\kSpeedLight}{% +\k@cgs@full@SpeedLight} \fi \fi % \end{macrocode} @@ -3547,16 +10192,15 @@ %\iffalse %<*package> %\fi -% \begin{macro}{\k@SI@short@ChargeProton} -% |\k@SI@short@ChargeProton| is the charge of a proton in SI units with reduced +% \begin{macro}{\k@SI@short@SpeedLightNumeric} +% |\k@SI@short@SpeedLightNumeric| is the speed of light in SI units with reduced % precision. -% Source: CODATA~2018 +% Source: CODATA 2018 % % \begin{macrocode} -\DeclareRobustCommand{\k@SI@short@ChargeProton}{% +\DeclareRobustCommand{\k@SI@short@SpeedLightNumeric}{% \ensuremath{% -1.60% -\times 10^{-19}\Coulomb}} +3.00e+08}} % \end{macrocode} % \end{macro} % @@ -3566,18 +10210,14 @@ %\iffalse %<*package> %\fi -% \begin{macro}{\k@SI@full@ChargeProton} -% |\k@SI@full@ChargeProton| is the charge of a proton in SI units with full -% precision. -% Source: CODATA~2018 +% \begin{macro}{\k@SI@full@SpeedLightNumeric} +% |\k@SI@full@SpeedLightNumeric| is the speed of light in SI units with full precision. +% Source: CODATA 2018 % % \begin{macrocode} -\DeclareRobustCommand{\k@SI@full@ChargeProton}{% +\DeclareRobustCommand{\k@SI@full@SpeedLightNumeric}{% \ensuremath{% -1.602\expandafter\physconst@decimalsseparator% -176\expandafter\physconst@decimalsseparator% -634% -\times 10^{-19}\Coulomb}} +2.99792458e+08}} % \end{macrocode} % \end{macro} % @@ -3587,16 +10227,15 @@ %\iffalse %<*package> %\fi -% \begin{macro}{\k@cgs@short@ChargeProton} -% |\k@cgs@short@ChargeProton| is the charge of a proton in cgs units with -% reduced precision. -% Source: CODATA~2018 +% \begin{macro}{\k@cgs@short@SpeedLightNumeric} +% |\k@cgs@short@SpeedLightNumeric| is the speed of light in cgs units with reduced +% precision. +% Source: CODATA 2018 % % \begin{macrocode} -\DeclareRobustCommand{\k@cgs@short@ChargeProton}{% +\DeclareRobustCommand{\k@cgs@short@SpeedLightNumeric}{% \ensuremath{% -4.80% -\times 10^{-10}\esu}} +3.00e+10}} % \end{macrocode} % \end{macro} % @@ -3606,18 +10245,15 @@ %\iffalse %<*package> %\fi -% \begin{macro}{\k@cgs@full@ChargeProton} -% |\k@cgs@full@ChargeProton| is the charge of a proton in cgs units with full +% \begin{macro}{\k@cgs@full@SpeedLightNumeric} +% |\k@cgs@full@SpeedLightNumeric| is the speed of light in cgs units with full % precision. -% Source: CODATA~2018 +% Source: CODATA 2018 % % \begin{macrocode} -\DeclareRobustCommand{\k@cgs@full@ChargeProton}{% +\DeclareRobustCommand{\k@cgs@full@SpeedLightNumeric}{% \ensuremath{% -4.803\expandafter\physconst@decimalsseparator% -204\expandafter\physconst@decimalsseparator% -713% -\times 10^{-10}\esu}} +2.99792458e+10}} % \end{macrocode} % \end{macro} % @@ -3627,25 +10263,25 @@ %\iffalse %<*package> %\fi -% \begin{macro}{\kChargeProton} -% |\kChargeProton| is the charge of a proton. +% \begin{macro}{\kSpeedLightNumeric} +% |\kSpeedLightNumeric| is the speed of light. % % \begin{macrocode} \ifx\cgsunits\undefined \ifx\shortconst\undefined -\DeclareRobustCommand {\kChargeProton}{% -\k@SI@short@ChargeProton} +\DeclareRobustCommand {\kSpeedLightNumeric}{% +\k@SI@short@SpeedLightNumeric} \else -\DeclareRobustCommand {\kChargeProton}{% -\k@SI@full@ChargeProton} +\DeclareRobustCommand {\kSpeedLightNumeric}{% +\k@SI@full@SpeedLightNumeric} \fi \else \ifx\shortconst\undefined -\DeclareRobustCommand {\kChargeProton}{% -\k@cgs@short@ChargeProton} +\DeclareRobustCommand {\kSpeedLightNumeric}{% +\k@cgs@short@SpeedLightNumeric} \else -\DeclareRobustCommand {\kChargeProton}{% -\k@cgs@full@ChargeProton} +\DeclareRobustCommand {\kSpeedLightNumeric}{% +\k@cgs@full@SpeedLightNumeric} \fi \fi % \end{macrocode} @@ -3654,22 +10290,20 @@ %\iffalse % %\fi -% -%\subsection{Distances and Lengths} -% %\iffalse %<*package> %\fi -% \begin{macro}{\k@SI@short@RadiusBohr} -% |\k@SI@short@RadiusBohr| is Bohr radius of an atom in SI units with reduced -% precision. -% Source: Calculated +% \begin{macro}{\k@SI@short@AccelGravity} +% \changes{v1.1.0}{2020/02/03}{Correct value.} +% \changes{v1.1.0}{2020/02/03}{Fix units.} +% |\k@SI@short@AccelGravity| is the accelertion due to gravity at the surface +% of the Earth in SI units with reduced precision. +% Source: CODATA 2018 % % \begin{macrocode} -\DeclareRobustCommand{\k@SI@short@RadiusBohr}{% +\DeclareRobustCommand{\k@SI@short@AccelGravity}{% \ensuremath{% -5.29% -\times 10^{-8}\m}} +9.81\m\Sec^{-2}}} % \end{macrocode} % \end{macro} % @@ -3679,18 +10313,18 @@ %\iffalse %<*package> %\fi -% \begin{macro}{\k@SI@full@RadiusBohr} -% |\k@SI@full@RadiusBohr| is Bohr radius of an atom in SI units with full -% precision. -% Source: Calculated +% \begin{macro}{\k@SI@full@AccelGravity} +% \changes{v1.1.0}{2020/02/03}{Correct value.} +% \changes{v1.1.0}{2020/02/03}{Fix units.} +% |\k@SI@full@AccelGravity| is the accelertion due to gravity at the surface of +% the Earth in SI units with full precision. +% Source: CODATA 2018 % % \begin{macrocode} -\DeclareRobustCommand{\k@SI@full@RadiusBohr}{% +\DeclareRobustCommand{\k@SI@full@AccelGravity}{% \ensuremath{% -5.292\expandafter\physconst@decimalsseparator% -006\expandafter\physconst@decimalsseparator% -59% -\times 10^{-8}\m}} +9.806\expandafter\physconst@decimalsseparator% +65\m\Sec^{-2}}} % \end{macrocode} % \end{macro} % @@ -3700,16 +10334,18 @@ %\iffalse %<*package> %\fi -% \begin{macro}{\k@cgs@short@RadiusBohr} -% |\k@cgs@short@RadiusBohr| is Bohr radius of an atom in cgs units with reduced -% precision. -% Source: Calculated +% \begin{macro}{\k@cgs@short@AccelGravity} +% \changes{v1.1.0}{2020/02/03}{Correct value.} +% \changes{v1.1.0}{2020/02/03}{Fix units.} +% |\k@cgs@short@AccelGravity| is the accelertion due to gravity at the surface +% of the Earth in cgs units with reduced precision. +% Source: CODATA 2018 % % \begin{macrocode} -\DeclareRobustCommand{\k@cgs@short@RadiusBohr}{% +\DeclareRobustCommand{\k@cgs@short@AccelGravity}{% \ensuremath{% -5.29% -\times 10^{-6}\cm}} +9.81% +\times 10^{2}\cm\Sec^{-2}}} % \end{macrocode} % \end{macro} % @@ -3719,18 +10355,19 @@ %\iffalse %<*package> %\fi -% \begin{macro}{\k@cgs@full@RadiusBohr} -% |\k@cgs@full@RadiusBohr| is Bohr radius of an atom in cgs units with full -% precision. -% Source: Calculated +% \begin{macro}{\k@cgs@full@AccelGravity} +% \changes{v1.1.0}{2020/02/03}{Correct value.} +% \changes{v1.1.0}{2020/02/03}{Fix units.} +% |\k@cgs@full@AccelGravity| is the accelertion due to gravity at the surface +% of the Earth in cgs units with full precision. +% Source: CODATA 2018 % % \begin{macrocode} -\DeclareRobustCommand{\k@cgs@full@RadiusBohr}{% +\DeclareRobustCommand{\k@cgs@full@AccelGravity}{% \ensuremath{% -5.292\expandafter\physconst@decimalsseparator% -006\expandafter\physconst@decimalsseparator% -59% -\times 10^{-6}\cm}} +9.806\expandafter\physconst@decimalsseparator% +65% +\times 10^{2}\cm\Sec^{-2}}} % \end{macrocode} % \end{macro} % @@ -3740,25 +10377,28 @@ %\iffalse %<*package> %\fi -% \begin{macro}{\kRadiusBohr} -% |\kRadiusBohr| is Bohr radius of an atom. +% \begin{macro}{\kAccelGravity} +% \changes{v1.1.0}{2020/02/03}{Correct value.} +% \changes{v1.1.0}{2020/02/03}{Fix units.} +% |\kAccelGravity| is the accelertion due to gravity at the surface of the +% Earth. % % \begin{macrocode} \ifx\cgsunits\undefined \ifx\shortconst\undefined -\DeclareRobustCommand {\kRadiusBohr}{% -\k@SI@short@RadiusBohr} +\DeclareRobustCommand {\kAccelGravity}{% +\k@SI@short@AccelGravity} \else -\DeclareRobustCommand {\kRadiusBohr}{% -\k@SI@full@RadiusBohr} +\DeclareRobustCommand {\kAccelGravity}{% +\k@SI@full@AccelGravity} \fi \else \ifx\shortconst\undefined -\DeclareRobustCommand {\kRadiusBohr}{% -\k@cgs@short@RadiusBohr} +\DeclareRobustCommand {\kAccelGravity}{% +\k@cgs@short@AccelGravity} \else -\DeclareRobustCommand {\kRadiusBohr}{% -\k@cgs@full@RadiusBohr} +\DeclareRobustCommand {\kAccelGravity}{% +\k@cgs@full@AccelGravity} \fi \fi % \end{macrocode} @@ -3770,16 +10410,17 @@ %\iffalse %<*package> %\fi -% \begin{macro}{\k@SI@short@AstronomicalUnit} -% |\k@SI@short@AstronomicalUnit| is the astronomical unit (the average distance -% between the Earth and the Sun) in SI units with reduced precision. -% Source: IAU~Resolution~B2~2012 +% \begin{macro}{\k@SI@short@AccelGravityNumeric} +% \changes{v1.1.0}{2020/02/03}{Correct value.} +% \changes{v1.1.0}{2020/02/03}{Fix units.} +% |\k@SI@short@AccelGravityNumeric| is the accelertion due to gravity at the surface +% of the Earth in SI units with reduced precision. +% Source: CODATA 2018 % % \begin{macrocode} -\DeclareRobustCommand{\k@SI@short@AstronomicalUnit}{% +\DeclareRobustCommand{\k@SI@short@AccelGravityNumeric}{% \ensuremath{% -1.50% -\times 10^{11}\m}} +9.81e+00}} % \end{macrocode} % \end{macro} % @@ -3789,18 +10430,17 @@ %\iffalse %<*package> %\fi -% \begin{macro}{\k@SI@full@AstronomicalUnit} -% |\k@SI@full@AstronomicalUnit| is the astronomical unit (the average distance -% between the Earth and the Sun) in SI units with full precision. -% Source: IAU~Resolution~B2~2012 +% \begin{macro}{\k@SI@full@AccelGravityNumeric} +% \changes{v1.1.0}{2020/02/03}{Correct value.} +% \changes{v1.1.0}{2020/02/03}{Fix units.} +% |\k@SI@full@AccelGravityNumeric| is the accelertion due to gravity at the surface of +% the Earth in SI units with full precision. +% Source: CODATA 2018 % % \begin{macrocode} -\DeclareRobustCommand{\k@SI@full@AstronomicalUnit}{% +\DeclareRobustCommand{\k@SI@full@AccelGravityNumeric}{% \ensuremath{% -1.495\expandafter\physconst@decimalsseparator% -978\expandafter\physconst@decimalsseparator% -707% -\times 10^{11}\m}} +9.80665e+00}} % \end{macrocode} % \end{macro} % @@ -3810,16 +10450,17 @@ %\iffalse %<*package> %\fi -% \begin{macro}{\k@cgs@short@AstronomicalUnit} -% |\k@cgs@short@AstronomicalUnit| is the astronomical unit (the average -% distance between the Earth and the Sun) in cgs units with reduced precision. -% Source: IAU~Resolution~B2~2012 +% \begin{macro}{\k@cgs@short@AccelGravityNumeric} +% \changes{v1.1.0}{2020/02/03}{Correct value.} +% \changes{v1.1.0}{2020/02/03}{Fix units.} +% |\k@cgs@short@AccelGravityNumeric| is the accelertion due to gravity at the surface +% of the Earth in cgs units with reduced precision. +% Source: CODATA 2018 % % \begin{macrocode} -\DeclareRobustCommand{\k@cgs@short@AstronomicalUnit}{% +\DeclareRobustCommand{\k@cgs@short@AccelGravityNumeric}{% \ensuremath{% -1.50% -\times 10^{13}\cm}} +9.81e+02}} % \end{macrocode} % \end{macro} % @@ -3829,18 +10470,17 @@ %\iffalse %<*package> %\fi -% \begin{macro}{\k@cgs@full@AstronomicalUnit} -% |\k@cgs@full@AstronomicalUnit| is the astronomical unit (the average distance -% between the Earth and the Sun) in cgs units with full precision. -% Source: IAU~Resolution~B2~2012 +% \begin{macro}{\k@cgs@full@AccelGravityNumeric} +% \changes{v1.1.0}{2020/02/03}{Correct value.} +% \changes{v1.1.0}{2020/02/03}{Fix units.} +% |\k@cgs@full@AccelGravityNumeric| is the accelertion due to gravity at the surface +% of the Earth in cgs units with full precision. +% Source: CODATA 2018 % % \begin{macrocode} -\DeclareRobustCommand{\k@cgs@full@AstronomicalUnit}{% +\DeclareRobustCommand{\k@cgs@full@AccelGravityNumeric}{% \ensuremath{% -1.495\expandafter\physconst@decimalsseparator% -978\expandafter\physconst@decimalsseparator% -707% -\times 10^{13}\cm}} +9.80665e+02}} % \end{macrocode} % \end{macro} % @@ -3850,26 +10490,28 @@ %\iffalse %<*package> %\fi -% \begin{macro}{\kAstronomicalUnit} -% |\kAstronomicalUnit| is the astronomical unit (the average distance between -% the Earth and the Sun). +% \begin{macro}{\kAccelGravityNumeric} +% \changes{v1.1.0}{2020/02/03}{Correct value.} +% \changes{v1.1.0}{2020/02/03}{Fix units.} +% |\kAccelGravityNumeric| is the accelertion due to gravity at the surface of the +% Earth. % % \begin{macrocode} \ifx\cgsunits\undefined \ifx\shortconst\undefined -\DeclareRobustCommand {\kAstronomicalUnit}{% -\k@SI@short@AstronomicalUnit} +\DeclareRobustCommand {\kAccelGravityNumeric}{% +\k@SI@short@AccelGravityNumeric} \else -\DeclareRobustCommand {\kAstronomicalUnit}{% -\k@SI@full@AstronomicalUnit} +\DeclareRobustCommand {\kAccelGravityNumeric}{% +\k@SI@full@AccelGravityNumeric} \fi \else \ifx\shortconst\undefined -\DeclareRobustCommand {\kAstronomicalUnit}{% -\k@cgs@short@AstronomicalUnit} +\DeclareRobustCommand {\kAccelGravityNumeric}{% +\k@cgs@short@AccelGravityNumeric} \else -\DeclareRobustCommand {\kAstronomicalUnit}{% -\k@cgs@full@AstronomicalUnit} +\DeclareRobustCommand {\kAccelGravityNumeric}{% +\k@cgs@full@AccelGravityNumeric} \fi \fi % \end{macrocode} @@ -3878,19 +10520,23 @@ %\iffalse % %\fi +% +%\subsection{Other Constants} +% %\iffalse %<*package> %\fi -% \begin{macro}{\k@SI@short@Parsec} -% |\k@SI@short@Parsec| is the length of a parsec ($\frac{648000\au}{\pi}$) in +% \begin{macro}{\k@SI@short@Coulomb} +% \changes{v1.1.0}{2020/02/03}{Fix order of magnitude of constant.} +% |\k@SI@short@Coulomb| is the Coulomb constant ($\frac{1}{4\pi\epsilon_0}$) in % SI units with reduced precision. % Source: Calculated % % \begin{macrocode} -\DeclareRobustCommand{\k@SI@short@Parsec}{% +\DeclareRobustCommand{\k@SI@short@Coulomb}{% \ensuremath{% -3.09% -\times 10^{16}\m}} +8.99% +\times 10^{9}\N\m^2\Coulomb^{-2}}} % \end{macrocode} % \end{macro} % @@ -3900,18 +10546,19 @@ %\iffalse %<*package> %\fi -% \begin{macro}{\k@SI@full@Parsec} -% |\k@SI@full@Parsec| is the length of a parsec ($\frac{648000\au}{\pi}$) in SI -% units with full precision. +% \begin{macro}{\k@SI@full@Coulomb} +% \changes{v1.1.0}{2020/02/03}{Fix order of magnitude of constant.} +% |\k@SI@full@Coulomb| is the Coulomb constant ($\frac{1}{4\pi\epsilon_0}$) in +% SI units with full precision. % Source: Calculated % % \begin{macrocode} -\DeclareRobustCommand{\k@SI@full@Parsec}{% +\DeclareRobustCommand{\k@SI@full@Coulomb}{% \ensuremath{% -3.085\expandafter\physconst@decimalsseparator% -677\expandafter\physconst@decimalsseparator% -581% -\times 10^{16}\m}} +8.987\expandafter\physconst@decimalsseparator% +551\expandafter\physconst@decimalsseparator% +79% +\times 10^{9}\N\m^2\Coulomb^{-2}}} % \end{macrocode} % \end{macro} % @@ -3920,17 +10567,17 @@ %\fi %\iffalse %<*package> -%\fi -% \begin{macro}{\k@cgs@short@Parsec} -% |\k@cgs@short@Parsec| is the length of a parsec ($\frac{648000\au}{\pi}$) in -% cgs units with reduced precision. +%\fi +% \begin{macro}{\k@cgs@short@Coulomb} +% \changes{v1.1.0}{2020/02/03}{Fix order of magnitude of constant.} +% |\k@cgs@short@Coulomb| is the Coulomb constant ($\frac{1}{4\pi\epsilon_0}$) +% in cgs units with reduced precision. % Source: Calculated % % \begin{macrocode} -\DeclareRobustCommand{\k@cgs@short@Parsec}{% +\DeclareRobustCommand{\k@cgs@short@Coulomb}{% \ensuremath{% -3.09% -\times 10^{18}\cm}} +1.00}} % \end{macrocode} % \end{macro} % @@ -3940,18 +10587,18 @@ %\iffalse %<*package> %\fi -% \begin{macro}{\k@cgs@full@Parsec} -% |\k@cgs@full@Parsec| is the length of a parsec ($\frac{648000\au}{\pi}$) in +% \begin{macro}{\k@cgs@full@Coulomb} +% \changes{v1.1.0}{2020/02/03}{Fix order of magnitude of constant.} +% |\k@cgs@full@Coulomb| is the Coulomb constant ($\frac{1}{4\pi\epsilon_0}$) in % cgs units with full precision. % Source: Calculated % % \begin{macrocode} -\DeclareRobustCommand{\k@cgs@full@Parsec}{% +\DeclareRobustCommand{\k@cgs@full@Coulomb}{% \ensuremath{% -3.085\expandafter\physconst@decimalsseparator% -677\expandafter\physconst@decimalsseparator% -581% -\times 10^{18}\cm}} +1.000\expandafter\physconst@decimalsseparator% +000\expandafter\physconst@decimalsseparator% +00}} % \end{macrocode} % \end{macro} % @@ -3961,25 +10608,26 @@ %\iffalse %<*package> %\fi -% \begin{macro}{\kParsec} -% |\kParsec| is the length of a parsec ($\frac{648000\au}{\pi}$). +% \begin{macro}{\kCoulomb} +% \changes{v1.1.0}{2020/02/03}{Fix order of magnitude of constant.} +% |\kCoulomb| is the Coulomb constant ($\frac{1}{4\pi\epsilon_0}$). % % \begin{macrocode} \ifx\cgsunits\undefined \ifx\shortconst\undefined -\DeclareRobustCommand {\kParsec}{% -\k@SI@short@Parsec} +\DeclareRobustCommand {\kCoulomb}{% +\k@SI@short@Coulomb} \else -\DeclareRobustCommand {\kParsec}{% -\k@SI@full@Parsec} +\DeclareRobustCommand {\kCoulomb}{% +\k@SI@full@Coulomb} \fi \else \ifx\shortconst\undefined -\DeclareRobustCommand {\kParsec}{% -\k@cgs@short@Parsec} +\DeclareRobustCommand {\kCoulomb}{% +\k@cgs@short@Coulomb} \else -\DeclareRobustCommand {\kParsec}{% -\k@cgs@full@Parsec} +\DeclareRobustCommand {\kCoulomb}{% +\k@cgs@full@Coulomb} \fi \fi % \end{macrocode} @@ -3991,16 +10639,16 @@ %\iffalse %<*package> %\fi -% \begin{macro}{\k@SI@short@RadiusSun} -% |\k@SI@short@RadiusSun| is the mean radius of the Sun in SI units with -% reduced precision. -% Source: IAU~Resolution~B3~2015 +% \begin{macro}{\k@SI@short@CoulombNumeric} +% \changes{v1.1.0}{2020/02/03}{Fix order of magnitude of constant.} +% |\k@SI@short@CoulombNumeric| is the Coulomb constant ($\frac{1}{4\pi\epsilon_0}$) in +% SI units with reduced precision. +% Source: Calculated % % \begin{macrocode} -\DeclareRobustCommand{\k@SI@short@RadiusSun}{% +\DeclareRobustCommand{\k@SI@short@CoulombNumeric}{% \ensuremath{% -6.96% -\times 10^{8}\m}} +8.99e+09}} % \end{macrocode} % \end{macro} % @@ -4010,16 +10658,16 @@ %\iffalse %<*package> %\fi -% \begin{macro}{\k@SI@full@RadiusSun} -% |\k@SI@full@RadiusSun| is the mean radius of the Sun in SI units with full -% precision. -% Source: IAU~Resolution~B3~2015 +% \begin{macro}{\k@SI@full@CoulombNumeric} +% \changes{v1.1.0}{2020/02/03}{Fix order of magnitude of constant.} +% |\k@SI@full@CoulombNumeric| is the Coulomb constant ($\frac{1}{4\pi\epsilon_0}$) in +% SI units with full precision. +% Source: Calculated % % \begin{macrocode} -\DeclareRobustCommand{\k@SI@full@RadiusSun}{% +\DeclareRobustCommand{\k@SI@full@CoulombNumeric}{% \ensuremath{% -6.957% -\times 10^{8}\m}} +8.98755179e+09}} % \end{macrocode} % \end{macro} % @@ -4029,16 +10677,16 @@ %\iffalse %<*package> %\fi -% \begin{macro}{\k@cgs@short@RadiusSun} -% |\k@cgs@short@RadiusSun| is the mean radius of the Sun in cgs units with -% reduced precision. -% Source: IAU~Resolution~B3~2015 +% \begin{macro}{\k@cgs@short@CoulombNumeric} +% \changes{v1.1.0}{2020/02/03}{Fix order of magnitude of constant.} +% |\k@cgs@short@CoulombNumeric| is the Coulomb constant ($\frac{1}{4\pi\epsilon_0}$) +% in cgs units with reduced precision. +% Source: Calculated % % \begin{macrocode} -\DeclareRobustCommand{\k@cgs@short@RadiusSun}{% +\DeclareRobustCommand{\k@cgs@short@CoulombNumeric}{% \ensuremath{% -6.96% -\times 10^{10}\cm}} +1.00e+00}} % \end{macrocode} % \end{macro} % @@ -4048,16 +10696,16 @@ %\iffalse %<*package> %\fi -% \begin{macro}{\k@cgs@full@RadiusSun} -% |\k@cgs@full@RadiusSun| is the mean radius of the Sun in cgs units with full -% precision. -% Source: IAU~Resolution~B3~2015 +% \begin{macro}{\k@cgs@full@CoulombNumeric} +% \changes{v1.1.0}{2020/02/03}{Fix order of magnitude of constant.} +% |\k@cgs@full@CoulombNumeric| is the Coulomb constant ($\frac{1}{4\pi\epsilon_0}$) in +% cgs units with full precision. +% Source: Calculated % % \begin{macrocode} -\DeclareRobustCommand{\k@cgs@full@RadiusSun}{% +\DeclareRobustCommand{\k@cgs@full@CoulombNumeric}{% \ensuremath{% -6.957% -\times 10^{10}\cm}} +1.00000000e+00}} % \end{macrocode} % \end{macro} % @@ -4067,25 +10715,26 @@ %\iffalse %<*package> %\fi -% \begin{macro}{\kRadiusSun} -% |\kRadiusSun| is the mean radius of the Sun. +% \begin{macro}{\kCoulombNumeric} +% \changes{v1.1.0}{2020/02/03}{Fix order of magnitude of constant.} +% |\kCoulombNumeric| is the Coulomb constant ($\frac{1}{4\pi\epsilon_0}$). % % \begin{macrocode} \ifx\cgsunits\undefined \ifx\shortconst\undefined -\DeclareRobustCommand {\kRadiusSun}{% -\k@SI@short@RadiusSun} +\DeclareRobustCommand {\kCoulombNumeric}{% +\k@SI@short@CoulombNumeric} \else -\DeclareRobustCommand {\kRadiusSun}{% -\k@SI@full@RadiusSun} +\DeclareRobustCommand {\kCoulombNumeric}{% +\k@SI@full@CoulombNumeric} \fi \else \ifx\shortconst\undefined -\DeclareRobustCommand {\kRadiusSun}{% -\k@cgs@short@RadiusSun} +\DeclareRobustCommand {\kCoulombNumeric}{% +\k@cgs@short@CoulombNumeric} \else -\DeclareRobustCommand {\kRadiusSun}{% -\k@cgs@full@RadiusSun} +\DeclareRobustCommand {\kCoulombNumeric}{% +\k@cgs@full@CoulombNumeric} \fi \fi % \end{macrocode} @@ -4094,22 +10743,19 @@ %\iffalse % %\fi -% -%\subsection{Energy, Power, and Luminosity} -% %\iffalse %<*package> %\fi -% \begin{macro}{\k@SI@short@Rydberg} -% |\k@SI@short@Rydberg| is the Rydberg energy (the binding energy of Hydrogen) +% \begin{macro}{\k@SI@short@VacuumPermittivity} +% |\k@SI@short@VacuumPermittivity| is the electric permittivity of the vacuum % in SI units with reduced precision. -% Source: Calculated +% Source: CODATA~2018 % % \begin{macrocode} -\DeclareRobustCommand{\k@SI@short@Rydberg}{% +\DeclareRobustCommand{\k@SI@short@VacuumPermittivity}{% \ensuremath{% -2.18% -\times 10^{-21}\Joule}} +8.85% +\times 10^{-12}\Farad\m^{-1}}} % \end{macrocode} % \end{macro} % @@ -4119,18 +10765,19 @@ %\iffalse %<*package> %\fi -% \begin{macro}{\k@SI@full@Rydberg} -% |\k@SI@full@Rydberg| is the Rydberg energy (the binding energy of Hydrogen) -% in SI units with full precision. -% Source: Calculated +% \begin{macro}{\k@SI@full@VacuumPermittivity} +% |\k@SI@full@VacuumPermittivity| is the electric permittivity of the vacuum in +% SI units with full precision. +% Source: CODATA~2018 % % \begin{macrocode} -\DeclareRobustCommand{\k@SI@full@Rydberg}{% +\DeclareRobustCommand{\k@SI@full@VacuumPermittivity}{% \ensuremath{% -2.179\expandafter\physconst@decimalsseparator% -775\expandafter\physconst@decimalsseparator% -77% -\times 10^{-21}\Joule}} +8.854\expandafter\physconst@decimalsseparator% +187\expandafter\physconst@decimalsseparator% +812\expandafter\physconst@decimalsseparator% +8% +\times 10^{-12}\Farad\m^{-1}}} % \end{macrocode} % \end{macro} % @@ -4140,16 +10787,16 @@ %\iffalse %<*package> %\fi -% \begin{macro}{\k@cgs@short@Rydberg} -% |\k@cgs@short@Rydberg| is the Rydberg energy (the binding energy of Hydrogen) +% \begin{macro}{\k@cgs@short@VacuumPermittivity} +% |\k@cgs@short@VacuumPermittivity| is the electric permittivity of the vacuum % in cgs units with reduced precision. -% Source: Calculated +% Source: CODATA~2018 % % \begin{macrocode} -\DeclareRobustCommand{\k@cgs@short@Rydberg}{% +\DeclareRobustCommand{\k@cgs@short@VacuumPermittivity}{% \ensuremath{% -2.18% -\times 10^{-14}\erg}} +7.96% +\times 10^{-2}}} % \end{macrocode} % \end{macro} % @@ -4159,58 +10806,19 @@ %\iffalse %<*package> %\fi -% \begin{macro}{\k@cgs@full@Rydberg} -% |\k@cgs@full@Rydberg| is the Rydberg energy (the binding energy of Hydrogen) +% \begin{macro}{\k@cgs@full@VacuumPermittivity} +% |\k@cgs@full@VacuumPermittivity| is the electric permittivity of the vacuum % in cgs units with full precision. -% Source: Calculated -% -% \begin{macrocode} -\DeclareRobustCommand{\k@cgs@full@Rydberg}{% -\ensuremath{% -2.179\expandafter\physconst@decimalsseparator% -775\expandafter\physconst@decimalsseparator% -77% -\times 10^{-14}\erg}} -% \end{macrocode} -% \end{macro} -% -%\iffalse -% -%\fi -%\iffalse -%<*package> -%\fi -% \begin{macro}{\k@eV@short@Rydberg} -% |\k@eV@short@Rydberg| is the Rydberg energy (the binding energy of Hydrogen) -% in eV with reduced precision. -% Source: Calculated -% -% \begin{macrocode} -\DeclareRobustCommand{\k@eV@short@Rydberg}{% -\ensuremath{% -1.36% -\times 10^{-2}\eV}} -% \end{macrocode} -% \end{macro} -% -%\iffalse -% -%\fi -%\iffalse -%<*package> -%\fi -% \begin{macro}{\k@eV@full@Rydberg} -% |\k@eV@full@Rydberg| is the Rydberg energy (the binding energy of Hydrogen) -% in eV with full precision. -% Source: Calculated +% Source: CODATA~2018 % % \begin{macrocode} -\DeclareRobustCommand{\k@eV@full@Rydberg}{% +\DeclareRobustCommand{\k@cgs@full@VacuumPermittivity}{% \ensuremath{% -1.360\expandafter\physconst@decimalsseparator% -509\expandafter\physconst@decimalsseparator% -03% -\times 10^{-2}\eV}} +7.957\expandafter\physconst@decimalsseparator% +747\expandafter\physconst@decimalsseparator% +154\expandafter\physconst@decimalsseparator% +6% +\times 10^{-2}}} % \end{macrocode} % \end{macro} % @@ -4220,46 +10828,26 @@ %\iffalse %<*package> %\fi -% \begin{macro}{\kRydberg} -% |\kRydberg| is the Rydberg energy (the binding energy of Hydrogen). +% \begin{macro}{\kVacuumPermittivity} +% |\kVacuumPermittivity| is the electric permittivity of the vacuum. % % \begin{macrocode} \ifx\cgsunits\undefined \ifx\shortconst\undefined -\DeclareRobustCommand {\kRydberg}{% -\k@SI@short@Rydberg} +\DeclareRobustCommand {\kVacuumPermittivity}{% +\k@SI@short@VacuumPermittivity} \else -\DeclareRobustCommand {\kRydberg}{% -\k@SI@full@Rydberg} +\DeclareRobustCommand {\kVacuumPermittivity}{% +\k@SI@full@VacuumPermittivity} \fi \else \ifx\shortconst\undefined -\DeclareRobustCommand {\kRydberg}{% -\k@cgs@short@Rydberg} +\DeclareRobustCommand {\kVacuumPermittivity}{% +\k@cgs@short@VacuumPermittivity} \else -\DeclareRobustCommand {\kRydberg}{% -\k@cgs@full@Rydberg} -\fi +\DeclareRobustCommand {\kVacuumPermittivity}{% +\k@cgs@full@VacuumPermittivity} \fi -% \end{macrocode} -% \end{macro} -% -%\iffalse -% -%\fi -%\iffalse -%<*package> -%\fi -% \begin{macro}{\keVRydberg} -% |\keVRydberg| is the Rydberg energy (the binding energy of Hydrogen). -% -% \begin{macrocode} -\ifx\shortconst\undefined -\DeclareRobustCommand {\keVRydberg}{% -\k@eV@short@Rydberg} -\else -\DeclareRobustCommand {\keVRydberg}{% -\k@eV@full@Rydberg} \fi % \end{macrocode} % \end{macro} @@ -4270,16 +10858,15 @@ %\iffalse %<*package> %\fi -% \begin{macro}{\k@SI@short@LuminositySun} -% |\k@SI@short@LuminositySun| is the luminosity of the Sun in SI units with -% reduced precision. -% Source: IAU~Resolution~B3~2015 +% \begin{macro}{\k@SI@short@VacuumPermittivityNumeric} +% |\k@SI@short@VacuumPermittivityNumeric| is the electric permittivity of the vacuum +% in SI units with reduced precision. +% Source: CODATA~2018 % % \begin{macrocode} -\DeclareRobustCommand{\k@SI@short@LuminositySun}{% +\DeclareRobustCommand{\k@SI@short@VacuumPermittivityNumeric}{% \ensuremath{% -3.83% -\times 10^{26}\Watt}} +8.85e-12}} % \end{macrocode} % \end{macro} % @@ -4289,16 +10876,15 @@ %\iffalse %<*package> %\fi -% \begin{macro}{\k@SI@full@LuminositySun} -% |\k@SI@full@LuminositySun| is the luminosity of the Sun in SI units with full -% precision. -% Source: IAU~Resolution~B3~2015 +% \begin{macro}{\k@SI@full@VacuumPermittivityNumeric} +% |\k@SI@full@VacuumPermittivityNumeric| is the electric permittivity of the vacuum in +% SI units with full precision. +% Source: CODATA~2018 % % \begin{macrocode} -\DeclareRobustCommand{\k@SI@full@LuminositySun}{% +\DeclareRobustCommand{\k@SI@full@VacuumPermittivityNumeric}{% \ensuremath{% -3.828% -\times 10^{26}\Watt}} +8.8541878128e-12}} % \end{macrocode} % \end{macro} % @@ -4308,16 +10894,15 @@ %\iffalse %<*package> %\fi -% \begin{macro}{\k@cgs@short@LuminositySun} -% |\k@cgs@short@LuminositySun| is the luminosity of the Sun in cgs units with -% reduced precision. -% Source: IAU~Resolution~B3~2015 +% \begin{macro}{\k@cgs@short@VacuumPermittivityNumeric} +% |\k@cgs@short@VacuumPermittivityNumeric| is the electric permittivity of the vacuum +% in cgs units with reduced precision. +% Source: CODATA~2018 % % \begin{macrocode} -\DeclareRobustCommand{\k@cgs@short@LuminositySun}{% +\DeclareRobustCommand{\k@cgs@short@VacuumPermittivityNumeric}{% \ensuremath{% -3.83% -\times 10^{33}\erg\Sec^{-1}}} +7.96e-02}} % \end{macrocode} % \end{macro} % @@ -4327,16 +10912,15 @@ %\iffalse %<*package> %\fi -% \begin{macro}{\k@cgs@full@LuminositySun} -% |\k@cgs@full@LuminositySun| is the luminosity of the Sun in cgs units with -% full precision. -% Source: IAU~Resolution~B3~2015 +% \begin{macro}{\k@cgs@full@VacuumPermittivityNumeric} +% |\k@cgs@full@VacuumPermittivityNumeric| is the electric permittivity of the vacuum +% in cgs units with full precision. +% Source: CODATA~2018 % % \begin{macrocode} -\DeclareRobustCommand{\k@cgs@full@LuminositySun}{% +\DeclareRobustCommand{\k@cgs@full@VacuumPermittivityNumeric}{% \ensuremath{% -3.828% -\times 10^{33}\erg\Sec^{-1}}} +7.9577471546e-02}} % \end{macrocode} % \end{macro} % @@ -4346,25 +10930,25 @@ %\iffalse %<*package> %\fi -% \begin{macro}{\kLuminositySun} -% |\kLuminositySun| is the luminosity of the Sun. +% \begin{macro}{\kVacuumPermittivityNumeric} +% |\kVacuumPermittivityNumeric| is the electric permittivity of the vacuum. % % \begin{macrocode} \ifx\cgsunits\undefined \ifx\shortconst\undefined -\DeclareRobustCommand {\kLuminositySun}{% -\k@SI@short@LuminositySun} +\DeclareRobustCommand {\kVacuumPermittivityNumeric}{% +\k@SI@short@VacuumPermittivityNumeric} \else -\DeclareRobustCommand {\kLuminositySun}{% -\k@SI@full@LuminositySun} +\DeclareRobustCommand {\kVacuumPermittivityNumeric}{% +\k@SI@full@VacuumPermittivityNumeric} \fi \else \ifx\shortconst\undefined -\DeclareRobustCommand {\kLuminositySun}{% -\k@cgs@short@LuminositySun} +\DeclareRobustCommand {\kVacuumPermittivityNumeric}{% +\k@cgs@short@VacuumPermittivityNumeric} \else -\DeclareRobustCommand {\kLuminositySun}{% -\k@cgs@full@LuminositySun} +\DeclareRobustCommand {\kVacuumPermittivityNumeric}{% +\k@cgs@full@VacuumPermittivityNumeric} \fi \fi % \end{macrocode} @@ -4373,22 +10957,20 @@ %\iffalse % %\fi -% -%\subsection{Pressure} -% %\iffalse %<*package> %\fi -% \begin{macro}{\k@SI@short@PressureAtmosphere} -% |\k@SI@short@PressureAtmosphere| is the standard atmospheric pressure in SI -% units with reduced precision. -% Source: CODATA~2018 +% \begin{macro}{\k@SI@short@VacuumPermeability} +% \changes{v1.1.0}{2020/02/03}{Fix value of constant.} +% |\k@SI@short@VacuumPermeability| is the magnetic permeability of the vacuum +% in SI units with reduced precision. +% Source: Calculated % % \begin{macrocode} -\DeclareRobustCommand{\k@SI@short@PressureAtmosphere}{% +\DeclareRobustCommand{\k@SI@short@VacuumPermeability}{% \ensuremath{% -1.01% -\times 10^{5}\Pa}} +1.26% +\times 10^{-6}\N\Amp^{-2}}} % \end{macrocode} % \end{macro} % @@ -4398,17 +10980,20 @@ %\iffalse %<*package> %\fi -% \begin{macro}{\k@SI@full@PressureAtmosphere} -% |\k@SI@full@PressureAtmosphere| is the standard atmospheric pressure in SI -% units with full precision. -% Source: CODATA~2018 +% \begin{macro}{\k@SI@full@VacuumPermeability} +% \changes{v1.1.0}{2020/02/03}{Fix value of constant.} +% |\k@SI@full@VacuumPermeability| is the magnetic permeability of the vacuum in +% SI units with full precision. +% Source: Calculated % % \begin{macrocode} -\DeclareRobustCommand{\k@SI@full@PressureAtmosphere}{% +\DeclareRobustCommand{\k@SI@full@VacuumPermeability}{% \ensuremath{% -1.013\expandafter\physconst@decimalsseparator% -25% -\times 10^{5}\Pa}} +1.256\expandafter\physconst@decimalsseparator% +637\expandafter\physconst@decimalsseparator% +062\expandafter\physconst@decimalsseparator% +1% +\times 10^{-6}\N\Amp^{-2}}} % \end{macrocode} % \end{macro} % @@ -4418,15 +11003,17 @@ %\iffalse %<*package> %\fi -% \begin{macro}{\k@cgs@short@PressureAtmosphere} -% |\k@cgs@short@PressureAtmosphere| is the standard atmospheric pressure in cgs -% units with reduced precision. -% Source: CODATA~2018 +% \begin{macro}{\k@cgs@short@VacuumPermeability} +% \changes{v1.1.0}{2020/02/03}{Fix value of constant.} +% |\k@cgs@short@VacuumPermeability| is the magnetic permeability of the vacuum +% in cgs units with reduced precision. +% Source: Calculated % % \begin{macrocode} -\DeclareRobustCommand{\k@cgs@short@PressureAtmosphere}{% +\DeclareRobustCommand{\k@cgs@short@VacuumPermeability}{% \ensuremath{% -1.01\barP[m]}} +1.26% +\times 10^{1}}} % \end{macrocode} % \end{macro} % @@ -4436,16 +11023,20 @@ %\iffalse %<*package> %\fi -% \begin{macro}{\k@cgs@full@PressureAtmosphere} -% |\k@cgs@full@PressureAtmosphere| is the standard atmospheric pressure in cgs -% units with full precision. -% Source: CODATA~2018 +% \begin{macro}{\k@cgs@full@VacuumPermeability} +% \changes{v1.1.0}{2020/02/03}{Fix value of constant.} +% |\k@cgs@full@VacuumPermeability| is the magnetic permeability of the vacuum +% in cgs units with full precision. +% Source: Calculated % % \begin{macrocode} -\DeclareRobustCommand{\k@cgs@full@PressureAtmosphere}{% +\DeclareRobustCommand{\k@cgs@full@VacuumPermeability}{% \ensuremath{% -1.013\expandafter\physconst@decimalsseparator% -25\barP[m]}} +1.256\expandafter\physconst@decimalsseparator% +637\expandafter\physconst@decimalsseparator% +061\expandafter\physconst@decimalsseparator% +4% +\times 10^{1}}} % \end{macrocode} % \end{macro} % @@ -4455,25 +11046,26 @@ %\iffalse %<*package> %\fi -% \begin{macro}{\kPressureAtmosphere} -% |\kPressureAtmosphere| is the standard atmospheric pressure. +% \begin{macro}{\kVacuumPermeability} +% \changes{v1.1.0}{2020/02/03}{Fix value of constant.} +% |\kVacuumPermeability| is the magnetic permeability of the vacuum. % % \begin{macrocode} \ifx\cgsunits\undefined \ifx\shortconst\undefined -\DeclareRobustCommand {\kPressureAtmosphere}{% -\k@SI@short@PressureAtmosphere} +\DeclareRobustCommand {\kVacuumPermeability}{% +\k@SI@short@VacuumPermeability} \else -\DeclareRobustCommand {\kPressureAtmosphere}{% -\k@SI@full@PressureAtmosphere} +\DeclareRobustCommand {\kVacuumPermeability}{% +\k@SI@full@VacuumPermeability} \fi \else \ifx\shortconst\undefined -\DeclareRobustCommand {\kPressureAtmosphere}{% -\k@cgs@short@PressureAtmosphere} +\DeclareRobustCommand {\kVacuumPermeability}{% +\k@cgs@short@VacuumPermeability} \else -\DeclareRobustCommand {\kPressureAtmosphere}{% -\k@cgs@full@PressureAtmosphere} +\DeclareRobustCommand {\kVacuumPermeability}{% +\k@cgs@full@VacuumPermeability} \fi \fi % \end{macrocode} @@ -4485,16 +11077,16 @@ %\iffalse %<*package> %\fi -% \begin{macro}{\k@SI@short@PressureStandard} -% |\k@SI@short@PressureStandard| is the standard atmospheric pressure in SI -% units with reduced precision. -% Source: CODATA~2018 +% \begin{macro}{\k@SI@short@VacuumPermeabilityNumeric} +% \changes{v1.1.0}{2020/02/03}{Fix value of constant.} +% |\k@SI@short@VacuumPermeabilityNumeric| is the magnetic permeability of the vacuum +% in SI units with reduced precision. +% Source: Calculated % % \begin{macrocode} -\DeclareRobustCommand{\k@SI@short@PressureStandard}{% +\DeclareRobustCommand{\k@SI@short@VacuumPermeabilityNumeric}{% \ensuremath{% -1.00% -\times 10^{5}\Pa}} +1.26e-06}} % \end{macrocode} % \end{macro} % @@ -4504,17 +11096,16 @@ %\iffalse %<*package> %\fi -% \begin{macro}{\k@SI@full@PressureStandard} -% |\k@SI@full@PressureStandard| is the standard atmospheric pressure in SI -% units with full precision. -% Source: CODATA~2018 +% \begin{macro}{\k@SI@full@VacuumPermeabilityNumeric} +% \changes{v1.1.0}{2020/02/03}{Fix value of constant.} +% |\k@SI@full@VacuumPermeabilityNumeric| is the magnetic permeability of the vacuum in +% SI units with full precision. +% Source: Calculated % % \begin{macrocode} -\DeclareRobustCommand{\k@SI@full@PressureStandard}{% +\DeclareRobustCommand{\k@SI@full@VacuumPermeabilityNumeric}{% \ensuremath{% -1.000\expandafter\physconst@decimalsseparator% -00% -\times 10^{5}\Pa}} +1.2566370621e-06}} % \end{macrocode} % \end{macro} % @@ -4524,15 +11115,16 @@ %\iffalse %<*package> %\fi -% \begin{macro}{\k@cgs@short@PressureStandard} -% |\k@cgs@short@PressureStandard| is the standard atmospheric pressure in cgs -% units with reduced precision. -% Source: CODATA~2018 +% \begin{macro}{\k@cgs@short@VacuumPermeabilityNumeric} +% \changes{v1.1.0}{2020/02/03}{Fix value of constant.} +% |\k@cgs@short@VacuumPermeabilityNumeric| is the magnetic permeability of the vacuum +% in cgs units with reduced precision. +% Source: Calculated % % \begin{macrocode} -\DeclareRobustCommand{\k@cgs@short@PressureStandard}{% +\DeclareRobustCommand{\k@cgs@short@VacuumPermeabilityNumeric}{% \ensuremath{% -1.00\barP[m]}} +1.26e+01}} % \end{macrocode} % \end{macro} % @@ -4542,16 +11134,16 @@ %\iffalse %<*package> %\fi -% \begin{macro}{\k@cgs@full@PressureStandard} -% |\k@cgs@full@PressureStandard| is the standard atmospheric pressure in cgs -% units with full precision. -% Source: CODATA~2018 +% \begin{macro}{\k@cgs@full@VacuumPermeabilityNumeric} +% \changes{v1.1.0}{2020/02/03}{Fix value of constant.} +% |\k@cgs@full@VacuumPermeabilityNumeric| is the magnetic permeability of the vacuum +% in cgs units with full precision. +% Source: Calculated % % \begin{macrocode} -\DeclareRobustCommand{\k@cgs@full@PressureStandard}{% +\DeclareRobustCommand{\k@cgs@full@VacuumPermeabilityNumeric}{% \ensuremath{% -1.000\expandafter\physconst@decimalsseparator% -00\barP[m]}} +1.2566370614e+01}} % \end{macrocode} % \end{macro} % @@ -4561,25 +11153,26 @@ %\iffalse %<*package> %\fi -% \begin{macro}{\kPressureStandard} -% |\kPressureStandard| is the standard atmospheric pressure. +% \begin{macro}{\kVacuumPermeabilityNumeric} +% \changes{v1.1.0}{2020/02/03}{Fix value of constant.} +% |\kVacuumPermeabilityNumeric| is the magnetic permeability of the vacuum. % % \begin{macrocode} \ifx\cgsunits\undefined \ifx\shortconst\undefined -\DeclareRobustCommand {\kPressureStandard}{% -\k@SI@short@PressureStandard} +\DeclareRobustCommand {\kVacuumPermeabilityNumeric}{% +\k@SI@short@VacuumPermeabilityNumeric} \else -\DeclareRobustCommand {\kPressureStandard}{% -\k@SI@full@PressureStandard} +\DeclareRobustCommand {\kVacuumPermeabilityNumeric}{% +\k@SI@full@VacuumPermeabilityNumeric} \fi \else \ifx\shortconst\undefined -\DeclareRobustCommand {\kPressureStandard}{% -\k@cgs@short@PressureStandard} +\DeclareRobustCommand {\kVacuumPermeabilityNumeric}{% +\k@cgs@short@VacuumPermeabilityNumeric} \else -\DeclareRobustCommand {\kPressureStandard}{% -\k@cgs@full@PressureStandard} +\DeclareRobustCommand {\kVacuumPermeabilityNumeric}{% +\k@cgs@full@VacuumPermeabilityNumeric} \fi \fi % \end{macrocode} @@ -4588,22 +11181,41 @@ %\iffalse % %\fi +%\iffalse +%<*package> +%\fi +% \begin{macro}{\k@short@VacuumImpedance} +% |\k@short@VacuumImpedance| is the characteristic impedance of the vacuum with +% reduced precision. +% Source: CODATA~2018 % -%\subsection{Velocity, Speed and Acceleration} +% \begin{macrocode} +\DeclareRobustCommand{\k@short@VacuumImpedance}{% +\ensuremath{% +3.77% +\times 10^{2}\Ohm}} +% \end{macrocode} +% \end{macro} % %\iffalse +% +%\fi +%\iffalse %<*package> %\fi -% \begin{macro}{\k@SI@short@SpeedLight} -% |\k@SI@short@SpeedLight| is the speed of light in SI units with reduced -% precision. -% Source: CODATA 2018 +% \begin{macro}{\k@full@VacuumImpedance} +% |\k@full@VacuumImpedance| is the characteristic impedance of the vacuum with +% full precision. +% Source: CODATA~2018 % % \begin{macrocode} -\DeclareRobustCommand{\k@SI@short@SpeedLight}{% +\DeclareRobustCommand{\k@full@VacuumImpedance}{% \ensuremath{% -3.00% -\times 10^{8}\m\Sec^{-1}}} +3.767\expandafter\physconst@decimalsseparator% +303\expandafter\physconst@decimalsseparator% +136\expandafter\physconst@decimalsseparator% +68% +\times 10^{2}\Ohm}} % \end{macrocode} % \end{macro} % @@ -4613,17 +11225,17 @@ %\iffalse %<*package> %\fi -% \begin{macro}{\k@SI@full@SpeedLight} -% |\k@SI@full@SpeedLight| is the speed of light in SI units with full precision. -% Source: CODATA 2018 +% \begin{macro}{\kVacuumImpedance} +% |\kVacuumImpedance| is the characteristic impedance of the vacuum. % % \begin{macrocode} -\DeclareRobustCommand{\k@SI@full@SpeedLight}{% -\ensuremath{% -2.997\expandafter\physconst@decimalsseparator% -924\expandafter\physconst@decimalsseparator% -58% -\times 10^{8}\m\Sec^{-1}}} +\ifx\shortconst\undefined +\DeclareRobustCommand {\kVacuumImpedance}{% +\k@short@VacuumImpedance} +\else +\DeclareRobustCommand {\kVacuumImpedance}{% +\k@full@VacuumImpedance} +\fi % \end{macrocode} % \end{macro} % @@ -4633,16 +11245,15 @@ %\iffalse %<*package> %\fi -% \begin{macro}{\k@cgs@short@SpeedLight} -% |\k@cgs@short@SpeedLight| is the speed of light in cgs units with reduced -% precision. -% Source: CODATA 2018 +% \begin{macro}{\k@short@VacuumImpedanceNumeric} +% |\k@short@VacuumImpedanceNumeric| is the characteristic impedance of the vacuum with +% reduced precision. +% Source: CODATA~2018 % % \begin{macrocode} -\DeclareRobustCommand{\k@cgs@short@SpeedLight}{% +\DeclareRobustCommand{\k@short@VacuumImpedanceNumeric}{% \ensuremath{% -3.00% -\times 10^{10}\cm\Sec^{-1}}} +3.77e+02}} % \end{macrocode} % \end{macro} % @@ -4652,18 +11263,15 @@ %\iffalse %<*package> %\fi -% \begin{macro}{\k@cgs@full@SpeedLight} -% |\k@cgs@full@SpeedLight| is the speed of light in cgs units with full -% precision. -% Source: CODATA 2018 +% \begin{macro}{\k@full@VacuumImpedanceNumeric} +% |\k@full@VacuumImpedanceNumeric| is the characteristic impedance of the vacuum with +% full precision. +% Source: CODATA~2018 % % \begin{macrocode} -\DeclareRobustCommand{\k@cgs@full@SpeedLight}{% +\DeclareRobustCommand{\k@full@VacuumImpedanceNumeric}{% \ensuremath{% -2.997\expandafter\physconst@decimalsseparator% -924\expandafter\physconst@decimalsseparator% -58% -\times 10^{10}\cm\Sec^{-1}}} +3.76730313668e+02}} % \end{macrocode} % \end{macro} % @@ -4673,26 +11281,16 @@ %\iffalse %<*package> %\fi -% \begin{macro}{\kSpeedLight} -% |\kSpeedLight| is the speed of light. +% \begin{macro}{\kVacuumImpedanceNumeric} +% |\kVacuumImpedanceNumeric| is the characteristic impedance of the vacuum. % % \begin{macrocode} -\ifx\cgsunits\undefined -\ifx\shortconst\undefined -\DeclareRobustCommand {\kSpeedLight}{% -\k@SI@short@SpeedLight} -\else -\DeclareRobustCommand {\kSpeedLight}{% -\k@SI@full@SpeedLight} -\fi -\else \ifx\shortconst\undefined -\DeclareRobustCommand {\kSpeedLight}{% -\k@cgs@short@SpeedLight} +\DeclareRobustCommand {\kVacuumImpedanceNumeric}{% +\k@short@VacuumImpedanceNumeric} \else -\DeclareRobustCommand {\kSpeedLight}{% -\k@cgs@full@SpeedLight} -\fi +\DeclareRobustCommand {\kVacuumImpedanceNumeric}{% +\k@full@VacuumImpedanceNumeric} \fi % \end{macrocode} % \end{macro} @@ -4703,16 +11301,55 @@ %\iffalse %<*package> %\fi -% \begin{macro}{\k@SI@short@AccelGravity} -% |\k@SI@short@AccelGravity| is the accelertion due to gravity at the surface -% of the Earth in SI units with reduced precision. -% Source: CODATA 2018 +% \begin{macro}{\k@SI@short@Boltzmann} +% |\k@SI@short@Boltzmann| is the Boltzmann constant in SI units with reduced +% precision. +% Source: CODATA~2018 +% +% \begin{macrocode} +\DeclareRobustCommand{\k@SI@short@Boltzmann}{% +\ensuremath{% +1.38% +\times 10^{-23}\J\K^{-1}}} +% \end{macrocode} +% \end{macro} +% +%\iffalse +% +%\fi +%\iffalse +%<*package> +%\fi +% \begin{macro}{\k@SI@full@Boltzmann} +% |\k@SI@full@Boltzmann| is the Boltzmann constant in SI units with full +% precision. +% Source: CODATA~2018 +% +% \begin{macrocode} +\DeclareRobustCommand{\k@SI@full@Boltzmann}{% +\ensuremath{% +1.380\expandafter\physconst@decimalsseparator% +649% +\times 10^{-23}\J\K^{-1}}} +% \end{macrocode} +% \end{macro} +% +%\iffalse +% +%\fi +%\iffalse +%<*package> +%\fi +% \begin{macro}{\k@cgs@short@Boltzmann} +% |\k@cgs@short@Boltzmann| is the Boltzmann constant in cgs units with reduced +% precision. +% Source: CODATA~2018 % % \begin{macrocode} -\DeclareRobustCommand{\k@SI@short@AccelGravity}{% +\DeclareRobustCommand{\k@cgs@short@Boltzmann}{% \ensuremath{% -6.67% -\times 10^{-11}\N\kg^{-2}\m^2}} +1.38% +\times 10^{-16}\erg\K^{-1}}} % \end{macrocode} % \end{macro} % @@ -4722,17 +11359,17 @@ %\iffalse %<*package> %\fi -% \begin{macro}{\k@SI@full@AccelGravity} -% |\k@SI@full@AccelGravity| is the accelertion due to gravity at the surface of -% the Earth in SI units with full precision. -% Source: CODATA 2018 +% \begin{macro}{\k@cgs@full@Boltzmann} +% |\k@cgs@full@Boltzmann| is the Boltzmann constant in cgs units with full +% precision. +% Source: CODATA~2018 % % \begin{macrocode} -\DeclareRobustCommand{\k@SI@full@AccelGravity}{% +\DeclareRobustCommand{\k@cgs@full@Boltzmann}{% \ensuremath{% -6.674\expandafter\physconst@decimalsseparator% -30% -\times 10^{-11}\N\kg^{-2}\m^2}} +1.380\expandafter\physconst@decimalsseparator% +649% +\times 10^{-16}\erg\K^{-1}}} % \end{macrocode} % \end{macro} % @@ -4742,16 +11379,16 @@ %\iffalse %<*package> %\fi -% \begin{macro}{\k@cgs@short@AccelGravity} -% |\k@cgs@short@AccelGravity| is the accelertion due to gravity at the surface -% of the Earth in cgs units with reduced precision. -% Source: CODATA 2018 +% \begin{macro}{\k@eV@short@Boltzmann} +% |\k@eV@short@Boltzmann| is the Boltzmann constant in eV with reduced +% precision. +% Source: CODATA~2018 % % \begin{macrocode} -\DeclareRobustCommand{\k@cgs@short@AccelGravity}{% +\DeclareRobustCommand{\k@eV@short@Boltzmann}{% \ensuremath{% -6.67% -\times 10^{-8}\dyne\gm^{-2}\cm^2}} +8.62% +\times 10^{-5}\eV\K^{-1}}} % \end{macrocode} % \end{macro} % @@ -4761,17 +11398,16 @@ %\iffalse %<*package> %\fi -% \begin{macro}{\k@cgs@full@AccelGravity} -% |\k@cgs@full@AccelGravity| is the accelertion due to gravity at the surface -% of the Earth in cgs units with full precision. -% Source: CODATA 2018 +% \begin{macro}{\k@eV@full@Boltzmann} +% |\k@eV@full@Boltzmann| is the Boltzmann constant in eV with full precision. +% Source: CODATA~2018 % % \begin{macrocode} -\DeclareRobustCommand{\k@cgs@full@AccelGravity}{% +\DeclareRobustCommand{\k@eV@full@Boltzmann}{% \ensuremath{% -6.674\expandafter\physconst@decimalsseparator% -30% -\times 10^{-8}\dyne\gm^{-2}\cm^2}} +8.617\expandafter\physconst@decimalsseparator% +333% +\times 10^{-5}\eV\K^{-1}}} % \end{macrocode} % \end{macro} % @@ -4781,26 +11417,25 @@ %\iffalse %<*package> %\fi -% \begin{macro}{\kAccelGravity} -% |\kAccelGravity| is the accelertion due to gravity at the surface of the -% Earth. +% \begin{macro}{\kBoltzmann} +% |\kBoltzmann| is the Boltzmann constant. % % \begin{macrocode} \ifx\cgsunits\undefined \ifx\shortconst\undefined -\DeclareRobustCommand {\kAccelGravity}{% -\k@SI@short@AccelGravity} +\DeclareRobustCommand {\kBoltzmann}{% +\k@SI@short@Boltzmann} \else -\DeclareRobustCommand {\kAccelGravity}{% -\k@SI@full@AccelGravity} +\DeclareRobustCommand {\kBoltzmann}{% +\k@SI@full@Boltzmann} \fi \else \ifx\shortconst\undefined -\DeclareRobustCommand {\kAccelGravity}{% -\k@cgs@short@AccelGravity} +\DeclareRobustCommand {\kBoltzmann}{% +\k@cgs@short@Boltzmann} \else -\DeclareRobustCommand {\kAccelGravity}{% -\k@cgs@full@AccelGravity} +\DeclareRobustCommand {\kBoltzmann}{% +\k@cgs@full@Boltzmann} \fi \fi % \end{macrocode} @@ -4809,22 +11444,20 @@ %\iffalse % %\fi -% -%\subsection{Other Constants} -% %\iffalse %<*package> %\fi -% \begin{macro}{\k@SI@short@Coulomb} -% |\k@SI@short@Coulomb| is the Coulomb constant ($\frac{1}{4\pi\epsilon_0}$) in -% SI units with reduced precision. -% Source: Calculated +% \begin{macro}{\keVBoltzmann} +% |\keVBoltzmann| is the Boltzmann constant. % % \begin{macrocode} -\DeclareRobustCommand{\k@SI@short@Coulomb}{% -\ensuremath{% -8.99% -\times 10^{13}\N\m^2\Coulomb^{-2}}} +\ifx\shortconst\undefined +\DeclareRobustCommand {\keVBoltzmann}{% +\k@eV@short@Boltzmann} +\else +\DeclareRobustCommand {\keVBoltzmann}{% +\k@eV@full@Boltzmann} +\fi % \end{macrocode} % \end{macro} % @@ -4834,18 +11467,15 @@ %\iffalse %<*package> %\fi -% \begin{macro}{\k@SI@full@Coulomb} -% |\k@SI@full@Coulomb| is the Coulomb constant ($\frac{1}{4\pi\epsilon_0}$) in -% SI units with full precision. -% Source: Calculated +% \begin{macro}{\k@SI@short@BoltzmannNumeric} +% |\k@SI@short@BoltzmannNumeric| is the Boltzmann constant in SI units with reduced +% precision. +% Source: CODATA~2018 % % \begin{macrocode} -\DeclareRobustCommand{\k@SI@full@Coulomb}{% +\DeclareRobustCommand{\k@SI@short@BoltzmannNumeric}{% \ensuremath{% -8.987\expandafter\physconst@decimalsseparator% -551\expandafter\physconst@decimalsseparator% -79% -\times 10^{13}\N\m^2\Coulomb^{-2}}} +1.38e-23}} % \end{macrocode} % \end{macro} % @@ -4855,15 +11485,15 @@ %\iffalse %<*package> %\fi -% \begin{macro}{\k@cgs@short@Coulomb} -% |\k@cgs@short@Coulomb| is the Coulomb constant ($\frac{1}{4\pi\epsilon_0}$) -% in cgs units with reduced precision. -% Source: Calculated +% \begin{macro}{\k@SI@full@BoltzmannNumeric} +% |\k@SI@full@BoltzmannNumeric| is the Boltzmann constant in SI units with full +% precision. +% Source: CODATA~2018 % % \begin{macrocode} -\DeclareRobustCommand{\k@cgs@short@Coulomb}{% +\DeclareRobustCommand{\k@SI@full@BoltzmannNumeric}{% \ensuremath{% -1.00}} +1.380649e-23}} % \end{macrocode} % \end{macro} % @@ -4873,47 +11503,15 @@ %\iffalse %<*package> %\fi -% \begin{macro}{\k@cgs@full@Coulomb} -% |\k@cgs@full@Coulomb| is the Coulomb constant ($\frac{1}{4\pi\epsilon_0}$) in -% cgs units with full precision. -% Source: Calculated +% \begin{macro}{\k@cgs@short@BoltzmannNumeric} +% |\k@cgs@short@BoltzmannNumeric| is the Boltzmann constant in cgs units with reduced +% precision. +% Source: CODATA~2018 % % \begin{macrocode} -\DeclareRobustCommand{\k@cgs@full@Coulomb}{% +\DeclareRobustCommand{\k@cgs@short@BoltzmannNumeric}{% \ensuremath{% -1.000\expandafter\physconst@decimalsseparator% -000\expandafter\physconst@decimalsseparator% -00}} -% \end{macrocode} -% \end{macro} -% -%\iffalse -% -%\fi -%\iffalse -%<*package> -%\fi -% \begin{macro}{\kCoulomb} -% |\kCoulomb| is the Coulomb constant ($\frac{1}{4\pi\epsilon_0}$). -% -% \begin{macrocode} -\ifx\cgsunits\undefined -\ifx\shortconst\undefined -\DeclareRobustCommand {\kCoulomb}{% -\k@SI@short@Coulomb} -\else -\DeclareRobustCommand {\kCoulomb}{% -\k@SI@full@Coulomb} -\fi -\else -\ifx\shortconst\undefined -\DeclareRobustCommand {\kCoulomb}{% -\k@cgs@short@Coulomb} -\else -\DeclareRobustCommand {\kCoulomb}{% -\k@cgs@full@Coulomb} -\fi -\fi +1.38e-16}} % \end{macrocode} % \end{macro} % @@ -4923,16 +11521,15 @@ %\iffalse %<*package> %\fi -% \begin{macro}{\k@SI@short@VacuumPermittivity} -% |\k@SI@short@VacuumPermittivity| is the electric permittivity of the vacuum -% in SI units with reduced precision. +% \begin{macro}{\k@cgs@full@BoltzmannNumeric} +% |\k@cgs@full@BoltzmannNumeric| is the Boltzmann constant in cgs units with full +% precision. % Source: CODATA~2018 % % \begin{macrocode} -\DeclareRobustCommand{\k@SI@short@VacuumPermittivity}{% +\DeclareRobustCommand{\k@cgs@full@BoltzmannNumeric}{% \ensuremath{% -8.85% -\times 10^{-12}\Farad\m^{-1}}} +1.380649e-16}} % \end{macrocode} % \end{macro} % @@ -4942,19 +11539,15 @@ %\iffalse %<*package> %\fi -% \begin{macro}{\k@SI@full@VacuumPermittivity} -% |\k@SI@full@VacuumPermittivity| is the electric permittivity of the vacuum in -% SI units with full precision. +% \begin{macro}{\k@eV@short@BoltzmannNumeric} +% |\k@eV@short@BoltzmannNumeric| is the Boltzmann constant in eV with reduced +% precision. % Source: CODATA~2018 % % \begin{macrocode} -\DeclareRobustCommand{\k@SI@full@VacuumPermittivity}{% +\DeclareRobustCommand{\k@eV@short@BoltzmannNumeric}{% \ensuremath{% -8.854\expandafter\physconst@decimalsseparator% -187\expandafter\physconst@decimalsseparator% -812\expandafter\physconst@decimalsseparator% -8% -\times 10^{-12}\Farad\m^{-1}}} +8.62e-05}} % \end{macrocode} % \end{macro} % @@ -4964,16 +11557,14 @@ %\iffalse %<*package> %\fi -% \begin{macro}{\k@cgs@short@VacuumPermittivity} -% |\k@cgs@short@VacuumPermittivity| is the electric permittivity of the vacuum -% in cgs units with reduced precision. +% \begin{macro}{\k@eV@full@BoltzmannNumeric} +% |\k@eV@full@BoltzmannNumeric| is the Boltzmann constant in eV with full precision. % Source: CODATA~2018 % % \begin{macrocode} -\DeclareRobustCommand{\k@cgs@short@VacuumPermittivity}{% +\DeclareRobustCommand{\k@eV@full@BoltzmannNumeric}{% \ensuremath{% -7.96% -\times 10^{-2}}} +8.617333e-05}} % \end{macrocode} % \end{macro} % @@ -4983,19 +11574,27 @@ %\iffalse %<*package> %\fi -% \begin{macro}{\k@cgs@full@VacuumPermittivity} -% |\k@cgs@full@VacuumPermittivity| is the electric permittivity of the vacuum -% in cgs units with full precision. -% Source: CODATA~2018 +% \begin{macro}{\kBoltzmannNumeric} +% |\kBoltzmannNumeric| is the Boltzmann constant. % % \begin{macrocode} -\DeclareRobustCommand{\k@cgs@full@VacuumPermittivity}{% -\ensuremath{% -7.957\expandafter\physconst@decimalsseparator% -747\expandafter\physconst@decimalsseparator% -154\expandafter\physconst@decimalsseparator% -6% -\times 10^{-2}}} +\ifx\cgsunits\undefined +\ifx\shortconst\undefined +\DeclareRobustCommand {\kBoltzmannNumeric}{% +\k@SI@short@BoltzmannNumeric} +\else +\DeclareRobustCommand {\kBoltzmannNumeric}{% +\k@SI@full@BoltzmannNumeric} +\fi +\else +\ifx\shortconst\undefined +\DeclareRobustCommand {\kBoltzmannNumeric}{% +\k@cgs@short@BoltzmannNumeric} +\else +\DeclareRobustCommand {\kBoltzmannNumeric}{% +\k@cgs@full@BoltzmannNumeric} +\fi +\fi % \end{macrocode} % \end{macro} % @@ -5005,26 +11604,16 @@ %\iffalse %<*package> %\fi -% \begin{macro}{\kVacuumPermittivity} -% |\kVacuumPermittivity| is the electric permittivity of the vacuum. +% \begin{macro}{\keVBoltzmannNumeric} +% |\keVBoltzmannNumeric| is the Boltzmann constant. % % \begin{macrocode} -\ifx\cgsunits\undefined -\ifx\shortconst\undefined -\DeclareRobustCommand {\kVacuumPermittivity}{% -\k@SI@short@VacuumPermittivity} -\else -\DeclareRobustCommand {\kVacuumPermittivity}{% -\k@SI@full@VacuumPermittivity} -\fi -\else \ifx\shortconst\undefined -\DeclareRobustCommand {\kVacuumPermittivity}{% -\k@cgs@short@VacuumPermittivity} +\DeclareRobustCommand {\keVBoltzmannNumeric}{% +\k@eV@short@BoltzmannNumeric} \else -\DeclareRobustCommand {\kVacuumPermittivity}{% -\k@cgs@full@VacuumPermittivity} -\fi +\DeclareRobustCommand {\keVBoltzmannNumeric}{% +\k@eV@full@BoltzmannNumeric} \fi % \end{macrocode} % \end{macro} @@ -5035,16 +11624,17 @@ %\iffalse %<*package> %\fi -% \begin{macro}{\k@SI@short@VacuumPermeability} -% |\k@SI@short@VacuumPermeability| is the magnetic permeability of the vacuum -% in SI units with reduced precision. +% \begin{macro}{\k@SI@short@Planck} +% \changes{v1.1.0}{2020/02/03}{Fix order of magnitude of constant.} +% |\k@SI@short@Planck| is the Planck constant in SI units with reduced +% precision. % Source: CODATA~2018 % % \begin{macrocode} -\DeclareRobustCommand{\k@SI@short@VacuumPermeability}{% +\DeclareRobustCommand{\k@SI@short@Planck}{% \ensuremath{% -8.85% -\times 10^{-12}\N\Amp^{-2}}} +6.63% +\times 10^{-34}\J\Sec}} % \end{macrocode} % \end{macro} % @@ -5054,19 +11644,18 @@ %\iffalse %<*package> %\fi -% \begin{macro}{\k@SI@full@VacuumPermeability} -% |\k@SI@full@VacuumPermeability| is the magnetic permeability of the vacuum in -% SI units with full precision. +% \begin{macro}{\k@SI@full@Planck} +% \changes{v1.1.0}{2020/02/03}{Fix order of magnitude of constant.} +% |\k@SI@full@Planck| is the Planck constant in SI units with full precision. % Source: CODATA~2018 % % \begin{macrocode} -\DeclareRobustCommand{\k@SI@full@VacuumPermeability}{% +\DeclareRobustCommand{\k@SI@full@Planck}{% \ensuremath{% -8.854\expandafter\physconst@decimalsseparator% -187\expandafter\physconst@decimalsseparator% -812\expandafter\physconst@decimalsseparator% -8% -\times 10^{-12}\N\Amp^{-2}}} +6.626\expandafter\physconst@decimalsseparator% +070\expandafter\physconst@decimalsseparator% +15% +\times 10^{-34}\J\Sec}} % \end{macrocode} % \end{macro} % @@ -5076,16 +11665,17 @@ %\iffalse %<*package> %\fi -% \begin{macro}{\k@cgs@short@VacuumPermeability} -% |\k@cgs@short@VacuumPermeability| is the magnetic permeability of the vacuum -% in cgs units with reduced precision. +% \begin{macro}{\k@cgs@short@Planck} +% \changes{v1.1.0}{2020/02/03}{Fix order of magnitude of constant.} +% |\k@cgs@short@Planck| is the Planck constant in cgs units with reduced +% precision. % Source: CODATA~2018 % % \begin{macrocode} -\DeclareRobustCommand{\k@cgs@short@VacuumPermeability}{% +\DeclareRobustCommand{\k@cgs@short@Planck}{% \ensuremath{% -1.26% -\times 10^{1}}} +6.63% +\times 10^{-27}\erg\Sec}} % \end{macrocode} % \end{macro} % @@ -5095,19 +11685,18 @@ %\iffalse %<*package> %\fi -% \begin{macro}{\k@cgs@full@VacuumPermeability} -% |\k@cgs@full@VacuumPermeability| is the magnetic permeability of the vacuum -% in cgs units with full precision. +% \begin{macro}{\k@cgs@full@Planck} +% \changes{v1.1.0}{2020/02/03}{Fix order of magnitude of constant.} +% |\k@cgs@full@Planck| is the Planck constant in cgs units with full precision. % Source: CODATA~2018 % % \begin{macrocode} -\DeclareRobustCommand{\k@cgs@full@VacuumPermeability}{% +\DeclareRobustCommand{\k@cgs@full@Planck}{% \ensuremath{% -1.256\expandafter\physconst@decimalsseparator% -637\expandafter\physconst@decimalsseparator% -061\expandafter\physconst@decimalsseparator% -4% -\times 10^{1}}} +6.626\expandafter\physconst@decimalsseparator% +070\expandafter\physconst@decimalsseparator% +15% +\times 10^{-27}\erg\Sec}} % \end{macrocode} % \end{macro} % @@ -5117,27 +11706,16 @@ %\iffalse %<*package> %\fi -% \begin{macro}{\kVacuumPermeability} -% |\kVacuumPermeability| is the magnetic permeability of the vacuum. +% \begin{macro}{\k@eV@short@Planck} +% \changes{v1.1.0}{2020/02/03}{Fix order of magnitude of constant.} +% |\k@eV@short@Planck| is the Planck constant in eV with reduced precision. +% Source: CODATA~2018 % % \begin{macrocode} -\ifx\cgsunits\undefined -\ifx\shortconst\undefined -\DeclareRobustCommand {\kVacuumPermeability}{% -\k@SI@short@VacuumPermeability} -\else -\DeclareRobustCommand {\kVacuumPermeability}{% -\k@SI@full@VacuumPermeability} -\fi -\else -\ifx\shortconst\undefined -\DeclareRobustCommand {\kVacuumPermeability}{% -\k@cgs@short@VacuumPermeability} -\else -\DeclareRobustCommand {\kVacuumPermeability}{% -\k@cgs@full@VacuumPermeability} -\fi -\fi +\DeclareRobustCommand{\k@eV@short@Planck}{% +\ensuremath{% +4.14% +\times 10^{-15}\eV\Sec}} % \end{macrocode} % \end{macro} % @@ -5147,16 +11725,18 @@ %\iffalse %<*package> %\fi -% \begin{macro}{\k@short@VacuumImpedance} -% |\k@short@VacuumImpedance| is the characteristic impedance of the vacuum with -% reduced precision. +% \begin{macro}{\k@eV@full@Planck} +% \changes{v1.1.0}{2020/02/03}{Fix order of magnitude of constant.} +% |\k@eV@full@Planck| is the Planck constant in eV with full precision. % Source: CODATA~2018 % % \begin{macrocode} -\DeclareRobustCommand{\k@short@VacuumImpedance}{% +\DeclareRobustCommand{\k@eV@full@Planck}{% \ensuremath{% -3.77% -\times 10^{2}\Ohm}} +4.135\expandafter\physconst@decimalsseparator% +667\expandafter\physconst@decimalsseparator% +70% +\times 10^{-15}\eV\Sec}} % \end{macrocode} % \end{macro} % @@ -5166,19 +11746,28 @@ %\iffalse %<*package> %\fi -% \begin{macro}{\k@full@VacuumImpedance} -% |\k@full@VacuumImpedance| is the characteristic impedance of the vacuum with -% full precision. -% Source: CODATA~2018 +% \begin{macro}{\kPlanck} +% \changes{v1.1.0}{2020/02/03}{Fix order of magnitude of constant.} +% |\kPlanck| is the Planck constant. % % \begin{macrocode} -\DeclareRobustCommand{\k@full@VacuumImpedance}{% -\ensuremath{% -3.767\expandafter\physconst@decimalsseparator% -303\expandafter\physconst@decimalsseparator% -136\expandafter\physconst@decimalsseparator% -68% -\times 10^{2}\Ohm}} +\ifx\cgsunits\undefined +\ifx\shortconst\undefined +\DeclareRobustCommand {\kPlanck}{% +\k@SI@short@Planck} +\else +\DeclareRobustCommand {\kPlanck}{% +\k@SI@full@Planck} +\fi +\else +\ifx\shortconst\undefined +\DeclareRobustCommand {\kPlanck}{% +\k@cgs@short@Planck} +\else +\DeclareRobustCommand {\kPlanck}{% +\k@cgs@full@Planck} +\fi +\fi % \end{macrocode} % \end{macro} % @@ -5188,16 +11777,17 @@ %\iffalse %<*package> %\fi -% \begin{macro}{\kVacuumImpedance} -% |\kVacuumImpedance| is the characteristic impedance of the vacuum. +% \begin{macro}{\keVPlanck} +% \changes{v1.1.0}{2020/02/03}{Fix order of magnitude of constant.} +% |\keVPlanck| is the Planck constant. % % \begin{macrocode} \ifx\shortconst\undefined -\DeclareRobustCommand {\kVacuumImpedance}{% -\k@short@VacuumImpedance} +\DeclareRobustCommand {\keVPlanck}{% +\k@eV@short@Planck} \else -\DeclareRobustCommand {\kVacuumImpedance}{% -\k@full@VacuumImpedance} +\DeclareRobustCommand {\keVPlanck}{% +\k@eV@full@Planck} \fi % \end{macrocode} % \end{macro} @@ -5208,16 +11798,16 @@ %\iffalse %<*package> %\fi -% \begin{macro}{\k@SI@short@Boltzmann} -% |\k@SI@short@Boltzmann| is the Boltzmann constant in SI units with reduced +% \begin{macro}{\k@SI@short@PlanckNumeric} +% \changes{v1.1.0}{2020/02/03}{Fix order of magnitude of constant.} +% |\k@SI@short@PlanckNumeric| is the Planck constant in SI units with reduced % precision. % Source: CODATA~2018 % % \begin{macrocode} -\DeclareRobustCommand{\k@SI@short@Boltzmann}{% +\DeclareRobustCommand{\k@SI@short@PlanckNumeric}{% \ensuremath{% -1.38% -\times 10^{-23}\J\K^{-1}}} +6.63e-34}} % \end{macrocode} % \end{macro} % @@ -5227,17 +11817,15 @@ %\iffalse %<*package> %\fi -% \begin{macro}{\k@SI@full@Boltzmann} -% |\k@SI@full@Boltzmann| is the Boltzmann constant in SI units with full -% precision. +% \begin{macro}{\k@SI@full@PlanckNumeric} +% \changes{v1.1.0}{2020/02/03}{Fix order of magnitude of constant.} +% |\k@SI@full@PlanckNumeric| is the Planck constant in SI units with full precision. % Source: CODATA~2018 % % \begin{macrocode} -\DeclareRobustCommand{\k@SI@full@Boltzmann}{% +\DeclareRobustCommand{\k@SI@full@PlanckNumeric}{% \ensuremath{% -1.380\expandafter\physconst@decimalsseparator% -649% -\times 10^{-23}\J\K^{-1}}} +6.62607015e-34}} % \end{macrocode} % \end{macro} % @@ -5247,16 +11835,16 @@ %\iffalse %<*package> %\fi -% \begin{macro}{\k@cgs@short@Boltzmann} -% |\k@cgs@short@Boltzmann| is the Boltzmann constant in cgs units with reduced +% \begin{macro}{\k@cgs@short@PlanckNumeric} +% \changes{v1.1.0}{2020/02/03}{Fix order of magnitude of constant.} +% |\k@cgs@short@PlanckNumeric| is the Planck constant in cgs units with reduced % precision. % Source: CODATA~2018 % % \begin{macrocode} -\DeclareRobustCommand{\k@cgs@short@Boltzmann}{% +\DeclareRobustCommand{\k@cgs@short@PlanckNumeric}{% \ensuremath{% -1.38% -\times 10^{-16}\erg\K^{-1}}} +6.63e-27}} % \end{macrocode} % \end{macro} % @@ -5266,17 +11854,15 @@ %\iffalse %<*package> %\fi -% \begin{macro}{\k@cgs@full@Boltzmann} -% |\k@cgs@full@Boltzmann| is the Boltzmann constant in cgs units with full -% precision. +% \begin{macro}{\k@cgs@full@PlanckNumeric} +% \changes{v1.1.0}{2020/02/03}{Fix order of magnitude of constant.} +% |\k@cgs@full@PlanckNumeric| is the Planck constant in cgs units with full precision. % Source: CODATA~2018 % % \begin{macrocode} -\DeclareRobustCommand{\k@cgs@full@Boltzmann}{% +\DeclareRobustCommand{\k@cgs@full@PlanckNumeric}{% \ensuremath{% -1.380\expandafter\physconst@decimalsseparator% -649% -\times 10^{-16}\erg\K^{-1}}} +6.62607015e-27}} % \end{macrocode} % \end{macro} % @@ -5286,16 +11872,15 @@ %\iffalse %<*package> %\fi -% \begin{macro}{\k@eV@short@Boltzmann} -% |\k@eV@short@Boltzmann| is the Boltzmann constant in eV with reduced -% precision. +% \begin{macro}{\k@eV@short@PlanckNumeric} +% \changes{v1.1.0}{2020/02/03}{Fix order of magnitude of constant.} +% |\k@eV@short@PlanckNumeric| is the Planck constant in eV with reduced precision. % Source: CODATA~2018 % % \begin{macrocode} -\DeclareRobustCommand{\k@eV@short@Boltzmann}{% +\DeclareRobustCommand{\k@eV@short@PlanckNumeric}{% \ensuremath{% -8.62% -\times 10^{-5}\eV\K^{-1}}} +4.14e-15}} % \end{macrocode} % \end{macro} % @@ -5305,16 +11890,15 @@ %\iffalse %<*package> %\fi -% \begin{macro}{\k@eV@full@Boltzmann} -% |\k@eV@full@Boltzmann| is the Boltzmann constant in eV with full precision. +% \begin{macro}{\k@eV@full@PlanckNumeric} +% \changes{v1.1.0}{2020/02/03}{Fix order of magnitude of constant.} +% |\k@eV@full@PlanckNumeric| is the Planck constant in eV with full precision. % Source: CODATA~2018 % % \begin{macrocode} -\DeclareRobustCommand{\k@eV@full@Boltzmann}{% +\DeclareRobustCommand{\k@eV@full@PlanckNumeric}{% \ensuremath{% -8.617\expandafter\physconst@decimalsseparator% -333% -\times 10^{-5}\eV\K^{-1}}} +4.13566770e-15}} % \end{macrocode} % \end{macro} % @@ -5324,25 +11908,26 @@ %\iffalse %<*package> %\fi -% \begin{macro}{\kBoltzmann} -% |\kBoltzmann| is the Boltzmann constant. +% \begin{macro}{\kPlanckNumeric} +% \changes{v1.1.0}{2020/02/03}{Fix order of magnitude of constant.} +% |\kPlanckNumeric| is the Planck constant. % % \begin{macrocode} \ifx\cgsunits\undefined \ifx\shortconst\undefined -\DeclareRobustCommand {\kBoltzmann}{% -\k@SI@short@Boltzmann} +\DeclareRobustCommand {\kPlanckNumeric}{% +\k@SI@short@PlanckNumeric} \else -\DeclareRobustCommand {\kBoltzmann}{% -\k@SI@full@Boltzmann} +\DeclareRobustCommand {\kPlanckNumeric}{% +\k@SI@full@PlanckNumeric} \fi \else \ifx\shortconst\undefined -\DeclareRobustCommand {\kBoltzmann}{% -\k@cgs@short@Boltzmann} +\DeclareRobustCommand {\kPlanckNumeric}{% +\k@cgs@short@PlanckNumeric} \else -\DeclareRobustCommand {\kBoltzmann}{% -\k@cgs@full@Boltzmann} +\DeclareRobustCommand {\kPlanckNumeric}{% +\k@cgs@full@PlanckNumeric} \fi \fi % \end{macrocode} @@ -5354,16 +11939,17 @@ %\iffalse %<*package> %\fi -% \begin{macro}{\keVBoltzmann} -% |\keVBoltzmann| is the Boltzmann constant. +% \begin{macro}{\keVPlanckNumeric} +% \changes{v1.1.0}{2020/02/03}{Fix order of magnitude of constant.} +% |\keVPlanckNumeric| is the Planck constant. % % \begin{macrocode} \ifx\shortconst\undefined -\DeclareRobustCommand {\keVBoltzmann}{% -\k@eV@short@Boltzmann} +\DeclareRobustCommand {\keVPlanckNumeric}{% +\k@eV@short@PlanckNumeric} \else -\DeclareRobustCommand {\keVBoltzmann}{% -\k@eV@full@Boltzmann} +\DeclareRobustCommand {\keVPlanckNumeric}{% +\k@eV@full@PlanckNumeric} \fi % \end{macrocode} % \end{macro} @@ -5374,15 +11960,16 @@ %\iffalse %<*package> %\fi -% \begin{macro}{\k@SI@short@Planck} -% |\k@SI@short@Planck| is the Planck constant in SI units with reduced -% precision. -% Source: CODATA~2018 +% \begin{macro}{\k@SI@short@PlanckReduced} +% \changes{v1.1.0}{2020/02/03}{Fix order of magnitude of constant.} +% |\k@SI@short@PlanckReduced| is the Reduced Planck constant +% $\left(\frac{h}{2\pi}\right)$ in SI units with reduced precision. +% Source: Calculated % % \begin{macrocode} -\DeclareRobustCommand{\k@SI@short@Planck}{% +\DeclareRobustCommand{\k@SI@short@PlanckReduced}{% \ensuremath{% -6.63% +1.05% \times 10^{-34}\J\Sec}} % \end{macrocode} % \end{macro} @@ -5393,16 +11980,18 @@ %\iffalse %<*package> %\fi -% \begin{macro}{\k@SI@full@Planck} -% |\k@SI@full@Planck| is the Planck constant in SI units with full precision. -% Source: CODATA~2018 +% \begin{macro}{\k@SI@full@PlanckReduced} +% \changes{v1.1.0}{2020/02/03}{Fix order of magnitude of constant.} +% |\k@SI@full@PlanckReduced| is the Reduced Planck constant +% $\left(\frac{h}{2\pi}\right)$ in SI units with full precision. +% Source: Calculated % % \begin{macrocode} -\DeclareRobustCommand{\k@SI@full@Planck}{% +\DeclareRobustCommand{\k@SI@full@PlanckReduced}{% \ensuremath{% -6.626\expandafter\physconst@decimalsseparator% -070\expandafter\physconst@decimalsseparator% -15% +1.054\expandafter\physconst@decimalsseparator% +571\expandafter\physconst@decimalsseparator% +82% \times 10^{-34}\J\Sec}} % \end{macrocode} % \end{macro} @@ -5413,15 +12002,16 @@ %\iffalse %<*package> %\fi -% \begin{macro}{\k@cgs@short@Planck} -% |\k@cgs@short@Planck| is the Planck constant in cgs units with reduced -% precision. -% Source: CODATA~2018 +% \begin{macro}{\k@cgs@short@PlanckReduced} +% \changes{v1.1.0}{2020/02/03}{Fix order of magnitude of constant.} +% |\k@cgs@short@PlanckReduced| is the Reduced Planck constant +% $\left(\frac{h}{2\pi}\right)$ in cgs units with reduced precision. +% Source: Calculated % % \begin{macrocode} -\DeclareRobustCommand{\k@cgs@short@Planck}{% +\DeclareRobustCommand{\k@cgs@short@PlanckReduced}{% \ensuremath{% -6.63% +1.05% \times 10^{-27}\erg\Sec}} % \end{macrocode} % \end{macro} @@ -5432,16 +12022,18 @@ %\iffalse %<*package> %\fi -% \begin{macro}{\k@cgs@full@Planck} -% |\k@cgs@full@Planck| is the Planck constant in cgs units with full precision. -% Source: CODATA~2018 +% \begin{macro}{\k@cgs@full@PlanckReduced} +% \changes{v1.1.0}{2020/02/03}{Fix order of magnitude of constant.} +% |\k@cgs@full@PlanckReduced| is the Reduced Planck constant +% $\left(\frac{h}{2\pi}\right)$ in cgs units with full precision. +% Source: Calculated % % \begin{macrocode} -\DeclareRobustCommand{\k@cgs@full@Planck}{% +\DeclareRobustCommand{\k@cgs@full@PlanckReduced}{% \ensuremath{% -6.626\expandafter\physconst@decimalsseparator% -070\expandafter\physconst@decimalsseparator% -15% +1.054\expandafter\physconst@decimalsseparator% +571\expandafter\physconst@decimalsseparator% +82% \times 10^{-27}\erg\Sec}} % \end{macrocode} % \end{macro} @@ -5452,15 +12044,17 @@ %\iffalse %<*package> %\fi -% \begin{macro}{\k@eV@short@Planck} -% |\k@eV@short@Planck| is the Planck constant in eV with reduced precision. -% Source: CODATA~2018 +% \begin{macro}{\k@eV@short@PlanckReduced} +% \changes{v1.1.0}{2020/02/03}{Fix order of magnitude of constant.} +% |\k@eV@short@PlanckReduced| is the Reduced Planck constant +% $\left(\frac{h}{2\pi}\right)$ in eV with reduced precision. +% Source: Calculated % % \begin{macrocode} -\DeclareRobustCommand{\k@eV@short@Planck}{% +\DeclareRobustCommand{\k@eV@short@PlanckReduced}{% \ensuremath{% -4.14% -\times 10^{-15}\eV\Sec}} +6.58% +\times 10^{-16}\eV\Sec}} % \end{macrocode} % \end{macro} % @@ -5470,17 +12064,19 @@ %\iffalse %<*package> %\fi -% \begin{macro}{\k@eV@full@Planck} -% |\k@eV@full@Planck| is the Planck constant in eV with full precision. -% Source: CODATA~2018 +% \begin{macro}{\k@eV@full@PlanckReduced} +% \changes{v1.1.0}{2020/02/03}{Fix order of magnitude of constant.} +% |\k@eV@full@PlanckReduced| is the Reduced Planck constant +% $\left(\frac{h}{2\pi}\right)$ in eV with full precision. +% Source: Calculated % % \begin{macrocode} -\DeclareRobustCommand{\k@eV@full@Planck}{% +\DeclareRobustCommand{\k@eV@full@PlanckReduced}{% \ensuremath{% -4.135\expandafter\physconst@decimalsseparator% -667\expandafter\physconst@decimalsseparator% -70% -\times 10^{-15}\eV\Sec}} +6.582\expandafter\physconst@decimalsseparator% +119\expandafter\physconst@decimalsseparator% +57% +\times 10^{-16}\eV\Sec}} % \end{macrocode} % \end{macro} % @@ -5490,25 +12086,27 @@ %\iffalse %<*package> %\fi -% \begin{macro}{\kPlanck} -% |\kPlanck| is the Planck constant. +% \begin{macro}{\kPlanckReduced} +% \changes{v1.1.0}{2020/02/03}{Fix order of magnitude of constant.} +% |\kPlanckReduced| is the Reduced Planck constant +% $\left(\frac{h}{2\pi}\right)$. % % \begin{macrocode} \ifx\cgsunits\undefined \ifx\shortconst\undefined -\DeclareRobustCommand {\kPlanck}{% -\k@SI@short@Planck} +\DeclareRobustCommand {\kPlanckReduced}{% +\k@SI@short@PlanckReduced} \else -\DeclareRobustCommand {\kPlanck}{% -\k@SI@full@Planck} +\DeclareRobustCommand {\kPlanckReduced}{% +\k@SI@full@PlanckReduced} \fi \else \ifx\shortconst\undefined -\DeclareRobustCommand {\kPlanck}{% -\k@cgs@short@Planck} +\DeclareRobustCommand {\kPlanckReduced}{% +\k@cgs@short@PlanckReduced} \else -\DeclareRobustCommand {\kPlanck}{% -\k@cgs@full@Planck} +\DeclareRobustCommand {\kPlanckReduced}{% +\k@cgs@full@PlanckReduced} \fi \fi % \end{macrocode} @@ -5520,16 +12118,18 @@ %\iffalse %<*package> %\fi -% \begin{macro}{\keVPlanck} -% |\keVPlanck| is the Planck constant. +% \begin{macro}{\keVPlanckReduced} +% \changes{v1.1.0}{2020/02/03}{Fix order of magnitude of constant.} +% |\keVPlanckReduced| is the Reduced Planck constant +% $\left(\frac{h}{2\pi}\right)$. % % \begin{macrocode} \ifx\shortconst\undefined -\DeclareRobustCommand {\keVPlanck}{% -\k@eV@short@Planck} +\DeclareRobustCommand {\keVPlanckReduced}{% +\k@eV@short@PlanckReduced} \else -\DeclareRobustCommand {\keVPlanck}{% -\k@eV@full@Planck} +\DeclareRobustCommand {\keVPlanckReduced}{% +\k@eV@full@PlanckReduced} \fi % \end{macrocode} % \end{macro} @@ -5540,16 +12140,16 @@ %\iffalse %<*package> %\fi -% \begin{macro}{\k@SI@short@PlanckReduced} -% |\k@SI@short@PlanckReduced| is the Reduced Planck constant +% \begin{macro}{\k@SI@short@PlanckReducedNumeric} +% \changes{v1.1.0}{2020/02/03}{Fix order of magnitude of constant.} +% |\k@SI@short@PlanckReducedNumeric| is the Reduced Planck constant % $\left(\frac{h}{2\pi}\right)$ in SI units with reduced precision. % Source: Calculated % % \begin{macrocode} -\DeclareRobustCommand{\k@SI@short@PlanckReduced}{% +\DeclareRobustCommand{\k@SI@short@PlanckReducedNumeric}{% \ensuremath{% -1.05% -\times 10^{-34}\J\Sec}} +1.05e-34}} % \end{macrocode} % \end{macro} % @@ -5559,18 +12159,16 @@ %\iffalse %<*package> %\fi -% \begin{macro}{\k@SI@full@PlanckReduced} -% |\k@SI@full@PlanckReduced| is the Reduced Planck constant +% \begin{macro}{\k@SI@full@PlanckReducedNumeric} +% \changes{v1.1.0}{2020/02/03}{Fix order of magnitude of constant.} +% |\k@SI@full@PlanckReducedNumeric| is the Reduced Planck constant % $\left(\frac{h}{2\pi}\right)$ in SI units with full precision. % Source: Calculated % % \begin{macrocode} -\DeclareRobustCommand{\k@SI@full@PlanckReduced}{% +\DeclareRobustCommand{\k@SI@full@PlanckReducedNumeric}{% \ensuremath{% -1.054\expandafter\physconst@decimalsseparator% -571\expandafter\physconst@decimalsseparator% -82% -\times 10^{-34}\J\Sec}} +1.05457182e-34}} % \end{macrocode} % \end{macro} % @@ -5580,16 +12178,16 @@ %\iffalse %<*package> %\fi -% \begin{macro}{\k@cgs@short@PlanckReduced} -% |\k@cgs@short@PlanckReduced| is the Reduced Planck constant +% \begin{macro}{\k@cgs@short@PlanckReducedNumeric} +% \changes{v1.1.0}{2020/02/03}{Fix order of magnitude of constant.} +% |\k@cgs@short@PlanckReducedNumeric| is the Reduced Planck constant % $\left(\frac{h}{2\pi}\right)$ in cgs units with reduced precision. % Source: Calculated % % \begin{macrocode} -\DeclareRobustCommand{\k@cgs@short@PlanckReduced}{% +\DeclareRobustCommand{\k@cgs@short@PlanckReducedNumeric}{% \ensuremath{% -1.05% -\times 10^{-27}\erg\Sec}} +1.05e-27}} % \end{macrocode} % \end{macro} % @@ -5599,18 +12197,16 @@ %\iffalse %<*package> %\fi -% \begin{macro}{\k@cgs@full@PlanckReduced} -% |\k@cgs@full@PlanckReduced| is the Reduced Planck constant +% \begin{macro}{\k@cgs@full@PlanckReducedNumeric} +% \changes{v1.1.0}{2020/02/03}{Fix order of magnitude of constant.} +% |\k@cgs@full@PlanckReducedNumeric| is the Reduced Planck constant % $\left(\frac{h}{2\pi}\right)$ in cgs units with full precision. % Source: Calculated % % \begin{macrocode} -\DeclareRobustCommand{\k@cgs@full@PlanckReduced}{% +\DeclareRobustCommand{\k@cgs@full@PlanckReducedNumeric}{% \ensuremath{% -1.054\expandafter\physconst@decimalsseparator% -571\expandafter\physconst@decimalsseparator% -82% -\times 10^{-27}\erg\Sec}} +1.05457182e-27}} % \end{macrocode} % \end{macro} % @@ -5620,16 +12216,16 @@ %\iffalse %<*package> %\fi -% \begin{macro}{\k@eV@short@PlanckReduced} -% |\k@eV@short@PlanckReduced| is the Reduced Planck constant +% \begin{macro}{\k@eV@short@PlanckReducedNumeric} +% \changes{v1.1.0}{2020/02/03}{Fix order of magnitude of constant.} +% |\k@eV@short@PlanckReducedNumeric| is the Reduced Planck constant % $\left(\frac{h}{2\pi}\right)$ in eV with reduced precision. % Source: Calculated % % \begin{macrocode} -\DeclareRobustCommand{\k@eV@short@PlanckReduced}{% +\DeclareRobustCommand{\k@eV@short@PlanckReducedNumeric}{% \ensuremath{% -6.58% -\times 10^{-16}\eV\Sec}} +6.58e-16}} % \end{macrocode} % \end{macro} % @@ -5639,18 +12235,16 @@ %\iffalse %<*package> %\fi -% \begin{macro}{\k@eV@full@PlanckReduced} -% |\k@eV@full@PlanckReduced| is the Reduced Planck constant +% \begin{macro}{\k@eV@full@PlanckReducedNumeric} +% \changes{v1.1.0}{2020/02/03}{Fix order of magnitude of constant.} +% |\k@eV@full@PlanckReducedNumeric| is the Reduced Planck constant % $\left(\frac{h}{2\pi}\right)$ in eV with full precision. % Source: Calculated % % \begin{macrocode} -\DeclareRobustCommand{\k@eV@full@PlanckReduced}{% +\DeclareRobustCommand{\k@eV@full@PlanckReducedNumeric}{% \ensuremath{% -6.582\expandafter\physconst@decimalsseparator% -119\expandafter\physconst@decimalsseparator% -57% -\times 10^{-16}\eV\Sec}} +6.58211957e-16}} % \end{macrocode} % \end{macro} % @@ -5660,26 +12254,27 @@ %\iffalse %<*package> %\fi -% \begin{macro}{\kPlanckReduced} -% |\kPlanckReduced| is the Reduced Planck constant +% \begin{macro}{\kPlanckReducedNumeric} +% \changes{v1.1.0}{2020/02/03}{Fix order of magnitude of constant.} +% |\kPlanckReducedNumeric| is the Reduced Planck constant % $\left(\frac{h}{2\pi}\right)$. % % \begin{macrocode} \ifx\cgsunits\undefined \ifx\shortconst\undefined -\DeclareRobustCommand {\kPlanckReduced}{% -\k@SI@short@PlanckReduced} +\DeclareRobustCommand {\kPlanckReducedNumeric}{% +\k@SI@short@PlanckReducedNumeric} \else -\DeclareRobustCommand {\kPlanckReduced}{% -\k@SI@full@PlanckReduced} +\DeclareRobustCommand {\kPlanckReducedNumeric}{% +\k@SI@full@PlanckReducedNumeric} \fi \else \ifx\shortconst\undefined -\DeclareRobustCommand {\kPlanckReduced}{% -\k@cgs@short@PlanckReduced} +\DeclareRobustCommand {\kPlanckReducedNumeric}{% +\k@cgs@short@PlanckReducedNumeric} \else -\DeclareRobustCommand {\kPlanckReduced}{% -\k@cgs@full@PlanckReduced} +\DeclareRobustCommand {\kPlanckReducedNumeric}{% +\k@cgs@full@PlanckReducedNumeric} \fi \fi % \end{macrocode} @@ -5691,17 +12286,18 @@ %\iffalse %<*package> %\fi -% \begin{macro}{\keVPlanckReduced} -% |\keVPlanckReduced| is the Reduced Planck constant +% \begin{macro}{\keVPlanckReducedNumeric} +% \changes{v1.1.0}{2020/02/03}{Fix order of magnitude of constant.} +% |\keVPlanckReducedNumeric| is the Reduced Planck constant % $\left(\frac{h}{2\pi}\right)$. % % \begin{macrocode} \ifx\shortconst\undefined -\DeclareRobustCommand {\keVPlanckReduced}{% -\k@eV@short@PlanckReduced} +\DeclareRobustCommand {\keVPlanckReducedNumeric}{% +\k@eV@short@PlanckReducedNumeric} \else -\DeclareRobustCommand {\keVPlanckReduced}{% -\k@eV@full@PlanckReduced} +\DeclareRobustCommand {\keVPlanckReducedNumeric}{% +\k@eV@full@PlanckReducedNumeric} \fi % \end{macrocode} % \end{macro} @@ -5713,6 +12309,7 @@ %<*package> %\fi % \begin{macro}{\k@SI@short@Gravity} +% \changes{v1.1.0}{2020/02/03}{Fix value of constant.} % |\k@SI@short@Gravity| is Newton's gravitational constant in SI units with % reduced precision. % Source: CODATA~2018 @@ -5721,7 +12318,7 @@ \DeclareRobustCommand{\k@SI@short@Gravity}{% \ensuremath{% 6.67% -\times 10^{-15}\N\kg^{-2}\m^2}} +\times 10^{-11}\N\kg^{-2}\m^2}} % \end{macrocode} % \end{macro} % @@ -5732,6 +12329,7 @@ %<*package> %\fi % \begin{macro}{\k@SI@full@Gravity} +% \changes{v1.1.0}{2020/02/03}{Fix value of constant.} % |\k@SI@full@Gravity| is Newton's gravitational constant in SI units with full % precision. % Source: CODATA~2018 @@ -5741,7 +12339,7 @@ \ensuremath{% 6.674\expandafter\physconst@decimalsseparator% 30% -\times 10^{-15}\N\kg^{-2}\m^2}} +\times 10^{-11}\N\kg^{-2}\m^2}} % \end{macrocode} % \end{macro} % @@ -5752,6 +12350,7 @@ %<*package> %\fi % \begin{macro}{\k@cgs@short@Gravity} +% \changes{v1.1.0}{2020/02/03}{Fix value of constant.} % |\k@cgs@short@Gravity| is Newton's gravitational constant in cgs units with % reduced precision. % Source: CODATA~2018 @@ -5771,6 +12370,7 @@ %<*package> %\fi % \begin{macro}{\k@cgs@full@Gravity} +% \changes{v1.1.0}{2020/02/03}{Fix value of constant.} % |\k@cgs@full@Gravity| is Newton's gravitational constant in cgs units with % full precision. % Source: CODATA~2018 @@ -5791,24 +12391,250 @@ %<*package> %\fi % \begin{macro}{\kGravity} +% \changes{v1.1.0}{2020/02/03}{Fix value of constant.} % |\kGravity| is Newton's gravitational constant. % % \begin{macrocode} \ifx\cgsunits\undefined \ifx\shortconst\undefined -\DeclareRobustCommand {\kGravity}{% -\k@SI@short@Gravity} +\DeclareRobustCommand {\kGravity}{% +\k@SI@short@Gravity} +\else +\DeclareRobustCommand {\kGravity}{% +\k@SI@full@Gravity} +\fi +\else +\ifx\shortconst\undefined +\DeclareRobustCommand {\kGravity}{% +\k@cgs@short@Gravity} +\else +\DeclareRobustCommand {\kGravity}{% +\k@cgs@full@Gravity} +\fi +\fi +% \end{macrocode} +% \end{macro} +% +%\iffalse +% +%\fi +%\iffalse +%<*package> +%\fi +% \begin{macro}{\k@SI@short@GravityNumeric} +% \changes{v1.1.0}{2020/02/03}{Fix value of constant.} +% |\k@SI@short@GravityNumeric| is Newton's gravitational constant in SI units with +% reduced precision. +% Source: CODATA~2018 +% +% \begin{macrocode} +\DeclareRobustCommand{\k@SI@short@GravityNumeric}{% +\ensuremath{% +6.67e-11}} +% \end{macrocode} +% \end{macro} +% +%\iffalse +% +%\fi +%\iffalse +%<*package> +%\fi +% \begin{macro}{\k@SI@full@GravityNumeric} +% \changes{v1.1.0}{2020/02/03}{Fix value of constant.} +% |\k@SI@full@GravityNumeric| is Newton's gravitational constant in SI units with full +% precision. +% Source: CODATA~2018 +% +% \begin{macrocode} +\DeclareRobustCommand{\k@SI@full@GravityNumeric}{% +\ensuremath{% +6.67430e-11}} +% \end{macrocode} +% \end{macro} +% +%\iffalse +% +%\fi +%\iffalse +%<*package> +%\fi +% \begin{macro}{\k@cgs@short@GravityNumeric} +% \changes{v1.1.0}{2020/02/03}{Fix value of constant.} +% |\k@cgs@short@GravityNumeric| is Newton's gravitational constant in cgs units with +% reduced precision. +% Source: CODATA~2018 +% +% \begin{macrocode} +\DeclareRobustCommand{\k@cgs@short@GravityNumeric}{% +\ensuremath{% +6.67e-08}} +% \end{macrocode} +% \end{macro} +% +%\iffalse +% +%\fi +%\iffalse +%<*package> +%\fi +% \begin{macro}{\k@cgs@full@GravityNumeric} +% \changes{v1.1.0}{2020/02/03}{Fix value of constant.} +% |\k@cgs@full@GravityNumeric| is Newton's gravitational constant in cgs units with +% full precision. +% Source: CODATA~2018 +% +% \begin{macrocode} +\DeclareRobustCommand{\k@cgs@full@GravityNumeric}{% +\ensuremath{% +6.67430e-08}} +% \end{macrocode} +% \end{macro} +% +%\iffalse +% +%\fi +%\iffalse +%<*package> +%\fi +% \begin{macro}{\kGravityNumeric} +% \changes{v1.1.0}{2020/02/03}{Fix value of constant.} +% |\kGravityNumeric| is Newton's gravitational constant. +% +% \begin{macrocode} +\ifx\cgsunits\undefined +\ifx\shortconst\undefined +\DeclareRobustCommand {\kGravityNumeric}{% +\k@SI@short@GravityNumeric} +\else +\DeclareRobustCommand {\kGravityNumeric}{% +\k@SI@full@GravityNumeric} +\fi +\else +\ifx\shortconst\undefined +\DeclareRobustCommand {\kGravityNumeric}{% +\k@cgs@short@GravityNumeric} +\else +\DeclareRobustCommand {\kGravityNumeric}{% +\k@cgs@full@GravityNumeric} +\fi +\fi +% \end{macrocode} +% \end{macro} +% +%\iffalse +% +%\fi +%\iffalse +%<*package> +%\fi +% \begin{macro}{\k@SI@short@StefanBoltzmann} +% \changes{v1.1.0}{2020/02/03}{Fix order of magnitude of constant.} +% |\k@SI@short@StefanBoltzmann| is the Stefan-Boltzmann blackbody constant +% $\left(\frac{2\pi^5k_\mathrm{B}}{15h^3c^2}\right)$ in SI units with reduced +% precision. +% Source: Calculated +% +% \begin{macrocode} +\DeclareRobustCommand{\k@SI@short@StefanBoltzmann}{% +\ensuremath{% +5.67% +\times 10^{-8}\J\Kelvin^{-4}\m^{-2}\Sec^{-1}}} +% \end{macrocode} +% \end{macro} +% +%\iffalse +% +%\fi +%\iffalse +%<*package> +%\fi +% \begin{macro}{\k@SI@full@StefanBoltzmann} +% \changes{v1.1.0}{2020/02/03}{Fix order of magnitude of constant.} +% |\k@SI@full@StefanBoltzmann| is the Stefan-Boltzmann blackbody constant +% $\left(\frac{2\pi^5k_\mathrm{B}}{15h^3c^2}\right)$ in SI units with full +% precision. +% Source: Calculated +% +% \begin{macrocode} +\DeclareRobustCommand{\k@SI@full@StefanBoltzmann}{% +\ensuremath{% +5.670\expandafter\physconst@decimalsseparator% +374% +\times 10^{-8}\J\Kelvin^{-4}\m^{-2}\Sec^{-1}}} +% \end{macrocode} +% \end{macro} +% +%\iffalse +% +%\fi +%\iffalse +%<*package> +%\fi +% \begin{macro}{\k@cgs@short@StefanBoltzmann} +% \changes{v1.1.0}{2020/02/03}{Fix order of magnitude of constant.} +% |\k@cgs@short@StefanBoltzmann| is the Stefan-Boltzmann blackbody constant +% $\left(\frac{2\pi^5k_\mathrm{B}}{15h^3c^2}\right)$ in cgs units with reduced +% precision. +% Source: Calculated +% +% \begin{macrocode} +\DeclareRobustCommand{\k@cgs@short@StefanBoltzmann}{% +\ensuremath{% +5.67% +\times 10^{-5}\erg\Kelvin^{-4}\cm^{-2}\Sec^{-1}}} +% \end{macrocode} +% \end{macro} +% +%\iffalse +% +%\fi +%\iffalse +%<*package> +%\fi +% \begin{macro}{\k@cgs@full@StefanBoltzmann} +% \changes{v1.1.0}{2020/02/03}{Fix order of magnitude of constant.} +% |\k@cgs@full@StefanBoltzmann| is the Stefan-Boltzmann blackbody constant +% $\left(\frac{2\pi^5k_\mathrm{B}}{15h^3c^2}\right)$ in cgs units with full +% precision. +% Source: Calculated +% +% \begin{macrocode} +\DeclareRobustCommand{\k@cgs@full@StefanBoltzmann}{% +\ensuremath{% +5.670\expandafter\physconst@decimalsseparator% +374% +\times 10^{-5}\erg\Kelvin^{-4}\cm^{-2}\Sec^{-1}}} +% \end{macrocode} +% \end{macro} +% +%\iffalse +% +%\fi +%\iffalse +%<*package> +%\fi +% \begin{macro}{\kStefanBoltzmann} +% \changes{v1.1.0}{2020/02/03}{Fix order of magnitude of constant.} +% |\kStefanBoltzmann| is the Stefan-Boltzmann blackbody constant +% $\left(\frac{2\pi^5k_\mathrm{B}}{15h^3c^2}\right)$. +% +% \begin{macrocode} +\ifx\cgsunits\undefined +\ifx\shortconst\undefined +\DeclareRobustCommand {\kStefanBoltzmann}{% +\k@SI@short@StefanBoltzmann} \else -\DeclareRobustCommand {\kGravity}{% -\k@SI@full@Gravity} +\DeclareRobustCommand {\kStefanBoltzmann}{% +\k@SI@full@StefanBoltzmann} \fi \else \ifx\shortconst\undefined -\DeclareRobustCommand {\kGravity}{% -\k@cgs@short@Gravity} +\DeclareRobustCommand {\kStefanBoltzmann}{% +\k@cgs@short@StefanBoltzmann} \else -\DeclareRobustCommand {\kGravity}{% -\k@cgs@full@Gravity} +\DeclareRobustCommand {\kStefanBoltzmann}{% +\k@cgs@full@StefanBoltzmann} \fi \fi % \end{macrocode} @@ -5820,17 +12646,17 @@ %\iffalse %<*package> %\fi -% \begin{macro}{\k@SI@short@StefanBoltzmann} -% |\k@SI@short@StefanBoltzmann| is the Stefan-Boltzmann blackbody constant +% \begin{macro}{\k@SI@short@StefanBoltzmannNumeric} +% \changes{v1.1.0}{2020/02/03}{Fix order of magnitude of constant.} +% |\k@SI@short@StefanBoltzmannNumeric| is the Stefan-Boltzmann blackbody constant % $\left(\frac{2\pi^5k_\mathrm{B}}{15h^3c^2}\right)$ in SI units with reduced % precision. % Source: Calculated % % \begin{macrocode} -\DeclareRobustCommand{\k@SI@short@StefanBoltzmann}{% +\DeclareRobustCommand{\k@SI@short@StefanBoltzmannNumeric}{% \ensuremath{% -5.67% -\times 10^{-6}\J\Kelvin^{-4}\m^{-2}\Sec^{-1}}} +5.67e-08}} % \end{macrocode} % \end{macro} % @@ -5840,18 +12666,17 @@ %\iffalse %<*package> %\fi -% \begin{macro}{\k@SI@full@StefanBoltzmann} -% |\k@SI@full@StefanBoltzmann| is the Stefan-Boltzmann blackbody constant +% \begin{macro}{\k@SI@full@StefanBoltzmannNumeric} +% \changes{v1.1.0}{2020/02/03}{Fix order of magnitude of constant.} +% |\k@SI@full@StefanBoltzmannNumeric| is the Stefan-Boltzmann blackbody constant % $\left(\frac{2\pi^5k_\mathrm{B}}{15h^3c^2}\right)$ in SI units with full % precision. % Source: Calculated % % \begin{macrocode} -\DeclareRobustCommand{\k@SI@full@StefanBoltzmann}{% +\DeclareRobustCommand{\k@SI@full@StefanBoltzmannNumeric}{% \ensuremath{% -5.670\expandafter\physconst@decimalsseparator% -374% -\times 10^{-6}\J\Kelvin^{-4}\m^{-2}\Sec^{-1}}} +5.670374e-08}} % \end{macrocode} % \end{macro} % @@ -5861,17 +12686,17 @@ %\iffalse %<*package> %\fi -% \begin{macro}{\k@cgs@short@StefanBoltzmann} -% |\k@cgs@short@StefanBoltzmann| is the Stefan-Boltzmann blackbody constant +% \begin{macro}{\k@cgs@short@StefanBoltzmannNumeric} +% \changes{v1.1.0}{2020/02/03}{Fix order of magnitude of constant.} +% |\k@cgs@short@StefanBoltzmannNumeric| is the Stefan-Boltzmann blackbody constant % $\left(\frac{2\pi^5k_\mathrm{B}}{15h^3c^2}\right)$ in cgs units with reduced % precision. % Source: Calculated % % \begin{macrocode} -\DeclareRobustCommand{\k@cgs@short@StefanBoltzmann}{% +\DeclareRobustCommand{\k@cgs@short@StefanBoltzmannNumeric}{% \ensuremath{% -5.67% -\times 10^{-5}\erg\Kelvin^{-4}\cm^{-2}\Sec^{-1}}} +5.67e-05}} % \end{macrocode} % \end{macro} % @@ -5881,18 +12706,17 @@ %\iffalse %<*package> %\fi -% \begin{macro}{\k@cgs@full@StefanBoltzmann} -% |\k@cgs@full@StefanBoltzmann| is the Stefan-Boltzmann blackbody constant +% \begin{macro}{\k@cgs@full@StefanBoltzmannNumeric} +% \changes{v1.1.0}{2020/02/03}{Fix order of magnitude of constant.} +% |\k@cgs@full@StefanBoltzmannNumeric| is the Stefan-Boltzmann blackbody constant % $\left(\frac{2\pi^5k_\mathrm{B}}{15h^3c^2}\right)$ in cgs units with full % precision. % Source: Calculated % % \begin{macrocode} -\DeclareRobustCommand{\k@cgs@full@StefanBoltzmann}{% +\DeclareRobustCommand{\k@cgs@full@StefanBoltzmannNumeric}{% \ensuremath{% -5.670\expandafter\physconst@decimalsseparator% -374% -\times 10^{-5}\erg\Kelvin^{-4}\cm^{-2}\Sec^{-1}}} +5.670374e-05}} % \end{macrocode} % \end{macro} % @@ -5902,26 +12726,27 @@ %\iffalse %<*package> %\fi -% \begin{macro}{\kStefanBoltzmann} -% |\kStefanBoltzmann| is the Stefan-Boltzmann blackbody constant +% \begin{macro}{\kStefanBoltzmannNumeric} +% \changes{v1.1.0}{2020/02/03}{Fix order of magnitude of constant.} +% |\kStefanBoltzmannNumeric| is the Stefan-Boltzmann blackbody constant % $\left(\frac{2\pi^5k_\mathrm{B}}{15h^3c^2}\right)$. % % \begin{macrocode} \ifx\cgsunits\undefined \ifx\shortconst\undefined -\DeclareRobustCommand {\kStefanBoltzmann}{% -\k@SI@short@StefanBoltzmann} +\DeclareRobustCommand {\kStefanBoltzmannNumeric}{% +\k@SI@short@StefanBoltzmannNumeric} \else -\DeclareRobustCommand {\kStefanBoltzmann}{% -\k@SI@full@StefanBoltzmann} +\DeclareRobustCommand {\kStefanBoltzmannNumeric}{% +\k@SI@full@StefanBoltzmannNumeric} \fi \else \ifx\shortconst\undefined -\DeclareRobustCommand {\kStefanBoltzmann}{% -\k@cgs@short@StefanBoltzmann} +\DeclareRobustCommand {\kStefanBoltzmannNumeric}{% +\k@cgs@short@StefanBoltzmannNumeric} \else -\DeclareRobustCommand {\kStefanBoltzmann}{% -\k@cgs@full@StefanBoltzmann} +\DeclareRobustCommand {\kStefanBoltzmannNumeric}{% +\k@cgs@full@StefanBoltzmannNumeric} \fi \fi % \end{macrocode} @@ -6046,6 +12871,113 @@ %\iffalse %<*package> %\fi +% \begin{macro}{\k@SI@short@RadiationNumeric} +% |\k@SI@short@RadiationNumeric| is the radiation constant, $a +% \left(\frac{8\pi^5k_\mathrm{B}^4}{15c^3h^3}\right)$ in SI units with reduced +% precision. +% Source: Calculated +% +% \begin{macrocode} +\DeclareRobustCommand{\k@SI@short@RadiationNumeric}{% +\ensuremath{% +7.57e-16}} +% \end{macrocode} +% \end{macro} +% +%\iffalse +% +%\fi +%\iffalse +%<*package> +%\fi +% \begin{macro}{\k@SI@full@RadiationNumeric} +% |\k@SI@full@RadiationNumeric| is the radiation constant, $a +% \left(\frac{8\pi^5k_\mathrm{B}^4}{15c^3h^3}\right)$ in SI units with full +% precision. +% Source: Calculated +% +% \begin{macrocode} +\DeclareRobustCommand{\k@SI@full@RadiationNumeric}{% +\ensuremath{% +7.565733e-16}} +% \end{macrocode} +% \end{macro} +% +%\iffalse +% +%\fi +%\iffalse +%<*package> +%\fi +% \begin{macro}{\k@cgs@short@RadiationNumeric} +% |\k@cgs@short@RadiationNumeric| is the radiation constant, $a +% \left(\frac{8\pi^5k_\mathrm{B}^4}{15c^3h^3}\right)$ in cgs units with reduced +% precision. +% Source: Calculated +% +% \begin{macrocode} +\DeclareRobustCommand{\k@cgs@short@RadiationNumeric}{% +\ensuremath{% +7.57e-15}} +% \end{macrocode} +% \end{macro} +% +%\iffalse +% +%\fi +%\iffalse +%<*package> +%\fi +% \begin{macro}{\k@cgs@full@RadiationNumeric} +% |\k@cgs@full@RadiationNumeric| is the radiation constant, $a +% \left(\frac{8\pi^5k_\mathrm{B}^4}{15c^3h^3}\right)$ in cgs units with full +% precision. +% Source: Calculated +% +% \begin{macrocode} +\DeclareRobustCommand{\k@cgs@full@RadiationNumeric}{% +\ensuremath{% +7.565733e-15}} +% \end{macrocode} +% \end{macro} +% +%\iffalse +% +%\fi +%\iffalse +%<*package> +%\fi +% \begin{macro}{\kRadiationNumeric} +% |\kRadiationNumeric| is the radiation constant, $a +% \left(\frac{8\pi^5k_\mathrm{B}^4}{15c^3h^3}\right)$. +% +% \begin{macrocode} +\ifx\cgsunits\undefined +\ifx\shortconst\undefined +\DeclareRobustCommand {\kRadiationNumeric}{% +\k@SI@short@RadiationNumeric} +\else +\DeclareRobustCommand {\kRadiationNumeric}{% +\k@SI@full@RadiationNumeric} +\fi +\else +\ifx\shortconst\undefined +\DeclareRobustCommand {\kRadiationNumeric}{% +\k@cgs@short@RadiationNumeric} +\else +\DeclareRobustCommand {\kRadiationNumeric}{% +\k@cgs@full@RadiationNumeric} +\fi +\fi +% \end{macrocode} +% \end{macro} +% +%\iffalse +% +%\fi +%\iffalse +%<*package> +%\fi % \begin{macro}{\k@short@FineStructure} % |\k@short@FineStructure| is the fine structure constant with reduced % precision. @@ -6105,6 +13037,61 @@ %\iffalse %<*package> %\fi +% \begin{macro}{\k@short@FineStructureNumeric} +% |\k@short@FineStructureNumeric| is the fine structure constant with reduced +% precision. +% Source: Calculated +% +% \begin{macrocode} +\DeclareRobustCommand{\k@short@FineStructureNumeric}{% +\ensuremath{% +7.30e-03}} +% \end{macrocode} +% \end{macro} +% +%\iffalse +% +%\fi +%\iffalse +%<*package> +%\fi +% \begin{macro}{\k@full@FineStructureNumeric} +% |\k@full@FineStructureNumeric| is the fine structure constant with full precision. +% Source: Calculated +% +% \begin{macrocode} +\DeclareRobustCommand{\k@full@FineStructureNumeric}{% +\ensuremath{% +7.29735257e-03}} +% \end{macrocode} +% \end{macro} +% +%\iffalse +% +%\fi +%\iffalse +%<*package> +%\fi +% \begin{macro}{\kFineStructureNumeric} +% |\kFineStructureNumeric| is the fine structure constant. +% +% \begin{macrocode} +\ifx\shortconst\undefined +\DeclareRobustCommand {\kFineStructureNumeric}{% +\k@short@FineStructureNumeric} +\else +\DeclareRobustCommand {\kFineStructureNumeric}{% +\k@full@FineStructureNumeric} +\fi +% \end{macrocode} +% \end{macro} +% +%\iffalse +% +%\fi +%\iffalse +%<*package> +%\fi % \begin{macro}{\k@short@FineStructureReciprocal} % |\k@short@FineStructureReciprocal| is the reciprocal of the fine structure % constant with reduced precision. @@ -6165,6 +13152,62 @@ %\iffalse %<*package> %\fi +% \begin{macro}{\k@short@FineStructureReciprocalNumeric} +% |\k@short@FineStructureReciprocalNumeric| is the reciprocal of the fine structure +% constant with reduced precision. +% Source: Calculated +% +% \begin{macrocode} +\DeclareRobustCommand{\k@short@FineStructureReciprocalNumeric}{% +\ensuremath{% +1.37e+02}} +% \end{macrocode} +% \end{macro} +% +%\iffalse +% +%\fi +%\iffalse +%<*package> +%\fi +% \begin{macro}{\k@full@FineStructureReciprocalNumeric} +% |\k@full@FineStructureReciprocalNumeric| is the reciprocal of the fine structure +% constant with full precision. +% Source: Calculated +% +% \begin{macrocode} +\DeclareRobustCommand{\k@full@FineStructureReciprocalNumeric}{% +\ensuremath{% +1.37035999e+02}} +% \end{macrocode} +% \end{macro} +% +%\iffalse +% +%\fi +%\iffalse +%<*package> +%\fi +% \begin{macro}{\kFineStructureReciprocalNumeric} +% |\kFineStructureReciprocalNumeric| is the reciprocal of the fine structure constant. +% +% \begin{macrocode} +\ifx\shortconst\undefined +\DeclareRobustCommand {\kFineStructureReciprocalNumeric}{% +\k@short@FineStructureReciprocalNumeric} +\else +\DeclareRobustCommand {\kFineStructureReciprocalNumeric}{% +\k@full@FineStructureReciprocalNumeric} +\fi +% \end{macrocode} +% \end{macro} +% +%\iffalse +% +%\fi +%\iffalse +%<*package> +%\fi % \begin{macro}{\k@short@Avogadro} % |\k@short@Avogadro| is Avogadro's Number (the number of particles in a mole) % with reduced precision. @@ -6222,6 +13265,62 @@ %\iffalse % %\fi +%\iffalse +%<*package> +%\fi +% \begin{macro}{\k@short@AvogadroNumeric} +% |\k@short@AvogadroNumeric| is Avogadro's Number (the number of particles in a mole) +% with reduced precision. +% Source: CODATA~2018 +% +% \begin{macrocode} +\DeclareRobustCommand{\k@short@AvogadroNumeric}{% +\ensuremath{% +6.02e+23}} +% \end{macrocode} +% \end{macro} +% +%\iffalse +% +%\fi +%\iffalse +%<*package> +%\fi +% \begin{macro}{\k@full@AvogadroNumeric} +% |\k@full@AvogadroNumeric| is Avogadro's Number (the number of particles in a mole) +% with full precision. +% Source: CODATA~2018 +% +% \begin{macrocode} +\DeclareRobustCommand{\k@full@AvogadroNumeric}{% +\ensuremath{% +6.02240760e+23}} +% \end{macrocode} +% \end{macro} +% +%\iffalse +% +%\fi +%\iffalse +%<*package> +%\fi +% \begin{macro}{\kAvogadroNumeric} +% |\kAvogadroNumeric| is Avogadro's Number (the number of particles in a mole). +% +% \begin{macrocode} +\ifx\shortconst\undefined +\DeclareRobustCommand {\kAvogadroNumeric}{% +\k@short@AvogadroNumeric} +\else +\DeclareRobustCommand {\kAvogadroNumeric}{% +\k@full@AvogadroNumeric} +\fi +% \end{macrocode} +% \end{macro} +% +%\iffalse +% +%\fi % \CheckSum{0} % \Finale \makeatother diff --git a/macros/latex/contrib/physconst/physconst.pdf b/macros/latex/contrib/physconst/physconst.pdf index 67867850bc..ead2ea8bc7 100644 Binary files a/macros/latex/contrib/physconst/physconst.pdf and b/macros/latex/contrib/physconst/physconst.pdf differ diff --git a/macros/latex/contrib/thuthesis/README.md b/macros/latex/contrib/thuthesis/README.md index 3691ac56b6..7c09042602 100644 --- a/macros/latex/contrib/thuthesis/README.md +++ b/macros/latex/contrib/thuthesis/README.md @@ -6,15 +6,15 @@ [![CTAN](https://img.shields.io/ctan/v/thuthesis)](https://www.ctan.org/pkg/thuthesis) # What's ThuThesis? -ThuThesis is an abbreviation of Tsinghua University Thesis LaTeX Template. +**ThuThesis** is an abbreviation of **T**sing**h**ua **U**niversity **Thesis** LaTeX Template. This package establishes a simple and easy-to-use LaTeX template for Tsinghua dissertations, including general undergraduate research papers, masters theses, doctoral dissertations, and postdoctoral reports. An English translation of this README follows the Chinese below. -# ThuThesis是什么? -ThuThesis为 Tsinghua University Thesis LaTeX Template之缩写。 +# ThuThesis 是什么? +**ThuThesis** 是 **T**sing**h**ua **U**niversity **Thesis** LaTeX Template 的缩写。 -此宏包旨在建立一个简单易用的清华大学学位论文LaTeX模板,包括本科综合论文训练、硕士论文、博士论文以及博士后出站报告。 +此宏包旨在建立一个简单易用的清华大学学位论文 LaTeX 模板,包括本科综合论文训练、硕士论文、博士论文以及博士后出站报告。 # 文档 请[下载](https://github.com/xueruini/thuthesis/releases)模板,里面包括具体使用说明以及示例文档: @@ -31,9 +31,11 @@ ThuThesis为 Tsinghua University Thesis LaTeX Templa 通过 TeX 发行版工具自动从 [CTAN](https://www.ctan.org/pkg/thuthesis) 更新。 ## 手动更新 -从 [GitHub](https://github.com/xueruini/thuthesis) 下载放入论文目录,执行命令(Windows 用户在文件夹空白处按`Shift+鼠标右键`,点击“在此处打开命令行窗口”): +从 [GitHub](https://github.com/xueruini/thuthesis) 下载放入论文目录,执行命令(Windows 用户在文件夹空白处按 `Shift + 鼠标右键`,点击“在此处打开命令行窗口”): - xetex thuthesis.ins +```shell +xetex thuthesis.ins +``` 即可得到 `thuthesis.cls` 等模板文件。 @@ -58,6 +60,8 @@ make [{all|thesis|spine|doc|clean|cleanall|distclean}] * `make cleanall` 删除示例文件的中间文件和 main.pdf; * `make distclean` 删除示例文件和模板的所有中间文件和 PDF。 +--- + # Documentation Download and unzip the template. Specific usage documentation and examples can be found in the files below. At present, these documents are only available in Chinese: * Template usage (thuthesis.pdf) @@ -69,12 +73,14 @@ Download and unzip the template. Specific usage documentation and examples can b # Updates ## Automatic -Get the most up-to-date published version of the TeX tools from [CTAN](https://www.ctan.org/pkg/thuthesis). +Get the most up-to-date published version with your TeX distribution from [CTAN](https://www.ctan.org/pkg/thuthesis). ## Manual -Download the package from [GitHub](https://github.com/xueruini/thuthesis) to the root directory of your thesis, then execute the command (Windows users `Shift + right click` white area in the file window and click "Open command line window here from the popup menu"): +Download the package from [GitHub](https://github.com/xueruini/thuthesis) to the root directory of your thesis, then execute the command (Windows users `Shift + right click` white area in the file window and click "Open command line window here" from the popup menu): - xetex thuthesis.ins +```shell +xetex thuthesis.ins +``` You'll get `thuthesis.cls` along with other template files. diff --git a/macros/latex/contrib/thuthesis/data/denotation.tex b/macros/latex/contrib/thuthesis/data/denotation.tex index aeefccbf9a..962c6bb444 100644 --- a/macros/latex/contrib/thuthesis/data/denotation.tex +++ b/macros/latex/contrib/thuthesis/data/denotation.tex @@ -12,7 +12,7 @@ \item[MPBI] 聚苯并咪唑模型化合物,N-苯基苯并咪唑 \item[PY] 聚吡咙 \item[PMDA-BDA] 均苯四酸二酐与联苯四胺合成的聚吡咙薄膜 -\item[$\Delta G$] 活化自由能 (Activation Free Energy) +\item[$\increment G$] 活化自由能 (Activation Free Energy) \item[$\chi$] 传输系数 (Transmission Coefficient) \item[$E$] 能量 \item[$m$] 质量 @@ -49,7 +49,7 @@ % \nomenclature{MPBI}{聚苯并咪唑模型化合物,N-苯基苯并咪唑} % \nomenclature{PY}{聚吡咙} % \nomenclature{PMDA-BDA}{均苯四酸二酐与联苯四胺合成的聚吡咙薄膜} -% \nomenclature{$\Delta G$}{活化自由能 (Activation Free Energy)} +% \nomenclature{$\increment G$}{活化自由能 (Activation Free Energy)} % \nomenclature{$\chi$}{传输系数 (Transmission Coefficient)} % \nomenclature{$E$}{能量} % \nomenclature{$m$}{质量} diff --git a/macros/latex/contrib/thuthesis/main.pdf b/macros/latex/contrib/thuthesis/main.pdf index 25ebfc5702..9ed6f02a7a 100644 Binary files a/macros/latex/contrib/thuthesis/main.pdf and b/macros/latex/contrib/thuthesis/main.pdf differ diff --git a/macros/latex/contrib/thuthesis/main.tex b/macros/latex/contrib/thuthesis/main.tex index aa45220054..a84e0b479e 100644 --- a/macros/latex/contrib/thuthesis/main.tex +++ b/macros/latex/contrib/thuthesis/main.tex @@ -2,7 +2,7 @@ % !TeX program = xelatex % !TeX spellcheck = en_US -\documentclass[fontset=windows,degree=master]{thuthesis} +\documentclass[degree=master,fontset=windows]{thuthesis} % 学位 degree: % doctor | master | bachelor | postdoc % 学位类型 degree-type: diff --git a/macros/latex/contrib/thuthesis/ref/appendix.bib b/macros/latex/contrib/thuthesis/ref/appendix.bib index 4fbfb750fc..1e4cc0daef 100644 --- a/macros/latex/contrib/thuthesis/ref/appendix.bib +++ b/macros/latex/contrib/thuthesis/ref/appendix.bib @@ -1,14 +1,14 @@ @book{abrahams99tex, - author = {Paul W. Abrahams and Karl Berry and Kathryn A. Hargreaves}, - title = {{\TeX} for the Impatient}, - publisher = {Addison-Wesley}, - year = {1990}, + author = {Paul W. Abrahams and Karl Berry and Kathryn A. Hargreaves}, + title = {{\TeX} for the Impatient}, + publisher = {Addison-Wesley}, + year = 1990, } @incollection{salomon1995advanced, - author = {David Salomon}, - title = {The advanced {\TeX}book}, - address = {New York}, - publisher = {Springer}, - year = {1995}, + author = {David Salomon}, + title = {The advanced {\TeX}book}, + address = {New York}, + publisher = {Springer}, + year = 1995, } diff --git a/macros/latex/contrib/thuthesis/ref/refs.bib b/macros/latex/contrib/thuthesis/ref/refs.bib index f9d99381e7..120569caab 100644 --- a/macros/latex/contrib/thuthesis/ref/refs.bib +++ b/macros/latex/contrib/thuthesis/ref/refs.bib @@ -1,113 +1,113 @@ @book{IEEE-1363, - author = {{IEEE Std 1363-2000}}, - title = {{IEEE} Standard Specifications for Public-Key Cryptography}, - address = {New York}, - publisher = {IEEE}, - year = 2000 + author = {{IEEE Std 1363-2000}}, + title = {{IEEE} Standard Specifications for Public-Key Cryptography}, + address = {New York}, + publisher = {IEEE}, + year = 2000 } @inproceedings{kocher99, - author = {C. Kocher and J. Jaffe and B. Jun}, - title = {Differential Power Analysis}, - editor = {M. Wiener}, - booktitle = {Advances in Cryptology ({CRYPTO}~'99)}, - series = {Lecture Notes in Computer Science}, - volume = 1666, - pages = {388-397}, - publisher = {Springer-Verlag}, - address = {Germany}, - month = {August}, - year = 1999 + author = {C. Kocher and J. Jaffe and B. Jun}, + title = {Differential Power Analysis}, + editor = {M. Wiener}, + booktitle = {Advances in Cryptology ({CRYPTO}~'99)}, + series = {Lecture Notes in Computer Science}, + volume = 1666, + pages = {388-397}, + publisher = {Springer-Verlag}, + address = {Germany}, + month = {August}, + year = 1999 } @incollection{Krasnogor2004e, - author = {N. Krasnogor}, - title = {Towards robust memetic algorithms}, - booktitle = {Recent Advances in Memetic Algorithms}, - publisher = {Springer Berlin Heidelberg}, - year = 2004, - pages = {185-207}, - editor = {W.E. Hart and N. Krasnogor and J.E. Smith}, - volume = 166, - series = {Studies in Fuzziness and Soft Computing}, - address = {New York}, + author = {N. Krasnogor}, + title = {Towards robust memetic algorithms}, + booktitle = {Recent Advances in Memetic Algorithms}, + publisher = {Springer Berlin Heidelberg}, + year = 2004, + pages = {185-207}, + editor = {W.E. Hart and N. Krasnogor and J.E. Smith}, + volume = 166, + series = {Studies in Fuzziness and Soft Computing}, + address = {New York}, } @incollection{zjsw, - author = {班固}, - title = {苏武传}, - booktitle = {传记散文英华}, - publisher = {湖北人民出版社}, - year = 1998, - pages = {65-69}, - editor = {郑在瀛 and 汪超宏 and 周文复}, - volume = 2, - series = {新古文观止丛书}, - address = {武汉}, + author = {班固}, + title = {苏武传}, + booktitle = {传记散文英华}, + publisher = {湖北人民出版社}, + year = 1998, + pages = {65-69}, + editor = {郑在瀛 and 汪超宏 and 周文复}, + volume = 2, + series = {新古文观止丛书}, + address = {武汉}, } @inbook{clzs, - author = {阎真}, - title = {沧浪之水}, - chapter = {大人物还是讲人情的}, - pages = {185-207}, - publisher = {人民文学出版社}, - address = {北京}, - year = 2001, + author = {阎真}, + title = {沧浪之水}, + chapter = {大人物还是讲人情的}, + pages = {185-207}, + publisher = {人民文学出版社}, + address = {北京}, + year = 2001, } @book{tex, - author = "Donald E. Knuth", - title = "The {\TeX}book", - publisher = "Addison-Wesley Publishing Company", - address = "Reading, MA", - year = 1989, - edition = "15th", + author = "Donald E. Knuth", + title = "The {\TeX}book", + publisher = "Addison-Wesley Publishing Company", + address = "Reading, MA", + year = 1989, + edition = "15th", } @book{companion, - author = "Michel Goosens and Frank Mittelbach and Alexander Samarin", - title = "The {\LaTeX} Companion", - publisher = "Addison-Wesley Publishing Company", - address = "Reading, MA", - PAGES = "112--125", - year = 1994, + author = "Michel Goosens and Frank Mittelbach and Alexander Samarin", + title = "The {\LaTeX} Companion", + publisher = "Addison-Wesley Publishing Company", + address = "Reading, MA", + PAGES = "112--125", + year = 1994, } @article{ELIDRISSI94, - author = "{Chafik El Idrissi}, M. and {Roney}, A. and {Frigon}, C. and - {Larzilli{\`e}re}, M.", - title = "Measurements of total kinetic-energy released to the {$N=2$} - dissociation limit of {H}$_2$ --- evidence of the dissociation - of very high vibrational {R}ydberg states of {H}$_2$ by - doubly-excited states", - journal = "Chemical Physics Letters", - pages = "260-266", - volume = 224, - number = 10, - year = 1994, + author = "{Chafik El Idrissi}, M. and {Roney}, A. and {Frigon}, C. + and {Larzilli{\`e}re}, M.", + title = "Measurements of total kinetic-energy released to the + {$N=2$} dissociation limit of {H}$_2$ --- evidence of the + dissociation of very high vibrational {R}ydberg states of + {H}$_2$ by doubly-excited states", + journal = "Chemical Physics Letters", + pages = "260-266", + volume = 224, + number = 10, + year = 1994, } @article{MELLINGER96, - author = "Mellinger, A. and Vidal, C. R. and Jungen, Ch.", - title = "Laser reduced fluorescence study of the carbon-monoxide nd + author = "Mellinger, A. and Vidal, C. R. and Jungen, Ch.", + title = "Laser reduced fluorescence study of the carbon-monoxide nd triplet {R}ydberg series-experimental results and multichannel quantum-defect analysis", - journal = "J. Chem. Phys.", - pages = "8913-8921", - volume = 104, - number = 5, - year = 1996, + journal = "J. Chem. Phys.", + pages = "8913-8921", + volume = 104, + number = 5, + year = 1996, } @article{SHELL02, - author = "Michael Shell", - title = "How to Use the {IEEEtran \LaTeX} Class", - journal = "Journal of {\LaTeX} Class Files", - year = 2002, - volume = 12, - number = 4, - pages = "100--120" + author = "Michael Shell", + title = "How to Use the {IEEEtran \LaTeX} Class", + journal = "Journal of {\LaTeX} Class Files", + year = 2002, + volume = 12, + number = 4, + pages = "100--120" } @TechReport{NPB2, @@ -121,35 +121,35 @@ } @inproceedings{DPMG, - author = {Kim, Sangbum and Woo, Namyoon and Yeom, Heon Y. and Park, + author = {Kim, Sangbum and Woo, Namyoon and Yeom, Heon Y. and Park, Taesoon and Park, Hyoungwoo}, - title = {Design and {I}mplementation of {D}ynamic {P}rocess + title = {Design and {I}mplementation of {D}ynamic {P}rocess {M}anagement for {G}rid-enabled {MPICH}}, - booktitle = {the 10th European PVM/MPI Users' Group Conference}, - editor = {Jack Dongarra and Domenico Laforenza and Salvatore Orlando}, - publisher = {Springer-Verlag}, - year = 2003, - address = {Venice, Italy}, - month = sep, + booktitle = {the 10th European PVM/MPI Users' Group Conference}, + editor = {Jack Dongarra and Domenico Laforenza and Salvatore Orlando}, + publisher = {Springer-Verlag}, + year = 2003, + address = {Venice, Italy}, + month = sep, } @inproceedings{cnproceed, - author = {王重阳 and 黄药师 and 欧阳峰 and 洪七公 and 段皇帝}, - publisher = {金大庸}, - title = {武林高手从入门到精通}, - booktitle = {第~$N$~次华山论剑}, - year = 2006, - address = {西安, 中国}, - month = sep, + author = {王重阳 and 黄药师 and 欧阳峰 and 洪七公 and 段皇帝}, + publisher = {金大庸}, + title = {武林高手从入门到精通}, + booktitle = {第~$N$~次华山论剑}, + year = 2006, + address = {西安, 中国}, + month = sep, } @article{cnarticle, - author = "贾宝玉 and 林黛玉 and 薛宝钗 and 贾探春", - title = "论刘姥姥食量大如牛之现实意义", - journal = "红楼梦杂谈", - pages = "260--266", - volume = 224, - year = 1800, + author = "贾宝玉 and 林黛玉 and 薛宝钗 and 贾探春", + title = "论刘姥姥食量大如牛之现实意义", + journal = "红楼梦杂谈", + pages = "260--266", + volume = 224, + year = 1800, } @mastersthesis{zhubajie, @@ -187,37 +187,36 @@ } @inbook{ColdSources, - author = {P. Gr{\"o}ning and L. Nilsson and P. Ruffieux and R. + author = {P. Gr{\"o}ning and L. Nilsson and P. Ruffieux and R. Clergereaux and O. Gr{\"o}ning}, - title = {Encyclopedia of Nanoscience and Nanotechnology}, - pages = {547--579}, - publisher = {American Scientific Publishers}, - year = 2004, - volume = 1, - address = {USA}, + title = {Encyclopedia of Nanoscience and Nanotechnology}, + pages = {547--579}, + publisher = {American Scientific Publishers}, + year = 2004, + volume = 1, + address = {USA}, } @online{chuban2001, - author = {萧钰}, - title = {出版业信息化迈入快车道}, - date = {2001-12-19}, - urldate = {2002-04-15}, - url = {http://www.creader.com/news/200112190019.htm}, + author = {萧钰}, + title = {出版业信息化迈入快车道}, + date = {2001-12-19}, + urldate = {2002-04-15}, + url = {http://www.creader.com/news/200112190019.htm}, } @online{oclc2000, - author = {{Online Computer Library Center, Inc.}}, - title = {History of {OCLC}}, - year = 2000, - urldate = {2000-01-08}, - url = {http://www.oclc.org/about/history/default.htm}, + author = {{Online Computer Library Center, Inc.}}, + title = {History of {OCLC}}, + year = 2000, + urldate = {2000-01-08}, + url = {http://www.oclc.org/about/history/default.htm}, } - @online{thuthesis, - author = {薛瑞尼}, - title = {ThuThesis: 清华大学学位论文模板}, - urldate = {2019-04-27}, - url = {https://github.com/xueruini/thuthesis}, - year = 2017, + author = {薛瑞尼}, + title = {ThuThesis: 清华大学学位论文模板}, + urldate = {2019-04-27}, + url = {https://github.com/xueruini/thuthesis}, + year = 2017, } diff --git a/macros/latex/contrib/thuthesis/spine.pdf b/macros/latex/contrib/thuthesis/spine.pdf index 714858ee1d..c8f7d1468c 100644 Binary files a/macros/latex/contrib/thuthesis/spine.pdf and b/macros/latex/contrib/thuthesis/spine.pdf differ diff --git a/macros/latex/contrib/thuthesis/thuthesis.dtx b/macros/latex/contrib/thuthesis/thuthesis.dtx index 231655c9da..df09334781 100644 --- a/macros/latex/contrib/thuthesis/thuthesis.dtx +++ b/macros/latex/contrib/thuthesis/thuthesis.dtx @@ -16,7 +16,7 @@ % % \iffalse %<*driver> -\ProvidesFile{thuthesis.dtx}[2020/01/06 6.0.0 Tsinghua University Thesis Template] +\ProvidesFile{thuthesis.dtx}[2020/02/03 6.0.1 Tsinghua University Thesis Template] \documentclass{ltxdoc} \usepackage{dtx-style} @@ -150,6 +150,7 @@ % thuthesis.cls & 模板类文件\\ % thuthesis-numeric.bst & 参考文献样式文件\\ % thuthesis-author-year.bst & 参考文献样式文件\\ +% thuthesis-bachelor.bst & 参考文献样式文件\\ % tsinghua.pdf & 校名 logo,系统无隶书字体时使用 \\\midrule % main.tex & 示例文档主文件\\ % spine.tex & 书脊示例文档\\ @@ -929,7 +930,7 @@ % \begin{macrocode} %\NeedsTeXFormat{LaTeX2e} %\ProvidesClass{thuthesis} -%[2020/01/06 6.0.0 Tsinghua University Thesis Template] +%[2020/02/03 6.0.1 Tsinghua University Thesis Template] % \end{macrocode} % % 检查编译引擎,要求使用 \XeLaTeX。 @@ -945,7 +946,7 @@ %<*cls> \hyphenation{Thu-Thesis} \def\thuthesis{ThuThesis} -\def\version{6.0.0} +\def\version{6.0.1} \RequirePackage{kvdefinekeys} \RequirePackage{kvsetkeys} \RequirePackage{kvoptions} @@ -2071,6 +2072,7 @@ % 正体会到 \TeX{} macro 的力量! % \begin{macrocode} \newcommand\thu@pdfbookmark[2]{} +\newcommand\thu@phantomsection{} \NewDocumentCommand\thu@chapter{s o m o}{ \IfBooleanF{#1}{% \ClassError{thuthesis}{You have to use the star form: \string\thu@chapter*}{} @@ -2080,21 +2082,25 @@ \ifthenelse{\equal{#2}{}}{% \thu@pdfbookmark{0}{#3}% }{% - \addcontentsline{toc}{chapter}{#3} - } + \thu@phantomsection + \addcontentsline{toc}{chapter}{#3}% + }% }{% - \addcontentsline{toc}{chapter}{#3} + \thu@phantomsection + \addcontentsline{toc}{chapter}{#3}% }% - \ifthu@degree@bachelor \ctexset{chapter/beforeskip=25bp} \fi + \ifthu@degree@bachelor\ctexset{chapter/beforeskip=25bp}\fi \chapter*{#3}% - \ifthu@degree@bachelor \ctexset{chapter/beforeskip=15bp} \fi + \ifthu@degree@bachelor\ctexset{chapter/beforeskip=15bp}\fi \IfValueTF{#4}{% - \ifthenelse{\equal{#4}{}} - {\@mkboth{}{}} - {\@mkboth{#4}{#4}} + \ifthenelse{\equal{#4}{}}{% + \@mkboth{}{}% + }{% + \@mkboth{#4}{#4}% + }% }{% - \@mkboth{#3}{#3} - } + \@mkboth{#3}{#3}% + }% } % \end{macrocode} % \end{macro} @@ -3378,6 +3384,7 @@ \thu@atendpackage{hyperref}{ \hypersetup{ linktoc = all, + bookmarksdepth = 2, bookmarksnumbered = true, bookmarksopen = true, bookmarksopenlevel = 1, @@ -3393,6 +3400,9 @@ \stepcounter{thu@bookmark}% \pdfbookmark[#1]{#2}{thuchapter.\thethu@bookmark}% } + \renewcommand\thu@phantomsection{% + \phantomsection + } \pdfstringdefDisableCommands{ \let\\\@empty \let\hspace\@gobble diff --git a/macros/latex/contrib/thuthesis/thuthesis.pdf b/macros/latex/contrib/thuthesis/thuthesis.pdf index 6be654adc5..7e7cf172cc 100644 Binary files a/macros/latex/contrib/thuthesis/thuthesis.pdf and b/macros/latex/contrib/thuthesis/thuthesis.pdf differ diff --git a/macros/latex/required/babel/base/README.md b/macros/latex/required/babel/base/README.md index f312923fba..897bbee2be 100644 --- a/macros/latex/required/babel/base/README.md +++ b/macros/latex/required/babel/base/README.md @@ -1,4 +1,4 @@ -## Babel 3.38 +## Babel 3.39 This package manages culturally-determined typographical (and other) rules, and hyphenation patterns for a wide range of languages. Many @@ -7,22 +7,15 @@ lualatex out of the box. A few even work with plain formats. The latest stable version is available on . -Languages are not part of the Babel core any more; in particular, it -shall be no longer necessary to synchronize Babel core releases with -releases of Babel language files. See CONTRIB for further details -about contributing a language. You may also create an ini file or -improve the existing ones -- it's a trivial task (no programming -skills required at all), but don't hesitate to ask for help. +Changes in version 3.39 are described in: + +https://github.com/latex3/babel/wiki/What's-new-in-babel-3.39 Included is a set of ini files for about 200 languages. The best way to install and/or update it is with the help of package managers. -Changes are described in babel.pdf with the label "New ". The -manual has been expanded to include some tips and tricks, but it will -be improved in next releases. - ### Reporting Bugs If you wish to report a problem or bug in any of these packages please @@ -51,14 +44,27 @@ respective authors. ### Latest changes ``` +3.39 2020-02-03 + - Languages can now be loaded on the fly (via \babelprovide). + - With \babelposthyphenation captured chars can now be mapped in + the replacement (lua). + - \babelcharproperty can be used to assign specific chars to a + locale (lua). + - Fixes: + - Sichuan Yi: line breaking was not activated (lua). + - Hyphenation was not always applied with onchar (lua). + - bidi=basic-l/basic-r where not activated correctly (xe). + - Thai and turkish raised and error without import in + \babelprovide. + - Cleaned up some ini/tex locale files (de, zh, sa). + 3.38 2020-01-15 - Automatic switching of ids (\language and \localeid), and fonts - based on script blocks (lua).s + based on script blocks (lua). - New macro - \localeinfo, to access the basic data in the ini file loaded by languages. See https://github.com/latex3/babel/wiki/What's-new-in-babel-3.38 - - + 3.37 2019-12-08 - Preliminary code for non-standard hyphenation, like ff -> ff-f (lua). diff --git a/macros/latex/required/babel/base/babel.dtx b/macros/latex/required/babel/base/babel.dtx index 0d4360f493..d0a6314f27 100644 --- a/macros/latex/required/babel/base/babel.dtx +++ b/macros/latex/required/babel/base/babel.dtx @@ -1,7 +1,7 @@ % \iffalse % This document requires lualatex %% -%% Copyright (C) 2012-2019 Javier Bezos and Johannes L. Braams. +%% Copyright (C) 2012-2020 Javier Bezos and Johannes L. Braams. %% Copyright (C) 1989-2012 Johannes L. Braams and %% any individual authors listed elsewhere in this file. %% All rights reserved. @@ -31,7 +31,7 @@ % % \iffalse %<*filedriver> -\ProvidesFile{babel.dtx}[2020/01/15 v3.38 The Babel package] +\ProvidesFile{babel.dtx}[2020/02/03 v3.39 The Babel package] \documentclass{ltxdoc} \GetFileInfo{babel.dtx} \usepackage{fontspec} @@ -235,21 +235,25 @@ Xe\largetex \part{User guide} \begin{itemize} -\item This user guide focuses on \LaTeX. There are also some notes on - its use with Plain \TeX. +\item This user guide focuses on internationalization and localization + with \LaTeX. There are also some notes on its use with Plain \TeX. \item Changes and new features with relation to version 3.8 are - highlighted with \New{X.XX}\hspace{-.5em}. The most recent features + highlighted with \New{X.XX}\hspace{-.5em}, and there are some notes + for the latest versions in + \href{https://github.com/latex3/babel/wiki}{the \babel{} wiki}. + The most recent features could be still unstable. Please, report any issues you find in - \texttt{https://github.com/latex3/babel/issues}, which is better + \href{https://github.com/latex3/babel/issues}{GitHub}, which is better than just complaining on an e-mail list or a web forum. \item If you are interested in the \TeX{} multilingual support, please - join the \textsf{kadingira} list on - \texttt{http://tug.org/mailman/listinfo/kadingira}. You can follow + join the \href{http://tug.org/mailman/listinfo/kadingira}{kadingira + mail list}. You can follow the development of \babel{} in - \texttt{https://github.com/latex3/babel} (which provides some sample - files, too). + \href{https://github.com/latex3/babel}{GitHub} (which provides many + \href{https://github.com/latex3/babel/tree/master/samples}{sample + files}, too). \item See section \ref{contribute} for contributing a language. @@ -492,6 +496,40 @@ _\usepackage[vietnamese,danish]{babel}_ \end{verbatim} \end{example} +\subsection{Mostly monolingual documents} + +\New{3.39} Very often, multilingual documents consist of a main +language with small pieces of text in another languages (words, idioms, +short sentences). Typically, all you need is to set the line breaking +rules and, perhaps, the font. In such a case, \babel{} now does not +require declaring these secondary languages explicitly, because the +basic settings are loaded on the fly when the language is selected (and +also when provided in the optional argument of |\babelfont|, if used.) + +This is particularly useful, too, when there are short texts of this +kind coming from an external source whose contents are not known on +beforehand (for example, titles in a bibliography). At this regard, it +is worth remembering that |\babelfont| does not load any font until +required, so that it can be used just in case. + +\begin{example} + A trivial document is: +\setengine{luatex/xetex} +\begin{verbatim} +\documentclass{article} +\usepackage[english]{babel} + +\babelfont[russian]{rm}{FreeSerif} + +\begin{document} + +English. \foreignlanguage{russian}{Русский}. +\foreignlanguage{spanish}{Español} + +\end{document} +\end{verbatim} +\end{example} + \subsection{Modifiers} \New{3.9c} The basic behavior of some languages can be modified when @@ -541,6 +579,7 @@ modifiers are a more general mechanism. cases, the error vanishes when the document is typeset again, but in more severe ones you will need to remove the |aux| file. \end{itemize} + \subsection{Plain} In Plain, load languages styles with |\input| and then use @@ -1188,9 +1227,17 @@ be the same as the option name as set in |\usepackage|!). \subsection{\texttt{ini} files} -An alternative approach to define a language is by means of an -\texttt{ini} file. Currently \babel{} provides about 200 of these -files containing the basic data required for a language. +An alternative approach to define a language (or, more precisely, a +\textit{locale}) is by means of an \texttt{ini} file. Currently +\babel{} provides about 200 of these files containing the basic data +required for a locale. + +|ini| files are not meant only for \babel, and they has been devised as +a resource for other packages. To easy interoperability between \TeX{} +and other systems, they are identified with the BCP 47 codes as +preferred by the Unicode Common Language Data Repository, which was +used as source for most of the data provided by these files, too (the +main exception being the |\...name| strings). Most of them set the date, and many also the captions (Unicode and LICR). They will be evolving with the time to add more features @@ -1280,6 +1327,19 @@ loads \textsf{luatexja}: \end{description} \end{note} +\begin{note} + Wikipedia defines a \textit{locale} as follows: “In computing, a + locale is a set of parameters that defines the user’s language, + region and any special variant preferences that the user wants to see + in their user interface. Usually a locale identifier consists of at + least a language code and a country/region code.” \Babel{} is moving + gradually from the old and fuzzy concept of \textit{language} to the + more modern of \textit{locale}. Note each locale is by itself a + separate “language”, which explains why there are so many files. This + is on purpose, so that possible variants can be created and/or + redefined easily. +\end{note} + Here is the list (u means Unicode captions, and l means LICR captions): @@ -1891,6 +1951,26 @@ zulu \endgroup \hrule +\bigskip + +\textbf{Modifying and adding values to |ini| files} + +\New{3.39} There is a way to modify the values of |ini| files when they +get loaded with |\babelprovide| and |import|. To set, say, +|digits.native| in the |numbers| section, use something like +|numbers/digits.native=abcdefghij|. Keys may be added, too. Without +|import| you may modify the identification keys. + +This can be used to create private variants easily. All you need is to +import the same |ini| file with a different locale name and different +parameters. + +% \begin{example} +% Let's assume you need only the basic features of `spanish`, so that +% the |ini| file is enough, and also a variant with your own +% hyphenation with +% \end{example} + \subsection{Selecting fonts} \New{3.15} Babel provides a high level interface on top of |fontspec| @@ -1988,22 +2068,18 @@ to select fonts in addition to the three basic families. \babelfont[hindi]{rm}{Shobhika} \end{verbatim} This makes sure the OpenType script for Devanagari is |deva| and not - |dev2| (\luatex{} does not detect automatically the correct - script\footnote{And even with the correct code some fonts could be - rendered incorrectly by \textsf{fontspec}, so double-check the - results. \xetex{} fares better, but some fonts are still - problematic.}). You may also pass some options to \textsf{fontspec}: - with |silent|, the warnings about unavailable scripts or languages - are not shown (they are only really useful when the document format - is being set up). + |dev2|, in case it is not detected correctly. You may also pass some + options to \textsf{fontspec}: with |silent|, the warnings about + unavailable scripts or languages are not shown (they are only really + useful when the document format is being set up). \end{note} \begin{note} Directionality is a property affecting margins, indentation, column - order, etc., not just text. Therefore, it is under the direct - control of the language, which applies both the script and the - direction to the text. As a consequence, there is no need to set - \texttt{Script} when declaring a font (nor \texttt{Language}). In + order, etc., not just text. Therefore, it is under the direct control + of the language, which applies both the script and the direction to + the text. As a consequence, there is no need to set \texttt{Script} + when declaring a font with |\babelfont| (nor \texttt{Language}). In fact, it is even discouraged. \end{note} @@ -2012,10 +2088,10 @@ to select fonts in addition to the three basic families. (|rm|, |sf|, |tt|, and the like). If a language is switched when an \textit{ad hoc} font is active, or you select the font with this command, neither the script nor the language is passed. You must - add them by hand. This is by design, for several reasons (for + add them by hand. This is by design, for several reasons —for example, each font has its own set of features and a generic setting for several of them could be problematic, and also a “lower-level” - font selection is useful). + font selection is useful. \end{note} \begin{note} @@ -2028,53 +2104,45 @@ to select fonts in addition to the three basic families. \end{note} \begin{warning} - Do not use |\set|\textit{xxxx}|font| and |\babelfont| at the same - time. |\babelfont| follows the standard \LaTeX{} conventions to set - the basic families -- define |\|\textit{xx}|default|, and activate - it with |\|\textit{xx}|family|. On the other hand, - |\set|\textit{xxxx}|font| in \textsf{fontspec} takes a different - approach, because |\|\textit{xx}|family| is redefined with the - family name hardcoded (so that |\|\textit{xx}|default| becomes - no-op). Of course, both methods are incompatible, and if you use - |\set|\textit{xxxx}|font|, font switching with |\babelfont| just - does \textit{not} work (nor the standard |\|\textit{xx}|default|, - for that matter). As of \New{3.34} there is an attempt to make them - compatible, but the language system will not be set by \babel and - should be set with |fontspec| if necessary. + Using |\set|\textit{xxxx}|font| and |\babelfont| at the same time is + discouraged, but very often works as expected. However, be aware with + |\set|\textit{xxxx}|font| the language system will not be set by + \babel{} and should be set with |fontspec| if necessary. \end{warning} \begin{troubleshooting} -\trouble{Package fontspec Warning: 'Language 'LANG' not available for -font 'FONT' with script 'SCRIPT' 'Default' language used instead'} -\textit{Package fontspec Warning: 'Language 'LANG' not available for -font 'FONT' with script 'SCRIPT' 'Default' language used instead'}. -\textbf{This is \textit{not} and error.} -This warning is shown by \textsf{fontspec}, not by \babel. It could be -irrelevant for English, but not for many other languages, including -Urdu and Turkish. This is a useful and harmless warning, and if -everything is fine with your document the best thing you can do is just -to ignore it altogether. + \trouble{Package fontspec Warning: 'Language 'LANG' not available for + font 'FONT' with script 'SCRIPT' 'Default' language used instead'} + \textit{Package fontspec Warning: 'Language 'LANG' not available for + font 'FONT' with script 'SCRIPT' 'Default' language used instead'}. + + \textbf{This is \textit{not} and error.} This warning is shown by + \textsf{fontspec}, not by \babel. It could be irrelevant for English, + but not for many other languages, including Urdu and Turkish. This is + a useful and harmless warning, and if everything is fine with your + document the best thing you can do is just to ignore it altogether. \end{troubleshooting} \begin{troubleshooting} -\trouble{Package babel Info: The following fonts are not babel standard families} -\textit{Package babel Info: The following fonts are not babel -standard families}. - -\textbf{This is \textit{not} and error.} \babel{} assumes that if you -are using |\babelfont| for a family, very likely you want to define the -rest of them. If you don't, you can find some inconsistencies between -families. This checking is done at the beginning of the document, at a -point where we cannot know which families will be used. - -Actually, there is no real need to use |\babelfont| in a monolingual -document, if you set the language system in |\setmainfont| (or not, -depending on what you want). - -As the message explains, \textit{there is nothing intrinsically wrong} -with not defining all the families. In fact, there is nothing -intrinsically wrong with not using |\babelfont| at all. But you must be -aware that this may lead to some problems. + \trouble{Package babel Info: The following fonts are not babel + standard families} \textit{Package babel Info: The following fonts + are not babel standard families}. + + \textbf{This is \textit{not} and error.} \babel{} assumes that if you + are using |\babelfont| for a family, very likely you want to define + the rest of them. If you don't, you can find some inconsistencies + between families. This checking is done at the beginning of the + document, at a point where we cannot know which families will be + used. + + Actually, there is no real need to use |\babelfont| in a monolingual + document, if you set the language system in |\setmainfont| (or not, + depending on what you want). + + As the message explains, \textit{there is nothing intrinsically + wrong} with not defining all the families. In fact, there is nothing + intrinsically wrong with not using |\babelfont| at all. But you must + be aware that this may lead to some problems. \end{troubleshooting} \subsection{Modifying a language} @@ -2090,7 +2158,7 @@ sometimes necessary, but not always trivial. } \end{verbatim} As of 3.15, there is no need to hide spaces with \texttt{\%% -} (\babel{} removes them), but it is advisable to do it. +} (\babel{} removes them), but it is advisable to do so. \item The new way, which is found in |bulgarian|, |azerbaijani|, |spanish|, |french|, |turkish|, |icelandic|, |vietnamese| and a few more, as well as in languages created with |\babelprovide| and its @@ -2177,6 +2245,17 @@ In most cases, you will only need to define a few macros. \end{verbatim} \end{example} +\begin{example} + Locales with names based on BCP 47 codes can be created with + something like: +\begin{verbatim} + \babelprovide[import=en-US]{enUS} +\end{verbatim} + Note, however, mixing ways to identify locales can lead to problems. + For example, is \verb|yi| the name of the language spoken by the Yi + people or is it the code for Yiddish? +\end{example} + The main language is not changed (\texttt{danish} in this example). So, you must add |\selectlanguage{arhinish}| or other selectors where necessary. @@ -2206,8 +2285,7 @@ There are about 200 |ini| files, with data taken from the |ldf| files and the CLDR provided by Unicode. Not all languages in the latter are complete, and therefore neither are the |ini| files. A few languages will show a warning about the current lack of suitability of the date -format (\textsf{hindi}, \textsf{french}, \textsf{breton}, and -\textsf{occitan}). +format (\textsf{french}, \textsf{breton}, and \textsf{occitan}). Besides |\today|, this option defines an additional command for dates: |\date|, which takes three arguments, namely, year, month and @@ -2267,23 +2345,25 @@ the script, no matter which language is active. Although somewhat inconsistent, this makes setting a language up easier in most typical cases. +\Describe{onchar=}{\texttt{ids} $\string|$ \texttt{fonts}} +\New{3.38} This option is much like an ‘event’ called with a character +belonging to the script of this locale is found. There are currently +two ‘actions’, which can be used at the same time (separated by a +space): with |ids| the |\language| and the |\localeid| are set to the +values of this locale; with |fonts|, the fonts are changed to those of +the this locale (as set with |\babelfont|). This option is not +compatible with |mapfont|. Characters can be added with +|\babelcharproperty|. + \Describe{mapfont=}{\texttt{direction}} Assigns the font for the writing direction of this language (only with -|bidi=basic|). More precisely, what |mapfont=direction| means is, ‘when -a character has the same direction as the script for the “provided” -language, then change its font to that set for this language’. There -are 3 directions, following the bidi Unicode algorithm, namely, -Arabic-like, Hebrew-like and left to right. So, there should be at most -3 directives of this kind. - -\Describe{onchar=}{\texttt{ids} $\string|$ \texttt{fonts}} -\New{3.38} This options is much like an ‘event’ called with a character -belonging to the script of the current locale is found. There are two -action, which can be used at the same time (separated by a space): with -|ids| the |\language| and the |\localeid| are set to the values of this -locale; with |fonts|, the fonts are changed to those of the current -locale (as set with |\babelfont|). This option is not compatible with -|mapfont|. +|bidi=basic|). Whenever possible, instead of this option use |onchar|, +based on the script, which usually makes more sense. More precisely, +what |mapfont=direction| means is, ‘when a character has the same +direction as the script for the “provided” language, then change its +font to that set for this language’. There are 3 directions, following +the bidi Unicode algorithm, namely, Arabic-like, Hebrew-like and left +to right. So, there should be at most 3 directives of this kind. \Describe{intraspace=}{\meta{base} \meta{shrink} \meta{stretch}} Sets the interword space for the writing system of the language, in em @@ -2393,6 +2473,12 @@ conditions are not met, write |\BabelEnsureInfo|. \subsection{Hyphenation and line breaking} +\Babel{} deals with three kinds of line breaking rules: Western, +typically the LGC group, South East Asian, like Thai, and CJK, but +support depends on the engine: \textsf{pdftex} only deals with the +former, \xetex{} also with the second one, while \luatex{} provides +basic rules for the latter, too. + \Describe{\babelhyphen}{% \colorbox{thegrey}{\ttfamily\hskip-.2em*\hskip-.2em}\marg{type}} \DescribeOther\babelhyphen{% @@ -2515,6 +2601,55 @@ Unicode engines, spacing is based on the ``current'' em unit (the size of the previous char in \luatex, and the font size set by the last |\selectfont| in \xetex). +\Describe{\babelposthyphenation}{\marg{hyphenrules-name}% + \marg{lua-pattern}\marg{replacement}} + +\New{3.37-3.39} With \luatex{} it is now possible to define +non-standard hyphenation rules, like |f-f| $\to$ |ff-f|, repeated +hyphens, ranked ruled (or more precisely, ‘penalized’ hyphenation +points), and so on. No rules are currently provided by default, but +they can be defined as shown in the following example, where |{1}| is +the first captured char (between |()| in the pattern): +\begin{verbatim} +\babelposthyphenation{german}{([fmtrp]) | {1}} +{ + { no = {1}, pre = {1}{1}- }, % Replace first char with disc + remove, % Remove automatic disc (2nd node) + {} % Keep last char, untouched +} +\end{verbatim} + +In the replacements, a captured char may be mapped to another, too. For +example, if the first capture reads |([ΐΰ])|, the replacement could be +\verb+{1|ΐΰ|ίύ}+, which maps \textit{ΐ} to \textit{ί}, and \textit{ΰ} +to \textit{ύ}, so that the diaeresis is removed. + +This feature is activated with the first |\babelposthyphenation|. + +See the \href{https://github.com/latex3/babel/wiki}{\babel\ wiki} for a +more detailed description and some examples. It also describes an +additional replacement type with the key |string|. + +\begin{example} + Although the main purpose of this command is non-standard + hyphenation, it may actually be used for other transformations (after + hyphenation is applied, so you must take discretionaries into + account). For example, you can use the |string| replacement to + replace a character (or series of them) by another character (or + series of them). Thus, to enter \textit{ž} as |zh| and \textit{š} as + |sh| in a newly created locale for transliterated Russian: +\begin{verbatim} +\babelprovide[hyphenrules=+]{russian-latin} % Create locale +\babelposthyphenation{russian-latin}{([sz])h} % Create rule +{ + { string = {1|sz|šž} }, + remove +} +\end{verbatim} + In other words, it is a quite general tool. (A counterpart + |\babelprehyphenation| is on the way.) +\end{example} + \subsection{Selecting scripts} Currently \babel{} provides no standard interface to select @@ -2589,6 +2724,14 @@ differ in the way `weak' numeric characters are ordered (eg, Arabic options described below). \end{warning} +\begin{warning} + If characters to be mirrored are shown without changes with \luatex, + try with the following line: +\begin{verbatim} +\babeladjust{bidi.mirroring=off} +\end{verbatim} +\end{warning} + There are some package options controlling bidi writing. \Describe{bidi=}{\texttt{default} $\string|$ \texttt{basic} @@ -2612,20 +2755,13 @@ consider the intrinsic direction of scripts and weak directionality.) tentative, but it mostly works. For RL documents use the former, and for LR ones use the latter. -\New{3.37} There is some experimental support for \textsf{luahbtex} -(with |lualatex-dev|) and the latest releases of \textsf{luaotfload} -(3.11), with |Renderer = Harfbuzz| in \textsf{fontspec}. Since it is -based on \luatex, the option |basic| mostly works (You may need -deactivate the |rtlm| or the |rtla| font features, or alternatively -deactive mirroring in \babel{} with |\babeladjust|.) - There are samples on GitHub, under \texttt{/required/babel/samples}. See particularly |lua-bidibasic.tex| and |lua-secenum.tex|. \begin{example} The following text comes from the Arabic Wikipedia (article about Arabia). Copy-pasting some text from the Wikipedia is a good way to - test this feature. Remember |basic-r| is available in \luatex{} + test this feature. Remember |basic| is available in \luatex{} only. \begingroup % If you are looking at the code to see how it has been written, you @@ -2638,7 +2774,7 @@ See particularly |lua-bidibasic.tex| and |lua-secenum.tex|. \begin{verbatim} \documentclass{article} -\usepackage[_bidi=basic-r_]{babel} +\usepackage[_bidi=basic_]{babel} _\babelprovide[import, main]{arabic}_ @@ -2676,7 +2812,7 @@ _\babelprovide[import, main]{arabic}_ \usepackage[english, _bidi=basic_]{babel} -\babelprovide[_mapfont=direction_]{arabic} +\babelprovide[_onchar=ids fonts_]{arabic} \babelfont{rm}{Crimson} \babelfont[*arabic]{rm}{FreeSerif} @@ -2691,7 +2827,7 @@ Arabic as @1فصحى العصر@0 \textit{fuṣḥā l-ʻaṣr} (MSA) and \end{document} \end{verbatim} \endgroup - In this example, and thanks to |mapfont=direction|, any Arabic letter + In this example, and thanks to |onchar=ids fonts|, any Arabic letter (because the language is |arabic|) changes its font to that set for this language (here defined via |*arabic|, because Crimson does not provide Arabic letters). @@ -2892,6 +3028,7 @@ command is available always in bidi documents, even without \subsection{Language attributes} \DescribeMacro{\languageattribute} + This is a user-level command, to be used in the preamble of a document (after |\usepackage[...]{babel}|), that declares which attributes are to be used for a given language. It takes two @@ -3088,12 +3225,14 @@ tables, which you can modify with the following macro (for example, to set them for glyphs in the PUA). \Describe{\babelcharproperty}{\marg{char-code}\oarg{to-char-code}% - \marg{propertry}\marg{value}} + \marg{property}\marg{value}} \New{3.32} Here, \marg{char-code} is a number (with \TeX{} syntax). With the optional argument, you can set a range of values. There are three properties (with a short name, taken from Unicode): |direction| -(|bc|), |mirror| (|bmg|), |linebreak| (|lb|). The settings are global. +(|bc|), |mirror| (|bmg|), |linebreak| (|lb|). The settings are global, +and this command is allowed only in vertical mode (the preamble or +between paragraphs). For example: \begin{verbatim} @@ -3102,8 +3241,12 @@ For example: \babelcharproperty{`)}{linebreak}{cl} % or id, op, cl, ns, ex, in, hy \end{verbatim} -This command is allowed only in vertical mode (the preamble or between -paragraphs). +\New{3.39} Another property is |locale|, which adds characters to the +list used by |onchar| in |\babelprovide|, or, if the last argument is +empty, removes them. The last argument is the locale name: +\begin{verbatim} +\babelcharproperty{`,}{locale}{english} +\end{verbatim} \subsection{Tweaking some features} @@ -3242,41 +3385,6 @@ for a small example (|xe-bidi|). See the code section for |\foreignlanguage*| (a new starred version of |\foreignlanguage|). -\medskip -\textbf{Modifying, and adding, values of |ini| files} - -\New{3.37} There is a way to modify the values of |ini| files when they -get loaded with |\babelprovide|. To set, say, |digits.native| in the -|numbers| section, use something like -|numbers..digits.native=abcdefghij| (note the double dot between the -section and the key name). New keys may be added, too. - -\medskip -\textbf{Non-standard hyphenation} - -\New{3.37} With \luatex{} it is now possible to define non-standard -hyohenation rules, like |f-f| $\to$ |ff-f|. No rules are currently -provided by default, but they can be defined as shown in the following -example: -\begin{verbatim} -\babelposthyphenation{ngerman}{([fmtrp]) | {1}} -{ - { no = {1}, pre = {1}{1}-}, % Replace first char with disc - remove, % Remove automatic disc - {} % Keep last char, untouched -} -\end{verbatim} - -This feature must be explicitly activated with: -\begin{verbatim} -\babeladjust{ hyphenation.extra = on } -\end{verbatim} - -See the \babel{} wiki for a more detailed description and some examples: -\begin{verbatim} -https://github.com/latex3/babel/wiki -\end{verbatim} - \medskip \textbf{Old and deprecated stuff} @@ -4222,8 +4330,8 @@ help from Bernd Raichle, for which I am grateful. % \section{Tools} % % \begin{macrocode} -%<> -%<> +%<> +%<> % \end{macrocode} % % \textbf{Do not use the following macros in \texttt{ldf} files. They @@ -4715,7 +4823,6 @@ help from Bernd Raichle, for which I am grateful. % % \changes{babel~3.30}{2019/04/22}{Callbacks aren't specific to % bidi any more, so they are moved.} -% \changes{babel~3.32}{2019/05/30}{Consider Harf.} % % \begin{macrocode} \ifx\bbl@languages\@undefined\else @@ -4737,8 +4844,6 @@ help from Bernd Raichle, for which I am grateful. \bbl@languages \fi \ifodd\bbl@engine - % Harftex is evolving, so the callback is not harcoded, just in case - \def\bbl@harfpreline{Harf pre_linebreak_filter callback}% \def\bbl@activate@preotf{% \let\bbl@activate@preotf\relax % only once \directlua{ @@ -4768,23 +4873,14 @@ help from Bernd Raichle, for which I am grateful. Babel.pre_otfload_v, 'Babel.pre_otfload_v', luatexbase.priority_in_callback('pre_linebreak_filter', - '\bbl@harfpreline') - or luatexbase.priority_in_callback('pre_linebreak_filter', - 'luaotfload.node_processor') - or nil) + 'luaotfload.node_processor') or nil) % luatexbase.add_to_callback('hpack_filter', Babel.pre_otfload_h, 'Babel.pre_otfload_h', luatexbase.priority_in_callback('hpack_filter', - '\bbl@harfpreline') - or luatexbase.priority_in_callback('hpack_filter', - 'luaotfload.node_processor') - or nil) - }% - \@ifpackageloaded{harfload}% - {\directlua{ Babel.mirroring_enabled = false }}% - {}} + 'luaotfload.node_processor') or nil) + }} \let\bbl@tempa\relax \@ifpackagewith{babel}{bidi=basic}% {\def\bbl@tempa{basic}}% @@ -6771,20 +6867,8 @@ help from Bernd Raichle, for which I am grateful. \ifx\bbl@known@attribs\@undefined \in@false \else -% \end{macrocode} -% -% Now we need to see if the attribute occurs in the list of -% already selected attributes. -% -% \begin{macrocode} \bbl@xin@{,\bbl@tempc-##1,}{,\bbl@known@attribs,}% \fi -% \end{macrocode} -% -% When the attribute was in the list we issue a warning; this might -% not be the users intention. -% -% \begin{macrocode} \ifin@ \bbl@warning{% You have more than once selected the attribute '##1'\\% @@ -7349,6 +7433,7 @@ help from Bernd Raichle, for which I am grateful. \edef\bbl@L{\zap@space#1 \@empty}% \edef\bbl@G{\zap@space#2 \@empty}% \bbl@startcmds@ii} +\let\bbl@startcommands\StartBabelCommands % \end{macrocode} % % Parse the encoding info to get the label, input, and font parts. @@ -7474,6 +7559,7 @@ help from Bernd Raichle, for which I am grateful. \endgroup \endgroup \bbl@scafter} +\let\bbl@endcommands\EndBabelCommands % \end{macrocode} % % Now we define commands to be used inside |\StartBabelCommands|. @@ -7602,7 +7688,7 @@ help from Bernd Raichle, for which I am grateful. \newcommand\SetHyphenMap[1]{% \bbl@forlang\bbl@tempa{% \expandafter\bbl@stringdef - \csname\bbl@tempa @bbl@hyphenmap\endcsname{##1}}} + \csname\bbl@tempa @bbl@hyphenmap\endcsname{##1}}}% %<> % \end{macrocode} % @@ -8213,7 +8299,7 @@ help from Bernd Raichle, for which I am grateful. \let\bbl@savelangname\languagename \edef\bbl@savelocaleid{\the\localeid}% % Set name and locale id - \def\languagename{#2}% + \edef\languagename{#2}% % \global\@namedef{bbl@lcname@#2}{#2}% \bbl@id@assign \let\bbl@KVP@captions\@nil @@ -8230,7 +8316,7 @@ help from Bernd Raichle, for which I am grateful. \let\bbl@KVP@onchar\@nil \let\bbl@KVP@chargroups\@nil \bbl@forkv{#1}{% TODO - error handling - \in@{..}{##1}% + \in@{/}{##1}% \ifin@ \bbl@renewinikey##1\@@{##2}% \else @@ -8279,8 +8365,10 @@ help from Bernd Raichle, for which I am grateful. \bbl@read@ini{##1}{basic data}% \bbl@exportkey{chrng}{characters.ranges}{}% \bbl@exportkey{dgnat}{numbers.digits.native}{}% + \bbl@exportkey{lnbrk}{typography.linebreaking}{h}% \bbl@exportkey{hyphr}{typography.hyphenrules}{}% \bbl@exportkey{intsp}{typography.intraspace}{}% + \endinput \endgroup}% boxed, to avoid extra spaces: {\setbox\z@\hbox{\InputIfFileExists{babel-#2.tex}{}{}}}}% {}% @@ -8301,10 +8389,15 @@ help from Bernd Raichle, for which I am grateful. Babel.locale_mapped = true Babel.linebreaking.add_before(Babel.locale_map) Babel.loc_to_scr = {} - Babel.chr_to_loc = {} + Babel.chr_to_loc = Babel.chr_to_loc or {} end}% \bbl@xin@{ ids }{ \bbl@KVP@onchar\space}% \ifin@ + \ifx\bbl@starthyphens\@undefined % Needed if no explicit selection + \AddBabelHook{babel-onchar}{beforestart}{{\bbl@starthyphens}}% + \fi + \bbl@exp{\\\bbl@add\\\bbl@starthyphens + {\\\bbl@patterns@lua{\languagename}}}% % TODO - error/warning if no script \directlua{ if Babel.script_blocks['\bbl@cs{sbcp@\languagename}'] then @@ -8323,7 +8416,7 @@ help from Bernd Raichle, for which I am grateful. if Babel.script_blocks['\bbl@cs{sbcp@\languagename}'] then Babel.loc_to_scr[\the\localeid] = Babel.script_blocks['\bbl@cs{sbcp@\languagename}'] - end} + end}% \ifx\bbl@mapselect\@undefined \AtBeginDocument{% \expandafter\bbl@add\csname selectfont \endcsname{{\bbl@mapselect}}% @@ -8343,9 +8436,6 @@ help from Bernd Raichle, for which I am grateful. \fi % TODO - catch non-valid values \fi -% \ifx\bbl@KVP@chargroups\@nil\else -% \bbl@chargroups -% \fi % == mapfont == % For bidi texts, to switch the font based on direction \ifx\bbl@KVP@mapfont\@nil\else @@ -8430,7 +8520,7 @@ help from Bernd Raichle, for which I am grateful. return head end end - }} + }}% \fi \fi % == require.babel in ini == @@ -8497,7 +8587,7 @@ help from Bernd Raichle, for which I am grateful. \@namedef{date#1}{}% marks lang exists - required by \StartBabelCommands \@namedef{extras#1}{}% \@namedef{noextras#1}{}% - \StartBabelCommands*{#1}{captions}% + \bbl@startcommands*{#1}{captions}% \ifx\bbl@KVP@captions\@nil % and also if import, implicit \def\bbl@tempb##1{% elt for \bbl@captionslist \ifx##1\@empty\else @@ -8520,7 +8610,7 @@ help from Bernd Raichle, for which I am grateful. \bbl@savetoday \bbl@savedate \fi - \EndBabelCommands + \bbl@endcommands \bbl@exp{% \def\<#1hyphenmins>{% {\bbl@ifunset{bbl@lfthm@#1}{2}{\@nameuse{bbl@lfthm@#1}}}% @@ -8620,7 +8710,7 @@ help from Bernd Raichle, for which I am grateful. \def\bbl@inipreread##1=##2\@@{% \bbl@trim@def\bbl@tempa{##1}% Redundant below !! % Move trims here ?? - \bbl@ifunset{bbl@KVP@\bbl@section..\bbl@tempa}% + \bbl@ifunset{bbl@KVP@\bbl@section/\bbl@tempa}% {\expandafter\bbl@inireader\bbl@tempa=##2\@@}% {}}% \let\bbl@inireader\bbl@iniskip @@ -8643,6 +8733,7 @@ help from Bernd Raichle, for which I am grateful. \@nameuse{bbl@renew@\bbl@section}% \global\bbl@csarg\let{renew@\bbl@section}\relax \@nameuse{bbl@secpost@\bbl@section}% +% \bbl@csarg\bbl@toglobal{inikeys@\languagename}% \fi} \def\bbl@iniline#1\bbl@iniline{% \@ifnextchar[\bbl@inisec{\@ifnextchar;\bbl@iniskip\bbl@inipreread}#1\@@}% ] @@ -8665,14 +8756,14 @@ help from Bernd Raichle, for which I am grateful. \@nameuse{bbl@secpost@\bbl@section}% ends previous section \def\bbl@section{#1}% starts current section \def\bbl@elt##1##2{% - \@namedef{bbl@KVP@#1..##1}{}}% + \@namedef{bbl@KVP@#1/##1}{}}% \@nameuse{bbl@renew@#1}% \@nameuse{bbl@secpre@#1}% pre-section `hook' \bbl@ifunset{bbl@inikv@#1}% {\let\bbl@inireader\bbl@iniskip}% {\bbl@exp{\let\\\bbl@inireader\}}} \let\bbl@renewlist\@empty -\def\bbl@renewinikey#1..#2\@@#3{% +\def\bbl@renewinikey#1/#2\@@#3{% \bbl@ifunset{bbl@renew@#1}% {\bbl@add@list\bbl@renewlist{#1}}% {}% @@ -8732,6 +8823,7 @@ help from Bernd Raichle, for which I am grateful. \bbl@exportkey{lfthm}{typography.lefthyphenmin}{2}% \bbl@exportkey{rgthm}{typography.righthyphenmin}{3}% \bbl@exportkey{prehc}{typography.prehyphenchar}{}% + \bbl@exportkey{lnbrk}{typography.linebreaking}{h}% \bbl@exportkey{hyphr}{typography.hyphenrules}{}% \bbl@exportkey{intsp}{typography.intraspace}{}% \bbl@exportkey{jstfy}{typography.justify}{w}% @@ -9016,9 +9108,7 @@ help from Bernd Raichle, for which I am grateful. \@namedef{bbl@ADJ@layout.lists@on}{% \bbl@adjust@layout{\let\list\bbl@OL@list}} \@namedef{bbl@ADJ@hyphenation.extra@on}{% - \directlua{ - Babel.linebreaking.add_after(Babel.post_hyphenate_replace) - }} + \bbl@activateposthyphen} % \end{macrocode} % % \section{The kernel of Babel (\texttt{babel.def} for \LaTeX only)} @@ -9851,11 +9941,7 @@ help from Bernd Raichle, for which I am grateful. % and so on, but bidi text does not work out of the box and some % development is necessary. It also provides tools to properly % set left-to-right and right-to-left page layouts. As Lua\TeX-ja -% shows, vertical typesetting is possible, too. Its main drawback -% is font handling is often considered to be less mature than -% \xetex{}, mainly in Indic scripts (but there are steps to make -% HarfBuzz, the \xetex{} font engine, available in \luatex{}; see -% ). +% shows, vertical typesetting is possible, too. % \end{itemize} % % \changes{babel~3.15}{2017/10/30}{Use an attribute instead of tex language @@ -10014,18 +10100,20 @@ help from Bernd Raichle, for which I am grateful. \newtoks\everypar \everypar=\bbl@severypar \bbl@severypar{\bbl@xeeverypar\the\everypar}} - \@ifpackagewith{babel}{bidi=bidi}% - {\let\bbl@textdir@i\@gobbletwo - \let\bbl@xebidipar\@empty - \AddBabelHook{bidi}{foreign}{% - \def\bbl@tempa{\def\BabelText####1}% - \ifcase\bbl@thetextdir - \expandafter\bbl@tempa\expandafter{\BabelText{\LR{##1}}}% - \else - \expandafter\bbl@tempa\expandafter{\BabelText{\RL{##1}}}% - \fi} - \def\bbl@pardir#1{\ifcase#1\relax\setLR\else\setRL\fi}} - {}% + \def\bbl@tempb{% + \let\bbl@textdir@i\@gobbletwo + \let\bbl@xebidipar\@empty + \AddBabelHook{bidi}{foreign}{% + \def\bbl@tempa{\def\BabelText########1}% + \ifcase\bbl@thetextdir + \expandafter\bbl@tempa\expandafter{\BabelText{\LR{####1}}}% + \else + \expandafter\bbl@tempa\expandafter{\BabelText{\RL{####1}}}% + \fi} + \def\bbl@pardir##1{\ifcase##1\relax\setLR\else\setRL\fi}} + \@ifpackagewith{babel}{bidi=bidi}{\bbl@tempb}{}% + \@ifpackagewith{babel}{bidi=bidi-l}{\bbl@tempb}{}% + \@ifpackagewith{babel}{bidi=bidi-r}{\bbl@tempb}{}% \fi % \end{macrocode} % @@ -10406,7 +10494,6 @@ help from Bernd Raichle, for which I am grateful. \edef\languagename{% \ifnum\escapechar=\expandafter`\string#1\@empty \else\string#1\@empty\fi}% - % \@namedef{bbl@lcname@#1}{#1}% \select@language{\languagename}% % write to auxs \expandafter\ifx\csname date\languagename\endcsname\relax\else @@ -10423,8 +10510,13 @@ help from Bernd Raichle, for which I am grateful. % set name \edef\languagename{#1}% \bbl@fixname\languagename + \expandafter\ifx\csname date\languagename\endcsname\relax + \IfFileExists{babel-\languagename.tex}% + {\babelprovide{\languagename}}% + {}% + \fi \bbl@iflanguage\languagename{% - \expandafter\ifx\csname date\languagename\endcsname\relax + \expandafter\ifx\csname date\languagename\endcsname\relax \bbl@error {Unknown language `#1'. Either you have\\% misspelled its name, it has not been installed,\\% @@ -10725,8 +10817,12 @@ help from Bernd Raichle, for which I am grateful. \def\foreign@language#1{% % set name \edef\languagename{#1}% - % \@namedef{bbl@lcname@#1}{#1}% \bbl@fixname\languagename + \expandafter\ifx\csname date\languagename\endcsname\relax + \IfFileExists{babel-\languagename.tex}% + {\babelprovide{\languagename}}% + {}% + \fi \bbl@iflanguage\languagename{% \expandafter\ifx\csname date\languagename\endcsname\relax \bbl@warning % TODO - why a warning, not an error? @@ -10945,6 +11041,7 @@ help from Bernd Raichle, for which I am grateful. \let\uselocale\setlocale \let\locale\setlocale \let\selectlocale\setlocale +\let\localename\setlocale \let\textlocale\setlocale \let\textlanguage\setlocale \let\languagetext\setlocale @@ -11570,6 +11667,12 @@ help from Bernd Raichle, for which I am grateful. \bbl@trace{Font handling with fontspec} \@onlypreamble\babelfont \newcommand\babelfont[2][]{% 1=langs/scripts 2=fam + \bbl@foreach{#1}{% + \expandafter\ifx\csname date##1\endcsname\relax + \IfFileExists{babel-##1.tex}% + {\babelprovide{##1}}% + {}% + \fi}% \edef\bbl@tempa{#1}% \def\bbl@tempb{#2}% Used by \bbl@bblfont \ifx\fontspec\@undefined @@ -12457,6 +12560,9 @@ help from Bernd Raichle, for which I am grateful. % \changes{babel~3.37}{2019/12/07}{Added code for non-standard % hyphenation.} % +% First, some general code for line breaking, used by +% |\babelposthyphenation|. +% % \textit{In progress.} Replace regular (ie, implicit) discretionaries % by spaceskips, based on the previous glyph (which I think makes % sense, because the hyphen and the previous char go always together). @@ -12641,7 +12747,7 @@ help from Bernd Raichle, for which I am grateful. \def\bbl@provide@intraspace{% \bbl@ifunset{bbl@intsp@\languagename}{}% {\expandafter\ifx\csname bbl@intsp@\languagename\endcsname\@empty\else - \bbl@xin@{\bbl@cs{sbcp@\languagename}}{Hant,Hans,Jpan,Kore,Kana}% + \bbl@xin@{\bbl@cs{lnbrk@\languagename}}{c}% \ifin@ % cjk \bbl@cjkintraspace \directlua{ @@ -12738,7 +12844,7 @@ Babel.script_blocks = { {0x2B740, 0x2B81F}, {0x2B820, 0x2CEAF}, {0x2CEB0, 0x2EBEF}, {0x2F800, 0x2FA1F}}, ['Hebr'] = {{0x0590, 0x05FF}}, - ['Japa'] = {{0x3000, 0x303F}, {0x3040, 0x309F}, {0x30A0, 0x30FF}, + ['Jpan'] = {{0x3000, 0x303F}, {0x3040, 0x309F}, {0x30A0, 0x30FF}, {0x4E00, 0x9FAF}, {0xFF00, 0xFFEF}}, ['Khmr'] = {{0x1780, 0x17FF}, {0x19E0, 0x19FF}}, ['Knda'] = {{0x0C80, 0x0CFF}}, @@ -12760,10 +12866,11 @@ Babel.script_blocks = { ['Thai'] = {{0x0E00, 0x0E7F}}, ['Tibt'] = {{0x0F00, 0x0FFF}}, ['Vaii'] = {{0xA500, 0xA63F}}, - ['Yiii']= {{0xA490, 0xA4CF}, {0xA000, 0xA48F}} + ['Yiii'] = {{0xA000, 0xA48F}, {0xA490, 0xA4CF}} } Babel.script_blocks.Hant = Babel.script_blocks.Hans +Babel.script_blocks.Kana = Babel.script_blocks.Jpan function Babel.locale_map(head) if not Babel.locale_mapped then return head end @@ -12789,7 +12896,7 @@ function Babel.locale_map(head) end end % Now, take action - if toloc then + if toloc and toloc > -1 then if Babel.locale_props[toloc].lg then item.lang = Babel.locale_props[toloc].lg node.set_attribute(item, LOCALE, toloc) @@ -12856,6 +12963,12 @@ end Babel.Babel.cjk_characters[\the\count@]['c'] = '#1' }} \let\bbl@chprop@lb\bbl@chprop@linebreak +\def\bbl@chprop@locale#1{% + \directlua{ + Babel.chr_to_loc = Babel.chr_to_loc or {} + Babel.chr_to_loc[\the\count@] = + \bbl@ifblank{#1}{-1000}{\the\@nameuse{bbl@id@@#1}}\space + }} % \end{macrocode} % % Post-handling hyphenation patterns for non-standard rules, like |ff| @@ -13050,13 +13163,40 @@ end return head end - &% Used below + &% The following functions belong to the next macro + + &% This table stores capture maps, numbered consecutively + Babel.capture_maps = {} + function Babel.capture_func(key, cap) local ret = "[[" .. cap:gsub('{([0-9])}', "]]..m[%1]..[[") .. "]]" + ret = ret:gsub('{([0-9])|([^|]+)|(.-)}', Babel.capture_func_map) ret = ret:gsub("%[%[%]%]%.%.", '') ret = ret:gsub("%.%.%[%[%]%]", '') return key .. [[=function(m) return ]] .. ret .. [[ end]] end + + function Babel.capt_map(from, mapno) + return Babel.capture_maps[mapno][from] or from + end + + &% Handle the {n|abc|ABC} syntax in captures + function Babel.capture_func_map(capno, from, to) + local froms = {} + for s in string.utfcharacters(from) do + table.insert(froms, s) + end + local cnt = 1 + table.insert(Babel.capture_maps, {}) + local mlen = table.getn(Babel.capture_maps) + for s in string.utfcharacters(to) do + Babel.capture_maps[mlen][froms[cnt]] = s + cnt = cnt + 1 + end + return "]]..Babel.capt_map(m[" .. capno .. "]," .. + (mlen) .. ").." .. "[[" + end + } % \end{macrocode} % @@ -13064,7 +13204,10 @@ end % defined above for converting strings to functions returning a string. % These functions handle the |{|\textit{n}|}| syntax. For example, % |pre={1}{1}-| becomes |function(m) return m[1]..m[1]..'-' end|, where -% |m| are the matches returned after applying the pattern. The way it +% |m| are the matches returned after applying the pattern. With a +% mapped capture the functions are similar to +% |function(m) return Babel.capt_map(m[1],1) end|, where the last +% argument identifies the mapping to be applied to |m[1]|. The way it % is carried out is somewhat tricky, but the effect in not dissimilar % to lua |load| – save the code as string in a TeX macro, and expand % this macro at the appropriate place. As |\directlua| does not take @@ -13074,6 +13217,7 @@ end % \begin{macrocode} \catcode`\#=6 \gdef\babelposthyphenation#1#2#3{&% + \bbl@activateposthyphen \begingroup \def\babeltempa{\bbl@add@list\babeltempb}&% \let\babeltempb\@empty @@ -13106,6 +13250,11 @@ end }&% \endgroup} \endgroup +\def\bbl@activateposthyphen{% + \let\bbl@activateposthyphen\relax + \directlua{ + Babel.linebreaking.add_after(Babel.post_hyphenate_replace) + }} % \end{macrocode} % % \subsection{Layout} @@ -19714,12 +19863,6 @@ Babel.fontmap[2] = {} -- al/an Babel.bidi_enabled = true Babel.mirroring_enabled = true --- Temporary: - -if harf then - Babel.mirroring_enabled = false -end - require('babel-data-bidi.lua') local characters = Babel.characters @@ -20010,7 +20153,10 @@ function Babel.bidi(head, ispar, hdir) item = nodes[r][1] -- MIRRORING if Babel.mirroring_enabled and item.id == GLYPH and temp == 'r' and characters[item.char] then - item.char = characters[item.char].m or item.char + local font_mode = font.fonts[item.font].properties.mode + if font_mode ~= 'harf' and font_mode ~= 'plug' then + item.char = characters[item.char].m or item.char + end end end first_on = nil @@ -20321,6 +20467,8 @@ Babel.cjk_class = setmetatable ( Babel.cjk_characters, { __index = function(_, k) if (k >= 0xAC00 and k <= 0xD7A3) -- H2/H3 or (k >= 0x2E80 and k <= 0x9FFF) + or (k >= 0xA000 and k <= 0xA48F) -- Yi + or (k >= 0xA490 and k <= 0xA4CF) -- Yi or (k >= 0xF900 and k <= 0xFAFF) or (k >= 0xFE10 and k <= 0xFE1F) or (k >= 0xFE30 and k <= 0xFE6F) diff --git a/macros/latex/required/babel/base/babel.ins b/macros/latex/required/babel/base/babel.ins index dc9587f35c..86e70a5fc6 100644 --- a/macros/latex/required/babel/base/babel.ins +++ b/macros/latex/required/babel/base/babel.ins @@ -26,7 +26,7 @@ %% and covered by LPPL is defined by the unpacking scripts (with %% extension .ins) which are part of the distribution. %% -\def\filedate{2020/01/15} +\def\filedate{2020/02/03} \def\batchfile{babel.ins} \input docstrip.tex diff --git a/macros/latex/required/babel/base/babel.pdf b/macros/latex/required/babel/base/babel.pdf index ee377662eb..fd66d129fc 100644 Binary files a/macros/latex/required/babel/base/babel.pdf and b/macros/latex/required/babel/base/babel.pdf differ diff --git a/macros/latex/required/babel/base/bbcompat.dtx b/macros/latex/required/babel/base/bbcompat.dtx index b9ca5b9d88..610eb84045 100644 --- a/macros/latex/required/babel/base/bbcompat.dtx +++ b/macros/latex/required/babel/base/bbcompat.dtx @@ -30,7 +30,7 @@ % % \iffalse %<*dtx> -\ProvidesFile{bbcompat.dtx}[2020/01/15 v3.38] +\ProvidesFile{bbcompat.dtx}[2020/02/03 v3.39] % % %% File 'bbcompat.dtx' -- cgit v1.2.3