diff options
Diffstat (limited to 'Master/texmf-dist/doc/latex/chemmacros/chemgreek_en.tex')
-rw-r--r-- | Master/texmf-dist/doc/latex/chemmacros/chemgreek_en.tex | 497 |
1 files changed, 497 insertions, 0 deletions
diff --git a/Master/texmf-dist/doc/latex/chemmacros/chemgreek_en.tex b/Master/texmf-dist/doc/latex/chemmacros/chemgreek_en.tex new file mode 100644 index 00000000000..fd4470c097a --- /dev/null +++ b/Master/texmf-dist/doc/latex/chemmacros/chemgreek_en.tex @@ -0,0 +1,497 @@ +% arara: xelatex +% !arara: biber +% !arara: xelatex +% !arara: xelatex +\documentclass[DIV11,toc=index,toc=bib]{cnpkgdoc} +\docsetup{ + pkg = {[greek=math]chemmacros}, + language = en, + title = the \Chemmacros\ bundle, + subtitle = { + packages \Chemmacros\ (v\csname chemmacros@version\endcsname), + \Chemformula\ (v\csname chemformula@version\endcsname), + \Ghsystem\ (v\csname ghsystem@version\endcsname) and + \Chemgreek\ (v\csname chemgreek@version\endcsname)\\[2ex] + {\Large documentation for the \Chemgreek\ package}}, + modules = true, + code-box = {skipabove=1ex,skipbelow=1ex}, + label = {}, + name = chemgreek, + url = https://bitbucket.org/cgnieder/chemmacros/ +} + +\usepackage{chemfig,booktabs,cancel} +\setlength\heavyrulewidth{1pt} +\setlength\lightrulewidth{.4pt} +\usepackage[version=3]{mhchem} +\usepackage{fontspec} +\usepackage[oldstyle,proportional]{libertine} +\usepackage[libertine]{newtxmath} +\usepackage{libertinehologopatch} +\setmonofont[Scale=MatchLowercase]{Bitstream Vera Sans Mono} + +\cnpkgusecolorscheme{friendly} +\renewcommand*\othersectionlevelsformat[3]{% + \textcolor{main}{#3\autodot}\enskip} +\renewcommand*\partformat{% + \textcolor{main}{\partname~\thepart\autodot}} + +\usepackage{fnpct} +\usepackage[biblatex]{embrac} +\ChangeEmph{[}[,.02em]{]}[.055em,-.08em] +\ChangeEmph{(}[-.01em,.04em]{)}[.04em,-.05em] + +\pagestyle{headings} + +\usepackage[accsupp]{acro} +\acsetup{ + long-format=\scshape, + short-format=\scshape +} +\DeclareAcronym{ghs}{ + short = ghs , + long = Globally Harmonized System of Classification and Labelling of + Chemicals , + pdfstring = GHS , + accsupp = GHS +} +\DeclareAcronym{eu}{ + short = eu , + long = European Union , + pdfstring = EU , + accsupp = EU +} +\DeclareAcronym{iupac}{ + short = iupac , + long = International Union of Pure and Applied Chemistry , + pdfstring = IUPAC , + accsupp = IUPAC +} +\DeclareAcronym{UN}{ + short = un , + long = United Nations , + pdfstring = UN , + accsupp = UN +} +\DeclareAcronym{dvi}{ + short = dvi , + long = device independent file format , + pdfstring = DVI , + accsupp = DVO +} +\DeclareAcronym{pdf}{ + short = pdf , + long = portable document file , + pdfstring = PDF , + accsupp = PDF +} + +\chemsetup{ + option/synchronize , + chemformula/font-spec={[Numbers=Lining]Linux Libertine O} +} +\colorlet{chemformula}{darkgray} + +\sisetup{ + detect-mode=false, + mode=text, + text-rm=\addfontfeatures{Numbers={Proportional,Lining}} +} + +\usepackage{filecontents} + +\begin{filecontents*}{\jobname.ist} + preamble "\\begin{theindex}\n Section titles are indicated \\textbf{bold}, + packages \\textsf{sans serif}, commands \\code{\\textbackslash\\textcolor{code}{brown}}, + options \\textcolor{key}{\\code{yellow}} and modules (only \\chemmacros) + \\textcolor{module}{\\code{blue}}.\\newline\n\n" + heading_prefix "{\\bfseries " + heading_suffix "\\hfil}\\nopagebreak\n" + headings_flag 1 + delim_0 "\\dotfill\\hyperpage{" + delim_1 "\\dotfill\\hyperpage{" + delim_2 "\\dotfill\\hyperpage{" + delim_r "}\\textendash\\hyperpage{" + delim_t "}" + suffix_2p "\\nohyperpage{\\,f.}" + suffix_3p "\\nohyperpage{\\,ff.}" +\end{filecontents*} + +\usepackage[backend=biber,style=alphabetic,maxbibnames=20]{biblatex} +\addbibresource{\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”, \acs{iupac} + Green Book}, + edition = {3rd Edition. 2nd Printing}, + year = {2008}, + 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”, \acs{iupac} Red Book}, + year = {2005}, + 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}, + journal = {Official Journal of the European Union}, + date = {2008-12-16} +} +@online{unece:ghsystem_implementation, + author = {United Nations Economic Commission for Europe}, + title = {GHS Implementation}, + url = {http://www.unece.org/trans/danger/publi/ghs/implementation_e.html}, + urldate = {2012-03-20}, + date = {2012-03-20} +} +\end{filecontents*} + +\DeclareInstance{xfrac}{chemformula-text-frac}{text} + { + scale-factor = 1 , + denominator-bot-sep = -.2ex , + denominator-format = \scriptsize #1 , + numerator-top-sep = -.2ex , + numerator-format = \scriptsize #1 , + slash-right-kern = .05em , + slash-left-kern = .05em + } + +\usetikzlibrary{calc,positioning,decorations.pathmorphing,patterns} + +\pgfdeclaredecoration{penciline}{initial}{ + \state{initial}[ + width=+\pgfdecoratedinputsegmentremainingdistance, + auto corner on length=1mm + ]{ + \pgfpathcurveto% + {% From + \pgfqpoint + {\pgfdecoratedinputsegmentremainingdistance} + {\pgfdecorationsegmentamplitude} + } + {% Control 1 + \pgfmathrand + \pgfpointadd + {\pgfqpoint{\pgfdecoratedinputsegmentremainingdistance}{0pt}} + {% + \pgfqpoint + {-\pgfdecorationsegmentaspect\pgfdecoratedinputsegmentremainingdistance}% + {\pgfmathresult\pgfdecorationsegmentamplitude} + } + } + {%TO + \pgfpointadd + {\pgfpointdecoratedinputsegmentlast} + {\pgfpoint{1pt}{1pt}} + } + } + \state{final}{} +} +\tikzset{pencil/.style={decorate,decoration=penciline}} + +\TitlePicture{% + \ch[font-spec={Augie}]{ + 2 "\OX{o1,\ox{0,Na}}" + "\OX{r1,\ox{0,Cl}}" {}2 + -> + 2 "\OX{o2,\ox{+1,Na}}" {}+ + 2 "\OX{r2,\ox{-1,Cl}}" {}- + } + \redox(o1,o2)[red,pencil,-cf]{\small\ch[font-spec={[Color=red]Augie},math-space=.3em]{$-$ 2 e-}} + \redox(r1,r2)[blue,pencil,-cf][-1]{\small\ch[font-spec={[Color=blue]Augie},math-space=.3em]{$+$ 2 e-}}} + +\addcmds{ + a, abinitio, AddRxnDesc, anti, aq, aqi, + b, ba, bond, bottomrule, bridge, + cancel, cd, cdot, ce, cee, celsius, centering, changechemgreeksymbol, + chemabove, Chemalpha, Chembeta, Chemgamma, ChemGamma, Chemdelta, + ChemDelta, chemfig, chemname, Chemomega, Chemphi, ChemPhi, chemsetup, cip, + cis, ch, clap, cnsetup, CNMR, color, cstack, + 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, newchemgreekmapping, newman, NMR, Nu, Nuc, num, numrange, + O, ominus, orbital, ortho, oplus, ox, OX, + p, P, para, pch, per, percent, pgfarrowsdeclarealias, pgfarrowsrenewalias, + pH, phase, phi, Phi, photon, pKa, pKb, pOH, pos, positron, Pot, prt, + R, Rad, redox, RenewChemArrow, RenewChemBond, RenewChemIUPAC, + RenewChemLatin, RenewChemNMR, RenewChemParticle, RenewChemPhase, + RenewChemState, renewtagform, rightarrow, + S, Sf, sample, scriptscriptstyle, scrm, scrp, second, + selectchemgreekmapping, setatomsep, setbondoffset, setchemformula, sfrac, + shorthandoff, ShowChemArrow, ShowChemBond, si, SI, sisetup, sld, Sod, + square, State, subsection, + textcolor, textendash, textsuperscript, tiny, toprule, trans, + upbeta, upeta, upgamma, upphi, upPhi, Upphi, + val, volt, vphantom, vspave, + w, xspace, Z +} + +\usepackage{imakeidx} +\indexsetup{othercode=\footnotesize} +\makeindex[columns=3,intoc,options={-sl \jobname.ist}] + +\newcommand*\Chemmacros{% + {% + \fontspec[Color=main,Scale=1.2] + {Linux Biolinum Shadow O}% + chemmacros% + }% +} +\providecommand*\chemmacros{{\scshape\textcolor{main}{chemmacros}}\xspace} + +\newcommand*\Chemformula{% + {% + \fontspec[Color=main,Scale=1.2] + {Linux Biolinum Shadow O}% + chemformula% + }% +} +\providecommand*\chemformula{{\scshape\textcolor{main}{chemformula}}\xspace} + +\newcommand*\Ghsystem{% + {% + \fontspec[Color=main,Scale=1.2] + {Linux Biolinum Shadow O}% + ghsystem% + }% +} +\providecommand*\ghsystem{{\scshape\textcolor{main}{ghsystem}}\xspace} + +\newcommand*\Chemgreek{% + {% + \fontspec[Color=main,Scale=1.2] + {Linux Biolinum Shadow O}% + chemgreek% + }% +} +\providecommand*\chemgreek{{\scshape\textcolor{main}{chemgreek}}\xspace} + +\renewcommand*\AmS{\hologo{AmS}} + +\newcommand*\Default[1]{% + \hfill\llap{% + \ifblank{#1} + {(initially~empty)} + {Default:~\code{#1}}% + }\newline +} + +\usepackage{marginnote,ragged2e} +\makeatletter +\providecommand*\sinceversion[1]{% + \@bsphack + \marginnote{% + \footnotesize\sffamily\RaggedRight + \textcolor{black!75}{Introduced in version~#1}}% + \@esphack} +\providecommand*\changedversion[1]{% + \@bsphack + \marginnote{% + \footnotesize\sffamily\RaggedRight + \textcolor{black!75}{Changed in version~#1}}% + \@esphack} + +\RenewDocumentCommand\CTANurl{O{macros/latex/contrib}m} + {% + on CTAN: % + \hyper@linkurl{#2}{http://mirrors.ctan.org/#1/#2/}% + } +\ExplSyntaxOn +\RenewDocumentCommand \paket { sO{macros/latex/contrib}m } + { + \paketfont { #3 } + \index { #3 @ \paketfont { #3 } } + \prop_if_in:NnF \g_cnpkgdoc_pakete_prop { #3 } + { + \prop_gput:Nnn \g_cnpkgdoc_pakete_prop { #3 } {} + \IfBooleanF { #1 } + { \footnote { \CTANurl[]{#3} } } + } + } +\ExplSyntaxOff +\makeatother + +\newcommand*\tablehead[1]{\textrm{\bfseries#1}} + +\begin{document} + +\section{Introduction} +The \chemgreek\ package is an auxiliary package for other chemistry packages +such as \chemmacros. In chemistry there is often the need for upright greek +letters. The \chemgreek\ package provides an interface to various other +packages that provide upright greek letters. One could mention +\paket{textgreek}, \paket{upgreek}, \paket[fonts]{newtx} or +\paket[fonts]{kpfonts}. All of these packages provide upright greek letters, +some a whole alphabet some only the upright variants of the standard italic +symbols for which macros are defined in base \LaTeX. + +\chemgreek\ offers a possibility to map those different interfaces to a +unified set of macros for usage in a chemistry package. + +\section{Licence and Requirements} +Permission is granted to copy, distribute and/or modify this software under +the terms of the \LaTeX\ project public license (lppl) version 1.3 or later +(\url{http://www.latex-project.org/lppl.txt}). The package has the status +``maintained.'' + +\chemgreek\ loads the following packages: +\paket*{expl3}\footnote{\CTANurl{l3kernel}} and +\paket*{xparse}\footnote{\CTANurl{l3packages}}. + +\section{Define Mappings} + +\chemgreek's main commands are: +\begin{beschreibung} + \Befehl{newchemgreekmapping}{<name>}\ma{<mapping list>}\newline + Add a new mapping to \chemgreek. Issue an error if it already exists. + \Befehl{renewchemgreekmapping}{<name>}\ma{<mapping list>}\newline + Renew a \chemgreek\ mapping. Issue an error if it doesn't exist yet. + \Befehl{newchemgreekmapping}{<name>}\ma{<mapping list>}\newline + Declare a new mapping to \chemgreek. If the mapping already exists it + will be overwritten. +\end{beschreibung} + +The command \cmd{newchemgreekmapping} needs to get a comma separated list of +24 pairs divided by a slash. The first entry is the lowercase version und the +second the uppercase version for the corresponding greek letter at the current +position. This will become clearer if you look at how the \code{default} +mapping is defined: + +\begin{beispiel}[code only] +\newchemgreekmapping{default} + { + \ensuremath{\alpha} / \ensuremath{\mathrm{A}} , % 1: alpha + \ensuremath{\beta} / \ensuremath{\mathrm{B}} , % 2: beta + \ensuremath{\gamma} / \ensuremath{\Gamma} , % 3: gamma + \ensuremath{\delta} / \ensuremath{\Delta} , % 4: delta + \ensuremath{\epsilon} / \ensuremath{\mathrm{E}} , % 5: epsilon + \ensuremath{\zeta} / \ensuremath{\mathrm{Z}} , % 6: zeta + \ensuremath{\eta} / \ensuremath{\mathrm{H}} , % 7: eta + \ensuremath{\theta} / \ensuremath{\Theta} , % 8: theta + \ensuremath{\iota} / \ensuremath{\mathrm{I}} , % 9: iota + \ensuremath{\kappa} / \ensuremath{\mathrm{K}} , % 10: kappa + \ensuremath{\lambda} / \ensuremath{\Lambda} , % 11: lambda + \ensuremath{\mu} / \ensuremath{\mathrm{M}} , % 12: mu + \ensuremath{\nu} / \ensuremath{\mathrm{N}} , % 13: nu + \ensuremath{\xi} / \ensuremath{\Xi} , % 14: xi + \ensuremath{o} / \ensuremath{\mathrm{O}} , % 15: omikron + \ensuremath{\pi} / \ensuremath{\Pi} , % 16: pi + \ensuremath{\rho} / \ensuremath{\mathrm{P}} , % 17: rho + \ensuremath{\sigma} / \ensuremath{\Sigma} , % 18: sigma + \ensuremath{\tau} / \ensuremath{\mathrm{T}} , % 19: tau + \ensuremath{\upsilon} / \ensuremath{\Upsilon} , % 20: upsilon + \ensuremath{\phi} / \ensuremath{\Phi} , % 21: phi + \ensuremath{\psi} / \ensuremath{\Psi} , % 22: psi + \ensuremath{\chi} / \ensuremath{\mathrm{X}} , % 23: chi + \ensuremath{\omega} / \ensuremath{\Omega} % 24: omega + } +\end{beispiel} + +There \emph{must} be 24 pairs of entries, i.e., a complete mapping! Those +entries are the ones that will be used by the interface macros. For each +letter a pair \cmd{Chemalpha}/\cmd{ChemAlpha} is defined that uses the entries +of the currently active mapping. That means there are 48 (robust) macros +defined each beginning with \cmd*{Chem...} followed by the lowercase or +uppercase name of the Greek letter. + +The default mapping is -- as you can probably see -- \emph{not an upright + one}. This is because \chemgreek\ will not make any choice for a specific +package but let's the user (or another package) choose. The \chemmacros\ +package for example provides a package option that selects one of the +available mappings. + +\begin{beispiel} + Default mapping: \Chemphi\ and \ChemPhi, $\phi$ and $\Phi$ +\end{beispiel} + +\section{Predefined Mappings and Selection of a Mapping} +\chemgreek\ predefines some mappings. Some of the mappings require additional +packages to be loaded. The mapping names and the required packages are listed +in table~\ref{tab:mappings}. + +\begin{table}[hbp] + \centering + \begin{tabular}{>{\ttfamily}ll} + \toprule + \tablehead{mapping} & \tablehead{package} \\ + \midrule + default & --- \\ + var-default & --- \\ + textgreek & \paket*{textgreek} \\ + upgreek & \paket*{upgreek} \\ + newtx & \paket*{newtxmath} \\ + kpfonts & \paket*{kpfonts} \\ + \bottomrule + \end{tabular} + \caption{Predefined mappings.} + \label{tab:mappings} +\end{table} + +A mapping is selected and activated with one of the following commands: +\begin{beschreibung} + \Befehl{activatechemgreekmapping}*[<options>]{<name>}\newline + This commands selects and activates the mapping \code{<name>}. If the + star variant is used also the package \code{<name>} is loaded with options + \code{<options>}. This obviously only makes sense if the package name is + the same as the mapping name. The command can only be used in the + document preamble. + \Befehl{selectchemgreekmapping}{<name>} + This commands selects and activates the mapping \code{<name>}. A required + package has to be loaded additionally the usual way via \cmd*{usepackage} + or \cmd*{RequirePackage}. The command can be used throughout the + document. +\end{beschreibung} + +\begin{beispiel} + % requires the `newtxmath' package to be loaded: + \Chemphi\ and \ChemPhi, $\phi$ and $\Phi$\par + \selectchemgreekmapping{newtx} + \Chemphi\ and \ChemPhi, $\upphi$ and $\upPhi$ +\end{beispiel} + +\section{Changing a Specific Symbol in an Existing Mapping} +If you should want to change a specifig entry of a specific mapping it would +be rather tedious to redefine the whole mapping. That is why \chemgreek\ +provides a command for that purpose: +\begin{beschreibung} + \Befehl{changechemgreeksymbol}{<mapping name>}\ma{upper|lower}\ma{<entry + name>}\ma{<entry>}\newline + Changes the \code{upper}- or \code{lower}case entry \code{<entry name>} in + the mapping \code{<mapping name>}. +\end{beschreibung} + +In order to activate the change you need the (re-) activate the affected +mapping afterwards: +\begin{beispiel} + \changechemgreeksymbol{default}{lower}{alpha}{xxx} + \selectchemgreekmapping{default} + \Chemalpha +\end{beispiel} + +\appendix + +\printindex + +\end{document} |