% arara: pdflatex: { shell: on } % arara: makeindex: { sort: true, style: chemnum_de.ist } % arara: pdflatex: { shell: on } % arara: pdflatex: { shell: on } %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % - chemnum - chemnum_it.tex % - a comprehensive approach for the numbering of chemical compounds % ----------------------------------------------------------------------------- % - Clemens NIEDERBERGER % - % - contact@mychemistry.eu % ----------------------------------------------------------------------------- % - If you have any ideas, questions, suggestions or bugs to report, please % - feel free to contact me. % ----------------------------------------------------------------------------- % - Copyright 2011-2012 Clemens Niederberger % - % - This work may be distributed and/or modified under the % - conditions of the LaTeX Project Public License, either version 1.3 % - of this license or (at your option) any later version. % - The latest version of this license is in % - http://www.latex-project.org/lppl.txt % - and version 1.3 or later is part of all distributions of LaTeX % - version 2005/12/01 or later. % - % - This work has the LPPL maintenance status `maintained'. % - % - The Current Maintainer of this work is Clemens Niederberger. % - % - This work consists of the files % - chemnum.sty, chemnum_de.tex, chemnum_en.tex, chemnum_it.tex % - scheme-tmp.ps, scheme-bla.ps, % - README % - chemnum_de.pdf, chemnum_en.pdf, chemnum_it.pdf % - % - in order to compile this document you need the class `cnpkgdoc' with is % - available under the LPPL here: https://bitbucket.org/cgnieder/cnpkgdoc/ % - %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \RequirePackage[german,naustrian,austrian,english,british,american,canadian,frenchb, canadien,spanish,ngerman,italian]{babel} \RequirePackage[textgreek=artemisia]{chemnum} \documentclass[DIV11,toc=index]{cnpkgdoc} \docsetup{ pkg = chemnum, language = it, code-box = {skipabove=1ex,skipbelow=1ex} } \usepackage{fnpct} \addcmds{ @m,arrow,bf,ch,chemfig,chemname,cmpd,cmpdinit,cmpdref,cmpdreset,cmpdsetup, CNlabel,CNlabelnoref,CNref,CNlabelsub,CNlabelsubnoref,CNrefsub, color,compound,compoundprefix,compoundsuffix,declarecompound,fcite, includegraphics,jobname,midrule,penalty,psfrag,renewcommand,schemename, schemestart,schemestop,selectlanguage,setarrowoffset,setatomsep,setcompoundsep, setdoublesep,section,sf,subsection,subsubsection,tableofcontents, texorpdfstring,textcolor,theffbibliography,uline} \usepackage{textcomp,longtable,tabu,booktabs,chemscheme,hologo} \usepackage[iupac=strict]{chemmacros} \chemsetup[chemformula]{format=\libertineLF} \usepackage{chemfig} \usepackage[runs=2]{auto-pst-pdf} \usepackage{filecontents} \begin{filecontents*}{\jobname.ist} preamble "\\begin{theindex}\n I titoli di paragrafo sono resi in \\textbf{nero}, i pacchetti \\textsf{senza grazie}, i comandi in \\textcolor{code}{marrone} e le chiavi in \\textcolor{key}{verde}.\\newline\n\n" heading_prefix "{\\bfseries " heading_suffix "\\hfil}\\nopagebreak\n" %FIXME? hfil oder hfill? spielt keine große Rolle wenn \hfil funktioniert headings_flag 1 delim_0 "\\dotfill " delim_1 "\\dotfill " delim_2 "\\dotfill " delim_r "--" suffix_2p "\\nohyperpage{\\,s.}" suffix_3p "\\nohyperpage{\\,ss.}" \end{filecontents*} \let\prog\textsc \let\name\textsc \let\CNversion\cnpkgdocpkgversion \let\CNdate\cnpkgdocpkgdate \cmpdinit*{a,aa,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,benzene,r,s,t,{1,3-dichlorocyclohexanole}} \TitlePicture{% \selectlanguage{ngerman} \cmpdinit*{glucose.alpha, glucose.beta, glucose.chain} \cmpd*[sub-counter = greek]{glucose.alpha, glucose.beta}\cmpd*{glucose.chain} \setatomsep{2em} \definesubmol{x}{(-[4]H)(-[0]OH)} \definesubmol{y}{(-[0]H)(-[4]HO)} \begin{scheme}[h] \centering\small \schemestart \chemfig{?(-[:-170]HO)-[:-50](-[:170]HO)-[:10](-[:-55,0.7]OH)-[:-10](-[6,0.8]OH)-[:130]O-[:-170]?(-[:150,0.7]-[2,0.7]OH)} \arrow(alpha--chain){<=>} \chemfig{[2]OH-[3]-!x-!x-!y-!x-=[1]O} \arrow(--beta){<=>} \chemfig{?(-[:-170]HO)-[:-50](-[:170]HO)-[:10](-[:-55,0.7]OH)-[:-10](-[:10]OH)(-[6,,,,draw=none]\vphantom{OH})-[:130]O-[:-170]?(-[:150,0.7]-[2,0.7]OH)} \arrow(@chain--chainlabel){0}[-90,.2] \normalsize\cmpd[cmpd-delim]{glucose.chain} \arrow(@chainlabel--){0}[,2.5] \normalsize\cmpd[cmpd-delim]{glucose.beta} \arrow(@chainlabel--){0}[180,2.3] \normalsize\cmpd[cmpd-delim]{glucose.alpha} \schemestop \caption{L'anomero \a e l'anomero \b del \D-glucosio \cmpd[list-delim,list-lang=IT]{glucose.alpha,glucose.beta} in soluzione sono in equilibrio attraverso la forma a catena aperta \cmpd[cmpd-delim]{glucose.chain}.} \end{scheme}} \newcommand{\pes}{p.\,es.\ } \makeindex \begin{document} \selectlanguage{italian}\cmpdreset \section{Un Leggimi molto breve} \chemnum \CNversion\ è pubblicato sotto la \LaTeX{} Project Public License versione~1.3 o successive. (\url{http://www.latex-project.org/lppl.txt}) Internamente \chemnum richiama i pacchetti \paket*{expl3} e \paket{xparse}. \paket{xparse} fa parte del bundle \paket{l3packages}, \paket*{expl3} fa parte del bundle \paket{l3kernel}; ciò significa che \chemnum richiede il supporto di \LaTeX3. \chemnum richiede inoltre i pacchetti \paket{etoolbox} e \paket{psfrag} e a seconda delle opzioni globali di pacchetto\footnote{d'ora in poi chiamate <>} impostate alternativamente uno tra i pacchetti \paket{textgreek} o \paket{bm} (vedi il paragrafo~\ref{sec:package:options}). \section{Novità e le mie scuse} \subsection{Versione 0.4} Con l'aggiornamento alla v0.4 vi sono stati alcuni cambiamenti riguardanti le opzioni. Se ne sono aggiunte alcune nuove, e alcune delle preesistenti hanno variato nome: ho riassegnato dei nomi tra di loro più consistenti, che a mio parere rispecchiano la loro funzione in modo più intuitivo. Per questo motivo può accadere che alcuni documenti creati con una versione precedente di \chemnum non si lascino più compilare correttamente; di questo vorrei scusarmi. \chemnum si trova ancora in fase di sviluppo; quando sarà raggiunta la v1.0, non avverranno più\footnote{o solo in casi eccezionali} cambiamenti di questo tipo. Le opzioni seguenti hanno dei nomi nuovi: \begin{center} \begin{tabular}{ll}\toprule \bfseries nome vecchio & \bfseries nome nuovo \\\midrule \key{cmpd-sep} & \key{sub-output-sep} \\ \key{sub-marker} & \key{sub-input-sep} \\ \key{sub-range-sep} & \key{subrange-output-sep} \\ \key{sub-range-marker} & \key{subrange-input-sep} \\ \key{strict} & \key{init-strict} \\ \key{sub-init} & \key{init-sub} \\\bottomrule \end{tabular} \end{center} Queste opzioni sono nuove: \begin{center} \begin{tabular}{ll}\toprule \bfseries opzione & \bfseries descrizione \\\midrule \key{sublist-output-sep} & Simboli di elenco nelle etichette come \cmpd{bsp.{one,two}}, vedi a pagina~\pageref{sssec:list-output-sep}. \\ \key{sublist-input-sep} & Input di etichette come \cmpd{bsp.{one,two}}, vedi a pagina~\pageref{sssec:list-input-sep}. \\ \key{init-input-sep} & Input con \cmd{cmpdinit}, vedi a pagina~\pageref{sssec:init-input-sep}. \\ \key{hyper-use} & Impiego di hyperlink, vedi a pagina~\pageref{sec:hyperref}. \\ \key{hyper-target} & \\ \key{hyper-link} & \\ \key{ref-style} & Rappresentazione delle etichette con \cmd{cmpdref}, vedi le pagine~\pageref{ssec:cmpdref} e~\pageref{ssec:schriftstil}. \\\bottomrule \end{tabular} \end{center} È nuovo anche il modo di inserire elenchi e intervalli di subetichette; per questo motivo l'opzione \key{sub-list} scompare. Per i dettagli si veda il paragrafo~\ref{ssec:sub_ranges}. Inoltre è possibile generare dei collegamenti ipertestuali alle etichette, ammesso che venga caricato \paket{hyperref} (vedi il paragrafo~\ref{sec:hyperref}). \subsection{Versione 0.5} Dalla v0.5 esiste l'opzione \key{ref-pos} che permette di modificare le opzioni di posizionamento del comando \cmd{psfrag}, utilizzato internamente da \cmd{cmpdref} (vedi a pagina~\pageref{ssec:marker_in_bildern}). \achtung{L'ordine degli argomenti opzionali del comando \cmd{cmpdref} è variato (vedi a pagina~\pageref{ssec:cmpdref}!} \section{Opzioni globali}\label{sec:package:options}\secidx{opzioni globali} \chemnum ha un'opzione globale \begin{beschreibung} \Option{textgreek}{artemisia/\default{cbgreek}/euler/false} Default: \code{false} \end{beschreibung} Con questa opzione si può selezionare uno dei tre stili del pacchetto \paket{textgreek}\footnote{Per i dettagli si rimanda alla documentazione del pacchetto \paket*{textgreek}.} o caricare \chemnum senza \paket{textgreek}. Questo documento è stato compilato con \verb+\usepackage[textgreek=artemisia]{chemnum}+. \secidx*{opzioni globali} \section{Motivazione} Finora per la numerazione di composti era possibile impiegare tre pacchetti (di mia conoscenza), ciascuno con i suoi difetti e le sue debolezze. Il primo, \paket{chemcono}, a questo scopo ridefinisce comandi bibliografici; i composti debbono essere definiti in una sorta di elenco di letteratura, alla quale si può fare riferimento nel testo. Dato che la ``biblioteca di composti'' viene sempre stampata, l'autore del pacchetto suggerisce il seguente: \begin{zitat}[Stefan Schulz] After compilation and printout, discard the last page. \end{zitat} Ovviamente non si tratta di una soluzione ottimale. Il secondo, \paket{chemcompounds}, è stato creato perché l'autore del pacchetto voleva fare a meno dei difetti di \paket{chemcono}. Creando il pacchetto si è attenuto allo stesso meccanismo fondamentale di \paket{chemcono}. \begin{zitat}[Stephan Schenk] When taking a closer look at the chemcono package, I realised that the only thing one has to do is to get rid of everything which produces text. Thus, as a basis I used the mechanism of \verb=\bibitem= and \verb=\cite= in pretty much the same way as \paket{chemcono} does by extracting the corresponding code from \verb=article.cls= and \verb=latex.ltx= but deleting any unnecessary commands producing output. I also introduced several lines of code to make the printing of the compound names more customisable. \end{zitat} Anche questo pacchetto ha le sue debolezze: \begin{enumerate} \item I composti solitamente devono essere dichiarati con \verb=\declarecompound=, certamente se si vogliono etichette del tipo di \cmpd{bsp.one}; in questo caso è necessario impostare manualmente le etichette, cosa che fa perdere il senso di una numerazione automatica. \item Il layout non può essere adattato invidualmente, bensì solo globalmente per tutte le etichette. \item La numerazione non può essere azzerata. Sebbene nella maggioranza dei casi ciò \emph{non è né necessario né consigliabile}, possono esserci dei casi particolari in cui si desidera un comportamento di questo tipo. \item Un elenco di più composti \verb=\compound{a,b,c}= non può essere adattata o solo con grande difficoltà. \end{enumerate} Esiste inoltre \paket{bpchem}, che fornisce comandi simili a \verb=\label= e \verb=\ref=: \verb=\CNlabel{}=, \verb=\CNlabelnoref{}= e \verb=\CNref{}=. Inoltre aggiunge dei comandi per le subetichette: \verb=\CNlabelsub{}{}=, \verb=\CNlabelsubnoref{}{}= e \verb=\CNrefsub{}{}=. È quindi più flessibile degli altri; tuttavia non fornisce quasi nessuna modalità di personalizzazione, non permette gli elenchi e la presenza di comandi diversi per etichette ed etichette con subetichette non è una soluzione ottimale. \chemnum cerca di superare queste debolezze, e per questa ragione tutti i comandi sono stati interamente riscritti. Sono state tuttavia adottate alcune idee di \paket{chemcompounds} per le possibilità di rappresentazione, come i delimitatori ecc. % FIXME: DEFINIERE \ecc ! \newcommand{\ecc}{ecc.\ } % Wenn es Deiner Meinung nach sinnvoll ist, \ecc zu definieren, füge es einfach % ein Se vi dovessero mancare alcune funzionalità, vi prego di comunicarmelo inviandomi un'e-mail. \section{Numerare i composti}\label{sec:nummerieren} \subsection{Comando di base}\secidx{comando di base}\cmpdreset Il comando fondamentale del pacchetto è \begin{beschreibung} \Befehl{cmpd}{