summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/doc/latex/chemnum/chemnum_doc_de.tex
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/doc/latex/chemnum/chemnum_doc_de.tex')
-rw-r--r--Master/texmf-dist/doc/latex/chemnum/chemnum_doc_de.tex354
1 files changed, 169 insertions, 185 deletions
diff --git a/Master/texmf-dist/doc/latex/chemnum/chemnum_doc_de.tex b/Master/texmf-dist/doc/latex/chemnum/chemnum_doc_de.tex
index a562e5049b0..6c4e04c8f09 100644
--- a/Master/texmf-dist/doc/latex/chemnum/chemnum_doc_de.tex
+++ b/Master/texmf-dist/doc/latex/chemnum/chemnum_doc_de.tex
@@ -1,9 +1,9 @@
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% - chemnum - chemnum_doc_de.tex - %
-% - a comprehensive numbering method for chemical compounds - %
+% - a comprehensive approach for the numbering of chemical compounds - %
% ------------------------------------------------------------------------------------- %
% - Clemens NIEDERBERGER - %
-% - 2011/11/08 - %
+% - 2011/12/01 - %
% ------------------------------------------------------------------------------------- %
% - http://www.mychemistry.eu/ - %
% - contact@mychemistry.eu - %
@@ -26,72 +26,30 @@
% - The Current Maintainer of this work is Clemens Niederberger. - %
% - - %
% - This work consists of the files chemnum.sty, chemnum_doc_de.tex, - %
-% - chemnum_doc_en.tex, bsp.tex, scheme-tmp.eps, scheme-bla.eps README and the - %
-% - derived files chemnum_doc_de.pdf and chemnum_doc_en.pdf - %
+% - chemnum_doc_en.tex, chemnum-codehelper.tex, scheme-tmp.eps, scheme-bla.eps, - %
+% - README and the derived files chemnum_doc_de.pdf and chemnum_doc_en.pdf - %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\documentclass[DIV11]{scrartcl}
\usepackage[ngerman,german,naustrian,austrian,english,british,american,canadian,french,canadien,spanish,italian]{babel}
-
+\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenx}
\usepackage[dvipsnames]{xcolor}
\colorlet{code}{RawSienna}
\colorlet{shadecolor}{yellow!20}
-\usepackage[runs=2]{auto-pst-pdf}
-\usepackage{chemnum,textcomp,lmodern,microtype,url,xspace,longtable,tabu,booktabs,chemscheme}
+ \definecolor{myblue}{rgb}{0.02,0.04,0.48}
+ \definecolor{myred}{rgb}{0.65,0.04,0.07}
+\usepackage[textgreek]{chemnum}
+\usepackage{textcomp,microtype,libertine,url,xspace,longtable,tabu,booktabs,chemscheme}
\usepackage[version=3]{mhchem}
\renewcommand*\schemename{Schema}
\usepackage[normalem]{ulem}
\usepackage[runs=2]{auto-pst-pdf}
-\usepackage{chemfig,chemmacros}
-\input{bsp}
-\lstset{
- language=[LaTeX]TeX,
- basicstyle={\ttfamily}, % Grundstil
- extendedchars=true,
- numbers=left, % Zeilennummern
- numberstyle=\tiny, % Größe des Zeilennummern
- numberblanklines=true, % Leerzeilen nummerieren
- gobble=0, % das erste Leerzeichen abschneiden
- xleftmargin=20pt, % Einrückung links
- breaklines=true, % Zeilenumbruch
- literate={ä}{{\"a}}1 {ö}{{\"o}}1 {ü}{{\"u}}1 {Ä}{{\"A}}1 {Ö}{{\"O}}1 {Ü}{{\"U}}1 {ß}{{\ss}}1,
- moredelim=[is][\color{red!25!purple}]{!!}{!!},% Hervorhebung
- moredelim=[is][\color{black}]{++}{++}, % Hervorhebung der Keywords rückgängig
- commentstyle={\color[named]{Gray}},
- keywordstyle=\color{code},
- texcsstyle=[30]\color{code},
- moretexcs=[30]
- {
- @m,
- cmpd,
- cmpdinit,
- cmpdref,
- cmpdreset,
- cmpdsetup,
- CNlabel,
- CNlabelnoref,
- CNref,
- CNlabelsub,
- CNlabelsubnoref,
- CNrefsub,
- declarecompound,
- compound,
- compoundprefix,
- compoundsuffix,
- fcite,
- lstinline,
- penalty,
- psfrag,
- schemeref,
- tableofcontents,
- textnumero,
- theffbibliography,
- uline
- }
- }%
+\usepackage{chemfig}
+\input{chemnum-codehelper}
\usepackage{hyperref}
\hypersetup{colorlinks=true,
+ allcolors=myblue,
plainpages=false,
bookmarksopen=true,
bookmarksopenlevel=2,
@@ -99,28 +57,31 @@
pdfauthor={Clemens Niederberger},
pdftitle={chemnum - Manual},
pdfsubject={Chemische Substanzen Nummerieren},
- pdfkeywords={chemmnum},
+ pdfkeywords={chemmnum,compound,labels},
pdfcreator={LaTeX}
}
\newcommand*\changefont[3]{\fontfamily{#1}\fontseries{#2}\fontshape{#3}\selectfont}
\ExplSyntaxOn
-\DeclareDocumentEnvironment { myquote } { m }
+\DeclareDocumentEnvironment { myquote } { o }
{
\quote
- \small \changefont { cmss } { m } { sl }
+ \small\sffamily %\changefont { cmss } { m } { sl }
}
{
- \par\noindent
- \parbox { \linewidth } { \raggedleft \normalfont \itshape #1 }
+ \IfNoValueF { #1 }
+ {
+ \par\noindent
+ \parbox { \linewidth } { \raggedleft \normalfont \itshape #1 }
+ }
\endquote
}
\ExplSyntaxOff
-\newcommand*\chemnum{\textsf{chemnum}\xspace}
-\newcommand*\CNversion{v0.3c\xspace}
-\newcommand*\CNdate{2011/11/08\xspace}
+\newcommand*\chemnum{{\scshape\textcolor{myblue}{chemnum}}\xspace}
+\newcommand*\CNversion{v0.3e\xspace}
+\newcommand*\CNdate{2011/12/01\xspace}
\newcommand*\paket[1]{\textsf{#1}\footnote{\url{http://www.ctan.org/pkg/#1}}}
\newcommand*\zB{\mbox{z.\,B.}\xspace}
@@ -132,18 +93,17 @@
\selectlanguage{ngerman}
\begin{titlepage}
\centering
- \Huge chemnum \CNversion
+ \Huge\textcolor{myblue}{\biolinumshadow[\fontsize{1.5cm}{1.6cm}\fontshape{sc}]{chemnum}}
\vskip.5cm
- \Large \CNdate
+ \Large \CNversion \qquad \CNdate
\vskip.5cm
\large Clemens \textsc{Niederberger}
\vskip.25cm
\normalsize\url{http://www.mychemistry.eu/}\\
\href{mailto:contact@mychemistry.eu}{contact@mychemistry.eu}
- \vskip2cm
- \begin{abstract}
- \chemnum ist ein neuer, möglichst umfassender Ansatz zum Nummerieren chemischer Verbindungen.
- \end{abstract}
+ \begin{center}\Large\color{myblue}
+ Ein umfassender Ansatz für das Nummerieren chemischer Verbindungen mit \LaTeXe.
+ \end{center}
\vskip3cm \cmpdinit*{glucose.alpha, glucose.beta, glucose.chain}
\cmpd*[sub-counter = greek]{glucose.alpha, glucose.beta}\cmpd*{glucose.chain}
\setatomsep{2em}
@@ -161,7 +121,7 @@
\arrow(@chainlabel--){0}[,2.5] \normalsize\cmpd[cmpd-delim]{glucose.beta}
\arrow(@chainlabel--){0}[180,2.3] \normalsize\cmpd[cmpd-delim]{glucose.alpha}
\schemestop
- \caption{Das \textalpha- und das \textbeta-Anomer von \Dfi-Glucose \cmpd[list-delim,list-lang=DE]{glucose.alpha,glucose.beta} stehen in Lösung über die offenkettige Form \cmpd[cmpd-delim]{glucose.chain} im Gleichgewicht.}
+ \caption{Das \textalpha- und das \textbeta-Anomer von \textsc{d}-Glucose \cmpd[list-delim,list-lang=DE]{glucose.alpha,glucose.beta} stehen in Lösung über die offenkettige Form \cmpd[cmpd-delim]{glucose.chain} im Gleichgewicht.}
\end{scheme}
\end{titlepage}
\cmpdreset
@@ -172,28 +132,28 @@
\chemnum ruft intern die Pakete \textsf{expl3} und \paket{xparse} auf. \textsf{xparse} ist Teil des \paket{l3packages}-Bundles, \textsf{expl3} ist Teil des \paket{l3kernel}-Bundles. Das heißt, \chemnum benötigt \LaTeX3-Un\-ter\-stüt\-zung.
-\chemnum benötigt außerdem die Pakete \paket{etoolbox} und \paket{psfrag} und (manchmal) das Paket \paket{textgreek}, siehe Abschnitt \ref{sec:package_options}.
+\chemnum benötigt außerdem die Pakete \paket{etoolbox} und \paket{psfrag} und entweder das Paket \paket{textgreek} oder das Paket \paket{bm}, abhängig von den Paketoptionen (siehe Abschnitt \ref{sec:package_options}).
\section{Paket-Optionen}\label{sec:package_options}
\chemnum hat eine Option.
\begin{framed}
\centering\lstinline+\usepackage[textgreek = <value>]{chemnum}+
\end{framed}
-Damit können Sie sowohl einen der drei Stile des \textsf{textgreek}-Pakets wählen\footnote{Zu Details siehe Dokumentation des \textsf{textgreek}-Pakets.} oder \chemnum ohne \textsf{textgreek} laden. Folgende Werte stehen zur Auswahl: \lstinline=artemisia=, \lstinline=cbgreek=, \lstinline=euler= und \lstinline=false=. Wenn Sie \chemnum ohne Option verwenden, wird \textsf{textgreek} mit dem \lstinline=cbgreek=-Stil geladen. Die Verwendung von \lstinline+\usepackage[textgreek]{chemnum}+ entspricht \lstinline+\usepackage[textgreek = cbgreek]{chemnum}+ oder \lstinline+\usepackage{chemnum}+.
+Damit können Sie sowohl einen der drei Stile des \textsf{textgreek}-Pakets wählen\footnote{Zu Details siehe Dokumentation des \textsf{textgreek}-Pakets.} oder \chemnum ohne \textsf{textgreek} laden. Folgende Werte stehen zur Auswahl: \lstinline=artemisia=, \lstinline=cbgreek=, \lstinline=euler= und \lstinline=false=. Wenn Sie \lstinline=<value>= weglassen, wird \textsf{textgreek} mit dem \lstinline=cbgreek=-Stil geladen. Die Verwendung von \lstinline+\usepackage[textgreek]{chemnum}+ entspricht also \lstinline+\usepackage[textgreek = cbgreek]{chemnum}+. Wenn Sie \chemnum ohne Option verwenden, wird \textsf{textgreek} nicht verwendet. Das entspricht \lstinline+\usepackage[textgreek = false]{chemnum}+, der Voreinstellung.
-Wenn Sie das \textsf{textgreek}-Paket nicht installiert haben und keine griechischen Label be\-nö\-ti\-gen, können Sie \lstinline+\usepackage[textgreek = false]{chemnum}+ verwenden. Damit resultieren die Counter-Optionen \lstinline=greek= und \lstinline=Greek= in den Optionen \lstinline=alph= und \lstinline=Alph= (siehe Abschnitt \ref{ssec:counter}).
+Dieses Dokument wurde mit \lstinline+\usepackage[textgreek]{chemnum}+ gesetzt.
\section{Motivation}
Soweit mir bekannt ist, gab es bislang drei Pakete, die das Nummerieren von Verbindungen erleichtern sollen. Sie alle haben ihre Schwächen.
Das erste, \paket{chemcono}, hat für diesen Zweck Bibliographie-Befehle umdefiniert. Dort müs\-sen Verbindungen in einer Art Literaturliste definiert werden. Dadurch kann dann im Text auf sie referenziert werden. Da es die "`Verbindungs-Bibliothek"' immer mit ausgibt, schlägt der Paket-Autor folgendes vor:
-\begin{myquote}{Stefan Schulz}
+\begin{myquote}[Stefan Schulz]
After compilation and printout, discard the last page.
\end{myquote}
Ganz offensichtlich ist das keine perfekte Lösung.
Das zweite, \paket{chemcompounds}, ist enstanden, weil der Paket-Autor ebenfalls mit den Schwä\-chen von \textsf{chemcono} nicht mehr arbeiten wollte. Bei der Erstellung des Pakets hielt er sich stark an den gleichen prinzipiellen Mechanismus wie \textsf{chemcono}.
-\begin{myquote}{Stephan Schenk}
+\begin{myquote}[Stephan Schenk]
When taking a closer look at the chemcono package, I realised that the only thing one has to do is to get rid of everything which produces text. Thus, as a basis I used the mechanism of \lstinline=\bibitem= and \lstinline=\cite= in pretty much the same way as \textsf{chemcono} does by extracting the corresponding code from \lstinline=article.cls= and \lstinline=latex.ltx= but deleting any unnecessary commands producing output. I also introduced several lines of code to make the printing of the compound names more customisable.
\end{myquote}
Manche Schwächen hat auch dieses Paket:
@@ -210,6 +170,7 @@ Dann gibt es noch \paket{bpchem}, das Befehle ähnlich den Befehlen \lstinline=\
Wenn Ihnen irgendwelche fehlenden Features auf"|fallen, geben Sie mir bitte Bescheid, indem Sie mir eine E-Mail senden.
+\newpage
\section{Verbindungen Nummerieren}\label{sec:nummerieren}
\subsection{Basisbefehl}
Der eigentliche Befehl des Pakets ist
@@ -233,7 +194,7 @@ Falls es nötig sein sollte, eine Verbindung zu deklarieren, ohne ein Label ausz
Die versteckte Version\cmpd*{d} erzeugt zwar das Label, schreibt es aber nicht aus. Der n\"achste \cmpd{e} f\"uhrt die Z\"ahlung einfach weiter. Mit \cmpd{d} kann nat\"urlich auf das erzeugte Label zur\"uckgegriffen werden.
\end{beispiel}
-Als Label-Namen können Sie im Prinzip einsetzen, was Sie wollen\footnote{Es gibt ein Einschränkungen, siehe Abschnitt \ref{ssec:unterlabel} (S.\,\pageref{ssec:unterlabel}) und Abschnitt \ref{ssec:sub_label_marker} (S.\,\pageref{ssec:sub_label_marker}).}. Sie sollten allerdings darauf achten, dass der Name keine Leerzeichen enthält. Das führt zwar nicht unbedingt zu einem Fehler, könnte aber verschiedenen Labeln die gleiche Nummer zuweisen.
+Als Label-Namen können Sie im Prinzip einsetzen, was Sie wollen\footnote{Es gibt ein Einschränkungen, siehe Abschnitt \ref{ssec:listen} (S.\, \pageref{ssec:listen}), Abschnitt \ref{sssec:list-input-sep} (S.\,\pageref{sssec:list-input-sep}), Abschnitt \ref{ssec:unterlabel} (S.\,\pageref{ssec:unterlabel}) und Abschnitt \ref{ssec:sub_label_marker} (S.\,\pageref{ssec:sub_label_marker}).}. Sie sollten allerdings darauf achten, dass der Name keine Leerzeichen enthält. Das führt zwar nicht unbedingt zu einem Fehler, könnte aber verschiedenen Labeln die gleiche Nummer zuweisen.
\lstset{showspaces=true}
\begin{beispiel}
@@ -265,15 +226,16 @@ Genauso kann der Hauptname von kombiniert vergebenen Labeln einzeln aufgerufen w
\cmpd{f} und \cmpd{g}
\end{beispiel}
-Wie Sie ein Label der Art \cmpd[sub-list={one,two}]{f} erzeugen können,wird in Abschnitt \ref{ssec:lists_ranges} erklärt.
+Wie Sie ein Label der Art \cmpd[sub-list={one,two}]{f} erzeugen können,wird in Abschnitt \ref{sec:lists_ranges} erklärt.
-\subsection{Listen}
+\subsection{Listen}\label{ssec:listen}
Tatsächlich wurde bislang nur die halbe Wahrheit über den Befehl erzählt. Er kann auch für mehrere Label auf einmal verwendet werden.
Die richtige Beschreibung des Befehls lautet also eher:
\begin{framed}
\centering\lstinline=\cmpd{<(possibly comma separated list of) label name(s)>}=
\end{framed}
+Das bedeutet, dass in der Voreinstellung das Komma nicht Teil des Label-Namens sein kann, es sei den versteckt in geschweiften Klammern. Sie können das ändern, siehe Abschnitt \ref{sssec:list-input-sep} (S.\,\pageref{sssec:list-input-sep}).
\begin{beispiel}
Mehrere Label k\"onnen einfach durch Kommata getrennt eingegeben werden. Dann wird eine Liste wie \cmpd{a, b, c, e, g.two} ausgegeben.
@@ -458,7 +420,7 @@ tun. Dieser Befehl ist vom Befehl \lstinline=\schemeref= des Pakets \paket{chems
\caption{Schema mit automatisierten Labeln.}
\end{scheme}
\end{beispiel}
-Sie nummerieren also im Schema die Substanzen mit \textsf{TMP1}, \textsf{TMP2} \usw durch. Diese Marker werden dann durch die entsprechenden Label ersetzt. Dafür verwendet \chemnum genau wie \textsf{chemscheme} den Befehl \lstinline=\psfrag=. Damit er funktioniert, müssen Sie also entweder über \textsc{latex}, \textsc{dvips}, \textsc{ps2pdf} kompilieren, oder \zB das Paket \paket{auto-pst-pdf} verwenden, um trotzdem \textsc{pdflatex} einsetzen zu können.
+Sie nummerieren also im Schema die Substanzen mit \textsf{TMP1}, \textsf{TMP2} \usw durch. Diese Marker werden dann durch die entsprechenden Label ersetzt. Dafür verwendet \chemnum genau wie \textsf{chemscheme} den Befehl \lstinline=\psfrag=. Damit er funktioniert, müssen Sie also entweder über \textsc{latex}, \textsc{dvips}, \textsc{ps2pdf} kompilieren, oder \zB das Paket \paket{auto-pst-pdf} zusammen mit \textsc{pdflatex} einsetzen. \textsc{xelatex} wird leider nicht funktionieren, \textsc{lualatex} voraussichtlich ebensowenig, wurde aber vom Autor nicht getestet.
In jedem Fall ist es wichtig, dass der Marker als \emph{Text} im \lstinline=eps= gespeichert ist.
@@ -502,6 +464,65 @@ Natürlich funktioniert das mit Sublabeln nach dem gewohnten Muster:
\end{beispiel}
\cmpdreset[9]
+\section{Listen und Bereiche von Sublabeln}\label{sec:lists_ranges}
+Manchmal kann es nützlich oder erwünscht sein, ein Label mit einem Bereich von Sublabeln anzuzeigen. Nehmen wir an, Sie haben die Verbindungen \cmpd{q.one,q.two,q.three,q.four,q.five}, die sich \zB in ihren Substituenten unterscheiden. Unter Umständen möchte man auf alle gleichzeitig verweisen: \cmpd[cmpd-all]{q}.
+
+\chemnum stellt zwei Keys (siehe Abschnitt \ref{sec:cmpdsetup}) zur Verfügung, mit denen solche Label erzeugt werden können, und zwei, mit denen sie angepasst werden können.
+\begin{framed}
+ \noindent\lstinline+cmpd-all = true/false+ \hfill Typ: \lstinline=boolean=\\
+ \noindent\lstinline+sub-list = {<list of sublabel names>}+ \hfill Typ: \lstinline=other=\\
+ \noindent\lstinline+sub-range-sep = <separator>+ \hfill Typ: \lstinline=literal=\\
+ \noindent\lstinline+sub-range-marker = <marker>+ \hfill Typ: \lstinline=literal=
+\end{framed}
+Der Typ des Keys \lstinline=sub-list= unterscheidet sich von dem anderer Keys. Am besten schauen Sie Sich das Beispiel unten an.
+
+\begin{beispiel}
+ Liste von Labeln: \cmpd{q.one, q.two, q.three, q.four, q.five} \\
+ Alle auf einmal: \cmpd[cmpd-all]{q}
+\end{beispiel}
+
+Wenn Sie nicht auf alle Varianten auf einmal verweisen wollen, können Sie den Key \lstinline=sub-list=\label{key:sub-list} verwenden. Als Eingabe benötigt er eine Komma-separierte Liste der Sublabel-Namen, die zu dem Hauptlabel gehören, das Sie verwenden.
+\begin{beispiel}
+ \cmpd[sub-list={one,three,four}]{q}
+\end{beispiel}
+
+Sie können mit diesem Key auch Bereiche von Sublabeln darstellen. Als Marker zwischen den Namen der beiden Sublabel werden zwei Punkte \lstinline=..= verwendet.
+\begin{beispiel}
+ \cmpd[sub-list={two..four}]{q}\\
+ \cmpd[sub-list={one,three..five}]{q}\\
+ \cmpd[sub-list={one..three,five}]{q}
+\end{beispiel}
+
+Mit den Keys \lstinline=sub-range-sep= und \lstinline=sub-range-marker= kann man sowohl das Symbol, mit dem der Bereich angezeigt wird als auch den Marker für die Eingabe ändern.
+\begin{beispiel}
+ \cmpdsetup{sub-range-sep = {---}, sub-range-marker = : }
+ \cmpd[sub-list={two:four}]{q}
+\end{beispiel}
+
+Damit die Keys die richtigen Sublabel verwenden können, müssen diese deklariert worden sein. Daher werden sie aus der Datei \lstinline=<jobname>.cmpd= (angenommen Ihre Quelldatei heißt \lstinline=<jobname>.tex=) gelesen. Daher müssen Sie zweimal (oder öfter) kompilieren, bis alle Labels richtig dargestellt werden.
+
+Verwendet man Label mit Sublabel-Bereichen, dann möchte man vielleicht an anderer Stelle \emph{nur} das Sublabel ausgeben. Das ist möglich mit folgendem Key:
+\begin{framed}
+ \noindent\lstinline+sub-only = true/false+\hfill Typ: \lstinline=boolean=
+\end{framed}
+\begin{beispiel}
+ % use packages `chemfig', `mhchem' and `booktabs'
+ \cmpd*{benzol.H,benzol.Me,benzol.OH,benzol.NH2}
+ \chemname{\chemfig{*6(=-=-(-R)=-)}}{\cmpd[cmpd-all]{benzol}}
+ \begin{tabular}{lll}
+ & \ce{{}-R} & Name \\\midrule
+ \cmpd[sub-only]{benzol.H} & \ce{{}-H} & Benzol \\
+ \cmpd[sub-only]{benzol.Me} & \ce{{}-CH3} & Toluol \\
+ \cmpd[sub-only]{benzol.OH} & \ce{{}-OH} & Phenol \\
+ \cmpd[sub-only]{benzol.NH2} & \ce{{}-NH2} & Anilin
+ \end{tabular}
+\end{beispiel}
+
+In der Zwischenzeit benötigt der Key \lstinline=sub-list= etwas Aufmerksamkeit. Leider ist automatisches Sortieren nicht so trivial, wie man sich wünschte. Daher müssen Sie die Sublabel-Namen in der richtigen Reihenfolge einsetzen, um Label wie diese zu vermeiden:
+\begin{beispiel}
+ \cmpd[sub-list={five..three}]{q} or \cmpd[sub-list={three,one,four}]{q}.
+\end{beispiel}
+
\section{Personalisieren}\label{sec:cmpdsetup}
\subsection{Das Prinzip}\label{ssec:prinzip}
Das Personalisieren geschieht mit einem Schlüssel-Wert-System. Einstellungen können dabei entweder zentral über
@@ -534,7 +555,8 @@ Die Schlüssel sind in verschiedene Klassen\label{key_classes} unterteilt, die a
\subsection{Schriftstil}\label{ssec:schriftstil}
Um den Stil zu ändern, mit dem die Nummern geschrieben werden, verwenden Sie
\begin{framed}
-\noindent\lstinline+cmpd-style = <style>+ \hfill Typ: \lstinline=macro=
+\noindent\lstinline+cmpd-style = <style>+ \hfill Typ: \lstinline=macro=\\
+\noindent\lstinline+cmpd-weight = bold/normal+ \hfill Typ: \lstinline=choice=
\end{framed}
\begin{beispiel}
% preamble:
@@ -544,8 +566,10 @@ Um den Stil zu ändern, mit dem die Nummern geschrieben werden, verwenden Sie
\cmpd[cmpd-style = \uline]{a, b, f.two, k}\\ % unterstrichen
\cmpd{a, b, f.two, k}\\ % wieder default
\cmpdsetup{cmpd-style = \itshape\uline}
- \cmpd{a, b, f.two, k} % kursiv und unterstrichen
+ \cmpd{a, b, f.two, k}\\ % kursiv und unterstrichen
+ \cmpd[cmpd-weight=normal]{a, b, f.two, k}
\end{beispiel}
+Dass die Schriftstärke separat eingestellt wird, hat seine Ursache bei den griechischen Labeln (siehe Abschnitt \ref{ssec:counter}). Abhängig von der Paketoption muss die Schriftstärke dort unterschiedlich realisiert werden.
\subsection{Eigene Labels}\label{ssec:own_labels}
Mit dem Schlüssel
@@ -595,7 +619,7 @@ Benötigen \emph{zwei} Token als Wert!
\cmpdsetup{cmpd-delim = ()}
\cmpd{a, b, f.two, k} % eingeklammert
\end{beispiel}
-Bitte Beachten Sie, dass die Default-Werte (siehe S.\,\pageref{opt:default} und \pageref{ssec:uebersicht}) von \lstinline=cmpd-delim= und \lstinline=list-delim= und die Voreinstellung von \chemnum \emph{nicht} übereinstimmen. Per Default verwendet \chemnum keine Begrenzer. Beachten Sie außerdem, dass die Listenbegrenzer erst ab \emph{zwei} Labeln verwendet werden.
+Wenn Sie \lstinline=\cmpd[cmps-delim]{<label>]= schreiben, also keinen Wert spezifizieren, werden \lstinline=()= verwendet. Dasselbe gilt für \lstinline=list-delim=. Beachten Sie, dass die Listenbegrenzer erst ab \emph{zwei} Labeln verwendet werden.
\begin{beispiel}
\cmpd{a, b, f.two, k}\\ % default
\cmpd[list-delim = {[}{]}]{a, b, f.two, k}\\ % eingeklammert
@@ -606,7 +630,7 @@ Bitte Beachten Sie, dass die Default-Werte (siehe S.\,\pageref{opt:default} und
\end{beispiel}
Wenn Sie generell die Label eingeklammert verwenden, aber ein einzelnes einmal ohne Klammern verwenden wollen, haben Sie mehrere Möglichkeiten:
\begin{beispiel}
- \cmpdsetup{cmpd-delim = ()}
+ \cmpdsetup{cmpd-delim}
Normal \cmpd{b}, \cmpd{c}, \cmpd{d.one}, aber manchmal so \cmpd[cmpd-delim = ]{e} oder so \cmpd-{e}.
\end{beispiel}
Mit
@@ -638,7 +662,7 @@ Beispiel für die Label-Attribute:
\begin{beispiel}
\cmpd{a, b, f.two, k}\\ % default
\cmpd[cmpd-prefix = Nr.]{a, b, f.two, k}\\
- \cmpdsetup{cmpd-prefix = \textnumero}
+ \cmpdsetup{cmpd-prefix = \(\rightarrow\)}
\cmpd{a, b, f.two, k}\\
\cmpd{a} % KEINE Liste!
\end{beispiel}
@@ -678,16 +702,30 @@ Haben Sie Label mit Sublabeln, können Sie dort auch ein Trenn-Symbol verwenden.
\cmpd[cmpd-sep = :]{a, b, f.two, f.three, k}
\end{beispiel}
+\subsubsection{Bei Listen -- Eingabe}\label{sssec:list-input-sep}
+Wenn Sie mögen, können Sie das Trennsymbol der Listen-Eingabe ändern. Per Default wird hier das Komma verwendet.
+\begin{framed}
+\noindent\lstinline+list-input-sep = <separator>+ \hfill Typ: \lstinline=literal=
+\end{framed}
+\begin{beispiel}
+ \cmpd{a, b, f.two, k}\\ % default
+ \cmpd[list-input-sep = +]{a + b + f.two + k}\\
+ \cmpd{a, b, f.two, k}\\
+ \cmpdsetup{list-input-sep = ;}
+ \cmpd{a; b; f.two; k}
+\end{beispiel}
+Das ermöglicht Ihnen \zB, IUPAC-Namen als Label-Namen zu verwenden\footnote{Vielen Dank an Christina Lüdingk, die dieses Feature in gewisser Weise vorgeschlagen hat.}.
+
\subsubsection{Bei Listen -- allgemein}
Auch bei Listen lässt sich ein Trennsymbol festlegen, das bestimmt, wie einzelne Label voneinander getrennt werden. Per Default ist das das Komma.
\begin{framed}
-\noindent\lstinline+list-sep = <separator>+ \hfill Typ: \lstinline=literal=
+\noindent\lstinline+list-output-sep = <separator>+ \hfill Typ: \lstinline=literal=
\end{framed}
\begin{beispiel}
\cmpd{a, b, f.two, k}\\ % default
- \cmpd[list-sep = ]{a, b, f.two, k}\\
+ \cmpd[list-output-sep = ]{a, b, f.two, k}\\
\cmpd{a, b, f.two, k}\\
- \cmpdsetup{list-sep = ;}
+ \cmpdsetup{list-output-sep = ;}
\cmpd{a, b, f.two, k}
\end{beispiel}
@@ -717,12 +755,12 @@ Sie können den letzten Trenner mit \lstinline=list-last-sep= auch individuell f
\cmpd[list-last-sep = empty]{a, b, f.two, k}
\end{beispiel}
-Ein spezieller Wert ist \lstinline=empty=. Wird er verwendet, wird überall der Trenner eingesetzt, der mit \lstinline=list-sep= festgelegt wurde.
+Ein spezieller Wert ist \lstinline=empty=. Wird er verwendet, wird überall der Trenner eingesetzt, der mit \lstinline=list-output-sep= festgelegt wurde.
\begin{beispiel}
\cmpdsetup{list-last-sep = empty}%
\cmpd{a, b, f.two, k}\\
- \cmpd[list-sep = ;]{a, b, f.two, k}\\
- \cmpd[list-sep = {\ und}]{a, b, f.two, k}
+ \cmpd[list-output-sep = ;]{a, b, f.two, k}\\
+ \cmpd[list-output-sep = {\ und}]{a, b, f.two, k}
\end{beispiel}
\subsection{Sublabel-Marker}\label{ssec:sub_label_marker}
@@ -736,78 +774,62 @@ Als Voreinstellung verwendet \chemnum den Punkt \lstinline=.= als Zeichen, um Ha
\cmpd[sub-marker= +]{f+one, g+two}\\
\cmpd[sub-marker= ~]{f~one, g~two}\\
\cmpd[sub-marker= &]{f&one, g&two}\\
- \cmpd[sub-marker= *]{f*one, g*two}
+ \cmpd[sub-marker= *]{f*one, g*two}\\
+ \cmpd[sub-marker=\marker]{f\marker one,g\marker two}
\end{beispiel}
Sie sollten -- nicht nur aus Gründen der Konsistenz -- nur \emph{einmal} am Anfang ihres Dokuments entscheiden, welches Zeichen Sie verwenden. Und zwar \emph{bevor} Sie \lstinline=\tableofcontents= einsetzen. Am besten in der Präambel. Ansonsten kann \lstinline=\tableofcontents= nicht wissen, welchen Marker Sie verwenden und Label im Inhaltsverzeichnis können falsch dargstellt werden.
-\subsection{Listen und Bereiche von Sublabeln}\label{ssec:lists_ranges}
-Manchmal kann es nützlich oder erwünscht sein, ein Label mit einem Bereich von Sublabeln anzuzeigen. Nehmen wir an, Sie habe die Verbindungen \cmpd{q.one,q.two,q.three,q.four,q.five}, die sich \zB in ihren Substituenten unterscheiden. Unter Umständen möchte man auf alle gleichzeitig verweisen: \cmpd[cmpd-all]{q}.
-
-\chemnum stellt zwei Keys zur Verfügung, mit denen solche Label erzeugt werden können, und zwei, mit denen sie angepasst werden können.
-\begin{framed}
- \noindent\lstinline+cmpd-all = <bool>+ \hfill Typ: \lstinline=boolean=\\
- \noindent\lstinline+sub-list = {<list of sublabel names>}+ \hfill Typ: \lstinline=other=\\
- \noindent\lstinline+sub-range-sep = <separator>+ \hfill Typ: \lstinline=literal=\\
- \noindent\lstinline+sub-range-marker = <marker>+ \hfill Typ: \lstinline=literal=
-\end{framed}
-Der Typ des Keys \lstinline=sub-list= unterscheidet sich von dem anderer Keys. Er ähnelt \lstinline=literal=. Am besten schauen Sie Sich das Beispiel unten an.
-
-\begin{beispiel}
- Liste von Labeln: \cmpd{q.one, q.two, q.three, q.four, q.five} \\
- Alle auf einmal: \cmpd[cmpd-all]{q}
-\end{beispiel}
-
-Wenn Sie nicht auf alle Varianten auf einmal verweisen wollen, können Sie den Key \lstinline=sub-list=\label{key:sub-list} verwenden. Als Eingabe benötigt er eine Komma-separierte Liste der Sublabel-Namen, die zu dem Hauptlabel gehören, das Sie verwenden.
-\begin{beispiel}
- \cmpd[sub-list={one,three,four}]{q}
-\end{beispiel}
-
-Sie können mit diesem Key auch Bereiche von Sublabeln darstellen. Als Marker zwischen den Namen der beiden Sublabel werden zwei Punkte \lstinline=..= verwendet.
-\begin{beispiel}
- \cmpd[sub-list={two..four}]{q}\\
- \cmpd[sub-list={one,three..five}]{q}\\
- \cmpd[sub-list={one..three,five}]{q}
-\end{beispiel}
-
-Mit den Keys \lstinline=sub-range-sep= und \lstinline=sub-range-marker= kann man sowohl das Symbol, mit dem der Bereich angezeigt wird als auch den Marker für die Eingabe ändern.
+\section{Sprachunterstützung}\label{sec:language_support}
+\subsection{Zusammenarbeit mit \textsf{babel}}
+\chemnum unterstützt die Sprachauswahl durch das \paket{babel}-Paket für eine Reihe von Sprachen. Dies geschieht mit Hilfe des \textsf{translator} Pakets, falls es vorhanden. Kann \textsf{translator} nicht geladen werden, muss die Sprachunterstützung von Hand vorgenommen werden, siehe Abschnitt \ref{sssec:last-sep}. Die Einstellung von Hand funktioniert natürlich auch, wenn \textsf{translator} geladen wurde.
\begin{beispiel}
- \cmpdsetup{sub-range-sep = {--}, sub-range-marker = : }
- \cmpd[sub-list={two:four}]{q}
+ \selectlanguage{ngerman}DE: \cmpd{r,s,t} \selectlanguage{german}\cmpd{r,s,t}\\
+ \selectlanguage{naustrian}AU: \cmpd{r,s,t} \selectlanguage{austrian}\cmpd{r,s,t}\\
+ \selectlanguage{english}EN: \cmpd{r,s,t}\\
+ \selectlanguage{british}GB: \cmpd{r,s,t}\\
+ \selectlanguage{american}US: \cmpd{r,s,t}\\
+ \selectlanguage{canadian}CDN-EN: \cmpd{r,s,t}\\
+ \selectlanguage{canadien}CDN-FR: \cmpd{r,s,t}\\
+ \selectlanguage{french}FR: \cmpd{r,s,t}\\
+ \selectlanguage{spanish}ES: \cmpd{r,s,t}\\
+ \selectlanguage{italian}IT: \cmpd{r,s,t}
\end{beispiel}
+Bei weitem nicht alle Sprachen werden unterstützt, schon allein aus Machbarkeitsgründen. Falls Ihnen eine Sprache fehlen sollte, senden Sie mir bitte eine E-Mail\footnote{\href{mailto:contact@mychemistry.eu}{contact@mychemistry.eu}} mit der dazugehörigen \textsf{babel} Option und der richtigen Übersetzung, und ich werde sie gerne hinzufügen.
-Damit die Keys die richtigen Sublabel verwenden können, müssen diese deklariert worden sein. Daher werden sie aus der Datei \lstinline=<jobname>.cmpd= (angenommen Ihre Quelldatei heißt \lstinline=<jobname>.tex=) gelesen. Daher müssen Sie zweimal (oder öfter) kompilieren, bis alle Labels richtig dargestellt werden.
+\subsection{Harvard-Komma}\label{ssec:harvard-comma}
+Im US-Amerikanischen ist die Verwendung des sogenannten Harvard- oder Oxford-Kommas weit verbreitet, im Britischen und in anderen europäischen Sprachen ist sie eher unüblich.
+\begin{myquote}[\href{http://en.wikipedia.org/wiki/Serial_comma}{Wikipedia}, 2011/11/07]
+ The serial comma (also known as the Oxford comma or Harvard comma, and sometimes referred to as the series comma) is the comma used immediately before a coordinating conjunction (usually and or or, and sometimes nor) preceding the final item in a list of three or more items. For example, a list of three countries can be punctuated as either "Portugal, Spain, and France" (with the serial comma) or as "Portugal, Spain and France" (without the serial comma).
-Verwendet man Label mit Sublabel-Bereichen, dann möchte man vielleicht an anderer Stelle \emph{nur} das Sublabel ausgeben. Das ist möglich mit folgendem Key:
+ Opinions vary among writers and editors on the usage or avoidance of the serial comma. In American English, the serial comma is standard usage in non-journalistic writing that follows the \textsc{Chicago Manual of Style}. Journalists, however, usually follow the AP Stylebook, which advises against it. It is used less often in British English, where it is standard usage to leave it out, with some notable exceptions such as \textsc{Fowler's Modern English Usage}. In many languages (e.g., French, German, Italian, Polish, Spanish), the serial comma is not the norm and may even go against punctuation rules. It may be recommended in many cases, however, to avoid ambiguity or to aid prosody.
+\end{myquote}
+\chemnum verwendet das Harvard-Komma bei der Verwendung von American English, nicht aber bei anderen Sprachen. Sie haben jedoch die Möglichkeit, das Harvard-Komma mit dem Schlüssel
\begin{framed}
- \noindent\lstinline+sub-only = <bool>+\hfill Typ: \lstinline=boolean=
+\noindent\lstinline+list-serial-comma = true/false+ \hfill Typ: \lstinline=boolean=\label{key:list-serial-comma}
\end{framed}
+\noindent nach Belieben zu (De-)Aktivieren.
\begin{beispiel}
- % use packages `chemfig', `mhchem' and `booktabs'
- \cmpd*{benzol.H,benzol.Me,benzol.OH,benzol.NH2}
- \chemname{\chemfig{*6(=-=-(-R)=-)}}{\cmpd[cmpd-all]{benzol}}
- \begin{tabular}{lll}
- & \ce{{}-R} & Name \\\midrule
- \cmpd[sub-only]{benzol.H} & \ce{{}-H} & Benzol \\
- \cmpd[sub-only]{benzol.Me} & \ce{{}-CH3} & Toluol \\
- \cmpd[sub-only]{benzol.OH} & \ce{{}-OH} & Phenol \\
- \cmpd[sub-only]{benzol.NH2} & \ce{{}-NH2} & Anilin
- \end{tabular}
+ \selectlanguage{ngerman}DE: \cmpd[list-serial-comma]{r,s,t} vs. \cmpd{r,s,t}\\
+ \selectlanguage{american}US: \cmpd[list-serial-comma=false]{r,s,t} vs. \cmpd{r,s,t}
\end{beispiel}
-
-In der Zwischenzeit benötigt der Key \lstinline=sub-list= etwas Aufmerksamkeit. Leider ist automatisches Sortieren nicht so trivial, wie man sich wünschte. Daher müssen Sie die Sublabel-Namen in der richtigen Reihenfolge einsetzen, um Label wie diese zu vermeiden:
+Wenn Sie die Spracheinstellung manuell vornehmen, beachten Sie, dass dabei auf die Voreinstellung der Sprache zurückgesetzt wird. Daher sollte \lstinline=list-serial-comma= \emph{nach} \lstinline=list-lang= verwendet werden.
\begin{beispiel}
- \cmpd[sub-list={five..three}]{q} or \cmpd[sub-list={three,one,four}]{q}.
+ falsch: \cmpdsetup{list-serial-comma=false, list-lang=US}\cmpd{r,s,t}\\
+ richtig: \cmpdsetup{list-lang=US, list-serial-comma=false}\cmpd{r,s,t}
\end{beispiel}
-\subsection{Übersicht}\label{ssec:uebersicht}
-Im folgenden sind alle verfügbaren Schlüssel aufgelistet. Bitte beachten Sie, dass die Default-Werte von \lstinline=cmpd-delim= und \lstinline=list-delim= \emph{nicht} mit der Voreinstellung von \chemnum über\-ein\-stim\-men. \chemnum setzt in der Voreinstellung \emph{keine} Begrenzer.
+\newpage
+\section{Übersicht}
+\subsection{Keys}\label{ssec:keys_uebersicht}
+Im folgenden sind alle verfügbaren Schlüssel aufgelistet.
\begin{center}
\label{tab:keys}
\begin{longtabu*}{>{\ttfamily}l>{\ttfamily}l>{\ttfamily}l}\toprule
\normalfont\bfseries key & \normalfont\bfseries default & \normalfont\bfseries type \\\midrule
- cmpd-style & \lstinline=\textbf= & macro \\
+ cmpd-style & & macro \\
+ cmpd-weight & bold & choice \\
cmpd-label & & literal \\
- cmpd-delim$^\mathrm{a}$ & () & literal \\
+ cmpd-delim$^\mathrm{a}$ & & literal \\
cmpd-odelim & & literal \\
cmpd-cdelim & & literal \\
cmpd-prefix & & literal \\
@@ -819,15 +841,16 @@ Im folgenden sind alle verfügbaren Schlüssel aufgelistet. Bitte beachten Sie,
sub-marker & . & literal \\
sub-counter & alph & choice \\
sub-list & & other$^\mathrm{b}$ \\
- sub-range-sep & - & literal \\
+ sub-range-sep & -- & literal \\
sub-range-marker & .. & literal \\
sub-only & & boolean \\\midrule
- list-delim$^\mathrm{a}$ & () & literal \\
+ list-delim$^\mathrm{a}$ & & literal \\
list-odelim & & literal \\
list-cdelim & & literal \\
list-prefix & & literal \\
list-suffix & & literal \\
- list-sep & , & literal \\
+ list-input-sep & , & literal \\
+ list-output-sep & , & literal \\
list-lang & US & choice \\
list-last-sep & and$^\mathrm{c}$ & literal \\
list-serial-comma & & boolean \\\midrule
@@ -840,46 +863,7 @@ Im folgenden sind alle verfügbaren Schlüssel aufgelistet. Bitte beachten Sie,
\end{tabular}
\end{center}
-\section{Sprachunterstützung}\label{sec:language_support}
-\subsection{Zusammenarbeit mit \textsf{babel}}
-\chemnum unterstützt die Sprachauswahl durch das \paket{babel}-Paket für eine Reihe von Sprachen. Dies geschieht mit Hilfe des \textsf{translator} Pakets, falls es vorhanden. Kann \textsf{translator} nicht geladen werden, muss die Sprachunterstützung von Hand vorgenommen werden, siehe Abschnitt \ref{sssec:last-sep}. Die Einstellung von Hand funktioniert natürlich auch, wenn \textsf{translator} geladen wurde.
-\begin{beispiel}
- \selectlanguage{ngerman}DE: \cmpd{r,s,t} \selectlanguage{german}\cmpd{r,s,t}\\
- \selectlanguage{naustrian}AU: \cmpd{r,s,t} \selectlanguage{austrian}\cmpd{r,s,t}\\
- \selectlanguage{english}EN: \cmpd{r,s,t}\\
- \selectlanguage{british}GB: \cmpd{r,s,t}\\
- \selectlanguage{american}US: \cmpd{r,s,t}\\
- \selectlanguage{canadian}CDN-EN: \cmpd{r,s,t}\\
- \selectlanguage{canadien}CDN-FR: \cmpd{r,s,t}\\
- \selectlanguage{french}FR: \cmpd{r,s,t}\\
- \selectlanguage{spanish}ES: \cmpd{r,s,t}\\
- \selectlanguage{italian}IT: \cmpd{r,s,t}
-\end{beispiel}
-Bei weitem nicht alle Sprachen werden unterstützt, schon allein aus Machbarkeitsgründen. Falls Ihnen eine Sprache fehlen sollte, senden Sie mir bitte eine E-Mail\footnote{\href{mailto:contact@mychemistry.eu}{contatc@mychemistry.eu}} mit der dazugehörigen \textsf{babel} Option und der richtigen Übersetzung, und ich werde sie gerne hinzufügen.
-
-\subsection{Harvard-Komma}\label{ssec:harvard-comma}
-Im US-Amerikanischen ist die Verwendung des sogenannten Harvard- oder Oxford-Kommas weit verbreitet, im Britischen und in anderen europäischen Sprachen ist sie eher unüblich.
-\begin{myquote}{\href{http://en.wikipedia.org/wiki/Serial_comma}{Wikipedia}, 2011/11/07}
- The serial comma (also known as the Oxford comma or Harvard comma, and sometimes referred to as the series comma) is the comma used immediately before a coordinating conjunction (usually and or or, and sometimes nor) preceding the final item in a list of three or more items. For example, a list of three countries can be punctuated as either "Portugal, Spain, and France" (with the serial comma) or as "Portugal, Spain and France" (without the serial comma).
-
- Opinions vary among writers and editors on the usage or avoidance of the serial comma. In American English, the serial comma is standard usage in non-journalistic writing that follows the \textsc{Chicago Manual of Style}. Journalists, however, usually follow the AP Stylebook, which advises against it. It is used less often in British English, where it is standard usage to leave it out, with some notable exceptions such as \textsc{Fowler's Modern English Usage}. In many languages (e.g., French, German, Italian, Polish, Spanish), the serial comma is not the norm and may even go against punctuation rules. It may be recommended in many cases, however, to avoid ambiguity or to aid prosody.
-\end{myquote}
-\chemnum verwendet das Harvard-Komma bei der Verwendung von American English, nicht aber bei anderen Sprachen. Sie haben jedoch die Möglichkeit, das Harvard-Komma mit dem Schlüssel
-\begin{framed}
-\noindent\lstinline+list-serial-comma = <bool>+ \hfill Typ: \lstinline=boolean=\label{key:list-serial-comma}
-\end{framed}
-\noindent nach Belieben zu (De-)Aktivieren.
-\begin{beispiel}
- \selectlanguage{ngerman}DE: \cmpd[list-serial-comma]{r,s,t} vs. \cmpd{r,s,t}\\
- \selectlanguage{american}US: \cmpd[list-serial-comma=false]{r,s,t} vs. \cmpd{r,s,t}
-\end{beispiel}
-Wenn Sie die Spracheinstellung manuell vornehmen, beachten Sie, dass dabei auf die Voreinstellung der Sprache zurückgesetzt wird. Daher sollte \lstinline=list-serial-comma= \emph{nach} \lstinline=list-lang= verwendet werden.
-\begin{beispiel}
- falsch: \cmpdsetup{list-serial-comma=false, list-lang=US}\cmpd{r,s,t}\\
- richtig: \cmpdsetup{list-lang=US, list-serial-comma=false}\cmpd{r,s,t}
-\end{beispiel}
-
-\section{Liste der Befehle}
+\subsection{Befehle}
Im folgenden werden alle von \chemnum definierten Befehle und deren Varianten aufgelistet.
\begin{center}
\label{tab:commands}