summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/doc/latex/chemmacros
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2016-03-08 22:33:02 +0000
committerKarl Berry <karl@freefriends.org>2016-03-08 22:33:02 +0000
commitedc6f5528c756c35762db362bc713fd19d9285f9 (patch)
tree1f2032669313edec501d7ccda53a1f89553d5c06 /Master/texmf-dist/doc/latex/chemmacros
parent2198545a4a503b96c2d806d85c71439b6ac7fe3f (diff)
chemmacros (8mar16)
git-svn-id: svn://tug.org/texlive/trunk@39973 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/doc/latex/chemmacros')
-rw-r--r--Master/texmf-dist/doc/latex/chemmacros/README2
-rw-r--r--Master/texmf-dist/doc/latex/chemmacros/chemmacros_en.pdfbin973781 -> 986741 bytes
-rw-r--r--Master/texmf-dist/doc/latex/chemmacros/chemmacros_en.tex132
3 files changed, 99 insertions, 35 deletions
diff --git a/Master/texmf-dist/doc/latex/chemmacros/README b/Master/texmf-dist/doc/latex/chemmacros/README
index 176c767b95f..8538206e38c 100644
--- a/Master/texmf-dist/doc/latex/chemmacros/README
+++ b/Master/texmf-dist/doc/latex/chemmacros/README
@@ -1,5 +1,5 @@
--------------------------------------------------------------------------
-the CHEMMACROS package v5.4 2016/02/10
+the CHEMMACROS package v5.5 2016/03/08
comprehensive support for typesetting chemistry documents
diff --git a/Master/texmf-dist/doc/latex/chemmacros/chemmacros_en.pdf b/Master/texmf-dist/doc/latex/chemmacros/chemmacros_en.pdf
index a6796a8b15b..3865ed3c4fc 100644
--- a/Master/texmf-dist/doc/latex/chemmacros/chemmacros_en.pdf
+++ b/Master/texmf-dist/doc/latex/chemmacros/chemmacros_en.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/chemmacros/chemmacros_en.tex b/Master/texmf-dist/doc/latex/chemmacros/chemmacros_en.tex
index aab0ed78b71..9fa2be7bd79 100644
--- a/Master/texmf-dist/doc/latex/chemmacros/chemmacros_en.tex
+++ b/Master/texmf-dist/doc/latex/chemmacros/chemmacros_en.tex
@@ -69,7 +69,7 @@
invacuo, isotope, iupac,
Ka, Kb, Kw,
laevus, Lfi, listofreactions, lqd,
- mch, mega, meta, mhName,
+ makepolymerdelims, mch, mega, meta, mhName,
NewChemArrow, NewChemBond, NewChemBondAlias,
NewChemCharge, NewChemEqConstant, newchemgreekmapping, NewChemIUPAC,
NewChemIUPACShorthand, NewChemLatin, NewChemMacroset, NewChemNMR,
@@ -196,7 +196,7 @@
}
\chemsetup{
- modules = all ,
+ modules = {all,polymers} ,
greek = newtx ,
formula = chemformula ,
chemformula/format = \libertineLF
@@ -325,6 +325,11 @@
\newname\hensel{Martin Hensel}
\newname\pedersen{Bj\o rn Pedersen}
+\newcommand*\iupaccs[3][]{%
+ \command{#2}[\quad\iupac{\csuse{#2}}]
+ #3\ifblank{#1}{}{\ifblank{#3}{}{ }An alias for this command is \cs{#1}.}%
+}
+
% \undef\module
% \undef\moduleidx
\newidxcmd\chemmodule{\code{#1}}[ (module)]
@@ -1135,16 +1140,11 @@ Attachments to hetero atoms and added hydrogen atoms are indicated by italic
letters~\cite{iupac:greenbook}. \chemmacros\ defines a few macros for the
most common ones.
\begin{commands}
- \command{hydrogen}[\quad\iupac{\hydrogen}]
- The italic H for hydrogen. (An alias for this command is \cs{H}.)
- \command{oxygen}[\quad\iupac{\oxygen}]
- The italic O for oxygen. (An alias for this command is \cs{O}.)
- \command{nitrogen}[\quad\iupac{\nitrogen}]
- The italic N for nitrogen. (An alias for this command is \cs{N}.)
- \command{sulfur}[\quad\iupac{\sulfur}]
- The italic S for sulfur. (An alias for this command is \cs{Sf}.)
- \command{phosphorus}[\quad\iupac{\phosphorus}]
- The italic P for phosphorus. (An alias for this command is \cs{P}.)
+ \iupaccs[H]{hydrogen}{The italic H for hydrogen.}
+ \iupaccs[O]{oxygen}{The italic O for oxygen.}
+ \iupaccs[N]{nitrogen}{The italic N for nitrogen.}
+ \iupaccs[Sf]{sulfur}{The italic S for sulfur.}
+ \iupaccs[P]{phosphorus}{The italic P for phosphorus.}
\end{commands}
\begin{example}[side-by-side]
\iupac{\nitrogen-methyl|benz|amide}
@@ -1159,10 +1159,8 @@ most common ones.
\command{cip}[\marg{conf}]
Typeset Cahn-Ingol-Prelog descriptors, \eg: \cs{cip}\Marg{R,S}
\cip{R,S}. \meta{conf} may be a csv list of entries.
- \command{rectus}[\quad\iupac{\rectus}]
- Typeset rectus descriptor. (An alias for this command is \cs{R}.)
- \command{sinister}[\quad\iupac{\sinister}]
- Typeset sinister descriptor. (An alias for this command is \cs{S}.)
+ \iupaccs[R]{rectus}{The rectus descriptor.}
+ \iupaccs[S]{sinister}{The sinister descriptor.}
\end{commands}
Both these commands and the entgegen/zusammen descriptors get a small
@@ -1175,10 +1173,8 @@ be changed through the following option:
\paragraph{Fischer}
\begin{commands}
- \command{dexter}[\quad\iupac{\dexter}]
- Typeset dexter descriptor. (An alias for this command is \cs{D}.)
- \command{laevus}[\quad\iupac{\laevus}]
- Typeset laevus descriptor. (An alias for this command is \cs{L}.)
+ \iupaccs[D]{dexter}{The dexter descriptor.}
+ \iupaccs[L]{laevus}{The laevus descriptor.}
\end{commands}
\paragraph{cis/trans, zusammen/entgegen, syn/anti \& tert}
@@ -1579,7 +1575,7 @@ modules. In the macro descriptions below \TF\ denotes that a \code{T}, an
(\expandablesymbol) also the predicate variant is available.
\begin{commands}
\expandable\command*{chemmacros_if_loaded:nn}[\TF\
- \Marg{\meta{package}|\meta{class}} \marg{name} \marg{true} \marg{false}]
+ \Marg{package|class} \marg{name} \marg{true} \marg{false}]
Checks if package (or class) \meta{name} has been loaded. Also works after
begin document.
\expandable\command*{chemmacros_if_package_loaded:n}[\TF\ \marg{name}
@@ -1597,7 +1593,7 @@ modules. In the macro descriptions below \TF\ denotes that a \code{T}, an
\command*{chemmacros_allow_break:}
Inserts a penalty of \num{0}.
\command*{chemmacros_skip_nobreak:N}[ \meta{skip/length variable}]
- Insert a horizontal skip while linebreak is disallowed.
+ Insert a horizontal skip where a linebreak is disallowed.
\expandable\command*{chemmacros_if_is_int:n}[\TF\ \marg{input} \marg{true}
\marg{false}]
Checks if \meta{input} is an integer or something else.
@@ -1605,7 +1601,7 @@ modules. In the macro descriptions below \TF\ denotes that a \code{T}, an
Checks if the current font weight is one of \chemboldchecks{or}.
\command*{chemmacros_bold:n}[ \marg{text}]
Checks if the current font weight is bold and if yes places \meta{text} in
- \cs*{textbf} if in text mode or in \cs*{bm} if in math mode. If false
+ \cs*{textbf} if in text mode or in \cs*{bm} if in math mode. If no
\meta{text} simply is placed in the input stream as is.
\command*{chemmacros_text:n}[ \marg{text}]
Ensures that \meta{text} is placed in text mode.
@@ -1822,8 +1818,8 @@ in \chemmacros. A translation key is a key which is understood by the
\pkg{translations} package and its commands like \cs*{GetTranslation}. For
each key at least the English fallback translation is provided, for most also
the German translation is provided. For a few keys also other translations
-are provided. If you find that your translation is missing you can provide it
-in the preamble:
+are provided. If you find that a translation for your language is missing you
+can provide it in the preamble:
\begin{commands}
\command*{DeclareTranslation}[\marg{language}\marg{key}\marg{translation}]
Defines a translation of key \meta{key} for the language \meta{language}.
@@ -2127,6 +2123,70 @@ changed.
\vspace{1cm}
\end{example}
+\subsection{The \chemmodule*{polymers} Module}\label{sec:polymers-module}
+The\sinceversion{5.5} \chemmodule{polymers} module loads the
+\chemmodule{nomenclature} and the \chemmodule{tikz} modules.
+
+\subsubsection{Nomenclature}
+
+The \chemmodule{polymers} module defines a number of \ac{iupac} macros for
+usage inside \cs{iupac} which are used in polymer chemistry.
+
+\paragraph{Copolymers}
+\begin{commands}
+ \iupaccs[co]{copolymer}{unspecified copolymer.}
+ \iupaccs[stat]{statistical}{statistical copolymer.}
+ \iupaccs[ran]{random}{random copolymer.}
+ \iupaccs[alt]{alternating}{alternating copolymer.}
+ \iupaccs[per]{periodic}{periodic copolymer.}
+ \iupaccs{block}{block copolymer.}
+ \iupaccs{graft}{graft copolymer.}
+\end{commands}
+
+\paragraph{Non-linear (Co) Polymers and Polymer Assemblies}
+\begin{commands}
+ \iupaccs{blend}{The blend qualifier.}
+ \iupaccs{comb}{The comb qualifier.}
+ \iupaccs[compl]{complex}{The complex qualifier.}
+ \iupaccs[cyclo]{cyclic}{The cyclic qualifier.}
+ \iupaccs{branch}{The branch qualifier.}
+ \iupaccs[net]{network}{The network qualifier.}
+ \iupaccs[ipn]{ipnetwork}{The interpenetrating network qualifier.}
+ \iupaccs[sipn]{sipnetwork}{The semi-interpenetrating network qualifier.}
+ \iupaccs{star}{The star qualifier.}
+\end{commands}
+
+\subsubsection{Polymer Denotations in \pkg*{chemfig}'s Molecules}
+The \pkg{chemfig} manual proposes some code defining the macros
+\cs*{setpolymerdelim} and \cs*{makebraces} which make it possible to add
+delimiters to \pkg{chemfig} molecules. The \chemmodule{polymers} module
+implements the following macro based on the same idea:
+\begin{commands}
+ \command{makepolymerdelims}[\oarg{options}\marg{height}\oarg{depth}\marg{opening
+ node}\marg{closing node}]
+ The value of \meta{depth} is the same as \meta{height} unless it is
+ specified explicitly. \meta{opening node} and \meta{closing node} are the
+ names of \TikZ' nodes where the delimites are placed.
+\end{commands}
+\begin{options}
+ \keychoice{delimiters}{\Marg{\meta{left}\meta{right}}}\Module{polymers}\Default{[]}
+ This option demands two tokens as argument, the first being the opening
+ brace, the second the closing brace. A dot (\code{.}) denotes an empty
+ delimiter.
+ \keyval{subscript}{subscript}\Module{polymers}\Default{\$n\$}
+ Subscript to the right delimiter.
+ \keyval{superscript}{superscript}\Module{polymers}
+ Superscript to the right delimiter.
+\end{options}
+
+\begin{example}
+ \setatomsep{2em}
+ \chemfig{-[@{op,.75}]CH_2-CH(-[6]Cl)-[@{cl,0.25}]}
+ \makepolymerdelims{5pt}[27pt]{op}{cl}
+ \chemfig{-[@{op,.75}]CH_2-CH(-[6]Cl)-[@{cl,0.25}]}
+ \makepolymerdelims[delimiters=()]{5pt}[27pt]{op}{cl}
+\end{example}
+
\subsection{The \chemmodule*{reactions} Module}\label{sec:reactions-module}
The \chemmodule{reactions} module loads the \chemmodule{chemformula} module
and the \pkg{mathtools} package~\cite{pkg:mathtools}.
@@ -3375,15 +3435,19 @@ manually maintained list of the modules that are loaded by it.
If you decide to write your module \chemmodule*{foo} using expl3 and add
options you want to be able to set using
-\cs{chemsetup}\Oarg{foo}\marg{options} please make sure you define them the
-following way:
-\begin{sourcecode}
- \keys_define:nn {chemmacros/foo} {
- ...
- }
-\end{sourcecode}
-Also (especially if you consider submitting the module, see
-section~\vref{sec:submitting-module}) please follow the expl3 naming
+\cs{chemsetup}\Oarg{foo}\marg{options} please make sure you define (and set)
+them with the following macros:
+\begin{commands}
+ \command*{chemmacros_define_keys:nn}[ \marg{module} \marg{key definitions}]
+ Define l3keys options for the module \meta{module}. This is a wrapper for
+ \cs*{keys_define:nn} \Marg{chemmacros/\meta{module}} \marg{key
+ definitions}.
+ \command*{chemmacros_set_keys:nn}[ \marg{module} \marg{input}]
+ Sets l3keys options for the module \meta{module}. This is a wrapper for
+ \cs*{keys_set:nn} \Marg{chemmacros/\meta{module}} \marg{input}.
+\end{commands}
+Also (\emph{especially if you consider submitting the module, see
+ section~\vref{sec:submitting-module}}) please follow the expl3 naming
conventions for variables and functions, \ie, use \code{chemmacros} as expl3
module name:
\begin{sourcecode}