summaryrefslogtreecommitdiff
path: root/macros/latex/contrib
diff options
context:
space:
mode:
authorNorbert Preining <norbert@preining.info>2019-11-01 03:00:46 +0000
committerNorbert Preining <norbert@preining.info>2019-11-01 03:00:46 +0000
commit61b8d58232b999b6cc966aee9152fb86bbb759cd (patch)
tree61c65799f06cec526c81cc517c0ee68bc4323021 /macros/latex/contrib
parent038f3d26e9b2f40210a14133c33f1d2dfb5261bf (diff)
CTAN sync 201911010300
Diffstat (limited to 'macros/latex/contrib')
-rw-r--r--macros/latex/contrib/biblatex-contrib/biblatex-ext/CHANGES.md14
-rw-r--r--macros/latex/contrib/biblatex-contrib/biblatex-ext/biblatex-ext-oa-doiapi.sty2
-rw-r--r--macros/latex/contrib/biblatex-contrib/biblatex-ext/biblatex-ext-oa.sty2
-rw-r--r--macros/latex/contrib/biblatex-contrib/biblatex-ext/biblatex-ext-oasymb-l3draw.sty2
-rw-r--r--macros/latex/contrib/biblatex-contrib/biblatex-ext/biblatex-ext-oasymb-pict2e.sty2
-rw-r--r--macros/latex/contrib/biblatex-contrib/biblatex-ext/biblatex-ext-oasymb-tikz.sty2
-rw-r--r--macros/latex/contrib/biblatex-contrib/biblatex-ext/biblatex-ext-tabular.sty2
-rw-r--r--macros/latex/contrib/biblatex-contrib/biblatex-ext/biblatex-ext.pdfbin718456 -> 710746 bytes
-rw-r--r--macros/latex/contrib/biblatex-contrib/biblatex-ext/biblatex-ext.tex67
-rw-r--r--macros/latex/contrib/biblatex-contrib/biblatex-ext/blxextdoiapi.lua4
-rw-r--r--macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-alphabetic-verb.bbx2
-rw-r--r--macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-alphabetic-verb.cbx2
-rw-r--r--macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-alphabetic.bbx2
-rw-r--r--macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-alphabetic.cbx2
-rw-r--r--macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-authortitle-common.bbx2
-rw-r--r--macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-authortitle-comp.bbx2
-rw-r--r--macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-authortitle-comp.cbx2
-rw-r--r--macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-authortitle-ibid.bbx2
-rw-r--r--macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-authortitle-ibid.cbx6
-rw-r--r--macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-authortitle-icomp.bbx2
-rw-r--r--macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-authortitle-icomp.cbx2
-rw-r--r--macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-authortitle-tcomp.bbx2
-rw-r--r--macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-authortitle-tcomp.cbx2
-rw-r--r--macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-authortitle-terse.bbx2
-rw-r--r--macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-authortitle-terse.cbx2
-rw-r--r--macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-authortitle-ticomp.bbx2
-rw-r--r--macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-authortitle-ticomp.cbx2
-rw-r--r--macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-authortitle.bbx2
-rw-r--r--macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-authortitle.cbx2
-rw-r--r--macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-authoryear-common.bbx2
-rw-r--r--macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-authoryear-comp.bbx2
-rw-r--r--macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-authoryear-comp.cbx2
-rw-r--r--macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-authoryear-ecomp.bbx2
-rw-r--r--macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-authoryear-ecomp.cbx2
-rw-r--r--macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-authoryear-ibid.bbx2
-rw-r--r--macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-authoryear-ibid.cbx2
-rw-r--r--macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-authoryear-icomp.bbx2
-rw-r--r--macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-authoryear-icomp.cbx2
-rw-r--r--macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-authoryear-iecomp.bbx2
-rw-r--r--macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-authoryear-iecomp.cbx2
-rw-r--r--macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-authoryear-tcomp.bbx2
-rw-r--r--macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-authoryear-tcomp.cbx2
-rw-r--r--macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-authoryear-tecomp.bbx2
-rw-r--r--macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-authoryear-tecomp.cbx2
-rw-r--r--macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-authoryear-terse.bbx2
-rw-r--r--macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-authoryear-terse.cbx2
-rw-r--r--macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-authoryear-ticomp.bbx2
-rw-r--r--macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-authoryear-ticomp.cbx2
-rw-r--r--macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-authoryear-tiecomp.bbx2
-rw-r--r--macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-authoryear-tiecomp.cbx4
-rw-r--r--macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-authoryear.bbx2
-rw-r--r--macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-authoryear.cbx2
-rw-r--r--macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-biblatex-aux.def6
-rw-r--r--macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-dashed-common.bbx2
-rw-r--r--macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-numeric-comp.bbx2
-rw-r--r--macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-numeric-comp.cbx2
-rw-r--r--macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-numeric-verb.bbx2
-rw-r--r--macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-numeric-verb.cbx2
-rw-r--r--macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-numeric.bbx2
-rw-r--r--macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-numeric.cbx2
-rw-r--r--macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-standard.bbx6
-rw-r--r--macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-verbose-ibid.bbx2
-rw-r--r--macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-verbose-ibid.cbx2
-rw-r--r--macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-verbose-inote.bbx2
-rw-r--r--macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-verbose-inote.cbx2
-rw-r--r--macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-verbose-note.bbx2
-rw-r--r--macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-verbose-note.cbx2
-rw-r--r--macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-verbose-trad1.bbx2
-rw-r--r--macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-verbose-trad1.cbx2
-rw-r--r--macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-verbose-trad2.bbx2
-rw-r--r--macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-verbose-trad2.cbx2
-rw-r--r--macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-verbose-trad3.bbx2
-rw-r--r--macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-verbose-trad3.cbx2
-rw-r--r--macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-verbose.bbx2
-rw-r--r--macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-verbose.cbx2
-rw-r--r--macros/latex/contrib/biblatex-contrib/biblatex-iso690/biblatex-iso690.pdfbin166874 -> 167673 bytes
-rw-r--r--macros/latex/contrib/biblatex-contrib/biblatex-iso690/biblatex-iso690.tex42
-rw-r--r--macros/latex/contrib/biblatex-contrib/biblatex-iso690/iso-authoryear.bbx44
-rw-r--r--macros/latex/contrib/biblatex-contrib/biblatex-iso690/iso.bbx694
-rw-r--r--macros/latex/contrib/biblatex-contrib/biblatex-iso690/polish-iso.lbx18
-rw-r--r--macros/latex/contrib/modiagram/README4
-rw-r--r--macros/latex/contrib/modiagram/modiagram.sty2387
-rw-r--r--macros/latex/contrib/modiagram/modiagram_en.pdfbin618728 -> 528067 bytes
-rw-r--r--macros/latex/contrib/modiagram/modiagram_en.tex325
-rw-r--r--macros/latex/contrib/preview/README6
-rw-r--r--macros/latex/contrib/preview/preview.dtx6
-rw-r--r--macros/latex/contrib/preview/preview.ins2
-rw-r--r--macros/latex/contrib/preview/preview.pdfbin170731 -> 170712 bytes
88 files changed, 1944 insertions, 1825 deletions
diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-ext/CHANGES.md b/macros/latex/contrib/biblatex-contrib/biblatex-ext/CHANGES.md
index bc259954df..f5a42585e2 100644
--- a/macros/latex/contrib/biblatex-contrib/biblatex-ext/CHANGES.md
+++ b/macros/latex/contrib/biblatex-contrib/biblatex-ext/CHANGES.md
@@ -1,5 +1,19 @@
# Changelog
+## Version 0.8a (2019-10-31)
+
+See <https://github.com/moewew/biblatex-ext/compare/v0.8...v0.8a>
+
+### Fixed
+
+- The default value of `\servoldelim` was documented as
+ and should be `\jourvoldelim`.
+ Previous versions had `\addspace` (the default value of
+ `\jourvoldelim`) instead.
+- Reenabled visible space in documentation.
+- Typo in `ext-authoryear-tiecomp.cbx`.
+
+
## Version 0.8 (2019-08-25)
See <https://github.com/moewew/biblatex-ext/compare/v0.7a...v0.8>
diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-ext/biblatex-ext-oa-doiapi.sty b/macros/latex/contrib/biblatex-contrib/biblatex-ext/biblatex-ext-oa-doiapi.sty
index dba1e204e8..a80d535253 100644
--- a/macros/latex/contrib/biblatex-contrib/biblatex-ext/biblatex-ext-oa-doiapi.sty
+++ b/macros/latex/contrib/biblatex-contrib/biblatex-ext/biblatex-ext-oa-doiapi.sty
@@ -1,5 +1,5 @@
\ProvidesPackage{biblatex-ext-oa-doiapi}
- [2019/08/25 v0.8 Obtain open access information from DOI via
+ [2019/10/31 v0.8a Obtain open access information from DOI via
unpaywall.org and doi.org (MW)]
\RequirePackage{etoolbox}
diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-ext/biblatex-ext-oa.sty b/macros/latex/contrib/biblatex-contrib/biblatex-ext/biblatex-ext-oa.sty
index b50f981b74..346810e4cc 100644
--- a/macros/latex/contrib/biblatex-contrib/biblatex-ext/biblatex-ext-oa.sty
+++ b/macros/latex/contrib/biblatex-contrib/biblatex-ext/biblatex-ext-oa.sty
@@ -1,5 +1,5 @@
\ProvidesPackage{biblatex-ext-oa}
- [2019/08/25 v0.8 mark open access in biblatex bibliographies (MW)]
+ [2019/10/31 v0.8a mark open access in biblatex bibliographies (MW)]
\protected\def\extblx@oa@error#1#2{%
\PackageError{biblatex-ext-oa}{#1}{#2.}}
diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-ext/biblatex-ext-oasymb-l3draw.sty b/macros/latex/contrib/biblatex-contrib/biblatex-ext/biblatex-ext-oasymb-l3draw.sty
index 1ff0120b6f..5ee5666a93 100644
--- a/macros/latex/contrib/biblatex-contrib/biblatex-ext/biblatex-ext-oasymb-l3draw.sty
+++ b/macros/latex/contrib/biblatex-contrib/biblatex-ext/biblatex-ext-oasymb-l3draw.sty
@@ -1,7 +1,7 @@
\RequirePackage{expl3}
\ProvidesExplPackage {biblatex-ext-oasymb-l3draw}
- {2019/08/25} {0.8}
+ {2019/10/31} {0.8a}
{open access symbols with l3draw (MW)}
\RequirePackage{xparse}
diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-ext/biblatex-ext-oasymb-pict2e.sty b/macros/latex/contrib/biblatex-contrib/biblatex-ext/biblatex-ext-oasymb-pict2e.sty
index ce8fe2411a..bf027bddc2 100644
--- a/macros/latex/contrib/biblatex-contrib/biblatex-ext/biblatex-ext-oasymb-pict2e.sty
+++ b/macros/latex/contrib/biblatex-contrib/biblatex-ext/biblatex-ext-oasymb-pict2e.sty
@@ -1,5 +1,5 @@
\ProvidesPackage{biblatex-ext-oasymb-pict2e}
- [2019/08/25 v0.8 open access symbols with pict2e (MW)]
+ [2019/10/31 v0.8a open access symbols with pict2e (MW)]
\RequirePackage{etoolbox}
\RequirePackage{kvoptions}
diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-ext/biblatex-ext-oasymb-tikz.sty b/macros/latex/contrib/biblatex-contrib/biblatex-ext/biblatex-ext-oasymb-tikz.sty
index ec5c3c3cea..467b9e9ab1 100644
--- a/macros/latex/contrib/biblatex-contrib/biblatex-ext/biblatex-ext-oasymb-tikz.sty
+++ b/macros/latex/contrib/biblatex-contrib/biblatex-ext/biblatex-ext-oasymb-tikz.sty
@@ -1,5 +1,5 @@
\ProvidesPackage{biblatex-ext-oasymb-tikz}
- [2019/08/25 v0.8 open access symbols with TikZ (MW)]
+ [2019/10/31 v0.8a open access symbols with TikZ (MW)]
\RequirePackage{etoolbox}
\RequirePackage{kvoptions}
diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-ext/biblatex-ext-tabular.sty b/macros/latex/contrib/biblatex-contrib/biblatex-ext/biblatex-ext-tabular.sty
index adbe6d3859..a3e8ac141b 100644
--- a/macros/latex/contrib/biblatex-contrib/biblatex-ext/biblatex-ext-tabular.sty
+++ b/macros/latex/contrib/biblatex-contrib/biblatex-ext/biblatex-ext-tabular.sty
@@ -1,5 +1,5 @@
\ProvidesPackage{biblatex-ext-tabular}
- [2019/08/25 v0.8 tabular bibliographies for biblatex (MW)]
+ [2019/10/31 v0.8a tabular bibliographies for biblatex (MW)]
% Code based on Audrey's
% (https://tex.stackexchange.com/users/4483/audrey)
diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-ext/biblatex-ext.pdf b/macros/latex/contrib/biblatex-contrib/biblatex-ext/biblatex-ext.pdf
index 11f1bc404c..4a662b837d 100644
--- a/macros/latex/contrib/biblatex-contrib/biblatex-ext/biblatex-ext.pdf
+++ b/macros/latex/contrib/biblatex-contrib/biblatex-ext/biblatex-ext.pdf
Binary files differ
diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-ext/biblatex-ext.tex b/macros/latex/contrib/biblatex-contrib/biblatex-ext/biblatex-ext.tex
index 3d9f5da103..cb882a105b 100644
--- a/macros/latex/contrib/biblatex-contrib/biblatex-ext/biblatex-ext.tex
+++ b/macros/latex/contrib/biblatex-contrib/biblatex-ext/biblatex-ext.tex
@@ -463,7 +463,7 @@
\newcommand*{\ctan}{\mkbibacro{CTAN}}
\newcommand*{\gitbaseurl}{https://github.com/moewew/biblatex-ext}
-\newcommand*{\extblxversion}{0.8}
+\newcommand*{\extblxversion}{0.8a}
\newcommand*{\biber}{Biber}
\newcommand*{\gitissuelink}[1]{%
\href{\gitbaseurl/issues/#1}{issue \##1 on github}}
@@ -484,14 +484,12 @@
\newcommand*{\hmpdr}{$\bm{\rangle}$}
\fi
-\iffontspec
\def\textvisiblespace{%
\raisebox{-2.2pt}{%
\mbox{\kern.04em\vrule \@height.5ex \@width.12ex}%
\vbox{\hrule \@width.2em \@height.12ex}%
\hbox{\vrule \@height.5ex \@width.12ex}%
\kern.04em}}
-\fi
% Bourbaki dangerous bend symbol by Heiko Oberdiek
% https://tex.stackexchange.com/users/16967/heiko-oberdiek
@@ -531,7 +529,7 @@
author = {Moritz Wemheuer},
link = {mwemheu@gmail.com},%
revision = {\extblxversion},
- date = {\DTMDate{2019-08-25}},
+ date = {\DTMDate{2019-10-31}},
}
\hypersetup{%
@@ -744,8 +742,8 @@ available on \ctan\fnurl{https://ctan.org/pkg/latex-sciences-humaines}.
If you read German you may be interested in Dominik Waßenhoven's two-part
series \foreignlanguage{ngerman}{\emph{Bibliographien erstellen mit
\sty{biblatex}}} in \foreignlanguage{ngerman}{\emph{Die \TeX nische Komödie}}
-2/2008\fnurl{https://www.dante.de/DTK/Ausgaben/2008-2.pdf} (pp.~53--75)
-and 4/2008\fnurl{https://www.dante.de/DTK/Ausgaben/dtk08-4.pdf} (pp.~31--51).
+2/2008\fnurl{https://archiv.dante.de/DTK/PDF/komoedie_2008_2.pdf} (pp.~53--75)
+and 4/2008\fnurl{https://archiv.dante.de/DTK/PDF/komoedie_2008_4.pdf} (pp.~31--51).
Please keep in mind that some of these texts were written a while ago and
that \sty{biblatex} is actively developed: technical details may have changed
and new features make some things easier.
@@ -983,7 +981,7 @@ This style is like \blxstyle{ext-authortitle-ticomp}, but it is based on
Sigfridsson and Ryde \quad ibid. \quad Knuth 1984, 1986
\end{bibexample}
-\styleitem{ext-authoryear-teicomp}
+\styleitem{ext-authoryear-tiecomp}
A compact author-year citation style that combines
\blxstyle{ext-authoryear-ticomp} and \blxstyle{ext-authoryear-iecomp}.
\begin{bibexample}
@@ -1008,6 +1006,9 @@ for the standard files without significant changes in output.
Whether or not to display \enquote{in:} before the journal information in
\bibtype{article} entries.
All other entry types are not affected by this option.
+If it is desired to remove the \enquote{in:} for more entry types or
+a more specific behaviour is required, then it is still going to be
+necessary to modify the bibmacro~\bibmacro{in:}.
\begingroup
\makeatletter
@@ -1040,15 +1041,20 @@ All other entry types are not affected by this option.
This option controls if \bibtype{inbook}, \bibtype{incollection} and
\bibtype{inproceedings} entries that are tied to a parent entry with
\bibfield{xref} or \bibfield{crossref} should cite their parent in the
-bibliography if the parent is listed in the bibliography as a separate entry.
-With the default setting \kvopt{citexref}{false} the parent is not cited, the
-entry is shown as in the standard styles. If the option is set to
-\optval{true}, the block following the \enquote{in:} is replaced by a citation
-to the parent entry.
-The option itself does \emph{not} cause the parent entry to be added to the
-bibliography, this needs to happen either explicitly by citing the parent
-(this includes \cmd{nocite}) or implicitly via the \opt{minxrefs} or
-\opt{mincrossrefs} option.
+bibliography \emph{if} the parent is listed in the bibliography as a
+separate entry.
+With the default setting \kvopt{citexref}{false} the parent is not
+cited, the entry is shown as in the standard styles.
+If the option is set to \optval{true}, the block following the
+\enquote{in:} is replaced by a citation to the parent entry.
+
+\begin{remindbox}
+The option itself does \emph{not} cause the parent entry to be added
+to the bibliography automatically.
+This needs to happen either explicitly by citing the parent
+(possibly with \cmd{nocite})
+or implicitly via the \opt{minxrefs} or \opt{mincrossrefs} option.
+\end{remindbox}
\nocite{westfahl:frontier}
\begin{bibexample}[title={\kvopt{citexref}{true}}]
@@ -1133,7 +1139,8 @@ for the entry types \bibtype{inbook}, \bibtype{incollection} and
This option only has an effect if \hyperopt{innamebeforetitle} is set to
\optval{true}.
-\begin{bibexample}[title={\kvopt{innameidem}{true}}]
+\begin{bibexample}[title={\kvopt{innameidem}{true}}
+ {\small (and \kvopt{innamebeforetitle}{true})}]
\togglefalse{bbx:isbn}
\makeatletter
\renewbibmacro*{bbx:in:editor}[1]{%
@@ -1155,7 +1162,8 @@ This option only has an effect if \hyperopt{innamebeforetitle} is set to
\exampleprintbib{gaonkar:in}
\end{bibexample}
-\begin{bibexample}[title={\kvopt{innameidem}{false}}]
+\begin{bibexample}[title={\kvopt{innameidem}{false}}
+ {\small (and \kvopt{innamebeforetitle}{true})}]
\togglefalse{bbx:isbn}
\makeatletter
\renewbibmacro*{bbx:in:editor}[1]{%
@@ -1883,15 +1891,17 @@ The default is a colon followed by a space.
\csitem{publocdelim}
-The delimiter between \bibfield{publisher}\slash\bibfield{organization}\slash
+The delimiter between \bibfield{publisher}\slash
+\bibfield{organization}\slash
\bibfield{institution} and \bibfield{location}.
The default is a comma followed by a space.
-This delimiter is not used by the default style, since the standard order of
-fields is \bibfield{location}, \bibfield{publisher}\slash
+This delimiter is not used by the default style, since the standard
+order of fields is \bibfield{location}, \bibfield{publisher}\slash
\bibfield{organization}\slash\bibfield{institution}, \bibfield{date}.
-You could use \cmd{publocdelim} if you changed the order of these fields to
-\bibfield{publisher}\slash\bibfield{organization}\slash\bibfield{institution},
-\bibfield{location} \bibfield{date} with
+You could use \cmd{publocdelim} if you changed the order of these
+fields to \bibfield{publisher}\slash\bibfield{organization}\slash
+\bibfield{institution}, \bibfield{location} \bibfield{date} by
+redefining the bibmacro~\bibmacro{pubinstorg+location+date} as follows.
\begin{biblatexcode}
\renewbibmacro*{pubinstorg+location+date}[1]{%
\printlist{#1}%
@@ -2246,7 +2256,7 @@ A general-purpose bibliography macro to catch
This bibliography macro has one mandatory argument: the name of a list field,
sensible values are \bibfield{publisher}, \bibfield{institution} and
\bibfield{organization}.
-
+By default the macro is defined and used as follows.
\begin{biblatexcode}
\newbibmacro*{pubinstorg+location+date}[1]{%
\printlist{location}%
@@ -2999,7 +3009,7 @@ uses \LaTeX3's \sty{l3draw} package.
The main purpose of these packages is to define the macro \cmd{oasymbol}
for use with \sty{biblatex-ext-oa}.
-All packages define a similar set of macros, so they are not indended to
+All packages define a similar set of macros, so they are not indended to
be loaded together.
If used as stand-alone packages, all packages only have one option.
@@ -3167,6 +3177,11 @@ See also \filename{CHANGES.md}.
The numbers on the right indicate the relevant section of the manual.
\begin{changelog}
+\begin{release}{0.8a}{2019-10-31}
+ \item Fixed default value of \hypercmd{servoldelim}\see{sec:opt:punct}
+ \item Fixed bug in \blxstyle{ext-authoryear-tiecomp}%
+ \see{sec:styles:new}
+\end{release}
\begin{release}{0.8}{2019-08-25}
\item Added \hypercmd{AtIntrocite} \see{sec:opt:style}
\item Require \sty{biblatex} v3.13 (2010/08/17)\see{sec:req}
diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-ext/blxextdoiapi.lua b/macros/latex/contrib/biblatex-contrib/biblatex-ext/blxextdoiapi.lua
index 74d3badfaf..4162323db3 100644
--- a/macros/latex/contrib/biblatex-contrib/biblatex-ext/blxextdoiapi.lua
+++ b/macros/latex/contrib/biblatex-contrib/biblatex-ext/blxextdoiapi.lua
@@ -2,8 +2,8 @@ blxextdoiapi = blxextdoiapi or {}
local blxextdoiapi_module = {
name = "blxextdoiapi",
- version = "v0.8",
- date = "2019/08/25",
+ version = "v0.8a",
+ date = "2019/10/31",
description = "Obtain open access information from DOI via unpaywall.org",
author = "Moritz Wemheuer",
license = "LPPL v1.3c",
diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-alphabetic-verb.bbx b/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-alphabetic-verb.bbx
index 04b3ee0d37..25512f8e9e 100644
--- a/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-alphabetic-verb.bbx
+++ b/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-alphabetic-verb.bbx
@@ -1,5 +1,5 @@
\ProvidesFile{ext-alphabetic-verb.bbx}
- [2019/08/25 v0.8 extended biblatex alphabetic-verb
+ [2019/10/31 v0.8a extended biblatex alphabetic-verb
bibliography style (MW)]
\RequireBibliographyStyle{ext-standard}
diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-alphabetic-verb.cbx b/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-alphabetic-verb.cbx
index ab41c4ab9c..3697b20f03 100644
--- a/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-alphabetic-verb.cbx
+++ b/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-alphabetic-verb.cbx
@@ -1,5 +1,5 @@
\ProvidesFile{ext-alphabetic-verb.cbx}
- [2019/08/25 v0.8 extended biblatex alphabetic-verb citation style
+ [2019/10/31 v0.8a extended biblatex alphabetic-verb citation style
(MW)]
\blx@inputonce{ext-biblatex-aux.def}{auxiliary code for ext-biblatex}
diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-alphabetic.bbx b/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-alphabetic.bbx
index 6cf2f9cc24..7a84d4046a 100644
--- a/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-alphabetic.bbx
+++ b/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-alphabetic.bbx
@@ -1,5 +1,5 @@
\ProvidesFile{ext-alphabetic.bbx}
- [2019/08/25 v0.8 extended biblatex alphabetic bibliography style (MW)]
+ [2019/10/31 v0.8a extended biblatex alphabetic bibliography style (MW)]
\RequireBibliographyStyle{ext-standard}
\RequireBibliographyStyle{alphabetic}
diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-alphabetic.cbx b/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-alphabetic.cbx
index c1a112d4c2..28a2355424 100644
--- a/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-alphabetic.cbx
+++ b/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-alphabetic.cbx
@@ -1,5 +1,5 @@
\ProvidesFile{ext-alphabetic.cbx}
- [2019/08/25 v0.8 extended biblatex alphabetic citation style (MW)]
+ [2019/10/31 v0.8a extended biblatex alphabetic citation style (MW)]
\blx@inputonce{ext-biblatex-aux.def}{auxiliary code for ext-biblatex}
{}{}{}{}
diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-authortitle-common.bbx b/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-authortitle-common.bbx
index 81469dad16..56c9699104 100644
--- a/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-authortitle-common.bbx
+++ b/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-authortitle-common.bbx
@@ -1,5 +1,5 @@
\ProvidesFile{ext-authortitle-common.bbx}
- [2019/08/25 v0.8 common files for extended biblatex
+ [2019/10/31 v0.8a common files for extended biblatex
authortitle bibliography styles (MW)]
\RequireBibliographyStyle{ext-dashed-common}
diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-authortitle-comp.bbx b/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-authortitle-comp.bbx
index 4db77269e8..089545e46f 100644
--- a/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-authortitle-comp.bbx
+++ b/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-authortitle-comp.bbx
@@ -1,5 +1,5 @@
\ProvidesFile{ext-authortitle-comp.bbx}
- [2019/08/25 v0.8 extended biblatex authortitle-comp
+ [2019/10/31 v0.8a extended biblatex authortitle-comp
bibliography style (MW)]
\RequireBibliographyStyle{ext-standard}
diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-authortitle-comp.cbx b/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-authortitle-comp.cbx
index 85d3719eb2..fc8c3eaff3 100644
--- a/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-authortitle-comp.cbx
+++ b/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-authortitle-comp.cbx
@@ -1,5 +1,5 @@
\ProvidesFile{ext-authortitle-comp.cbx}
- [2019/08/25 v0.8 extended biblatex authortitle-comp
+ [2019/10/31 v0.8a extended biblatex authortitle-comp
citation style (MW)]
\blx@inputonce{ext-biblatex-aux.def}{auxiliary code for ext-biblatex}
diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-authortitle-ibid.bbx b/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-authortitle-ibid.bbx
index b7d76a87e7..b35479b188 100644
--- a/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-authortitle-ibid.bbx
+++ b/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-authortitle-ibid.bbx
@@ -1,5 +1,5 @@
\ProvidesFile{ext-authortitle-ibid.bbx}
- [2019/08/25 v0.8 extended biblatex authortitle-ibid
+ [2019/10/31 v0.8a extended biblatex authortitle-ibid
bibliography style (MW)]
\RequireBibliographyStyle{ext-standard}
diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-authortitle-ibid.cbx b/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-authortitle-ibid.cbx
index ce9f7eb7a4..88f6fa3dbf 100644
--- a/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-authortitle-ibid.cbx
+++ b/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-authortitle-ibid.cbx
@@ -1,5 +1,5 @@
\ProvidesFile{ext-authortitle-ibid.cbx}
- [2019/08/25 v0.8 extended biblatex authortitle-ibid
+ [2019/10/31 v0.8a extended biblatex authortitle-ibid
citation style (MW)]
\blx@inputonce{ext-biblatex-aux.def}{auxiliary code for ext-biblatex}
@@ -22,7 +22,7 @@
\DeclareFieldFormat{extblx@innerfootcitedelims}{%
\csuse{mkinner\blx@delimcontext delims}{#1}}
-\newbibmacro*{textcite}{%
+\renewbibmacro*{textcite}{%
\global\boolfalse{cbx:loccit}%
\printnames{labelname}%
\setunit*{%
@@ -43,7 +43,7 @@
\printtext[bibhyperref]{%
\printfield[citetitle]{labeltitle}}}}
-\newbibmacro*{textcite:postnote}{%
+\renewbibmacro*{textcite:postnote}{%
\ifthenelse{\iffieldundef{postnote}\OR\boolean{cbx:loccit}}
{\ifbool{cbx:parens}
{\csuse{extblx@citedelim@\blx@delimcontext @inner@close}}
diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-authortitle-icomp.bbx b/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-authortitle-icomp.bbx
index 5c5b86db91..5cf503d9f3 100644
--- a/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-authortitle-icomp.bbx
+++ b/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-authortitle-icomp.bbx
@@ -1,5 +1,5 @@
\ProvidesFile{ext-authortitle-icomp.bbx}
- [2019/08/25 v0.8 extended biblatex authortitle-icomp
+ [2019/10/31 v0.8a extended biblatex authortitle-icomp
bibliography style (MW)]
\RequireBibliographyStyle{ext-standard}
diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-authortitle-icomp.cbx b/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-authortitle-icomp.cbx
index 520a2f64af..aafde9ca5e 100644
--- a/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-authortitle-icomp.cbx
+++ b/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-authortitle-icomp.cbx
@@ -1,5 +1,5 @@
\ProvidesFile{ext-authortitle-icomp.cbx}
- [2019/08/25 v0.8 extended biblatex authortitle-icomp
+ [2019/10/31 v0.8a extended biblatex authortitle-icomp
citation style (MW)]
\blx@inputonce{ext-biblatex-aux.def}{auxiliary code for ext-biblatex}
diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-authortitle-tcomp.bbx b/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-authortitle-tcomp.bbx
index 490cb69f97..1c1eeb7796 100644
--- a/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-authortitle-tcomp.bbx
+++ b/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-authortitle-tcomp.bbx
@@ -1,5 +1,5 @@
\ProvidesFile{ext-authortitle-tcomp.bbx}
- [2019/08/25 v0.8 extended biblatex authortitle-tcomp
+ [2019/10/31 v0.8a extended biblatex authortitle-tcomp
bibliography style (MW)]
\RequireBibliographyStyle{ext-standard}
diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-authortitle-tcomp.cbx b/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-authortitle-tcomp.cbx
index c15b1d2f3b..1f0466fb11 100644
--- a/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-authortitle-tcomp.cbx
+++ b/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-authortitle-tcomp.cbx
@@ -1,5 +1,5 @@
\ProvidesFile{ext-authortitle-tcomp.cbx}
- [2019/08/25 v0.8 extended biblatex authortitle-tcomp
+ [2019/10/31 v0.8a extended biblatex authortitle-tcomp
citation style (MW)]
\RequireCitationStyle{ext-authortitle-comp}
diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-authortitle-terse.bbx b/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-authortitle-terse.bbx
index f70b1514e9..f763ae2409 100644
--- a/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-authortitle-terse.bbx
+++ b/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-authortitle-terse.bbx
@@ -1,5 +1,5 @@
\ProvidesFile{ext-authortitle-terse.bbx}
- [2019/08/25 v0.8 extended biblatex authortitle-terse
+ [2019/10/31 v0.8a extended biblatex authortitle-terse
bibliography style (MW)]
\RequireBibliographyStyle{ext-standard}
diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-authortitle-terse.cbx b/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-authortitle-terse.cbx
index 271da41adc..10520a454d 100644
--- a/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-authortitle-terse.cbx
+++ b/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-authortitle-terse.cbx
@@ -1,5 +1,5 @@
\ProvidesFile{ext-authortitle-terse.cbx}
- [2019/08/25 v0.8 extended biblatex authortitle-terse
+ [2019/10/31 v0.8a extended biblatex authortitle-terse
citation style (MW)]
\RequireCitationStyle{ext-authortitle}
diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-authortitle-ticomp.bbx b/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-authortitle-ticomp.bbx
index db70b368fe..df92f34694 100644
--- a/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-authortitle-ticomp.bbx
+++ b/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-authortitle-ticomp.bbx
@@ -1,5 +1,5 @@
\ProvidesFile{ext-authortitle-ticomp.bbx}
- [2019/08/25 v0.8 extended biblatex authortitle-ticomp
+ [2019/10/31 v0.8a extended biblatex authortitle-ticomp
bibliography style (MW)]
\RequireBibliographyStyle{ext-standard}
diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-authortitle-ticomp.cbx b/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-authortitle-ticomp.cbx
index 4083e1017a..9f693a0849 100644
--- a/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-authortitle-ticomp.cbx
+++ b/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-authortitle-ticomp.cbx
@@ -1,5 +1,5 @@
\ProvidesFile{ext-authortitle-ticomp.cbx}
- [2019/08/25 v0.8 extended biblatex authortitle-ticomp citation style
+ [2019/10/31 v0.8a extended biblatex authortitle-ticomp citation style
(MW)]
\RequireCitationStyle{ext-authortitle-icomp}
diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-authortitle.bbx b/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-authortitle.bbx
index 6bf346328f..e7c2b83076 100644
--- a/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-authortitle.bbx
+++ b/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-authortitle.bbx
@@ -1,5 +1,5 @@
\ProvidesFile{ext-authortitle.bbx}
- [2019/08/25 v0.8 extended biblatex authortitle
+ [2019/10/31 v0.8a extended biblatex authortitle
bibliography style (MW)]
\RequireBibliographyStyle{ext-standard}
diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-authortitle.cbx b/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-authortitle.cbx
index b21db8a3eb..05aebdc575 100644
--- a/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-authortitle.cbx
+++ b/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-authortitle.cbx
@@ -1,5 +1,5 @@
\ProvidesFile{ext-authortitle.cbx}
- [2019/08/25 v0.8 extended biblatex authortitle citation style (MW)]
+ [2019/10/31 v0.8a extended biblatex authortitle citation style (MW)]
\blx@inputonce{ext-biblatex-aux.def}{auxiliary code for ext-biblatex}
{}{}{}{}
diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-authoryear-common.bbx b/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-authoryear-common.bbx
index 5a695f45cd..4ce7e4f7b8 100644
--- a/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-authoryear-common.bbx
+++ b/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-authoryear-common.bbx
@@ -1,5 +1,5 @@
\ProvidesFile{ext-authoryear-common.bbx}
- [2019/08/25 v0.8 common files for extended biblatex
+ [2019/10/31 v0.8a common files for extended biblatex
authoryear bibliography styles (MW)]
\RequireBibliographyStyle{ext-dashed-common}
diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-authoryear-comp.bbx b/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-authoryear-comp.bbx
index f78811b001..bfdf8ce2d7 100644
--- a/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-authoryear-comp.bbx
+++ b/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-authoryear-comp.bbx
@@ -1,5 +1,5 @@
\ProvidesFile{ext-authoryear-comp.bbx}
- [2019/08/25 v0.8 extended biblatex authoryear-comp
+ [2019/10/31 v0.8a extended biblatex authoryear-comp
bibliography style (MW)]
\RequireBibliographyStyle{ext-standard}
diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-authoryear-comp.cbx b/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-authoryear-comp.cbx
index a7d58c4b89..36350c71e5 100644
--- a/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-authoryear-comp.cbx
+++ b/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-authoryear-comp.cbx
@@ -1,5 +1,5 @@
\ProvidesFile{ext-authoryear-comp.cbx}
- [2019/08/25 v0.8 extended biblatex authoryear-comp
+ [2019/10/31 v0.8a extended biblatex authoryear-comp
citation style (MW)]
\blx@inputonce{ext-biblatex-aux.def}{auxiliary code for ext-biblatex}
diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-authoryear-ecomp.bbx b/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-authoryear-ecomp.bbx
index f523905a56..2c2d1ec3d6 100644
--- a/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-authoryear-ecomp.bbx
+++ b/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-authoryear-ecomp.bbx
@@ -1,5 +1,5 @@
\ProvidesFile{ext-authoryear-ecomp.bbx}
- [2019/08/25 v0.8 biblatex authoryear-ecomp
+ [2019/10/31 v0.8a biblatex authoryear-ecomp
bibliography style (MW)]
\RequireBibliographyStyle{ext-standard}
diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-authoryear-ecomp.cbx b/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-authoryear-ecomp.cbx
index e5b854525b..2aec3a302e 100644
--- a/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-authoryear-ecomp.cbx
+++ b/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-authoryear-ecomp.cbx
@@ -1,5 +1,5 @@
\ProvidesFile{ext-authoryear-ecomp.cbx}
- [2019/08/25 v0.8 biblatex authoryear-ecomp
+ [2019/10/31 v0.8a biblatex authoryear-ecomp
citation style (MW)]
\blx@inputonce{ext-biblatex-aux.def}{auxiliary code for ext-biblatex}
diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-authoryear-ibid.bbx b/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-authoryear-ibid.bbx
index 06f793fb34..40b695debb 100644
--- a/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-authoryear-ibid.bbx
+++ b/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-authoryear-ibid.bbx
@@ -1,5 +1,5 @@
\ProvidesFile{ext-authoryear-ibid.bbx}
- [2019/08/25 v0.8 extended biblatex authoryear-ibid
+ [2019/10/31 v0.8a extended biblatex authoryear-ibid
bibliography style (MW)]
\RequireBibliographyStyle{ext-standard}
diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-authoryear-ibid.cbx b/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-authoryear-ibid.cbx
index f1af66fa0c..a66d3f9e48 100644
--- a/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-authoryear-ibid.cbx
+++ b/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-authoryear-ibid.cbx
@@ -1,5 +1,5 @@
\ProvidesFile{ext-authoryear-ibid.cbx}
- [2019/08/25 v0.8 extended biblatex authoryear-ibid
+ [2019/10/31 v0.8a extended biblatex authoryear-ibid
citation style (MW)]
\blx@inputonce{ext-biblatex-aux.def}{auxiliary code for ext-biblatex}
diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-authoryear-icomp.bbx b/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-authoryear-icomp.bbx
index 48c17b68de..34f5a8ec07 100644
--- a/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-authoryear-icomp.bbx
+++ b/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-authoryear-icomp.bbx
@@ -1,5 +1,5 @@
\ProvidesFile{ext-authoryear-icomp.bbx}
- [2019/08/25 v0.8 extended biblatex authoryear-icomp
+ [2019/10/31 v0.8a extended biblatex authoryear-icomp
bibliography style (MW)]
\RequireBibliographyStyle{ext-standard}
diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-authoryear-icomp.cbx b/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-authoryear-icomp.cbx
index 6772404b07..d0f2fb339c 100644
--- a/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-authoryear-icomp.cbx
+++ b/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-authoryear-icomp.cbx
@@ -1,5 +1,5 @@
\ProvidesFile{ext-authoryear-icomp.cbx}
- [2019/08/25 v0.8 extended biblatex authoryear-icomp
+ [2019/10/31 v0.8a extended biblatex authoryear-icomp
citation style (MW)]
\blx@inputonce{ext-biblatex-aux.def}{auxiliary code for ext-biblatex}
diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-authoryear-iecomp.bbx b/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-authoryear-iecomp.bbx
index aa39267537..a1f152b0f5 100644
--- a/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-authoryear-iecomp.bbx
+++ b/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-authoryear-iecomp.bbx
@@ -1,5 +1,5 @@
\ProvidesFile{ext-authoryear-iecomp.bbx}
- [2019/08/25 v0.8 biblatex authoryear-iecomp
+ [2019/10/31 v0.8a biblatex authoryear-iecomp
bibliography style (MW)]
\RequireBibliographyStyle{ext-standard}
diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-authoryear-iecomp.cbx b/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-authoryear-iecomp.cbx
index c789e84887..352302aa72 100644
--- a/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-authoryear-iecomp.cbx
+++ b/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-authoryear-iecomp.cbx
@@ -1,5 +1,5 @@
\ProvidesFile{ext-authoryear-iecomp.cbx}
- [2019/08/25 v0.8 biblatex authoryear-iecomp
+ [2019/10/31 v0.8a biblatex authoryear-iecomp
citation style (MW)]
\blx@inputonce{ext-biblatex-aux.def}{auxiliary code for ext-biblatex}
diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-authoryear-tcomp.bbx b/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-authoryear-tcomp.bbx
index f137e11c29..d5fd08577b 100644
--- a/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-authoryear-tcomp.bbx
+++ b/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-authoryear-tcomp.bbx
@@ -1,5 +1,5 @@
\ProvidesFile{ext-authoryear-tcomp.bbx}
- [2019/08/25 v0.8 extended biblatex authoryear-tcomp
+ [2019/10/31 v0.8a extended biblatex authoryear-tcomp
bibliography style (MW)]
\RequireBibliographyStyle{ext-standard}
diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-authoryear-tcomp.cbx b/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-authoryear-tcomp.cbx
index 95b91eb332..f0cb6b455e 100644
--- a/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-authoryear-tcomp.cbx
+++ b/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-authoryear-tcomp.cbx
@@ -1,5 +1,5 @@
\ProvidesFile{ext-authoryear-tcomp.cbx}
- [2019/08/25 v0.8 extended biblatex authoryear-tcomp
+ [2019/10/31 v0.8a extended biblatex authoryear-tcomp
citation style (MW)]
\RequireCitationStyle{ext-authoryear-comp}
diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-authoryear-tecomp.bbx b/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-authoryear-tecomp.bbx
index 3bd056f4f7..5a32feef67 100644
--- a/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-authoryear-tecomp.bbx
+++ b/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-authoryear-tecomp.bbx
@@ -1,5 +1,5 @@
\ProvidesFile{ext-authoryear-tecomp.bbx}
- [2019/08/25 v0.8 extended biblatex authoryear-tecomp
+ [2019/10/31 v0.8a extended biblatex authoryear-tecomp
bibliography style (MW)]
\RequireBibliographyStyle{ext-standard}
diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-authoryear-tecomp.cbx b/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-authoryear-tecomp.cbx
index 7432847991..670161944b 100644
--- a/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-authoryear-tecomp.cbx
+++ b/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-authoryear-tecomp.cbx
@@ -1,5 +1,5 @@
\ProvidesFile{ext-authoryear-tecomp.cbx}
- [2019/08/25 v0.8 extended biblatex authoryear-tecomp
+ [2019/10/31 v0.8a extended biblatex authoryear-tecomp
citation style (MW)]
\RequireCitationStyle{ext-authoryear-ecomp}
diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-authoryear-terse.bbx b/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-authoryear-terse.bbx
index e191693619..63a772cce3 100644
--- a/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-authoryear-terse.bbx
+++ b/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-authoryear-terse.bbx
@@ -1,5 +1,5 @@
\ProvidesFile{ext-authoryear-terse.bbx}
- [2019/08/25 v0.8 extended biblatex authoryear-terse
+ [2019/10/31 v0.8a extended biblatex authoryear-terse
bibliography style (MW)]
\RequireBibliographyStyle{ext-standard}
diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-authoryear-terse.cbx b/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-authoryear-terse.cbx
index e9bbd308da..a4ca634f10 100644
--- a/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-authoryear-terse.cbx
+++ b/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-authoryear-terse.cbx
@@ -1,5 +1,5 @@
\ProvidesFile{ext-authoryear-terse.cbx}
- [2019/08/25 v0.8 extended biblatex authoryear-terse
+ [2019/10/31 v0.8a extended biblatex authoryear-terse
citation style (MW)]
\RequireCitationStyle{ext-authoryear}
diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-authoryear-ticomp.bbx b/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-authoryear-ticomp.bbx
index 0f2595cd2f..b92aa1d67d 100644
--- a/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-authoryear-ticomp.bbx
+++ b/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-authoryear-ticomp.bbx
@@ -1,5 +1,5 @@
\ProvidesFile{ext-authoryear-ticomp.bbx}
- [2019/08/25 v0.8 extended biblatex authoryear-ticomp
+ [2019/10/31 v0.8a extended biblatex authoryear-ticomp
bibliography style (MW)]
\RequireBibliographyStyle{ext-standard}
diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-authoryear-ticomp.cbx b/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-authoryear-ticomp.cbx
index 22c7fef241..e8fa9f03fe 100644
--- a/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-authoryear-ticomp.cbx
+++ b/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-authoryear-ticomp.cbx
@@ -1,5 +1,5 @@
\ProvidesFile{ext-authoryear-ticomp.cbx}
- [2019/08/25 v0.8 extended biblatex authoryear-ticomp citation style
+ [2019/10/31 v0.8a extended biblatex authoryear-ticomp citation style
(MW)]
\RequireCitationStyle{ext-authoryear-icomp}
diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-authoryear-tiecomp.bbx b/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-authoryear-tiecomp.bbx
index 2ae7bb415c..9f500c9272 100644
--- a/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-authoryear-tiecomp.bbx
+++ b/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-authoryear-tiecomp.bbx
@@ -1,5 +1,5 @@
\ProvidesFile{ext-authoryear-tiecomp.bbx}
- [2019/08/25 v0.8 extended biblatex authoryear-tiecomp
+ [2019/10/31 v0.8a extended biblatex authoryear-tiecomp
bibliography style (MW)]
\RequireBibliographyStyle{ext-standard}
diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-authoryear-tiecomp.cbx b/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-authoryear-tiecomp.cbx
index f7645662c9..6fe1cfc3d6 100644
--- a/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-authoryear-tiecomp.cbx
+++ b/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-authoryear-tiecomp.cbx
@@ -1,8 +1,8 @@
\ProvidesFile{ext-authoryear-tiecomp.cbx}
- [2019/08/25 v0.8 extended biblatex authoryear-tiecomp citation style
+ [2019/10/31 v0.8a extended biblatex authoryear-tiecomp citation style
(MW)]
-\RequireCitationStyle{ext-authoryear-icomp}
+\RequireCitationStyle{ext-authoryear-iecomp}
\ExecuteBibliographyOptions{singletitle, uniquename, uniquelist,
autocite=inline}
diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-authoryear.bbx b/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-authoryear.bbx
index c3c7b31505..96651c4a3c 100644
--- a/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-authoryear.bbx
+++ b/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-authoryear.bbx
@@ -1,5 +1,5 @@
\ProvidesFile{ext-authoryear.bbx}
- [2019/08/25 v0.8 extended biblatex authoryear bibliography style (MW)]
+ [2019/10/31 v0.8a extended biblatex authoryear bibliography style (MW)]
\RequireBibliographyStyle{ext-standard}
\RequireBibliographyStyle{authoryear}
diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-authoryear.cbx b/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-authoryear.cbx
index 7ae2631f45..947ce8ee3f 100644
--- a/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-authoryear.cbx
+++ b/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-authoryear.cbx
@@ -1,5 +1,5 @@
\ProvidesFile{ext-authoryear.cbx}
- [2019/08/25 v0.8 extended biblatex authoryear citation style (MW)]
+ [2019/10/31 v0.8a extended biblatex authoryear citation style (MW)]
\blx@inputonce{ext-biblatex-aux.def}{auxiliary code for ext-biblatex}
{}{}{}{}
diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-biblatex-aux.def b/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-biblatex-aux.def
index 3c58ae4eba..9e73d9e93b 100644
--- a/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-biblatex-aux.def
+++ b/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-biblatex-aux.def
@@ -1,9 +1,9 @@
\ProvidesFile{ext-biblatex-aux.def}
- [2019/08/25 v0.8 auxiliaries for extended biblatex citation style
+ [2019/10/31 v0.8a auxiliaries for extended biblatex citation style
(MW)]
-\def\extblx@requiredbiblatexversion{3.13}
-\def\extblx@requiredbiblatexdate{2019/08/17}
+\def\extblx@requiredbiblatexversion{3.13a}
+\def\extblx@requiredbiblatexdate{2019/08/31}
\newrobustcmd*{\extblx@info}{\PackageInfo{biblatex-ext}}
\newrobustcmd*{\extblx@warning}{\PackageWarning{biblatex-ext}}
diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-dashed-common.bbx b/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-dashed-common.bbx
index 39fd8ebe34..314a62bbe3 100644
--- a/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-dashed-common.bbx
+++ b/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-dashed-common.bbx
@@ -1,5 +1,5 @@
\ProvidesFile{ext-dashed-common.bbx}
- [2019/08/25 v0.8 common files for extended biblatex
+ [2019/10/31 v0.8a common files for extended biblatex
dashed bibliography styles (MW)]
\blx@inputonce{ext-biblatex-aux.def}{auxiliary code for ext-biblatex}
diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-numeric-comp.bbx b/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-numeric-comp.bbx
index bddca69e7f..bedb51962f 100644
--- a/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-numeric-comp.bbx
+++ b/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-numeric-comp.bbx
@@ -1,5 +1,5 @@
\ProvidesFile{ext-numeric-comp.bbx}
- [2019/08/25 v0.8 extended biblatex numeric-comp
+ [2019/10/31 v0.8a extended biblatex numeric-comp
bibliography style (MW)]
\RequireBibliographyStyle{ext-standard}
diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-numeric-comp.cbx b/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-numeric-comp.cbx
index b189bf44c1..3c8bd92f0b 100644
--- a/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-numeric-comp.cbx
+++ b/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-numeric-comp.cbx
@@ -1,5 +1,5 @@
\ProvidesFile{ext-numeric-comp.cbx}
- [2019/08/25 v0.8 extended biblatex numeric-comp citation style (MW)]
+ [2019/10/31 v0.8a extended biblatex numeric-comp citation style (MW)]
\blx@inputonce{ext-biblatex-aux.def}{auxiliary code for ext-biblatex}
{}{}{}{}
diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-numeric-verb.bbx b/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-numeric-verb.bbx
index d7789dddce..c3e0d604ff 100644
--- a/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-numeric-verb.bbx
+++ b/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-numeric-verb.bbx
@@ -1,5 +1,5 @@
\ProvidesFile{ext-numeric-verb.bbx}
- [2019/08/25 v0.8 extended biblatex numeric-verb
+ [2019/10/31 v0.8a extended biblatex numeric-verb
bibliography style (MW)]
\RequireBibliographyStyle{ext-standard}
diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-numeric-verb.cbx b/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-numeric-verb.cbx
index ce8243f789..8e9ccdea43 100644
--- a/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-numeric-verb.cbx
+++ b/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-numeric-verb.cbx
@@ -1,5 +1,5 @@
\ProvidesFile{ext-numeric-verb.cbx}
- [2019/08/25 v0.8 extended biblatex numeric-verb citation style (MW)]
+ [2019/10/31 v0.8a extended biblatex numeric-verb citation style (MW)]
\blx@inputonce{ext-biblatex-aux.def}{auxiliary code for ext-biblatex}
{}{}{}{}
diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-numeric.bbx b/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-numeric.bbx
index 557dfd61d3..596f8158d6 100644
--- a/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-numeric.bbx
+++ b/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-numeric.bbx
@@ -1,5 +1,5 @@
\ProvidesFile{ext-numeric.bbx}
- [2019/08/25 v0.8 extended biblatex numeric bibliography style (MW)]
+ [2019/10/31 v0.8a extended biblatex numeric bibliography style (MW)]
\RequireBibliographyStyle{ext-standard}
\RequireBibliographyStyle{numeric}
diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-numeric.cbx b/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-numeric.cbx
index 01a0c79892..b01a2a4b4f 100644
--- a/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-numeric.cbx
+++ b/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-numeric.cbx
@@ -1,5 +1,5 @@
\ProvidesFile{ext-numeric.cbx}
- [2019/08/25 v0.8 extended biblatex numeric citation style (MW)]
+ [2019/10/31 v0.8a extended biblatex numeric citation style (MW)]
\blx@inputonce{ext-biblatex-aux.def}{auxiliary code for ext-biblatex}
{}{}{}{}
diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-standard.bbx b/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-standard.bbx
index 5e74514fe7..9261dc5358 100644
--- a/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-standard.bbx
+++ b/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-standard.bbx
@@ -1,9 +1,9 @@
-% biblatex-ext v0.8 (2019-08-25)
+% biblatex-ext v0.8a (2019-10-31)
% Maintainer: Moritz Wemheuer
% Licence: LaTeX Project Public License v1.3c or later
%
\ProvidesFile{ext-standard.bbx}
- [2019/08/25 v0.8 extended biblatex standard style (MW)]
+ [2019/10/31 v0.8a extended biblatex standard style (MW)]
\blx@inputonce{ext-biblatex-aux.def}{auxiliary code for ext-biblatex}
{}{}{}{}
@@ -1100,7 +1100,7 @@
\newcommand*{\jourvoldelim}{\addspace}
\newcommand*{\jourserdelim}{\newunitpunct}
-\newcommand*{\servoldelim}{\addspace}
+\newcommand*{\servoldelim}{\jourvoldelim}
\newcommand*{\volnumdatedelim}{\addspace}
\renewbibmacro*{journal+issuetitle}{%
diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-verbose-ibid.bbx b/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-verbose-ibid.bbx
index 428ef76828..50dd95ab6d 100644
--- a/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-verbose-ibid.bbx
+++ b/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-verbose-ibid.bbx
@@ -1,5 +1,5 @@
\ProvidesFile{ext-verbose-ibid.bbx}
- [2019/08/25 v0.8 extended biblatex verbose-ibid
+ [2019/10/31 v0.8a extended biblatex verbose-ibid
bibliography style (MW)]
\RequireBibliographyStyle{ext-standard}
diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-verbose-ibid.cbx b/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-verbose-ibid.cbx
index d1014c044c..af422e088d 100644
--- a/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-verbose-ibid.cbx
+++ b/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-verbose-ibid.cbx
@@ -1,5 +1,5 @@
\ProvidesFile{ext-verbose-ibid.cbx}
- [2019/08/25 v0.8 extended biblatex verbose-ibid citation style (MW)]
+ [2019/10/31 v0.8a extended biblatex verbose-ibid citation style (MW)]
\blx@inputonce{ext-biblatex-aux.def}{auxiliary code for ext-biblatex}
{}{}{}{}
diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-verbose-inote.bbx b/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-verbose-inote.bbx
index 54b6319b6c..188e934f2f 100644
--- a/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-verbose-inote.bbx
+++ b/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-verbose-inote.bbx
@@ -1,5 +1,5 @@
\ProvidesFile{ext-verbose-inote.bbx}
- [2019/08/25 v0.8 extended biblatex verbose-inote
+ [2019/10/31 v0.8a extended biblatex verbose-inote
bibliography style (MW)]
\RequireBibliographyStyle{ext-standard}
diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-verbose-inote.cbx b/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-verbose-inote.cbx
index 6ccbcafef9..cc73a75d86 100644
--- a/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-verbose-inote.cbx
+++ b/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-verbose-inote.cbx
@@ -1,5 +1,5 @@
\ProvidesFile{ext-verbose-inote.cbx}
- [2019/08/25 v0.8 extended biblatex verbose-inote citation style (MW)]
+ [2019/10/31 v0.8a extended biblatex verbose-inote citation style (MW)]
\blx@inputonce{ext-biblatex-aux.def}{auxiliary code for ext-biblatex}
{}{}{}{}
diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-verbose-note.bbx b/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-verbose-note.bbx
index 7d0dee6e15..961dfd2657 100644
--- a/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-verbose-note.bbx
+++ b/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-verbose-note.bbx
@@ -1,5 +1,5 @@
\ProvidesFile{ext-verbose-note.bbx}
- [2019/08/25 v0.8 extended biblatex verbose-note
+ [2019/10/31 v0.8a extended biblatex verbose-note
bibliography style (MW)]
\RequireBibliographyStyle{ext-standard}
diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-verbose-note.cbx b/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-verbose-note.cbx
index 70e624bda3..d190b1239e 100644
--- a/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-verbose-note.cbx
+++ b/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-verbose-note.cbx
@@ -1,5 +1,5 @@
\ProvidesFile{ext-verbose-note.cbx}
- [2019/08/25 v0.8 extended biblatex verbose-note citation style (MW)]
+ [2019/10/31 v0.8a extended biblatex verbose-note citation style (MW)]
\blx@inputonce{ext-biblatex-aux.def}{auxiliary code for ext-biblatex}
{}{}{}{}
diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-verbose-trad1.bbx b/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-verbose-trad1.bbx
index 61aa077319..07c3ea5ee4 100644
--- a/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-verbose-trad1.bbx
+++ b/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-verbose-trad1.bbx
@@ -1,5 +1,5 @@
\ProvidesFile{ext-verbose-trad1.bbx}
- [2019/08/25 v0.8 extended biblatex verbose-trad1
+ [2019/10/31 v0.8a extended biblatex verbose-trad1
bibliography style (MW)]
\RequireBibliographyStyle{ext-standard}
diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-verbose-trad1.cbx b/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-verbose-trad1.cbx
index 11abe6687b..579c1d174a 100644
--- a/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-verbose-trad1.cbx
+++ b/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-verbose-trad1.cbx
@@ -1,5 +1,5 @@
\ProvidesFile{ext-verbose-trad1.cbx}
- [2019/08/25 v0.8 extended biblatex verbose-trad1 citation style (MW)]
+ [2019/10/31 v0.8a extended biblatex verbose-trad1 citation style (MW)]
\blx@inputonce{ext-biblatex-aux.def}{auxiliary code for ext-biblatex}
{}{}{}{}
diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-verbose-trad2.bbx b/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-verbose-trad2.bbx
index 64decc4220..ad6c0126e6 100644
--- a/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-verbose-trad2.bbx
+++ b/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-verbose-trad2.bbx
@@ -1,5 +1,5 @@
\ProvidesFile{ext-verbose-trad2.bbx}
- [2019/08/25 v0.8 extended biblatex verbose-trad2
+ [2019/10/31 v0.8a extended biblatex verbose-trad2
bibliography style (MW)]
\RequireBibliographyStyle{ext-standard}
diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-verbose-trad2.cbx b/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-verbose-trad2.cbx
index 4bc2d228bc..2fbccd925d 100644
--- a/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-verbose-trad2.cbx
+++ b/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-verbose-trad2.cbx
@@ -1,5 +1,5 @@
\ProvidesFile{ext-verbose-trad2.cbx}
- [2019/08/25 v0.8 extended biblatex verbose-trad2 citation style (MW)]
+ [2019/10/31 v0.8a extended biblatex verbose-trad2 citation style (MW)]
\blx@inputonce{ext-biblatex-aux.def}{auxiliary code for ext-biblatex}
{}{}{}{}
diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-verbose-trad3.bbx b/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-verbose-trad3.bbx
index fdb35faac3..37ab51f746 100644
--- a/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-verbose-trad3.bbx
+++ b/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-verbose-trad3.bbx
@@ -1,5 +1,5 @@
\ProvidesFile{ext-verbose-trad3.bbx}
- [2019/08/25 v0.8 extended biblatex verbose-trad3
+ [2019/10/31 v0.8a extended biblatex verbose-trad3
bibliography style (MW)]
\RequireBibliographyStyle{ext-standard}
diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-verbose-trad3.cbx b/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-verbose-trad3.cbx
index d4d9d2e6c9..2f08f90582 100644
--- a/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-verbose-trad3.cbx
+++ b/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-verbose-trad3.cbx
@@ -1,5 +1,5 @@
\ProvidesFile{ext-verbose-trad3.cbx}
- [2019/08/25 v0.8 extended biblatex verbose-trad3 citation style (MW)]
+ [2019/10/31 v0.8a extended biblatex verbose-trad3 citation style (MW)]
\blx@inputonce{ext-biblatex-aux.def}{auxiliary code for ext-biblatex}
{}{}{}{}
diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-verbose.bbx b/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-verbose.bbx
index 5ea86de444..a06f52cb02 100644
--- a/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-verbose.bbx
+++ b/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-verbose.bbx
@@ -1,5 +1,5 @@
\ProvidesFile{ext-verbose.bbx}
- [2019/08/25 v0.8 extended biblatex verbose
+ [2019/10/31 v0.8a extended biblatex verbose
bibliography style (MW)]
\RequireBibliographyStyle{ext-standard}
diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-verbose.cbx b/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-verbose.cbx
index b0164a718f..b2db78d2b9 100644
--- a/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-verbose.cbx
+++ b/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-verbose.cbx
@@ -1,5 +1,5 @@
\ProvidesFile{ext-verbose.cbx}
- [2019/08/25 v0.8 extended biblatex verbose citation style (MW)]
+ [2019/10/31 v0.8a extended biblatex verbose citation style (MW)]
\blx@inputonce{ext-biblatex-aux.def}{auxiliary code for ext-biblatex}
{}{}{}{}
diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-iso690/biblatex-iso690.pdf b/macros/latex/contrib/biblatex-contrib/biblatex-iso690/biblatex-iso690.pdf
index c165500314..99bf7c4a52 100644
--- a/macros/latex/contrib/biblatex-contrib/biblatex-iso690/biblatex-iso690.pdf
+++ b/macros/latex/contrib/biblatex-contrib/biblatex-iso690/biblatex-iso690.pdf
Binary files differ
diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-iso690/biblatex-iso690.tex b/macros/latex/contrib/biblatex-contrib/biblatex-iso690/biblatex-iso690.tex
index 3ec1ca4d9b..1ff35be97a 100644
--- a/macros/latex/contrib/biblatex-contrib/biblatex-iso690/biblatex-iso690.tex
+++ b/macros/latex/contrib/biblatex-contrib/biblatex-iso690/biblatex-iso690.tex
@@ -23,6 +23,7 @@
,sortlocale=cs_CZ
,bibencoding=UTF8
,spacecolon=false
+ % ,isbn=false
%,block=ragged
]{biblatex}
@@ -34,7 +35,7 @@
url={https://github.com/michal-h21/biblatex-iso690},
author={Michal Hoftich},
email={michal.h21@gmail.com},
- revision={0.3.2},
+ revision={0.3.3},
date={\today}}
\hypersetup{%
@@ -124,7 +125,7 @@ The international standard ISO 690 prescribes exactly 3 methods of
citation. However, based on the user input, this package contains
more of them.
-\subsubsection{Official methods}
+\subsubsection{Standardized methods}
\begin{description}
\item[iso-authoryear] name and date system, so-called Harvard style
@@ -134,7 +135,7 @@ more of them.
There is also one more system of running notes, which is not
implemented yet.
-\subsubsection{Unofficial methods}
+\subsubsection{Non-standardized methods}
\begin{description}
\item[iso-alphabetic] alphabetic system
@@ -149,9 +150,9 @@ Frequently used package options are
\begin{description}
\item[style] style to be used for bibliographic references and citations.
-Four possibilities are available, \t|iso-authoryear| commonly known as
-“Harvard system”, \t|iso-numeric| as a numeric system, \t|iso-alphabetic|
-and \t|iso-authortitle|.
+Four possibilities are available for the \t|biblatex-iso690| package,
+\t|iso-authoryear| commonly known as “Harvard system”, \t|iso-numeric| as a
+numeric system, \t|iso-alphabetic| and \t|iso-authortitle|.
\item[backend] backend program for generating bibliographic entries. \biber
is the default one for the \biblatex package, providing a large variety
@@ -161,7 +162,8 @@ are far behind the possibilities of \biber. \biber is the recommended backend.
\item[autolang] controls which language environment is used. The most
significant value is \t|other|, which supports printing localization
terms in the language of the resource or language specific hyphenation.
-Default value is \t|none|, which disables this feature.
+Default value for \biblatex package is \t|none|, which disables this feature.
+Default value for \t|biblatex-iso690| package is \t|other|.
\item[sortlocale] responsible for sorting the bibliography according to the
entered \t|locale| identifier. It should usually be set to one using the
@@ -198,6 +200,18 @@ encoding of the \t|tex| file.
\textit{availability and access} is possible by setting the option
to \t|false|. Otherwise it will be printed in the \textit{notes} section.
Default value is \t|true|.
+
+ \item[doi] enable or disable printing of the DOI number. Default value is
+ \t|true|.
+
+ \item[isbn] enable or disable printing of the ISBN, ISSN and other standard
+ identifiers. Default value is \t|true|.
+
+ \item[eprint] enable or disable printing of the eprint field. Default value
+ is \t|true|.
+
+ \item[url] enable or disable printing of the URL. Default value is \t|true|.
+
\end{description}
@@ -507,7 +521,19 @@ in a reference. The field \t|library| serves for this purpose.
\begin{changelog}
-\begin{release}{0.3.2}{2016-04-25}
+\begin{release}{0.3.3}{2019-10-30}
+\item Doc better wording
+\item Enable multilingual references by default
+\item Added isbn, doi, url and eprint options for blocking corresponding fields
+\item Printing out (the same) editors also in the consecutive entries --
+ get rid of the dash as default (\t|iso-authoryear| style)
+\item Removed deprecated \biblatex\ options
+\item Changed URL address for DOI records
+\item Clean up of indentation and spacing in the source code
+\item Renamed \t|editor| macro to \t|incollection-editor|
+\end{release}
+
+\begin{release}{0.3.2}{2017-04-25}
\item Synchronized \t|iso-numeric| bibliography environment with original \t|numeric| style
\item Added support for alphabetic bibliographic style (\t|iso-alphabetic|)
\item Incompatible change: \t|thesisinfolast| package option changed to \t|thesisinfoinnotes|
diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-iso690/iso-authoryear.bbx b/macros/latex/contrib/biblatex-contrib/biblatex-iso690/iso-authoryear.bbx
index 707a82f64e..a7a84cb7bc 100644
--- a/macros/latex/contrib/biblatex-contrib/biblatex-iso690/iso-authoryear.bbx
+++ b/macros/latex/contrib/biblatex-contrib/biblatex-iso690/iso-authoryear.bbx
@@ -8,7 +8,7 @@
\def\printextrayear{%
\ifentrytype{patent}
{}
- {\printfield{year}\printfield{extrayear}}%
+ {\printfield{year}\printfield{extradate}}%
}
% remove second appearance of year in a reference
@@ -45,47 +45,5 @@
\usebibmacro{setpageref}%
\finentry}
-\renewbibmacro*{editor}{%
- \usebibmacro{bbx:editor}{editorstrg}}
-\newbibmacro*{bbx:editor}[1]{%
- \ifboolexpr{
- test \ifuseeditor
- and
- not test {\ifnameundef{editor}}
- }
- {\usebibmacro{bbx:dashcheck}
- {\bibnamedash}
- {\usebibmacro{bbx:savehash}%
- \printnames{editor}%
- \addspace%
- \mkbibparens{\usebibmacro{#1}}}%
- \clearname{editor}}%
- {\global\undef\bbx@lasthash
- \usebibmacro{labeltitle}}}%
-
-\newbibmacro*{bbx:dashcheck}[2]{%
- \ifboolexpr{
- test {\iffieldequals{fullhash}{\bbx@lasthash}}
- and
- not test \iffirstonpage
- and
- (
- not bool {bbx@inset}
- or
- test {\iffieldequalstr{entrysetcount}{1}}
- )
- }
- {#1}
- {#2}}
-
-\newbibmacro*{labeltitle}{%
- \iffieldundef{label}
- {\iffieldundef{shorttitle}
- {\usebibmacro{titles}{}{emph}%
- \clearfield{title}%
- \clearfield{subtitle}%
- \clearfield{titleaddon}}
- {\printfield{shorttitle}}}
- {\printfield{label}}}
\endinput
diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-iso690/iso.bbx b/macros/latex/contrib/biblatex-contrib/biblatex-iso690/iso.bbx
index 92c8a78e9b..c4d0f16531 100644
--- a/macros/latex/contrib/biblatex-contrib/biblatex-iso690/iso.bbx
+++ b/macros/latex/contrib/biblatex-contrib/biblatex-iso690/iso.bbx
@@ -4,6 +4,7 @@
\DeclareLanguageMapping{english}{english-iso}
\DeclareLanguageMapping{slovak}{slovak-iso}
\DeclareLanguageMapping{german}{german-iso}
+\DeclareLanguageMapping{polish}{polish-iso}
\NewBibliographyString{at,bysupervisor,urlalso}
%options
@@ -28,20 +29,43 @@
\settoggle{bbx:thesisinfoinnotes}{#1}%
\typeout{Printing thesis info at the end enabled: #1}}
+\newtoggle{bbx:url}
+\DeclareBibliographyOption{url}[true]{%
+ \settoggle{bbx:url}{#1}%
+ \typeout{Showing URL field enabled: #1}}
+
+\newtoggle{bbx:isbn}
+\DeclareBibliographyOption{isbn}[true]{%
+ \settoggle{bbx:isbn}{#1}%
+ \typeout{Showing ISBN field enabled: #1}}
+
+\newtoggle{bbx:doi}
+\DeclareBibliographyOption{doi}[true]{%
+ \settoggle{bbx:doi}{#1}%
+ \typeout{Showing DOI field enabled: #1}}
+
+\newtoggle{bbx:eprint}
+\DeclareBibliographyOption{eprint}[true]{%
+ \settoggle{bbx:eprint}{#1}%
+ \typeout{Showing eprint field enabled: #1}}
\ExecuteBibliographyOptions{%
- spacecolon=false
- ,pagetotal=false
- ,shortnumeration=false
- ,thesisinfoinnotes=true
- %sorting=nyt
- ,maxnames=9
- ,minnames=1
- ,citetracker=true
- %,autolang=other
- ,date=year
- ,urldate=edtf
- ,seconds=true
+ spacecolon=false,
+ pagetotal=false,
+ shortnumeration=false,
+ thesisinfoinnotes=true,
+ url=true,
+ isbn=true,
+ doi=true,
+ eprint=true,
+ % sorting=nyt,
+ maxnames=9,
+ minnames=1,
+ citetracker=true,
+ autolang=other,
+ date=year,
+ urldate=iso,
+ seconds=true,
}
\newbibmacro*{begentry}{}
@@ -108,38 +132,38 @@
\DeclareFieldFormat[article,periodical]{pages}{%
\iftoggle{bbx:shortnum}
{#1}
- {\mainsstring{pages}\addspace\printtext{#1}}
+ {\mainsstring{pages}\addspace\printtext{#1}}%
}
\DeclareFieldFormat*{pagetotal}{\mkbibbrackets{\mkmlpagetotal[bookpagination]{#1}}}
\DeclareFieldFormat*{number}{\bibsstring{number}\addspace\printtext{#1}}
\DeclareFieldFormat[article,periodical]{number}{%
\iftoggle{bbx:shortnum}
{\mkbibparens{#1}}
- {\bibsstring{number}\addspace\printtext{#1}}
+ {\bibsstring{number}\addspace\printtext{#1}}%
}
\DeclareFieldFormat[patent]{number}{#1}
\DeclareFieldFormat*{url}{%
\iffieldundef{urlyear}
- {\mainlstring{urlalso}\addcolon\space\url{#1}}
- {\mainlstring{urlfrom}\addcolon\space\url{#1}}
+ {\mainlstring{urlalso}\addcolon\space\url{#1}}
+ {\mainlstring{urlfrom}\addcolon\space\url{#1}}%
}
\DeclareFieldFormat{doi}{%
- \printtext{DOI}\addcolon\space%
+ \printtext{DOI}\addcolon\space
\ifhyperref
- {\href{http://dx.doi.org/#1}{\nolinkurl{#1}}}
- {\nolinkurl{#1}}
+ {\href{https://doi.org/#1}{\nolinkurl{#1}}}
+ {\nolinkurl{#1}}%
}
\DeclareFieldFormat{howpublished}{\mkbibbrackets{#1}}
\DeclareFieldFormat[online]{howpublished}{%
\iffieldundef{howpublished}
{\mkbibbrackets{online}}
- {\mkbibbrackets{#1}}
+ {\mkbibbrackets{#1}}%
}
\DeclareFieldFormat{type}{%
\ifbibstring{#1}
{\mainlstring{#1}}
- {#1}
+ {#1}%
}
\DeclareFieldFormat{supervisor}{%
@@ -147,12 +171,12 @@
%We must handle more than one isbn and issn
\DeclareFieldFormat{isbn}{%
-%\renewcommand*{\do}[1]{\printtext{ISBN}\addspace#1\adddot\addspace}%
-\printtext{ISBN}\addspace#1}%
+ %\renewcommand*{\do}[1]{\printtext{ISBN}\addspace#1\adddot\addspace}%
+ \printtext{ISBN}\addspace#1}%
\DeclareFieldFormat{issn}{%
-\renewcommand*{\do}[1]{\printtext{ISSN}\addspace#1\adddot\addspace}%
-\docsvfield{issn}}%
+ \renewcommand*{\do}[1]{\printtext{ISSN}\addspace#1\adddot\addspace}%
+ \docsvfield{issn}}%
\DeclareFieldFormat{isan}{\printtext{ISAN}\addspace#1}
\DeclareFieldFormat{ismn}{\printtext{ISMN}\addspace#1}
@@ -208,28 +232,22 @@
\newbibmacro*{names:subsidiary}{%
\usebibmacro{byeditor}%
- \newunit%
+ \newunit
\usebibmacro{bytranslator}%
}
-\renewbibmacro*{editor}{%
- \ifboolexpr{
- test \ifuseeditor
- and
- not test {\ifnameundef{editor}}
- }
- {\printnames{editor}%
- \addspace%
- \mkbibparens{\usebibmacro{editorstrg}}%
- \clearname{editor}}%
- {}}
+% https://github.com/michal-h21/biblatex-iso690/issues/68#issuecomment-435650072
+\DeclareFieldFormat{editortype}{\mkbibparens{#1}}
+\DeclareDelimFormat{editortypedelim}{\addspace}
+
+
\newbibmacro*{thesissupervisor}{%
\ifnameundef{supervisor}
{}
{\printtext{\mainlstring{bysupervisor}}%
\addspace%
- \printnames{supervisor}}
+ \printnames{supervisor}}%
}
%titles
@@ -246,7 +264,7 @@
\printfield{#1subtitle}}%
\setunit{\addspace}}%
\printfield{#1titleaddon}%
- \newunit%
+ \newunit
}%
\newbibmacro{volume}{%
@@ -279,7 +297,7 @@
\newbibmacro{periodical:titles}{%
\usebibmacro{titles}{}{emph}%
- \newunit%
+ \newunit
\iffieldundef{issuetitle}
{\iffieldundef{journaltitle}
{}
@@ -346,18 +364,20 @@
%standard identifiers
\newbibmacro*{identifier}{%
- \printfield{isan}%
- \newunit%
- \printfield{isbn}%
- \newunit%
- \printfield{ismn}%
- \newunit%
- \printfield{isrn}%
- \newunit%
- \printfield{issn}%
- \newunit%
- \printfield{iswc}%
- \newunit%
+ \iftoggle{bbx:isbn}
+ {\printfield{isan}%
+ \newunit
+ \printfield{isbn}%
+ \newunit
+ \printfield{ismn}%
+ \newunit
+ \printfield{isrn}%
+ \newunit
+ \printfield{issn}%
+ \newunit
+ \printfield{iswc}%
+ \newunit}
+ {}%
}
%availability and access
@@ -373,9 +393,15 @@
\newbibmacro*{availability+access}{%
\iffieldundef{doi}
{\iffieldundef{eprint}
- {\printfield{url}}
- {\usebibmacro{from-eprint}}}
- {\usebibmacro{from-doi}}%
+ {\iftoggle{bbx:url}
+ {\printfield{url}}
+ {}}
+ {\iftoggle{bbx:eprint}
+ {\usebibmacro{from-eprint}}
+ {}}}
+ {\iftoggle{bbx:doi}
+ {\usebibmacro{from-doi}}
+ {}}%
}
%location
@@ -497,299 +523,299 @@
%bibliography drivers
\DeclareBibliographyDriver{book}{%
-\usebibmacro{bibindex}%
-\usebibmacro{begentry}%
-\usebibmacro{names:primary}%
-\setunit{\labelnamepunct}\newblock%
-\usebibmacro{multi:titles}%
-\setunit{\addspace}%
-\usebibmacro{medium-type}%
-\newunit\newblock%
-\printfield{edition}%
-\newunit\newblock%
-\usebibmacro{names:subsidiary}%
-\newunit\newblock%
-\usebibmacro{location+publisher+date}%
-\newunit%
-\printfield{version}%
-\setunit{\addspace}%
-\usebibmacro{urldate}%
-\newunit\newblock%
-\usebibmacro{series+number}%
-\newunit\newblock%
-\usebibmacro{identifier}%
-\newunit\newblock%
-\usebibmacro{availability+access}%
-\newunit\newblock%
-\usebibmacro{location}%
-\setunit{\addspace}%
-\iftoggle{bbx:totalpages}
- {\printfield{pagetotal}}
- {}%
-\newunit\newblock%
-\printfield{note}%
-\newunit\newblock%
-\setunit{\bibpagerefpunct}\newblock%
-\usebibmacro{pageref}%
-\usebibmacro{finentry}}%
+ \usebibmacro{bibindex}%
+ \usebibmacro{begentry}%
+ \usebibmacro{names:primary}%
+ \setunit{\labelnamepunct}\newblock
+ \usebibmacro{multi:titles}%
+ \setunit{\addspace}%
+ \usebibmacro{medium-type}%
+ \newunit\newblock
+ \printfield{edition}%
+ \newunit\newblock
+ \usebibmacro{names:subsidiary}%
+ \newunit\newblock
+ \usebibmacro{location+publisher+date}%
+ \newunit
+ \printfield{version}%
+ \setunit{\addspace}%
+ \usebibmacro{urldate}%
+ \newunit\newblock
+ \usebibmacro{series+number}%
+ \newunit\newblock
+ \usebibmacro{identifier}%
+ \newunit\newblock
+ \usebibmacro{availability+access}%
+ \newunit\newblock
+ \usebibmacro{location}%
+ \setunit{\addspace}%
+ \iftoggle{bbx:totalpages}
+ {\printfield{pagetotal}}
+ {}%
+ \newunit\newblock
+ \printfield{note}%
+ \newunit\newblock
+ \setunit{\bibpagerefpunct}\newblock
+ \usebibmacro{pageref}%
+ \usebibmacro{finentry}}
\DeclareBibliographyDriver{periodical}{%
-\usebibmacro{bibindex}%
-\usebibmacro{begentry}%
-% names macro just because of author-year style
-\usebibmacro{names:primary}%
-\setunit{\labelnamepunct}\newblock%%
-\usebibmacro{periodical:titles}%
-\setunit{\addspace}%
-\usebibmacro{medium-type}%
-\newunit\newblock
-\printfield{edition}%
-\newunit\newblock%
-\usebibmacro{location+publisher+date}%
-\setunit*{\addcomma\addspace}%
-\usebibmacro{serial:numeration}%
-\setunit{\addspace}%
-\usebibmacro{urldate}%
-\newunit\newblock%
-\usebibmacro{identifier}%
-\newunit\newblock%
-\usebibmacro{availability+access}%
-\newunit\newblock%
-\usebibmacro{location}%
-\newunit\newblock%
-\printfield{note}%
-\newunit\newblock%
-\setunit{\bibpagerefpunct}\newblock%
-\usebibmacro{pageref}%
-\usebibmacro{finentry}}%
+ \usebibmacro{bibindex}%
+ \usebibmacro{begentry}%
+ % names macro just because of author-year style
+ \usebibmacro{names:primary}%
+ \setunit{\labelnamepunct}\newblock
+ \usebibmacro{periodical:titles}%
+ \setunit{\addspace}%
+ \usebibmacro{medium-type}%
+ \newunit\newblock
+ \printfield{edition}%
+ \newunit\newblock
+ \usebibmacro{location+publisher+date}%
+ \setunit*{\addcomma\addspace}%
+ \usebibmacro{serial:numeration}%
+ \setunit{\addspace}%
+ \usebibmacro{urldate}%
+ \newunit\newblock
+ \usebibmacro{identifier}%
+ \newunit\newblock
+ \usebibmacro{availability+access}%
+ \newunit\newblock
+ \usebibmacro{location}%
+ \newunit\newblock
+ \printfield{note}%
+ \newunit\newblock
+ \setunit{\bibpagerefpunct}\newblock
+ \usebibmacro{pageref}%
+ \usebibmacro{finentry}}%
\DeclareBibliographyDriver{article}{%
-\usebibmacro{bibindex}%
-\usebibmacro{begentry}%
-\usebibmacro{names:primary}%
-\setunit{\labelnamepunct}\newblock%
-\usebibmacro{titles}{}{}%
-\newunit\newblock%
-\usebibmacro{titles}{journal}{emph}%
-\setunit{\addspace}%
-\usebibmacro{medium-type}%
-\newunit\newblock%
-\printfield{edition}%
-\newunit\newblock%
-\usebibmacro{date}
-\setunit*{\addcomma\addspace}%
-\usebibmacro{serial:numeration}%
-\setunit{\bibpagespunct}%
-\printfield{pages}%
-\setunit{\addspace}%
-\usebibmacro{urldate}%
-\newunit\newblock%
-\usebibmacro{identifier}%
-\newunit\newblock%
-\usebibmacro{availability+access}%
-\newunit\newblock%
-\usebibmacro{location}%
-\newunit\newblock%
-\printfield{note}%
-\setunit{\bibpagerefpunct}\newblock%
-\usebibmacro{pageref}%%
-\usebibmacro{finentry}}%
+ \usebibmacro{bibindex}%
+ \usebibmacro{begentry}%
+ \usebibmacro{names:primary}%
+ \setunit{\labelnamepunct}\newblock
+ \usebibmacro{titles}{}{}%
+ \newunit\newblock
+ \usebibmacro{titles}{journal}{emph}%
+ \setunit{\addspace}%
+ \usebibmacro{medium-type}%
+ \newunit\newblock
+ \printfield{edition}%
+ \newunit\newblock
+ \usebibmacro{date}
+ \setunit*{\addcomma\addspace}%
+ \usebibmacro{serial:numeration}%
+ \setunit{\bibpagespunct}%
+ \printfield{pages}%
+ \setunit{\addspace}%
+ \usebibmacro{urldate}%
+ \newunit\newblock
+ \usebibmacro{identifier}%
+ \newunit\newblock
+ \usebibmacro{availability+access}%
+ \newunit\newblock
+ \usebibmacro{location}%
+ \newunit\newblock
+ \printfield{note}%
+ \setunit{\bibpagerefpunct}\newblock
+ \usebibmacro{pageref}%
+ \usebibmacro{finentry}}%
\DeclareBibliographyDriver{inbook}{%
-\usebibmacro{bibindex}%
-\usebibmacro{begentry}%
-\usebibmacro{names:primary}%
-\setunit{\labelnamepunct}\newblock%
-\usebibmacro{titles}{}{}%
-\newunit\newblock%
-\usebibmacro{in:}%
-\printnames{bookauthor}%
-\newunit\newblock%
-\usebibmacro{host:titles}%
-\setunit{\addspace}%
-\usebibmacro{medium-type}%
-\newunit\newblock%
-\printfield{edition}%
-\newunit\newblock%
-\usebibmacro{names:subsidiary}%
-\newunit\newblock%
-\usebibmacro{location+publisher+date}%
-\setunit*{\addcomma\addspace}%
-\usebibmacro{book:numeration}%
-\setunit{\bibpagespunct}%
-\printfield{pages}%
-\newunit%
-\printfield{version}%
-\setunit{\addspace}%
-\usebibmacro{urldate}%
-\newunit\newblock%
-\usebibmacro{series+number}%
-\newunit\newblock%
-\usebibmacro{identifier}%
-\newunit\newblock%
-\usebibmacro{availability+access}%
-\newunit\newblock%
-\usebibmacro{location}%
-\newunit\newblock%
-\printfield{note}%
-\newunit\newblock%
-\setunit{\bibpagerefpunct}\newblock%
-\usebibmacro{pageref}%
-\usebibmacro{finentry}}%
+ \usebibmacro{bibindex}%
+ \usebibmacro{begentry}%
+ \usebibmacro{names:primary}%
+ \setunit{\labelnamepunct}\newblock
+ \usebibmacro{titles}{}{}%
+ \newunit\newblock
+ \usebibmacro{in:}%
+ \printnames{bookauthor}%
+ \newunit\newblock
+ \usebibmacro{host:titles}%
+ \setunit{\addspace}%
+ \usebibmacro{medium-type}%
+ \newunit\newblock
+ \printfield{edition}%
+ \newunit\newblock
+ \usebibmacro{names:subsidiary}%
+ \newunit\newblock
+ \usebibmacro{location+publisher+date}%
+ \setunit*{\addcomma\addspace}%
+ \usebibmacro{book:numeration}%
+ \setunit{\bibpagespunct}%
+ \printfield{pages}%
+ \newunit
+ \printfield{version}%
+ \setunit{\addspace}%
+ \usebibmacro{urldate}%
+ \newunit\newblock
+ \usebibmacro{series+number}%
+ \newunit\newblock
+ \usebibmacro{identifier}%
+ \newunit\newblock
+ \usebibmacro{availability+access}%
+ \newunit\newblock
+ \usebibmacro{location}%
+ \newunit\newblock
+ \printfield{note}%
+ \newunit\newblock
+ \setunit{\bibpagerefpunct}\newblock
+ \usebibmacro{pageref}%
+ \usebibmacro{finentry}}%
\DeclareBibliographyDriver{incollection}{%
-\usebibmacro{bibindex}%
-\usebibmacro{begentry}%
-\usebibmacro{names:primary}%
-\setunit{\labelnamepunct}\newblock%
-\usebibmacro{titles}{}{}%
-\newunit\newblock%
-\usebibmacro{in:}%
-\usebibmacro{editor}%
-\newunit\newblock%
-\usebibmacro{host:titles}%
-\setunit{\addspace}%
-\usebibmacro{medium-type}%
-\newunit\newblock%
-\printfield{edition}%
-\newunit\newblock%
-\usebibmacro{names:subsidiary}%
-\newunit\newblock%
-\usebibmacro{location+publisher+date}%
-% could number be even used in `incollection`?
-% It should be at some other place in this case
-\setunit*{\addcomma\addspace}%
-\usebibmacro{book:numeration}%
-\setunit{\bibpagespunct}%
-\printfield{pages}%
-\newunit%
-\printfield{version}%
-\setunit{\addspace}%
-\usebibmacro{urldate}%
-\newunit\newblock%
-\usebibmacro{series+number}%
-\newunit\newblock%
-\usebibmacro{identifier}%
-\newunit\newblock%
-\usebibmacro{availability+access}%
-\newunit\newblock%
-\usebibmacro{location}%
-\newunit\newblock%
-\printfield{note}%
-\newunit\newblock%
-\setunit{\bibpagerefpunct}\newblock%
-\usebibmacro{pageref}%
-\usebibmacro{finentry}}%
+ \usebibmacro{bibindex}%
+ \usebibmacro{begentry}%
+ \usebibmacro{names:primary}%
+ \setunit{\labelnamepunct}\newblock
+ \usebibmacro{titles}{}{}%
+ \newunit\newblock
+ \usebibmacro{in:}%
+ \usebibmacro{editor}%
+ \newunit\newblock
+ \usebibmacro{host:titles}%
+ \setunit{\addspace}%
+ \usebibmacro{medium-type}%
+ \newunit\newblock
+ \printfield{edition}%
+ \newunit\newblock
+ \usebibmacro{names:subsidiary}%
+ \newunit\newblock
+ \usebibmacro{location+publisher+date}%
+ % could number be even used in `incollection`?
+ % It should be at some other place in this case
+ \setunit*{\addcomma\addspace}%
+ \usebibmacro{book:numeration}%
+ \setunit{\bibpagespunct}%
+ \printfield{pages}%
+ \newunit
+ \printfield{version}%
+ \setunit{\addspace}%
+ \usebibmacro{urldate}%
+ \newunit\newblock
+ \usebibmacro{series+number}%
+ \newunit\newblock
+ \usebibmacro{identifier}%
+ \newunit\newblock
+ \usebibmacro{availability+access}%
+ \newunit\newblock
+ \usebibmacro{location}%
+ \newunit\newblock
+ \printfield{note}%
+ \newunit\newblock
+ \setunit{\bibpagerefpunct}\newblock
+ \usebibmacro{pageref}%
+ \usebibmacro{finentry}}%
\DeclareBibliographyDriver{online}{%
-\usebibmacro{bibindex}%
-\usebibmacro{begentry}%
-\usebibmacro{names:primary}%
-\setunit{\labelnamepunct}\newblock%
-\usebibmacro{multi:titles}%
-\setunit{\addspace}%
-\usebibmacro{medium-type}%
-\newunit\newblock%
-\printfield{edition}%
-\newunit\newblock%
-\usebibmacro{names:subsidiary}%
-\newunit\newblock%
-\usebibmacro{location+publisher+date}%
-\newunit%
-\printfield{version}%
-\setunit{\addspace}%
-\usebibmacro{urldate}%
-\newunit\newblock%
-\usebibmacro{series+number}%
-\newunit\newblock%
-\usebibmacro{identifier}%
-\newunit\newblock%
-\usebibmacro{availability+access}%
-\setunit{\addspace}%
-\iftoggle{bbx:totalpages}
- {\printfield{pagetotal}}
- {}%
-\printfield{note}%
-\newunit\newblock%
-\setunit{\bibpagerefpunct}\newblock%
-\usebibmacro{pageref}%%
-\usebibmacro{finentry}}%
+ \usebibmacro{bibindex}%
+ \usebibmacro{begentry}%
+ \usebibmacro{names:primary}%
+ \setunit{\labelnamepunct}\newblock
+ \usebibmacro{multi:titles}%
+ \setunit{\addspace}%
+ \usebibmacro{medium-type}%
+ \newunit\newblock
+ \printfield{edition}%
+ \newunit\newblock
+ \usebibmacro{names:subsidiary}%
+ \newunit\newblock
+ \usebibmacro{location+publisher+date}%
+ \newunit
+ \printfield{version}%
+ \setunit{\addspace}%
+ \usebibmacro{urldate}%
+ \newunit\newblock
+ \usebibmacro{series+number}%
+ \newunit\newblock
+ \usebibmacro{identifier}%
+ \newunit\newblock
+ \usebibmacro{availability+access}%
+ \setunit{\addspace}%
+ \iftoggle{bbx:totalpages}
+ {\printfield{pagetotal}}
+ {}%
+ \printfield{note}%
+ \newunit\newblock
+ \setunit{\bibpagerefpunct}\newblock
+ \usebibmacro{pageref}%
+ \usebibmacro{finentry}}%
\DeclareBibliographyDriver{thesis}{%
-\usebibmacro{bibindex}%
-\usebibmacro{begentry}%
-\usebibmacro{names:primary}%
-\setunit{\labelnamepunct}\newblock%%
-\usebibmacro{titles}{}{emph}%
-\setunit{\addspace}%
-\usebibmacro{medium-type}%
-\newunit\newblock%
-\usebibmacro{location+publisher+date}%
-\newunit%
-\printfield{version}%
-\setunit{\addspace}%
-\usebibmacro{urldate}%
-\newunit\newblock%
-\usebibmacro{identifier}%
-\newunit\newblock%
-\iftoggle{bbx:thesisinfoinnotes}
- {}
- {\printfield{type}
- \newunit\newblock%
- \printlist{institution}%
- \newunit\newblock%
- \usebibmacro{thesissupervisor}}%
-\newunit\newblock%
-\usebibmacro{availability+access}
-\setunit{\addspace}%
-\iftoggle{bbx:totalpages}
- {\printfield{pagetotal}}
- {}%
-\newunit\newblock%
-\iftoggle{bbx:thesisinfoinnotes}
- {\printfield{type}
- \newunit\newblock%
- \printlist{institution}%
- \newunit\newblock%
- \usebibmacro{thesissupervisor}}
- {}%
-\newunit\newblock%
-\printfield{note}%
-\newunit\newblock%
-\setunit{\bibpagerefpunct}\newblock%
-\usebibmacro{pageref}%
-\usebibmacro{finentry}}%
+ \usebibmacro{bibindex}%
+ \usebibmacro{begentry}%
+ \usebibmacro{names:primary}%
+ \setunit{\labelnamepunct}\newblock
+ \usebibmacro{titles}{}{emph}%
+ \setunit{\addspace}%
+ \usebibmacro{medium-type}%
+ \newunit\newblock
+ \usebibmacro{location+publisher+date}%
+ \newunit
+ \printfield{version}%
+ \setunit{\addspace}%
+ \usebibmacro{urldate}%
+ \newunit\newblock
+ \usebibmacro{identifier}%
+ \newunit\newblock
+ \iftoggle{bbx:thesisinfoinnotes}
+ {}
+ {\printfield{type}
+ \newunit\newblock
+ \printlist{institution}%
+ \newunit\newblock
+ \usebibmacro{thesissupervisor}}%
+ \newunit\newblock
+ \usebibmacro{availability+access}%
+ \setunit{\addspace}%
+ \iftoggle{bbx:totalpages}
+ {\printfield{pagetotal}}
+ {}%
+ \newunit\newblock
+ \iftoggle{bbx:thesisinfoinnotes}
+ {\printfield{type}
+ \newunit\newblock
+ \printlist{institution}%
+ \newunit\newblock
+ \usebibmacro{thesissupervisor}}
+ {}%
+ \newunit\newblock
+ \printfield{note}%
+ \newunit\newblock
+ \setunit{\bibpagerefpunct}\newblock
+ \usebibmacro{pageref}%
+ \usebibmacro{finentry}}%
\DeclareBibliographyDriver{patent}{%
-\usebibmacro{bibindex}%
-\usebibmacro{begentry}%
-\usebibmacro{names:primary}%
-\setunit{\labelnamepunct}\newblock%%
-\usebibmacro{titles}{}{emph}%
-\newunit\newblock%
-\usebibmacro{names:subsidiary}%
-\newunit\newblock%
-\printfield{classification}%
-\newunit\newblock%
-\printlist{location}%
-\newunit\newblock%
-\iffieldundef{type}
- {}
- {\printfield{type}%
- \setunit*{\addcomma\space}}%
-\printfield{number}%
-\newunit\newblock%
-\usebibmacro{fulldate}%
-\setunit{\addspace}%
-\usebibmacro{urldate}%
-\newunit\newblock%
-\printfield{note}%
-\newunit\newblock%
-\usebibmacro{availability+access}%
-\newunit\newblock%
-\setunit{\bibpagerefpunct}\newblock%
-\usebibmacro{pageref}%
-\usebibmacro{finentry}}%
+ \usebibmacro{bibindex}%
+ \usebibmacro{begentry}%
+ \usebibmacro{names:primary}%
+ \setunit{\labelnamepunct}\newblock
+ \usebibmacro{titles}{}{emph}%
+ \newunit\newblock
+ \usebibmacro{names:subsidiary}%
+ \newunit\newblock
+ \printfield{classification}%
+ \newunit\newblock
+ \printlist{location}%
+ \newunit\newblock
+ \iffieldundef{type}
+ {}
+ {\printfield{type}%
+ \setunit*{\addcomma\space}}%
+ \printfield{number}%
+ \newunit\newblock
+ \usebibmacro{fulldate}%
+ \setunit{\addspace}%
+ \usebibmacro{urldate}%
+ \newunit\newblock
+ \printfield{note}%
+ \newunit\newblock
+ \usebibmacro{availability+access}%
+ \newunit\newblock
+ \setunit{\bibpagerefpunct}\newblock
+ \usebibmacro{pageref}%
+ \usebibmacro{finentry}}%
%bibliography aliases
diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-iso690/polish-iso.lbx b/macros/latex/contrib/biblatex-contrib/biblatex-iso690/polish-iso.lbx
new file mode 100644
index 0000000000..9384b047ae
--- /dev/null
+++ b/macros/latex/contrib/biblatex-contrib/biblatex-iso690/polish-iso.lbx
@@ -0,0 +1,18 @@
+\ProvidesFile{polish-iso.lbx}
+[2016/05/13 v0.3.1 biblatex localization]
+
+\InheritBibliographyExtras{polish}
+\InheritBibliographyStrings{polish}
+
+\DeclareBibliographyStrings{%
+ at = {{w}%
+ {w}},
+ bysupervisor = {{promotor}%
+ {promotor}},
+ urlfrom = {{dostępne z}%
+ {dostępne z}},
+ urlalso = {{dostępne także z}%
+ {dostępne także z}},
+}
+
+\endinput
diff --git a/macros/latex/contrib/modiagram/README b/macros/latex/contrib/modiagram/README
index 31c6a50b81..9dfa85bee4 100644
--- a/macros/latex/contrib/modiagram/README
+++ b/macros/latex/contrib/modiagram/README
@@ -1,5 +1,5 @@
--------------------------------------------------------------------------
-the MODIAGRAM package 2015/09/23 v0.2g
+the MODIAGRAM package 2019/10/31 v0.3
easy creation of molecular orbital diagrams
@@ -11,7 +11,7 @@ E-Mail: contact@mychemistry.eu
If you have any ideas, questions, suggestions or bugs to report, please
feel free to contact me.
--------------------------------------------------------------------------
-Copyright 2011--2015 Clemens Niederberger
+Copyright 2011--2019 Clemens Niederberger
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/modiagram/modiagram.sty b/macros/latex/contrib/modiagram/modiagram.sty
index b240da4c61..2064105ae6 100644
--- a/macros/latex/contrib/modiagram/modiagram.sty
+++ b/macros/latex/contrib/modiagram/modiagram.sty
@@ -11,7 +11,7 @@
% If you have any ideas, questions, suggestions or bugs to report, please
% feel free to contact me.
% --------------------------------------------------------------------------
-% Copyright 2011--2015 Clemens Niederberger
+% Copyright 2011--2019 Clemens Niederberger
%
% This work may be distributed and/or modified under the
% conditions of the LaTeX Project Public License, either version 1.3
@@ -28,863 +28,890 @@
% This work consists of the files modiagram.sty, modiagram_en.tex,
% README and the derived file modiagram_en.pdf.
% --------------------------------------------------------------------------
-\RequirePackage{ expl3 , xparse , l3keys2e , tikz , chemgreek }
+\RequirePackage {expl3,xparse,l3keys2e,tikz,chemgreek}
\usetikzlibrary{calc,arrows}
\ProvidesExplPackage
{modiagram}
- {2015/09/23}
- {0.2g}
+ {2019/10/31}
+ {0.3}
{easy creation of molecular orbital diagrams}
% --------------------------------------------------------------------------- %
% error messages
-\msg_set:nnn { MOdiagram } { missing-atom }
+\msg_new:nnn {modiagram} {missing-atom}
{
- You~need~to~specify~the~left~and~right~atom~first~before~you~can~use~
- \token_to_str:N \molecule \c_space_tl \msg_line_context: .
+ You~ need~ to~ specify~ the~ left~ and~ right~ atom~ first~ before~
+ you~ can~ use~ \token_to_str:N \molecule \c_space_tl \msg_line_context: .
}
-\msg_set:nnn { MOdiagram } { missing-AO }
+\msg_new:nnn {modiagram} {missing-AO}
{
- You~need~to~specify~both~#2~AOs~first~before~you~can~use~
+ You~ need~ to~ specify~ both~ #2~ AOs~ first~ before~ you~ can~ use~
#1~ \msg_line_context: .
}
-\msg_set:nnn { MOdiagram } { electron-placement }
+\msg_new:nnn {modiagram} {electron-placement}
{
- The~value~for~the~electron~placement~must~be~between~0~and~1~
- \msg_line_context: .
+ The~ value~ for~ the~ electron~ placement~ must~ be~ between~ 0~
+ and~ 1~ \msg_line_context: .
}
+\msg_new:nnn {modiagram} {deprecated}
+ { The~ #1~ `#2'~ is~ deprecated.~ Use~ `#3'~ instead. }
+
% --------------------------------------------------------------------------- %
% temporary variables
-\tl_new:N \l__MOdiagram_tmpa_tl
-\tl_new:N \l__MOdiagram_tmpb_tl
-\dim_new:N \l__MOdiagram_tmpa_dim
-\fp_new:N \l__MOdiagram_tmpa_fp
+\tl_new:N \l__modiagram_tmpa_tl
+\tl_new:N \l__modiagram_tmpb_tl
+\dim_new:N \l__modiagram_tmpa_dim
+\fp_new:N \l__modiagram_tmpa_fp
% --------------------------------------------------------------------------- %
% variants of expl3 kernel commands:
-\cs_generate_variant:Nn \str_case:nnF { V }
-\cs_generate_variant:Nn \dim_compare:nNnTF { cNc }
+\cs_generate_variant:Nn \str_case:nnF {V}
+\cs_generate_variant:Nn \dim_compare:nNnTF {vNv}
% --------------------------------------------------------------------------- %
% main environment
-\NewDocumentEnvironment { MOdiagram } { o g }
- {
- \cs_set_eq:NN \atom \__MOdiagram_atom:
- \cs_set_eq:NN \molecule \__MOdiagram_molecule:
- \cs_set_eq:NN \AO \__MOdiagram_arbitrary_AO:
- \cs_set_eq:NN \EnergyAxis \__MOdiagram_EnergyAxis:
- \dim_gzero:N \g__MOdiagram_min_energy_dim
- \dim_gzero:N \g__MOdiagram_max_energy_dim
- \int_gzero:N \g__MOdiagram_AO_name_int
- \IfNoValueF { #1 } { \keys_set:nn { MOdiagram / diagram } { #1 } }
- \__MOdiagram_set_labels:
- \__MOdiagram_tikzpicture:n { }
+\cs_new_protected:Npn \modiagram_start_environment:n #1
+ {
+ \cs_set_eq:NN \atom \__modiagram_atom:
+ \cs_set_eq:NN \molecule \__modiagram_molecule:
+ \cs_set_eq:NN \AO \__modiagram_arbitrary_AO:
+ \cs_set_eq:NN \EnergyAxis \__modiagram_EnergyAxis:
+ \dim_gzero:N \g__modiagram_min_energy_dim
+ \dim_gzero:N \g__modiagram_max_energy_dim
+ \int_gzero:N \g__modiagram_AO_name_int
+ \keys_set:nn {modiagram/diagram} {#1}
+ \__modiagram_set_labels:
+ \__modiagram_tikzpicture:n { }
\char_set_catcode_letter:N \:
\char_set_catcode_other:N \;
}
+
+\cs_new_protected:Npn \modiagram_end_environment:
{
- \bool_if:NT \l__MOdiagram_names_bool
+ \bool_if:NT \l__modiagram_names_bool
{
- \__MOdiagram_node:f { \tl_use:N \l__MOdiagram_names_style_tl }
+ \__modiagram_node:f { \tl_use:N \l__modiagram_names_style_tl }
at
(
- \l__MOdiagram_left_atom_position_dim ,
- \g__MOdiagram_min_energy_dim - 1cm
+ \l__modiagram_left_atom_position_dim ,
+ \g__modiagram_min_energy_dim - 1cm
)
- { \tl_use:N \l__MOdiagram_atom_left_name_tl } ;
- \__MOdiagram_node:f { \tl_use:N \l__MOdiagram_names_style_tl }
+ { \tl_use:N \l__modiagram_atom_left_name_tl } ;
+ \__modiagram_node:f { \tl_use:N \l__modiagram_names_style_tl }
at
(
- \l__MOdiagram_molecule_position_dim ,
- \g__MOdiagram_min_energy_dim - 1cm
+ \l__modiagram_molecule_position_dim ,
+ \g__modiagram_min_energy_dim - 1cm
)
- { \tl_use:N \l__MOdiagram_molecule_name_tl } ;
- \__MOdiagram_node:f { \tl_use:N \l__MOdiagram_names_style_tl }
+ { \tl_use:N \l__modiagram_molecule_name_tl } ;
+ \__modiagram_node:f { \tl_use:N \l__modiagram_names_style_tl }
at
(
- \l__MOdiagram_left_atom_position_dim
- + \l__MOdiagram_inter_atom_distance_dim ,
- \g__MOdiagram_min_energy_dim - 1cm
+ \l__modiagram_left_atom_position_dim
+ + \l__modiagram_inter_atom_distance_dim ,
+ \g__modiagram_min_energy_dim - 1cm
)
- { \tl_use:N \l__MOdiagram_atom_right_name_tl } ;
+ { \tl_use:N \l__modiagram_atom_right_name_tl } ;
}
\endtikzpicture
}
-\bool_new:N \l__MOdiagram_AO_square_bool
-\bool_new:N \l__MOdiagram_AO_round_bool
-\bool_new:N \l__MOdiagram_AO_circle_bool
-\bool_new:N \l__MOdiagram_AO_fancy_bool
-\bool_new:N \l__MOdiagram_AO_labels_bool
-\bool_new:N \l__MOdiagram_names_bool
+\NewDocumentEnvironment {modiagram} {O{}}
+ { \modiagram_start_environment:n {#1} }
+ { \modiagram_end_environment: }
+
+\NewDocumentEnvironment {MOdiagram} {O{}}
+ {
+ \msg_warning:nnnnn {modiagram} {deprecated}
+ {environment}
+ {MOdiagram}
+ {modiagram}
+ \modiagram_start_environment:n {#1}
+ }
+ { \modiagram_end_environment: }
+
+\bool_new:N \l__modiagram_AO_square_bool
+\bool_new:N \l__modiagram_AO_round_bool
+\bool_new:N \l__modiagram_AO_circle_bool
+\bool_new:N \l__modiagram_AO_fancy_bool
+\bool_new:N \l__modiagram_AO_labels_bool
+\bool_new:N \l__modiagram_names_bool
-\tl_new:N \l__MOdiagram_names_style_tl
-\tl_set:Nn \l__MOdiagram_names_style_tl { anchor=base }
+\tl_new:N \l__modiagram_names_style_tl
+\tl_set:Nn \l__modiagram_names_style_tl {anchor=base}
-\tl_new:N \l__MOdiagram_lines_tl
-\tl_set:Nn \l__MOdiagram_lines_tl { dotted }
+\tl_new:N \l__modiagram_lines_tl
+\tl_set:Nn \l__modiagram_lines_tl {dotted}
-\tl_new:N \l__MOdiagram_orbital_label_fontsize_tl
-\tl_new:N \l__MOdiagram_orbital_label_style_tl
+\tl_new:N \l__modiagram_orbital_label_fontsize_tl
+\tl_new:N \l__modiagram_orbital_label_style_tl
-\dim_new:N \l__MOdiagram_AO_width_dim
-\dim_set:Nn \l__MOdiagram_AO_width_dim { 10pt }
+\dim_new:N \l__modiagram_AO_width_dim
+\dim_set:Nn \l__modiagram_AO_width_dim {10pt}
-\tl_new:N \l__MOdiagram_AO_up_electron_tl
-\tl_set:Nn \l__MOdiagram_AO_up_electron_tl { .4 }
-\tl_new:N \l__MOdiagram_AO_down_electron_tl
-\tl_set:Nn \l__MOdiagram_AO_down_electron_tl { .6 }
+\tl_new:N \l__modiagram_AO_up_electron_tl
+\tl_set:Nn \l__modiagram_AO_up_electron_tl {.4}
+\tl_new:N \l__modiagram_AO_down_electron_tl
+\tl_set:Nn \l__modiagram_AO_down_electron_tl {.6}
-\dim_new:N \l__MOdiagram_left_atom_position_dim
-\dim_set:Nn \l__MOdiagram_left_atom_position_dim { 1cm }
-\dim_new:N \l__MOdiagram_inter_atom_distance_dim
-\dim_set:Nn \l__MOdiagram_inter_atom_distance_dim { 4cm }
-\dim_new:N \l__MOdiagram_molecule_position_dim
+\dim_new:N \l__modiagram_left_atom_position_dim
+\dim_set:Nn \l__modiagram_left_atom_position_dim {1cm}
+\dim_new:N \l__modiagram_inter_atom_distance_dim
+\dim_set:Nn \l__modiagram_inter_atom_distance_dim {4cm}
+\dim_new:N \l__modiagram_molecule_position_dim
-\dim_new:N \g__MOdiagram_min_energy_dim
-\dim_new:N \g__MOdiagram_max_energy_dim
+\dim_new:N \g__modiagram_min_energy_dim
+\dim_new:N \g__modiagram_max_energy_dim
-\dim_new:N \l__MOdiagram_energy_gain_dim
-\dim_new:N \l__MOdiagram_energy_loss_dim
+\dim_new:N \l__modiagram_energy_gain_dim
+\dim_new:N \l__modiagram_energy_loss_dim
% detect lowest and highest orbital so we can draw the appropriate energy axis:
-\cs_new_protected:Npn \__MOdiagram_energy_range:N #1
+\cs_new_protected:Npn \__modiagram_energy_range:N #1
{
- \dim_set:Nn \l__MOdiagram_tmpa_dim { #1 }
- \dim_compare:nT { \l__MOdiagram_tmpa_dim < \g__MOdiagram_min_energy_dim }
- { \dim_gset_eq:NN \g__MOdiagram_min_energy_dim \l__MOdiagram_tmpa_dim }
- \dim_compare:nT { \l__MOdiagram_tmpa_dim > \g__MOdiagram_max_energy_dim }
- { \dim_gset_eq:NN \g__MOdiagram_max_energy_dim \l__MOdiagram_tmpa_dim }
+ \dim_set:Nn \l__modiagram_tmpa_dim {#1}
+ \dim_compare:nT { \l__modiagram_tmpa_dim < \g__modiagram_min_energy_dim }
+ { \dim_gset_eq:NN \g__modiagram_min_energy_dim \l__modiagram_tmpa_dim }
+ \dim_compare:nT { \l__modiagram_tmpa_dim > \g__modiagram_max_energy_dim }
+ { \dim_gset_eq:NN \g__modiagram_max_energy_dim \l__modiagram_tmpa_dim }
}
-\cs_generate_variant:Nn \__MOdiagram_energy_range:N { n }
% split energy levels for creating the MO; we need to detect wether the left
% or the right AO is the lower or higher one, respectively
-\cs_new_protected:Npn \__MOdiagram_split_energy:NNN #1#2#3
+\cs_new_protected:Npn \__modiagram_split_energy:nNN #1#2#3
{
- \dim_compare:cNcTF
- { l__MOdiagram_atom_left_#1_dim } < { l__MOdiagram_atom_right_#1_dim }
+ \dim_compare:vNvTF
+ { l__modiagram_atom_left_#1_dim } < { l__modiagram_atom_right_#1_dim }
{
- \dim_set_eq:Nc \l__MOdiagram_energy_gain_dim
- { l__MOdiagram_atom_left_#1_dim }
- \dim_sub:Nn \l__MOdiagram_energy_gain_dim { #2 }
- \dim_set_eq:Nc \l__MOdiagram_energy_loss_dim
- { l__MOdiagram_atom_right_#1_dim }
- \dim_add:Nn \l__MOdiagram_energy_loss_dim { #3 }
+ \dim_set_eq:Nc \l__modiagram_energy_gain_dim
+ { l__modiagram_atom_left_#1_dim }
+ \dim_sub:Nn \l__modiagram_energy_gain_dim {#2}
+ \dim_set_eq:Nc \l__modiagram_energy_loss_dim
+ { l__modiagram_atom_right_#1_dim }
+ \dim_add:Nn \l__modiagram_energy_loss_dim {#3}
}
{
- \dim_set_eq:Nc \l__MOdiagram_energy_gain_dim
- { l__MOdiagram_atom_right_#1_dim }
- \dim_sub:Nn \l__MOdiagram_energy_gain_dim { #2 }
- \dim_set_eq:Nc \l__MOdiagram_energy_loss_dim
- { l__MOdiagram_atom_left_#1_dim }
- \dim_add:Nn \l__MOdiagram_energy_loss_dim { #3 }
+ \dim_set_eq:Nc \l__modiagram_energy_gain_dim
+ { l__modiagram_atom_right_#1_dim }
+ \dim_sub:Nn \l__modiagram_energy_gain_dim {#2}
+ \dim_set_eq:Nc \l__modiagram_energy_loss_dim
+ { l__modiagram_atom_left_#1_dim }
+ \dim_add:Nn \l__modiagram_energy_loss_dim {#3}
}
}
-\cs_generate_variant:Nn \__MOdiagram_split_energy:NNN { nNN }
% position the spin-up/spin-down el:
-\cs_new_protected:Npn \__MOdiagram_AO_place_electron:nn #1#2
+\cs_new_protected:Npn \__modiagram_AO_place_electron:nn #1#2
{
- \fp_compare:nNnT { #2 } < { 0 }
- { \msg_error:nn { MOdiagram } { electron-placement } }
- \fp_compare:nNnT { abs( #2 ) } > { 1 }
- { \msg_error:nn { MOdiagram } { electron-placement } }
- \bool_if:nTF { #1 }
- { \tl_set:Nn \l__MOdiagram_AO_down_electron_tl { #2 } }
- { \tl_set:Nn \l__MOdiagram_AO_up_electron_tl { #2 } }
+ \fp_compare:nNnT {#2} < {0}
+ { \msg_error:nn {modiagram} {electron-placement} }
+ \fp_compare:nNnT { abs(#2) } > {1}
+ { \msg_error:nn {modiagram} {electron-placement} }
+ \bool_if:nTF {#1}
+ { \tl_set:Nn \l__modiagram_AO_down_electron_tl {#2} }
+ { \tl_set:Nn \l__modiagram_AO_up_electron_tl {#2} }
}
-\cs_generate_variant:Nn \__MOdiagram_AO_place_electron:nn { nx }
+\cs_generate_variant:Nn \__modiagram_AO_place_electron:nn {nx}
-\cs_new_protected:Npn \__MOdiagram_AO_place_electrons:n #1
+\cs_new_protected:Npn \__modiagram_AO_place_electrons:n #1
{
- \fp_set:Nn \l__MOdiagram_tmpa_fp { .5 * ( 1 - #1 ) }
- \__MOdiagram_AO_place_electron:nx { 0 } { \fp_to_tl:N \l__MOdiagram_tmpa_fp }
- \fp_set:Nn \l__MOdiagram_tmpa_fp { .5 * ( 1 + #1 ) }
- \__MOdiagram_AO_place_electron:nx { 1 } { \fp_to_tl:N \l__MOdiagram_tmpa_fp }
+ \fp_set:Nn \l__modiagram_tmpa_fp { .5 * ( 1 - #1 ) }
+ \__modiagram_AO_place_electron:nx {0} { \fp_to_tl:N \l__modiagram_tmpa_fp }
+ \fp_set:Nn \l__modiagram_tmpa_fp { .5 * ( 1 + #1 ) }
+ \__modiagram_AO_place_electron:nx {1} { \fp_to_tl:N \l__modiagram_tmpa_fp }
}
% place the right atom
-\cs_new_protected:Npn \__MOdiagram_molecule_position:n #1
+\cs_new_protected:Npn \__modiagram_molecule_position:n #1
{
- \fp_set:Nn \l__MOdiagram_tmpa_fp { .5 * \dim_to_fp:n {#1} }
- \dim_set:Nn \l__MOdiagram_molecule_position_dim
- { \fp_to_dim:N \l__MOdiagram_tmpa_fp + \l__MOdiagram_left_atom_position_dim }
+ \fp_set:Nn \l__modiagram_tmpa_fp { .5 * \dim_to_fp:n {#1} }
+ \dim_set:Nn \l__modiagram_molecule_position_dim
+ { \fp_to_dim:N \l__modiagram_tmpa_fp + \l__modiagram_left_atom_position_dim }
}
-\cs_generate_variant:Nn \__MOdiagram_molecule_position:n { f }
+\cs_generate_variant:Nn \__modiagram_molecule_position:n {f}
-\__MOdiagram_molecule_position:f
- { \dim_use:N \l__MOdiagram_inter_atom_distance_dim }
+\__modiagram_molecule_position:f
+ { \dim_use:N \l__modiagram_inter_atom_distance_dim }
% set up keys for the environment
-\keys_define:nn { MOdiagram / diagram }
+\keys_define:nn {modiagram/diagram}
{
style .choice: ,
style / plain .code:n =
{
- \bool_set_false:N \l__MOdiagram_AO_square_bool
- \bool_set_false:N \l__MOdiagram_AO_round_bool
- \bool_set_false:N \l__MOdiagram_AO_circle_bool
- \bool_set_false:N \l__MOdiagram_AO_fancy_bool
- \tl_set:Nn \l__MOdiagram_lines_tl { dotted }
+ \bool_set_false:N \l__modiagram_AO_square_bool
+ \bool_set_false:N \l__modiagram_AO_round_bool
+ \bool_set_false:N \l__modiagram_AO_circle_bool
+ \bool_set_false:N \l__modiagram_AO_fancy_bool
+ \tl_set:Nn \l__modiagram_lines_tl { dotted }
} ,
style / square .code:n =
{
- \bool_set_true:N \l__MOdiagram_AO_square_bool
- \bool_set_false:N \l__MOdiagram_AO_round_bool
- \bool_set_false:N \l__MOdiagram_AO_circle_bool
- \bool_set_false:N \l__MOdiagram_AO_fancy_bool
- \tl_set:Nn \l__MOdiagram_lines_tl { gray }
+ \bool_set_true:N \l__modiagram_AO_square_bool
+ \bool_set_false:N \l__modiagram_AO_round_bool
+ \bool_set_false:N \l__modiagram_AO_circle_bool
+ \bool_set_false:N \l__modiagram_AO_fancy_bool
+ \tl_set:Nn \l__modiagram_lines_tl { gray }
} ,
style / circle .code:n =
{
- \bool_set_false:N \l__MOdiagram_AO_square_bool
- \bool_set_false:N \l__MOdiagram_AO_round_bool
- \bool_set_true:N \l__MOdiagram_AO_circle_bool
- \bool_set_false:N \l__MOdiagram_AO_fancy_bool
- \tl_set:Nn \l__MOdiagram_lines_tl { gray }
+ \bool_set_false:N \l__modiagram_AO_square_bool
+ \bool_set_false:N \l__modiagram_AO_round_bool
+ \bool_set_true:N \l__modiagram_AO_circle_bool
+ \bool_set_false:N \l__modiagram_AO_fancy_bool
+ \tl_set:Nn \l__modiagram_lines_tl { gray }
} ,
style / round .code:n =
{
- \bool_set_true:N \l__MOdiagram_AO_square_bool
- \bool_set_true:N \l__MOdiagram_AO_round_bool
- \bool_set_false:N \l__MOdiagram_AO_circle_bool
- \bool_set_false:N \l__MOdiagram_AO_fancy_bool
- \tl_set:Nn \l__MOdiagram_lines_tl { gray }
+ \bool_set_true:N \l__modiagram_AO_square_bool
+ \bool_set_true:N \l__modiagram_AO_round_bool
+ \bool_set_false:N \l__modiagram_AO_circle_bool
+ \bool_set_false:N \l__modiagram_AO_fancy_bool
+ \tl_set:Nn \l__modiagram_lines_tl { gray }
} ,
style / fancy .code:n =
{
- \bool_set_true:N \l__MOdiagram_AO_square_bool
- \bool_set_true:N \l__MOdiagram_AO_round_bool
- \bool_set_false:N \l__MOdiagram_AO_circle_bool
- \bool_set_true:N \l__MOdiagram_AO_fancy_bool
- \tl_set:Nn \l__MOdiagram_lines_tl { densely~dashed }
+ \bool_set_true:N \l__modiagram_AO_square_bool
+ \bool_set_true:N \l__modiagram_AO_round_bool
+ \bool_set_false:N \l__modiagram_AO_circle_bool
+ \bool_set_true:N \l__modiagram_AO_fancy_bool
+ \tl_set:Nn \l__modiagram_lines_tl { densely~dashed }
} ,
- lines .tl_set:N = \l__MOdiagram_lines_tl ,
+ lines .tl_set:N = \l__modiagram_lines_tl ,
distance .code:n =
{
- \dim_set:Nn \l__MOdiagram_inter_atom_distance_dim { #1 }
- \__MOdiagram_molecule_position:n { #1 }
+ \dim_set:Nn \l__modiagram_inter_atom_distance_dim {#1}
+ \__modiagram_molecule_position:n {#1}
} ,
- AO-width .tl_set:N = \l__MOdiagram_AO_width_dim ,
- up-el-pos .code:n = \__MOdiagram_AO_place_electron:nn { 0 } { #1 } ,
- down-el-pos .code:n = \__MOdiagram_AO_place_electron:nn { 1 } { #1 } ,
- el-sep .code:n = \__MOdiagram_AO_place_electrons:n { #1 } ,
- labels .bool_set:N = \l__MOdiagram_AO_labels_bool ,
- names .bool_set:N = \l__MOdiagram_names_bool ,
- names-style .tl_set:N = \l__MOdiagram_names_style_tl ,
+ AO-width .tl_set:N = \l__modiagram_AO_width_dim ,
+ up-el-pos .code:n = \__modiagram_AO_place_electron:nn {0} {#1} ,
+ down-el-pos .code:n = \__modiagram_AO_place_electron:nn {1} {#1} ,
+ el-sep .code:n = \__modiagram_AO_place_electrons:n {#1} ,
+ labels .bool_set:N = \l__modiagram_AO_labels_bool ,
+ names .bool_set:N = \l__modiagram_names_bool ,
+ names-style .tl_set:N = \l__modiagram_names_style_tl ,
names-style-add .code:n =
- { \tl_put_right:Nn \l__MOdiagram_names_style_tl { , #1 } } ,
- labels-fs .tl_set:N = \l__MOdiagram_orbital_label_fontsize_tl ,
- labels-style .tl_set:N = \l__MOdiagram_orbital_label_style_tl
+ { \tl_put_right:Nn \l__modiagram_names_style_tl { , #1 } } ,
+ labels-fs .tl_set:N = \l__modiagram_orbital_label_fontsize_tl ,
+ labels-style .tl_set:N = \l__modiagram_orbital_label_style_tl
}
-\ProcessKeysOptions { MOdiagram / diagram }
+\ProcessKeysOptions { modiagram / diagram }
% --------------------------------------------------------------------------- %
% setup command
-\NewDocumentCommand \MOsetup { m }
- { \keys_set:nn { MOdiagram / diagram } { #1 } }
+\NewDocumentCommand \setmodiagram {+m}
+ { \keys_set:nn {modiagram/diagram} {#1} }
+
+\NewDocumentCommand \MOsetup {+m}
+ {
+ \msg_warning:nnnnn {modiagram} {deprecated}
+ {command}
+ {\MOsetup}
+ {\setmodiagram}
+ \keys_set:nn {modiagram/diagram} {#1}
+ }
% --------------------------------------------------------------------------- %
% draw AOs
-\tl_new:N \l__MOdiagram_atom_left_name_tl
-\tl_new:N \l__MOdiagram_atom_right_name_tl
-
-\bool_new:N \l__MOdiagram_left_atom_placed_bool
-\bool_set_false:N \l__MOdiagram_left_atom_placed_bool
-\bool_new:N \l__MOdiagram_right_atom_placed_bool
-\bool_set_false:N \l__MOdiagram_right_atom_placed_bool
-
-\NewDocumentCommand \__MOdiagram_atom: { o m m }
- {
- \__MOdiagram_atom_disable:
- \keys_set:nn { MOdiagram / atom } { position = #2 }
- \keys_set:nn { MOdiagram / atom } { #3 }
- \bool_if:NTF \l__MOdiagram_atom_left_bool
- { \bool_set_true:N \l__MOdiagram_left_atom_placed_bool }
- { \bool_set_true:N \l__MOdiagram_right_atom_placed_bool }
- \IfNoValueF { #1 }
+\tl_new:N \l__modiagram_atom_left_name_tl
+\tl_new:N \l__modiagram_atom_right_name_tl
+
+\bool_new:N \l__modiagram_left_atom_placed_bool
+\bool_set_false:N \l__modiagram_left_atom_placed_bool
+\bool_new:N \l__modiagram_right_atom_placed_bool
+\bool_set_false:N \l__modiagram_right_atom_placed_bool
+
+\NewDocumentCommand \__modiagram_atom: {omm}
+ {
+ \__modiagram_atom_disable:
+ \keys_set:nn {modiagram/atom} { position = #2 }
+ \keys_set:nn {modiagram/atom} {#3}
+ \bool_if:NTF \l__modiagram_atom_left_bool
+ { \bool_set_true:N \l__modiagram_left_atom_placed_bool }
+ { \bool_set_true:N \l__modiagram_right_atom_placed_bool }
+ \IfNoValueF {#1}
{
- \bool_if:NTF \l__MOdiagram_atom_left_bool
- { \tl_set:Nn \l__MOdiagram_atom_left_name_tl { #1 } }
- { \tl_set:Nn \l__MOdiagram_atom_right_name_tl { #1 } }
+ \bool_if:NTF \l__modiagram_atom_left_bool
+ { \tl_set:Nn \l__modiagram_atom_left_name_tl {#1} }
+ { \tl_set:Nn \l__modiagram_atom_right_name_tl {#1} }
}
- \__MOdiagram_one_s:
- \__MOdiagram_two_s:
- \__MOdiagram_two_p:
-% \__MOdiagram_three_s:
-% \__MOdiagram_three_p:
-% \__MOdiagram_four_s:
+ \__modiagram_one_s:
+ \__modiagram_two_s:
+ \__modiagram_two_p:
+% \__modiagram_three_s:
+% \__modiagram_three_p:
+% \__modiagram_four_s:
}
-\bool_new:N \l__MOdiagram_atom_left_bool
+\bool_new:N \l__modiagram_atom_left_bool
% is \atom placed left or right?
-\keys_define:nn { MOdiagram / atom }
+\keys_define:nn {modiagram/atom}
{
position .choice: ,
position / left .code:n =
- { \bool_set_true:N \l__MOdiagram_atom_left_bool } ,
+ { \bool_set_true:N \l__modiagram_atom_left_bool } ,
position / right .code:n =
- { \bool_set_false:N \l__MOdiagram_atom_left_bool }
+ { \bool_set_false:N \l__modiagram_atom_left_bool }
}
-\dim_new:N \l__MOdiagram_atom_xshift_dim
+\dim_new:N \l__modiagram_atom_xshift_dim
% these are going to be our `arguments' for the \atom command:
-\keys_define:nn { MOdiagram / atom }
+\keys_define:nn {modiagram/atom}
{
- 1s .code:n = { \__MOdiagram_one_s_set:n { #1 } } ,
+ 1s .code:n = { \__modiagram_one_s_set:n {#1} } ,
1s .default:n = { 0 ; pair } ,
- 2s .code:n = { \__MOdiagram_two_s_set:n { #1 } } ,
+ 2s .code:n = { \__modiagram_two_s_set:n {#1} } ,
2s .default:n = { 2 ; pair } ,
- 2p .code:n = { \__MOdiagram_two_p_set:n { #1 } } ,
+ 2p .code:n = { \__modiagram_two_p_set:n {#1} } ,
2p .default:n = { 5 ; pair , pair , pair } ,
- color .code:n = { \__MOdiagram_electron_color_set:n { #1 } } ,
- label .code:n = { \__MOdiagram_orbital_label_set:n { #1 } } ,
- up-el-pos .code:n = { \__MOdiagram_electron_up_set:n { #1 } } ,
- down-el-pos .code:n = { \__MOdiagram_electron_down_set:n { #1 } }
+ color .code:n = { \__modiagram_electron_color_set:n {#1} } ,
+ label .code:n = { \__modiagram_orbital_label_set:n {#1} } ,
+ up-el-pos .code:n = { \__modiagram_electron_up_set:n {#1} } ,
+ down-el-pos .code:n = { \__modiagram_electron_down_set:n {#1} }
}
% --------------------------------------------------------------------------- %
% 1s orbital
-\dim_new:N \l__MOdiagram_atom_one_s_dim
-\dim_new:N \l__MOdiagram_atom_left_one_s_dim
-\dim_new:N \l__MOdiagram_atom_right_one_s_dim
+\dim_new:N \l__modiagram_atom_one_s_dim
+\dim_new:N \l__modiagram_atom_left_one_s_dim
+\dim_new:N \l__modiagram_atom_right_one_s_dim
-\tl_new:N \l__MOdiagram_AO_one_s_electron_tl
+\tl_new:N \l__modiagram_AO_one_s_electron_tl
-\bool_new:N \l__MOdiagram_atom_one_s_bool
-\bool_new:N \l__MOdiagram_one_s_left_bool
-\bool_set_false:N \l__MOdiagram_one_s_left_bool
-\bool_new:N \l__MOdiagram_one_s_right_bool
-\bool_set_false:N \l__MOdiagram_one_s_right_bool
+\bool_new:N \l__modiagram_atom_one_s_bool
+\bool_new:N \l__modiagram_one_s_left_bool
+\bool_set_false:N \l__modiagram_one_s_left_bool
+\bool_new:N \l__modiagram_one_s_right_bool
+\bool_set_false:N \l__modiagram_one_s_right_bool
% read 1s argument
-\cs_new_protected:Npn \__MOdiagram_one_s_set:n #1
+\cs_new_protected:Npn \__modiagram_one_s_set:n #1
{
- \bool_set_true:N \l__MOdiagram_atom_one_s_bool
- \tl_if_in:onTF { #1 } { ; }
- { \__MOdiagram_one_s_set_aux:n #1 \q_stop }
+ \bool_set_true:N \l__modiagram_atom_one_s_bool
+ \tl_if_in:onTF {#1} {;}
+ { \__modiagram_one_s_set_aux:n #1 \q_stop }
{
- \tl_clear:N \l__MOdiagram_AO_one_s_electron_tl
- \tl_if_blank:nTF { #1 }
- { \dim_set:Nn \l__MOdiagram_atom_one_s_dim { 0 cm } }
- { \dim_set:Nn \l__MOdiagram_atom_one_s_dim { #1 cm } }
+ \tl_clear:N \l__modiagram_AO_one_s_electron_tl
+ \tl_if_blank:nTF {#1}
+ { \dim_set:Nn \l__modiagram_atom_one_s_dim {0cm} }
+ { \dim_set:Nn \l__modiagram_atom_one_s_dim {#1cm} }
}
}
-\cs_new_protected:Npn \__MOdiagram_one_s_set_aux:n #1;#2 \q_stop
+\cs_new_protected:Npn \__modiagram_one_s_set_aux:n #1;#2 \q_stop
{
- \tl_if_blank:nTF { #1 }
- { \dim_set:Nn \l__MOdiagram_atom_one_s_dim { 0 cm } }
- { \dim_set:Nn \l__MOdiagram_atom_one_s_dim { #1 cm } }
- \tl_set:Nn \l__MOdiagram_AO_one_s_electron_tl { #2 }
+ \tl_if_blank:nTF {#1}
+ { \dim_set:Nn \l__modiagram_atom_one_s_dim {0cm} }
+ { \dim_set:Nn \l__modiagram_atom_one_s_dim {#1cm} }
+ \tl_set:Nn \l__modiagram_AO_one_s_electron_tl {#2}
}
% display 1s orbital
-\cs_new_protected:Npn \__MOdiagram_one_s:
+\cs_new_protected:Npn \__modiagram_one_s:
{
- \bool_if:NT \l__MOdiagram_atom_one_s_bool
+ \bool_if:NT \l__modiagram_atom_one_s_bool
{
- \bool_if:NTF \l__MOdiagram_atom_left_bool
+ \bool_if:NTF \l__modiagram_atom_left_bool
{
\dim_set_eq:NN
- \l__MOdiagram_atom_xshift_dim
- \l__MOdiagram_left_atom_position_dim
+ \l__modiagram_atom_xshift_dim
+ \l__modiagram_left_atom_position_dim
\dim_set_eq:NN
- \l__MOdiagram_atom_left_one_s_dim
- \l__MOdiagram_atom_one_s_dim
- \bool_set_true:N \l__MOdiagram_one_s_left_bool
+ \l__modiagram_atom_left_one_s_dim
+ \l__modiagram_atom_one_s_dim
+ \bool_set_true:N \l__modiagram_one_s_left_bool
}
{
- \dim_set:Nn \l__MOdiagram_atom_xshift_dim
+ \dim_set:Nn \l__modiagram_atom_xshift_dim
{
- \l__MOdiagram_left_atom_position_dim
- + \l__MOdiagram_inter_atom_distance_dim
+ \l__modiagram_left_atom_position_dim
+ + \l__modiagram_inter_atom_distance_dim
}
\dim_set_eq:NN
- \l__MOdiagram_atom_right_one_s_dim
- \l__MOdiagram_atom_one_s_dim
- \bool_set_true:N \l__MOdiagram_one_s_right_bool
+ \l__modiagram_atom_right_one_s_dim
+ \l__modiagram_atom_one_s_dim
+ \bool_set_true:N \l__modiagram_one_s_right_bool
}
- \__MOdiagram_energy_range:N \l__MOdiagram_atom_one_s_dim
- \__MOdiagram_node:n { inner~sep=0 , outer~sep=0 }
+ \__modiagram_energy_range:N \l__modiagram_atom_one_s_dim
+ \__modiagram_node:n { inner~sep=0 , outer~sep=0 }
(1s
- \bool_if:NTF \l__MOdiagram_atom_left_bool
- { left }
- { right }
+ \bool_if:NTF \l__modiagram_atom_left_bool
+ {left}
+ {right}
)
- at ( \l__MOdiagram_atom_xshift_dim , \l__MOdiagram_atom_one_s_dim )
+ at ( \l__modiagram_atom_xshift_dim , \l__modiagram_atom_one_s_dim )
{
- \bool_if:NTF \l__MOdiagram_atom_left_bool
+ \bool_if:NTF \l__modiagram_atom_left_bool
{
- \__MOdiagram_get_electron_color:n { 1sleft }
- \__MOdiagram_get_electron_up:n { 1sleft }
- \__MOdiagram_get_electron_down:n { 1sleft }
+ \__modiagram_get_electron_color:n {1sleft}
+ \__modiagram_get_electron_up:n {1sleft}
+ \__modiagram_get_electron_down:n {1sleft}
}
{
- \__MOdiagram_get_electron_color:n { 1sright }
- \__MOdiagram_get_electron_up:n { 1sright }
- \__MOdiagram_get_electron_down:n { 1sright }
+ \__modiagram_get_electron_color:n {1sright}
+ \__modiagram_get_electron_up:n {1sright}
+ \__modiagram_get_electron_down:n {1sright}
}
- \__MOdiagram_AO:ff
- { \tl_use:N \l__MOdiagram_AO_one_s_electron_tl }
- { \tl_use:N \l__MOdiagram_electron_current_color_tl }
+ \__modiagram_AO:ff
+ { \tl_use:N \l__modiagram_AO_one_s_electron_tl }
+ { \tl_use:N \l__modiagram_electron_current_color_tl }
} ;
- \bool_if:NTF \l__MOdiagram_atom_left_bool
- { \__MOdiagram_get_orbital_label:n { 1s left } }
- { \__MOdiagram_get_orbital_label:n { 1s right } }
+ \bool_if:NTF \l__modiagram_atom_left_bool
+ { \__modiagram_get_orbital_label:n {1sleft} }
+ { \__modiagram_get_orbital_label:n {1sright} }
}
}
% --------------------------------------------------------------------------- %
% 2s orbital
-\dim_new:N \l__MOdiagram_atom_two_s_dim
-\dim_new:N \l__MOdiagram_atom_left_two_s_dim
-\dim_new:N \l__MOdiagram_atom_right_two_s_dim
+\dim_new:N \l__modiagram_atom_two_s_dim
+\dim_new:N \l__modiagram_atom_left_two_s_dim
+\dim_new:N \l__modiagram_atom_right_two_s_dim
-\tl_new:N \l__MOdiagram_AO_two_s_electron_tl
+\tl_new:N \l__modiagram_AO_two_s_electron_tl
-\bool_new:N \l__MOdiagram_atom_two_s_bool
-\bool_new:N \l__MOdiagram_two_s_left_bool
-\bool_set_false:N \l__MOdiagram_two_s_left_bool
-\bool_new:N \l__MOdiagram_two_s_right_bool
-\bool_set_false:N \l__MOdiagram_two_s_right_bool
+\bool_new:N \l__modiagram_atom_two_s_bool
+\bool_new:N \l__modiagram_two_s_left_bool
+\bool_set_false:N \l__modiagram_two_s_left_bool
+\bool_new:N \l__modiagram_two_s_right_bool
+\bool_set_false:N \l__modiagram_two_s_right_bool
% read 2s argument
-\cs_new_protected:Npn \__MOdiagram_two_s_set:n #1
+\cs_new_protected:Npn \__modiagram_two_s_set:n #1
{
- \bool_set_true:N \l__MOdiagram_atom_two_s_bool
- \tl_if_in:onTF { #1 } { ; }
- { \__MOdiagram_two_s_set_aux:n #1 \q_stop }
+ \bool_set_true:N \l__modiagram_atom_two_s_bool
+ \tl_if_in:onTF {#1} {;}
+ { \__modiagram_two_s_set_aux:n #1 \q_stop }
{
- \tl_clear:N \l__MOdiagram_AO_two_s_electron_tl
- \tl_if_blank:nTF { #1 }
- { \dim_set:Nn \l__MOdiagram_atom_two_s_dim { 2 cm } }
- { \dim_set:Nn \l__MOdiagram_atom_two_s_dim { #1 cm } }
+ \tl_clear:N \l__modiagram_AO_two_s_electron_tl
+ \tl_if_blank:nTF {#1}
+ { \dim_set:Nn \l__modiagram_atom_two_s_dim {2cm} }
+ { \dim_set:Nn \l__modiagram_atom_two_s_dim {#1cm} }
}
}
-\cs_new_protected:Npn \__MOdiagram_two_s_set_aux:n #1;#2 \q_stop
+\cs_new_protected:Npn \__modiagram_two_s_set_aux:n #1;#2 \q_stop
{
- \tl_if_blank:nTF { #1 }
- { \dim_set:Nn \l__MOdiagram_atom_two_s_dim { 2 cm } }
- { \dim_set:Nn \l__MOdiagram_atom_two_s_dim { #1 cm } }
- \tl_set:Nn \l__MOdiagram_AO_two_s_electron_tl { #2 }
+ \tl_if_blank:nTF {#1}
+ { \dim_set:Nn \l__modiagram_atom_two_s_dim {2cm} }
+ { \dim_set:Nn \l__modiagram_atom_two_s_dim {#1cm} }
+ \tl_set:Nn \l__modiagram_AO_two_s_electron_tl {#2}
}
% display 2s orbital
-\cs_new_protected:Npn \__MOdiagram_two_s:
+\cs_new_protected:Npn \__modiagram_two_s:
{
- \bool_if:NT \l__MOdiagram_atom_two_s_bool
+ \dim_show:N \l__modiagram_atom_two_s_dim
+ \bool_if:NT \l__modiagram_atom_two_s_bool
{
- \bool_if:NTF \l__MOdiagram_atom_left_bool
+ \bool_if:NTF \l__modiagram_atom_left_bool
{
\dim_set_eq:NN
- \l__MOdiagram_atom_xshift_dim
- \l__MOdiagram_left_atom_position_dim
+ \l__modiagram_atom_xshift_dim
+ \l__modiagram_left_atom_position_dim
\dim_set_eq:NN
- \l__MOdiagram_atom_left_two_s_dim
- \l__MOdiagram_atom_two_s_dim
- \bool_set_true:N \l__MOdiagram_two_s_left_bool
+ \l__modiagram_atom_left_two_s_dim
+ \l__modiagram_atom_two_s_dim
+ \bool_set_true:N \l__modiagram_two_s_left_bool
}
{
- \dim_set:Nn \l__MOdiagram_atom_xshift_dim
+ \dim_set:Nn \l__modiagram_atom_xshift_dim
{
- \l__MOdiagram_left_atom_position_dim
- + \l__MOdiagram_inter_atom_distance_dim
+ \l__modiagram_left_atom_position_dim
+ + \l__modiagram_inter_atom_distance_dim
}
\dim_set_eq:NN
- \l__MOdiagram_atom_right_two_s_dim
- \l__MOdiagram_atom_two_s_dim
- \bool_set_true:N \l__MOdiagram_two_s_right_bool
+ \l__modiagram_atom_right_two_s_dim
+ \l__modiagram_atom_two_s_dim
+ \bool_set_true:N \l__modiagram_two_s_right_bool
}
- \__MOdiagram_energy_range:N \l__MOdiagram_atom_two_s_dim
- \__MOdiagram_node:n { inner~sep=0 , outer~sep=0 }
+ \__modiagram_energy_range:N \l__modiagram_atom_two_s_dim
+ \__modiagram_node:n { inner~sep=0 , outer~sep=0 }
(2s
- \bool_if:NTF \l__MOdiagram_atom_left_bool
- { left }
- { right }
+ \bool_if:NTF \l__modiagram_atom_left_bool
+ {left}
+ {right}
)
- at ( \l__MOdiagram_atom_xshift_dim , \l__MOdiagram_atom_two_s_dim )
+ at ( \l__modiagram_atom_xshift_dim , \l__modiagram_atom_two_s_dim )
{
- \bool_if:NTF \l__MOdiagram_atom_left_bool
+ \bool_if:NTF \l__modiagram_atom_left_bool
{
- \__MOdiagram_get_electron_color:n { 2sleft }
- \__MOdiagram_get_electron_up:n { 2sleft }
- \__MOdiagram_get_electron_down:n { 2sleft }
+ \__modiagram_get_electron_color:n {2sleft}
+ \__modiagram_get_electron_up:n {2sleft}
+ \__modiagram_get_electron_down:n {2sleft}
}
{
- \__MOdiagram_get_electron_color:n { 2sright }
- \__MOdiagram_get_electron_up:n { 2sright }
- \__MOdiagram_get_electron_down:n { 2sright }
+ \__modiagram_get_electron_color:n {2sright}
+ \__modiagram_get_electron_up:n {2sright}
+ \__modiagram_get_electron_down:n {2sright}
}
- \__MOdiagram_AO:ff
- { \tl_use:N \l__MOdiagram_AO_two_s_electron_tl }
- { \tl_use:N \l__MOdiagram_electron_current_color_tl }
+ \__modiagram_AO:ff
+ { \tl_use:N \l__modiagram_AO_two_s_electron_tl }
+ { \tl_use:N \l__modiagram_electron_current_color_tl }
} ;
- \bool_if:NTF \l__MOdiagram_atom_left_bool
- { \__MOdiagram_get_orbital_label:n { 2s left } }
- { \__MOdiagram_get_orbital_label:n { 2s right } }
+ \bool_if:NTF \l__modiagram_atom_left_bool
+ { \__modiagram_get_orbital_label:n {2sleft} }
+ { \__modiagram_get_orbital_label:n {2sright} }
}
}
% --------------------------------------------------------------------------- %
% 2p orbital
-\dim_new:N \l__MOdiagram_atom_two_p_dim
-\dim_new:N \l__MOdiagram_atom_left_two_p_dim
-\dim_new:N \l__MOdiagram_atom_right_two_p_dim
+\dim_new:N \l__modiagram_atom_two_p_dim
+\dim_new:N \l__modiagram_atom_left_two_p_dim
+\dim_new:N \l__modiagram_atom_right_two_p_dim
-\dim_new:N \l__MOdiagram_atom_px_shift_dim
-\dim_new:N \l__MOdiagram_atom_py_shift_dim
-\dim_new:N \l__MOdiagram_atom_pz_shift_dim
+\dim_new:N \l__modiagram_atom_px_shift_dim
+\dim_new:N \l__modiagram_atom_py_shift_dim
+\dim_new:N \l__modiagram_atom_pz_shift_dim
-\tl_new:N \l__MOdiagram_AO_two_px_electron_tl
-\tl_new:N \l__MOdiagram_AO_two_py_electron_tl
-\tl_new:N \l__MOdiagram_AO_two_pz_electron_tl
+\tl_new:N \l__modiagram_AO_two_px_electron_tl
+\tl_new:N \l__modiagram_AO_two_py_electron_tl
+\tl_new:N \l__modiagram_AO_two_pz_electron_tl
-\bool_new:N \l__MOdiagram_atom_two_p_bool
-\bool_new:N \l__MOdiagram_two_p_left_bool
-\bool_set_false:N \l__MOdiagram_two_p_left_bool
-\bool_new:N \l__MOdiagram_two_p_right_bool
-\bool_set_false:N \l__MOdiagram_two_p_right_bool
+\bool_new:N \l__modiagram_atom_two_p_bool
+\bool_new:N \l__modiagram_two_p_left_bool
+\bool_set_false:N \l__modiagram_two_p_left_bool
+\bool_new:N \l__modiagram_two_p_right_bool
+\bool_set_false:N \l__modiagram_two_p_right_bool
% read 2p argument
-\cs_new_protected:Npn \__MOdiagram_two_p_set:n #1
+\cs_new_protected:Npn \__modiagram_two_p_set:n #1
{
- \bool_set_true:N \l__MOdiagram_atom_two_p_bool
- \tl_if_in:onTF { #1 } { ; }
- { \__MOdiagram_two_p_set_aux_i:n #1 \q_stop }
+ \bool_set_true:N \l__modiagram_atom_two_p_bool
+ \tl_if_in:onTF {#1} {;}
+ { \__modiagram_two_p_set_aux_i:n #1 \q_stop }
{
- \tl_clear:N \l__MOdiagram_AO_two_px_electron_tl
- \tl_clear:N \l__MOdiagram_AO_two_py_electron_tl
- \tl_clear:N \l__MOdiagram_AO_two_pz_electron_tl
- \tl_if_blank:nTF { #1 }
- { \dim_set:Nn \l__MOdiagram_atom_two_p_dim { 5 cm } }
- { \dim_set:Nn \l__MOdiagram_atom_two_p_dim { #1 cm } }
+ \tl_clear:N \l__modiagram_AO_two_px_electron_tl
+ \tl_clear:N \l__modiagram_AO_two_py_electron_tl
+ \tl_clear:N \l__modiagram_AO_two_pz_electron_tl
+ \tl_if_blank:nTF {#1}
+ { \dim_set:Nn \l__modiagram_atom_two_p_dim { 5 cm } }
+ { \dim_set:Nn \l__modiagram_atom_two_p_dim { #1 cm } }
}
}
-\cs_new_protected:Npn \__MOdiagram_two_p_set_aux_i:n #1;#2 \q_stop
+\cs_new_protected:Npn \__modiagram_two_p_set_aux_i:n #1;#2 \q_stop
{
- \tl_if_blank:nTF { #1 }
- { \dim_set:Nn \l__MOdiagram_atom_two_p_dim { 5 cm } }
- { \dim_set:Nn \l__MOdiagram_atom_two_p_dim { #1 cm } }
- \__MOdiagram_two_p_set_aux_ii:n { #2 }
+ \tl_if_blank:nTF {#1}
+ { \dim_set:Nn \l__modiagram_atom_two_p_dim { 5 cm } }
+ { \dim_set:Nn \l__modiagram_atom_two_p_dim { #1 cm } }
+ \__modiagram_two_p_set_aux_ii:n {#2}
}
-\NewDocumentCommand \__MOdiagram_two_p_set_aux_ii:n
- { > { \SplitArgument { 2 } { , } } m }
- { \__MOdiagram_two_p_set_aux_iii:nnn #1 }
+\NewDocumentCommand \__modiagram_two_p_set_aux_ii:n
+ { > { \SplitArgument {2} {,} } m }
+ { \__modiagram_two_p_set_aux_iii:nnn #1 }
-\cs_set_nopar:Npn \__MOdiagram_two_p_set_aux_iii:nnn #1#2#3
+\cs_set_nopar:Npn \__modiagram_two_p_set_aux_iii:nnn #1#2#3
{
- \tl_if_blank:nF { #1 } { \tl_set:Nn \l__MOdiagram_AO_two_px_electron_tl { #1 } }
- \tl_if_blank:nF { #2 } { \tl_set:Nn \l__MOdiagram_AO_two_py_electron_tl { #2 } }
- \tl_if_blank:nF { #3 } { \tl_set:Nn \l__MOdiagram_AO_two_pz_electron_tl { #3 } }
+ \tl_if_blank:nF {#1} { \tl_set:Nn \l__modiagram_AO_two_px_electron_tl {#1} }
+ \tl_if_blank:nF {#2} { \tl_set:Nn \l__modiagram_AO_two_py_electron_tl {#2} }
+ \tl_if_blank:nF {#3} { \tl_set:Nn \l__modiagram_AO_two_pz_electron_tl {#3} }
}
% place the x, y, and z orbitals
-\cs_new_protected:Npn \__MOdiagram_p_orbitals_shift:nnn #1#2#3
+\cs_new_protected:Npn \__modiagram_p_orbitals_shift:nnn #1#2#3
{
- \fp_set:Nn \l__MOdiagram_tmpa_fp { \dim_to_fp:n { \l__MOdiagram_AO_width_dim } }
+ \fp_set:Nn \l__modiagram_tmpa_fp { \dim_to_fp:n { \l__modiagram_AO_width_dim } }
{
- \fp_set:Nn \l__MOdiagram_tmpa_fp { #1 * \l__MOdiagram_tmpa_fp }
- \dim_gset:Nn \l__MOdiagram_atom_px_shift_dim { \fp_to_dim:N \l__MOdiagram_tmpa_fp }
+ \fp_set:Nn \l__modiagram_tmpa_fp { #1 * \l__modiagram_tmpa_fp }
+ \dim_gset:Nn \l__modiagram_atom_px_shift_dim { \fp_to_dim:N \l__modiagram_tmpa_fp }
}
{
- \fp_set:Nn \l__MOdiagram_tmpa_fp { #2 * \l__MOdiagram_tmpa_fp }
- \dim_gset:Nn \l__MOdiagram_atom_py_shift_dim { \fp_to_dim:N \l__MOdiagram_tmpa_fp }
+ \fp_set:Nn \l__modiagram_tmpa_fp { #2 * \l__modiagram_tmpa_fp }
+ \dim_gset:Nn \l__modiagram_atom_py_shift_dim { \fp_to_dim:N \l__modiagram_tmpa_fp }
}
{
- \fp_set:Nn \l__MOdiagram_tmpa_fp { #3 * \l__MOdiagram_tmpa_fp }
- \dim_gset:Nn \l__MOdiagram_atom_pz_shift_dim { \fp_to_dim:N \l__MOdiagram_tmpa_fp }
+ \fp_set:Nn \l__modiagram_tmpa_fp { #3 * \l__modiagram_tmpa_fp }
+ \dim_gset:Nn \l__modiagram_atom_pz_shift_dim { \fp_to_dim:N \l__modiagram_tmpa_fp }
}
}
% display 2p orbitals
-\cs_new_protected:Npn \__MOdiagram_two_p:
+\cs_new_protected:Npn \__modiagram_two_p:
{
- \bool_if:NT \l__MOdiagram_atom_two_p_bool
+ \bool_if:NT \l__modiagram_atom_two_p_bool
{
- \bool_if:NTF \l__MOdiagram_atom_left_bool
+ \bool_if:NTF \l__modiagram_atom_left_bool
{
\dim_set_eq:NN
- \l__MOdiagram_atom_xshift_dim
- \l__MOdiagram_left_atom_position_dim
- \__MOdiagram_p_orbitals_shift:nnn { -4 } { -2 } { 0 }
+ \l__modiagram_atom_xshift_dim
+ \l__modiagram_left_atom_position_dim
+ \__modiagram_p_orbitals_shift:nnn {-4} {-2} {0}
\dim_set_eq:NN
- \l__MOdiagram_atom_left_two_p_dim
- \l__MOdiagram_atom_two_p_dim
+ \l__modiagram_atom_left_two_p_dim
+ \l__modiagram_atom_two_p_dim
\dim_set_eq:NN
\l_energy_axis_dim
- \l__MOdiagram_atom_px_shift_dim
- \bool_set_true:N \l__MOdiagram_two_p_left_bool
+ \l__modiagram_atom_px_shift_dim
+ \bool_set_true:N \l__modiagram_two_p_left_bool
}
{
- \dim_set:Nn \l__MOdiagram_atom_xshift_dim
+ \dim_set:Nn \l__modiagram_atom_xshift_dim
{
- \l__MOdiagram_left_atom_position_dim
- + \l__MOdiagram_inter_atom_distance_dim
+ \l__modiagram_left_atom_position_dim
+ + \l__modiagram_inter_atom_distance_dim
}
- \__MOdiagram_p_orbitals_shift:nnn { 0 } { 2 } { 4 }
+ \__modiagram_p_orbitals_shift:nnn {0} {2} {4}
\dim_set_eq:NN
- \l__MOdiagram_atom_right_two_p_dim
- \l__MOdiagram_atom_two_p_dim
- \bool_set_true:N \l__MOdiagram_two_p_right_bool
+ \l__modiagram_atom_right_two_p_dim
+ \l__modiagram_atom_two_p_dim
+ \bool_set_true:N \l__modiagram_two_p_right_bool
}
- \__MOdiagram_energy_range:N \l__MOdiagram_atom_two_p_dim
- \__MOdiagram_node:n { inner~sep=0 , outer~sep=0 }
+ \__modiagram_energy_range:N \l__modiagram_atom_two_p_dim
+ \__modiagram_node:n { inner~sep=0 , outer~sep=0 }
(2pz
- \bool_if:NTF \l__MOdiagram_atom_left_bool
- { left }
- { right }
+ \bool_if:NTF \l__modiagram_atom_left_bool
+ {left}
+ {right}
)
at
(
- \l__MOdiagram_atom_xshift_dim + \l__MOdiagram_atom_pz_shift_dim ,
- \l__MOdiagram_atom_two_p_dim
+ \l__modiagram_atom_xshift_dim + \l__modiagram_atom_pz_shift_dim ,
+ \l__modiagram_atom_two_p_dim
)
{
- \bool_if:NTF \l__MOdiagram_atom_left_bool
+ \bool_if:NTF \l__modiagram_atom_left_bool
{
- \__MOdiagram_get_electron_color:n { 2pz left }
- \__MOdiagram_get_electron_up:n { 2pz left }
- \__MOdiagram_get_electron_down:n { 2pz left }
+ \__modiagram_get_electron_color:n {2pzleft}
+ \__modiagram_get_electron_up:n {2pzleft}
+ \__modiagram_get_electron_down:n {2pzleft}
}
{
- \__MOdiagram_get_electron_color:n { 2pz right }
- \__MOdiagram_get_electron_up:n { 2pz right }
- \__MOdiagram_get_electron_down:n { 2pz right }
+ \__modiagram_get_electron_color:n {2pzright}
+ \__modiagram_get_electron_up:n {2pzright}
+ \__modiagram_get_electron_down:n {2pzright}
}
- \__MOdiagram_AO:ff
- { \tl_use:N \l__MOdiagram_AO_two_pz_electron_tl }
- { \tl_use:N \l__MOdiagram_electron_current_color_tl }
+ \__modiagram_AO:ff
+ { \tl_use:N \l__modiagram_AO_two_pz_electron_tl }
+ { \tl_use:N \l__modiagram_electron_current_color_tl }
} ;
- \bool_if:NTF \l__MOdiagram_atom_left_bool
- { \__MOdiagram_get_orbital_label:n { 2pz left } }
- { \__MOdiagram_get_orbital_label:n { 2pz right } }
- \__MOdiagram_node:n { inner~sep=0 , outer~sep=0 }
+ \bool_if:NTF \l__modiagram_atom_left_bool
+ { \__modiagram_get_orbital_label:n {2pzleft} }
+ { \__modiagram_get_orbital_label:n {2pzright} }
+ \__modiagram_node:n { inner~sep=0 , outer~sep=0 }
(2py
- \bool_if:NTF \l__MOdiagram_atom_left_bool
- { left }
- { right }
+ \bool_if:NTF \l__modiagram_atom_left_bool
+ {left}
+ {right}
)
at
(
- \l__MOdiagram_atom_xshift_dim + \l__MOdiagram_atom_py_shift_dim ,
- \l__MOdiagram_atom_two_p_dim
+ \l__modiagram_atom_xshift_dim + \l__modiagram_atom_py_shift_dim ,
+ \l__modiagram_atom_two_p_dim
)
{
- \bool_if:NTF \l__MOdiagram_atom_left_bool
+ \bool_if:NTF \l__modiagram_atom_left_bool
{
- \__MOdiagram_get_electron_color:n { 2py left }
- \__MOdiagram_get_electron_up:n { 2py left }
- \__MOdiagram_get_electron_down:n { 2py left }
+ \__modiagram_get_electron_color:n {2pyleft}
+ \__modiagram_get_electron_up:n {2pyleft}
+ \__modiagram_get_electron_down:n {2pyleft}
}
{
- \__MOdiagram_get_electron_color:n { 2py right }
- \__MOdiagram_get_electron_up:n { 2py right }
- \__MOdiagram_get_electron_down:n { 2py right }
+ \__modiagram_get_electron_color:n {2pyright}
+ \__modiagram_get_electron_up:n {2pyright}
+ \__modiagram_get_electron_down:n {2pyright}
}
- \__MOdiagram_AO:ff
- { \tl_use:N \l__MOdiagram_AO_two_py_electron_tl }
- { \tl_use:N \l__MOdiagram_electron_current_color_tl }
+ \__modiagram_AO:ff
+ { \tl_use:N \l__modiagram_AO_two_py_electron_tl }
+ { \tl_use:N \l__modiagram_electron_current_color_tl }
} ;
- \bool_if:NTF \l__MOdiagram_atom_left_bool
- { \__MOdiagram_get_orbital_label:n { 2py left } }
- { \__MOdiagram_get_orbital_label:n { 2py right } }
- \__MOdiagram_node:n { inner~sep=0 , outer~sep=0 }
+ \bool_if:NTF \l__modiagram_atom_left_bool
+ { \__modiagram_get_orbital_label:n {2pyleft} }
+ { \__modiagram_get_orbital_label:n {2pyright} }
+ \__modiagram_node:n { inner~sep=0 , outer~sep=0 }
(2px
- \bool_if:NTF \l__MOdiagram_atom_left_bool
- { left }
- { right }
+ \bool_if:NTF \l__modiagram_atom_left_bool
+ {left}
+ {right}
)
at
(
- \l__MOdiagram_atom_xshift_dim + \l__MOdiagram_atom_px_shift_dim ,
- \l__MOdiagram_atom_two_p_dim
+ \l__modiagram_atom_xshift_dim + \l__modiagram_atom_px_shift_dim ,
+ \l__modiagram_atom_two_p_dim
)
{
- \bool_if:NTF \l__MOdiagram_atom_left_bool
+ \bool_if:NTF \l__modiagram_atom_left_bool
{
- \__MOdiagram_get_electron_color:n { 2px left }
- \__MOdiagram_get_electron_up:n { 2px left }
- \__MOdiagram_get_electron_down:n { 2px left }
+ \__modiagram_get_electron_color:n {2pxleft}
+ \__modiagram_get_electron_up:n {2pxleft}
+ \__modiagram_get_electron_down:n {2pxleft}
}
{
- \__MOdiagram_get_electron_color:n { 2px right }
- \__MOdiagram_get_electron_up:n { 2px right }
- \__MOdiagram_get_electron_down:n { 2px right }
+ \__modiagram_get_electron_color:n {2pxright}
+ \__modiagram_get_electron_up:n {2pxright}
+ \__modiagram_get_electron_down:n {2pxright}
}
- \__MOdiagram_AO:ff
- { \tl_use:N \l__MOdiagram_AO_two_px_electron_tl }
- { \tl_use:N \l__MOdiagram_electron_current_color_tl }
+ \__modiagram_AO:ff
+ { \tl_use:N \l__modiagram_AO_two_px_electron_tl }
+ { \tl_use:N \l__modiagram_electron_current_color_tl }
} ;
- \bool_if:NTF \l__MOdiagram_atom_left_bool
- { \__MOdiagram_get_orbital_label:n { 2px left } }
- { \__MOdiagram_get_orbital_label:n { 2px right } }
+ \bool_if:NTF \l__modiagram_atom_left_bool
+ { \__modiagram_get_orbital_label:n {2pxleft} }
+ { \__modiagram_get_orbital_label:n {2pxright} }
}
}
% --------------------------------------------------------------------------- %
% draw MOs
-\tl_new:N \l__MOdiagram_molecule_name_tl
+\tl_new:N \l__modiagram_molecule_name_tl
-\NewDocumentCommand \__MOdiagram_molecule: { o m }
+\NewDocumentCommand \__modiagram_molecule: {om}
{
\bool_if:nTF
{
- \l__MOdiagram_left_atom_placed_bool
+ \l__modiagram_left_atom_placed_bool
&&
- \l__MOdiagram_right_atom_placed_bool
+ \l__modiagram_right_atom_placed_bool
}
{
- \__MOdiagram_molecule_disable:
- \keys_set:nn { MOdiagram / molecule } { #2 }
- \IfNoValueF { #1 }
- { \tl_set:Nn \l__MOdiagram_molecule_name_tl { #1 } }
- \__MOdiagram_one_mo_s:
- \__MOdiagram_two_mo_s:
- \__MOdiagram_two_mo_p:
-% \__MOdiagram_three_mo_s:
-% \__MOdiagram_three_mo_p:
-% \__MOdiagram_four_mo_s:
+ \__modiagram_molecule_disable:
+ \keys_set:nn {modiagram/molecule} {#2}
+ \IfNoValueF {#1}
+ { \tl_set:Nn \l__modiagram_molecule_name_tl {#1} }
+ \__modiagram_one_mo_s:
+ \__modiagram_two_mo_s:
+ \__modiagram_two_mo_p:
+% \__modiagram_three_mo_s:
+% \__modiagram_three_mo_p:
+% \__modiagram_four_mo_s:
}
- { \msg_error:nn { MOdiagram } { missing-atom } }
+ { \msg_error:nn {modiagram} {missing-atom} }
}
% these are going to be our molecule arguments:
-\keys_define:nn { MOdiagram / molecule }
+\keys_define:nn {modiagram/molecule}
{
- 1sMO .code:n = { \__MOdiagram_one_mo_s_set:n { #1 } } ,
+ 1sMO .code:n = { \__modiagram_one_mo_s_set:n {#1} } ,
1sMO .default:n = { .5 ; pair , pair } ,
- 2sMO .code:n = { \__MOdiagram_two_mo_s_set:n { #1 } } ,
+ 2sMO .code:n = { \__modiagram_two_mo_s_set:n {#1} } ,
2sMO .default:n = { .5 ; pair , pair } ,
- 2pMO .code:n = { \__MOdiagram_two_mo_p_set:n { #1 } } ,
+ 2pMO .code:n = { \__modiagram_two_mo_p_set:n {#1} } ,
2pMO .default:n = { 1.5 , .5 ; pair , pair , pair , pair , pair , pair } ,
- color .code:n = { \__MOdiagram_electron_color_set:n { #1 } } ,
- label .code:n = { \__MOdiagram_orbital_label_set:n { #1 } } ,
- up-el-pos .code:n = { \__MOdiagram_electron_up_set:n { #1 } } ,
- down-el-pos .code:n = { \__MOdiagram_electron_down_set:n { #1 } }
+ color .code:n = { \__modiagram_electron_color_set:n {#1} } ,
+ label .code:n = { \__modiagram_orbital_label_set:n {#1} } ,
+ up-el-pos .code:n = { \__modiagram_electron_up_set:n {#1} } ,
+ down-el-pos .code:n = { \__modiagram_electron_down_set:n {#1} }
}
% --------------------------------------------------------------------------- %
% 1sigma orbitals
-\dim_new:N \l__MOdiagram_molecule_one_sigma_dim
-\dim_new:N \l__MOdiagram_molecule_one_sigmas_dim
+\dim_new:N \l__modiagram_molecule_one_sigma_dim
+\dim_new:N \l__modiagram_molecule_one_sigmas_dim
-\tl_new:N \l__MOdiagram_MO_one_sigma_s_electron_tl
-\tl_new:N \l__MOdiagram_MO_one_sigmas_s_electron_tl
-\bool_new:N \l__MOdiagram_molecule_one_mo_s_bool
+\tl_new:N \l__modiagram_MO_one_sigma_s_electron_tl
+\tl_new:N \l__modiagram_MO_one_sigmas_s_electron_tl
+\bool_new:N \l__modiagram_molecule_one_mo_s_bool
% read 1sMO argument
-\cs_new_protected:Npn \__MOdiagram_one_mo_s_set:n #1
+\cs_new_protected:Npn \__modiagram_one_mo_s_set:n #1
{
- \bool_set_true:N \l__MOdiagram_molecule_one_mo_s_bool
- \tl_if_in:onTF { #1 } { ; }
- { \__MOdiagram_one_mo_s_set_aux:n #1 \q_stop }
- { \__MOdiagram_one_mo_s_set_energy:n { #1 } }
+ \bool_set_true:N \l__modiagram_molecule_one_mo_s_bool
+ \tl_if_in:onTF {#1} { ; }
+ { \__modiagram_one_mo_s_set_aux:n #1 \q_stop }
+ { \__modiagram_one_mo_s_set_energy:n {#1} }
}
-\cs_new_protected:Npn \__MOdiagram_one_mo_s_set_aux:n #1;#2 \q_stop
+\cs_new_protected:Npn \__modiagram_one_mo_s_set_aux:n #1;#2 \q_stop
{
- \__MOdiagram_one_mo_s_set_energy:n { #1 }
- \__MOdiagram_one_mo_s_set_electrons:n { #2 }
+ \__modiagram_one_mo_s_set_energy:n {#1}
+ \__modiagram_one_mo_s_set_electrons:n {#2}
}
-\cs_new_protected:Npn \__MOdiagram_one_mo_s_set_energy:n #1
+\cs_new_protected:Npn \__modiagram_one_mo_s_set_energy:n #1
{
- \tl_if_in:onTF { #1 } { / }
- { \__MOdiagram_one_mo_s_set_energy_aux:n #1 \q_stop }
+ \tl_if_in:onTF {#1} {/}
+ { \__modiagram_one_mo_s_set_energy_aux:n #1 \q_stop }
{
- \tl_if_blank:nTF { #1 }
+ \tl_if_blank:nTF {#1}
{
- \dim_set:Nn \l__MOdiagram_molecule_one_sigma_dim { .5 cm }
- \dim_set:Nn \l__MOdiagram_molecule_one_sigmas_dim { .5 cm }
+ \dim_set:Nn \l__modiagram_molecule_one_sigma_dim {.5cm}
+ \dim_set:Nn \l__modiagram_molecule_one_sigmas_dim {.5cm}
}
{
- \dim_set:Nn \l__MOdiagram_molecule_one_sigma_dim { #1 cm }
- \dim_set:Nn \l__MOdiagram_molecule_one_sigmas_dim { #1 cm }
+ \dim_set:Nn \l__modiagram_molecule_one_sigma_dim {#1cm}
+ \dim_set:Nn \l__modiagram_molecule_one_sigmas_dim {#1cm}
}
}
}
-\cs_new_protected:Npn \__MOdiagram_one_mo_s_set_energy_aux:n #1/#2 \q_stop
+\cs_new_protected:Npn \__modiagram_one_mo_s_set_energy_aux:n #1/#2 \q_stop
{
- \tl_if_blank:nTF { #1 }
- { \dim_set:Nn \l__MOdiagram_molecule_one_sigma_dim { .5 cm } }
- { \dim_set:Nn \l__MOdiagram_molecule_one_sigma_dim { #1 cm } }
- \tl_if_blank:nTF { #2 }
- { \dim_set:Nn \l__MOdiagram_molecule_one_sigmas_dim { .5 cm } }
- { \dim_set:Nn \l__MOdiagram_molecule_one_sigmas_dim { #2 cm } }
+ \tl_if_blank:nTF {#1}
+ { \dim_set:Nn \l__modiagram_molecule_one_sigma_dim {.5cm} }
+ { \dim_set:Nn \l__modiagram_molecule_one_sigma_dim {#1cm} }
+ \tl_if_blank:nTF {#2}
+ { \dim_set:Nn \l__modiagram_molecule_one_sigmas_dim {.5cm} }
+ { \dim_set:Nn \l__modiagram_molecule_one_sigmas_dim {#2cm} }
}
-\cs_set_nopar:Npn \__MOdiagram_one_mo_s_set_electrons:n #1
+\cs_set_nopar:Npn \__modiagram_one_mo_s_set_electrons:n #1
{
- \tl_if_in:onTF { #1 } { , }
- { \__MOdiagram_one_mo_s_set_electrons_aux:n #1 \q_stop }
- { \tl_set:Nn \l__MOdiagram_MO_one_sigma_s_electron_tl { #1 } }
+ \tl_if_in:onTF {#1} {,}
+ { \__modiagram_one_mo_s_set_electrons_aux:n #1 \q_stop }
+ { \tl_set:Nn \l__modiagram_MO_one_sigma_s_electron_tl {#1} }
}
-\cs_new_protected:Npn \__MOdiagram_one_mo_s_set_electrons_aux:n #1,#2 \q_stop
+\cs_new_protected:Npn \__modiagram_one_mo_s_set_electrons_aux:n #1,#2 \q_stop
{
- \tl_set:Nn \l__MOdiagram_MO_one_sigma_s_electron_tl { #1 }
- \tl_set:Nn \l__MOdiagram_MO_one_sigmas_s_electron_tl { #2 }
+ \tl_set:Nn \l__modiagram_MO_one_sigma_s_electron_tl {#1}
+ \tl_set:Nn \l__modiagram_MO_one_sigmas_s_electron_tl {#2}
}
% display 1sigma/sigma* MOs:
-\cs_new_protected:Npn \__MOdiagram_one_mo_s:
+\cs_new_protected:Npn \__modiagram_one_mo_s:
{
- \bool_if:NT \l__MOdiagram_molecule_one_mo_s_bool
+ \bool_if:NT \l__modiagram_molecule_one_mo_s_bool
{
\bool_if:nF
- { \l__MOdiagram_one_s_left_bool && \l__MOdiagram_one_s_right_bool }
- { \msg_error:nnxx { MOdiagram } { missing-AO } { 1sMO } { 1s } }
- \__MOdiagram_split_energy:nNN { one_s }
- \l__MOdiagram_molecule_one_sigma_dim
- \l__MOdiagram_molecule_one_sigmas_dim
- \__MOdiagram_energy_range:N \l__MOdiagram_energy_gain_dim
- \__MOdiagram_energy_range:N \l__MOdiagram_energy_loss_dim
- \__MOdiagram_node:n { inner~sep=0 , outer~sep=0 }
+ { \l__modiagram_one_s_left_bool && \l__modiagram_one_s_right_bool }
+ { \msg_error:nnnn {modiagram} {missing-AO} {1sMO} {1s} }
+ \__modiagram_split_energy:nNN {one_s}
+ \l__modiagram_molecule_one_sigma_dim
+ \l__modiagram_molecule_one_sigmas_dim
+ \__modiagram_energy_range:N \l__modiagram_energy_gain_dim
+ \__modiagram_energy_range:N \l__modiagram_energy_loss_dim
+ \__modiagram_node:n { inner~sep=0 , outer~sep=0 }
(1sigma)
at
(
- \l__MOdiagram_molecule_position_dim ,
- \l__MOdiagram_energy_gain_dim
+ \l__modiagram_molecule_position_dim ,
+ \l__modiagram_energy_gain_dim
)
{
- \__MOdiagram_get_electron_color:n { 1sigma }
- \__MOdiagram_get_electron_up:n { 1sigma }
- \__MOdiagram_get_electron_down:n { 1sigma }
- \__MOdiagram_AO:ff
- { \tl_use:N \l__MOdiagram_MO_one_sigma_s_electron_tl }
- { \tl_use:N \l__MOdiagram_electron_current_color_tl }
+ \__modiagram_get_electron_color:n {1sigma}
+ \__modiagram_get_electron_up:n {1sigma}
+ \__modiagram_get_electron_down:n {1sigma}
+ \__modiagram_AO:ff
+ { \tl_use:N \l__modiagram_MO_one_sigma_s_electron_tl }
+ { \tl_use:N \l__modiagram_electron_current_color_tl }
} ;
- \__MOdiagram_get_orbital_label:n { 1sigma }
- \__MOdiagram_node:n { inner~sep=0 , outer~sep=0 }
+ \__modiagram_get_orbital_label:n { 1sigma }
+ \__modiagram_node:n { inner~sep=0 , outer~sep=0 }
(1sigma*)
at
(
- \l__MOdiagram_molecule_position_dim ,
- \l__MOdiagram_energy_loss_dim
+ \l__modiagram_molecule_position_dim ,
+ \l__modiagram_energy_loss_dim
)
{
- \__MOdiagram_get_electron_color:n { 1sigma* }
- \__MOdiagram_get_electron_up:n { 1sigma* }
- \__MOdiagram_get_electron_down:n { 1sigma* }
- \__MOdiagram_AO:ff
- { \tl_use:N \l__MOdiagram_MO_one_sigmas_s_electron_tl }
- { \tl_use:N \l__MOdiagram_electron_current_color_tl }
+ \__modiagram_get_electron_color:n {1sigma*}
+ \__modiagram_get_electron_up:n {1sigma*}
+ \__modiagram_get_electron_down:n {1sigma*}
+ \__modiagram_AO:ff
+ { \tl_use:N \l__modiagram_MO_one_sigmas_s_electron_tl }
+ { \tl_use:N \l__modiagram_electron_current_color_tl }
} ;
- \__MOdiagram_get_orbital_label:n { 1sigma* }
- \__MOdiagram_draw:f
- { \l__MOdiagram_lines_tl }
+ \__modiagram_get_orbital_label:n {1sigma*}
+ \__modiagram_draw:f
+ { \l__modiagram_lines_tl }
(1s left.east) -- (1sigma.west) (1sigma.east) -- (1s right.west)
(1s left.east) -- (1sigma*.west) (1sigma*.east) -- (1s right.west) ;
}
@@ -892,115 +919,115 @@
% --------------------------------------------------------------------------- %
% 2sigma orbitals
-\dim_new:N \l__MOdiagram_molecule_two_sigma_dim
-\dim_new:N \l__MOdiagram_molecule_two_sigmas_dim
+\dim_new:N \l__modiagram_molecule_two_sigma_dim
+\dim_new:N \l__modiagram_molecule_two_sigmas_dim
-\tl_new:N \l__MOdiagram_MO_two_sigma_s_electron_tl
-\tl_new:N \l__MOdiagram_MO_two_sigmas_s_electron_tl
-\bool_new:N \l__MOdiagram_molecule_two_mo_s_bool
+\tl_new:N \l__modiagram_MO_two_sigma_s_electron_tl
+\tl_new:N \l__modiagram_MO_two_sigmas_s_electron_tl
+\bool_new:N \l__modiagram_molecule_two_mo_s_bool
% read 2sMO argument
-\cs_new_protected:Npn \__MOdiagram_two_mo_s_set:n #1
+\cs_new_protected:Npn \__modiagram_two_mo_s_set:n #1
{
- \bool_set_true:N \l__MOdiagram_molecule_two_mo_s_bool
- \tl_if_in:onTF { #1 } { ; }
- { \__MOdiagram_two_mo_s_set_aux:n #1 \q_stop }
- { \__MOdiagram_two_mo_s_set_energy:n { #1 } }
+ \bool_set_true:N \l__modiagram_molecule_two_mo_s_bool
+ \tl_if_in:onTF {#1} {;}
+ { \__modiagram_two_mo_s_set_aux:n #1 \q_stop }
+ { \__modiagram_two_mo_s_set_energy:n {#1} }
}
-\cs_new_protected:Npn \__MOdiagram_two_mo_s_set_aux:n #1;#2 \q_stop
+\cs_new_protected:Npn \__modiagram_two_mo_s_set_aux:n #1;#2 \q_stop
{
- \__MOdiagram_two_mo_s_set_energy:n { #1 }
- \__MOdiagram_two_mo_s_set_electrons:n { #2 }
+ \__modiagram_two_mo_s_set_energy:n {#1}
+ \__modiagram_two_mo_s_set_electrons:n {#2}
}
-\cs_new_protected:Npn \__MOdiagram_two_mo_s_set_energy:n #1
+\cs_new_protected:Npn \__modiagram_two_mo_s_set_energy:n #1
{
- \tl_if_in:onTF { #1 } { / }
- { \__MOdiagram_two_mo_s_set_energy_aux:n #1 \q_stop }
+ \tl_if_in:onTF {#1} {/}
+ { \__modiagram_two_mo_s_set_energy_aux:n #1 \q_stop }
{
- \tl_if_blank:nTF { #1 }
+ \tl_if_blank:nTF {#1}
{
- \dim_set:Nn \l__MOdiagram_molecule_two_sigma_dim { .5 cm }
- \dim_set:Nn \l__MOdiagram_molecule_two_sigmas_dim { .5 cm }
+ \dim_set:Nn \l__modiagram_molecule_two_sigma_dim {.5cm}
+ \dim_set:Nn \l__modiagram_molecule_two_sigmas_dim {.5cm}
}
{
- \dim_set:Nn \l__MOdiagram_molecule_two_sigma_dim { #1 cm }
- \dim_set:Nn \l__MOdiagram_molecule_two_sigmas_dim { #1 cm }
+ \dim_set:Nn \l__modiagram_molecule_two_sigma_dim {#1cm}
+ \dim_set:Nn \l__modiagram_molecule_two_sigmas_dim {#1cm}
}
}
}
-\cs_new_protected:Npn \__MOdiagram_two_mo_s_set_energy_aux:n #1/#2 \q_stop
+\cs_new_protected:Npn \__modiagram_two_mo_s_set_energy_aux:n #1/#2 \q_stop
{
- \tl_if_blank:nTF { #1 }
- { \dim_set:Nn \l__MOdiagram_molecule_two_sigma_dim { .5 cm } }
- { \dim_set:Nn \l__MOdiagram_molecule_two_sigma_dim { #1 cm } }
- \tl_if_blank:nTF { #2 }
- { \dim_set:Nn \l__MOdiagram_molecule_two_sigmas_dim { .5 cm } }
- { \dim_set:Nn \l__MOdiagram_molecule_two_sigmas_dim { #2 cm } }
+ \tl_if_blank:nTF {#1}
+ { \dim_set:Nn \l__modiagram_molecule_two_sigma_dim {.5cm} }
+ { \dim_set:Nn \l__modiagram_molecule_two_sigma_dim {#1cm} }
+ \tl_if_blank:nTF {#2}
+ { \dim_set:Nn \l__modiagram_molecule_two_sigmas_dim {.5cm} }
+ { \dim_set:Nn \l__modiagram_molecule_two_sigmas_dim {#2cm} }
}
-\cs_set_nopar:Npn \__MOdiagram_two_mo_s_set_electrons:n #1
+\cs_set_nopar:Npn \__modiagram_two_mo_s_set_electrons:n #1
{
- \tl_if_in:onTF { #1 } { , }
- { \__MOdiagram_two_mo_s_set_electrons_aux:n #1 \q_stop }
- { \tl_set:Nn \l__MOdiagram_MO_two_sigma_s_electron_tl { #1 } }
+ \tl_if_in:onTF {#1} {,}
+ { \__modiagram_two_mo_s_set_electrons_aux:n #1 \q_stop }
+ { \tl_set:Nn \l__modiagram_MO_two_sigma_s_electron_tl {#1} }
}
-\cs_new_protected:Npn \__MOdiagram_two_mo_s_set_electrons_aux:n #1,#2 \q_stop
+\cs_new_protected:Npn \__modiagram_two_mo_s_set_electrons_aux:n #1,#2 \q_stop
{
- \tl_set:Nn \l__MOdiagram_MO_two_sigma_s_electron_tl { #1 }
- \tl_set:Nn \l__MOdiagram_MO_two_sigmas_s_electron_tl { #2 }
+ \tl_set:Nn \l__modiagram_MO_two_sigma_s_electron_tl {#1}
+ \tl_set:Nn \l__modiagram_MO_two_sigmas_s_electron_tl {#2}
}
% display 2sigma/sigma* MOs:
-\cs_new_protected:Npn \__MOdiagram_two_mo_s:
+\cs_new_protected:Npn \__modiagram_two_mo_s:
{
- \bool_if:NT \l__MOdiagram_molecule_two_mo_s_bool
+ \bool_if:NT \l__modiagram_molecule_two_mo_s_bool
{
\bool_if:nF
- { \l__MOdiagram_two_s_left_bool && \l__MOdiagram_two_s_right_bool }
- { \msg_error:nnxx { MOdiagram } { missing-AO } { 2sMO } { 2s } }
- \__MOdiagram_split_energy:nNN { two_s }
- \l__MOdiagram_molecule_two_sigma_dim
- \l__MOdiagram_molecule_two_sigmas_dim
- \__MOdiagram_energy_range:N \l__MOdiagram_energy_gain_dim
- \__MOdiagram_energy_range:N \l__MOdiagram_energy_loss_dim
- \__MOdiagram_node:n { inner~sep=0 , outer~sep=0 }
+ { \l__modiagram_two_s_left_bool && \l__modiagram_two_s_right_bool }
+ { \msg_error:nnnn {modiagram} {missing-AO} {2sMO} {2s} }
+ \__modiagram_split_energy:nNN {two_s}
+ \l__modiagram_molecule_two_sigma_dim
+ \l__modiagram_molecule_two_sigmas_dim
+ \__modiagram_energy_range:N \l__modiagram_energy_gain_dim
+ \__modiagram_energy_range:N \l__modiagram_energy_loss_dim
+ \__modiagram_node:n { inner~sep=0 , outer~sep=0 }
(2sigma)
at
(
- \l__MOdiagram_molecule_position_dim ,
- \l__MOdiagram_energy_gain_dim
+ \l__modiagram_molecule_position_dim ,
+ \l__modiagram_energy_gain_dim
)
{
- \__MOdiagram_get_electron_color:n { 2sigma }
- \__MOdiagram_get_electron_up:n { 2sigma }
- \__MOdiagram_get_electron_down:n { 2sigma }
- \__MOdiagram_AO:ff
- { \tl_use:N \l__MOdiagram_MO_two_sigma_s_electron_tl }
- { \tl_use:N \l__MOdiagram_electron_current_color_tl }
+ \__modiagram_get_electron_color:n {2sigma}
+ \__modiagram_get_electron_up:n {2sigma}
+ \__modiagram_get_electron_down:n {2sigma}
+ \__modiagram_AO:ff
+ { \tl_use:N \l__modiagram_MO_two_sigma_s_electron_tl }
+ { \tl_use:N \l__modiagram_electron_current_color_tl }
} ;
- \__MOdiagram_get_orbital_label:n { 2sigma }
- \__MOdiagram_node:n { inner~sep=0 , outer~sep=0 }
+ \__modiagram_get_orbital_label:n {2sigma}
+ \__modiagram_node:n { inner~sep=0 , outer~sep=0 }
(2sigma*)
at
(
- \l__MOdiagram_molecule_position_dim ,
- \l__MOdiagram_energy_loss_dim
+ \l__modiagram_molecule_position_dim ,
+ \l__modiagram_energy_loss_dim
)
{
- \__MOdiagram_get_electron_color:n { 2sigma* }
- \__MOdiagram_get_electron_up:n { 2sigma* }
- \__MOdiagram_get_electron_down:n { 2sigma* }
- \__MOdiagram_AO:ff
- { \tl_use:N \l__MOdiagram_MO_two_sigmas_s_electron_tl }
- { \tl_use:N \l__MOdiagram_electron_current_color_tl }
+ \__modiagram_get_electron_color:n {2sigma*}
+ \__modiagram_get_electron_up:n {2sigma*}
+ \__modiagram_get_electron_down:n {2sigma*}
+ \__modiagram_AO:ff
+ { \tl_use:N \l__modiagram_MO_two_sigmas_s_electron_tl }
+ { \tl_use:N \l__modiagram_electron_current_color_tl }
} ;
- \__MOdiagram_get_orbital_label:n { 2sigma* }
- \__MOdiagram_draw:f
- { \l__MOdiagram_lines_tl }
+ \__modiagram_get_orbital_label:n {2sigma*}
+ \__modiagram_draw:f
+ { \l__modiagram_lines_tl }
(2s left.east) -- (2sigma.west) (2sigma.east) -- (2s right.west)
(2s left.east) -- (2sigma*.west) (2sigma*.east) -- (2s right.west) ;
}
@@ -1008,236 +1035,236 @@
% --------------------------------------------------------------------------- %
% 2psigma and 2ppi orbitals
-\dim_new:N \l__MOdiagram_molecule_two_psigma_dim
-\dim_new:N \l__MOdiagram_molecule_two_psigmas_dim
-\dim_new:N \l__MOdiagram_molecule_two_ppi_dim
-\dim_new:N \l__MOdiagram_molecule_two_ppis_dim
+\dim_new:N \l__modiagram_molecule_two_psigma_dim
+\dim_new:N \l__modiagram_molecule_two_psigmas_dim
+\dim_new:N \l__modiagram_molecule_two_ppi_dim
+\dim_new:N \l__modiagram_molecule_two_ppis_dim
-\tl_new:N \l__MOdiagram_MO_two_sigma_p_electron_tl
-\tl_new:N \l__MOdiagram_MO_two_sigmas_p_electron_tl
-\tl_new:N \l__MOdiagram_MO_two_piy_p_electron_tl
-\tl_new:N \l__MOdiagram_MO_two_piys_p_electron_tl
-\tl_new:N \l__MOdiagram_MO_two_piz_p_electron_tl
-\tl_new:N \l__MOdiagram_MO_two_pizs_p_electron_tl
+\tl_new:N \l__modiagram_MO_two_sigma_p_electron_tl
+\tl_new:N \l__modiagram_MO_two_sigmas_p_electron_tl
+\tl_new:N \l__modiagram_MO_two_piy_p_electron_tl
+\tl_new:N \l__modiagram_MO_two_piys_p_electron_tl
+\tl_new:N \l__modiagram_MO_two_piz_p_electron_tl
+\tl_new:N \l__modiagram_MO_two_pizs_p_electron_tl
-\bool_new:N \l__MOdiagram_molecule_two_mo_p_bool
+\bool_new:N \l__modiagram_molecule_two_mo_p_bool
% read 2pMO argument
-\cs_set_nopar:Npn \__MOdiagram_two_mo_p_set:n #1
+\cs_set_nopar:Npn \__modiagram_two_mo_p_set:n #1
{
- \bool_set_true:N \l__MOdiagram_molecule_two_mo_p_bool
- \tl_if_in:onTF { #1 } { ; }
- { \__MOdiagram_two_mo_p_set_aux:n #1 \q_stop }
- { \__MOdiagram_two_mo_p_set_energy:n { #1 } }
+ \bool_set_true:N \l__modiagram_molecule_two_mo_p_bool
+ \tl_if_in:onTF {#1} {;}
+ { \__modiagram_two_mo_p_set_aux:n #1 \q_stop }
+ { \__modiagram_two_mo_p_set_energy:n {#1} }
}
-\cs_set_nopar:Npn \__MOdiagram_two_mo_p_set_aux:n #1;#2 \q_stop
+\cs_set_nopar:Npn \__modiagram_two_mo_p_set_aux:n #1;#2 \q_stop
{
- \__MOdiagram_two_mo_p_set_energy:n { #1 }
- \__MOdiagram_two_mo_p_set_electrons:n { #2 }
+ \__modiagram_two_mo_p_set_energy:n {#1}
+ \__modiagram_two_mo_p_set_electrons:n {#2}
}
-\cs_new_protected:Npn \__MOdiagram_two_mo_p_set_energy:n #1
+\cs_new_protected:Npn \__modiagram_two_mo_p_set_energy:n #1
{
- \tl_if_in:onTF { #1 } { , }
- { \__MOdiagram_two_mo_p_set_energy_aux:n #1 \q_stop }
+ \tl_if_in:onTF {#1} {,}
+ { \__modiagram_two_mo_p_set_energy_aux:n #1 \q_stop }
{
- \tl_if_in:onTF { #1 } { / }
+ \tl_if_in:onTF {#1} {/}
{
- \__MOdiagram_two_mo_p_set_energy_sigma_aux:n #1 \q_stop
- \__MOdiagram_two_mo_p_set_energy_pi:n { .5 }
+ \__modiagram_two_mo_p_set_energy_sigma_aux:n #1 \q_stop
+ \__modiagram_two_mo_p_set_energy_pi:n {.5}
}
{
- \__MOdiagram_two_mo_p_set_energy_sigma:n { #1 }
- \__MOdiagram_two_mo_p_set_energy_pi:n { .5 }
+ \__modiagram_two_mo_p_set_energy_sigma:n {#1}
+ \__modiagram_two_mo_p_set_energy_pi:n {.5}
}
}
}
-\cs_new_protected:Npn \__MOdiagram_two_mo_p_set_energy_aux:n #1,#2 \q_stop
+\cs_new_protected:Npn \__modiagram_two_mo_p_set_energy_aux:n #1,#2 \q_stop
{
- \tl_if_in:onTF { #1 } { / }
- { \__MOdiagram_two_mo_p_set_energy_sigma_aux:n #1 \q_stop }
- { \__MOdiagram_two_mo_p_set_energy_sigma:n { #1 } }
- \tl_if_in:onTF { #2 } { / }
- { \__MOdiagram_two_mo_p_set_energy_pi_aux:n #2 \q_stop }
- { \__MOdiagram_two_mo_p_set_energy_pi:n { #2 } }
+ \tl_if_in:onTF {#1} {/}
+ { \__modiagram_two_mo_p_set_energy_sigma_aux:n #1 \q_stop }
+ { \__modiagram_two_mo_p_set_energy_sigma:n {#1} }
+ \tl_if_in:onTF {#2} {/}
+ { \__modiagram_two_mo_p_set_energy_pi_aux:n #2 \q_stop }
+ { \__modiagram_two_mo_p_set_energy_pi:n {#2} }
}
-\cs_new_protected:Npn \__MOdiagram_two_mo_p_set_energy_sigma:n #1
+\cs_new_protected:Npn \__modiagram_two_mo_p_set_energy_sigma:n #1
{
- \tl_if_blank:nTF { #1 }
+ \tl_if_blank:nTF {#1}
{
- \dim_set:Nn \l__MOdiagram_molecule_two_psigma_dim { 1.5 cm }
- \dim_set:Nn \l__MOdiagram_molecule_two_psigmas_dim { 1.5 cm }
+ \dim_set:Nn \l__modiagram_molecule_two_psigma_dim {1.5cm}
+ \dim_set:Nn \l__modiagram_molecule_two_psigmas_dim {1.5cm}
}
{
- \dim_set:Nn \l__MOdiagram_molecule_two_psigma_dim { #1 cm }
- \dim_set:Nn \l__MOdiagram_molecule_two_psigmas_dim { #1 cm }
+ \dim_set:Nn \l__modiagram_molecule_two_psigma_dim {#1cm}
+ \dim_set:Nn \l__modiagram_molecule_two_psigmas_dim {#1cm}
}
}
-\cs_new_protected:Npn \__MOdiagram_two_mo_p_set_energy_sigma_aux:n #1/#2 \q_stop
+\cs_new_protected:Npn \__modiagram_two_mo_p_set_energy_sigma_aux:n #1/#2 \q_stop
{
- \tl_if_blank:nTF { #1 }
- { \dim_set:Nn \l__MOdiagram_molecule_two_psigma_dim { 1.5 cm } }
- { \dim_set:Nn \l__MOdiagram_molecule_two_psigma_dim { #1 cm } }
- \tl_if_blank:nTF { #2 }
- { \dim_set:Nn \l__MOdiagram_molecule_two_psigmas_dim { 1.5 cm } }
- { \dim_set:Nn \l__MOdiagram_molecule_two_psigmas_dim { #2 cm } }
+ \tl_if_blank:nTF {#1}
+ { \dim_set:Nn \l__modiagram_molecule_two_psigma_dim {1.5cm} }
+ { \dim_set:Nn \l__modiagram_molecule_two_psigma_dim {#1cm} }
+ \tl_if_blank:nTF {#2}
+ { \dim_set:Nn \l__modiagram_molecule_two_psigmas_dim {1.5cm} }
+ { \dim_set:Nn \l__modiagram_molecule_two_psigmas_dim {#2cm} }
}
-\cs_new_protected:Npn \__MOdiagram_two_mo_p_set_energy_pi:n #1
+\cs_new_protected:Npn \__modiagram_two_mo_p_set_energy_pi:n #1
{
- \tl_if_blank:nTF { #1 }
+ \tl_if_blank:nTF {#1}
{
- \dim_set:Nn \l__MOdiagram_molecule_two_ppi_dim { .5 cm }
- \dim_set:Nn \l__MOdiagram_molecule_two_ppis_dim { .5 cm }
+ \dim_set:Nn \l__modiagram_molecule_two_ppi_dim {.5cm}
+ \dim_set:Nn \l__modiagram_molecule_two_ppis_dim {.5cm}
}
{
- \dim_set:Nn \l__MOdiagram_molecule_two_ppi_dim { #1 cm }
- \dim_set:Nn \l__MOdiagram_molecule_two_ppis_dim { #1 cm }
+ \dim_set:Nn \l__modiagram_molecule_two_ppi_dim {#1cm}
+ \dim_set:Nn \l__modiagram_molecule_two_ppis_dim {#1cm}
}
}
-\cs_new_protected:Npn \__MOdiagram_two_mo_p_set_energy_pi_aux:n #1/#2 \q_stop
+\cs_new_protected:Npn \__modiagram_two_mo_p_set_energy_pi_aux:n #1/#2 \q_stop
{
- \tl_if_blank:nTF { #1 }
- { \dim_set:Nn \l__MOdiagram_molecule_two_ppi_dim { .5 cm } }
- { \dim_set:Nn \l__MOdiagram_molecule_two_ppi_dim { #1 cm } }
- \tl_if_blank:nTF { #2 }
- { \dim_set:Nn \l__MOdiagram_molecule_two_ppis_dim { .5 cm } }
- { \dim_set:Nn \l__MOdiagram_molecule_two_ppis_dim { #2 cm } }
+ \tl_if_blank:nTF {#1}
+ { \dim_set:Nn \l__modiagram_molecule_two_ppi_dim {.5cm} }
+ { \dim_set:Nn \l__modiagram_molecule_two_ppi_dim {#1cm} }
+ \tl_if_blank:nTF {#2}
+ { \dim_set:Nn \l__modiagram_molecule_two_ppis_dim {.5cm} }
+ { \dim_set:Nn \l__modiagram_molecule_two_ppis_dim {#2cm} }
}
-\NewDocumentCommand \__MOdiagram_two_mo_p_set_electrons:n
- { > { \SplitArgument { 5 } { , } } m }
- { \__MOdiagram_two_mo_p_set_electrons_aux:n #1 }
+\NewDocumentCommand \__modiagram_two_mo_p_set_electrons:n
+ { > { \SplitArgument {5} {,} } m }
+ { \__modiagram_two_mo_p_set_electrons_aux:n #1 }
-\cs_new_protected:Npn \__MOdiagram_two_mo_p_set_electrons_aux:n #1#2#3#4#5#6
+\cs_new_protected:Npn \__modiagram_two_mo_p_set_electrons_aux:n #1#2#3#4#5#6
{
- \tl_set:Nn \l__MOdiagram_MO_two_sigma_p_electron_tl { #1 }
- \tl_set:Nn \l__MOdiagram_MO_two_sigmas_p_electron_tl { #6 }
- \tl_set:Nn \l__MOdiagram_MO_two_piy_p_electron_tl { #2 }
- \tl_set:Nn \l__MOdiagram_MO_two_piys_p_electron_tl { #4 }
- \tl_set:Nn \l__MOdiagram_MO_two_piz_p_electron_tl { #3 }
- \tl_set:Nn \l__MOdiagram_MO_two_pizs_p_electron_tl { #5 }
+ \tl_set:Nn \l__modiagram_MO_two_sigma_p_electron_tl {#1}
+ \tl_set:Nn \l__modiagram_MO_two_sigmas_p_electron_tl {#6}
+ \tl_set:Nn \l__modiagram_MO_two_piy_p_electron_tl {#2}
+ \tl_set:Nn \l__modiagram_MO_two_piys_p_electron_tl {#4}
+ \tl_set:Nn \l__modiagram_MO_two_piz_p_electron_tl {#3}
+ \tl_set:Nn \l__modiagram_MO_two_pizs_p_electron_tl {#5}
}
% display 2sigma+pi/sigma*+pi* orbitals:
-\cs_new_protected:Npn \__MOdiagram_two_mo_p:
+\cs_new_protected:Npn \__modiagram_two_mo_p:
{
- \bool_if:NT \l__MOdiagram_molecule_two_mo_p_bool
+ \bool_if:NT \l__modiagram_molecule_two_mo_p_bool
{
\bool_if:nF
- { \l__MOdiagram_two_p_left_bool && \l__MOdiagram_two_p_right_bool }
- { \msg_error:nnxx { MOdiagram } { missing-AO } { 2pMO } { 2p } }
- \__MOdiagram_split_energy:nNN { two_p }
- \l__MOdiagram_molecule_two_psigma_dim
- \l__MOdiagram_molecule_two_psigmas_dim
- \__MOdiagram_energy_range:N \l__MOdiagram_energy_gain_dim
- \__MOdiagram_energy_range:N \l__MOdiagram_energy_loss_dim
- \__MOdiagram_node:n { inner~sep=0 , outer~sep=0 }
+ { \l__modiagram_two_p_left_bool && \l__modiagram_two_p_right_bool }
+ { \msg_error:nnnn {modiagram} {missing-AO} {2pMO} {2p} }
+ \__modiagram_split_energy:nNN {two_p}
+ \l__modiagram_molecule_two_psigma_dim
+ \l__modiagram_molecule_two_psigmas_dim
+ \__modiagram_energy_range:N \l__modiagram_energy_gain_dim
+ \__modiagram_energy_range:N \l__modiagram_energy_loss_dim
+ \__modiagram_node:n { inner~sep=0 , outer~sep=0 }
(2psigma)
at
(
- \l__MOdiagram_molecule_position_dim ,
- \l__MOdiagram_energy_gain_dim
+ \l__modiagram_molecule_position_dim ,
+ \l__modiagram_energy_gain_dim
)
{
- \__MOdiagram_get_electron_color:n { 2psigma }
- \__MOdiagram_get_electron_up:n { 2psigma }
- \__MOdiagram_get_electron_down:n { 2psigma }
- \__MOdiagram_AO:ff
- { \tl_use:N \l__MOdiagram_MO_two_sigma_p_electron_tl }
- { \tl_use:N \l__MOdiagram_electron_current_color_tl }
+ \__modiagram_get_electron_color:n {2psigma}
+ \__modiagram_get_electron_up:n {2psigma}
+ \__modiagram_get_electron_down:n {2psigma}
+ \__modiagram_AO:ff
+ { \tl_use:N \l__modiagram_MO_two_sigma_p_electron_tl }
+ { \tl_use:N \l__modiagram_electron_current_color_tl }
} ;
- \__MOdiagram_get_orbital_label:n { 2psigma }
- \__MOdiagram_node:n { inner~sep=0 , outer~sep=0 }
+ \__modiagram_get_orbital_label:n {2psigma}
+ \__modiagram_node:n { inner~sep=0 , outer~sep=0 }
(2psigma*)
at
(
- \l__MOdiagram_molecule_position_dim ,
- \l__MOdiagram_energy_loss_dim
+ \l__modiagram_molecule_position_dim ,
+ \l__modiagram_energy_loss_dim
)
{
- \__MOdiagram_get_electron_color:n { 2psigma* }
- \__MOdiagram_get_electron_up:n { 2psigma* }
- \__MOdiagram_get_electron_down:n { 2psigma* }
- \__MOdiagram_AO:ff
- { \tl_use:N \l__MOdiagram_MO_two_sigmas_p_electron_tl }
- { \tl_use:N \l__MOdiagram_electron_current_color_tl }
+ \__modiagram_get_electron_color:n {2psigma*}
+ \__modiagram_get_electron_up:n {2psigma*}
+ \__modiagram_get_electron_down:n {2psigma*}
+ \__modiagram_AO:ff
+ { \tl_use:N \l__modiagram_MO_two_sigmas_p_electron_tl }
+ { \tl_use:N \l__modiagram_electron_current_color_tl }
} ;
- \__MOdiagram_get_orbital_label:n { 2psigma* }
- \__MOdiagram_split_energy:nNN { two_p }
- \l__MOdiagram_molecule_two_ppi_dim
- \l__MOdiagram_molecule_two_ppis_dim
- \__MOdiagram_node:n { inner~sep=0 , outer~sep=0 }
+ \__modiagram_get_orbital_label:n {2psigma*}
+ \__modiagram_split_energy:nNN {two_p}
+ \l__modiagram_molecule_two_ppi_dim
+ \l__modiagram_molecule_two_ppis_dim
+ \__modiagram_node:n { inner~sep=0 , outer~sep=0 }
(2piy)
at
(
- \l__MOdiagram_molecule_position_dim - \l__MOdiagram_AO_width_dim ,
- \l__MOdiagram_energy_gain_dim
+ \l__modiagram_molecule_position_dim - \l__modiagram_AO_width_dim ,
+ \l__modiagram_energy_gain_dim
)
{
- \__MOdiagram_get_electron_color:n { 2piy }
- \__MOdiagram_get_electron_up:n { 2piy }
- \__MOdiagram_get_electron_down:n { 2piy }
- \__MOdiagram_AO:ff
- { \tl_use:N \l__MOdiagram_MO_two_piy_p_electron_tl }
- { \tl_use:N \l__MOdiagram_electron_current_color_tl }
+ \__modiagram_get_electron_color:n {2piy}
+ \__modiagram_get_electron_up:n {2piy}
+ \__modiagram_get_electron_down:n {2piy}
+ \__modiagram_AO:ff
+ { \tl_use:N \l__modiagram_MO_two_piy_p_electron_tl }
+ { \tl_use:N \l__modiagram_electron_current_color_tl }
} ;
- \__MOdiagram_get_orbital_label:n { 2piy }
- \__MOdiagram_node:n { inner~sep=0 , outer~sep=0 }
+ \__modiagram_get_orbital_label:n {2piy}
+ \__modiagram_node:n { inner~sep=0 , outer~sep=0 }
(2piy*)
at
(
- \l__MOdiagram_molecule_position_dim - \l__MOdiagram_AO_width_dim ,
- \l__MOdiagram_energy_loss_dim
+ \l__modiagram_molecule_position_dim - \l__modiagram_AO_width_dim ,
+ \l__modiagram_energy_loss_dim
)
{
- \__MOdiagram_get_electron_color:n { 2piy* }
- \__MOdiagram_get_electron_up:n { 2piy* }
- \__MOdiagram_get_electron_down:n { 2piy* }
- \__MOdiagram_AO:ff
- { \tl_use:N \l__MOdiagram_MO_two_piys_p_electron_tl }
- { \tl_use:N \l__MOdiagram_electron_current_color_tl }
+ \__modiagram_get_electron_color:n {2piy*}
+ \__modiagram_get_electron_up:n {2piy*}
+ \__modiagram_get_electron_down:n {2piy*}
+ \__modiagram_AO:ff
+ { \tl_use:N \l__modiagram_MO_two_piys_p_electron_tl }
+ { \tl_use:N \l__modiagram_electron_current_color_tl }
} ;
- \__MOdiagram_get_orbital_label:n { 2piy* }
- \__MOdiagram_node:n { inner~sep=0 , outer~sep=0 }
+ \__modiagram_get_orbital_label:n {2piy*}
+ \__modiagram_node:n { inner~sep=0 , outer~sep=0 }
(2piz)
at
(
- \l__MOdiagram_molecule_position_dim + \l__MOdiagram_AO_width_dim ,
- \l__MOdiagram_energy_gain_dim
+ \l__modiagram_molecule_position_dim + \l__modiagram_AO_width_dim ,
+ \l__modiagram_energy_gain_dim
)
{
- \__MOdiagram_get_electron_color:n { 2piz }
- \__MOdiagram_get_electron_up:n { 2piz }
- \__MOdiagram_get_electron_down:n { 2piz }
- \__MOdiagram_AO:ff
- { \tl_use:N \l__MOdiagram_MO_two_piz_p_electron_tl }
- { \tl_use:N \l__MOdiagram_electron_current_color_tl }
+ \__modiagram_get_electron_color:n {2piz}
+ \__modiagram_get_electron_up:n {2piz}
+ \__modiagram_get_electron_down:n {2piz}
+ \__modiagram_AO:ff
+ { \tl_use:N \l__modiagram_MO_two_piz_p_electron_tl }
+ { \tl_use:N \l__modiagram_electron_current_color_tl }
} ;
- \__MOdiagram_get_orbital_label:n { 2piz }
- \__MOdiagram_node:n { inner~sep=0 , outer~sep=0 }
+ \__modiagram_get_orbital_label:n {2piz}
+ \__modiagram_node:n { inner~sep=0 , outer~sep=0 }
(2piz*)
at
(
- \l__MOdiagram_molecule_position_dim + \l__MOdiagram_AO_width_dim ,
- \l__MOdiagram_energy_loss_dim
+ \l__modiagram_molecule_position_dim + \l__modiagram_AO_width_dim ,
+ \l__modiagram_energy_loss_dim
)
{
- \__MOdiagram_get_electron_color:n { 2piz* }
- \__MOdiagram_get_electron_up:n { 2piz* }
- \__MOdiagram_get_electron_down:n { 2piz* }
- \__MOdiagram_AO:ff
- { \tl_use:N \l__MOdiagram_MO_two_pizs_p_electron_tl }
- { \tl_use:N \l__MOdiagram_electron_current_color_tl }
+ \__modiagram_get_electron_color:n {2piz*}
+ \__modiagram_get_electron_up:n {2piz*}
+ \__modiagram_get_electron_down:n {2piz*}
+ \__modiagram_AO:ff
+ { \tl_use:N \l__modiagram_MO_two_pizs_p_electron_tl }
+ { \tl_use:N \l__modiagram_electron_current_color_tl }
} ;
- \__MOdiagram_get_orbital_label:n { 2piz* }
- \__MOdiagram_draw:f
- { \l__MOdiagram_lines_tl }
+ \__modiagram_get_orbital_label:n {2piz*}
+ \__modiagram_draw:f
+ { \l__modiagram_lines_tl }
(2pz left.east) -- (2psigma.west) (2psigma.east) -- (2px right.west)
(2pz left.east) -- (2psigma*.west) (2psigma*.east) -- (2px right.west)
(2pz left.east) -- (2piy.west) (2piz.east) -- (2px right.west)
@@ -1247,77 +1274,94 @@
% --------------------------------------------------------------------------- %
% draw actual AO / MO
-\tl_new:N \l__MOdiagram_electron_color_tl
+\tl_new:N \l__modiagram_electron_color_tl
-\cs_new_protected:Npn \__MOdiagram_AO:nn #1#2
+\cs_new_protected:Npn \__modiagram_AO:nn #1#2
{
\group_begin:
- \tl_set:Nn \l__MOdiagram_electron_color_tl { #2 }
+ \tl_set:Nn \l__modiagram_electron_color_tl {#2}
\tikzpicture
- \bool_if:NT \l__MOdiagram_AO_fancy_bool
+ \bool_if:NT \l__modiagram_AO_fancy_bool
{
- \draw (0,0) -- ++(-.5*\l__MOdiagram_AO_width_dim,0) ;
- \draw (2pt+\l__MOdiagram_AO_width_dim,0)
- -- ++(.5*\l__MOdiagram_AO_width_dim,0) ;
+ \draw (0,0) -- ++(-.5*\l__modiagram_AO_width_dim,0) ;
+ \draw (2pt+\l__modiagram_AO_width_dim,0)
+ -- ++(.5*\l__modiagram_AO_width_dim,0) ;
}
- \bool_if:NT \l__MOdiagram_AO_circle_bool
+ \bool_if:NT \l__modiagram_AO_circle_bool
{
- \draw (-.4142pt,0) ++(-.2071*\l__MOdiagram_AO_width_dim,0)
- -- ++(-.25*\l__MOdiagram_AO_width_dim,0) ;
- \draw (2.4142pt,0) ++(1.2071*\l__MOdiagram_AO_width_dim,0)
- -- ++(.25*\l__MOdiagram_AO_width_dim,0) ;
+ \draw (-.4142pt,0) ++(-.2071*\l__modiagram_AO_width_dim,0)
+ -- ++(-.25*\l__modiagram_AO_width_dim,0) ;
+ \draw (2.4142pt,0) ++(1.2071*\l__modiagram_AO_width_dim,0)
+ -- ++(.25*\l__modiagram_AO_width_dim,0) ;
}
- \__MOdiagram_node:x
+ \__modiagram_node:x
{
inner~sep = 0 ,
- \bool_if:NT \l__MOdiagram_AO_square_bool { draw } ,
- \bool_if:NT \l__MOdiagram_AO_circle_bool { circle , draw } ,
+ \bool_if:NT \l__modiagram_AO_square_bool {draw} ,
+ \bool_if:NT \l__modiagram_AO_circle_bool {circle,draw} ,
minimum~size =
- \bool_if:NTF \l__MOdiagram_AO_square_bool
- { 2pt+\l__MOdiagram_AO_width_dim }
+ \bool_if:NTF \l__modiagram_AO_square_bool
+ { 2pt+\l__modiagram_AO_width_dim }
{
- \bool_if:NTF \l__MOdiagram_AO_circle_bool
- { 1.4142*(2pt+\l__MOdiagram_AO_width_dim) }
- { \l__MOdiagram_AO_width_dim }
+ \bool_if:NTF \l__modiagram_AO_circle_bool
+ { 1.4142*(2pt+\l__modiagram_AO_width_dim) }
+ { \l__modiagram_AO_width_dim }
} ,
- \bool_if:NT \l__MOdiagram_AO_round_bool
+ \bool_if:NT \l__modiagram_AO_round_bool
{ rounded~corners=2pt }
}
- at (.5*\l__MOdiagram_AO_width_dim+1pt,0)
+ at (.5*\l__modiagram_AO_width_dim+1pt,0)
{
\tikz
{
- \bool_if:nTF { \l__MOdiagram_AO_square_bool || \l__MOdiagram_AO_circle_bool }
- { \draw[draw=none] (0,0) -- ++(\l__MOdiagram_AO_width_dim,0) ; }
- { \draw (0,0) -- ++(\l__MOdiagram_AO_width_dim,0) ; }
- \tl_set:Nn \l__MOdiagram_tmpa_tl { #1 }
- \tl_remove_all:Nn \l__MOdiagram_tmpa_tl { ~ }
- \str_case:VnF \l__MOdiagram_tmpa_tl
+ \bool_if:nTF
+ { \l__modiagram_AO_square_bool || \l__modiagram_AO_circle_bool }
+ { \draw[draw=none] (0,0) -- ++(\l__modiagram_AO_width_dim,0) ; }
+ { \draw (0,0) -- ++(\l__modiagram_AO_width_dim,0) ; }
+ \tl_set:Nn \l__modiagram_tmpa_tl {#1}
+ \tl_remove_all:Nn \l__modiagram_tmpa_tl {~}
+ \str_case:VnF \l__modiagram_tmpa_tl
{
- { up }
+ {up}
{
- \__MOdiagram_draw:f
- { -left~to,semithick , \l__MOdiagram_electron_color_tl , inner~sep=0,outer~sep=0 }
- (\l__MOdiagram_AO_up_electron_tl*\l__MOdiagram_AO_width_dim,-.4*\l__MOdiagram_AO_width_dim)
- -- ++(0,.8*\l__MOdiagram_AO_width_dim) ;
+ \__modiagram_draw:f
+ {
+ -left~to,semithick ,
+ \l__modiagram_electron_color_tl ,
+ inner~sep=0,outer~sep=0
+ }
+ (
+ \l__modiagram_AO_up_electron_tl*\l__modiagram_AO_width_dim,
+ -.4*\l__modiagram_AO_width_dim
+ )
+ -- ++(0,.8*\l__modiagram_AO_width_dim) ;
}
- { down }
+ {down}
{
- \__MOdiagram_draw:f
- { -left~to,semithick , \l__MOdiagram_electron_color_tl }
- (\l__MOdiagram_AO_down_electron_tl*\l__MOdiagram_AO_width_dim,.4*\l__MOdiagram_AO_width_dim)
- -- ++(0,-.8*\l__MOdiagram_AO_width_dim) ;
+ \__modiagram_draw:f
+ { -left~to,semithick , \l__modiagram_electron_color_tl }
+ (
+ \l__modiagram_AO_down_electron_tl*\l__modiagram_AO_width_dim,
+ .4*\l__modiagram_AO_width_dim
+ )
+ -- ++(0,-.8*\l__modiagram_AO_width_dim) ;
}
- { pair }
+ {pair}
{
- \__MOdiagram_draw:f
- { -left~to,semithick , \l__MOdiagram_electron_color_tl }
- (\l__MOdiagram_AO_up_electron_tl*\l__MOdiagram_AO_width_dim,-.4*\l__MOdiagram_AO_width_dim)
- -- ++(0,.8*\l__MOdiagram_AO_width_dim) ;
- \__MOdiagram_draw:f
- { -left~to,semithick , \l__MOdiagram_electron_color_tl }
- (\l__MOdiagram_AO_down_electron_tl*\l__MOdiagram_AO_width_dim,.4*\l__MOdiagram_AO_width_dim)
- -- ++(0,-.8*\l__MOdiagram_AO_width_dim) ;
+ \__modiagram_draw:f
+ { -left~to,semithick , \l__modiagram_electron_color_tl }
+ (
+ \l__modiagram_AO_up_electron_tl*\l__modiagram_AO_width_dim,
+ -.4*\l__modiagram_AO_width_dim
+ )
+ -- ++(0,.8*\l__modiagram_AO_width_dim) ;
+ \__modiagram_draw:f
+ { -left~to,semithick , \l__modiagram_electron_color_tl }
+ (
+ \l__modiagram_AO_down_electron_tl*\l__modiagram_AO_width_dim,
+ .4*\l__modiagram_AO_width_dim
+ )
+ -- ++(0,-.8*\l__modiagram_AO_width_dim) ;
}
}
{}
@@ -1326,747 +1370,751 @@
\endtikzpicture
\group_end:
}
-\cs_generate_variant:Nn \__MOdiagram_AO:nn { ff }
+\cs_generate_variant:Nn \__modiagram_AO:nn {ff}
% -------------------------------------------------------------------------- %
% per default disable all AOs / MOs
-\cs_new_protected:Npn \__MOdiagram_atom_disable:
+\cs_new_protected:Npn \__modiagram_atom_disable:
{
- \bool_set_false:N \l__MOdiagram_atom_one_s_bool
- \bool_set_false:N \l__MOdiagram_atom_two_s_bool
- \bool_set_false:N \l__MOdiagram_atom_two_p_bool
-% \bool_set_false:N \l__MOdiagram_atom_three_s_bool
-% \bool_set_false:N \l__MOdiagram_atom_three_p_bool
+ \bool_set_false:N \l__modiagram_atom_one_s_bool
+ \bool_set_false:N \l__modiagram_atom_two_s_bool
+ \bool_set_false:N \l__modiagram_atom_two_p_bool
+% \bool_set_false:N \l__modiagram_atom_three_s_bool
+% \bool_set_false:N \l__modiagram_atom_three_p_bool
}
-\cs_new_protected:Npn \__MOdiagram_molecule_disable:
- { \bool_set_false:N \l__MOdiagram_molecule_one_mo_s_bool }
+\cs_new_protected:Npn \__modiagram_molecule_disable:
+ { \bool_set_false:N \l__modiagram_molecule_one_mo_s_bool }
% --------------------------------------------------------------------------- %
% arbitrary placement of AOs / MOs
-\dim_new:N \l__MOdiagram_AO_dim % y
-\dim_new:N \l__MOdiagram_AO_position_dim % x
+\dim_new:N \l__modiagram_AO_dim % y
+\dim_new:N \l__modiagram_AO_position_dim % x
-\dim_new:N \l__MOdiagram_AO_px_shift_dim
-\dim_new:N \l__MOdiagram_AO_py_shift_dim
-\dim_new:N \l__MOdiagram_AO_pz_shift_dim
+\dim_new:N \l__modiagram_AO_px_shift_dim
+\dim_new:N \l__modiagram_AO_py_shift_dim
+\dim_new:N \l__modiagram_AO_pz_shift_dim
-\tl_new:N \l__MOdiagram_AO_px_electron_tl
-\tl_new:N \l__MOdiagram_AO_py_electron_tl
-\tl_new:N \l__MOdiagram_AO_pz_electron_tl
+\tl_new:N \l__modiagram_AO_px_electron_tl
+\tl_new:N \l__modiagram_AO_py_electron_tl
+\tl_new:N \l__modiagram_AO_pz_electron_tl
-\tl_new:N \l__MOdiagram_AO_x_electron_color_tl
-\tl_new:N \l__MOdiagram_AO_y_electron_color_tl
-\tl_new:N \l__MOdiagram_AO_z_electron_color_tl
+\tl_new:N \l__modiagram_AO_x_electron_color_tl
+\tl_new:N \l__modiagram_AO_y_electron_color_tl
+\tl_new:N \l__modiagram_AO_z_electron_color_tl
-\bool_new:N \l__MOdiagram_AO_label_bool
-\bool_new:N \l__MOdiagram_AO_x_label_bool
-\bool_new:N \l__MOdiagram_AO_y_label_bool
-\bool_new:N \l__MOdiagram_AO_z_label_bool
+\bool_new:N \l__modiagram_AO_label_bool
+\bool_new:N \l__modiagram_AO_x_label_bool
+\bool_new:N \l__modiagram_AO_y_label_bool
+\bool_new:N \l__modiagram_AO_z_label_bool
-\tl_new:N \l__MOdiagram_AO_x_label_tl
-\tl_new:N \l__MOdiagram_AO_y_label_tl
-\tl_new:N \l__MOdiagram_AO_z_label_tl
+\tl_new:N \l__modiagram_AO_x_label_tl
+\tl_new:N \l__modiagram_AO_y_label_tl
+\tl_new:N \l__modiagram_AO_z_label_tl
-\bool_new:N \l__MOdiagram_AO_up_electron_bool
-\bool_new:N \l__MOdiagram_AO_x_up_electron_bool
-\bool_new:N \l__MOdiagram_AO_y_up_electron_bool
-\bool_new:N \l__MOdiagram_AO_z_up_electron_bool
-\tl_new:N \l__MOdiagram_AO_x_up_electron_tl
-\tl_new:N \l__MOdiagram_AO_y_up_electron_tl
-\tl_new:N \l__MOdiagram_AO_z_up_electron_tl
+\bool_new:N \l__modiagram_AO_up_electron_bool
+\bool_new:N \l__modiagram_AO_x_up_electron_bool
+\bool_new:N \l__modiagram_AO_y_up_electron_bool
+\bool_new:N \l__modiagram_AO_z_up_electron_bool
+\tl_new:N \l__modiagram_AO_x_up_electron_tl
+\tl_new:N \l__modiagram_AO_y_up_electron_tl
+\tl_new:N \l__modiagram_AO_z_up_electron_tl
-\bool_new:N \l__MOdiagram_AO_down_electron_bool
-\bool_new:N \l__MOdiagram_AO_x_down_electron_bool
-\bool_new:N \l__MOdiagram_AO_y_down_electron_bool
-\bool_new:N \l__MOdiagram_AO_z_down_electron_bool
-\tl_new:N \l__MOdiagram_AO_x_down_electron_tl
-\tl_new:N \l__MOdiagram_AO_y_down_electron_tl
-\tl_new:N \l__MOdiagram_AO_z_down_electron_tl
+\bool_new:N \l__modiagram_AO_down_electron_bool
+\bool_new:N \l__modiagram_AO_x_down_electron_bool
+\bool_new:N \l__modiagram_AO_y_down_electron_bool
+\bool_new:N \l__modiagram_AO_z_down_electron_bool
+\tl_new:N \l__modiagram_AO_x_down_electron_tl
+\tl_new:N \l__modiagram_AO_y_down_electron_tl
+\tl_new:N \l__modiagram_AO_z_down_electron_tl
-\tl_new:N \l__MOdiagram_AO_name_tl
+\tl_new:N \l__modiagram_AO_name_tl
-\bool_new:N \l__MOdiagram_AO_p_bool
-\bool_new:N \l__MOdiagram_AO_left_bool
+\bool_new:N \l__modiagram_AO_p_bool
+\bool_new:N \l__modiagram_AO_left_bool
-\int_new:N \g__MOdiagram_AO_name_int
+\int_new:N \g__modiagram_AO_name_int
% read argument in s case:
-\cs_new_protected:Npn \__MOdiagram_AO_s_set:n #1
+\cs_new_protected:Npn \__modiagram_AO_s_set:n #1
{
- \tl_if_in:onTF { #1 } { ; }
- { \__MOdiagram_AO_s_set_aux:n #1 \q_stop }
+ \tl_if_in:onTF {#1} {;}
+ { \__modiagram_AO_s_set_aux:n #1 \q_stop }
{
- \dim_set:Nn \l__MOdiagram_AO_dim { #1 cm }
- \tl_set:Nn \l__MOdiagram_AO_px_electron_tl { pair }
+ \dim_set:Nn \l__modiagram_AO_dim {#1cm}
+ \tl_set:Nn \l__modiagram_AO_px_electron_tl {pair}
}
}
-\cs_new_protected:Npn \__MOdiagram_AO_s_set_aux:n #1;#2 \q_stop
+\cs_new_protected:Npn \__modiagram_AO_s_set_aux:n #1;#2 \q_stop
{
- \dim_set:Nn \l__MOdiagram_AO_dim { #1 cm }
- \tl_set:Nn \l__MOdiagram_AO_px_electron_tl { #2 }
+ \dim_set:Nn \l__modiagram_AO_dim {#1cm}
+ \tl_set:Nn \l__modiagram_AO_px_electron_tl {#2}
}
% read argument in p case:
-\cs_new_protected:Npn \__MOdiagram_AO_p_set:n #1
+\cs_new_protected:Npn \__modiagram_AO_p_set:n #1
{
- \tl_if_in:onTF { #1 } { ; }
- { \__MOdiagram_AO_p_set_aux:n #1 \q_stop }
+ \tl_if_in:onTF {#1} {;}
+ { \__modiagram_AO_p_set_aux:n #1 \q_stop }
{
- \dim_set:Nn \l__MOdiagram_AO_dim { #1 cm }
- \tl_set:Nn \l__MOdiagram_AO_px_electron_tl { pair }
- \tl_set:Nn \l__MOdiagram_AO_py_electron_tl { pair }
- \tl_set:Nn \l__MOdiagram_AO_pz_electron_tl { pair }
+ \dim_set:Nn \l__modiagram_AO_dim {#1cm}
+ \tl_set:Nn \l__modiagram_AO_px_electron_tl {pair}
+ \tl_set:Nn \l__modiagram_AO_py_electron_tl {pair}
+ \tl_set:Nn \l__modiagram_AO_pz_electron_tl {pair}
}
}
-\cs_new_protected:Npn \__MOdiagram_AO_p_set_aux:n #1;#2 \q_stop
+\cs_new_protected:Npn \__modiagram_AO_p_set_aux:n #1;#2 \q_stop
{
- \dim_set:Nn \l__MOdiagram_AO_dim { #1 cm }
- \__MOdiagram_AO_p_set_electrons:n { #2 }
+ \dim_set:Nn \l__modiagram_AO_dim {#1cm}
+ \__modiagram_AO_p_set_electrons:n {#2}
}
-\NewDocumentCommand \__MOdiagram_AO_p_set_electrons:n
- { > { \SplitArgument { 2 } { , } } m }
- { \__MOdiagram_AO_p_set_electrons_aux:n #1 }
+\NewDocumentCommand \__modiagram_AO_p_set_electrons:n
+ { > { \SplitArgument {2} {,} } m }
+ { \__modiagram_AO_p_set_electrons_aux:n #1 }
-\cs_new_protected:Npn \__MOdiagram_AO_p_set_electrons_aux:n #1#2#3
+\cs_new_protected:Npn \__modiagram_AO_p_set_electrons_aux:n #1#2#3
{
- \tl_set:Nn \l__MOdiagram_AO_px_electron_tl { #1 }
- \tl_set:Nn \l__MOdiagram_AO_py_electron_tl { #2 }
- \tl_set:Nn \l__MOdiagram_AO_pz_electron_tl { #3 }
+ \tl_set:Nn \l__modiagram_AO_px_electron_tl {#1}
+ \tl_set:Nn \l__modiagram_AO_py_electron_tl {#2}
+ \tl_set:Nn \l__modiagram_AO_pz_electron_tl {#3}
}
-\cs_new_protected:Npn \__MOdiagram_AO_get_orbital_x_label:n #1
+\cs_new_protected:Npn \__modiagram_AO_get_orbital_x_label:n #1
{
- \bool_if:nT { \l__MOdiagram_AO_x_label_bool || \l__MOdiagram_AO_label_bool }
+ \bool_if:nT
+ { \l__modiagram_AO_x_label_bool || \l__modiagram_AO_label_bool }
{
- \__MOdiagram_node:x
- { below , \tl_use:N \l__MOdiagram_orbital_label_style_tl }
+ \__modiagram_node:x
+ { below , \tl_use:N \l__modiagram_orbital_label_style_tl }
at ( #1 . south )
{
- \tl_use:N \l__MOdiagram_orbital_label_fontsize_tl
- \tl_use:N \l__MOdiagram_AO_x_label_tl
+ \tl_use:N \l__modiagram_orbital_label_fontsize_tl
+ \tl_use:N \l__modiagram_AO_x_label_tl
} ;
}
}
-\cs_generate_variant:Nn \__MOdiagram_AO_get_orbital_x_label:n { o }
+\cs_generate_variant:Nn \__modiagram_AO_get_orbital_x_label:n {o}
-\cs_new_protected:Npn \__MOdiagram_AO_get_orbital_y_label:n #1
+\cs_new_protected:Npn \__modiagram_AO_get_orbital_y_label:n #1
{
- \bool_if:nT { \l__MOdiagram_AO_y_label_bool || \l__MOdiagram_AO_label_bool }
+ \bool_if:nT
+ { \l__modiagram_AO_y_label_bool || \l__modiagram_AO_label_bool }
{
- \__MOdiagram_node:x
- { below , \tl_use:N \l__MOdiagram_orbital_label_style_tl }
+ \__modiagram_node:x
+ { below , \tl_use:N \l__modiagram_orbital_label_style_tl }
at ( #1 . south )
{
- \tl_use:N \l__MOdiagram_orbital_label_fontsize_tl
- \tl_use:N \l__MOdiagram_AO_y_label_tl
+ \tl_use:N \l__modiagram_orbital_label_fontsize_tl
+ \tl_use:N \l__modiagram_AO_y_label_tl
} ;
}
}
-\cs_generate_variant:Nn \__MOdiagram_AO_get_orbital_y_label:n { o }
+\cs_generate_variant:Nn \__modiagram_AO_get_orbital_y_label:n {o}
-\cs_new_protected:Npn \__MOdiagram_AO_get_orbital_z_label:n #1
+\cs_new_protected:Npn \__modiagram_AO_get_orbital_z_label:n #1
{
- \bool_if:nT { \l__MOdiagram_AO_z_label_bool || \l__MOdiagram_AO_label_bool }
+ \bool_if:nT
+ { \l__modiagram_AO_z_label_bool || \l__modiagram_AO_label_bool }
{
- \__MOdiagram_node:x
- { below , \tl_use:N \l__MOdiagram_orbital_label_style_tl }
+ \__modiagram_node:x
+ { below , \tl_use:N \l__modiagram_orbital_label_style_tl }
at ( #1 . south )
{
- \tl_use:N \l__MOdiagram_orbital_label_fontsize_tl
- \tl_use:N \l__MOdiagram_AO_z_label_tl
+ \tl_use:N \l__modiagram_orbital_label_fontsize_tl
+ \tl_use:N \l__modiagram_AO_z_label_tl
} ;
}
}
-\cs_generate_variant:Nn \__MOdiagram_AO_get_orbital_z_label:n { o }
+\cs_generate_variant:Nn \__modiagram_AO_get_orbital_z_label:n {o}
% these are going to be our arguments
-\keys_define:nn { MOdiagram / AO }
+\keys_define:nn {modiagram/AO}
{
type .choice: ,
- type / s .code:n = { \bool_set_false:N \l__MOdiagram_AO_p_bool } ,
- type / p .code:n = { \bool_set_true:N \l__MOdiagram_AO_p_bool }
+ type / s .code:n = { \bool_set_false:N \l__modiagram_AO_p_bool } ,
+ type / p .code:n = { \bool_set_true:N \l__modiagram_AO_p_bool }
}
-\keys_define:nn { MOdiagram / AO / properties }
+\keys_define:nn {modiagram/AO/properties}
{
color .code:n =
{
- \tl_set:Nn \l__MOdiagram_AO_x_electron_color_tl { #1 }
- \tl_set:Nn \l__MOdiagram_AO_y_electron_color_tl { #1 }
- \tl_set:Nn \l__MOdiagram_AO_z_electron_color_tl { #1 }
+ \tl_set:Nn \l__modiagram_AO_x_electron_color_tl {#1}
+ \tl_set:Nn \l__modiagram_AO_y_electron_color_tl {#1}
+ \tl_set:Nn \l__modiagram_AO_z_electron_color_tl {#1}
} ,
- color[x] .tl_set:N = \l__MOdiagram_AO_x_electron_color_tl ,
- color[y] .tl_set:N = \l__MOdiagram_AO_y_electron_color_tl ,
- color[z] .tl_set:N = \l__MOdiagram_AO_z_electron_color_tl ,
+ color[x] .tl_set:N = \l__modiagram_AO_x_electron_color_tl ,
+ color[y] .tl_set:N = \l__modiagram_AO_y_electron_color_tl ,
+ color[z] .tl_set:N = \l__modiagram_AO_z_electron_color_tl ,
label .code:n =
{
- \bool_set_true:N \l__MOdiagram_AO_label_bool
- \tl_set:Nn \l__MOdiagram_AO_x_label_tl { #1 }
- \tl_set:Nn \l__MOdiagram_AO_y_label_tl { #1 }
- \tl_set:Nn \l__MOdiagram_AO_z_label_tl { #1 }
+ \bool_set_true:N \l__modiagram_AO_label_bool
+ \tl_set:Nn \l__modiagram_AO_x_label_tl {#1}
+ \tl_set:Nn \l__modiagram_AO_y_label_tl {#1}
+ \tl_set:Nn \l__modiagram_AO_z_label_tl {#1}
} ,
label[x] .code:n =
{
- \bool_set_true:N \l__MOdiagram_AO_x_label_bool
- \tl_set:Nn \l__MOdiagram_AO_x_label_tl { #1 }
+ \bool_set_true:N \l__modiagram_AO_x_label_bool
+ \tl_set:Nn \l__modiagram_AO_x_label_tl {#1}
} ,
label[y] .code:n =
{
- \bool_set_true:N \l__MOdiagram_AO_y_label_bool
- \tl_set:Nn \l__MOdiagram_AO_y_label_tl { #1 }
+ \bool_set_true:N \l__modiagram_AO_y_label_bool
+ \tl_set:Nn \l__modiagram_AO_y_label_tl {#1}
} ,
label[z] .code:n =
{
- \bool_set_true:N \l__MOdiagram_AO_z_label_bool
- \tl_set:Nn \l__MOdiagram_AO_z_label_tl { #1 }
+ \bool_set_true:N \l__modiagram_AO_z_label_bool
+ \tl_set:Nn \l__modiagram_AO_z_label_tl {#1}
} ,
up-el-pos .code:n =
{
- \bool_set_true:N \l__MOdiagram_AO_up_electron_bool
- \tl_set:Nn \l__MOdiagram_AO_x_up_electron_tl { #1 }
- \tl_set:Nn \l__MOdiagram_AO_y_up_electron_tl { #1 }
- \tl_set:Nn \l__MOdiagram_AO_z_up_electron_tl { #1 }
+ \bool_set_true:N \l__modiagram_AO_up_electron_bool
+ \tl_set:Nn \l__modiagram_AO_x_up_electron_tl {#1}
+ \tl_set:Nn \l__modiagram_AO_y_up_electron_tl {#1}
+ \tl_set:Nn \l__modiagram_AO_z_up_electron_tl {#1}
} ,
up-el-pos[x] .code:n =
{
- \bool_set_true:N \l__MOdiagram_AO_x_up_electron_bool
- \tl_set:Nn \l__MOdiagram_AO_x_up_electron_tl { #1 }
+ \bool_set_true:N \l__modiagram_AO_x_up_electron_bool
+ \tl_set:Nn \l__modiagram_AO_x_up_electron_tl {#1}
} ,
up-el-pos[y] .code:n =
{
- \bool_set_true:N \l__MOdiagram_AO_y_up_electron_bool
- \tl_set:Nn \l__MOdiagram_AO_y_up_electron_tl { #1 }
+ \bool_set_true:N \l__modiagram_AO_y_up_electron_bool
+ \tl_set:Nn \l__modiagram_AO_y_up_electron_tl {#1}
} ,
up-el-pos[z] .code:n =
{
- \bool_set_true:N \l__MOdiagram_AO_z_up_electron_bool
- \tl_set:Nn \l__MOdiagram_AO_y_up_electron_tl { #1 }
+ \bool_set_true:N \l__modiagram_AO_z_up_electron_bool
+ \tl_set:Nn \l__modiagram_AO_y_up_electron_tl {#1}
} ,
down-el-pos .code:n =
{
- \bool_set_true:N \l__MOdiagram_AO_down_electron_bool
- \tl_set:Nn \l__MOdiagram_AO_x_down_electron_tl { #1 }
- \tl_set:Nn \l__MOdiagram_AO_y_down_electron_tl { #1 }
- \tl_set:Nn \l__MOdiagram_AO_z_down_electron_tl { #1 }
+ \bool_set_true:N \l__modiagram_AO_down_electron_bool
+ \tl_set:Nn \l__modiagram_AO_x_down_electron_tl {#1}
+ \tl_set:Nn \l__modiagram_AO_y_down_electron_tl {#1}
+ \tl_set:Nn \l__modiagram_AO_z_down_electron_tl {#1}
} ,
down-el-pos[x] .code:n =
{
- \bool_set_true:N \l__MOdiagram_AO_x_down_electron_bool
- \tl_set:Nn \l__MOdiagram_AO_x_down_electron_tl { #1 }
+ \bool_set_true:N \l__modiagram_AO_x_down_electron_bool
+ \tl_set:Nn \l__modiagram_AO_x_down_electron_tl {#1}
} ,
down-el-pos[y] .code:n =
{
- \bool_set_true:N \l__MOdiagram_AO_y_down_electron_bool
- \tl_set:Nn \l__MOdiagram_AO_y_down_electron_tl { #1 }
+ \bool_set_true:N \l__modiagram_AO_y_down_electron_bool
+ \tl_set:Nn \l__modiagram_AO_y_down_electron_tl {#1}
} ,
down-el-pos[z] .code:n =
{
- \bool_set_true:N \l__MOdiagram_AO_z_down_electron_bool
- \tl_set:Nn \l__MOdiagram_AO_z_down_electron_tl { #1 }
+ \bool_set_true:N \l__modiagram_AO_z_down_electron_bool
+ \tl_set:Nn \l__modiagram_AO_z_down_electron_tl {#1}
}
}
% AO[<name>](<x-coord>){<type>}[<keyval>]{<AO-spec>}
-\NewDocumentCommand \__MOdiagram_arbitrary_AO: { o D(){0cm} m o m }
+\NewDocumentCommand \__modiagram_arbitrary_AO: {oD(){0cm}mom}
{
\group_begin:
- \IfNoValueTF { #1 }
+ \IfNoValueTF {#1}
{
- \int_gincr:N \g__MOdiagram_AO_name_int
- \tl_set:Nn \l__MOdiagram_AO_name_tl
- { AO \int_use:N \g__MOdiagram_AO_name_int }
+ \int_gincr:N \g__modiagram_AO_name_int
+ \tl_set:Nn \l__modiagram_AO_name_tl
+ { AO \int_use:N \g__modiagram_AO_name_int }
}
- { \tl_set:Nn \l__MOdiagram_AO_name_tl { #1 } }
- \IfNoValueF { #4 }
- { \keys_set:nn { MOdiagram / AO / properties } { #4 } }
- \keys_set:nn { MOdiagram / AO } { type = #3 }
- \bool_if:NTF \l__MOdiagram_AO_p_bool
- { \__MOdiagram_AO_p_set:n { #5 } }
- { \__MOdiagram_AO_s_set:n { #5 } }
- \dim_set:Nn \l__MOdiagram_AO_position_dim { #2 }
- \__MOdiagram_p_orbitals_shift:nnn { 0 } { 2 } { 4 }
- \__MOdiagram_energy_range:N \l__MOdiagram_AO_dim
- \__MOdiagram_node:n { inner~sep=0 , outer~sep=0 }
+ { \tl_set:Nn \l__modiagram_AO_name_tl {#1} }
+ \IfNoValueF {#4}
+ { \keys_set:nn {modiagram/AO/properties} {#4} }
+ \keys_set:nn {modiagram/AO} { type = #3 }
+ \bool_if:NTF \l__modiagram_AO_p_bool
+ { \__modiagram_AO_p_set:n {#5} }
+ { \__modiagram_AO_s_set:n {#5} }
+ \dim_set:Nn \l__modiagram_AO_position_dim {#2}
+ \__modiagram_p_orbitals_shift:nnn {0} {2} {4}
+ \__modiagram_energy_range:N \l__modiagram_AO_dim
+ \__modiagram_node:n { inner~sep=0 , outer~sep=0 }
(
- \tl_use:N \l__MOdiagram_AO_name_tl
- \bool_if:NT \l__MOdiagram_AO_p_bool { x }
+ \tl_use:N \l__modiagram_AO_name_tl
+ \bool_if:NT \l__modiagram_AO_p_bool {x}
)
at
(
- \l__MOdiagram_AO_position_dim + \l__MOdiagram_atom_px_shift_dim ,
- \l__MOdiagram_AO_dim
+ \l__modiagram_AO_position_dim + \l__modiagram_atom_px_shift_dim ,
+ \l__modiagram_AO_dim
)
{
\bool_if:nT
{
- \l__MOdiagram_AO_up_electron_bool ||
- \l__MOdiagram_AO_x_up_electron_bool
+ \l__modiagram_AO_up_electron_bool ||
+ \l__modiagram_AO_x_up_electron_bool
}
{
- \__MOdiagram_AO_place_electron:nx { 0 }
- { \tl_use:N \l__MOdiagram_AO_x_up_electron_tl }
+ \__modiagram_AO_place_electron:nx {0}
+ { \tl_use:N \l__modiagram_AO_x_up_electron_tl }
}
\bool_if:nT
{
- \l__MOdiagram_AO_down_electron_bool ||
- \l__MOdiagram_AO_x_down_electron_bool
+ \l__modiagram_AO_down_electron_bool ||
+ \l__modiagram_AO_x_down_electron_bool
}
{
- \__MOdiagram_AO_place_electron:nx { 1 }
- { \tl_use:N \l__MOdiagram_AO_x_down_electron_tl }
+ \__modiagram_AO_place_electron:nx {1}
+ { \tl_use:N \l__modiagram_AO_x_down_electron_tl }
}
- \__MOdiagram_AO:ff
- { \tl_use:N \l__MOdiagram_AO_px_electron_tl }
- { \tl_use:N \l__MOdiagram_AO_x_electron_color_tl }
+ \__modiagram_AO:ff
+ { \tl_use:N \l__modiagram_AO_px_electron_tl }
+ { \tl_use:N \l__modiagram_AO_x_electron_color_tl }
} ;
- \__MOdiagram_AO_get_orbital_x_label:o
+ \__modiagram_AO_get_orbital_x_label:o
{
- \tl_use:N \l__MOdiagram_AO_name_tl
- \bool_if:NT \l__MOdiagram_AO_p_bool { x }
+ \tl_use:N \l__modiagram_AO_name_tl
+ \bool_if:NT \l__modiagram_AO_p_bool { x }
}
- \bool_if:NT \l__MOdiagram_AO_p_bool
+ \bool_if:NT \l__modiagram_AO_p_bool
{
- \__MOdiagram_node:n { inner~sep=0 , outer~sep=0 }
- ( \tl_use:N \l__MOdiagram_AO_name_tl y )
+ \__modiagram_node:n { inner~sep=0 , outer~sep=0 }
+ ( \tl_use:N \l__modiagram_AO_name_tl y )
at
(
- \l__MOdiagram_AO_position_dim + \l__MOdiagram_atom_py_shift_dim ,
- \l__MOdiagram_AO_dim
+ \l__modiagram_AO_position_dim + \l__modiagram_atom_py_shift_dim ,
+ \l__modiagram_AO_dim
)
{
\bool_if:nT
{
- \l__MOdiagram_AO_up_electron_bool ||
- \l__MOdiagram_AO_y_up_electron_bool
+ \l__modiagram_AO_up_electron_bool ||
+ \l__modiagram_AO_y_up_electron_bool
}
{
- \__MOdiagram_AO_place_electron:nx { 0 }
- { \tl_use:N \l__MOdiagram_AO_y_up_electron_tl }
+ \__modiagram_AO_place_electron:nx {0}
+ { \tl_use:N \l__modiagram_AO_y_up_electron_tl }
}
\bool_if:nT
{
- \l__MOdiagram_AO_down_electron_bool ||
- \l__MOdiagram_AO_y_down_electron_bool
+ \l__modiagram_AO_down_electron_bool ||
+ \l__modiagram_AO_y_down_electron_bool
}
{
- \__MOdiagram_AO_place_electron:nx { 1 }
- { \tl_use:N \l__MOdiagram_AO_y_down_electron_tl }
+ \__modiagram_AO_place_electron:nx {1}
+ { \tl_use:N \l__modiagram_AO_y_down_electron_tl }
}
- \__MOdiagram_AO:ff
- { \tl_use:N \l__MOdiagram_AO_py_electron_tl }
- { \tl_use:N \l__MOdiagram_AO_y_electron_color_tl }
+ \__modiagram_AO:ff
+ { \tl_use:N \l__modiagram_AO_py_electron_tl }
+ { \tl_use:N \l__modiagram_AO_y_electron_color_tl }
} ;
% `o' expansion doesn't seem to make sense here:
- \__MOdiagram_AO_get_orbital_y_label:o { \tl_use:N \l__MOdiagram_AO_name_tl y }
- \__MOdiagram_node:n { inner~sep=0 , outer~sep=0 }
- ( \tl_use:N \l__MOdiagram_AO_name_tl z )
+ \__modiagram_AO_get_orbital_y_label:o
+ { \tl_use:N \l__modiagram_AO_name_tl y }
+ \__modiagram_node:n { inner~sep=0 , outer~sep=0 }
+ ( \tl_use:N \l__modiagram_AO_name_tl z )
at
(
- \l__MOdiagram_AO_position_dim + \l__MOdiagram_atom_pz_shift_dim ,
- \l__MOdiagram_AO_dim
+ \l__modiagram_AO_position_dim + \l__modiagram_atom_pz_shift_dim ,
+ \l__modiagram_AO_dim
)
{
\bool_if:nT
{
- \l__MOdiagram_AO_up_electron_bool ||
- \l__MOdiagram_AO_z_up_electron_bool
+ \l__modiagram_AO_up_electron_bool ||
+ \l__modiagram_AO_z_up_electron_bool
}
{
- \__MOdiagram_AO_place_electron:nx { 0 }
- { \tl_use:N \l__MOdiagram_AO_z_up_electron_tl }
+ \__modiagram_AO_place_electron:nx {0}
+ { \tl_use:N \l__modiagram_AO_z_up_electron_tl }
}
\bool_if:nT
{
- \l__MOdiagram_AO_down_electron_bool ||
- \l__MOdiagram_AO_z_down_electron_bool
+ \l__modiagram_AO_down_electron_bool ||
+ \l__modiagram_AO_z_down_electron_bool
}
{
- \__MOdiagram_AO_place_electron:nx { 1 }
- { \tl_use:N \l__MOdiagram_AO_z_down_electron_tl }
+ \__modiagram_AO_place_electron:nx {1}
+ { \tl_use:N \l__modiagram_AO_z_down_electron_tl }
}
- \__MOdiagram_AO:ff
- { \tl_use:N \l__MOdiagram_AO_pz_electron_tl }
- { \tl_use:N \l__MOdiagram_AO_z_electron_color_tl }
+ \__modiagram_AO:ff
+ { \tl_use:N \l__modiagram_AO_pz_electron_tl }
+ { \tl_use:N \l__modiagram_AO_z_electron_color_tl }
} ;
- \__MOdiagram_AO_get_orbital_z_label:o
- { \tl_use:N \l__MOdiagram_AO_name_tl z }
+ \__modiagram_AO_get_orbital_z_label:o
+ { \tl_use:N \l__modiagram_AO_name_tl z }
}
\group_end:
}
% --------------------------------------------------------------------------- %
% connect arbitrary AOs / MOs
-\NewDocumentCommand \connect { m }
+\NewDocumentCommand \connect {m}
{
- \clist_map_variable:nNn { #1 } \l__MOdiagram_tmpa_tl
+ \clist_map_variable:nNn {#1} \l__modiagram_tmpa_tl
{
- \tl_remove_all:Nn \l__MOdiagram_tmpa_tl { ~ }
- \tl_if_blank:VF \l__MOdiagram_tmpa_tl
+ \tl_remove_all:Nn \l__modiagram_tmpa_tl {~}
+ \tl_if_blank:VF \l__modiagram_tmpa_tl
{
- \__MOdiagram_detect_nodes:x { \l__MOdiagram_tmpa_tl }
- \tl_if_in:NnF \l__MOdiagram_node_A_tl { . }
- { \tl_put_right:Nn \l__MOdiagram_node_A_tl { . east } }
- \tl_if_in:NnF \l__MOdiagram_node_B_tl { . }
- { \tl_put_right:Nn \l__MOdiagram_node_B_tl { . west } }
- \__MOdiagram_draw_connection:xxx
- { \tl_use:N \l__MOdiagram_lines_tl }
- { \tl_use:N \l__MOdiagram_node_A_tl }
- { \tl_use:N \l__MOdiagram_node_B_tl }
+ \__modiagram_detect_nodes:x { \l__modiagram_tmpa_tl }
+ \tl_if_in:NnF \l__modiagram_node_A_tl {.}
+ { \tl_put_right:Nn \l__modiagram_node_A_tl {.east} }
+ \tl_if_in:NnF \l__modiagram_node_B_tl {.}
+ { \tl_put_right:Nn \l__modiagram_node_B_tl {.west} }
+ \__modiagram_draw_connection:xxx
+ { \tl_use:N \l__modiagram_lines_tl }
+ { \tl_use:N \l__modiagram_node_A_tl }
+ { \tl_use:N \l__modiagram_node_B_tl }
}
}
}
-\NewDocumentCommand \__MOdiagram_detect_nodes:n { > { \SplitArgument { 1 } { & } } m }
- { \__MOdiagram_detect_nodes_aux_i:nn #1 }
-\cs_generate_variant:Nn \__MOdiagram_detect_nodes:n { x }
+\NewDocumentCommand \__modiagram_detect_nodes:n { > { \SplitArgument {1} {&} } m }
+ { \__modiagram_detect_nodes_aux_i:nn #1 }
+\cs_generate_variant:Nn \__modiagram_detect_nodes:n {x}
-\cs_new_protected:Npn \__MOdiagram_detect_nodes_aux_i:nn #1#2
+\cs_new_protected:Npn \__modiagram_detect_nodes_aux_i:nn #1#2
{
- \tl_set:Nn \l__MOdiagram_node_A_tl { #1 }
- \tl_set:Nn \l__MOdiagram_node_B_tl { #2 }
+ \tl_set:Nn \l__modiagram_node_A_tl {#1}
+ \tl_set:Nn \l__modiagram_node_B_tl {#2}
}
-\cs_new:Npn \__MOdiagram_draw_connection:nnn #1#2#3
+\cs_new:Npn \__modiagram_draw_connection:nnn #1#2#3
{ \draw[#1] (#2) -- (#3) ; }
-\cs_generate_variant:Nn \__MOdiagram_draw_connection:nnn { xxx }
+\cs_generate_variant:Nn \__modiagram_draw_connection:nnn {xxx}
% --------------------------------------------------------------------------- %
% orbital labels
-\prop_new:N \l__MOdiagram_orbital_label_prop
-\tl_set:Nn \l__MOdiagram_orbital_label_fontsize_tl { \small }
+\prop_new:N \l__modiagram_orbital_label_prop
+\tl_set:Nn \l__modiagram_orbital_label_fontsize_tl { \small }
-\cs_new:Npn \__MOdiagram_orbital_label_set:n #1
- { \keys_set:nn { MOdiagram / label } { #1 } }
+\cs_new:Npn \__modiagram_orbital_label_set:n #1
+ { \keys_set:nn {modiagram/label} {#1} }
-\cs_new_protected:Npn \__MOdiagram_get_orbital_label:n #1
+\cs_new_protected:Npn \__modiagram_get_orbital_label:n #1
{
- \tl_clear:N \l__MOdiagram_tmpa_tl
- \tl_clear:N \l__MOdiagram_tmpb_tl
- \prop_get:NnNT \l__MOdiagram_orbital_label_prop { #1 } \l__MOdiagram_tmpa_tl
+ \tl_clear:N \l__modiagram_tmpa_tl
+ \tl_clear:N \l__modiagram_tmpb_tl
+ \prop_get:NnNT \l__modiagram_orbital_label_prop {#1} \l__modiagram_tmpa_tl
{
- \__MOdiagram_node:x
- { below , \tl_use:N \l__MOdiagram_orbital_label_style_tl }
- at ( #1 . south )
+ \__modiagram_node:x
+ { below , \tl_use:N \l__modiagram_orbital_label_style_tl }
+ at (#1.south)
{
- \tl_use:N \l__MOdiagram_orbital_label_fontsize_tl
- \tl_use:N \l__MOdiagram_tmpa_tl
+ \tl_use:N \l__modiagram_orbital_label_fontsize_tl
+ \tl_use:N \l__modiagram_tmpa_tl
} ;
}
}
-\keys_define:nn { MOdiagram / label }
+\keys_define:nn {modiagram/label}
{
1sleft .code:n =
- { \prop_put:Nnn \l__MOdiagram_orbital_label_prop { 1sleft } { #1 } } ,
+ { \prop_put:Nnn \l__modiagram_orbital_label_prop {1sleft} {#1} } ,
1sright .code:n =
- { \prop_put:Nnn \l__MOdiagram_orbital_label_prop { 1sright } { #1 } } ,
+ { \prop_put:Nnn \l__modiagram_orbital_label_prop {1sright} {#1} } ,
2sleft .code:n =
- { \prop_put:Nnn \l__MOdiagram_orbital_label_prop { 2sleft } { #1 } } ,
+ { \prop_put:Nnn \l__modiagram_orbital_label_prop {2sleft} {#1} } ,
2sright .code:n =
- { \prop_put:Nnn \l__MOdiagram_orbital_label_prop { 2sright } { #1 } } ,
+ { \prop_put:Nnn \l__modiagram_orbital_label_prop {2sright} {#1} } ,
2pxleft .code:n =
- { \prop_put:Nnn \l__MOdiagram_orbital_label_prop { 2pxleft } { #1 } } ,
+ { \prop_put:Nnn \l__modiagram_orbital_label_prop {2pxleft} {#1} } ,
2pxright .code:n =
- { \prop_put:Nnn \l__MOdiagram_orbital_label_prop { 2pxright } { #1 } } ,
+ { \prop_put:Nnn \l__modiagram_orbital_label_prop {2pxright} {#1} } ,
2pyleft .code:n =
- { \prop_put:Nnn \l__MOdiagram_orbital_label_prop { 2pyleft } { #1 } } ,
+ { \prop_put:Nnn \l__modiagram_orbital_label_prop {2pyleft} {#1} } ,
2pyright .code:n =
- { \prop_put:Nnn \l__MOdiagram_orbital_label_prop { 2pyright } { #1 } } ,
+ { \prop_put:Nnn \l__modiagram_orbital_label_prop {2pyright} {#1} } ,
2pzleft .code:n =
- { \prop_put:Nnn \l__MOdiagram_orbital_label_prop { 2pzleft } { #1 } } ,
+ { \prop_put:Nnn \l__modiagram_orbital_label_prop {2pzleft} {#1} } ,
2pzright .code:n =
- { \prop_put:Nnn \l__MOdiagram_orbital_label_prop { 2pzright } { #1 } } ,
+ { \prop_put:Nnn \l__modiagram_orbital_label_prop {2pzright} {#1} } ,
1sigma .code:n =
- { \prop_put:Nnn \l__MOdiagram_orbital_label_prop { 1sigma } { #1 } } ,
+ { \prop_put:Nnn \l__modiagram_orbital_label_prop {1sigma} {#1} } ,
1sigma* .code:n =
- { \prop_put:Nnn \l__MOdiagram_orbital_label_prop { 1sigma* } { #1 } } ,
+ { \prop_put:Nnn \l__modiagram_orbital_label_prop {1sigma*} {#1} } ,
2sigma .code:n =
- { \prop_put:Nnn \l__MOdiagram_orbital_label_prop { 2sigma } { #1 } } ,
+ { \prop_put:Nnn \l__modiagram_orbital_label_prop {2sigma} {#1} } ,
2sigma* .code:n =
- { \prop_put:Nnn \l__MOdiagram_orbital_label_prop { 2sigma* } { #1 } } ,
+ { \prop_put:Nnn \l__modiagram_orbital_label_prop {2sigma*} {#1} } ,
2psigma .code:n =
- { \prop_put:Nnn \l__MOdiagram_orbital_label_prop { 2psigma } { #1 } } ,
+ { \prop_put:Nnn \l__modiagram_orbital_label_prop {2psigma} {#1} } ,
2psigma* .code:n =
- { \prop_put:Nnn \l__MOdiagram_orbital_label_prop { 2psigma* } { #1 } } ,
+ { \prop_put:Nnn \l__modiagram_orbital_label_prop {2psigma*} {#1} } ,
2piy .code:n =
- { \prop_put:Nnn \l__MOdiagram_orbital_label_prop { 2piy } { #1 } } ,
+ { \prop_put:Nnn \l__modiagram_orbital_label_prop {2piy} {#1} } ,
2piy* .code:n =
- { \prop_put:Nnn \l__MOdiagram_orbital_label_prop { 2piy* } { #1 } } ,
+ { \prop_put:Nnn \l__modiagram_orbital_label_prop {2piy*} {#1} } ,
2piz .code:n =
- { \prop_put:Nnn \l__MOdiagram_orbital_label_prop { 2piz } { #1 } } ,
+ { \prop_put:Nnn \l__modiagram_orbital_label_prop {2piz} {#1} } ,
2piz* .code:n =
- { \prop_put:Nnn \l__MOdiagram_orbital_label_prop { 2piz* } { #1 } }
+ { \prop_put:Nnn \l__modiagram_orbital_label_prop {2piz*} {#1} }
}
\char_set_catcode_math_subscript:N \@
-\cs_new_protected:Npn \__MOdiagram_set_labels:
+\cs_new_protected:Npn \__modiagram_set_labels:
{
- \bool_if:NT \l__MOdiagram_AO_labels_bool
+ \bool_if:NT \l__modiagram_AO_labels_bool
{
- \prop_put:Nnn \l__MOdiagram_orbital_label_prop { 1sleft } { 1s }
- \prop_put:Nnn \l__MOdiagram_orbital_label_prop { 1sright } { 1s }
- \prop_put:Nnn \l__MOdiagram_orbital_label_prop { 2sleft } { 2s }
- \prop_put:Nnn \l__MOdiagram_orbital_label_prop { 2sright } { 2s }
- \prop_put:Nnn \l__MOdiagram_orbital_label_prop { 2pxleft } { 2p$@x$ }
- \prop_put:Nnn \l__MOdiagram_orbital_label_prop { 2pxright } { 2p$@x$ }
- \prop_put:Nnn \l__MOdiagram_orbital_label_prop { 2pyleft } { 2p$@y$ }
- \prop_put:Nnn \l__MOdiagram_orbital_label_prop { 2pyright } { 2p$@y$ }
- \prop_put:Nnn \l__MOdiagram_orbital_label_prop { 2pzleft } { 2p$@z$ }
- \prop_put:Nnn \l__MOdiagram_orbital_label_prop { 2pzright } { 2p$@z$ }
- \prop_put:Nnn \l__MOdiagram_orbital_label_prop { 1sigma } { 1\chemsigma$@s$ }
- \prop_put:Nnn \l__MOdiagram_orbital_label_prop { 1sigma* } { 1\chemsigma$^*@s$ }
- \prop_put:Nnn \l__MOdiagram_orbital_label_prop { 2sigma } { 2\chemsigma$@s$ }
- \prop_put:Nnn \l__MOdiagram_orbital_label_prop { 2sigma* } { 2\chemsigma$^*@s$ }
- \prop_put:Nnn \l__MOdiagram_orbital_label_prop { 2psigma } { 2\chemsigma$@x$ }
- \prop_put:Nnn \l__MOdiagram_orbital_label_prop { 2psigma* } { 2\chemsigma$^*@x$ }
- \prop_put:Nnn \l__MOdiagram_orbital_label_prop { 2piy } { 2\chempi$@y$ }
- \prop_put:Nnn \l__MOdiagram_orbital_label_prop { 2piy* } { 2\chempi$^*@y$ }
- \prop_put:Nnn \l__MOdiagram_orbital_label_prop { 2piz } { 2\chempi$@z$ }
- \prop_put:Nnn \l__MOdiagram_orbital_label_prop { 2piz* } { 2\chempi$^*@z$ }
+ \prop_put:Nnn \l__modiagram_orbital_label_prop {1sleft} { 1s }
+ \prop_put:Nnn \l__modiagram_orbital_label_prop {1sright} { 1s }
+ \prop_put:Nnn \l__modiagram_orbital_label_prop {2sleft} { 2s }
+ \prop_put:Nnn \l__modiagram_orbital_label_prop {2sright} { 2s }
+ \prop_put:Nnn \l__modiagram_orbital_label_prop {2pxleft} { 2p$@x$ }
+ \prop_put:Nnn \l__modiagram_orbital_label_prop {2pxright} { 2p$@x$ }
+ \prop_put:Nnn \l__modiagram_orbital_label_prop {2pyleft} { 2p$@y$ }
+ \prop_put:Nnn \l__modiagram_orbital_label_prop {2pyright} { 2p$@y$ }
+ \prop_put:Nnn \l__modiagram_orbital_label_prop {2pzleft} { 2p$@z$ }
+ \prop_put:Nnn \l__modiagram_orbital_label_prop {2pzright} { 2p$@z$ }
+ \prop_put:Nnn \l__modiagram_orbital_label_prop {1sigma} { 1\chemsigma$@s$ }
+ \prop_put:Nnn \l__modiagram_orbital_label_prop {1sigma*} { 1\chemsigma$^*@s$ }
+ \prop_put:Nnn \l__modiagram_orbital_label_prop {2sigma} { 2\chemsigma$@s$ }
+ \prop_put:Nnn \l__modiagram_orbital_label_prop {2sigma*} { 2\chemsigma$^*@s$ }
+ \prop_put:Nnn \l__modiagram_orbital_label_prop {2psigma} { 2\chemsigma$@x$ }
+ \prop_put:Nnn \l__modiagram_orbital_label_prop {2psigma*} { 2\chemsigma$^*@x$ }
+ \prop_put:Nnn \l__modiagram_orbital_label_prop {2piy} { 2\chempi$@y$ }
+ \prop_put:Nnn \l__modiagram_orbital_label_prop {2piy*} { 2\chempi$^*@y$ }
+ \prop_put:Nnn \l__modiagram_orbital_label_prop {2piz} { 2\chempi$@z$ }
+ \prop_put:Nnn \l__modiagram_orbital_label_prop {2piz*} { 2\chempi$^*@z$ }
}
}
\char_set_catcode_letter:N \@
% --------------------------------------------------------------------------- %
% electron colours
-\prop_new:N \l__MOdiagram_electron_color_prop
-\tl_new:N \l__MOdiagram_electron_current_color_tl
+\prop_new:N \l__modiagram_electron_color_prop
+\tl_new:N \l__modiagram_electron_current_color_tl
-\cs_new:Npn \__MOdiagram_electron_color_set:n #1
- { \keys_set:nn { MOdiagram / color } { #1 } }
+\cs_new:Npn \__modiagram_electron_color_set:n #1
+ { \keys_set:nn {modiagram/color} {#1} }
-\cs_new_protected:Npn \__MOdiagram_get_electron_color:n #1
+\cs_new_protected:Npn \__modiagram_get_electron_color:n #1
{
- \tl_clear:N \l__MOdiagram_tmpa_tl
- \tl_clear:N \l__MOdiagram_tmpb_tl
- \prop_get:NnNT \l__MOdiagram_electron_color_prop { #1 } \l__MOdiagram_tmpa_tl
- { \tl_set_eq:NN \l__MOdiagram_electron_current_color_tl \l__MOdiagram_tmpa_tl }
+ \tl_clear:N \l__modiagram_tmpa_tl
+ \tl_clear:N \l__modiagram_tmpb_tl
+ \prop_get:NnNT \l__modiagram_electron_color_prop {#1} \l__modiagram_tmpa_tl
+ { \tl_set_eq:NN \l__modiagram_electron_current_color_tl \l__modiagram_tmpa_tl }
}
-\keys_define:nn { MOdiagram / color }
+\keys_define:nn {modiagram/color}
{
1sleft .code:n =
- { \prop_put:Nnn \l__MOdiagram_electron_color_prop { 1sleft } { #1 } } ,
+ { \prop_put:Nnn \l__modiagram_electron_color_prop {1sleft} {#1} } ,
1sright .code:n =
- { \prop_put:Nnn \l__MOdiagram_electron_color_prop { 1sright } { #1 } } ,
+ { \prop_put:Nnn \l__modiagram_electron_color_prop {1sright} {#1} } ,
2sleft .code:n =
- { \prop_put:Nnn \l__MOdiagram_electron_color_prop { 2sleft } { #1 } } ,
+ { \prop_put:Nnn \l__modiagram_electron_color_prop {2sleft} {#1} } ,
2sright .code:n =
- { \prop_put:Nnn \l__MOdiagram_electron_color_prop { 2sright } { #1 } } ,
+ { \prop_put:Nnn \l__modiagram_electron_color_prop {2sright} {#1} } ,
2pxleft .code:n =
- { \prop_put:Nnn \l__MOdiagram_electron_color_prop { 2pxleft } { #1 } } ,
+ { \prop_put:Nnn \l__modiagram_electron_color_prop {2pxleft} {#1} } ,
2pxright .code:n =
- { \prop_put:Nnn \l__MOdiagram_electron_color_prop { 2pxright } { #1 } } ,
+ { \prop_put:Nnn \l__modiagram_electron_color_prop {2pxright} {#1} } ,
2pyleft .code:n =
- { \prop_put:Nnn \l__MOdiagram_electron_color_prop { 2pyleft } { #1 } } ,
+ { \prop_put:Nnn \l__modiagram_electron_color_prop {2pyleft} {#1} } ,
2pyright .code:n =
- { \prop_put:Nnn \l__MOdiagram_electron_color_prop { 2pyright } { #1 } } ,
+ { \prop_put:Nnn \l__modiagram_electron_color_prop {2pyright} {#1} } ,
2pzleft .code:n =
- { \prop_put:Nnn \l__MOdiagram_electron_color_prop { 2pzleft } { #1 } } ,
+ { \prop_put:Nnn \l__modiagram_electron_color_prop {2pzleft} {#1} } ,
2pzright .code:n =
- { \prop_put:Nnn \l__MOdiagram_electron_color_prop { 2pzright } { #1 } } ,
+ { \prop_put:Nnn \l__modiagram_electron_color_prop {2pzright} {#1} } ,
1sigma .code:n =
- { \prop_put:Nnn \l__MOdiagram_electron_color_prop { 1sigma } { #1 } } ,
+ { \prop_put:Nnn \l__modiagram_electron_color_prop {1sigma} {#1} } ,
1sigma* .code:n =
- { \prop_put:Nnn \l__MOdiagram_electron_color_prop { 1sigma* } { #1 } } ,
+ { \prop_put:Nnn \l__modiagram_electron_color_prop {1sigma*} {#1} } ,
2sigma .code:n =
- { \prop_put:Nnn \l__MOdiagram_electron_color_prop { 2sigma } { #1 } } ,
+ { \prop_put:Nnn \l__modiagram_electron_color_prop {2sigma} {#1} } ,
2sigma* .code:n =
- { \prop_put:Nnn \l__MOdiagram_electron_color_prop { 2sigma* } { #1 } } ,
+ { \prop_put:Nnn \l__modiagram_electron_color_prop {2sigma*} {#1} } ,
2psigma .code:n =
- { \prop_put:Nnn \l__MOdiagram_electron_color_prop { 2psigma } { #1 } } ,
+ { \prop_put:Nnn \l__modiagram_electron_color_prop {2psigma} {#1} } ,
2psigma* .code:n =
- { \prop_put:Nnn \l__MOdiagram_electron_color_prop { 2psigma* } { #1 } } ,
+ { \prop_put:Nnn \l__modiagram_electron_color_prop {2psigma*} {#1} } ,
2piy .code:n =
- { \prop_put:Nnn \l__MOdiagram_electron_color_prop { 2piy } { #1 } } ,
+ { \prop_put:Nnn \l__modiagram_electron_color_prop {2piy} {#1} } ,
2piy* .code:n =
- { \prop_put:Nnn \l__MOdiagram_electron_color_prop { 2piy* } { #1 } } ,
+ { \prop_put:Nnn \l__modiagram_electron_color_prop {2piy*} {#1} } ,
2piz .code:n =
- { \prop_put:Nnn \l__MOdiagram_electron_color_prop { 2piz } { #1 } } ,
+ { \prop_put:Nnn \l__modiagram_electron_color_prop {2piz} {#1} } ,
2piz* .code:n =
- { \prop_put:Nnn \l__MOdiagram_electron_color_prop { 2piz* } { #1 } }
+ { \prop_put:Nnn \l__modiagram_electron_color_prop {2piz*} {#1} }
}
% --------------------------------------------------------------------------- %
% electron positions
-\prop_new:N \l__MOdiagram_electron_up_prop
+\prop_new:N \l__modiagram_electron_up_prop
-\cs_new:Npn \__MOdiagram_electron_up_set:n #1
- { \keys_set:nn { MOdiagram / up-pos } { #1 } }
+\cs_new:Npn \__modiagram_electron_up_set:n #1
+ { \keys_set:nn {modiagram/up-pos} {#1} }
-\cs_new_protected:Npn \__MOdiagram_get_electron_up:n #1
+\cs_new_protected:Npn \__modiagram_get_electron_up:n #1
{
- \tl_clear:N \l__MOdiagram_tmpa_tl
- \tl_clear:N \l__MOdiagram_tmpb_tl
- \prop_get:NnNT \l__MOdiagram_electron_up_prop { #1 } \l__MOdiagram_tmpa_tl
- { \tl_set_eq:NN \l__MOdiagram_AO_up_electron_tl \l__MOdiagram_tmpa_tl }
+ \tl_clear:N \l__modiagram_tmpa_tl
+ \tl_clear:N \l__modiagram_tmpb_tl
+ \prop_get:NnNT \l__modiagram_electron_up_prop {#1} \l__modiagram_tmpa_tl
+ { \tl_set_eq:NN \l__modiagram_AO_up_electron_tl \l__modiagram_tmpa_tl }
}
-\keys_define:nn { MOdiagram / up-pos }
+\keys_define:nn {modiagram/up-pos}
{
1sleft .code:n =
- { \prop_put:Nnn \l__MOdiagram_electron_up_prop { 1sleft } { #1 } } ,
+ { \prop_put:Nnn \l__modiagram_electron_up_prop {1sleft} {#1} } ,
1sright .code:n =
- { \prop_put:Nnn \l__MOdiagram_electron_up_prop { 1sright } { #1 } } ,
+ { \prop_put:Nnn \l__modiagram_electron_up_prop {1sright} {#1} } ,
2sleft .code:n =
- { \prop_put:Nnn \l__MOdiagram_electron_up_prop { 2sleft } { #1 } } ,
+ { \prop_put:Nnn \l__modiagram_electron_up_prop {2sleft} {#1} } ,
2sright .code:n =
- { \prop_put:Nnn \l__MOdiagram_electron_up_prop { 2sright } { #1 } } ,
+ { \prop_put:Nnn \l__modiagram_electron_up_prop {2sright} {#1} } ,
2pxleft .code:n =
- { \prop_put:Nnn \l__MOdiagram_electron_up_prop { 2pxleft } { #1 } } ,
+ { \prop_put:Nnn \l__modiagram_electron_up_prop {2pxleft} {#1} } ,
2pxright .code:n =
- { \prop_put:Nnn \l__MOdiagram_electron_up_prop { 2pxright } { #1 } } ,
+ { \prop_put:Nnn \l__modiagram_electron_up_prop {2pxright} {#1} } ,
2pyleft .code:n =
- { \prop_put:Nnn \l__MOdiagram_electron_up_prop { 2pyleft } { #1 } } ,
+ { \prop_put:Nnn \l__modiagram_electron_up_prop {2pyleft} {#1} } ,
2pyright .code:n =
- { \prop_put:Nnn \l__MOdiagram_electron_up_prop { 2pyright } { #1 } } ,
+ { \prop_put:Nnn \l__modiagram_electron_up_prop {2pyright} {#1} } ,
2pzleft .code:n =
- { \prop_put:Nnn \l__MOdiagram_electron_up_prop { 2pzleft } { #1 } } ,
+ { \prop_put:Nnn \l__modiagram_electron_up_prop {2pzleft} {#1} } ,
2pzright .code:n =
- { \prop_put:Nnn \l__MOdiagram_electron_up_prop { 2pzright } { #1 } } ,
+ { \prop_put:Nnn \l__modiagram_electron_up_prop {2pzright} {#1} } ,
1sigma .code:n =
- { \prop_put:Nnn \l__MOdiagram_electron_up_prop { 1sigma } { #1 } } ,
+ { \prop_put:Nnn \l__modiagram_electron_up_prop {1sigma} {#1} } ,
1sigma* .code:n =
- { \prop_put:Nnn \l__MOdiagram_electron_up_prop { 1sigma* } { #1 } } ,
+ { \prop_put:Nnn \l__modiagram_electron_up_prop {1sigma*} {#1} } ,
2sigma .code:n =
- { \prop_put:Nnn \l__MOdiagram_electron_up_prop { 2sigma } { #1 } } ,
+ { \prop_put:Nnn \l__modiagram_electron_up_prop {2sigma} {#1} } ,
2sigma* .code:n =
- { \prop_put:Nnn \l__MOdiagram_electron_up_prop { 2sigma* } { #1 } } ,
+ { \prop_put:Nnn \l__modiagram_electron_up_prop {2sigma*} {#1} } ,
2psigma .code:n =
- { \prop_put:Nnn \l__MOdiagram_electron_up_prop { 2psigma } { #1 } } ,
+ { \prop_put:Nnn \l__modiagram_electron_up_prop {2psigma} {#1} } ,
2psigma* .code:n =
- { \prop_put:Nnn \l__MOdiagram_electron_up_prop { 2psigma* } { #1 } } ,
+ { \prop_put:Nnn \l__modiagram_electron_up_prop {2psigma*} {#1} } ,
2piy .code:n =
- { \prop_put:Nnn \l__MOdiagram_electron_up_prop { 2piy } { #1 } } ,
+ { \prop_put:Nnn \l__modiagram_electron_up_prop {2piy} {#1} } ,
2piy* .code:n =
- { \prop_put:Nnn \l__MOdiagram_electron_up_prop { 2piy* } { #1 } } ,
+ { \prop_put:Nnn \l__modiagram_electron_up_prop {2piy*} {#1} } ,
2piz .code:n =
- { \prop_put:Nnn \l__MOdiagram_electron_up_prop { 2piz } { #1 } } ,
+ { \prop_put:Nnn \l__modiagram_electron_up_prop {2piz} {#1} } ,
2piz* .code:n =
- { \prop_put:Nnn \l__MOdiagram_electron_up_prop { 2piz* } { #1 } }
+ { \prop_put:Nnn \l__modiagram_electron_up_prop {2piz*} {#1} }
}
-\prop_new:N \l__MOdiagram_electron_down_prop
+\prop_new:N \l__modiagram_electron_down_prop
-\cs_new:Npn \__MOdiagram_electron_down_set:n #1
- { \keys_set:nn { MOdiagram / down-pos } { #1 } }
+\cs_new:Npn \__modiagram_electron_down_set:n #1
+ { \keys_set:nn {modiagram/down-pos} {#1} }
-\cs_new_protected:Npn \__MOdiagram_get_electron_down:n #1
+\cs_new_protected:Npn \__modiagram_get_electron_down:n #1
{
- \tl_clear:N \l__MOdiagram_tmpa_tl
- \tl_clear:N \l__MOdiagram_tmpb_tl
- \prop_get:NnNT \l__MOdiagram_electron_down_prop { #1 } \l__MOdiagram_tmpa_tl
- { \tl_set_eq:NN \l__MOdiagram_AO_down_electron_tl \l__MOdiagram_tmpa_tl }
+ \tl_clear:N \l__modiagram_tmpa_tl
+ \tl_clear:N \l__modiagram_tmpb_tl
+ \prop_get:NnNT \l__modiagram_electron_down_prop {#1} \l__modiagram_tmpa_tl
+ { \tl_set_eq:NN \l__modiagram_AO_down_electron_tl \l__modiagram_tmpa_tl }
}
-\keys_define:nn { MOdiagram / down-pos }
+\keys_define:nn {modiagram/down-pos}
{
1sleft .code:n =
- { \prop_put:Nnn \l__MOdiagram_electron_down_prop { 1sleft } { #1 } } ,
+ { \prop_put:Nnn \l__modiagram_electron_down_prop {1sleft} {#1} } ,
1sright .code:n =
- { \prop_put:Nnn \l__MOdiagram_electron_down_prop { 1sright } { #1 } } ,
+ { \prop_put:Nnn \l__modiagram_electron_down_prop {1sright} {#1} } ,
2sleft .code:n =
- { \prop_put:Nnn \l__MOdiagram_electron_down_prop { 2sleft } { #1 } } ,
+ { \prop_put:Nnn \l__modiagram_electron_down_prop {2sleft} {#1} } ,
2sright .code:n =
- { \prop_put:Nnn \l__MOdiagram_electron_down_prop { 2sright } { #1 } } ,
+ { \prop_put:Nnn \l__modiagram_electron_down_prop {2sright} {#1} } ,
2pxleft .code:n =
- { \prop_put:Nnn \l__MOdiagram_electron_down_prop { 2pxleft } { #1 } } ,
+ { \prop_put:Nnn \l__modiagram_electron_down_prop {2pxleft} {#1} } ,
2pxright .code:n =
- { \prop_put:Nnn \l__MOdiagram_electron_down_prop { 2pxright } { #1 } } ,
+ { \prop_put:Nnn \l__modiagram_electron_down_prop {2pxright} {#1} } ,
2pyleft .code:n =
- { \prop_put:Nnn \l__MOdiagram_electron_down_prop { 2pyleft } { #1 } } ,
+ { \prop_put:Nnn \l__modiagram_electron_down_prop {2pyleft} {#1} } ,
2pyright .code:n =
- { \prop_put:Nnn \l__MOdiagram_electron_down_prop { 2pyright } { #1 } } ,
+ { \prop_put:Nnn \l__modiagram_electron_down_prop {2pyright} {#1} } ,
2pzleft .code:n =
- { \prop_put:Nnn \l__MOdiagram_electron_down_prop { 2pzleft } { #1 } } ,
+ { \prop_put:Nnn \l__modiagram_electron_down_prop {2pzleft} {#1} } ,
2pzright .code:n =
- { \prop_put:Nnn \l__MOdiagram_electron_down_prop { 2pzright } { #1 } } ,
+ { \prop_put:Nnn \l__modiagram_electron_down_prop {2pzright} {#1} } ,
1sigma .code:n =
- { \prop_put:Nnn \l__MOdiagram_electron_down_prop { 1sigma } { #1 } } ,
+ { \prop_put:Nnn \l__modiagram_electron_down_prop {1sigma} {#1} } ,
1sigma* .code:n =
- { \prop_put:Nnn \l__MOdiagram_electron_down_prop { 1sigma* } { #1 } } ,
+ { \prop_put:Nnn \l__modiagram_electron_down_prop {1sigma*} {#1} } ,
2sigma .code:n =
- { \prop_put:Nnn \l__MOdiagram_electron_down_prop { 2sigma } { #1 } } ,
+ { \prop_put:Nnn \l__modiagram_electron_down_prop {2sigma} {#1} } ,
2sigma* .code:n =
- { \prop_put:Nnn \l__MOdiagram_electron_down_prop { 2sigma* } { #1 } } ,
+ { \prop_put:Nnn \l__modiagram_electron_down_prop {2sigma*} {#1} } ,
2psigma .code:n =
- { \prop_put:Nnn \l__MOdiagram_electron_down_prop { 2psigma } { #1 } } ,
+ { \prop_put:Nnn \l__modiagram_electron_down_prop {2psigma} {#1} } ,
2psigma* .code:n =
- { \prop_put:Nnn \l__MOdiagram_electron_down_prop { 2psigma* } { #1 } } ,
+ { \prop_put:Nnn \l__modiagram_electron_down_prop {2psigma*} {#1} } ,
2piy .code:n =
- { \prop_put:Nnn \l__MOdiagram_electron_down_prop { 2piy } { #1 } } ,
+ { \prop_put:Nnn \l__modiagram_electron_down_prop {2piy} {#1} } ,
2piy* .code:n =
- { \prop_put:Nnn \l__MOdiagram_electron_down_prop { 2piy* } { #1 } } ,
+ { \prop_put:Nnn \l__modiagram_electron_down_prop {2piy*} {#1} } ,
2piz .code:n =
- { \prop_put:Nnn \l__MOdiagram_electron_down_prop { 2piz } { #1 } } ,
+ { \prop_put:Nnn \l__modiagram_electron_down_prop {2piz} {#1} } ,
2piz* .code:n =
- { \prop_put:Nnn \l__MOdiagram_electron_down_prop { 2piz* } { #1 } }
+ { \prop_put:Nnn \l__modiagram_electron_down_prop {2piz*} {#1} }
}
% --------------------------------------------------------------------------- %
% energy axis
\dim_new:N \l_energy_axis_dim
-\dim_set:Nn \l_energy_axis_dim { 0pt }
+\dim_set:Nn \l_energy_axis_dim {0pt}
-\tl_new:N \l__MOdiagram_Eaxis_head_tl
-\tl_set:Nn \l__MOdiagram_Eaxis_head_tl { latex }
-\tl_new:N \l__MOdiagram_Eaxis_title_tl
+\tl_new:N \l__modiagram_Eaxis_head_tl
+\tl_set:Nn \l__modiagram_Eaxis_head_tl {latex}
+\tl_new:N \l__modiagram_Eaxis_title_tl
-\bool_new:N \l__MOdiagram_Eaxis_title_bool
-\bool_set_false:N \l__MOdiagram_Eaxis_title_bool
+\bool_new:N \l__modiagram_Eaxis_title_bool
+\bool_set_false:N \l__modiagram_Eaxis_title_bool
-\NewDocumentCommand \__MOdiagram_EnergyAxis: { o }
+\NewDocumentCommand \__modiagram_EnergyAxis: {o}
{
- \IfNoValueF { #1 } { \keys_set:nn { MOdiagram / axis } { #1 } }
- \__MOdiagram_draw:f { - \tl_use:N \l__MOdiagram_Eaxis_head_tl }
- (\l_energy_axis_dim , \g__MOdiagram_min_energy_dim - 1cm )
+ \IfNoValueF {#1} { \keys_set:nn {modiagram/axis} {#1} }
+ \__modiagram_draw:f { - \tl_use:N \l__modiagram_Eaxis_head_tl }
+ (\l_energy_axis_dim , \g__modiagram_min_energy_dim - 1cm )
--
- (\l_energy_axis_dim , \g__MOdiagram_max_energy_dim + 1cm )
- \bool_if:NT \l__MOdiagram_Eaxis_title_bool
- { node [ above ] { \tl_use:N \l__MOdiagram_Eaxis_title_tl } }
+ (\l_energy_axis_dim , \g__modiagram_max_energy_dim + 1cm )
+ \bool_if:NT \l__modiagram_Eaxis_title_bool
+ { node [ above ] { \tl_use:N \l__modiagram_Eaxis_title_tl } }
;
}
-\keys_define:nn { MOdiagram / axis }
+\keys_define:nn {modiagram/axis}
{
title .code:n =
{
- \bool_set_true:N \l__MOdiagram_Eaxis_title_bool
- \tl_set:Nn \l__MOdiagram_Eaxis_title_tl { #1 }
+ \bool_set_true:N \l__modiagram_Eaxis_title_bool
+ \tl_set:Nn \l__modiagram_Eaxis_title_tl {#1}
} ,
title .default:n = energy ,
- head .tl_set:N = \l__MOdiagram_Eaxis_head_tl ,
+ head .tl_set:N = \l__modiagram_Eaxis_head_tl ,
head .default:n = >
}
% --------------------------------------------------------------------------- %
% tikz helper functions
-\cs_new:Npn \__MOdiagram_node:n #1
- { \node [ #1 ] }
-\cs_generate_variant:Nn \__MOdiagram_node:n { f,x }
+\cs_new:Npn \__modiagram_node:n #1
+ { \node [#1] }
+\cs_generate_variant:Nn \__modiagram_node:n {f,x}
-\cs_new:Npn \__MOdiagram_draw:n #1
- { \draw [ #1 ] }
-\cs_generate_variant:Nn \__MOdiagram_draw:n { f }
+\cs_new:Npn \__modiagram_draw:n #1
+ { \draw [#1] }
+\cs_generate_variant:Nn \__modiagram_draw:n {f}
-\cs_new:Npn \__MOdiagram_tikz:nn #1
- { \tikz [ #1 ] }
-\cs_generate_variant:Nn \__MOdiagram_tikz:nn { fn,xn }
+\cs_new:Npn \__modiagram_tikz:nn #1
+ { \tikz [#1] }
+\cs_generate_variant:Nn \__modiagram_tikz:nn {f,x}
-\cs_new:Npn \__MOdiagram_tikzpicture:n #1
- { \tikzpicture [ #1 ] }
-\cs_generate_variant:Nn \__MOdiagram_tikzpicture:n { f }
+\cs_new:Npn \__modiagram_tikzpicture:n #1
+ { \tikzpicture [#1] }
+\cs_generate_variant:Nn \__modiagram_tikzpicture:n {f}
-\tex_endinput:D
+\file_input_stop:
% --------------------------------------------------------------------------- %
Version history
2011/09/25 version 0.1 - first upload to CTAN
2011/10/27 version 0.2 - \atom, \molecule, \AO, \EnergyAxis only defined within
- the MOdiagram environment
+ the modiagram environment
- bugfix in energy splitting process
- bugfix: wrong labelling of plain empty orbitals
- different values for energy gain and loss possible
@@ -2081,8 +2129,15 @@ Version history
2014/06/28 version 0.2e - fix: adapt to deprecated expl3 command
2015/07/19 version 0.2f - fix: adapt to deprecated expl3 command
2015/09/23 version 0.2g - fix: adapt to deprecated expl3 command
+2019/10/31 version 0.3 - correct wrong expl3 code
+ - rename `MOdiagram' into `modiagram'
+ - rename \MOsetup into \setmodiagram
+
TODO
+- reduce code duplication
+- reduce usage of f expansion
+- get rid of hard-coded defaults
- 3s, 3p , 3sMO , 3pMO , 4s , sp3
- energy axis: ticks? at orbital heights?
- electron configuration
diff --git a/macros/latex/contrib/modiagram/modiagram_en.pdf b/macros/latex/contrib/modiagram/modiagram_en.pdf
index d63a233e3a..4aefd6b5fb 100644
--- a/macros/latex/contrib/modiagram/modiagram_en.pdf
+++ b/macros/latex/contrib/modiagram/modiagram_en.pdf
Binary files differ
diff --git a/macros/latex/contrib/modiagram/modiagram_en.tex b/macros/latex/contrib/modiagram/modiagram_en.tex
index 3d5cc900ed..049f7a0da0 100644
--- a/macros/latex/contrib/modiagram/modiagram_en.tex
+++ b/macros/latex/contrib/modiagram/modiagram_en.tex
@@ -13,7 +13,7 @@
% If you have any ideas, questions, suggestions or bugs to report, please
% feel free to contact me.
% --------------------------------------------------------------------------
-% Copyright 2011--2015 Clemens Niederberger
+% Copyright 2011--2019 Clemens Niederberger
%
% This work may be distributed and/or modified under the
% conditions of the LaTeX Project Public License, either version 1.3
@@ -45,9 +45,9 @@
connect,
EnergyAxis,
molecule,
- MOsetup
+ setmodiagram
} ,
- add-envs = { MOdiagram } ,
+ add-envs = { modiagram } ,
add-silent-cmds = {
ch,
draw,
@@ -58,17 +58,19 @@
chemSigma
} ,
abstract = {%
- \begin{MOdiagram}[style=fancy,distance=7cm,AO-width=15pt,labels,names]
+ \begin{modiagram}[style=fancy,distance=7cm,AO-width=15pt,labels,names]
\atom[N]{left}{ 2p = {0;up,up,up} }
\atom[O]{right}{ 2p = {2;pair,up,up} }
\molecule[NO]{
2pMO = {1.8,.4;pair,pair,pair,up},
color = { 2piy*=red }
}
- \end{MOdiagram}
+ \end{modiagram}
}
}
+\newpackagename\modiag{modiagram}
+
\defbibheading{bibliography}{\addsec{References}}
\usepackage{booktabs}
@@ -83,9 +85,14 @@
long = molecular orbital
}
-\expandafter\def\csname libertine@figurestyle\endcsname{LF}
-\usepackage[libertine]{newtxmath}
-\expandafter\def\csname libertine@figurestyle\endcsname{OsF}
+\makeatletter
+\def\libertine@figurestyle{LF}
+\RequirePackage{amsmath}
+\undef\lvert \undef\lVert
+\undef\rvert \undef\rVert
+\RequirePackage[libertine]{newtxmath}
+\def\libertine@figurestyle{OsF}
+\makeatother
\usepackage{chemmacros,chemformula}
\chemsetup{
@@ -98,11 +105,11 @@
{%
\begingroup
\IfNoValueTF{#1}
- {\MOsetup{ style=square,AO-width=8pt }}%
- {\MOsetup{ style=square,AO-width=8pt , #1 }}%
- \begin{MOdiagram}
+ {\setmodiagram{ style=square,AO-width=8pt }}%
+ {\setmodiagram{ style=square,AO-width=8pt , #1 }}%
+ \begin{modiagram}
\AO{s}{0;#2}
- \end{MOdiagram}%
+ \end{modiagram}%
\endgroup
}
@@ -113,7 +120,7 @@
\section{Licence, Requirements}
\license
-\modiagram\ uses \bnd{l3kernel}~\cite{bnd:l3kernel} and
+\modiag\ uses \bnd{l3kernel}~\cite{bnd:l3kernel} and
\bnd{l3packages}~\cite{bnd:l3packages}. It also uses \TikZ~\cite{pkg:pgf} and
the package \pkg{chemgreek}~\cite{pkg:chemgreek} bundle. Additionally the
\TikZ\ libraries \code{calc} and \code{arrows} are loaded. Knowledge of
@@ -133,14 +140,14 @@ question
Otherwise, I think I'll have a go at it in \TikZ.
\end{cnltxquote}
The problem was solved using \TikZ, since no package existed for that purpose.
-For one thing \modiagram\ is intended to fill this gap. I also found it very
+For one thing \modiag\ is intended to fill this gap. I also found it very
tedious, to make all this copying and pasting when I needed a second, third,
-\ldots\ diagram. \modiagram\ took care of that.
+\ldots\ diagram. \modiag\ took care of that.
\section{Main Commands}
All molecular orbital (MO) diagrams are created using the environment
-\env{MOdiagram}{}.
+\env{modiagram}{}.
\subsection{The \cs*{atom} Command}
\begin{commands}
@@ -152,13 +159,13 @@ All molecular orbital (MO) diagrams are created using the environment
Let's take a look at an example:
\begin{example}[side-by-side]
- \begin{MOdiagram}
+ \begin{modiagram}
\atom{right}{
1s = { 0; pair} ,
2s = { 1; pair} ,
2p = {1.5; up, down }
}
- \end{MOdiagram}
+ \end{modiagram}
\end{example}
As you can see, the argument \meta{AO-spec} is essential to create the actual
@@ -180,20 +187,20 @@ the \ac{AO} vertically by \meta{rel-energy} \si{\centi\metre}.
The argument \meta{left}/\meta{right} is important, when p~orbitals are used.
For instance compare the following example to the one before:
\begin{example}[side-by-side]
- \begin{MOdiagram}
+ \begin{modiagram}
\atom{left}{
1s = { 0; pair} ,
2s = { 1; pair} ,
2p = {1.5; up, down }
}
- \end{MOdiagram}
+ \end{modiagram}
\end{example}
When both variants are used one can also see, that the right atom is shifted to
the right (hence the naming). The right atom is shifted by \SI{4}{\centi\metre}
per default and can be adjusted individually, see page~\pageref{option:distance}.
\begin{example}
- \begin{MOdiagram}
+ \begin{modiagram}
\atom{left}{
1s = { 0; pair} ,
2s = { 1; pair} ,
@@ -204,7 +211,7 @@ per default and can be adjusted individually, see page~\pageref{option:distance}
2s = { 1; pair} ,
2p = {1.5; up, down }
}
- \end{MOdiagram}
+ \end{modiagram}
\end{example}
With the command \cs{molecule} (section~\ref{ssec:molecule}) the reason for the
shift becomes clear.
@@ -212,23 +219,23 @@ shift becomes clear.
Any of the arguments for the \ac{AO} can be left empty or be omitted.
\begin{example}[side-by-side]
Without argument: default height, full:\par
- \begin{MOdiagram}
+ \begin{modiagram}
\atom{left}{1s, 2s, 2p}
- \end{MOdiagram}
+ \end{modiagram}
\end{example}
\begin{example}[side-by-side]
empty argument: default height, empty:\par
- \begin{MOdiagram}
+ \begin{modiagram}
\atom{left}{1s=, 2s=, 2p=}
- \end{MOdiagram}
+ \end{modiagram}
\end{example}
\begin{example}[side-by-side]
using some values:\par
- \begin{MOdiagram}
+ \begin{modiagram}
\atom{left}{1s, 2s=1, 2p={;,up} }
- \end{MOdiagram}
+ \end{modiagram}
\end{example}
\subsection{The \cs*{molecule} Command}\label{ssec:molecule}
@@ -240,11 +247,11 @@ Any of the arguments for the \ac{AO} can be left empty or be omitted.
An example first:
\begin{example}[side-by-side]
- \begin{MOdiagram}
+ \begin{modiagram}
\atom{left} { 1s = { 0; up } }
\atom{right}{ 1s = { 0; up } }
\molecule { 1sMO = {.75; pair } }
- \end{MOdiagram}
+ \end{modiagram}
\end{example}
The command \cs{molecule} connects the \acp{AO} with the bonding and
anti-bondung \acp{MO}. \cs{molecule} can only be used \emph{after} one has
@@ -269,11 +276,11 @@ The argument \meta{MO-spec} accepts a comma separated list of key/value pairs:
Obviously the regarding \acp{AO} must have been set in order to connect them.
This for example won't work:
\begin{sourcecode}
- \begin{MOdiagram}
+ \begin{modiagram}
\atom{left} { 1s = 0 }
\atom{right}{ 1s = 0 }
\molecule { 2sMO = .75 }
- \end{MOdiagram}
+ \end{modiagram}
\end{sourcecode}
The value used in \meta{energy gain} determines how many \si{\centi\metre} the
bonding \ac{MO} lies below the lower \ac{AO} or how many \si{\centi\metre} the
@@ -281,52 +288,52 @@ anti-bondung \ac{MO} lies above the higher \ac{AO}.
\begin{example}[side-by-side]
same level:\par
- \begin{MOdiagram}
+ \begin{modiagram}
\atom{left} { 1s = { 0; up } }
\atom{right}{ 1s = { 0; up } }
\molecule { 1sMO = {.75; pair } }
- \end{MOdiagram}
+ \end{modiagram}
different levels:\par
- \begin{MOdiagram}
+ \begin{modiagram}
\atom{left} { 1s = { 0; up } }
\atom{right}{ 1s = { 1; up } }
\molecule { 1sMO = {.25; pair } }
- \end{MOdiagram}
+ \end{modiagram}
\end{example}
If you specify \meta{energy loss} you can create non-symmetrical splittings.
Then, the first value (\meta{energy gain}) is used for the bonding \ac{MO} and
the second value (\meta{energy loss}) is used for the anti-bonding \ac{MO}.
\begin{example}[side-by-side]
- \begin{MOdiagram}
+ \begin{modiagram}
\atom{left} { 1s = { 0; up } }
\atom{right}{ 1s = { 0; up } }
\molecule { 1sMO = {.75/.25; pair } }
- \end{MOdiagram}
+ \end{modiagram}
- \begin{MOdiagram}
+ \begin{modiagram}
\atom{left} { 1s = { 0; up } }
\atom{right}{ 1s = { 1; up } }
\molecule { 1sMO = {.25/.75; pair } }
- \end{MOdiagram}
+ \end{modiagram}
\end{example}
Please be aware, that you have to specify \emph{two} such values or pairs with
\option{2pMO}: the splitting of the \chemsigma\ orbitals and the splitting of
the \chempi\ orbitals.
\begin{example}
- \begin{MOdiagram}
+ \begin{modiagram}
\atom{left} { 2p = { 0; up, up } }
\atom{right}{ 2p = { 1; up, up } }
\molecule { 2pMO = { 1.5, .75; pair, up, up } }
- \end{MOdiagram}
+ \end{modiagram}
\end{example}
The complete \ac{MO} diagram for triplett dioxygen now could look something
like that:
\begin{example}
- \begin{MOdiagram}
+ \begin{modiagram}
\atom{left}{
1s, 2s, 2p = {;pair,up,up}
}
@@ -336,7 +343,7 @@ like that:
\molecule{
1sMO, 2sMO, 2pMO = {;pair,pair,pair,up,up}
}
- \end{MOdiagram}
+ \end{modiagram}
\end{example}
\subsection{The Naming Scheme}\label{Namensgebung}
@@ -344,7 +351,7 @@ Since one wants to be able to put labels to the orbitals and since they are
nodes in a \env*{tikzpicture}, the internal naming scheme is important. It
closely follows the function:
\begin{center}
- \begin{MOdiagram}[
+ \begin{modiagram}[
distance = 6cm,
AO-width = 20pt,
labels-fs = \ttfamily\footnotesize,
@@ -391,13 +398,13 @@ closely follows the function:
2piz* = {2piz*}
}
}
- \end{MOdiagram}
+ \end{modiagram}
\end{center}
With these names it is possible to reference the orbitals with the known \TikZ
commands:
\begin{example}[side-by-side]
- \begin{MOdiagram}
+ \begin{modiagram}
\atom{left} { 1s = 0 }
\atom{right}{ 1s = 0 }
\molecule { 1sMO = .75 }
@@ -405,11 +412,11 @@ commands:
(1sigma.center) -- (1sigma*.center) ;
\draw[red]
(1sigma*) ++ (2cm,.5cm) node {splitting} ;
- \end{MOdiagram}
+ \end{modiagram}
\end{example}
\begin{example}
- \begin{MOdiagram}
+ \begin{modiagram}
\atom{left} { 1s = 0 }
\atom{right}{ 1s = 0 }
\molecule { 1sMO = .75 }
@@ -417,7 +424,7 @@ commands:
(1sigma*) circle (8pt);
\draw[<-,shorten <=8pt,shorten >=15pt,blue]
(1sigma*) --++(2,1) node {anti-bonding MO};
- \end{MOdiagram}
+ \end{modiagram}
\end{example}
\subsection{Placing AOs and MOs Arbitrarily}\label{ssec:AO_MO_irgendwo}
@@ -428,7 +435,7 @@ anti-bonding combination of two p orbitals of Flourine with one p orbital of
Xenon:
\begin{center}
- \begin{MOdiagram}[names]
+ \begin{modiagram}[names]
\atom[\chlewis{0.}{F}\hspace*{5mm}\chlewis{180.}{F}]{left}{
1s=.2;up,up-el-pos={1sleft=.5}
}
@@ -440,7 +447,7 @@ Xenon:
\node[right,xshift=4mm] at (1sigma) {\footnotesize bonding};
\node[above] at (AO2.90) {\footnotesize non-bonding};
\node[above] at (1sigma*.90) {\footnotesize anti-bonding};
- \end{MOdiagram}
+ \end{modiagram}
\end{center}
To create diagrams like this there is the following command, which draws a single
@@ -459,10 +466,10 @@ To create diagrams like this there is the following command, which draws a singl
Depending on the \meta{type} one s or three p orbitals are drawn.
\begin{example}[side-by-side]
- \begin{MOdiagram}
+ \begin{modiagram}
\AO{s}{0;}
\AO(-20pt){p}{1;pair,up,down}
- \end{MOdiagram}
+ \end{modiagram}
\end{example}
If one wants to place such an \ac{AO} at the position of an atom, one has to
@@ -475,21 +482,21 @@ section~\ref{orbital-positionen}):\label{xshift}
\end{itemize}
\begin{example}[side-by-side]
- \begin{MOdiagram}
+ \begin{modiagram}
\atom{left} {1s=0}
\atom{right}{1s=0}
\molecule {1sMO=1}
\AO(1cm){s}{2}
\AO(3cm){s}{2}
\AO(5cm){s}{2}
- \end{MOdiagram}
+ \end{modiagram}
\end{example}
Within the p orbitals there is an additional shift by \SI{20}{pt} per orbital.
This is equivalent to a double shift by the length \code{AO-width} (see
section~\ref{option:AO-width}):
\begin{example}
- \begin{MOdiagram}
+ \begin{modiagram}
\atom{left} {2p=0}
\atom{right}{2p=0}
% above the left atom:
@@ -500,26 +507,26 @@ section~\ref{option:AO-width}):
\AO(1cm) {s}{ .5}
\AO(5cm+20pt){s}{ 1;up}
\AO(5cm+40pt){s}{1.5;down}
- \end{MOdiagram}
+ \end{modiagram}
\end{example}
The \acp{AO} created with \cs{AO} also can be connected. For this you can use
the \TikZ\ command \cs*{draw}, of course. You can use the predefined node
names\ldots
\begin{example}
- \begin{MOdiagram}
+ \begin{modiagram}
\AO{s}{0} \AO(2cm){s}{1}
\AO{s}{2} \AO(2cm){s}{1.5}
\draw[red] (AO1.0) -- (AO2.180) (AO3.0) -- (AO4.180);
- \end{MOdiagram}
+ \end{modiagram}
\end{example}
\ldots\ or use own node names
\begin{example}
- \begin{MOdiagram}
+ \begin{modiagram}
\AO[a]{s}{0} \AO[b](2cm){s}{1}
\AO[c]{s}{2} \AO[d](2cm){s}{1.5}
\draw[red] (a.0) -- (b.180) (c.0) -- (d.180);
- \end{MOdiagram}
+ \end{modiagram}
\end{example}
The predefined names are \code{AO1}, \code{AO2} \etc for the type \code{s} and
@@ -527,15 +534,15 @@ The predefined names are \code{AO1}, \code{AO2} \etc for the type \code{s} and
\code{p}. Nodes of the type \code{p} get an \code{x}, \code{y} or \code{z} if
you specify your own name, too.
\begin{example}
- \begin{MOdiagram}
+ \begin{modiagram}
\AO{p}{0}
\draw[<-,shorten >=5pt] (AO1y.-90) -- ++ (.5,-1) node {y};
- \end{MOdiagram}
+ \end{modiagram}
and
- \begin{MOdiagram}
+ \begin{modiagram}
\AO[A]{p}{0}
\draw[<-,shorten >=5pt] (Ay.-90) -- ++ (.5,-1) node {y};
- \end{MOdiagram}
+ \end{modiagram}
\end{example}
However, if you want the lines to be drawn in the same style as the ones
@@ -549,11 +556,11 @@ created by \cs{molecule}\footnote{which can be customized, see
This command expects a comma separated list of node name pairs that are to be
connected. The names have to be connected with a \code{\&}:
\begin{example}[side-by-side]
- \begin{MOdiagram}
+ \begin{modiagram}
\AO{s}{0;} \AO(2cm){s}{1;}
\AO{s}{2;} \AO(2cm){s}{1.5;}
\connect{ AO1 & AO2, AO3 & AO4 }
- \end{MOdiagram}
+ \end{modiagram}
\end{example}
Some things still need to be said: \cs{connect} adds the anchor \code{east} to
@@ -574,7 +581,7 @@ depending on the values of \meta{distance} (\meta{dist}) and \meta{AO-width}
(\meta{AO}). In sections~\ref{option:distance} and \ref{option:AO-width} these
lengths and how they can be changed are discussed.
\begin{center}
- \begin{MOdiagram}[
+ \begin{modiagram}[
AO-width = 22pt ,
labels-fs = \ttfamily\tiny ,
labels-style = {text width=40pt,align=center,yshift=11pt}]
@@ -617,7 +624,7 @@ lengths and how they can be changed are discussed.
2piz* = {.5*\meta{dist} + 1cm + \meta{AO}}
}
}
- \end{MOdiagram}
+ \end{modiagram}
\end{center}
\subsection{Default Values}
@@ -663,23 +670,23 @@ it needs a value for \meta{energy}, though.
Compare these examples:
\begin{example}[side-by-side]
- \begin{MOdiagram}
+ \begin{modiagram}
\atom{left} { 1s={0;pair} }
\atom{right}{ 1s }
- \end{MOdiagram}
+ \end{modiagram}
\hrulefill
- \begin{MOdiagram}
+ \begin{modiagram}
\atom{left}{ 1s=1 }
\atom{right}{ 1s= }
- \end{MOdiagram}
+ \end{modiagram}
\end{example}
\section{Customization}
The options of the section~\ref{ssec:umgebungs_optionen} can be set global as
package option, \ie, with \cs*{usepackage}\oarg{options}\Marg{modiagram}, or
-via the setup command \cs{MOsetup}\marg{options}.
+via the setup command \cs{setmodiagram}\marg{options}.
\subsection{Environment Options}\label{ssec:umgebungs_optionen}
There are some options with which the layout of the \ac{MO} diagrams can be
@@ -728,9 +735,9 @@ changed:
They all are discussed in the following sections. If they're used as options
for the environment, they're set locally and only change that environment.
\begin{sourcecode}
- \begin{MOdiagram}[options]
+ \begin{modiagram}[options]
...
- \end{MOdiagram}
+ \end{modiagram}
\end{sourcecode}
\subsubsection{Option \option*{style}}\label{option:style}
@@ -746,47 +753,47 @@ There are five different styles which can be chosen.
Let's take the \ac{MO} diagram of \ch{H2} to illustrate the different styles:
\begin{example}[side-by-side]
% use package `chemmacros'
- \begin{MOdiagram}[style=plain]% default
+ \begin{modiagram}[style=plain]% default
\atom[H]{left} { 1s = {;up} }
\atom[H]{right}{ 1s = {;up} }
\molecule[\ch{H2}]{ 1sMO = {.75;pair} }
- \end{MOdiagram}
+ \end{modiagram}
\end{example}
\begin{example}[side-by-side]
% use package `chemmacros'
- \begin{MOdiagram}[style=square]
+ \begin{modiagram}[style=square]
\atom[H]{left} { 1s = {;up} }
\atom[H]{right}{ 1s = {;up} }
\molecule[\ch{H2}]{ 1sMO = {.75;pair} }
- \end{MOdiagram}
+ \end{modiagram}
\end{example}
\begin{example}[side-by-side]
% use package `chemmacros'
- \begin{MOdiagram}[style=circle]
+ \begin{modiagram}[style=circle]
\atom[H]{left} { 1s = {;up} }
\atom[H]{right}{ 1s = {;up} }
\molecule[\ch{H2}]{ 1sMO = {.75;pair} }
- \end{MOdiagram}
+ \end{modiagram}
\end{example}
\begin{example}[side-by-side]
% use package `chemmacros'
- \begin{MOdiagram}[style=round]
+ \begin{modiagram}[style=round]
\atom[H]{left} { 1s = {;up} }
\atom[H]{right}{ 1s = {;up} }
\molecule[\ch{H2}]{ 1sMO = {.75;pair} }
- \end{MOdiagram}
+ \end{modiagram}
\end{example}
\begin{example}[side-by-side]
% use package `chemmacros'
- \begin{MOdiagram}[style=fancy]
+ \begin{modiagram}[style=fancy]
\atom[H]{left} { 1s = {;up} }
\atom[H]{right}{ 1s = {;up} }
\molecule[\ch{H2}]{ 1sMO = {.75;pair} }
- \end{MOdiagram}
+ \end{modiagram}
\end{example}
\subsubsection{Option \option*{distance}}\label{option:distance}
@@ -798,11 +805,11 @@ length can be adjusted. This will change the position of the right atom to
section~\ref{orbital-positionen}.
\begin{example}[side-by-side]
% use package `chemmacros'
- \begin{MOdiagram}[distance=6cm]
+ \begin{modiagram}[distance=6cm]
\atom[H]{left} { 1s = {;up} }
\atom[H]{right}{ 1s = {;up} }
\molecule[\ch{H2}]{ 1sMO = {.75;pair} }
- \end{MOdiagram}
+ \end{modiagram}
\end{example}
\subsubsection{Option \option*{AO-width}}\label{option:AO-width}
@@ -811,20 +818,20 @@ orbital displayed with the \code{plain} style. It's default value is
\SI{10}{pt}.
\begin{example}[side-by-side]
% use package `chemmacros'
- \begin{MOdiagram}[AO-width=15pt]
+ \begin{modiagram}[AO-width=15pt]
\atom[H]{left} { 1s = {;up} }
\atom[H]{right}{ 1s = {;up} }
\molecule[\ch{H2}]{ 1sMO = {.75;pair} }
- \end{MOdiagram}
+ \end{modiagram}
\end{example}
\begin{example}[side-by-side]
% use package `chemmacros'
- \begin{MOdiagram}[style=fancy,AO-width=15pt]
+ \begin{modiagram}[style=fancy,AO-width=15pt]
\atom[H]{left} { 1s = {;up} }
\atom[H]{right}{ 1s = {;up} }
\molecule[\ch{H2}]{ 1sMO = {.75;pair} }
- \end{MOdiagram}
+ \end{modiagram}
\end{example}
By changing the value of \option{AO-width} the positions of the p and the
\chempi\ orbitals also change, see section~\ref{orbital-positionen}.
@@ -841,29 +848,29 @@ the arrows and \code{1} \emph{full} distance (with respect to the length
\begin{example}[side-by-side]
% use package `chemmacros'
- \begin{MOdiagram}[el-sep=.2]% default
+ \begin{modiagram}[el-sep=.2]% default
\atom[H]{left} { 1s = {;up} }
\atom[H]{right}{ 1s = {;up} }
\molecule[\ch{H2}]{ 1sMO = {.75;pair} }
- \end{MOdiagram}
+ \end{modiagram}
\end{example}
\begin{example}[side-by-side]
% use package `chemmacros'
- \begin{MOdiagram}[el-sep=0]
+ \begin{modiagram}[el-sep=0]
\atom[H]{left} { 1s = {;up} }
\atom[H]{right}{ 1s = {;up} }
\molecule[\ch{H2}]{ 1sMO = {.75;pair} }
- \end{MOdiagram}
+ \end{modiagram}
\end{example}
\begin{example}[side-by-side]
% use package `chemmacros'
- \begin{MOdiagram}[el-sep=1]
+ \begin{modiagram}[el-sep=1]
\atom[H]{left} { 1s = {;up} }
\atom[H]{right}{ 1s = {;up} }
\molecule[\ch{H2}]{ 1sMO = {.75;pair} }
- \end{MOdiagram}
+ \end{modiagram}
\end{example}
The options \key{up-el-pos}{<num>} and \key{down-el-pos}{<num>} can be used
@@ -873,29 +880,29 @@ means \emph{on the left} and \code{1} means \emph{on the right}.
\begin{example}
% use package `chemmacros'
- \begin{MOdiagram}[up-el-pos=.4,down-el-pos=.6]% default
+ \begin{modiagram}[up-el-pos=.4,down-el-pos=.6]% default
\atom[H]{left} { 1s = {;up} }
\atom[H]{right}{ 1s = {;up} }
\molecule[\ch{H2}]{ 1sMO = {.75;pair} }
- \end{MOdiagram}
+ \end{modiagram}
\end{example}
\begin{example}
% use package `chemmacros'
- \begin{MOdiagram}[up-el-pos=.333,down-el-pos=.667]
+ \begin{modiagram}[up-el-pos=.333,down-el-pos=.667]
\atom[H]{left} { 1s = {;up} }
\atom[H]{right}{ 1s = {;up} }
\molecule[\ch{H2}]{ 1sMO = {.75;pair} }
- \end{MOdiagram}
+ \end{modiagram}
\end{example}
\begin{example}
% use package `chemmacros'
- \begin{MOdiagram}[up-el-pos=.7,down-el-pos=.3]
+ \begin{modiagram}[up-el-pos=.7,down-el-pos=.3]
\atom[H]{left} { 1s = {;up} }
\atom[H]{right}{ 1s = {;up} }
\molecule[\ch{H2}]{ 1sMO = {.75;pair} }
- \end{MOdiagram}
+ \end{modiagram}
\end{example}
\subsubsection{Option \option*{lines}}\label{option:lines}
@@ -903,11 +910,11 @@ The option \option{lines} can be used to modify the \TikZ\ style of the
connecting lines:
\begin{example}[side-by-side]
% use package `chemmacros'
- \begin{MOdiagram}[lines={gray,thin}]
+ \begin{modiagram}[lines={gray,thin}]
\atom[H]{left} { 1s = {;up} }
\atom[H]{right}{ 1s = {;up} }
\molecule[\ch{H2}]{ 1sMO = {.75;pair} }
- \end{MOdiagram}
+ \end{modiagram}
\end{example}
\subsubsection{Option \option*{names}}\label{option:names}
@@ -916,11 +923,11 @@ provided you have used the optional \meta{name} argument of \cs{atom} and/or
\cs{molecule}.
\begin{example}[side-by-side]
% use package `chemmacros'
- \begin{MOdiagram}[names]
+ \begin{modiagram}[names]
\atom[H]{left} { 1s = {;up} }
\atom[H]{right}{ 1s = {;up} }
\molecule[\ch{H2}]{ 1sMO = {.75;pair} }
- \end{MOdiagram}
+ \end{modiagram}
\end{example}
\subsubsection{Options \option*{names-style} and \option*{names-style-add}}\label{option:names_style}
@@ -930,11 +937,11 @@ of the molecule. By default this setting is used:
for Version 2.10'' p.\,183 section 16.4.4 (pgfmanual.pdf) for the meaning}.
\begin{example}[side-by-side]
% use package `chemmacros'
- \begin{MOdiagram}[names,names-style={draw=blue}]
+ \begin{modiagram}[names,names-style={draw=blue}]
\atom[p]{left} { 1s = {;up} }
\atom[b]{right}{ 1s = {;up} }
\molecule[\ch{X2}]{ 1sMO = {.75;pair} }
- \end{MOdiagram}
+ \end{modiagram}
\end{example}
With this the default setting is overwritten. As you can see it destroys the
@@ -942,37 +949,37 @@ vertical alignment of the nodes. In order to avoid that you can for example
specify \code{text height} and \code{text depth} yourself \ldots
\begin{example}
% use package `chemmacros'
- \begin{MOdiagram}[names,names-style={text height=1.5ex, text depth=.25ex, draw=blue}]
+ \begin{modiagram}[names,names-style={text height=1.5ex, text depth=.25ex, draw=blue}]
\atom[p]{left} { 1s = {;up} }
\atom[b]{right}{ 1s = {;up} }
\molecule[\ch{X2}]{ 1sMO = {.75;pair} }
- \end{MOdiagram}
+ \end{modiagram}
\end{example}
\ldots, add the \code{anchor} again \ldots
\begin{example}
% use package `chemmacros'
- \begin{MOdiagram}[names,names-style={anchor=base, draw=blue}]
+ \begin{modiagram}[names,names-style={anchor=base, draw=blue}]
\atom[p]{left} { 1s = {;up} }
\atom[b]{right}{ 1s = {;up} }
\molecule[\ch{X2}]{ 1sMO = {.75;pair} }
- \end{MOdiagram}
+ \end{modiagram}
\end{example}
\ldots\ or use the option \key{names-style-add}. It doesn't overwrite the
current setting but appends the new declaration:
\begin{example}
% use package `chemmacros'
- \begin{MOdiagram}[names,names-style-add={draw=blue}]
+ \begin{modiagram}[names,names-style-add={draw=blue}]
\atom[p]{left} { 1s = {;up} }
\atom[b]{right}{ 1s = {;up} }
\molecule[\ch{X2}]{ 1sMO = {.75;pair} }
- \end{MOdiagram}
+ \end{modiagram}
\end{example}
\begin{example}
% use package `chemmacros'
- \MOsetup{
+ \setmodiagram{
names,
names-style = {
text height = 2.5ex,
@@ -981,16 +988,16 @@ current setting but appends the new declaration:
rounded corners
}
}
- \begin{MOdiagram}
+ \begin{modiagram}
\atom[p]{left} { 1s = {;up} }
\atom[b]{right}{ 1s = {;up} }
\molecule[\ch{X2}]{ 1sMO = {.75;pair} }
- \end{MOdiagram}
- \begin{MOdiagram}[names-style-add={fill=blue!20}]
+ \end{modiagram}
+ \begin{modiagram}[names-style-add={fill=blue!20}]
\atom[p]{left} { 1s = {;up} }
\atom[b]{right}{ 1s = {;up} }
\molecule[\ch{X2}]{ 1sMO = {.75;pair} }
- \end{MOdiagram}
+ \end{modiagram}
\end{example}
\subsubsection{Option \option*{labels}}\label{option:labels}
@@ -998,11 +1005,11 @@ If you use the option \option{labels} predefined labels are written below the
orbitals. These labels can be changed, see section~\ref{sec:key:label}.
\begin{example}[side-by-side]
% use package `chemmacros'
- \begin{MOdiagram}[labels]
+ \begin{modiagram}[labels]
\atom[H]{left} { 1s = {;up} }
\atom[H]{right}{ 1s = {;up} }
\molecule[\ch{H2}]{ 1sMO = {.75;pair} }
- \end{MOdiagram}
+ \end{modiagram}
\end{example}
\subsubsection{Option \option*{labels-fs}}\label{option:labels-fs}
@@ -1010,21 +1017,21 @@ Labels are set with the font size \cs*{small}. If you want to change that you
can use the option \option{labels-fs}.
\begin{example}
% use package `chemmacros'
- \begin{MOdiagram}[labels,labels-fs=\footnotesize]
+ \begin{modiagram}[labels,labels-fs=\footnotesize]
\atom[H]{left} { 1s = {;up} }
\atom[H]{right}{ 1s = {;up} }
\molecule[\ch{H2}]{ 1sMO = {.75;pair} }
- \end{MOdiagram}
+ \end{modiagram}
\end{example}
This also allows you to change the font style or font shape of the labels.
\begin{example}
% use package `chemmacros'
- \begin{MOdiagram}[labels,labels-fs=\sffamily\footnotesize]
+ \begin{modiagram}[labels,labels-fs=\sffamily\footnotesize]
\atom[H]{left} { 1s = {;up} }
\atom[H]{right}{ 1s = {;up} }
\molecule[\ch{H2}]{ 1sMO = {.75;pair} }
- \end{MOdiagram}
+ \end{modiagram}
\end{example}
\subsubsection{Option \option*{labels-style}}\label{option:labels-style}
@@ -1032,11 +1039,11 @@ The option \option{labels-style} changes the \TikZ\ style of the nodes within
which the labels are written.
\begin{example}
% use package `chemmacros'
- \begin{MOdiagram}[labels,labels-style={blue,yshift=4pt}]
+ \begin{modiagram}[labels,labels-style={blue,yshift=4pt}]
\atom[H]{left} { 1s = {;up} }
\atom[H]{right}{ 1s = {;up} }
\molecule[\ch{H2}]{ 1sMO = {.75;pair} }
- \end{MOdiagram}
+ \end{modiagram}
\end{example}
\subsection{\cs*{atom} and \cs*{molecule} Specific Customizations}
@@ -1049,18 +1056,18 @@ key/value list. The names mentioned in section~\ref{Namensgebung} are used as
keys to specify the \ac{AO} that you want to label.
\begin{example}[side-by-side]
% use package `chemmacros'
- \begin{MOdiagram}[labels-fs=\footnotesize]
+ \begin{modiagram}[labels-fs=\footnotesize]
\atom[H]{left} { 1s = {;up} }
\atom[H]{right}{ 1s = {;up} }
\molecule[\ch{H2}]{
1sMO = {.75;pair},
label = { 1sigma = {bonding MO} }
}
- \end{MOdiagram}
+ \end{modiagram}
\end{example}
\begin{example}[side-by-side]
- \begin{MOdiagram}[style=square,distance=6cm]
+ \begin{modiagram}[style=square,distance=6cm]
\atom{left} { 1s = {;up} }
\atom{right}{ 1s = {;up} }
\molecule{
@@ -1072,21 +1079,21 @@ keys to specify the \ac{AO} that you want to label.
}
\node[right] at (1sigma.-45) {bonding};
\node[right] at (1sigma*.45) {anti-bonding};
- \end{MOdiagram}
+ \end{modiagram}
\end{example}
If the option is used together with the \option{labels} option
(page~\pageref{option:labels}) single labels are overwritten:
\begin{example}[side-by-side]
% use package `chemmacros'
- \begin{MOdiagram}[labels]
+ \begin{modiagram}[labels]
\atom[H]{left} { 1s = {;up} }
\atom[H]{right}{ 1s = {;up} }
\molecule[\ch{H2}]{
1sMO = {.75;pair},
label = { 1sigma = \textcolor{red}{??} }
}
- \end{MOdiagram}
+ \end{modiagram}
\end{example}
\subsubsection{The \option*{color} Key}\label{sec:key:color}
@@ -1094,7 +1101,7 @@ Analogous to the \option{label} key the \option{color} key can be used to
display coloured electrons:
\begin{example}[side-by-side]
% use package `chemmacros'
- \begin{MOdiagram}[labels-fs=\footnotesize]
+ \begin{modiagram}[labels-fs=\footnotesize]
\atom[H]{left}{
1s, color = { 1sleft = blue }
}
@@ -1106,7 +1113,7 @@ display coloured electrons:
label = { 1sigma = {bonding MO} },
color = { 1sigma = green, 1sigma* = cyan }
}
- \end{MOdiagram}
+ \end{modiagram}
\end{example}
\subsubsection{The \option*{up-el-pos} and \option*{down-el-pos} keys}\label{sec:key:electrons}
@@ -1116,7 +1123,7 @@ You need to use values between \code{0} and \code{1}, also see
section~\ref{option:electrons}.
\begin{example}[side-by-side]
% use package `chemmacros'
- \begin{MOdiagram}
+ \begin{modiagram}
\atom[H]{left}{
1s = {;up},
up-el-pos = { 1sleft=.5 }
@@ -1127,7 +1134,7 @@ section~\ref{option:electrons}.
up-el-pos = { 1sigma=.15 } ,
down-el-pos = { 1sigma=.85 }
}
- \end{MOdiagram}
+ \end{modiagram}
\end{example}
\subsection{\cs*{AO} Specific Customizations}\label{ssec:AO_anpassen}
@@ -1138,10 +1145,10 @@ The key \option{label}\Oarg{\meta{x}/\meta{y}/\meta{z}} allows you to put a
label to the \ac{AO}/\ac{MO}. If you use the type \code{p} you can specify
the orbital you want to label in square brackets:
\begin{example}[side-by-side]
- \begin{MOdiagram}[style=square]
+ \begin{modiagram}[style=square]
\AO{s}[label={s orbital}]{0}
\AO{p}[label[y]=py,label[z]=pz]{1.5}
- \end{MOdiagram}
+ \end{modiagram}
\end{example}
\subsubsection{The \option*{color} Key}\label{key:AO_color}
@@ -1150,10 +1157,10 @@ Analogous to the \option{label} key there is the key
color for the electrons. If you use the type \code{p} you can specify the
orbital in square brackets:
\begin{example}[side-by-side]
- \begin{MOdiagram}[style=square]
+ \begin{modiagram}[style=square]
\AO{s}[color=red]{0}
\AO{p}[color[y]=green,color[z]=cyan]{1.5}
- \end{MOdiagram}
+ \end{modiagram}
\end{example}
\subsubsection{The \option*{up-el-pos} and \option*{down-el-pos} Keys}\label{key:AO_electrons}
@@ -1163,10 +1170,10 @@ electrons can be shifted horizontally. You can use values between \code{0}
and \code{1}, also see section~\ref{option:electrons}. If you use the type
\code{p} you can specify the orbital in square brackets:
\begin{example}[side-by-side]
- \begin{MOdiagram}[style=square]
+ \begin{modiagram}[style=square]
\AO{s}[up-el-pos=.15]{0}
\AO{p}[up-el-pos[y]=.15,down-el-pos[z]=.15]{1.5}
- \end{MOdiagram}
+ \end{modiagram}
\end{example}
\subsection{Energy Axis}
@@ -1180,12 +1187,12 @@ this there is the command \cs{EnergyAxis}.
\end{commands}
\begin{example}[side-by-side]
- \begin{MOdiagram}
+ \begin{modiagram}
\atom{left} { 1s = {;up} }
\atom{right}{ 1s = {;up} }
\molecule{ 1sMO = {.75;pair} }
\EnergyAxis
- \end{MOdiagram}
+ \end{modiagram}
\end{example}
For the time being there are two options to modify the axis.
@@ -1198,28 +1205,28 @@ For the time being there are two options to modify the axis.
\end{options}
\begin{example}[side-by-side]
- \begin{MOdiagram}
+ \begin{modiagram}
\atom{left} { 1s = {;up} }
\atom{right}{ 1s = {;up} }
\molecule{ 1sMO = {.75;pair} }
\EnergyAxis[title]
- \end{MOdiagram}
+ \end{modiagram}
\end{example}
\begin{example}[side-by-side]
- \begin{MOdiagram}
+ \begin{modiagram}
\atom{left} { 1s = {;up} }
\atom{right}{ 1s = {;up} }
\molecule{ 1sMO = {.75;pair} }
\EnergyAxis[title=E,head=stealth]
- \end{MOdiagram}
+ \end{modiagram}
\end{example}
\section{Examples}
The example from the beginning of section \ref{ssec:AO_MO_irgendwo}.
\begin{example}
% use package `chemmacros'
- \begin{MOdiagram}[names]
+ \begin{modiagram}[names]
\atom[\chlewis{0.}{F}\hspace*{5mm}\chlewis{180.}{F}]{left}{
1s=.2;up,up-el-pos={1sleft=.5}
}
@@ -1231,14 +1238,14 @@ The example from the beginning of section \ref{ssec:AO_MO_irgendwo}.
\node[right,xshift=4mm] at (1sigma) {\footnotesize bonding};
\node[above] at (AO2.90) {\footnotesize non-bonding};
\node[above] at (1sigma*.90) {\footnotesize anti-bonding};
- \end{MOdiagram}
+ \end{modiagram}
\end{example}
\begin{example}[outside]
% use package `chemmacros'
\begin{figure}[p]
\centering
- \begin{MOdiagram}[style=square,labels,names,AO-width=8pt,labels-fs=\footnotesize]
+ \begin{modiagram}[style=square,labels,names,AO-width=8pt,labels-fs=\footnotesize]
\atom[\ch{O_a}]{left}{
1s, 2s, 2p = {;pair,up,up}
}
@@ -1250,7 +1257,7 @@ The example from the beginning of section \ref{ssec:AO_MO_irgendwo}.
color = { 2piy*=red, 2piz*=red }
}
\EnergyAxis
- \end{MOdiagram}
+ \end{modiagram}
\caption{MO diagram of \ch{^3 "\chemSigma-" O2}.}
\end{figure}
\end{example}
@@ -1259,8 +1266,8 @@ The example from the beginning of section \ref{ssec:AO_MO_irgendwo}.
% use package `chemmacros'
\begin{figure}[p]
\centering
- \MOsetup{style = fancy, distance = 7cm, AO-width = 15pt, labels}
- \begin{MOdiagram}
+ \setmodiagram{style = fancy, distance = 7cm, AO-width = 15pt, labels}
+ \begin{modiagram}
\atom[N]{left}{
2p = {0;up,up,up}
}
@@ -1272,7 +1279,7 @@ The example from the beginning of section \ref{ssec:AO_MO_irgendwo}.
color = { 2piy*=red }
}
\EnergyAxis
- \end{MOdiagram}
+ \end{modiagram}
\caption{Part of the MO diagram of \chlewis{180.}{NO}.}
\end{figure}
\end{example}
diff --git a/macros/latex/contrib/preview/README b/macros/latex/contrib/preview/README
index 0d0e8a80c0..772f7b6b9f 100644
--- a/macros/latex/contrib/preview/README
+++ b/macros/latex/contrib/preview/README
@@ -22,13 +22,13 @@ Availability
The preview package is being developed along and distributed with
AUCTeX. It can therefore be obtained as part of AUCTeX distribution
-files available at <URL:ftp://ftp.gnu.org/pub/gnu/auctex/> or its
+files available at <URL:https://ftp.gnu.org/pub/gnu/auctex/> or its
mirror at <CTAN:support/auctex>. CTAN also provides a standalone
version at <CTAN:macros/latex/contrib/preview>. The project page at
-<URL:http://savannah.gnu.org/projects/auctex/> offers downloads and
+<URL:https://savannah.gnu.org/projects/auctex/> offers downloads and
anonymous CVS access for cutting edge versions. For more information
about the preview package please refer to the home page of AUCTeX at
-<URL:http://www.gnu.org/software/auctex/>.
+<URL:https://www.gnu.org/software/auctex/>.
Installation
------------
diff --git a/macros/latex/contrib/preview/preview.dtx b/macros/latex/contrib/preview/preview.dtx
index b180b28ecb..a2f3db64a5 100644
--- a/macros/latex/contrib/preview/preview.dtx
+++ b/macros/latex/contrib/preview/preview.dtx
@@ -1,9 +1,9 @@
% \iffalse
%% The preview style for extracting previews from LaTeX documents.
-%% Developed as part of AUCTeX <URL:http://www.gnu.org/software/auctex>.
+%% Developed as part of AUCTeX <URL:https://www.gnu.org/software/auctex/>.
%
% Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006,
-% 2010, 2017 Free Software Foundation
+% 2010, 2017-2019 Free Software Foundation
%
% This program is free software; you can redistribute it and/or modify
% it under the terms of the GNU General Public License as published by
@@ -439,7 +439,7 @@
\NeedsTeXFormat{LaTeX2e} \def\reserved@a #1#2$#3:
#4${\xdef#1{\reserved@c #2#4 $}} \def\reserved@c #1 #2${#1}
\begingroup \catcode`\_=12
-\reserved@a\pr@version $Name: release_11_91 $ \ifx\pr@version\@empty
+\reserved@a\pr@version $Name: release_12_2 $ \ifx\pr@version\@empty
\reserved@a\pr@version CVS-$Revision: 1.126 $ \endgroup \else
\def\next release_{} \lccode`\_=`.
\edef\next{\lowercase{\endgroup
diff --git a/macros/latex/contrib/preview/preview.ins b/macros/latex/contrib/preview/preview.ins
index 1d4229d9db..b4ef21b681 100644
--- a/macros/latex/contrib/preview/preview.ins
+++ b/macros/latex/contrib/preview/preview.ins
@@ -21,7 +21,7 @@
%% same distribution. (The sources need not necessarily be
%% in the same archive or directory.)
%% The preview style for extracting previews from LaTeX documents.
-%% Developed as part of AUCTeX <URL:http://www.gnu.org/software/auctex>.
+%% Developed as part of AUCTeX <URL:https://www.gnu.org/software/auctex/>.
\input docstrip
\generate{
\file{preview.drv}{\from{preview.dtx}{driver}}
diff --git a/macros/latex/contrib/preview/preview.pdf b/macros/latex/contrib/preview/preview.pdf
index f51b58fc59..f8d5b1b537 100644
--- a/macros/latex/contrib/preview/preview.pdf
+++ b/macros/latex/contrib/preview/preview.pdf
Binary files differ