From 885b31ff66a79d7d55b1f6322310c6a9cbc49e9a Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Thu, 31 Oct 2019 22:22:27 +0000 Subject: modiagram (31oct19) git-svn-id: svn://tug.org/texlive/trunk@52589 c570f23f-e606-0410-a88d-b1316a301751 --- Master/texmf-dist/doc/latex/modiagram/README | 4 +- .../doc/latex/modiagram/modiagram_en.pdf | Bin 618728 -> 528067 bytes .../doc/latex/modiagram/modiagram_en.tex | 325 +++++++++++---------- 3 files changed, 168 insertions(+), 161 deletions(-) (limited to 'Master/texmf-dist/doc/latex/modiagram') diff --git a/Master/texmf-dist/doc/latex/modiagram/README b/Master/texmf-dist/doc/latex/modiagram/README index 31c6a50b819..9dfa85bee4e 100644 --- a/Master/texmf-dist/doc/latex/modiagram/README +++ b/Master/texmf-dist/doc/latex/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/Master/texmf-dist/doc/latex/modiagram/modiagram_en.pdf b/Master/texmf-dist/doc/latex/modiagram/modiagram_en.pdf index d63a233e3a9..4aefd6b5fbd 100644 Binary files a/Master/texmf-dist/doc/latex/modiagram/modiagram_en.pdf and b/Master/texmf-dist/doc/latex/modiagram/modiagram_en.pdf differ diff --git a/Master/texmf-dist/doc/latex/modiagram/modiagram_en.tex b/Master/texmf-dist/doc/latex/modiagram/modiagram_en.tex index 3d5cc900ed7..049f7a0da06 100644 --- a/Master/texmf-dist/doc/latex/modiagram/modiagram_en.tex +++ b/Master/texmf-dist/doc/latex/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}{} and \key{down-el-pos}{} 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} -- cgit v1.2.3