diff options
author | Karl Berry <karl@freefriends.org> | 2012-09-11 23:05:31 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2012-09-11 23:05:31 +0000 |
commit | 4ccf8917dd7207bd3f86aae8bc3531661080bc23 (patch) | |
tree | c4e1e811422d5a0542cbc2d2b41dabed68c591a2 /Master/texmf-dist | |
parent | 143da46fa7d10716180d8883ac3eef1d7b758992 (diff) |
chemmacros (11sep12)
git-svn-id: svn://tug.org/texlive/trunk@27649 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist')
-rw-r--r-- | Master/texmf-dist/doc/latex/chemmacros/README | 4 | ||||
-rw-r--r-- | Master/texmf-dist/doc/latex/chemmacros/chemformula_test_sub_and_superscripts.tex | 7 | ||||
-rw-r--r-- | Master/texmf-dist/doc/latex/chemmacros/chemmacros_de.pdf | bin | 800574 -> 810465 bytes | |||
-rw-r--r-- | Master/texmf-dist/doc/latex/chemmacros/chemmacros_de.tex | 418 | ||||
-rw-r--r-- | Master/texmf-dist/doc/latex/chemmacros/chemmacros_en.pdf | bin | 782348 -> 792424 bytes | |||
-rw-r--r-- | Master/texmf-dist/doc/latex/chemmacros/chemmacros_en.tex | 402 | ||||
-rw-r--r-- | Master/texmf-dist/doc/latex/chemmacros/chemmacros_it.pdf | bin | 785507 -> 801027 bytes | |||
-rw-r--r-- | Master/texmf-dist/doc/latex/chemmacros/chemmacros_it.tex | 1727 | ||||
-rw-r--r-- | Master/texmf-dist/tex/latex/chemmacros/chemformula.sty | 594 | ||||
-rw-r--r-- | Master/texmf-dist/tex/latex/chemmacros/chemmacros.sty | 116 | ||||
-rw-r--r-- | Master/texmf-dist/tex/latex/chemmacros/ghsystem.sty | 58 | ||||
-rw-r--r-- | Master/texmf-dist/tex/latex/chemmacros/language/ghsystem_italian.def | 98 |
12 files changed, 2206 insertions, 1218 deletions
diff --git a/Master/texmf-dist/doc/latex/chemmacros/README b/Master/texmf-dist/doc/latex/chemmacros/README index 51abd65ad7e..dc42bc516b5 100644 --- a/Master/texmf-dist/doc/latex/chemmacros/README +++ b/Master/texmf-dist/doc/latex/chemmacros/README @@ -1,10 +1,10 @@ -------------------------------------------------------------------------- -the CHEMMACROS bundle v3.3e +the CHEMMACROS bundle v3.4 -> chemmacros package -> macros and commands for chemists -> chemformula package -> typeset chemical compounds and reactions -> ghsystem package -> typeset H & P statements and pictograms from the globally harmonised system (GHS) -2012/08/21 +2012/09/11 -------------------------------------------------------------------------- This bundle succeeds the chemmacros package which is now part of the bundle diff --git a/Master/texmf-dist/doc/latex/chemmacros/chemformula_test_sub_and_superscripts.tex b/Master/texmf-dist/doc/latex/chemmacros/chemformula_test_sub_and_superscripts.tex index 7811ab97c31..589429f6724 100644 --- a/Master/texmf-dist/doc/latex/chemmacros/chemformula_test_sub_and_superscripts.tex +++ b/Master/texmf-dist/doc/latex/chemmacros/chemformula_test_sub_and_superscripts.tex @@ -129,4 +129,11 @@ no shift:\chemsetup[chemformula]{charge-hshift=0pt}\\ \( K = \frac{\bigl[\ch{Na+}\bigr]^2\bigl[\ch{SO4^2-}\bigr]}{\bigl[\ch{Na2SO4}\bigr]} \) $ A^{\ch{SO4^2-}}$ + + \ch{!(water)(H2O)} \quad + \ch{!( "\textcolor{blue}{water}" )( H2O )} \quad + \ch{!( $2n-1$ )( H2O )} \quad + \ch{!( H2O )( H2O )} \quad + \ch{!(oxonium)( H3O+ )} + \end{document}
\ No newline at end of file diff --git a/Master/texmf-dist/doc/latex/chemmacros/chemmacros_de.pdf b/Master/texmf-dist/doc/latex/chemmacros/chemmacros_de.pdf Binary files differindex db84771ccff..6b7d3d4a8a1 100644 --- a/Master/texmf-dist/doc/latex/chemmacros/chemmacros_de.pdf +++ b/Master/texmf-dist/doc/latex/chemmacros/chemmacros_de.pdf diff --git a/Master/texmf-dist/doc/latex/chemmacros/chemmacros_de.tex b/Master/texmf-dist/doc/latex/chemmacros/chemmacros_de.tex index df92de9f7a6..fa192a48e7c 100644 --- a/Master/texmf-dist/doc/latex/chemmacros/chemmacros_de.tex +++ b/Master/texmf-dist/doc/latex/chemmacros/chemmacros_de.tex @@ -1,9 +1,7 @@ -% arara: xelatex +% arara: xelatex: { shell: true } % arara: biber % arara: xelatex -% arara: xelatex -% arara: makeindex: { sort: true, style: chemmacros_de.ist } -% arara: xelatex +% arara: xelatex: { shell: true } %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % ----------------------------------------------------------------------------- % - the CHEMMACROS bundle @@ -40,10 +38,10 @@ % https://bitbucket.org/cgnieder/cnpkgdoc/ % the class is licensed LPPL 1.3 or later % b) you need the following compilation order: -% > xelatex chemmacros_de (2 or probably 3 times) +% > xelatex --shell-escape chemmacros_de (2 or probably 3 times) % > biber chemmacros_de -% > makeindex -sl chemmacros_de.ist chemmacros_de.idx -% > xelatex chemmacros_de (2 times) +% > xelatex --shell-escape chemmacros_de (2 times) +% % \documentclass[DIV11,toc=index,toc=bib]{cnpkgdoc} \docsetup{ @@ -56,7 +54,8 @@ } \usepackage{polyglossia} \setmainlanguage{german} -\usepackage{chemfig,chemstyle,upgreek,textgreek,booktabs,cancel} +\usepackage[varioref=false]{chemstyle} +\usepackage{chemfig,upgreek,textgreek,booktabs,cancel} \usepackage[version=3]{mhchem} \usepackage{hologo} \usepackage{fnpct} @@ -64,6 +63,14 @@ \ChangeEmph{[}[,.02em]{]}[.055em,-.08em] \ChangeEmph{(}[-.01em,.04em]{)}[.04em,-.05em] +\pagestyle{headings} + +\usepackage{acro} +\DeclareAcronym{ghs}{GHS}{Globally Harmonized System of Classification and + Labelling of Chemicals} +\DeclareAcronym{eu}{EU}{European Union} +\DeclareAcronym{iupac}{IUPAC}{International Union of Pure and Applied Chemistry} + \chemsetup[option]{synchronize,language=german} \colorlet{chemformula}{darkgray} @@ -93,18 +100,18 @@ Bertil Holmström and Kozo Kuchitsu and Roberto Marquardt and Ian Mills and Franco Pavese and Martin Quack and Jürgen Stohner and Herbert L. Strauss and Michio Takami and Anders J Thor}, - title = {“Quantities, Symbols and Units in Physical Chemistry”, \IUPAC Green + title = {“Quantities, Symbols and Units in Physical Chemistry”, \ac{iupac} Green Book}, edition = {3rd Edition. 2nd Printing}, year = {2008}, - publisher = { \IUPAC \&\ RSC Publishing, Cambridge} + publisher = { \ac{iupac} \&\ RSC Publishing, Cambridge} } @book{iupac:redbook, author = {Neil G. Connelly and Ture Damhus and Richard M. Hartshorn and Alan T. Hutton}, - title = {“Nomenclature of Inorganic Chemistry”, \IUPAC Red Book}, + title = {“Nomenclature of Inorganic Chemistry”, \ac{iupac} Red Book}, year = {2005}, - publisher = { \IUPAC \&\ RSC Publishing, Cambridge}, + publisher = { \ac{iupac} \&\ RSC Publishing, Cambridge}, isbn = {0-85404-438-8} } @misc{eu:ghsystem_regulation, @@ -142,7 +149,6 @@ \newcommand*\Chemformula{{\fontspec[Color=cnpkgblue,Scale=1.2]{Linux Biolinum Shadow O}chemformula}} \newcommand*\Ghsystem{{\fontspec[Color=cnpkgblue,Scale=1.2]{Linux Biolinum Shadow O}ghsystem}} -\newcommand*\IUPAC{\mbox{IUPAC}\xspace} \renewcommand*\AmS{\hologo{AmS}} \newcommand*\pdfTeX{\hologo{pdfTeX}} \newcommand*\LuaTeX{\hologo{LuaTeX}} @@ -168,12 +174,14 @@ pgfarrowsrenewalias,pH,phase,photon,pKa,pKb,pOH,pos,positron,Pot,prt,R,Rad, redox,RenewChemArrow,RenewChemIUPAC,RenewChemLatin,RenewChemNMR, RenewChemParticle,RenewChemPhase,RenewChemState,renewtagform,rightarrow,S,Sf, - sample,scriptscriptstyle,scrm,scrp,setatomsep,setbondoffset,sfrac, - shorthandoff,ShowChemArrow,si,SI,sisetup,sld,Sod,State,subsection,textcolor, + sample,scriptscriptstyle,scrm,scrp,second,setatomsep,setbondoffset,sfrac, + shorthandoff,ShowChemArrow,si,SI,sisetup,sld,Sod,square,State,subsection,textcolor, textendash,textsuperscript,tiny,toprule,trans,upbeta,upeta,upgamma,val,volt, vphantom,vspave,w,xspace,Z} -\makeindex +\usepackage{imakeidx} +\makeindex[columns=3,intoc,options={-sl \jobname.ist}] + \begin{document} \chemsetup[chemformula]{font-spec={[Color=chemformula]Latin Modern Sans}} \renewcommand*\glqq{„} @@ -242,13 +250,12 @@ gedacht ist, bietet \chemmacros eine Option, mit der Sie zwischen \paket{mhchem} und \chemformula wählen können. Als Chemiker wissen Sie vermutlich, dass die \textsc{United Nations} das -\enquote{\textbf{G}lobally \textbf{H}armonized \textbf{S}ystem of Classification -and Labelling of Chemicals} (GHS) als weltweiten Ersatz für die zahlreichen ähnlichen -aber doch verschiedenen Systeme der einzelnen Länder entwickelt haben. Obwohl es -noch nicht in allen Ländern umgesetzt wurde \cite{unece:ghsystem_implementation}, -ist das nur eine Frage der Zeit. Das Paket \ghsystem gibt Ihnen nun die Möglichkeit, -alle \enquote{hazard and precautionary statements} auf einfache Weise einzugeben -und aufzurufen. Die Sätze wurden der EU-Verordnung 1272/2008 entnommen~\cite{eu:ghsystem_regulation}. +\ac{ghs} als weltweiten Ersatz für die zahlreichen ähnlichen aber doch verschiedenen +Systeme der einzelnen Länder entwickelt haben. Obwohl es noch nicht in allen Ländern +umgesetzt wurde \cite{unece:ghsystem_implementation}, ist das nur eine Frage der Zeit. +Das Paket \ghsystem gibt Ihnen nun die Möglichkeit, alle \enquote{hazard and +precautionary statements} auf einfache Weise einzugeben und aufzurufen. Die Sätze +wurden der EU-Verordnung 1272/2008 entnommen~\cite{eu:ghsystem_regulation}. Ich hoffe, folgende vier Punkte in diesem Bundle umgesetzt zu haben: \begin{itemize} @@ -259,12 +266,12 @@ Ich hoffe, folgende vier Punkte in diesem Bundle umgesetzt zu haben: \lstinline=\textsl{o}-dichlorobenzene=) \item so große Flexibilität und so viele Anpassungsmöglichkeiten wie möglich, damit jeder Anwender die Befehle nach eigenen Bedürfnissen anpassen kann. - \item mit \IUPAC konforme Voreinstellungen + \item mit \ac{iupac} konforme Voreinstellungen \end{itemize} Vor allem der letzte Punkt benötigte zwar einige Schubser von Anwendern\footnote{% Vielen Dank an Dr.~Paul~King!}, um die richtigen Einstellungen an vielen Stellen -zu bekommen. Wenn Ihnen etwas auf\-fällt, das nicht der \IUPAC-Empfehlung -entspricht\footnote{Das gilt nicht für den \cmd{ox}-Befehl. Die \IUPAC-Fassung dazu +zu bekommen. Wenn Ihnen etwas auf\-fällt, das nicht der \ac{iupac}-Empfehlung +entspricht\footnote{Das gilt nicht für den \cmd{ox}-Befehl. Die \ac{iupac}-Fassung dazu ist \cmd[oxa]{ox*}.}, würde ich mich über eine E-Mail sehr freuen! Bei einem Paket dieser Größe mit alten und neuen Teilen (die man noch als in der @@ -279,9 +286,9 @@ mich aber natürlich auch über Feedback zu jedem anderen Teil des Bundles. \section{Installation und Laden des Bundles}\secidx{Laden des Bundles}\secidx{Installation} Das Bundle enthält drei Style-Dateien\footnote{Die mit der Endung \code{sty}.}, einem Ordner namens \code{language/}, der die Sprach-De\-fi\-ni\-tions-Dateien für -GHS enthält (Endung \code{def}) und einem Ordner \code{pictures/}, der \code{eps}-, -\code{jpg}- und \code{png}-Dateien enthält (die GHS Piktogramme). Wenn Sie das -Bundle von Hand installieren, \emph{bitte achten Sie darauf, die Ordner +\ac{ghs} enthält (Endung \code{def}) und einem Ordner \code{pictures/}, der \code{eps}-, +\code{jpg}-, \code{pdf} und \code{png}-Dateien enthält (die \ac{ghs} Piktogramme). +Wenn Sie das Bundle von Hand installieren, \emph{bitte achten Sie darauf, die Ordner \code{language/} und \code{pictures/} in den \emph{gleichen} Ordner wie die Style-Dateien zu kopieren}. @@ -325,58 +332,58 @@ sie explizit laden, verpuffen alle als Paketoptionen gegebenen Optionen. Sie kö dann nur mit dem Setup-Befehl gesetzt werden. \begin{beschreibung} % bpchem - \option[option]{bpchem}{\default{true}/false} Diese Option lädt \paket{bpchem} + \option[option]{bpchem}{\default{true}|false} Diese Option lädt \paket{bpchem} und passt das Layout von \cmd{NMR} den \paket{bpchem}-Befehlen \lstinline+\HNMR+ und \lstinline+\CNMR+ an. Default = \code{false} % circled - \option[option]{circled}{\default{formal}/all/none} \chemmacros unterscheidet + \option[option]{circled}{\default{formal}|all|none} \chemmacros unterscheidet zwischen zwei Typen von Ladungen\footnote{Vielen Dank an Christoph Schäfer, der mich darauf aufmerksam machte, dass v1.1 die Ladungen zu nachlässig behandelte!}: reale ($+/-$) und formale (\fplus/\fminus) Ladungen. Die Option \code{formal} unterscheidet zwischen ihnen, \code{none} stellt alle ohne Umkreisung dar, \code{all} umkreist alle. Default = \code{formal} % circletype - \option[option]{circletype}{\default{chem}/math} Diese Option schaltet zwischen + \option[option]{circletype}{\default{chem}|math} Diese Option schaltet zwischen zwei Darstellungsmöglichkeiten für formale Ladungen hin und her: \cmd{fplus} \fplus\ und \lstinline+$\oplus$+ $\oplus$. Default = \code{chem} % cmversion - \option[option]{cmversion}{1/2/bundle} Diese Option stellt die Definition einiger + \option[option]{cmversion}{1|2|bundle} Diese Option stellt die Definition einiger Befehle wieder her, so dass Dokumente, die mit v1.* gesetzt wurden, Korrekt kompilieren. Default = \code{bundle}. Eigentlich sind \code{2} und \code{bundle} Aliase. Diese Option kann nur in der Präambel gesetzt werden. % ghsystem - \option[option]{ghsystem}{\default{true}/false} Das Paket \ghsystem abschalten. + \option[option]{ghsystem}{\default{true}|false} Das Paket \ghsystem abschalten. Die Einstellung \key{ghs}{false} wird das Laden von \ghsystem unterbinden. Default = \code{true} % greek - \option[option]{greek}{math/textgreek/\default{upgreek}} Diese Option bestimmt, + \option[option]{greek}{math|textgreek|\default{upgreek}} Diese Option bestimmt, wie die Buchstaben \cmd{Chemalpha} und seine Verwandten dargestellt werden. Siehe Seite~\pageref{desc:upgreek} für weitere Informationen. Diese Option kann nur in der Präambel gesetzt werden. Default = \code{upgreek} % iupac - \option[option]{iupac}{auto/restricted/strict} Einstellen, wie die Nomenklatur-Befehle + \option[option]{iupac}{auto|restricted|strict} Einstellen, wie die Nomenklatur-Befehle definiert werden. Siehe Seite~\pageref{desc:iupac}. Default = \code{auto} % language - \option[option]{language}{american/british/english/french/german/italian/ngerman} + \option[option]{language}{american|british|english|french|german|italian|ngerman} Sprachspezifische Einstellungen laden. \code{english}, \code{american} und \code{british} sind Aliase, ebenso \code{german} und \code{ngerman}. Diese Option kann nur in der Präambel gesetzt werden. Default = \code{english} % method - \option[option]{method}{\default{chemformula}/mhchem} Sie können wählen, ob + \option[option]{method}{\default{chemformula}|mhchem} Sie können wählen, ob \chemmacros \paket{mhchem} oder \chemformula für die Reaktionsumgebungen (siehe Abschnitt~\ref{sec:reactions}) und die Teilchen (siehe Abschnitt~\ref{sec:teilchen}) verwendet. Default = \code{chemformula}. Diese Option kann nur in der Präambel gesetzt werden. % Nu - \option[option]{Nu}{\default{chemmacros}/mathspec} Das Paket \paket{mathspec} + \option[option]{Nu}{\default{chemmacros}|mathspec} Das Paket \paket{mathspec} definiert ebenfalls ein Makro \cmd{Nu}. Diese Option entscheidet, welche Definition gilt, siehe Seite~\pageref{Nu}. Default = \code{chemmacros}. Diese Option kann nur in der Präambel gesetzt werden. % strict - \option[option]{strict}{\default{true}/false} Die Einstellung \key{strict}{true} + \option[option]{strict}{\default{true}|false} Die Einstellung \key{strict}{true} wird alle Warnungen in Fehlermeldungen ändern. Default = \code{false} % synchronize - \option[option]{synchronize}{\default{true}/false} Mit der Einstellung \code{true} + \option[option]{synchronize}{\default{true}|false} Mit der Einstellung \code{true} wird \chemmacros die Schrifteinstellungen von \chemformula übernehmen, falls \chemformula als Methode gewählt wurde. Default = \code{false}. Um diese Option zu demonstrieren, wurde dieses Dokument mit \key{synchronize}{true} und der @@ -384,7 +391,7 @@ dann nur mit dem Setup-Befehl gesetzt werden. \lstinline+\chemsetup[chemformula]{font-spec={[Color=darkgray]Latin Modern Sans}}+ gesetzt. % xspace - \option[option]{xspace}{\default{true}/false} Mit dieser Option werden die + \option[option]{xspace}{\default{true}|false} Mit dieser Option werden die meisten Makros mit einem \lstinline+\xspace+ definiert. Default = \code{true} \end{beschreibung} \secidx*{Paketoptionen} @@ -427,9 +434,10 @@ Durch die Wahl der Option \begin{beispiel}[code only] \chemsetup[option]{language=<language>} \end{beispiel} -kann eine der folgenden Sprachen gewählt werden: \code{american/british/english/french/german/italian/ngerman}. -Die Sprachen \code{american/british/english} sind Aliase, ebenso die Sprachen -\code{german/ngerman}. +kann eine der folgenden Sprachen gewählt werden: \code{american}, \code{british}, +\code{english}, \code{french}, \code{german}, \code{italian} und \code{ngerman}. +Die Sprachen \code{american}, \code{british}, \code{english} sind Aliase, ebenso +die Sprachen \code{german} und \code{ngerman}. Übersetzt werden \begin{itemize} @@ -438,7 +446,7 @@ Die Sprachen \code{american/british/english} sind Aliase, ebenso die Sprachen \item Die H- und P-Sätze. \end{itemize} -\achtung{Bitte beachten Sie, dass die GHS-Sätze nicht in allen Sprachen angeboten +\achtung{Bitte beachten Sie, dass die \ac{ghs}-Sätze nicht in allen Sprachen angeboten werden, siehe auch Abschnitt~\ref{sec:ghsystem_language}.} \subsection{Besonderheiten} @@ -480,12 +488,24 @@ Bei der Sprachwahl \code{italian} werden zusätzliche IUPAC-Befehle definiert: \subsection{Verison 3.3d} \begin{itemize} - \item \code{pdf}-Versionen der GHS-Piktogramme. + \item \code{pdf}-Versionen der \ac{ghs}-Piktogramme. \item Neue Voreinstellungen für Bindungslänge und Bindungs-Offset, siehe Seite \pageref{ssec:compounds:customization}. \item Neue Option \key{bond-style}, siehe Seite~\pageref{ssec:compounds:customization}. \item neue Option \key{cip-kern}, siehe Seite~\pageref{par:cip} \end{itemize} + +\subsection{Version 3.4} +\begin{itemize} + \item \chemmacros bekam ein italienisches Manual, vielen herzlichen Dank an Jonas + Rivetti, der sich nicht nur freiwillig meldete, die H- \&\ P-Sätze zu übersetzen, + sondern auch diese Dokumentation! + \item der Befehl \cmd{bond}, der es ermöglicht, andere als Einfach-, Doppel- und + Dreifachbindungen zu verwenden, siehe Abschnitt~\ref{ssec:bonds}. Dieses Feature + wollte ich schon lange einbauen! + \item ein paar Änderungen am Aussehen des Radikalpunktes und neue Optionen, um es + anzupassen, siehe Abschnitt~\ref{ssec:compounds:customization}. +\end{itemize} \secidx*{Neues}\secidx*{BEVOR ES LOS GEHT} \part{\texorpdfstring{\Chemmacros}{chemmacros}}\secidx{CHEMMACROS} @@ -536,7 +556,7 @@ auch im Mathematikmodus eingesetzt werden. Die beiden Teilchen \cmd{Nu} und \cmd{ba} können angepasst werden. Dafür verwenden Sie die Option \begin{beschreibung} - \Option[particle]{elpair}{false/\default{dots}/dash} + \Option[particle]{elpair}{false|\default{dots}|dash} \end{beschreibung} Sie hat nur dann Auswirkungen, wenn das Paket \paket{chemfig} geladen wurde, da sie dessen Befehl \lstinline+\Lewis+ verwendet. @@ -557,7 +577,7 @@ Diese Dokumentation verwendet \paket{upgreek}. Haben Sie sowohl \paket{textgreek als auch \paket{upgreek} geladen haben, wird \paket{upgreek} verwendet. Wenn Sie nicht wollen, dass \chemmacros automatisch wählt, sondern selbst entscheiden -wollen, verwenden Sie die Paketoption \key[option]{greek}. \ref{tab:upgreek_mode} +wollen, verwenden Sie die Paketoption \key[option]{greek}. Tabelle~\ref{tab:upgreek_mode} zeigt die verschiedenen Varianten einiger Buchstaben. \begin{table}[h] @@ -571,10 +591,10 @@ zeigt die verschiedenen Varianten einiger Buchstaben. \caption{Die griechischen Buchstaben}\label{tab:upgreek_mode} \end{table} -Der Grund dafür, dass \chemmacros diese Makros überhaupt definiert, ist \IUPAC-Konformität. -\IUPAC empfiehlt, aufrechte griechische Buchstaben in der Nomenklatur verwenden. +Der Grund dafür, dass \chemmacros diese Makros überhaupt definiert, ist \ac{iupac}-Konformität. +\ac{iupac} empfiehlt, aufrechte griechische Buchstaben in der Nomenklatur verwenden. -\begin{zitat}[{\IUPAC Green Book \cite[][p.\,9]{iupac:greenbook}}] +\begin{zitat}[{\ac{iupac} Green Book {\cite[][p.\,9]{iupac:greenbook}}}] Greek letters are used in systematic organic, inorganic, macromolecular and biochemical nomenclature. These should be roman (upright), since they are not symbols for physical quantities. @@ -616,7 +636,7 @@ andernfalls eine Warnung/einen Fehler. \subsection{IUPAC-Namen}\secidx{IUPAC-Namen} Ähnlich wie das Paket \paket{bpchem} stellt \chemmacros einen Befehl\footnote{Die Idee und die Umsetzung stammt aus dem Paket \paket*{bpchem} von Bjørn Pedersen.} -bereit, um \IUPAC-Namen zu setzen. Wieso ist das nützlich? \IUPAC-Namen können +bereit, um \ac{iupac}-Namen zu setzen. Wieso ist das nützlich? \ac{iupac}-Namen können sehr lang werden. So lang, dass sie auch mal über mehr als zwei Zeilen gehen können, vor allem in zweispaltigen Dokumenten. Das bedeutet, sie müssen sich mehr als einmal umbrechen dürfen. Dabei hilft folgender Befehl: @@ -674,7 +694,7 @@ welche Befehle wie definiert sind, gibt es die Paketoption \lstinline=\begin{document}=) umdefiniert werden. Sie behalten dann die Nomenklatur-Bedeutung innerhalb von \cmd{iupac}. \end{itemize} -\ref{tab:iupac_modes} demonstriert die verschiedenen Modi. +Tabelle~\ref{tab:iupac_modes} demonstriert die verschiedenen Modi. \begin{table}[h] \centering @@ -807,10 +827,10 @@ sein können: Zwei Optionen stehen zur Anpassung zur Verfügung: \begin{beschreibung} - \option[iupac]{bridge-number}{sub/super} hängt die Nummer als Tiefstellung oder + \option[iupac]{bridge-number}{sub|super} hängt die Nummer als Tiefstellung oder als Hochstellung an. IUPAC empfielt die Tiefstellung~\cite{iupac:redbook}. Default = \code{sub} - \option[iupac]{coord-use-hyphen}{\default{true}/false} hängt einen Bindestrich + \option[iupac]{coord-use-hyphen}{\default{true}|false} hängt einen Bindestrich an \cmd{hapto} und \cmd{bridge} an wenn \code{true}. Default = \code{true} \end{beschreibung} @@ -921,14 +941,14 @@ Paketoption \key{language} ab). \end{beispiel} \achtung{Das voreingestellte Erscheinungsbild der \p{}-Befehle hat sich verändert, -um der \IUPAC-Empfehlung zu folgen.} -\begin{zitat}[{\IUPAC Green Book \cite[][p.\,103]{iupac:greenbook}}] - The operator \p{} […] shall be printed in Roman type. +um der \ac{iupac}-Empfehlung zu folgen.} +\begin{zitat}[{\ac{iupac} Green Book {\cite[][p.\,103]{iupac:greenbook}}}] + The operator \p{} \textelp{} shall be printed in Roman type. \end{zitat} Es gibt eine Option, die den Stil, in dem das \p{} dargestellt wird, ändert: \begin{beschreibung} - \option[acid-base]{p-style}{italics/slanted/upright} Default = \code{upright} + \option[acid-base]{p-style}{italics|slanted|upright} Default = \code{upright} \end{beschreibung} \begin{beispiel} \pH, \pKa @@ -968,7 +988,7 @@ Das gleiche für formale Ladungen: Es gibt eine Option, die das Verhalten der Ladungen beeinflusst: \begin{beschreibung} - \option[charges]{append}{\default{true}/false} Wenn auf \code{true} gesetzt, + \option[charges]{append}{\default{true}|false} Wenn auf \code{true} gesetzt, wird die Ladung mit einer leeren Gruppe angehängt. Default = \code{false} \end{beschreibung} @@ -1006,18 +1026,18 @@ Eingabe von Oxidationszahlen: Es gibt eine Reihe von Optionen, mit denen \cmd{ox} angepasst werden kann. \begin{beschreibung} - \option[ox]{parse}{\default{true}/false} Wenn \code{false}, dann kann ein beliebiger + \option[ox]{parse}{\default{true}|false} Wenn \code{false}, dann kann ein beliebiger Eintrag für \code{<number>} gemacht werden. Default = \code{true} - \option[ox]{roman}{\default{true}/false} schaltet von römischen auf arabische + \option[ox]{roman}{\default{true}|false} schaltet von römischen auf arabische Ziffern um. Default = \code{true} - \option[ox]{pos}{top/super/side}; \code{top} setzt \code{<number>} über \code{<atom>}, + \option[ox]{pos}{top|super|side}; \code{top} setzt \code{<number>} über \code{<atom>}, \code{super} rechts oben als Hochstellung und \code{side} rechts daneben in Klammern. Default = \code{top} - \option[ox]{explicit-sign}{\default{true}/false} gibt $+$ für positive Zahlen + \option[ox]{explicit-sign}{\default{true}|false} gibt $+$ für positive Zahlen und $\pm$ für die $0$ aus. Default = \code{false} - \option[ox]{decimal-marker}{comma/point} Wahl des Dezimalzeichens für + \option[ox]{decimal-marker}{comma|point} Wahl des Dezimalzeichens für Oxidationszahlen wie \ox{1.2,X}. Default = \code{point} - \option[ox]{align}{center/right} Die Oxidationszahl über dem Atom zentrieren oder + \option[ox]{align}{center|right} Die Oxidationszahl über dem Atom zentrieren oder es mit diesem rechts ausrichten. Default = \code{center} \end{beschreibung} @@ -1025,7 +1045,8 @@ Es gibt eine Reihe von Optionen, mit denen \cmd{ox} angepasst werden kann. \ox[roman=false]{2,Ca} \ox{2,Ca} \\ \ox[pos=super]{3,Fe}-Oxid \\ \ox[pos=side]{3,Fe}-Oxid \\ - \ox[parse=false]{?,Mn} + \ox[parse=false]{?,Mn} \\ + \ox[align=right]{2,Ca} \end{beispiel} Die \key[ox]{pos}{super}-Variante kann auch mit dem Shortcut \cmd[oxa]{ox*} erzeugt @@ -1165,7 +1186,7 @@ Die Voreinstellung der vertikalen Linien kann mit \option[redox]{dist}{<dim>} Default = \code{.6em} \end{beschreibung} angepasst werden: -\newpage + \begin{beispiel}[dist] \chemsetup{redox/dist=1em} \OX{a,Na} $\rightarrow$ \OX{b,Na}\pch\redox(a,b)[->,red]{ox} @@ -1197,7 +1218,7 @@ Beispiele:% TODO: watch pagebreaks! \redox(r1,r2)[][-1]{\small RED: $+ 2\el$} \vspace{7mm} \end{beispiel} -\newpage + \bspmidlength{dist}{15mm} \begin{beispiel}[dist] \ch{ 2 "\OX{o1,\ox{0,Na}}" + "\OX{r1,\ox{0,Cl}}" {}2 -> 2 "\OX{o2,\ox{+1,Na}}" @@ -1236,8 +1257,8 @@ Das Argument \da{<subscript>} Fügt eine Tiefstellung zur Spezifizierung hinzu: Die Befehle können mit mehreren Optionen angepasst werden: \begin{beschreibung} \Option*{exponent}{<anything>} - \Option*{delta}{<anything>/false} - \Option*{subscript}{left/right} + \Option*{delta}{<anything>|false} + \Option*{subscript}{left|right} \Option*{unit}{<unit>} \end{beschreibung} @@ -1274,8 +1295,8 @@ Dieser Befehl hat fast die gleichen Optionen, wie die Größen selbst, mit denen Voreinstellung für die neue Größe festgelegt werden können. \begin{beschreibung} \Option*{exponent}{<anything>} - \Option*{delta}{<anything>/false} - \Option*{subscript-left}{true/false} + \Option*{delta}{<anything>|false} + \Option*{subscript-left}{\default{true}|false} \Option*{subscript}{<anything>} \end{beschreibung} @@ -1317,9 +1338,9 @@ Beispiele: Wieder hat er (fast) die gleichen Optionen: \begin{beschreibung} - \item \key[state]{exponent}{<anything>} - \item \key[state]{subscript-left}{true/false} - \item \key[state]{delta}{<anything>/false} + \Option[state]{exponent}{<anything>} + \Option[state]{subscript-left}{true|false} + \Option[state]{delta}{<anything>|false} \end{beschreibung} \secidx*{Thermodynamik} @@ -1399,7 +1420,6 @@ eine Umgebung. \Befehl{data*}{<Typ>}\oa{<Spezifikation>} \cnpkgdocarrow\ Wie \cmd{data}, gibt aber anstelle des \code{=} ein \code{:} mit aus, wenn \key{use-equal}{true} eingestellt ist. - % TODO \Befehl{NMR}{<num>,<elem>\oa{<coupling core>}}\da{<num>,<unit>}\oa{<solvent>} \cnpkgdocarrow\ der Befehl bekommt ein weiteres Argument: \cmd{NMR}{13,C[\textasciicircum 1H]} \NMR{13,C[^1H]} @@ -1431,17 +1451,17 @@ an. \option[nmr]{unit}{<unit>} Default = \lstinline=\mega\hertz= \option[nmr]{nucleus}{\{<num>,<atom>\}} Default = \ma{1,H} \option[nmr]{format}{<commands>} zum Beispiel \lstinline=\bfseries= - \option[nmr]{pos-number}{side/sub} Position der Zahl neben dem Atom. Default = + \option[nmr]{pos-number}{side|sub} Position der Zahl neben dem Atom. Default = \code{side} \option[nmr]{coupling-unit}{<unit>} Eine \paket{siunitx} Einheit. Default = \lstinline=\hertz= - \option[nmr]{parse}{true/false} Das Lösungsmittel als \paket{mhchem}/\chemformula-Formel + \option[nmr]{parse}{\default{true}|false} Das Lösungsmittel als \paket{mhchem}/\chemformula-Formel behandeln oder nicht. Default = \code{true} \option[nmr]{delta}{<tokens>} Die \code{<tokens>} werden nach $\delta$ eingefügt. - \option[nmr]{list}{true/false} Die Umgebung \env{nmr}[<optionen>]{} wird als + \option[nmr]{list}{\default{true}|false} Die Umgebung \env{nmr}[<optionen>]{} wird als Liste formatiert. Default = \code{false} \option[nmr]{list-setup}{<setup>} Setup der Liste. Default = siehe unten. - \option[nmr]{use-equal}{\default{true}/false} Istgleich-Zeichen nach \cmd{NMR} + \option[nmr]{use-equal}{\default{true}|false} Istgleich-Zeichen nach \cmd{NMR} und \cmd{data} einsetzen. Default = \code{false} \end{beschreibung} @@ -1665,7 +1685,7 @@ Mit den folgenden Optionen kann \cmd{mhName} angepasst werden: \option[mhName]{format}{<anything>} Das Format des Textes. \option[mhName]{fontsize}{<font size command>} Die Schriftgröße des Textes. Default = \lstinline+\tiny+ - \option[mhName]{width}{<dim>/auto} Die Breite der Box, in die der Text geschrieben + \option[mhName]{width}{<dim>|auto} Die Breite der Box, in die der Text geschrieben wird. Default = \code{auto} \end{beschreibung} \begin{beispiel} @@ -1753,9 +1773,10 @@ erwartet: Sie \cmd{mch} und die verwandten Befehle innerhalb der \code{reaction} Umgebungen nicht verwenden. Sie bringen in den meisten Fällen die korrekte Ausrichtung durcheinander. In der Standardeinstellung erkennen Ladungen in den Umgebungen -die EInstellung der Option \key{circled} automatisch, so dass die Befehle auch +die Einstellung der Option \key{circled} automatisch, so dass die Befehle auch nicht benötigt werden.} +\newpage \subsection{Eigene Reaktionen} Sie können mit dem Befehl \begin{beschreibung} @@ -1768,8 +1789,8 @@ verwendete Mathematikumgebung. Der Befehl hat zwei Optionen. \begin{beschreibung} - \Option*{star}{\default{true}/false} - \Option*{arg}{\default{true}/false} + \Option*{star}{\default{true}|false} + \Option*{arg}{\default{true}|false} \end{beschreibung} Zum einen \key*{star}, die auch die gesternte Variante definiert, vorausgesetzt, die entsprechende Mathematikumgebung existiert. Falls nicht, wird es einen Fehler @@ -1862,7 +1883,7 @@ Diese Befehle sollen helfen, die Phase einer Substanz anzuzeigen. \end{beschreibung} \achtung{Das Default-Verhalten der Phasen-Befehle hat sich geändert, um der -\IUPAC-Empfehlung zu folgen. Sowohl \cmd{sld} als auch \cmd{lqd} haben kein +\ac{iupac}-Empfehlung zu folgen. Sowohl \cmd{sld} als auch \cmd{lqd} haben kein optionales Argument mehr.} \begin{beispiel} @@ -1873,20 +1894,20 @@ optionales Argument mehr.} Mit der Paketoption \key{language}{english} (siehe Abschnitt~\ref{sec:optionen}) erhalten Sie die englischen Versionen. -Die \IUPAC-Empfehlung\footnote{Vielen Dank an Paul King für den Hinweis.} um einen +Die \ac{iupac}-Empfehlung\footnote{Vielen Dank an Paul King für den Hinweis.} um einen Aggregatszustand anzuzeigen ist es, sie in Klammern nach der Formel zu schreiben~\cite{iupac:greenbook}. Es ist jedoch ebenfalls verbreitet, sie als Tiefstellung zu setzen. -\begin{zitat}[{\IUPAC Green Book \cite[][p.\,54]{iupac:greenbook}}] - The [\ldots] symbols are used to represent the states of aggregation of chemical +\begin{zitat}[{\ac{iupac} Green Book {\cite[][p.\,54]{iupac:greenbook}}}] + The \textelp{} symbols are used to represent the states of aggregation of chemical species. The letters are appended to the formula in parentheses and should be printed in Roman (upright) type without a full stop (period). \end{zitat} Es gibt zwei Optionen, um den Output anzupassen: \begin{beschreibung} - \option[phases]{pos}{side/sub} Umschalten der Position des Phasen-Anzeigers. + \option[phases]{pos}{side|sub} Umschalten der Position des Phasen-Anzeigers. Default = \code{side} \option[phases]{space}{<dim>} Ändern des Zwischenraums zwischen Formel und dem Phasen-Anzeiger bei \key{pos}{side}. Eine \TeX-Dimension. Default = \code{.1333em} @@ -1982,12 +2003,12 @@ Dabei stehen folgende Typen für \ma{<type>} zur Verfügung: Abhängig vom Typ stehen verschiedene Optionen zur Modifikation zur Auswahl: \begin{beschreibung} - \option[orbital]{phase}{\default{+}/-} Ändern der Phase des Orbitals (alle Typen). + \option[orbital]{phase}{\default{+}|-} Ändern der Phase des Orbitals (alle Typen). \option[orbital]{scale}{<factor>} Ändern der Größe des Orbitals (alle Typen). \option[orbital]{color}{<color>} Ändern der Farbe des Orbitale (alle Typen). \option[orbital]{angle}{<angle>} Rotiert die Orbitale mit einem p-Anteil gegen den Uhrzeigersinn (alle Typen außer \code{s}). - \option[orbital]{half}{\default{true}/false} stellt nur ein halbes Orbital dar + \option[orbital]{half}{\default{true}|false} stellt nur ein halbes Orbital dar (nur \code{p}). \end{beschreibung} @@ -2002,7 +2023,7 @@ Abhängig vom Typ stehen verschiedene Optionen zur Modifikation zur Auswahl: Zusätzlich gibt es zwei Optionen, mit denen das \TikZ-Verhalten beeinflusst werden kann: \begin{beschreibung} - \option[orbital]{overlay}{\default{true}/false} Das Orbital „braucht keinen Platz”; + \option[orbital]{overlay}{\default{true}|false} Das Orbital „braucht keinen Platz”; es wird mit dem \TikZ-Key \code{overlay} gezeichnet. \option[orbital]{opacity}{<num>} Das Orbital wird durchsichtig; \code{<value>} kann Werte zwischen \code{1} (undurchsichtig) bis \code{0} (unsichtbar) annehmen. @@ -2018,6 +2039,8 @@ kann: \chemfig{?\orbital{p}-[,1.3]{\orbital[phase=-]{p}}-[:30,1.1]\orbital{p}-[:150,.9]{\orbital[phase=-]{p}}-[4,1.3]\orbital{p}-[:-150,1.1]{\orbital[phase=-]{p}}?} \vspace{7mm} \end{beispiel} + +\newpage \bspmidlength{dist}{10mm} \begin{beispiel}[dist] \hspace{2cm} @@ -2141,7 +2164,7 @@ nicht umgewandelt. Was in den Klammern steht, wird genauso geschrieben. \ch{(1/2) H2O} \ch{1/2 H2O} \ch{0.5 H2O} \end{beispiel} Viele Beispiele wie das folgende für die Verwendung von Klammern um stöchiometrische -Faktoren finden Sie \zB im „\IUPAC Green Book“ \cite{iupac:greenbook}: +Faktoren finden Sie \zB im „\ac{iupac} Green Book“ \cite{iupac:greenbook}: \begin{reaction*} (1/5) K "\ox*{7,Mn}" O4 + (8/5) HCl == (1/5) "\ox*{2,Mn}" Cl2 + (1/2) Cl2 + (1/5) KCl + (4/5) H2O \end{reaction*} @@ -2150,7 +2173,7 @@ Der Output kann mit diesen Optionen angepasst werden: \begin{beschreibung} \option{decimal-marker}{<marker>} Das Symbol, das als Dezimalzeichen verwendet wird. Default = \code{.} - \option{frac-style}{math/xfrac/nicefrac} Bestimmt, wie Brüche dargestellt werden. + \option{frac-style}{math|xfrac|nicefrac} Bestimmt, wie Brüche dargestellt werden. Default = \code{math} \option{stoich-space}{<dim>} Der Leerraum nach einem stöchiometrischen Faktor. Eine \TeX-Länge. Default = \lstinline=.1667em= @@ -2316,39 +2339,121 @@ einer Summenformel, falls Hoch- und Tiefstellung direkt aufeinander folgen. wird, siehe auch Seite~\pageref{desc:charge-hshift}f. \end{itemize} -Der zweite Punkt folgt der \IUPAC-Empfehlung: -\begin{zitat}[{\IUPAC Green Book \cite[][p.\,51]{iupac:greenbook}}] +Der zweite Punkt folgt der \ac{iupac}-Empfehlung: +\begin{zitat}[{\ac{iupac} Green Book {\cite[][p.\,51]{iupac:greenbook}}}] In writing the formula for a complex ion, spacing for charge number can be added (staggered arrangement), as well as parentheses: \ch[charge-hshift=1ex]{SO4^2-}, \ch{(SO4)^2-} The staggered arrangement is now recommended. \end{zitat} \subsection{Bindungen}\label{ssec:bonds}\secidx[Bindungen]{Summenformeln} -\chemformula kennt drei Sorten Bindungen: +\subsubsection{Natürliche Bindungen} +\chemformula kennt drei Sorten Bindungen, die ich "`natürliche Bindungen"' nennen +werde: \begin{beispiel} einfach: \ch{CH3-CH3} \\ doppel: \ch{CH2=CH2} \\ dreifach: \ch{CH+CH} \end{beispiel} +\subsubsection{Flexible Bonds}% TODO übersetzen +\paragraph{Predefined Bonds} +Zusätzlich zu den drei natürlichen Bindungen gibt es ein paar weitere, die mit +folgendem Befehl aufgerufen werden können: +\begin{beschreibung} + \Befehl{bond}{<bond name>} +\end{beschreibung} +Die vordefinierten Bindungstypen sind in Tabelle~\ref{tab:bond_types} aufgeführt. + +\begin{table} + \begin{tabular}{lcl} + \toprule + \bfseries Name & \bfseries Aussehen & \bfseries Aliase \\ + \midrule + \code{single} & \bond{single} & \code{normal}, \code{sb} \\ + \code{double} & \bond{double} & \code{db} \\ + \code{triple} & \bond{triple} & \code{tp} \\ + \code{dotted} & \bond{dotted} & \code{semisingle} \\ + \code{deloc} & \bond{deloc} & \code{semidouble} \\ + \code{tdeloc} & \bond{tdeloc} & \code{semitriple} \\ + \code{co>} & \bond{co>} & \code{coordright} \\ + \code{<co} & \bond{<co} & \code{coordleft} \\ + \bottomrule + \end{tabular} + \caption{Bindungen, die mit \protect\cmd{bond} aufgerufen werden können.} + \label{tab:bond_types} +\end{table} + +\begin{beispiel} + \ch{C\bond{sb}C\bond{db}C\bond{tp}C\bond{deloc}C\bond{tdeloc}C\bond{co>}C\bond{<co}C} +\end{beispiel} + +\paragraph{Eigene Bindungen} +\chemformula stellt Befehle bereit, mit denen eigene Bindungen definiert werden +können: +\begin{beschreibung} + \Befehl{DeclareChemBond}{<name>}\ma{<code>} + \Befehl{RenewChemBond}{<name>}\ma{<code>} + \Befehl{DeclareChemBondAlias}{<new name>}\ma{<old name>} + \Befehl{ShowChemBond}{<name>} +\end{beschreibung} +Die Verwednung wird am ehesten durch ein Beispiel beschrieben. Schauen Sie zunächst, +wie die \code{single} und die \code{co>} Bindung definiert sind: +\begin{beispiel}[code only] + \DeclareChemBond{single} + { \draw[chembond] (chemformula-bond-start) -- (chemformula-bond-end) ; } + \DeclareChemBond{coordright} + { \draw[chembond,butt cap->] (chemformula-bond-start) -- (chemformula-bond-end) ; } + \DeclareChemBondAlias{co>}{coordright} +\end{beispiel} +Hier sind zwei Dinge wichtig: die Namen der Anfangs- und der Endkoordinaten, +\code{chemformula-bond-start} und \code{chemformula-bond-end}, und der \TikZ-Stil +der Bindungen \code{chembond}. + +Sagen wir, Sie wollen eine bestimmte Art von gestrichelter Bindung definieren. +Sie könnten folgendes tun: +\begin{beispiel} + \usetikzlibrary{decorations.pathreplacing} + \makeatletter + \DeclareChemBond{dashed} + { + \draw[ + chembond, + decorate, + decoration={ticks,segment length=\chemformula@bondlength/10,amplitude=1.5pt}] + (chemformula-bond-start) -- (chemformula-bond-end) ; + } + \makeatother + \chemsetup[chemformula]{bond-length=2ex} + \ch{C\bond{dashed}C} +\end{beispiel} + +Dieses Beispiel zeigte Ihnen ein weiteres Makro: \makeatletter\cmd{chemformula@bondlength}\makeatother. +Es existiert nur, damit Sie die Länge der Bindung, wie sie mit \key{bond-length} +festgelegt wird, direkt verwenden können.% (siehe auch Seite~\pageref{key:bond-length}). + \subsection{Anpassung}\secidx[Anpassung]{Summenformeln}\label{ssec:compounds:customization} Diese Optionen ermöglichen Ihnen, den Output anzupassen: \begin{beschreibung} \option{subscript-vshift}{<dim>} Extra vertikale Verschiebung der Tiefstellungen. Default = \code{0pt} - \option{subscript-style}{text/math} Stil, der für die Tiefstellungen verwendet + \option{subscript-style}{text|math} Stil, der für die Tiefstellungen verwendet wird. Default = \code{text} \option{charge-hshift}{<dim>} Verschiebung von Hochstellungen, wenn sie einer Tiefstellung folgen. Default = \code{.5ex}\label{desc:charge-hshift} - \option{charge-style}{text/math} Stil, der für Hochstellungen verwendet wird. + \option{charge-style}{text|math} Stil, der für Hochstellungen verwendet wird. Default = \code{text} \option{adduct-space}{<dim>} Leerraum links und rechts des Addukt-Punktes. Default = \code{.1333em} \option{bond-length}{<dim>} Die Länge der Bindungen. Default = \code{1.1667ex} \option{bond-offset}{<dim>} Der Abstand zwischen Atom und Bindung. Default = \code{.07em} - \option{bond-style}{<tikz>} \TikZ-Optionen für die Einfachbindung. Zunächst + \option{bond-style}{<tikz>} \TikZ-Optionen für die Bindungen. Zunächst undefiniert. + \option{radical-style}{<tikz>} \TikZ-Optionen für den Radikalpunkt. Zunächst + undefiniert. + \option{radical-radius}{<dim>} Der Radius des Radikalpunktes. Default = + \code{.2ex} \end{beschreibung} Vielleicht ist Ihnen aufgefallen, dass bei manchen Ionen die Ladungen nach rechts @@ -2356,7 +2461,8 @@ verschoben sind:\secidx[Ladungen!Verschiebung]{Summenformeln} \begin{beispiel} \ch{SO4^2-} \ch{NH4+} \ch{Na+} \end{beispiel} -Sie werden verschoben, wenn sie einer Tiefstellung \emph{folgen}. Den Betrag der +Sie werden verschoben, wenn sie einer Tiefstellung \emph{folgen}, was der +\ac{iupac}-Empfehlung entspricht~\cite[][p.\,51]{iupac:greenbook}. Den Betrag der Verschiebung kann man mit der Option \key{charge-hshift} festlegen. \begin{beispiel} \ch{SO4^2-} \ch{NH4+} \ch{Na+} \\ @@ -2366,7 +2472,7 @@ Verschiebung kann man mit der Option \key{charge-hshift} festlegen. \ch{SO4^2-} \ch{NH4+} \ch{Na+} \end{beispiel} -Ungeachtet der \IUPAC-Empfehlung erstellt \chemformula keine voll gestaffelten +Ungeachtet der \ac{iupac}-Empfehlung erstellt \chemformula keine voll gestaffelten Hochjstellungen in der Voreinstellung, da ich die in manchen Fällen schwer zu lesen und in anderen Fällen hässlich finde. Da das aber eine subjektive Empfindung ist, gibt Ihnen \chemformula nicht nur die Möglichkeit, einen absoluten Wert für die @@ -2701,7 +2807,7 @@ keine Klammern folgen. \begin{beschreibung} \option{name-format}{<commands>} Das Ausgabeformat des Textes. Das kann beliebiger Input sein. Default = \lstinline+\scriptsize\centering+ - \option{name-width}{<dim>/auto} Die Breite der Box, in die der Text geschrieben wird. + \option{name-width}{<dim>|auto} Die Breite der Box, in die der Text geschrieben wird. \code{auto} erkennt die Breite der Beschriftung und setzt die Box auf diese Breite. Default = \code{auto} \end{beschreibung} @@ -2887,7 +2993,7 @@ Die gesternte Version versteckt die Nummer und liefert nur den Satz. Wenn Sie de Satz verstecken und nur die Nummer ausgeben wollen, können Sie dises Option verwenden: \begin{beschreibung} - \Option{hide}{\default{true}/false} + \Option{hide}{\default{true}|false} \end{beschreibung} Außerdem gibt es eine Option, mit der der Output angepasst werden kann. @@ -2914,7 +3020,7 @@ Einige Sätze verwenden Platzhalter. Es gibt vier Stück: Außer dem letzten, der ersetzt werden muss, sind sie in der Voreinstellung versteckt. Durch die Option \begin{beschreibung} - \option{fill-in}{\default{true}/false} Default = \code{false} + \option{fill-in}{\default{true}|false} Default = \code{false} \end{beschreibung} können sie sichtbar gemacht werden. \begin{beispiel}[below] @@ -2991,7 +3097,7 @@ Der Befehl \begin{beschreibung} \Befehl{ghspic}[<options>]{<name>} \end{beschreibung} -lädt sie. \ref{tab:ghs_pictograms} zeigt alle Piktogramme und ihre Dateinamen. +lädt sie. Tabelle~\ref{tab:ghs_pictograms} zeigt alle Piktogramme und ihre Dateinamen. Genauer: sie zeigt die Namen, die beim Befehl \cmd{ghspic} verwendet werden müssen. Tatsächlich heißen sie \lstinline=ghsystem_<name>.<filetype>=, wobei \code{<filetype>} entweder \code{eps}, \code{pdf}, \code{jpg} oder \code{png} ist, siehe auch @@ -3064,7 +3170,7 @@ es \pdfTeX\ ist, in welchem Modus es verwendet wird. Dann wird entwder das \code{eps}- oder das \code{png}-Bild für die Piktogramme verwendet. Sie können den Bildtyp über die Option \begin{beschreibung} - \Option{pic-type}{eps/pdf/jpg/png} + \Option{pic-type}{eps|pdf|jpg|png} \end{beschreibung} jedoch frei wählen. \secidx*{Piktogramme} @@ -3076,7 +3182,7 @@ die Spracheinstellung von \paket{babel} oder \paket{polyglossia} (noch) nicht. Sie können die Sprache auch explizit wählen. \begin{beschreibung} - \Option{language}{english/german/italian} + \Option{language}{english|german|italian} \end{beschreibung} \begin{beispiel} \ghs{h}{201} @@ -3114,22 +3220,22 @@ angepasst werden. und ähnlichen Befehlen verweisen kann. Default = \code{tab:ghs-hp-statements} \option{table-row-sep}{<dim>} Abstand zwischen den Zeilen. Eine \TeX-Länge. Default = \code{3pt} - \option{table-rules}{\default{default}/booktabs/none} Der Stil der horizontalen + \option{table-rules}{\default{default}|booktabs|none} Der Stil der horizontalen Linien in der Tabelle. \code{default} verwendet \lstinline=\hline=, \code{booktabs} verwendet \lstinline=\toprule=, \lstinline=\midrule= und \lstinline=\bottomrule=. Dieser Wert benötigt das \paket{booktabs} Paket, dass Sie dann einbinden müssen. Default = \code{default} - \option{table-top-head-rule}{\default{default}/booktabs/none} Explizites Ändern + \option{table-top-head-rule}{\default{default}|booktabs|none} Explizites Ändern der Linie. Default = \code{default} - \option{table-head-rule}{\default{default}/booktabs/none} Explizites Ändern der + \option{table-head-rule}{\default{default}|booktabs|none} Explizites Ändern der Linie. Default = \code{default} - \option{table-foot-rule}{\default{default}/booktabs/none} Explizites Ändern der + \option{table-foot-rule}{\default{default}|booktabs|none} Explizites Ändern der Linie. Default = \code{default} - \option{table-last-foot-rule}{\default{default}/booktabs/none} Explizites Ändern + \option{table-last-foot-rule}{\default{default}|booktabs|none} Explizites Ändern der Linie. Default = \code{default} \end{beschreibung} -Der folgende Code zeigt, wie \ref{tab:ghs-hp-statements} erzeugt wurde: +Der folgende Code zeigt, wie Tabelle~\ref{tab:ghs-hp-statements} erzeugt wurde: \begin{beispiel}[code only] \ghslistall[fill-in,table-rules=booktabs] \end{beispiel} @@ -3162,70 +3268,72 @@ Wert verwendet. Die Optionen der Module \code{\textcolor{module}{chemformula}} u \bottomrule \endfoot \multicolumn{5}{l}{Paketoptionen:} \\ - bpchem & option & \default{true}/false & false & Seite~\pageref{key:option_bpchem} \\ - circled & option & formal/\default{all}/none & formal & Seite~\pageref{key:option_circled} \\ - circletype & option & chem/math & chem & Seite~\pageref{key:option_circletype} \\ - cmversion & option & 1/2/bundle & bundle & Seite~\pageref{key:option_cmversion} \\ - ghsystem & option & \default{true}/false & true & Seite~\pageref{key:option_ghsystem} \\ - iupac & option & auto/restricted/strict & auto & Seite~\pageref{key:option_iupac} \\ + bpchem & option & \default{true}|false & false & Seite~\pageref{key:option_bpchem} \\ + circled & option & formal|\default{all}|none & formal & Seite~\pageref{key:option_circled} \\ + circletype & option & chem|math & chem & Seite~\pageref{key:option_circletype} \\ + cmversion & option & 1|2|bundle & bundle & Seite~\pageref{key:option_cmversion} \\ + ghsystem & option & \default{true}|false & true & Seite~\pageref{key:option_ghsystem} \\ + iupac & option & auto|restricted|strict & auto & Seite~\pageref{key:option_iupac} \\ language & option & <language> & english & Seite~\pageref{key:option_language} \\ - method & option & chemformula/formula & formula & Seite~\pageref{key:option_method} \\ - Nu & option & chemmacros/mathspec & chemmacros & Seite~\pageref{key:option_Nu} \\ - strict & option & \default{true}/false & false & Seite~\pageref{key:option_strict} \\ - synchronize & option & \default{true}/false & false & Seite~\pageref{key:option_synchronize} \\ - greek & option & math/textgreek/\default{upgreek} & upgreek & Seite~\pageref{key:option_greek} \\ - xspace & option & \default{true}/false & true & Seite~\pageref{key:option_xspace} \\ + method & option & chemformula|mhchem & chemformula & Seite~\pageref{key:option_method} \\ + Nu & option & chemmacros|mathspec & chemmacros & Seite~\pageref{key:option_Nu} \\ + strict & option & \default{true}|false & false & Seite~\pageref{key:option_strict} \\ + synchronize & option & \default{true}|false & false & Seite~\pageref{key:option_synchronize} \\ + greek & option & math|textgreek|\default{upgreek} & upgreek & Seite~\pageref{key:option_greek} \\ + xspace & option & \default{true}|false & true & Seite~\pageref{key:option_xspace} \\ \multicolumn{5}{l}{\cmd{ba}, \cmd{Nu}:} \\ - elpair & particle & \default{dots}/dash/false & false & Seite~\pageref{key:particle_elpair} \\ + elpair & particle & \default{dots}|dash/false & false & Seite~\pageref{key:particle_elpair} \\ \multicolumn{5}{l}{IUPAC-Befehle:} \\ break-space & iupac & <dim> & .01em & Seite~\pageref{key:iupac_break-space} \\ - bridge-number & iupac & sub/super & sub & Seite~\pageref{key:iupac_bridge-number} \\ - coord-use-hyphen & iupac & \default{true}/false & true & Seite~\pageref{key:iupac_coord-use-hyphen} \\ + bridge-number & iupac & sub|super & sub & Seite~\pageref{key:iupac_bridge-number} \\ + cip-kern & iupac & <dim> & .1ex & Seite~\pageref{key:iupac_cip-kern} \\ + coord-use-hyphen & iupac & \default{true}|false & true & Seite~\pageref{key:iupac_coord-use-hyphen} \\ hyphen-pre-space & iupac & <dim> & .01em & Seite~\pageref{key:iupac_hyphen-pre-space} \\ hyphen-post-space & iupac & <dim> & -.03em & Seite~\pageref{key:iupac_hyphen-post-space} \\ \multicolumn{5}{l}{\cmd{DeclareChemLatin}:} \\ format & latin & <anything> & \lstinline=\itshape= & Seite~\pageref{key:latin_format} \\ \multicolumn{5}{l}{\cmd{pch}, \cmd{mch}, \cmd{fpch}, \cmd{fmch}:} \\ - append & charges & \default{true}/false & false & Seite~\pageref{key:charges_append} \\ + append & charges & \default{true}|false & false & Seite~\pageref{key:charges_append} \\ \multicolumn{5}{l}{acid/base:} \\ - p-style & acid-base & slanted/italics/upright & upright & Seite~\pageref{key:acid-base_p-style} \\ + p-style & acid-base & slanted|italics|upright & upright & Seite~\pageref{key:acid-base_p-style} \\ \multicolumn{5}{l}{\cmd{ox}:} \\ - parse & ox & \default{true}/false & true & Seite~\pageref{key:ox_parse} \\ - roman & ox & \default{true}/false & true & Seite~\pageref{key:ox_roman} \\ - pos & ox & top/super/side & top & Seite~\pageref{key:ox_pos} \\ - explicit-sign & ox & \default{true}/false & false & Seite~\pageref{key:ox_explicit-sign} \\ - decimal-marker & ox & comma/point & point & Seite~\pageref{key:ox_decimal-marker} \\ + align & ox & center|right & center & Seite~\pageref{key:ox_align} \\ + parse & ox & \default{true}|false & true & Seite~\pageref{key:ox_parse} \\ + roman & ox & \default{true}|false & true & Seite~\pageref{key:ox_roman} \\ + pos & ox & top|super|side & top & Seite~\pageref{key:ox_pos} \\ + explicit-sign & ox & \default{true}|false & false & Seite~\pageref{key:ox_explicit-sign} \\ + decimal-marker & ox & comma|point & point & Seite~\pageref{key:ox_decimal-marker} \\ \multicolumn{5}{l}{\cmd{OX}, \cmd{redox}:} \\ dist & redox & <dim> & .6em & Seite~\pageref{key:redox_dist} \\ sep & redox & <dim> & .2em & Seite~\pageref{key:redox_sep} \\ \multicolumn{5}{l}{\cmd{Enthalpy}, \cmd{Entropy}, \cmd{Gibbs}:} \\ exponent & & <anything> & \cmd{standardstate} & Seite~\pageref{key:none_exponent} \\ delta & & <anything>/false & & Seite~\pageref{key:none_delta} \\ - subscript & & left/right & & Seite~\pageref{key:none_subscript} \\ + subscript & & left|right & & Seite~\pageref{key:none_subscript} \\ unit & & <unit> & & Seite~\pageref{key:none_unit} \\ \multicolumn{5}{l}{\cmd{DeclareChemState}, \cmd{RenewChemState}:} \\ exponent & & <anything> & \cmd{standardstate} & Seite~\pageref{key:none_exponent} \\ - delta & & <anything>/false & & Seite~\pageref{key:none_delta} \\ + delta & & <anything>|false & & Seite~\pageref{key:none_delta} \\ subscript & & <anything> & & Seite~\pageref{key:none_subscript} \\ - subscript-left & & \default{true}/false & & Seite~\pageref{key:none_subscript-left} \\ + subscript-left & & \default{true}|false & & Seite~\pageref{key:none_subscript-left} \\ \multicolumn{5}{l}{\cmd{State}:} \\ exponent & state & <anything> & \cmd{standardstate} & Seite~\pageref{key:state_exponent} \\ - delta & state & <anything>/false & & Seite~\pageref{key:state_delta} \\ - subscript-left & state & \default{true}/false & & Seite~\pageref{key:state_subscript-left} \\ + delta & state & <anything>|false & & Seite~\pageref{key:state_delta} \\ + subscript-left & state & \default{true}|false & & Seite~\pageref{key:state_subscript-left} \\ \multicolumn{5}{l}{\cmd{NMR}, \env{spectroscopy}{}:} \\ unit & nmr & <unit> & \cmd{mega}\cmd{hertz} & Seite~\pageref{key:nmr_unit} \\ nucleus & nmr & \{<num>,<atom symbol>\} & \{1,H\} & Seite~\pageref{key:nmr_nucleus} \\ format & nmr & <anything> & & Seite~\pageref{key:nmr_format} \\ pos-number & nmr & side/sub & side & Seite~\pageref{key:nmr_pos-number} \\ coupling-unit & nmr & <unit> & \lstinline+\hertz+ & Seite~\pageref{key:nmr_coupling-unit} \\ - parse & nmr & \default{true}/false & true & Seite~\pageref{key:nmr_parse} \\ + parse & nmr & \default{true}|false & true & Seite~\pageref{key:nmr_parse} \\ delta & nmr & <anything> & & Seite~\pageref{key:nmr_delta} \\ - list & nmr & \default{true}/false & false & Seite~\pageref{key:nmr_list} \\ + list & nmr & \default{true}|false & false & Seite~\pageref{key:nmr_list} \\ list-setup & nmr & & siehe Text & Seite~\pageref{key:nmr_list-setup} \\ - use-equal & nmr & \default{true}/false & false & Seite~\pageref{key:nmr_use-equal} \\ + use-equal & nmr & \default{true}|false & false & Seite~\pageref{key:nmr_use-equal} \\ \multicolumn{5}{l}{\cmd{DeclareChemReaction}:} \\ - star & & \default{true}/false & false & Seite~\pageref{key:none_star} \\ - arg & & \default{true}/false & false & Seite~\pageref{key:none_arg} \\ + star & & \default{true}|false & false & Seite~\pageref{key:none_star} \\ + arg & & \default{true}|false & false & Seite~\pageref{key:none_arg} \\ list-name & reaction & <anything> & List of reactions & Seite~\pageref{key:reaction_list-name} \\ list-entry & reaction & <anything> & Reaction & Seite~\pageref{key:reaction_list-entry} \\ \multicolumn{5}{l}{\cmd{mhName}:} \\ @@ -3234,7 +3342,7 @@ Wert verwendet. Die Optionen der Module \code{\textcolor{module}{chemformula}} u fontsize & mhName & <fontsize> & \cmd{tiny} & Seite~\pageref{key:mhName_fontsize} \\ width & mhName & <dim> & & Seite~\pageref{key:mhName_width} \\ \multicolumn{5}{l}{phases:} \\ - pos & phases & side/sub & side & Seite~\pageref{key:phases_pos} \\ + pos & phases & side|sub & side & Seite~\pageref{key:phases_pos} \\ space & phases & <dim> & .1333em & Seite~\pageref{key:phases_space} \\ \multicolumn{5}{l}{\cmd{newman}:} \\ angle & newman & <angle> & 0 & Seite~\pageref{key:newman_angle} \\ @@ -3242,13 +3350,13 @@ Wert verwendet. Die Optionen der Module \code{\textcolor{module}{chemformula}} u ring & newman & <tikz> & & Seite~\pageref{key:newman_ring} \\ atoms & newman & <tikz> & & Seite~\pageref{key:newman_atoms} \\ back-atoms & newman & <tikz> & & Seite~\pageref{key:newman_back-atoms} \\ - \multicolumn{5}{l}{\cmd{orbital} \ttfamily <type> = s/p/sp/sp2/sp3:} \\ - phase & orbital/<type> & +/- & + & Seite~\pageref{key:orbital_phase} \\ + \multicolumn{5}{l}{\cmd{orbital} \ttfamily <type> = s|p|sp|sp2|sp3:} \\ + phase & orbital/<type> & +|- & + & Seite~\pageref{key:orbital_phase} \\ scale & orbital/<type> & <factor> & 1 & Seite~\pageref{key:orbital_scale} \\ color & orbital/<type> & <color> & black & Seite~\pageref{key:orbital_color} \\ angle & orbital/<type> & <angle> & 90 & Seite~\pageref{key:orbital_angle} \\ - half & orbital/p & \default{true}/false & false & Seite~\pageref{key:orbital_half} \\ - overlay & orbital & \default{true}/false & false & Seite~\pageref{key:orbital_overlay} \\ + half & orbital/p & \default{true}|false & false & Seite~\pageref{key:orbital_half} \\ + overlay & orbital & \default{true}|false & false & Seite~\pageref{key:orbital_overlay} \\ opacity & ornital & <num> & 1 & Seite~\pageref{key:orbital_opacity} \end{longtable} \normalsize @@ -3260,6 +3368,10 @@ Eine ganze Reihe von Befehlen wurde vorgestellt, mit denen die Möglichkeiten vo \befehl{DeclareChemArrow} Neuen Pfeil definieren, siehe Seite~\pageref{cmd:DeclareChemArrow}. \befehl{RenewChemArrow} Bestehende Pfeile verändern. + \befehl{DeclareChemBond} Eine neue Bindung definieren, siehe + Seite~\pageref{cmd:DeclareChemBond}. + \befehl{RenewChemBond} Eine Bindung umdefinieren. + \befehl{DeclareChemBondAlias} Ein Alias zu einer existierenden Bindung definieren. \befehl{DeclareChemIUPAC} Neuen IUPAC-Befehl definieren, siehe Seite~\pageref{cmd:DeclareChemIUPAC}. \befehl{RenewChemIUPAC} IUPAC-Befehl umdefinieren. diff --git a/Master/texmf-dist/doc/latex/chemmacros/chemmacros_en.pdf b/Master/texmf-dist/doc/latex/chemmacros/chemmacros_en.pdf Binary files differindex 89b9a789ab4..2f84a2a8403 100644 --- a/Master/texmf-dist/doc/latex/chemmacros/chemmacros_en.pdf +++ b/Master/texmf-dist/doc/latex/chemmacros/chemmacros_en.pdf diff --git a/Master/texmf-dist/doc/latex/chemmacros/chemmacros_en.tex b/Master/texmf-dist/doc/latex/chemmacros/chemmacros_en.tex index ca66050296a..ece445209b7 100644 --- a/Master/texmf-dist/doc/latex/chemmacros/chemmacros_en.tex +++ b/Master/texmf-dist/doc/latex/chemmacros/chemmacros_en.tex @@ -1,9 +1,7 @@ -% arara: xelatex +% arara: xelatex: { shell: true } % arara: biber % arara: xelatex -% arara: xelatex -% arara: makeindex: { sort: true, style: chemmacros_en.ist } -% arara: xelatex +% arara: xelatex: { shell: true } %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % ----------------------------------------------------------------------------- % - the CHEMMACROS bundle @@ -40,10 +38,9 @@ % https://bitbucket.org/cgnieder/cnpkgdoc/ % the class is licensed LPPL 1.3 or later % b) you need the following compilation order: -% > xelatex chemmacros_en (2 or probably 3 times) +% > xelatex --shell-escape chemmacros_en (2 or probably 3 times) % > biber chemmacros_en -% > makeindex -sl chemmacros_en.ist chemmacros_en.idx -% > xelatex chemmacros_en (2 times) +% > xelatex --shell-escape chemmacros_en (2 times) % \documentclass[DIV11,toc=index,toc=bib]{cnpkgdoc} \docsetup{ @@ -55,7 +52,8 @@ } \usepackage{polyglossia} \setmainlanguage{english} -\usepackage{chemfig,chemstyle,upgreek,textgreek,booktabs,cancel} +\usepackage[varioref=false]{chemstyle} +\usepackage{chemfig,upgreek,textgreek,booktabs,cancel} \usepackage[version=3]{mhchem} \usepackage{hologo} \usepackage{fnpct} @@ -63,6 +61,8 @@ \ChangeEmph{[}[,.02em]{]}[.055em,-.08em] \ChangeEmph{(}[-.01em,.04em]{)}[.04em,-.05em] +\pagestyle{headings} + \usepackage{acro} \DeclareAcronym{ghs}{GHS}{Globally Harmonized System of Classification and Labelling of Chemicals} @@ -156,27 +156,29 @@ \redox(r1,r2)[blue,-cf][-1]{\small\ch[font-spec={[Color=blue]Augie},math-space=.3em]{$+$ 2 e-}}} \addcmds{ - a,abinitio,AddRxnDesc,anti,aq,aqi,b,ba,bottomrule,bridge,cancel,cd,cdot,ce,cee,celsius, - centering,chemabove,Chemalpha,Chembeta,Chemgamma,Chemdelta,ChemDelta,chemfig, - chemname,Chemomega,chemsetup,cip,cis,ch,cnsetup,CNMR,color,cstsetup,d,D,data, - DeclareChemArrow,DeclareChemIUPAC,DeclareChemLatin,DeclareChemNMR, - DeclareChemParticle,DeclareChemPhase,DeclareChemReaction,DeclareChemState, - DeclareInstance,DeclareSIUnit,definecolor,delm,delp,Delta,Dfi,draw,E,el, - electronvolt,ElPot,endo,Enthalpy,enthalpy,Entropy,footnotesize,fmch,fpch,fscrm, - fscrp,g,gas,ghs,ghslistall,ghspic,Gibbs,glqq,gram,grqq,H,hapto,HNMR,Helmholtz, - hertz,hspace,includegraphics,insitu,intertext,invacuo,iupac,IUPAC,J,joule,Ka, - Kb,kilo,Kw,L,latin,lewis,Lewis,Lfi,listofreactions,lqd,ltn,mch,mega,meta,metre, - mhName,midrule,milli,mmHg,mole,N,nano,nicefrac,newman,NMR,Nu,Nuc,num,numrange,O,ominus, - orbital,ortho,oplus,ox,OX,p,P,para,pch,per,percent,pgfarrowsdeclarealias, - pgfarrowsrenewalias,pH,phase,photon,pKa,pKb,pOH,pos,positron,Pot,prt,R,Rad, - redox,RenewChemArrow,RenewChemIUPAC,RenewChemLatin,RenewChemNMR, - RenewChemParticle,RenewChemPhase,RenewChemState,renewtagform,rightarrow,S,Sf, - sample,scriptscriptstyle,scrm,scrp,setatomsep,setbondoffset,sfrac, - shorthandoff,ShowChemArrow,si,SI,sisetup,sld,Sod,State,subsection,textcolor, - textendash,textsuperscript,tiny,toprule,trans,upbeta,upeta,upgamma,val,volt, - vphantom,vspave,w,xspace,Z} - -\makeindex + a,abinitio,AddRxnDesc,anti,aq,aqi,b,ba,bond,bottomrule,bridge,cancel,cd,cdot,ce, + cee,celsius, centering,chemabove,Chemalpha,Chembeta,Chemgamma,Chemdelta,ChemDelta, + chemfig,chemname,Chemomega,chemsetup,cip,cis,ch,cnsetup,CNMR,color,cstsetup,d, + D,data,DeclareChemArrow,DeclareChemBond,DeclareChemBondAlias,DeclareChemIUPAC, + DeclareChemLatin,DeclareChemNMR,DeclareChemParticle,DeclareChemPhase, + DeclareChemReaction,DeclareChemState,DeclareInstance,DeclareSIUnit,definecolor, + delm,delp,Delta,Dfi,draw,E,el,electronvolt,ElPot,endo,Enthalpy,enthalpy,Entropy, + footnotesize,fmch,fpch,fscrm,fscrp,g,gas,ghs,ghslistall,ghspic,Gibbs,glqq,gram, + grqq,H,hapto,HNMR,Helmholtz,hertz,hspace,includegraphics,insitu,intertext,invacuo, + iupac,IUPAC,J,joule,Ka,Kb,kilo,Kw,L,latin,lewis,Lewis,Lfi,listofreactions,lqd, + ltn,mch,mega,meta,metre,mhName,midrule,milli,mmHg,mole,N,nano,nicefrac,newman, + NMR,Nu,Nuc,num,numrange,O,ominus,orbital,ortho,oplus,ox,OX,p,P,para,pch,per, + percent,pgfarrowsdeclarealias,pgfarrowsrenewalias,pH,phase,photon,pKa,pKb,pOH, + pos,positron,Pot,prt,R,Rad,redox,RenewChemArrow,RenewChemIUPAC,RenewChemLatin, + RenewChemNMR,RenewChemParticle,RenewChemPhase,RenewChemState,renewtagform, + rightarrow,S,Sf,sample,scriptscriptstyle,scrm,scrp,second,setatomsep,setbondoffset, + sfrac,shorthandoff,ShowChemArrow,ShowChemBond,si,SI,sisetup,sld,Sod,square,State, + subsection,textcolor,textendash,textsuperscript,tiny,toprule,trans,upbeta,upeta, + upgamma,val,volt,vphantom,vspave,w,xspace,Z} + +\usepackage{imakeidx} +\makeindex[columns=3,intoc,options={-sl \jobname.ist}] + \begin{document} \chemsetup[chemformula]{font-spec={[Color=chemformula]Latin Modern Sans}} \renewcommand*\glqq{„} @@ -319,61 +321,61 @@ load them explicitly any given option will silently fail. Options can then only be set using the setup command. \begin{beschreibung} % bpchem - \option[option]{bpchem}{\default{true}/false} This option loads the package + \option[option]{bpchem}{\default{true}|false} This option loads the package \paket{bpchem} and adjusts the layout of the \cmd{NMR} command to the \paket{bpchem} commands \lstinline+\HNMR+ and \lstinline+\CNMR+. (default = \code{false}) % circled - \option[option]{circled}{\default{formal}/all/none} \chemmacros uses two different + \option[option]{circled}{\default{formal}|all|none} \chemmacros uses two different kinds of charges which indicate the usage of real ($+/-$) and formal (\fplus/\fminus) charges. The option \code{formal} distinguishes between them, option \code{none} displays them all without circle, option \code{all} circles all (default = \code{formal}) % circletype - \option[option]{circletype}{\default{chem}/math} This option switches between + \option[option]{circletype}{\default{chem}|math} This option switches between two kinds of circled charge symbols: \cmd{fplus} \fplus\ and \lstinline+$\oplus$+ $\oplus$. (default = \code{chem}) % cmversion - \option[option]{cmversion}{1/2/bundle} This option restores the old definitions + \option[option]{cmversion}{1|2|bundle} This option restores the old definitions of some commands, so documents set with v1.* will still compile correctly. (default = \code{bundle}). Actually \code{2} and \code{bundle} are only aliases. \emph{This option can only be chosen in the preamble}. % ghsystem - \option[option]{ghsystem}{\default{true}/false} Disable the use of the \ghsystem + \option[option]{ghsystem}{\default{true}|false} Disable the use of the \ghsystem package. Setting \key{ghs}{false} will prevent \chemmacros from loading \ghsystem. (default = \code{true}) % greek - \option[option]{greek}{math/textgreek/\default{upgreek}} This Options determines + \option[option]{greek}{math|textgreek|\default{upgreek}} This Options determines how the letters \cmd{Chemalpha} and friends are typeset. See page~\pageref{desc:upgreek} for more information. \emph{This option can only be chosen in the preamble}. (default = \code{upgreek}) % iupac - \option[option]{iupac}{auto/restricted/strict} Take care of how \ac{iupac} naming + \option[option]{iupac}{auto|restricted|strict} Take care of how \ac{iupac} naming commands are defined, see page~\pageref{desc:iupac} (default = \code{auto}) % language - \option[option]{language}{american/british/english/french/german/italian/ngerman} + \option[option]{language}{american|british|english|french|german|italian|ngerman} Load language specific options. \code{english}, \code{american} and \code{british} are aliases, as are \code{german} and \code{ngerman}. \emph{This option can only be chosen in the preamble}. (default = \code{english}). % method - \option[option]{method}{\default{chemformula}/mhchem} You can choose the method + \option[option]{method}{\default{chemformula}|mhchem} You can choose the method which \chemmacros will use for the reaction environments (see section~\ref{sec:reactions}) and the typesetting of the particles (see section~\ref{sec:teilchen}). (default = \code{chemformula}). \emph{This option can only be chosen in the preamble}. % Nu - \option[option]{Nu}{\default{chemmacros}/mathspec} The package \paket{mathspec} + \option[option]{Nu}{\default{chemmacros}|mathspec} The package \paket{mathspec} also defines a macro \cmd{Nu}. This option chooses which definition holds, see page~\pageref{Nu}. (default = \code{chemmacros}). \emph{This option can only be chosen in the preamble}. % strict - \option[option]{strict}{\default{true}/false} Setting \key{strict}{true} will + \option[option]{strict}{\default{true}|false} Setting \key{strict}{true} will turn all warning messages into erros messages. (default = \code{false}) % synchronize - \option[option]{synchronize}{\default{true}/false} The setting \code{true} will + \option[option]{synchronize}{\default{true}|false} The setting \code{true} will tell \chemmacros the adapt the font settings of \chemformula if that method has been chosen (default = \code{false}). In order to demonstrate this feature this document is set with \key{synchronize}{true} and the \chemformula setting \lstinline+\chemsetup[chemformula]{font-spec={[Color=darkgray]Latin Modern Sans}}+. % xspace - \option[option]{xspace}{\default{true}/false} With this option most commands are + \option[option]{xspace}{\default{true}|false} With this option most commands are defined with a \lstinline+\xspace+. (default = \code{true}) \end{beschreibung} \secidx*{Package Options} @@ -414,8 +416,10 @@ By choosing the option \begin{beispiel}[code only] \chemsetup[option]{language=<language>} \end{beispiel} -you can set one of these languages: \code{american/british/english/french/german/italian/ngerman}. -The languages \code{american/british/english} are aliases, as are \code{german/ngerman}. +you can set one of these languages: \code{american}, \code{british},\ code{english}, +\code{french}, \code{german}, \code{italian} and \code{ngerman}. The languages +\code{american}, \code{british} and \code{english} are aliases, as are \code{german} +and \code{ngerman}. These translate \begin{itemize} @@ -463,7 +467,7 @@ Choosing the language \code{italian} defines two additional \ac{iupac} commands: \item The H and P statements now are available in Italian. \end{itemize} -\subsection{Version 3.3d}%TODO Jonas +\subsection{Version 3.3d} \begin{itemize} \item \code{pdf} versions of the \ac{ghs} pictograms. \item New default values for bond length and bond offset, see @@ -471,6 +475,18 @@ Choosing the language \code{italian} defines two additional \ac{iupac} commands: \item New option \key{bond-style}, see page~\pageref{ssec:compounds:customization}. \item new option \key{cip-kern}, see page~\pageref{par:cip}. \end{itemize} + +\subsection{Version 3.4} +\begin{itemize} + \item \chemmacros got an Italian manual, many thanks to Jonas Rivetti who + volunteered to not only translate the H \&\ P statements but also this + documentation! + \item the command \cmd{bond} which allows to use other bonds than single, double + and triple, see section~\ref{ssec:bonds}. I wanted to add this for a long time! + \item a few changes to the looks of the radical point and new options to customize + it, see section~\ref{ssec:compounds:customization}. +\end{itemize} + \secidx*{News}\secidx*{PRELIMINARIES} \part{\texorpdfstring{\Chemmacros}{chemmacros}}\secidx{CHEMMACROS}\label{part:chemmacros} @@ -520,7 +536,7 @@ as well as in math mode. The two particles \cmd{Nu} and \cmd{ba} can be modified. To do that you use the option \begin{beschreibung} - \Option[particle]{elpair}{false/\default{dots}/dash}. + \Option[particle]{elpair}{false|\default{dots}|dash}. \end{beschreibung} It only has any effect, if the package \paket{chemfig} is loaded, since it uses it's command \lstinline+\Lewis+. @@ -540,7 +556,9 @@ the macros of that package are used. This documentation uses \paket{upgreek} for instance. If you load both \paket{upgreek} and \paket{textgreek} the letters from \paket{upgreek} are used. -If you don't want \chemmacros to use a package automatically but want to decide for yourself, there is the option \key[option]{greek}. \ref{tab:upgreek_mode} shows the different styles for some of the letters. +If you don't want \chemmacros to use a package automatically but want to decide +for yourself, there is the option \key[option]{greek}. Table~\ref{tab:upgreek_mode} +shows the different styles for some of the letters. \begin{table}[h] \centering @@ -556,7 +574,7 @@ If you don't want \chemmacros to use a package automatically but want to decide The reason why \chemmacros defines these macros in the first place is \ac{iupac} compliance. \ac{iupac} recommends to use upright greek letters in nomenclature. -\begin{zitat}[{\ac{iupac} Green Book \cite[][p.\,9]{iupac:greenbook}}] +\begin{zitat}[{\ac{iupac} Green Book {\cite[][p.\,9]{iupac:greenbook}}}] Greek letters are used in systematic organic, inorganic, macromolecular and biochemical nomenclature. These should be roman (upright), since they are not symbols for physical quantities. @@ -653,7 +671,7 @@ control which commands are defined in which way, there is the package option redefined (but only in the document body). They will still be available inside \cmd{iupac} then. \end{itemize} -\ref{tab:iupac_modes} demonstrates the different modes. +Table~\ref{tab:iupac_modes} demonstrates the different modes. \begin{table}[h] \centering @@ -787,10 +805,10 @@ Examples: Two options allow customization: \begin{beschreibung} - \option[iupac]{bridge-number}{sub/super} appends the number as a subscript or + \option[iupac]{bridge-number}{sub|super} appends the number as a subscript or superscript. \ac{iupac} recommendation is the subscript \cite{iupac:redbook}. Default = \code{sub} - \option[iupac]{coord-use-hyphen}{\default{true}/false} append a hyphen to + \option[iupac]{coord-use-hyphen}{\default{true}|false} append a hyphen to \cmd{hapto} and \cmd{bridge} or don't. Default = \code{true} \end{beschreibung} @@ -900,13 +918,13 @@ package option \key[option]{language}). \achtung{The default appearance of the \p{}-commands has changed to follow \ac{iupac} recommendations.} -\begin{zitat}[{\acs{iupac} Green Book \cite[][p.\,103]{iupac:greenbook}}] - The operator \p{} […] shall be printed in Roman type. +\begin{zitat}[{\acs{iupac} Green Book {\cite[][p.\,103]{iupac:greenbook}}}] + The operator \p{} \textelp{} shall be printed in Roman type. \end{zitat} There is one option which changes the style the \p{} is typeset: \begin{beschreibung} - \option[acid-base]{p-style}{italics/slanted/upright} Default = \code{upright} + \option[acid-base]{p-style}{italics|slanted|upright} Default = \code{upright} \end{beschreibung} \begin{beispiel} \pH, \pKa @@ -945,7 +963,7 @@ The same for formal charges: There is a key which influences the behaviour of the charges. \begin{beschreibung} - \option[charges]{append}{\default{true}/false} if set \code{true}, the charge + \option[charges]{append}{\default{true}|false} if set \code{true}, the charge is appended together with an empty group. \end{beschreibung} This is how the key influences the behaviour: @@ -981,18 +999,18 @@ Typesetting oxidation numbers: There are a number of keys, that can be used to modify the \cmd{ox} command. \begin{beschreibung} - \option[ox]{parse}{\default{true}/false} when \code{false} an arbitrary entry + \option[ox]{parse}{\default{true}|false} when \code{false} an arbitrary entry can be used for \code{<number>}. Default = \code{true} - \option[ox]{roman}{\default{true}/false} switches from roman to arabic numbers. + \option[ox]{roman}{\default{true}|false} switches from roman to arabic numbers. Default = \code{true} - \option[ox]{pos}{top/super/side}; \code{top} places \code{<number>} above + \option[ox]{pos}{top|super|side}; \code{top} places \code{<number>} above \code{<atom>}, \code{super} to the upper right as superscript and \code{side} to the right and inside brackets. Default = \code{top} - \option[ox]{explicit-sign}{\default{true}/false} shows the $+$ for positiv + \option[ox]{explicit-sign}{\default{true}|false} shows the $+$ for positiv numbers and the $\pm$ for $0$. Default = \code{false} - \option[ox]{decimal-marker}{comma/point} choice for the decimal marker for + \option[ox]{decimal-marker}{comma|point} choice for the decimal marker for formal oxidation numbers like \ox{1.2,X}. Default = \code{point} - \option[ox]{align}{center/right} center the oxidation number relative to the atom + \option[ox]{align}{center|right} center the oxidation number relative to the atom or right-align it. Default = \code{center} \end{beschreibung} @@ -1000,7 +1018,8 @@ There are a number of keys, that can be used to modify the \cmd{ox} command. \ox[roman=false]{2,Ca} \ox{2,Ca} \\ \ox[pos=super]{3,Fe}-Oxide \\ \ox[pos=side]{3,Fe}-Oxide \\ - \ox[parse=false]{?,Mn} + \ox[parse=false]{?,Mn} \\ + \ox[align=right]{2,Ca} \end{beispiel} The \key[ox]{pos}{super} variant also can be set with the shortcut \cmd{ox}*: @@ -1174,6 +1193,8 @@ Examples:% TODO: watch pagebreaks! \redox(o1,o2)[draw=red,->][3.33]{\small OX: $- 2\el$} \redox(r1,r2)[draw=blue,->]{\small RED: $+ 2\el$} \end{beispiel} + +\newpage \bspmidlength{dist}{7mm} \begin{beispiel}[dist] \ch{ 2 "\OX{o1,\ox{0,Na}}" + "\OX{r1,\ox{0,Cl}}" {}2 -> 2 "\OX{o2,\ox{+1,Na}}" @@ -1205,8 +1226,8 @@ The argument \da{<subscript>} adds a subscript for specification: There are several keys to customize the commands. \begin{beschreibung} \Option*{exponent}{<anything>} - \Option*{delta}{<anything>/false} - \Option*{subscript}{left/right} + \Option*{delta}{<anything>|false} + \Option*{subscript}{left|right} \Option*{unit}{<unit>} \end{beschreibung} @@ -1243,8 +1264,8 @@ The command has some keys with which the default behaviour of the new command ca be set. \begin{beschreibung} \Option*{exponent}{<anything>} - \Option*{delta}{<anything>/false} - \Option*{subscript-left}{true/false} + \Option*{delta}{<anything>|false} + \Option*{subscript-left}{\default{true}|false} \Option*{subscript}{<anything>} \end{beschreibung} @@ -1286,8 +1307,8 @@ Examples: Again there are some keys to customize the command: \begin{beschreibung} \Option[state]{exponent}{<anything>} - \Option[state]{subscript-left}{true/false} - \Option[state]{delta}{<anything>/false} + \Option[state]{subscript-left}{\default{true}|false} + \Option[state]{delta}{<anything>|false} \end{beschreibung} \secidx*{Thermodynamics} @@ -1387,17 +1408,17 @@ of options. For historical reasons they all belong to the module \option[nmr]{unit}{<unit>} Default = \lstinline=\mega\hertz= \option[nmr]{nucleus}{\{<num>,<atom>\}} Default = \ma{1,H} \option[nmr]{format}{<commands>} for example \lstinline=\bfseries= - \option[nmr]{pos-number}{side/sub} Position of the number next to the atom. + \option[nmr]{pos-number}{side|sub} Position of the number next to the atom. Default = \code{side} \option[nmr]{coupling-unit}{<unit>} A \paket{siunitx} unit. Default = \lstinline=\hertz= - \option[nmr]{parse}{true/false} Treat the solvent as \paket{mhchem}/\chemformula + \option[nmr]{parse}{\default{true}|false} Treat the solvent as \paket{mhchem}/\chemformula formula or not. Default = \code{true} \option[nmr]{delta}{<tokens>} The \code{<tokens>} are added after $\delta$. - \option[nmr]{list}{true/false} The environment \env{nmr}[<optionen>]{} is + \option[nmr]{list}{\default{true}|false} The environment \env{nmr}[<optionen>]{} is formatted as a list. Default = \code{false} \option[nmr]{list-setup}{<setup>} Setup of the list. Default = see below. - \option[nmr]{use-equal}{\default{true}/false} Add egual sign after \cmd{NMR} + \option[nmr]{use-equal}{\default{true}|false} Add egual sign after \cmd{NMR} and \cmd{data}. Default = \code{false} \end{beschreibung} @@ -1619,7 +1640,7 @@ There are several keys to customize \cmd{mhName}. \option[mhName]{format}{<anything>} the format of the text \option[mhName]{fontsize}{<font size command>} the fontsize of the text, default = \lstinline+\tiny+ - \option[mhName]{width}{<dim>/auto} the width of the box the text is placed in, + \option[mhName]{width}{<dim>|auto} the width of the box the text is placed in, default = \code{auto} \end{beschreibung} \begin{beispiel} @@ -1719,8 +1740,8 @@ used math environment. The command has two options. \begin{beschreibung} - \Option*{star}{\default{true}/false} - \Option*{arg}{\default{true}/false} + \Option*{star}{\default{true}|false} + \Option*{arg}{\default{true}|false} \end{beschreibung} There is \key*{star}, which will also define a starred version of the new environment, if the starred math environment exists. If it doesn't exist, this @@ -1824,15 +1845,15 @@ The \ac{iupac} recommendation to indicate the state of aggregation is to put it parentheses after the compound \cite{iupac:greenbook}. However, you might want to put it as a subscript which is also very common. -\begin{zitat}[{\acs{iupac} Green Book \cite[][p.\,54]{iupac:greenbook}}] - The [\ldots] symbols are used to represent the states of aggregation of chemical +\begin{zitat}[{\acs{iupac} Green Book {\cite[][p.\,54]{iupac:greenbook}}}] + The \textelp{} symbols are used to represent the states of aggregation of chemical species. The letters are appended to the formula in parentheses and should be printed in Roman (upright) type without a full stop (period). \end{zitat} There are two options to customize the output: \begin{beschreibung} - \option[phases]{pos}{side/sub} Switch the position of the phase indicator. + \option[phases]{pos}{side|sub} Switch the position of the phase indicator. Default = \code{side} \option[phases]{space}{<dim>} Change the default spacing between compound a phase indicator if \key{pos}{side}. A \TeX\ dimension. Default = \code{.1333em} @@ -1925,12 +1946,12 @@ There are the following types available for \code{<type>}: Depending on the type you have different options to modify the orbitals: \begin{beschreibung} - \option[orbital]{phase}{\default{+}/-} changes the phase of the orbital (all types) + \option[orbital]{phase}{\default{+}|-} changes the phase of the orbital (all types) \option[orbital]{scale}{<factor>} changes the size of the orbital (all types) \option[orbital]{color}{<color>} changes the color of the orbital (all types) \option[orbital]{angle}{<angle>} rotates the orbitals with a p contribution counter clockwise (all types except \code{s}) - \option[orbital]{half}{\default{true}/false} displays only half an orbital (only + \option[orbital]{half}{\default{true}|false} displays only half an orbital (only \code{p}) \end{beschreibung} @@ -1944,7 +1965,7 @@ Depending on the type you have different options to modify the orbitals: Additionally there are two options, with which the \TikZ behaviour can be changed. \begin{beschreibung} - \option[orbital]{overlay}{\default{true}/false} the orbital \enquote{doesn't need + \option[orbital]{overlay}{\default{true}|false} the orbital \enquote{doesn't need space}; it is displayed with the \TikZ option \code{overlay}. \option[orbital]{opacity}{<num>} the orbital becomes transparent; \code{<value>} can have values between \code{1} (fully opaque) to \code{0} (invisible). @@ -1959,6 +1980,8 @@ Additionally there are two options, with which the \TikZ behaviour can be change \chemfig{?\orbital{p}-[,1.3]{\orbital[phase=-]{p}}-[:30,1.1]\orbital{p}-[:150,.9]{\orbital[phase=-]{p}}-[4,1.3]\orbital{p}-[:-150,1.1]{\orbital[phase=-]{p}}?} \vspace{7mm} \end{beispiel} + +\newpage \bspmidlength{dist}{10mm} \begin{beispiel}[dist] \hspace{2cm} @@ -2082,7 +2105,7 @@ There are a few possibilities to customize the output. \begin{beschreibung} \option{decimal-marker}{<marker>} the symbol to indicate the decimal. Default = \code{.} - \option{frac-style}{math/xfrac/nicefrac} determines how fractions are displayed. + \option{frac-style}{math|xfrac|nicefrac} determines how fractions are displayed. Default = \code{math} \option{stoich-space}{<dim>} The space that is placed after the stoichiometric factor. Default = \code{.1667em} @@ -2246,40 +2269,122 @@ there are super- and subscripts following each other directly. page~\pageref{desc:charge-hshift}f. \end{itemize} The second point follows \ac{iupac}'s recommendations: -\begin{zitat}[{\acs{iupac} Green Book \cite[][p.\,51]{iupac:greenbook}}] +\begin{zitat}[{\acs{iupac} Green Book {\cite[][p.\,51]{iupac:greenbook}}}] In writing the formula for a complex ion, spacing for charge number can be added (staggered arrangement), as well as parentheses: \ch[charge-hshift=full]{SO4^2-}, \ch{(SO4)^2-} The staggered arrangement is now recommended. \end{zitat} \subsection{Bonds}\label{ssec:bonds}\secidx[bonds]{Compounds} -There are three kinds of bonds: +\subsubsection{Native Bonds} +There are three kinds of what I will call ``native bonds'': \begin{beispiel} single: \ch{CH3-CH3} \\ double: \ch{CH2=CH2} \\ triple: \ch{CH+CH} \end{beispiel} -\subsection{Customization}\secidx[customization]{Compounds}\label{ssec:compounds:customization}% TODO Jonas (label neu) +\subsubsection{Flexible Bonds} +\paragraph{Predefined Bonds} +In addition to the three native bonds there are a few more which can be called by +\begin{beschreibung} + \Befehl{bond}{<bond name>} +\end{beschreibung} +The predefined bond types are shown in table~\ref{tab:bond_types}. + +\begin{table} + \begin{tabular}{lcl} + \toprule + \bfseries name & \bfseries appearance & \bfseries aliases \\ + \midrule + \code{single} & \bond{single} & \code{normal}, \code{sb} \\ + \code{double} & \bond{double} & \code{db} \\ + \code{triple} & \bond{triple} & \code{tp} \\ + \code{dotted} & \bond{dotted} & \code{semisingle} \\ + \code{deloc} & \bond{deloc} & \code{semidouble} \\ + \code{tdeloc} & \bond{tdeloc} & \code{semitriple} \\ + \code{co>} & \bond{co>} & \code{coordright} \\ + \code{<co} & \bond{<co} & \code{coordleft} \\ + \bottomrule + \end{tabular} + \caption{Bonds available with \protect\cmd{bond}.} + \label{tab:bond_types} +\end{table} + +\begin{beispiel} + \ch{C\bond{sb}C\bond{db}C\bond{tp}C\bond{deloc}C\bond{tdeloc}C\bond{co>}C\bond{<co}C} +\end{beispiel} + +\paragraph{Own Bonds} +\chemformula offers commands to define own bond types: +\begin{beschreibung} + \Befehl{DeclareChemBond}{<name>}\ma{<code>} + \Befehl{RenewChemBond}{<name>}\ma{<code>} + \Befehl{DeclareChemBondAlias}{<new name>}\ma{<old name>} + \Befehl{ShowChemBond}{<name>} +\end{beschreibung} +The usage is best described with an example. So let's see how the \code{single} +bond and the \code{co>} bond are defined: +\begin{beispiel}[code only] + \DeclareChemBond{single} + { \draw[chembond] (chemformula-bond-start) -- (chemformula-bond-end) ; } + \DeclareChemBond{coordright} + { \draw[chembond,butt cap->] (chemformula-bond-start) -- (chemformula-bond-end) ; } + \DeclareChemBondAlias{co>}{coordright} +\end{beispiel} +Two points are important: the names of the starting and the ending coordinates, +\code{chemformula-bond-start} and \code{chemformula-bond-end}, and the \TikZ +style of the bonds \code{chembond}. + +So, let's say you want to define a special kind of dashed bond. You could do this: +\begin{beispiel} + \usetikzlibrary{decorations.pathreplacing} + \makeatletter + \DeclareChemBond{dashed} + { + \draw[ + chembond, + decorate, + decoration={ticks,segment length=\chemformula@bondlength/10,amplitude=1.5pt}] + (chemformula-bond-start) -- (chemformula-bond-end) ; + } + \makeatother + \chemsetup[chemformula]{bond-length=2ex} + \ch{C\bond{dashed}C} +\end{beispiel} + +The last example showed you another macro: \makeatletter\cmd{chemformula@bondlength}\makeatother. +It only exists so you can use it to access the bond length as set with \key{bond-length} +directly.% (see also page~\pageref{key:bond-length}). + +\subsection{Customization}\secidx[customization]{Compounds}\label{ssec:compounds:customization} These options allow you to customize the ouptut of the compounds: \begin{beschreibung} \option{subscript-vshift}{<dim>} Extra vertical shift of the subscripts. Default = \code{0pt} - \option{subscript-style}{text/math} Style that is used to typeset the subscripts. + \option{subscript-style}{text|math} Style that is used to typeset the subscripts. Default = \code{text} \option{charge-hshift}{<dim>} Shift of superscripts when following a subscript. Default = \code{.5ex}\label{desc:charge-hshift} \option{charge-vshift}{<dim>} Extra vertical shift of the superscripts. Default = \code{0pt} - \option{charge-style}{text/math} Style that is used to typeset the superscripts. + \option{charge-style}{text|math} Style that is used to typeset the superscripts. Default = \code{text} \option{adduct-space}{<dim>} Space to the left and the right of the adduct point. Default = \code{.1333em} - \option{bond-length}{<dim>} The length of the bonds. Default = \code{1.1667ex} % TODO Jonas - \option{bond-offset}{<dim>} Space between bond and atoms. Default = \code{.07em} % TODO Jonas - \option{bond-style}{<tikz>} \TikZ\ options for the single bond. Initially empty. % TODO Jonas + \option{bond-length}{<dim>} The length of the bonds. Default = \code{1.1667ex} + \option{bond-offset}{<dim>} Space between bond and atoms. Default = \code{.07em} + \option{bond-style}{<tikz>} \TikZ\ options for the bonds. Initially empty. + \option{radical-style}{<tikz>} \TikZ\ options for the radical point. Initially + empty. + \option{radical-radius}{<dim>} The radius of the radical point. Default = + \code{.2ex} \end{beschreibung} + Maybe you have noticed that charges of certain ions are shifted to the right.\secidx[charges!shift]{Compounds} +\begin{beispiel} + \ch{SO4^2-} \ch{NH4+} \ch{Na+} +\end{beispiel} They are shifted if they \emph{follow} a subscript which follows \ac{iupac} recommendations~\cite[][p.\,51]{iupac:greenbook}. The amount of the shift can be set with the option \key{charge-hshift}. @@ -2617,7 +2722,7 @@ creating a name you only have to make sure it isn't followed by parentheses. \begin{beschreibung} \option{name-format}{<commands>} The format of the name. This can be arbitrary input. Default = \lstinline+\scriptsize\centering+ - \option{name-width}{<dim>/auto} The width of the box where the label is put into. + \option{name-width}{<dim>|auto} The width of the box where the label is put into. \code{auto} will detect the width of the name and set the box to this width. Default = \code{auto} \end{beschreibung} @@ -2792,7 +2897,7 @@ argument is case insensitive, so just type them in as you like. The starred version hides the identifier and only gives the statement. If you want to hide the statement itself instead you can use the option: \begin{beschreibung} - \Option{hide}{\default{true}/false} + \Option{hide}{\default{true}|false} \end{beschreibung} There is an option to customize the output, too. @@ -2819,7 +2924,7 @@ Some of the statements contain placeholders. They can be one of the following: Except the last one which needs to be filled in, they are hidden per default. They can be made visible with the option \begin{beschreibung} - \option{fill-in}{\default{true}/false} Show placeholders. Default = \code{false} + \option{fill-in}{\default{true}|false} Show placeholders. Default = \code{false} \end{beschreibung} \begin{beispiel}[below] \ghs{h}{340} \\ @@ -2893,11 +2998,11 @@ The \ac{ghs} defines a number of pictograms: The command \begin{beschreibung} \Befehl{ghspic}[<options>]{<name>} -\end{beschreibung}% TODO Jonas -loads them. \ref{tab:ghs_pictograms} shows all available pictograms and their names. -To be more precise: it shows the names to use with the \cmd{ghspic} command. The -file names are \lstinline=ghsystem_<name>.<filetype>= where \code{<filetype>} is -\code{eps}, \code{pdf}, \code{jpg} or \code{png}, see also section~\ref{ssec:picture_type}. +\end{beschreibung} +loads them. Table~\ref{tab:ghs_pictograms} shows all available pictograms and their +names. To be more precise: it shows the names to use with the \cmd{ghspic} command. +The file names are \lstinline=ghsystem_<name>.<filetype>= where \code{<filetype>} +is \code{eps}, \code{pdf}, \code{jpg} or \code{png}, see also section~\ref{ssec:picture_type}. \begin{beispiel} \ghspic{skull} \end{beispiel} @@ -2965,7 +3070,7 @@ To resolve this \ghsystem tests which engine is used and if \hologo{pdfTeX} whic mode is used and then chooses either \code{eps} or \code{pdf} for the pictograms. You are free to choose the picture type yourself with the option \begin{beschreibung} - \Option{pic-type}{eps/pdf/jpg/png}% TODO Jonas + \Option{pic-type}{eps|pdf|jpg|png} \end{beschreibung} \secidx*{Pictograms} @@ -2976,7 +3081,7 @@ recognize language settings by \paket{babel} or \paket{polyglossia}. You can also choose the language explicitly. \begin{beschreibung} - \Option{language}{english/german/italian} + \Option{language}{english|german|italian} \end{beschreibung} \begin{beispiel} \ghs{h}{201} @@ -3010,22 +3115,22 @@ the \lstinline=longtable= environment of the \paket{longtable} package. and similar commands. Default = \code{tab:ghs-hp-statements} \option{table-row-sep}{<dim>} The separation of the table rows. A \TeX\ dimension. Default = \code{3pt} - \option{table-rules}{\default{default}/booktabs/none} The style of the horizontal + \option{table-rules}{\default{default}|booktabs|none} The style of the horizontal rules in the table. \code{default} uses \lstinline=\hline=, \code{booktabs} uses \lstinline=\toprule=, \lstinline=\midrule= or \lstinline=\bottomrule=, resp. This option needs the \paket{booktabs} package which you have to load yourself then. Default = \code{default} - \option{table-top-head-rule}{\default{default}/booktabs/none} Change top rule + \option{table-top-head-rule}{\default{default}|booktabs|none} Change top rule explicitly. Default = \code{default} - \option{table-head-rule}{\default{default}/booktabs/none} Change rule below head + \option{table-head-rule}{\default{default}|booktabs|none} Change rule below head explicitly. Default = \code{default} - \option{table-foot-rule}{\default{default}/booktabs/none} Change foot rule + \option{table-foot-rule}{\default{default}|booktabs|none} Change foot rule explicitly. Default = \code{default} - \option{table-last-foot-rule}{\default{default}/booktabs/none} Change last foot + \option{table-last-foot-rule}{\default{default}|booktabs|none} Change last foot rule explicitly. Default = \code{default} \end{beschreibung} -The code below shows how \ref{tab:ghs-hp-statements} was created: +The code below shows how table~\ref{tab:ghs-hp-statements} was created: \begin{beispiel}[code only] \ghslistall[fill-in,table-rules=booktabs] \end{beispiel} @@ -3058,72 +3163,72 @@ The options belonging to the modules \code{\textcolor{module}{chemformula}} and \bottomrule \endfoot \multicolumn{5}{l}{package options:} \\ - bpchem & option & \default{true}/false & false & page~\pageref{key:option_bpchem} \\ - circled & option & formal/\default{all}/none & formal & page~\pageref{key:option_circled} \\ - circletype & option & chem/math & chem & page~\pageref{key:option_circletype} \\ - cmversion & option & 1/2/bundle & bundle & page~\pageref{key:option_cmversion} \\ - ghsystem & option & \default{true}/false & true & page~\pageref{key:option_ghsystem} \\ - iupac & option & auto/restricted/strict & auto & page~\pageref{key:option_iupac} \\ + bpchem & option & \default{true}|false & false & page~\pageref{key:option_bpchem} \\ + circled & option & formal|\default{all}|none & formal & page~\pageref{key:option_circled} \\ + circletype & option & chem|math & chem & page~\pageref{key:option_circletype} \\ + cmversion & option & 1|2|bundle & bundle & page~\pageref{key:option_cmversion} \\ + ghsystem & option & \default{true}|false & true & page~\pageref{key:option_ghsystem} \\ + iupac & option & auto|restricted|strict & auto & page~\pageref{key:option_iupac} \\ language & option & <language> & english & page~\pageref{key:option_language} \\ - method & option & chemformula/formula & formula & page~\pageref{key:option_method} \\ - Nu & option & chemmacros/mathspec & chemmacros & page~\pageref{key:option_Nu} \\ - strict & option & \default{true}/false & false & page~\pageref{key:option_strict} \\ - synchronize & option & \default{true}/false & false & page~\pageref{key:option_synchronize} \\ - greek & option & math/textgreek/\default{upgreek} & upgreek & page~\pageref{key:option_greek} \\ - version & option & & & page~\pageref{key:option_version} \\ - xspace & option & \default{true}/false & true & page~\pageref{key:option_xspace} \\ + method & option & chemformula|mhchem & chemformula & page~\pageref{key:option_method} \\ + Nu & option & chemmacros|mathspec & chemmacros & page~\pageref{key:option_Nu} \\ + strict & option & \default{true}|false & false & page~\pageref{key:option_strict} \\ + synchronize & option & \default{true}|false & false & page~\pageref{key:option_synchronize} \\ + greek & option & math|textgreek|\default{upgreek} & upgreek & page~\pageref{key:option_greek} \\ + xspace & option & \default{true}|false & true & page~\pageref{key:option_xspace} \\ \multicolumn{5}{l}{\cmd{ba}, \cmd{Nu}:} \\ - elpair & particle & \default{dots}/dash/false & false & page~\pageref{key:particle_elpair} \\ + elpair & particle & \default{dots}|dash|false & false & page~\pageref{key:particle_elpair} \\ \multicolumn{5}{l}{\ac{iupac} commands:} \\ break-space & iupac & <dim> & .01em & page~\pageref{key:iupac_break-space} \\ - bridge-number & iupac & sub/super & sub & page~\pageref{key:iupac_bridge-number} \\ + bridge-number & iupac & sub|super & sub & page~\pageref{key:iupac_bridge-number} \\ cip-kern & iupac & <dim> & .1ex & page~\pageref{key:iupac_cip-kern} \\ - coord-use-hyphen & iupac & \default{true}/false & true & page~\pageref{key:iupac_coord-use-hyphen} \\ + coord-use-hyphen & iupac & \default{true}|false & true & page~\pageref{key:iupac_coord-use-hyphen} \\ hyphen-pre-space & iupac & <dim> & .01em & page~\pageref{key:iupac_hyphen-pre-space} \\ hyphen-post-space & iupac & <dim> & -.03em & page~\pageref{key:iupac_hyphen-post-space} \\ \multicolumn{5}{l}{\cmd{DeclareChemLatin}:} \\ format & latin & <anything> & \lstinline=\itshape= & page~\pageref{key:latin_format} \\ \multicolumn{5}{l}{\cmd{pch}, \cmd{mch}, \cmd{fpch}, \cmd{fmch}:} \\ - append & charges & \default{true}/false & false & page~\pageref{key:charges_append} \\ + append & charges & \default{true}|false & false & page~\pageref{key:charges_append} \\ \multicolumn{5}{l}{acid/base:} \\ - p-style & acid-base & slanted/italics/upright & upright & page~\pageref{key:acid-base_p-style} \\ + p-style & acid-base & slanted|italics|upright & upright & page~\pageref{key:acid-base_p-style} \\ \multicolumn{5}{l}{\cmd{ox}:} \\ - parse & ox & \default{true}/false & true & page~\pageref{key:ox_parse} \\ - roman & ox & \default{true}/false & true & page~\pageref{key:ox_roman} \\ - pos & ox & top/super/side & top & page~\pageref{key:ox_pos} \\ - explicit-sign & ox & \default{true}/false & false & page~\pageref{key:ox_explicit-sign} \\ - decimal-marker & ox & comma/point & point & page~\pageref{key:ox_decimal-marker} \\ + align & ox & center|right & center & page~\pageref{key:ox_align} \\ + parse & ox & \default{true}|false & true & page~\pageref{key:ox_parse} \\ + roman & ox & \default{true}|false & true & page~\pageref{key:ox_roman} \\ + pos & ox & top|super|side & top & page~\pageref{key:ox_pos} \\ + explicit-sign & ox & \default{true}|false & false & page~\pageref{key:ox_explicit-sign} \\ + decimal-marker & ox & comma|point & point & page~\pageref{key:ox_decimal-marker} \\ \multicolumn{5}{l}{\cmd{OX}, \cmd{redox}:} \\ dist & redox & <dim> & .6em & page~\pageref{key:redox_dist} \\ sep & redox & <dim> & .2em & page~\pageref{key:redox_sep} \\ \multicolumn{5}{l}{\cmd{Enthalpy}, \cmd{Entropy}, \cmd{Gibbs}:} \\ exponent & & <anything> & \cmd{standardstate} & page~\pageref{key:none_exponent} \\ - delta & & <anything>/false & & page~\pageref{key:none_delta} \\ - subscript & & left/right & & page~\pageref{key:none_subscript} \\ + delta & & <anything>|false & & page~\pageref{key:none_delta} \\ + subscript & & left|right & & page~\pageref{key:none_subscript} \\ unit & & <unit> & & page~\pageref{key:none_unit} \\ \multicolumn{5}{l}{\cmd{DeclareChemState}, \cmd{RenewChemState}:} \\ exponent & & <anything> & \cmd{standardstate} & page~\pageref{key:none_exponent} \\ - delta & & <anything>/false & & page~\pageref{key:none_delta} \\ + delta & & <anything>|false & & page~\pageref{key:none_delta} \\ subscript & & <anything> & & page~\pageref{key:none_subscript} \\ - subscript-left & & \default{true}/false & & page~\pageref{key:none_subscript-left} \\ + subscript-left & & \default{true}|false & & page~\pageref{key:none_subscript-left} \\ \multicolumn{5}{l}{\cmd{State}:} \\ exponent & state & <anything> & \cmd{standardstate} & page~\pageref{key:state_exponent} \\ - delta & state & <anything>/false & & page~\pageref{key:state_delta} \\ - subscript-left & state & \default{true}/false & & page~\pageref{key:state_subscript-left} \\ + delta & state & <anything>|false & & page~\pageref{key:state_delta} \\ + subscript-left & state & \default{true}|false & & page~\pageref{key:state_subscript-left} \\ \multicolumn{5}{l}{\cmd{NMR}:} \\ unit & nmr & <unit> & \cmd{mega}\cmd{hertz} & page~\pageref{key:nmr_unit} \\ nucleus & nmr & \{<num>,<atom symbol>\} & \{1,H\} & page~\pageref{key:nmr_nucleus} \\ format & nmr & <anything> & & page~\pageref{key:nmr_format} \\ - pos-number & nmr & side/sub & side & page~\pageref{key:nmr_pos-number} \\ + pos-number & nmr & side|sub & side & page~\pageref{key:nmr_pos-number} \\ coupling-unit & nmr & <unit> & \lstinline+\hertz+ & page~\pageref{key:nmr_coupling-unit} \\ - parse & nmr & \default{true}/false & true & page~\pageref{key:nmr_parse} \\ + parse & nmr & \default{true}|false & true & page~\pageref{key:nmr_parse} \\ delta & nmr & <anything> & & page~\pageref{key:nmr_delta} \\ - list & nmr & \default{true}/false & false & page~\pageref{key:nmr_list} \\ + list & nmr & \default{true}|false & false & page~\pageref{key:nmr_list} \\ list-setup & nmr & & see text & page~\pageref{key:nmr_list-setup} \\ - use-equal & nmr & \default{true}/false & true & page~\pageref{key:nmr_use-equal} \\ + use-equal & nmr & \default{true}|false & true & page~\pageref{key:nmr_use-equal} \\ \multicolumn{5}{l}{\cmd{DeclareChemReaction}:} \\ - star & & \default{true}/false & false & page~\pageref{key:none_star} \\ - arg & & \default{true}/false & false & page~\pageref{key:none_arg} \\ + star & & \default{true}|false & false & page~\pageref{key:none_star} \\ + arg & & \default{true}|false & false & page~\pageref{key:none_arg} \\ list-name & reaction & <anything> & List of reactions & page~\pageref{key:reaction_list-name} \\ list-entry & reaction & <anything> & Reaction & page~\pageref{key:reaction_list-entry} \\ \multicolumn{5}{l}{\cmd{mhName}:} \\ @@ -3132,7 +3237,7 @@ The options belonging to the modules \code{\textcolor{module}{chemformula}} and fontsize & mhName & <fontsize> & \cmd{tiny} & page~\pageref{key:mhName_fontsize} \\ width & mhName & <dim> & & page~\pageref{key:mhName_width} \\ \multicolumn{5}{l}{phases:} \\ - pos & phases & side/sub & side & page~\pageref{key:phases_pos} \\ + pos & phases & side|sub & side & page~\pageref{key:phases_pos} \\ space & phases & <dim> & .1333em & page~\pageref{key:phases_space} \\ \multicolumn{5}{l}{\cmd{newman}:} \\ angle & newman & <angle> & 0 & page~\pageref{key:newman_angle} \\ @@ -3140,13 +3245,13 @@ The options belonging to the modules \code{\textcolor{module}{chemformula}} and ring & newman & <tikz> & & page~\pageref{key:newman_ring} \\ atoms & newman & <tikz> & & page~\pageref{key:newman_atoms} \\ back-atoms & newman & <tikz> & & page~\pageref{key:newman_back-atoms} \\ - \multicolumn{5}{l}{\cmd{orbital} \ttfamily <type> = s/p/sp/sp2/sp3:} \\ - phase & orbital/<type> & +/- & + & page~\pageref{key:orbital_phase} \\ + \multicolumn{5}{l}{\cmd{orbital} \ttfamily <type> = s|p|sp|sp2|sp3:} \\ + phase & orbital/<type> & +|- & + & page~\pageref{key:orbital_phase} \\ scale & orbital/<type> & <factor> & 1 & page~\pageref{key:orbital_scale} \\ color & orbital/<type> & <color> & black & page~\pageref{key:orbital_color} \\ angle & orbital/<type> & <angle> & 90 & page~\pageref{key:orbital_angle} \\ - half & orbital/p & \default{true}/false & false & page~\pageref{key:orbital_half} \\ - overlay & orbital & \default{true}/false & false & page~\pageref{key:orbital_overlay} \\ + half & orbital/p & \default{true}|false & false & page~\pageref{key:orbital_half} \\ + overlay & orbital & \default{true}|false & false & page~\pageref{key:orbital_overlay} \\ opacity & ornital & <num> & 1 & page~\pageref{key:orbital_opacity} \end{longtable} \normalsize @@ -3158,6 +3263,10 @@ Quite a number of commands has been presented with which the possibilities of \befehl{DeclareChemArrow} Define new arrow, see page~\pageref{cmd:DeclareChemArrow}. \befehl{RenewChemArrow} Redefine existing arrow. + \befehl{DeclareChemBond} Define a bond, see + page~\pageref{cmd:DeclareChemBond}. + \befehl{RenewChemBond} Redefine a bond. + \befehl{DeclareChemBondAlias} Declare an alias to an existing bond. \befehl{DeclareChemIUPAC} Define new \ac{iupac} command, see page~\pageref{cmd:DeclareChemIUPAC}. \befehl{RenewChemIUPAC} Redefine \ac{iupac} command. @@ -3204,6 +3313,7 @@ Many thanks to all the people who already provided me with feedback, especially \item Jonas Rivetti (Special thanks for his translation of the hazard and precautionary statements into Italian!) \item Christoph Schäfer + \item Timo Stein \end{itemize} {\EmbracOff\printbibliography} diff --git a/Master/texmf-dist/doc/latex/chemmacros/chemmacros_it.pdf b/Master/texmf-dist/doc/latex/chemmacros/chemmacros_it.pdf Binary files differindex f8a1affd150..33919a3b538 100644 --- a/Master/texmf-dist/doc/latex/chemmacros/chemmacros_it.pdf +++ b/Master/texmf-dist/doc/latex/chemmacros/chemmacros_it.pdf diff --git a/Master/texmf-dist/doc/latex/chemmacros/chemmacros_it.tex b/Master/texmf-dist/doc/latex/chemmacros/chemmacros_it.tex index 9278cee8d16..22fde5723bb 100644 --- a/Master/texmf-dist/doc/latex/chemmacros/chemmacros_it.tex +++ b/Master/texmf-dist/doc/latex/chemmacros/chemmacros_it.tex @@ -1,3 +1,7 @@ +% arara: xelatex: { shell: true } +% arara: biber +% arara: xelatex +% arara: xelatex: { shell: true } %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % ----------------------------------------------------------------------------- % - the CHEMMACROS bundle @@ -5,7 +9,6 @@ % - macros and commands for chemists % ----------------------------------------------------------------------------- % - Clemens Niederberger -% - 2012/05/18 % ----------------------------------------------------------------------------- % - https://bitbucket.org/cgnieder/chemmacros/ % - contact@mychemistry.eu @@ -27,6 +30,7 @@ % - % - The Current Maintainer of this work is Clemens Niederberger. % ----------------------------------------------------------------------------- +% - the Italian translation was kindly provided by Jonas Rivetti. Many thanks! %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % % if you want to compile this documentation @@ -34,10 +38,9 @@ % https://bitbucket.org/cgnieder/cnpkgdoc/ % the class is licensed LPPL 1.3 or later % b) you need the following compilation order: -% > xelatex chemmacros_de (2 or probably 3 times) -% > biber chemmacros_de -% > makeindex -sl index_de.ist chemmacros_de.idx -% > xelatex chemmacros_de +% > xelatex --shell-escape chemmacros_it (2 or probably 3 times) +% > biber chemmacros_it +% > xelatex --shell-escape chemmacros_it (2 times) % \documentclass[DIV11,toc=index,toc=bib]{cnpkgdoc} \docsetup{ @@ -50,16 +53,34 @@ } \usepackage{polyglossia} \setmainlanguage{italian} -\usepackage{chemfig,chemstyle,upgreek,textgreek,booktabs,cancel,fnpct} +\usepackage[varioref=false]{chemstyle} +\usepackage{chemfig,upgreek,textgreek,booktabs,cancel} \usepackage[version=3]{mhchem} \usepackage{hologo} +\usepackage{fnpct} +\usepackage[biblatex]{embrac} +\ChangeEmph{[}[,.02em]{]}[.055em,-.08em] +\ChangeEmph{(}[-.01em,.04em]{)}[.04em,-.05em] + +\pagestyle{headings} + +\usepackage{acro} +\DeclareAcronym{ghs}{GHS}{Globally Harmonized System of Classification and + Labelling of Chemicals} +\DeclareAcronym{eu}{EU}{European Union} +\DeclareAcronym{iupac}{IUPAC}{International Union of Pure and Applied Chemistry} \chemsetup[option]{synchronize,language=italian} \colorlet{chemformula}{darkgray} \usepackage{filecontents} -\begin{filecontents}{index_it.ist} - preamble "\\begin{theindex}\n I titoli sono posti in \\textbf{grassetto}, i pacchetti \\textsf{senza grazie}, i comandi in \\code{\\textbackslash\\textcolor{code}{marrone}}, le opzioni in \\textcolor{key}{\\code{verde}} e i moduli (solo per \\chemmacros) in \\textcolor{module}{\\code{rosso}}.\\newline\n\n" + +\begin{filecontents*}{\jobname.ist} + preamble "\\begin{theindex}\n I titoli sono posti in \\textbf{grassetto}, i + pacchetti \\textsf{senza grazie}, i comandi in + \\code{\\textbackslash\\textcolor{code}{marrone}}, le opzioni in + \\textcolor{key}{\\code{verde}} e i moduli (solo per \\chemmacros) in + \\textcolor{module}{\\code{rosso}}.\\newline\n\n" heading_prefix "{\\bfseries " heading_suffix "\\hfil}\\nopagebreak\n" headings_flag 1 @@ -69,29 +90,36 @@ delim_r "\\textendash" suffix_2p "\\nohyperpage{\\,f.}" suffix_3p "\\nohyperpage{\\,ff.}" -\end{filecontents} +\end{filecontents*} \usepackage[backend=biber,style=alphabetic,maxbibnames=20]{biblatex} \addbibresource{\jobname.bib} -\begin{filecontents}{\jobname.bib} +\begin{filecontents*}{\jobname.bib} @book{iupac:greenbook, - author = {E. Richard Cohan and Tomislav Cvita\v{s} and Jeremy G. Frey and Bertil Holmström and Kozo Kuchitsu and Roberto Marquardt and Ian Mills and Franco Pavese and Martin Quack and Jürgen Stohner and Herbert L. Strauss and Michio Takami and Anders J Thor}, - title = {“Quantities, Symbols and Units in Physical Chemistry”, \IUPAC Green Book}, + author = {E. Richard Cohan and Tomislav Cvita\v{s} and Jeremy G. Frey and + Bertil Holmström and Kozo Kuchitsu and Roberto Marquardt and Ian Mills and + Franco Pavese and Martin Quack and Jürgen Stohner and Herbert L. Strauss and + Michio Takami and Anders J Thor}, + title = {“Quantities, Symbols and Units in Physical Chemistry”, \acs{iupac} + Green Book}, edition = {3rd Edition. 2nd Printing}, year = {2008}, - publisher = { \IUPAC \&\ RSC Publishing, Cambridge} + publisher = {\acs{iupac} \&\ RSC Publishing, Cambridge} } @book{iupac:redbook, - author = {Neil G. Connelly and Ture Damhus and Richard M. Hartshorn and Alan T. Hutton}, - title = {“Nomenclature of Inorganic Chemistry”, \IUPAC Red Book}, + author = {Neil G. Connelly and Ture Damhus and Richard M. Hartshorn and + Alan T. Hutton}, + title = {“Nomenclature of Inorganic Chemistry”, \acs{iupac} Red Book}, year = {2005}, - publisher = { \IUPAC \&\ RSC Publishing, Cambridge}, + publisher = { \acs{iupac} \&\ RSC Publishing, Cambridge}, isbn = {0-85404-438-8} } @misc{eu:ghsystem_regulation, author = {{The European Parliament and The Council of the European Union}}, title = {Regulation (EC) No 1272/2008 of the European Parliament and of the Council}, - subtitle = {on classification, labelling and packaging of substances and mixtures, amending and repealing Directives 67/548/EEC and 1999/45/EC, and amending Regulation (EC) No 1907/2006}, + subtitle = {on classification, labelling and packaging of substances and mixtures, + amending and repealing Directives 67/548/EEC and 1999/45/EC, and amending + Regulation (EC) No 1907/2006}, journal = {Official Journal of the European Union}, date = {2008-12-16} } @@ -102,7 +130,7 @@ urldate = {2012-03-20}, date = {2012-03-20} } -\end{filecontents} +\end{filecontents*} \DeclareInstance{xfrac}{chemformula-text-frac}{text} { @@ -120,7 +148,6 @@ \newcommand*\Chemformula{{\fontspec[Color=cnpkgblue,Scale=1.2]{Linux Biolinum Shadow O}chemformula}} \newcommand*\Ghsystem{{\fontspec[Color=cnpkgblue,Scale=1.2]{Linux Biolinum Shadow O}ghsystem}} -\newcommand*\IUPAC{\mbox{IUPAC}\xspace} \renewcommand*\AmS{\hologo{AmS}} \newcommand*\pdfTeX{\hologo{pdfTeX}} \newcommand*\LuaTeX{\hologo{LuaTeX}} @@ -131,27 +158,30 @@ \redox(r1,r2)[blue,-cf][-1]{\small\ch[font-spec={[Color=blue]Augie},math-space=.3em]{$+$ 2 e-}}} \addcmds{ - a,abinitio,AddRxnDesc,anti,aq,aqi,b,ba,bottomrule,bridge,cancel,cd,cdot,ce,cee,celsius, - centering,chemabove,Chemalpha,Chembeta,Chemgamma,Chemdelta,ChemDelta,chemfig, - chemname,Chemomega,chemsetup,cip,cis,ch,cnsetup,CNMR,color,cstsetup,d,D,data, - DeclareChemArrow,DeclareChemIUPAC,DeclareChemLatin,DeclareChemNMR, - DeclareChemParticle,DeclareChemPhase,DeclareChemReaction,DeclareChemState, - DeclareInstance,DeclareSIUnit,definecolor,delm,delp,Delta,Dfi,draw,E,el, - electronvolt,ElPot,endo,Enthalpy,enthalpy,Entropy,footnotesize,fmch,fpch,fscrm, - fscrp,g,gas,ghs,ghslistall,ghspic,Gibbs,glqq,gram,grqq,H,hapto,HNMR,Helmholtz, - hertz,hspace,includegraphics,insitu,intertext,invacuo,iupac,IUPAC,J,joule,Ka, - Kb,kilo,Kw,L,latin,lewis,Lewis,Lfi,listofreactions,lqd,ltn,mch,mega,meta,metre, - mhName,midrule,milli,mmHg,mole,N,nano,nicefrac,newman,NMR,Nu,Nuc,num,numrange,O,ominus, - orbital,ortho,oplus,ox,OX,p,P,para,pch,per,percent,pgfarrowsdeclarealias, - pgfarrowsrenewalias,pH,phase,photon,pKa,pKb,pOH,pos,positron,Pot,prt,R,Rad, - redox,RenewChemArrow,RenewChemIUPAC,RenewChemLatin,RenewChemNMR, - RenewChemParticle,RenewChemPhase,RenewChemState,renewtagform,rightarrow,S,Sf, - sample,scriptscriptstyle,scrm,scrp,setatomsep,setbondoffset,sfrac, - shorthandoff,ShowChemArrow,si,SI,sisetup,sld,Sod,State,subsection,textcolor, - textendash,textsuperscript,tiny,toprule,trans,upbeta,upeta,upgamma,val,volt, - vphantom,vspave,w,xspace,Z} - -\makeindex + a,abinitio,AddRxnDesc,anti,aq,aqi,b,ba,bond,bottomrule,bridge,cancel,cd,cdot,ce, + cee,celsius, centering,chemabove,Chemalpha,Chembeta,Chemgamma,Chemdelta,ChemDelta, + chemfig,chemname,Chemomega,chemsetup,cip,cis,ch,cnsetup,CNMR,color,cstsetup,d, + D,data,DeclareChemArrow,DeclareChemBond,DeclareChemBondAlias,DeclareChemIUPAC, + DeclareChemLatin,DeclareChemNMR,DeclareChemParticle,DeclareChemPhase, + DeclareChemReaction,DeclareChemState,DeclareInstance,DeclareSIUnit,definecolor, + delm,delp,Delta,Dfi,draw,E,el,electronvolt,ElPot,endo,Enthalpy,enthalpy,Entropy, + footnotesize,fmch,fpch,fscrm,fscrp,g,gas,ghs,ghslistall,ghspic,Gibbs,glqq,gram, + grqq,H,hapto,HNMR,Helmholtz,hertz,hspace,includegraphics,insitu,intertext,invacuo, + iupac,IUPAC,J,joule,Ka,Kb,kilo,Kw,L,latin,lewis,Lewis,Lfi,listofreactions,lqd, + ltn,mch,mega,meta,metre,mhName,midrule,milli,mmHg,mole,N,nano,nicefrac,newman, + NMR,Nu,Nuc,num,numrange,O,ominus,orbital,ortho,oplus,ox,OX,p,P,para,pch,per, + percent,pgfarrowsdeclarealias,pgfarrowsrenewalias,pH,phase,photon,pKa,pKb,pOH, + pos,positron,Pot,prt,R,Rad,redox,RenewChemArrow,RenewChemIUPAC,RenewChemLatin, + RenewChemNMR,RenewChemParticle,RenewChemPhase,RenewChemState,renewtagform, + rightarrow,S,Sf,sample,scriptscriptstyle,scrm,scrp,second,setatomsep,setbondoffset, + sfrac,shorthandoff,ShowChemArrow,ShowChemBond,si,SI,sisetup,sld,Sod,square,State, + subsection,textcolor,textendash,textsuperscript,tiny,toprule,trans,upbeta,upeta, + upgamma,val,volt,vphantom,vspave,w,xspace,Z} + +\newcommand*\pes{\mbox{p.\,es.}\xspace} + +\usepackage{imakeidx} +\makeindex[columns=3,intoc,options={-sl \jobname.ist}] \begin{document} \chemsetup[chemformula]{font-spec={[Color=chemformula]Latin Modern Sans}} \renewcommand*\glqq{„} @@ -159,112 +189,235 @@ \part{Prima di cominciare}\secidx{PRIMA DI COMINCIARE} \section{Licenza, requisiti e LEGGIMI} -Il bundle \chemmacros è pubblicato sotto la \LaTeX\ Project Public License (LPPL) versione 1.3 o successive (\url{http://www.latex-project.org/lppl.txt}) ed ha lo stato \enquote{maintained}. - -Il bundle \chemmacros richiede versioni attuali dei bundle \paket{l3kernel} e \paket{l3packages}. Inoltre sono richiesti i pacchetti \paket{siunitx}, \paket{mathtools}, \paket{bm}, \paket{nicefrac} ed \paket{environ} come anche \paket*{tikz}\footnote{CTAN: \href{http://www.ctan.org/pkg/pgf/}{pgf}} e le sue librerie \code{calc} e \code{arrows}. - -L'opzione globale del pacchetto (d'ora in poi indicata come \enquote{opzione globale}) \key{bpchem} (paragrafo \ref{sec:optionen}) richiede \paket{bpchem}, l'opzione globale \key{xspace} richiede \paket{xspace} e l'opzione globale \key{method}{mhchem} richiede \paket{mhchem}. - -Dalla v3.0 il pacchetto \chemmacros è stato riunito con i nuovi pacchetti \chemformula e \ghsystem. \chemformula è un'alternativa a \paket{mhchem}. Questo ha portato ad alcuni cambiamenti interni a \chemmacros. Contemporaneamente è stato completamente rielaborato questo manuale. - -Forse l'utente ricorderà che le opzioni di \chemmacros appartengono tutte a moduli diversi (per ulteriori informazioni a riguardo vedi il paragrafo \ref{sec:setup}). Queste vengono poste nel margine sinistro quando l'opzione viene citata per la prima volta. Il paragrafo \ref{sec:overview} elenca tutte le opzioni di \chemmacros e i rispettivi moduli. In questo documento le opzioni sono contrassegnate dal colore \textcolor{key}{\code{verde}} e i moduli dal colore \textcolor{module}{\code{rosso}}. - -Il pacchetto \ghsystem richiede i pacchetti \chemmacros, \paket{tabu}, \paket{longtable}, \paket{ifpdf} e \paket{graphicx}. - -\achtung{Il pacchetto riconosce alcuni comandi e opzioni obsolete, che non vengono più descritti in questo manuale; sono ancora definiti per garantire la compatibilità con documenti meno recenti. Questi comandi restituiscono un avviso; in futuro potrebbero non essere più definiti.} +Il bundle \chemmacros è pubblicato sotto la \LaTeX\ Project Public License +(LPPL) versione 1.3 o successive (\url{http://www.latex-project.org/lppl.txt}) +ed ha lo stato \enquote{maintained}. + +Il bundle \chemmacros richiede versioni attuali dei bundle \paket{l3kernel} e +\paket{l3packages}. Inoltre sono richiesti i pacchetti \paket{siunitx}, +\paket{mathtools}, \paket{bm}, \paket{nicefrac} ed \paket{environ} come anche +\paket*{tikz}\footnote{CTAN:~\href{http://www.ctan.org/pkg/pgf/}{pgf}} e le sue +librerie \code{calc} e \code{arrows}. + +L'opzione globale del pacchetto (d'ora in poi indicata come \enquote{opzione +globale}) \key{bpchem} (vedi paragrafo~\ref{sec:optionen}) richiede +\paket{bpchem}, l'opzione globale \key{xspace} richiede \paket{xspace} e l'opzione +globale \key{method}{mhchem} richiede \paket{mhchem}. + +Dalla v3.0 il pacchetto \chemmacros è stato riunito con i nuovi pacchetti +\chemformula e \ghsystem; \chemformula è un'alternativa a \paket{mhchem}. Questo +ha portato ad alcuni cambiamenti interni a \chemmacros. Contemporaneamente è +stato totalmente rielaborato questo manuale. + +Forse l'utente ricorderà che le opzioni di \chemmacros appartengono tutte a +moduli diversi (per ulteriori informazioni a riguardo vedi il paragrafo~% +\ref{sec:setup}). Questi vengono poste nel margine sinistro quando l'opzione +viene citata per la prima volta. L'appendice (vedi la parte~\ref{sec:overview}) +elenca tutte le opzioni di \chemmacros e i rispettivi moduli. In questo documento +le opzioni sono contrassegnate dal colore \textcolor{key}{\code{verde}} e i moduli +dal colore \textcolor{module}{\code{rosso}}. + +Il pacchetto \ghsystem richiede i pacchetti \chemmacros, \paket{tabu}, +\paket{longtable}, \paket{ifpdf} e \paket{graphicx}. %\ghsystem non ha opzioni +%sdi pacchetto proprie ma passa tutte le opzioni a \chemmacros. + +\achtung{Il pacchetto riconosce alcuni comandi e opzioni obsolete, che non +vengono più descritti in questo manuale; sono ancora definiti per garantire la +compatibilità con documenti meno recenti. Questi comandi restituiscono un +avviso; in futuro potrebbero non essere più definiti.} \section{Motivazioni e ragioni} -\chemmacros nacque qualche anno fa come una lista di macro che usavo frequentemente. Non mi ricordo più il momento e le ragioni che mi spinsero a pubblicarle come pacchetto. Ora lo avete davanti a voi \textendash\ spero che riusciate a trarne qualche beneficio. - -Nel corso del tempo le macro ed il loro funzionamento sono leggermente variati, e se ne sono aggiunte di nuove. Al passare del tempo molte cose si sono unificate, introducendo sempre più possibilità di apportare personalizzazioni. - -Ogni chimico che usi \LaTeX\ per la compilazione dei propri documenti conoscerà il meraviglioso pacchetto \paket{mhchem} di Martin Hensel. Fin dall'inizio vi sono state delle difficoltà a fare cooperare \paket{mhchem} e \chemmacros. Alcune particolarità di \paket{mhchem} non mi hanno mai convinto completamente, ma non sembravano essere sufficienti per un nuovo pacchetto, nemmeno per inviare un \enquote{feature request} all'autore di \paket{mhchem}. La sfida e il divertimento nel creare un pacchetto nuovo, nonché il desiderio di raggiungere una flessibilità massima hanno infine portato a \chemformula. - -\chemformula funziona in modo analogo a \paket{mhchem}, ma è più severo per quanto riguarda l'input dei composti, dei fattori stechiometrici e delle frecce di reazione. Contemporaneamente \chemformula offre qualche possibilità di adattare l'output che \paket{mhchem} non ha. Dato che \chemformula nasce come alternativa a \paket{mhchem}, \chemmacros offre un'opzione per selezionare uno tra \paket{mhchem} e \chemformula. - -Il lettore di formazione chimica probabilmente sarà a conoscenza che le \textsc{Nazioni Unite} hanno introdotto il \enquote{\textbf{G}lobally \textbf{H}armonized \textbf{S}ystem of Classification and Labelling of Chemicals} (GHS) come sostituto di validità globale per i numerosi sistemi dei diversi paesi, simili ma non unitari. Nonostante non sia ancora stato adottato da tutti i paesi \cite{unece:ghsystem_implementation}, questo avverrà ben presto. Il pacchetto \ghsystem offre la possibilità di introdurre e richiamare in modo semplice tutti gli \enquote{hazard and precautionary statements}. Le frasi sono tratte dal regolamento (?) CE 1272/2008 \cite{eu:ghsystem_regulation}. +\chemmacros nacque qualche anno fa come una lista crescente di macro che usavo +frequentemente. Non ricordo più il momento e le ragioni che mi spinsero a +pubblicarle come pacchetto. Ora lo avete davanti a voi \textendash\ spero che +anche voi riusciate a trarne qualche beneficio. + +Nel corso del tempo le macro ed il loro funzionamento sono leggermente variati, +e se ne sono aggiunte di nuove. Con il passare del tempo molte cose si sono +unificate, introducendo sempre più possibilità di apportare personalizzazioni. + +Ogni chimico che usi \LaTeX\ per la compilazione dei propri documenti conoscerà +il meraviglioso pacchetto \paket{mhchem} di Martin Hensel. Fin dall'inizio vi +furono delle difficoltà a fare cooperare \paket{mhchem} e \chemmacros. +Alcuni dettagli di \paket{mhchem} non mi hanno mai soddisfatto particolarmente, +ma non sembravano essere sufficienti per un nuovo pacchetto, nemmeno per inviare +un \enquote{feature request} all'autore di \paket{mhchem}. La sfida e il +divertimento nel creare un pacchetto nuovo nonché il desiderio di raggiungere +una flessibilità massima hanno infine portato a \chemformula. + +\chemformula funziona in modo analogo a \paket{mhchem}, ma è più severo per quanto +riguarda l'input di composti, fattori stechiometrici e frecce di reazione; +contemporaneamente \chemformula offre alcune possibilità di adattare l'output che +\paket{mhchem} non ha. Dato che \chemformula nasce come alternativa a +\paket{mhchem}, \chemmacros offre un'opzione per selezionare uno tra +\paket{mhchem} e \chemformula. + +Il lettore di formazione chimica probabilmente sarà a conoscenza che le +\textsc{Nazioni Unite} hanno introdotto il \ac{ghs} come sostituto di validità +globale per i numerosi sistemi dei diversi paesi, simili ma non unitari. Nonostante +non sia ancora stato adottato da tutti i paesi \cite{unece:ghsystem_implementation}, +questo avverrà ben presto. Il pacchetto \ghsystem offre la possibilità di inserire +e richiamare in modo semplice tutti gli \enquote{hazard and precautionary statements}. +Le frasi sono tratte dal regolamento CE 1272/2008 \cite{eu:ghsystem_regulation}. Con questo bundle spero di essere riuscito a realizzare i seguenti quattro punti: \begin{itemize} - \item un utilizzo intuitivo, soprattutto per quanto riguarda la sintassi dei comandi - \item i comandi non vogliono semplificare solo la stesura ma anche la lettura del codice, migliorandone la semantica e rendendola più logica (\lstinline=\ortho-diclorobenzene= è più leggibile e più comprensibile di \lstinline=\textsl{o}-diclorobenzene=) - \item introdurre più flessibilità possibile e più possibilità di adattamento, in modo che ogni utente possa adattare i comandi alle proprie necessità. - \item impostazioni predefinite conformi alle norme e le indicazioni \IUPAC + \item permettere un utilizzo intuitivo, soprattutto per quanto riguarda la + sintassi dei comandi; + \item proporre dei comandi non solo per semplificare la stesura ma anche la + lettura del codice, migliorandone la semantica e rendendola più logica + (\lstinline=\ortho-diclorobenzene= è più leggibile e più comprensibile di + \lstinline=\textsl{o}-diclorobenzene=); + \item introdurre flessibilità e adattabilità ove possibile, in modo che ogni + utente possa adattare i comandi alle proprie necessità; + \item usare impostazioni predefinite conformi alle norme e le indicazioni della \ac{iupac}. \end{itemize} -L'ultimo punto in particolare ha richiesto qualche incitamento da parte degli utenti\footnote{Ringrazio particolarmente il Dr.~Paul~King!} per applicare le impostazioni giuste in numerosi punti. Se l'utente dovesse notare qualcosa che non corrisponde ai consigli \IUPAC\footnote{Questo non vale per il comando \cmd{ox}. La versione \IUPAC è \cmd[oxa]{ox*}.}, sarei molto grato di una notifica via e-mail! - -In un pacchetto di questa mole comprendente parti meno e più recenti (che debbono essere considerate ancora in fase beta) non è possibile evitare la presenza di errori o bug. Ho grande interesse a correggere e migliorare questo pacchetto, e quindi prego gli utenti che notino un funzionamento imprevisto o indesiderato (anche se apparentemente insignificante) di mandarmi un'e-mail, e vedrò di fare quel che posso. Sono particolarmente interessato a feedback riguardante \chemformula (vedi parte \ref{part:chemformula}) e \ghsystem (vedi parte \ref{part:ghsystem}), ma sono felice di ricevere feedback anche su qualunque altra parte del bundle. - -\section{Installazione e caricamento del bundle}\secidx{Caricamento del bundle}\secidx{Installazione} -Il bundle contiene tre fogli di stile\footnote{Con l'estensione \code{sty}.}, una cartella di nome \code{language/} che contiene i file di definizione di lingua per il GHS (estensione \code{def}), e una cartella di nome \code{pictures/} che contiene immagini di tipo \code{eps}, \code{jpg} e \code{png} (i pittogrammi GHS). Nel caso di un'installazione manuale \emph{è necessario copiare le cartelle \code{language/} e \code{pictures/} nella \emph{stessa} cartella dei fogli di stile}. +L'ultimo punto in particolare ha richiesto qualche incitamento da parte degli +utenti\footnote{Molte grazie al Dr.~Paul~King!} per applicare le +impostazioni giuste in numerosi punti. Se doveste notare qualcosa che non +corrisponde ai consigli \ac{iupac}\footnote{Questo non vale per il comando \cmd{ox}. +La versione \ac{iupac} è \cmd[oxa]{ox*}.} sarei molto grato di una notifica via +e-mail! + +In un pacchetto di questa mole comprendente parti meno e più recenti (le ultime +debbono essere considerate ancora in fase beta) non è possibile evitare la +presenza di errori o bug. Ho grande interesse a correggere e migliorare questo +pacchetto, e quindi prego tutti gli utenti che notino un funzionamento imprevisto +o indesiderato (anche se apparentemente insignificante) di mandarmi un'e-mail, e +vedrò di fare quel che posso. Sono particolarmente interessato a feedback +riguardante \chemformula (vedi la parte~\ref{part:chemformula}) e \ghsystem (vedi +la parte~\ref{part:ghsystem}), ma sono felice di ricevere feedback anche su +qualunque altra parte del bundle. + +\section{Installazione e caricamento del bundle}\secidx{Caricamento del +bundle}\secidx{Installazione} +Il bundle contiene tre fogli di stile\footnote{Con l'estensione \code{sty}.}, una +cartella di nome \code{language/} che contiene i file di definizione di lingua per +il GHS (estensione \code{def}) e una cartella di nome \code{pictures/} che +contiene immagini di tipo \code{eps}, \code{pdf}, \code{jpg} e \code{png} (i +pittogrammi GHS). Nel caso di un'installazione manuale \emph{è necessario copiare +le cartelle \code{language/} e \code{pictures/} nella \emph{stessa} cartella dei +fogli di stile}. Il caricamento di \chemmacros via \begin{beispiel}[code only] \usepackage{chemmacros} % `chemmacros', `chemformula' and `ghsystem' are loaded \end{beispiel} -carica anche \chemformula e \ghsystem. È tuttavia possibile impedire a \chemmacros di caricare \ghsystem: +carica anche \chemformula e \ghsystem. È tuttavia possibile impedire a \chemmacros +di caricare \ghsystem: \begin{beispiel}[code only] \usepackage[ghsystem=false]{chemmacros} % `chemmacros' and `chemformula' are loaded \end{beispiel} -Il caricamento di \chemformula non può essere evitato a causa dell'interazione di \chemmacros e \chemformula. +Il caricamento di \chemformula non può essere evitato a causa dell'interazione tra +\chemmacros e \chemformula. -Il caricamento esplicito di \chemformula o \ghsystem è possibile e carica contemporaneamente anche \chemmacros, se non ancora caricato; implicitamente quindi si caricano a vicenda. +Il caricamento esplicito di \chemformula o \ghsystem è possibile e carica +contemporaneamente anche \chemmacros, se non ancora caricato; implicitamente +quindi si caricano a vicenda. \begin{beispiel}[code only] - \usepackage{chemformula} % `chemmacros', `chemformula' and `ghsystem' are loaded + \usepackage{chemformula} or - \usepackage[ghsystem=false]{chemformula} % `chemmacros' and `chemformula' are loaded + \usepackage{ghsystem} \end{beispiel} -Si consiglia tuttavia di utilizzare solamente \lstinline=\usepackage{chemmacros}= e di applicare le opzioni desiderate con \lstinline=\chemsetup= (confronta il paragrafo \ref{sec:setup}). +Si consiglia tuttavia di utilizzare solamente \lstinline=\usepackage{chemmacros}= +e di applicare le opzioni desiderate con \lstinline=\chemsetup= (confronta il +paragrafo~\ref{sec:setup}). \secidx*{Installazione}\secidx*{Caricamento del pacchetto} \section{Opzioni globali}\label{sec:optionen}\secidx{Opzioni globali} -\chemmacros ha diverse opzioni; queste seguono tutte un principio del tipo chiave/valore: +\chemmacros ha diverse opzioni, che seguono tutte il principio chiave/valore: \begin{beispiel}[code only] \usepackage[option1 = <value1>, option2 = <value2>]{chemmacros} \end{beispiel} -La maggior parte può essere utilizzata anche senza specificare un valore (\lstinline+\usepackage[option]{chemmacros}+); in questo caso richiamano il valore \default{sot\-to\-li\-ne\-a\-to}. +La maggior parte delle opzioni può essere richiamata anche senza assegnargli un +valore (\lstinline+\usepackage[option]{chemmacros}+); in questo caso richiamano il +valore \default{sot\-to\-li\-ne\-a\-to}. -Sia \chemformula che \ghsystem non hanno opzioni proprie; se caricati esplicitamente, accettano le opzioni di \chemmacros, che vengono passate a \chemmacros. +Sia \chemformula che \ghsystem non hanno opzioni di pacchetto proprie; se caricati +esplicitamente, perdono tutte le opzioni passate loro, che devono poi essere +impostate con il comando di setup. +\chemmacros. \begin{beschreibung} % bpchem - \option[option]{bpchem}{\default{true}/false} Questa opzione carica \paket{bpchem} e adatta il layout di \cmd{NMR} ai comandi propri di \paket{bpchem} \lstinline+\HNMR+ e \lstinline+\CNMR+. Default = \code{false} + \option[option]{bpchem}{\default{true}|false} Questa opzione carica \paket{bpchem} + e adatta il layout di \cmd{NMR} ai comandi propri di \paket{bpchem} + \lstinline+\HNMR+ e \lstinline+\CNMR+. Default = \code{false} % circled - \option[option]{circled}{\default{formal}/all/none} \chemmacros distingue due tipi di cariche:\footnote{Ringrazio Christoph Schäfer per avermi fatto notare che la v1.1 trattava le cariche in modo poco coerente!}: le cariche reali ($+/-$) e quelle formali (\fplus/\fminus). L'opzione \code{formal} fa distinzione tra i due tipi, \code{none} le rappresenta tutte senza cerchio, \code{all} tutte cerchiate. Default = \code{formal} + \option[option]{circled}{\default{formal}|all|none} \chemmacros distingue due + tipi di cariche:\footnote{Ringrazio Christoph Schäfer per avermi fatto notare + che la v1.1 trattava le cariche in modo poco coerente!} le cariche reali ($+/-$) + e quelle formali (\fplus/\fminus). L'opzione \code{formal} distingue tra i + due tipi, \code{all} le rappresenta tutte cerchiate, \code{none} tutte senza + cerchio. Default = \code{formal} % circletype - \option[option]{circletype}{\default{chem}/math} Questa opzione varia tra due rappresentazioni per le cariche formali: \cmd{fplus} \fplus\ e \lstinline+$\oplus$+ $\oplus$. Default = \code{chem} + \option[option]{circletype}{\default{chem}|math} Questa opzione varia tra due + rappresentazioni per le cariche formali: \cmd{fplus} \fplus\ e + \lstinline+$\oplus$+ $\oplus$. Default = \code{chem} % cmversion - \option[option]{cmversion}{1/2/bundle} Questa opzione ripristina le definizioni di alcuni comandi, in modo da compilare correttamente documenti composti utilizzando v1.*. Default = \code{bundle}. In realtà \code{2} e \code{bundle} sono equivalenti. Questa opzione può essere impostata solamente nel preambolo. + \option[option]{cmversion}{1|2|bundle} Questa opzione ripristina le definizioni + di alcuni comandi, in modo da compilare correttamente documenti composti + utilizzando v1.*. Default = \code{bundle}; in realtà \code{2} e \code{bundle} + sono equivalenti. L'opzione può essere impostata solamente nel preambolo. % ghsystem - \option[option]{ghsystem}{\default{true}/false} Disattiva il pacchetto \ghsystem. L'impostazione \key{ghs}{false} sopprime il caricamento di \ghsystem. Default = \code{true} + \option[option]{ghsystem}{\default{true}|false} Attiva/disattiva il pacchetto + \ghsystem. L'impostazione \key{ghs}{false} sopprime il caricamento di \ghsystem. + Default = \code{true} % greek - \option[option]{greek}{math/textgreek/\default{upgreek}} Questa opzione determina come vengono rappresentate le lettere \cmd{Chemalpha} e le sue simili, vedi a pagina \pageref{desc:upgreek} per ulteriori informazioni. Questa opzione può essere impostata solo nel preambolo. Default = \code{upgreek} + \option[option]{greek}{math|textgreek|\default{upgreek}} Questa opzione determina + come vengono rappresentate la lettera \cmd{Chemalpha} e le sue simili (vedi a + pagina~\pageref{desc:upgreek} per ulteriori informazioni). L'opzione può essere + impostata solo nel preambolo. Default = \code{upgreek} % iupac - \option[option]{iupac}{auto/restricted/strict} Determina le impostazioni dei comandi di nomenclatura, vedi a pagina \pageref{desc:iupac}. Default = \code{auto} + \option[option]{iupac}{auto|restricted|strict} Determina le impostazioni dei comandi + di nomenclatura (vedi a pagina~\pageref{desc:iupac}). Default = \code{auto} % language - \option[option]{language}{american/british/english/french/german/italian/ngerman} Carica impostazioni specifiche per una lingua. \code{english}, \code{american} e \code{british} sono equivalenti, come \code{german} e \code{ngerman}. Questa opzione può essere impostata solo nel preambolo. Default = \code{english} + \option[option]{language}{american|british|english|french|german|italian|ngerman} + Carica impostazioni specifiche per una lingua. \code{english}, \code{american} + e \code{british} sono tra loro equivalenti, come anche \code{german} e \code{ngerman}. + L'opzione può essere impostata solo nel preambolo. Default = \code{english} % method - \option[option]{method}{\default{chemformula}/mhchem} È possibile scegliere tra \paket{mhchem} e \chemformula per gli ambienti di reazione di \chemmacros (vedi il paragrafo \ref{sec:reactions}) e per le particelle (vedi il paragrafo \ref{sec:teilchen}). Default = \code{chemformula}. Questa opzione può essere impostata solo nel preambolo. + \option[option]{method}{\default{chemformula}|mhchem} È possibile scegliere tra + \paket{mhchem} e \chemformula per gli ambienti di reazione di \chemmacros (vedi + il paragrafo~\ref{sec:reactions}) e per le particelle (vedi il paragrafo~\ref{sec:teilchen}). + Default = \code{chemformula}. L'opzione può essere impostata solo nel preambolo. % Nu - \option[option]{Nu}{\default{chemmacros}/mathspec} Anche il pacchetto \paket{mathspec} definisce una macro \cmd{Nu}. Questa opzione decide quale definizione verrà applicata, vedi a pagina \pageref{Nu}. Default = \code{chemmacros}. Questa opzione può essere impostata solo nel preambolo. + \option[option]{Nu}{\default{chemmacros}|mathspec} Anche il pacchetto \paket{mathspec} + definisce una macro \cmd{Nu}; questa opzione decide quale definizione verrà + applicata (vedi a pagina~\pageref{Nu}). Default = \code{chemmacros}. L'opzione + può essere impostata solo nel preambolo. % strict - \option[option]{strict}{\default{true}/false} L'impostazione \key{strict}{true} trasforma tutti gli avvisi in messaggi di errore. Default = \code{false} + \option[option]{strict}{\default{true}|false} L'impostazione \key{strict}{true} + trasforma tutti gli avvisi in messaggi di errore. Default = \code{false} % synchronize - \option[option]{synchronize}{\default{true}/false} Impostando \code{true}, \chemmacros adotta le impostazioni di carattere di \chemformula, se \chemformula è stato scelto come metodo. Default = \code{false}. Per dimostrare il funzionamento di questa opzione, il documento è stato compilato con \key{synchronize}{true} e l'impostazione di \chemformula \lstinline+\chemsetup[chemformula]{font-spec={[Color=darkgray]Latin Modern Sans}}+. + \option[option]{synchronize}{\default{true}|false} Impostando \code{true}, se + \chemformula è stato scelto come metodo \chemmacros ne adotta le impostazioni + di carattere. Default = \code{false}. Per dimostrare il funzionamento di questa + opzione, il documento è stato compilato con \key{synchronize}{true} e l'impostazione + di \chemformula \lstinline+\chemsetup[chemformula]{font-spec={[Color=darkgray]Latin Modern Sans}}+. % xspace - \option[option]{xspace}{\default{true}/false} Con questa opzione la maggior parte delle macro comprende un \lstinline+\xspace+. Default = \code{true} + \option[option]{xspace}{\default{true}|false} Con questa opzione la maggior parte + delle macro comprende un \lstinline+\xspace+. Default = \code{true} \end{beschreibung} \secidx*{Opzioni globali} \section{Setup}\label{sec:setup}\secidx{Setup} -Numerosi comandi di \chemmacros, \chemformula e \ghsystem hanno come opzioni delle coppie del tipo chiave/valore attraverso le quali possono essere adattate. Tipicamente possono essere utilizzate come argomento (opzionale) del comando, e in genere anche con il comando \cmd{chemsetup}. +Numerosi comandi di \chemmacros, \chemformula e \ghsystem hanno come opzioni delle +coppie chiave/valore attraverso le quali possono essere adattate. Tipicamente +possono essere utilizzate come argomento (opzionale) del comando, e in genere anche +con il comando \cmd{chemsetup}. \begin{beschreibung} \Befehl{chemsetup}[<module>]{<key> = <value>} oppure \Befehl{chemsetup}{<module>/<key> = <value>} \end{beschreibung} -Le opzioni appartengono tutte ad un modulo, che indica quale comando vanno ad influenzare. Quando viene presentata un'opzione, il suo modulo di appartenenza viene segnato nel margine sinistro. Con il comando \cmd{chemsetup} è possibile utilizzare le opzioni in due modalità diverse, come mostrato sopra. +Quasi tutte le opzioni appartengono ad un modulo, che indica quale comando vanno +ad influenzare. Quando viene presentata un'opzione, il suo modulo di appartenenza +viene qui segnato nel margine sinistro. Con il comando \cmd{chemsetup} è possibile +utilizzare le opzioni in due modalità diverse, come mostrato sopra. -Le opzioni globali possono essere considerate anche come opzioni appartenenti al modulo \textcolor{module}{\ttfamily option}. Possono essere quindi richiamate anche da \cmd{chemsetup}. +Le opzioni globali possono essere considerate anche come opzioni appartenenti al +modulo \textcolor{module}{\ttfamily option}; possono essere quindi richiamate anche +da \cmd{chemsetup}. \begin{beispiel} \chemsetup[option]{circled=none}\mch\ \pch\ \fmch\ \fpch\ \el\ \prt \\ \chemsetup[option]{circled=formal}\mch\ \pch\ \fmch\ \fpch\ \el\ \prt \\ @@ -272,18 +425,23 @@ Le opzioni globali possono essere considerate anche come opzioni appartenenti al \chemsetup{option/circletype=chem,option/circled=all}\mch\ \pch\ \fmch\ \fpch\ \el\ \prt \\ \chemsetup{option/circletype=math}\mch\ \pch\ \fmch\ \fpch\ \el\ \prt \end{beispiel} -Le opzioni che non appartengono a \emph{nessun} modulo \emph{non possono essere utilizzate} con \cmd{chemsetup}! +Le opzioni che non appartengono a nessun modulo \emph{non possono essere utilizzate} +con \cmd{chemsetup}! -Tutte le opzioni di \chemformula appartengono al modulo \textcolor{module}{\code{chemformula}}, e tutte le opzioni di \ghsystem appartengono al modulo \textcolor{module}{\code{ghs}}. +Tutte le opzioni di \chemformula appartengono al modulo \textcolor{module}{\code{chemformula}}, +e tutte le opzioni di \ghsystem appartengono al modulo \textcolor{module}{\code{ghs}}. \secidx*{Setup} \section{Impostazioni di lingua}\label{sec:languages}\secidx{Impostazioni di lingua} \subsection{Lingue supportate} -Selezionando l'opzione +Impostando l'opzione \begin{beispiel}[code only] \chemsetup[option]{language=<language>} \end{beispiel} -può essere selezionata una delle lingue seguenti: \code{american/british/english/french/german/italian/ngerman}. Le lingue \code{american/british/english} sono alias, come anche le lingue \code{german/ngerman}. +può essere selezionata una tra le seguenti lingue: \code{american}, \code{british}, +\code{english}, \code{french}, \code{german}, \code{italian} e \code{ngerman}. Le +lingue \code{american}, \code{british} e \code{english} sono tra loro equivalenti, +come anche le lingue \code{german} e \code{ngerman} Vengono tradotti \begin{itemize} @@ -292,15 +450,16 @@ Vengono tradotti \item Le frasi H e P. \end{itemize} -\achtung{Attenzione: le frasi GHS non sono disponibili in tutte le lingue; vedi anche nel paragrafo \ref{sec:ghsystem_language}.} +\achtung{Attenzione: le frasi GHS non sono disponibili in tutte le lingue (vedi +anche il paragrafo~\ref{sec:ghsystem_language}).} \subsection{Particolarità} \subsubsection{Tedesco} -Selezionando come lingua \code{german/ngerman} vengono tradotti i comandi di fase \cmd{sld}, \cmd{lqd} nonché \cmd{pKa}. +Selezionando come lingua \code{german/ngerman} vengono tradotti i comandi di fase +\cmd{sld}, \cmd{lqd} nonché \cmd{pKa}. \subsubsection{Italiano} -\DeclareChemIUPAC{\ter}{\textit{ter}}\DeclareChemIUPAC{\sin}{\textit{sin}}% -Selezionando come lingua \code{italian} vengono definiti ulteriori comandi IUPAC: +Selezionando come lingua \code{italian} vengono definiti ulteriori comandi \ac{iupac}: \begin{beschreibung} \befehl{ter} \iupac{\ter} \befehl{sin} \iupac{\sin} @@ -310,39 +469,74 @@ Selezionando come lingua \code{italian} vengono definiti ulteriori comandi IUPAC \section{Novità}\secidx{Novità} \subsection{Versione 3.3} \begin{itemize} - \item Dalla versione 3.3 è disponibile l'ambiente \env{experimental}{}, vedi il paragrafo \ref{sec:spektroskopie}, che può essere impiegato con alcuni nuovi comandi e opzioni per riportare dati sperimentali in modo consistente. - \item L'ambiente \env{reaction}{} e i suoi simili sanno utilizzare \lstinline+\label+, \lstinline+\ref+ e \lstinline+\intertext+, vedi il paragrafo \ref{sec:reactions}. - \item Le opzioni globali \key{german} e \key{ngerman} vengono sostituite dall'opzione \key{language}, vedi la pagina \pageref{key:option_language} e il paragrafo \ref{sec:languages} da pagina \pageref{sec:languages}. + \item Dalla versione 3.3 è disponibile l'ambiente \env{experimental}{} (vedi il + paragrafo~\ref{sec:spektroskopie}), che può essere impiegato con alcuni nuovi + comandi e opzioni per riportare dei dati sperimentali in modo consistente. + \item L'ambiente \env{reaction}{} e i suoi simili sanno utilizzare + \lstinline+\label+, \lstinline+\ref+ e \lstinline+\intertext+ (vedi il + paragrafo~\ref{sec:reactions}). + \item Le opzioni globali \key{german} e \key{ngerman} vengono sostituite dall'opzione + \key{language} (vedi a pagina~\pageref{key:option_language} e il paragrafo~\ref{sec:languages} + da pagina~\pageref{sec:languages}). \item L'opzione \key{upgreek} è stata rinominata a \key{greek}. - \item Ai comandi del tipo \code{\textbackslash\textcolor{code}{Chem<greekletter>}} sono state aggiunte alcune lettere, vedi il paragrafo \ref{sec:teilchen}. + \item Ai comandi del tipo \code{\textbackslash\textcolor{code}{Chem<greekletter>}} + sono state aggiunte alcune lettere (vedi il paragrafo~\ref{sec:teilchen}). \end{itemize} -\subsection{Version 3.3a} +\subsection{Versione 3.3a} \begin{itemize} - \item I comandi IUPAC \cmd{hapto} e \cmd{bridge} sono nuovi. + \item I comandi \ac{iupac} \cmd{hapto} e \cmd{bridge} sono nuovi. \item Le frasi H e P sono ora disponibili anche in italiano. \end{itemize} + +\subsection{Versione 3.3d} +\begin{itemize} + \item Versioni \code{pdf} dei pittogrammi \ac{ghs}. + \item Nuovi valori di default per lunghezza e offset dei legami, vedi a + pagina~\pageref{ssec:compounds:customization}. + \item Nuova opzione \key{bond-style}, vedi a + pagina~\pageref{ssec:compounds:customization}. + \item Nuova opzione \key{cip-kern}, vedi a pagina~\pageref{par:cip}. +\end{itemize} + +\subsection{Versione 3.4} +\begin{itemize} + \item \chemmacros ha ora un manuale italiano; tante grazie a Jonas Rivetti per la + sua traduzione sia delle frasi H \&\ P che di questo manuale! + \item Il comando \cmd{bond} permette di usare legami ulteriori a quello + singolo, doppio e triplo (vedi il sottoparagrafo~\ref{ssec:bonds}). Volevo + aggiungere questa funzionalità da molto tempo! + \item Alcuni cambiamenti all'aspetto del punto radicalico e nuove opzioni per la + sua personalizzazione (vedi il sottoparagrafo~\ref{ssec:compounds:customization}). +\end{itemize} \secidx*{Novità}\secidx*{PRIMA DI COMINCIARE} \part{\texorpdfstring{\Chemmacros}{chemmacros}}\secidx{CHEMMACROS} \section{Particelle, ioni e simboli}\label{sec:teilchen}\secidx{Particelle, ioni e simboli} \subsection{Predefiniti}\secidx[predefiniti]{Particelle, ioni e simboli} -\chemmacros definisce alcune semplici macro per raffigurare particelle e simboli comuni. Si noti che questi possono essere rappresentati in modo diverso a seconda delle opzioni globali utilizzate. I comandi possono essere utilizzati anche in modalità matematica. +\chemmacros definisce alcune semplici macro per raffigurare particelle e simboli +di uso comune. Si noti che questi possono essere rappresentati in modo diverso a +seconda delle opzioni globali utilizzate. I comandi possono essere utilizzati +anche in modalità matematica. \begin{beschreibung} \befehl{Hpl} \Hpl (protone) - \befehl{Hyd} \Hyd (idrossido) + \befehl{Hyd} \Hyd (ione idrossido) \befehl{HtO} \HtO (ione ossonio) (\textbf{H} \textbf{t}hree \textbf{O}) \befehl{water} \water \befehl{el} \el (elettrone) - \befehl{prt} \prt (proton) + \befehl{prt} \prt (protone) \befehl{ntr} \ntr (neutrone) - \befehl{Nu} \Nu (nucleofilo). Anche il pacchetto \paket{mathspec} definisce una macro di nome \cmd{Nu}. Selezionando l'opzione globale \key[option]{Nu}{mathspec}, \chemmacros definisce una macro sostitutiva \cmd{Nuc}\label{Nu}. + \befehl{Nu} \Nu (nucleofilo). Anche il pacchetto \paket{mathspec} definisce una + macro di nome \cmd{Nu}: selezionando l'opzione globale \key[option]{Nu}{mathspec}, + \chemmacros definisce una macro sostitutiva \cmd{Nuc}\label{Nu}. \befehl{El} \El (elettrofilo) \befehl{ba} \ba (base) \befehl{fplus} \fplus \befehl{fminus} \fminus \befehl{transitionstatesymbol} \transitionstatesymbol - \befehl{standardstate} \standardstate. Questo simbolo viene reso da \chemmacros solamente se non è caricato il pacchetto \paket{chemstyle}. L'idea proviene proprio da questo pacchetto\footnote{Molte grazie al suo autore \href{http://www.texdev.net/}{Joseph Wright}.}. + \befehl{standardstate} \standardstate. Questo simbolo viene reso da \chemmacros + solamente se non è caricato il pacchetto \paket{chemstyle}. L'idea proviene proprio + da questo pacchetto\footnote{Molte grazie al suo autore~\href{http://www.texdev.net/}{Joseph Wright}.}. \befehl{Chemalpha} \Chemalpha \befehl{Chembeta} \Chembeta \befehl{Chemgamma} \Chemgamma @@ -361,11 +555,13 @@ Selezionando come lingua \code{italian} vengono definiti ulteriori comandi IUPAC \achtung{Il comando \cmd{Rad} non è più disponibile!} -Entrambe le particelle \cmd{Nu} e \cmd{ba} possono essere adattate. Per farlo si impiega l'opzione +Entrambe le particelle \cmd{Nu} e \cmd{ba} possono essere adattate. Per farlo si +impiega l'opzione \begin{beschreibung} - \Option[particle]{elpair}{false/\default{dots}/dash} + \Option[particle]{elpair}{false|\default{dots}|dash} \end{beschreibung} -Questa ha effetto solo quando è caricato il pacchetto \paket{chemfig}, da cui prende il comando \lstinline+\Lewis+. +Questa ha effetto solo quando è caricato il pacchetto \paket{chemfig}, da cui +prende il comando \lstinline+\Lewis+. \begin{beispiel} % needs package `chemfig' \ba[elpair] \Nu[elpair=dash] @@ -374,9 +570,17 @@ Questa ha effetto solo quando è caricato il pacchetto \paket{chemfig}, da cui p \ba \Nu \end{beispiel} -\label{desc:upgreek}Le lettere greche non sono comandi nuovi; la loro definizione dipende dai pacchetti caricati. La loro versione predefinita corrisponde alle lettere greche corsive proprie del modo matematico. Se è caricato il pacchetto \paket{textgreek}, vengono utilizzate le sue lettere; se è caricato il pacchetto \paket{upgreek}, vengono utilizzate le lettere di quest'ultimo. Questo manuale impiega \paket{upgreek}. Quando sono caricati entrambi \paket{textgreek} e \paket{upgreek}, viene impiegato automaticamente \paket{upgreek}. +\label{desc:upgreek}Le lettere greche non sono comandi nuovi: la loro definizione +dipende dai pacchetti caricati. La loro versione predefinita corrisponde alle lettere +greche corsive proprie del modo matematico. Se è caricato il pacchetto \paket{textgreek}, +vengono utilizzate le sue lettere; se è caricato il pacchetto \paket{upgreek}, +vengono utilizzate le lettere di quest'ultimo. Questo manuale impiega \paket{upgreek}. +Quando sono caricati entrambi \paket{textgreek} e \paket{upgreek}, viene impiegato +automaticamente \paket{upgreek}. -Nel caso in cui l'utente non voglia adattarsi alla selezione automatica di \chemmacros, per scegliere autonomamente va impiegata l'opzione globale \key[option]{greek}. \ref{tab:upgreek_mode} mostra le diverse varianti di alcune lettere. +Nel caso in cui l'utente non voglia adattarsi alla selezione automatica di \chemmacros, +per scegliere autonomamente va impiegata l'opzione globale \key[option]{greek}. +La tabella~\ref{tab:upgreek_mode} mostra le diverse varianti di alcune lettere. \begin{table}[h] \centering @@ -389,21 +593,33 @@ Nel caso in cui l'utente non voglia adattarsi alla selezione automatica di \chem \caption{Le lettere greche}\label{tab:upgreek_mode} \end{table} -La ragione per cui \chemmacros definisce queste macro è per conformarsi alle regole \IUPAC. \IUPAC consiglia di utilizzare lettere greche tonde nella nomenclatura. +La ragione per cui \chemmacros definisce queste macro è per conformarsi alle regole +\ac{iupac}: la \ac{iupac} consiglia di utilizzare lettere greche tonde nella nomenclatura. -\begin{zitat}[\IUPAC Green Book \cite[][p.\,9]{iupac:greenbook}] - Greek letters are used in systematic organic, inorganic, macromolecular and biochemical nomenclature. These should be roman (upright), since they are not symbols for physical quantities. +\begin{zitat}[{\ac{iupac} Green Book {\cite[][p.\,9]{iupac:greenbook}}}] + Greek letters are used in systematic organic, inorganic, macromolecular and + biochemical nomenclature. These should be roman (upright), since they are not + symbols for physical quantities. \end{zitat} -\chemmacros impiega questi comandi per definire comandi di nomenclatura, vedi anche a pagina \pageref{par:greek_letters}. +\chemmacros impiega questi comandi per definire comandi di nomenclatura (vedi a +pagina~\pageref{par:greek_letters}). \subsection{Definire particelle proprie}\secidx[proprie]{Particelle, ioni e simboli} -Talvolta può essere utile avere a disposizione particelle ulteriori come macro, ad esempio \lstinline+\positron+ oppure \lstinline+\photon+. È possibile svolgere agevolmente queste definizioni con questo comando: +Talvolta può essere utile avere a disposizione delle ulteriori particelle come macro, +come ad esempio \lstinline+\positron+ oppure \lstinline+\photon+. È possibile +definirle agevolmente con i seguenti comandi: \begin{beschreibung} \Befehl{DeclareChemParticle}{<cmd>}\ma{<definition>} \Befehl{RenewChemParticle}{<cmd>}\ma{<definition>} \end{beschreibung} -A seconda del \key{method} scelto come opzione, la \code{<definition>} viene svolta alternativamente con \paket{mhchem} o con \chemformula. La particella si comporta come quelle predefinite, tranne che per un'eccezione: la particella così definita obbedisce all'opzione \key{circled} solamente se è stato selezionato \key{method}{chemformula}. Se si desiderano cariche formali con \key{method}{mhchem}, è necessario richiamare i comandi di \chemmacros in modo esplicito (vedi il paragrafo \ref{sec:ladungen}). +A seconda del \key{method} scelto come opzione, la \code{<definition>} viene svolta +alternativamente con \paket{mhchem} o con \chemformula. La particella si comporta +come quelle predefinite, tranne che per un'eccezione: la particella così definita +obbedisce all'opzione \key{circled} solamente se è stato selezionato +\key{method}{chemformula}. Se si desiderano cariche formali con \key{method}{mhchem}, +è necessario richiamare i comandi di \chemmacros in modo esplicito (vedi il +paragrafo~\ref{sec:ladungen}). \begin{beispiel} % uses the `upgreek' package \DeclareChemParticle{\positron}{$\upbeta$+} @@ -411,23 +627,42 @@ A seconda del \key{method} scelto come opzione, la \code{<definition>} viene svo \RenewChemParticle{\el}{$\upbeta$-} \positron\ \photon\ \el \end{beispiel} -\cmd{DeclareChemParticle} definisce la particella solamente se \code{<cmd>} non esiste ancora. In caso diverso \chemmacros restituisce un avvertimento oppure un errore, dipendentemente dall'opzione \key{strict}. \cmd{RenewChemParticle} definisce una particella \emph{solamente}, se \code{<cmd>} è già esistente, e restituisce un avvertimento o un errore in caso contrario. +\cmd{DeclareChemParticle} definisce la particella solamente se \code{<cmd>} non +esiste ancora. In caso diverso \chemmacros restituisce un avvertimento oppure un +errore, dipendentemente dall'opzione \key{strict}. \cmd{RenewChemParticle} definisce +una particella \emph{solamente} se \code{<cmd>} è \emph{già} esistente e restituisce +un avvertimento o un errore in caso contrario. \secidx*{Particelle, ioni e simboli} \section{Nomenclatura, stereodescrittori e termini in latino}\label{sec:stereo} \subsection{Nomi IUPAC}\secidx{Nomi IUPAC} -Analogamente al pacchetto \paket{bpchem} anche \chemmacros mette a disposizione un comando\footnote{L'idea e la realizzazione provengono dal pacchetto \paket*{bpchem} di Bjørn Pedersen.} per inserire nomi \IUPAC. La sua utilità deriva da un motivo molto semplice: i nomi \IUPAC possono diventare particolarmente lunghi, così lunghi da riempire anche più di due righe, particolarmente all'interno di documenti in due colonne. Ciò significa che devono poter essere divisi più di una volta. Per metterlo in pratica si utilizza il seguente comando: +Analogamente al pacchetto \paket{bpchem} anche \chemmacros mette a disposizione +un comando\footnote{L'idea e la realizzazione provengono dal pacchetto \paket*{bpchem} +di Bjørn Pedersen.} per inserire nomi \ac{iupac}. La sua utilità deriva da un +motivo molto semplice: i nomi \ac{iupac} possono diventare particolarmente lunghi, +così lunghi da riempire anche più di due righe, specialmente all'interno di documenti +in due colonne. Ciò significa che devono poter essere divisi più di una volta. Per +metterlo in pratica si può utilizzare il seguente comando: \begin{beschreibung} - \befehl{iupac}{<IUPAC name>} All'interno di questo comando vengono impiegati {\catcode`\|=11\cmd{|}} e \cmd{-} per segnare punti di divisione oppure un trattino separatore. {\catcode`\^=11\cmd{^}} può essere utilizzato come abbreviazione per \lstinline=\textsuperscript=\footnote{In realtà viene impiegato un meccanismo diverso, anche se il risultato è praticamente lo stesso.}. + \befehl{iupac}{<IUPAC name>} All'interno di questo comando vengono impiegati + {\catcode`\|=11\cmd{|}} e \cmd{-} per segnare punti di divisione oppure un + trattino separatore. {\catcode`\^=11\cmd{^}} può essere utilizzato come + abbreviazione per \lstinline=\textsuperscript=\footnote{In realtà viene impiegato + un meccanismo diverso, anche se il risultato è praticamente lo stesso.}. \end{beschreibung} \begin{beispiel} \begin{minipage}{.4\linewidth} \iupac{Tetra\|ciclo[2.2.2.1\^{1,4}]\-un\|decano-2\-dodecil\-5\-(epta\|decil\|iso\|dodecil\|tio\|estere)} \end{minipage} \end{beispiel} -Nonostante ciò, il comando \cmd{iupac} è più che altro un comando semantico. Nella maggior parte dei casi si può raggiungere un risultato (quasi) identico utilizzando \cmd{-} anziché {\catcode`\|=11\cmd{|}}, \code{-} anziché \cmd{-} e \lstinline=\textsuperscript= anziché {\catcode`\^=11\cmd{^}}. +Nonostante ciò, il comando \cmd{iupac} è più che altro un comando semantico. Nella +maggior parte dei casi si può raggiungere un risultato (quasi) identico utilizzando +\cmd{-} anziché {\catcode`\|=11\cmd{|}}, \code{-} anziché \cmd{-} e +\lstinline=\textsuperscript= anziché {\catcode`\^=11\cmd{^}}. -Esistono delle sottili differenze: \cmd{-} inserisce un sottile spazio prima del trattino e rimuove un sottile spazio dopo. Il comando {\catcode`\|=11\cmd{|}} non evita solo le legature, bensì inserisce anche un sottile spazio. +Vi sono delle sottili differenze: \cmd{-} inserisce un sottile spazio prima del +trattino e rimuove un sottile spazio dopo. Il comando {\catcode`\|=11\cmd{|}} non +evita solo le legature, bensì inserisce anche un sottile spazio. \begin{beispiel} \huge\iupac{2,4\-di\|cloro\|pentano} \\ 2,4-dicloropentano @@ -440,13 +675,28 @@ Gli spazi inseriti possono essere adattati: \option[iupac]{break-space}{<dim>} default = \code{.01em} \end{beschreibung} -Il comando \cmd{iupac} serve anche ad un altro scopo. Indipendentemente dall'opzione globale \key[option]{iupac} tutti i comandi presentati in questo paragrafo sono sempre definiti \emph{all'interno} di \cmd{iupac}. Tutta una serie di comandi di nomenclatura ha nomi molto generici come \cmd{meta}, \cmd{D}, \cmd{E}, \cmd{L}, \cmd{R}, \cmd{S}, \cmd{trans} e così via. Ne segue che sono già predefiniti (\cmd{L} \L) oppure sono facilmente modificati da altri pacchetti o altre classi (ad esempio, il pacchetto \paket{cool} definisce sia \cmd{D} che \cmd{E}). Per potere controllare quali comandi sono definiti e come, esiste l'opzione globale \key[option]{iupac}\label{desc:iupac}, con tre modalità di utilizzo: +Il comando \cmd{iupac} serve anche ad un altro scopo: indipendentemente dall'opzione +globale \key[option]{iupac} tutti i comandi presentati in questo paragrafo sono +sempre definiti \emph{internamente} a \cmd{iupac}. Tutta una serie di comandi di +nomenclatura ha nomi molto generici come \cmd{meta}, \cmd{D}, \cmd{E}, \cmd{L}, +\cmd{R}, \cmd{S}, \cmd{trans} e così via; ne segue che spesso sono già predefiniti +(\cmd{L} \L) oppure facilmente modificati da altri pacchetti o altre classi (ad +esempio, il pacchetto \paket{cool} definisce sia \cmd{D} che \cmd{E}). Per potere +controllare quali comandi siano definiti e come, esiste l'opzione globale +\key[option]{iupac}\label{desc:iupac}, con tre modalità di utilizzo: \begin{itemize} - \item \key{iupac}{auto}: se il comando \emph{non è definito} all'interno di un pacchetto o una classe in uso, è disponibile generalmente, altrimenti solo \emph{all'interno} di \cmd{iupac}. - \item \key{iupac}{restricted}: tutti i comandi di nomenclatura sono definiti \emph{solo} internamente a \cmd{iupac}. Sono disponibili esternamente solo se definiti da un'altro pacchetto. - \item \key{iupac}{strict}: \chemmacros sovrascrive ogni definizione preesistente e rende disponibili i comandi in tutto il documento. Possono essere ridefiniti (solo dopo a \lstinline=\begin{document}=). Mantengono il significato di nomenclatura all'interno di \cmd{iupac}. + \item \key{iupac}{auto}: se il comando \emph{non è definito} all'interno di un + pacchetto o una classe in uso è disponibile generalmente, altrimenti solo + \emph{all'interno} di \cmd{iupac}. + \item \key{iupac}{restricted}: tutti i comandi di nomenclatura sono definiti + \emph{solo internamente} a \cmd{iupac}. Sono disponibili esternamente solo se + definiti da un'altro pacchetto. + \item \key{iupac}{strict}: \chemmacros sovrascrive ogni definizione preesistente + e rende disponibili i comandi \emph{in tutto il documento}. Possono essere ridefiniti + (solo dopo \lstinline=\begin{document}=). Mantengono il significato di nomenclatura + all'interno di \cmd{iupac}. \end{itemize} -Nella tabella \ref{tab:iupac_modes} è dimostrato il funzionamento delle diverse modalità. +Nella tabella~\ref{tab:iupac_modes} è dimostrato il funzionamento delle diverse modalità. \begin{table}[h] \centering @@ -462,7 +712,9 @@ Nella tabella \ref{tab:iupac_modes} è dimostrato il funzionamento delle diverse \subsubsection{Comandi predefiniti}\secidx[predefiniti]{Nomi IUPAC}\secidx{Stereodescrittori e nomenclatura} \paragraph{Caratteri greci}\label{par:greek_letters}\secidx[caratteri greci]{Nomi IUPAC} -Le lettere greche all'interno dei nomi di composti sono in carattere tondo. Per realizzarlo sono impiegati i pacchetti \paket{upgreek} e \paket{textgreek}. Quando viene caricato uno dei due, sono scritti in tondo i seguenti caratteri: +Le lettere greche all'interno dei nomi di composti vanno scritte in carattere tondo; +per realizzarlo sono impiegati i pacchetti \paket{upgreek} e \paket{textgreek}. +Quando viene caricato uno dei due, vengono scritti in tondo i seguenti caratteri: \begin{beschreibung} \befehl{a} \iupac{\a} \befehl{b} \iupac{\b} @@ -478,8 +730,9 @@ Le lettere greche all'interno dei nomi di composti sono in carattere tondo. Per \iupac{\a\-(tri\|cloro\|metil)\-\w\-cloro\|poli(1,4\-fenilene\|metilene)} \end{beispiel} -\paragraph{Eteroatomi e idrogeno aggiunto}\secidx[Eteroatomi]{Nomi IUPAC} -I legami ad eteroatomi e gli idrogeni aggiunti sono rappresentati da caratteri corsivi \cite{iupac:greenbook}. \chemmacros definisce alcune abbreviazioni: +\paragraph{Eteroatomi e idrogeni aggiunti}\secidx[Eteroatomi]{Nomi IUPAC} +I legami agli eteroatomi e gli idrogeni aggiunti sono rappresentati da caratteri +corsivi \cite{iupac:greenbook}. \chemmacros definisce alcune abbreviazioni: \begin{beschreibung} \befehl{H} \iupac{\H} \befehl{O} \iupac{\O} @@ -493,20 +746,30 @@ I legami ad eteroatomi e gli idrogeni aggiunti sono rappresentati da caratteri c \iupac{\O\-ethyl hexanethioate} \end{beispiel} -\paragraph{Cahn-Ingold-Prelog}\index{Cahn-Ingold-Prelog}\secidx[Cahn-Ingold-Prelog]{Nomi IUPAC} +\paragraph{Cahn-Ingold-Prelog}\index{Cahn-Ingold-Prelog}\secidx[Cahn-Ingold-Prelog]{Nomi IUPAC}\label{par:cip} \begin{beschreibung} - \befehl{cip}{<conf>} \zB: \cmd{cip}{R,S} \cip{R,S} + \befehl{cip}{<conf>} \pes: \cmd{cip}{R,S} \cip{R,S} \befehl{R} \iupac{\R} \befehl{S} \iupac{\S} \end{beschreibung} -Dato che il comando \cmd{S} ha già un altro significato (\S) come impostazione di default è disponibile solo all'interno di \cmd{iupac}. +Dato che il comando \cmd{S} ha già un altro significato (\S) come impostazione di +default è disponibile solo all'interno di \cmd{iupac}. + +Sia i comandi che i descrittori \emph{entgegen}/\emph{zusammen} ricevono un po' di +kerning aggiuntivo dopo la parentesi chiusa. La sua quantità può essere variata +attraverso l'opzione seguente: +\begin{beschreibung} + \option[iupac]{cip-kern}{<dim>} ammontare del kerning dopo la parentesi chiusa. + Default = \code{.1ex} +\end{beschreibung} \paragraph{Fischer}\index{Fischer}\secidx[Fischer]{Nomi IUPAC} \begin{beschreibung} \befehl{D} \iupac{\D} \befehl{L} \iupac{\L} \end{beschreibung} -Dato che il comando \cmd{L} ha già un altro significato (\L) come impostazione di default è disponibile solo all'interno di \cmd{iupac}. +Dato che il comando \cmd{L} ha già un altro significato (\L) come impostazione di +default è disponibile solo all'interno di \cmd{iupac}. \paragraph{cis/trans, zusammen/entgegen, sin/anti \& tert}\index{tert}\secidx[tert]{Nomi IUPAC}\index{cis/trans}\secidx[cis/trans]{Nomi IUPAC}\index{zusammen/entgegen}\secidx[zusammen/entgegen]{Nomi IUPAC}\secidx[sin/anti]{Nomi IUPAC} \begin{beschreibung} @@ -518,7 +781,9 @@ Dato che il comando \cmd{L} ha già un altro significato (\L) come impostazione \befehl{anti} \anti \befehl{tert} \tert \end{beschreibung} -Anche il pacchetto \paket{cool} definisce i comandi \cmd{E} e \cmd{D}. Quando viene caricato, la versione di \chemmacros come impostazione predefinita è disponibile solo all'interno di \cmd{iupac}. +Anche il pacchetto \paket{cool} definisce i comandi \cmd{E} e \cmd{D}. Quando viene +caricato, come impostazione predefinita la loro versione in \chemmacros è disponibile +solo all'interno di \cmd{iupac}. \paragraph{orto/meta/para}\index{orto/meta/para}\secidx[orto/meta/para]{Nomi IUPAC} \begin{beschreibung} @@ -538,9 +803,9 @@ Esempi: \iupac{acido \D\-tartar\|ico} = \iupac{acido \cip{2S,3S}\-tartar\|ico} \\ \iupac{\D\-($-$)\-treosio} = - \iupac{\cip{2S,3R}\-($-$)\-2,3,4\-Tri\|idrossi\|butanale} \\ + \iupac{\cip{2S,3R}\-($-$)\-2,3,4\-tri\|idrossi\|butanale} \\ \iupac{\cis\-2\-butene} = - \iupac{\Z\-2\-butene}, \\ + \iupac{\Z\-2\-butene} \\ \iupac{\cip{2E,4Z}\-esa\|diene} \\ \iupac{\meta\-xilene} = \iupac{1,3\-di\|metil\|benzene} @@ -548,7 +813,8 @@ Esempi: \secidx*{Stereodescrittori e nomenclatura} \paragraph{Chimica di coordinazione} -\chemmacros mette a disposizione due comandi che possono essere utili in chimica di coordinazione: +\chemmacros mette a disposizione due comandi che possono essere utili in chimica +di coordinazione: \begin{beschreibung} \befehl{bridge}{<num>} \bridge{3} \befehl{hapto}{<num>} \hapto{5} @@ -560,8 +826,10 @@ Esempi: Sono disponibili due opzioni per l'adattamento: \begin{beschreibung} - \option[iupac]{bridge-number}{sub/super} appende il numero come apice o pedice. IUPAC consiglia l'uso del pedice \cite{iupac:redbook}. Default = \code{sub} - \option[iupac]{coord-use-hyphen}{\default{true}/false} appende un trattino a \cmd{hapto} e \cmd{bridge} quando \code{true}. Default = \code{true} + \option[iupac]{bridge-number}{sub|super} appende il numero come apice o pedice; + \ac{iupac} consiglia l'uso del pedice \cite{iupac:redbook}. Default = \code{sub} + \option[iupac]{coord-use-hyphen}{\default{true}|false} appende un trattino a + \cmd{hapto} e \cmd{bridge} quando vale \code{true}. Default = \code{true} \end{beschreibung} \subsubsection{Comandi di nomenclatura propri}\secidx[propri]{Nomi IUPAC} @@ -570,10 +838,14 @@ Se l'utente avesse bisogno di nuovi comandi è possibile definirli nel modo segu \Befehl{DeclareChemIUPAC}{<cmd>}\ma{<declaration>} \Befehl{RenewChemIUPAC}{<cmd>}\ma{<declaration>} \end{beschreibung} -Un comando definito in questa maniera obbedisce all'opzione \key[option]{iupac}. Eventuali comandi preesistenti vengono sostituiti solamente se è attiva l'opzione globale \key{iupac}{strict}. \cmd{DeclareChemIUPAC} \emph{non sostituisce} una definizione di un comando di nomenclatura preesistente, bensì restituisce un'avvertimento o un errore (in base all'opzione globale \key{strict}). +Un comando definito in questa maniera obbedisce all'opzione \key[option]{iupac}. +Eventuali comandi preesistenti vengono sostituiti solamente se è attiva l'opzione +globale \key{iupac}{strict}. \cmd{DeclareChemIUPAC} \emph{non sostituisce} la +definizione di un comando di nomenclatura preesistente, bensì restituisce +un'avvertimento o un errore (in base all'opzione globale \key{strict}). \begin{beispiel} \DeclareChemIUPAC\endo{\textit{endo}} - \DeclareChemIUPAC\anti{\textit{anti}} + \RenewChemIUPAC\anti{\textit{anti}} \iupac{(2\-\endo,7\-\anti)\-2\-bromo\-7\-fluoro\|bicyclo[2.2.1]heptane} \end{beispiel} @@ -586,14 +858,19 @@ Un comando definito in questa maniera obbedisce all'opzione \key[option]{iupac}. \secidx*{Nomi IUPAC} \subsection{Termini in latino}\secidx{Termini in latino} -Il pacchetto \paket{chemstyle} mette a disposizione il comando \cmd{latin}, per riportare termini latini comuni in modo consistente. \chemmacros definisce un comando \cmd{latin} analogo, ma solo se \paket{chemstyle} \emph{non} è caricato, e mette inoltre a disposizione i seguenti comandi: +Il pacchetto \paket{chemstyle} mette a disposizione il comando \cmd{latin} per +riportare termini latini comuni in modo consistente. \chemmacros definisce un +comando \cmd{latin} analogo solamente se \paket{chemstyle} \emph{non} è caricato; +mette inoltre a disposizione i seguenti comandi: \begin{beschreibung} \befehl{insitu} \insitu \befehl{abinitio} \abinitio \befehl{invacuo} \invacuo \end{beschreibung} -Nel caso sia caricato il pacchetto \paket{chemstyle}, i comandi sono stati già definiti con il suo comando \lstinline+\latin+. Il loro aspetto dipende quindi dall'opzione \code{abbremph} di \paket{chemstyle}: +Nel caso sia caricato il pacchetto \paket{chemstyle}, i comandi sono stati già +definiti con il suo comando \lstinline+\latin+; il loro aspetto dipende quindi +dall'opzione \code{abbremph} di \paket{chemstyle}: \begin{beispiel} \insitu, \abinitio\\ \cstsetup{abbremph=false} @@ -609,20 +886,28 @@ Le macro sono state definite con il comando seguente: \DeclareChemLatin\ltn{latin text} \ltn \cstsetup{abbremph=false} \ltn \end{beispiel} -Nel caso in cui \paket{chemstyle} \emph{non} sia stato caricato, è possibile cambiarne l'aspetto tramite l'opzione seguente: +Nel caso in cui \paket{chemstyle} \emph{non} sia stato caricato è possibile +cambiarne l'aspetto tramite l'opzione seguente: \begin{beschreibung} \option[latin]{format}{<definition>} Default = \lstinline+\itshape+ \end{beschreibung} \secidx*{Termini in latino} \section{Unità di misura per l'impiego con \textsf{siunitx}}\label{sec:einheiten}\secidx{Unità di misura}[Unita di misura] -In chimica sono largamente impiegate alcune unità non-SI. Il pacchetto \paket{siunitx} mette a disposizione il comando \lstinline+\DeclareSIUnit{<command>}{<unit>}+ per definire unità arbitrarie. \chemmacros impiega questo comando per definire le unità elencate in seguito. Come tutte le unità di misura di \paket{siunitx}, anche queste unità aggiuntive sono valide solamente all'interno di \lstinline+\SI{<num>}{<unit>}+ e \lstinline+\si{<unit>}+. +In chimica sono largamente impiegate alcune unità non-SI. Il pacchetto +\paket{siunitx} mette a disposizione il comando \lstinline+\DeclareSIUnit{<command>}{<unit>}+ +per definire unità arbitrarie, e \chemmacros impiega questo comando per definire +le unità elencate in seguito. Come tutte le unità di misura di \paket{siunitx}, +anche queste unità aggiuntive sono valide solamente all'interno di \lstinline+\SI{<num>}{<unit>}+ +e \lstinline+\si{<unit>}+. \begin{beschreibung} \befehl{atmosphere} \si{\atmosphere} \befehl{atm} \si{\atm} \befehl{calory} \si{\calory} \befehl{cal} \si{\cal} - \befehl{cmc} \si{\cmc} Le unità \cmd{cmc}, \cmd{molar} e \cmd{Molar} sono definite anche dal pacchetto \paket{chemstyle}. \chemmacros le definisce solo nel caso in cui \paket{chemstyle} non sia stato caricato. + \befehl{cmc} \si{\cmc} Le unità \cmd{cmc}, \cmd{molar} e \cmd{Molar} sono + definite anche dal pacchetto \paket{chemstyle}; \chemmacros le definisce solo + nel caso in cui \paket{chemstyle} non sia stato caricato. \befehl{molar} \si{\molar} \befehl{moLar} \si{\moLar} \befehl{Molar} \si{\Molar} @@ -631,11 +916,13 @@ In chimica sono largamente impiegate alcune unità non-SI. Il pacchetto \paket{s \befehl{torr} \si{\torr} \end{beschreibung} -Nota bene: \lstinline+\mmHg+ \si{\mmHg} è messo a disposizione da \paket{siunitx} e \paket{chemstyle}. +Nota bene: \lstinline+\mmHg+ \si{\mmHg} è messo a disposizione da \paket{siunitx} +e \paket{chemstyle}. \secidx*{Unità di misura}[Unita di misura] \section{Acidi/basi}\label{sec:saeure_base}\secidx{Acidi/basi} -È possibile una semplice rappresentazione di \pH, \pKa \ldots\ (il comando \cmd{pKa} dipende dall'opzione globale \key{language}). +È possibile rappresentare semplicemente \pH, \pKa \ldots\ (la resa dei comandi +\cmd{Ka} e \cmd{pKa} dipende dall'opzione globale \key{language}). \begin{beschreibung} \befehl{pH} \pH \befehl{pOH} \pOH @@ -644,21 +931,22 @@ Nota bene: \lstinline+\mmHg+ \si{\mmHg} è messo a disposizione da \paket{siunit \befehl{Kw} \Kw \befehl{pKa}[<num>] \cmd{pKa}: \pKa, \cmd{pKa}[1]: \pKa[1] \befehl{pKb}[<num>] \cmd{pKb}: \pKb, \cmd{pKb}[1]: \pKb[1] - \befehl{p}{<anything>} \zB: \cmd{p}{\cmd{Kw}} \p{\Kw} + \befehl{p}{<anything>} \pes: \cmd{p}{\cmd{Kw}} \p{\Kw} \end{beschreibung} \begin{beispiel} \Ka \Kb \pKa \pKa[1] \pKb \pKb[1] \end{beispiel} -\achtung{L'aspetto predefinito dei comandi di tipo \p{} è stato modificato per accogliere l'indicazione \IUPAC.} -\begin{zitat}[\IUPAC Green Book \cite[][p.\,103]{iupac:greenbook}] - The operator \p{} […] shall be printed in Roman type. +\achtung{L'aspetto predefinito dei comandi di tipo \p{} è stato modificato per +accogliere l'indicazione \ac{iupac}.} +\begin{zitat}[{\ac{iupac} Green Book {\cite[][p.\,103]{iupac:greenbook}}}] + The operator \p{} \textelp{} shall be printed in Roman type. \end{zitat} Esiste un'opzione che varia lo stile di rappresentazione di \p{}: \begin{beschreibung} - \option[acid-base]{p-style}{italics/slanted/upright} Default = \code{upright} + \option[acid-base]{p-style}{italics|slanted|upright} Default = \code{upright} \end{beschreibung} \begin{beispiel} \pH, \pKa @@ -670,10 +958,12 @@ Esiste un'opzione che varia lo stile di rappresentazione di \p{}: \secidx*{Acido/base} \section{Numeri di ossidazione, cariche reali e formali}\label{sec:ladungen} -\chemmacros distingue tra simboli di cariche reali ($+$/$-$) e formali (\fplus/\fminus), vedi anche il paragrafo \ref{sec:optionen}. Tutti i comandi che restituiscono cariche formali iniziano con la lettera \code{f}. +\chemmacros distingue tra simboli di cariche reali ($+$/$-$) e formali (\fplus/\fminus) +(vedi anche il paragrafo~\ref{sec:optionen}). Tutti i comandi che restituiscono +cariche formali iniziano con la lettera \code{f}. \subsection{Cariche ioniche}\label{ssec:ionen}\secidx{Cariche ioniche} -Impiego facile di cariche (reali): +Le cariche (reali) sono di facile impiego: \begin{beschreibung} \befehl{pch}[<number>] carica positiva (\textbf{p}lus + \textbf{ch}arge) \befehl{mch}[<number>] carica negativa (\textbf{m}inus + \textbf{ch}arge) @@ -696,10 +986,11 @@ Altrettanto vale per le cariche formali: Esiste un'opzione che influenza il comportamento delle cariche: \begin{beschreibung} - \option[charges]{append}{\default{true}/false} Quando è impostata a \code{true}, la carica viene appesa ad un gruppo vuoto. Default = \code{false} + \option[charges]{append}{\default{true}|false} Quando è impostata a \code{true}, + la carica viene appesa ad un gruppo vuoto. Default = \code{false} \end{beschreibung} -Questo ha le conseguenze seguenti: +Questo ha delle conseguenze: \begin{beispiel} % uses package `mhchem' \chemsetup{charges/append=false,phases/pos=sub} @@ -709,7 +1000,8 @@ Questo ha le conseguenze seguenti: \ce{H\pch\aq} \ce{H\aq\pch} \end{beispiel} -Nella maggior parte dei casi questo comportamento può essere indesiderato, anche se esistono occasioni dove può tornare utile: +Nella maggior parte dei casi questo comportamento può essere indesiderato, anche +se esistono delle occasioni dove può tornare utile: \begin{beispiel} \chemsetup{charges/append=false,phases/pos=sub} \ce{\ox{1,H}\pch\aq} @@ -722,7 +1014,8 @@ Nella maggior parte dei casi questo comportamento può essere indesiderato, anch \subsection{Numeri di ossidazione}\label{ssec:oxidationszahlen}\secidx{Numeri di ossidazione} Inserimento di numeri di ossidazione: \begin{beschreibung} - \befehl{ox}[<options>]{<number>,<atom>} inserisce \code{<number>} al di sopra di \code{<atom>}; \code{<number>} deve essere un numero (razionale)! + \befehl{ox}[<options>]{<number>,<atom>} inserisce \code{<number>} al di sopra di + \code{<atom>}; \code{<number>} deve essere un numero (razionale)! \end{beschreibung} \begin{beispiel} @@ -731,26 +1024,37 @@ Inserimento di numeri di ossidazione: Esiste una serie di opzioni con le quali è possibile adattare \cmd{ox}. \begin{beschreibung} - \option[ox]{parse}{\default{true}/false} Quando vale \code{false}, può essere inserito un valore qualunque per \code{<number>}. Default = \code{true} - \option[ox]{roman}{\default{true}/false} seleziona l'impiego di numeri romani o arabi. Default = \code{true} - \option[ox]{pos}{top/super/side}; \code{top} pone \code{<number>} al di sopra di \code{<atom>}, \code{super} come apice alla destra e \code{side} a destra tra parentesi. Default = \code{top} - \option[ox]{explicit-sign}{\default{true}/false} restituisce $+$ per numeri positivi e $\pm$ per $0$ aus. Default = \code{false} - \option[ox]{decimal-marker}{comma/point} Sceglie il tipo di segno decimale per i numeri di ossidazione \ox{1.2,X}. Default = \code{point} + \option[ox]{parse}{\default{true}|false} Quando vale \code{false}, può essere + inserito un contenuto qualunque per \code{<number>}. Default = \code{true} + \option[ox]{roman}{\default{true}|false} Seleziona l'impiego di numeri romani o + arabi. Default = \code{true} + \option[ox]{pos}{top|super|side} Varia la posizione del numero di ossidazione: + \code{top} pone \code{<number>} al di sopra di \code{<atom>}, \code{super} come + apice alla destra e \code{side} a destra tra parentesi. Default = \code{top} + \option[ox]{explicit-sign}{\default{true}|false} Restituisce $+$ per numeri positivi + e $\pm$ per $0$ aus. Default = \code{false} + \option[ox]{decimal-marker}{comma|point} Sceglie il tipo di segno decimale per + i numeri di ossidazione come \ox{1.2,X}. Default = \code{point} + \option[ox]{align}{center|right} Centra il numero di ossidazione sopra l'atomo + o lo giustifica a destra. Default = \code{center} \end{beschreibung} \begin{beispiel} \ox[roman=false]{2,Ca} \ox{2,Ca} \\ - \ox[pos=super]{3,Fe}-Oxid \\ - \ox[pos=side]{3,Fe}-Oxid \\ - \ox[parse=false]{?,Mn} + \ox[pos=super]{3,Fe}-oxide \\ + \ox[pos=side]{3,Fe}-oxide \\ + \ox[parse=false]{?,Mn} \\ + \ox[align=right]{2,Ca} \end{beispiel} -La variante \key[ox]{pos}{super} può essere selezionata anche tramite l'abbreviazione \cmd[oxa]{ox*}: +La variante \key[ox]{pos}{super} può essere selezionata anche tramite +l'abbreviazione \cmd[oxa]{ox*}: \begin{beispiel} \ox{3,Fe} \ox*{3,Fe} \end{beispiel} -Impiegando \key[ox]{explicit-sign} viene sempre mostrato il segno del numero di ossidazione: +Impiegando \key[ox]{explicit-sign} viene sempre indicato il segno del numero di +ossidazione: \begin{beispiel} \chemsetup[ox]{explicit-sign = true} \ox{+1,Na}, \ox{2,Ca}, \ox{-2,S}, \ch{"\ox{0,F}" {}2} @@ -760,12 +1064,14 @@ Impiegando \key[ox]{explicit-sign} viene sempre mostrato il segno del numero di Si confronti ad esempio \ox{-1,\ch{O2^2-}} con \ch{"\ox{-1,O}" {}2^2-} \end{beispiel} -Talvolta è necessario impiegare numeri d'ossidazione formali come \num{.5} oppure $\frac{1}{3}$: +Talvolta è necessario impiegare numeri d'ossidazione formali come \num{.5} oppure +$\frac{1}{3}$: \begin{beispiel} \ox{.5,\ch{Br2}} \ch{"\ox{1/3,I}" {}3+} \end{beispiel} -La frazione impiega il comando \lstinline+\sfrac+ del pacchetto \paket{xfrac}. A questo proposito è definita l'istanza \lstinline+chemmacros-ox-frac+. +La frazione impiega il comando \lstinline+\sfrac+ del pacchetto \paket{xfrac}. A +questo proposito è definita l'istanza \lstinline+chemmacros-ox-frac+. \begin{beispiel}[code only] \DeclareInstance{xfrac}{chemmacros-ox-frac}{text} { @@ -781,7 +1087,7 @@ Naturalmente può essere ridefinita a seconda dei propri gusti. \secidx*{Numeri di ossidazione} \subsection{Cariche parziali e simili}\label{ssec:partialladungen}\secidx{Cariche parziali} -Sono poco usati, ma possono risultare utili: +Sono poco usate, ma possono risultare utili: \begin{beschreibung} \befehl{delp} \delp\ (\textbf{del}ta + \textbf{p}lus) \befehl{delm} \delm\ (\textbf{del}ta + \textbf{m}inus) @@ -789,7 +1095,7 @@ Sono poco usati, ma possono risultare utili: \befehl{fdelm} \fdelm \end{beschreibung} -Un esempio con il comando \cmd{ox} oppure con il pacchetto \paket{chemfig}: +Segue un esempio con il comando \cmd{ox} oppure con il pacchetto \paket{chemfig}: \begin{beispiel} \chemsetup{ option/circled = all, @@ -799,7 +1105,7 @@ Un esempio con il comando \cmd{ox} oppure con il pacchetto \paket{chemfig}: \chemfig{\chemabove[3pt]{\lewis{246,Br}}{\delm}-\chemabove[3pt]{H}{\delp}} \end{beispiel} -Anche queste macro possono essere utilizzate con \paket{chemfig}. +Anche queste macro possono essere utilizzate comodamente con \paket{chemfig}. \begin{beschreibung} \befehl{scrp} \scrp\ (\textbf{scr}iptstyle + \textbf{p}lus) \befehl{scrm} \scrm\ (\textbf{scr}iptstyle + \textbf{m}inus) @@ -821,7 +1127,8 @@ Con il comando \begin{beschreibung} \Befehl{mech}[<type>] \end{beschreibung} -è possibile specificare i meccanismi di reazione più diffusi. \code{<type>} può assumere uno dei valori seguenti: +è possibile specificare i meccanismi di reazione più diffusi. \code{<type>} può +assumere uno dei valori seguenti: \begin{beschreibung} \befehl{mech} (vuoto, nessun argomento opzionale) sostituzione nucleofila \mech \befehl{mech}[1] sostituzione nucleofila unimolecolare \mech[1] @@ -833,27 +1140,38 @@ Con il comando \befehl{mech}[e] eliminazione \mech[e] \befehl{mech}[e1] eliminazione unimolecolare \mech[e1] \befehl{mech}[e2] eliminazione bimolecolare \mech[e2] - \befehl{mech}[cb] eliminazione unimolecolare \enquote{conjugated base}, cioè via carbanione \mech[cb] + \befehl{mech}[cb] eliminazione unimolecolare \enquote{conjugated base}, cioè via + carbanione \mech[cb] \end{beschreibung} \secidx*{Meccanismi di reazione} -\section{Reazioni redox}\label{sec:redoxreaktionen}\secidx{Reazioni redox}% TODO: watch pagebreaks! -\chemmacros mette a disposizione due comandi, con i quali può essere mostrato il trasferimento di elettroni nelle reazioni redox\footnote{Ringrazio \href{http://www.mathannotated.com/}{Peter Cao}, che ha proposto questa funzione.}. Entrambi i comandi utilizzano \TikZ. +\section{Reazioni redox}\label{sec:redoxreaktionen}\secidx{Reazioni redox} +\chemmacros mette a disposizione due comandi con cui mostrare il trasferimento +di elettroni nelle reazioni redox\footnote{Ringrazio~\href{http://www.mathannotated.com/}{Peter Cao}, +che ha proposto questa funzione.}. Entrambi i comandi utilizzano \TikZ. \begin{beschreibung} \Befehl{OX}{<name>,<atom>} - \Befehl{redox}(<name1>,<name2>)[<tikz>]\oa{<num>}\ma{<text>} \cnpkgdocarrow\ È necessario solamente il primo argomento\\\da{<name1>,<name2>}; gli altri due sono opzionali. + \Befehl{redox}(<name1>,<name2>)[<tikz>]\oa{<num>}\ma{<text>} \cnpkgdocarrow\ È + necessario solamente il primo argomento\\\da{<name1>,<name2>}; gli altri due + sono opzionali. \end{beschreibung} -\cmd{OX} pone \code{<atom>} in un nodo (un \enquote{Node}) dal nome \code{<name>}. Una volta impiegati due \cmd{OX}, questi possono essere collegati tramite \cmd{redox}. I nomi dei nodi da collegare vanno posti tra parentesi tonde. Dato che \cmd{redox} crea una Tikzpicture con le opzioni \code{remember picture,overlay}, il documento deve essere compilato \emph{almeno due volte}. +\cmd{OX} pone \code{<atom>} in un nodo (un \enquote{node}) dal nome \code{<name>}. +Una volta impiegati due \cmd{OX}, questi possono essere collegati tramite \cmd{redox}; +i nomi dei nodi da collegare vanno posti tra parentesi tonde. Dato che \cmd{redox} +crea una Tikzpicture con le opzioni \code{remember picture,overlay}, il documento +deve essere compilato \emph{almeno due volte}. \begin{beispiel}[dist] \OX{a,Na} $\rightarrow$ \OX{b,Na}\pch\redox(a,b){ossidazione} \end{beispiel} -Questa linea può essere adattata con chiavi \TikZ in \oa{<tikz>}: +Questa linea può essere adattata con chiavi \TikZ entro \oa{<tikz>}: \begin{beispiel}[dist] \OX{a,Na} $\rightarrow$ \OX{b,Na}\pch\redox(a,b)[->,red]{ox} \end{beispiel} -Con l'argomento \oa{<num>} può essere adattata la lunghezza delle linee verticali. L'impostazione predefinita vale \code{.6em}. Questa lunghezza viene moltiplicata per \code{<num>}. Un valore negativo pone la linea \emph{sotto} il testo. +Con l'argomento \oa{<num>} si può adattare la lunghezza delle linee verticali. +L'impostazione predefinita vale \code{.6em}, lunghezza che poi viene moltiplicata +per \code{<num>}. Un valore negativo pone la linea \emph{sotto} il testo. \begin{beispiel}[dist] \OX{a,Na} $\rightarrow$ \OX{b,Na}\pch \redox(a,b)[->,red]{ox} @@ -881,7 +1199,7 @@ permette di variare la distanza tra atomo e inizio della linea. \OX{a,Na} $\rightarrow$ \OX{b,Na}\pch\redox(a,b)[->,red]{ox} \end{beispiel} -Esempi:% TODO: watch pagebreaks! +Esempi: \begin{beispiel}[dist] \ch{ 2 "\OX{o1,Na}" + "\OX{r1,Cl}" {}2 -> 2 "\OX{o2,Na}" \pch{} + 2 "\OX{r2,Cl}" \mch } @@ -904,7 +1222,7 @@ Esempi:% TODO: watch pagebreaks! \redox(o1,o2)[draw=red,->][3.33]{\small OX: $- 2\el$} \redox(r1,r2)[draw=blue,->]{\small RED: $+ 2\el$} \end{beispiel} -\newpage + \bspmidlength{dist}{7mm} \begin{beispiel}[dist] \ch{ 2 "\OX{o1,\ox{0,Na}}" + "\OX{r1,\ox{0,Cl}}" {}2 -> 2 "\OX{o2,\ox{+1,Na}}" @@ -930,7 +1248,7 @@ Il loro utilizzo si spiega da sé: \Entropy{123} \\ \Gibbs{123} \end{beispiel} -L'argomento \da{<subscript>} inserisce un pedice descrittivo: \cmd{Enthalpy}(r){123} \Enthalpy(r){123}. +\da{<subscript>} aggiunge un pedice descrittivo: \cmd{Enthalpy}(r){123} \Enthalpy(r){123}. Questi comandi possono essere adattati tramite diverse opzioni: \begin{beschreibung} @@ -947,14 +1265,15 @@ Il valore predefinito dipende dal relativo comando: \Entropy[delta=\Delta,exponent=]{56.7} \end{beispiel} -Numero e unità vengono composti secondo le regole di \paket{siunitx}, e dipendono dalle sue impostazioni: +Numero e unità vengono composti secondo le regole di \paket{siunitx} e dipendono +dalle sue impostazioni: \begin{beispiel} \Enthalpy{-1234.56e3} \\ \sisetup{per-mode=symbol,exponent-product=\cdot,output-decimal-marker={,},group-four-digits=true} \Enthalpy{-1234.56e3} \end{beispiel} -\subsubsection{Definizione di nuove grandezze} +\subsubsection{Definire nuove grandezze} Con il comando \begin{beschreibung} \Befehl{DeclareChemState}[<options>]{<name>}\ma{<symbol>}\ma{<unit>} @@ -968,11 +1287,12 @@ Con il comando \ElPot[exponent=0]($\ch{Sn}|\ch{Sn^2+}||\ch{Pb^2+}|\ch{Pb}$){0.01} \end{beispiel} -Questo comando ha opzioni quasi identiche a quelle delle grandezze stesse, con le quali possono essere variate le impostazioni predefinite delle nuove grandezze. +Le opzioni di questo comando sono quasi identiche a quelle delle grandezze stesse, +con cui possono essere variate le impostazioni predefinite delle nuove grandezze. \begin{beschreibung} \Option*{exponent}{<anything>} - \Option*{delta}{<anything>/false} - \Option*{subscript-left}{true/false} + \Option*{delta}{<anything>|false} + \Option*{subscript-left}{\default{true}|false} \Option*{subscript}{<anything>} \end{beschreibung} @@ -989,7 +1309,8 @@ Con \end{beispiel} Il comando è analogo a \cmd{DeclareChemState}, cioè ha le stesse opzioni. -Sarebbe quindi possibile \textendash\ seguendo le convenzioni termodinamiche \textendash\ definire una grandezza molare ed una assoluta: +Sarebbe quindi facile -- seguendo le convenzioni termodinamiche -- definire una +grandezza molare ed una assoluta: \begin{beispiel} \DeclareChemState[exponent=]{enthalpy}{h}{\kilo\joule\per\mole}% molar \RenewChemState[exponent=]{Enthalpy}{H}{\kilo\joule}% absolute @@ -997,39 +1318,46 @@ Sarebbe quindi possibile \textendash\ seguendo le convenzioni termodinamiche \te \end{beispiel} \subsection{Grandezze di stato}\label{ssec:state} -I comandi presentati nel paragrafo \ref{ssec:siunitx} internamente impiegano il comando\footnote{Si faccia attenzione che \ma{<subscript>} è un argomento \emph{opzionale}.} +I comandi presentati nel paragrafo~\ref{ssec:siunitx} internamente impiegano il +comando\footnote{Nota bene: \ma{<subscript>} è un argomento \emph{opzionale}.} \begin{beschreibung} \Befehl{State}[<options>]{<symbol>}\ma{<subscript>} \end{beschreibung} -Questi può essere utilizzato per scrivere le grandezze senza valore e unità. +Questo comando può essere utilizzato per scrivere le grandezze prive di valore e +unità. Esempi: \begin{beispiel} \State{A}, \State{G}{f}, \State[subscript-left=false]{E}{\ch{Na}}, \State[exponent=\SI{1000}{\celsius}]{H} \end{beispiel} -Nuovamente ha opzioni (quasi) identiche: +Le sue opzioni sono (quasi) identiche a quelle viste in precedenza: \begin{beschreibung} - \item \key[state]{exponent}{<anything>} - \item \key[state]{subscript-left}{true/false} - \item \key[state]{delta}{<anything>/false} + \Option[state]{exponent}{<anything>} + \Option[state]{subscript-left}{true|false} + \Option[state]{delta}{<anything>|false} \end{beschreibung} \secidx*{Termodinamica} \section{Spettroscopia e valori sperimentali}\label{sec:spektroskopie}\secidx{Spettroscopia} \subsection{Il comando \code{\textbackslash\textcolor{code}{NMR}}} -Quando delle sostanze vengono analizzate per verificare se sono quello che si è previsto, spesso viene impiegata la spettroscopia NMR. I valori sperimentali sono riportati all'incirca così: +Quando delle sostanze vengono analizzate per verificare se sono quello che si è +previsto spesso si ricorre alla spettroscopia NMR. I valori sperimentali vengono +riportati all'incirca in questo modo: \begin{center} \NMR(400)[CDCl3] = \num{1.59} \end{center} -\chemmacros mette a disposizione un comando che semplifica questa stesura (impiega \paket{siunitx}). +\chemmacros mette a disposizione un comando che semplifica questa stesura (impiega +\paket{siunitx}). \begin{beschreibung} \Befehl{NMR}{<num>,<elem>}\da{<num>,<unit>}\oa{<solvent>} \Befehl{NMR*}{<num>,<elem>}\da{<num>,<unit>}\oa{<solvent>} \end{beschreibung} -\emph{Tutti} gli argomenti sono opzionali! Senza argomenti\footnote{Tutti gli argomenti possono essere combinati a piacimento. Il comando può essere impiegato anche in modo matematico.} si ottiene: +\emph{Tutti} gli argomenti sono opzionali! Senza argomenti\footnote{Tutti gli +argomenti possono essere combinati a piacimento. Il comando può essere impiegato +anche in modalità matematica.} si ottiene: \begin{beispiel} \NMR \\ \NMR* @@ -1048,7 +1376,8 @@ Anche munita della sua unità: \begin{beispiel} \NMR(4e8,\hertz) \end{beispiel} -Nota bene: le impostazioni del pacchetto \paket{siunitx} hanno effetto anche su questo comando: +Nota bene: le impostazioni del pacchetto \paket{siunitx} hanno effetto anche su +questo comando: \begin{beispiel} \sisetup{exponent-product=\cdot}\NMR(4e8,\hertz) \end{beispiel} @@ -1059,12 +1388,14 @@ Con il terzo argomento può essere indicato il solvente: \end{beispiel} \subsection{Abbreviazioni} -Dato che all'interno di un singolo documento alcuni nuclei possono essere necessari più di una volta, \chemmacros offre una possibilità di definire delle abbreviazioni. +Dato che all'interno di un singolo documento alcuni nuclei possono essere richiamati +più di una volta \chemmacros offre una possibilità di definire delle abbreviazioni. \begin{beschreibung} \Befehl{DeclareChemNMR}{<csname>}\ma{<num>,<atom>} \Befehl{RenewChemNMR}{<csname>}\ma{<num>,<atom>} \end{beschreibung} -Questo definisce un comando con gli stessi argomenti di \cmd{NMR} \emph{eccetto} \ma{<num>,<atom>}. +Questo definisce un comando con gli stessi argomenti di \cmd{NMR} \emph{eccetto} +\ma{<num>,<atom>}. \begin{beispiel} \DeclareChemNMR\HNMR{1,H}% \DeclareChemNMR\CNMR{13,C}% @@ -1073,39 +1404,58 @@ Questo definisce un comando con gli stessi argomenti di \cmd{NMR} \emph{eccetto} \end{beispiel} \subsection{Un ambiente per elencare valori sperimentali} -Per facilitare l'elenco di valori sperimentali, \chemmacros offre un ambiente dedicato. +\chemmacros offre un ambiente dedicato per facilitare l'elenco di valori sperimentali. \begin{beschreibung}\catcode`\#=11 - \umg{experimental}{Dati} Ambiente per la stesura di dati sperimentali. All'interno di questo ambiente sono definiti i comandi seguenti. - \Befehl{data}{<tipo>}\oa{<specifiche>} \cnpkgdocarrow\ Tipo dei dati, p.es.\ IR, MS\ldots\ Nell'argomento opzionale possono essere inserite specifiche ulteriori che vengono stampate in parentesi tonde. - \Befehl{data*}{<tipo>}\oa{<specifiche>} \cnpkgdocarrow\ Come \cmd{data}, ma restituisce \code{:} anziché \code{=}, se è impostato \key{use-equal}{false}. - \befehl{J}[<unit>]{<list of nums>} Costante di accoppiamento; i valori sono inseriti separati da \code{;}. Per NMR. - \befehl{#}{<num>} Numero di nuclei. Per NMR. - \befehl{pos}{<num>} Posizione/numero del nucleo. Per NMR. - \befehl{val}{<num>} Valore numerico, un alias per \lstinline+\num{<num>}+ di \paket*{siunitx} - \befehl{val}{<num1>-{}-<num2>} Un alias per \lstinline+\numrange{<num1>}{<num2>}+ di \paket*{siunitx} + \umg{experimental}{Dati} Ambiente per l'elenco di dati sperimentali. All'interno + di questo ambiente sono definiti i comandi seguenti: + \Befehl{data}{<tipo>}\oa{<specifiche>} \cnpkgdocarrow\ Tipo dei dati, \pes IR, + MS\ldots\ Nell'argomento opzionale possono essere inserite specifiche ulteriori + che vengono stampate in parentesi tonde. + \Befehl{data*}{<tipo>}\oa{<specifiche>} \cnpkgdocarrow\ Come \cmd{data}, ma + restituisce \code{=} anziché \code{:} se vale \key{use-equal}{true}. + \Befehl{NMR}{<num>,<elem>\oa{<coupling core>}}\da{<num>,<unit>}\oa{<solvent>} + \cnpkgdocarrow\ questo comando prende un argomento aggiuntivo: + \cmd{NMR}{13,C[\textasciicircum 1H]} \NMR{13,C[^1H]} + \Befehl{J}\da{<bonds>;<nuclei>}\oa{<unit>}\ma{<list of nums>} \cnpkgdocarrow\ + Costante di accoppiamento (NMR) con il separatore \code{;} tra i valori. + L'argomento \da{<bonds>;<nuclei>} è opzionale e permette di specificare + ulteriormente l'accoppiamento. + \befehl{#}{<num>} Numero di nuclei (NMR). + \befehl{pos}{<num>} Posizione/numero del nucleo (NMR). + \befehl{val}{<num>} Valore numerico, un alias per \lstinline+\num{<num>}+ di + \paket*{siunitx}. + \befehl{val}{<num1>-{}-<num2>} Un alias per \lstinline+\numrange{<num1>}{<num2>}+ + di \paket*{siunitx}. \end{beschreibung} \begin{beispiel} \begin{experimental} - \data{tipo1} dati. - \data{tipo2}[specifiche] altri dati. - \data*{tipo3} ulteriori dati. + \data{TIPO1} dati. + \data{TIPO2}[specifiche] altri dati. + \data*{TIPO3} ulteriori dati. \end{experimental} \end{beispiel} \subsection{Personalizzazione} -L'output dell'ambiente e dei comandi NMR può essere adattato con una serie di opzioni. Per ragioni storiche appartengono al modulo \textcolor{module}{\code{nmr}}. +L'output dell'ambiente e dei comandi NMR può essere adattato con una serie di +opzioni; per ragioni storiche appartengono al modulo \textcolor{module}{\code{nmr}}. \begin{beschreibung} \option[nmr]{unit}{<unit>} Default = \lstinline=\mega\hertz= \option[nmr]{nucleus}{\{<num>,<atom>\}} Default = \ma{1,H} - \option[nmr]{format}{<commands>} ad esempio \lstinline=\bfseries= - \option[nmr]{pos-number}{side/sub} posizione del numero vicino all'atomo. Default = \code{side} - \option[nmr]{coupling-unit}{<unit>} Un'unità di \paket{siunitx}. Default = \lstinline=\hertz= - \option[nmr]{parse}{true/false} Trattare il solvente come formula di \paket{mhchem}/\chemformula o meno. Default = \code{true} + \option[nmr]{format}{<commands>} Formato delle specifiche dei dati, ad esempio + \lstinline=\bfseries=. + \option[nmr]{pos-number}{side|sub} Posizione del numero vicino all'atomo. + Default = \code{side} + \option[nmr]{coupling-unit}{<unit>} Un'unità di \paket{siunitx}. Default = + \lstinline=\hertz= + \option[nmr]{parse}{\default{true}|false} Tratta il solvente come formula di + \paket{mhchem}/\chemformula. Default = \code{true} \option[nmr]{delta}{<token>} I \code{<token>} vengono inseriti dopo $\delta$. - \option[nmr]{list}{true/false} L'ambiente \env{nmr}[<optionen>]{} viene formattato come lista. Default = \code{false} - \option[nmr]{list-setup}{<setup>} Setup della lista. Default = vedi in basso. - \option[nmr]{use-equal}{\default{true}/false} Inserire segno di uguale dopo \cmd{NMR} e \cmd{data}. Default = \code{false} + \option[nmr]{list}{true|false} L'ambiente \env{nmr}[<options>]{} viene formattato + come lista. Default = \code{false} + \option[nmr]{list-setup}{<setup>} Setup della lista. Default = vedi in basso. + \option[nmr]{use-equal}{\default{true}|false} Inserisce un segno di uguale dopo + \cmd{NMR} e \cmd{data}. Default = \code{false} \end{beschreibung} Il setup di default della lista: @@ -1117,31 +1467,34 @@ Il setup di default della lista: \begin{beispiel} \begin{experimental}[format=\bfseries] - \data{tipo1} dati. - \data{tipo2}[specifiche] altri dati. - \data*{tipo3} ulteriori dati. + \data{TIPO1} dati. + \data{TIPO2}[specifiche] altri dati. + \data*{TIPO3} ulteriori dati. \end{experimental} \end{beispiel} -Il comando \cmd{NMR} e tutti i comandi definiti con \cmd{DeclareChemNMR} possono essere impiegati al posto di \cmd{data} per dati NMR. +Il comando \cmd{NMR} e tutti i comandi definiti con \cmd{DeclareChemNMR} possono +essere impiegati al posto di \cmd{data} per dati NMR. \begin{beispiel} \begin{experimental}[format=\bfseries,use-equal] - \data{tipo1} dati. - \data{tipo2}[specifiche] altri dati. + \data{TIPO1} dati. + \data{TIPO2}[specifiche] altri dati. \NMR ulteriori dati. \end{experimental} \end{beispiel} \subsection{Esempio di applicazione} -Il codice seguente è riportato in diverse versioni a seconda della selezione delle \code{<opzioni>}. Ovviamente le opzioni possono essere impostate anche globalmente con \cmd{chemsetup}. +Il codice seguente è riportato in diverse versioni a seconda della selezione delle +\code{<opzioni>}. Ovviamente le opzioni possono essere impostate anche globalmente +con \cmd{chemsetup}. -\begin{lstlisting} +\begin{beispiel}[code only] \sisetup{separate-uncertainty,per-mode=symbol,detect-all,range-phrase=--} \begin{experimental}[<opzioni>] \data*{Resa} \SI{17}{\milli\gram} aghi gialli (\SI{0.04}{\milli\mole}, \SI{13}{\percent}). % - \data{Smp.} \SI{277}{\celsius} (DSC). + \data{P.f.} \SI{277}{\celsius} (DSC). % \NMR(600)[CDCl3] \val{2.01} (s, \#{24}, \pos{5}), \val{2.31} (s, \#{12}, \pos{1}), \val{6.72--6.74} (m, \#{2}, \pos{11}), \val{6.82} (s, \#{8}, \pos{3}), \val{7.05--7.07} (m, \#{2}, \pos{12}), \val{7.39--7.41} (m, \#{4}, \pos{9}), \val{7.48--7.49} (m, \#{4}, \pos{8}). % @@ -1157,7 +1510,7 @@ Il codice seguente è riportato in diverse versioni a seconda della selezione de % \data*{Resa quantica} $\Phi = \val{0.74+-0.1}$\,. \end{experimental} -\end{lstlisting} +\end{beispiel} \subsubsection{Quasi standard} Output per \lstinline+<opzioni>: delta=(ppm),pos-number=sub,use-equal+: @@ -1166,7 +1519,7 @@ Output per \lstinline+<opzioni>: delta=(ppm),pos-number=sub,use-equal+: \begin{experimental}[delta=(ppm),pos-number=sub,use-equal]\sisetup{separate-uncertainty,per-mode=symbol,detect-all,range-phrase=--}\chemsetup[chemformula]{format=} \data*{Resa} \SI{17}{\milli\gram} aghi gialli (\SI{0.04}{\milli\mole}, \SI{13}{\percent}). % - \data{Smp.} \SI{277}{\celsius} (DSC). + \data{P.f.} \SI{277}{\celsius} (DSC). % \NMR(600)[CDCl3] \val{2.01} (s, \#{24}, \pos{5}), \val{2.31} (s, \#{12}, \pos{1}), \val{6.72--6.74} (m, \#{2}, \pos{11}), \val{6.82} (s, \#{8}, \pos{3}), \val{7.05--7.07} (m, \#{2}, \pos{12}), \val{7.39--7.41} (m, \#{4}, \pos{9}), \val{7.48--7.49} (m, \#{4}, \pos{8}). % @@ -1184,13 +1537,13 @@ Output per \lstinline+<opzioni>: delta=(ppm),pos-number=sub,use-equal+: \end{experimental} \subsubsection{Lista formattata} -Output per \lstinline+<opzioni>: format=\bfseries,delta=(ppm),list=true,use-equal+: +Output per le seguenti \lstinline+<opzioni>: format=\bfseries,delta=(ppm),list=true,use-equal+: \bigskip \begin{experimental}[format=\bfseries,delta=(ppm),list=true,use-equal]\sisetup{separate-uncertainty,per-mode=symbol,detect-all,range-phrase=--}\chemsetup[chemformula]{format=} \data*{Resa} \SI{17}{\milli\gram} aghi gialli (\SI{0.04}{\milli\mole}, \SI{13}{\percent}). % - \data{Smp.} \SI{277}{\celsius} (DSC). + \data{P.f.} \SI{277}{\celsius} (DSC). % \NMR(600)[CDCl3] \val{2.01} (s, \#{24}, \pos{5}), \val{2.31} (s, \#{12}, \pos{1}), \val{6.72--6.74} (m, \#{2}, \pos{11}), \val{6.82} (s, \#{8}, \pos{3}), \val{7.05--7.07} (m, \#{2}, \pos{12}), \val{7.39--7.41} (m, \#{4}, \pos{9}), \val{7.48--7.49} (m, \#{4}, \pos{8}). % @@ -1228,7 +1581,7 @@ Output per \code{<opzioni>}: list-setup=,use-equal]\sisetup{separate-uncertainty,per-mode=symbol,detect-all,range-phrase=--}\chemsetup[chemformula]{format=} \data*{Resa} \SI{17}{\milli\gram} aghi gialli (\SI{0.04}{\milli\mole}, \SI{13}{\percent}). % - \data{Smp.} \SI{277}{\celsius} (DSC). + \data{P.f.} \SI{277}{\celsius} (DSC). % \NMR(600)[CDCl3] \val{2.01} (s, \#{24}, \pos{5}), \val{2.31} (s, \#{12}, \pos{1}), \val{6.72--6.74} (m, \#{2}, \pos{11}), \val{6.82} (s, \#{8}, \pos{3}), \val{7.05--7.07} (m, \#{2}, \pos{12}), \val{7.39--7.41} (m, \#{4}, \pos{9}), \val{7.48--7.49} (m, \#{4}, \pos{8}). % @@ -1247,9 +1600,13 @@ Output per \code{<opzioni>}: \secidx*{Spettroscopia} \section{Comandi per \textsf{mhchem}}\label{sec:mhchem}\secidx{Comandi per \textsf{mhchem}}[Comandi per mhchem] -\paket{mhchem} non viene più caricato automaticamente, bensì solamente utilizzando l'opzione \key[option]{method}{mhchem} nel preambolo. Per impostazione predefinita \chemmacros utilizza invece \chemformula. +\paket{mhchem} non viene più caricato automaticamente da \chemmacros bensì solamente +nel caso in cui si utilizzi nel preambolo l'opzione \key[option]{method}{mhchem}; +predefinitamente si utilizza invece \chemformula. -\chemmacros mette a disposizione solo un unico comando speciale per \paket{mhchem}\footnote{\chemformula ha una possibilità diversa per ottenere lo stesso risultato.}. Questo permette di inserire del testo al di sotto di una formula. +\chemmacros mette a disposizione solo un unico comando speciale per \paket{mhchem}% +\footnote{\chemformula ha una possibilità diversa per ottenere lo stesso risultato.} +che permette di inserire del testo al di sotto di una formula. \begin{beschreibung} \Befehl{mhName}[<options>]{<formula>}\ma{<text>} \end{beschreibung} @@ -1259,12 +1616,15 @@ Per esempio: \ce{4 C2H5Cl + Pb / Na -> \mhName{Pb(C2H5)4}{former antiknock additive} + NaCl} \end{beispiel} -Con le opzioni seguenti può essere adattato \cmd{mhName}: +\cmd{mhName} può essere adattato con le opzioni seguenti: \begin{beschreibung} - \option[mhName]{align}{<alignment command>} L'orientamento del testo all'interno del box in cui viene scritto. Default = \lstinline+\centering+ + \option[mhName]{align}{<alignment command>} L'orientamento del testo all'interno + del box in cui viene scritto. Default = \lstinline+\centering+ \option[mhName]{format}{<anything>} Il formato del testo. - \option[mhName]{fontsize}{<font size command>} La dimensione del testo. Default = \lstinline+\tiny+ - \option[mhName]{width}{<dim>/auto} La larghezza del box all'interno di cui viene scritto il testo. Default = \code{auto} + \option[mhName]{fontsize}{<font size command>} Il corpo del testo. Default = + \lstinline+\tiny+ + \option[mhName]{width}{<dim>|auto} La larghezza del box all'interno di cui viene + scritto il testo. Default = \code{auto} \end{beschreibung} \begin{beispiel} \ce{4 C2H5Cl + Pb / Na -> \mhName[fontsize=\footnotesize]{Pb(C2H5)4}{former antiknock additive} + NaCl}\\ @@ -1286,9 +1646,12 @@ Sono disponibili i seguenti ambienti per reazioni numerate\ldots \Umg{reaction*}{<formula or mhchem code>} \Umg{reactions*}{<formula or mhchem code>} \end{beschreibung} -In questo modo è possibile inserire reazioni (non) numerate in modo analogo alle equazioni matematiche. +In questo modo è possibile inserire reazioni (non) numerate in modo analogo alle +equazioni matematiche. -Per rappresentare le reazioni gli ambienti \code{reaction}/\code{reaction*} internamente utilizzano ambienti \code{equation}/\code{equation*}, e gli ambienti \code{reactions}/\code{reactions*} utilizzano gli ambienti \code{align}/\code{align*}. +Per rappresentare le reazioni gli ambienti \code{reaction}/\code{reaction*} internamente +utilizzano ambienti \code{equation}/\code{equation*}, e gli ambienti +\code{reactions}/\code{reactions*} utilizzano gli ambienti \code{align}/\code{align*}. \begin{beispiel} reazione con contatore: @@ -1322,7 +1685,8 @@ Per rappresentare le reazioni gli ambienti \code{reaction}/\code{reaction*} inte Quando si desidera cambiare il formato dell'etichetta, è possibile usare \begin{beschreibung} - \Befehl{renewtagform}{<tagname>}\oa{<format>}\ma{<right delim>}\ma{<left delim>}\footnote{Messo a disposizione dal pacchetto \paket*{mathtools}.}. + \Befehl{renewtagform}{<tagname>}\oa{<format>}\ma{<right delim>}\ma{<left delim>}% + \footnote{Messo a disposizione dal pacchetto \paket*{mathtools}.}. \end{beschreibung} \begin{beispiel} @@ -1332,43 +1696,54 @@ Quando si desidera cambiare il formato dell'etichetta, è possibile usare \end{reaction} \end{beispiel} -Dalla versione 3.3 i riferimenti incrociati e l'\cmd{intertext} di \AmS math funzionano come ci si aspetta: +Dalla versione 3.3 i riferimenti incrociati e il comando \cmd{intertext} di \AmS math +funzionano come previsto: \begin{beispiel} \begin{reactions} A + 2 B &-> 3 C + D \label{rxn:test} \intertext{Un po' di testo tra due reazioni allineate.} 3 E + F &<=> G + 1/2 H \end{reactions} - Vedi reazione \ref{rxn:test}. + Vedi reazione~\ref{rxn:test}. \end{beispiel} -\achtung{Nell'impostazione predefinita, cioè con \key{method}{chemformula}, è sconsigliato utilizzare \cmd{mch} e i comandi simili all'interno degli ambienti \code{reaction}. Nella maggior parte dei casi scombinano l'allineamento corretto. Nell'impostazione predefinita le cariche riconoscono automaticamente l'impostazione dell'opzione \key{circled} all'interno degli ambienti, in modo che i comandi non sono nemmeno necessari.} +\achtung{Nell'impostazione predefinita, cioè con \key{method}{chemformula}, è +sconsigliato utilizzare \cmd{mch} e simili all'interno degli ambienti +\code{reaction}: nella maggior parte dei casi scombinano l'allineamento corretto. +Come impostazione predefinita le cariche riconoscono automaticamente l'impostazione +dell'opzione \key{circled} all'interno degli ambienti, in modo che i comandi non +siano nemmeno necessari.} \subsection{Reazioni proprie} Attraverso il comando \begin{beschreibung} \Befehl{DeclareChemReaction}[<options>]{<name>}\ma{<math name>} \end{beschreibung} -è possibile definire nuovi ambienti di reazione. +è possibile definire nuovi ambienti di reazione: \code{<name>} sarà il nome del +nuovo ambiente; \code{<math name>} è il tipo di ambiente matematico impiegato. -\code{<name>} sarà il nome del nuovo ambiente. \code{<math name>} è il tipo di ambiente matematico impiegato. - -Il comando ha due opzioni. +Il comando ha due opzioni: \begin{beschreibung} - \Option*{star}{\default{true}/false} - \Option*{arg}{\default{true}/false} + \Option*{star}{\default{true}|false} + \Option*{arg}{\default{true}|false} \end{beschreibung} -La prima opzione è \key*{star}, che definisce anche la variante asteriscata, ammesso che esista l'equivalente ambiente matematico. In caso contrario restituirà un errore. +La prima opzione è \key*{star}, che definisce anche la variante asteriscata, +ammesso che esista l'equivalente ambiente matematico; in caso contrario restituirà +un errore. -La seconda opzione è \key*{arg}, che viene impiegata per definire un ambiente con un argomento obbligatorio. Anche in questo caso l'opzione è valida solamente se anche l'ambiente matematico corrispondente ha un argomento obbligatorio. +La seconda opzione è \key*{arg}, che viene impiegata per definire un ambiente con +un argomento obbligatorio. Anche in questo caso l'opzione è valida solamente se +anche l'ambiente matematico corrispondente ha un argomento obbligatorio. -Gli ambienti predefiniti sono stati definiti attraverso +Gli ambienti predefiniti sono stati definiti tramite \begin{beschreibung} \Befehl{DeclareChemReaction}[star]{reaction}\ma{equation} und \Befehl{DeclareChemReaction}[star]{reactions}\ma{align}. \end{beschreibung} -Ammettiamo che l'utente voglia definire un ambiente con il comportamento dell'ambiente \code{alignat} per reazioni di \chemformula-/\paket{mhchem}. È possibile fare il seguente: +Ammettiamo che l'utente voglia definire un ambiente con il comportamento dell'ambiente +\code{alignat} per reazioni di \chemformula/\paket{mhchem}. È possibile fare il +seguente: \begin{beispiel}[code only] \DeclareChemReaction[star,arg]{reactionsat}{alignat} \end{beispiel} @@ -1387,7 +1762,8 @@ In questo modo si è definito l'ambiente \code{reactionsat}. \end{beispiel} \subsection{Lista delle reazioni} -\chemmacros mette a disposizione un comando per elencare le reazioni inserite attraverso ambienti di reazione. +\chemmacros mette a disposizione un comando per elencare le reazioni inserite negli +ambienti di reazione. \begin{beschreibung} \Befehl{listofreactions} \end{beschreibung} @@ -1397,20 +1773,26 @@ In questo modo si è definito l'ambiente \code{reactionsat}. L'output può essere adattato con le opzioni seguenti: \begin{beschreibung} - \option[reaction]{list-name}{<name of the list>} Imposta il titolo della lista. Default = \code{Reaktionsverzeichnis} - \option[reaction]{list-entry}{<prefix to each entry>} Prefisso di ogni voce. Default = \code{reazione} + \option[reaction]{list-name}{<name of the list>} Imposta il titolo della lista. + Default = \code{List of reactions} + \option[reaction]{list-entry}{<prefix to each entry>} Prefisso di ogni voce. + Default = \code{Reaction} \end{beschreibung} -Entrambi i valori predefiniti reagiscono all'opzione di lingua \key[option]{german}. - -Un'alternativa all'impostazione dell'opzione \key{list-name} è di ridefinire \cmd{reactionlistname}. +Entrambi i valori predefiniti reagiscono all'opzione di lingua \key[option]{italian}, +variando rispettivamente a \enquote{Elenco delle reazioni} e \enquote{Reazione}. +Un'alternativa all'impostazione dell'opzione \key{list-name} è di ridefinire +\cmd{reactionlistname}. -Nell'elenco vengono elencate esclusivamente tutte le reazioni numerate. Tutte le reazioni non asteriscate hanno un argomento opzionale, attraverso il quale è possibile aggiungere una descrizione della reazione nell'elenco. +Nell'elenco vengono elencate esclusivamente tutte le reazioni numerate. Tutte le +reazioni non asteriscate hanno un argomento opzionale, attraverso il quale è +possibile aggiungere una descrizione della reazione nell'elenco. \begin{beispiel} \begin{reaction}[Autoprotolisi] 2 H2O <<=> H3O+ + OH- \end{reaction} \end{beispiel} -Questo non funzionerà quando viene impiegato l'ambiente \code{reactions}. In questo caso è possibile utilizare +Questo non funzionerà quando viene impiegato l'ambiente \code{reactions}. In +questo caso è possibile ricorrere a \begin{beschreibung} \Befehl{AddRxnDesc}{<description>} \end{beschreibung} @@ -1421,11 +1803,12 @@ Questo non funzionerà quando viene impiegato l'ambiente \code{reactions}. In qu "\Lewis{4.,\vphantom{CH}}" CH3 + Cl2 &-> CH3Cl + Cl "\Lewis{0.,\vphantom{Cl}}" \AddRxnDesc{second~step~of~chain} \end{reactions} \end{beispiel} -Nota: non è necessario impiegare i comandi \enquote{phantom}, se il formato degli atomi non è stato variato, vedi il paragrafo \ref{sec:format} a pagina \pageref{sec:format}. +Nota bene: non è necessario impiegare i comandi \enquote{phantom}, se il formato +degli atomi non è stato variato (vedi il paragrafo~\ref{sec:format} a pagina~\pageref{sec:format}). \secidx*{Ambienti di reazione} \section{Fasi}\label{sec:phasen}\secidx{Fasi} -\subsection{Basi}\secidx[Basi]{Fasi} +\subsection{Principi}\secidx[Principi]{Fasi} Questi comandi sono pensati per indicare la fase di una sostanza. \begin{beschreibung} \befehl{sld} \sld @@ -1434,25 +1817,33 @@ Questi comandi sono pensati per indicare la fase di una sostanza. \befehl{aq} \aq \end{beschreibung} -\achtung{Il comportamento predefinito dei comandi di fase è variato per seguire le raccomandazioni \IUPAC. Sia \cmd{sld} che \cmd{lqd} non hanno più nessun argomento opzionale.} +\achtung{Il comportamento predefinito dei comandi di fase è variato per seguire +le raccomandazioni \ac{iupac}. Sia \cmd{sld} che \cmd{lqd} non hanno più nessun +argomento opzionale.} \begin{beispiel} \ch{C\sld{} + 2 H2O\lqd{} -> CO2\gas{} + 2 H2\gas}\\ per completezza: NaCl\aq. \end{beispiel} -Con l'opzione \key{language}{english} (vedi il paragrafo \ref{sec:optionen}) si ottengono le versioni in inglese. +% Con l'opzione \key{language}{german} (vedi il paragrafo~\ref{sec:optionen}) si ottengono le versioni in tedesco. % IST SCHON ÜBERSETZT, WÜRDE ICH ABER VORERST WEGLASSEN. -Jonas -La raccomandazione \IUPAC\footnote{Ringrazio Paul King del suggerimento.} per indicare uno stato di aggregazione è di porlo tra parentesi dopo la formula \cite{iupac:greenbook}. Tuttavia è molto diffusa l'indicazione in pedice. +La raccomandazione \ac{iupac}\footnote{Ringrazio Paul King del suggerimento.} per +indicare uno stato di aggregazione è di porlo tra parentesi dopo la formula~\cite{iupac:greenbook}; +è tuttavia molto diffusa anche l'indicazione in pedice. -\begin{zitat}[{\IUPAC Green Book \cite[][p.\,54]{iupac:greenbook}}] - The [\ldots] symbols are used to represent the states of aggregation of chemical species. The letters are appended to the formula in parentheses and should be printed in Roman (upright) type without a full stop (period). +\begin{zitat}[{\ac{iupac} Green Book {\cite[][p.\,54]{iupac:greenbook}}}] + The \textelp{} symbols are used to represent the states of aggregation of chemica + species. The letters are appended to the formula in parentheses and should be + printed in Roman (upright) type without a full stop (period). \end{zitat} Vi sono due opzioni per adattare l'output: \begin{beschreibung} - \option[phases]{pos}{side/sub} Cambia la posizione dell'indicatore di fase. Default = \code{side} - \option[phases]{space}{<dim>} Varia l'interspazio tra formula e indicatore di fase per \key{pos}{side}. Una grandezza di \TeX. Default = \code{.1333em} + \option[phases]{pos}{side|sub} Cambia la posizione dell'indicatore di fase. + Default = \code{side} + \option[phases]{space}{<dim>} Varia l'interspazio tra formula e indicatore di fase + per \key{pos}{side}. Una grandezza di \TeX. Default = \code{.1333em} \end{beschreibung} \begin{beispiel} \chemsetup[phases]{pos=sub} @@ -1461,13 +1852,17 @@ Vi sono due opzioni per adattare l'output: \end{beispiel} \subsection{Definire fasi proprie}\secidx[proprie]{Fasi} -Dipendentemente dall'argomento del documento può essere necessario indicare ulteriori stati di aggregazione; questi possono essere definiti convenientemente: +In base al argomento del testo può essere necessario indicare ulteriori stati di +aggregazione; questi possono essere definiti convenientemente attraverso: \begin{beschreibung} \Befehl{DeclareChemPhase}{<cmd>}\oa{<german>}\ma{<english>} \Befehl{RenewChemPhase}{<cmd>}\oa{<german>}\ma{<english>} \befehl{phase}{<phase>} Quando è necessario impiegare la fase solo poche volte. \end{beschreibung} -\cmd{DeclareChemPhase} definisce la fase solamente se \code{<cmd>} non esiste ancora. Altrimenti \chemmacros dà un avvertimento o un errore, dipendentemente dall'opzione \key{strict}. \cmd{RenewChemParticle} definisce una fase \emph{solamente} se \code{<cmd>} esiste di già, e dà un avvertimento/un errore in caso opposto. +\cmd{DeclareChemPhase} definisce la fase solamente se \code{<cmd>} non esiste ancora; +altrimenti \chemmacros dà un avvertimento o un errore, dipendentemente dall'opzione +\key{strict}. \cmd{RenewChemParticle} definisce una fase \emph{solamente} se \code{<cmd>} +esiste già, e dà un avvertimento/un errore in caso opposto. \begin{beispiel} \DeclareChemPhase{\aqi}{aq,$\infty$}% aqueous solution at infinite dilution \DeclareChemPhase{\cd}{cd}% condensed phase @@ -1483,18 +1878,21 @@ Dipendentemente dall'argomento del documento può essere necessario indicare ult \begin{beschreibung} \Befehl{newman}[<options>]\da{<angle>}\ma{<1>,<2>,<3>,<4>,<5>,<6>} \end{beschreibung} -che permette di rappresentare proiezioni di Newman (impiega \TikZ). L'argomento \da{<angle>} gira gli atomi posteriori in senso antiorario rispetto agli atomi anteriori. +che permette di rappresentare le proiezioni di Newman (impiega \TikZ). L'argomento +\da{<angle>} gira gli atomi posteriori in senso antiorario rispetto agli atomi +anteriori. \begin{beispiel} \newman{} \newman(170){} \newman{1,2,3,4,5,6} \newman{1,2,3} \newman{,,,4,5,6} \end{beispiel} -Sono disponibili diverse opzioni per adattare il comando: +Sono disponibili alcune opzioni per adattare il comando: \begin{beschreibung} - \option[newman]{angle}{<angle>} Angolo predefinito. Default = \code{0} + \option[newman]{angle}{<angle>} Angolo predefinito (in gradi). Default = \code{0} \option[newman]{scale}{<factor>} Scala l'intera proiezione. Default = \code{1} \option[newman]{ring}{<tikz>} Adatta l'aspetto dell'anello con chiavi di \TikZ. - \option[newman]{atoms}{<tikz>} Adatta l'aspetto dei nodi contenenti gli atomi con chiavi di \TikZ. + \option[newman]{atoms}{<tikz>} Adatta l'aspetto dei nodi contenenti gli atomi con + chiavi di \TikZ. \option[newman]{back-atoms}{<tikz>} Adatta solo gli atomi posteriori. \end{beschreibung} @@ -1515,14 +1913,13 @@ Sono disponibili diverse opzioni per adattare il comando: \end{beispiel} \secidx*{Proiezioni di Newman} -%TODO watch pagebreaks! \section{Orbitali s, p e ibridi}\label{sec:orbitale}\secidx{Orbitali} -\chemmacros mette a disposizione un comando per rappresentare gli orbitali: +\chemmacros mette a disposizione un comando per rappresentare alcuni orbitali: \begin{beschreibung} \Befehl{orbital}[<options>]{<type} \end{beschreibung} -Sono disponibili i seguenti tipi orbitalici \ma{<type>}: +Sono disponibili i seguenti tipi orbitalici per \ma{<type>}: \begin{description} \item \code{s} \item \code{p} @@ -1537,11 +1934,13 @@ Sono disponibili i seguenti tipi orbitalici \ma{<type>}: A seconda del tipo sono disponibili diverse opzioni per modificare l'orbitale: \begin{beschreibung} - \option[orbital]{phase}{\default{+}/-} Varia la fase dell'orbitale (tutti i tipi). + \option[orbital]{phase}{\default{+}|-} Varia la fase dell'orbitale (tutti i tipi). \option[orbital]{scale}{<factor>} Varia la dimensione dell'orbitale (tutti i tipi). \option[orbital]{color}{<color>} Varia il colore dell'orbitale (tutti i tipi). - \option[orbital]{angle}{<angle>} Ruota gli orbitali con un contributo p in senso antiorario (tutti i tipi tranne \code{s}). - \option[orbital]{half}{\default{true}/false} mette a disposizione solo metà orbitale (solo per \code{p}). + \option[orbital]{angle}{<angle>} Ruota gli orbitali con un contributo p in senso + antiorario (tutti i tipi tranne \code{s}). + \option[orbital]{half}{\default{true}|false} Raffigura solo metà orbitale (solo per + \code{<type> = p}). \end{beschreibung} \begin{beispiel} @@ -1552,10 +1951,13 @@ A seconda del tipo sono disponibili diverse opzioni per modificare l'orbitale: \orbital[angle=0]{p} \orbital[color=red!50]{p} \orbital[angle=135,scale=1.5]{p} \orbital[half]{p} \end{beispiel} -Inoltre esistono due opzioni attraverso le quali si può influenzare il comportamento di \TikZ: +Esistono due opzioni ulteriori attraverso le quali si può influenzare il comportamento +di \TikZ: \begin{beschreibung} - \option[orbital]{overlay}{\default{true}/false} L'orbitale \enquote{non ha bisogno di spazio}; viene disegnato con la chiave di \TikZ \code{overlay}. - \option[orbital]{opacity}{<num>} L'orbitale diviene trasparente; \code{<value>} accetta valori compresi tra \code{1} (opaco) e \code{0} (trasparente). + \option[orbital]{overlay}{\default{true}|false} L'orbitale \enquote{non ha bisogno + di spazio}; viene disegnato con la chiave di \TikZ \code{overlay}. + \option[orbital]{opacity}{<num>} L'orbitale diviene trasparente; \code{<value>} + accetta valori compresi tra \code{1} (opaco) e \code{0} (trasparente). \end{beschreibung} \begin{beispiel}[dist] @@ -1568,6 +1970,8 @@ Inoltre esistono due opzioni attraverso le quali si può influenzare il comporta \chemfig{?\orbital{p}-[,1.3]{\orbital[phase=-]{p}}-[:30,1.1]\orbital{p}-[:150,.9]{\orbital[phase=-]{p}}-[4,1.3]\orbital{p}-[:-150,1.1]{\orbital[phase=-]{p}}?} \vspace{7mm} \end{beispiel} + +\newpage \bspmidlength{dist}{10mm} \begin{beispiel}[dist] \hspace{2cm} @@ -1592,8 +1996,7 @@ Tutte le opzioni di \chemformula appartengono al modulo \textcolor{module}{\code \chemsetup[chemformula]{<options>} oppure \chemsetup{chemformula/<option1>,chemformula/<option2>} \end{beispiel} - -Possono inoltre essere passati direttamente come opzioni al comando \cmd{ch}. +Possono inoltre essere passate direttamente come opzioni al comando \cmd{ch}. \section{Principio di base} \chemformula ha un comando di base. @@ -1601,7 +2004,7 @@ Possono inoltre essere passati direttamente come opzioni al comando \cmd{ch}. \Befehl{ch}[<options>]{<input>} \end{beschreibung} -Il suo utilizzo sarà intuitivo per l'utente che conosce \paket{mhchem}: +Il suo utilizzo sarà intuitivo per l'utente pratico di \paket{mhchem}: \begin{beispiel} \ch{H2O} \\ \ch{Sb2O3} \\ @@ -1620,34 +2023,44 @@ Il suo utilizzo sarà intuitivo per l'utente che conosce \paket{mhchem}: \ch{KCr(SO4)2 * 12 H2O} \end{beispiel} -Tuttavia esistono delle differenze. La più importante è: \chemformula distingue diversi tipi di input. Questi tipi diversi \emph{devono} essere necessariamente separati da spazi: +Tuttavia esistono delle differenze. La più importante è: \chemformula distingue +diversi tipi di input. Questi tipi diversi devono essere \emph{necessariamente} +separati da spazi: \begin{beschreibung} \Befehl{ch}{type1 type2 type3 type4} \end{beschreibung} - -Uno spazio nell'input non corrisponde \emph{mai} ad uno spazio nell'output. Il ruolo dello spazio vale strettamente, e quando non viene seguito può produrre output erratico. - -Un ulteriore differenza importante è: \chemformula cerca di evitare il modo matematico quanto più possibile: +Uno spazio nell'input non corrisponde \emph{mai} ad uno spazio nell'output. Il +ruolo dello spazio vale strettamente, e quando non viene seguito può produrre output +erratico. A titolo di esempio, \cmd{ch}{2H2O} viene considerata come \emph{una} +particella, in questo caso una formula bruta. \begin{beispiel} - \ch{A + B ->[a] C} \\ - \ce{A + B ->[a] C} + \ch{2H2O} \\ + \ch{2 H2O} \end{beispiel} +Ciò significa anche che una particella non può contenere spazi perché verrebbe +automaticamente divisa in due parti. Quando necessario, uno spazio può essere +introdotto con \lstinline+~+. Dato che la maggior parte delle macro ignora gli +spazi seguenti, un input del tipo \cmd{ch}{\textbackslash command ABC} viene +trattato come un'unità. Nel caso si desideri separare un input di questo tipo +è necessario introdurre un gruppo vuoto: \cmd{ch}{\textbackslash command\{\} ABC}. +I diversi tipi di input verranno trattati separatamente in seguito. -Il primo punto significa che \cmd{ch}{2H2O} viene considerata come \emph{una} particella, in questo caso una formula bruta. +Un'ulteriore differenza importante è che \chemformula cerca di evitare il modo +matematico quanto più possibile: \begin{beispiel} - \ch{2H2O} \\ - \ch{2 H2O} + \ch{A + B ->[a] C} \\ + \ce{A + B ->[a] C} \end{beispiel} -Ciò significa inoltre che una particella non può contenere spazi perché verrebbe automaticamente divisa in due parti. Quando necessario, uno spazio può essere introdotto con \lstinline+~+. Dato che la maggior parte delle macro ignora gli spazi seguenti, un input del tipo di \cmd{ch}{\textbackslash command ABC} viene trattato come un'unità. Nel caso sia desiderato separare un input di questo tipo è necessario introdurre un gruppo vuoto: \cmd{ch}{\textbackslash command\{\} ABC}. I diversi tipi di input sono trattati separatamente in seguito. -Il comando \cmd{ch} ha alcune opzioni per modificare l'output. Possono essere impostate localmente come argomenti opzionali oppure globalmente con il comando +Il comando \cmd{ch} ha alcune opzioni per modificare l'output. Possono essere +impostate localmente come argomenti opzionali oppure globalmente con il comando \begin{beschreibung} \Befehl{chemsetup}[chemformula]{<options>} \end{beschreibung} Tutte le opzioni di \chemformula appartengono al modulo \textcolor{module}{\code{chemformula}}. \section{Fattori stechiometrici}\secidx{Fattori stechiometrici} -Un fattore stechiometrico deve contenere solo cifre e simboli tra \lstinline+.,_/()+. +Un fattore stechiometrico deve contenere solo cifre e simboli tra i seguenti: \lstinline+.,_/()+ \begin{beispiel} \ch{2} \\ \ch{12} @@ -1661,36 +2074,46 @@ Un fattore stechiometrico deve contenere solo cifre e simboli tra \lstinline+.,_ \ch{1_1/2} \end{beispiel} -Nell'input è necessario badare alla sintassi giusta, anche se ritengo che sia piuttosto intuitiva. +Nell'input è necessario badare alla sintassi giusta, anche se ritengo che sia +piuttosto intuitiva. \begin{beispiel}[code only] questo non funzionerà, ma darà invece un errore: \ch{1/1_1} \end{beispiel} -Quando i fattori stechiometrici sono scritti tra parentesi le frazioni non vengono convertite. Il testo inserito tra parentesi viene restituito nello stesso modo. +Quando i fattori stechiometrici sono scritti tra parentesi le frazioni non vengono +convertite. Il testo inserito tra parentesi viene reso allo stesso modo. \begin{beispiel} \ch{(1/2) H2O} \ch{1/2 H2O} \ch{0.5 H2O} \end{beispiel} -Numerosi esempi come il seguente per l'utilizzo delle parentesi per racchiudere fattori stechiometrici possono essere trovati per esempio nello „\IUPAC Green Book“ \cite{iupac:greenbook}: +Numerosi esempi come il seguente per l'utilizzo delle parentesi per racchiudere +fattori stechiometrici possono essere trovati per esempio nello „\ac{iupac} Green +Book“~\cite{iupac:greenbook}: \begin{reaction*} (1/5) K "\ox*{7,Mn}" O4 + (8/5) HCl == (1/5) "\ox*{2,Mn}" Cl2 + (1/2) Cl2 + (1/5) KCl + (4/5) H2O \end{reaction*} L'output può essere adattato utilizzando le opzioni seguenti: \begin{beschreibung} - \option{decimal-marker}{<marker>} Il simbolo usato come separatore decimale. Default = \code{.} - \option{frac-style}{math/xfrac/nicefrac} Determina come vengono rappresentate le frazioni. Default = \code{math} - \option{stoich-space}{<dim>} La dimensione dello spazio dopo un fattore stechiometrico. Una dimensione di \TeX. Default = \lstinline=.1667em= + \option{decimal-marker}{<marker>} Il simbolo usato come separatore decimale. + Default = \code{.} + \option{frac-style}{math|xfrac|nicefrac} Determina in che modo vengono rappresentate + le frazioni. Default = \code{math} + \option{stoich-space}{<dim>} La dimensione dello spazio dopo un fattore stechiometrico. + Una dimensione di \TeX. Default = \lstinline=.1667em= \end{beschreibung} \begin{beispiel} \ch[decimal-marker={,}]{3.5} \ch[decimal-marker={$\cdot$}]{3,5} \end{beispiel} -L'opzione \key{frac-style}{xfrac} utilizza il comando \lstinline+\sfrac+ del pacchetto \paket{xfrac}. L'output può dipendere fortemente dal carattere impiegato.\secidx[xfrac]{Fattori stechiometrici} +L'opzione \key{frac-style}{xfrac} utilizza il comando \lstinline+\sfrac+ del +pacchetto \paket{xfrac}; l'output può dipendere fortemente dal carattere impiegato. +\secidx[xfrac]{Fattori stechiometrici} \begin{beispiel} \ch[frac-style=xfrac]{3/2} \ch[frac-style=xfrac]{1_1/2} \end{beispiel} -\chemformula definisce l'istanza \lstinline=formula-text-frac=, che può essere adattata alle proprie necessità. Le impostazioni di default sono elencate di seguito: +\chemformula definisce l'istanza \lstinline=formula-text-frac=, che può essere +adattata alle proprie necessità. Le impostazioni di default sono elencate di seguito: \begin{beispiel}[code only] \DeclareInstance{xfrac}{chemformula-text-frac}{text} { @@ -1710,12 +2133,14 @@ Questo documento impiega il Font \textsc{Linux Libertine O} e la definizione seg } \end{beispiel} -L'opzione \key{frac-style}{nicefrac} utilizza il comando \lstinline+\nicefrac+ del pacchetto \paket{nicefrac}.\secidx[nicefrac]{Fattori stechiometrici} +L'opzione \key{frac-style}{nicefrac} utilizza il comando \lstinline+\nicefrac+ del +pacchetto \paket{nicefrac}.\secidx[nicefrac]{Fattori stechiometrici} \begin{beispiel} \ch[frac-style=nicefrac]{3/2} \ch[frac-style=nicefrac]{1_1/2} \end{beispiel} -L'opzione \key{stoich-space} permette di adattare la larghezza dello spazio tra fattore stechiometrico e formula bruta.\secidx[space]{Fattori stechiometrici} +L'opzione \key{stoich-space} permette di adattare la larghezza dello spazio tra +fattore stechiometrico e formula bruta.\secidx[space]{Fattori stechiometrici} \begin{beispiel} \ch{2 H2O} \\ \ch[stoich-space=.3em]{2 H2O} @@ -1723,14 +2148,15 @@ L'opzione \key{stoich-space} permette di adattare la larghezza dello spazio tra \secidx*{Fattori stechiometrici} \section{Formule brute}\label{ssec:compounds}\secidx{Formule brute} -\chemformula considera le formule brute come il tipo \enquote{che non rientra negli altri}. Questo diverrà più chiaro in seguito quando saranno elencati gli altri tipi. +\chemformula considera le formule brute come il tipo \enquote{diverso da tutti gli +altri}. Questo diverrà più chiaro in seguito quando saranno elencati gli altri tipi. \begin{beispiel} \ch{H2SO4} \\ \ch{[Cu(NH3)4]^2+} \end{beispiel} \subsection{Addotti}\secidx[Addotti]{Formule brute} -\chemformula possiede due identificatori che creano addotti. +\chemformula riconosce due identificatori che creano addotti. \begin{beschreibung} \befehl{ch}{A.B} \ch{A.B} \befehl{ch}{A*B} \ch{A*B} @@ -1739,7 +2165,10 @@ L'opzione \key{stoich-space} permette di adattare la larghezza dello spazio tra \ch{CaSO4.H2O} \\ \ch{CaSO4*H2O} \end{beispiel} -Dato che le cifre in una formula bruta vengono considerate sempre come pedici (vedi il paragrafo \ref{ssec:subscripts}), talvolta è necessario lasciare uno spazio in modo che il numero venga riconosciuto come fattore stechiometrico: +Dato che le cifre all'interno di una formula bruta vengono considerate sempre +come pedici (vedi il paragrafo~\ref{ssec:subscripts}), talvolta è necessario +lasciare uno spazio in modo che il numero venga riconosciuto come fattore +stechiometrico: \begin{beispiel} \ch{Na3PO4*12H2O} \\ \ch{Na3PO4* 12 H2O} \\ @@ -1751,12 +2180,14 @@ Dato che le cifre in una formula bruta vengono considerate sempre come pedici (v \begin{beispiel} \ch{H2SO4} \end{beispiel} -Quando si desidera utilizzare un carattere come pedice, va utilizzata la sintassi matematica: +Quando si desidera utilizzare un carattere come pedice, va utilizzata la sintassi +matematica: \begin{beispiel} \ch{A_nB_m} \end{beispiel} -Il pedice riconosce i gruppi, all'interno dei quali è anche possibile usare il modo matematico. +Il pedice riconosce i gruppi, all'interno dei quali è anche possibile usare il modo +matematico. \begin{beispiel} \ch{A_{$n$}B_{$m$}} \\ \ch{NaCl_{(aq)}} @@ -1767,21 +2198,31 @@ All'interno di una formula bruta sono permessi i comandi: \begin{beispiel} \ch{\textbf{A2}B3} \ch{A2\color{red}B3} \end{beispiel} -Quando però un comando richiede come argomento un numero, ad esempio comandi regolanti la spaziatura oppure il comando \lstinline+\ox+, l'utilizzo diretto fallirà. Questo deriva dal fatto che le cifre verranno riconosciute come pedice \emph{prima} dell'espansione del comando. +Quando però un comando richiede come argomento un numero, ad esempio comandi +regolanti la spaziatura oppure il comando \lstinline+\ox+, l'utilizzo diretto +fallirà. Questo deriva dal fatto che le cifre verranno riconosciute come pedice +\emph{prima} dell'espansione del comando. \begin{beispiel}[code only] \ch{A\hspace{2mm}B} darà un errore, dato che \hspace vedrà qualcosa del genere: \hspace{$_2$mm}. \end{beispiel} -Vedi il paragrafo \ref{ssec:text} per una via d'uscita. +Vedi il paragrafo~\ref{ssec:text} per una via d'uscita da questo problema. \subsection{Cariche ed altri apici}\secidx[Cariche]{Formule brute}\secidx[Apici]{Formule brute} -\paragraph{Basi} -Quando una formula bruta \emph{finisce} con un segno più o meno questo verrà interpretato come un simbolo di carica e messo ad apice. In altri punti un più rappresenta un legame triplo ed un trattino un legame singolo, vedi il paragrafo \ref{ssec:bonds}. +\paragraph{Principi} +Quando una formula bruta \emph{termina} con un segno più o meno, questo verrà +interpretato come un simbolo di carica e messo ad apice. In altri punti un più +rappresenta un legame triplo ed un trattino un legame singolo, vedi il +paragrafo~\ref{ssec:bonds}. \begin{beispiel} \ch{A+B} \ch{AB+} \\ \ch{A-B} \ch{AB-} \end{beispiel} -Per gruppi di carica più lunghi oppure altri apici è possibile utilizzare la sintassi matematica. Questa riconosce i gruppi e permette la matematica al loro interno. All'interno di questi gruppi né il simbolo \code{+} né \code{-} vengono interpretati come legami. Quando ad apice si trova un punto \code{.} non indica un addotto bensì un radicale. Un asterisco \code{*} indica uno stato eccitato. +Per gruppi di carica più lunghi oppure altri apici è possibile utilizzare la sintassi +matematica, che riconosce i gruppi e permette il modo matematico al loro interno. +Entro questi gruppi né il simbolo \code{+} né \code{-} vengono interpretati come +legami. Quando ad apice si trova un punto \code{.} non indica un addotto bensì un +radicale. Un asterisco \code{*} indica uno stato eccitato. \begin{beispiel} \ch{A^{x-}} \\ \ch{A^x-} \\ @@ -1794,60 +2235,154 @@ Per gruppi di carica più lunghi oppure altri apici è possibile utilizzare la s \ch{NO^*} \end{beispiel} -Ioni e composti ionici con più di una carica vengono inseriti allo stesso modo: +Ioni e composti ionici con più di una carica vengono inseriti in modo analogo: \begin{beispiel} \ch{SO4^2-} \ch{Ca^2+ SO4^2-} \end{beispiel} \paragraph{Comandi ionici}\secidx[Apici!Comandi di carica]{Formule brute} -Non sono necessari comandi del tipo di \cmd{mch} all'interno di \cmd{ch}. Difatti \emph{sarebbe opportuno evitarli}, dato che possono scombinare l'orientamento degli apici e dei pedici. L'opzione \code{circled} di \chemmacros viene rispettata da \cmd{ch}. +All'interno di \cmd{ch} non sono necessari comandi del tipo di \cmd{mch}; difatti +\emph{è opportuno evitarli}, dato che possono scombinare l'orientamento degli apici +e dei pedici. L'opzione \code{circled} di \chemmacros viene rispettata da \cmd{ch}. \begin{beispiel} \chemsetup[option]{circled=all} \ch{H+ + OH- <=> H2O} \end{beispiel} \paragraph{Comportamento}\secidx[Apici!Comportamento]{Formule brute} -Gli apici si comportano diversamente in base alla loro posizione in una formula bruta, nel caso apice e pedice siano direttamente consecutivi. +Nel caso apice e pedice siano direttamente consecutivi in una formula bruta gli +apici si comportano diversamente in base alla loro posizione. \begin{beispiel} \ch{^33B} \ch{{}^33B} \ch{3^3B} \ch{B^3} \ch{B3^3} \\ \ch{^{23}_{123}B} \ch{{}^{23}_{123}B} \ch{_{123}^{23}B} \ch{B^{23}} \ch{B_{123}^{23}} \\ \ch{^{123}_{23}B} \ch{{}^{123}_{23}B} \ch{_{23}^{123}B} \ch{B^{123}} \ch{B23^{123}} \end{beispiel} \begin{itemize} - \item Quando una formula \emph{inizia} con un apice, gli apici e i pedici vengono orientati a \emph{destra}, altrimenti a \emph{sinistra}. - \item Quando un apice \emph{segue} un pedice, questo verrà ulteriormente spostato di una lunghezza che viene determinata dall'opzione \key{charge-hshift}{<dim>}, vedi anche a pagina \pageref{desc:charge-hshift}s. + \item Quando una formula \emph{inizia} con un apice, gli apici e i pedici vengono + giustificati a \emph{destra}, altrimenti a \emph{sinistra}. + \item Quando un apice \emph{segue} un pedice, questo verrà ulteriormente spostato + di una lunghezza che viene determinata dall'opzione \key{charge-hshift}{<dim>} + (vedi anche a pagina~\pageref{desc:charge-hshift}s). \end{itemize} -Il secondo punto segue l'indicazione \IUPAC: -\begin{zitat}[{\IUPAC Green Book \cite[][p.\,51]{iupac:greenbook}}] - In writing the formula for a complex ion, spacing for charge number can be added (staggered arrangement), as well as parentheses: \ch[charge-hshift=1ex]{SO4^2-}, \ch{(SO4)^2-} The staggered arrangement is now recommended. +Il secondo punto segue l'indicazione \ac{iupac}: +\begin{zitat}[{\ac{iupac} Green Book {\cite[][p.\,51]{iupac:greenbook}}}] + In writing the formula for a complex ion, spacing for charge number can be added + (staggered arrangement), as well as parentheses: \ch[charge-hshift=full]{SO4^2-}, + \ch{(SO4)^2-} The staggered arrangement is now recommended. \end{zitat} \subsection{Legami}\label{ssec:bonds}\secidx[Legami]{Formule brute} -\chemformula conosce tre tipi di legami: +\subsubsection{Legami nativi} +Vi sono tre tipi di quelli chiamati d'ora in poi \enquote{legami nativi}. \begin{beispiel} - einfach: \ch{CH3-CH3} \\ - doppel: \ch{CH2=CH2} \\ - dreifach: \ch{CH+CH} + singolo: \ch{CH3-CH3} \\ + doppio: \ch{CH2=CH2} \\ + triplo: \ch{CH+CH} \end{beispiel} -\subsection{Personalizzazione}\secidx[Personalizzazione]{Formule brute} -Queste opzioni permettono di adattare l'output: +\subsubsection{Legami flessibili} +\paragraph{Predefiniti} +Oltre i tre legami nativi ve ne sono alcuni altri che possono essere richiamati +tramite \begin{beschreibung} - \option{subscript-vshift}{<dim>} Ulteriore spostamento verticale dei pedici. Default = \code{0pt} - \option{subscript-style}{text/math} Stile usato per i pedici. Default = \code{text} - \option{charge-hshift}{<dim>} Spostamento degli apici seguenti un pedice. Default = \code{.5ex}\label{desc:charge-hshift} - \option{charge-style}{text/math} Stile usato per gli apici. Default = \code{text} - \option{adduct-space}{<dim>} Spazio vuoto ai lati del punto di addotto. Default = \code{.1333em} - \option{bond-length}{<dim>} Lunghezza dei legami. Come lunghezza di default viene impiegata la lunghezza di un tratto, come determinata con \lstinline+\settowidth{<len>}{\textendash}+. - \option{bond-offset}{<dim>} Distanza tra atomo e legame. Default = \code{0pt} + \Befehl{bond}{<bond name>} \end{beschreibung} +I tipi predefiniti sono mostrati nella tabella~\ref{tab:bond_types}. + +\begin{table} + \begin{tabular}{lcl} + \toprule + \bfseries Nome & \bfseries Aspetto & \bfseries Alias \\ + \midrule + \code{single} & \bond{single} & \code{normal}, \code{sb} \\ + \code{double} & \bond{double} & \code{db} \\ + \code{triple} & \bond{triple} & \code{tp} \\ + \code{dotted} & \bond{dotted} & \code{semisingle} \\ + \code{deloc} & \bond{deloc} & \code{semidouble} \\ + \code{tdeloc} & \bond{tdeloc} & \code{semitriple} \\ + \code{co>} & \bond{co>} & \code{coordright} \\ + \code{<co} & \bond{<co} & \code{coordleft} \\ + \bottomrule + \end{tabular} + \caption{Legami disponibili con \protect\cmd{bond}.} + \label{tab:bond_types} +\end{table} -Forse l'utente si sarà accorto che per alcuni ioni le cariche sono spostate a destra:\secidx[Cariche!Spostamento]{Formule brute} +\begin{beispiel} + \ch{C\bond{sb}C\bond{db}C\bond{tp}C\bond{deloc}C\bond{tdeloc}C\bond{co>}C\bond{<co}C} +\end{beispiel} + +\paragraph{Legami personalizzati} +\chemformula offre dei comandi per definire dei tipi di legame personali: +\begin{beschreibung} + \Befehl{DeclareChemBond}{<name>}\ma{<code>} + \Befehl{RenewChemBond}{<name>}\ma{<code>} + \Befehl{DeclareChemBondAlias}{<new name>}\ma{<old name>} + \Befehl{ShowChemBond}{<name>} +\end{beschreibung} +Il loro uso è facilmente descritto da un esempio. Vediamo come sono definiti il +legame \code{single} ed il legame \code{co>}: +\begin{beispiel}[code only] + \DeclareChemBond{single} + { \draw[chembond] (chemformula-bond-start) -- (chemformula-bond-end) ; } + \DeclareChemBond{coordright} + { \draw[chembond,butt cap->] (chemformula-bond-start) -- (chemformula-bond-end) ; } + \DeclareChemBondAlias{co>}{coordright} +\end{beispiel} +Due punti sono importanti: i nomi delle coordinate di partenza e di arrivo, +\code{chemformula-bond-start} e \code{chemformula-bond-end}, e lo stile \TikZ +dei legami \code{chembond}. + +Supponiamo di voler definire un particolare tipo di legame tratteggiato, ad +esempio nel modo seguente: +\begin{beispiel} + \usetikzlibrary{decorations.pathreplacing} + \makeatletter + \DeclareChemBond{dashed} + { + \draw[ + chembond, + decorate, + decoration={ticks,segment length=\chemformula@bondlength/10,amplitude=1.5pt}] + (chemformula-bond-start) -- (chemformula-bond-end) ; + } + \makeatother + \chemsetup[chemformula]{bond-length=2ex} + \ch{C\bond{dashed}C} +\end{beispiel} + +L'ultimo esempio mostra un'ulteriore macro: \makeatletter\cmd{chemformula@bondlength}\makeatother. +Esiste solamente per accedere direttamente alla lunghezza di legame impostata +direttamente con \key{bond-length}.% (vedi anche a pagina~\pageref{key:bond-length}). + +\subsection{Personalizzazione}\secidx[Personalizzazione]{Formule brute}\label{ssec:compounds:customization} +Le seguenti opzioni permettono di adattare l'output: +\begin{beschreibung} + \option{subscript-vshift}{<dim>} Ulteriore spostamento verticale dei pedici. + Default = \code{0pt} + \option{subscript-style}{text|math} Stile usato per i pedici. Default = \code{text} + \option{charge-hshift}{<dim>} Spostamento degli apici seguenti un pedice. Default + = \code{.5ex}\label{desc:charge-hshift} + \option{charge-style}{text|math} Stile usato per gli apici. Default = \code{text} + \option{adduct-space}{<dim>} Spazio vuoto ai lati del punto di addotto. Default + = \code{.1333em} + \option{bond-length}{<dim>} Lunghezza dei legami. Default = \code{1.1667ex}. + \option{bond-offset}{<dim>} Distanza tra atomo e legame. Default = \code{.07em} + \option{bond-style}{<tikz>} Opzioni di \TikZ\ per i legami. Inizialmente vuoto. + \option{radical-style}{<tikz>} Opzioni di \TikZ\ per il punto radicalico. + Inizialmente vuoto. + \option{radical-radius}{<dim>} Il raggio del punto radicalico. Default = \code{.2ex} +\end{beschreibung} + +Forse l'utente si sarà accorto che per alcuni ioni le cariche sono spostate a +destra:\secidx[Cariche!Spostamento]{Formule brute} \begin{beispiel} \ch{SO4^2-} \ch{NH4+} \ch{Na+} \end{beispiel} -Le cariche vengono spostate quando \emph{seguono} un pedice. La dimensione dello spostamento può essere impostata con l'opzione \key{charge-hshift}. +Queste vengono spostate quando \emph{seguono} un pedice, seguendo la +raccomandazione \ac{iupac}~\cite[][p.\,51]{iupac:greenbook}. La dimensione dello +spostamento può essere impostata con l'opzione \key{charge-hshift}. \begin{beispiel} \ch{SO4^2-} \ch{NH4+} \ch{Na+} \\ \chemsetup[chemformula]{charge-hshift=.5ex} @@ -1856,7 +2391,12 @@ Le cariche vengono spostate quando \emph{seguono} un pedice. La dimensione dello \ch{SO4^2-} \ch{NH4+} \ch{Na+} \end{beispiel} -Nonostante l'indicazione \IUPAC, \chemformula nell'impostazione predefinita non genera apici completamente spostati, che a mio parere in alcuni casi sono di difficile lettura ed in altri casi di aspetto sgradevole. Essendo questa una percezione soggettiva, \chemformula offre sia la possibilità di impostare un valore assoluto per lo spostamento che di spostare completamente l'apice. A questo proposito va impiegato \key{charge-hshift}{full}. +Nonostante l'indicazione \ac{iupac}, \chemformula nell'impostazione predefinita +non genera apici completamente spostati, che a mio parere in alcuni casi sono di +difficile lettura ed in altri casi di aspetto sgradevole. Trattandosi di una +percezione soggettiva, \chemformula offre sia la possibilità di impostare un +valore assoluto per lo spostamento che di spostare completamente l'apice. +Nell'ultimo caso va impiegato \key{charge-hshift}{full}. \begin{beispiel} \ch[charge-hshift=0pt]{C5H11+} \ch[charge-hshift=0pt]{SO4^2-} \\ \ch{C5H11+} \ch{SO4^2-} \\ @@ -1864,14 +2404,16 @@ Nonostante l'indicazione \IUPAC, \chemformula nell'impostazione predefinita non \ch[charge-hshift=full]{C5H11+} \ch[charge-hshift=full]{SO4^2-} \end{beispiel} -Se non si desidera riprodurre le cariche in modo testuale, è possibile passare al modo matematico: +Se non si desidera rendere le cariche in modo testuale è possibile passare al +modo matematico: \begin{beispiel} \ch{M^x+} \ch{SO4^2-} \\ \chemsetup[chemformula]{charge-style = math} \ch{M^x+} \ch{SO4^2-} \end{beispiel} -L'opzione \key{subscript-vshift} può essere impiegata per adattare lo spostamento verticale dei pedici.\secidx[Pedici!Spostamento]{Formule brute} +L'opzione \key{subscript-vshift} può essere impiegata per adattare lo spostamento +verticale dei pedici.\secidx[Pedici!Spostamento]{Formule brute} \begin{beispiel} \ch{H2SO4} \ch{Na3PO4} \\ \chemsetup[chemformula]{subscript-vshift=.5ex} @@ -1887,14 +2429,15 @@ Si può inolte selezionare in quale modo verranno composti i pedici: \ch{A_nB_m} \ch{H2SO4} \end{beispiel} -Con l'opzione \key{adduct-space} è possibile adattare lo spazio a sinistra e destra del segno di addotto. +Con l'opzione \key{adduct-space} è possibile variare lo spazio a sinistra e destra +del segno di addotto. \begin{beispiel} \ch{Na3PO3*H2O} \\ \chemsetup[chemformula]{adduct-space=.2em} \ch{Na3PO3*H2O} \end{beispiel} -La lunghezza dei legami va variata con:\secidx[Legami!Lunghezza]{Formule brute} +La lunghezza dei legami va modificata con:\secidx[Legami!Lunghezza]{Formule brute} \begin{beispiel} \chemsetup[chemformula]{bond-length=4mm}% single: \ch{CH3-CH3} \\ @@ -1910,14 +2453,14 @@ Si può inoltre impostare la distanza tra atomo e legame: \secidx*{Formule brute} \section{Tipi speciali di input}\secidx{Tipi speciali di input} -Vi sono alcuni \enquote{tipi particolari di input}. +Esistono alcuni \enquote{tipi di input speciali}. \subsection{Token a input singolo}\secidx[Token a input singolo]{Tipi speciali di input} -Il primo tipo è composto da un singolo token tra i seguenti: +Questo tipo è composto da un singolo token compreso tra i seguenti: \begin{beschreibung} \befehl{ch}{ + } \ch{+} Genera un segno più tra formule se spaziato a destra e sinistra:\\ \cmd{ch}{2 Na + Cl2} \ch{2 Na + Cl2} - \befehl{ch}{ v } \ch{v} Simbolo per una precitazione o la formazione di un solido: \cmd{ch}{BaSO4 v} \ch{BaSO4 v} + \befehl{ch}{ v } \ch{v} Simbolo per una precipitazione o la formazione di un solido: \cmd{ch}{BaSO4 v} \ch{BaSO4 v} \befehl{ch}{ \lstinline+^+ } \ch{^} Simbolo per la formazione di gas: \cmd{ch}{\lstinline=H2 ^=} \ch{H2 ^} \end{beschreibung} @@ -1931,14 +2474,17 @@ Lo spazio a sinistra e destra del più può essere adattato tramite un'opzione: \end{beispiel} \subsection{Input di opzioni}\secidx[Input di opzioni]{Tipi di input speciali} -Talvolta si desidera applicare un'opzione solo ad una parte di una reazione. Naturalmente è possibile impiegare ripetutamente \cmd{ch}. +Talvolta si desidera applicare un'opzione solo ad una parte di una reazione; +naturalmente è possibile impiegare ripetutamente \cmd{ch}. \begin{beispiel} \ch{H2O +}\textcolor{red}{\ch{H2SO4}}\ch{-> H3O+ + HSO4-} \\ \ch{H2O +}\ch[subscript-vshift=2pt]{H2SO4}\ch{-> H3O+ + HSO4-} \end{beispiel} -Tuttavia questo interrompe l'input nel sorgente e \emph{potrebbe} influenzare le distanze. Per questo motivo esiste un'alternativa: +Tuttavia questo interrompe l'input nel sorgente e \emph{potrebbe} influenzare la +spaziatura. Per questo motivo esiste un'alternativa: \begin{beschreibung}\makeatletter - \befehl{ch}{ @\{<options>\} } Le opzioni date sono attive \emph{solo} fino alla fine della \emph{prossima} formula bruta. + \befehl{ch}{ @\{<options>\} } Le opzioni date sono attive \emph{solo} fino alla + fine della \emph{prossima} formula bruta. \end{beschreibung} \begin{beispiel} \ch{H2O +}\textcolor{red}{\ch{H2SO4}}\ch{-> H3O+ + HSO4-} \\ @@ -1948,14 +2494,17 @@ Tuttavia questo interrompe l'input nel sorgente e \emph{potrebbe} influenzare le \ch{H2O +}\ch[subscript-vshift=2pt]{H2SO4}\ch{-> H3O+ + HSO4-} \\ \ch{H2O + @{subscript-vshift=2pt} H2SO4 -> H3O+ + HSO4-} \end{beispiel} -\achtung{Si tratta di una feature sperimentale che potrà scomparire nelle versioni future.} +\achtung{Si tratta di una modalità sperimentale che potrebbe scomparire nelle versioni future.} \secidx*{Tipi di input speciali} \section{Input protetto}\secidx{Input protettto} -In certi casi si può desiderare di evitare che \chemformula elabori l'input. Esistono due possibilità di ottenere proprio questo. +In certi casi si può desiderare di evitare che \chemformula elabori l'input. +Esistono due possibilità di ottenere proprio questo. \subsection{Testo}\label{ssec:text}\secidx[text]{Input protetto} -Quando del testo viene posto tra \lstinline+" "+ oppure \lstinline+' '+, allora l'input viene considerato come testo normale, ad eccezione per gli spazi che non sono ammessi e devono essere dati con \lstinline+~+. +Quando del testo viene posto tra \lstinline+" "+ oppure \lstinline+' '+ allora +l'input viene considerato come testo normale ad eccezione per gli spazi: non sono +ammessi e devono essere inseriti con \lstinline+~+. \begin{beschreibung} \Befehl{ch}{ "<escaped text>" } \Befehl{ch}{ '<escaped text>' } @@ -1965,10 +2514,13 @@ Quando del testo viene posto tra \lstinline+" "+ oppure \lstinline+' '+, allora \ch{"\ldots\," Na + "\ldots\," Cl2 -> "\ldots\," NaCl} \\ \ch{'A~->~B'} \end{beispiel} -In molti casi non sarà necessario. Ma quando risulta difficile impiegare un comando all'interno di \cmd{ch}, può essere utile applicare il metodo di protezione. +Questo stratagemma sarà necessario in pochi casi; ma quando risulta difficoltoso +impiegare un comando all'interno di \cmd{ch} può essere utile applicare il modo protetto. \subsection{Matematica}\secidx[math]{Input protetto} -Quando si ha dell'input matematico, è sufficiente porlo tra \lstinline+$ $+. L'output si distingue dal testo protetto oltre che per il modo matematico anche per la presenza di uno spazio in seguito. +Quando si ha dell'input matematico, è sufficiente porlo tra \lstinline+$ $+. +L'output si distingue dal testo protetto (oltre che per il modo matematico) +anche per la presenza di uno spazio in seguito. \begin{beschreibung}\catcode`\$=11 \Befehl{ch}{ $<escaped math>$ } \end{beschreibung} @@ -1992,16 +2544,17 @@ Lo spazio seguente l'input matematico protetto può essere adattato. \section{Frecce}\label{sec:arrows}\secidx{Frecce} \subsection{Tipi di frecce}\secidx[Tipi]{Frecce} -Le frecce vengono indicate con lo stesso modo intuitivo di \paket{mhchem}. Ne esiste una serie: +Le frecce vengono indicate nello stesso modo intuitivo di \paket{mhchem}. Ne esiste +una serie: \begin{beschreibung} - \befehl{ch}{ -> } \ch{->} freccia comune a destra - \befehl{ch}{ <- } \ch{<-} freccia comune a sinistra + \befehl{ch}{ -> } \ch{->} freccia semplice a destra + \befehl{ch}{ <- } \ch{<-} freccia semplice a sinistra \befehl{ch}{ -/> } \ch{-/>} non reagisce (destra) \befehl{ch}{ </- } \ch{</-} non reagisce (sinistra) - \befehl{ch}{ <-> } \ch{<->} freccia di mesomeria + \befehl{ch}{ <-> } \ch{<->} doppia freccia di mesomeria \befehl{ch}{ <> } \ch{<>} la reazione avviene in entrambe le direzioni \befehl{ch}{ == } \ch{==} equazione stechiometrica - \befehl{ch}{ <=> } \ch{<=>} freccia di equilibrio + \befehl{ch}{ <=> } \ch{<=>} doppia freccia di equilibrio \befehl{ch}{ \lstinline+<=>>+ } \ch{<=>>} equilibrio spostato a destra \befehl{ch}{ \lstinline+<<=>+ } \ch{<<=>} equilibrio spostato a sinistra \befehl{ch}{ <o> } \ch{<o>} freccia isolobale @@ -2027,7 +2580,8 @@ Le frecce hanno due argomenti opzionali per essere etichettate. \ch{A ->[a][b] B} \\ \ch{A ->[\SI{100}{\celsius}] B} \end{beispiel} -Il testo descrittivo può essere elaborato indipendentemente dalla freccia: basta usare degli spazi. +Il testo descrittivo può essere elaborato indipendentemente dalla freccia: basta +usare degli spazi. \begin{beispiel} \ch{A ->[H2O] B} \\ \ch{A ->[ H2O ] B} \\ @@ -2035,7 +2589,16 @@ Il testo descrittivo può essere elaborato indipendentemente dalla freccia: bast \ch{A ->[$\Delta$,~ \[H+ \]] B} \end{beispiel} -Quando sono presenti gli spazi \chemformula elabora dapprima la parte tra parentesi come un input normale. Le frecce leggono i loro argomenti solo \emph{dopo} l'elaborazione. Come si può vedere, le frecce \enquote{crescono} con la lunghezza dell'etichetta, mentre rimane costante la parte eccedente. Nell'ultimo esempio si può inoltre vedere che le parentesi quadre all'interno degli argomenti dei comandi freccia devono essere inserite con \cmd{[} e \cmd{]}; naturalmente al di fuori di \cmd{ch} mantengono il loro comportamento normale. Questi comandi sono necessari perché il metodo solitamente impiegato di racchiudere le parentesi quadre tra parentesi graffe non funziona a causa del metodo in cui \cmd{ch} legge il suo argomento. +Quando sono presenti degli spazi \chemformula elabora dapprima la parte tra +parentesi come un input normale. Le frecce leggono i loro argomenti solo \emph{dopo} +l'elaborazione. Come si può vedere, le frecce \enquote{crescono} con la lunghezza +dell'etichetta, mentre rimane costante la parte eccedente. Nell'ultimo esempio si +può inoltre vedere che le parentesi quadre all'interno degli argomenti dei comandi +freccia devono essere inserite con \cmd{[} e \cmd{]}; naturalmente al di fuori di +\cmd{ch} mantengono il loro comportamento normale. Questi comandi sono necessari +perché il metodo solitamente impiegato di racchiudere le parentesi quadre tra +parentesi graffe non funziona a causa del modo in cui \cmd{ch} legge il suo +argomento. \begin{beispiel} \ch{A ->[a] B} \\ \ch{A ->[ab] B} \\ @@ -2050,12 +2613,20 @@ Quando sono presenti gli spazi \chemformula elabora dapprima la parte tra parent \subsection{Adattamento}\secidx[Adattamento]{Frecce} Con le opzioni seguenti è possibile adattare la resa grafica delle frecce: \begin{beschreibung} - \option{arrow-offset}{<dim>} La lunghezza della freccia eccedente l'etichetta (a sinistra e destra). La lunghezza di una freccia vuota è il doppio di \code{arrow-offset}. Una lunghezza di \TeX. Default = \code{1.5ex} - \option{arrow-yshift}{<dim>} Sposta una freccia verso l'alto (valore positivo) o verso il basso (valore negativo). Una lunghezza di \TeX. Default = \code{0pt} - \option{arrow-ratio}{<factor>} Il rapporto delle lunghezze della frecce di equilibrio spostato. \code{.4} significa che la freccia più corta è lunga \num{0.4} volte la freccia più lunga. Default = \code{.6} - \option{compound-sep}{<dim>} Lo spazio vuoto tra formule e frecce. Una lunghezza di \TeX. Default = \code{1ex} - \option{label-offset}{<dim>} Lo spazio tra le frecce e la loro etichetta. Una lunghezza di \TeX. Default = \code{2pt} - \option{label-style}{<font command>} La dimensione relativa di carattere dell'etichetta. Default = \lstinline+\footnotesize+ + \option{arrow-offset}{<dim>} La lunghezza della freccia eccedente l'etichetta (a + sinistra e destra). La lunghezza di una freccia vuota è il doppio di \code{arrow-offset}. + Una lunghezza di \TeX. Default = \code{1.5ex} + \option{arrow-yshift}{<dim>} Sposta una freccia verso l'alto (valore positivo) o + verso il basso (valore negativo); una dimensione di \TeX. Default = \code{0pt} + \option{arrow-ratio}{<factor>} Il rapporto tra le lunghezze delle frecce di equilibrio + spostato: \code{.4} significa che la freccia più corta è lunga \num{0.4} volte + la freccia più lunga. Default = \code{.6} + \option{compound-sep}{<dim>} Lo spazio vuoto tra formule e freccia; una dimensione + di \TeX. Default = \code{1ex} + \option{label-offset}{<dim>} Lo spazio tra freccia ed etichette; una dimensione + di \TeX. Default = \code{2pt} + \option{label-style}{<font command>} Il corpo del font dell'etichetta. Default = + \lstinline+\footnotesize+ \end{beschreibung} Il codice seguente mostra gli effetti delle varie opzioni sulla freccia \lstinline+<=>>+: @@ -2069,37 +2640,42 @@ Il codice seguente mostra gli effetti delle varie opzioni sulla freccia \lstinli etichette più piccole: \ch[label-style=\tiny]{A <=>[x][y] B} \end{beispiel} -\subsection{Adattare i tipi di frecce}\label{sec:arrows_modify}\secidx[tipi!adattare]{Frecce} +\subsection{Modificare i tipi di frecce}\label{sec:arrows_modify}\secidx[tipi!modificare]{Frecce} Le frecce sono definite attraverso il comando \begin{beschreibung} \Befehl{DeclareChemArrow}{<tokens>}\ma{<tikz>} \end{beschreibung} -\ma{<tokens>} sono i simboli sostituiti dal codice proprio della freccia. Ad esempio, la freccia principale è stata definita attraverso +\ma{<tokens>} sono i simboli sostituiti dal codice proprio della freccia. Ad esempio, +la freccia principale è stata definita attraverso \begin{beispiel}[code only] \DeclareChemArrow{->}{\draw[-cf] (cf_arrow_start) -- (cf_arrow_end) ;} \end{beispiel} -Nel caso si desideri definire proprie frecce, è necessario avere delle conoscenze fondamentali di \TikZ\footnote{Si rimanda alla guida \textsf{pgfmanual}.}. - -Esistono delle coordinate predefinite di cui si consiglia l'uso: +Nel caso si desideri definire frecce proprie sono necessarie conoscenze fondamentali +di \TikZ\footnote{Si rimanda alla guida \textsf{pgfmanual}.}. Si consiglia l'uso +di alcune coordinate predefinite: \begin{description} \item[\code{(cf\_arrow\_start)}] L'inizio della freccia. \item[\code{(cf\_arrow\_end)}] La fine della freccia. \item[\code{(cf\_arrow\_mid)}] La metà della freccia. - \item[\code{(cf\_arrow\_mid\_start)}] L'inizio della freccia più breve nelle freccie del tipo \lstinline+<=>>+. - \item[\code{(cf\_arrow\_mid\_end)}] La fine della freccia più breve nelle freccie del tipo \lstinline+<=>>+. - \item[\code{cf}, \code{left cf}, \code{right cf}] Punte di frecce definite per \chemformula. + \item[\code{(cf\_arrow\_mid\_start)}] L'inizio della freccia più breve nelle freccie + del tipo \lstinline+<=>>+. + \item[\code{(cf\_arrow\_mid\_end)}] La fine della freccia più breve nelle freccie + del tipo \lstinline+<=>>+. + \item[\code{cf}, \code{left cf}, \code{right cf}] Punte di frecce definite per + \chemformula. \end{description} \begin{beispiel} \DeclareChemArrow{.>}{\draw[-cf,dotted,red] (cf_arrow_start) -- (cf_arrow_end);} \DeclareChemArrow{n>}{\draw[-cf] (cf_arrow_start) .. controls ([yshift=3ex]cf_arrow_mid) .. (cf_arrow_end);} \ch{A .> B} \ch{A .>[a][b] B} \ch{A n> B} \end{beispiel} -Quando si desidera ridefinire una freccia preesistente, è possibile usare uno dei due comandi seguenti: +Quando si desidera ridefinire una freccia preesistente, è possibile usare uno dei +due comandi seguenti: \begin{beschreibung} \Befehl{RenewChemArrow}{<tokens>}\ma{<tikz>} \Befehl{ShowChemArrow}{<tokens>} \end{beschreibung} -Il secondo mostra la definizione esistente, il primo ridefinisce la freccia. +Il secondo mostra la definizione attuale, il primo ridefinisce la freccia. \begin{beispiel} \texttt{\ShowChemArrow{->}} \\ \RenewChemArrow{->}{\draw[->,red] (cf_arrow_start) -- (cf_arrow_end) ;} @@ -2110,16 +2686,20 @@ Il secondo mostra la definizione esistente, il primo ridefinisce la freccia. \section{Didascalie di formule}\secidx{Didascalie di formule} \subsection{Sintassi}\secidx[sintassi]{Didascalie di formule} -\chemformula ha una propria sintassi per scrivere del testo sotto ad una formula chimica; questa funziona in modo analogo agli argomenti opzionali delle frecce. +\chemformula ha una propria sintassi per scrivere del testo sotto ad una formula +chimica, che funziona in modo analogo agli argomenti opzionali delle frecce. \begin{beschreibung} \Befehl{ch}{ !(<name>)( <formula> ) } \end{beschreibung} -Quando un punto esclamativo viene seguito da una coppia di parentesi tonde, \chemformula fa il seguente: +Quando un punto esclamativo viene seguito da una coppia di parentesi tonde, +\chemformula fa il seguente: \begin{beispiel} \ch{!(ethanol)( CH2CH2OH )} \end{beispiel} -Quel che vale per le descrizioni di frecce vale anche qui: lasciando degli spazi le parti di input vengono elaborate a seconda del loro tipo, prima che la formula venga scritta sotto il testo. +Quel che vale per le etichette delle frecce vale anche qui: lasciando degli spazi +le parti di input vengono elaborate a seconda del loro tipo prima che il testo +venga scritto sotto la formula. \begin{beispiel} \ch{!(water)(H2O)} \quad \ch{!( "\textcolor{blue}{water}" )( H2O )} \quad @@ -2128,7 +2708,8 @@ Quel che vale per le descrizioni di frecce vale anche qui: lasciando degli spazi \ch{!(oxonium)( H3O+ )} \end{beispiel} -Se per qualche ragione si desidera avere un punto esclamativo \emph{senza} inserire un testo sotto una formula, bisogna solamente evitare di farlo seguire da parentesi. +Se per qualche ragione si desidera avere un punto esclamativo \emph{senza} aggiungere +un testo sotto una formula, è sufficiente evitare di farlo seguire da parentesi. \begin{beispiel} \ch{H2O~(!)} \\ \ch{A!{}()} @@ -2137,8 +2718,11 @@ Se per qualche ragione si desidera avere un punto esclamativo \emph{senza} inser \subsection{Personalizzazione}\secidx[Personalizzazione]{Didascalie di formule} \chemformula mette a disposizione due opzioni per adattare il testo: \begin{beschreibung} - \option{name-format}{<commands>} Il formato del testo. Può essere un input qualunque. Default = \lstinline+\scriptsize\centering+ - \option{name-width}{<dim>/auto} La larghezza del box nel quale viene posto il testo. \code{auto} riconosce la larghezza della didascalia e imposta il box di conseguenza. Default = \code{auto} + \option{name-format}{<commands>} Il formato del testo; può essere inserito un + input qualunque. Default = \lstinline+\scriptsize\centering+ + \option{name-width}{<dim>|auto} La larghezza del box nel quale viene posto il + testo: \code{auto} riconosce la larghezza della didascalia e imposta il box di + conseguenza. Default = \code{auto} \end{beschreibung} \begin{beispiel} \ch{!(acido)( H2SO4 ) -> B} \\ @@ -2149,24 +2733,29 @@ Se per qualche ragione si desidera avere un punto esclamativo \emph{senza} inser \secidx*{Didascalie di formule} \section{Formato e carattere}\label{sec:format}\secidx{Formato e carattere} -Come impostazione predefinita \chemformula non varia l'output delle formule. Prendiamo come esempio un input privo di senso chimico per dimostrare tutte le capacità di \chemformula: +Come impostazione predefinita \chemformula non varia l'output delle formule. +Prendiamo come esempio un input privo di senso chimico per dimostrare tutte le +capacità di \chemformula: \begin{beispiel} \newcommand*\sample{\ch{H2C-C+C-CH=CH+ + CrO4^2- <=>[x][y] 2.5 Cl^{-.} + 3_1/2 Na*OH_{(aq)} + !(name)( A^n ) "\LaTeXe"}} \sample \end{beispiel} \newcommand*\sample{\ch{H2C-C+C-CH=CH+ + CrO4^2- <=>[x][y] 2.5 Cl^{-.} + 3_1/2 Na*OH_{(aq)} + !(name)( A^n ) "\LaTeXe"}} -Ora variamo alcuni aspetti del testo e vediamo cosa succede: +Ora variamo alcuni aspetti del testo e osserviamo i risultati: \begin{beispiel}[below] \sffamily Ciao \sample \\ \ttfamily Ciao \sample \normalfont \\ \bfseries Ciao \sample \normalfont \\ \itshape Ciao \sample \end{beispiel} -Come si può vedere la maggior parte delle funzioni adattano le caratteristiche del font circostante. +Come si osserva la maggior parte delle funzioni adattano le caratteristiche del +font circostante. -Quando si vuole cambiare questo comportamento preimpostato oppure il formato di default è possibile usare la seguente opzione: +Quando si vuole cambiare questo comportamento preimpostato oppure il formato di +default è possibile usare la seguente opzione: \begin{beschreibung} - \option{format}{<anything>} Inserisce il codice desiderato all'inizio del comando \cmd{ch}. + \option{format}{<anything>} Inserisce il codice desiderato all'inizio del comando + \cmd{ch}. \end{beschreibung} \begin{beispiel} % blu e privo di grazie: @@ -2177,14 +2766,15 @@ Quando si vuole cambiare questo comportamento preimpostato oppure il formato di \itshape Ciao \sample \end{beispiel} -Inoltre si possono variare specificatamente la famiglia, la serie e la forma dell'output: +Si possono inoltre variare specificatamente la famiglia, la serie e la forma del +font dell'output: \begin{beschreibung} - \option{font-family}{<family>} Varia la famiglia di font dell'output con: \lstinline+\fontfamily{<family>}\selectfont+. - \option{font-series}{<series>} Varia la serie di font dell'output con: \lstinline+\fontseries{<series>}\selectfont+. - \option{font-shape}{<shape>} Varia la forma di font dell'output con \lstinline+\fontshape{<shape>}\selectfont+. + \option{font-family}{<family>} Varia la famiglia con: \lstinline+\fontfamily{<family>}\selectfont+. + \option{font-series}{<series>} Varia la serie con: \lstinline+\fontseries{<series>}\selectfont+. + \option{font-shape}{<shape>} Varia la forma con \lstinline+\fontshape{<shape>}\selectfont+. \end{beschreibung} \begin{beispiel} - % immer fett: + % sempre in nero: \chemsetup[chemformula]{font-series=bx} Ciao \sample \\ \sffamily Ciao \sample \normalfont \\ @@ -2192,7 +2782,9 @@ Inoltre si possono variare specificatamente la famiglia, la serie e la forma del \itshape Ciao \sample \end{beispiel} -Quando si impiegano \XeLaTeX\ oppure \LuaLaTeX\ avendo caricato il pacchetto \paket{fontspec}, è possibile variare il carattere di \chemformula anche in questo modo: +Quando si impiegano \XeLaTeX\ oppure \LuaLaTeX\ avendo caricato il pacchetto +\paket{fontspec}, è possibile variare il carattere di \chemformula anche nel +modo seguente: \begin{beschreibung} \Option{font-spec}{\{<font>\}} oppure con opzioni \Option{font-spec}{\{[<options>]<font>\}} @@ -2208,7 +2800,10 @@ Quando si impiegano \XeLaTeX\ oppure \LuaLaTeX\ avendo caricato il pacchetto \pa \secidx*{Formato e carattere} \section{Utilizzo in ambienti matematici}\secidx{Ambienti matematici} -Il comando \cmd{ch} può essere utilizzato in ambienti matematici. Riconosce \lstinline+\\+ e \lstinline+&+ e ne passa oltre i contenuti. Tuttavia gli argomenti opzionali di \lstinline+\\+ non possono essere utilizzati all'interno di \cmd{ch}. +Il comando \cmd{ch} può essere utilizzato in ambienti matematici; riconosce +\lstinline+\\+ e \lstinline+&+ e ne passa oltre i contenuti; tuttavia gli +argomenti opzionali di \lstinline+\\+ non possono essere utilizzati all'interno +di \cmd{ch}. \begin{beispiel} \begin{align} \ch{ @@ -2226,7 +2821,8 @@ Il comando \cmd{ch} può essere utilizzato in ambienti matematici. Riconosce \ls \secidx*{Ambienti matematici} \section{Ulteriori esempi} -Questo paragrafo mostra ulteriori esempi per l'impiego di \chemformula, ed in particolare l'accoppiamento agli ambienti \code{reaction} di \chemmacros. +Questo paragrafo mostra ulteriori esempi per l'impiego di \chemformula, ed in +particolare l'accoppiamento agli ambienti \code{reaction} di \chemmacros. \begin{beispiel} \begin{reaction}[Sintesi di alcani] @@ -2236,7 +2832,7 @@ Questo paragrafo mostra ulteriori esempi per l'impiego di \chemformula, ed in pa \begin{beispiel} \begin{reactions*} - "a)" && CH4 + Cl2 &-> CH3Cl + HCl && "{\small Clorometano/cloruro~di~metile}" \\ + "a)" && CH4 + Cl2 &-> CH3Cl + HCl && "{\small clorometano/cloruro~di~metile}" \\ "b)" && CH3Cl + Cl2 &-> CH2Cl2 + HCl && "{\small diclorometano/cloruro~di~metilene}" \\ "c)" && CH2Cl2 + Cl2 &-> CHCl3 + HCl && "{\small triclorometano/cloroformio}" \\ "d)" && CHCl3 + Cl2 &-> CCl4 + HCl && "{\small tetraclorometano/tetracloruro~di~carbonio}" @@ -2265,7 +2861,9 @@ Questo paragrafo mostra ulteriori esempi per l'impiego di \chemformula, ed in pa \end{reactions*} \end{beispiel} -L'esempio seguente mostra come si può eseguire la semplificazione di reazioni\footnote{Ispirato da una domanda su TeX.SE: \url{http://tex.stackexchange.com/q/30118/5049}}. +L'esempio seguente mostra come si può rappresentare la semplificazione di sistemi +di reazioni\footnote{Ispirato da una domanda su TeX.SE: +\url{http://tex.stackexchange.com/q/30118/5049}}. \begin{beispiel} % needs `cancel' \begin{align*} @@ -2280,7 +2878,8 @@ L'esempio seguente mostra come si può eseguire la semplificazione di reazioni\f \part{\texorpdfstring{\Ghsystem}{ghsystem}}\label{part:ghsystem}\secidx{GHSYSTEM} \section{Setup} -Tutte le opzioni di \ghsystem appartengono al modulo \textcolor{module}{\code{ghsystem}}. Possono essere impostate anche con +Tutte le opzioni di \ghsystem appartengono al modulo \textcolor{module}{\code{ghsystem}}. +Possono essere impostate anche con \begin{beschreibung} \Befehl{chemsetup}[ghsystem]{<options>} oppure \Befehl{chemsetup}{ghsystem/<option1>,ghsystem/<option2>} @@ -2294,7 +2893,8 @@ Inoltre possono essere passate anche localmente ai comandi come argomenti opzion \Befehl{ghs}[<options>]{<type>}\ma{<number>} \Befehl[ghsa]{ghs*}[<options>]{<type>}\ma{<number>} \end{beschreibung} -Esistono tre tipi di frasi: \code{h}, \code{euh} e \code{p}. L'argomento \ma{<type>} non distingue tra maiuscole e minuscole. +Esistono tre tipi di frasi: \code{h}, \code{euh} e \code{p}; l'argomento \ma{<type>} +non distingue tra maiuscole e minuscole. \begin{beispiel} \ghs{h}{200} \\ \ghs{H}{224} \\ @@ -2303,9 +2903,11 @@ Esistono tre tipi di frasi: \code{h}, \code{euh} e \code{p}. L'argomento \ma{<ty \ghs{p}{201} \end{beispiel} -La versione asteriscata nasconde il numero e restituisce solo la frase. Quando si desidera nascondere la frase e richiamare solo il numero, è possibile utilizzare l'opzione seguente: +La versione asteriscata nasconde il numero e restituisce solo la frase. Quando si +desidera nascondere la frase e richiamare solo il numero, è possibile utilizzare +l'opzione seguente: \begin{beschreibung} - \Option{hide}{\default{true}/false} + \Option{hide}{\default{true}|false} \end{beschreibung} Inoltre esiste un'opzione per adattare l'output. @@ -2320,17 +2922,19 @@ Inoltre esiste un'opzione per adattare l'output. \end{beispiel} \subsection{Frasi con segnaposto}\secidx[Segnaposto]{GHSYSTEM} -Alcune frasi utilizzano dei segnaposto. Ve ne sono quattro tipi: +Alcune frasi utilizzano dei segnaposto; ve ne sono quattro diversi: \begin{itemize} - \item \textit{\textless indicare la via di esposizione se è accertato che nessun'altra via di esposizione comporta il medesimo pericolo\textgreater} + \item \textit{\textless indicare la via di esposizione se è accertato che + nessun'altra via di esposizione comporta il medesimo pericolo\textgreater} \item \textit{\textless indicare l'effetto specifico, se noto\textgreater} \item \textit{\textless o indicare tutti gli organi interessati, se noti\textgreater} \item \textit{\textless denominazione della sostanza sensibilizzante\textgreater} \end{itemize} -Da predefinito sono nascosti tutti tranne l'ultimo, che deve essere sostituito. Possono essere resi visibili attraverso l'opzione +Da predefinito sono nascosti tutti tranne l'ultimo, che deve essere sostituito. +Possono essere resi visibili attraverso l'opzione \begin{beschreibung} - \option{fill-in}{\default{true}/false} Default = \code{false} + \option{fill-in}{\default{true}|false} Default = \code{false} \end{beschreibung} \begin{beispiel}[below] \ghs{h}{340} \\ @@ -2358,7 +2962,7 @@ Con le opzioni seguenti è possibile sostituire i segnaposto: \end{beispiel} \subsection{Frasi con buchi}\secidx[Frasi con buchi]{GHSYSTEM} -Alcune frasi hanno dei buchi: +Alcune frasi hanno dei \enquote{buchi}: \begin{beispiel} \ghs{p}{301} \\ \ghs{p}{401} \\ @@ -2368,12 +2972,13 @@ Alcune frasi hanno dei buchi: Con le seguenti opzioni questi buchi possono essere riempiti: \begin{beschreibung} - \option{text}{<text>} Riempie il \enquote{buco invisibile} che segue un doppio punto. + \option{text}{<text>} Riempie il \enquote{buco invisibile} che segue un doppio + punto. \option{dots}{<text>} Riempie il buco indicato da \enquote{\ldots}. \option{C-temperature}{<num>} Inserisce la temperatura in Celsius. \option{F-temperature}{<num>} Inserisce la temperatura in Fahrenheit. - \option{kg-mass}{<num>} Inserisce massa in chilogrammi. - \option{lbs-mass}{<num>} Inserisce massa in libbre. + \option{kg-mass}{<num>} Inserisce la massa in chilogrammi. + \option{lbs-mass}{<num>} Inserisce la massa in libbre. \end{beschreibung} \begin{beispiel} \ghs[dots=Contattare un medico!]{p}{301} \\ @@ -2389,20 +2994,26 @@ Esistono alcune frasi combinate. Vengono inserite con un \code{+} tra i numeri: \ghs{p}{301+330+331} \end{beispiel} -Si noti che sono valide solo le combinazioni ufficiali. \emph{Non è possibile combinare le frasi a piacere}. +Si noti che sono valide solo le combinazioni ufficiali. \emph{Non è possibile +combinare le frasi a piacere}. \secidx*{Frasi di rischio e sicurezza} \section{Pittogrammi}\secidx{Pittogrammi} \subsection{Le immagini} -Il GHS contiene alcuni pittogrammi: +Il \ac{ghs} contiene alcuni pittogrammi: -\ghspic{explos} \ghspic{flame} \ghspic{flame-O} \ghspic{bottle} \ghspic{acid} \ghspic{skull} \ghspic{exclam} \ghspic{health} \ghspic{aqpol} +\ghspic{explos} \ghspic{flame} \ghspic{flame-O} \ghspic{bottle} \ghspic{acid} +\ghspic{skull} \ghspic{exclam} \ghspic{health} \ghspic{aqpol} Il comando \begin{beschreibung} \Befehl{ghspic}[<options>]{<name>} \end{beschreibung} -li carica. \ref{tab:ghs_pictograms} mostra tutti i pittogrammi e i nomi dei loro file, o meglio: mostra i nomi dei file da utilizzare con il comando \cmd{ghspic}. Di fatti i file si chiamano \lstinline=ghsystem_<name>.<filetype>=, dove \code{<filetype>} dev'essere un'estensione tra \code{eps}, \code{jpg} oppure \code{png}, vedi anche il paragrafo \ref{ssec:picture_type}. +li carica. La tabella~\ref{tab:ghs_pictograms} mostra tutti i pittogrammi e i nomi +dei loro file, o meglio: mostra i nomi dei file da utilizzare con il comando \cmd{ghspic}. +In realtà i file si chiamano \lstinline=ghsystem_<name>.<filetype>=, dove +\code{<filetype>} è un'estensione tra \code{eps}, \code{pdf}, \code{jpg} +oppure \code{png}, vedi anche il paragrafo~\ref{ssec:picture_type}. \begin{beispiel} \ghspic{skull} \end{beispiel} @@ -2411,12 +3022,14 @@ Se si preferisce variare la dimensione, è disponibile l'opzione \begin{beschreibung} \option{scale}{<factor>} Scala il pittogramma. Default = \code{1} \end{beschreibung} -Le immagini originali sono piuttosto grandi. La preimpostazione (fattore = $1$) scala le immagini ad un ventesimo della loro dimensione reale. +Le immagini originali sono piuttosto grandi. La preimpostazione (fattore = $1$) +scala le immagini ad un ventesimo della loro dimensione reale. \begin{beispiel} \ghspic[scale=2]{skull} \end{beispiel} -Se si desidera utilizzare opzioni speciali di \lstinline=\includegraphics=, ad esempio per ruotare il pittogramma, va usata l'opzione seguente: +Se si desidera utilizzare opzioni speciali di \lstinline=\includegraphics=, ad +esempio per ruotare il pittogramma, va usata l'opzione seguente: \begin{beschreibung} \Option{includegraphics}{\{<includegraphics keyvals>\}} \end{beschreibung} @@ -2425,7 +3038,7 @@ Se si desidera utilizzare opzioni speciali di \lstinline=\includegraphics=, ad e \end{beispiel} \begin{longtable}{>{\ttfamily}ll>{\ttfamily}ll} - \caption{Tutti i pittogrammi GHS disponibili.\label{tab:ghs_pictograms}} \\ + \caption{Tutti i pittogrammi \ac{ghs} disponibili.\label{tab:ghs_pictograms}} \\ \toprule \normalfont\bfseries nome & \bfseries pittogramma & \normalfont\bfseries nome & \bfseries pittogramma \\ \midrule\endfirsthead @@ -2454,23 +3067,32 @@ Se si desidera utilizzare opzioni speciali di \lstinline=\includegraphics=, ad e aqpol & \ghspic{aqpol} & & \\ \end{longtable} -\subsection{Il tipo dell'immagine dipende dall'engine}\label{ssec:picture_type} -L'utente probabilmente è a conoscenza che non tutti i tipi di immagini sono compatibili con ciascun compilatore. \pdfTeX\ in modalità \textsc{dvi} richiede file di tipo \code{eps}, mentre \pdfTeX\ in modalità \textsc{pdf}, \XeTeX\ e \LuaTeX\ convertono file di tipo \code{eps} in \code{pdf}, ammesso che l'utente abbia diritti di scrittura nella cartella contenente le immagini. +\subsection{Il tipo dell'immagine dipende dal compilatore}\label{ssec:picture_type} +L'utente probabilmente è a conoscenza che non tutti i tipi di immagini sono compatibili +con ciascun compilatore. \pdfTeX\ in modalità \textsc{dvi} richiede file di tipo +\code{eps}, mentre \pdfTeX\ in modalità \textsc{pdf}, \XeTeX\ e \LuaTeX\ convertono +file di tipo \code{eps} in \code{pdf}, ammesso che l'utente abbia diritti di scrittura +nella cartella contenente le immagini. Gli ultimi elencati sanno tuttavia +includere immagini di tipo \code{jpg} e \code{png} senza problemi, mentre +\pdfTeX\ in modalità \textsc{dvi} non ne è capace. -Gli ultimi elencati sanno tuttavia includere immagini di tipo \code{jpg} e \code{png} senza problemi mentre \pdfTeX\ in modalità \textsc{dvi} non ne è capace. - -Per risolvere il problema \ghsystem verifica quale compilatore viene utilizzato, e nel caso di \pdfTeX\ anche la modalità di utilizzo; poi sceglie quale immagine utilizzare tra \code{eps} e \code{png} per i pittogrammi. In ogni caso il tipo di immagine può essere selezionato a piacimento attraverso l'opzione +Per risolvere il problema \ghsystem verifica quale compilatore viene utilizzato, +e nel caso di \pdfTeX\ anche la modalità di utilizzo; poi sceglie quale immagine +utilizzare tra \code{eps} e \code{png} per i pittogrammi. In ogni caso il tipo di +immagine può essere selezionato a piacimento attraverso l'opzione \begin{beschreibung} - \Option{pic-type}{eps/jpg/png} + \Option{pic-type}{eps|pdf|jpg|png} \end{beschreibung} \secidx*{Pittogrammi} \section{Lingue disponibili}\label{sec:ghsystem_language} -Al momento attuale le frasi H e P sono disponibili solo in inglese, tedesco ed italiano. Il pacchetto reagisce all'opzione \key[option]{german} di \chemmacros, ma non riconosce (ancora) la lingua impostata con \paket{babel} o \paket{polyglossia}. +Al momento attuale le frasi H e P sono disponibili solo in inglese, tedesco ed +italiano. Il pacchetto reagisce all'opzione \key[option]{italian} di \chemmacros, +ma non riconosce (ancora) la lingua impostata con \paket{babel} o \paket{polyglossia}. È possibile scegliere la lingua anche in modo esplicito. \begin{beschreibung} - \Option{language}{english/german/italian} + \Option{language}{english|german|italian} \end{beschreibung} \begin{beispiel} \ghs{h}{201} @@ -2479,7 +3101,11 @@ Al momento attuale le frasi H e P sono disponibili solo in inglese, tedesco ed i \ghs{h}{201} \end{beispiel} -È mia intenzione implementare ulteriori lingue in futuro; tuttavia potrebbe volerci ancora del tempo. Chi volesse partecipare a \ghsystem e trascrivere le frasi in un'altra lingua, è invitato a contattarmi\footnote{\href{mailto:contac@mychemistry.eu}{contact@mychemistry.eu}}; gli metterò a disposizione un file template, un \code{pdf} contenenti le traduzioni officiali ed ogni aiuto ulteriore necessario. +È mia intenzione implementare ulteriori lingue in futuro; tuttavia potrebbe volerci +ancora del tempo. Chi volesse partecipare a \ghsystem e trascrivere le frasi in +un'altra lingua, è invitato a contattarmi\footnote{\href{mailto:contac@mychemistry.eu}{contact@mychemistry.eu}}; +gli metterò a disposizione un file template, un \code{pdf} contenenti le traduzioni +officiali ed ogni ulteriore aiuto necessario. \section{Lista delle frasi}\secidx{Lista delle frasi} Se si desidera elencare tutte le frasi, è possibile utilizzare il comando @@ -2487,23 +3113,36 @@ Se si desidera elencare tutte le frasi, è possibile utilizzare il comando \Befehl{ghslistall}[<options>] \end{beschreibung} -Questo comando crea una tabella di tutte le frasi nell'ambiente \lstinline=longtable= del pacchetto \paket{longtable}. Il suo aspetto può essere adattato con le opzioni seguenti. +Questo comando crea una tabella di tutte le frasi nell'ambiente \lstinline=longtable= +del pacchetto \paket{longtable}. Il suo aspetto può essere adattato con le opzioni +seguenti. \begin{beschreibung} - \option{table-head-number}{<text>} Default = \code{numero} - \option{table-head-text}{<text>} Default = \code{frase} - \option{table-next-page}{<text>} Default = \code{segue sulla prossima pagina} - \option{table-caption}{<text>} \code{<text>} in \lstinline=\caption{<text>}=. Default = \code{Tutte le frasi H, EUH e P.} + \option{table-head-number}{<text>} Default = \code{Numero} + \option{table-head-text}{<text>} Default = \code{Frase} + \option{table-next-page}{<text>} Default = \code{Continua nella prossima pagina} + \option{table-caption}{<text>} Didascalia della tabella. Default = \code{Elenco + di tutte le frasi H, EUH e P.} \option{table-caption-short}{<text>} \code{<short>} in \lstinline=\caption[<short>]{<text>}=. - \option{table-label}{<text>} Il label per inserire riferimenti incrociati con comandi del tipo di \lstinline=\ref=. Default = \code{tab:ghs-hp-statements} - \option{table-row-sep}{<dim>} Distanza tra le righe. Una dimensione di \TeX. Default = \code{3pt} - \option{table-rules}{\default{default}/booktabs/none} Lo stile delle righe orizzontali della tabella. \code{default} utilizza \lstinline=\hline=, \code{booktabs} utilizza \lstinline=\toprule=, \lstinline=\midrule= e \lstinline=\bottomrule=. Questa opzione richiede il pacchetto \paket{booktabs}, che deve essere caricato. Default = \code{default} - \option{table-top-head-rule}{\default{default}/booktabs/none} Variare la riga in modo esplicito. Default = \code{default} - \option{table-head-rule}{\default{default}/booktabs/none} Variare la riga in modo esplicito. Default = \code{default} - \option{table-foot-rule}{\default{default}/booktabs/none} Variare la riga in modo esplicito. Default = \code{default} - \option{table-last-foot-rule}{\default{default}/booktabs/none} Variare la riga in modo esplicito. Default = \code{default} -\end{beschreibung} - -Il codice seguente mostra come è stato creata \ref{tab:ghs-hp-statements}: + \option{table-label}{<text>} L'etichetta per l'uso di riferimenti incrociati con + i comandi del tipo di \lstinline=\ref=. Default = \code{tab:ghs-hp-statements} + \option{table-row-sep}{<dim>} Distanza tra le righe. Una dimensione di \TeX. + Default = \code{3pt} + \option{table-rules}{\default{default}|booktabs|none} Lo stile delle righe + orizzontali della tabella. \code{default} utilizza \lstinline=\hline=, \code{booktabs} + utilizza \lstinline=\toprule=, \lstinline=\midrule= e \lstinline=\bottomrule=. + Questa opzione richiede che sia caricato il pacchetto \paket{booktabs}. Default + = \code{default} + \option{table-top-head-rule}{\default{default}|booktabs|none} Varia la riga in + modo esplicito. Default = \code{default} + \option{table-head-rule}{\default{default}|booktabs|none} Varia la riga in modo + esplicito. Default = \code{default} + \option{table-foot-rule}{\default{default}|booktabs|none} Varia la riga in modo + esplicito. Default = \code{default} + \option{table-last-foot-rule}{\default{default}|booktabs|none} Varia la riga in + modo esplicito. Default = \code{default} +\end{beschreibung} + +Il codice seguente mostra come è stata creata la tabella~\ref{tab:ghs-hp-statements}: \begin{beispiel}[code only] \ghslistall[fill-in,table-rules=booktabs] \end{beispiel} @@ -2515,12 +3154,17 @@ Il codice seguente mostra come è stato creata \ref{tab:ghs-hp-statements}: \part{Appendice}\index{APPENDICE@\textbf{APPENDICE}} \addsec{Panoramica delle opzioni e modalità di adattamento}\label{sec:overview}\secidx{Panoramica delle opzioni (chemmacros)}[Panoramica delle opzioni] \minisec{Opzioni} -Nella tabella seguente sono elencate tutte le opzioni disponibili in \chemmacros. Tutte le opzioni che appartengono ad un particolare modulo possono essere impostate tramite +Nella tabella seguente sono elencate tutte le opzioni disponibili in \chemmacros. +Tutte le opzioni che appartengono ad un particolare modulo possono essere impostate +tramite \begin{beschreibung} \Befehl{chemsetup}[<module>]{<options>} oppure \Befehl{chemsetup}{<module>/<options>} \end{beschreibung} -Alcune opzioni possono essere utilizzate senza un valore; in tal caso verrà utilizzato il valore \default{sottolineato}. Le opzioni dei moduli \code{\textcolor{module}{chemformula}} e \code{\textcolor{module}{ghssystem}} non sono elencate a parte. +Alcune opzioni possono essere richiamate senza assegnargli un valore; in tal caso +verrà utilizzato il valore \default{sottolineato}. Le opzioni dei moduli +\code{\textcolor{module}{chemformula}} e \code{\textcolor{module}{ghssystem}} non +sono elencate a parte. \small \begin{longtable}{>{\ttfamily\color{key}\hspace{5mm}}l>{\ttfamily\color{module}}l>{\ttfamily}l>{\ttfamily}ll} \toprule @@ -2533,79 +3177,82 @@ Alcune opzioni possono essere utilizzate senza un valore; in tal caso verrà uti \bottomrule \endfoot \multicolumn{5}{l}{opzioni globali:} \\ - bpchem & option & \default{true}/false & false & pagina \pageref{key:option_bpchem} \\ - circled & option & formal/\default{all}/none & formal & pagina \pageref{key:option_circled} \\ - circletype & option & chem/math & chem & pagina \pageref{key:option_circletype} \\ - cmversion & option & 1/2/bundle & bundle & pagina \pageref{key:option_cmversion} \\ - ghsystem & option & \default{true}/false & true & pagina \pageref{key:option_ghsystem} \\ - iupac & option & auto/restricted/strict & auto & pagina \pageref{key:option_iupac} \\ + bpchem & option & \default{true}|false & false & pagina \pageref{key:option_bpchem} \\ + circled & option & \default{formal}|all|none & formal & pagina \pageref{key:option_circled} \\ + circletype & option & chem|math & chem & pagina \pageref{key:option_circletype} \\ + cmversion & option & 1|2|bundle & bundle & pagina \pageref{key:option_cmversion} \\ + ghsystem & option & \default{true}|false & true & pagina \pageref{key:option_ghsystem} \\ + iupac & option & auto|restricted|strict & auto & pagina \pageref{key:option_iupac} \\ language & option & <language> & english & pagina \pageref{key:option_language} \\ - method & option & chemformula/formula & formula & pagina \pageref{key:option_method} \\ - Nu & option & chemmacros/mathspec & chemmacros & pagina \pageref{key:option_Nu} \\ - strict & option & \default{true}/false & false & pagina \pageref{key:option_strict} \\ - synchronize & option & \default{true}/false & false & pagina \pageref{key:option_synchronize} \\ - greek & option & math/textgreek/\default{upgreek} & upgreek & pagina \pageref{key:option_greek} \\ - xspace & option & \default{true}/false & true & pagina \pageref{key:option_xspace} \\ + method & option & chemformula|mhchem & chemformula & pagina \pageref{key:option_method} \\ + Nu & option & chemmacros|mathspec & chemmacros & pagina \pageref{key:option_Nu} \\ + strict & option & \default{true}|false & false & pagina \pageref{key:option_strict} \\ + synchronize & option & \default{true}|false & false & pagina \pageref{key:option_synchronize} \\ + greek & option & math|textgreek|\default{upgreek} & upgreek & pagina \pageref{key:option_greek} \\ + xspace & option & \default{true}|false & true & pagina \pageref{key:option_xspace} \\ \multicolumn{5}{l}{\cmd{ba}, \cmd{Nu}:} \\ - elpair & particle & \default{dots}/dash/false & false & pagina \pageref{key:particle_elpair} \\ - \multicolumn{5}{l}{IUPAC-Befehle:} \\ + elpair & particle & \default{dots}|dash|false & false & pagina \pageref{key:particle_elpair} \\ + \multicolumn{5}{l}{comandi IUPAC:} \\ break-space & iupac & <dim> & .01em & pagina \pageref{key:iupac_break-space} \\ - bridge-number & iupac & sub/super & sub & pagina \pageref{key:iupac_bridge-number} \\ - coord-use-hyphen & iupac & \default{true}/false & true & pagina \pageref{key:iupac_coord-use-hyphen} \\ + bridge-number & iupac & sub|super & sub & pagina \pageref{key:iupac_bridge-number} \\ + cip-kern & iupac & <dim> & .1ex & pagina \pageref{key:iupac_cip-kern} \\ + coord-use-hyphen & iupac & \default{true}|false & true & pagina \pageref{key:iupac_coord-use-hyphen} \\ hyphen-pre-space & iupac & <dim> & .01em & pagina \pageref{key:iupac_hyphen-pre-space} \\ hyphen-post-space & iupac & <dim> & -.03em & pagina \pageref{key:iupac_hyphen-post-space} \\ \multicolumn{5}{l}{\cmd{DeclareChemLatin}:} \\ format & latin & <anything> & \lstinline=\itshape= & pagina \pageref{key:latin_format} \\ \multicolumn{5}{l}{\cmd{pch}, \cmd{mch}, \cmd{fpch}, \cmd{fmch}:} \\ - append & charges & \default{true}/false & false & pagina \pageref{key:charges_append} \\ - \multicolumn{5}{l}{acid/base:} \\ - p-style & acid-base & slanted/italics/upright & upright & pagina \pageref{key:acid-base_p-style} \\ + append & charges & \default{true}|false & false & pagina \pageref{key:charges_append} \\ + \multicolumn{5}{l}{acido/base:} \\ + p-style & acid-base & slanted|italics|upright & upright & pagina \pageref{key:acid-base_p-style} \\ \multicolumn{5}{l}{\cmd{ox}:} \\ - parse & ox & \default{true}/false & true & pagina \pageref{key:ox_parse} \\ - roman & ox & \default{true}/false & true & pagina \pageref{key:ox_roman} \\ - pos & ox & top/super/side & top & pagina \pageref{key:ox_pos} \\ - explicit-sign & ox & \default{true}/false & false & pagina \pageref{key:ox_explicit-sign} \\ - decimal-marker & ox & comma/point & point & pagina \pageref{key:ox_decimal-marker} \\ + align & ox & center|right & center & pagina~\pageref{key:ox_align} \\ + parse & ox & \default{true}|false & true & pagina \pageref{key:ox_parse} \\ + roman & ox & \default{true}|false & true & pagina \pageref{key:ox_roman} \\ + pos & ox & top|super|side & top & pagina \pageref{key:ox_pos} \\ + explicit-sign & ox & \default{true}|false & false & pagina \pageref{key:ox_explicit-sign} \\ + decimal-marker & ox & comma|point & point & pagina \pageref{key:ox_decimal-marker} \\ + align & ox & center|right & center & pagina \pageref{key:ox_align}\\ \multicolumn{5}{l}{\cmd{OX}, \cmd{redox}:} \\ dist & redox & <dim> & .6em & pagina \pageref{key:redox_dist} \\ sep & redox & <dim> & .2em & pagina \pageref{key:redox_sep} \\ \multicolumn{5}{l}{\cmd{Enthalpy}, \cmd{Entropy}, \cmd{Gibbs}:} \\ exponent & & <anything> & \cmd{standardstate} & pagina \pageref{key:none_exponent} \\ - delta & & <anything>/false & & pagina \pageref{key:none_delta} \\ - subscript & & left/right & & pagina \pageref{key:none_subscript} \\ + delta & & <anything>|false & & pagina \pageref{key:none_delta} \\ + subscript & & left|right & & pagina \pageref{key:none_subscript} \\ unit & & <unit> & & pagina \pageref{key:none_unit} \\ \multicolumn{5}{l}{\cmd{DeclareChemState}, \cmd{RenewChemState}:} \\ exponent & & <anything> & \cmd{standardstate} & pagina \pageref{key:none_exponent} \\ - delta & & <anything>/false & & pagina \pageref{key:none_delta} \\ + delta & & <anything>|false & & pagina \pageref{key:none_delta} \\ subscript & & <anything> & & pagina \pageref{key:none_subscript} \\ - subscript-left & & \default{true}/false & & pagina \pageref{key:none_subscript-left} \\ + subscript-left & & \default{true}|false & & pagina \pageref{key:none_subscript-left} \\ \multicolumn{5}{l}{\cmd{State}:} \\ exponent & state & <anything> & \cmd{standardstate} & pagina \pageref{key:state_exponent} \\ - delta & state & <anything>/false & & pagina \pageref{key:state_delta} \\ - subscript-left & state & \default{true}/false & & pagina \pageref{key:state_subscript-left} \\ + delta & state & <anything>|false & & pagina \pageref{key:state_delta} \\ + subscript-left & state & \default{true}|false & & pagina \pageref{key:state_subscript-left} \\ \multicolumn{5}{l}{\cmd{NMR}, \env{spectroscopy}{}:} \\ unit & nmr & <unit> & \cmd{mega}\cmd{hertz} & pagina \pageref{key:nmr_unit} \\ nucleus & nmr & \{<num>,<atom symbol>\} & \{1,H\} & pagina \pageref{key:nmr_nucleus} \\ format & nmr & <anything> & & pagina \pageref{key:nmr_format} \\ - pos-number & nmr & side/sub & side & pagina \pageref{key:nmr_pos-number} \\ + pos-number & nmr & side|sub & side & pagina \pageref{key:nmr_pos-number} \\ coupling-unit & nmr & <unit> & \lstinline+\hertz+ & pagina \pageref{key:nmr_coupling-unit} \\ - parse & nmr & \default{true}/false & true & pagina \pageref{key:nmr_parse} \\ + parse & nmr & \default{true}|false & true & pagina \pageref{key:nmr_parse} \\ delta & nmr & <anything> & & pagina \pageref{key:nmr_delta} \\ - list & nmr & \default{true}/false & false & pagina \pageref{key:nmr_list} \\ - list-setup & nmr & & vedi il testo & pagina \pageref{key:nmr_list-setup} \\ - use-equal & nmr & \default{true}/false & false & pagina \pageref{key:nmr_use-equal} \\ + list & nmr & \default{true}|false & false & pagina \pageref{key:nmr_list} \\ + list-setup & nmr & & (vedi il testo) & pagina \pageref{key:nmr_list-setup} \\ + use-equal & nmr & \default{true}|false & false & pagina \pageref{key:nmr_use-equal} \\ \multicolumn{5}{l}{\cmd{DeclareChemReaction}:} \\ - star & & \default{true}/false & false & pagina \pageref{key:none_star} \\ - arg & & \default{true}/false & false & pagina \pageref{key:none_arg} \\ + star & & \default{true}|false & false & pagina \pageref{key:none_star} \\ + arg & & \default{true}|false & false & pagina \pageref{key:none_arg} \\ list-name & reaction & <anything> & Elenco delle reazioni & pagina \pageref{key:reaction_list-name} \\ - list-entry & reaction & <anything> & Reaction & pagina \pageref{key:reaction_list-entry} \\ + list-entry & reaction & <anything> & Reazione & pagina \pageref{key:reaction_list-entry} \\ \multicolumn{5}{l}{\cmd{mhName}:} \\ align & mhName & <alignment> & \cmd{centering} & pagina \pageref{key:mhName_align} \\ format & mhName & <commands> & & pagina \pageref{key:mhName_format} \\ fontsize & mhName & <fontsize> & \cmd{tiny} & pagina \pageref{key:mhName_fontsize} \\ - width & mhName & <dim> & & pagina \pageref{key:mhName_width} \\ - \multicolumn{5}{l}{phases:} \\ - pos & phases & side/sub & side & pagina \pageref{key:phases_pos} \\ + width & mhName & <dim> & auto & pagina \pageref{key:mhName_width} \\ + \multicolumn{5}{l}{fasi:} \\ + pos & phases & side|sub & side & pagina \pageref{key:phases_pos} \\ space & phases & <dim> & .1333em & pagina \pageref{key:phases_space} \\ \multicolumn{5}{l}{\cmd{newman}:} \\ angle & newman & <angle> & 0 & pagina \pageref{key:newman_angle} \\ @@ -2613,53 +3260,75 @@ Alcune opzioni possono essere utilizzate senza un valore; in tal caso verrà uti ring & newman & <tikz> & & pagina \pageref{key:newman_ring} \\ atoms & newman & <tikz> & & pagina \pageref{key:newman_atoms} \\ back-atoms & newman & <tikz> & & pagina \pageref{key:newman_back-atoms} \\ - \multicolumn{5}{l}{\cmd{orbital} \ttfamily <type> = s/p/sp/sp2/sp3:} \\ - phase & orbital/<type> & +/- & + & pagina \pageref{key:orbital_phase} \\ + \multicolumn{5}{l}{\cmd{orbital} \ttfamily <type> = s|p|sp|sp2|sp3:} \\ + phase & orbital/<type> & +|- & + & pagina \pageref{key:orbital_phase} \\ scale & orbital/<type> & <factor> & 1 & pagina \pageref{key:orbital_scale} \\ color & orbital/<type> & <color> & black & pagina \pageref{key:orbital_color} \\ angle & orbital/<type> & <angle> & 90 & pagina \pageref{key:orbital_angle} \\ - half & orbital/p & \default{true}/false & false & pagina \pageref{key:orbital_half} \\ - overlay & orbital & \default{true}/false & false & pagina \pageref{key:orbital_overlay} \\ - opacity & ornital & <num> & 1 & pagina \pageref{key:orbital_opacity} + half & orbital/p & \default{true}|false & false & pagina \pageref{key:orbital_half} \\ + overlay & orbital & \default{true}|false & false & pagina \pageref{key:orbital_overlay} \\ + opacity & orbital & <num> & 1 & pagina \pageref{key:orbital_opacity} \end{longtable} \normalsize \minisec{Comandi di personalizzazione} -È stata presentata una serie di comandi che mostrano le possibilità di adattare \chemmacros. Vengono elencate nuovamente qui sotto. +È stata presentata una serie di comandi che mostrano le possibilità di adattare +\chemmacros. Vengono elencati nuovamente qui sotto. \begin{beschreibung} - \befehl{DeclareChemArrow} Definisce una nuova freccia, vedi a pagina \pageref{cmd:DeclareChemArrow}. + \befehl{DeclareChemArrow} Definisce una nuova freccia; vedi a + pagina~\pageref{cmd:DeclareChemArrow}. \befehl{RenewChemArrow} Modifica una freccia già esistente. - \befehl{DeclareChemIUPAC} Definisce un nuovo comando IUPAC, vedi a pagina \pageref{cmd:DeclareChemIUPAC}. + \befehl{DeclareChemBond} Definisce un nuovo legame; vedi a + pagina~\pageref{cmd:DeclareChemBond}. + \befehl{RenewChemBond} Ridefinisce un legame. + \befehl{DeclareChemBondAlias} Definisce un alias per un legame esistente. + \befehl{DeclareChemIUPAC} Definisce un nuovo comando IUPAC; vedi a + pagina~\pageref{cmd:DeclareChemIUPAC}. \befehl{RenewChemIUPAC} Ridefinisce un comando IUPAC. - \befehl{DeclareChemLatin} Definisce un nuovo termine latino, vedi a pagina \pageref{cmd:DeclareChemLatin}. + \befehl{DeclareChemLatin} Definisce un nuovo termine latino; vedi a + pagina~\pageref{cmd:DeclareChemLatin}. \befehl{RenewChemLatin} Ridefinisce un termine latino. - \befehl{DeclareChemNMR} Definisce un nuovo comando NMR, vedi a pagina \pageref{cmd:DeclareChemNMR}. + \befehl{DeclareChemNMR} Definisce un nuovo comando NMR; vedi a + pagina~\pageref{cmd:DeclareChemNMR}. \befehl{RenewChemNMR} Ridefinisce un comando NMR. - \befehl{DeclareChemParticle} Definisce una nuova particella, vedi a pagina \pageref{cmd:DeclareChemParticle}. + \befehl{DeclareChemParticle} Definisce una nuova particella; vedi a + pagina~\pageref{cmd:DeclareChemParticle}. \befehl{RenewChemParticle} Ridefinisce una particella. - \befehl{DeclareChemPhase} Definisce un nuovo comando di fase, vedi a pagina \pageref{cmd:DeclareChemPhase}. - \befehl{RenewChemPhase} Ridefinisce un comando di fase - \befehl{DeclareChemReaction} Definisce un nuovo ambiente di reazione, vedi a pagina \pageref{cmd:DeclareChemReaction}. - \befehl{DeclareChemState} Definisce una nuova grandezza di stato, vedi a pagina \pageref{cmd:DeclareChemState}. + \befehl{DeclareChemPhase} Definisce un nuovo comando di fase; vedi a + pagina~\pageref{cmd:DeclareChemPhase}. + \befehl{RenewChemPhase} Ridefinisce un comando di fase. + \befehl{DeclareChemReaction} Definisce un nuovo ambiente di reazione; vedi a + pagina~\pageref{cmd:DeclareChemReaction}. + \befehl{DeclareChemState} Definisce una nuova grandezza di stato; vedi a + pagina~\pageref{cmd:DeclareChemState}. \befehl{RenewChemState} Ridefinisce una grandezza di stato. \end{beschreibung} \secidx*{Panoramica delle opzioni (chemmacros)}[Panoramica delle opzioni] \addsec{Suggerimenti e avvisi di bug} -Ogni feedback riguardante \chemmacros, \chemformula e \ghsystem è il benvenuto! Se vi sono proposte, se mancano delle funzionalità oppure vengono notati dei bug, non esitate a contattarmi. Se venissero trovati degli errori, siano essi di natura chimica, documentazione sbagliata ecc.\ sarei grato di una breve e-mail\footnote{\href{mailto:contact@mychemistry.eu}{contact@mychemistry.eu}}. - -Se venisse trovato un bug, sarebbe il meglio mandarmi un esempio minimale con cui sia possibile riprodurre il bug. È anche possibile segnalaro come \enquote{Issue} su \url{https://bitbucket.org/cgnieder/chemmacros/}. - -Ringrazio tanto anche tutti coloro da cui ho già avuto segnalazioni, in particolare (in ordine alfabetico): +Ogni feedback riguardante \chemmacros, \chemformula e \ghsystem è il benvenuto! +Se avete proposte, se mancano delle funzionalità oppure vengono notati dei bug, +non esitate a contattarmi. Se trovate degli errori, siano essi di natura chimica, +di documentazione sbagliata ecc.\ sarei grato di una breve e-mail% +\footnote{\href{mailto:contact@mychemistry.eu}{contact@mychemistry.eu}}. + +Se trovate un bug, sarebbe il meglio mandarmi un esempio minimale con cui sia possibile +riprodurre il bug. È anche possibile segnalaro come \enquote{Issue} su +\url{https://bitbucket.org/cgnieder/chemmacros/}. + +Ringrazio tanto anche tutti coloro da cui ho già avuto segnalazioni, in particolare +(in ordine alfabetico): \begin{itemize} \item \href{http://www.mathannotated.com/}{Peter Cao} \item Christina Lüdigk \item Dr.\@ Paul King - \item Jonas Rivetti (traduzione delle frasi H e P in italiano; besonderen Dank für die Übersetzung der Dokumentation!) + \item Jonas Rivetti (traduzione delle frasi H e P in italiano; molte grazie anche + per la traduzione del manuale!) \item Christoph Schäfer + \item Timo Stein \end{itemize} -\printbibliography[title=Bibliografia] +{\EmbracOff\printbibliography[title=Bibliografia]} {\catcode`\^=11 \catcode`\#=11 \catcode`\|=11 \printindex} diff --git a/Master/texmf-dist/tex/latex/chemmacros/chemformula.sty b/Master/texmf-dist/tex/latex/chemmacros/chemformula.sty index c42a9feca39..c58a8f6fde9 100644 --- a/Master/texmf-dist/tex/latex/chemmacros/chemformula.sty +++ b/Master/texmf-dist/tex/latex/chemmacros/chemformula.sty @@ -72,6 +72,34 @@ exist. } +\msg_set:nnnn { chemformula } { declare-bond } + { + The~bond~type~ \tl_to_str:n { #1 } \c_space_tl is~already~defined. + } + { + You've~tried~to~define~the~bond~type~\tl_to_str:n { #1 } \c_space_tl with + ~\token_to_str:N \DeclareChemBond \c_space_tl but~it~already~exists. + ~Choose~another~name. + } + +\msg_set:nnnn { chemformula } { renew-bond } + { The~bond~type~ \tl_to_str:n { #1 } \c_space_tl is~not~defined. } + { + You've~tried~to~renew~the~bond~type~\tl_to_str:n { #1 } ~but~it~doesn't~ + exist. + } + +% --------------------------------------------------------------------------- % +% scratch variables +\tl_new:N \l_chemformula_tmpa_tl +\tl_new:N \l_chemformula_tmpb_tl +\tl_new:N \l_chemformula_tmpc_tl +\dim_new:N \l_chemformula_tmpa_dim +\dim_new:N \l_chemformula_tmpb_dim +\int_new:N \l_chemformula_tmpa_int +\int_new:N \l_chemformula_tmpb_int +\box_new:N \l_chemformula_tmpa_box + %-----------------------------------------------------------------------------% % gobble options \DeclareOption* { } @@ -91,7 +119,7 @@ %-----------------------------------------------------------------------------% % Some basic internal commands: -\cs_new:Nn \chemformula_plus: +\cs_new:Npn \chemformula_plus: { \bool_if:nTF { \l_chemmacros_circled_bool && !\l_chemmacros_circled_formal_bool } @@ -107,7 +135,7 @@ } } -\cs_new:Nn \chemformula_minus: +\cs_new:Npn \chemformula_minus: { \bool_if:nTF { \l_chemmacros_circled_bool && !\l_chemmacros_circled_formal_bool } @@ -123,8 +151,30 @@ } } -\cs_new:Nn \chemformula_radical: { \textperiodcentered } -\cs_new:Nn \chemformula_adduct: +\tl_new:N \l_chemformula_radical_style_tl +\dim_new:N \l_chemformula_radical_radius_dim +\dim_set:Nn \l_chemformula_radical_radius_dim { .2ex } + +\cs_new:Npn \chemformula_radical: + { + \chemformula_tikz:xn + { + \l_chemformula_radical_style_tl , + baseline, + minimum~height=0pt, + inner~sep=0pt, + outer~sep=0pt + } + { \fill (0,0)++(.3ex,.7ex) circle (\l_chemformula_radical_radius_dim) ; } + } + +\keys_define:nn { chemformula } + { + radical-style .tl_set:N = \l_chemformula_radical_style_tl , + radical-radius .dim_set:N = \l_chemformula_radical_radius_dim + } + +\cs_new:Npn \chemformula_adduct: { \skip_horizontal:N \l_chemformula_cdot_space_dim \textperiodcentered @@ -252,14 +302,14 @@ % determine length in dependency of labels \cs_new:Npn \chemformula_determine_arrow_length:nn #1#2 { - \box_set_eq:NN \l_tmpa_box #1 - \dim_set:Nn \l_tmpa_dim { \box_wd:N \l_tmpa_box } - \box_set_eq:NN \l_tmpa_box #2 - \dim_set:Nn \l_tmpb_dim { \box_wd:N \l_tmpa_box } - \box_clear:N \l_tmpa_box - \dim_compare:nTF { \l_tmpa_dim >= \l_tmpb_dim } - { \dim_set_eq:NN \l_chemformula_arrow_length_dim \l_tmpa_dim } - { \dim_set_eq:NN \l_chemformula_arrow_length_dim \l_tmpb_dim } + \box_set_eq:NN \l_chemformula_tmpa_box #1 + \dim_set:Nn \l_chemformula_tmpa_dim { \box_wd:N \l_chemformula_tmpa_box } + \box_set_eq:NN \l_chemformula_tmpa_box #2 + \dim_set:Nn \l_chemformula_tmpb_dim { \box_wd:N \l_chemformula_tmpa_box } + \box_clear:N \l_chemformula_tmpa_box + \dim_compare:nTF { \l_chemformula_tmpa_dim >= \l_chemformula_tmpb_dim } + { \dim_set_eq:NN \l_chemformula_arrow_length_dim \l_chemformula_tmpa_dim } + { \dim_set_eq:NN \l_chemformula_arrow_length_dim \l_chemformula_tmpb_dim } \dim_add:Nn \l_chemformula_arrow_length_dim { \l_chemformula_arrow_offset_dim } \dim_add:Nn \l_chemformula_arrow_length_dim @@ -323,8 +373,8 @@ % now we have both arguments do the actual drawing: \prop_get:NVN \l_chemformula_arrows_code_prop \l_chemformula_arrow_type_tl - \l_tmpb_tl - \chemformula_arrow_draw:V \l_tmpb_tl + \l_chemformula_tmpb_tl + \chemformula_arrow_draw:V \l_chemformula_tmpb_tl } % get arrows (for the use in \ch to replace the symbol) @@ -344,7 +394,7 @@ { % prepare arrow code for drawing: % TODO: flexible Pfeilspitzen, TikZ-Keys ermöglichen - \tl_set_rescan:Nnn \l_tmpc_tl { \char_set_catcode_letter:N \_ } { #1 } + \tl_set_rescan:Nnn \l_chemformula_tmpc_tl { \char_set_catcode_letter:N \_ } { #1 } % determine length of the arrow \chemformula_determine_arrow_length:NN \l_chemformula_arrow_arg_i_box @@ -379,7 +429,7 @@ [ below=\l_chemformula_arrow_label_offset_dim ] at (cf_arrow_mid) { \box_use:N \l_chemformula_arrow_arg_ii_box } ; - \tl_use:N \l_tmpc_tl + \tl_use:N \l_chemformula_tmpc_tl } } \cs_generate_variant:Nn \chemformula_arrow_draw:n { V } @@ -407,8 +457,8 @@ \NewDocumentCommand \ShowChemArrow { m } { - \prop_get:NnN \l_chemformula_arrows_code_prop { #1 } \l_tmpa_tl - \tl_to_str:N \l_tmpa_tl + \prop_get:NnN \l_chemformula_arrows_code_prop { #1 } \l_chemformula_tmpa_tl + \tl_to_str:N \l_chemformula_tmpa_tl } % declare arrows in the right order @@ -504,7 +554,7 @@ \group_end: } -\cs_new:Nn \chemformula_ch:nn +\cs_new:Npn \chemformula_ch:nn #1#2 { \group_align_safe_begin: \chemmacros_leave_vmode: @@ -578,7 +628,7 @@ \NewDocumentCommand \ch { om } { \chemformula_ch:nn { #1 } { #2 } } -\cs_new:Nn \chemformula_write:V +\cs_new:Npn \chemformula_write:n #1 { \mode_if_math:TF { @@ -590,18 +640,19 @@ } { #1 } } +\cs_generate_variant:Nn \chemformula_write:n { V } %-----------------------------------------------------------------------------% % arrow generation & detection \cs_set:Nn \chemformula_generate_arrows:V { - \tl_set:No \l_tmpa_tl { #1 } + \tl_set:No \l_chemformula_tmpa_tl { #1 } \seq_map_inline:Nn \l_chemformula_arrows_type_seq { - \tl_replace_all:Nnn \l_tmpa_tl + \tl_replace_all:Nnn \l_chemformula_tmpa_tl { ##1 } { \chemformula_arrows_get:n { ##1 } } } - \tl_set_eq:NN \l_chemformula_output_tl \l_tmpa_tl + \tl_set_eq:NN \l_chemformula_output_tl \l_chemformula_tmpa_tl } \cs_new:Npn \chemformula_detect_arrows:n #1 @@ -609,8 +660,8 @@ \bool_set_false:N \l_chemformula_is_arrow_bool \prop_map_inline:Nn \l_chemformula_arrows_code_prop { - \tl_set_rescan:Nnn \l_tmpa_tl {} { ##1 } - \tl_if_in:noT { #1 } { \l_tmpa_tl } + \tl_set_rescan:Nnn \l_chemformula_tmpa_tl {} { ##1 } + \tl_if_in:noT { #1 } { \l_chemformula_tmpa_tl } { \bool_set_true:N \l_chemformula_is_arrow_bool } } } @@ -641,27 +692,27 @@ \) } -\cs_new:Npn \width_to_dim:nn #1#2 +\cs_new:Npn \width_to_dim:Nn #1#2 { - \hbox_set:Nn \l_tmpa_box { #2 } - \dim_set:Nn #1 { \box_wd:N \l_tmpa_box } - \box_clear:N \l_tmpa_box + \hbox_set:Nn \l_chemformula_tmpa_box { #2 } + \dim_set:Nn #1 { \box_wd:N \l_chemformula_tmpa_box } + \box_clear:N \l_chemformula_tmpa_box } -\cs_generate_variant:Nn \width_to_dim:nn { Nn } -\cs_new:Nn \chemformula_generate_name:V +\cs_new:Npn \chemformula_generate_name:n #1 { - \tl_set:No \l_tmpa_tl { #1 } - \tl_if_in:onT { \l_tmpa_tl } { ! } - { \tl_replace_all:Nnn \l_tmpa_tl { ! } { \chemformula_name_cmpd:w } } - \tl_set_eq:NN \l_chemformula_output_tl \l_tmpa_tl + \tl_set:Nn \l_chemformula_tmpa_tl { #1 } + \tl_if_in:VnT \l_chemformula_tmpa_tl { ! } + { \tl_replace_all:Nnn \l_chemformula_tmpa_tl { ! } { \chemformula_name_cmpd:w } } + \tl_set_eq:NN \l_chemformula_output_tl \l_chemformula_tmpa_tl } +\cs_generate_variant:Nn \chemformula_generate_name:n { V } \cs_new:Npn \chemformula_detect_name:n #1 { \bool_set_false:N \l_chemformula_is_name_bool - \tl_set:No \l_tmpa_tl { #1 } - \tl_if_in:onT { \l_tmpa_tl } { ! } + \tl_set:Nn \l_chemformula_tmpa_tl { #1 } + \tl_if_in:VnT \l_chemformula_tmpa_tl { ! } { \bool_set_true:N \l_chemformula_is_name_bool } } @@ -699,7 +750,7 @@ \bool_new:N \l_chemformula_charge_full_shift_bool % token lists: -\tl_new:N \l_chemformula_tmpa_tl +\tl_new:N \l_chemformula_chemformula_tmpa_tl \tl_new:N \g_chemformula_options_tl \tl_new:N \g_chemformula_output_tl \tl_new:N \l_chemformula_output_tl @@ -838,34 +889,26 @@ %-----------------------------------------------------------------------------% % bonds: -\dim_new:N \l_chemformula_bond_space_dim +\dim_new:N \l_chemformula_bond_space_dim \dim_set:Nn \l_chemformula_bond_space_dim { .07em } +\prop_new:N \l_chemformula_bonds_prop + +\cs_new:Npn \chemformula@bondlength { \l_chemformula_bond_dim } \cs_new:Npn \chemformula_single_bond: { \bool_if:NTF \l_chemformula_sup_bool { \chemformula_minus: } - { - \skip_horizontal:N \l_chemformula_bond_space_dim - \chemformula_tikz:nn - { - inner~sep = 0 , - outer~sep = 0 , - text~height = 1em , - baseline = (chemformula-single-bond.base) - } - { - \draw node[draw=none,minimum~height=1em,minimum~width=0] - (chemformula-single-bond) at (0,0) {} ; - \draw[butt~cap-butt~cap,\l_chemformula_bond_style_tl] - (chemformula-single-bond) ++ (0,-.1716em) - -- ++( \l_chemformula_bond_dim ,0); - } - \skip_horizontal:N \l_chemformula_bond_space_dim - } + { \chemformula_bond:n { single } } } \cs_new:Npn \chemformula_double_bond: + { \chemformula_bond:n { double } } + +\cs_new:Npn \chemformula_triple_bond: + { \chemformula_bond:n { triple } } + +\cs_new:Npn \chemformula_bond:n #1 { \skip_horizontal:N \l_chemformula_bond_space_dim \chemformula_tikz:nn @@ -873,69 +916,160 @@ inner~sep = 0 , outer~sep = 0 , text~height = 1em , - baseline = (chemformula-double-bond.base) + baseline = (chemformula-bond-ground.base) } { - \draw node[draw=none,minimum~height=1em,minimum~width=0] - (chemformula-double-bond) at (0,0) {} ; - \draw[butt~cap-butt~cap] - (chemformula-double-bond) ++ (0,-.0858em) -- ++ - (\l_chemformula_bond_dim ,0) ; - \draw[butt~cap-butt~cap] - (chemformula-double-bond) ++ (0,-.2574em) -- ++ - (\l_chemformula_bond_dim ,0) ; + \draw node[draw=none,minimum~height=1em,minimum~width=0] + (chemformula-bond-ground) at (0,0) {}; + \draw (chemformula-bond-ground) ++ (0,-.1716em) + coordinate (chemformula-bond-start) ; + \draw (chemformula-bond-start) ++(\l_chemformula_bond_dim ,0) + coordinate (chemformula-bond-end) ; + \tl_if_blank:nTF { #1 } + { \chemformula_bond_draw:n { single } } + { \chemformula_bond_draw:n { #1 } } } \skip_horizontal:N \l_chemformula_bond_space_dim } -\cs_new:Npn \chemformula_triple_bond: +\cs_new:Npn \chemformula_bond_draw:n #1 { - \skip_horizontal:N \l_chemformula_bond_space_dim - \chemformula_tikz:nn + \tl_set_rescan:Nnn \l_chemformula_tmpa_tl {} { #1 } + \exp_args:NNo \prop_get:Nn \l_chemformula_bonds_prop + { \l_chemformula_tmpa_tl } + } + +\tikzset { chembond/.style={butt~cap-butt~cap,\l_chemformula_bond_style_tl} } + +\NewDocumentCommand \DeclareChemBond { mm } + { + \cs_if_exist:cTF { chemformula_bond_type_#1 } + { \chemmacros_msg:nnxx { chemformula } { declare-bond } { #1 } {} } { - inner~sep = 0 , - outer~sep = 0 , - text~height = 1em , - baseline = (chemformula-triple-bond.base) + \cs_new:cpn { chemformula_bond_type_#1 } {} + \prop_put:Nnn \l_chemformula_bonds_prop { #1 } { #2 } } + } + +\NewDocumentCommand \DeclareChemBondAlias { mm } + { + \cs_if_exist:cTF { chemformula_bond_type_#1 } + { \chemmacros_msg:nnxx { chemformula } { declare-bond } { #1 } {} } { - \draw node[draw=none,minimum~height=1em,minimum~width=0] - (chemformula-triple-bond) at (0,0) {} ; - \draw[butt~cap-butt~cap] - (chemformula-triple-bond) ++ (0,-.0429em) -- ++ - (\l_chemformula_bond_dim ,0) ; - \draw[butt~cap-butt~cap] - (chemformula-triple-bond) ++ (0,-.1716em) -- ++ - (\l_chemformula_bond_dim ,0) ; - \draw[butt~cap-butt~cap] - (chemformula-triple-bond) ++ (0,-.3003em) -- ++ - (\l_chemformula_bond_dim ,0) ; + \cs_new:cpn { chemformula_bond_type_#1 } {} + \prop_get:NnN \l_chemformula_bonds_prop { #2 } \l_chemformula_tmpa_tl + \prop_put:Nno \l_chemformula_bonds_prop { #1 } { \l_chemformula_tmpa_tl } } - \skip_horizontal:N \l_chemformula_bond_space_dim } +\NewDocumentCommand \RenewChemBond { mm } + { + \cs_if_exist:cTF { chemformula_bond_type_#1 } + { \prop_put:Nnn \l_chemformula_bonds_prop { #1 } { #2 } } + { \chemmacros_msg:nnxx { chemformula } { renew-bond } { #1 } {} } + } + +\NewDocumentCommand \ShowChemBond { m } + { + \prop_get:NnN \l_chemformula_bonds_prop { #1 } \l_chemformula_tmpa_tl + \tl_to_str:N \l_chemformula_tmpa_tl + } + +\NewDocumentCommand \bond { m } + { \chemformula_bond:n { #1 } } + +% now let's declare some default bonds: +\DeclareChemBond{single} + { \draw[chembond] (chemformula-bond-start) -- (chemformula-bond-end) ; } +\DeclareChemBondAlias{normal}{single} +\DeclareChemBondAlias{sb}{single} + +\DeclareChemBond{semisingle} + { \draw[chembond,densely~dotted] (chemformula-bond-start) -- (chemformula-bond-end) ; } +\DeclareChemBondAlias{dotted}{semisingle} + +\DeclareChemBond{double} + { + \draw (chemformula-bond-start) ++ (0,.0858em) coordinate (double-start-up) ; + \draw (chemformula-bond-end) ++ (0,.0858em) coordinate (double-end-up) ; + \draw (chemformula-bond-start) ++ (0,-.0858em) coordinate (double-start-down) ; + \draw (chemformula-bond-end) ++ (0,-.0858em) coordinate (double-end-down) ; + \draw[chembond] + (double-start-down) -- (double-end-down) + (double-start-up) -- (double-end-up) ; + } +\DeclareChemBondAlias{db}{double} + +\DeclareChemBond{semidouble} + { + \draw (chemformula-bond-start) ++ (0,.0858em) coordinate (double-start-up) ; + \draw (chemformula-bond-end) ++ (0,.0858em) coordinate (double-end-up) ; + \draw (chemformula-bond-start) ++ (0,-.0858em) coordinate (double-start-down) ; + \draw (chemformula-bond-end) ++ (0,-.0858em) coordinate (double-end-down) ; + \draw[chembond] (double-start-down) -- (double-end-down) ; + \draw[chembond,densely~dotted] (double-start-up) -- (double-end-up) ; + } + +\DeclareChemBondAlias{deloc}{semidouble} +% \DeclareChemBondAlias{deloc2}{semidouble} + +\DeclareChemBond{triple} + { + \draw (chemformula-bond-start) ++ (0,.1287em) coordinate (triple-start-up) ; + \draw (chemformula-bond-end) ++ (0,.1287em) coordinate (triple-end-up) ; + \draw (chemformula-bond-start) ++ (0,-.1287em) coordinate (triple-start-down) ; + \draw (chemformula-bond-end) ++ (0,-.1287em) coordinate (triple-end-down) ; + \draw[chembond] + (triple-start-down) -- (triple-end-down) + (chemformula-bond-start) -- (chemformula-bond-end) + (triple-start-up) -- (triple-end-up) ; + } +\DeclareChemBondAlias{tp}{triple} + +\DeclareChemBond{semitriple} + { + \draw (chemformula-bond-start) ++ (0,.1287em) coordinate (triple-start-up) ; + \draw (chemformula-bond-end) ++ (0,.1287em) coordinate (triple-end-up) ; + \draw (chemformula-bond-start) ++ (0,-.1287em) coordinate (triple-start-down) ; + \draw (chemformula-bond-end) ++ (0,-.1287em) coordinate (triple-end-down) ; + \draw[chembond] + (triple-start-down) -- (triple-end-down) + (chemformula-bond-start) -- (chemformula-bond-end) ; + \draw[chembond,densely~dotted] (triple-start-up) -- (triple-end-up) ; + } +\DeclareChemBondAlias{tdeloc}{semitriple} + +\DeclareChemBond{coordright} + { \draw[chembond,butt~cap->] (chemformula-bond-start) -- (chemformula-bond-end) ; } +\DeclareChemBondAlias{co>}{coordright} + +\DeclareChemBond{coordleft} + { \draw[chembond,<-butt~cap] (chemformula-bond-start) -- (chemformula-bond-end) ; } +\DeclareChemBondAlias{<co}{coordleft} + %-----------------------------------------------------------------------------% % sub- and superscripts -\cs_new:Nn \chemformula_number_style:n +\cs_new:Npn \chemformula_number_style:n #1 { \bool_if:NTF \l_chemformula_number_style_math_bool { \ensuremath { #1 } } { \ensuremath { \text { #1 } } } } -\cs_new:Nn \chemformula_charge_style:n +\cs_new:Npn \chemformula_charge_style:n #1 { \bool_if:NTF \l_chemformula_charge_style_math_bool { \ensuremath { #1 } } { \ensuremath { \text { #1 } } } } +\cs_generate_variant:Nn \chemformula_charge_style:n { V } % subscripts \tl_new:N \l_chemformula_subscript_tl \box_new:N \l_chemformula_subscript_box % remove double or nested sub- and superscripts -\cs_new:Nn \chemformula_subscript:n +\cs_new:Npn \chemformula_subscript:n #1 { \tl_if_eq:nnTF { #1 }{ \chemformula_superscript:n } { \chemformula_subscript_aux:n } @@ -943,18 +1077,18 @@ \tl_if_eq:nnTF { #1 }{ \chemformula_subscript:n } { \chemformula_subscript_aux:n } { - \tl_set:Nn \l_tmpc_tl { #1 } + \tl_set:Nn \l_chemformula_tmpc_tl { #1 } \tl_if_in:nnT { #1 } { \chemformula_subscript:n } - { \tl_remove_all:Nn \l_tmpc_tl { \chemformula_subscript:n } } + { \tl_remove_all:Nn \l_chemformula_tmpc_tl { \chemformula_subscript:n } } \tl_if_in:nnT { #1 } { \chemformula_superscript:n } - { \tl_remove_all:Nn \l_tmpc_tl { \chemformula_superscript:n } } - \exp_args:No \chemformula_subscript_aux:n { \l_tmpc_tl } + { \tl_remove_all:Nn \l_chemformula_tmpc_tl { \chemformula_superscript:n } } + \chemformula_subscript_aux:V \l_chemformula_tmpc_tl } } } % handle subscripts -\cs_new:Nn \chemformula_subscript_aux:n +\cs_new:Npn \chemformula_subscript_aux:n #1 { \tl_put_right:Nn \l_chemformula_subscript_tl { #1 } \chemformula_clean_subscript: @@ -971,6 +1105,7 @@ } } } +\cs_generate_variant:Nn \chemformula_subscript_aux:n { o,V } \cs_new:Npn \chemformula_clean_subscript: { @@ -984,28 +1119,28 @@ { \chemformula_star_adduct: } { * } } -\cs_new:Nn \chemformula_subscript_write:nV +\cs_new:Npn \chemformula_subscript_write:n #1 { - \exp_args:No \dim_set:Nn \l_tmpa_dim - { \l_chemformula_subscript_shift_dim * #1 } - \tex_raise:D \l_tmpa_dim + \tex_raise:D \l_chemformula_subscript_shift_dim \hbox:n { $\scriptstyle \prop_get:NoNTF \l_chemformula_numbers_prop - { #2 } \l_tmpa_tl - { \chemformula_number_style:n { \l_tmpa_tl } } - { \chemformula_number_style:n { #2 } }$ + { #1 } \l_chemformula_tmpa_tl + { \chemformula_number_style:n { \l_chemformula_tmpa_tl } } + { \chemformula_number_style:n { #1 } }$ } } +\cs_generate_variant:Nn \chemformula_subscript_write:n { V } -\cs_new:Nn \chemformula_measure_subscript:V +\cs_new:Npn \chemformula_measure_subscript:n #1 { - \hbox_set:Nn \l_tmpa_box - { \chemformula_subscript_write:nV { 1 } \l_chemformula_subscript_tl } - \dim_set:Nn \l_chemformula_subscript_dim { -\box_wd:N \l_tmpa_box } - \box_clear:N \l_tmpa_box + \hbox_set:Nn \l_chemformula_tmpa_box + { \chemformula_subscript_write:n { #1 } } + \dim_set:Nn \l_chemformula_subscript_dim { -\box_wd:N \l_chemformula_tmpa_box } + \box_clear:N \l_chemformula_tmpa_box } +\cs_generate_variant:Nn \chemformula_measure_subscript:n { V } % superscripts \tl_new:N \l_chemformula_superscript_tl @@ -1020,18 +1155,18 @@ \tl_if_eq:nnTF { #1 } { \chemformula_subscript:n } { \chemformula_superscript_aux:n } { - \tl_set:Nn \l_tmpc_tl { #1 } + \tl_set:Nn \l_chemformula_tmpc_tl { #1 } \tl_if_in:nnT { #1 } { \chemformula_subscript:n } - { \tl_remove_all:Nn \l_tmpc_tl { \chemformula_subscript:n } } + { \tl_remove_all:Nn \l_chemformula_tmpc_tl { \chemformula_subscript:n } } \tl_if_in:nnT { #1 } { \chemformula_superscript:n } - { \tl_remove_all:Nn \l_tmpc_tl { \chemformula_superscript:n } } - \exp_args:No \chemformula_superscript_aux:n { \l_tmpc_tl } + { \tl_remove_all:Nn \l_chemformula_tmpc_tl { \chemformula_superscript:n } } + \chemformula_superscript_aux:V \l_chemformula_tmpc_tl } } } % handle superscripts -\cs_new:Nn \chemformula_superscript_aux:n +\cs_new:Npn \chemformula_superscript_aux:n #1 { \tl_put_right:Nn \l_chemformula_superscript_tl { #1 } \chemformula_clean_superscript: @@ -1045,6 +1180,7 @@ } } } +\cs_generate_variant:Nn \chemformula_superscript_aux:n { o,V } \cs_new:Npn \chemformula_clean_superscript: { @@ -1064,29 +1200,29 @@ { . } { \chemformula_radical: } } -\cs_new:Nn \chemformula_superscript_write:nV +\cs_new:Npn \chemformula_superscript_write:n #1 { - \exp_args:No \dim_set:Nn \l_tmpa_dim - { \l_chemformula_superscript_shift_dim * #1 } - \tex_raise:D \l_tmpa_dim + \tex_raise:D \l_chemformula_superscript_shift_dim \hbox:n { $\scriptstyle \prop_get:NoNTF \l_chemformula_charge_prop - { #2 } \l_tmpa_tl - { \chemformula_charge_style:n { \l_tmpa_tl } } - { \chemformula_charge_style:n { #2 } }$ + { #1 } \l_chemformula_tmpa_tl + { \chemformula_charge_style:V \l_chemformula_tmpa_tl } + { \chemformula_charge_style:n { #1 } }$ } } +\cs_generate_variant:Nn \chemformula_superscript_write:n { V } -\cs_new:Nn \chemformula_measure_superscript:V +\cs_new:Npn \chemformula_measure_superscript:n #1 { - \hbox_set:Nn \l_tmpa_box - { \chemformula_superscript_write:nV { 1 } \l_chemformula_superscript_tl } + \hbox_set:Nn \l_chemformula_tmpa_box + { \chemformula_superscript_write:n { #1 } } \dim_set:Nn \l_chemformula_superscript_dim - { -\box_wd:N \l_tmpa_box } - \box_clear:N \l_tmpa_box + { -\box_wd:N \l_chemformula_tmpa_box } + \box_clear:N \l_chemformula_tmpa_box } +\cs_generate_variant:Nn \chemformula_measure_superscript:n { V } % typeset both sub- and superscripts \cs_new:Npn \chemformula_use_sub_and_superscript: @@ -1126,7 +1262,7 @@ % typeset superscript \tl_if_blank:VF \l_chemformula_superscript_tl { - \chemformula_superscript_write:nV { 1 } \l_chemformula_superscript_tl + \chemformula_superscript_write:V \l_chemformula_superscript_tl % skip back for the subscript \tl_if_blank:VF \l_chemformula_subscript_tl { @@ -1145,21 +1281,21 @@ } % typeset subscript \tl_if_blank:VF \l_chemformula_subscript_tl - { \chemformula_subscript_write:nV { 1 } \l_chemformula_subscript_tl } + { \chemformula_subscript_write:V \l_chemformula_subscript_tl } \bool_if:NF \l_chemformula_is_isotope_bool { - \dim_zero:N \l_tmpa_dim + \dim_zero:N \l_chemformula_tmpa_dim \bool_if:NTF \l_chemformula_charge_full_shift_bool { \tl_if_blank:VF \l_chemformula_subscript_tl - { \dim_set:Nn \l_tmpa_dim { - \l_chemformula_superscript_dim } } + { \dim_set:Nn \l_chemformula_tmpa_dim { - \l_chemformula_superscript_dim } } } { \tl_if_blank:VF \l_chemformula_superscript_tl { \tl_if_blank:VF \l_chemformula_subscript_tl { - \dim_set:Nn \l_tmpa_dim + \dim_set:Nn \l_chemformula_tmpa_dim { \l_chemformula_charge_shift_dim - \l_chemformula_superscript_dim @@ -1168,8 +1304,8 @@ } } } - \dim_compare:nT { \l_tmpa_dim > 0pt } - { \skip_horizontal:N \l_tmpa_dim } + \dim_compare:nT { \l_chemformula_tmpa_dim > 0pt } + { \skip_horizontal:N \l_chemformula_tmpa_dim } } \group_end: % clean up @@ -1182,7 +1318,7 @@ % read the input \cs_new:Npn \chemformula_input:n #1 { - \tl_set_rescan:Nnn \l_chemformula_tmpa_tl + \tl_set_rescan:Nnn \l_chemformula_chemformula_tmpa_tl { \char_set_catcode_letter:N \{ \char_set_catcode_letter:N \} @@ -1190,12 +1326,12 @@ \char_set_catcode_other:N \" } { #1 } - \chemformula_input_escape_text:o { \l_chemformula_tmpa_tl } + \chemformula_input_escape_text:o { \l_chemformula_chemformula_tmpa_tl } \chemformula_input_escape_math:n { #1 } \chemformula_input_stoich:n { #1 } - \chemformula_clean_chem_macros:o { \l_chemformula_tmpa_tl } + \chemformula_clean_chem_macros:o { \l_chemformula_chemformula_tmpa_tl } \chemformula_input_cmpd:VN - \l_chemformula_tmpa_tl \l_chemformula_input_tl + \l_chemformula_chemformula_tmpa_tl \l_chemformula_input_tl \chemformula_input_arrow:n { #1 } \chemformula_input_name:n { #1 } \chemformula_input_plus:n { #1 } @@ -1208,14 +1344,14 @@ \cs_new:Npn \chemformula_input_options:n #1 { \makeatother - \tl_set_rescan:Nnn \l_tmpa_tl { \makeatletter } { #1 } - \tl_if_in:VnTF \l_tmpa_tl { @ } + \tl_set_rescan:Nnn \l_chemformula_tmpa_tl { \makeatletter } { #1 } + \tl_if_in:VnTF \l_chemformula_tmpa_tl { @ } { \bool_set_true:N \l_chemformula_options_bool \bool_set_true:N \l_chemformula_is_option_bool - \tl_remove_all:Nn \l_tmpa_tl { @ } + \tl_remove_all:Nn \l_chemformula_tmpa_tl { @ } \exp_last_unbraced:Nno \tl_set:Nn \l_chemformula_internal_options_tl - { \l_tmpa_tl } + { \l_chemformula_tmpa_tl } } { \bool_set_false:N \l_chemformula_is_option_bool } } @@ -1228,10 +1364,10 @@ \tl_put_right:Nn \l_chemformula_stoich_tl { \chemformula_font_inner: } \tl_map_inline:nn { #1 } { - \prop_get:NnNTF \l_chemformula_stoich_prop { ##1 } \l_tmpa_tl + \prop_get:NnNTF \l_chemformula_stoich_prop { ##1 } \l_chemformula_tmpa_tl { \bool_if:NT \l_chemformula_stoich_bool - { \tl_put_right:Nx \l_chemformula_stoich_tl { \l_tmpa_tl } } + { \tl_put_right:Nx \l_chemformula_stoich_tl { \l_chemformula_tmpa_tl } } } { \bool_set_false:N \l_chemformula_stoich_bool } } @@ -1249,7 +1385,7 @@ { \tl_clear:N \l_chemformula_stoich_tl } } -\cs_new:Nn \chemformula_bm:n { #1 } +\cs_new:Npn \chemformula_bm:n #1 { #1 } \cs_new:Npn \chemformula_parse_stoich:n #1 { @@ -1307,7 +1443,7 @@ %-----------------------------------------------------------------------------% % input compounds -\cs_new:Nn \chemformula_input_cmpd:nN +\cs_new:Npn \chemformula_input_cmpd:nN #1#2 { \tl_if_blank:VTF \l_chemformula_stoich_tl { @@ -1363,7 +1499,7 @@ } \cs_generate_variant:Nn \chemformula_input_cmpd:nN { VN } -\cs_new:Nn \chemformula_font_inner: +\cs_new:Npn \chemformula_font_inner: { \bool_if:NT \l_chemformula_fss_bool { @@ -1383,8 +1519,8 @@ { \cs_set:Nn \chemformula_bm:n { ##1 } } } -\cs_new:Nn \chemformula_font: {} -\cs_new:Nn \chemformula_fontspec:n +\cs_new:Npn \chemformula_font: {} +\cs_new:Npn \chemformula_fontspec:n #1 { \tl_if_in:nnTF { #1 } { [ } { \chemformula_fontspec_aux:w #1 \q_stop } @@ -1394,9 +1530,9 @@ \cs_new:Npn \chemformula_fontspec_aux:w [#1]#2 \q_stop { \newfontfamily \chemformula_font: [ #1 ] { #2 } } -\cs_new:Nn \chemformula_handle_sub_and_superscripts:nN +\cs_new:Npn \chemformula_handle_sub_and_superscripts:nN #1#2 { - \tl_set_rescan:Nnn \l_tmpa_tl + \tl_set_rescan:Nnn \l_chemformula_tmpa_tl { \char_set_catcode_letter:N \_ \char_set_catcode_letter:N \{ @@ -1406,29 +1542,29 @@ } { #1 } % let's see if the compound starts with a sub- or superscript: - \exp_args:Nx \tl_if_in:nnT { \tl_head:V \l_tmpa_tl } { ^ } + \exp_args:Nx \tl_if_in:nnT { \tl_head:V \l_chemformula_tmpa_tl } { ^ } { \bool_set_true:N \l_chemformula_is_isotope_bool } - \exp_args:Nx \tl_if_in:nnT { \tl_head:V \l_tmpa_tl } { _ } + \exp_args:Nx \tl_if_in:nnT { \tl_head:V \l_chemformula_tmpa_tl } { _ } { \bool_set_true:N \l_chemformula_is_isotope_bool } \exp_args:NNx \prop_if_in:NnT \l_chemformula_numbers_prop - { \tl_head:V \l_tmpa_tl } + { \tl_head:V \l_chemformula_tmpa_tl } { \bool_set_true:N \l_chemformula_is_isotope_bool } - \tl_if_in:VnT \l_tmpa_tl { ^ } + \tl_if_in:VnT \l_chemformula_tmpa_tl { ^ } { - \tl_replace_all:Nnn \l_tmpa_tl { ^ } + \tl_replace_all:Nnn \l_chemformula_tmpa_tl { ^ } { \chemformula_superscript:n } } - \tl_if_in:VnT \l_tmpa_tl { _ } + \tl_if_in:VnT \l_chemformula_tmpa_tl { _ } { - \tl_replace_all:Nnn \l_tmpa_tl { _ } + \tl_replace_all:Nnn \l_chemformula_tmpa_tl { _ } { \chemformula_subscript:n } } \int_zero:N \l_chemformula_count_tokens_int - \tl_map_inline:Nn \l_tmpa_tl + \tl_map_inline:Nn \l_chemformula_tmpa_tl { \int_incr:N \l_chemformula_count_tokens_int \int_compare:nTF - { \l_chemformula_count_tokens_int = \tl_length:N \l_tmpa_tl } + { \l_chemformula_count_tokens_int = \tl_length:N \l_chemformula_tmpa_tl } { \tl_if_eq:nnTF { ##1 } { + } { @@ -1442,15 +1578,15 @@ { \chemformula_superscript:n { \chemformula_minus: } } } { - \prop_get:NnNTF \l_chemformula_cmpd_prop { ##1 } \l_tmpb_tl - { \tl_put_right:No #2 { \l_tmpb_tl } } + \prop_get:NnNTF \l_chemformula_cmpd_prop { ##1 } \l_chemformula_tmpb_tl + { \tl_put_right:No #2 { \l_chemformula_tmpb_tl } } { \tl_put_right:Nn #2 { ##1 } } } } } { - \prop_get:NnNTF \l_chemformula_cmpd_prop { ##1 } \l_tmpb_tl - { \tl_put_right:No #2 { \l_tmpb_tl } } + \prop_get:NnNTF \l_chemformula_cmpd_prop { ##1 } \l_chemformula_tmpb_tl + { \tl_put_right:No #2 { \l_chemformula_tmpb_tl } } { \tl_put_right:Nn #2 { ##1 } } } } @@ -1458,7 +1594,7 @@ %-----------------------------------------------------------------------------% % clean up chemmacros commands: -\cs_new:Nn \chemformula_clean_chem_macros:n +\cs_new:Npn \chemformula_clean_chem_macros:n #1 { \cs_set:Nn \chemmacros_text:n { @@ -1472,7 +1608,7 @@ %-----------------------------------------------------------------------------% % input "and" sign -\cs_new:Nn \chemformula_input_plus:n +\cs_new:Npn \chemformula_input_plus:n #1 { \tl_if_eq:nnT { #1 } { + } { @@ -1488,7 +1624,7 @@ %-----------------------------------------------------------------------------% % input escaping gas -\cs_new:Nn \chemformula_input_up:n +\cs_new:Npn \chemformula_input_up:n #1 { \tl_if_eq:nnT { #1 } { ^ } { \tl_put_right:Nn \l_chemformula_input_tl { $\uparrow$ } } @@ -1497,7 +1633,7 @@ %-----------------------------------------------------------------------------% % input precipitate -\cs_new:Nn \chemformula_input_down:n +\cs_new:Npn \chemformula_input_down:n #1 { \tl_if_eq:nnT { #1 } { v } { \tl_put_right:Nn \l_chemformula_input_tl { $\downarrow$ } } @@ -1506,7 +1642,7 @@ %-----------------------------------------------------------------------------% % input arrow -\cs_new:Nn \chemformula_input_arrow:n +\cs_new:Npn \chemformula_input_arrow:n #1 { \bool_if:nT { @@ -1521,7 +1657,7 @@ %-----------------------------------------------------------------------------% % input compound name -\cs_new:Nn \chemformula_input_name:n +\cs_new:Npn \chemformula_input_name:n #1 { \bool_if:nT { @@ -1535,7 +1671,7 @@ %-----------------------------------------------------------------------------% % input escaped text -\cs_new:Nn \chemformula_input_escape_text:n +\cs_new:Npn \chemformula_input_escape_text:n #1 { \chemformula_first_last_text:n { #1 } \bool_if:NT \l_chemformula_first_last_double_bool @@ -1553,45 +1689,45 @@ \cs_new:Npn \chemformula_read_escape_double:w "#1" \q_nil { - \tl_set_rescan:Nnn \l_tmpa_tl + \tl_set_rescan:Nnn \l_chemformula_tmpa_tl { \ExplSyntaxNamesOn \char_set_catcode_other:N \: } { { #1 } } - \tl_replace_all:Nnn \l_tmpa_tl { \_ } { chemformulaplaceholder } - \tl_replace_all:Nnn \l_tmpa_tl { _ } { \sb } % TODO use \c_math_subscript_token - \tl_replace_all:Nnn \l_tmpa_tl { chemformulaplaceholder } { \_ } - \tl_set_rescan:Nno \l_tmpa_tl { \ExplSyntaxOff } { \l_tmpa_tl } - \tl_put_right:NV \l_chemformula_input_tl \l_tmpa_tl + \tl_replace_all:Nnn \l_chemformula_tmpa_tl { \_ } { chemformulaplaceholder } + \tl_replace_all:Nnn \l_chemformula_tmpa_tl { _ } { \sb } % TODO use \c_math_subscript_token + \tl_replace_all:Nnn \l_chemformula_tmpa_tl { chemformulaplaceholder } { \_ } + \tl_set_rescan:Nno \l_chemformula_tmpa_tl { \ExplSyntaxOff } { \l_chemformula_tmpa_tl } + \tl_put_right:NV \l_chemformula_input_tl \l_chemformula_tmpa_tl } \cs_new:Npn \chemformula_read_escape_single:w '#1' \q_nil { - \tl_set_rescan:Nnn \l_tmpa_tl + \tl_set_rescan:Nnn \l_chemformula_tmpa_tl { \ExplSyntaxNamesOn \char_set_catcode_other:N \: } { { #1 } } - \tl_replace_all:Nnn \l_tmpa_tl { \_ } { chemformulaplaceholder } - \tl_replace_all:Nnn \l_tmpa_tl { _ } { \sb } % TODO use \c_math_subscript_token - \tl_replace_all:Nnn \l_tmpa_tl { chemformulaplaceholder } { \_ } - \tl_set_rescan:Nno \l_tmpa_tl { \ExplSyntaxOff } { \l_tmpa_tl } - \tl_put_right:NV \l_chemformula_input_tl \l_tmpa_tl + \tl_replace_all:Nnn \l_chemformula_tmpa_tl { \_ } { chemformulaplaceholder } + \tl_replace_all:Nnn \l_chemformula_tmpa_tl { _ } { \sb } % TODO use \c_math_subscript_token? + \tl_replace_all:Nnn \l_chemformula_tmpa_tl { chemformulaplaceholder } { \_ } + \tl_set_rescan:Nno \l_chemformula_tmpa_tl { \ExplSyntaxOff } { \l_chemformula_tmpa_tl } + \tl_put_right:NV \l_chemformula_input_tl \l_chemformula_tmpa_tl } -\cs_new:Nn \chemformula_first_last_text:n +\cs_new:Npn \chemformula_first_last_text:n #1 { \bool_set_false:N \l_chemformula_first_last_double_bool \bool_set_false:N \l_chemformula_first_last_single_bool \bool_set_false:N \l_chemformula_first_last_text_bool - \int_zero:N \l_tmpa_int - \int_zero:N \l_tmpb_int - \tl_map_inline:nn { #1 } { \int_incr:N \l_tmpa_int } + \int_zero:N \l_chemformula_tmpa_int + \int_zero:N \l_chemformula_tmpb_int + \tl_map_inline:nn { #1 } { \int_incr:N \l_chemformula_tmpa_int } \tl_map_inline:nn { #1 } { - \int_incr:N \l_tmpb_int - \int_compare:nT { \l_tmpb_int = 1 } + \int_incr:N \l_chemformula_tmpb_int + \int_compare:nT { \l_chemformula_tmpb_int = 1 } { \tl_if_eq:nnT { ##1 } { " } { \bool_set_true:N \l_chemformula_first_last_double_bool } } - \int_compare:nT { \l_tmpb_int = \l_tmpa_int } + \int_compare:nT { \l_chemformula_tmpb_int = \l_chemformula_tmpa_int } { \tl_if_eq:nnF { ##1 } { " } { \bool_set_false:N \l_chemformula_first_last_double_bool } @@ -1599,16 +1735,16 @@ } \bool_if:NF \l_chemformula_first_last_double_bool { - \int_zero:N \l_tmpb_int + \int_zero:N \l_chemformula_tmpb_int \tl_map_inline:nn { #1 } { - \int_incr:N \l_tmpb_int - \int_compare:nT { \l_tmpb_int = 1 } + \int_incr:N \l_chemformula_tmpb_int + \int_compare:nT { \l_chemformula_tmpb_int = 1 } { \tl_if_eq:nnT { ##1 } { ' } { \bool_set_true:N \l_chemformula_first_last_single_bool } } - \int_compare:nT { \l_tmpb_int = \l_tmpa_int } + \int_compare:nT { \l_chemformula_tmpb_int = \l_chemformula_tmpa_int } { \tl_if_eq:nnF { ##1 } { ' } { \bool_set_false:N \l_chemformula_first_last_single_bool } @@ -1619,7 +1755,7 @@ %-----------------------------------------------------------------------------% % input escaped math -\cs_new:Nn \chemformula_input_escape_math:n +\cs_new:Npn \chemformula_input_escape_math:n #1 { \chemformula_first_last_math:n { #1 } \bool_if:NT \l_chemformula_first_last_math_bool @@ -1628,36 +1764,36 @@ \cs_new:Npn \chemformula_read_escape_math:w $#1$ \q_nil { - \tl_set_rescan:Nnn \l_tmpa_tl + \tl_set_rescan:Nnn \l_chemformula_tmpa_tl { \ExplSyntaxNamesOn \char_set_catcode_letter:N \{ \char_set_catcode_letter:N \} } { \mbox { \( #1 \) } } - \tl_replace_all:Nnn \l_tmpa_tl { \_ } { chemformulaplaceholder } - \tl_replace_all:Nnn \l_tmpa_tl { _ } { \sb } % TODO use \c_math_subscript_token - \tl_replace_all:Nnn \l_tmpa_tl { chemformulaplaceholder } { \_ } - \tl_set_rescan:Nno \l_tmpa_tl { \ExplSyntaxOff } { \l_tmpa_tl } - \tl_put_right:NV \l_chemformula_input_tl \l_tmpa_tl + \tl_replace_all:Nnn \l_chemformula_tmpa_tl { \_ } { chemformulaplaceholder } + \tl_replace_all:Nnn \l_chemformula_tmpa_tl { _ } { \sb } % TODO use \c_math_subscript_token + \tl_replace_all:Nnn \l_chemformula_tmpa_tl { chemformulaplaceholder } { \_ } + \tl_set_rescan:Nno \l_chemformula_tmpa_tl { \ExplSyntaxOff } { \l_chemformula_tmpa_tl } + \tl_put_right:NV \l_chemformula_input_tl \l_chemformula_tmpa_tl \tl_put_right:Nn \l_chemformula_input_tl { \skip_horizontal:N \l_chemformula_math_space_dim } } -\cs_new:Nn \chemformula_first_last_math:n +\cs_new:Npn \chemformula_first_last_math:n #1 { \bool_set_false:N \l_chemformula_first_last_math_bool - \int_zero:N \l_tmpa_int - \int_zero:N \l_tmpb_int - \tl_map_inline:nn { #1 } { \int_incr:N \l_tmpa_int } + \int_zero:N \l_chemformula_tmpa_int + \int_zero:N \l_chemformula_tmpb_int + \tl_map_inline:nn { #1 } { \int_incr:N \l_chemformula_tmpa_int } \tl_map_inline:nn { #1 } { - \int_incr:N \l_tmpb_int - \int_compare:nT { \l_tmpb_int = 1 } + \int_incr:N \l_chemformula_tmpb_int + \int_compare:nT { \l_chemformula_tmpb_int = 1 } { \tl_if_eq:nnT { ##1 } { $ } { \bool_set_true:N \l_chemformula_first_last_math_bool } } - \int_compare:nT { \l_tmpb_int = \l_tmpa_int } + \int_compare:nT { \l_chemformula_tmpb_int = \l_chemformula_tmpa_int } { \tl_if_eq:nnF { ##1 } { $ } { \bool_set_false:N \l_chemformula_first_last_math_bool } @@ -1770,60 +1906,10 @@ \tex_endinput:D %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% VERSION HISTORY -2012/01/28 - version 3.0 - first published to CTAN with the chemmacros bundle -2012/01/30 - version 3.0a - bugfix: subscripts in escaped inputs failed, - renamed formula => chemformula -2012/02/02 - version 3.0b - updated documentation -2012/02/05 - version 3.0c - renamed pictogram files -2012/02/10 - version 3.0d - \xspace disabled inside \ch{} - - bugfix: \ch{_{123}^{23}U} now compiles (\leavevmode - added) - - bugfix: right shift for the super- und subscripts - - bugfix: escaped text recognizes space by ~ again - - * in superscript now gives excited state - - new arrow type <> -2012/02/19 - version 3.1 - new functions in the chemmacros package - - new arrow types -/>, </- and <o> - - new commands \DeclareChemArrow, \RenewChemArrow and - \ShowChemArrow -2012/02/26 - version 3.1a - changes in the chemmacros package -2012/03/03 - version 3.1b - arrow types are stored in a sequence to automate the - search and replace in the right order - - new arrow type == - - IUPAC compliance for stoichiometric factors - - new handling of super- and subscripts to correct - various flaws: clear distinction between isotope and - formula - - new option charge-vshift -2012/03/14 - version 3.1c - a few changes in chemmacros.sty - - improved arrow labels -2012/03/20 - version 3.2 - new: option input via @{<options>} - - a few changes in chemmacros.sty -2012/05/07 - version 3.3 - \ch now bypasses \ref{}, \label{}, and \intertext{} - - new features in chemmacros.sty -2012/05/13 - version 3.3a - Italian translations of the H, EUH and P statements - - fix of unexpected behaviour in the compound naming - mechanism -2012/05/18 - version 3.3b - compatibility with MiKTeX -2012/05/18 - version 3.3c - fix in the `ghsystem/language' option -2012/07/24 - version 3.3d - additional picture file type `pdf' - - default bond length set to 1.1667ex - - bug fix in the bonds - - added kerning to cip commands, new option - `iupac/cip-kern' - - bug fix: messages needed to be defined before the - options -2012/08/08 - version 3.3e - new option ox/align=center|right +see the chemmacros.sty file %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % TODO -- Option, die den Punkt . in \ch zum Radikal-Punkt macht, evtl \chemformula_radical: - an chemfigs \lewis anpassen -- Bindungen nach einem Mechanismus ähnlich der Pfeile konstruieren - => Möglichkeit, eigene Bindungen hinzuzufügen, Bindungen leichter um weitere - Typen erweitern - => Problem: bislang nur ein Token pro Bindung möglich - => Makro \bond{<type>}? - Addukte: Zahlen nach * und . automatisch erkennen? - allow fractions in subscripts: _{$\frac{1}{2}$} ? - optionale Argumente von \\ nach außen weiterreichen? diff --git a/Master/texmf-dist/tex/latex/chemmacros/chemmacros.sty b/Master/texmf-dist/tex/latex/chemmacros/chemmacros.sty index d1cbaf00c3a..3baaced86cc 100644 --- a/Master/texmf-dist/tex/latex/chemmacros/chemmacros.sty +++ b/Master/texmf-dist/tex/latex/chemmacros/chemmacros.sty @@ -29,8 +29,8 @@ \RequirePackage{ expl3 , xparse , l3keys2e , xfrac , siunitx } \RequirePackage{ tikz , mathtools , environ , scrlfile , etoolbox , bm } \usetikzlibrary{calc,arrows} -\def\chemmacros@version{3.3e} -\def\chemmacros@date{2012/08/21} +\def\chemmacros@version{3.4} +\def\chemmacros@date{2012/09/11} \ProvidesExplPackage {chemmacros} @@ -264,6 +264,12 @@ } % --------------------------------------------------------------------------- % +% scratch variables +\tl_new:N \l_chemmacros_tmpa_tl +\tl_new:N \l_chemmacros_tmpb_tl +\int_new:N \l_chemmacros_tmpa_int + +% --------------------------------------------------------------------------- % % package options % bpchem => use \IUPAC inside for \NMR command % circled => circle charges @@ -293,7 +299,7 @@ \tl_new:N \l_chemmacros_current_language_tl \tl_set:Nn \l_chemmacros_current_language_tl { english } -\cs_new:Nn \chemmacros_inner_font: {} +\cs_new:Npn \chemmacros_inner_font: {} \keys_define:nn { chemmacros / option } { @@ -673,13 +679,13 @@ } \cs_generate_variant:Nn \chemmacros_atom:n { o,f,x,V } -\cs_new:Nn \chemmacros_text:n +\cs_new:Npn \chemmacros_text:n #1 { \mode_if_math:TF { \text { #1 } } { #1 } } % add a possibility to let chemformula use the chemformula % with method=chemformula, too \tl_new:N \l_chemmacros_chemformula_tl -\cs_new:Nn \chemmacros_chemformula:n +\cs_new:Npn \chemmacros_chemformula:n #1 { \bool_if:NTF \l_chemmacros_use_mhchem_bool { \ce { #1 } } @@ -753,10 +759,10 @@ { \group_begin: \chemformula_input:n { #2 } - \tl_set_rescan:Nno \l_tmpa_tl + \tl_set_rescan:Nno \l_chemmacros_tmpa_tl { \ExplSyntaxOn } { \l_chemformula_input_tl } - \chemformula_write:V \l_tmpa_tl + \chemformula_write:V \l_chemmacros_tmpa_tl \group_end: \chemmacros_xspace: } @@ -975,20 +981,20 @@ \NewDocumentCommand \DeclareChemIUPAC { mm } { - \tl_set_rescan:Nnn \l_tmpa_tl { \char_set_catcode_letter:N \\ } { #1 } - \tl_set:Nf \l_tmpa_tl { \tl_tail:V \l_tmpa_tl } - \prop_if_in:NoTF \l_chemmacros_iupac_prop { \l_tmpa_tl } + \tl_set_rescan:Nnn \l_chemmacros_tmpa_tl { \char_set_catcode_letter:N \\ } { #1 } + \tl_set:Nf \l_chemmacros_tmpa_tl { \tl_tail:V \l_chemmacros_tmpa_tl } + \prop_if_in:NoTF \l_chemmacros_iupac_prop { \l_chemmacros_tmpa_tl } { \chemmacros_msg:nnxx { chemmacros } { declare-iupac } { #1 } { } } - { \prop_put:Non \l_chemmacros_iupac_prop { \l_tmpa_tl } { #2 } } + { \prop_put:Non \l_chemmacros_iupac_prop { \l_chemmacros_tmpa_tl } { #2 } } \chemmacros_make_iupac: } \NewDocumentCommand \RenewChemIUPAC { mm } { - \tl_set_rescan:Nnn \l_tmpa_tl { \char_set_catcode_letter:N \\ } { #1 } - \tl_set:Nf \l_tmpa_tl { \tl_tail:V \l_tmpa_tl } - \prop_if_in:NoTF \l_chemmacros_iupac_prop { \l_tmpa_tl } - { \prop_put:Non \l_chemmacros_iupac_prop { \l_tmpa_tl } { #2 } } + \tl_set_rescan:Nnn \l_chemmacros_tmpa_tl { \char_set_catcode_letter:N \\ } { #1 } + \tl_set:Nf \l_chemmacros_tmpa_tl { \tl_tail:V \l_chemmacros_tmpa_tl } + \prop_if_in:NoTF \l_chemmacros_iupac_prop { \l_chemmacros_tmpa_tl } + { \prop_put:Non \l_chemmacros_iupac_prop { \l_chemmacros_tmpa_tl } { #2 } } { \chemmacros_msg:nnxx { chemmacros } { renew-iupac } { #1 } { } } \chemmacros_make_iupac: } @@ -1567,11 +1573,11 @@ \cs_new_nopar:Npn \chemmacros_ox_is_integer:n #1 { - \fp_set:Nn \l_tmpa_tl { #1 } - \fp_add:Nn \l_tmpa_tl { 1 } - \fp_round_places:Nn \l_tmpa_tl { 0 } - \fp_sub:Nn \l_tmpa_tl { 1 } - \fp_compare:nNnTF { \l_tmpa_tl } = { #1 } + \fp_set:Nn \l_chemmacros_tmpa_tl { #1 } + \fp_add:Nn \l_chemmacros_tmpa_tl { 1 } + \fp_round_places:Nn \l_chemmacros_tmpa_tl { 0 } + \fp_sub:Nn \l_chemmacros_tmpa_tl { 1 } + \fp_compare:nNnTF { \l_chemmacros_tmpa_tl } = { #1 } { \bool_set_true:N \l_chemmacros_ox_integer_bool } { \bool_set_false:N \l_chemmacros_ox_integer_bool @@ -1583,12 +1589,12 @@ \cs_new_nopar:Npn \chemmacros_fp_to_Roman:n #1 { \group_begin: - \fp_set:Nn \l_tmpa_tl { #1 } - \fp_round_places:Nn \l_tmpa_tl { 0 } - \int_set:Nn \l_tmpa_int { \fp_to_tl:N \l_tmpa_tl } - \int_compare:nTF { \l_tmpa_int = 0 } + \fp_set:Nn \l_chemmacros_tmpa_tl { #1 } + \fp_round_places:Nn \l_chemmacros_tmpa_tl { 0 } + \int_set:Nn \l_chemmacros_tmpa_int { \fp_to_tl:N \l_chemmacros_tmpa_tl } + \int_compare:nTF { \l_chemmacros_tmpa_int = 0 } { 0 } - { \int_to_Roman:n { \int_use:N \l_tmpa_int } } + { \int_to_Roman:n { \int_use:N \l_chemmacros_tmpa_int } } \group_end: } \cs_generate_variant:Nn \chemmacros_fp_to_Roman:n { N } @@ -1596,8 +1602,8 @@ \cs_new_nopar:Npn \chemmacros_fp_to_arabic:n #1 { \group_begin: - \fp_set:Nn \l_tmpa_tl { #1 } - \fp_to_tl:N \l_tmpa_tl + \fp_set:Nn \l_chemmacros_tmpa_tl { #1 } + \fp_to_tl:N \l_chemmacros_tmpa_tl \group_end: } \cs_generate_variant:Nn \chemmacros_fp_to_arabic:n { N } @@ -1605,14 +1611,14 @@ \cs_new_nopar:Npn \chemmacros_fp_show:n #1 { \group_begin: - \fp_set:Nn \l_tmpa_tl { #1 } + \fp_set:Nn \l_chemmacros_tmpa_tl { #1 } \bool_if:NTF \l_chemmacros_ox_decimal_marker_comma_bool { - \tl_set:Nx \l_tmpb_tl { \fp_to_tl:N \l_tmpa_tl } - \tl_replace_once:Nnn \l_tmpb_tl { . } { {,} } - \tl_use:N \l_tmpb_tl + \tl_set:Nx \l_chemmacros_tmpb_tl { \fp_to_tl:N \l_chemmacros_tmpa_tl } + \tl_replace_once:Nnn \l_chemmacros_tmpb_tl { . } { {,} } + \tl_use:N \l_chemmacros_tmpb_tl } - { \fp_to_tl:N \l_tmpa_tl } + { \fp_to_tl:N \l_chemmacros_tmpa_tl } \group_end: } \cs_generate_variant:Nn \chemmacros_fp_show:n { N } @@ -2296,28 +2302,28 @@ \NewDocumentCommand \DeclareChemPhase { mom } { - \tl_set_rescan:Nnn \l_tmpa_tl { \char_set_catcode_letter:N \\ } { #1 } - \tl_set:Nf \l_tmpa_tl { \tl_tail:V \l_tmpa_tl } + \tl_set_rescan:Nnn \l_chemmacros_tmpa_tl { \char_set_catcode_letter:N \\ } { #1 } + \tl_set:Nf \l_chemmacros_tmpa_tl { \tl_tail:V \l_chemmacros_tmpa_tl } \cs_if_free:NTF #1 { \cs_new_nopar:Npn #1 {} } { \chemmacros_msg:nnxx { chemmacros } { declare-phase } { #1 } {} } \IfNoValueTF { #2 } - { \prop_put:Non \l_chemmacros_phases_german_prop { \l_tmpa_tl } { #3 } } - { \prop_put:Non \l_chemmacros_phases_german_prop { \l_tmpa_tl } { #2 } } - \prop_put:Non \l_chemmacros_phases_prop { \l_tmpa_tl } { #3 } + { \prop_put:Non \l_chemmacros_phases_german_prop { \l_chemmacros_tmpa_tl } { #3 } } + { \prop_put:Non \l_chemmacros_phases_german_prop { \l_chemmacros_tmpa_tl } { #2 } } + \prop_put:Non \l_chemmacros_phases_prop { \l_chemmacros_tmpa_tl } { #3 } \chemmacros_make_phases: } \NewDocumentCommand \RenewChemPhase { mom } { - \tl_set_rescan:Nnn \l_tmpa_tl { \char_set_catcode_letter:N \\ } { #1 } - \tl_set:Nf \l_tmpa_tl { \tl_tail:V \l_tmpa_tl } + \tl_set_rescan:Nnn \l_chemmacros_tmpa_tl { \char_set_catcode_letter:N \\ } { #1 } + \tl_set:Nf \l_chemmacros_tmpa_tl { \tl_tail:V \l_chemmacros_tmpa_tl } \cs_if_free:NT #1 { \chemmacros_msg:nnxx { chemmacros } { renew-phase } { #1 } {} } \IfNoValueTF { #2 } - { \prop_put:Non \l_chemmacros_phases_german_prop { \l_tmpa_tl } { #3 } } - { \prop_put:Non \l_chemmacros_phases_german_prop { \l_tmpa_tl } { #2 } } - \prop_put:Non \l_chemmacros_phases_prop { \l_tmpa_tl } { #3 } + { \prop_put:Non \l_chemmacros_phases_german_prop { \l_chemmacros_tmpa_tl } { #3 } } + { \prop_put:Non \l_chemmacros_phases_german_prop { \l_chemmacros_tmpa_tl } { #2 } } + \prop_put:Non \l_chemmacros_phases_prop { \l_chemmacros_tmpa_tl } { #3 } \chemmacros_make_phases: } @@ -3813,6 +3819,7 @@ Version history \phase - changed default behaviour of phases - removed optional argument from \sld and \lqd + - new arrow type <> 2012/02/19 - version 3.1 - new commands \DeclareChemIUPAC and \RenewChemIUPAC - new option "option/iupac" - deprecated option: "option/EZ" @@ -3824,17 +3831,27 @@ Version history \Scip => \S \Dfi => \D \Lfi => \L - - new arrow types in the chemformula package + - new arrow types -/>, </- and <o> + - new commands \DeclareChemArrow, \RenewChemArrow and + \ShowChemArrow 2012/02/26 - version 3.1a - "operator" p rewritten to follow IUPAC recommendations - new option "acid-base/p-style" - deprecated option: "option/detect-bold" -2012/03/03 - version 3.1b - changes in the chemformula package +2012/03/03 - version 3.1b - arrow types are stored in a sequence to automate the + search and replace in the right order + - new arrow type == + - IUPAC compliance for stoichiometric factors + - new handling of super- and subscripts to correct + various flaws: clear distinction between isotope and + formula + - new option charge-vshift - IUPAC compliance for \Delta and \ox 2012/03/14 - version 3.1c - compatibility with KOMA's global option "version = <value>" - bugfix in the list of reactions -2012/03/20 - version 3.2 - new feature in chemformula + - improved arrow labels +2012/03/20 - version 3.2 - new: option input via @{<options>} - improved list of reactions: resetting the "reaction" counter now doesn't cause errors any more - \AddRxnDesc added which allows to add descriptions @@ -3843,7 +3860,7 @@ Version history formatting for the for displaying of measurement results - more greek letters for the \iupac command - - new features in chemformula.sty + - \ch now bypasses \ref{}, \label{}, and \intertext{} - small adjustments of the iupac commands \| and \- - bug fix: option `upgreek' is now working and was renamed to `greek' @@ -3861,6 +3878,13 @@ Version history options 2012/08/21 - version 3.3e - new option ox/align=center|right - a new option to \NMR and to \J +2012/09/11 - version 3.4 - cleaned a little, minor bug fixes + - switched to internal scratch variables + - new command \bond, more bond types + - new commands \DeclareChemBond, \DeclareChemBondAlias, + \RenewChemBond and \ShowChemBond + - radical point thicker, new options `radical-style' + and `radical-radius' % --------------------------------------------------------------------------- % % TODO: diff --git a/Master/texmf-dist/tex/latex/chemmacros/ghsystem.sty b/Master/texmf-dist/tex/latex/chemmacros/ghsystem.sty index 75587497e36..d7543028d16 100644 --- a/Master/texmf-dist/tex/latex/chemmacros/ghsystem.sty +++ b/Master/texmf-dist/tex/latex/chemmacros/ghsystem.sty @@ -63,6 +63,13 @@ } % --------------------------------------------------------------------------- % +% scratch variables +\tl_new:N \l_ghsystem_tmpa_tl +\tl_new:N \l_ghsystem_tmpb_tl +\int_new:N \l_ghsystem_tmpa_int +\int_new:N \l_ghsystem_tmpb_int + +% --------------------------------------------------------------------------- % % gobble options \DeclareOption* { } \ProcessOptions \scan_stop: @@ -303,12 +310,12 @@ \cs_new:Nn \ghsystem_read_args:nn { - \ghsystem_get_type:nN { #1 } \l_tmpa_tl - \prop_get:cnNTF { l_ghsystem_ \l_tmpa_tl _prop } { #2 } \l_tmpb_tl + \ghsystem_get_type:nN { #1 } \l_ghsystem_tmpa_tl + \prop_get:cnNTF { l_ghsystem_ \l_ghsystem_tmpa_tl _prop } { #2 } \l_ghsystem_tmpb_tl { \ghsystem_is_combination:nn { #1 } { #2 } \bool_if:NF \l_ghsystem_hide_statement_bool - { \tl_use:N \l_tmpb_tl } + { \tl_use:N \l_ghsystem_tmpb_tl } } { \chemmacros_msg:nnxx { ghsystem } { statements } { #1 } { #2 } } } @@ -383,9 +390,9 @@ { \group_begin: \IfNoValueF { #1 } { \keys_set:nn { chemmacros / ghsystem } { #1 } } - \int_zero:N \l_tmpa_int - \int_zero:N \l_tmpb_int - \prop_map_inline:Nn \l_ghsystem_p_prop { \int_incr:N \l_tmpa_int } + \int_zero:N \l_ghsystem_tmpa_int + \int_zero:N \l_ghsystem_tmpb_int + \prop_map_inline:Nn \l_ghsystem_p_prop { \int_incr:N \l_ghsystem_tmpa_int } \dim_set_eq:NN \tabulinesep \l_ghsystem_table_line_sep_dim \begin { longtabu } { X[3]X[7,L] } \caption [ \l_ghsystem_table_caption_short_tl ] @@ -412,14 +419,14 @@ { \ghsystem_read_number:nn { H } { ##1 } & ##2 \\ } \prop_map_inline:Nn \l_ghsystem_euh_prop { \ghsystem_read_number:nn { EUH } { ##1 } & ##2 \\ } - \int_zero:N \l_tmpa_int - \prop_map_inline:Nn \l_ghsystem_p_prop { \int_gincr:N \l_tmpa_int } - \int_zero:N \l_tmpb_int + \int_zero:N \l_ghsystem_tmpa_int + \prop_map_inline:Nn \l_ghsystem_p_prop { \int_gincr:N \l_ghsystem_tmpa_int } + \int_zero:N \l_ghsystem_tmpb_int \prop_map_inline:Nn \l_ghsystem_p_prop { - \int_gincr:N \l_tmpb_int + \int_gincr:N \l_ghsystem_tmpb_int \ghsystem_read_number:nn { P } { ##1 } & ##2 - \int_compare:nNnT { \l_tmpb_int } < { \l_tmpa_int } { \\ } + \int_compare:nNnT { \l_ghsystem_tmpb_int } < { \l_ghsystem_tmpa_int } { \\ } } \end { longtabu } \group_end: @@ -501,34 +508,7 @@ \tex_endinput:D %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% VERSION HISTORY -2012/01/28 - version 3.0 - first published to CTAN with the chemmacros bundle -2012/01/30 - version 3.0a - bugfix in chemormula.sty, renamed ghs => ghsystem -2012/02/03 - version 3.0b - updated documentation -2012/02/05 - version 3.0c - renamed pictogram files -2012/02/10 - version 3.0d - several bugfixes in chemformula, some new commands - and options in chemmacros -2012/02/19 - version 3.1 - new functions in the chemmacros package - - new arrow types and functions in the chemformula - package -2012/02/26 - version 3.1a - changes in the chemmacros package -2012/03/03 - version 3.1b - changes in packages chemformula and chemmacros -2012/03/14 - version 3.1c - changes in packages chemformula and chemmacros -2012/03/20 - version 3.2 - changes in packages chemformula and chemmacros -2012/05/07 - version 3.3 - changes in packages chemformula and chemmacros - - support for chemmacros' new language settings -2012/05/13 - version 3.3a - Italian translations of the H, EUH and P statements - - removed erroneous empty line at the end of the table - created by \ghslistall -2012/05/18 - version 3.3b - compatibility with MiKTeX -2012/05/18 - version 3.3c - fix in the `ghsystem/language' option -2012/07/24 - version 3.3d - additional picture file type `pdf' - - default bond length set to 1.1667ex - - bug fix in the bonds - - added kerning to cip commands, new option - `iupac/cip-kern' - - bug fix: messages needed to be defined before the - options -2012/08/08 - version 3.3e - new option ox/align=center|right +see the chemmacros.sty file %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % TODO: diff --git a/Master/texmf-dist/tex/latex/chemmacros/language/ghsystem_italian.def b/Master/texmf-dist/tex/latex/chemmacros/language/ghsystem_italian.def index eab682caf6a..dde47101ca2 100644 --- a/Master/texmf-dist/tex/latex/chemmacros/language/ghsystem_italian.def +++ b/Master/texmf-dist/tex/latex/chemmacros/language/ghsystem_italian.def @@ -5,7 +5,7 @@ % - macros and commands for chemists - % % --------------------------------------------------------------------------- % % - Clemens Niederberger - % -% - 2012/05/13 - % +% - 2012/09/11 - % % --------------------------------------------------------------------------- % % - http://www.mychemistry.eu/ - % % - contact@mychemistry.eu - % @@ -38,8 +38,8 @@ % table head and foot: \tl_set:Nn \l_ghsystem_identifier_tl { Numero } \tl_set:Nn \l_ghsystem_table_text_tl { Frase } -\tl_set:Nn \l_ghsystem_table_next_page_tl { con\-ti\-nua~sul\-la~pros\-si\-ma~pa\-gi\-na } -\tl_set:Nn \l_ghsystem_table_caption_tl { Tut\-te~le~fra\-si~H,~EUH~e~P. } +\tl_set:Nn \l_ghsystem_table_next_page_tl { Con\-ti\-nua~nel\-la~pros\-si\-ma~pa\-gi\-na } +\tl_set:Nn \l_ghsystem_table_caption_tl { Elen\-co~di~tut\-te~le~fra\-si~H,~EUH~e~P. } % fill-in functions: % <state route of exposure if it is conclusively proven that no other routes of exposure cause the hazard>. @@ -148,17 +148,17 @@ \prop_put:Nnn \l_ghsystem_h_prop { 334 } { Pu\`o~pro\-vo\-ca\-re~sin\-to\-mi~al\-ler\-gi\-ci~o~a\-sma\-ti\-ci~o~dif\-fi\-col\-t\`a~re\-spi\-ra\-to\-rie~se~i\-na\-la\-to. } \prop_put:Nnn \l_ghsystem_h_prop { 335 } { Pu\`o~ir\-ri\-ta\-re~le~vie~re\-spi\-ra\-to\-rie. } \prop_put:Nnn \l_ghsystem_h_prop { 336 } { Pu\`o~pro\-vo\-ca\-re~son\-no\-len\-za~o~ver\-ti\-gi\-ni. } -\prop_put:Nnn \l_ghsystem_h_prop { 340 } { Pu\`o~pro\-vo\-ca\-re~al\-te\-ra\-zio\-ni~ge\-ne\-ti\-che~\ghsystem_exposure: } -\prop_put:Nnn \l_ghsystem_h_prop { 341 } { So\-spet\-ta\-to~di~pro\-vo\-ca\-re~al\-te\-ra\-zio\-ni~ge\-ne\-ti\-che~\ghsystem_exposure: } -\prop_put:Nnn \l_ghsystem_h_prop { 350 } { Pu\`o~pro\-vo\-ca\-re~il~can\-cro~\ghsystem_exposure: } -\prop_put:Nnn \l_ghsystem_h_prop { 351 } { So\-spet\-ta\-to~di~pro\-vo\-ca\-re~il~can\-cro~\ghsystem_exposure: } -\prop_put:Nnn \l_ghsystem_h_prop { 360 } { Pu\`o~nuo\-ce\-re~al\-la~fer\-ti\-li\-t\`a~o~al~fe\-to~\ghsystem_effect: ~ \ghsystem_exposure: } -\prop_put:Nnn \l_ghsystem_h_prop { 361 } { So\-spet\-ta\-to~di~nuo\-ce\-re~al\-la~fer\-ti\-li\-t\`a~o~al~fe\-to~\ghsystem_effect:~\ghsystem_exposure: } +\prop_put:Nnn \l_ghsystem_h_prop { 340 } { Pu\`o~pro\-vo\-ca\-re~al\-te\-ra\-zio\-ni~ge\-ne\-ti\-che \ghsystem_exposure: .} %%% Punkt dazu +\prop_put:Nnn \l_ghsystem_h_prop { 341 } { So\-spet\-ta\-to~di~pro\-vo\-ca\-re~al\-te\-ra\-zio\-ni~ge\-ne\-ti\-che \ghsystem_exposure: .} %%% space gerichtet, Punkt dazu +\prop_put:Nnn \l_ghsystem_h_prop { 350 } { Pu\`o~pro\-vo\-ca\-re~il~can\-cro \ghsystem_exposure: .} %%% space gerichtet, Punkt dazu +\prop_put:Nnn \l_ghsystem_h_prop { 351 } { So\-spet\-ta\-to~di~pro\-vo\-ca\-re~il~can\-cro \ghsystem_exposure: .} %%% space gerichtet, Punkt dazu +\prop_put:Nnn \l_ghsystem_h_prop { 360 } { Pu\`o~nuo\-ce\-re~al\-la~fer\-ti\-li\-t\`a~o~al~fe\-to \ghsystem_effect: \ghsystem_exposure: .} %%% space gerichtet, Punkt dazu +\prop_put:Nnn \l_ghsystem_h_prop { 361 } { So\-spet\-ta\-to~di~nuo\-ce\-re~al\-la~fer\-ti\-li\-t\`a~o~al~fe\-to \ghsystem_effect: \ghsystem_exposure: .}%%% spaces gerichtet, Punkt dazu \prop_put:Nnn \l_ghsystem_h_prop { 362 } { Pu\`o~es\-se\-re~no\-ci\-vo~per~i~lat\-tan\-ti~al\-lat\-ta\-ti~al~se\-no. } -\prop_put:Nnn \l_ghsystem_h_prop { 370 } { Pro\-vo\-ca~dan\-ni \bool_if:NF \l_ghsystem_organs_bool { ~a\-gli~or\-ga\-ni } \ghsystem_organs: . \ghsystem_exposure: } -\prop_put:Nnn \l_ghsystem_h_prop { 371 } { Pu\`o~pro\-vo\-ca\-re~dan\-ni \bool_if:NF \l_ghsystem_organs_bool { ~a\-gli~or\-ga\-ni } \ghsystem_organs: . \ghsystem_exposure: } -\prop_put:Nnn \l_ghsystem_h_prop { 372 } { Pro\-vo\-ca~dan\-ni \bool_if:NF \l_ghsystem_organs_bool { ~a\-gli~or\-ga\-ni } \ghsystem_organs:\ in~ca\-so~di~e\-spo\-si\-zio\-ne~pro\-lun\-ga\-ta~o~ri\-pe\-tu\-ta.~\ghsystem_exposure: } -\prop_put:Nnn \l_ghsystem_h_prop { 373 } { Pu\`o~pro\-vo\-ca\-re~dan\-ni \bool_if:NF \l_ghsystem_organs_bool { ~a\-gli~or\-ga\-ni } \ghsystem_organs:\ in~ca\-so~di~e\-spo\-si\-zio\-ne~pro\-lun\-ga\-ta~o~ri\-pe\-tu\-ta. \ghsystem_exposure: } +\prop_put:Nnn \l_ghsystem_h_prop { 370 } { Pro\-vo\-ca~dan\-ni \bool_if:NF \l_ghsystem_organs_bool { ~a\-gli~or\-ga\-ni } \ghsystem_organs: \ghsystem_exposure: .} %%% Punkt dazu +\prop_put:Nnn \l_ghsystem_h_prop { 371 } { Pu\`o~pro\-vo\-ca\-re~dan\-ni \bool_if:NF \l_ghsystem_organs_bool { ~a\-gli~or\-ga\-ni } \ghsystem_organs: \ghsystem_exposure: .} %%% Punkt dazu +\prop_put:Nnn \l_ghsystem_h_prop { 372 } { Pro\-vo\-ca~dan\-ni \bool_if:NF \l_ghsystem_organs_bool { ~a\-gli~or\-ga\-ni } \ghsystem_organs:\ in~ca\-so~di~e\-spo\-si\-zio\-ne~pro\-lun\-ga\-ta~o~ri\-pe\-tu\-ta \ghsystem_exposure: .} +\prop_put:Nnn \l_ghsystem_h_prop { 373 } { Pu\`o~pro\-vo\-ca\-re~dan\-ni \bool_if:NF \l_ghsystem_organs_bool { ~a\-gli~or\-ga\-ni } \ghsystem_organs:\ in~ca\-so~di~e\-spo\-si\-zio\-ne~pro\-lun\-ga\-ta~o~ri\-pe\-tu\-ta \ghsystem_exposure: .} % 1.3 Pericoli per l'ambiente \prop_put:Nnn \l_ghsystem_h_prop { 400 } { Mol\-to~tos\-si\-co~per~gli~or\-ga\-ni\-smi~ac\-qua\-ti\-ci. } @@ -172,7 +172,7 @@ \prop_put:Nnn \l_ghsystem_euh_prop { 001 } { E\-splo\-si\-vo~al\-lo~sta\-to~sec\-co. } \prop_put:Nnn \l_ghsystem_euh_prop { 006 } { E\-splo\-si\-vo~a~con\-tat\-to~o~sen\-za~con\-tat\-to~con~l'a\-ria. } \prop_put:Nnn \l_ghsystem_euh_prop { 014 } { Re\-a\-gi\-sce~vio\-len\-te\-men\-te~con~l'ac\-qua. } -\prop_put:Nnn \l_ghsystem_euh_prop { 018 } { Du\-ran\-te~l'u\-so~pu\`o~for\-mar\-si~u\-na~mi\-sce\-la~va\-po\-re-a\-ria~e\-splo\-si\-va/in\-fiam\-ma\-bi\-le. } +\prop_put:Nnn \l_ghsystem_euh_prop { 018 } { Du\-ran\-te~l'u\-so~pu\`o~for\-mar\-si~u\-na~mi\-sce\-la~va\-po\-re-a\-ria~e\-splo\-si\-va\slash in\-fiam\-ma\-bi\-le. } \prop_put:Nnn \l_ghsystem_euh_prop { 019 } { Pu\`o~for\-ma\-re~per\-ossidi~e\-splo\-si\-vi. } \prop_put:Nnn \l_ghsystem_euh_prop { 044 } { Ri\-schio~di~e\-splo\-sio\-ne~per~ri\-scal\-da\-men\-to~in~am\-bien\-te~con\-fi\-na\-to. } @@ -196,7 +196,7 @@ \prop_put:Nnn \l_ghsystem_euh_prop { 205 } { Con\-tie\-ne~com\-po\-nen\-ti~epossi\-di\-ci.~Pu\`o~pro\-vo\-ca\-re~u\-na~re\-a\-zio\-ne~al\-ler\-gi\-ca. } \prop_put:Nnn \l_ghsystem_euh_prop { 206 } { At\-ten\-zio\-ne!~Non~u\-ti\-liz\-za\-re~in~com\-bi\-na\-zio\-ne~con~al\-tri~pro\-dot\-ti.~Pos\-so\-no~li\-be\-rar\-si~gas~pe\-ri\-co\-lo\-si~(cloro). } \prop_put:Nnn \l_ghsystem_euh_prop { 207 } { At\-ten\-zio\-ne!~Con\-tie\-ne~cadmio.~Du\-ran\-te~l'u\-so~si~svi\-lup\-pa\-no~fu\-mi~pe\-ri\-co\-lo\-si.~Leg\-ge\-re~le~in\-for\-ma\-zio\-ni~for\-ni\-te~dal~fab\-bri\-can\-te.~Ri\-spet\-ta\-re~le~di\-spo\-si\-zio\-ni~di~si\-cu\-rez\-za. } -\prop_put:Nnn \l_ghsystem_euh_prop { 208 } { Con\-tie\-ne~\ghsystem_substance: .~Pu\`o~pro\-vo\-ca\-re~u\-na~re\-a\-zio\-ne al\-ler\-gi\-ca. } +\prop_put:Nnn \l_ghsystem_euh_prop { 208 } { Con\-tie\-ne \ghsystem_substance: .~Pu\`o~pro\-vo\-ca\-re~u\-na~re\-a\-zio\-ne~al\-ler\-gi\-ca. } \prop_put:Nnn \l_ghsystem_euh_prop { 209 } { Pu\`o~di\-ven\-ta\-re~fa\-cil\-men\-te~in\-fiam\-ma\-bi\-le~du\-ran\-te~l'u\-so. } \prop_put:Nnn \l_ghsystem_euh_prop { 209A } { Pu\`o~di\-ven\-ta\-re~in\-fiam\-ma\-bi\-le~du\-ran\-te~l'u\-so. } \prop_put:Nnn \l_ghsystem_euh_prop { 210 } { Sche\-da~da\-ti~di~si\-cu\-rez\-za~di\-spo\-ni\-bi\-le~su~ri\-chie\-sta. } @@ -212,9 +212,9 @@ % 3.2 Consigli di prudenza - Prevenzione \prop_put:Nnn \l_ghsystem_p_prop { 201 } { Pro\-cu\-rar\-si~i\-stru\-zio\-ni~spe\-ci\-fi\-che~pri\-ma~del\-l'u\-so. } \prop_put:Nnn \l_ghsystem_p_prop { 202 } { Non~ma\-ni\-po\-la\-re~pri\-ma~di~a\-ve\-re~let\-to~e~com\-pre\-so~tut\-te~le~av\-ver\-ten\-ze. } -\prop_put:Nnn \l_ghsystem_p_prop { 210 } { Te\-ne\-re~lon\-ta\-no~da~fon\-ti~di~ca\-lo\-re/scin\-til\-le/fiam\-me~li\-be\-re/su\-per\-fi\-ci~ri\-scal\-da\-te.~ \textemdash ~Non~fu\-ma\-re. } +\prop_put:Nnn \l_ghsystem_p_prop { 210 } { Te\-ne\-re~lon\-ta\-no~da~fon\-ti~di~ca\-lo\-re\slash scin\-til\-le\slash fiam\-me~li\-be\-re\slash su\-per\-fi\-ci~ri\-scal\-da\-te.~ \textemdash ~Non~fu\-ma\-re. } \prop_put:Nnn \l_ghsystem_p_prop { 211 } { Non~va\-po\-riz\-za\-re~su~u\-na~fiam\-ma~li\-be\-ra~o~al\-tra~fon\-te~di~ac\-cen\-sio\-ne. } -\prop_put:Nnn \l_ghsystem_p_prop { 220 } { Te\-ne\-re/con\-ser\-va\-re~lon\-ta\-no~da~in\-du\-men\-ti/\l_ghsystem_dots_tl /ma\-te\-ria\-li~com\-bu\-sti\-bi\-li. } +\prop_put:Nnn \l_ghsystem_p_prop { 220 } { Te\-ne\-re\slash con\-ser\-va\-re~lon\-ta\-no~da~in\-du\-men\-ti\slash \l_ghsystem_dots_tl \slash ma\-te\-ria\-li~com\-bu\-sti\-bi\-li. } \prop_put:Nnn \l_ghsystem_p_prop { 221 } { Pren\-de\-re~o\-gni~pre\-cau\-zio\-ne~per~e\-vi\-ta\-re~di~mi\-sce\-la\-re~con~so\-stan\-ze~com\-bu\-sti\-bi\-li~\l_ghsystem_dots_tl . } \prop_put:Nnn \l_ghsystem_p_prop { 222 } { Evi\-ta\-re~il~con\-tat\-to~con~l'a\-ria. } \prop_put:Nnn \l_ghsystem_p_prop { 223 } { Evi\-ta\-re~qual\-si\-a\-si~con\-tat\-to~con~l'ac\-qua:~pe\-ri\-co\-lo~di~re\-a\-zio\-ne~vio\-len\-ta~e~di~in\-fiam\-ma\-zio\-ne~spon\-ta\-nea. } @@ -224,25 +224,25 @@ \prop_put:Nnn \l_ghsystem_p_prop { 233 } { Te\-ne\-re~il~re\-ci\-pien\-te~ben~chiu\-so. } \prop_put:Nnn \l_ghsystem_p_prop { 234 } { Con\-ser\-va\-re~sol\-tan\-to~nel~con\-te\-ni\-to\-re~o\-ri\-gi\-na\-le. } \prop_put:Nnn \l_ghsystem_p_prop { 235 } { Con\-ser\-va\-re~in~luo\-go~fre\-sco. } -\prop_put:Nnn \l_ghsystem_p_prop { 240 } { Met\-te\-re~a~ter\-ra/mas\-sa~il~con\-te\-ni\-to\-re~e~il~di\-spo\-si\-ti\-vo~ri\-ce\-ven\-te. } -\prop_put:Nnn \l_ghsystem_p_prop { 241 } { U\-ti\-liz\-za\-re~im\-pian\-ti~e\-let\-tri\-ci/di~ven\-ti\-la\-zio\-ne/d'il\-lu\-mi\-na\-zio\-ne/\l_ghsystem_dots_tl /a~pro\-va~di~e\-splo\-sio\-ne. } +\prop_put:Nnn \l_ghsystem_p_prop { 240 } { Met\-te\-re~a~ter\-ra\slash mas\-sa~il~con\-te\-ni\-to\-re~e~il~di\-spo\-si\-ti\-vo~ri\-ce\-ven\-te. } +\prop_put:Nnn \l_ghsystem_p_prop { 241 } { U\-ti\-liz\-za\-re~im\-pian\-ti~e\-let\-tri\-ci\slash di~ven\-ti\-la\-zio\-ne\slash d'il\-lu\-mi\-na\-zio\-ne\slash \l_ghsystem_dots_tl \slash a~pro\-va~di~e\-splo\-sio\-ne. } \prop_put:Nnn \l_ghsystem_p_prop { 242 } { U\-ti\-liz\-za\-re~so\-lo~u\-ten\-si\-li~an\-ti\-scin\-til\-la\-men\-to. } \prop_put:Nnn \l_ghsystem_p_prop { 243 } { Pren\-de\-re~pre\-cau\-zio\-ni~con\-tro~le~sca\-ri\-che~e\-let\-tro\-sta\-ti\-che. } \prop_put:Nnn \l_ghsystem_p_prop { 244 } { Man\-te\-ne\-re~le~val\-vo\-le~di~ri\-du\-zio\-ne~li\-be\-re~da~gras\-so~e~o\-lio. } -\prop_put:Nnn \l_ghsystem_p_prop { 250 } { E\-vi\-ta\-re~le~a\-bra\-sio\-ni/gli~ur\-ti/\l_ghsystem_dots_tl /gli~at\-tri\-ti. } +\prop_put:Nnn \l_ghsystem_p_prop { 250 } { E\-vi\-ta\-re~le~a\-bra\-sio\-ni\slash gli~ur\-ti\slash \l_ghsystem_dots_tl \slash gli~at\-tri\-ti. } \prop_put:Nnn \l_ghsystem_p_prop { 251 } { Re\-ci\-pien\-te~sot\-to~pres\-sio\-ne:~non~per\-fo\-ra\-re~n\'e~bru\-cia\-re,~nep\-pu\-re~do\-po~l'uso. } -\prop_put:Nnn \l_ghsystem_p_prop { 260 } { Non~re\-spi\-ra\-re~la~pol\-ve\-re/i~fu\-mi/i~gas/la~neb\-bia/i~va\-po\-ri/gli~aero\-sol. } -\prop_put:Nnn \l_ghsystem_p_prop { 261 } { E\-vi\-ta\-re~di~re\-spi\-ra\-re~la~pol\-ve\-re/i~fu\-mi/i~gas/la~neb\-bia/i~va\-po\-ri/gli~aero\-sol. } +\prop_put:Nnn \l_ghsystem_p_prop { 260 } { Non~re\-spi\-ra\-re~la~pol\-ve\-re\slash i~fu\-mi\slash i~gas\slash la~neb\-bia\slash i~va\-po\-ri\slash gli~aero\-sol. } +\prop_put:Nnn \l_ghsystem_p_prop { 261 } { E\-vi\-ta\-re~di~re\-spi\-ra\-re~la~pol\-ve\-re\slash i~fu\-mi\slash i~gas\slash la~neb\-bia\slash i~va\-po\-ri\slash gli~aero\-sol. } \prop_put:Nnn \l_ghsystem_p_prop { 262 } { E\-vi\-ta\-re~il~con\-tat\-to~con~gli~oc\-chi,~la~pel\-le~o~gli~in\-du\-men\-ti. } -\prop_put:Nnn \l_ghsystem_p_prop { 263 } { E\-vi\-ta\-re~il~con\-tat\-to~du\-ran\-te~la~gra\-vi\-dan\-za/l'al\-lat\-ta\-men\-to. } +\prop_put:Nnn \l_ghsystem_p_prop { 263 } { E\-vi\-ta\-re~il~con\-tat\-to~du\-ran\-te~la~gra\-vi\-dan\-za\slash l'al\-lat\-ta\-men\-to. } \prop_put:Nnn \l_ghsystem_p_prop { 264 } { La\-va\-re~ac\-cu\-ra\-ta\-men\-te~\l_ghsystem_dots_tl\ do\-po~l'u\-so. } \prop_put:Nnn \l_ghsystem_p_prop { 270 } { Non~man\-gia\-re,~n\'e~be\-re,~n\'e~fu\-ma\-re~du\-ran\-te~l'u\-so. } \prop_put:Nnn \l_ghsystem_p_prop { 271 } { U\-ti\-liz\-za\-re~sol\-tan\-to~al\-l'a\-per\-to~o~in~luo\-go~ben~ven\-ti\-la\-to. } \prop_put:Nnn \l_ghsystem_p_prop { 272 } { Gli~in\-du\-men\-ti~da~la\-vo\-ro~con\-ta\-mi\-na\-ti~non~de\-vo\-no~es\-se\-re~por\-ta\-ti~fuo\-ri~dal~luo\-go~di~la\-vo\-ro. } \prop_put:Nnn \l_ghsystem_p_prop { 273 } { Non~di\-sper\-de\-re~nel\-l'am\-bien\-te. } -\prop_put:Nnn \l_ghsystem_p_prop { 280 } { In\-dos\-sa\-re~guan\-ti/in\-du\-men\-ti~pro\-tet\-ti\-vi/Pro\-teg\-ge\-re~gli~oc\-chi/il~vi\-so. } +\prop_put:Nnn \l_ghsystem_p_prop { 280 } { In\-dos\-sa\-re~guan\-ti\slash in\-du\-men\-ti~pro\-tet\-ti\-vi\slash Pro\-teg\-ge\-re~gli~oc\-chi\slash il~vi\-so. } \prop_put:Nnn \l_ghsystem_p_prop { 281 } { U\-ti\-liz\-za\-re~il~di\-spo\-si\-ti\-vo~di~pro\-te\-zio\-ne~in\-di\-vi\-dua\-le~ri\-chie\-sto. } -\prop_put:Nnn \l_ghsystem_p_prop { 282 } { U\-ti\-liz\-za\-re~guan\-ti~ter\-mi\-ci/scher\-mo~fac\-cia\-le/Pro\-teg\-ge\-re~gli~oc\-chi. } +\prop_put:Nnn \l_ghsystem_p_prop { 282 } { U\-ti\-liz\-za\-re~guan\-ti~ter\-mi\-ci\slash scher\-mo~fac\-cia\-le\slash Pro\-teg\-ge\-re~gli~oc\-chi. } \prop_put:Nnn \l_ghsystem_p_prop { 283 } { In\-dos\-sa\-re~in\-du\-men\-ti~com\-ple\-ta\-men\-te~i\-gni\-fu\-ghi~o~in~tes\-su\-ti~ri\-tar\-dan\-ti~di~fiam\-ma. } \prop_put:Nnn \l_ghsystem_p_prop { 284 } { U\-ti\-liz\-za\-re~un~ap\-pa\-rec\-chio~re\-spi\-ra\-to\-rio. } \prop_put:Nnn \l_ghsystem_p_prop { 285 } { In~ca\-so~di~ven\-ti\-la\-zio\-ne~in\-suf\-fi\-cien\-te~u\-ti\-liz\-za\-re~un~ap\-pa\-rec\-chio~re\-spi\-ra\-to\-rio. } @@ -250,15 +250,15 @@ \prop_put:Nnn \l_ghsystem_p_prop { 235 + 410 } { Te\-ne\-re~in~luo\-go~fre\-sco.~Pro\-teg\-ge\-re~dai~rag\-gi~so\-la\-ri. } % 3.3 Consigli di prudenza - Reazione -\prop_put:Nnn \l_ghsystem_p_prop { 301 } { IN~CA\-SO~DI~IN\-GE\-STIO\-NE :~\ghsystem_text: } -\prop_put:Nnn \l_ghsystem_p_prop { 302 } { IN~CA\-SO~DI~CON\-TAT\-TO~CON~LA~PEL\-LE :~\ghsystem_text: } -\prop_put:Nnn \l_ghsystem_p_prop { 303 } { IN~CA\-SO~DI~CON\-TAT\-TO~CON~LA~PEL\-LE~(o~con~i~ca\-pel\-li) :~\ghsystem_text: } -\prop_put:Nnn \l_ghsystem_p_prop { 304 } { IN~CA\-SO~DI~I\-NA\-LA\-ZIO\-NE :~\ghsystem_text: } -\prop_put:Nnn \l_ghsystem_p_prop { 305 } { IN~CA\-SO~DI~CON\-TAT\-TO~CON~GLI~OC\-CHI :~\ghsystem_text: } -\prop_put:Nnn \l_ghsystem_p_prop { 306 } { IN~CA\-SO~DI~CON\-TAT\-TO~CON~GLI~IN\-DU\-MEN\-TI :~\ghsystem_text: } -\prop_put:Nnn \l_ghsystem_p_prop { 307 } { IN~CA\-SO~di~e\-spo\-si\-zio\-ne :~\ghsystem_text: } -\prop_put:Nnn \l_ghsystem_p_prop { 308 } { IN~CA\-SO~di~e\-spo\-si\-zio\-ne~o~di~pos\-si\-bi\-le~e\-spo\-si\-zio\-ne :~\ghsystem_text: } -\prop_put:Nnn \l_ghsystem_p_prop { 309 } { IN~CA\-SO~di~e\-spo\-si\-zio\-ne~o~di~ma\-les\-se\-re :~\ghsystem_text: } +\prop_put:Nnn \l_ghsystem_p_prop { 301 } { IN~CA\-SO~DI~IN\-GE\-STIO\-NE: \ghsystem_text: } +\prop_put:Nnn \l_ghsystem_p_prop { 302 } { IN~CA\-SO~DI~CON\-TAT\-TO~CON~LA~PEL\-LE: \ghsystem_text: } +\prop_put:Nnn \l_ghsystem_p_prop { 303 } { IN~CA\-SO~DI~CON\-TAT\-TO~CON~LA~PEL\-LE~(o~con~i~ca\-pel\-li): \ghsystem_text: } +\prop_put:Nnn \l_ghsystem_p_prop { 304 } { IN~CA\-SO~DI~I\-NA\-LA\-ZIO\-NE: \ghsystem_text: } +\prop_put:Nnn \l_ghsystem_p_prop { 305 } { IN~CA\-SO~DI~CON\-TAT\-TO~CON~GLI~OC\-CHI: \ghsystem_text: } +\prop_put:Nnn \l_ghsystem_p_prop { 306 } { IN~CA\-SO~DI~CON\-TAT\-TO~CON~GLI~IN\-DU\-MEN\-TI: \ghsystem_text: } +\prop_put:Nnn \l_ghsystem_p_prop { 307 } { IN~CA\-SO~di~e\-spo\-si\-zio\-ne: \ghsystem_text: } +\prop_put:Nnn \l_ghsystem_p_prop { 308 } { IN~CA\-SO~di~e\-spo\-si\-zio\-ne~o~di~pos\-si\-bi\-le~e\-spo\-si\-zio\-ne: \ghsystem_text: } +\prop_put:Nnn \l_ghsystem_p_prop { 309 } { IN~CA\-SO~di~e\-spo\-si\-zio\-ne~o~di~ma\-les\-se\-re: \ghsystem_text: } \prop_put:Nnn \l_ghsystem_p_prop { 310 } { Con\-tat\-ta\-re~im\-me\-dia\-ta\-men\-te~un~CEN\-TRO~AN\-TI\-VE\-LE\-NI~o~un~me\-di\-co. } \prop_put:Nnn \l_ghsystem_p_prop { 311 } { Con\-tat\-ta\-re~un~CEN\-TRO~AN\-TI\-VE\-LE\-NI~o~un~me\-di\-co. } \prop_put:Nnn \l_ghsystem_p_prop { 312 } { In~ca\-so~di~ma\-les\-se\-re,~con\-tat\-ta\-re~un~CEN\-TRO~AN\-TI\-VE\-LE\-NI~o~un~me\-di\-co. } @@ -270,32 +270,32 @@ \prop_put:Nnn \l_ghsystem_p_prop { 322 } { Mi\-su\-re~spe\-ci\-fi\-che~(ve\-de\-re~\l_ghsystem_dots_tl\ su~que\-sta~e\-ti\-chet\-ta). } \prop_put:Nnn \l_ghsystem_p_prop { 330 } { Sciac\-qua\-re~la~boc\-ca. } \prop_put:Nnn \l_ghsystem_p_prop { 331 } { NON~pro\-vo\-ca\-re~il~vo\-mi\-to. } -\prop_put:Nnn \l_ghsystem_p_prop { 332 } { In~ca\-so~di~ir\-ri\-ta\-zio\-ne~del\-la~pel\-le :~\ghsystem_text: } -\prop_put:Nnn \l_ghsystem_p_prop { 333 } { In~ca\-so~di~ir\-ri\-ta\-zio\-ne~o~e\-ru\-zio\-ne~del\-la~pel\-le :~\ghsystem_text: } -\prop_put:Nnn \l_ghsystem_p_prop { 334 } { Im\-mer\-ge\-re~in~ac\-qua~fred\-da/av\-vol\-ge\-re~con~un~ben\-dag\-gio~u\-mi\-do. } +\prop_put:Nnn \l_ghsystem_p_prop { 332 } { In~ca\-so~di~ir\-ri\-ta\-zio\-ne~del\-la~pel\-le: \ghsystem_text: } +\prop_put:Nnn \l_ghsystem_p_prop { 333 } { In~ca\-so~di~ir\-ri\-ta\-zio\-ne~o~e\-ru\-zio\-ne~del\-la~pel\-le: \ghsystem_text: } +\prop_put:Nnn \l_ghsystem_p_prop { 334 } { Im\-mer\-ge\-re~in~ac\-qua~fred\-da\slash av\-vol\-ge\-re~con~un~ben\-dag\-gio~u\-mi\-do. } \prop_put:Nnn \l_ghsystem_p_prop { 335 } { Ri\-muo\-ve\-re~le~par\-ti\-cel\-le~de\-po\-si\-ta\-te~sul\-la~pel\-le. } \prop_put:Nnn \l_ghsystem_p_prop { 336 } { Sge\-la\-re~le~par\-ti~con\-ge\-la\-te~u\-san\-do~ac\-qua~tie\-pi\-da.~Non~sfre\-ga\-re~la~par\-te~in\-te\-res\-sa\-ta. } -\prop_put:Nnn \l_ghsystem_p_prop { 337 } { Se~l'ir\-ri\-ta\-zio\-ne~de\-gli~oc\-chi~per\-si\-ste :~\ghsystem_text: } +\prop_put:Nnn \l_ghsystem_p_prop { 337 } { Se~l'ir\-ri\-ta\-zio\-ne~de\-gli~oc\-chi~per\-si\-ste: \ghsystem_text: } \prop_put:Nnn \l_ghsystem_p_prop { 338 } { To\-glie\-re~le~e\-ven\-tua\-li~len\-ti~a~con\-tat\-to~se~\`e~a\-ge\-vo\-le~farlo.~Con\-ti\-nua\-re~a~sciac\-qua\-re. } \prop_put:Nnn \l_ghsystem_p_prop { 340 } { Tra\-spor\-ta\-re~l'in\-for\-tu\-na\-to~al\-l'a\-ria~a\-per\-ta~e~man\-te\-ner\-lo~a~ri\-po\-so~in~po\-si\-zio\-ne~che~fa\-vo\-ri\-sca~la~re\-spi\-ra\-zio\-ne. } \prop_put:Nnn \l_ghsystem_p_prop { 341 } { Se~la~re\-spi\-ra\-zio\-ne~\`e~dif\-fi\-ci\-le,~tra\-spor\-ta\-re~l'in\-for\-tu\-na\-to~al\-l'a\-ria~a\-per\-ta~e~man\-te\-ner\-lo~a~ri\-po\-so~in~po\-si\-zio\-ne~che~fa\-vo\-ri\-sca~la~re\-spi\-ra\-zio\-ne. } -\prop_put:Nnn \l_ghsystem_p_prop { 342 } { In~ca\-so~di~sin\-to\-mi~re\-spi\-ra\-to\-ri :~\ghsystem_text: } +\prop_put:Nnn \l_ghsystem_p_prop { 342 } { In~ca\-so~di~sin\-to\-mi~re\-spi\-ra\-to\-ri: \ghsystem_text: } \prop_put:Nnn \l_ghsystem_p_prop { 350 } { La\-va\-re~de\-li\-ca\-ta\-men\-te~e~ab\-bon\-dan\-te\-men\-te~con~ac\-qua~e~sa\-po\-ne. } \prop_put:Nnn \l_ghsystem_p_prop { 351 } { Sciac\-qua\-re~ac\-cu\-ra\-ta\-men\-te~per~pa\-rec\-chi~mi\-nu\-ti. } \prop_put:Nnn \l_ghsystem_p_prop { 352 } { La\-va\-re~ab\-bon\-dan\-te\-men\-te~con~ac\-qua~e~sa\-po\-ne. } -\prop_put:Nnn \l_ghsystem_p_prop { 353 } { Sciac\-qua\-re~la~pel\-le/fa\-re~u\-na~doc\-cia. } +\prop_put:Nnn \l_ghsystem_p_prop { 353 } { Sciac\-qua\-re~la~pel\-le\slash fa\-re~u\-na~doc\-cia. } \prop_put:Nnn \l_ghsystem_p_prop { 360 } { Sciac\-qua\-re~im\-me\-dia\-ta\-men\-te~e~ab\-bon\-dan\-te\-men\-te~gli~in\-du\-men\-ti~con\-ta\-mi\-na\-ti~e~la~pel\-le~pri\-ma~di~to\-glier\-si~gli~in\-du\-men\-ti. } \prop_put:Nnn \l_ghsystem_p_prop { 361 } { To\-glier\-si~di~dos\-so~im\-me\-dia\-ta\-men\-te~tut\-ti~gli~in\-du\-men\-ti~con\-ta\-mi\-na\-ti. } \prop_put:Nnn \l_ghsystem_p_prop { 362 } { To\-glier\-si~di~dos\-so~gli~in\-du\-men\-ti~con\-ta\-mi\-na\-ti~e~la\-var\-li~pri\-ma~di~in\-dos\-sar\-li~nuo\-va\-men\-te. } \prop_put:Nnn \l_ghsystem_p_prop { 363 } { La\-va\-re~gli~in\-du\-men\-ti~con\-ta\-mi\-na\-ti~pri\-ma~di~in\-dos\-sar\-li~nuo\-va\-men\-te. } -\prop_put:Nnn \l_ghsystem_p_prop { 370 } { In~ca\-so~di~in\-cen\-dio :~\ghsystem_text: } -\prop_put:Nnn \l_ghsystem_p_prop { 371 } { In~ca\-so~di~in\-cen\-dio~gra\-ve~e~di~quan\-ti\-t\`a~ri\-le\-van\-ti :~\ghsystem_text: } +\prop_put:Nnn \l_ghsystem_p_prop { 370 } { In~ca\-so~di~in\-cen\-dio: \ghsystem_text: } +\prop_put:Nnn \l_ghsystem_p_prop { 371 } { In~ca\-so~di~in\-cen\-dio~gra\-ve~e~di~quan\-ti\-t\`a~ri\-le\-van\-ti: \ghsystem_text: } \prop_put:Nnn \l_ghsystem_p_prop { 372 } { Ri\-schio~di~e\-splo\-sio\-ne~in~ca\-so~di~in\-cen\-dio. } \prop_put:Nnn \l_ghsystem_p_prop { 373 } { NON~u\-ti\-liz\-za\-re~mez\-zi~e\-stin\-guen\-ti~se~l'in\-cen\-dio~rag\-giun\-ge~ma\-te\-ria\-li~e\-splo\-si\-vi. } \prop_put:Nnn \l_ghsystem_p_prop { 374 } { U\-ti\-liz\-za\-re~i~mez\-zi~e\-stin\-guen\-ti~con~le~pre\-cau\-zio\-ni~a\-bi\-tu\-a\-li~a~di\-stan\-za~ra\-gio\-ne\-vo\-le. } \prop_put:Nnn \l_ghsystem_p_prop { 375 } { Ri\-schio~di~e\-splo\-sio\-ne.~U\-ti\-liz\-za\-re~i~mez\-zi~e\-stin\-guen\-ti~a~gran\-de~di\-stan\-za. } \prop_put:Nnn \l_ghsystem_p_prop { 376 } { Bloc\-ca\-re~la~per\-di\-ta~se~non~c'\`e~pe\-ri\-co\-lo. } -\prop_put:Nnn \l_ghsystem_p_prop { 377 } { In~ca\-so~d'in\-cen\-dio~do\-vu\-to~a~per\-di\-ta~di~gas~\ghsystem_text: , ~non~e\-stin\-gue\-re~a~me\-no~che~non~sia~pos\-si\-bi\-le~bloc\-ca\-re~la~per\-di\-ta~sen\-za~pe\-ri\-co\-lo. } +\prop_put:Nnn \l_ghsystem_p_prop { 377 } { In~ca\-so~d'in\-cen\-dio~do\-vu\-to~a~per\-di\-ta~di~gas \ghsystem_text: , ~non~e\-stin\-gue\-re~a~me\-no~che~non~sia~pos\-si\-bi\-le~bloc\-ca\-re~la~per\-di\-ta~sen\-za~pe\-ri\-co\-lo. } \prop_put:Nnn \l_ghsystem_p_prop { 378 } { E\-stin\-gue\-re~con~\l_ghsystem_dots_tl . } \prop_put:Nnn \l_ghsystem_p_prop { 380 } { E\-va\-cua\-re~la~zo\-na. } \prop_put:Nnn \l_ghsystem_p_prop { 381 } { E\-li\-mi\-na\-re~o\-gni~fon\-te~di~ac\-cen\-sio\-ne~se~non~c'\`e~pe\-ri\-co\-lo. } @@ -304,10 +304,10 @@ \prop_put:Nnn \l_ghsystem_p_prop { 301 + 310 } { IN~CA\-SO~DI~IN\-GE\-STIO\-NE:~con\-tat\-ta\-re~im\-me\-dia\-ta\-men\-te~un~CEN\-TRO~AN\-TI\-VE\-LE\-NI~o~un~me\-di\-co. } \prop_put:Nnn \l_ghsystem_p_prop { 301 + 312 } { IN~CA\-SO~DI~IN\-GE\-STIO\-NE~ac\-com\-pa\-gna\-ta~da~ma\-les\-se\-re:~con\-tat\-ta\-re~un~CEN\-TRO AN\-TI\-VE\-LE\-NI~o~un~me\-di\-co. } \prop_put:Nnn \l_ghsystem_p_prop { 301 + 330 + 331 } { IN~CA\-SO~DI~IN\-GE\-STIO\-NE:~sciac\-qua\-re~la~boc\-ca.~NON~pro\-vo\-ca\-re~il~vo\-mi\-to. } -\prop_put:Nnn \l_ghsystem_p_prop { 302 + 334 } { IN~CA\-SO~DI~CON\-TAT\-TO~CON~LA~PEL\-LE:~im\-mer\-ge\-re~in~ac\-qua~fred\-da/av\-vol\-ge\-re~con~un~ben\-dag\-gio~u\-mi\-do. } +\prop_put:Nnn \l_ghsystem_p_prop { 302 + 334 } { IN~CA\-SO~DI~CON\-TAT\-TO~CON~LA~PEL\-LE:~im\-mer\-ge\-re~in~ac\-qua~fred\-da\slash av\-vol\-ge\-re~con~un~ben\-dag\-gio~u\-mi\-do. } \prop_put:Nnn \l_ghsystem_p_prop { 302 + 350 } { IN~CA\-SO~DI~CON\-TAT\-TO~CON~LA~PEL\-LE:~la\-va\-re~de\-li\-ca\-ta\-men\-te~e~ab\-bon\-dan\-te\-men\-te~con~ac\-qua~e~sa\-po\-ne. } \prop_put:Nnn \l_ghsystem_p_prop { 302 + 352 } { IN~CA\-SO~DI~CON\-TAT\-TO~CON~LA~PEL\-LE:~la\-va\-re~ab\-bon\-dan\-te\-men\-te~con~ac\-qua~e~sa\-po\-ne. } -\prop_put:Nnn \l_ghsystem_p_prop { 303 + 361 + 353 } { IN~CA\-SO~DI~CON\-TAT\-TO~CON~LA~PEL\-LE~(o~con~i~ca\-pel\-li):~to\-glier\-si~di~dos\-so~im\-me\-dia\-ta\-men\-te~tut\-ti~gli~in\-du\-men\-ti~con\-ta\-mi\-na\-ti.~Sciac\-qua\-re~la~pel\-le/fa\-re~u\-na~doc\-cia. } +\prop_put:Nnn \l_ghsystem_p_prop { 303 + 361 + 353 } { IN~CA\-SO~DI~CON\-TAT\-TO~CON~LA~PEL\-LE~(o~con~i~ca\-pel\-li):~to\-glier\-si~di~dos\-so~im\-me\-dia\-ta\-men\-te~tut\-ti~gli~in\-du\-men\-ti~con\-ta\-mi\-na\-ti.~Sciac\-qua\-re~la~pel\-le\slash fa\-re~u\-na~doc\-cia. } \prop_put:Nnn \l_ghsystem_p_prop { 304 + 340 } { IN~CA\-SO~DI~I\-NA\-LA\-ZIO\-NE:~tra\-spor\-ta\-re~l'in\-for\-tu\-na\-to~al\-l'a\-ria~a\-per\-ta~e~man\-te\-ner\-lo~a~ri\-po\-so~in~po\-si\-zio\-ne~che~fa\-vo\-ri\-sca~la~re\-spi\-ra\-zio\-ne. } \prop_put:Nnn \l_ghsystem_p_prop { 304 + 341 } { IN~CA\-SO~DI~I\-NA\-LA\-ZIO\-NE:~se~la~re\-spi\-ra\-zio\-ne~\`e~dif\-fi\-ci\-le,~tra\-spor\-ta\-re~l'in\-for\-tu\-na\-to~al\-l'a\-ria~a\-per\-ta~e~man\-te\-ner\-lo~a~ri\-po\-so~in~po\-si\-zio\-ne~che~fa\-vo\-ri\-sca~la~re\-spi\-ra\-zio\-ne. } \prop_put:Nnn \l_ghsystem_p_prop { 305 + 351 + 338 } { IN~CA\-SO~DI~CON\-TAT\-TO~CON~GLI~OCCHI:~sciac\-qua\-re~ac\-cu\-ra\-ta\-men\-te~per~pa\-rec\-chi~mi\-nu\-ti.~To\-glie\-re~le~e\-ven\-tua\-li~len\-ti~a~con\-tat\-to~se~\`e~a\-ge\-vo\-le~farlo.~Con\-ti\-nua\-re~a~sciac\-qua\-re. } @@ -317,7 +317,7 @@ \prop_put:Nnn \l_ghsystem_p_prop { 309 + 311 } { IN~CA\-SO~di~e\-spo\-si\-zio\-ne~o~di~ma\-les\-se\-re,~con\-tat\-ta\-re~un~CEN\-TRO~AN\-TI\-VE\-LE\-NI~o~un~me\-di\-co. } \prop_put:Nnn \l_ghsystem_p_prop { 332 + 313 } { In~ca\-so~di~ir\-ri\-ta\-zio\-ne~del\-la~pel\-le:~con\-sul\-ta\-re~un~me\-di\-co. } \prop_put:Nnn \l_ghsystem_p_prop { 333 + 313 } { In~ca\-so~di~ir\-ri\-ta\-zio\-ne~o~e\-ru\-zio\-ne~del\-la~pel\-le:~con\-sul\-ta\-re~un~me\-di\-co. } -\prop_put:Nnn \l_ghsystem_p_prop { 335 + 334 } { Ri\-muo\-ve\-re~le~par\-ti\-cel\-le~de\-po\-si\-ta\-te~sul\-la~pel\-le.~Im\-mer\-ge\-re~in~ac\-qua~fred\-da/av\-vol\-ge\-re~con~un~ben\-dag\-gio~u\-mi\-do. } +\prop_put:Nnn \l_ghsystem_p_prop { 335 + 334 } { Ri\-muo\-ve\-re~le~par\-ti\-cel\-le~de\-po\-si\-ta\-te~sul\-la~pel\-le.~Im\-mer\-ge\-re~in~ac\-qua~fred\-da\slash av\-vol\-ge\-re~con~un~ben\-dag\-gio~u\-mi\-do. } \prop_put:Nnn \l_ghsystem_p_prop { 337 + 313 } { Se~l'ir\-ri\-ta\-zio\-ne~de\-gli~oc\-chi~per\-si\-ste,~con\-sul\-ta\-re~un~me\-di\-co. } \prop_put:Nnn \l_ghsystem_p_prop { 342 + 311 } { In~ca\-so~di~sin\-to\-mi~re\-spi\-ra\-to\-ri:~con\-tat\-ta\-re~un~CEN\-TRO~AN\-TI\-VE\-LE\-NI~o~un~me\-di\-co. } \prop_put:Nnn \l_ghsystem_p_prop { 370 + 376 } { In~ca\-so~di~in\-cen\-dio:~bloc\-ca\-re~la~per\-di\-ta~se~non~c'\`e~pe\-ri\-co\-lo. } @@ -332,8 +332,8 @@ \prop_put:Nnn \l_ghsystem_p_prop { 403 } { Con\-ser\-va\-re~in~luo\-go~ben~ven\-ti\-la\-to. } \prop_put:Nnn \l_ghsystem_p_prop { 404 } { Con\-ser\-va\-re~in~un~re\-ci\-pien\-te~chiu\-so. } \prop_put:Nnn \l_ghsystem_p_prop { 405 } { Con\-ser\-va\-re~sot\-to~chia\-ve. } -\prop_put:Nnn \l_ghsystem_p_prop { 406 } { Con\-ser\-va\-re~in~re\-ci\-pien\-te~re\-si\-sten\-te~al\-la~cor\-ro\-sio\-ne/ \l_ghsystem_dots_tl\ prov\-vi\-sto~di~ri\-ve\-sti\-men\-to~in\-ter\-no~re\-si\-sten\-te. } -\prop_put:Nnn \l_ghsystem_p_prop { 407 } { Man\-te\-ne\-re~u\-no~spa\-zio~li\-be\-ro~tra~gli~scaf\-fa\-li/i~pal\-let. } +\prop_put:Nnn \l_ghsystem_p_prop { 406 } { Con\-ser\-va\-re~in~re\-ci\-pien\-te~re\-si\-sten\-te~al\-la~cor\-ro\-sio\-ne\slash \l_ghsystem_dots_tl\ prov\-vi\-sto~di~ri\-ve\-sti\-men\-to~in\-ter\-no~re\-si\-sten\-te. } +\prop_put:Nnn \l_ghsystem_p_prop { 407 } { Man\-te\-ne\-re~u\-no~spa\-zio~li\-be\-ro~tra~gli~scaf\-fa\-li\slash i~pal\-let. } \prop_put:Nnn \l_ghsystem_p_prop { 410 } { Pro\-teg\-ge\-re~dai~rag\-gi~so\-la\-ri. } \prop_put:Nnn \l_ghsystem_p_prop { 411 } { Con\-ser\-va\-re~a~tem\-pe\-ra\-tu\-re~non~su\-pe\-rio\-ri~a~ \exp_args:No \SI { \l_ghsystem_celsius_temperature_tl }{ \GHScelsius } . } \prop_put:Nnn \l_ghsystem_p_prop { 412 } { Non~e\-spor\-re~a~tem\-pe\-ra\-tu\-re~su\-pe\-rio\-ri~a~ \SI { 50 } { \GHScelsius } . } @@ -348,7 +348,7 @@ \prop_put:Nnn \l_ghsystem_p_prop { 411 + 235 } { Con\-ser\-va\-re~in~luo\-go~fre\-sco~a~tem\-pe\-ra\-tu\-re~non~su\-pe\-rio\-ri~a~ \exp_args:No \SI { \l_ghsystem_celsius_temperature_tl } { \GHScelsius } . } % 3.5 Consigli di prudenza - Smaltimento -\prop_put:Nnn \l_ghsystem_p_prop { 501 } { Smal\-ti\-re~il~pro\-dot\-to/re\-ci\-pien\-te~in~\l_ghsystem_dots_tl . } +\prop_put:Nnn \l_ghsystem_p_prop { 501 } { Smal\-ti\-re~il~pro\-dot\-to\slash re\-ci\-pien\-te~in~\l_ghsystem_dots_tl . } % 4 Codici descrittivi di pericolo (Allegato 6, da pagina 4) \prop_put:Nnn \l_ghsystem_h_prop { 350i } { Pu\`o~cau\-sa\-re~il~can\-cro~se~i\-na\-la\-to. } |