From 267a9b3c9510955de4cafd61675964c21b89c493 Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Sun, 17 Apr 2011 00:44:16 +0000 Subject: mychemistry 1.4 (16apr11) git-svn-id: svn://tug.org/texlive/trunk@22097 c570f23f-e606-0410-a88d-b1316a301751 --- .../doc/latex/mychemistry/mychemistry_en.tex | 2012 +++++++++++--------- 1 file changed, 1137 insertions(+), 875 deletions(-) (limited to 'Master/texmf-dist/doc/latex/mychemistry/mychemistry_en.tex') diff --git a/Master/texmf-dist/doc/latex/mychemistry/mychemistry_en.tex b/Master/texmf-dist/doc/latex/mychemistry/mychemistry_en.tex index e9bdab2407d..1036d203924 100644 --- a/Master/texmf-dist/doc/latex/mychemistry/mychemistry_en.tex +++ b/Master/texmf-dist/doc/latex/mychemistry/mychemistry_en.tex @@ -4,7 +4,7 @@ % - Creating reaction schemes with LaTeX and ChemFig ---------------------------------- % % ------------------------------------------------------------------------------------- % % - Clemens Niederberger -------------------------------------------------------------- % -% - 2011/04/04 ------------------------------------------------------------------------ % +% - 2011/04/15 ------------------------------------------------------------------------ % % ------------------------------------------------------------------------------------- % % - http://www.niederberger-berlin.net/2011/02/latex-mychemistry/ --------------------- % % - kontakt@niederberger-berlin.net --------------------------------------------------- % @@ -30,17 +30,18 @@ % - mychemistry_en.tex and bondwidth.tex - % % ------------------------------------------------------------------------------------- % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\documentclass[DIV10]{scrartcl} +\documentclass[DIV10,titlepage,toc=index]{scrartcl} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % - Pakete ---------------------------------------------------------------------------- % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \usepackage{etoolbox} \usepackage{scrhack} % verbessert KOMAs Zusammenspiel mit floats -\usepackage[english]{babel} % Sprache \usepackage{emerald} % chemfig-Schrift \usepackage[utf8x]{inputenc} % Zeichenkodierung: Eingabe \usepackage[T1]{fontenc} % Text-Ausgabe-Codierung \usepackage{textcomp,mathcomp} +\usepackage[makeindex]{splitidx} % Index; Kompilieren: makeindex -sl index.ist *.idx +\usepackage[english]{babel} % Sprache \usepackage{xspace,paralist} % xspace und Listen \usepackage{siunitx} \DeclareSIUnit{\emlength}{em} @@ -54,14 +55,14 @@ \labelformat{subsubsection}{section #1} \usepackage[dvipsnames]{xcolor} % Farbe \colorlet{code}{RawSienna} - \xdefinecolor{DarkRed}{rgb}{0.4392,0.0627,0.0627} + \xdefinecolor{MyDarkRed}{rgb}{0.4392,0.0627,0.0627} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % - Anzeige des Inhaltsverzeichnisses ------------------------------------------------- % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \usepackage{titletoc} \titlecontents{section} [6.5pc] % SECTION-ANZEIGE {\renewcommand\familydefault{ppl}\addvspace{2pc}\bfseries - \color{DarkRed}\titlerule[2pt]\filright\normalcolor\nobreak} % davor + \color{MyDarkRed}\titlerule[2pt]\filright\normalcolor\nobreak} % davor {\contentslabel [\textsc{Section}\ \thecontentslabel]{6.5pc}} % nummerierter Eintrag @@ -95,9 +96,10 @@ pdfkeywords={myChemistry}, pdfcreator={LaTeX} } -\usepackage[english,color=dunkelrot]{mychemistry} % myChemistry +\usepackage[english,color=MyDarkRed]{mychemistry} % myChemistry \renewcommand\thebeispiel{\arabic{beispiel}} % chemexec angepasst \labelformat{beispiel}{example #1} + \labelformat{rxnfloat}{scheme #1} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % - Listings anpassen ----------------------------------------------------------------- % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -105,7 +107,7 @@ \lstset{literate={ä}{{\"a}}1 {ö}{{\"o}}1 {ü}{{\"u}}1 {Ä}{{\"A}}1 {Ö}{{\"O}}1 {Ü}{{\"U}}1 {ß}{{\ss}}1} \lstset{ language=[LaTeX]TeX, - basicstyle={\ttfamily}, % Grundstil + basicstyle={\ttfamily}, % Grundstil extendedchars=true, numbers=left, % Zeilennummern numberstyle=\tiny, % Größe des Zeilennummern @@ -121,7 +123,7 @@ keywordstyle=[20]\color{blue}, morekeywords=[20]{rxn,rxnfloat,rxnscheme,tikzpicture}, texcsstyle=[30]\color{code}, - moretexcs=[30]{arrow,branch,chemand,chemfig,chemmove,chemname,chemrel,chemsign,ce,compound,declarecompound,draw,dummy,elmove,floatplacement,floatstyle,Hpl,Hyd,lewis,listof,makeinvisible,makevisible,marrow,mCsetup,merge,mesomeric,node,nu,om,op,ox,reactand,restylefloat,setarrowlength,setatomsep,setatomsize,setbondlength,setbondshape,setcrambond,setrcndist,setrxnalign,setschemealign,setschemename,transition}, + moretexcs=[30]{anywhere,arrow,branch,chemabove,chemand,chembelow,chemfig,chemmove,chemname,chemrel,chemsign,ce,color,compound,declarecompound,draw,dummy,elmove,floatplacement,floatstyle,Hpl,Hyd,lewis,listof,makeinvisible,makevisible,marrow,mCsetup,merge,mesomeric,node,nu,om,op,ox,pgfpositionnodelater,reactant,restylefloat,setarrowlength,setarrowline,setatomsep,setatomsize,setbondlength,setbondshape,setbondwidth,setcrambond,setmergelength,setrcndist,setrxnalign,setschemealign,setschemename,si,SI,textcolor,transition}, fancyvrb=true } @@ -132,7 +134,7 @@ \pagestyle{scrheadings} \setheadwidth{textwithmarginpar} \automark{section} -\ihead{\mC \mCversion} +\ihead{\mC v\mCversion} \ifoot{\small\color{gray}-~page~\thepage~-} \cfoot{} \ofoot{} @@ -236,12 +238,11 @@ \makeatother % - weitere Makros -------------------------------------------------------------------- % -\newcommand{\mC}{{\color{DarkRed}\sffamily my\-Chemis\-try}\xspace} % Paketname +\newcommand{\mC}{{\color{MyDarkRed}\sffamily my\-Chemis\-try}\xspace} % Paketname \newcommand{\CF}{{\ECFAugie ChemFig}\xspace} % ChemFig in der originalen Schrift \newcommand{\eg}{\mbox{e.\,g.}\xspace} \newcommand{\TikZ}{\mbox{Ti{\bfseries\itshape k}Z}\xspace} -\newcommand\Vii[1][0pt]{\leavevmode\llap{\footnotesize\ECFTeenSpirit v1.2\kern\dimexpr20pt+#1\relax}} -\newcommand\NEU[1][0pt]{\leavevmode\llap{\footnotesize\ECFTeenSpirit\color{red}New in \mCversion\kern\dimexpr20pt+#1\relax}} +\newcommand\NEU[1][0pt]{\leavevmode\llap{\footnotesize\ECFTeenSpirit\color{red}New\kern\dimexpr20pt+#1\relax}} \newlength{\tmplength} % - für Beispiele --------------------------------------------------------------------- % \newcommand{\abovearrow}{\tikz\node[draw,minimum width=3em,minimum height=1.5em,blue]{\footnotesize above};} @@ -252,38 +253,38 @@ \begin{titlepage} % inspired by the titlepage of chemfig's documentation \begin{tikzpicture}[remember picture,overlay] - \shade [color=dunkelrot,right color=white](current page.south west) rectangle ([yshift=3cm,xshift=-3cm]current page.center); - \shade[top color=black,bottom color=dunkelrot]([yshift=7cm]current page.east)rectangle([yshift=2.5cm]current page.west); + \shade [color=MyDarkRed,right color=white](current page.south west) rectangle ([yshift=3cm,xshift=-3cm]current page.center); + \shade[top color=black,bottom color=MyDarkRed]([yshift=7cm]current page.east)rectangle([yshift=2.5cm]current page.west); \node[text width=\textwidth,opacity=.15,yshift=-5.3cm] at (current page.center) {% \begin{verbatim} - \begin{rxn}[scale=.7] + \begin{rxn}[,.7] \setatomsep{1.5em}\footnotesize - \reactand[,a]{ + \reactant[,a]{ \chemfig{C(-[4]*6(=-=-=-))(-[2]*6(=-=-=-))(-[6,,,2]HO)-C(-[2]CH_3) (-[6]OH)-CH_3} } - \branch[below right=of a]{ - \arrow[direction=above right,length=.7]{}{} - \reactand[above right]{ + \branch[above right=of a]{ + \arrow[above right,,.7]{}{} + \reactant[above right]{ \chemfig{C(-[4]*6(=-=-=-))(-[2]*6(=-=-=-))(-[@{e1}6,,,2]H_2@{e2} \chembelow{O}{\oplus})-C(-[2]CH_3)(-[6]OH)-CH_3}\elmove{e1} {10:4mm}{e2}{-10:4mm} } \arrow{$-\ce{H2O}$}{} - \reactand{ + \reactant{ \chemfig{\chembelow{C}{\oplus}(-[4]*6(=-=-=-))(-[2]*6(=-=-=-))-C (-[2]CH_3)(-[6]OH)-CH_3} } } \branch[below right=of a]{ - \arrow[type={-|>},direction=below right,length=.7]{}{} - \reactand[below right]{ + \arrow[below right,-|>,.7]{}{} + \reactant[below right]{ \chemfig{C(-[4]*6(=-=-=-))(-[2]*6(=-=-=-))(-[6,,,2]HO)-C(-[2]CH_3) (-[@{e3}6]@{e4}\chembelow{O}{\oplus}H_2)-CH_3}\elmove{e3} {170:4mm}{e4}{-170:4mm} } \arrow{$-\ce{H2O}$}{} - \reactand{ + \reactant{ \chemfig{C(-[4]*6(=-=-=-))(-[2]*6(=-=-=-))(-[6,,,2]HO)- \chembelow{C}{\oplus}(-[2]CH_3)-CH_3} } @@ -294,26 +295,26 @@ \end{tikzpicture} \begin{center} \scalebox{4}{\mC}\par - \Large\mCversion\par\bigskip + \Large v\mCversion\par\bigskip \footnotesize\mCdate{en}\par \normalsize Clemens Niederberger\par\vskip1.5cm \color{white}\huge Creating reaction schemes with \LaTeX\ and \CF% \end{center} - \vskip4cm - \begin{rxn}[scale=.7] + \vskip3cm + \begin{rxn}[,.7] \setatomsep{1.5em}\footnotesize - \reactand[,a]{ \chemfig{C(-[4]*6(=-=-=-))(-[2]*6(=-=-=-))(-[6,,,2]HO)-C(-[2]CH_3)(-[6]OH)-CH_3} } + \reactant[,a]{ \chemfig{C(-[4]*6(=-=-=-))(-[2]*6(=-=-=-))(-[6,,,2]HO)-C(-[2]CH_3)(-[6]OH)-CH_3} } \branch[above right=of a]{ - \arrow[direction=above right,length=.7]{}{} - \reactand[above right]{ \chemfig{C(-[4]*6(=-=-=-))(-[2]*6(=-=-=-))(-[@{e1}6,,,2]H_2@{e2}\chembelow{O}{\oplus})-C(-[2]CH_3)(-[6]OH)-CH_3}\elmove{e1}{10:4mm}{e2}{-10:4mm} } + \arrow[above right,,.7]{}{} + \reactant[above right]{ \chemfig{C(-[4]*6(=-=-=-))(-[2]*6(=-=-=-))(-[@{e1}6,,,2]H_2@{e2}\chembelow{O}{\oplus})-C(-[2]CH_3)(-[6]OH)-CH_3}\elmove{e1}{10:4mm}{e2}{-10:4mm} } \arrow{$-\ce{H2O}$}{} - \reactand{ \chemfig{\chembelow{C}{\oplus}(-[4]*6(=-=-=-))(-[2]*6(=-=-=-))-C(-[2]CH_3)(-[6]OH)-CH_3} }{} + \reactant{ \chemfig{\chembelow{C}{\oplus}(-[4]*6(=-=-=-))(-[2]*6(=-=-=-))-C(-[2]CH_3)(-[6]OH)-CH_3} }{} } \branch[below right=of a]{ - \arrow[type={-|>},direction=below right,length=.7]{}{} - \reactand[below right]{ \chemfig{C(-[4]*6(=-=-=-))(-[2]*6(=-=-=-))(-[6,,,2]HO)-C(-[2]CH_3)(-[@{e3}6]@{e4}\chembelow{O}{\oplus}H_2)-CH_3}\elmove{e3}{170:4mm}{e4}{-170:4mm} } + \arrow[below right,-|>,.7]{}{} + \reactant[below right]{ \chemfig{C(-[4]*6(=-=-=-))(-[2]*6(=-=-=-))(-[6,,,2]HO)-C(-[2]CH_3)(-[@{e3}6]@{e4}\chembelow{O}{\oplus}H_2)-CH_3}\elmove{e3}{170:4mm}{e4}{-170:4mm} } \arrow{$-\ce{H2O}$}{} - \reactand{ \chemfig{C(-[4]*6(=-=-=-))(-[2]*6(=-=-=-))(-[6,,,2]HO)-\chembelow{C}{\oplus}(-[2]CH_3)-CH_3} } + \reactant{ \chemfig{C(-[4]*6(=-=-=-))(-[2]*6(=-=-=-))(-[6,,,2]HO)-\chembelow{C}{\oplus}(-[2]CH_3)-CH_3} } } \end{rxn} \end{titlepage} @@ -322,10 +323,9 @@ \section{About} \subsection{Changes} -The new features or changes of each version are marked with {\ECFTeenSpirit v} followed by the version number, \eg {\ECFTeenSpirit v1.2}. The most recent changes are marked with {\ECFTeenSpirit\color{red}New in \mCversion}. +The most recent changes are marked with {\ECFTeenSpirit\color{red}New}. \subsubsection{Version 1.2} -\Vii% Since v1.2 there are some new features. The main part plays behind the scenes: the wrong arrow- and branch-alignments have been corrected. \textbf{Due to these changes \mC now needs Version 2.10 of \TikZ (or pgf, actually}, see \ref{ssec:voraussetzungen}). There are some new "frontend" features as well. For one thing there are some new package options (see \ref{ssec:paketoptionen}). Additionally the arrows have got two new keys (see \ref{ssec:arrow}). @@ -335,56 +335,68 @@ The environments have gained a few features, with which they can be customized, Last but not least since v1.2 \mC underlies LPPL version 1.3 or later. \subsubsection{Version 1.3} -\NEU% -The commands \lstinline+\branch+, \lstinline+\mesomeric+, \lstinline+\reactand+ and \lstinline+\transition+ now cannot only accept alignment as optional argument but \TikZ keys as well. Also the second mandatory Argument \lstinline++ now is an optional one. So the first argument still is alignment, the second is the anchor name and in the third you can use arbitrary \TikZ keys. -\begin{Verbatim} +The commands \lstinline+\branch+, \lstinline+\mesomeric+, \lstinline+\reactant+ and \lstinline+\transition+ now cannot only accept alignment as optional argument but \TikZ keys as well. Also the second mandatory Argument \lstinline++ now is an optional one. So the first argument still is alignment, the second is the anchor name and in the third you can use arbitrary \TikZ keys. +\begin{lstlisting} \command[,,]{} -\end{Verbatim} -Version 1.2 explicitly needed a given alignment, if one wanted to use \TikZ keys, even with default alignment. Since \mCversion\ this isn't required any more. -\begin{Verbatim} +\end{lstlisting} +Version 1.2 explicitly needed a given alignment, if one wanted to use \TikZ keys, even with default alignment. Since v\mCversion\ this isn't required any more. +\begin{lstlisting} % up to version 1.2: - \reactand{\ce{Br2}}{}\arrow{$h\nu$}{}\reactand!![right,draw,inner sep=5pt]!!{\ce{2 \lewis{0.,Br}}}{} + \reactant{\ce{Br2}}{}\arrow{$h\nu$}{}\reactant!![right,draw,inner sep=5pt]!!{\ce{2 \lewis{0.,Br}}}{} % since version 1.3: - \reactand{\ce{Br2}}\arrow{$h\nu$}{}\reactand!![,,draw,inner sep=5pt]!!{\ce{2 \lewis{0.,Br}}} -\end{Verbatim} + \reactant{\ce{Br2}}\arrow{$h\nu$}{}\reactant!![,,draw,inner sep=5pt]!!{\ce{2 \lewis{0.,Br}}} +\end{lstlisting} The commands to customize \mC have been renamed and the command\linebreak\lstinline+\mCsetup+ has been added. Now you can customize \mC using only one command. See \ref{ssec:setarrowlength}, \ref{ssec:setatomsize}, \ref{ssec:setbondlength}, \ref{ssec:setbondshape} and \ref{ssec:mCsetup}. There is the new command \lstinline+\chemand+, which produces a $+$, see \ref{ssec:chemand}. -If you're using \CF v0.4, \mC inputs the file \lstinline+bondwith.tex+ which provides the command \lstinline+\setbondwidth{}+ with which you can change the line thickness of bonds. +If you're using \CF v0.4 or v0.4a, \mC inputs the file \lstinline+bondwith.tex+ which provides the command \lstinline+\setbondwidth{}+ with which you can change the line thickness of bonds. + +And you might find this one nice: every \mC command in a listing in this do\-cu\-mentation is a hyperlink referring to the corresponding entry in the command reference. + +\subsubsection{Version \mCversion} +\NEU% +The command \lstinline+\merge+ has been rewritten. Now the arrow can be labeled. + +The main purpose of the command \lstinline+\dummy+ now is obsolete. The command still exists, though. + +Both environments \lstinline+rxn+ and \lstinline+rxnscheme+ have changed regarding the usage of their options, see \ref{sssec:rxn_optionen} and \ref{sssec:rxnscheme_optionen}. + +The keys of the \lstinline+\arrow+ command now are options, so the syntax of the command now is consistent with the syntax of the other commands. Then there is a new arrow type, see \ref{ssec:arrow}. Also new is the appearance of the arrows and the possibility of customizing the line thickness of the arrows, see \ref{ssec:setarrowline}. -And you might find this one nice: every \mC command in a listing is a hyperlink referring to the corresponding entry in the command reference. +There is another new command \lstinline+\anywhere+ (\ref{ssec:anywhere}), with which text or formul\ae\ can be placed off the chain. \subsection{Licence} -\mC \mCversion\ underlies the The LaTeX project public license\\(\url{http://www.latex-project.org/lppl.txt}). +\mC v\mCversion\ underlies the The \LaTeX\ project public license\\(\url{http://www.latex-project.org/lppl.txt}). -\subsection{Requirements}\label{ssec:voraussetzungen} +\subsection{Requirements}\label{ssec:voraussetzungen}\index{requirements|(} In order to function properly \mC needs some packages to be available. \begin{description} - \item[\CF] without it why would you use \mC? - \item[ifthen] for internal queries; - \item[calc] for internal calculations; - \item[xkeyval] package options and command keys are created with this package; - \item[float] the \lstinline=rxnscheme= environment is defined with this package; - \item[pgf/\TikZ] pgf actually isn't just one package but a whole bundle. They are the basis layer for \TikZ. \mC needs at least the version from 09/08/2010\footnote{\url{http://sourceforge.net/projects/pgf/files/}}. More precisely: the command \lstinline=\pgfpositionnodelater= must exist. Even more precisely: only the \lstinline+\arrow+ key \lstinline+both+ (see \ref{ssec:arrow}) needs \lstinline=\pgfpositionnodelater=. If you don't use this option, \mC should work nicely with pgf v2.00. Older versions have not been tested. + \item[\CF]\index{requirements!ChemFig@\CF} without it why would you use \mC? + \item[ifthen]\index{requirements!ifthen} for internal queries; + \item[calc]\index{requirements!calc} for internal calculations; + \item[xkeyval]\index{requirements!xkeyval} package options and command keys are created with this package; + \item[float]\index{requirements!float} the \lstinline=rxnscheme= environment is defined with this package; + \item[pgf/\TikZ]\index{requirements!pgf}\index{requirements!TikZ@\TikZ} pgf actually isn't just one package but a whole bundle. They are the basis layer for \TikZ. \mC needs at least the version from 09/08/2010\footnote{\url{http://sourceforge.net/projects/pgf/files/}}. More precisely: the command \lstinline=\pgfpositionnodelater= must exist. Even more precisely: only the \lstinline+\arrow+ key \lstinline+both+ (see \ref{ssec:arrow}) needs \lstinline=\pgfpositionnodelater=. If you don't use this option, \mC should work nicely with pgf v2.00. Older versions have not been tested. \end{description} +\index{requirements|)} \subsection{The Idea} Since \CF was published August 2010, there is a flexible solution for creating organic structures. With \CF and `mhchem' one is able to create nearly all structural and molecular formulars that a chemist needs. There is one thing, though, in which `ochem' still beats \CF: creating reaction mechanisms. This is where \mC comes in. \mC loads the packages \begin{itemize} - \item \CF\footnote{by Christian Tellechea, \url{http://www.ctan.org/tex-archive/macros/generic/chemfig/}}, - \item `mhchem'\footnote{by Martin Hensel, \url{http://www.ctan.org/tex-archive/macros/latex/contrib/mhchem/}} in version 3, when ist exists, - \item `chemexec'\footnote{by me, \url{http://www.ctan.org/tex-archive/macros/latex/contrib/chemexec/}}, when it exists, and - \item `chemcompounds'\footnote{by Stephan Schenk, \url{http://www.ctan.org/tex-archive/macros/latex/contrib/chemcompounds/}}, when ist exists. + \item \CF\footnote{by Christian Tellechea, \url{http://www.ctan.org/tex-archive/macros/generic/chemfig/}}\index{ChemFig@\CF}, + \item `mhchem'\footnote{by Martin Hensel, \url{http://www.ctan.org/tex-archive/macros/latex/contrib/mhchem/}}\index{mhchem} in version 3, when ist exists, + \item `chemexec'\footnote{by me, \url{http://www.ctan.org/tex-archive/macros/latex/contrib/chemexec/}}\index{chemexec}, when it exists, and + \item `chemcompounds'\footnote{by Stephan Schenk, \url{http://www.ctan.org/tex-archive/macros/latex/contrib/chemcompounds/}}\index{chemcompounds}, when ist exists. \end{itemize} How these packages work, you can read in their documentations. Commands provided by these packages are for example \begin{itemize} - \item \lstinline=\ce{}= (mhchem) - \item \lstinline=\ox{}{}=, \lstinline=\om[]=, \lstinline=\op[]=, \lstinline=\Hyd=, \lstinline=\Hpl= (chemexec) - \item \lstinline=\chemfig[][]{}=, \lstinline=\chemrel[]{}=, \lstinline=\chemsign[]{}=, \lstinline=\lewis{}= (\CF) - \item \lstinline=\declarecompound[]{}=, \lstinline=\compound{}= (chemcompounds). + \item \lstinline=\ce{}= (mhchem)\index{mhchem} + \item \lstinline=\ox{}{}=, \lstinline=\om[]=, \lstinline=\op[]=, \lstinline=\Hyd=, \lstinline=\Hpl= (chemexec)\index{chemexec} + \item \lstinline=\chemfig[][]{}=, \lstinline=\chemrel[]{}=, \lstinline=\chemsign[]{}=, \lstinline=\lewis{}= (\CF)\index{ChemFig@\CF} + \item \lstinline=\declarecompound[]{}=, \lstinline=\compound{}= (chemcompounds)\index{chemcompounds}. \end{itemize} Some of these commands are used in the examples of this documentation \textit{without being mentioned explicitly}. @@ -395,7 +407,7 @@ Above all, \mC provides commands for creating reaction mechanisms. \mC provides two environments within which the mechanisms are created. Both environments basically are \lstinline+tikzpicture+ environments. One might ask oneself: why? You can do loads of stuff with \CF already. And \TikZ provides all the possibilities one could ask for. But since I'm a lazy guy I wrote several macros providing \TikZ commands, I often used. They got so many and got more and more possibilities to adjust, that I bundled them into this package. Of course you can still use \TikZ and stay more flexible with it, if you like. \subsection{Basic Principle} -Within the \lstinline+tikzpicture+ reactands and arrows are placed as nodes on a \lstinline+chain+\footnote{Provided by the tikzlibrary `chains'}. +Within the \lstinline+tikzpicture+ reactants and arrows are placed as nodes on a \lstinline+chain+\footnote{Provided by the tikzlibrary `chains'}. \begin{SideBySideExample} \begin{tikzpicture}[start chain] \node [on chain] {A}; @@ -438,180 +450,191 @@ In some of the examples in this documentation the nodes are boxed with a coloure Let's take a look at an example first: \begin{SideBySideExample} \begin{rxn} - \reactand{ \chemfig{-[::30]-[::-60]OH} } + \reactant{ \chemfig{-[::30]-[::-60]OH} } \arrow{Ox.}{} - \reactand{ \chemfig{-[::30]=_[::-60]O} } + \reactant{ \chemfig{-[::30]=_[::-60]O} } \end{rxn} \end{SideBySideExample} -In this example you see the most important commands of \mC: -\begin{description} - \vitem=\begin{rxn}[]= The first of two environments. It creates a centered reaction scheme between two paragraphs (see \ref{ssec:rxn}). - \vitem=\reactand[,,]{}= places a \lstinline+node+ on the \lstinline+chain+, in which the chemical formul\ae\ are written. The default alignment is to the \lstinline=right= (see \ref{ssec:reactand}). - \vitem=\arrow[]{}{}= creates an arrow, which by default has a length of \SI{5}{\emlength} pointing to the right (see \ref{ssec:arrow}). -\end{description} +In this example you see the most important commands of \mC:\index{rxn} +\begin{lstlisting} + \begin{rxn}[,] +\end{lstlisting} +The first of two environments. It creates a centered reaction scheme between two paragraphs (see \ref{ssec:rxn}).\index{reactant} +\begin{lstlisting} + \reactant[,,]{} +\end{lstlisting} +places a \lstinline+node+ on the \lstinline+chain+, in which the chemical formul\ae\ are written. The default alignment is to the \lstinline=right= (see \ref{ssec:reactant}).\index{arrow} +\begin{lstlisting} + \arrow[,,,,both]{}{} +\end{lstlisting} +creates an arrow, which by default has a length of \SI{5}{\emlength} pointing to the right (see \ref{ssec:arrow}). \begin{SideBySideExample} \begin{rxn} - \reactand{ \chemfig{-[::30]=_[::-60]O} } - \arrow[direction=below]{}{Ox.} - \reactand[below]{ \chemfig{-[::30](-[::60]OH)=_[::-60]O} } + \reactant{ \chemfig{-[::30]=_[::-60]O} } + \arrow[below]{}{Ox.} + \reactant[below]{ \chemfig{-[::30](-[::60]OH)=_[::-60]O} } \end{rxn} \end{SideBySideExample} -As you can see one can align the reaction scheme vertical as well. By giving \lstinline=\reactand= the option \lstinline=below=, the carbonic acid is placed below the arrow. With \lstinline+direction=below+ the arrow points down instead to the right. +As you can see one can align the reaction scheme vertical as well. By giving \lstinline=\reactant= the option \lstinline=below=, the carbonic acid is placed below the arrow. With \lstinline+below+ the arrow points down instead to the right. \subsubsection{Branches} -With what we saw until now it is not yet clear, why one would use \mC. the horizontal reaction schemes can be realized with \CF and `mhchem' just as well. And why would anyone need a vertical reaction scheme? But what could make \mC interesting is the possibility of branched reaction schemes. +With what we saw until now it is not yet clear, why one would use \mC. the horizontal reaction schemes can be realized with \CF and `mhchem' just as well. And why would anyone need a vertical reaction scheme? But what could make \mC interesting is the possibility of branched reaction schemes.\index{branch} \begin{Example} \begin{rxn} - \reactand{ \chemfig{-[::30]-[::-60]OH} } + \reactant{ \chemfig{-[::30]-[::-60]OH} } \arrow{}{} - \reactand[,carbonyl]{ \chemfig{-[::30]=_[::-60]O} } - \arrow[direction=below]{}{} - \reactand[below]{ \chemfig{-[::30](-[::60]OH)=_[::-60]O} } + \reactant[,carbonyl]{ \chemfig{-[::30]=_[::-60]O} } + \arrow[below]{}{} + \reactant[below]{ \chemfig{-[::30](-[::60]OH)=_[::-60]O} } \branch[right=of carbonyl]{ - \arrow[type={<=>}]{\ce{NH2R}}{} - \reactand{ \chemfig{-[::30]=_[::-60]N(-[6]H)-[::60]R} } + \arrow[,<=>]{\ce{NH2R}}{} + \reactant{ \chemfig{-[::30]=_[::-60]N(-[6]H)-[::60]R} } } \end{rxn} \end{Example} -In the last example you've got to know another important command: -\begin{description} - \vitem=\branch[,,]{}= (see \ref{ssec:branch}) -\end{description} -The branch was placed right of the first reactand with the anchor \lstinline=carbonyl= by using the option \lstinline+right=of carbonyl+. Inside the branch we used an arrow with the key \lstinline+type={<=>}+ so we would get an equilibrium arrow. Other types would for example be \lstinline=->= (default), \lstinline=<-= or \lstinline=<->=. +In the last example you've got to know another important command (see \ref{ssec:branch})\index{branch}: +\begin{lstlisting} + \branch[,,]{} +\end{lstlisting} +The branch was placed right of the first reactant with the anchor \lstinline=carbonyl= by using the option \lstinline+right=of carbonyl+. Inside the branch we used an arrow with the key \lstinline+type={<=>}+ so we would get an equilibrium arrow. Other types would for example be \lstinline=->= (default), \lstinline=<-= or \lstinline=<->=. -Extensive reaction schemes can be realized through multiple usage of \lstinline=\branch=: +Extensive reaction schemes can be realized through multiple usage of \lstinline=\branch=\index{branch}: \begin{Example} \begin{rxn} - \reactand{ \chemfig{-[::30]-[::-60]OH} } + \reactant{ \chemfig{-[::30]-[::-60]OH} } \arrow{}{} - \reactand[,carbonyl]{ \chemfig{-[::30]=_[::-60]O} } - \arrow[direction=below]{}{} - \reactand[below]{ \chemfig{-[::30](-[::60]OH)=_[::-60]O} } + \reactant[,carbonyl]{ \chemfig{-[::30]=_[::-60]O} } + \arrow[below]{}{} + \reactant[below]{ \chemfig{-[::30](-[::60]OH)=_[::-60]O} } \branch[right=of carbonyl,imin]{ - \arrow[type={<=>},length=1.12]{\ce{NH2R}}{} - \reactand{ \chemfig{-[::30]=_[::-60]N(-[6]H)-[::60]R} } + \arrow[,<=>,1.12]{\ce{NH2R}}{} + \reactant{ \chemfig{-[::30]=_[::-60]N(-[6]H)-[::60]R} } } \branch[below right=of carbonyl,halbacetal,yshift=-2pt,xshift=3pt]{ - \arrow[type={<=>},direction=below right,length=1.12,aboveshift=3pt]{ \chemfig{[,.75]-[::30]-[::-60]OH} }{} - \reactand[below right]{ \chemfig{-[::30](-[::60]O-[::-60]-[::-60])-[::-60]OH} } + \arrow[below right,<=>,1.12]{ \chemfig{[,.75]-[::30]-[::-60]OH} }{} + \reactant[below right]{ \chemfig{-[::30](-[::60]O-[::-60]-[::-60])-[::-60]OH} } } \branch[above=of carbonyl,aldol,xshift=5.2em]{ - \arrow[direction=above]{ \chemfig{[,.75]-[::30]=_[::-60]O}/\Hpl }{} - \reactand[above]{ \chemfig{-[::30](-[::60]OH)-[::-60]-[::60]=[::60]O} } + \arrow[above]{ \chemfig{[,.75]-[::30]=_[::-60]O}/\Hpl }{} + \reactant[above]{ \chemfig{-[::30](-[::60]OH)-[::-60]-[::60]=[::60]O} } \arrow{$-\ce{H2O}$}{} - \reactand{ \chemfig{-[::30]=[::-60]-[::60]=[::60]O} } + \reactant{ \chemfig{-[::30]=[::-60]-[::60]=[::60]O} } } \end{rxn} \end{Example} \subsubsection{Numbered Schemes} -The second environment provided by \mC works just as the first one. This time the scheme is placed within a numbered floating environment and is given a caption. +The second environment provided by \mC works just as the first one. This time the scheme is placed within a numbered floating environment and is given a caption.\index{rxnscheme} \begin{Example} \begin{rxnscheme}{Keto-enol tautomerization} - \reactand{ \chemfig{=[::30]-[::-60]OH} } - \arrow[type={<=>}]{}{} - \reactand{ \chemfig{-[::30]=[::-60]O} } + \reactant{ \chemfig{=[::30]-[::-60]OH} } + \arrow[,<=>]{}{} + \reactant{ \chemfig{-[::30]=[::-60]O} } \end{rxnscheme} \end{Example} Here we use the environment -\begin{Verbatim} - \begin{rxnscheme}[]{} +\begin{lstlisting} + \begin{rxnscheme}[