summaryrefslogtreecommitdiff
path: root/Master
diff options
context:
space:
mode:
Diffstat (limited to 'Master')
-rw-r--r--Master/texmf-dist/doc/latex/chemnum/README4
-rw-r--r--Master/texmf-dist/doc/latex/chemnum/chemnum_de.pdfbin671445 -> 0 bytes
-rw-r--r--Master/texmf-dist/doc/latex/chemnum/chemnum_de.tex1319
-rw-r--r--Master/texmf-dist/doc/latex/chemnum/chemnum_en.pdfbin663069 -> 663319 bytes
-rw-r--r--Master/texmf-dist/doc/latex/chemnum/chemnum_en.tex917
-rw-r--r--Master/texmf-dist/doc/latex/chemnum/chemnum_it.pdfbin664289 -> 0 bytes
-rw-r--r--Master/texmf-dist/doc/latex/chemnum/chemnum_it.tex1337
-rw-r--r--Master/texmf-dist/tex/latex/chemnum/chemnum.sty263
-rwxr-xr-xMaster/tlpkg/libexec/ctan2tds1
9 files changed, 646 insertions, 3195 deletions
diff --git a/Master/texmf-dist/doc/latex/chemnum/README b/Master/texmf-dist/doc/latex/chemnum/README
index f7f8a8a464b..97efbc19db7 100644
--- a/Master/texmf-dist/doc/latex/chemnum/README
+++ b/Master/texmf-dist/doc/latex/chemnum/README
@@ -1,4 +1,4 @@
-chemnum v0.6a 2013/04/17
+chemnum v0.6b 2013/06/05
a comprehensive approach for the numbering of chemical compounds
@@ -36,4 +36,4 @@ This work consists of the files
chemnum.sty, chemnum_de.tex, chemnum_en.tex, chemnum_it.tex
scheme-tmp.ps, scheme-bla.ps,
README
- chemnum_de.pdf, chemnum_en.pdf, chemnum_it.pdf \ No newline at end of file
+ chemnum_de.pdf, chemnum_en.pdf, chemnum_it.pdf
diff --git a/Master/texmf-dist/doc/latex/chemnum/chemnum_de.pdf b/Master/texmf-dist/doc/latex/chemnum/chemnum_de.pdf
deleted file mode 100644
index 5218c71f5d2..00000000000
--- a/Master/texmf-dist/doc/latex/chemnum/chemnum_de.pdf
+++ /dev/null
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/chemnum/chemnum_de.tex b/Master/texmf-dist/doc/latex/chemnum/chemnum_de.tex
deleted file mode 100644
index 28007c7e50e..00000000000
--- a/Master/texmf-dist/doc/latex/chemnum/chemnum_de.tex
+++ /dev/null
@@ -1,1319 +0,0 @@
-% arara: pdflatex: { shell: on }
-% arara: makeindex: { sort: true, style: chemnum_de.ist }
-% arara: pdflatex: { shell: on }
-% arara: pdflatex: { shell: on }
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% - chemnum - chemnum_de.tex
-% - a comprehensive approach for the numbering of chemical compounds
-% -----------------------------------------------------------------------------
-% - Clemens NIEDERBERGER
-% -
-% - contact@mychemistry.eu
-% -----------------------------------------------------------------------------
-% - If you have any ideas, questions, suggestions or bugs to report, please
-% - feel free to contact me.
-% -----------------------------------------------------------------------------
-% - Copyright 2011-2013 Clemens Niederberger
-% -
-% - This work may be distributed and/or modified under the
-% - conditions of the LaTeX Project Public License, either version 1.3
-% - of this license or (at your option) any later version.
-% - The latest version of this license is in
-% - http://www.latex-project.org/lppl.txt
-% - and version 1.3 or later is part of all distributions of LaTeX
-% - version 2005/12/01 or later.
-% -
-% - This work has the LPPL maintenance status `maintained'.
-% -
-% - The Current Maintainer of this work is Clemens Niederberger.
-% -
-% - This work consists of the files
-% - chemnum.sty, chemnum_de.tex, chemnum_en.tex, chemnum_it.tex
-% - scheme-tmp.ps, scheme-bla.ps,
-% - README
-% - chemnum_de.pdf, chemnum_en.pdf, chemnum_it.pdf
-% -
-% - in order to compile this document you need the class `cnpkgdoc' with is
-% - available under the LPPL here: https://bitbucket.org/cgnieder/cnpkgdoc/
-% -
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\RequirePackage[german,naustrian,austrian,english,british,american,canadian,frenchb,
- canadien,spanish,italian,ngerman]{babel}
-\RequirePackage[textgreek=artemisia]{chemnum}
-\documentclass[DIV11,toc=index]{cnpkgdoc}
-\docsetup{
- pkg = chemnum,
- language = de,
- code-box = {skipabove=1ex,skipbelow=1ex}
-}
-\usepackage{fnpct}
-\addcmds{
- @m,arrow,bf,
- ch,chemfig,chemname,cmpd,cmpdinit,cmpdref,cmpdreset,cmpdsetup,
- CNlabel,CNlabelnoref,CNref,CNlabelsub,CNlabelsubnoref,CNrefsub,
- color,compound,compoundprefix,compoundsuffix,
- declarecompound,fcite,GetTranslation,
- includegraphics,midrule,penalty,psfrag,renewcommand,
- schemename,schemestart,
- schemestop,selectlanguage,setarrowoffset,setatomsep,setcompoundsep,
- setdoublesep,section,sf,subsection,subsubsection,
- tableofcontents,texorpdfstring,textcolor,theffbibliography,
- uline
-}
-
-\usepackage{textcomp,longtable,tabu,booktabs,chemscheme,hologo}
-\usepackage[iupac=strict]{chemmacros}
-\chemsetup[chemformula]{format=\libertineLF}
-\usepackage{chemfig}
-\usepackage[runs=2]{auto-pst-pdf}
-
-\usepackage{filecontents}
-\begin{filecontents*}{\jobname.ist}
- preamble "\\begin{theindex}\n Abschnitts\\\"{u}berschriften werden \\textbf{fett}, Pakete \\textsf{serifenlos}, Befehle \\textcolor{code}{braun} und Keys \\textcolor{key}{gr\\\"{u}n} dargestellt.\\newline\n\n"
- heading_prefix "{\\bfseries "
- heading_suffix "\\hfil}\\nopagebreak\n"
- headings_flag 1
- delim_0 "\\dotfill "
- delim_1 "\\dotfill "
- delim_2 "\\dotfill "
- delim_r "--"
- suffix_2p "\\nohyperpage{\\,f.}"
- suffix_3p "\\nohyperpage{\\,ff.}"
-\end{filecontents*}
-
-\let\prog\textsc
-\let\name\textsc
-\let\CNversion\cnpkgdocpkgversion
-\let\CNdate\cnpkgdocpkgdate
-
-\cmpdinit*{a,aa,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,benzene,r,s,t,{1,3-dichlorocyclohexanole}}
-
-\TitlePicture{%
- \selectlanguage{ngerman}
- \cmpdinit*{glucose.alpha, glucose.beta, glucose.chain}
- \cmpd*[sub-counter = greek]{glucose.alpha, glucose.beta}\cmpd*{glucose.chain}
- \setatomsep{2em}
- \definesubmol{x}{(-[4]H)(-[0]OH)}
- \definesubmol{y}{(-[0]H)(-[4]HO)}
- \begin{scheme}[h]
- \centering\small
- \schemestart
- \chemfig{?(-[:-170]HO)-[:-50](-[:170]HO)-[:10](-[:-55,0.7]OH)-[:-10](-[6,0.8]OH)-[:130]O-[:-170]?(-[:150,0.7]-[2,0.7]OH)}
- \arrow(alpha--chain){<=>}
- \chemfig{[2]OH-[3]-!x-!x-!y-!x-=[1]O}
- \arrow(--beta){<=>}
- \chemfig{?(-[:-170]HO)-[:-50](-[:170]HO)-[:10](-[:-55,0.7]OH)-[:-10](-[:10]OH)(-[6,,,,draw=none]\vphantom{OH})-[:130]O-[:-170]?(-[:150,0.7]-[2,0.7]OH)}
- \arrow(@chain--chainlabel){0}[-90,.2] \normalsize\cmpd[cmpd-delim]{glucose.chain}
- \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 \a- und das \b-Anomer von \D-Glucose
- \cmpd[list-delim,list-lang=DE]{glucose.alpha,glucose.beta} stehen in L\"osung
- \"uber die offenkettige Form \cmpd[cmpd-delim]{glucose.chain} im Gleichgewicht.}
- \end{scheme}}
-
-\makeindex
-\begin{document}
-\selectlanguage{ngerman}\cmpdreset
-
-\section{Ein sehr kurzes Readme}
-\chemnum \CNversion\ steht unter der \LaTeX\ Project Public License Version 1.3
-oder später. (\url{http://www.latex-project.org/lppl.txt})
-
-\chemnum ruft intern die Pakete \paket*{expl3} und \paket{xparse} auf. \paket{xparse}
-ist Teil des \paket{l3packages}-Bundles, \paket*{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
-entweder das Paket \paket{textgreek} oder das Paket \paket{bm}, abhängig von den
-Paketoptionen (siehe Abschnitt~\ref{sec:package:options}).
-
-\section{Neues und ein Wort der Entschuldigung}
-\subsection{Version 0.4}
-Mit dem Update auf v0.4 hat sich einiges bei den Optionen getan. Es gibt ein paar
-neue, ein paar von den alten haben andere Namen. Sie haben einheitlichere Namen
-erhalten, die meines Erachtens intuitiver ihre jeweilige Funktion widerspiegeln.
-Dadurch kann es sein, dass Ihre mit einer früheren Version von \chemnum erstellten
-Dokumente nicht mehr reibungslos kompilieren. Dafür möchte ich mich entschuldigen.
-\chemnum befindet sich noch in der Entwicklungsphase. Ist erst einmal v1.0 erreicht,
-wird es solche Änderungen nicht mehr\footnote{oder nur in größten Ausnahmefällen}
-geben.
-
-Diese Optionen haben neue Namen:
-\begin{center}
- \begin{tabular}{ll}\toprule
- \bfseries alter Name & \bfseries neuer Name \\\midrule
- \key{cmpd-sep} & \key{sub-output-sep} \\
- \key{sub-marker} & \key{sub-input-sep} \\
- \key{sub-range-sep} & \key{subrange-output-sep} \\
- \key{sub-range-marker} & \key{subrange-input-sep} \\
- \key{strict} & \key{init-strict} \\
- \key{sub-init} & \key{init-sub} \\\bottomrule
- \end{tabular}
-\end{center}
-Diese Optionen sind neu:
-\begin{center}
- \begin{tabular}{ll}\toprule
- \bfseries Option & \bfseries Info \\\midrule
- \key{sublist-output-sep} & Aufzählungszeichen in Labeln wie \cmpd{bsp.{one,two}}, siehe Seite \pageref{sssec:list-output-sep}. \\
- \key{sublist-input-sep} & Eingabe von Labeln wie \cmpd{bsp.{one,two}}, siehe Seite \pageref{sssec:list-input-sep}. \\
- \key{init-input-sep} & Eingabe bei \cmd{cmpdinit}, siehe Seite \pageref{sssec:init-input-sep}. \\
- \key{hyper-use} & Verwendung von Hyperlinks, siehe Seite \pageref{sec:hyperref}. \\
- \key{hyper-target} & \\
- \key{hyper-link} & \\
- \key{ref-style} & Darstellung von Labels mit \cmd{cmpdref}, siehe Seiten \pageref{ssec:cmpdref} und \pageref{ssec:schriftstil}. \\\bottomrule
- \end{tabular}
-\end{center}
-
-Ebenfalls neu ist die Art und Weise, wie Sublabel-Listen und -Bereiche eingegeben
-werden. Der Option \key{sub-list} entfällt deshalb. Näheres siehe Abschnitt~\ref{ssec:sub_ranges}.
-
-Dann gibt es nun die Möglichkeit, klickbare Links zu den Labeln herzustellen,
-vorausgesetzt Sie haben \paket{hyperref} eingebunden, siehe Abschnitt~\ref{sec:hyperref}.
-
-\subsection{Version 0.5}
-Ab v0.5 gibt es die Option \key{ref-pos}, die Ihnen erlaubt, die Positionierungs-Optionen
-des Befehls \cmd{psfrag} zu ändern, der von \cmd{cmpdref} intern verwendet wird,
-siehe S.\,\pageref{ssec:marker_in_bildern}.
-
-\achtung{Die Reihenfolge der optionalen Argumente des Befehls \cmd{cmpdref} hat
-sich geändert, siehe S.\,\pageref{ssec:cmpdref}!}
-
-\section{Paketoptionen}\label{sec:package:options}\secidx{Paketoptionen}
-\chemnum hat eine Paketoption.
-\begin{beschreibung}
- \Option{textgreek}{artemisia/\default{cbgreek}/euler/false} Default: \code{false}
-\end{beschreibung}
-Damit können Sie sowohl einen der drei Stile des \paket{textgreek}-Pakets wählen\footnote{Zu
-Details siehe Dokumentation des \paket*{textgreek}-Pakets.} oder \chemnum ohne
-\paket{textgreek} laden. Dieses Dokument wurde mit
-\verb+\usepackage[textgreek=artemisia]{chemnum}+ gesetzt.
-\secidx*{Paketoptionen}
-
-\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{zitat}[Stefan Schulz]
- After compilation and printout, discard the last page.
-\end{zitat}
-Ganz offensichtlich ist das keine perfekte Lösung.
-
-Das zweite, \paket{chemcompounds}, ist enstanden, weil der Paket-Autor ebenfalls
-mit den Schwä\-chen von \paket{chemcono} nicht mehr arbeiten wollte. Bei der Erstellung
-des Pakets hielt er sich stark an den gleichen prinzipiellen Mechanismus wie \paket{chemcono}.
-
-\begin{zitat}[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 \verb=\bibitem= and \verb=\cite= in pretty much the same way
- as \paket{chemcono} does by extracting the corresponding code from \verb=article.cls=
- and \verb=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{zitat}
-
-Manche Schwächen hat auch dieses Paket:
-\begin{enumerate}
- \item Verbindungen müssen in der Regel mit \verb=\declarecompound= deklariert
- werden. Sie müs\-sen es auf jeden Fall, wenn man Label der Art \cmpd{bsp.one}
- haben möchte. Dann muss man die La\-bel sogar von Hand vergeben, was den Sinn
- einer automatischen Nummerierung untergräbt.
- %
- \item Das Layout lässt sich nicht einzeln ändern, sondern nur für alle Label.
- %
- \item Die Nummerierung kann nicht zurückgesetzt werden. Obwohl das in der
- allermeisten Fällen \emph{weder nötig noch zu empfehlen ist}, kann es Einzelfälle
- geben, in denen solches Verhalten gewünscht ist.
- %
- \item Eine Liste mehrerer Verbindungen \verb=\compound{a,b,c}= kann nicht oder
- nur um\-ständ\-lich eigenen Vorstellungen angepasst werden.
-\end{enumerate}
-
-Dann gibt es noch \paket{bpchem}, das Befehle ähnlich den Befehlen \verb=\label=
-und \verb=\ref= zur Ver\-fü\-gung stellt: \verb=\CNlabel{}=, \verb=\CNlabelnoref{}=
-und \verb=\CNref{}=. Außerdem hat es Befehle für Sublabel: \verb=\CNlabelsub{}{}=,
-\verb=\CNlabelsubnoref{}{}= und \verb=\CNrefsub{}{}=. Damit ist es flexibler als die
-anderen, stellt allerdings kaum Möglichkeiten zur Personalisierung bereit, Listen
-sind nicht möglich und die Tatsache, dass es verschiedene Befehle für Label und
-Label mit Sublabeln gibt, ist ebenfalls nicht die beste Lösung.
-
-\chemnum soll diese Schwächen beheben. Dafür wurden alle Befehle vollständig neu
-geschrieben. Allerdings wurden Ideen von \paket{chemcompounds} aufgegriffen was
-Dar\-stel\-lungs\-mög\-lich\-kei\-ten wie Begrenzer \usw betrifft.
-
-Wenn Ihnen irgendwelche fehlenden Features auf"|fallen, geben Sie mir bitte Bescheid,
-indem Sie mir eine E-Mail senden.
-
-\section{Verbindungen Nummerieren}\label{sec:nummerieren}
-\subsection{Basisbefehl}\secidx{Basisbefehl}\cmpdreset
-Der eigentliche Befehl des Pakets ist
-\begin{beschreibung}
- \Befehl{cmpd}{<label name>}
-\end{beschreibung}
-Beim ersten Aufruf mit \code{<label name>} wird das Label erzeugt und gespeichert
-(= deklariert) und ausgegeben. Bei jedem weiteren Aufruf wird nun dieses Label
-verwendet.
-
-\begin{beispiel}
- Verbindungen \cmpd{a} und \cmpd{b} werden deklariert und k\"onnen nun jederzeit
- wieder aufgerufen werden: \cmpd{a}. Es ist keine vorherige Deklarierung n\"otig.
- Die Substanzen wie \cmpd{c} werden in der Reihenfolge ihres ersten Erscheinens
- im Text nummeriert.\par
- Noch einmal: \cmpd{b}, \cmpd{a}, \cmpd{c}.
-\end{beispiel}
-
-Falls es nötig sein sollte, eine Verbindung zu deklarieren, ohne ein Label
-auszugeben, kann man an entsprechender Stelle
-\begin{beschreibung}
- \Befehl[cmpda]{cmpd*}\ma{<label name>}\label{cmd:unsichtbares_label}
-\end{beschreibung}
-verwenden. Dadurch wird ein entsprechendes Label deklariert aber nicht ausgegeben.
-
-\achtung{Dieser Befehl wird nicht benötigt, wenn man \cmd{cmpdinit} verwendet,
-siehe Abschnitt~\ref{sec:cmpdinit} (S.\,\pageref{sec:cmpdinit}ff).}
-
-\begin{beispiel}
- 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, außer den als
-Trennzeichen verwendeten Symbolen (siehe Abschnitt~\ref{ssec:unterlabel},
-Abschnitt~\ref{ssec:listen}, Abschnitt~\ref{ssec:sub_ranges} und Abschnitt~\ref{ssec:trenner}).
-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}
- \cmpd{aa }, \cmpd{a a }, \cmpd{a a}, \cmpd{ a a}, \cmpd{ aa} und \cmpd{ aa }
- erzeugen alle das gleiche Label. So, wie auch \cmpd{aa }, \cmpd{a a}, \cmpd{ aa}
- und \cmpd{aa}.
-\end{beispiel}
-\lstset{showspaces=false}\secidx*{Basisbefehl}
-
-\subsection{Sublabel}\label{ssec:unterlabel}\secidx{Sublabel}
-Möchte man Label der Form \cmpd{a.one} erzeugen, geschieht das nach folgender
-Syntax:
-\begin{beschreibung}
- \Befehl{cmpd}{<label name>.<subname>}
-\end{beschreibung}
-Dabei muss \code{<label name>} der gleiche bleiben, \code{<subname>} variiert.
-Diese Syntax bedeutet, dass der Punkt \code{.} weder Teil von \code{<label name>}
-noch von \code{<subname>} sein darf. An Stelle des Punktes können Sie auch ein
-anderes Zeichen verwenden, siehe Abschnitt~\ref{sssec:sub-input-sep}.
-\begin{beispiel}
- \cmpd{f.one} und \cmpd{f.two} sind eng verwandt, genauso \cmpd{g.one} und \cmpd{g.two}.
- Nat\"urlich bliebt auch hier bei sp\"aterem Aufruf das Label gleich: \cmpd{g.two}
- und \cmpd{f.one}.
-\end{beispiel}
-
-Diese Syntax funtioniert auch, wenn der Hauptname bereits vergeben wurde.
-\begin{beispiel}
- \cmpd{a} und seine Varianten \cmpd{a.one} und \cmpd{a.two}
-\end{beispiel}
-
-Genauso kann der Hauptname von kombiniert vergebenen Labeln einzeln aufgerufen werden.
-\begin{beispiel}
- \cmpd{f} und \cmpd{g}
-\end{beispiel}
-
-Wie Sie ein Label der Art \cmpd{f.{one,two}} erzeugen können,wird in
-Abschnitt~\ref{ssec:sub_ranges} erklärt.
-\secidx*{Sublabel}
-
-\subsection{Listen}\label{ssec:listen}\secidx{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{beschreibung}
- \Befehl{cmpd}{<(possibly comma separated list of) label name(s)>}
-\end{beschreibung}
-Das bedeutet, dass in der Voreinstellung das Komma nicht Teil des Label-Namens
-sein kann, es sei denn 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.
-\end{beispiel}
-\secidx*{Listen}
-
-\subsection{Listen und Bereiche von Sublabeln}\label{ssec:sub_ranges}\index{Sublabel!Listen}\index{Sublabel!Bereiche}
-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}.
-
-Das Prinzip ist recht intuitiv -- Sie geben einfach eine Liste von Sublabeln ein:
-\begin{beispiel}
- Liste von Labeln: \cmpd{q.one, q.two, q.three, q.four, q.five}\\
- Label mit Sublabel-Liste: \cmpd{q.{one,two,three,four,five}}
-\end{beispiel}
-Da die Subliste in der Voreinstellung ebenfalls mit Komma getrennt eingegeben
-wird, müssen Sie die Subliste in geschweiften Klammern eingeben.
-
-Sie können auf diese Weise auch Bereiche von Sublabeln darstellen. Als Marker
-zwischen den Namen der beiden Sublabel werden zwei Punkte \verb=..= verwendet.
-\begin{beispiel}
- \cmpd{q.{two..four}}\\
- \cmpd{q.{one,three..five}}\\
- \cmpd{q.{one..three,five}}
-\end{beispiel}
-
-Durch die Eingabe stehen Ihnen in der Voreinstellungen für Sublabel-Namen weder
-das Komma noch die zwei Punkte als Teils des Namens zur Verfügung. Wie Sie andere
-Symbole als Marker verwenden, damit Sie sie doch verwenden können, steht in den
-Abschnitten~\ref{sssec:range-input-sep} und \ref{sssec:list-input-sep}. In
-Abschnitt~\ref{sssec:input-sep-bsp} wird ein Beispiel gezeigt, wie eine geänderte
-Eingabe aussehen könnte.
-
-\chemnum stellt eine Option (siehe Abschnitt~\ref{sec:cmpdsetup} zur näheren
-Erläuterung) zur Verfügung, mit denen alle Sublabel als Bereich ausgegeben werden
-können
-\begin{beschreibung}
- \Option{cmpd-all}{\default{true}/false}
-\end{beschreibung}
-\begin{beispiel}
- \cmpd[cmpd-all]{q}
-\end{beispiel}
-
-Damit der Key die richtigen Sublabel verwenden kann, müssen diese deklariert worden
-sein. Daher werden sie aus der Datei \verb=\jobname.cmpd= (angenommen Ihre Quelldatei
-heißt \verb=\jobname.tex=) gelesen. Das bedeutet, dass Sie zweimal (oder öfter)
-kompilieren müssen, 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 folgender Option:
-\begin{beschreibung}
- \Option{sub-only}{\default{true}/false}
-\end{beschreibung}
-\begin{beispiel}
- % use packages `chemfig', `chemmacros' and `booktabs'
- \cmpd*{benzol.H,benzol.Me,benzol.OH,benzol.NH2}
- \chemname{\chemfig{*6(=-=-(-R)=-)}}{\cmpd[cmpd-all]{benzol}}
- \begin{tabular}{lll}
- & \ch{-R} & Name \\\midrule
- \cmpd[sub-only]{benzol.H} & \ch{-H} & Benzol \\
- \cmpd[sub-only]{benzol.Me} & \ch{-CH3} & Toluol \\
- \cmpd[sub-only]{benzol.OH} & \ch{-OH} & Phenol \\
- \cmpd[sub-only]{benzol.NH2} & \ch{-NH2} & Anilin
- \end{tabular}
-\end{beispiel}
-
-Bereiche von Sublabeln benötigen eine gewisse Sorgfalt. Man muss erstens genau
-wissen, welches Label das kleinere und welches das größere ist, und zweitens,
-welche Label in einem Bereich dazwischen liegen. \chemnum kann Ihnen diese Sorgfalt
-nicht abnehmen. Daher kann es passieren, dass Sie Label wie diese erhalten, wenn
-Sie nicht aufpassen:
-\begin{beispiel}
- \cmpd{q.{five..three}} or \cmpd{q.{three,one,four}}.
-\end{beispiel}
-
-\section{Label zentral initialisieren}\label{sec:cmpdinit}\secidx{Label initialisieren}
-Die in diesem Abschnitt beschriebenen Befehle sind für den Einsatz von \chemnum
-nicht nötig, stellen aber Funktionen bereit, die der ein oder andere Anwender
-nützlich finden könnte.
-
-\subsection{Verwendung}
-\subsubsection{Haupt-Label}
-Vielleicht vermissen Sie ja den \verb=\declarecompound=-Befehl von \paket{chemcompounds}.
-Schließlich hat man dadurch am Beginn einen Überblick, welche Namen man bereits
-vergeben hat. Und man wird durch eine Fehlermeldung unter Umständen gewarnt, wenn
-man ein falsches Label setzt\footnote{\zB aufgrund eines Schreibfehlers}. Dieses
-Verhalten lässt sich mit den folgenden Befehlen realisieren.
-\begin{beschreibung}
- \Befehl{cmpdinit}{<comma separated list of label names>}
- \Befehl[cmpdinita]{cmpdinit*}{<comma separated list of label names>}
-\end{beschreibung}
-Alle Verbindungen, die innerhalb dieses Befehls gesetzt werden, werden \emph{in
-der verwendeten Reihenfolge} initialisiert. Verwendet man ein Label, das nicht
-in der Liste enthalten ist, wird eine Warnung ausgegeben.
-
-\cmpdreset
-\begin{beispiel}
- \cmpdinit{A, B, C} \cmpd{B} \cmpd{A.a} \cmpd{C} \cmpd{D}
-\end{beispiel}
-
-\begin{mdframed}
- \small\ttfamily\noindent
- {}*************************************************\\
- {}* chemnum warning: "cmpd-init"\\
- {}* \\
- {}* You used \verb=\cmpdinit= but didn't initiate compound "D"{} on line 1.\\
- {}*************************************************
-\end{mdframed}
-
-Beachten Sie, dass Sie bei Labeln mit Sublabeln \emph{nur den Hauptnamen}
-initialisieren können und sollten. Dadurch sind dann \emph{alle} Verbindungen mit
-gleichem Hauptnamen initialisiert.
-
-\cmd[cmpdinita]{cmpdinit*} gibt die gleiche Warnung aus, allerdings werden die
-Nummern noch nicht vergeben, sondern erst bei Verwendung im Text und in der im
-Text verwendeten Reihenfolge.
-
-\cmpdreset
-\begin{beispiel}
- \cmpdinit*{X, Y, Z} \cmpd{Y} \cmpd{X.x} \cmpd{Z} \cmpd{W}
-\end{beispiel}
-
-\begin{mdframed}
- \small\ttfamily\noindent
- {}*************************************************\\
- {}* chemnum warning: "cmpd-init"\\
- {}* \\
- {}* You used \verb=\cmpdinit= but didn't initiate compound "W"{} on line 1.\\
- {}*************************************************
-\end{mdframed}
-
-Wenn Sie also eigene Label vergeben wollen oder müssen (siehe Seite~\pageref{ssec:own_labels})
-und die Label geschlossen initialisieren wollen, sollten Sie \cmd[cmpda]{cmpdinit*}
-verwenden, da dort bei der Initialisierung \emph{keine} Label vergeben werden.
-
-Der Befehl kann mehrfach verwendet werden, mit oder ohne \verb=*=. Sinnvoll ist
-aber wohl eine \emph{einmalige} Verwendung, vielleicht in der Dokumentenpräambel
-nach dem \chemnum-Setup (siehe Abschnitt~\ref{sec:cmpdsetup}).
-
-\subsubsection{Sublabel}
-Wenn Sie zusätzlich auch für jede Label-Sublabel-Kombination gewarnt werden wollen
-oder die Reihenfolge im Voraus festlegen wollen, dann können Sie
-\begin{beschreibung}
- \Befehl{cmpdinit}[\key{init-sub}{true}]{<comma separated list of label names>}
-\end{beschreibung}
-verwenden. So werden Sie auch in diesen Fällen gewarnt.
-
-\cmpdreset
-\begin{beispiel}
- \cmpdinit[init-sub = true]{E.{e,f,g}}
- \cmpd{E.e, E.h}
-\end{beispiel}
-
-\begin{mdframed}
- \small\ttfamily\noindent
- {}*************************************************\\
- {}* chemnum warning: "cmpd-init-sub"\\
- {}* \\
- {}* You used \verb=\cmpdinit= and "{}init-sub = true"{} but didn't initiate sub-compound\\
- {}* "{}E.h"{} on line 1.\\
- {}*************************************************
-\end{mdframed}
-
-\subsection{Fehler statt Warnung}
-Wenn Sie lieber eine Fehler-Meldung anstelle einer Warnung mögen, können Sie das
-erreichen, indem Sie \cmd{cmpdinit} folgendermaßen aufrufen:
-\begin{beschreibung}
- \Befehl{cmpdinit}[\key{init-strict}{true}]{<comma separated list ...>}
-\end{beschreibung}
-Die Verwendung \key{init-strict}{false} entspricht der Verwendung ohne optionalem
-Argument. Die Option kann natürlich auch bei der Stern-Variante eingesetzt werden
-
-Durch \key{init-strict}{true} wird der \LaTeX-Lauf mit einer entsprechenden
-Fehlermeldung abgebrochen, wenn man einen Label-Namen verwendet, der nicht
-initialisiert wurde.
-
-Natürlich können Sie \cmd{cmpdinit} auch mit beiden Optionen aufrufen
-\begin{beschreibung}
- \Befehl{cmpdinit}[\key{init-strict}{true}, \key{init-sub}{true}]{<comma separated list ...>}
-\end{beschreibung}
-oder \cmd{cmpdsetup} verwenden, siehe Abschnitt~\ref{sec:cmpdsetup}.
-
-\subsection{Personalisierte Eingabe}
-Wenn Sie andere Eingabezeichen für \key{sub-input-sep} (siehe Seite~\pageref{sssec:sub-input-sep})
-oder \key{sublist-input-sep} (siehe Seite \pageref{sssec:list-input-sep}) ausgewählt
-haben, müssen Sie sie mit \key{sub-init}{true} ebenfalls verwenden.
-
-Die Änderung der Listen-Eingabe \key{list-input-sep} (siehe Seite~\pageref{sssec:list-input-sep})
-wirkt sich auf \cmd{cmpdinit} nicht aus. Wenn Sie die Eingabe dort ebenfalls
-ändern wollen, verwenden Sie \key{init-input-sep}, siehe Seite~\pageref{sssec:init-input-sep}.
-
-\subsection{Warum initialisieren?}
-Wie zu Beginn dieses Abschnitts erwähnt, ist die Initialisierung von Labeln nicht
-nötig. Es gibt jedoch Gründe, warum man \cmd{cmpdinit} vielleicht trotzdem
-verwenden möchte.
-\begin{enumerate}
- \item Der Einsatz von \cmd[cmpdinita]{cmpdinit*} ist eine Möglichkeit, den
- Überblick darüber zu behalten, welche Label man verwendet hat. Man bekommt eine
- Warnung/Fehlermeldung, wenn man ein bestehendes falsch geschrieben hat. Abhängig
- davon, wieviele Labels man verwendet (oder verwenden muss) kann das aber viel
- zusätzliche Arbeit bedeuten.
- \item Der Einsatz von \cmd{cmpdinit} bewirkt erst einmal dasselbe wie
- \cmd[cmpdinita]{cmpdinit*}, deklariert aber \emph{zusätzlich} die Label in der
- vorgegebenen Reihenfolge. Damit wird die Verwendung von \cmd[cmpda]{cmpd*}
- (Abschnitt~\ref{cmd:unsichtbares_label}) und \cmd[cmpdb]{cmpd+}
- (Abschnitt~\ref{cmd:cmpd_plus}) überflüssig. Man hat damit direkte Kontrolle,
- welche Verbindung welche Nummer erhält.
-\end{enumerate}
-\secidx*{Label initialisieren}
-
-\section{Zurücksetzen des Zählers}\label{sec:cmpdreset}\secidx{Zurücksetzen des Zählers}
-Es ist möglich, mit folgendem Befehl
-\begin{beschreibung}
- \Befehl{cmpdreset}[<number>]
-\end{beschreibung}
-den Zähler wieder zurückzusetzen. Ohne Argument wird er auf \verb=1= gesetzt und
-entspricht damit \cmd{cmpdreset}[1]. Dieser Befehl wirkt sich global aus, nicht
-nur lokal innerhalb einer Gruppe -- im Gegensatz zu den meisten anderen
-vorgestellten Befehlen.
-\begin{beispiel}
- \cmpdreset Die Verbindungen werden jetzt wieder von 1 gez\"ahlt: \cmpd{h, i, j}
-\end{beispiel}
-
-\achtung{Sie sollten mit diesem Befehl sehr vorsichtig umgehen! In der Regel ist
-es nicht zu empfehlen, den Zähler zurückzusetzen. Dadurch können ein und dieselbe
-Nummer an verschiedene Verbindungen vergeben werden!}
-
-\begin{beispiel}
- Gleiche Nummern: \cmpd{a}, \cmpd{h}
-\end{beispiel}
-\secidx*{Zurücksetzen des Zählers}
-
-\section{Besondere Verwendung}\secidx{besondere Verwendung}
-\subsection{Abschnitts-Titel}
-Die Verwendung von \cmd{cmpd} in einer Überschrift scheint auf den ersten Blick
-kein Problem zu sein. Es gibt keine Fehler und der Output sieht wie erwartet aus:
-\begin{beispiel}[code only]
- \section{Compound \cmpd[cmpd-delim]{b}}
- \ldots
-\end{beispiel}
-Wenn man allerdings \verb=\tableofcontents= verwendet -- was ziemlich wahrscheinlich
-ist, wie ich vermute --, geschieht etwas unerwünschtes: da das Inhaltsverzeichnis am
-Anfang des Dokuments geschrieben wird, wird das Label beim Erscheinen im
-Inhaltsverzeichnis deklariert, anstatt an der Stelle im Text, an der es zuerst
-erscheint. Es gibt zwei Möglichkeiten, das zu umgehen:
-\begin{enumerate}
- \item Sie deklarieren die Label in der Präambel mit \cmd{cmpdinit}{} (siehe
- Seite~\pageref{sec:cmpdinit}).
- \item Sie verwenden \cmd[cmpdb]{cmpd+}, um das Label zu setzen. Damit wird das
- Label von der Datei \verb=\jobname.cmpd= ausgelesen (vorausgesetzt ihre
- Hauptdatei heißt \verb=\jobname.tex=). Das bedeutet, dass \emph{mindestens zwei},
- unter Umständen mehr \LaTeX\ Durchläufe nötig sind, bis alle Labels richtig
- gesetzt sind.
-\end{enumerate}
-Das gleiche gilt für jede andere Liste von beweglichen Argumenten, die \emph{vor}
-dem Erscheinen des Labels im Text eingesetzt wird.
-
-Der Befehl\label{cmd:cmpd_plus}
-\begin{beschreibung}
- \Befehl[cmpdb]{cmpd+}\ma{<label name>}
-\end{beschreibung}
-liest den Labelnamen, der ausgegeben werden soll, aus der Datei \verb=\jobname.cmpd=.
-Damit ist er sozusagen das Gegenteil von \cmd[cmpda]{cmpd*}, da das Label nicht
-deklariert sondern nur referenziert und ausgegeben wird. Damit man also
-\cmd[cmpdb]{cmpd+}{<label>} einsetzen kann, muss \verb=<label>= entweder mit
-\cmd{cmpd}{<label>} oder \cmd[cmpda]{cmpd*}{<label>} (davor oder danach) deklariert
-worden sein. \cmd[cmpdb]{cmpd+} ist nützlich, wenn ein Label in einem beweglichen
-Argument wie in \verb=\section{}= eingesetzt werden soll.
-
-\achtung{Er wird nicht benötigt, wenn \cmd{cmpdinit} verwendet wird, siehe
-Abschnitt~\ref{sec:cmpdinit} (S.\,\pageref{sec:cmpdinit}ff).}
-
-\begin{beispiel}[code only]
- \subsubsection{Test-\"Uberschrift mit Verbindungslabel \cmpd+[cmpd-delim]{f.one}}
- % mit hyperref:
- \subsubsection{Test-\"Uberschrift mit Verbindungslabel \texorpdfstring{\cmpd+[cmpd-delim]{f.two}}{(7b)}}
-\end{beispiel}
-
-\subsection{Gleitumgebungen}\cmpdinit*{float1,float2}
-Die Verwendung von \cmd{cmpd} in Gleitumgebungen sollte kein Problem darstellen:
-die Labels werden in der Reihenfolge deklariert, wie Sie im Code auftauchen,
-eingeschlossen die Gleitumgebungen. Um auf der sicheren Seite zu sein, können Sie
-natürlich dennoch \cmd[cmpdb]{cmpd+} verwenden.
-\begin{beispiel}[code and float]
- % preamble:
- % \usepackage{chemscheme}
- % \renewcommand*\schemename{Schema}
- % document:
- \cmpdreset\cmpd{float1, float2}. Und jetzt ein Schema:
- \begin{scheme}[ht]
- \centering
- \caption{Dieses Label sollte eine 2 sein: \cmpd{float2}}
- Wenn 2 = \cmpd{float2} wahr ist, ist alles ok.
- \end{scheme}
-\end{beispiel}
-
-Es funktioniert auch alles wie gewünscht, wenn die Gleitumgebung vor den aktuellen
-Code rutscht, etwa mit der Option \oa{t}.
-
-\cmpdinit*{Alc,EtherBr,cpd}
-\subsection{Schemata externer Programme}\label{ssec:cmpdref}\secidx{Schemata externer Programme}
-Wenn Sie Ihre Schemata mit externen Programmen wie \zB \prog{ChemDraw} oder
-\prog{Marvin\-Sketch} erstellen und dort ebenfalls \chemnum einsetzen wollen,
-dann können Sie das mit
-\begin{beschreibung}
- \Befehl{cmpdref}[<tag>]\oa{<options>}\ma{<label name>}
- \Befehl[cmpdrefa]{cmpdref+}[<tag>]\oa{<options>}\ma{<label name>}
-\end{beschreibung}
-tun. Dieser Befehl ist vom Befehl \verb=\schemeref= des Pakets \paket{chemscheme}
-inspiriert und funktioniert letztlich gleich. Sie erstellen das Schema und
-speichern es mit temporären Labeln als \verb=eps=-Datei.
-
-Wie bei \cmd{cmpd+} ruft die Plus-Variante lediglich ein Label ab, deklariert
-es aber nicht.
-
-\achtung{Mit v0.5 hat sich die Reihenfolge der optionalen Argumente verändert!}
-\begin{beispiel}[code and float]
- \begin{scheme}[ht]
- \centering
- \includegraphics{scheme-tmp.ps}
- \caption{Schema mit tempor\"aren Markern.}
- \end{scheme}
- \begin{scheme}[ht]
- \centering
- \cmpdref{Alc} % ersetzt TMP1
- \cmpdref{EtherBr} % ersetzt TMP2
- % \cmpdref{drittes} wuerde TMP3 ersetzen
- \includegraphics{scheme-tmp.ps}
- \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 \paket{chemscheme} den Befehl \verb=\psfrag= des
-\paket{psfrag}-Pakets. Damit er funktioniert, müssen Sie also entweder über
-\prog{latex}, \prog{dvips}, \prog{ps2pdf} kompilieren, oder \zB das Paket
-\paket{auto-pst-pdf} zusammen mit \hologo{pdfLaTeX} einsetzen. \hologo{XeLaTeX}
-wird leider nicht funktionieren, \hologo{LuaLaTeX} voraussichtlich ebensowenig,
-wurde aber vom Autor nicht getestet.
-
-In jedem Fall ist es wichtig, dass der Marker als \emph{Text} im \verb=eps=
-gespeichert ist.
-
-Mit den Optionen, die in Abschnitt~\ref{sec:cmpdsetup} vorgestellt werden, können
-Sie die Label hier auch personalisieren.
-\begin{beispiel}[code and float]
- \begin{scheme}[ht]
- \centering
- \cmpdsetup{ref-style=\color{green}}
- \cmpdref{Alc} % ersetzt TMP1
- \cmpdref{EtherBr} % ersetzt TMP2
- \includegraphics{scheme-tmp.ps}
- \caption{Schema mit automatisierten Labeln.}
- \end{scheme}
-\end{beispiel}
-
-Sie können auch beliebigen Text ersetzen. Dafür gibt es das zweite optionale
-Argument.
-\begin{beispiel}[code and float]
- \begin{scheme}[ht]
- \centering
- \includegraphics{scheme-bla.ps}
- \caption{Schema mit beliebigen Markern.}
- \end{scheme}
- \begin{scheme}[ht]
- \centering
- \cmpdref[blah]{Alc}
- \cmpdref[blub]{EtherBr}
- % \cmpdref{drittes} wuerde TMP1 ersetzen
- \includegraphics{scheme-bla.ps}
- \caption{Schema mit explizit gesetzten Labeln.}
- \end{scheme}
-\end{beispiel}
-
-Natürlich funktioniert das mit Sublabeln nach dem gewohnten Muster:
-\begin{beispiel}[code and float]
- \begin{scheme}[ht]
- \centering
- \cmpdref{cpd.red}
- \cmpdref{cpd.ox}
- \includegraphics{scheme-tmp.ps}
- \caption{Schema mit automatisierten Labeln und Sublabeln.}
- \end{scheme}
-\end{beispiel}
-\secidx*{Schemata externer Programme}\secidx*{besondere Verwendung}\cmpdreset[10]
-
-\section{Verwendung mit \textsf{hyperref}}\label{sec:hyperref}\secidx{Verwendung mit \textsf{hyperref}}[Verwendung mit hyperref]
-\subsection{Grundprinzip}
-Wenn Sie das Paket \paket{hyperref} eingebunden haben, können Sie die Label zu
-klickbaren Links im \prog{pdf} machen.
-\begin{beschreibung}
- \Option{hyper-use}{\default{true}/false}
-\end{beschreibung}
-Wenn Sie diese Option (siehe Abschnitt~\ref{sec:cmpdsetup} für nähere Informationen)
-auf \texttt{true} setzen, dann wird beim ersten Einsatz eines Labels danach ein
-Ziel festgelegt und bei jedem weiteren ein Link zu diesem Ziel erzeugt. Das
-funktioniert allerdings nur, solange das Label \emph{ohne} Liste oder Bereich von
-Sublabeln gesetzt wird. Auch ein mit \cmd[cmpda]{cmpd*} gesetztes Label kann nicht
-als Ziel markiert werden.
-
-\begin{beispiel}
- \cmpdsetup{hyper-use}
- Bei der ersten Verwendung wird das Ziel festgelegt: \cmpd{a.two,b,c,d,e,f}, Bei
- der n\"achsten dann ein Link gesetzt: \cmpd{a.two,d,e}.
-
- Das funktioniert nur bei Labeln ohne Sublabel-Liste oder -Bereich:
- \cmpd{a,f.{one,two},c}. Da \cmpd{a.two} und \cmpd{a} zwei unterschiedliche
- Bedeutungen haben, haben sie auch unterschiedliche Linkziele.
-\end{beispiel}
-
-\subsection{Gezielter Einsatz}
-Der automatisierte Einsatz ist vielleicht nicht der, den man möchte. Vielleicht
-reicht es, an ein oder zwei Stellen einen Verweis zu erzeugen. Das kann mit
-folgenden Keys erfolgen.
-\begin{beschreibung}
- \Option{hyper-target}{<link name>}
- \Option{hyper-link}{<link name>}
-\end{beschreibung}
-Mit \key{hyper-target} kann man ein Ziel festsetzen. \textbf{Achtung}: wenn Sie
-diesen Key mit einer Liste einsetzen, dann erhält \emph{jedes} Label den gleichen
-Linkzielnamen und \paket{hyperref} wird eine Warnung
-\begin{mdframed}\ttfamily\small
- destination with the same identifier (name\{<link name>\}) has been already
- used, duplicate ignored
-\end{mdframed}
-ausgeben.
-
-Mit \key{hyper-link} kann man nun einen Link auf dieses Ziel erzeugen.
-\textbf{Achtung}: wenn Sie diesen Key mit einer Liste einsetzen, wird \emph{jedes}
-Label auf das gleiche Ziel verweisen.
-\begin{beispiel}
- Einen Link setzen \cmpd[hyper-link=mylink,cmpd-all]{f} und das entsprechende Ziel
- dazu nicht vergessen \cmpd[hyper-target=mylink,cmpd-all]{f}.
-\end{beispiel}
-
-Wenn Sie \key{hyper-link} einsetzen, ohne das entsprechende \key{hyper-target}
-festgelegt zu haben, dann wird \paket{hyperref} eine Warnung
-\begin{mdframed}\ttfamily\small
- name\{<link name>\} has been referenced but does not exist, replaced by a
- fixed one
-\end{mdframed}
-ausgeben.
-\secidx*{Verwendung mit \textsf{hyperref}}[Verwendung mit hyperref]
-
-\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
-\begin{beschreibung}
- \Befehl{cmpdsetup}{key1 = value1, key2 = value2}
-\end{beschreibung}
-oder lokal direkt beim Befehl
-\begin{beschreibung}
- \Befehl{cmpd}[key1 = value1, key2 = value2]{<label name>}
-\end{beschreibung}
-vorgenommen werden.
-
-Wenn Sie Optionen ohne Wertzuweisung verwenden \cmd{cmpdsetup}{key1,key2}, werden
-De\-faultwerte\label{opt:default} verwendet. Diese sind \emph{nicht} unbedingt leer
-und stimmen auch \emph{nicht} unbedingt mit der Voreinstellung des Pakets überein.
-
-Die Optionen sind in verschiedene Klassen\label{key_classes} unterteilt, die auf
-ihren Verwendungsbereich hindeuten. Sie folgen alle der Form \verb+<class>-key = <value>+:
-\begin{itemize}
- \item \code{cmpd}: Optionen, die damit beginnen, wirken sich auch das Label
- insgesamt oder speziell auf das Hauptlabel aus.
- \item \code{sub}, \code{sublist}, \code{subref}: Diese Optionen haben mit den
- Sublabeln direkt zu tun.
- \item \code{list}: Optionen, die die Ausgabe der Listen ändern.
- \item \code{ref}: Optionen, die speziell mit \cmd{cmpdref} zu tun haben.
- \item \code{hyper}: Optionen, die mit der Verwendung von \paket{hyperref} zu tun
- haben.
- \item \code{init}: Optionen, die mit der Initialisierung von Labeln zu tun haben.
-\end{itemize}
-
-\subsection{Schriftstil}\label{ssec:schriftstil}\secidx{Schriftstil}
-Um den Stil zu ändern, mit dem die Nummern geschrieben werden, verwenden Sie
-folgende Optionen:
-\begin{beschreibung}
- \Option{cmpd-style}{<style>}
- \option{cmpd-weight}{bold/normal} Default = \code{bold}
-\end{beschreibung}
-Da es nicht unüblich ist, Schemata serifenlos zu setzen, während der Text mit
-Serifen gesetzt wird, ist es möglich, für \cmd{cmpdref} einen eigenen Stil festzulegen.
-In der Voreinstellung werden mit \cmd{cmpdref} erzeugte Label mit \lstinline+\sffamily+
-gesetzt.
-\begin{beispiel}
- % preamble:
- % \usepackage[normalem]{ulem}
- % document:
- \cmpd{a, b, f.two, k}\\ % default
- \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[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.
-\secidx*{Schriftstil}
-
-\subsection{Eigene Labels}\label{ssec:own_labels}\secidx{Eigene Labels}
-Mit der Option
-\begin{beschreibung}
- \Option{cmpd-label}{<label>}
-\end{beschreibung}
-kann man eigene Labels vergeben.
-
-\begin{beispiel}
- Eigenes Label: \cmpd[cmpd-label = XYZ]{l}, wird bei einer Liste an \emph{alle
- neuen} vergeben! \cmpd[cmpd-label = XYZ]{l, a, m}
-\end{beispiel}
-\secidx*{Eigene Labels}
-
-\subsection{Marker in Bildern}\secidx{Marker in Bildern}\label{ssec:marker_in_bildern}
-Es gibt ein paar Optionen, die die Labels in externen Bildern betreffen, die mit
-\cmd{cmpdref} platziert werden.
-\begin{beschreibung}
- \option{ref-marker}{<marker>} Ändert den Default-Marker, der ersetzt werden soll.
- Default = \code{TMP}
- \option{ref-pos}{\{<tex-pos>\}\{<ps-pos>\}} Default = \code{bb}
- \option{ref-style}{<style>} Ändert das Format des Labels in externen Schemata.
- Default = \verb=\sffamily=
-\end{beschreibung}
-Mit der Option \key{ref-pos} können Sie die Art der Platzierung ändern, die
-\cmd{cmpdref} verwendet. Der Befehl \cmd{psfrag}, der intern verwendet wird, hat
-zwei Optionen dafür. Die erste bestimmt, wie der \TeX-Ersatz platziert wird, die
-zweite, wie der Ersatz in die Box gesetzt wird, die durch den Marker enstanden
-ist. Zu Details lesen Sie bitte die Dokumentation des \paket{psfrag}-Pakets.
-\secidx*{Marker in Bildern}
-
-\subsection{Zähler}\label{ssec:counter}\secidx{Zähler}
-Wenn Sie mögen, können Sie auch das Zählerformat \cmpd{a.one} ändern.
-\begin{beschreibung}
- \option{cmpd-counter}{arabic/alph/Alph/greek/Greek/roman/Roman/Symbol} Default
- = \code{arabic}
- \option{sub-counter}{arabic/alph/Alph/greek/Greek/roman/Roman/Symbol} Default
- = \code{alph}
-\end{beschreibung}
-
-Bitte beachten Sie: ein Ändern des Zählerformats wirkt sich nur auf \emph{noch
-nicht erzeugte} Label aus!
-\begin{beispiel}
- \cmpdsetup{cmpd-counter = Alph, sub-counter = arabic}
- \cmpd{a, b, f.two, k}\\ % keine Wirkung bei bereits erzeugten Labeln!
- \cmpd{n.one,n.two,o.one}\\
- \cmpd{f.three,f.four}\\ % Vorsicht: Hauptlabel wurde bereits erzeugt und wird nicht geaendert!
- \cmpd[cmpd-counter,sub-counter = greek]{p.one,p.two}
-\end{beispiel}
-\secidx*{Zähler}
-
-\subsection{Begrenzer}\secidx{Begrenzer}
-Sie können sowohl den einzelnen Nummern wie auch eine ganze Liste mit Begrenzern
-versehen. Dafür gibt es die Optionen:
-\begin{beschreibung}
- \option{cmpd-delim}{<odelim><cdelim>} Benötigen \emph{zwei} Token als Wert!
- \option{list-delim}{<odelim><cdelim>} Benötigen \emph{zwei} Token als Wert!
-\end{beschreibung}
-\begin{beispiel}
- \cmpd{a, b, f.two, k}\\ % default
- \cmpd[cmpd-delim = ()]{a, b, f.two, k}\\ % eingeklammert
- \cmpd{a, b, f.two, k}\\ % wieder default
- \cmpdsetup{cmpd-delim = ()}
- \cmpd{a, b, f.two, k} % eingeklammert
-\end{beispiel}
-Wenn Sie \cmd{cmpd}[\key{cmpd-delim}]{<label>} schreiben, also keinen Wert
-spezifizieren, werden \verb=()= verwendet. Dasselbe gilt für \key{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
- \cmpd{a, b, f.two, k}\\ % wieder default
- \cmpdsetup{list-delim = []}
- \cmpd{a, b, f.two, k}\\ % eingeklammert
- \cmpd{a} % KEINE Liste!
-\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}
- Normal \cmpd{b}, \cmpd{c}, \cmpd{d.one}, aber manchmal so \cmpd[cmpd-delim = ]{e}
- oder so \cmpd-{e}.
-\end{beispiel}
-Mit
-\begin{beschreibung}\label{cmd:ohne_begrenzer}
- \Befehl[cmpdc]{cmpd-}\ma{<label name>}
- \Befehl[cmpdrefc]{cmpdref-}\ma{<label name>}
-\end{beschreibung}
-kann man die Klammern eines Labels schnell entfernen (nicht jedoch die der Liste).
-\begin{beispiel}
- \cmpd{a, b, f.two, k}\\ % default
- \cmpdsetup{cmpd-delim = (), list-delim = []}
- \cmpd{a, b, f.two, k}\\ % doppelt eingeklammert
- \cmpd-{a, b, f.two, k} % einfach eingeklammert
-\end{beispiel}
-
-Durch leere Argumente, \cmd{cmpdsetup}{\key{cmpd-delim}{ }} und
-\cmd{cmpdsetup}{\key{list-delim}{ }}, können Sie die Voreinstellung wieder herstellen.
-\secidx*{Begrenzer}
-
-\subsection{Suffix und Präfix}\secidx{Suffix und Präfix}
-Falls Sie wollen, können sie sowohl einzelnen Labeln als auch den Listen Prä-
-und Suffixe geben.
-\begin{beschreibung}
- \Option{cmpd-prefix}{<prefix>}
- \Option{cmpd-suffix}{<prefix>}
- \Option{list-prefix}{<prefix>}
- \Option{list-suffix}{<prefix>}
-\end{beschreibung}
-Wie bei den Begrenzern gilt: Listen-Attribute werden erst bei einer Liste -- also
-zwei oder mehr Labeln -- verwendet.
-
-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 = \(\rightarrow\)}
- \cmpd{a, b, f.two, k}\\
- \cmpd{a} % KEINE Liste!
-\end{beispiel}
-Beispiel für die Listen-Attribute:
-\begin{beispiel}
- \cmpd{a, b, f.two, k}\\ % default
- \cmpd[list-prefix = Liste:]{a, b, f.two, k}\\
- \cmpdsetup{list-prefix = Sammlung:}
- \cmpd{a, b, f.two, k}\\
- \cmpd{a} % KEINE Liste!
-\end{beispiel}
-
-Zwischen Präfix, Label und Suffix ist per Default ein Leerraum:
-\begin{beispiel}
- \cmpd[cmpd-suffix=Sx,cmpd-prefix=Px]{k}
-\end{beispiel}
-Dieser kann durch
-\begin{beschreibung}
- \Option{cmpd-space}{<space>}
-\end{beschreibung}
-geändert werden.
-\begin{beispiel}
- \cmpd[cmpd-suffix=Sx,cmpd-prefix=Px,cmpd-space={}]{k}
-\end{beispiel}
-\secidx*{Suffix und Präfix}
-
-\subsection{Trennzeichen}\label{ssec:trenner}\secidx{Trennzeichen}
-\subsubsection{Bei Labeln -- Eingabe}\label{sssec:sub-input-sep}\index{Trennzeichen!Label!Input}
-Als Voreinstellung verwendet \chemnum den Punkt \code{.} als Zeichen, um
-Hauptlabelnamen von Sublabelnamen zu unterscheiden. Sie können das Symbol nach
-Belieben ändern. Die Zeichen \verb=%=, \verb=,= und \verb=#= können Sie nicht
-verwenden und \verb=@= sollten Sie nicht verwenden. Außerdem sollten Sie darauf
-achten, für die anderen Trennsymbole (siehe folgende Abschnitte) nicht die
-gleichen Zeichen zu verwenden.
-\begin{beschreibung}
- \option{sub-input-sep}{<separator>} Default = \code{.}
-\end{beschreibung}
-\begin{beispiel}
- \cmpdsetup{sub-input-sep = !}%
- \cmpd{f!one, g!two}\\
- \cmpd[sub-input-sep= +]{f+one, g+two}\\
- \cmpd[sub-input-sep= ~]{f~one, g~two}\\
- \cmpd[sub-input-sep= &]{f&one, g&two}\\
- \cmpd[sub-input-sep= *]{f*one, g*two}
-\end{beispiel}
-Sie sollten -- nicht nur aus Gründen der Konsistenz -- nur \emph{einmal} am Anfang
-ihres Dokuments entscheiden, welches Symbol Sie verwenden. Und zwar \emph{bevor}
-Sie \verb=\tableofcontents= einsetzen. Am besten in der Präambel. Ansonsten kann
-\verb=\tableofcontents= nicht wissen, welchen Symbol Sie verwenden und Label im
-Inhaltsverzeichnis können falsch dargestellt werden.
-
-\subsubsection{Bei Labeln -- Ausgabe}\index{Trennzeichen!Label!Output}
-Haben Sie Label mit Sublabeln, können Sie dort auch ein Trenn-Symbol verwenden.
-Das erscheint dann zwischen Hauptlabel und Sublabel.
-\begin{beschreibung}
- \Option{sub-output-sep}{<separator>}
-\end{beschreibung}
-\begin{beispiel}
- \cmpd{a, b, f.two, f.three, k}\\ % default
- \cmpd[sub-output-sep = -]{a, b, f.two, f.three, k}\\
- \cmpdsetup{sub-output-sep = $\cdot$}
- \cmpd{a, b, f.two, f.three, k}\\
- \cmpd[sub-output-sep = :]{a, b, f.two, f.three, k}
-\end{beispiel}
-
-\subsubsection{Bei Sublabeln -- Eingabe}\label{sssec:range-input-sep}\index{Trennzeichen!Sublabel!Input}
-Für die Eingabe eines Bereiches von Sublabeln verwendet \chemnum in der Voreinstellung
-zwei Punkte \code{..}. Sie können aber eine beliebige andere Eingabe wählen. Die
-Zeichen \verb=%=, \verb=,= und \verb=#= können Sie nicht verwenden und
-\verb=@= sollten Sie nicht verwenden. Außerdem sollten Sie darauf achten, für
-die anderen Trennsymbole nicht die gleichen Zeichen zu verwenden.
-\begin{beschreibung}
- \option{subrange-input-sep}{<separator>} Default = \code{..}
-\end{beschreibung}
-\begin{beispiel}
- \cmpd[subrange-input-sep=:]{q.{one:four}}\\
- \cmpdsetup{subrange-input-sep=--}
- \cmpd{q.{one--four}}
-\end{beispiel}
-
-\subsubsection{Bei Sublabeln -- Ausgabe}\index{Trennzeichen!Sublabel!Output}
-Vielleicht gefällt Ihnen die Ausgabe \cmpd[cmpd-all]{q} nicht und Sie wollen den
-Bereich anders darstellen? Das geht mit dieser Option:
-\begin{beschreibung}
- \option{subrange-output-sep}{<separator>} Default = \verb|--|
-\end{beschreibung}
-\begin{beispiel}
- \cmpd[subrange-output-sep={ {\normalfont bis} }]{q.{one..four}}\\
- \cmpdsetup{subrange-output-sep=-}
- \cmpd{q.{one..four}}
-\end{beispiel}
-
-\subsubsection{Bei Listen -- Eingabe}\label{sssec:list-input-sep}\index{Trennzeichen!Listen!Input}
-Wenn Sie mögen, können Sie das Trennsymbol der Listen-Eingabe ändern. Per Default
-wird hier das Komma \code{,} verwendet. Sie können aber eine beliebige andere
-Eingabe wählen. Die Zeichen \verb=%=, \verb=,= und \verb=#= können Sie nicht
-verwenden und \verb=@= sollten Sie nicht verwenden. Außerdem sollten Sie darauf
-achten, für die anderen Trennsymbole nicht die gleichen Zeichen zu verwenden.
-\begin{beschreibung}
- \option{list-input-sep}{<separator>} Default = \code{,}
- \option{sub-input-sep}{<separator>} Default = \code{,}
-\end{beschreibung}
-\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üdigk, die dieses Feature in gewisser Weise vorgeschlagen hat.}.
-\begin{beispiel}
- \cmpdsetup{list-input-sep=;}
- \cmpd{1,3-dichlorocyclohexanol}
-\end{beispiel}
-
-\subsubsection{Bei Listen -- Ausgabe}\label{sssec:list-output-sep}\index{Trennzeichen!Listen!Output}
-Auch bei Listen lässt sich ein Trennsymbol festlegen, das bestimmt, wie einzelne
-Label voneinander getrennt werden. Per Default ist das das Komma.
-\begin{beschreibung}
- \option{list-output-sep}{<separator>} Default = \code{,}
- \option{sub-output-sep}{<separator>} Default = \code{,}
-\end{beschreibung}
-\begin{beispiel}
- \cmpd{a, b, f.two, k}\\ % default
- \cmpd[list-output-sep = ]{a, b, f.two, k}\\
- \cmpd{a, b, f.two, k}\\
- \cmpdsetup{list-output-sep = ;}
- \cmpd{a, b, f.two, k}
-\end{beispiel}
-
-\subsubsection{Bei Listen -- letzter Trenner}\label{sssec:last-sep}\index{Trennzeichen!Listen!letzter Trenner}
-Der letzte Trenner bei Listen, derjenige zwischen dem vorletzten und letzten
-aufgelisteten Label, ist ein besonderer Fall. Hierfür gibt es zwei Optionen, mit
-dem er angepasst werden kann.
-\begin{beschreibung}
- \Option{list-last-sep}{<separator>}
- \option{list-lang}{US/GB/DE/FR/ES/IT} Default = \code{US}
-\end{beschreibung}
-\begin{beispiel}
- \cmpd[list-lang = US]{a, b, f.two, k} \cmpd[list-lang = US]{a, b}\\
- \cmpd[list-lang = GB]{a, b, f.two, k} \cmpd[list-lang = GB]{a, b}\\
- \cmpd[list-lang = DE]{a, b, f.two, k} \cmpd[list-lang = DE]{a, b}\\
- \cmpd[list-lang = FR]{a, b, f.two, k} \cmpd[list-lang = FR]{a, b}\\
- \cmpd[list-lang = ES]{a, b, f.two, k} \cmpd[list-lang = ES]{a, b}\\
- \cmpd[list-lang = IT]{a, b, f.two, k} \cmpd[list-lang = IT]{a, b}
-\end{beispiel}
-Wie Sie sehen, verwendet die Spracheinstellung \verb=US= per Default das Harvard-Komma,
-alle anderen Sprachen verwenden es nicht. Mehr zur Sprach-Unterstützung und zum
-Harvard-Komma finden Sie in Abschnitt~\ref{sec:language_support}.
-
-Sie können den letzten Trenner mit \key{list-last-sep} auch individuell festlegen.
-\begin{beispiel}
- \cmpdsetup{list-lang = DE}%
- \cmpd[list-last-sep = {und auch}]{a, b, f.two, k}\\
- \cmpd[list-last-sep = ]{a, b, f.two, k}\\
- \cmpd[list-last-sep = sowie]{a, b, f.two, k}\\
- \cmpd[list-last-sep = empty]{a, b, f.two, k}
-\end{beispiel}
-
-Eine spezielle Option ist \key{list-last-sep}{empty}. Wird er verwendet, wird
-überall der Trenner eingesetzt, der mit \key{list-output-sep} festgelegt wurde.
-\begin{beispiel}
- \cmpdsetup{list-last-sep = empty}%
- \cmpd{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}
-
-\subsubsection{Bei \code{\textbackslash\textcolor{code}{cmpdinit}} -- Eingabe}\label{sssec:init-input-sep}\index{Trennzeichen!cmpdinit@\textcolor{code}{\code{\textbackslash cmpdinit}}}
-Wenn Sie mögen, können Sie das Trennsymbol der Listen-Eingabe ändern. Per Default
-wird hier das Komma \code{,} verwendet. Sie können aber eine beliebige andere
-Eingabe wählen. Die Zeichen \verb=%=, \verb=,= und \verb=#= können Sie nicht
-verwenden und \verb=@= sollten Sie nicht verwenden.
-\begin{beschreibung}
- \option{init-input-sep}{<separator>} Default = \code{,}
-\end{beschreibung}
-
-\subsubsection{Ein Beispiel}\label{sssec:input-sep-bsp}
-Im folgenden sehen Sie ein kleines Beispiel, wie eine personalisierte Variante
-der Trennzeichen aussehen könnte.
-\begin{beispiel}
- \cmpdsetup{
- sub-input-sep = ! ,
- subrange-input-sep = : ,
- sublist-input-sep = / ,
- list-input-sep = +
- }
- \cmpd{a + f ! one + q ! one / three : five}
-\end{beispiel}
-\secidx*{Trennzeichen}
-
-\section{Sprachunterstützung}\label{sec:language_support}\secidx{Sprachunterstützung}
-\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 \paket*{translations}\footnote{%
-\paket*{translations} ist Teil des \paket*{exsheets}-Bundles.} Pakets.
-\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}{contact@mychemistry.eu}} mit
-der dazugehörigen \paket{babel} Option und der richtigen Übersetzung, und ich
-werde sie gerne hinzufügen.
-
-\subsection{Harvard-Komma}\label{ssec:harvard-comma}\secidx{Harvard-Komma}
-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{zitat}[\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 \name{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 \name{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{zitat}
-\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
-der Option
-\begin{beschreibung}
- \Option{list-serial-comma}{\default{true}/false}
-\end{beschreibung}
-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 \key{list-serial-comma}
-\emph{nach} \key{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}
-\secidx*{Harvard-Komma}\secidx*{Sprachunterstützung}
-
-\section{Überblick}
-\subsection{Optionen}\label{ssec:keys_uebersicht}
-Im folgenden sind alle verfügbaren Optionen aufgelistet.
-\begin{center}
- \label{tab:keys}
- \begin{longtabu*}{>{\ttfamily\color{key}}l>{\ttfamily}l>{\ttfamily}l>{\ttfamily}l}\toprule
- \normalfont\bfseries\normalcolor Option &
- \normalfont\bfseries Leerwert &
- \normalfont\bfseries Voreinstellung &
- \normalfont\bfseries Typ \\\midrule
- cmpd-style & & & macro \\
- cmpd-weight & bold & bold & choice \\
- cmpd-label & & & literal \\
- cmpd-delim\color{black}$^\mathrm{a}$ & () & & literal \\
- cmpd-odelim & & & literal \\
- cmpd-cdelim & & & literal \\
- cmpd-prefix & & & literal \\
- cmpd-suffix & & & literal \\
- cmpd-space & \verb=\penalty\@m\ = & \verb=\penalty\@m\ = & literal \\
- cmpd-counter & arabic & arabic & choice \\
- cmpd-all & true & false & boolean \\\midrule
- sub-only & true & false & boolean \\
- sub-counter & alph & alph & choice \\
- sub-output-sep & & , & literal \\
- sub-input-sep & . & . & literal \\
- sublist-output-sep & , & , & literal \\
- sublist-input-sep & , & , & literal \\
- subrange-output-sep & -- & -- & literal \\
- subrange-input-sep & .. & .. & literal \\\midrule
- list-delim\color{black}$^\mathrm{a}$ & () & & literal \\
- list-odelim & & & literal \\
- list-cdelim & & & literal \\
- list-prefix & & & literal \\
- list-suffix & & & literal \\
- list-input-sep & , & , & literal \\
- list-output-sep & , & , & literal \\
- list-lang & US & US$^\mathrm{b}$ & choice \\
- list-last-sep & and$^\mathrm{c}$ & & literal \\
- list-serial-comma & true & true$^\mathrm{c}$ & boolean \\\midrule
- ref-tag & TMP & TMP & literal \\
- ref-style & & \verb=\sffamily= & macro \\
- ref-pos\color{black}$^\mathrm{a}$ & bb & bb & literal \\\midrule
- init-strict & true & false & boolean \\
- init-sub & true & false & boolean \\
- init-input-sep & , & , & literal \\\midrule
- hyper-use & true & false & boolean \\
- hyper-target & & & literal \\
- hyper-link & & & literal \\\bottomrule
- \end{longtabu*}
- \setlength\extrarowheight{-1pt}
- \begin{tabular}{>{\footnotesize}r>{\footnotesize\raggedright}p{.7\linewidth}}
- a & Benötigt \emph{zwei} Token als Wert. \tabularnewline
- b & Hängt von der Verwendung von \paket*{babel} ab. \tabularnewline
- c & Hängt vom Wert von \key{list-lang} und der Verwendung von \paket*{babel} ab.
- \end{tabular}
-\end{center}
-
-\subsection{Befehle}
-Im folgenden werden alle von \chemnum definierten Befehle und deren Varianten
-aufgelistet.
-\begin{center}
- \label{tab:commands}
- \begin{longtabu*} to \linewidth {X[l]X[p]}\toprule
- \bfseries Befehl & \bfseries Beschreibung \tabularnewline\midrule
- \cmd*{cmpd}[<keyval>]{<labels>} & Hauptbefehl, erzeugt und
- schreibt Label oder Liste von Labeln, siehe Seite \pageref{sec:nummerieren}ff. \tabularnewline
- \cmd*[cmpda]{cmpd*}{<labels>} & unsichtbar, erzeugt Label,
- siehe Seite \pageref{cmd:unsichtbares_label} \tabularnewline
- \cmd*[cmpdc]{cmpd-}[<keyval>]{<labels>} & ohne Begrenzer, siehe
- Seite \pageref{cmd:ohne_begrenzer} \tabularnewline
- \cmd*[cmpdd]{cmpd+-}[<keyval>]{<labels>} & Label wird aus Hilfsdatei gelesen,
- siehe Seite \pageref{cmd:cmpd_plus} \tabularnewline\midrule
- \cmd*{cmpdinit}[<keyval]{<labels>} & Label initialisieren und erzeugen,
- siehe Seite \pageref{sec:cmpdinit}f. \tabularnewline
- \cmd*[cmpdinita]{cmpdinit*}[<keyval]{<labels>} & Label initialisieren, siehe
- Seite \pageref{sec:cmpdinit}f. \tabularnewline\midrule
- \cmd*{cmpdref}[<keyval>][<marker>]{} & temporäre Label in \code{eps}-Dateien
- durch Label ersetzen, siehe Seite \pageref{ssec:cmpdref} \tabularnewline
- \cmd*[cmpdrefc]{cmpdref-}[<keyval>][<marker>]{} & temporäre Label in \code{eps}-Dateien
- durch Label ohne Begrenzer ersetzen, siehe Seite \pageref{cmd:ohne_begrenzer} \tabularnewline\midrule
- \cmd*{cmpdreset}[<num>] & Zähler zurücksetzen, siehe
- Seite \pageref{sec:cmpdreset} \tabularnewline\midrule
- \cmd*{cmpdsetup}{<keyval>} & \chemnum einstellen, siehe
- Seite \pageref{sec:cmpdsetup}ff. \tabularnewline\bottomrule
- \end{longtabu*}%
-\end{center}
-
-\appendix
-\addsec{Dank}
-Ich möchte Joseph \name{Wright} und Russell \name{Hewitt} danken, die mir wertvolle
-Vorschläge und Feedback gaben, um \chemnum zu verbessern.
-
-Vielen Dank außerdem an Jonas \name{Rivetti}, der die italienische Übersetzung
-beigesteuert hat.
-
-\printindex
-
-\end{document} \ No newline at end of file
diff --git a/Master/texmf-dist/doc/latex/chemnum/chemnum_en.pdf b/Master/texmf-dist/doc/latex/chemnum/chemnum_en.pdf
index 37d0d67b99e..8333d6d2540 100644
--- a/Master/texmf-dist/doc/latex/chemnum/chemnum_en.pdf
+++ b/Master/texmf-dist/doc/latex/chemnum/chemnum_en.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/chemnum/chemnum_en.tex b/Master/texmf-dist/doc/latex/chemnum/chemnum_en.tex
index f9febf60146..8d9cc7b8b24 100644
--- a/Master/texmf-dist/doc/latex/chemnum/chemnum_en.tex
+++ b/Master/texmf-dist/doc/latex/chemnum/chemnum_en.tex
@@ -1,7 +1,6 @@
% arara: pdflatex: { shell: on }
-% arara: makeindex: { sort: true, style: chemnum_en.ist }
-% arara: pdflatex: { shell: on }
% arara: pdflatex: { shell: on }
+% !arara: pdflatex: { shell: on }
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% - chemnum - chemnum_en.tex
% - a comprehensive approach for the numbering of chemical compounds
@@ -40,12 +39,20 @@
\RequirePackage[ngerman,german,naustrian,austrian,british,american,canadian,frenchb,
canadien,spanish,italian,english]{babel}
\RequirePackage[textgreek=artemisia]{chemnum}
+\PassOptionsToPackage{supstfm=libertinesups}{superiors}
\documentclass[DIV11,toc=index]{cnpkgdoc}
\docsetup{
pkg = chemnum,
code-box = {skipabove=1ex,skipbelow=1ex}
}
+\cnpkgusecolorscheme{friendly}
+\renewcommand*\othersectionlevelsformat[3]{%
+ \textcolor{main}{#3\autodot}\enskip}
+\renewcommand*\partformat{%
+ \textcolor{main}{\partname~\thepart\autodot}}
+\usepackage{libertinehologopatch}
\usepackage{fnpct}
+
\addcmds{
@m,arrow,bf,
ch,chemfig,chemname,cmpd,cmpdinit,cmpdref,cmpdreset,cmpdsetup,
@@ -60,22 +67,26 @@
uline
}
-\usepackage{textcomp,longtable,tabu,booktabs,chemscheme,hologo}
+\usepackage{textcomp,longtable,tabu,booktabs,chemscheme}
+
\usepackage[iupac=strict]{chemmacros}
\chemsetup[chemformula]{format=\libertineLF}
\usepackage{chemfig}
\usepackage[runs=2]{auto-pst-pdf}
+\usepackage{imakeidx}
+\indexsetup{noclearpage,othercode=\footnotesize}
+\makeindex[columns=3,intoc,options={-sl \jobname.ist}]
\usepackage{filecontents}
\begin{filecontents*}{\jobname.ist}
- preamble "\\begin{theindex}\n Section headings are typeset \\textbf{bold}, packages \\textsf{sans serif}, commands \\textcolor{code}{brown}, and options \\textcolor{key}{green}.\\newline\n\n"
heading_prefix "{\\bfseries "
heading_suffix "\\hfil}\\nopagebreak\n"
headings_flag 1
- delim_0 "\\dotfill "
- delim_1 "\\dotfill "
- delim_2 "\\dotfill "
- delim_r "--"
+ delim_0 "\\dotfill\\hyperpage{"
+ delim_1 "\\dotfill\\hyperpage{"
+ delim_2 "\\dotfill\\hyperpage{"
+ delim_r "}\\textendash\\hyperpage{"
+ delim_t "}"
suffix_2p "\\nohyperpage{\\,f.}"
suffix_3p "\\nohyperpage{\\,ff.}"
\end{filecontents*}
@@ -85,7 +96,13 @@
\let\CNversion\cnpkgdocpkgversion
\let\CNdate\cnpkgdocpkgdate
-\cmpdinit*{a,aa,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,benzene,r,s,t,{1,3-dichlorocyclohexanole}}
+\cmpdinit*{
+ a,aa,
+ b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,
+ benzene,
+ r,s,t,
+ {1,3-dichlorocyclohexanole}
+}
\TitlePicture{%
\selectlanguage{english}
@@ -97,11 +114,23 @@
\begin{scheme}[h]
\centering\small
\schemestart
- \chemfig{?(-[:-170]HO)-[:-50](-[:170]HO)-[:10](-[:-55,0.7]OH)-[:-10](-[6,0.8]OH)-[:130]O-[:-170]?(-[:150,0.7]-[2,0.7]OH)}
+ \chemfig{
+ ?(-[:-170]HO)
+ -[:-50](-[:170]HO)
+ -[:10](-[:-55,0.7]OH)
+ -[:-10](-[6,0.8]OH)
+ -[:130]O-[:-170]?(-[:150,0.7]-[2,0.7]OH)
+ }
\arrow(alpha--chain){<=>}
\chemfig{[2]OH-[3]-!x-!x-!y-!x-=[1]O}
\arrow(--beta){<=>}
- \chemfig{?(-[:-170]HO)-[:-50](-[:170]HO)-[:10](-[:-55,0.7]OH)-[:-10](-[:10]OH)(-[6,,,,draw=none]\vphantom{OH})-[:130]O-[:-170]?(-[:150,0.7]-[2,0.7]OH)}
+ \chemfig{
+ ?(-[:-170]HO)
+ -[:-50](-[:170]HO)
+ -[:10](-[:-55,0.7]OH)
+ -[:-10](-[:10]OH)(-[6,,,,draw=none]\vphantom{OH})
+ -[:130]O-[:-170]?(-[:150,0.7]-[2,0.7]OH)
+ }
\arrow(@chain--chainlabel){0}[-90,.2] \normalsize\cmpd[cmpd-delim]{glucose.chain}
\arrow(@chainlabel--){0}[,2.5] \normalsize\cmpd[cmpd-delim]{glucose.beta}
\arrow(@chainlabel--){0}[180,2.3] \normalsize\cmpd[cmpd-delim]{glucose.alpha}
@@ -111,30 +140,53 @@
open-chain form \cmpd[cmpd-delim]{glucose.chain}.}
\end{scheme}}
-\makeindex
+\newcommand*\Default[1]{%
+ \hfill\llap{%
+ \ifblank{#1}
+ {(initially~empty)}
+ {Default:~\code{#1}}%
+ }\newline
+}
+
+\usepackage{marginnote}
+\makeatletter
+\providecommand*\sinceversion[1]{%
+ \@bsphack
+ \marginnote{%
+ \footnotesize\sffamily\RaggedRight
+ \textcolor{black!75}{Introduced in version~#1}}%
+ \@esphack}
+\providecommand*\changedversion[1]{%
+ \@bsphack
+ \marginnote{%
+ \footnotesize\sffamily\RaggedRight
+ \textcolor{black!75}{Changed in version~#1}}%
+ \@esphack}
+
\begin{document}
\selectlanguage{english}\cmpdreset
\section{A very short readme}
-\chemnum \CNversion\ underlies the \LaTeX{} Project Public License Version~1.3 or
-later. (\url{http://www.latex-project.org/lppl.txt})
+\chemnum \CNversion\ underlies the \LaTeX{} Project Public License Version~1.3
+or later. (\url{http://www.latex-project.org/lppl.txt})
\chemnum internally loads the packages \paket*{expl3} and \paket{xparse}.
-\paket{xparse} is part of the \paket{l3packages} bundle, \paket*{expl3} is part
-of the \paket{l3kernel} bundle. This means, \chemnum needs \LaTeX3 Support.
+\paket{xparse} is part of the \paket{l3packages} bundle, \paket*{expl3} is
+part of the \paket{l3kernel} bundle. This means, \chemnum needs \LaTeX3
+Support.
\chemnum also needs the packages \paket{etoolbox}, \paket{psfrag} and either
\paket{textgreek} or \paket{bm}, see section~\ref{sec:package:options}.
\section{News and a word of apology}
\subsection{Version 0.4}
-In the update to v0.4 there have been some changes made with the options. There
-are a few new ones and some of the old ones got new names. They now have consistent
-names which in my opinion better reflect their function. This means that your
-documents set with an older version of \chemnum might not compile any more without
-errors. I am sorry for that. \chemnum still is actively developped. Once it reaches
-v1.0, such changes won't be made any more\footnote{Or only in absolutely necessary
-cases.}.
+In the update to v0.4 there have been some changes made with the options.
+There are a few new ones and some of the old ones got new names. They now
+have consistent names which in my opinion better reflect their function. This
+means that your documents set with an older version of \chemnum might not
+compile any more without errors. I am sorry for that. \chemnum still is
+actively developped. Once it reaches v1.0, such changes won't be made any
+more\footnote{Or only in absolutely necessary cases.}.
These options have new names:
\begin{center}
@@ -165,138 +217,149 @@ These ones are new:
\end{tabular}
\end{center}
-Also new is the way how lists and ranges of sublabels are input. The option
-\key{sub-list} no longer exists. More on this in section~\ref{ssec:sub_ranges}.
+Also new is the way how lists and ranges of sublabels are input. The option
+\key{sub-list} no longer exists. More on this in section~\ref{ssec:sub_ranges}.
Then there is the possibility of creating hyperlinked labels together with the
package \paket{hyperref}, see section~\ref{sec:hyperref}.
\subsection{Version 0.5}
-With v0.5 there is a new option \key{ref-pos} which allows to change the positioning
-options of the \cmd{psfrag} command that is used by the \cmd{cmpdref} command
-internally, see p.\,\pageref{ssec:marker_in_bildern}.
+With v0.5 there is a new option \key{ref-pos} which allows to change the
+positioning options of the \cmd{psfrag} command that is used by the
+\cmd{cmpdref} command internally, see p.\,\pageref{ssec:marker_in_bildern}.
-\achtung{The optional arguments of \cmd{cmpdref} have changed their order, see
-p.\,\pageref{ssec:cmpdref}!}
+\achtung{%
+ The optional arguments of \cmd{cmpdref} have changed their order, see
+ p.\,\pageref{ssec:cmpdref}!%
+}
\section{Package options}\label{sec:package:options}\secidx{Package options}
\chemnum has one package option.
\begin{beschreibung}
- \Option{textgreek}{artemisia/\default{cbgreek}/euler/false} Default: \code{false}
+ \Option{textgreek}{artemisia|\default{cbgreek}|euler|false}\Default{false}
+ Choose if and with which option \paket*{textgreek} is used.
\end{beschreibung}
This document was set with \verb+\usepackage[textgreek=artemisia]{chemnum}+.
\secidx*{Package options}
\section{Motivation}
-As far as I know there are three packages that are meant to help with numbering
-chemical compounds. All of them have their weaknesses.
+As far as I know there are three packages that are meant to help with
+numbering chemical compounds. All of them have their weaknesses.
The first one -- \paket{chemcono} -- redefined bibliography commands for that
-purpose. Compounds have to be declared in what is called \verb=\theffbibliography=.
-Then one can reference them with \verb=\fcite=. However, it produces a list of
-compounds in the text. So the package author suggests:
+purpose. Compounds have to be declared in what is called
+\verb=\theffbibliography=. Then one can reference them with \verb=\fcite=.
+However, it produces a list of compounds in the text. So the package author
+suggests:
\begin{zitat}[Stefan Schulz]
- After compilation and printout, discard the last page.
+ After compilation and printout, discard the last page.
\end{zitat}
Obviously that's not a perfect solution.
-The second one -- \paket{chemcompounds} -- was written, because the author didn't
-want to work with the weaknesses of \paket{chemcono} any more. When he wrote the
-package he basically used the same mechanism to create the labels as \paket{chemcono}
-did.
+The second one -- \paket{chemcompounds} -- was written, because the author
+didn't want to work with the weaknesses of \paket{chemcono} any more. When he
+wrote the package he basically used the same mechanism to create the labels as
+\paket{chemcono} did.
\begin{zitat}[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 \verb=\bibitem= and \verb=\cite= in pretty much the same way
- as \paket{chemcono} does by extracting the corresponding code from \verb=article.cls=
- and \verb=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.
+ 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 \verb=\bibitem= and \verb=\cite= in
+ pretty much the same way as \paket{chemcono} does by extracting the
+ corresponding code from \verb=article.cls= and \verb=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{zitat}
Some points still left me unsatisfied, though:
\begin{enumerate}
- \item Compounds usually need to be declared with \verb=\declarecompound=. They
- need to be declared in any case if you need a label like \cmpd{bsp.one}. Then,
- one even needs to choose the label by hand, what somehow undermines the automatic
- numbering principle.
- \item The layout can't be changed for a single label but only for all.
- \item The numbers can't be reset. \emph{Although in most cases this is neither
- necessary nor can it be recommended}, there can be individual cases where this
- would be useful.
- \item A list of several compounds \verb=\compound{a,b,c}= can only be customized
- with more effort than what would be convenient.
+ \item Compounds usually need to be declared with \verb=\declarecompound=.
+ They need to be declared in any case if you need a label like
+ \cmpd{bsp.one}. Then, one even needs to choose the label by hand, what
+ somehow undermines the automatic numbering principle.
+ \item The layout can't be changed for a single label but only for all.
+ \item The numbers can't be reset. \emph{Although in most cases this is
+ neither necessary nor can it be recommended}, there can be individual
+ cases where this would be useful.
+ \item A list of several compounds \verb=\compound{a,b,c}= can only be
+ customized with more effort than what would be convenient.
\end{enumerate}
Then there is \paket{bpchem}, which provides commands similar to \verb=\label=
-\verb=\ref=: \verb=\CNlabel{}=, \verb=\CNlabelnoref{}= and \verb=\CNref{}=. It
-provides commands for sublabels, too: \verb=\CNlabelsub{}{}=, \verb=\CNlabelsubnoref{}{}=
-and \verb=\CNrefsub{}{}=. This makes it more flexible than the others regarding sublabels.
-However, it barely provides possibilities to customize the labels, lists are not
-possible and the fact that there are different commands for labels and sublabels
-isn't the best solution, either.
-
-\chemnum is intended to fill these gaps. For this all commands have been written
-from scratch. Some of the ideas of \paket{chemcompounds} \eg regarding delimiters
-and layout have been picked up, though.
+\verb=\ref=: \verb=\CNlabel{}=, \verb=\CNlabelnoref{}= and \verb=\CNref{}=.
+It provides commands for sublabels, too: \verb=\CNlabelsub{}{}=,
+\verb=\CNlabelsubnoref{}{}= and \verb=\CNrefsub{}{}=. This makes it more
+flexible than the others regarding sublabels. However, it barely provides
+possibilities to customize the labels, lists are not possible and the fact
+that there are different commands for labels and sublabels isn't the best
+solution, either.
+
+\chemnum is intended to fill these gaps. For this all commands have been
+written from scratch. Some of the ideas of \paket{chemcompounds} \eg regarding
+delimiters and layout have been picked up, though.
If you notice any feature missing, please let me know by sending me an email.
\section{Numbering compounds}\label{sec:nummerieren}
\subsection{Main command}\secidx{Main command}\cmpdreset
+
The main command of this package is this one:
\begin{beschreibung}
- \Befehl{cmpd}{<label name>}
+ \Befehl{cmpd}{<label name>}
\end{beschreibung}
-When \code{<label name>} is used the first time, the label is created, saved (=
-declared) and printed. Each further use just prints the label.
+When \code{<label name>} is used the first time, the label is created, saved
+(= declared) and printed. Each further use just prints the label.
\begin{beispiel}
- Compounds \cmpd{a} and \cmpd{b} are declared and can be used any time: \cmpd{a}.
- No pre-declaring is necessary. Compounds like \cmpd{c} are numbered in the order
- they appear in the text.\par
+ Compounds \cmpd{a} and \cmpd{b} are declared and can be used any time:
+ \cmpd{a}. No pre-declaring is necessary. Compounds like \cmpd{c} are
+ numbered in the order they appear in the text.\par
Once again: \cmpd{b}, \cmpd{a}, \cmpd{c}.
\end{beispiel}
If it is necessary to declare a compound without printing the label, this is
possible with
\begin{beschreibung}
- \Befehl[cmpda]{cmpd*}\ma{<label name>}\label{cmd:unsichtbares_label}
+ \Befehl[cmpda]{cmpd*}\ma{<label name>}\label{cmd:unsichtbares_label}
\end{beschreibung}
This declares the label but doesn't print anything.
-\achtung{This command is not needed when \cmd{cmpdinit} is used, see
-section~\ref{sec:cmpdinit} (pages~\pageref{sec:cmpdinit}ff).}
+
+\achtung{%
+ This command is not needed when \cmd{cmpdinit} is used, see
+ section~\ref{sec:cmpdinit} (pages~\pageref{sec:cmpdinit}ff).%
+}
\begin{beispiel}
- The hidden version\cmpd*{d} declares the label but doesn't print anything. The
- next \cmpd{e} continues to count with the next number. With \cmpd{d} the label
- can be used, of course.
+ The hidden version\cmpd*{d} declares the label but doesn't print anything.
+ The next \cmpd{e} continues to count with the next number. With \cmpd{d}
+ the label can be used, of course.
\end{beispiel}
-You can pretty much use what you like for a label name except for the separator
-symbols (see sections~\ref{ssec:unterlabel}, \ref{ssec:listen}, \ref{ssec:sub_ranges}
-and \ref{ssec:trenner}). You shouldn't leave blanks in the name, though. This may
-not cause an error at all, but \emph{could} declare different compounds with the
-same name.
+You can pretty much use what you like for a label name except for the
+separator symbols (see sections~\ref{ssec:unterlabel}, \ref{ssec:listen},
+\ref{ssec:sub_ranges} and \ref{ssec:trenner}). You shouldn't leave blanks in
+the name, though. This may not cause an error at all, but \emph{could}
+declare different compounds with the same name.
\lstset{showspaces=true}
\begin{beispiel}
\cmpd{aa }, \cmpd{a a }, \cmpd{a a}, \cmpd{ a a}, \cmpd{ aa} and \cmpd{ aa }
- all have the same label. As well as \cmpd{aa }, \cmpd{a a}, \cmpd{ aa} and \cmpd{aa}.
+ all have the same label. As well as \cmpd{aa }, \cmpd{a a}, \cmpd{ aa} and
+ \cmpd{aa}.
\end{beispiel}
\lstset{showspaces=false}\secidx*{Main command}
\subsection{Sublabel}\label{ssec:unterlabel}\secidx{Sublabel}
If you want a label like \cmpd{a.one}, you need to use the following syntax:
\begin{beschreibung}
- \Befehl{cmpd}{<label name>.<subname>}
+ \Befehl{cmpd}{<label name>.<subname>}
\end{beschreibung}
-\code{<label name>} is the main name which stays the same, \code{<subname>} varies.
-This syntax means that the point \code{.} \emph{cannot} be a part of \code{<label name>}
-or \code{<subname>}. Instead of the point you also can use another symbol, see
-section~\ref{sssec:sub-input-sep}.
+\code{<label name>} is the main name which stays the same, \code{<subname>}
+varies. This syntax means that the point \code{.} \emph{cannot} be a part of
+\code{<label name>} or \code{<subname>}. Instead of the point you also can
+use another symbol, see section~\ref{sssec:sub-input-sep}.
\begin{beispiel}
- \cmpd{f.one} and \cmpd{f.two} are related, as are \cmpd{g.one} and \cmpd{g.two}.
- Of course, these labels can be used again: \cmpd{g.two} and \cmpd{f.one}.
+ \cmpd{f.one} and \cmpd{f.two} are related, as are \cmpd{g.one} and
+ \cmpd{g.two}. Of course, these labels can be used again: \cmpd{g.two} and
+ \cmpd{f.one}.
\end{beispiel}
This also works, if the main name has already been used.
@@ -314,70 +377,74 @@ section~\ref{ssec:sub_ranges}.
\secidx*{Sublabel}
\subsection{Lists}\label{ssec:listen}\secidx{Lists}
-There is actually more to the \cmd{cmpd} command. It also prints lists of labels.
-
-The right description would be something like:
+There is actually more to the \cmd{cmpd} command. It also prints lists of
+labels. The right description would be something like:
\begin{beschreibung}
- \Befehl{cmpd}{<(possibly comma separated list of) label name(s)>}
+ \Befehl{cmpd}{<(possibly comma separated list of) label name(s)>}
\end{beschreibung}
-This means that with default settings the comma can't be part of the label name
-unless hidden in braces. You can change that, see section~\ref{sssec:list-input-sep}
-on page~\pageref{sssec:list-input-sep}. Section~\ref{sssec:input-sep-bsp} shows
-an example how a changed input could look like.
+This means that with default settings the comma can't be part of the label
+name unless hidden in braces. You can change that, see
+section~\ref{sssec:list-input-sep} on page~\pageref{sssec:list-input-sep}.
+Section~\ref{sssec:input-sep-bsp} shows an example how a changed input could
+look like.
\begin{beispiel}
- More than one label can be put inside \verb=\cmpd=, separated by commas. Then a
- list like \cmpd{a, b, c, e, g.two} is printed.
+ More than one label can be put inside \verb=\cmpd=, separated by commas.
+ Then a list like \cmpd{a, b, c, e, g.two} is printed.
\end{beispiel}
-The Harvard comma (see~\ref{ssec:harvard-comma}) in \code{, and} between \cmpd{e}
-and \cmpd{g.two} suggests that there are options to customize the list, see
-sections~\ref{ssec:trenner} and \ref{sec:language_support}.
+The Harvard comma (see~\ref{ssec:harvard-comma}) in \code{, and} between
+\cmpd{e} and \cmpd{g.two} suggests that there are options to customize the
+list, see sections~\ref{ssec:trenner} and \ref{sec:language_support}.
\secidx*{Lists}
\subsection{Lists and ranges of sublabels}\label{ssec:sub_ranges}\index{Sublabel!lists}\index{Sublabel!ranges}
-Sometimes it can be useful to display a label with a list or a range of sublabels.
-Suppose you have compounds \cmpd{q.one,q.two,q.three,q.four,q.five} which for
-example differ in their substituents. It can be useful to refer to them all at
-once: \cmpd[cmpd-all]{q}.
+Sometimes it can be useful to display a label with a list or a range of
+sublabels. Suppose you have compounds
+\cmpd{q.one,q.two,q.three,q.four,q.five} which for example differ in their
+substituents. It can be useful to refer to them all at once:
+\cmpd[cmpd-all]{q}.
The syntax is rather intuitive -- you just input a list of sublabels:
\begin{beispiel}
list of labels: \cmpd{q.one, q.two, q.three, q.four, q.five}\\
label with list of sublabels: \cmpd{q.{one,two,three,four,five}}
\end{beispiel}
-Since the sublist is input with a comma in the default setting, you have to put
-them into braces.
+Since the sublist is input with a comma in the default setting, you have to
+put them into braces.
-Using this syntax you also can create ranges of sublabels. As a marker to indicate
-the range \chemnum uses two points \verb=..=.
+Using this syntax you also can create ranges of sublabels. As a marker to
+indicate the range \chemnum uses two points \verb=..=.
\begin{beispiel}
\cmpd{q.{two..four}}\\
\cmpd{q.{one,three..five}}\\
\cmpd{q.{one..three,five}}
\end{beispiel}
-This means you can neither use the comma nor the two points as part of a sublabel
-name. How you can use other markers for the input you can read in
+This means you can neither use the comma nor the two points as part of a
+sublabel name. How you can use other markers for the input you can read in
sections~\ref{sssec:range-input-sep} and \ref{sssec:list-input-sep}.
-\chemnum provides an option (see section~\ref{sec:cmpdsetup} for more details),
-with which all sublabels of a main label can be printed as range.
+\chemnum provides an option (see section~\ref{sec:cmpdsetup} for more
+details), with which all sublabels of a main label can be printed as range.
\begin{beschreibung}
- \Option{cmpd-all}{\default{true}/false}
+ \Option{cmpd-all}{\default{true}|false}\Default{false}
+ Show all sublabels.
\end{beschreibung}
\begin{beispiel}
\cmpd[cmpd-all]{q}
\end{beispiel}
-In order to get the right sublabels the command needs to know, which sublabels
-have been declared. This means that they're read from the \verb=\jobname.cmpd=
-file (supposing your source file is called \verb=\jobname.tex=). So you may need
-to compile twice (or more) until the labels are printed right.
+In order to get the right sublabels the command needs to know which sublabels
+have been declared. This means that they're read from the
+\verb=\jobname.cmpd= file (supposing your source file is called
+\verb=\jobname.tex=). So you may need to compile twice (or more) until the
+labels are printed right.
If one uses label with sublabel ranges, one might want to use \emph{only} the
-sublabels in a different place. This is possible with this option:
+sublabels in a different place. This is possible with this option:
\begin{beschreibung}
- \Option{sub-only}{\default{true}/false}
+ \Option{sub-only}{\default{true}|false}\Default{false}
+ Print only the sublabel.
\end{beschreibung}
\begin{beispiel}
% uses packages `chemfig', `chemmacros' and `booktabs'
@@ -392,31 +459,34 @@ sublabels in a different place. This is possible with this option:
\end{tabular}
\end{beispiel}
-Ranges of sublabels require some care. For one thing one has to know which
-sublabel is the lower one and which is the higher one. Then one has to know which
-labels are in between them and what do they represent. As \chemnum can't take care
-for you, you need to do that for yourself if you want to avoid labels like these:
+Ranges of sublabels require some care. For one thing one has to know which
+sublabel is the lower one and which is the higher one. Then one has to know
+which labels are in between them and what do they represent. As \chemnum
+can't take care for you, you need to do that for yourself if you want to avoid
+labels like these:
\begin{beispiel}
\cmpd{q.{five..three}} or \cmpd{q.{three,one,four}}.
\end{beispiel}
\section{Initialize labels at once}\label{sec:cmpdinit}\secidx{Initialize labels}
-The commands described in this section are not essential for the usage of \chemnum,
-but provide additional functionality that some users might find useful.
+The commands described in this section are not essential for the usage of
+\chemnum, but provide additional functionality that some users might find
+useful.
\subsection{Usage}
\subsubsection{Main labels}
Perhaps you're missing \paket{chemcompounds}' command \verb=\declarecompound=
-already. For one thing one has a summary of all used label names. And one may be
-warned if one uses an uninitialized label name\footnote{for instance due to a
-typing error}. This behaviour can be realized with these commands:
+already. With it for one thing one had a summary of all used label names.
+And there was a warning if one used an uninitialized label name\footnote{for
+ instance due to a typing error}. This behaviour can be realized with these
+commands:
\begin{beschreibung}
- \Befehl{cmpdinit}{<comma separated list of label names>}
- \Befehl[cmpdinita]{cmpdinit*}{<comma separated list of label names>}
+ \Befehl{cmpdinit}{<comma separated list of label names>}
+ \Befehl[cmpdinita]{cmpdinit*}{<comma separated list of label names>}
\end{beschreibung}
-All compounds set inside \cmd{cmpdinit} are initialized and declared \emph{in the
-given order}. If one uses a label name that's not in the list, \chemnum produces
-a warning message.
+All compounds set inside \cmd{cmpdinit} are initialized and declared \emph{in
+ the given order}. If one uses a label name that's not in the list, \chemnum
+produces a warning message.
\cmpdreset
\begin{beispiel}
@@ -433,10 +503,12 @@ a warning message.
\end{mdframed}
Please note that for labels with sublabels only the \emph{main name} can and
-should be initialized. This initializes all compounds with the same main name.
+should be initialized. This initializes all compounds with the same main
+name.
-\cmd[cmpdinita]{cmpdinit*} also produces a warning but doesn't declare the labels.
-They are declared when you first use them in the order of appearance in the text.
+\cmd[cmpdinita]{cmpdinit*} also produces a warning but doesn't declare the
+labels. They are declared when you first use them in the order of appearance
+in the text.
\cmpdreset
\begin{beispiel}
@@ -452,19 +524,20 @@ They are declared when you first use them in the order of appearance in the text
{}*************************************************
\end{mdframed}
-If you need to use own labels (see page \pageref{ssec:own_labels}) but still want
-to initialize all labels at once, you should use \cmd[cmpdinita]{cmpdinit*}{},
-because then no labels are declared when they're initialized.
+If you need to use own labels (see page \pageref{ssec:own_labels}) but still
+want to initialize all labels at once, you should use
+\cmd[cmpdinita]{cmpdinit*}{}, because then no labels are declared when they're
+initialized.
-This command can be used several times, with or without \verb=*=. A useful way
-would be a single usage, though, proposedly in the preamble of your document after
-the \chemnum setup (see section~\ref{sec:cmpdsetup}).
+This command can be used several times, with or without \verb=*=. A useful
+way would be a single usage, though, proposedly in the preamble of your
+document after the \chemnum setup (see section~\ref{sec:cmpdsetup}).
\subsubsection{Sublabels}
-If you'd like a warning for label-sublabel combinations as well, or want to preset
-their order, you can use
+If you'd like a warning for label-sublabel combinations as well, or want to
+preset their order, you can use
\begin{beschreibung}
- \Befehl{cmpdinit}[\key{init-sub}{true}]{<comma separated list of label names>}
+ \Befehl{cmpdinit}[\key{init-sub}{true}]{<comma separated list of label names>}
\end{beschreibung}
This will give you a warning in these cases, too.
@@ -488,61 +561,68 @@ This will give you a warning in these cases, too.
If you want \chemnum to produce an error instead of a warning when you use an
unititialized label name, you can use \cmd{cmpdinit} like this:
\begin{beschreibung}
- \Befehl{cmpdinit}[\key{init-strict}{true}]{<comma separated list ...>}
+ \Befehl{cmpdinit}[\key{init-strict}{true}]{<comma separated list ...>}
\end{beschreibung}
-A usage of \key{init-strict}{false} would be the usage without optional argument.
-Of course the *-version has the same option.
+A usage of \key{init-strict}{false} would be the usage without optional
+argument. Of course the *-version has the same option.
-With \key{init-strict}{true} the \LaTeX\ run will be aborted with a corresponding
-error message, if a label name is used that hasn't been initialized before.
+With \key{init-strict}{true} the \LaTeX\ run will be aborted with a
+corresponding error message, if a label name is used that hasn't been
+initialized before.
Of course you can use \cmd{cmpdinit} with both options
\begin{beschreibung}
- \Befehl{cmpdinit}[\key{init-strict}{true}, \key{init-sub}{true}]{<comma separated list ...>}
+ \Befehl{cmpdinit}[\key{init-strict}{true}, \key{init-sub}{true}]{<comma separated list ...>}
\end{beschreibung}
or use \cmd{cmpdsetup}, see section~\ref{sec:cmpdsetup}.
\subsection{Customized input}
-When you're using other tokens for \key{sub-input-sep} (page~\pageref{sssec:sub-input-sep})
-or \key{sublist-input-sep} (page~\pageref{sssec:list-input-sep}), you have to
-use them with \cmd{cmpdinit} as well.
+When you're using other tokens for \key{sub-input-sep}
+(page~\pageref{sssec:sub-input-sep}) or \key{sublist-input-sep}
+(page~\pageref{sssec:list-input-sep}), you have to use them with
+\cmd{cmpdinit} as well.
A change of \key{list-input-sep} (page \pageref{sssec:list-input-sep}) doesn't
-affect \cmd{cmpdinit}. If you want to change the input of \cmd{cmpdinit} you need
-to use \key{init-input-sep}, see section~\ref{sssec:init-input-sep} on
+affect \cmd{cmpdinit}. If you want to change the input of \cmd{cmpdinit} you
+need to use \key{init-input-sep}, see section~\ref{sssec:init-input-sep} on
page~\pageref{sssec:init-input-sep}.
\subsection{Why initiate labels?}
As mentioned in the beginning of this section the initiation of labels is not
-required. There are two possible reasons, why one would like to use them, anyway.
+required. There are two possible reasons, why one would like to use them,
+anyway.
\begin{enumerate}
- \item The use of \cmd[cmpdinita]{cmpdinit*} is a way to keep track of which labels
- you have used and gives you a warning/error message if you use a new one or just
- have mispelled an existing one. Depending on the number of labels you (have to)
- use, this can be lots of additional work, though.
- \item The use of \cmd{cmpdinit} does the same thing as \cmd[cmpdinita]{cmpdinit*}
- \emph{and} declares all the labels in the given order. So if you use it, you
- won't have to use \cmd[cmpda]{cmpd*} (section~\ref{cmd:unsichtbares_label}) and
- \cmd[cmpdb]{cmpd+} (section~\ref{cmd:cmpd_plus}). This gives you direct control,
- which number is given to which compound.
+ \item The use of \cmd[cmpdinita]{cmpdinit*} is a way to keep track of which
+ labels you have used and gives you a warning/error message if you use a
+ new one or just have mispelled an existing one. Depending on the number
+ of labels you (have to) use, this can be lots of additional work, though.
+ \item The use of \cmd{cmpdinit} does the same thing as
+ \cmd[cmpdinita]{cmpdinit*} \emph{and} declares all the labels in the given
+ order. So if you use it, you won't have to use \cmd[cmpda]{cmpd*}
+ (section~\ref{cmd:unsichtbares_label}) and \cmd[cmpdb]{cmpd+}
+ (section~\ref{cmd:cmpd_plus}). This gives you direct control, which
+ number is given to which compound.
\end{enumerate}
\secidx*{Initialize labels}
\section{Resetting the counter}\label{sec:cmpdreset}\secidx{Reset the counter}
With the command
\begin{beschreibung}
- \Befehl{cmpdreset}[<number>]
+ \Befehl{cmpdreset}[<number>]
\end{beschreibung}
-it is possible to reset the counter. Without argument it is reset to \verb=1=. So
-\cmd{cmpdreset} and \cmd{cmpdreset}[1] are the same. Unlike most other \chemnum
-commands its impact is not only inside the local \TeX\ group but resets the
-counter globally.
+it is possible to reset the counter. Without argument it is reset to
+\verb=1=. So \cmd{cmpdreset} and \cmd{cmpdreset}[1] are the same. Unlike
+most other \chemnum commands its impact is not only inside the local \TeX\
+group but resets the counter globally.
\begin{beispiel}
\cmpdreset The numbering starts with 1 again: \cmpd{h, i, j}
\end{beispiel}
-\achtung{You should be careful with how you use this command! Usually it cannot
-be recommended to reset the counter. Different compounds can get the same label!}
+\achtung{%
+ You should be careful with how you use this command! Usually it cannot be
+ recommended to reset the counter. Different compounds can get the same
+ label!%
+}
\begin{beispiel}
Same label: \cmpd{a}, \cmpd{h}
@@ -551,41 +631,47 @@ be recommended to reset the counter. Different compounds can get the same label!
\section{Special usage}\secidx{Special usage}
\subsection{Moving arguments -- section titles}
-Using \cmd{cmpd} inside a section title in the first instant doesn't seem to be
-a problem. This doesn't give any errors and the output looks like expected:
+Using \cmd{cmpd} inside a section title in the first instant doesn't seem to
+be a problem. This doesn't give any errors and the output looks like
+expected:
\begin{beispiel}[code only]
\section{Compound \cmpd[cmpd-delim]{b}}
\ldots
\end{beispiel}
However, if you use \verb=\tableofcontents= -- which is rather probable, I
guess -- something unwanted happens: because the table of contents is at the
-beginning of the document, the label is declared in the table of contents instead
-of at the first appearance in the text. There are two ways to circumvent this:
+beginning of the document, the label is declared in the table of contents
+instead of at the first appearance in the text. There are two ways to
+circumvent this:
\begin{enumerate}
- \item You declare your labels in the order you want with \cmd{cmpdinit}{}= (see
- page~\pageref{sec:cmpdinit}) in the preamble or the beginning of the document.
- \item You use \cmd[cmpdb]{cmpd+} to set the label. It will read the label from
- the file \verb=<jobname>.cmpd= (supposing your main file is called \verb=<jobname>.tex=).
- This means \emph{at least two}, maybe more \LaTeX\ runs are necessary until
- all labels are set.
+ \item You declare your labels in the order you want with \cmd{cmpdinit}{}=
+ (see page~\pageref{sec:cmpdinit}) in the preamble or the beginning of the
+ document.
+ \item You use \cmd[cmpdb]{cmpd+} to set the label. It will read the label
+ from the file \verb=<jobname>.cmpd= (supposing your main file is called
+ \verb=<jobname>.tex=). This means \emph{at least two}, maybe more \LaTeX\
+ runs are necessary until all labels are set.
\end{enumerate}
-The same is true for any other list of moving arguments that is created \emph{before}
-the actual appearance of the label in the text.
+The same is true for any other list of moving arguments that is created
+\emph{before} the actual appearance of the label in the text.
The command\label{cmd:cmpd_plus}
\begin{beschreibung}
- \Befehl[cmpdb]{cmpd+}\ma{<label name>}
+ \Befehl[cmpdb]{cmpd+}\ma{<label name>}
\end{beschreibung}
-reads the label name that is to be printed from \verb=\jobname.cmpd=. In a way
-this is the opposite of \cmd[cmpda]{cmpd*} since it doesn't declare a label but
-only references and prints it. So in order to use \cmd[cmpdb]{cmpd+}{<label>},
-\verb=<label>= must have been declared, either with \cmd{cmpd}{<label>} or with
-\cmd[cmpda]{cmpd*}{<label>}. It doesn't matter, if this declaration is done before
-or after the usage of \cmd[cmpdb]{cmpd+}. This command is useful, if the label is
-used inside a moving argument like in \verb=\section{}=.
-
-\achtung{It is not needed when \cmd{cmpdinit} is used, see section~\ref{sec:cmpdinit}
-(pages~\pageref{sec:cmpdinit}\,ff).}
+reads the label name that is to be printed from \verb=\jobname.cmpd=. In a
+way this is the opposite of \cmd[cmpda]{cmpd*} since it doesn't declare a
+label but only references and prints it. So in order to use
+\cmd[cmpdb]{cmpd+}{<label>}, \verb=<label>= must have been declared, either
+with \cmd{cmpd}{<label>} or with \cmd[cmpda]{cmpd*}{<label>}. It doesn't
+matter, if this declaration is done before or after the usage of
+\cmd[cmpdb]{cmpd+}. This command is useful, if the label is used inside a
+moving argument like in \verb=\section{}=.
+
+\achtung{%
+ It is not needed when \cmd{cmpdinit} is used, see section~\ref{sec:cmpdinit}
+ (pages~\pageref{sec:cmpdinit}\,ff).%
+}
\begin{beispiel}[code only]
\subsubsection{Test section title with compound label \cmpd+[cmpd-delim]{f.one}}
@@ -594,9 +680,9 @@ used inside a moving argument like in \verb=\section{}=.
\end{beispiel}
\subsection{Floating environments}\cmpdinit*{float1,float2}
-The usage of \cmd{cmpd} inside a float shouldn't be a problem: labels are declared
-in the order the floating environment appears in the code. However, to be on the
-safe side you can of course use \cmd[cmpdb]{cmpd+} here as well.
+The usage of \cmd{cmpd} inside a float shouldn't be a problem: labels are
+declared in the order the floating environment appears in the code. However,
+to be on the safe side you can of course use \cmd[cmpdb]{cmpd+} here as well.
\begin{beispiel}[code and float]
% preamble:
% \usepackage{chemscheme}
@@ -614,16 +700,16 @@ instance by using the option \verb=[t]=.
\cmpdinit*{Alc,EtherBr,cpd}
\subsection{Schemes created by external programs}\label{ssec:cmpdref}\secidx{Schemes by external programs}
-If you create your schemes by external programs like for \eg \prog{ChemDraw} or
-\prog{Marvin\-Sketch}, and want to use \chemnum with them as well, you can use
-this command:
+If you create your schemes by external programs like for \eg \prog{ChemDraw}
+or \prog{Marvin\-Sketch}, and want to use \chemnum with them as well, you can
+use this command:
\begin{beschreibung}
- \Befehl{cmpdref}[<tag>]\oa{<options>}\ma{<label name>}
- \Befehl[cmpdrefa]{cmpdref+}[<tag>]\oa{<options>}\ma{<label name>}
+ \Befehl{cmpdref}[<tag>]\oa{<options>}\ma{<label name>}
+ \Befehl[cmpdrefa]{cmpdref+}[<tag>]\oa{<options>}\ma{<label name>}
\end{beschreibung}
This command is inspired by the \verb=\schemeref= command from the package
-\paket{chemscheme}. It works in a very similar way. You create the scheme and save
-it with temporary labels as an \verb=eps= file.
+\paket{chemscheme}. It works in a very similar way. You create the scheme
+and save it with temporary labels as an \verb=eps= file.
Like \cmd{cmpd+} the plussed variant only references a label but does not
declare it.
@@ -643,18 +729,20 @@ declare it.
\caption{Scheme with automated labels.}
\end{scheme}
\end{beispiel}
-So you nummerate the compounds with \textsf{TMP1}, \textsf{TMP2} \etc These markers
-will then be replaced with the corresponding labels. Like \paket{chemscheme} \chemnum
-uses the \cmd{psfrag} command of the \paket{psfrag} package to do that. This means
-you have to either compile via \prog{latex}, \prog{dvips}, \prog{ps2pdf}, or for
-instance use the package \paket{auto-pst-pdf} to be able to use \hologo{pdfLaTeX}.
-It doesn't work with \hologo{XeLaTeX}, neither probably with \hologo{LuaLaTeX},
-the author didn't test that, though.
-
-In each case it is important that the marker is saved as \emph{text} in the \verb=eps=
-file.
-
-You can customize the labels with the options presented in section~\ref{sec:cmpdsetup}.
+So you nummerate the compounds with \textsf{TMP1}, \textsf{TMP2} etc. These
+markerswill then be replaced with the corresponding labels. Like
+\paket{chemscheme} \chemnum uses the \cmd{psfrag} command of the
+\paket{psfrag} package to do that. This means you have to either compile via
+\prog{latex}, \prog{dvips}, \prog{ps2pdf}, or for instance use the package
+\paket{auto-pst-pdf} to be able to use \hologo{pdfLaTeX}. It doesn't work
+with \hologo{XeLaTeX}, neither probably with \hologo{LuaLaTeX}, the author
+didn't test that, though.
+
+In each case it is important that the marker is saved as \emph{text} in the
+\verb=eps= file.
+
+You can customize the labels with the options presented in
+section~\ref{sec:cmpdsetup}.
\begin{beispiel}[code and float]
\begin{scheme}[ht]
\centering
@@ -698,44 +786,49 @@ Of course sublabels work in the known way:
\section{Usage with \paket{hyperref}}\label{sec:hyperref}\secidx[Usage with hyperref]{Usage with \textsf{hyperref}}
\subsection{Basics}
-If you are using the package \paket{hyperref} you can make hyperlinked labels in
-your \prog{pdf}.
+If you are using the package \paket{hyperref} you can make hyperlinked labels
+in your \prog{pdf}.
\begin{beschreibung}
- \Option{hyper-use}{\default{true}/false}
+ \Option{hyper-use}{\default{true}|false}\Default{false}
+ Link labels with \paket{hyperref}'s hyperlink commands.
\end{beschreibung}
Setting this option (see section~\ref{sec:cmpdsetup} for more information) to
\code{true}, the next usage of a label will create a link target and the ones
-after that will create links to this target. This only works if the label does
-\emph{not} contain a list or range of sublabels. Also a label set with \cmd[cmpda]{cmpd*}
-can't be marked as target.
+after that will create links to this target. This only works if the label
+does \emph{not} contain a list or range of sublabels. Also a label set with
+\cmd[cmpda]{cmpd*} can't be marked as target.
\begin{beispiel}
\cmpdsetup{hyper-use}
- The first time targets are created: \cmpd{a.two,b,c,d,e,f}. Then links are created:
- \cmpd{a.two,d,e}.
+ The first time targets are created: \cmpd{a.two,b,c,d,e,f}. Then links are
+ created: \cmpd{a.two,d,e}.
- This doesn't work with labels containing a list of sublabels: \cmpd{a,f.{one,two},c}.
- Since \cmpd{a.two} and \cmpd{a} are different labels they have different link targets.
+ This doesn't work with labels containing a list of sublabels:
+ \cmpd{a,f.{one,two},c}. Since \cmpd{a.two} and \cmpd{a} are different labels
+ they have different link targets.
\end{beispiel}
\subsection{Selected usage}
-Maybe the automated use isn't what you want or need. Maybe is is enough to create
-a hyperlink in one or two places. This can be achieved with two options:
+Maybe the automated use isn't what you want or need. Maybe is is enough to
+create a hyperlink in one or two places. This can be achieved with two
+options:
\begin{beschreibung}
- \Option{hyper-target}{<link name>}
- \Option{hyper-link}{<link name>}
+ \Option{hyper-target}{<link name>}\Default{}
+ Set a hyperlink target.
+ \Option{hyper-link}{<link name>}\Default{}
+ Set a hyperlink.
\end{beschreibung}
-With \key{hyper-target} you can set the target. \textbf{Caution}: if you use this
-option with a list \emph{every} label of the list will get the same link name and
-\paket{hyperref} will warn you:
+With \key{hyper-target} you can set the target. \textbf{Caution}: if you use
+this option with a list \emph{every} label of the list will get the same link
+name and \paket{hyperref} will warn you:
\begin{mdframed}\ttfamily\small
destination with the same identifier (name\{<link name>\}) has been already
used, duplicate ignored
\end{mdframed}
-\key{hyper-link} creates a link for the denominated target. \textbf{Caution}: if
-you use this option with a list \emph{every} label of the list will refer to the
-same target.
+\key{hyper-link} creates a link for the denominated target. \textbf{Caution}:
+if you use this option with a list \emph{every} label of the list will refer
+to the same target.
\begin{beispiel}
Create a link \cmpd[hyper-link=mylink,cmpd-all]{f} but don't forget the
corresponding target: \cmpd[hyper-target=mylink,cmpd-all]{f}.
@@ -751,36 +844,44 @@ If you use \key{hyper-link} without the corresponding \key{hyper-target}
\section{Customization}\label{sec:cmpdsetup}
\subsection{The principle}
-\chemnum is customized with a key-value system. They can either be used for all
-following commands with
+\chemnum is customized with a key-value system. They can either be used for
+all following commands with
\begin{beschreibung}
- \Befehl{cmpdsetup}{key1 = value1, key2 = value2}
+ \Befehl{cmpdsetup}{key1 = value1, key2 = value2}
\end{beschreibung}
or only for a single command directly with
\begin{beschreibung}
- \Befehl{cmpd}[key1 = value1, key2 = value2]{<label name>}
+ \Befehl{cmpd}[key1 = value1, key2 = value2]{<label name>}
\end{beschreibung}
-If you use keys without values like \cmd{cmpdsetup}{key1,key2}, default values\label{opt:default}
-are used. These are \emph{not} necessarily empty are \emph{not} necessarily the
-default setting of \chemnum.
+If you use keys without values like \cmd{cmpdsetup}{key1,key2}, default
+values\label{opt:default} are used. These are \emph{not} necessarily empty
+are \emph{not} necessarily the default setting of \chemnum.
-The options are divided in to different classes\label{key_classes}, which indicate
-the scope they're used for. They all follow the form \verb+<class>-option = <value>+:
+The options are divided in to different classes\label{key_classes}, which
+indicate the scope they're used for. They all follow the form
+\verb+<class>-option = <value>+:
\begin{itemize}
- \item \code{cmpd}: These options change the whole label or the main label.
- \item \code{sub}, \code{sublist}, \code{subref}: These options have an impact on sublabels.
- \item \code{list}: Options which change the output of lists.
- \item \code{ref}: Options which have an impact on \cmd{cmpdref}.
- \item \code{hyper}: Options which have an impact on the usage with \paket{hyperref}.
- \item \code{init}: Options which have an impact in the initialization of the labels.
+ \item \code{cmpd}: These options change the whole label or the main label.
+ \item \code{sub}, \code{sublist}, \code{subref}: These options have an
+ impact on sublabels.
+ \item \code{list}: Options which change the output of lists.
+ \item \code{ref}: Options which have an impact on \cmd{cmpdref}.
+ \item \code{hyper}: Options which have an impact on the usage with
+ \paket{hyperref}.
+ \item \code{init}: Options which have an impact in the initialization of the
+ labels.
\end{itemize}
\subsection{Font style}\label{ssec:schriftstil}\secidx{Font style}
With the keys
\begin{beschreibung}
- \Option{cmpd-style}{<style>}
- \option{cmpd-weight}{bold/normal} Default = \code{bold}
+ \Option{cmpd-style}{<style>}\Default{}
+ formatting commands for the labels. The last command can demand an
+ argument.
+ \Option{cmpd-weight}{bold|normal}\Default{bold}
+ setting labels in bold series. The setting for this is extra since greek
+ labels internally have to be treated a little differently.
\end{beschreibung}
you can change the style with which the labels are printed.
@@ -796,16 +897,15 @@ you can change the style with which the labels are printed.
\cmpd[cmpd-weight=normal]{a, b, f.two, k}
\end{beispiel}
The separate handling of the bold face is because of the greek labels (see
-section~\ref{ssec:counter}). Depending on the package option \code{textgreek},
-the bold face must realized differently.
+section~\ref{ssec:counter}). Depending on the package option
+\code{textgreek}, the bold face must realized differently.
\secidx*{Font style}
\subsection{Own labels}\label{ssec:own_labels}\secidx{Own labels}
-With the key
\begin{beschreibung}
- \Option{cmpd-label}{<label>}
+ \Option{cmpd-label}{<label>}\Default{}
+ This key let's you choose the label associated with the label name.
\end{beschreibung}
-one can choose the label associated with the label name.
\begin{beispiel}
Own label: \cmpd[cmpd-label = XYZ]{l}; in a list \emph{all new compounds} get
@@ -814,43 +914,53 @@ one can choose the label associated with the label name.
\secidx*{Own labels}
\subsection{Markers in images}\secidx{Markers in images}\label{ssec:marker_in_bildern}
-There are several options that affect labels in external images placed with \cmd{cmpdref}.
+There are several options that affect labels in external images placed with
+\cmd{cmpdref}.
\begin{beschreibung}
- \option{ref-marker}{<marker>} This changes the default marker that is to be
- replaced. Default = \code{TMP}
- \option{ref-pos}{\{<tex-pos>\}\{<ps-pos>\}} Default = \code{bb}
- \option{ref-style}{<style>} change the format of the labels in external schemes.
- Default = \verb=\sffamily=
+ \Option{ref-marker}{<marker>}\Default{TMP}
+ This changes the default marker that is to be replaced.
+ \Option{ref-pos}{\{<tex-pos>\}\{<ps-pos>\}}\Default{bb}
+ explained below
+ \Option{ref-style}{<style>}\Default{\cmd*{sffamily}}
+ change the format of the labels in external schemes.
\end{beschreibung}
With \key{ref-pos} you can change the default way how \cmd{cmpdref} places the
-label. The command \cmd{psfrag} that is used internally has two options for that.
-The first one determines the position of the \TeX-replacement, the second one how
-it is placed in the box from the marker that is replaced. For details please refer
-to the documentation of \paket{psfrag}.
+label. The command \cmd{psfrag} that is used internally has two options for
+that. The first one determines the position of the \TeX-replacement, the
+second one how it is placed in the box from the marker that is replaced. For
+details please refer to the documentation of \paket{psfrag}.
\secidx*{Markers in images}
\subsection{Counter}\label{ssec:counter}\secidx{Counter}
You can change the format of the counters, too, if you like.
\begin{beschreibung}
- \option{cmpd-counter}{arabic/alph/Alph/greek/Greek/roman/Roman/Symbol} Default = \code{arabic}
- \option{sub-counter}{arabic/alph/Alph/greek/Greek/roman/Roman/Symbol} Default = \code{alph}
+ \Option{cmpd-counter}{arabic|alph|Alph|greek|Greek|roman|Roman|Symbol}\Default{arabic}
+ The counter format for the main labels.
+ \Option{sub-counter}{arabic|alph|Alph|greek|Greek|roman|Roman|Symbol}\Default{alph}
+ The counter format for sublabels.
\end{beschreibung}
-Please note: a change of format only affects labels \emph{which are not yet declared}!
+Please note: a change of format only affects labels \emph{which are not yet
+ declared}!
\begin{beispiel}
\cmpdsetup{cmpd-counter = Alph, sub-counter = arabic}
- \cmpd{a, b, f.two, k}\\ % no affect with existing labels
+ % no affect with existing labels
+ \cmpd{a, b, f.two, k}\\
\cmpd{n.one,n.two,o.one}\\
- \cmpd{f.three,f.four}\\ % be careful: the main label already exists and isn't changed!
+ % be careful: the main label already exists and isn't changed!
+ \cmpd{f.three,f.four}\\
\cmpd[cmpd-counter,sub-counter = greek]{p.one,p.two}
\end{beispiel}
\secidx*{Counter}
\subsection{Delimiters}\secidx{Delimiters}
-Both single labels and whole lists can get delimiters. This is done with the options
+Both single labels and whole lists can get delimiters. This is done with the
+options
\begin{beschreibung}
- \option{cmpd-delim}{<odelim><cdelim>} values need \emph{two} tokens!
- \option{list-delim}{<odelim><cdelim>} values need \emph{two} tokens!
+ \Option{cmpd-delim}{<odelim><cdelim>}\Default{}
+ Delimiters to the single labels, need to be \emph{two} tokens!
+ \Option{list-delim}{<odelim><cdelim>}\Default{}
+ Delimiters to a list of labels, need to be \emph{two} tokens!
\end{beschreibung}
\begin{beispiel}
\cmpd{a, b, f.two, k}\\ % default
@@ -860,10 +970,10 @@ Both single labels and whole lists can get delimiters. This is done with the opt
\cmpd{a, b, f.two, k} % in braces
\end{beispiel}
Please be aware that the default values (see pages~\pageref{opt:default} and
-\pageref{ssec:keys_uebersicht}) of \key{cmpd-delim} and \key{list-delim} and the
-default setting of \chemnum are \emph{not} the same. By default \chemnum doesn't
-use delimiters. Also please note that the list delimiters only are used if \cmd{cmpd}
-contains at least two label names.
+\pageref{ssec:keys_uebersicht}) of \key{cmpd-delim} and \key{list-delim} and
+the default setting of \chemnum are \emph{not} the same. By default \chemnum
+doesn't use delimiters. Also please note that the list delimiters only are
+used if \cmd{cmpd} contains at least two label names.
\begin{beispiel}
\cmpd{a, b, f.two, k}\\ % default
\cmpd[list-delim = {[}{]}]{a, b, f.two, k}\\ % in braces
@@ -872,19 +982,20 @@ contains at least two label names.
\cmpd{a, b, f.two, k}\\ % in braces
\cmpd{a} % NOT a list!
\end{beispiel}
-If you generally use labels in braces but want to use a single one without braces,
-you have several possibilities:
+If you generally use labels in braces but want to use a single one without
+braces, you have several possibilities:
\begin{beispiel}
\cmpdsetup{cmpd-delim = ()}
- normally: \cmpd{b}, \cmpd{c}, \cmpd{d.one}, but sometimes so \cmpd[cmpd-delim = ]{e}
- or so \cmpd-{e}.
+ normally: \cmpd{b}, \cmpd{c}, \cmpd{d.one}, but sometimes so
+ \cmpd[cmpd-delim = ]{e} or so \cmpd-{e}.
\end{beispiel}
With
\begin{beschreibung}\label{cmd:ohne_begrenzer}
- \Befehl[cmpdc]{cmpd-}\ma{<label name>}
- \Befehl[cmpdrefc]{cmpdref-}\ma{<label name>}
+ \Befehl[cmpdc]{cmpd-}\ma{<label name>}
+ \Befehl[cmpdrefc]{cmpdref-}\ma{<label name>}
\end{beschreibung}
-the braces of single labels can easily be removed (but not the ones of a list).
+the braces of single labels can easily be removed (but not the ones of a
+list).
\begin{beispiel}
\cmpd{a, b, f.two, k}\\ % default
\cmpdsetup{cmpd-delim = (), list-delim = []}
@@ -892,21 +1003,25 @@ the braces of single labels can easily be removed (but not the ones of a list).
\cmpd-{a, b, f.two, k} % braced once
\end{beispiel}
-Using \cmd{cmpdsetup}{\key{cmpd-delim}{ }} and \cmd{cmpdsetup}{\key{list-delim}{ }}
-will restore the default behaviour.
+Using \cmd{cmpdsetup}{\key{cmpd-delim}{ }} and
+\cmd{cmpdsetup}{\key{list-delim}{ }} will restore the default behaviour.
\secidx*{Delimiters}
\subsection{Suffix and prefix}\secidx{Suffix and prefix}
If you want to, you can also add a prefix and/or a suffix to a compound and/or a
list.
\begin{beschreibung}
- \Option{cmpd-prefix}{<prefix>}
- \Option{cmpd-suffix}{<prefix>}
- \Option{list-prefix}{<prefix>}
- \Option{list-suffix}{<prefix>}
+ \Option{cmpd-prefix}{<prefix>}\Default{}
+ Set a prefix for a label.
+ \Option{cmpd-suffix}{<prefix>}\Default{}
+ Set a suffix for a label.
+ \Option{list-prefix}{<prefix>}\Default{}
+ Set a prefix for a list.
+ \Option{list-suffix}{<prefix>}\Default{}
+ Set a suffix for a list.
\end{beschreibung}
-The same rule as for the delimiters applies: list attributes are only used with
-lists, \ie at least with two items.
+The same rule as for the delimiters applies: list attributes are only used
+with lists, \ie at least with two items.
An example for the label attributes:
\begin{beispiel}
@@ -925,7 +1040,8 @@ An example for the list attributes:
\cmpd{a} % NOT a list!
\end{beispiel}
-Between prefix, label and suffix there is a space inserted as default behaviour:
+Between prefix, label and suffix there is a space inserted as default
+behaviour:
\begin{beispiel}
\cmpd[cmpd-suffix=sx,cmpd-prefix=px]{k}
\end{beispiel}
@@ -940,13 +1056,14 @@ It can be changed with
\subsection{Separators}\label{ssec:trenner}\secidx{Separators}
\subsubsection{Labels -- input}\label{sssec:sub-input-sep}\index{Separators!labels!input}
-As a default setting \chemnum use the point \code{.} as a marker to separate main
-labels from sublabels. You can change that as you like. Tokens you \emph{can't use}
-are \verb=%=, \verb=,= and \verb=#= and \emph{you shouldn't} use \verb=@=. Furthermore
-you should be careful to use different symbols for the other separators (see the
-next sections).
+As a default setting \chemnum use the point \code{.} as a marker to separate
+main labels from sublabels. You can change that as you like. Tokens you
+\emph{can't use} are \verb=%=, \verb=,= and \verb=#= and \emph{you shouldn't}
+use \verb=@=. Furthermore you should be careful to use different symbols for
+the other separators (see the next sections).
\begin{beschreibung}
- \option{sub-input-sep}{<separator>} Default = \code{.}
+ \Option{sub-input-sep}{<separator>}\Default{.}
+ The token that separates sublabels from main labels.
\end{beschreibung}
\begin{beispiel}
\cmpdsetup{sub-input-sep = !}
@@ -956,17 +1073,18 @@ next sections).
\cmpd[sub-input-sep= &]{f&one, g&two}\\
\cmpd[sub-input-sep= *]{f*one, g*two}
\end{beispiel}
-You should -- not only for the sake of consistency -- decide only \emph{once} in
-the beginning of your document \emph{before} the \verb=\tableofcontents= or in
-the preamble, which marker you use. Otherwise, the \verb=\tableofcontents= won't
-know the marker anymore and your labels might be at least displayed wrong in the
-table of contents. Also you need to setup the marker \emph{before} you use it with
-\cmd{cmpd} or \cmd{cmpdinit} etc.
+You should -- not only for the sake of consistency -- decide only \emph{once}
+in the beginning of your document \emph{before} the \verb=\tableofcontents= or
+in the preamble, which marker you use. Otherwise, the \verb=\tableofcontents=
+won't know the marker anymore and your labels might be at least displayed
+wrong in the table of contents. Also you need to setup the marker
+\emph{before} you use it with \cmd{cmpd} or \cmd{cmpdinit} etc.
\subsubsection{Labels -- output}\index{Separators!labels!output}
You can separate the labels from the sublabels if you like to.
\begin{beschreibung}
- \Option{sub-output-sep}{<separator>}
+ \Option{sub-output-sep}{<separator>}\Default{}
+ the separator between main and sublabels in the output.
\end{beschreibung}
\begin{beispiel}
\cmpd{a, b, f.two, f.three, k}\\ % default
@@ -977,13 +1095,14 @@ You can separate the labels from the sublabels if you like to.
\end{beispiel}
\subsubsection{Sublabels -- input}\label{sssec:range-input-sep}\index{Separators!subabels!input}
-As a default setting \chemnum use two points \code{..} as a marker to detect two
-sublabels as end and beginning of a range. But you can choose any tokens you like
-to do that. Tokens you \emph{can't use} are \verb=%=, \verb=,= and \verb=#= and
-\emph{you shouldn't} use \verb=@=. Furthermore you should be careful to use different
-symbols for the other separators.
+As a default setting \chemnum use two points \code{..} as a marker to detect
+two sublabels as end and beginning of a range. But you can choose any tokens
+you like to do that. Tokens you \emph{can't use} are \verb=%=, \verb=,= and
+\verb=#= and \emph{you shouldn't} use \verb=@=. Furthermore you should be
+careful to use different symbols for the other separators.
\begin{beschreibung}
- \option{subrange-input-sep}{<separator>} Default = \code{..}
+ \Option{subrange-input-sep}{<separator>}\Default{..}
+ The tokens that indicate a range of sublabels
\end{beschreibung}
\begin{beispiel}
\cmpd[subrange-input-sep=:]{q.{one:four}}\\
@@ -995,7 +1114,9 @@ symbols for the other separators.
Maybe you don't like the output of \cmpd[cmpd-all]{q} and you want it displayed
differently? Then you need this key:
\begin{beschreibung}
- \option{subrange-output-sep}{<separator>} Default = \verb|--|
+ \Option{subrange-output-sep}{<separator>}\Default{--}
+ The tokens that are placed between the sublabels of a range in the
+ output.
\end{beschreibung}
\begin{beispiel}
\cmpd[subrange-output-sep={ {\normalfont to} }]{q.{one..four}}\\
@@ -1004,14 +1125,17 @@ differently? Then you need this key:
\end{beispiel}
\subsubsection{Lists -- input}\label{sssec:list-input-sep}\index{Separators!lists!input}
-If you like you can change the list input separator for both main label lists and
-lists of sublabels. In both cases \chemnum uses the comma \code{,} as default. You
-can change that as you like. Tokens you \emph{can't use} are \verb=%=, \verb=,=
-and \verb=#= and \emph{you shouldn't} use \verb=@=. Furthermore you should be
-careful to use different symbols for the other separators.
+If you like you can change the list input separator for both main label lists
+and lists of sublabels. In both cases \chemnum uses the comma \code{,} as
+default. You can change that as you like. Tokens you \emph{can't use} are
+\verb=%=, \verb=,= and \verb=#= and \emph{you shouldn't} use \verb=@=.
+Furthermore you should be careful to use different symbols for the other
+separators.
\begin{beschreibung}
- \option{list-input-sep}{<separator>} Default = \code{,}
- \option{sub-input-sep}{<separator>} Default = \code{,}
+ \Option{list-input-sep}{<separator>}\Default{,}
+ Separator between main labels in the input.
+ \Option{sub-input-sep}{<separator>}\Default{,}
+ Separator between sublabels in the input.
\end{beschreibung}
\begin{beispiel}
\cmpd{a, b, f.two, k}\\ % default
@@ -1020,19 +1144,21 @@ careful to use different symbols for the other separators.
\cmpdsetup{list-input-sep = ;}
\cmpd{a; b; f.two; k}
\end{beispiel}
-With this you can for example use IUPAC names as label names\footnote{Thanks to
-Christina L\"udigk who in a way suggested this feature.}.
+With this you can for example use IUPAC names as label names\footnote{Thanks
+ to Christina L\"udigk who in a way suggested this feature.}.
\begin{beispiel}
\cmpdsetup{list-input-sep=;}
\cmpd{1,3-dichlorocyclohexanole}
\end{beispiel}
\subsubsection{Lists -- output}\label{sssec:list-output-sep}\index{Separators!lists!output}
-You can change the separator symbol with which lists are printed as well. \chemnum
-uses the comma for both cases in the default setting.
+You can change the separator symbol with which lists are printed as
+well. \chemnum uses the comma for both cases in the default setting.
\begin{beschreibung}
- \option{list-output-sep}{<separator>} Default = \code{,}
- \option{sub-output-sep}{<separator>} Default = \code{,}
+ \Option{list-output-sep}{<separator>}\Default{,}
+ Separator between main labels in the output of a list.
+ \Option{sub-output-sep}{<separator>}\Default{,}
+ Separator between sublabels in the output of a sublist.
\end{beschreibung}
\begin{beispiel}
\cmpd{a, b, f.two, k}\\ % default
@@ -1043,11 +1169,13 @@ uses the comma for both cases in the default setting.
\end{beispiel}
\subsubsection{Lists -- last separator}\label{sssec:last-sep}\index{Separators!list!last seperator}
-The last separator in the main label list is a special case. \chemnum provides
-two options with which it can be customized.
+The last separator in the main label list is a special case. \chemnum
+provides two options with which it can be customized.
\begin{beschreibung}
- \Option{list-last-sep}{<separator>}
- \option{list-lang}{US/GB/DE/FR/ES/IT} Default = \code{US}
+ \Option{list-last-sep}{<separator>}\Default{}
+ The separator between the last two labels in the output of a list.
+ \Option{list-lang}{US|GB|DE|FR|ES|IT}\Default{US}
+ The language setting for a list.
\end{beschreibung}
\begin{beispiel}
@@ -1058,11 +1186,12 @@ two options with which it can be customized.
\cmpd[list-lang = ES]{a, b, f.two, k} \cmpd[list-lang = ES]{a, b}\\
\cmpd[list-lang = IT]{a, b, f.two, k} \cmpd[list-lang = IT]{a, b}
\end{beispiel}
-As you can see the language \key{list-lang}{US} uses the Harvard comma, all other
-languages don't. You'll find more on language support and the Harvard comma in
-section~\ref{sec:language_support}.
+As you can see the language \key{list-lang}{US} uses the Harvard comma, all
+other languages don't. You'll find more on language support and the Harvard
+comma in section~\ref{sec:language_support}.
-With the key \key{list-last-sep} you also can set the last separator individually.
+With the key \key{list-last-sep} you also can set the last separator
+individually.
\begin{beispiel}
\cmpdsetup{list-lang = GB}%
\cmpd[list-last-sep = {and also}]{a, b, f.two, k}\\
@@ -1071,8 +1200,8 @@ With the key \key{list-last-sep} you also can set the last separator individuall
\cmpd[list-last-sep = empty]{a, b, f.two, k}
\end{beispiel}
-\key{list-last-sep}{empty} is a special value. If it is used, the separator set
-with \key{list-output-sep} is used for the whole list.
+\key{list-last-sep}{empty} is a special value. If it is used, the separator
+set with \key{list-output-sep} is used for the whole list.
\begin{beispiel}
\cmpdsetup{list-last-sep = empty}%
\cmpd{a, b, f.two, k}\\
@@ -1080,14 +1209,16 @@ with \key{list-output-sep} is used for the whole list.
\cmpd[list-output-sep = {\ und}]{a, b, f.two, k}
\end{beispiel}
-\subsubsection{\code{\textbackslash\textcolor{code}{cmpdinit}} -- input}\label{sssec:init-input-sep}\index{Separators!cmpdinit@\textcolor{code}{\code{\textbackslash cmpdinit}}}
-When you've changed the separator for \cmd{cmpd} you might want to change it for
-\cmd{cmpdinit} as well. \chemnum uses the comma in the default setting. You can
-change that as you like. Sie können aber eine beliebige andere Eingabe wählen.
-Tokens you \emph{can't use} are \verb=%=, \verb=,= and \verb=#= and \emph{you
-shouldn't} use \verb=@=.
+\subsubsection{\cmd*{cmpdinit} -- input}\label{sssec:init-input-sep}
+\index{Separators!cmpdinit@\textcolor{code}{\code{\textbackslash cmpdinit}}}
+
+When you've changed the separator for \cmd{cmpd} you might want to change it
+for \cmd{cmpdinit} as well. \chemnum uses the comma in the default setting.
+You can change that as you like. Tokens you \emph{can't use} are
+\verb=%=, \verb=,= and \verb=#= and \emph{you shouldn't} use \verb=@=.
\begin{beschreibung}
- \option{init-input-sep}{<separator>} Default = \code{,}
+ \Option{init-input-sep}{<separator>}\Default{,}
+ The separator for the input of labels in \cmd{cmpdinit}.
\end{beschreibung}
\subsubsection{An example}\label{sssec:input-sep-bsp}
@@ -1105,10 +1236,10 @@ A small example how a customized input could look like:
\section{Language support}\label{sec:language_support}\secidx{Language support}
\subsection{Cooperation with \textsf{babel}}
-\chemnum supports the language choice made with the \paket{babel} package for a
-number of languages. This is done with the \verb=\GetTranslation= command of the
-\paket*{translations}\footnote{\paket*{translations} is part of the
-\paket*{exsheets} bundle.} package.
+\chemnum supports the language choice made with the \paket{babel} package for
+a number of languages. This is done with the \verb=\GetTranslation= command
+of the \paket*{translations}\footnote{\paket*{translations} is part of the
+ \paket*{exsheets} bundle.} package.
\begin{beispiel}
\selectlanguage{ngerman}DE: \cmpd{r,s,t}\\
@@ -1120,37 +1251,40 @@ number of languages. This is done with the \verb=\GetTranslation= command of the
\selectlanguage{italian}IT: \cmpd{r,s,t}
\end{beispiel}
If you find a language missing, please send me an
-email\footnote{\href{mailto:contact@mychemistry.eu}{contatc@mychemistry.eu}} with
-the corresponding \textsf{babel} option and the right translation, and I will
-gladly add it.
+email\footnote{\href{mailto:contact@mychemistry.eu}{contatc@mychemistry.eu}}
+with the corresponding \textsf{babel} option and the right translation, and I
+will gladly add it.
\subsection{Harvard comma}\label{ssec:harvard-comma}\secidx{Harvard comma}
-In American English the so-called Harvard comma is quite commonly used. In British
-English and other European languages it is rather uncommon.
+In American English the so-called Harvard comma is quite commonly used. In
+British English and other European languages it is rather uncommon.
\begin{zitat}[\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 \name{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 \name{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.
+ 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 \name{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 \name{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{zitat}
-\chemnum uses the Harvard comma when American English is used and doesn't, when
-other languages are used. However, you have the possibility to disable or enable
-the Harvard comma as you wish:
+\chemnum uses the Harvard comma when American English is used and doesn't,
+when other languages are used. However, you have the possibility to disable
+or enable the Harvard comma as you wish:
\begin{beschreibung}
- \Option{list-serial-comma}{\default{true}/false}
+ \Option{list-serial-comma}{\default{true}|false}\Default{true}
+ (De-) Activate the serial comma.
\end{beschreibung}
\begin{beispiel}
@@ -1158,8 +1292,8 @@ the Harvard comma as you wish:
\selectlanguage{american}US: \cmpd[list-serial-comma=false]{r,s,t} vs. \cmpd{r,s,t}
\end{beispiel}
If you choose the language manually, please note that this resets the default
-behaviour for that language. This means you have to use \key{list-serial-comma}
-\emph{after} \key{list-lang}.
+behaviour for that language. This means you have to use
+\key{list-serial-comma} \emph{after} \key{list-lang}.
\begin{beispiel}
wrong: \cmpdsetup{list-serial-comma=false, list-lang=US}\cmpd{r,s,t}\\
right: \cmpdsetup{list-lang=US, list-serial-comma=false}\cmpd{r,s,t}
@@ -1255,11 +1389,16 @@ listed.
\appendix
\addsec{Credits}
-I would like to thank Joseph \name{Wright} and Russell \name{Hewitt} who provided
-me with valuable feedback and suggestions to improve \chemnum.
+I would like to thank Joseph \name{Wright} and Russell \name{Hewitt} who
+provided me with valuable feedback and suggestions to improve \chemnum.
-Many thanks also to Jonas \name{Rivetti} who provided the Italian translation.
+Many thanks also to Jonas \name{Rivetti} who provided the Italian
+translation.
+\indexprologue{%
+ Section headings are typeset \textbf{bold}, packages \textsf{sans serif},
+ commands \textcolor{code}{brown}, and options \textcolor{key}{yellow}.%
+}
\printindex
-\end{document} \ No newline at end of file
+\end{document}
diff --git a/Master/texmf-dist/doc/latex/chemnum/chemnum_it.pdf b/Master/texmf-dist/doc/latex/chemnum/chemnum_it.pdf
deleted file mode 100644
index d6c315c197f..00000000000
--- a/Master/texmf-dist/doc/latex/chemnum/chemnum_it.pdf
+++ /dev/null
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/chemnum/chemnum_it.tex b/Master/texmf-dist/doc/latex/chemnum/chemnum_it.tex
deleted file mode 100644
index 8b40798cd1a..00000000000
--- a/Master/texmf-dist/doc/latex/chemnum/chemnum_it.tex
+++ /dev/null
@@ -1,1337 +0,0 @@
-% arara: pdflatex: { shell: on }
-% arara: makeindex: { sort: true, style: chemnum_de.ist }
-% arara: pdflatex: { shell: on }
-% arara: pdflatex: { shell: on }
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% - chemnum - chemnum_it.tex
-% - a comprehensive approach for the numbering of chemical compounds
-% -----------------------------------------------------------------------------
-% - Clemens NIEDERBERGER
-% -
-% - contact@mychemistry.eu
-% -----------------------------------------------------------------------------
-% - If you have any ideas, questions, suggestions or bugs to report, please
-% - feel free to contact me.
-% -----------------------------------------------------------------------------
-% - Copyright 2011-2013 Clemens Niederberger
-% -
-% - This work may be distributed and/or modified under the
-% - conditions of the LaTeX Project Public License, either version 1.3
-% - of this license or (at your option) any later version.
-% - The latest version of this license is in
-% - http://www.latex-project.org/lppl.txt
-% - and version 1.3 or later is part of all distributions of LaTeX
-% - version 2005/12/01 or later.
-% -
-% - This work has the LPPL maintenance status `maintained'.
-% -
-% - The Current Maintainer of this work is Clemens Niederberger.
-% -
-% - This work consists of the files
-% - chemnum.sty, chemnum_de.tex, chemnum_en.tex, chemnum_it.tex
-% - scheme-tmp.ps, scheme-bla.ps,
-% - README
-% - chemnum_de.pdf, chemnum_en.pdf, chemnum_it.pdf
-% -
-% - in order to compile this document you need the class `cnpkgdoc' with is
-% - available under the LPPL here: https://bitbucket.org/cgnieder/cnpkgdoc/
-% -
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\RequirePackage[german,naustrian,austrian,english,british,american,canadian,frenchb,
- canadien,spanish,ngerman,italian]{babel}
-\RequirePackage[textgreek=artemisia]{chemnum}
-\documentclass[DIV11,toc=index]{cnpkgdoc}
-\docsetup{
- pkg = chemnum,
- language = it,
- code-box = {skipabove=1ex,skipbelow=1ex}
-}
-\usepackage{fnpct}
-\addcmds{
- @m,arrow,bf,
- ch,chemfig,chemname,cmpd,cmpdinit,cmpdref,cmpdreset,cmpdsetup,
- CNlabel,CNlabelnoref,CNref,CNlabelsub,CNlabelsubnoref,CNrefsub,
- color,compound,compoundprefix,compoundsuffix,
- declarecompound,fcite,GetTranslation,
- includegraphics,midrule,penalty,psfrag,renewcommand,
- schemename,schemestart,
- schemestop,selectlanguage,setarrowoffset,setatomsep,setcompoundsep,
- setdoublesep,section,sf,subsection,subsubsection,
- tableofcontents,texorpdfstring,textcolor,theffbibliography,
- uline
-}
-
-\usepackage{textcomp,longtable,tabu,booktabs,chemscheme,hologo}
-\usepackage[iupac=strict]{chemmacros}
-\chemsetup[chemformula]{format=\libertineLF}
-\usepackage{chemfig}
-\usepackage[runs=2]{auto-pst-pdf}
-
-\usepackage{filecontents}
-\begin{filecontents*}{\jobname.ist}
- preamble "\\begin{theindex}\n I titoli di paragrafo sono resi in \\textbf{nero},
- i pacchetti \\textsf{senza grazie}, i comandi in \\textcolor{code}{marrone} e
- le chiavi in \\textcolor{key}{verde}.\\newline\n\n"
- heading_prefix "{\\bfseries "
- heading_suffix "\\hfil}\\nopagebreak\n" %FIXME? hfil oder hfill? spielt keine große Rolle wenn \hfil funktioniert
- headings_flag 1
- delim_0 "\\dotfill "
- delim_1 "\\dotfill "
- delim_2 "\\dotfill "
- delim_r "--"
- suffix_2p "\\nohyperpage{\\,s.}"
- suffix_3p "\\nohyperpage{\\,ss.}"
-\end{filecontents*}
-
-\let\prog\textsc
-\let\name\textsc
-\let\CNversion\cnpkgdocpkgversion
-\let\CNdate\cnpkgdocpkgdate
-
-\cmpdinit*{a,aa,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,benzene,r,s,t,{1,3-dichlorocyclohexanole}}
-
-\TitlePicture{%
- \selectlanguage{ngerman}
- \cmpdinit*{glucose.alpha, glucose.beta, glucose.chain}
- \cmpd*[sub-counter = greek]{glucose.alpha, glucose.beta}\cmpd*{glucose.chain}
- \setatomsep{2em}
- \definesubmol{x}{(-[4]H)(-[0]OH)}
- \definesubmol{y}{(-[0]H)(-[4]HO)}
- \begin{scheme}[h]
- \centering\small
- \schemestart
- \chemfig{?(-[:-170]HO)-[:-50](-[:170]HO)-[:10](-[:-55,0.7]OH)-[:-10](-[6,0.8]OH)-[:130]O-[:-170]?(-[:150,0.7]-[2,0.7]OH)}
- \arrow(alpha--chain){<=>}
- \chemfig{[2]OH-[3]-!x-!x-!y-!x-=[1]O}
- \arrow(--beta){<=>}
- \chemfig{?(-[:-170]HO)-[:-50](-[:170]HO)-[:10](-[:-55,0.7]OH)-[:-10](-[:10]OH)(-[6,,,,draw=none]\vphantom{OH})-[:130]O-[:-170]?(-[:150,0.7]-[2,0.7]OH)}
- \arrow(@chain--chainlabel){0}[-90,.2] \normalsize\cmpd[cmpd-delim]{glucose.chain}
- \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{L'anomero \a{} e l'anomero \b{} del \D-glucosio
- \cmpd[list-delim,list-lang=IT]{glucose.alpha,glucose.beta} in soluzione sono
- in equilibrio attraverso la forma a catena aperta \cmpd[cmpd-delim]{glucose.chain}.}
- \end{scheme}}
-
-\newcommand{\pes}{p.\,es.\ }
-
-\makeindex
-\begin{document}
-\selectlanguage{italian}\cmpdreset
-
-\section{Un Leggimi molto breve}
-\chemnum \CNversion\ è pubblicato sotto la \LaTeX{} Project Public License
-versione~1.3 o successive. (\url{http://www.latex-project.org/lppl.txt})
-
-Internamente \chemnum richiama i pacchetti \paket*{expl3} e \paket{xparse}.
-\paket{xparse} fa parte del bundle \paket{l3packages}, \paket*{expl3} fa parte
-del bundle \paket{l3kernel}; ciò significa che \chemnum richiede il supporto di
-\LaTeX3.
-
-\chemnum richiede inoltre i pacchetti \paket{etoolbox} e \paket{psfrag} e a
-seconda delle opzioni globali di pacchetto\footnote{d'ora in poi chiamate
-<<opzioni globali>>} impostate alternativamente uno tra i pacchetti
-\paket{textgreek} o \paket{bm} (vedi il paragrafo~\ref{sec:package:options}).
-
-\section{Novità e le mie scuse}
-\subsection{Versione 0.4}
-Con l'aggiornamento alla v0.4 vi sono stati alcuni cambiamenti riguardanti le
-opzioni. Se ne sono aggiunte alcune nuove, e alcune delle preesistenti hanno
-variato nome: ho riassegnato dei nomi tra di loro più consistenti, che a mio
-parere rispecchiano la loro funzione in modo più intuitivo. Per questo motivo
-può accadere che alcuni documenti creati con una versione precedente di \chemnum
-non si lascino più compilare correttamente; di questo vorrei scusarmi. \chemnum
-si trova ancora in fase di sviluppo; quando sarà raggiunta la v1.0, non avverranno
-più\footnote{o solo in casi eccezionali} cambiamenti di questo tipo.
-
-Le opzioni seguenti hanno dei nomi nuovi:
-\begin{center}
- \begin{tabular}{ll}\toprule
- \bfseries nome vecchio & \bfseries nome nuovo \\\midrule
- \key{cmpd-sep} & \key{sub-output-sep} \\
- \key{sub-marker} & \key{sub-input-sep} \\
- \key{sub-range-sep} & \key{subrange-output-sep} \\
- \key{sub-range-marker} & \key{subrange-input-sep} \\
- \key{strict} & \key{init-strict} \\
- \key{sub-init} & \key{init-sub} \\\bottomrule
- \end{tabular}
-\end{center}
-Queste opzioni sono nuove:
-\begin{center}
- \begin{tabular}{ll}\toprule
- \bfseries opzione & \bfseries descrizione \\\midrule
- \key{sublist-output-sep} & Simboli di elenco nelle etichette come
- \cmpd{bsp.{one,two}}, vedi a pagina~\pageref{sssec:list-output-sep}. \\
- \key{sublist-input-sep} & Input di etichette come \cmpd{bsp.{one,two}}, vedi
- a pagina~\pageref{sssec:list-input-sep}. \\
- \key{init-input-sep} & Input con \cmd{cmpdinit}, vedi a
- pagina~\pageref{sssec:init-input-sep}. \\
- \key{hyper-use} & Impiego di hyperlink, vedi a pagina~\pageref{sec:hyperref}. \\
- \key{hyper-target} & \\
- \key{hyper-link} & \\
- \key{ref-style} & Rappresentazione delle etichette con \cmd{cmpdref},
- vedi le pagine~\pageref{ssec:cmpdref} e~\pageref{ssec:schriftstil}. \\\bottomrule
- \end{tabular}
-\end{center}
-
-È nuovo anche il modo di inserire elenchi e intervalli di subetichette; per questo
-motivo l'opzione \key{sub-list} scompare. Per i dettagli si veda il
-paragrafo~\ref{ssec:sub_ranges}.
-
-Inoltre è possibile generare dei collegamenti ipertestuali alle etichette, ammesso
-che venga caricato \paket{hyperref} (vedi il paragrafo~\ref{sec:hyperref}).
-
-\subsection{Versione 0.5}
-Dalla v0.5 esiste l'opzione \key{ref-pos} che permette di modificare le opzioni
-di posizionamento del comando \cmd{psfrag}, utilizzato internamente da
-\cmd{cmpdref} (vedi a pagina~\pageref{ssec:marker_in_bildern}).
-
-\achtung{L'ordine degli argomenti opzionali del comando \cmd{cmpdref} è variato
-(vedi a pagina~\pageref{ssec:cmpdref}!}
-
-\section{Opzioni globali}\label{sec:package:options}\secidx{opzioni globali}
-\chemnum ha un'opzione globale
-\begin{beschreibung}
- \Option{textgreek}{artemisia/\default{cbgreek}/euler/false} Default: \code{false}
-\end{beschreibung}
-Con questa opzione si può selezionare uno dei tre stili del pacchetto
-\paket{textgreek}\footnote{Per i dettagli si rimanda alla documentazione del
-pacchetto \paket*{textgreek}.} o caricare \chemnum senza \paket{textgreek}.
-Questo documento è stato compilato con \verb+\usepackage[textgreek=artemisia]{chemnum}+.
-\secidx*{opzioni globali}
-
-\section{Motivazione}
-Finora per la numerazione di composti era possibile impiegare tre pacchetti (di
-mia conoscenza), ciascuno con i suoi difetti e le sue debolezze.
-
-Il primo, \paket{chemcono}, a questo scopo ridefinisce comandi bibliografici; i
-composti debbono essere definiti in una sorta di elenco di letteratura, alla quale
-si può fare riferimento nel testo. Dato che la ``biblioteca di composti'' viene
-sempre stampata, l'autore del pacchetto suggerisce il seguente:
-\begin{zitat}[Stefan Schulz]
- After compilation and printout, discard the last page.
-\end{zitat}
-Ovviamente non si tratta di una soluzione ottimale.
-
-Il secondo, \paket{chemcompounds}, è stato creato perché l'autore del pacchetto
-voleva fare a meno dei difetti di \paket{chemcono}. Creando il pacchetto si è
-attenuto allo stesso meccanismo fondamentale di \paket{chemcono}.
-\begin{zitat}[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 \verb=\bibitem= and \verb=\cite= in pretty much
- the same way as \paket{chemcono} does by extracting the corresponding code from
- \verb=article.cls= and \verb=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{zitat}
-Anche questo pacchetto ha le sue debolezze:
-\begin{enumerate}
- \item I composti solitamente devono essere dichiarati con \verb=\declarecompound=,
- certamente se si vogliono etichette del tipo di \cmpd{bsp.one}; in questo caso
- è necessario impostare manualmente le etichette, cosa che fa perdere il senso
- di una numerazione automatica.
- \item Il layout non può essere adattato invidualmente, bensì solo globalmente
- per tutte le etichette.
- \item La numerazione non può essere azzerata. Sebbene nella maggioranza dei casi
- ciò \emph{non è né necessario né consigliabile}, possono esserci dei casi
- particolari in cui si desidera un comportamento di questo tipo.
- \item Un elenco di più composti \verb=\compound{a,b,c}= non può essere adattata
- o solo con grande difficoltà.
-\end{enumerate}
-
-Esiste inoltre \paket{bpchem}, che fornisce comandi simili a \verb=\label= e
-\verb=\ref=: \verb=\CNlabel{}=, \verb=\CNlabelnoref{}= e \verb=\CNref{}=. Inoltre
-aggiunge dei comandi per le subetichette: \verb=\CNlabelsub{}{}=,
-\verb=\CNlabelsubnoref{}{}= e \verb=\CNrefsub{}{}=. È quindi più flessibile degli
-altri; tuttavia non fornisce quasi nessuna modalità di personalizzazione, non
-permette gli elenchi e la presenza di comandi diversi per etichette ed etichette
-con subetichette non è una soluzione ottimale.
-
-\chemnum cerca di superare queste debolezze, e per questa ragione tutti i comandi
-sono stati interamente riscritti. Sono state tuttavia adottate alcune idee di
-\paket{chemcompounds} per le possibilità di rappresentazione, come i delimitatori
-ecc. % FIXME: DEFINIERE \ecc ! \newcommand{\ecc}{ecc.\ }
-% Wenn es Deiner Meinung nach sinnvoll ist, \ecc zu definieren, füge es einfach
-% ein
-
-Se vi dovessero mancare alcune funzionalità, vi prego di comunicarmelo inviandomi
-un'e-mail.
-
-\section{Numerare i composti}\label{sec:nummerieren}
-\subsection{Comando di base}\secidx{comando di base}\cmpdreset
-Il comando fondamentale del pacchetto è
-\begin{beschreibung}
- \Befehl{cmpd}{<label name>}
-\end{beschreibung}
-Alla primo richiamo con \code{<label name>} l'etichetta viene generata e salvata
-(= dichiarata) e restituita. Ad ogni successiva chiamata viene impiegata questa
-etichetta.
-
-\begin{beispiel}
- I composti \cmpd{a} e \cmpd{b} vengono dichiarati e d'ora in poi
- possono essere richiamati in qualunque momento: \cmpd{a}. Non \`e
- necessaria nessuna dichiarazione precedente. I composti come \cmpd{c}
- vengono numerati nell'ordine della loro prima comparsa nel testo.\par
- Ancora una volta: \cmpd{b}, \cmpd{a}, \cmpd{c}.
-\end{beispiel}
-
-Quando dovesse essere necessario dichiarare un composto senza restituirne
-l'etichetta nel testo, nel punto corrispondente si può usare
-\begin{beschreibung}
- \Befehl[cmpda]{cmpd*}\ma{<label name>}\label{cmd:unsichtbares_label}
-\end{beschreibung}
-In questo modo viene dichiarata un'etichetta invisibile che non viene restituita.
-
-\achtung{Questo comando non è necessario quando si impiega \cmd{cmpdinit} (vedi
-paragrafo~\ref{sec:cmpdinit}, a pagina~\pageref{sec:cmpdinit}ss).}
-
-\begin{beispiel}
- La versione nascosta \cmpd*{d} genera l'etichetta senza restituirla.
- Il prossimo \cmpd{e} prosegue con la numerazione. Attraverso \cmpd{d}
- \`e possibile richiamare l'etichetta invisibile generata.
-\end{beispiel}
-
-Come nomi delle etichette è possibile utilizzare un testo arbitrario, ad eccezione
-dei simboli usati come separatori (vedi i sottoparagrafi~\ref{ssec:unterlabel},
-\ref{ssec:listen}, \ref{ssec:sub_ranges} e~\ref{ssec:trenner}). Si consiglia di
-non utilizzare spazi all'interno dell'etichetta: questo non genera degli errori,
-ma potrebbe assegnare lo stesso numero ad etichette diverse.
-
-\lstset{showspaces=true}
-\begin{beispiel}
- \cmpd{aa }, \cmpd{a a }, \cmpd{a a}, \cmpd{ a a}, \cmpd{ aa} e
- \cmpd{ aa } generano tutti la stessa etichetta; come anche \cmpd{aa },
- \cmpd{a a}, \cmpd{ aa} e \cmpd{aa}.
-\end{beispiel}
-\lstset{showspaces=false}\secidx*{comando di base}
-
-\subsection{Subetichette}\label{ssec:unterlabel}\secidx{subetichette}
-Quando si vogliono usare etichette con la forma \cmpd{a.one} lo si può ottenere
-con la sintassi seguente:
-\begin{beschreibung}
- \Befehl{cmpd}{<label name>.<subname>}
-\end{beschreibung}
-\code{<label name>} deve rimanere invariato, mentre \code{<subname>} cambia. Questa
-sintassi significa che il punto \code{.} non deve fare parte né di \code{<label name>}
-né di \code{<subname>}. Al posto del punto è possibile utilizzare anche un separatore
-diverso (vedi il sottosottoparagrafo~\ref{sssec:sub-input-sep}).
-\begin{beispiel}
- \cmpd{f.one} e \cmpd{f.two} sono tra loro molto simili, altrettanto
- vale per \cmpd{g.one} e \cmpd{g.two}. Naturalmente l'etichetta rimane
- uguale anche se richiamata pi\`u avanti: \cmpd{g.two} e \cmpd{f.one}.
-\end{beispiel}
-
-Questa sintassi funziona anche se il nome principale è stato già assegnato.
-\begin{beispiel}
- \cmpd{a} e le sue varianti \cmpd{a.one} e \cmpd{a.two}
-\end{beispiel}
-
-Può anche essere richiamato individualmente il nome principale di etichette
-assegnate in modo combinato.
-\begin{beispiel}
- \cmpd{f} und \cmpd{g}
-\end{beispiel}
-
-Come generare un'etichetta del tipo di \cmpd{f.{one,two}} viene spiegato nel
-sottoparagrafo~\ref{ssec:sub_ranges}.
-\secidx*{subetichette}
-
-\subsection{Elenchi}\label{ssec:listen}\secidx{elenchi}
-In realtà il comando non è stato descritto copmletamente; difatti può essere
-utilizzato anche per più di un'etichetta per volta.
-
-La descrizione corretta del comando dovrebbe essere quindi:
-\begin{beschreibung}
- \Befehl{cmpd}{<(possibly comma separated list of) label name(s)>}
-\end{beschreibung}
-Questo significa che predefinitamente la virgola non può fare parte del nome
-dell'etichetta, se non nascosta tra parentesi graffe. Ciò può essere modificato
-(vedi sottosottoparagrafo~\ref{sssec:list-input-sep} a
-pagina~\pageref{sssec:list-input-sep}).
-
-\begin{beispiel}
- Pi\`u etichette possono essere inseriti separati da virgole. In questo caso viene
- restituita un elenco come \cmpd{a, b, c, e, g.two}.
-\end{beispiel}
-\secidx*{elenchi}
-
-\subsection{Elenchi e intervalli di subetichette}\label{ssec:sub_ranges}\index{subetichette!elenchi}\index{subetichette!intervalli}
-Talvolta può risultare utile o desiderabile riportare un'etichetta con un
-intervallo di subetichette. Supponiamo di avere i composti
-\cmpd{q.one,q.two,q.three,q.four,q.five}, che si distinguono \pes attraverso i
-sostituenti. Talvolta si desidera riferirsi a tutti i composti: \cmpd[cmpd-all]{q}.
-
-Il principio è abbastanza intuitivo -- basta indicare un elenco di subetichette:
-\begin{beispiel}
- elenco di subetichette: \cmpd{q.one, q.two, q.three, q.four, q.five}\\
- etichetta con elenco di subetichette: \cmpd{q.{one,two,three,four,five}}
-\end{beispiel}
-Dato che il subelenco per impostazione predefinita viene inserito con una virgola,
-è necessario indicare il subelenco tra parentesi graffe.
-
-In questo modo è possibile rappresentare anche intervalli di subetichette. Come
-marcatore tra i nomi delle subetichette vengono impiegati due punti \verb=..= .
-\begin{beispiel}
- \cmpd{q.{two..four}}\\
- \cmpd{q.{one,three..five}}\\
- \cmpd{q.{one..three,five}}
-\end{beispiel}
-
-Come impostazione predefinita nell'input dei nomi di subetichette non sono disponibili
-né la virgola ne i due punti consecutivi. Per poterli impiegare nuovamente, utilizzando
-altri simboli come marcatori, si rimanda ai sottosottoparagrafi~\ref{sssec:range-input-sep}
-e~\ref{sssec:list-input-sep}. Nel sottoparagrafo~\ref{sssec:input-sep-bsp} è
-mostrato un esempio per un possibile input alternativo.
-
-\chemnum fornisce un'opzione (vedi il paragrafo~\ref{sec:cmpdsetup} per ulteriori
-spiegazioni) con cui restituire tutte le subetichette come intervallo:
-\begin{beschreibung}
- \Option{cmpd-all}{\default{true}/false}
-\end{beschreibung}
-\begin{beispiel}
- \cmpd[cmpd-all]{q}
-\end{beispiel}
-
-Affinché la chiave utilizzi le subetichette corrette, queste devono essere state
-dichiarate. Per questa ragione sono letti dal file \verb=\jobname.cmpd= (supponendo
-che il file sorgente abbia il nome \verb=\jobname.tex=). Ciò significa che è
-necessario compilare due (o più) volte il codice per rendere correttamente tutte
-le etichette.
-
-Quando si impiegano etichette con intervalli di subetichette, talvolta si desidera
-restituire \emph{solo} la subetichetta in un altro punto. È possibile realizzarlo
-con la seguente opzione:
-\begin{beschreibung}
- \Option{sub-only}{\default{true}/false}
-\end{beschreibung}
-\begin{beispiel}
- % use packages `chemfig', `chemmacros' and `booktabs'
- \cmpd*{benzene.H,benzene.Me,benzene.OH,benzene.NH2}
- \chemname{\chemfig{*6(=-=-(-R)=-)}}{\cmpd[cmpd-all]{benzene}}
- \begin{tabular}{lll}
- & \ch{-R} & nome \\\midrule
- \cmpd[sub-only]{benzene.H} & \ch{-H} & benzene\\
- \cmpd[sub-only]{benzene.Me} & \ch{-CH3} & toluene\\
- \cmpd[sub-only]{benzene.OH} & \ch{-OH} & fenolo\\
- \cmpd[sub-only]{benzene.NH2} & \ch{-NH2} & anilina
- \end{tabular}
-\end{beispiel}
-
-Gli intervalli di subetichette richiedono una certa cura. Per prima cosa bisogna
-sapere esattamente quale etichetta è la minore e quale la maggiore; e come seconda
-cosa, quali etichette si trovano in un intervallo contenuto fra gli estremi.
-\chemnum non è in grado di sostituire questa cura; per questa ragione può
-succedere di ottenere etichette come le seguenti, se non si presta attenzione:
-\begin{beispiel}
- \cmpd{q.{five..three}} or \cmpd{q.{three,one,four}}.
-\end{beispiel}
-
-\section{Inizializzare le etichette centralmente}\label{sec:cmpdinit}\secidx{inizializzare le etichette}
-I comandi descritti in questo paragrafo non sono necessari per l'impiego di
-\chemnum, ma mettono a disposizione delle funzioni che potrebbero risultare utili
-a qualche utente.
-
-\subsection{Utilizzo}
-\subsubsection{Etichette principali}
-Forse all'utente mancherà il comando \verb=\declarecompound= di \paket{chemcompounds};
-questo permette di avere una panoramica iniziale dei nomi già impiegati, e in
-determinate circostanze genera messaggi di errore quando vengono impostate delle
-etichette sbagliate\footnote{\pes per un errore di battitura}. Questo comportamento
-può essere ottenuto con i seguenti comandi.
-\begin{beschreibung}
- \Befehl{cmpdinit}{<comma separated list of label names>}
- \Befehl[cmpdinita]{cmpdinit*}{<comma separated list of label names>}
-\end{beschreibung}
-Tutti i composti che non vengono definiti all'interno di questo comando, sono
-inizializzati \emph{nell'ordine in cui compaiono}. Impiegando un'etichetta non
-presente nell'elenco si ottiene un messaggio di avviso.
-
-\cmpdreset
-\begin{beispiel}
- \cmpdinit{A, B, C} \cmpd{B} \cmpd{A.a} \cmpd{C} \cmpd{D}
-\end{beispiel}
-
-\begin{mdframed}
- \small\ttfamily\noindent
- {}*************************************************\\
- {}* chemnum warning: "cmpd-init"\\
- {}* \\
- {}* You used \verb=\cmpdinit= but didn't initiate compound "D"{} on line 1.\\
- {}*************************************************
-\end{mdframed}
-
-Nota bene: nel caso vi siano etichette con subetichette è possibile e indicato
-inizializzare \emph{solo il nome principale}. In questo modo vengono inizializzati
-\emph{tutti} i composti con lo stesso nome principale.
-
-\cmd[cmpdinita]{cmpdinit*} restituisce lo stesso messaggio d'errore, tuttavia non
-assegna ancora i numeri, che vengono assegnati solo nel corso del testo e
-nell'ordine di comparsa.
-
-\cmpdreset
-\begin{beispiel}
- \cmpdinit*{X, Y, Z} \cmpd{Y} \cmpd{X.x} \cmpd{Z} \cmpd{W}
-\end{beispiel}
-
-\begin{mdframed}
- \small\ttfamily\noindent
- {}*************************************************\\
- {}* chemnum warning: "cmpd-init"\\
- {}* \\
- {}* You used \verb=\cmpdinit= but didn't initiate compound "W"{} on line 1.\\
- {}*************************************************
-\end{mdframed}
-
-Quando si desidera o necessita assegnare delle etichette proprie (vedi a
-pagina~\pageref{ssec:own_labels}) e si desidera inizializzare le etichette in modo
-completo, si consiglia l'impiego di \cmd[cmpda]{cmpdinit*}, che \emph{non assegna}
-etichette nell'inizializzazione.
-
-Il comando può essere utilizzato più di una volta, con o senza \verb=*=.
-Probabilmente ha senso solo un impiego \emph{unico}, magari nel preambolo dopo
-il setup di \chemnum (vedi il paragrafo~\ref{sec:cmpdsetup}).
-
-\subsubsection{Subetichette}
-Quando si desidera un avviso aggiuntivo per ogni combinazione etichetta-subetichetta
-o si desidera impostare l'ordine in anticipo, si può impiegare
-\begin{beschreibung}
- \Befehl{cmpdinit}[\key{init-sub}{true}]{<comma separated list of label names>}
-\end{beschreibung}
-In questo modo si ottiene un avviso anche in questi casi.
-
-\cmpdreset
-\begin{beispiel}
- \cmpdinit[init-sub = true]{E.{e,f,g}}
- \cmpd{E.e, E.h}
-\end{beispiel}
-
-\begin{mdframed}
- \small\ttfamily\noindent
- {}*************************************************\\
- {}* chemnum warning: "cmpd-init-sub"\\
- {}* \\
- {}* You used \verb=\cmpdinit= and "{}init-sub = true"{} but didn't initiate sub-compound\\
- {}* "{}E.h"{} on line 1.\\
- {}*************************************************
-\end{mdframed}
-
-\subsection{Errori anziché avvisi}
-Quando si desidera un messaggio di errore anziché di un messaggio di avviso, lo
-si può realizzare richiamando \cmd{cmpdinit} nel modo seguente:
-\begin{beschreibung}
- \Befehl{cmpdinit}[\key{init-strict}{true}]{<comma separated list ...>}
-\end{beschreibung}
-L'impiego di \key{init-strict}{false} corrisponde all'impiego senza argomento
-opzionale. Naturalmente l'opzione può essere utilizzata anche nella variante
-asteriscata del comando.
-
-Tramite \key{init-strict}{true} la compilazione con \LaTeX viene interrotta con
-il corrispondente messaggio di errore, quando si impiega un'etichetta non
-inizializzata.
-
-Naturalmente si può richiamare \cmd{cmpdinit} anche con entrambe le opzioni
-\begin{beschreibung}
- \Befehl{cmpdinit}[\key{init-strict}{true}, \key{init-sub}{true}]{<comma separated list ...>}
-\end{beschreibung}
-oppure utilizzare \cmd{cmpdsetup} (vedi il paragrafo~\ref{sec:cmpdsetup}).
-
-\subsection{Input personalizzato}
-Quando si sono selezionati diversi simboli di input per \key{sub-input-sep} (vedi
-a pagina~\pageref{sssec:sub-input-sep}) o \key{sublist-input-sep} (vedi a
-pagina~\pageref{sssec:list-input-sep}) questi devono esser impiegati anche con
-\key{sub-init}{true}.
-
-La variazione dell'input di elenchi \key{list-input-sep} (vedi a
-pagina~\pageref{sssec:list-input-sep}) non ha effetto su \cmd{cmpdinit}. Se si
-desidera modificare l'input anche in quel luogo, si impieghi \key{init-input-sep}
-(vedi a pagina~\pageref{sssec:init-input-sep}).
-
-\subsection{Perché inizializzare?}
-Come indicato all'inizio di questo paragrafo, l'inizalizzazione delle etichette
-non è necessaria. Vi sono alcuni motivi per cui si può desiderare l'impiego di
-\cmd{cmpdinit}.
-\begin{enumerate}
- \item L'impiego di \cmd[cmpdinita]{cmpdinit*} è una possibilità di mantenere una
- panoramica delle etichette impiegate. Si ottiene un avviso o un messaggio di
- errore quando un'etichetta preesistente viene scritta in modo errato. A seconda
- del numero di etichette impiegate, questo può però portare ad una mole
- significativa di lavoro aggiuntivo.
- \item L'impiego di \cmd{cmpdinit} raggiunge lo stesso scopo primario di
- \cmd[cmpdinita]{cmpdinit*}, ed \emph{inoltre} dichiara le etichette nell'ordine
- indicato. In questo modo si rende superfluo l'impiego di \cmd[cmpda]{cmpd*}
- (sezione~\ref{cmd:unsichtbares_label}) e \cmd[cmpdb]{cmpd+}
- (sezione~\ref{cmd:cmpd_plus}). Si ottiene così un controllo diretto sulla
- correlazione tra composto e numero.
-\end{enumerate}
-\secidx*{inizializzare le etichette}
-
-\section{Resettare il contatore}\label{sec:cmpdreset}\secidx{resettare il contatore}
-Con il seguente comando è possibile resettare il contatore:
-\begin{beschreibung}
- \Befehl{cmpdreset}[<number>]
-\end{beschreibung}
-Senza argomento viene impostato a \verb=1= e corrisponde così a \cmd{cmpdreset}[1].
-A differenza della maggior parte degli altri comandi presentati questo comando ha
-effetto globalmente, non solo localmente entro un gruppo.
-\begin{beispiel}
- \cmpdreset I composti adesso vengono contati di nuovo a partire
- da 1: \cmpd{h, i, j}
-\end{beispiel}
-
-\achtung{Si consiglia di utilizzare questo comando con molta prudenza! Di norma
-non è consigliabile resettare il contatore; composti diversi possono venire
-indicati dallo stesso numero!}
-
-\begin{beispiel}
- Stessi numeri: \cmpd{a}, \cmpd{h}
-\end{beispiel}
-\secidx*{resettare il contatore}
-
-\section{Impieghi particolari}\secidx{impieghi particolari}
-\subsection{Titoli di sezioni}
-L'impiego di \cmd{cmpd} in un titolo inizialmente non sembra essere un problema.
-Non vi sono errori, e l'output appare come previsto:
-\begin{beispiel}[code only]
- \section{Compound \cmpd[cmpd-delim]{b}}
- \ldots
-\end{beispiel}
-Quando tuttavia si impiega \verb=\tableofcontents= -- molto probabilmente, come
-prevedo --, avviene qualcosa di indesiderato: dato che l'indice generale viene
-posto all'inizio del documento, l'etichetta viene dichiarata già alla sua comparsa
-nell'indice, anziché nel luogo di prima comparsa nel testo. Vi sono due possibilità
-di evitare questo comportamento:
-\begin{enumerate}
- \item Si dichiarano le etichette nel preambolo con \cmd{cmpdinit}{} (vedi a
- pagina~\pageref{sec:cmpdinit}).
- \item Si impiega \cmd[cmpdb]{cmpd+} per comporre l'etichetta. In questo modo
- l'etichetta viene letta dal file \verb=\jobname.cmpd= (supponendo un nome
- principale di \verb=\jobname.tex=); ciò significa che sono necessari
- \emph{almeno due}, eventualmente anche più esecuzioni di \LaTeX\ per impostare
- correttamente tutte le etichette.
-\end{enumerate}
-Altrettanto vale anche per qualsiasi lista di argomenti mobili che vengano impiegati
-\emph{prima} della comparsa dell'etichetta nel testo.
-
-Il comando\label{cmd:cmpd_plus}
-\begin{beschreibung}
- \Befehl[cmpdb]{cmpd+}\ma{<label name>}
-\end{beschreibung}
-legge il nome dell'etichetta da rendere dal file \verb=\jobname.cmpd=. È in un
-certo senso la controparte di \cmd[cmpda]{cmpd*}, dato non si ha una dichiarazione
-dell'etichetta ma solo un suo riferimento e la sua resa. Per potere utilizzare
-\cmd[cmpdb]{cmpd+}{<label>} è necessario dichiarare \verb=<label>= con
-\cmd{cmpd}{<label>} oppure \cmd[cmpda]{cmpd*}{<label>} (prima o dopo).
-\cmd[cmpdb]{cmpd+} è utile quando un'etichetta dev'essere impiegata in un argomento
-mobile come \verb=\section{}=.
-
-\achtung{Il comando non è necessario quando viene impiegato \cmd{cmpdinit} (vedi
-il paragrafo~\ref{sec:cmpdinit}, pag.\,\pageref{sec:cmpdinit}ss).}
-
-\begin{beispiel}[code only]
- \subsubsection{Titolo di prova con il l'etichetta di composto %
- \cmpd+[cmpd-delim]{f.one}}
- % con hyperref:
- \subsubsection{Titolo di prova con il l'etichetta di composto %
- \texorpdfstring{\cmpd+[cmpd-delim]{f.two}}{(7b)}}
-\end{beispiel}
-
-\subsection{Ambienti mobili}\cmpdinit*{float1,float2}
-L'impiego di \cmd{cmpd} in ambienti mobili non dovrebbe essere un problema: le
-etichette vengono dichiarate nell'ordine di comparsa nel codice, inclusi gli
-ambienti mobili. Per andare sul sicuro è comunque possibile utilizzare
-\cmd[cmpdb]{cmpd+}.
-
-\begin{beispiel}[code and float]
- % preamble:
- % \usepackage{chemscheme}
- % \renewcommand*\schemename{Schema}
- % document:
- \cmpdreset\cmpd{float1, float2}. E ora uno schema:
- \begin{scheme}[ht]
- \centering
- \caption{Questa etichetta dovrebbe essere un 2: \cmpd{float2}}
- Se 2 = \cmpd{float2}, allora va tutto bene.
- \end{scheme}
-\end{beispiel}
-
-Funziona tutto come desiderato, anche se l'ambiente flottante scivola davanti al
-codice del testo, \pes con l'opzione \oa{t}.
-
-\cmpdinit*{Alc,EtherBr,cpd}
-\subsection{Schemi di programmi esterni}\label{ssec:cmpdref}\secidx{schemi di programmi esterni}
-Se gli schemi vengono creati con programmi esterni come \pes \prog{ChemDraw}
-oppure \prog{Marvin\-Sketch} e si desidera ricorrere anche in questo caso a
-\chemnum, lo si può ottenere con
-\begin{beschreibung}
- \Befehl{cmpdref}[<tag>]\oa{<options>}\ma{<label name>}
- \Befehl[cmpdrefa]{cmpdref+}[<tag>]\oa{<options>}\ma{<label name>}
-\end{beschreibung}
-Questo comando è ispirato a \verb=\schemeref= del pacchetto \paket{chemscheme} e
-funziona nello stesso modo: lo schema viene creato e salvato con etichette
-temporanee come file \verb=eps=.
-
-% TODO: übersetzen
-Wie bei \cmd{cmpd+} ruft die Plus-Variante lediglich ein Label ab, deklariert
-es aber nicht.
-
-\achtung{Con la v0.5 è cambiato l'ordine degli argomenti opzionali!}
-\begin{beispiel}[code and float]
- \begin{scheme}[ht]
- \centering
- \includegraphics{scheme-tmp.ps}
- \caption{Schema con marcatori temporanei.}
- \end{scheme}
- \begin{scheme}[ht]
- \centering
- \cmpdref{Alc} % sostituisce TMP1
- \cmpdref{EtherBr} % sostituisce TMP2
- % \cmpdref{drittes} sostituirebbe TMP3
- \includegraphics{scheme-tmp.ps}
- \caption{Schema con etichette automatizzate.}
- \end{scheme}
-\end{beispiel}
-Nello schema si enumerano le sostanze con \textsf{TMP1}, \textsf{TMP2} ecc.
-Questi marcatori vengono poi sostituiti dalle etichette corrispondenti. A questo
-scopo come \paket{chemscheme} anche \chemnum impiega il comando \verb=\psfrag= del
-pacchetto \paket{psfrag}. Per farlo funzionare è quindi necessario compilare
-tramite \prog{latex}, \prog{dvips}, \prog{ps2pdf} o \pes utilizzare il pacchetto
-\paket{auto-pst-pdf} insieme a \hologo{pdfLaTeX}. \hologo{XeLaTeX} purtroppo non
-funzionerà, e probabilmente nemmeno \hologo{LuaLaTeX}, che tuttavia non è stato
-testato.
-
-In ogni caso è importante che il marcatore sia salvato come \emph{testo} nel file
-\verb=eps=.
-
-Con le opzioni presentate nel paragrafo~\ref{sec:cmpdsetup} è anche possibile
-personalizzare le etichette.
-\begin{beispiel}[code and float]
- \begin{scheme}[ht]
- \centering
- \cmpdsetup{ref-style=\color{green}}
- \cmpdref{Alc} % sostituisce TMP1
- \cmpdref{EtherBr} % sostituisce TMP2
- \includegraphics{scheme-tmp.ps}
- \caption{Schema con etichette automatizzate.}
- \end{scheme}
-\end{beispiel}
-
-È possibile sostituire anche con del testo arbitrario; a tale proposito esiste il
-secondo argomento opzionale.
-\begin{beispiel}[code and float]
- \begin{scheme}[ht]
- \centering
- \includegraphics{scheme-bla.ps}
- \caption{Schema con marcatori arbitrari.}
- \end{scheme}
- \begin{scheme}[ht]
- \centering
- \cmpdref[blah]{Alc}
- \cmpdref[blub]{EtherBr}
- % \cmpdref{drittes} sostituirebbe TMP1.
- \includegraphics{scheme-bla.ps}
- \caption{Schema con etichette impostate appositamente.}
- \end{scheme}
-\end{beispiel}
-
-Nautralmente l'utilizzo delle subetichette funziona nel modo abituale:
-\begin{beispiel}[code and float]
- \begin{scheme}[ht]
- \centering
- \cmpdref{cpd.red}
- \cmpdref{cpd.ox}
- \includegraphics{scheme-tmp.ps}
- \caption{Schema con etichette e subetichette automatizzate.}
- \end{scheme}
-\end{beispiel}
-\secidx*{schemi di programmi esterni}\secidx*{impieghi particolari}\cmpdreset[10]
-
-\section{Impiego con \textsf{hyperref}}\label{sec:hyperref}\secidx{impiego con \textsf{hyperref}}[impiego con hyperref]
-\subsection{Principio di base}
-Quando viene caricato il pacchetto \paket{hyperref}, è possibile trasformare le
-etichette nel \prog{pdf} in hyperlink cliccabili.
-\begin{beschreibung}
- \Option{hyper-use}{\default{true}/false}
-\end{beschreibung}
-Quando questa opzione viene impostata a \texttt{true} (per informazioni ulteriori
-confronta il paragrafo~\ref{sec:cmpdsetup}), allora al primo impiego dell'etichetta
-si definisce un traguardo, a cui viene creato un collegamento ad ogni impiego
-ulteriore. Questo tuttavia funziona solamente finché l'etichetta viene impostata
-\emph{senza} elenco o intervallo di subetichette. Anche un'etichetta impostata con
-\cmd[cmpda]{cmpd*} non può essere utilizzata come traguardo.
-
-\begin{beispiel}
- \cmpdsetup{hyper-use}
- Al primo impiego si stabilisce il traguardo: \cmpd{a.two,b,c,d,e,f}. Al prossimo
- impiego viene creato un collegamento: \cmpd{a.two,d,e}.
-
- Questo funziona solo con le etichette prive senza lista o elenco di subetichette:
- \cmpd{a,f.{one,two},c}. Dato che \cmpd{a.two} e \cmpd{a} hanno due significati
- diversi, hanno anche traguardi diversi.
-\end{beispiel}
-
-\subsection{Impiego limitato}
-L'impiego automatizzato può non essere desiderato; in questo caso forse è sufficiente
-definire un riferimento ipertestuale in uno o due punti. Ciò può essere realizzato
-con le seguenti chiavi:
-\begin{beschreibung}
- \Option{hyper-target}{<link name>}
- \Option{hyper-link}{<link name>}
-\end{beschreibung}
-Con \key{hyper-target} si determina un traguardo. \textbf{Nota bene}: impiegando
-questa chiave con una lista, allora \emph{ogni} etichetta ottiene lo stesso nome
-traguardo e \paket{hyperref} restituisce un avviso del tipo
-\begin{mdframed}\ttfamily\small
- destination with the same identifier (name\{<link name>\}) has been already
- used, duplicate ignored
-\end{mdframed}
-
-Con \key{hyper-link} si può generare un collegamento al traguardo creato.
-\textbf{Nota bene}: se questa chiave viene impiegata con un elenco, \emph{ogni}
-etichetta indicherà lo stesso traguardo.
-\begin{beispiel}
- Si imposta un collegamento \cmpd[hyper-link=mylink,cmpd-all]{f}
- senza dimenticare il traguardo corrispondente
- \cmpd[hyper-target=mylink,cmpd-all]{f}.
-\end{beispiel}
-
-Quando si usa \key{hyper-link} senza avere impostato il \key{hyper-target}
-corrispondente, allora \paket{hyperref} restituirà un avviso del tipo
-\begin{mdframed}\ttfamily\small
- name\{<link name>\} has been referenced but does not exist, replaced by a
- fixed one
-\end{mdframed}
-\secidx*{impiego con \textsf{hyperref}}[impiego con hyperref]
-
-\section{Personalizzazione}\label{sec:cmpdsetup}
-\subsection{Il principio}\label{ssec:prinzip}
-La personalizzazione avviene con un sistema del tipo chiave-valore. Le impostazioni
-possono essere definite centralmente tramite
-\begin{beschreibung}
- \Befehl{cmpdsetup}{key1 = value1, key2 = value2}
-\end{beschreibung}
-oppure localmente sul comando
-\begin{beschreibung}
- \Befehl{cmpd}[key1 = value1, key2 = value2]{<label name>}
-\end{beschreibung}
-
-Quando si usano delle opzioni \cmd{cmpdsetup}{key1,key2} senza assegnargli un
-valore vengono richiamati dei valori di default\label{opt:default}. Questi possono
-\emph{non essere} vuoti e \emph{non corrispondere} alla preimpostazione del
-pacchetto.
-
-Le opzioni sono suddivise in diverse classi\label{key_classes} che indicano l'area
-di appartenenza. Seguono tutte la forma \verb+<class>-key = <value>+:
-\begin{itemize}
- \item \code{cmpd}: Le opzioni che iniziano con questo codice hanno effetti
- sull'etichetta in genere o quella principale.
- \item \code{sub}, \code{sublist}, \code{subref}: Queste opzioni hanno direttamente
- a che fare con le subetichette.
- \item \code{list}: Queste opzioni influenzano la resa degli elenchi.
- \item \code{ref}: Queste opzioni sono riferite particolarmente a \cmd{cmpdref}.
- \item \code{hyper}: Queste opzioni sono specifiche per l'uso di \paket{hyperref}.
- \item \code{init}: Queste opzioni hanno a che fare con l'inizializzazione delle etichette.
-\end{itemize}
-
-\subsection{Stile di carattere}\label{ssec:schriftstil}\secidx{stile di carattere}
-Per variare lo stile con cui sono resi i numeri, vi sono le seguenti opzioni:
-\begin{beschreibung}
- \Option{cmpd-style}{<style>}
- \option{cmpd-weight}{bold/normal} Default = \code{bold}
-\end{beschreibung}
-Dato che è comune rendere gli schemi con un carattere senza grazie, mentre il
-testo viene composto con le grazie, è possibile definire uno stile separato per
-\cmd{cmpdref}. Come impostazione predefinita le etichette create con \cmd{cmpdref}
-vengono rese con \lstinline+\sffamily+.
-\begin{beispiel}
- % preamble:
- % \usepackage[normalem]{ulem}
- % document:
- \cmpd{a, b, f.two, k}\\ % default
- \cmpd[cmpd-style = \uline]{a, b, f.two, k}\\ % sottolineato
- \cmpd{a, b, f.two, k}\\ % nuovamente default
- \cmpdsetup{cmpd-style = \itshape\uline}
- \cmpd{a, b, f.two, k}\\ % corsivo e sottolineato
- \cmpd[cmpd-weight=normal]{a, b, f.two, k}
-\end{beispiel}
-Che il peso del carattere venga impostato separatamente deriva dalla presenza di
-caratteri greci nelle etichette (vedi il paragrafo~\ref{ssec:counter}). A seconda
-della rispettiva opzione globale la variazione di peso deve essere realizzata
-diversamente.
-\secidx*{stile di carattere}
-
-\subsection{Etichette proprie}\label{ssec:own_labels}\secidx{etichette proprie}
-Con l'opzione
-\begin{beschreibung}
- \Option{cmpd-label}{<label>}
-\end{beschreibung}
-è possibile impostare etichette proprie.
-
-\begin{beispiel}
- Etichetta propria: \cmpd[cmpd-label = XYZ]{l}, viene attribuita a \emph{tutte
- le etichette nuove} di una lista! \cmpd[cmpd-label = XYZ]{l, a, m}
-\end{beispiel}
-\secidx*{etichette proprie}
-
-\subsection{Marcatori nelle immagini}\secidx{marcatori nelle immagini}\label{ssec:marker_in_bildern}
-Vi sono alcune opzioni specifiche per le etichette contenute in immagini esterne
-che vengono piazzate con \cmd{cmpdref}.
-\begin{beschreibung}
- \option{ref-marker}{<marker>} Varia il marcatore di default da sostituire.
- Default = \code{TMP}
- \option{ref-pos}{\{<tex-pos>\}\{<ps-pos>\}} Default = \code{bb}
- \option{ref-style}{<style>} Varia il formato dell'etichetta negli schemi esterni.
- Default = \verb=\sffamily=
-\end{beschreibung}
-Con l'opzione \key{ref-pos} si può variare il tipo di piazzamento utilizzato da
-\cmd{cmpdref}. Il comando \cmd{psfrag} utilizzato internamente ha due opzioni a
-riguardo. La prima determina come viene piazzato il sostituto \TeX; la seconda
-come viene piazzato il sostituto nel box creato dal marcatore. Per ulteriori
-dettagli si rimanda alla documentazione del pacchetto \paket{psfrag}.
-\secidx*{maarcatori nelle immagini}
-
-\subsection{Contatori}\label{ssec:counter}\secidx{contatori}
-Se lo si desidera è possibile anche modificare il formato del contatore di \cmpd{a.one}.
-\begin{beschreibung}
- \option{cmpd-counter}{arabic/alph/Alph/greek/Greek/roman/Roman/Symbol}
- Default = \code{arabic}
- \option{sub-counter}{arabic/alph/Alph/greek/Greek/roman/Roman/Symbol}
- Default = \code{alph}
-\end{beschreibung}
-
-Nota bene: una variazione del formato di contatore ha effetto solo sulle etichette
-\emph{non ancora generate}!
-\begin{beispiel}
- \cmpdsetup{cmpd-counter = Alph, sub-counter = arabic}
- \cmpd{a, b, f.two, k}\\ % nessun'effetto sulle etichette gi\`a create!
- \cmpd{n.one,n.two,o.one}\\
- \cmpd{f.three,f.four}\\ % Attenzione: l'etichetta principale \`e stata gi\`a
- % generata e non verr\`a modificata!
- \cmpd[cmpd-counter,sub-counter = greek]{p.one,p.two}
-\end{beispiel}
-\secidx*{contatori}
-
-\subsection{Limitatori}\secidx{limitatori}
-È possibile dotare di delimitatori sia i numeri singoli che le liste. A tale
-proposito esistono le opzioni seguenti:
-\begin{beschreibung}
- \option{cmpd-delim}{<odelim><cdelim>} Richiedono \emph{due} token come valori!
- \option{list-delim}{<odelim><cdelim>} Richiedono \emph{due} token come valori!
-\end{beschreibung}
-\begin{beispiel}
- \cmpd{a, b, f.two, k}\\ % default
- \cmpd[cmpd-delim = ()]{a, b, f.two, k}\\ % tra parentesi
- \cmpd{a, b, f.two, k}\\ % nuovamente default
- \cmpdsetup{cmpd-delim = ()}
- \cmpd{a, b, f.two, k} % tra parentesi
-\end{beispiel}
-Quando si scrive \cmd{cmpd}[\key{cmpd-delim}]{<label>} senza specificarne il
-valore vengono impiegate \verb=()=. Altrettanto vale per \key{list-delim}. Si
-noti che i delimitatori di elenco vengono impiegati solo per almeno \emph{due}
-etichette.
-\begin{beispiel}
- \cmpd{a, b, f.two, k}\\ % default
- \cmpd[list-delim = {[}{]}]{a, b, f.two, k}\\ % tra parentesi
- \cmpd{a, b, f.two, k}\\ % nuovamente default
- \cmpdsetup{list-delim = []}
- \cmpd{a, b, f.two, k}\\ % tra parentesi
- \cmpd{a} % NON \`E una lista!
-\end{beispiel}
-Se si desidera ottenere generalmente le etichette racchiuse tra parentesi, ma si
-vogliono usare localamente senza, vi sono diverse possibilità:
-\begin{beispiel}
- \cmpdsetup{cmpd-delim}
- Normalmente \cmpd{b}, \cmpd{c}, \cmpd{d.one}, ma talvolta cos\`\i
- \cmpd[cmpd-delim = ]{e} oppure \cmpd-{e}.
-\end{beispiel}
-Con
-\begin{beschreibung}\label{cmd:ohne_begrenzer}
- \Befehl[cmpdc]{cmpd-}\ma{<label name>}
- \Befehl[cmpdrefc]{cmpdref-}\ma{<label name>}
-\end{beschreibung}
-è possibile rimuovere velocemente le parentesi di un'etichetta (ma non quelle di
-un elenco).
-\begin{beispiel}
- \cmpd{a, b, f.two, k}\\ % default
- \cmpdsetup{cmpd-delim = (), list-delim = []}
- \cmpd{a, b, f.two, k}\\ % tra parentesi doppie
- \cmpd-{a, b, f.two, k} % tra parentesi semplici
-\end{beispiel}
-
-Con gli argomenti vuoti \cmd{cmpdsetup}{\key{cmpd-delim}{ }} e
-\cmd{cmpdsetup}{\key{list-delim}{ }} è possibile ripristinare i valori predefiniti.
-\secidx*{delimitatori}
-
-\subsection{Suffisso e prefisso}\secidx{suffisso e prefisso}
-Quando lo si desidera è possibile assegnare pre- e suffissi sia ad etichette singole
-che agli elenchi.
-\begin{beschreibung}
- \Option{cmpd-prefix}{<prefix>}
- \Option{cmpd-suffix}{<prefix>}
- \Option{list-prefix}{<prefix>}
- \Option{list-suffix}{<prefix>}
-\end{beschreibung}
-Come per i delimitatori vale: gli attributi di elenco vengono impegati solo per
-un elenco -- quindi per due o più etichette.
-
-Esempi per gli attributi di elenco:
-\begin{beispiel}
- \cmpd{a, b, f.two, k}\\ % default
- \cmpd[cmpd-prefix = nr.]{a, b, f.two, k}\\
- \cmpdsetup{cmpd-prefix = \(\rightarrow\)}
- \cmpd{a, b, f.two, k}\\
- \cmpd{a} % NON \`E una lista!
-\end{beispiel}
-Esempi per gli attributi di elenco:
-\begin{beispiel}
- \cmpd{a, b, f.two, k}\\ % default
- \cmpd[list-prefix = elenco:]{a, b, f.two, k}\\
- \cmpdsetup{list-prefix = raccolta:}
- \cmpd{a, b, f.two, k}\\
- \cmpd{a} % NON \`E una lista!
-\end{beispiel}
-
-Tra prefisso, etichetta e suffisso predefinitamente vi è uno spazio:
-\begin{beispiel}
- \cmpd[cmpd-suffix=Sx,cmpd-prefix=Px]{k}
-\end{beispiel}
-Questo può essere adattato con
-\begin{beschreibung}
- \Option{cmpd-space}{<space>}
-\end{beschreibung}
-\begin{beispiel}
- \cmpd[cmpd-suffix=Sx,cmpd-prefix=Px,cmpd-space={}]{k}
-\end{beispiel}
-\secidx*{suffisso e prefisso}
-
-\subsection{Separatori}\label{ssec:trenner}\secidx{separatori}
-\subsubsection{Etichette -- input}\label{sssec:sub-input-sep}\index{separatori!etichette!input}
-Predefinitamente \chemnum impiega il punto \code{.} come simbolo per distinguere
-i nomi delle etichette principali da quelle secondarie; il simbolo può essere
-adattato a piacimento. I simboli \verb=%=, \verb=,= e \verb=#= non possono essere
-impiegati e \verb=@= non dovrebbe essere utilizzato. Inoltre è necessario badare
-a non usare gli stessi simboli (vedi le sezioni seguenti) per gli altri separatori.
-\begin{beschreibung}
- \option{sub-input-sep}{<separator>} Default = \code{.}
-\end{beschreibung}
-\begin{beispiel}
- \cmpdsetup{sub-input-sep = !}%
- \cmpd{f!one, g!two}\\
- \cmpd[sub-input-sep= +]{f+one, g+two}\\
- \cmpd[sub-input-sep= ~]{f~one, g~two}\\
- \cmpd[sub-input-sep= &]{f&one, g&two}\\
- \cmpd[sub-input-sep= *]{f*one, g*two}
-\end{beispiel}
-Si consiglia -- non solo per motivi di coerenza -- di stabilire \emph{unicamente}
-all'inizio del documento i simboli utilizzati; e in particolare \emph{prima} di
-richiamare \verb=\tableofcontents=, al meglio nel preambolo. Altrimenti
-\verb=\tableofcontents= non può sapere quali simboli sono impiegati, e le
-etichette nell'indice generale possono essere rese nel modo sbagliato.
-
-\subsubsection{Etichette -- output}\index{separatori!etichette!output}
-Anche nel caso di etichette con subetichette è possibile utilizzare dei delimitatori,
-che vanno a piazzarsi tra etichetta principale e secondaria.
-\begin{beschreibung}
- \Option{sub-output-sep}{<separator>}
-\end{beschreibung}
-\begin{beispiel}
- \cmpd{a, b, f.two, f.three, k}\\ % default
- \cmpd[sub-output-sep = -]{a, b, f.two, f.three, k}\\
- \cmpdsetup{sub-output-sep = $\cdot$}
- \cmpd{a, b, f.two, f.three, k}\\
- \cmpd[sub-output-sep = :]{a, b, f.two, f.three, k}
-\end{beispiel}
-
-\subsubsection{Subetichette -- input}\label{sssec:range-input-sep}\index{separatori!subetichette!input}
-Per l'input di un intervallo di subetichette \chemnum impiega predefinitamente
-due punti \code{..}; si può tuttavia scegliere un qualunque input diverso. I
-simboli \verb=%=, \verb=,= e \verb=#= non possono essere impiegati e \verb=@= non
-dovrebbe essere utilizzato. Inoltre è necessario badare a non utilizzare gli stessi
-simboli per separatori diversi.
-\begin{beschreibung}
- \option{subrange-input-sep}{<separator>} Default = \code{..}
-\end{beschreibung}
-\begin{beispiel}
- \cmpd[subrange-input-sep=:]{q.{one:four}}\\
- \cmpdsetup{subrange-input-sep=--}
- \cmpd{q.{one--four}}
-\end{beispiel}
-
-\subsubsection{Subetichette -- output}\index{separatori!subetichette!output}
-Non si gradisce la resa \cmpd[cmpd-all]{q} e si vuole indicare diversamente
-l'intervallo? Può essere fatto con l'opzione seguente:
-\begin{beschreibung}
- \option{subrange-output-sep}{<separator>} Default = \verb|--|
-\end{beschreibung}
-\begin{beispiel}
- \cmpd[subrange-output-sep={ {\normalfont bis} }]{q.{one..four}}\\
- \cmpdsetup{subrange-output-sep=-}
- \cmpd{q.{one..four}}
-\end{beispiel}
-
-\subsubsection{Elenchi -- input}\label{sssec:list-input-sep}\index{separatori!elenchi!input}
-Quando lo si desidera è possibile modificare il separatore dell'input di elenchi.
-Per default viene impiegata la virgola \code{,} anche se è possibile selezionare
-qualunque input diverso. I simboli \verb=%=, \verb=,= e \verb=#= non possono
-essere impiegati e \verb=@= non dovrebbe essere utilizzato. Inoltre è necessario
-badare a non utilizzare gli stessi simboli per separatori diversi.
-\begin{beschreibung}
- \option{list-input-sep}{<separator>} Default = \code{,}
- \option{sub-input-sep}{<separator>} Default = \code{,}
-\end{beschreibung}
-\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}
-Questo permette \pes l'impiego di nomi IUPAC come nomi di etichetta\footnote{Molte
-grazie a Christina Lüdigk, che in un certo senso ha proposto questa feature.}.
-\begin{beispiel}
- \cmpdsetup{list-input-sep=;}
- \cmpd{1,3-dichlorocyclohexanol}
-\end{beispiel}
-
-\subsubsection{Elenchi -- output}\label{sssec:list-output-sep}\index{separatori!elenchi!output}
-Anche per gli elenchi si lascia stabilire un carattere separatore che determina
-come vengono separate etichette diverse. Per impostazione predefinita è la virgola.
-\begin{beschreibung}
- \option{list-output-sep}{<separator>} Default = \code{,}
- \option{sub-output-sep}{<separator>} Default = \code{,}
-\end{beschreibung}
-\begin{beispiel}
- \cmpd{a, b, f.two, k}\\ % default
- \cmpd[list-output-sep = ]{a, b, f.two, k}\\
- \cmpd{a, b, f.two, k}\\
- \cmpdsetup{list-output-sep = ;}
- \cmpd{a, b, f.two, k}
-\end{beispiel}
-
-\subsubsection{Elenchi -- ultimo separatore}\label{sssec:last-sep}\index{separatori!elenchi!ultimo separatore}
-L'ultimo separatore negli elenchi, quello tra la penultima e l'ultima etichetta
-elencate, rappresenta un caso particolare. Per questo motivo esistono due opzioni
-per adattarlo.
-\begin{beschreibung}
- \Option{list-last-sep}{<separator>}
- \option{list-lang}{US/GB/DE/FR/ES/IT} Default = \code{US}
-\end{beschreibung}
-\begin{beispiel}
- \cmpd[list-lang = US]{a, b, f.two, k} \cmpd[list-lang = US]{a, b}\\
- \cmpd[list-lang = GB]{a, b, f.two, k} \cmpd[list-lang = GB]{a, b}\\
- \cmpd[list-lang = DE]{a, b, f.two, k} \cmpd[list-lang = DE]{a, b}\\
- \cmpd[list-lang = FR]{a, b, f.two, k} \cmpd[list-lang = FR]{a, b}\\
- \cmpd[list-lang = ES]{a, b, f.two, k} \cmpd[list-lang = ES]{a, b}\\
- \cmpd[list-lang = IT]{a, b, f.two, k} \cmpd[list-lang = IT]{a, b}
-\end{beispiel}
-Come indicato l'impostazione di lingua \verb=US= impiega predefinitamente il comma
-di Harvard, tutte le altre lingue non lo fanno. Ulteriori informazioni sul
-riconoscimento linguistico e sul comma di Harvard sono riportati nel
-paragrafo~\ref{sec:language_support}.
-
-L'ultimo separatore può essere anche impostato individualmente con \key{list-last-sep}.
-\begin{beispiel}
- \cmpdsetup{list-lang = DE}%
- \cmpd[list-last-sep = {e poi}]{a, b, f.two, k}\\
- \cmpd[list-last-sep = ]{a, b, f.two, k}\\
- \cmpd[list-last-sep = come anche]{a, b, f.two, k}\\
- \cmpd[list-last-sep = empty]{a, b, f.two, k}
-\end{beispiel}
-
-Un'opzione speciale è \key{list-last-sep}{empty}. Quando viene richiamata, viene
-impiegato ovunque il separatore stabilito da \key{list-output-sep}.
-\begin{beispiel}
- \cmpdsetup{list-last-sep = empty}%
- \cmpd{a, b, f.two, k}\\
- \cmpd[list-output-sep = ;]{a, b, f.two, k}\\
- \cmpd[list-output-sep = {\ e}]{a, b, f.two, k}
-\end{beispiel}
-
-\subsubsection{Per \code{\textbackslash\textcolor{code}{cmpdinit}} -- input}\label{sssec:init-input-sep}\index{separatori!cmpdinit@\textcolor{code}{\code{\textbackslash cmpdinit}}}
-Quando lo si desidera, è possibile variare il separatore dell'input di elenchi.
-Predefinitamente viene impiegata la virgola \code{,} ed è possibile impiegare
-qualunque altro input. I simboli \verb=%=, \verb=,= e \verb=#= non possono essere
-impiegati e \verb=@= non dovrebbe essere utilizzato.
-\begin{beschreibung}
- \option{init-input-sep}{<separator>} Default = \code{,}
-\end{beschreibung}
-
-\subsubsection{Un esempio}\label{sssec:input-sep-bsp}
-Segue un piccolo esempio di una variante personalizzata dei separatori.
-\begin{beispiel}
- \cmpdsetup{
- sub-input-sep = ! ,
- subrange-input-sep = : ,
- sublist-input-sep = / ,
- list-input-sep = +
- }
- \cmpd{a + f ! one + q ! one / three : five}
-\end{beispiel}
-\secidx*{separatori}
-
-\section{Supporto linguistico}\label{sec:language_support}\secidx{supporto linguistico}
-\subsection{Cooperazione con \textsf{babel}}
-\chemnum supporta la selezione di lingua tramite \paket{babel} per una serie di
-lingue. Questo avviene grazie al pacchetto \paket*{translations}\footnote{%
-\paket*{translations} è parte del bundle \paket*{exsheets}.}.
-
-\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}
-Il supporto linguistico di gran lunga non comprende tutte le lingue, in primo
-luogo per motivi di realizzabilità. Se vi dovesse mancare una lingua, vi prego
-di inviarmi un'e-mail\footnote{\href{mailto:contact@mychemistry.eu}{contact@mychemistry.eu}}
-con la corrispondente opzione di \paket{babel} e la traduzione corretta, e la
-aggiungerò volentieri.
-
-\subsection{Comma di Harvard}\label{ssec:harvard-comma}\secidx{comma di Harvard}
-Nell'inglese statunitense è molto diffuso l'impiego del cosiddetto comma di Harvard
-o di Oxford, mentre nell'inglese britannico e nelle altre lingue europee è raramente
-impiegato.
-\begin{zitat}[\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 \name{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 \name{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{zitat}
-\chemnum attiva il comma di Harvard quando è selezionato American English, ma non
-con le altre lingue. È tuttavia possibile (dis-)attivare il comma di Harvard a
-piacimento con l'opzione
-\begin{beschreibung}
- \Option{list-serial-comma}{\default{true}/false}
-\end{beschreibung}
-\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}
-Quando si seleziona manualmente la lingua, viene richiamato l'impostazione
-predefinita della lingua. Quindi \key{list-serial-comma} dovrebbe essere
-richiamato \emph{dopo} \key{list-lang}.% TODO
-\begin{beispiel}
- sbagliato: \cmpdsetup{list-serial-comma=false, list-lang=US}\cmpd{r,s,t}\\
- giusto: \cmpdsetup{list-lang=US, list-serial-comma=false}\cmpd{r,s,t}
-\end{beispiel}
-\secidx*{comma di Harvard}\secidx*{supporto linguistico}
-
-\section{Panoramica}
-\subsection{Opzioni}\label{ssec:keys_uebersicht}
-In seguito sono elencate tutte le opzioni disponibili.
-\begin{center}
- \label{tab:keys}
- \begin{longtabu*}{>{\ttfamily\color{key}}l>{\ttfamily}l>{\ttfamily}l>{\ttfamily}l}\toprule
- \normalfont\bfseries\normalcolor opzione &
- \normalfont\bfseries valore vuoto &
- \normalfont\bfseries impostazione predefinita &
- \normalfont\bfseries tipo \\\midrule
- cmpd-style & & & macro \\
- cmpd-weight & bold & bold & choice \\
- cmpd-label & & & literal \\
- cmpd-delim\color{black}$^\mathrm{a}$ & () & & literal \\
- cmpd-odelim & & & literal \\
- cmpd-cdelim & & & literal \\
- cmpd-prefix & & & literal \\
- cmpd-suffix & & & literal \\
- cmpd-space & \verb=\penalty\@m\ = & \verb=\penalty\@m\ = & literal \\
- cmpd-counter & arabic & arabic & choice \\
- cmpd-all & true & false & boolean \\\midrule
- sub-only & true & false & boolean \\
- sub-counter & alph & alph & choice \\
- sub-output-sep & & , & literal \\
- sub-input-sep & . & . & literal \\
- sublist-output-sep & , & , & literal \\
- sublist-input-sep & , & , & literal \\
- subrange-output-sep & -- & -- & literal \\
- subrange-input-sep & .. & .. & literal \\\midrule
- list-delim\color{black}$^\mathrm{a}$ & () & & literal \\
- list-odelim & & & literal \\
- list-cdelim & & & literal \\
- list-prefix & & & literal \\
- list-suffix & & & literal \\
- list-input-sep & , & , & literal \\
- list-output-sep & , & , & literal \\
- list-lang & US & US$^\mathrm{b}$ & choice \\
- list-last-sep & and$^\mathrm{c}$ & & literal \\
- list-serial-comma & true & true$^\mathrm{c}$ & boolean \\\midrule
- ref-tag & TMP & TMP & literal \\
- ref-style & & \verb=\sffamily= & macro \\
- ref-pos\color{black}$^\mathrm{a}$ & bb & bb & literal \\\midrule
- init-strict & true & false & boolean \\
- init-sub & true & false & boolean \\
- init-input-sep & , & , & literal \\\midrule
- hyper-use & true & false & boolean \\
- hyper-target & & & literal \\
- hyper-link & & & literal \\\bottomrule
- \end{longtabu*}
- \setlength\extrarowheight{-1pt}
- \begin{tabular}{>{\footnotesize}r>{\footnotesize\raggedright}p{.7\linewidth}}
- a & Richiede \emph{due} token come valore. \tabularnewline
- b & Dipende dall'impiego di \paket*{babel}. \tabularnewline
- c & Dipende dal valore di \key{list-lang} e dall'impiego di \paket*{babel}.
- \end{tabular}
-\end{center}
-
-\subsection{Comandi}
-In seguito sono elencati tutti i comandi definiti da \chemnum e le loro varianti.
-\begin{center}
- \label{tab:commands}
- \begin{longtabu*} to \linewidth {X[l]X[p]}\toprule
- \bfseries Comando & \bfseries Descrizione \tabularnewline\midrule
- \cmd*{cmpd}[<keyval>]{<labels>} & Comando principale; genera
- e rende etichette o liste di etichette, vedi a pagina~\pageref{sec:nummerieren}ss. \tabularnewline
- \cmd*[cmpda]{cmpd*}{<labels>} & invisibile, genera etichette,
- vedi a pagina~\pageref{cmd:unsichtbares_label} \tabularnewline
- \cmd*[cmpdc]{cmpd-}[<keyval>]{<labels>} & senza delimitatori, vedi a
- pagina~\pageref{cmd:ohne_begrenzer} \tabularnewline
- \cmd*[cmpdd]{cmpd+-}[<keyval>]{<labels>} & l'etichetta viene letta da
- un file ausiliario, vedi a pagina~\pageref{cmd:cmpd_plus} \tabularnewline\midrule
- \cmd*{cmpdinit}[<keyval]{<labels>} & inizializza e crea le etichette,
- vedi a pagina~\pageref{sec:cmpdinit}s. \tabularnewline
- \cmd*[cmpdinita]{cmpdinit*}[<keyval]{<labels>} & inizializza le etichette, vedi
- a pagina~\pageref{sec:cmpdinit}s. \tabularnewline\midrule
- \cmd*{cmpdref}[<keyval>][<marker>]{} & sostituisce le etichette
- temporanee nei file \texttt{eps} con etichette, vedi a
- pagina~\pageref{ssec:cmpdref} \tabularnewline
- \cmd*[cmpdrefc]{cmpdref-}[<keyval>][<marker>]{} & sostituisce etichette
- temporanee nei file \texttt{eps} con etichette senza delimitatori, vedi a
- pagina~\pageref{cmd:ohne_begrenzer} \tabularnewline\midrule
- \cmd*{cmpdreset}[<num>] & resetta il contatore, vedi a
- pagina~\pageref{sec:cmpdreset} \tabularnewline\midrule
- \cmd*{cmpdsetup}{<keyval>} & imposta \chemnum, vedi a
- pagina~\pageref{sec:cmpdsetup}ss. \tabularnewline\bottomrule
- \end{longtabu*}%
-\end{center}
-
-\appendix
-\addsec{Ringraziamenti}
-Vorrei ringraziare Joseph \name{Wright} e Russell \name{Hewitt} dei loro preziosi
-suggerimenti e feedback per migliorare \chemnum.
-
-Grazie di cuore a Jonas \name{Rivetti} che ha tradotto il testo in italiano.
-
-\printindex
-
-\end{document}
-
-
diff --git a/Master/texmf-dist/tex/latex/chemnum/chemnum.sty b/Master/texmf-dist/tex/latex/chemnum/chemnum.sty
index 28e40a1dc3e..af6e6c07c8f 100644
--- a/Master/texmf-dist/tex/latex/chemnum/chemnum.sty
+++ b/Master/texmf-dist/tex/latex/chemnum/chemnum.sty
@@ -32,46 +32,25 @@
\ProvidesExplPackage
{chemnum}
- {2013/04/17}
- {0.6a}
+ {2013/06/05}
+ {0.6b}
{a comprehensive approach for the numbering of chemical compounds}
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% CHECK FOR SUPPORT
-% this part of the code is based on the corresponding part of siunitx.sty
-% l3 support:
-\cs_if_exist:NTF \msg_set:nnnn
- {
- \msg_set:nnnn { chemnum } { support-outdated }
- { Support~package~#1~too~old. }
- {
- Please~install~an~up~to~date~version~of~#1. \\
- Best~would~be~to~update~both~l3kernel~and~l3packages~bundles. \\
- Loading~chemnum~will~abort!
- }
- }
+% --------------------------------------------------------------------------
+% check expl3 version:
+\@ifpackagelater { expl3 } { 2012/11/21 }
+ { }
{
- \PackageError { chemnum } { Support~bundle~l3kernel~too~old. }
+ \PackageError { chemnum } { Support~package~expl3~too~old }
{
- Please~install~an~up~to~date~version~of~the~l3kernel~bundle. \\
+ You~need~to~update~your~installation~of~the~bundles~'l3kernel'~and~
+ 'l3packages'.\MessageBreak
Loading~chemnum~will~abort!
}
\tex_endinput:D
}
-\@ifpackagelater { expl3 } { 2011/12/27 }
- { }
- {
- \msg_error:nnx { chemnum } { support-outdated } { expl3 }
- \tex_endinput:D
- }
-
-\@ifpackagelater { xparse } { 2011/12/27 }
- { }
- {
- \msg_error:nnx { chemnum } { support-outdated } { xparse }
- \tex_endinput:D
- }
+% --------------------------------------------------------------------------
% error for missing packages
\msg_set:nnnn { chemnum } { support-missing }
{ Support~package~#1~missing. }
@@ -100,7 +79,7 @@
{
\AtEndPreamble
{
- \exp_args:No \file_if_exist:nTF { textgreek . sty }
+ \file_if_exist:nTF { textgreek . sty }
{
\@ifpackageloaded { textgreek }
{ \msg_warning:nnx { chemnum } { textgreek-loaded } { #1 } }
@@ -245,15 +224,17 @@
\int_new:N \g__chemnum_cmpd_main_int
\prop_new:N \g__chemnum_label_prop
\int_new:N \g__chemnum_cmpd_int
+\int_new:N \l__chemnum_tmpa_int
\tl_new:N \l__chemnum_tmpa_tl
\tl_new:N \l__chemnum_tmpb_tl
-\clist_new:N \g__chemnum_cmpd_save_clist
+\tl_new:N \l__chemnum_tmpc_tl
+\seq_new:N \g__chemnum_cmpd_saved_seq
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% READ FROM PREVIOUS RUN, SAVE FOR NEXT RUN
% save all labels in a clist
-\cs_new_protected:Npn \__chemnum_cmpd_save:n #1
- { \clist_gput_right:Nn \g__chemnum_cmpd_save_clist { { #1 } } }
+\cs_new_protected:Npn \chemnum_cmpd_save:n #1
+ { \seq_gput_right:Nn \g__chemnum_cmpd_saved_seq { #1 } }
\msg_set:nnn { chemnum } { missing-cmpd-file }
{
@@ -271,7 +252,7 @@
{
\iow_new:N \__chemnum_aux_file:
\iow_open:Nn \__chemnum_aux_file: { ./ \c_job_name_tl . cmpd }
- \clist_map_inline:Nn \g__chemnum_cmpd_save_clist
+ \seq_map_inline:Nn \g__chemnum_cmpd_saved_seq
{
\iow_now:Nx \__chemnum_aux_file:
{
@@ -305,29 +286,11 @@
\bool_new:N \l__chemnum_cmpd_style_is_macro_bool
% default style
-\cs_new:Npn \__chemnum_cmpd_style_value:n { }
+\cs_new:Npn \chemnum_cmpd_style:n #1 { #1 }
-% error message
-\msg_set:nnn { chemnum } { cmpd-style }
- {
- The~value~of~"cmpd-style~=~<style>"~needs~to~be~a~(or~more)~macro~
- \msg_line_context: .
- }
-
-% set style %TODO
+% set style
\cs_new_protected:Npn \__chemnum_cmpd_set_style:n #1
-% {
-% \tl_clear:N \l__chemnum_style_tmp_tl
-% \tl_map_variable:nNn { #1 } \l__chemnum_style_tmp_tl
-% {
-% \exp_args:No \token_if_cs:NTF \l__chemnum_style_tmp_tl
-% { \bool_set_true:N \l__chemnum_cmpd_style_is_macro_bool }
-% { \bool_set_false:N \l__chemnum_cmpd_style_is_macro_bool }
-% }
-% \bool_if:NTF \l__chemnum_cmpd_style_is_macro_bool
- { \cs_set:Npn \__chemnum_cmpd_style_value:n { #1 } }
-% { \msg_error:nnx { chemnum } { cmpd-style } { #1 } }
-% }
+ { \cs_set:Npn \chemnum_cmpd_style:n { #1 } }
% use style
\bool_new:N \l__chemnum_cmpd_bold_bool
@@ -338,7 +301,7 @@
\group_begin:
\bool_if:NT \l__chemnum_cmpd_bold_bool
{ \bfseries }
- \__chemnum_cmpd_style_value:n { #1 }
+ \chemnum_cmpd_style:n { #1 }
\group_end:
}
@@ -515,7 +478,7 @@
\int_incr:N \l__chemnum_sublabel_list_current_int
\exp_after:wN \__chemnum_cmpd_sublabelsep:n \l__chemnum_tmpb_tl \q_stop
\use:c { chemnum_cmpd_#1_ \l__chemnum_cmpd_sub_one_label_tl _ref: }
- \exp_args:No \tl_if_blank:nF { \l__chemnum_cmpd_sub_two_label_tl }
+ \tl_if_blank:VF \l__chemnum_cmpd_sub_two_label_tl
{
\tl_use:N \l__chemnum_sub_range_sep_tl
\use:c { chemnum_cmpd_#1_ \l__chemnum_cmpd_sub_two_label_tl _ref: }
@@ -605,12 +568,12 @@
\int_compare:nT { \l__chemnum_cmpd_sublist_length_int < 2 }
{ % no sublabel list
\__chemnum_cmpd_subrange_separate:n { #2 }
- \tl_if_blank:VT \l_tmpb_tl
+ \tl_if_blank:VT \l__chemnum_tmpc_tl
{ % no sublabel range
\tl_set:Nn \l__chemnum_cmpd_hyper_name_tl
- { chemnum_cmpd_#1_\l_tmpa_tl }
+ { chemnum_cmpd_#1_ \l__chemnum_tmpb_tl }
\cs_if_exist:cTF
- { chemnum_cmpd_#1_ \l_tmpa_tl _hyper: }
+ { chemnum_cmpd_#1_ \l__chemnum_tmpb_tl _hyper: }
{
\bool_set_false:N \l__chemnum_hypertarget_bool
\cs_set_eq:NN \__chemnum_make_hyper:nn \hyperlink
@@ -623,7 +586,7 @@
{ \hypertarget { ##1 } { } } ##2
}
\cs_new:cpn
- { chemnum_cmpd_#1_ \l_tmpa_tl _hyper: } { }
+ { chemnum_cmpd_#1_ \l__chemnum_tmpb_tl _hyper: } { }
}
}
}
@@ -825,7 +788,7 @@
\prop_gput:Nnx \g__chemnum_label_prop
{ #1 }
{ \int_use:N \g__chemnum_cmpd_main_int }
- \__chemnum_cmpd_save:n { #1 }
+ \chemnum_cmpd_save:n { #1 }
\bool_if:NF \l__chemnum_cmpd_name_bool
{ \int_gincr:N \g__chemnum_cmpd_int }
\cs_new:cpx { chemnum_cmpd_#1: } {
@@ -844,7 +807,7 @@
{
\cs_if_exist:cF { chemnum_cmpd_#1_#2: }
{
- \__chemnum_cmpd_save:n { #1 _ #2 }
+ \chemnum_cmpd_save:n { #1 _ #2 }
\cs_new:cpx { chemnum_cmpd_#1_#2: } { }
\int_gincr:c { g_chemnum_cmpd_#1_int }
% why is the next line working when \cs_gset:cpx doesn't?
@@ -891,12 +854,12 @@
\tl_if_blank:nF { #2 }
{
\__chemnum_cmpd_sublist:n { #2 }
- \exp_args:No \tl_map_inline:nn { \l__chemnum_cmpd_sublist_tl }
+ \tl_map_inline:Nn \l__chemnum_cmpd_sublist_tl
{
\__chemnum_cmpd_subrange_separate:n { ##1 }
- \__chemnum_cmpd_sub_initiate:nn { #1 } { \l_tmpa_tl }
- \tl_if_blank:VF \l_tmpb_tl
- { \__chemnum_cmpd_sub_initiate:nn { #1 } { \l_tmpb_tl } }
+ \__chemnum_cmpd_sub_initiate:nn { #1 } { \l__chemnum_tmpb_tl }
+ \tl_if_blank:VF \l__chemnum_tmpc_tl
+ { \__chemnum_cmpd_sub_initiate:nn { #1 } { \l__chemnum_tmpc_tl } }
}
}
}
@@ -945,17 +908,19 @@
% actual separating
\cs_new_protected:Npn \__chemnum_cmpd_labelsep:n #1 \q_stop {
\tl_clear:N \l__chemnum_labelsep_tmp_tl
- \exp_args:Noo \tl_if_in:nnTF { #1 } { \l__chemnum_cmpd_labelsep_tl }
+ \tl_if_in:oVTF { #1 } \l__chemnum_cmpd_labelsep_tl
{
\tl_set:Nn \l__chemnum_labelsep_tmp_tl { #1 }
- \exp_args:NNo \tl_replace_once:Nnn \l__chemnum_labelsep_tmp_tl
- { \l__chemnum_cmpd_labelsep_tl }
+ \tl_replace_once:NVn \l__chemnum_labelsep_tmp_tl
+ \l__chemnum_cmpd_labelsep_tl
{ \q_nil }
\exp_after:wN \__chemnum_cmpd_labelsep_aux_ii:n
\l__chemnum_labelsep_tmp_tl \q_stop
}
{ \__chemnum_cmpd_labelsep_aux_i:n { #1 } }
}
+\cs_generate_variant:Nn \tl_if_in:nnTF { oV }
+\cs_generate_variant:Nn \tl_replace_once:Nnn { NV }
\cs_new_protected:Npn \__chemnum_cmpd_labelsep_aux_i:n #1
{
@@ -978,28 +943,29 @@
{
\tl_set:Nn \l__chemnum_cmpd_sublist_tl { #1 }
\int_zero:N \l__chemnum_cmpd_sublist_length_int
- \exp_args:No \tl_map_inline:nn { \l__chemnum_cmpd_sublist_tl }
+ \tl_map_inline:Nn \l__chemnum_cmpd_sublist_tl
{ \int_incr:N \l__chemnum_cmpd_sublist_length_int }
}
\cs_new_protected:Npn \__chemnum_cmpd_subrange_separate:n #1
{
- \tl_clear:N \l_tmpa_tl
- \tl_clear:N \l_tmpb_tl
+ \tl_clear:N \l__chemnum_tmpb_tl
+ \tl_clear:N \l__chemnum_tmpc_tl
\tl_if_in:noTF { #1 } { \l__chemnum_sublabel_range_marker_tl }
{
- \tl_set:Nn \l_tmpa_tl { #1 }
- \exp_args:NNo \tl_replace_once:Nnn \l_tmpa_tl
- { \l__chemnum_sublabel_range_marker_tl } { \q_nil }
- \exp_after:wN \__chemnum_cmpd_subrange_separate_aux:w \l_tmpa_tl \q_stop
+ \tl_set:Nn \l__chemnum_tmpb_tl { #1 }
+ \tl_replace_once:NVn \l__chemnum_tmpb_tl
+ \l__chemnum_sublabel_range_marker_tl
+ { \q_nil }
+ \exp_after:wN \__chemnum_cmpd_subrange_separate_aux:w \l__chemnum_tmpb_tl \q_stop
}
- { \tl_set:Nn \l_tmpa_tl { #1 } }
+ { \tl_set:Nn \l__chemnum_tmpb_tl { #1 } }
}
\cs_new_protected:Npn \__chemnum_cmpd_subrange_separate_aux:w #1 \q_nil #2 \q_stop
{
- \tl_set:Nn \l_tmpa_tl { #1 }
- \tl_set:Nn \l_tmpb_tl { #2 }
+ \tl_set:Nn \l__chemnum_tmpb_tl { #1 }
+ \tl_set:Nn \l__chemnum_tmpc_tl { #2 }
}
%-----------------------------------------------------------------------------%
@@ -1025,7 +991,7 @@
% main internal compound label command
% #1: <main label> #2: <sub label> #3: <invisible> #4: <no delim>
% #2 may be a list of sublabels
-\cs_new_protected:Npn \__chemnum_cmpd_aux_i:nnnn #1#2#3#4
+\cs_new_protected:Npn \__chemnum_cmpd_aux:nnnn #1#2#3#4
{
\bool_if:NT \l__chemnum_cmpd_initiated_bool
{ \__chemnum_cmpd_initiate:nn { #1 } { #2 } }
@@ -1039,12 +1005,12 @@
\__chemnum_cmpd_sublist:n { #2 }
\bool_if:NF \l__chemnum_cmpd_ref_bool
{
- \exp_args:No \tl_map_inline:nn { \l__chemnum_cmpd_sublist_tl }
+ \tl_map_inline:Nn \l__chemnum_cmpd_sublist_tl
{
\__chemnum_cmpd_subrange_separate:n { ##1 }
- \__chemnum_cmpd_sub_declare:no { #1 } { \l_tmpa_tl }
- \tl_if_blank:VF \l_tmpb_tl
- { \__chemnum_cmpd_sub_declare:no { #1 } { \l_tmpb_tl } }
+ \__chemnum_cmpd_sub_declare:no { #1 } { \l__chemnum_tmpb_tl }
+ \tl_if_blank:VF \l__chemnum_tmpc_tl
+ { \__chemnum_cmpd_sub_declare:no { #1 } { \l__chemnum_tmpc_tl } }
}
}
}
@@ -1057,65 +1023,65 @@
\tl_clear:N \l__chemnum_cmpd_cdelim_tl
}
\__chemnum_make_hyper:nn { \l__chemnum_cmpd_hyper_name_tl }
- {
- \__chemnum_cmpd_print:n
{
- \bool_if:NF \l__chemnum_sub_label_only_bool
- {
- \bool_if:NTF \l__chemnum_cmpd_ref_bool
- { \use:c { chemnum_cmpd_ #1 _ref: } }
- { \use:c { chemnum_cmpd_ #1 : } }
- }
- \bool_if:NTF \l__chemnum_cmpd_all_bool
+ \__chemnum_cmpd_print:n
{
- \tl_use:N \l__chemnum_cmpd_separator_tl
- \use:c { chemnum_cmpd_ #1 _min_ref: }
- \cs_if_eq:ccF
- { chemnum_cmpd_ #1 _min_ref: }
- { chemnum_cmpd_ #1 _max_ref: }
+ \bool_if:NF \l__chemnum_sub_label_only_bool
{
- \tl_use:N \l__chemnum_sub_range_sep_tl
- \use:c { chemnum_cmpd_ #1 _max_ref: }
+ \bool_if:NTF \l__chemnum_cmpd_ref_bool
+ { \use:c { chemnum_cmpd_ #1 _ref: } }
+ { \use:c { chemnum_cmpd_ #1 : } }
}
- }
- {
- \bool_if:NTF \l__chemnum_sublabel_list_bool
+ \bool_if:NTF \l__chemnum_cmpd_all_bool
{
- \__chemnum_cmpd_sublabel_list:nn { #1 }
- { \l__chemnum_cmpd_sublabel_list_tl }
+ \tl_use:N \l__chemnum_cmpd_separator_tl
+ \use:c { chemnum_cmpd_ #1 _min_ref: }
+ \cs_if_eq:ccF
+ { chemnum_cmpd_ #1 _min_ref: }
+ { chemnum_cmpd_ #1 _max_ref: }
+ {
+ \tl_use:N \l__chemnum_sub_range_sep_tl
+ \use:c { chemnum_cmpd_ #1 _max_ref: }
+ }
}
{
- \tl_if_blank:nF { #2 }
+ \bool_if:NTF \l__chemnum_sublabel_list_bool
{
- \tl_use:N \l__chemnum_cmpd_separator_tl
- \int_zero:N \l_tmpa_int
- \exp_args:No \tl_map_inline:nn
- { \l__chemnum_cmpd_sublist_tl }
+ \__chemnum_cmpd_sublabel_list:nn { #1 }
+ { \l__chemnum_cmpd_sublabel_list_tl }
+ }
+ {
+ \tl_if_blank:nF { #2 }
{
- \int_incr:N \l_tmpa_int
- \__chemnum_cmpd_subrange_separate:n { ##1 }
- \bool_if:NTF \l__chemnum_cmpd_ref_bool
- { \use:c { chemnum_cmpd_ #1 _ \l_tmpa_tl _ref: } }
- { \use:c { chemnum_cmpd_ #1 _ \l_tmpa_tl : } }
- \tl_if_blank:VF \l_tmpb_tl
+ \tl_use:N \l__chemnum_cmpd_separator_tl
+ \int_zero:N \l__chemnum_tmpa_int
+ \tl_map_inline:Nn \l__chemnum_cmpd_sublist_tl
{
- \tl_use:N \l__chemnum_sub_range_sep_tl
+ \int_incr:N \l__chemnum_tmpa_int
+ \__chemnum_cmpd_subrange_separate:n { ##1 }
\bool_if:NTF \l__chemnum_cmpd_ref_bool
- { \use:c { chemnum_cmpd_ #1 _ \l_tmpb_tl _ref: } }
- { \use:c { chemnum_cmpd_ #1 _ \l_tmpb_tl : } }
+ { \use:c { chemnum_cmpd_ #1 _ \l__chemnum_tmpb_tl _ref: } }
+ { \use:c { chemnum_cmpd_ #1 _ \l__chemnum_tmpb_tl : } }
+ \tl_if_blank:VF \l__chemnum_tmpc_tl
+ {
+ \tl_use:N \l__chemnum_sub_range_sep_tl
+ \bool_if:NTF \l__chemnum_cmpd_ref_bool
+ { \use:c { chemnum_cmpd_ #1 _ \l__chemnum_tmpc_tl _ref: } }
+ { \use:c { chemnum_cmpd_ #1 _ \l__chemnum_tmpc_tl : } }
+ }
+ \int_compare:nF
+ { \l__chemnum_tmpa_int = \l__chemnum_cmpd_sublist_length_int }
+ { \l__chemnum_sublist_output_separator_tl }
}
- \int_compare:nF
- { \l_tmpa_int = \l__chemnum_cmpd_sublist_length_int }
- { \l__chemnum_sublist_output_separator_tl }
}
}
}
}
- } }
+ }
}
}
-\cs_generate_variant:Nn \__chemnum_cmpd_aux_i:nnnn { oonn }
+\cs_generate_variant:Nn \__chemnum_cmpd_aux:nnnn { VV }
%-----------------------------------------------------------------------------%
% create compound label
@@ -1126,15 +1092,15 @@
\tl_clear:N \l__chemnum_cmpd_sub_label_tl
\__chemnum_cmpd_labelsep:n #1 \q_stop
\tl_remove_all:Nn \l__chemnum_cmpd_sub_label_tl { ~ }
- \__chemnum_cmpd_aux_i:oonn
- { \l__chemnum_cmpd_main_label_tl }
- { \l__chemnum_cmpd_sub_label_tl }
+ \__chemnum_cmpd_aux:VVnn
+ \l__chemnum_cmpd_main_label_tl
+ \l__chemnum_cmpd_sub_label_tl
{ #2 }
{ #3 }
\group_end:
}
-\cs_generate_variant:Nn \__chemnum_cmpd:nnn { onn }
+\cs_generate_variant:Nn \__chemnum_cmpd:nnn { V }
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% DOCUMENT COMMANDS
@@ -1164,7 +1130,7 @@
% label(s)>}
\NewDocumentCommand \__chemnum_input_separator:n
{ > { \exp_args:No \SplitList { \l__chemnum_list_input_separator_tl } } m }
- { \tl_set:Nn \l_tmpa_tl { #1 } }
+ { \tl_set:Nn \l__chemnum_tmpb_tl { #1 } }
\NewDocumentCommand \cmpd { s t+ t- o m }
{ \cmpd_main:nnnnn { #1 } { #2 } { #3 } { #4 } { #5 } }
@@ -1184,12 +1150,12 @@
\IfNoValueF { #4 }
{ \keys_set:nn { chemnum } { #4 } }
\__chemnum_input_separator:n { #5 }
- \tl_map_variable:NNn \l_tmpa_tl \l__chemnum_tmpa_tl
+ \tl_map_variable:NNn \l__chemnum_tmpb_tl \l__chemnum_tmpa_tl
{
\tl_if_blank:VF \l__chemnum_tmpa_tl
{ \int_incr:N \l__chemnum_list_items_int }
}
- \tl_map_variable:NNn \l_tmpa_tl \l__chemnum_tmpa_tl
+ \tl_map_variable:NNn \l__chemnum_tmpb_tl \l__chemnum_tmpa_tl
{
\tl_remove_all:Nn \l__chemnum_tmpa_tl { ~ }
\tl_if_blank:VF \l__chemnum_tmpa_tl
@@ -1209,8 +1175,8 @@
}
\IfBooleanTF #1
{
- \__chemnum_cmpd:onn
- { \l__chemnum_tmpa_tl }
+ \__chemnum_cmpd:Vnn
+ \l__chemnum_tmpa_tl
{ \BooleanTrue }
{ \BooleanFalse }
\IfBooleanT #3
@@ -1222,14 +1188,14 @@
{
\IfBooleanTF #3
{
- \__chemnum_cmpd:onn
- { \l__chemnum_tmpa_tl }
+ \__chemnum_cmpd:Vnn
+ \l__chemnum_tmpa_tl
{ \BooleanFalse }
{ \BooleanTrue }
}
{
- \__chemnum_cmpd:onn
- { \l__chemnum_tmpa_tl }
+ \__chemnum_cmpd:Vnn
+ \l__chemnum_tmpa_tl
{ \BooleanFalse }
{ \BooleanFalse }
}
@@ -1338,9 +1304,8 @@
{
\tl_if_blank:VF \l__chemnum_cmpd_sub_label_tl
{
- \exp_args:No \__chemnum_cmpd_sublist:n
- { \l__chemnum_cmpd_sub_label_tl }
- \exp_args:No \tl_map_inline:nn { \l__chemnum_cmpd_sublist_tl }
+ \__chemnum_cmpd_sublist:V \l__chemnum_cmpd_sub_label_tl
+ \tl_map_inline:Nn \l__chemnum_cmpd_sublist_tl
{
\cs_if_exist:cF
{
@@ -1366,12 +1331,13 @@
}
\bool_if:NT \l__chemnum_cmpd_init_declare_bool
{
- \__chemnum_cmpd:onn
- { \l__chemnum_tmpa_tl }
+ \__chemnum_cmpd:Vnn
+ \l__chemnum_tmpa_tl
{ \BooleanTrue }
{ \BooleanFalse }
}
}
+\cs_generate_variant:Nn \__chemnum_cmpd_sublist:n { V }
% \cmpdinit*[strict=<bool>]{<comma separated list of label names>}
\NewDocumentCommand \cmpdinit { s o m }
@@ -1382,7 +1348,7 @@
{ \bool_set_true:N \l__chemnum_cmpd_init_declare_bool }
\IfNoValueF { #2 } { \keys_set:nn { chemnum } { #2 } }
\__chemnum_input_separator:n { #3 }
- \tl_map_function:NN \l_tmpa_tl \__chemnum_cmpd_init:n
+ \tl_map_function:NN \l__chemnum_tmpb_tl \__chemnum_cmpd_init:n
}
%-----------------------------------------------------------------------------%
@@ -1654,10 +1620,11 @@ HISTORY:
- changed internal syntax
2013/04/17 version 0.6a - adapted to deprecated l3 functions
- protected functions that needed to be
-
+ 2013/06/05 version 0.6b - internal changes to the code
+
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% TODO:
- add a possibility to \ref{} the compounds
- (rudimentäre) Unterstützung für hyperref und pdfstrings
- provide expandable makro which gives the label and/or sublabel without any
- formatting \ No newline at end of file
+ formatting
diff --git a/Master/tlpkg/libexec/ctan2tds b/Master/tlpkg/libexec/ctan2tds
index 10036898722..da68d9cd2e8 100755
--- a/Master/tlpkg/libexec/ctan2tds
+++ b/Master/tlpkg/libexec/ctan2tds
@@ -484,6 +484,7 @@ chomp ($Build = `cd $Master/../Build/source && pwd`);
'inconsolata', "&MAKEflatten",
'indxcite', "die 'skipping, too old, license suboptimal'",
'induni-om', "die 'skipping, for omega, use of pua?'",
+ 'interactiveanimation', "die 'skipping, acrobat only'",
'intex', "die 'skipping, wants autoconfery'",
'invoice', "&MAKEflatten",
'ipa', "die 'skipping, part of wsuipa'",