summaryrefslogtreecommitdiff
path: root/macros/latex/contrib/modiagram/modiagram_en.tex
diff options
context:
space:
mode:
Diffstat (limited to 'macros/latex/contrib/modiagram/modiagram_en.tex')
-rw-r--r--macros/latex/contrib/modiagram/modiagram_en.tex325
1 files changed, 166 insertions, 159 deletions
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}