diff --git a/latex/APS_template/SI.tex b/latex/APS_template/SI.tex new file mode 100644 index 0000000..effb1e9 --- /dev/null +++ b/latex/APS_template/SI.tex @@ -0,0 +1,85 @@ +% TeX'ing this file requires that you have AMS-LaTeX 2.0 installed +% as well as the rest of the prerequisites for REVTeX 4.0 +% +% See the REVTeX 4 README file +% It also requires running BibTeX. The commands are as follows: +% +% 1) latex apssamp.tex +% 2) bibtex apssamp +% 3) latex apssamp.tex +% 4) latex apssamp.tex +% +%\documentclass[prb,showkeys,preprintnumbers,amsmath,amssymb, 11pt]{revtex4} +%\documentclass[preprint,showpacs,showkeys,preprintnumbers,amsmath,amssymb]{revtex4} + +% Some other (several out of many) possibilities +%\documentclass[preprint,aps]{revtex4} +%\documentclass[aps, two column, amsmath,amssymb,floatfix]{revtex4} +%\documentclass[showkeys,showpacs,amsmath,amssymb,onecolumn,superscriptaddress,prl]{revtex4-1}% Physical Review B +\documentclass[aps,prl,reprint,showpacs,floatfix,superscriptaddress, onecolumn]{revtex4-2} + +\usepackage{amsmath,amsthm,amssymb} +\usepackage{graphicx}% Include figure files +\graphicspath{{submission/SIfig}} + +\usepackage{dcolumn}% Align table columns on decimal point +\usepackage{bm}% bold math +\usepackage{color} +\usepackage{epsfig} +\usepackage{multirow} +\usepackage{mathrsfs} +\usepackage{hyperref} +\usepackage{cleveref} +\usepackage{epstopdf} +\usepackage{subfigure} +\usepackage{autobreak} + +%Macros for mathematical notations + +\newcommand{\V}[1]{\boldsymbol{#1}} %# vector +\newcommand{\M}[1]{\boldsymbol{#1}} %# matrix +\newcommand{\Set}[1]{\mathbb{#1}} %# set +\newcommand{\D}[1]{\Delta#1} %# \D{t} for time step size +\renewcommand{\d}[1]{\delta#1} %# \d{t} for small increment +\newcommand{\norm}[1]{\left\Vert #1\right\Vert } % norm +\newcommand{\abs}[1]{\left|#1\right|} %abs + +\newcommand{\grad}{\M{\nabla}} %gradient +\newcommand{\av}[1]{\left\langle #1\right\rangle } %take average + +\newcommand{\sM}[1]{\M{\mathcal{#1}}} %matrix in mathcal font +\newcommand{\dprime}{\prime\prime} % double prime +%\global\long\def\i{\iota} +%\renewcommand{\i}{\iota} %i for imaginary unit +%\renewcommand{\i}{\mathsf i} %i for imaginary unit +\newcommand{\follows}{\quad\Rightarrow\quad} %=> +\newcommand{\eqd}{\overset{d}{=}} %=^d +\newcommand{\spe}[1]{\mathscr{#1}} %important quantities in mathscr font +\newcommand{\eps}{\epsilon} +\newcommand{\rev}[1] {{\color{blue}#1}} + +\usepackage{algorithm} +\usepackage{algorithmic} + + + +\begin{document} +\preprint{Preprint} + +\title{Supplementary Information} +\author{} +\email{} +\affiliation{} +\affiliation{} + +\author{Zecheng Gan} \thanks{Corresponding author} +\email{zechenggan@ust.hk} +\affiliation{Thrust of Advanced Materials, The Hong Kong University of Science and Technology (Guangzhou), Guangdong, China} +\affiliation{Department of Mathematics, The Hong Kong University of Science and Technology, Hong Kong SAR, China} + +\maketitle + + + +\end{document} + diff --git a/latex/APS_template/groupbib.bib b/latex/APS_template/groupbib.bib new file mode 100644 index 0000000..e69de29 diff --git a/latex/APS_template/main.tex b/latex/APS_template/main.tex new file mode 100644 index 0000000..2981a62 --- /dev/null +++ b/latex/APS_template/main.tex @@ -0,0 +1,103 @@ +% TeX'ing this file requires that you have AMS-LaTeX 2.0 installed +% as well as the rest of the prerequisites for REVTeX 4.0 +% +% See the REVTeX 4 README file +% It also requires running BibTeX. The commands are as follows: +% +% 1) latex apssamp.tex +% 2) bibtex apssamp +% 3) latex apssamp.tex +% 4) latex apssamp.tex +% +%\documentclass[prb,showkeys,preprintnumbers,amsmath,amssymb, 11pt]{revtex4} +%\documentclass[preprint,showpacs,showkeys,preprintnumbers,amsmath,amssymb]{revtex4} + +% Some other (several out of many) possibilities +%\documentclass[preprint,aps]{revtex4} +%\documentclass[aps, two column, amsmath,amssymb,floatfix]{revtex4} +%\documentclass[showkeys,showpacs,amsmath,amssymb,twocolumn,superscriptaddress,prl]{revtex4-1}% Physical Review B +\documentclass[aps,prl,reprint,showpacs,floatfix,superscriptaddress]{revtex4-2} + +\usepackage{amsmath,amsthm,amssymb} +\usepackage{graphicx}% Include figure files +\graphicspath{{submission/figs}} + +\usepackage{dcolumn}% Align table columns on decimal point +\usepackage{bm}% bold math +\usepackage{color} +\usepackage{epsfig} +\usepackage{multirow} +\usepackage{mathrsfs} +\usepackage{hyperref} +\usepackage{cleveref} +\usepackage{epstopdf} +\usepackage{subfigure} +\usepackage{autobreak} + + + +%Macros for mathematical notations + +\newcommand{\V}[1]{\boldsymbol{#1}} %# vector +\newcommand{\M}[1]{\boldsymbol{#1}} %# matrix +\newcommand{\Set}[1]{\mathbb{#1}} %# set +\newcommand{\D}[1]{\Delta#1} %# \D{t} for time step size +\renewcommand{\d}[1]{\delta#1} %# \d{t} for small increment +\newcommand{\norm}[1]{\left\Vert #1\right\Vert } % norm +\newcommand{\abs}[1]{\left|#1\right|} %abs + +\newcommand{\grad}{\M{\nabla}} %gradient +\newcommand{\av}[1]{\left\langle #1\right\rangle } %take average + +\newcommand{\sM}[1]{\M{\mathcal{#1}}} %matrix in mathcal font +\newcommand{\dprime}{\prime\prime} % double prime +%\global\long\def\i{\iota} +%\renewcommand{\i}{\iota} %i for imaginary unit +%\renewcommand{\i}{\mathsf i} %i for imaginary unit +\newcommand{\follows}{\quad\Rightarrow\quad} %=> +\newcommand{\eqd}{\overset{d}{=}} %=^d +\newcommand{\spe}[1]{\mathscr{#1}} %important quantities in mathscr font +\newcommand{\eps}{\epsilon} +\usepackage{color} +\newcommand{\rev}[1] {{\color{blue}#1}} +\newcommand{\gao}[1] {{\color{red}{\textit{xz comment}}: \color{red}#1}} + +\begin{document} +\preprint{Preprint} + +\title{Title} + +\author{} +\email{} +\affiliation{Thrust of Advanced Materials, The Hong Kong University of Science and Technology (Guangzhou), Guangdong, China} + +\author{Zecheng Gan} \thanks{Corresponding author} +\email{zechenggan@ust.hk} +\affiliation{Thrust of Advanced Materials, The Hong Kong University of Science and Technology (Guangzhou), Guangdong, China} +\affiliation{Department of Mathematics, The Hong Kong University of Science and Technology, Hong Kong SAR, China} + +\date{\today} + +%%%%% Begin Abstract %%%%%%%%%%% +\begin{abstract} + +\end{abstract} + +%%%%% end %%%%%%%%%%% + +%%%%% AMS/PACs/Keywords %%%%%%%%%%% +%\pacs{no longer needed} + +%\keywords{ } +%%%% maketitle %%%%% +\maketitle + +%%%% Start %%%%%% + + + +\bibliography{groupbib} + + + +\end{document} diff --git a/latex/JCP_template/SI.tex b/latex/JCP_template/SI.tex new file mode 100644 index 0000000..effb1e9 --- /dev/null +++ b/latex/JCP_template/SI.tex @@ -0,0 +1,85 @@ +% TeX'ing this file requires that you have AMS-LaTeX 2.0 installed +% as well as the rest of the prerequisites for REVTeX 4.0 +% +% See the REVTeX 4 README file +% It also requires running BibTeX. The commands are as follows: +% +% 1) latex apssamp.tex +% 2) bibtex apssamp +% 3) latex apssamp.tex +% 4) latex apssamp.tex +% +%\documentclass[prb,showkeys,preprintnumbers,amsmath,amssymb, 11pt]{revtex4} +%\documentclass[preprint,showpacs,showkeys,preprintnumbers,amsmath,amssymb]{revtex4} + +% Some other (several out of many) possibilities +%\documentclass[preprint,aps]{revtex4} +%\documentclass[aps, two column, amsmath,amssymb,floatfix]{revtex4} +%\documentclass[showkeys,showpacs,amsmath,amssymb,onecolumn,superscriptaddress,prl]{revtex4-1}% Physical Review B +\documentclass[aps,prl,reprint,showpacs,floatfix,superscriptaddress, onecolumn]{revtex4-2} + +\usepackage{amsmath,amsthm,amssymb} +\usepackage{graphicx}% Include figure files +\graphicspath{{submission/SIfig}} + +\usepackage{dcolumn}% Align table columns on decimal point +\usepackage{bm}% bold math +\usepackage{color} +\usepackage{epsfig} +\usepackage{multirow} +\usepackage{mathrsfs} +\usepackage{hyperref} +\usepackage{cleveref} +\usepackage{epstopdf} +\usepackage{subfigure} +\usepackage{autobreak} + +%Macros for mathematical notations + +\newcommand{\V}[1]{\boldsymbol{#1}} %# vector +\newcommand{\M}[1]{\boldsymbol{#1}} %# matrix +\newcommand{\Set}[1]{\mathbb{#1}} %# set +\newcommand{\D}[1]{\Delta#1} %# \D{t} for time step size +\renewcommand{\d}[1]{\delta#1} %# \d{t} for small increment +\newcommand{\norm}[1]{\left\Vert #1\right\Vert } % norm +\newcommand{\abs}[1]{\left|#1\right|} %abs + +\newcommand{\grad}{\M{\nabla}} %gradient +\newcommand{\av}[1]{\left\langle #1\right\rangle } %take average + +\newcommand{\sM}[1]{\M{\mathcal{#1}}} %matrix in mathcal font +\newcommand{\dprime}{\prime\prime} % double prime +%\global\long\def\i{\iota} +%\renewcommand{\i}{\iota} %i for imaginary unit +%\renewcommand{\i}{\mathsf i} %i for imaginary unit +\newcommand{\follows}{\quad\Rightarrow\quad} %=> +\newcommand{\eqd}{\overset{d}{=}} %=^d +\newcommand{\spe}[1]{\mathscr{#1}} %important quantities in mathscr font +\newcommand{\eps}{\epsilon} +\newcommand{\rev}[1] {{\color{blue}#1}} + +\usepackage{algorithm} +\usepackage{algorithmic} + + + +\begin{document} +\preprint{Preprint} + +\title{Supplementary Information} +\author{} +\email{} +\affiliation{} +\affiliation{} + +\author{Zecheng Gan} \thanks{Corresponding author} +\email{zechenggan@ust.hk} +\affiliation{Thrust of Advanced Materials, The Hong Kong University of Science and Technology (Guangzhou), Guangdong, China} +\affiliation{Department of Mathematics, The Hong Kong University of Science and Technology, Hong Kong SAR, China} + +\maketitle + + + +\end{document} + diff --git a/latex/JCP_template/groupbib.bib b/latex/JCP_template/groupbib.bib new file mode 100644 index 0000000..e69de29 diff --git a/latex/JCP_template/main.pdf b/latex/JCP_template/main.pdf new file mode 100644 index 0000000..8051d69 Binary files /dev/null and b/latex/JCP_template/main.pdf differ diff --git a/latex/JCP_template/main.spl b/latex/JCP_template/main.spl new file mode 100644 index 0000000..e69de29 diff --git a/latex/JCP_template/main.tex b/latex/JCP_template/main.tex new file mode 100644 index 0000000..4c54eb1 --- /dev/null +++ b/latex/JCP_template/main.tex @@ -0,0 +1,74 @@ +\documentclass[preprint]{elsarticle} + +\usepackage{amsmath,amsthm,amssymb} +\usepackage{graphicx}% Include figure files +\graphicspath{{submission/figs}} + +\usepackage{dcolumn}% Align table columns on decimal point +\usepackage{bm}% bold math +\usepackage{color} +\usepackage{epsfig} +\usepackage{multirow} +\usepackage{mathrsfs} +\usepackage{hyperref} +\usepackage{cleveref} +\usepackage{epstopdf} +\usepackage{subfigure} +\usepackage{autobreak} + + + +%Macros for mathematical notations + +\newcommand{\V}[1]{\boldsymbol{#1}} %# vector +\newcommand{\M}[1]{\boldsymbol{#1}} %# matrix +\newcommand{\Set}[1]{\mathbb{#1}} %# set +\newcommand{\D}[1]{\Delta#1} %# \D{t} for time step size +\renewcommand{\d}[1]{\delta#1} %# \d{t} for small increment +\newcommand{\norm}[1]{\left\Vert #1\right\Vert } % norm +\newcommand{\abs}[1]{\left|#1\right|} %abs + +\newcommand{\grad}{\M{\nabla}} %gradient +\newcommand{\av}[1]{\left\langle #1\right\rangle } %take average + +\newcommand{\sM}[1]{\M{\mathcal{#1}}} %matrix in mathcal font +\newcommand{\dprime}{\prime\prime} % double prime +%\global\long\def\i{\iota} +%\renewcommand{\i}{\iota} %i for imaginary unit +%\renewcommand{\i}{\mathsf i} %i for imaginary unit +\newcommand{\follows}{\quad\Rightarrow\quad} %=> +\newcommand{\eqd}{\overset{d}{=}} %=^d +\newcommand{\spe}[1]{\mathscr{#1}} %important quantities in mathscr font +\newcommand{\eps}{\epsilon} +\usepackage{color} +\newcommand{\rev}[1] {{\color{blue}#1}} +\newcommand{\gao}[1] {{\color{red}{\textit{xz comment}}: \color{red}#1}} + +\begin{document} +\preprint{Preprint} + +\title{Atricle Title} + +\date{\today} + +%%%%% Begin Abstract %%%%%%%%%%% +\begin{abstract} + +\end{abstract} + +%%%%% end %%%%%%%%%%% + +\begin{keyword} + +\end{keyword} +%%%% maketitle %%%%% +\maketitle + +%%%% Start %%%%%% + + +\bibliography{groupbib} + + + +\end{document} diff --git a/latex/JCTC_template/CHANGELOG.md b/latex/JCTC_template/CHANGELOG.md new file mode 100644 index 0000000..7684e5f --- /dev/null +++ b/latex/JCTC_template/CHANGELOG.md @@ -0,0 +1,590 @@ +# Changelog +All notable changes to this project will be documented in this file. + +The format is based on [Keep a +Changelog](https://keepachangelog.com/en/1.0.0/). + +## [Unreleased] + +## [v3.13g] - 2024-01-30 +### Fixed +- Suppress spurious class warnings (see issue \#42) + +## [v3.13f] - 2022-11-25 +### Fixed +- Formatting of corporate names in bibliography + +## [v3.13e] +### Removed +- Revert support for `bibentry` package due to resulting issues + +## [v3.13d] +### Added +- Support for the `bibentry` package + +### Fixed +- Height and width values for `amlccd` style + +## [v3.13c] +### Added +- Style for _ACS Bio. Med. Chem. Au_ (`abmcb8`) +- Style for _ACS Eng. Au_ (`aeacb3`) +- Style for _ACS Env. Au_ (`aeacc4`) +- Style for _ACS Mater. Au_ (`amacgu`) +- Style for _ACS Meas. Au_ (`amachv`) +- Style for _ACS Nanosci. Au_ (`anaccx`) +- Style for _ACS Org. Inorg. Au_ (`aoiab5`) +- Style for _ACS Phys. Chem. Au_ (`apcach`) +- Style for _ACS Polym. Au_ (`appccd`) +- Style for _JACS Au_ (`jaaucr`) + +### Changes +- Minor adjustments from ACS + +## [v3.13b] +### Added +- Style for _Acc. Mater. Res._ (`amrcda`) +- Style for _ACS Agr. Sci. Tech._ (`aastgj`) +- Style for _ACS Food Sci. Tech._ (`afsthl`) + +## [v3.13a] +### Fixed +- Swap TOC height and width to give landscape output + +## [v3.13] +### Added +- Style for _ACT ES&T Eng._ (`aeecco`) +- Style for _ACT ES&T Water_ (`aewcaa`) +- Changelog as separate file + +### Changed +- Split `.ins` file out from `.dtx` + +### Fixed +- Corrected standard TOC height and width (see #30 and #34) + +## [v3.12a] - 2019-02-14 +### Added +- Style for _ACS Mater. Lett._ (`amlcef`) + +### Changed +- Print article titles in _J. Am. Chem. Soc._ bibliography style +- Use ISO date formats throughout + +## [v3.12] - 2018-09-15 +### Added +- Style for _ACS Appl. Electron. Mater._ (`aaembp`) +- Style for _ACS Appl. Polym. Mater._ (`aapmcd`) + +### Fixed +- Error if explicit `and others` is used in `.bib` file (issue #29) + +## [v3.11b] - 2018-07-12 +### Changed +- Maximum number of authors printed in _ACS Nano_ + +### Fixed +- Print abstract text at full size +- Spacing when `and others` is used in `.bib` file (issue #29) + +## [v3.11a] - 2018-02-05 +### Changed +- Style changes for Supporting Information + +## [v3.11] - 2018-01-10 +### Added +- Style for _ACS Appl. Energy Mater._ (`aaemcq`) +- Style for _ACS Appl. Nano Mater._ (`aanmf6`) + +### Changed +- Use `chemformula` in demo file +- Remove redundant comments about e-TeX +- Include article titles in all manuscript bibliographies + +## [v3.10i] - 2017-05-18 +### Changed +- Updates for the _Biochemistry_ style +- Updates for the _J. Org. Chem._ style +- Updates for _Org. Lett._ style + +### Fixed +- Issue printing DOI in bibliographuy + +## [v3.10h] - 2017-01-21 +### Added +- Style for _ACS Earth Space Chem._ (`aesccq`) +- Style for _ACS Sensors_ (`aidcbc`) +- Style for _ACS Infect. Dis._ (`ascefj`) + +### Changed +- Updates for the _J. Chem. Theory Comput._ style +- Updated text used for Supplementary Information + +## [v3.10g] - 2017-01-14 +### Added +- Style for _ACS Biomater. Sci._ (`abseba`) + +### Fixed +- Issue in style for _Inorg. Chem._ + +## [v3.10f] - 2016-09-07 +### Changed +- Updated text for Supplementary Information +- Updates for the _Macromolecules_ style + +## [v3.10e] - 2016-08-31 +### Changed +- Updates for the _Macromolecules_ style + +## [v3.10d] - 2016-06-17 +### Changed +- Improved DOI support + +## [v3.10c] - 2016-05-10 +### Added +- Style for _ACS Omega_ (`acsodf`) +- Style for _ACS Energy Lett._ (`aelccp`) + +### Changed +- Added `achemso-` to all style configuration file names + +## [v3.10b] - 2016-01-20 +### Changed +- Updated text for Supplementary Information +- Split demonstration files from main source + +### Fixed +- Define `\acs@tocentry@text` globally (issue #18) + +## [v3.10a] +### Changed +- Updates for the _Chem. Mater._ style +- Updates for the _Chem. Rev._ style + +## [v3.10] - 2015-04-07 +### Changed +- Print affiliation information in the title block + +### Fixed +- Include `\section*` and `\subsection*` to TOC + +## [v3.9b] - 2015-03-23 +### Changed +- Add T1 encoding to demo file (issue #14) +- Superscript references for _J. Agric. Food Chem._ style (issue #16) + +### Fixed +- Allow `super=true` to work after loading `natbib` (issue #15) + +## [v3.9a] - 2015-03-12 +### Changed +- Print DOIs in all cases in _ACS Central Sci._ style + +## [v3.9] - 2015-02-01 +### Added +- Option `doi` +- Version information to BibTeX log + +## [v3.8n] - 2015-01-18 +### Added +- Style for _ACS Central Sci._ (`acscii`) + +### Changed +- Style changes for _ACS Nano_ +- Remove keywords from _J. Phys. Chem._ styles +- TOC entry size for _J. Phys. Chem. Lett._ + +## [v3.8l] - 2014-08-23 +### Changed +- Allow for case where fax number is given with no phone number + +## [v3.8k] - 2014-08-18 +### Fixed +- Format date correctly if given for `in press` BibTeX entries + +## [v3.8j] - 2014-06-12 +### Changed +- Update article title and keyword requirements for all journals + +### Fixed +- Configuration file name for _Biochemistry_ (`bichaw`) + +### Removed +- Style for_Biotechnol. Prog._ + +## [v3.8i] - 2014-05-14 +### Changed +- Style update for _Chem. Res. Toxicol._ +- Include keywords for _ACS Appl. Mater. Interfaces_ style + +## [v3.8h] - 2014-03-31 +### Changed +- Style updates for _Chem. Res. Toxicol._ + +## [v3.8g] - 2014-03-06 +### Changed +- Formatting for _J. Phys. Chem._ styles + +### Fixed +- Ensure that `mciteplus` patch is safe even if package loading is bypassed + +## [v3.8f] - 2014-01-23 +### Changed +- Update following `mciteplus` change + +## [v3.8e] - 2014-01-08 +### Changed +- Change TOC entry size for _J. Med. Chem._ +- Include titles for article in _ACS Appl. Mater. Interfaces_ style + +## [v3.8d] - 2013-10-04 +### Fixed +- Typo in keyword printing + +## [v3.8c] - 2013-09-20 +### Changed +- Updated _ACS Photonics_ style + +## [v3.8b] - 2013-09-15 +### Changed +- Alter TOC printing slightly +- Update demo to reflect TOC changes + +### Fixed +- Print abstract/TOC/keywords in correct order for _J. Phys. Chem. Lett._ + +## [v3.8a] - 2013-09-08 +### Changed +- Update bibliography style for _J. Phys. Chem._ derivatives + +### Fixed +- Minor style fixes + +## [v3.8] - 2013-08-23 +### Added +- Command `\latin` +- Style for _ACS Applied Materials & Interfaces_ +- Style for _ACS Photon._ (`apchd5`) +- Style for _ACS Sustainable Chem. Eng._ (`ascecg`) +- Style for _ACS Synth. Biol._ (`asbcd6`) +- Style for _Environ. Sci. Technol. Lett._ (`estlcu`) + +### Changed +- Print keywords after abstract not after title +- Drop loading any font files +- Extend author symbols to 99 authors +- Print keyword and abbreviations in sections + +### Fixed +- Behaviour of `\citenum` +- Minor style fixes + +## [v3.7h] - 2013-06-07 +### Fixed +- Remove extraneous `*` in format.doi function (issue #13) + +## [v3.7g] - 2013-04-13 +### Changed +- Update manuscript types for _ACS Macro Lett._ +- Print article title for _J. Phys. Chem._ papers + +### Fixed +- Set TOC size for _ACS Macro Lett._ (issue #10) +- Add DocStrip guards for _ACS Macro Lett._ (issue #11) + +## [v3.7f] - 2013-03-07 +### Changed +- Load `mciteplus` after `natbib` + +### Fixed +- `etalmode` option + +## [v3.7e] - 2013-02-13 +### Changed +- Drop use of `mathptmx` + +## [v3.7d] - 2012-09-12 +### Fixed +- Typo in the `.bst` + +## [v3.7c] - 2012-08-30 +### Changed +- Update for _Ind. Eng. Chem. Res._ style + +## [v3.7b] - 2012-07-25 +### Changed +- Update _J. Phys. Chem. Lett._ style to truncate author list + +### Fixed +- Step version (issue #8) + +## [v3.7a] - 2012-05-08 +### Changed +- Print article titles in _Langmuir_ style + +### Fixed +- Relationship between `usetitle` and `articletitle` + +## [v3.7] - 2012-04-30 +### Added +- Option `chaptertitle` +- Style for _ACS Med. Chem. Lett._ (`amclct`) + +### Changed +- Rename `usetitle` to `articletitle` (to match `biblatex` `chem-acs` style) + +### Fixed +- No author truncation for _J. Chem. Theory Comput._ (issue #7) + +## [v3.6] - 2012-04-30 +### Changed +- Drop `cleveref` + +## [v3.5k] - 2012-04-30 +* 8aca9c0 Various incredibly niggly things for J. Nat. Prod. + +## [v3.5j] - +* 9a5cb7f Flexible size for TOC entry box + +## [v3.5i] - +* 1649618 Print keywords for J. Phys. Chem. submissions + +## [v3.5h] - +* 93811a3 Give schemes, etx. 'S' numbers +* e8d62c8 Use 'S' for SI refs. +* 7478673 A slight improvement for SI +* b34463a Formatting tweak for J. Chem. and Eng. Data. + +## [v3.5g] - +* ee474b2 Another .bst typo + +## [v3.5f] - +* 920dc5c One-token typo in .bst affecting 'and others' entries + +## [v3.5e] - +* d44219d Checking new formats: minor adjustment +* 5834bfb Settings for new journals (hopefully) +* 83c9401 New ACS journals for 2011: - New docstrip guards Remove J. Comb. Chem. +* 1be7600 Remove engine line (not really needed) + +## [v3.5d] - +|\ +| * 6955482 Fix bug in make.ordinal +* | 2431abf Added tag v3.5c for changeset beb648a09793 +* | 1da12a1 Resolve merge issues +|\ \ +| |/ +|/| +| * 9feff46 Resolve update issues +| ## [v3.5a] - +| * 73bbe01 Make \mciteSubRef work properly (fixes #6) Update Org. Lett. formatting (fixes #5) Bump version number +* | 3513189 Added tag v3.5b for changeset 8ee4387af241 +* | bd472bb Bug fix for nalefd.cfg +* | c84d4bf Added tag v3.5b for changeset 0b1acfd46340 +* | fae782e Added tag v3.5a for changeset 20b1bf86cfe9 +* | 166a701 Print abstract for JACS Communications (fixes #3) +* | 6ff6c54 Merge changes +|\ \ +| |/ +| * b44e931 Add keywords to Nano Lett. output +| ## [v3.5] - +| * 9df91e0 Note behaviour of booktitles/chapters +| * 2c926dd Lots of improvements following the style guide +* | 4e174ec Move biblabel stuff to end of class/package (fixes #4) +|/ +* 4267fa3 Corrected formatting based on Style Guide: patents and techreports +* 4cfd1f1 Use method for defining \endmcitethebibliography that is not caught out by LaTeX2e's \newcommand restriction on "\end..." functions +* 1dae139 Step version number (for tomorrow) +* 60b25c5 A couple of fixes from the style guideā‰ˆy +* a67ff26 Clean up head (what is up?) +|\ +| * 55e1aae Adjust position of that new test reference +* | e7a81e7 Logic reversal in BibTeX stlyes => do the same in package/class code +* | b90db69 Move position of year in Biochemistry-style articles +* | db54abb Completely revised bst files: rewritten from scratch Still need to check versus ACS Style Guide +* | 7c33384 Added 'patent' record to demo database +|/ +* 97f4038 Add "inbook" reference to test doc (for testing updates to BibTeX style) +* cb1920d Use natbib mechanism to alter \@biblabel + +## [v3.4g] - +* 4815f00 Added ACS Chem. Neurosci. style + +## [v3.4f] - +* 15cba28 Only define bibnote counter if not set up elsewhere Style file for J. Chem. Ed. + +## [v3.4e] - +* 78dfe94 Biomacromolecule style improvements again + +## [v3.4d] - +* a48eb33 Improved BibTeX style for reports + +## [v3.4c] - +* ad71645 More improvements for Biomacromolecules + +## [v3.4b] - +* 015b3fc Add hyperref option so things work properly with cleveref + +## [v3.4a] - +* e0bf02e Better style file for Biomacromolecules + +## [v3.4] - +* c7e9034 New advice on installation Switch from varioref to cleveref for \ref support New TOC printing routine Include fixes from new version of cite package in natmove + +## [v3.3g] - +* a4871fe Advice on overriding class options added + +## [v3.3f] - +* 68d0914 Style fix for Acc. Chem. Res. + +## [v3.3e] - +* b221e15 Minor style fixes + +## [v3.3d] - +* 8638068 Bug fix in meta data routines + +## [v3.3c] - +* 1d50b41 Add advice on mismatching class and BibTeX style files REmove spurious comma when two author names given Add J. Phys. Chem. Lett. style + +## [v3.3b] - +* d0f63c7 Bug fix for affiliation symbol printing + +## [v3.3a] - +* 874a7b3 New options usetitle and etalmode for controlling bibliography + +## [v3.3] - +* 457f0cb New layout option for two column printing Better logic for \altaffiliation to reduce duplicate printing Improve keyval code (use less xkeyval functions) + +## [v3.2f] - +* 99425ef Better installation advice Move bibliography set up to correct bug with biochem style Improved footnote symbol macro + +## [v3.2e] - +* e787692 Alteration to the method for printing the abstract, to allow delayed print + +## [v3.2d] - +* 72b0817 Fix addition of star to lead author + +## [v3.2c] - +* 537aa6f Fix bug with email option New \fax and \phone meta-data options Use optional argument for \title as running header suggestion + +## [v3.2b] - +* 14963fd Added email option to set printing of e-mail address on first page + +## [v3.2a] - +* b813cf6 Bug fix for duplicate institute test + +## [v3.2] - +* ddd8fe8 New functions to alter formatting (sections, section numbers, abstract) Environment to format TOC entry added Some internal refactors + +## [v3.1a] - +* b000d9f Bug fix for duplicate affiliation detection + +## [v3.1] - +* f998e90 Produce print-like layout for JACS Communications Add \alsoaffiliation as a complement to \altaffiliation Convert \suppinfo and \acknowledgement to environments Package loading reordered Meta data system rearranged + +## [v3.0a] - +* 5de99e0 Skip printing footnotes when only one institution is needed + +## [v3.0] +### Changed +- Second re-write, converting to a class and giving much tighter integration + with ACS submission system + +## [v2.0] +### Changed +- Re-write of package by Joseph Wright + +## [v1.0] +### Added +- Initial release of package by Mats Dahlgren + +[Unreleased]: https://github.com/josephwright/achemso/compare/v3.13g..HEAD +[v3.13g]: https://github.com/josephwright/achemso/compare/v3.13f...v3.13g +[v3.13f]: https://github.com/josephwright/achemso/compare/v3.13e...v3.13f +[v3.13e]: https://github.com/josephwright/achemso/compare/v3.13d...v3.13e +[v3.13d]: https://github.com/josephwright/achemso/compare/v3.13c...v3.13d +[v3.13c]: https://github.com/josephwright/achemso/compare/v3.13b...v3.13c +[v3.13b]: https://github.com/josephwright/achemso/compare/v3.13a...v3.13b +[v3.13a]: https://github.com/josephwright/achemso/compare/v3.13...v3.13a +[v3.13]: https://github.com/josephwright/achemso/compare/v3.12a...v3.13 +[v3.12a]: https://github.com/josephwright/achemso/compare/v3.12...v3.12a +[v3.12]: https://github.com/josephwright/achemso/compare/v3.11b...v3.12 +[v3.11b]: https://github.com/josephwright/achemso/compare/v3.11a...v3.11b +[v3.11a]: https://github.com/josephwright/achemso/compare/v3.11...v3.11a +[v3.11]: https://github.com/josephwright/achemso/compare/v3.10i...v3.11 +[v3.10i]: https://github.com/josephwright/achemso/compare/v3.10h...v3.10i +[v3.10h]: https://github.com/josephwright/achemso/compare/v3.10g...v3.10h +[v3.10g]: https://github.com/josephwright/achemso/compare/v3.10f...v3.10g +[v3.10f]: https://github.com/josephwright/achemso/compare/v3.10e...v3.10f +[v3.10e]: https://github.com/josephwright/achemso/compare/v3.10d...v3.10e +[v3.10d]: https://github.com/josephwright/achemso/compare/v3.10c...v3.10d +[v3.10d]: https://github.com/josephwright/achemso/compare/v3.10b...v3.10c +[v3.10b]: https://github.com/josephwright/achemso/compare/v3.10a...v3.10b +[v3.10a]: https://github.com/josephwright/achemso/compare/v3.10...v3.10a +[v3.10]: https://github.com/josephwright/achemso/compare/v3.9b...v3.10 +[v3.9b]: https://github.com/josephwright/achemso/compare/v3.9a...v3.9b +[v3.9a]: https://github.com/josephwright/achemso/compare/v3.9...v3.9a +[v3.9]: https://github.com/josephwright/achemso/compare/v3.8n...v3.9 +[v3.8n]: https://github.com/josephwright/achemso/compare/v3.8m...v3.8n +[v3.8m]: https://github.com/josephwright/achemso/compare/v3.8l...v3.8m +[v3.8l]: https://github.com/josephwright/achemso/compare/v3.8k...v3.8l +[v3.8k]: https://github.com/josephwright/achemso/compare/v3.8j...v3.8k +[v3.8j]: https://github.com/josephwright/achemso/compare/v3.8i...v3.8j +[v3.8i]: https://github.com/josephwright/achemso/compare/v3.8h...v3.8i +[v3.8h]: https://github.com/josephwright/achemso/compare/v3.8g...v3.8h +[v3.8g]: https://github.com/josephwright/achemso/compare/v3.8f...v3.8g +[v3.8f]: https://github.com/josephwright/achemso/compare/v3.8e...v3.8f +[v3.8e]: https://github.com/josephwright/achemso/compare/v3.8d...v3.8e +[v3.8d]: https://github.com/josephwright/achemso/compare/v3.8c...v3.8d +[v3.8c]: https://github.com/josephwright/achemso/compare/v3.8b...v3.8c +[v3.8b]: https://github.com/josephwright/achemso/compare/v3.8a...v3.8b +[v3.8a]: https://github.com/josephwright/achemso/compare/v3.8...v3.8a +[v3.8]: https://github.com/josephwright/achemso/compare/v3.7h...v3.8 +[v3.7h]: https://github.com/josephwright/achemso/compare/v3.7g...v3.7h +[v3.7g]: https://github.com/josephwright/achemso/compare/v3.7f...v3.7g +[v3.7f]: https://github.com/josephwright/achemso/compare/v3.7e...v3.7f +[v3.7e]: https://github.com/josephwright/achemso/compare/v3.7d...v3.7e +[v3.7d]: https://github.com/josephwright/achemso/compare/v3.7c...v3.7d +[v3.7c]: https://github.com/josephwright/achemso/compare/v3.7b...v3.7c +[v3.7b]: https://github.com/josephwright/achemso/compare/v3.7a...v3.7b +[v3.7a]: https://github.com/josephwright/achemso/compare/v3.7...v3.7a +[v3.7]: https://github.com/josephwright/achemso/compare/v3.6...v3.7 +[v3.6]: https://github.com/josephwright/achemso/compare/v3.5k...v3.6 +[v3.5k]: https://github.com/josephwright/achemso/compare/v3.5j...v3.5k +[v3.5j]: https://github.com/josephwright/achemso/compare/v3.5i...v3.5j +[v3.5i]: https://github.com/josephwright/achemso/compare/v3.5h...v3.5i +[v3.5h]: https://github.com/josephwright/achemso/compare/v3.5g...v3.5h +[v3.5g]: https://github.com/josephwright/achemso/compare/v3.5f...v3.5g +[v3.5f]: https://github.com/josephwright/achemso/compare/v3.5e...v3.5f +[v3.5e]: https://github.com/josephwright/achemso/compare/v3.5d...v3.5e +[v3.5d]: https://github.com/josephwright/achemso/compare/v3.5c...v3.5d +[v3.5c]: https://github.com/josephwright/achemso/compare/v3.5b...v3.5c +[v3.5b]: https://github.com/josephwright/achemso/compare/v3.5a...v3.5b +[v3.5a]: https://github.com/josephwright/achemso/compare/v3.5...v3.5a +[v3.5]: https://github.com/josephwright/achemso/compare/v3.4g...v3.5 +[v3.4g]: https://github.com/josephwright/achemso/compare/v3.4f...v3.4g +[v3.4f]: https://github.com/josephwright/achemso/compare/v3.4e...v3.4f +[v3.4e]: https://github.com/josephwright/achemso/compare/v3.4d...v3.4e +[v3.4d]: https://github.com/josephwright/achemso/compare/v3.4c...v3.4d +[v3.4c]: https://github.com/josephwright/achemso/compare/v3.4b...v3.4c +[v3.4b]: https://github.com/josephwright/achemso/compare/v3.4a...v3.4b +[v3.4a]: https://github.com/josephwright/achemso/compare/v3.4...v3.4a +[v3.4]: https://github.com/josephwright/achemso/compare/v3.3g...v3.4 +[v3.3g]: https://github.com/josephwright/achemso/compare/v3.3f...v3.3g +[v3.3f]: https://github.com/josephwright/achemso/compare/v3.3e...v3.3f +[v3.3e]: https://github.com/josephwright/achemso/compare/v3.3d...v3.3e +[v3.3d]: https://github.com/josephwright/achemso/compare/v3.3c...v3.3d +[v3.3c]: https://github.com/josephwright/achemso/compare/v3.3b...v3.3c +[v3.3b]: https://github.com/josephwright/achemso/compare/v3.3a...v3.3b +[v3.3a]: https://github.com/josephwright/achemso/compare/v3.3...v3.3a +[v3.3]: https://github.com/josephwright/achemso/compare/v3.2f...v3.3 +[v3.2f]: https://github.com/josephwright/achemso/compare/v3.2e...v3.2f +[v3.2e]: https://github.com/josephwright/achemso/compare/v3.2d...v3.2e +[v3.2d]: https://github.com/josephwright/achemso/compare/v3.2c...v3.2d +[v3.2c]: https://github.com/josephwright/achemso/compare/v3.2b...v3.2c +[v3.2b]: https://github.com/josephwright/achemso/compare/v3.2a...v3.2b +[v3.2a]: https://github.com/josephwright/achemso/compare/v3.2...v3.2a +[v3.2]: https://github.com/josephwright/achemso/compare/v3.1a...v3.2 +[v3.1a]: https://github.com/josephwright/achemso/compare/v3.1...v3.1a +[v3.1]: https://github.com/josephwright/achemso/compare/v3.0a...v3.1 +[v3.0a]: https://github.com/josephwright/achemso/compare/v3.0...v3.0a diff --git a/latex/JCTC_template/LICENSE.md b/latex/JCTC_template/LICENSE.md new file mode 100644 index 0000000..861b528 --- /dev/null +++ b/latex/JCTC_template/LICENSE.md @@ -0,0 +1,11 @@ +Released under the [LaTeX Project Public +License](http://www.latex-project.org/lppl.txt), v1.3c or later. + +The package has status 'maintained': the current maintainer is +[Joseph Wright](joseph.wright@morningstar2.co.uk). + +Part of this bundle is derived from `cite.sty`, to which the +following license applies: + Copyright (C) 1989-2009 by Donald Arseneau + These macros may be freely transmitted, reproduced, or + modified provided that this notice is left intact. \ No newline at end of file diff --git a/latex/JCTC_template/README.md b/latex/JCTC_template/README.md new file mode 100644 index 0000000..af4dcab --- /dev/null +++ b/latex/JCTC_template/README.md @@ -0,0 +1,35 @@ +achemso - Support for submissions to American Chemical Society journals +======================================================================= + +The `achemso` bundle provides a LaTeX class file and BibTeX +style file in accordance with the requirements of the American +Chemical Society (ACS). The files can be used for any documents, +but have been carefully designed and tested to be suitable for +submission to ACS journals. + +The bundle also includes the `natmove` package. This package is +loaded by `achemso`, and provides automatic moving of +superscript citations after punctuation. + +Installation +------------ + +The package is supplied in `.dtx` format and as a pre-extracted +`.zip` file, `achemso.tds.zip`. The later is most convenient for +most users: simply unzip this in your local `texmf` directory. +If you want to unpack the `.dtx` yourself, running `tex +achemso.dtx` will extract the package whereas `latex +achemso.dtx` will extract it and also typeset the documentation. + +Typesetting the documentation requires a number of packages in +addition to those needed to use the package. This is mainly +because of the number of demonstration items included in the +text. To compile the documentation without error, you will +need the packages: + - `array` + - `booktabs` + - `hypdoc` + - `listings` + - `lmodern` + - `mathpazo` + - `microtype` \ No newline at end of file diff --git a/latex/JCTC_template/achemso-demo.bib b/latex/JCTC_template/achemso-demo.bib new file mode 100644 index 0000000..7082b87 --- /dev/null +++ b/latex/JCTC_template/achemso-demo.bib @@ -0,0 +1,153 @@ + +@ARTICLE{Abernethy2003, + author = {Colin D. Abernethy and Gareth M. Codd and Mark D. Spicer + and Michelle K. Taylor}, + title = {A highly stable {N}-heterocyclic carbene complex of + trichloro-oxo-vanadium(\textsc{v}) displaying novel + {Cl}---{C}(carbene) bonding interactions}, + journal = {J.~Am. Chem. Soc.}, + year = {2003}, + volume = {125}, + pages = {1128--1129}, + number = {5}, + doi = {10.1021/ja0276321}, +} + +@MISC{ACS2007, + url = {http://pubs.acs.org/books/references.shtml}, +} + +@ARTICLE{Arduengo1992, + author = {Arduengo, III, Anthony J. and H. V. Rasika Dias and + Richard L. Harlow and Michael Kline}, + title = {Electronic stabilization of nucleophilic carbenes}, + journal = {J.~Am.\ Chem.\ Soc.}, + year = {1992}, + volume = {114}, + pages = {5530--5534}, + number = {14}, + doi = {10.1021/ja00040a007}, +} + +@ARTICLE{Arduengo1994, + author = {Arduengo, III, Anthony J. and Siegfried F. Gamper and + Joseph C. Calabrese and Fredric Davidson}, + title = {{Low}-coordinate carbene complexes of nickel(0) and + platinum(0)}, + journal = jacsat, + year = {1994}, + volume = {116}, + pages = {4391--4394}, + number = {10}, + doi = {10.1021/ja00089a029}, +} + +@ARTICLE{Eisenstein2005, + author = {Appelhans, Leah N. and Zuccaccia, Daniele and Kovacevic, + Anes and Chianese, Anthony R. and Miecznikowski, John R. and + Macchioni, Aleco and Clot, Eric and Eisenstein, Odile and + Crabtree, Robert H.}, + title = {An anion-dependent switch in selectivity results from a + change of {C}---{H} activation mechanism in the reaction of an + imidazolium salt with \ch{IrH5(PPh3)2}}, + journal = {J.~Am.\ Chem. Soc.}, + year = {2005}, + volume = {127}, + pages = {16299--16311}, + number = {46}, + doi = {10.1021/ja055317j}, +} + +@BOOK{Coghill2006, + title = {The {ACS} Style Guide}, + publisher = {Oxford University Press, Inc. and + The American Chemical Society}, + year = {2006}, + editor = {Coghill, Anne M. and Garson, Lorrin R.}, + address = {New York}, + edition = {3}, + subtitle = {{Effective} Communication of Scientific + Information}, +} + +@BOOK{Cotton1999, + title = {Advanced Inorganic Chemistry}, + publisher = {Wiley}, + year = {1999}, + author = {Cotton, Frank Albert and Wilkinson, Geoffrey and + Murillio, Carlos A. and Bochmann, Manfred}, + address = {Chichester, United Kingdom}, + edition = {6}, +} + +@TECHREPORT{EuropeanCommission2008, + address = {Brussels, Belgium}, + organization = {European Commission}, + title = {Communication from the European Commission to the + European Council and the European Parliament: + 20 20 by 2020: Europe's climate change opportunity}, + year = {2008} +} + +@INBOOK{Friedman-Hill2003, + author = {E. Friedman-Hill}, + booktitle = {{Jess} in Action: {Java} Rule-based Systems}, + publisher = {Manning Publications Co.}, + address = {Greenwich, CT, USA}, + title = {Writing Rules in Jess}, + edition = {1}, + year = {2003} +} + +@PATENT{Johnson1972, + author = {Johnson, Alexander Lawrence}, + organization = {E.~I.~du Pont de Nemours}, + number = {3637731}, + title = {1-(Alkylsubstituted phenyl)imidazoles useful in {ACTH} + reverse assay}, + type = {US~Patent}, + year = {1972} +} + +@MANUAL{Pople2003, + title = {{Gaussian} 03}, + author = {M.~J. Frisch and G.~W. Trucks and H.~B. Schlegel and G.~E. Scuseria +and M.~A. Robb and J.~R. Cheeseman and Montgomery and Jr. and J. +A. and T. Vreven and K.~N. Kudin and J.~C. Burant and J.~M. Millam +and S.~S. Iyengar and J. Tomasi and V. Barone and B. Mennucci and +M. Cossi and G. Scalmani and N. Rega and G.~A. Petersson and H. Nakatsuji +and M. Hada and M. Ehara and K. Toyota and R. Fukuda and J. Hasegawa +and M. Ishida and T. Nakajima and Y. Honda and O. Kitao and H. Nakai +and M. Klene and X. Li and J.~E. Knox and H.~P. Hratchian and J.~B. +Cross and V. Bakken and C. Adamo and J. Jaramillo and R. Gomperts +and R.~E. Stratmann and O. Yazyev and A.~J. Austin and R. Cammi and +C. Pomelli and J.~W. Ochterski and P.~Y. Ayala and K. Morokuma and +G.~A. Voth and P. Salvador and J.~J. Dannenberg and V.~G. Zakrzewski +and S. Dapprich and A.~D. Daniels and M.~C. Strain and O. Farkas +and D.~K. Malick and A.~D. Rabuck and K. Raghavachari and J.~B. Foresman +and J.~V. Ortiz and Q. Cui and A.~G. Baboul and S. Clifford and J. +Cioslowski and B.~B. Stefanov and G. Liu and A. Liashenko and P. +Piskorz and I. Komaromi and R.~L. Martin and D.~J. Fox and T. Keith +and M.~A. Al-Laham and C.~Y. Peng and A. Nanayakkara and M. Challacombe +and P.~M.~W. Gill and B. Johnson and W. Chen and M.~W. Wong and C. +Gonzalez and J.~A. Pople}, + organization = {Gaussian, Inc.}, + address = {Wallingford, CT}, + year = {2004}, + howpublished = {Gaussian, Inc., Wallingford, CT, USA}, + institution = {Gaussian, Inc.}, + publisher = {Gaussian, Inc.} +} + +@ARTICLE{Mena2000, + author = {Angel Abarca and Pilar G{\'o}mez-Sal and Avelino Mart{\'i}n + and Miguel Mena and Josep Mar{\'i}a Poblet and Carlos Y{\'e}lamos}, + title = {Ammonolysis of mono(pentamethylcyclopentadienyl) + titanium(\textsc{iv}) derivatives}, + journal = {Inorg. Chem.}, + year = {2000}, + volume = {39}, + pages = {642--651}, + number = {4}, + doi = {10.1021/ic9907718}, +} diff --git a/latex/JCTC_template/achemso-demo.pdf b/latex/JCTC_template/achemso-demo.pdf new file mode 100644 index 0000000..2a683df Binary files /dev/null and b/latex/JCTC_template/achemso-demo.pdf differ diff --git a/latex/JCTC_template/achemso-demo.tex b/latex/JCTC_template/achemso-demo.tex new file mode 100644 index 0000000..77fe52c --- /dev/null +++ b/latex/JCTC_template/achemso-demo.tex @@ -0,0 +1,376 @@ + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% This is a (brief) model paper using the achemso class +%% The document class accepts keyval options, which should include +%% the target journal and optionally the manuscript type. +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\documentclass[journal=jacsat,manuscript=article]{achemso} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% Place any additional packages needed here. Only include packages +%% which are essential, to avoid problems later. +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\usepackage{chemformula} % Formula subscripts using \ch{} +\usepackage[T1]{fontenc} % Use modern font encodings + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% If issues arise when submitting your manuscript, you may want to +%% un-comment the next line. This provides information on the +%% version of every file you have used. +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%%\listfiles + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% Place any additional macros here. Please use \newcommand* where +%% possible, and avoid layout-changing macros (which are not used +%% when typesetting). +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\newcommand*\mycommand[1]{\texttt{\emph{#1}}} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% Meta-data block +%% --------------- +%% Each author should be given as a separate \author command. +%% +%% Corresponding authors should have an e-mail given after the author +%% name as an \email command. Phone and fax numbers can be given +%% using \phone and \fax, respectively; this information is optional. +%% +%% The affiliation of authors is given after the authors; each +%% \affiliation command applies to all preceding authors not already +%% assigned an affiliation. +%% +%% The affiliation takes an option argument for the short name. This +%% will typically be something like "University of Somewhere". +%% +%% The \altaffiliation macro should be used for new address, etc. +%% On the other hand, \alsoaffiliation is used on a per author basis +%% when authors are associated with multiple institutions. +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\author{Andrew N. Other} +\altaffiliation{A shared footnote} +\author{Fred T. Secondauthor} +\altaffiliation{Current address: Some other place, Othert\"own, +Germany} +\author{I. Ken Groupleader} +\altaffiliation{A shared footnote} +\email{i.k.groupleader@unknown.uu} +\phone{+123 (0)123 4445556} +\fax{+123 (0)123 4445557} +\affiliation[Unknown University] +{Department of Chemistry, Unknown University, Unknown Town} +\alsoaffiliation[Second University] +{Department of Chemistry, Second University, Nearby Town} +\author{Susanne K. Laborator} +\email{s.k.laborator@bigpharma.co} +\affiliation[BigPharma] +{Lead Discovery, BigPharma, Big Town, USA} +\author{Kay T. Finally} +\affiliation[Unknown University] +{Department of Chemistry, Unknown University, Unknown Town} +\alsoaffiliation[Second University] +{Department of Chemistry, Second University, Nearby Town} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% The document title should be given as usual. Some journals require +%% a running title from the author: this should be supplied as an +%% optional argument to \title. +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\title[An \textsf{achemso} demo] + {A demonstration of the \textsf{achemso} \LaTeX\ + class\footnote{A footnote for the title}} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% Some journals require a list of abbreviations or keywords to be +%% supplied. These should be set up here, and will be printed after +%% the title and author information, if needed. +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\abbreviations{IR,NMR,UV} +\keywords{American Chemical Society, \LaTeX} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% The manuscript does not need to include \maketitle, which is +%% executed automatically. +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\begin{document} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% The "tocentry" environment can be used to create an entry for the +%% graphical table of contents. It is given here as some journals +%% require that it is printed as part of the abstract page. It will +%% be automatically moved as appropriate. +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\begin{tocentry} + +Some journals require a graphical entry for the Table of Contents. +This should be laid out ``print ready'' so that the sizing of the +text is correct. + +Inside the \texttt{tocentry} environment, the font used is Helvetica +8\,pt, as required by \emph{Journal of the American Chemical +Society}. + +The surrounding frame is 9\,cm by 3.5\,cm, which is the maximum +permitted for \emph{Journal of the American Chemical Society} +graphical table of content entries. The box will not resize if the +content is too big: instead it will overflow the edge of the box. + +This box and the associated title will always be printed on a +separate page at the end of the document. + +\end{tocentry} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% The abstract environment will automatically gobble the contents +%% if an abstract is not used by the target journal. +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\begin{abstract} + This is an example document for the \textsf{achemso} document + class, intended for submissions to the American Chemical Society + for publication. The class is based on the standard \LaTeXe\ + \textsf{report} file, and does not seek to reproduce the appearance + of a published paper. + + This is an abstract for the \textsf{achemso} document class + demonstration document. An abstract is only allowed for certain + manuscript types. The selection of \texttt{journal} and + \texttt{manuscript} will determine if an abstract is valid. If + not, the class will issue an appropriate error. +\end{abstract} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% Start the main part of the manuscript here. +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\section{Introduction} +This is a paragraph of text to fill the introduction of the +demonstration file. The demonstration file attempts to show the +modifications of the standard \LaTeX\ macros that are implemented by +the \textsf{achemso} class. These are mainly concerned with content, +as opposed to appearance. + +\section{Results and discussion} + +\subsection{Outline} + +The document layout should follow the style of the journal concerned. +Where appropriate, sections and subsections should be added in the +normal way. If the class options are set correctly, warnings will be +given if these should not be present. + +\subsection{References} + +The class makes various changes to the way that references are +handled. The class loads \textsf{natbib}, and also the +appropriate bibliography style. References can be made using +the normal method; the citation should be placed before any +punctuation, as the class will move it if using a superscript +citation style +\cite{Mena2000,Abernethy2003,Friedman-Hill2003,EuropeanCommission2008}. +The use of \textsf{natbib} allows the use of the various citation +commands of that package: \citeauthor{Abernethy2003} have shown +something, in \citeyear{Cotton1999}, or as given by +Ref.~\citenum{Mena2000}. Long lists of authors will be +automatically truncated in most article formats, but not in +supplementary information or reviews \cite{Pople2003}. If you +encounter problems with the citation macros, please check that +your copy of \textsf{natbib} is up to date. The demonstration +database file \texttt{achemso-demo.bib} shows how to complete +entries correctly. Notice that ``\latin{et al.}'' is auto-formatted +using the \texttt{\textbackslash latin} command. + +Multiple citations to be combined into a list can be given as +a single citation. This uses the \textsf{mciteplus} package +\cite{Johnson1972,*Arduengo1992,*Eisenstein2005,*Arduengo1994}. +Citations other than the first of the list should be indicated +with a star. If the \textsf{mciteplus} package is not installed, +the standard bibliography tools will still work but starred +references will be ignored. Individual references can be referred +to using \texttt{\textbackslash mciteSubRef}: +``ref.~\mciteSubRef{Eisenstein2005}''. + +The class also handles notes to be added to the bibliography. These +should be given in place in the document \bibnote{This is a note. +The text will be moved the the references section. The title of the +section will change to ``Notes and References''.}. As with +citations, the text should be placed before punctuation. A note is +also generated if a citation has an optional note. This assumes that +the whole work has already been cited: odd numbering will result if +this is not the case \cite[p.~1]{Cotton1999}. + +\subsection{Floats} + +New float types are automatically set up by the class file. The +means graphics are included as follows (Scheme~\ref{sch:example}). As +illustrated, the float is ``here'' if possible. +\begin{scheme} + Your scheme graphic would go here: \texttt{.eps} format\\ + for \LaTeX\, or \texttt{.pdf} (or \texttt{.png}) for pdf\LaTeX\\ + \textsc{ChemDraw} files are best saved as \texttt{.eps} files:\\ + these can be scaled without loss of quality, and can be\\ + converted to \texttt{.pdf} files easily using \texttt{eps2pdf}.\\ + %\includegraphics{graphic} + \caption{An example scheme} + \label{sch:example} +\end{scheme} + +\begin{figure} + As well as the standard float types \texttt{table}\\ + and \texttt{figure}, the class also recognises\\ + \texttt{scheme}, \texttt{chart} and \texttt{graph}. + \caption{An example figure} + \label{fgr:example} +\end{figure} + +Charts, figures and schemes do not necessarily have to be labelled or +captioned. However, tables should always have a title. It is +possible to include a number and label for a graphic without any +title, using an empty argument to the \texttt{\textbackslash caption} +macro. + +The use of the different floating environments is not required, but +it is intended to make document preparation easier for authors. In +general, you should place your graphics where they make logical +sense; the production process will move them if needed. + +\subsection{Math(s)} + +The \textsf{achemso} class does not load any particular additional +support for mathematics. If packages such as \textsf{amsmath} are +required, they should be loaded in the preamble. However, +the basic \LaTeX\ math(s) input should work correctly without +this. Some inline material \( y = mx + c \) or $ 1 + 1 = 2 $ +followed by some display. \[ A = \pi r^2 \] + +It is possible to label equations in the usual way (Eq.~\ref{eqn:example}). +\begin{equation} + \frac{\mathrm{d}}{\mathrm{d}x} \, r^2 = 2r \label{eqn:example} +\end{equation} +This can also be used to have equations containing graphical +content. To align the equation number with the middle of the graphic, +rather than the bottom, a minipage may be used. +\begin{equation} + \begin{minipage}[c]{0.80\linewidth} + \centering + As illustrated here, the width of \\ + the minipage needs to allow some \\ + space for the number to fit in to. + %\includegraphics{graphic} + \end{minipage} + \label{eqn:graphic} +\end{equation} + +\section{Experimental} + +The usual experimental details should appear here. This could +include a table, which can be referenced as Table~\ref{tbl:example}. +Notice that the caption is positioned at the top of the table. +\begin{table} + \caption{An example table} + \label{tbl:example} + \begin{tabular}{ll} + \hline + Header one & Header two \\ + \hline + Entry one & Entry two \\ + Entry three & Entry four \\ + Entry five & Entry five \\ + Entry seven & Entry eight \\ + \hline + \end{tabular} +\end{table} + +Adding notes to tables can be complicated. Perhaps the easiest +method is to generate these using the basic +\texttt{\textbackslash textsuperscript} and +\texttt{\textbackslash emph} macros, as illustrated (Table~\ref{tbl:notes}). +\begin{table} + \caption{A table with notes} + \label{tbl:notes} + \begin{tabular}{ll} + \hline + Header one & Header two \\ + \hline + Entry one\textsuperscript{\emph{a}} & Entry two \\ + Entry three\textsuperscript{\emph{b}} & Entry four \\ + \hline + \end{tabular} + + \textsuperscript{\emph{a}} Some text; + \textsuperscript{\emph{b}} Some more text. +\end{table} + +The example file also loads the optional \textsf{mhchem} package, so +that formulas are easy to input: \texttt{\textbackslash ch\{H2SO4\}} +gives \ch{H2SO4}. See the use in the bibliography file (when using +titles in the references section). + +The use of new commands should be limited to simple things which will +not interfere with the production process. For example, +\texttt{\textbackslash mycommand} has been defined in this example, +to give italic, mono-spaced text: \mycommand{some text}. + +\section{Extra information when writing JACS Communications} + +When producing communications for \emph{J.~Am.\ Chem.\ Soc.}, the +class will automatically lay the text out in the style of the +journal. This gives a guide to the length of text that can be +accommodated in such a publication. There are some points to bear in +mind when preparing a JACS Communication in this way. The layout +produced here is a \emph{model} for the published result, and the +outcome should be taken as a \emph{guide} to the final length. The +spacing and sizing of graphical content is an area where there is +some flexibility in the process. You should not worry about the +space before and after graphics, which is set to give a guide to the +published size. This is very dependant on the final published layout. + +You should be able to use the same source to produce a JACS +Communication and a normal article. For example, this demonstration +file will work with both \texttt{type=article} and +\texttt{type=communication}. Sections and any abstract are +automatically ignored, although you will get warnings to this effect. + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% The "Acknowledgement" section can be given in all manuscript +%% classes. This should be given within the "acknowledgement" +%% environment, which will make the correct section or running title. +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\begin{acknowledgement} + +Please use ``The authors thank \ldots'' rather than ``The +authors would like to thank \ldots''. + +The author thanks Mats Dahlgren for version one of \textsf{achemso}, +and Donald Arseneau for the code taken from \textsf{cite} to move +citations after punctuation. Many users have provided feedback on the +class, which is reflected in all of the different demonstrations +shown in this document. + +\end{acknowledgement} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% The same is true for Supporting Information, which should use the +%% suppinfo environment. +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\begin{suppinfo} + +A listing of the contents of each file supplied as Supporting Information +should be included. For instructions on what should be included in the +Supporting Information as well as how to prepare this material for +publications, refer to the journal's Instructions for Authors. + +The following files are available free of charge. +\begin{itemize} + \item Filename: brief description + \item Filename: brief description +\end{itemize} + +\end{suppinfo} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% The appropriate \bibliography command should be placed here. +%% Notice that the class file automatically sets \bibliographystyle +%% and also names the section correctly. +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\bibliography{achemso-demo} + +\end{document} diff --git a/latex/JCTC_template/achemso.dtx b/latex/JCTC_template/achemso.dtx new file mode 100644 index 0000000..3af0f5c --- /dev/null +++ b/latex/JCTC_template/achemso.dtx @@ -0,0 +1,5833 @@ +% \iffalse meta-comment +% +% File: achemso.dtx Copyright (C) 2008-2022,2024 Joseph Wright +% +% It may be distributed and/or modified under the conditions of the +% LaTeX Project Public License (LPPL), either version 1.3c of this +% license or (at your option) any later version. The latest version +% of this license is in the file +% +% https://www.latex-project.org/lppl.txt +% +% This file is part of the "achemso bundle" (The Work in LPPL) +% and all files in that bundle must be distributed together. +% +% The released version of this bundle is available from CTAN. +% +% ----------------------------------------------------------------------- +% +% The development version of the bundle can be found at +% +% https://github.com/josephwright/achemso +% +% for those people who are interested. +% +% ----------------------------------------------------------------------- +% +%<*driver> +\documentclass[a4paper]{ltxdoc} +\usepackage{achemso,array,booktabs,lmodern} +\usepackage[osf]{mathpazo} +\usepackage[scaled=0.95]{helvet} +\usepackage[final]{listings,microtype} +\usepackage[T1]{fontenc} +\usepackage[numbered]{hypdoc} +\EnableCrossrefs +\CodelineIndex +\RecordChanges +\begin{document} + \DocInput{\jobname.dtx} +\end{document} +% +% \fi +% +%\GetFileInfo{\jobname.sty} +% +%\makeatletter +% +%^^A \DescribeOption is in l3doc but not ltxdoc +%\newcommand*\DescribeOption{^^A +% \leavevmode +% \@bsphack +% \begingroup +% \MakePrivateLetters +% \Describe@Option +%} +%\newcommand*\Describe@Option[1]{^^A +% \endgroup +% \marginpar{^^A +% \raggedleft +% \PrintDescribeEnv{#1}^^A +% }% +% \SpecialOptionIndex{#1}^^A +% \@esphack +% \ignorespaces +%} +%\newcommand*\SpecialOptionIndex[1]{^^A +% \@bsphack +% \index{^^A +% #1\actualchar{\protect\ttfamily#1} (option)\encapchar usage^^A +% }^^A +% \index{^^A +% options:\levelchar#1\actualchar{\protect\ttfamily#1} +% \encapchar usage^^A +% }^^A +% \@esphack +%} +% +%^^A For creating examples with nice highlighting of code, and so +%^^A on; based on the system used in the listings source (lstsample). +%\lst@RequireAspects{writefile} +%\newsavebox{\LaTeXdemo@box} +%\lstnewenvironment{LaTeXdemo}[1][code and example]{^^A +% \global\let\lst@intname\@empty +% \expandafter\let\expandafter\LaTeXdemo@end +% \csname LaTeXdemo@#1@end\endcsname +% \@nameuse{LaTeXdemo@#1}^^A +%}{^^A +% \LaTeXdemo@end +%} +%\newcommand*\LaTeXdemo@new[3]{^^A +% \expandafter\newcommand\expandafter*\expandafter +% {\csname LaTeXdemo@#1\endcsname}{#2}^^A +% \expandafter\newcommand\expandafter*\expandafter +% {\csname LaTeXdemo@#1@end\endcsname}{#3}^^A +%} +%\newcommand*\LaTeXdemo@common{^^A +% \setkeys{lst}{ +% basicstyle = \small\ttfamily, +% basewidth = 0.51em, +% gobble = 3, +% keywordstyle = \color{blue}, +% language = [LaTeX]{TeX}, +% moretexcs = { +% affiliation, +% alsoaffiliation, +% altaffiliation, +% email, +% fax, +% natmovechars, +% phone, +% setkeys +% } +% }^^A +%} +%\newcommand*\LaTeXdemo@input{^^A +% \MakePercentComment +% \catcode`\^^M=10\relax +% \small +% \begingroup +% \setkeys{lst}{ +% SelectCharTable=\lst@ReplaceInput{\^\^I}{\lst@ProcessTabulator} +% }^^A +% \leavevmode +% \input{\jobname.tmp}^^A +% \endgroup +% \MakePercentIgnore +%} +%\LaTeXdemo@new{code and example}{^^A +% \setbox\LaTeXdemo@box=\hbox\bgroup +% \lst@BeginAlsoWriteFile{\jobname.tmp}^^A +% \LaTeXdemo@common +%}{^^A +% \lst@EndWriteFile +% \egroup +% \begin{center} +% \ifdim\wd\LaTeXdemo@box>0.48\linewidth\relax +% \hbox to\linewidth{\box\LaTeXdemo@box\hss}^^A +% \begin{minipage}{\linewidth} +% \LaTeXdemo@input +% \end{minipage} +% \else +% \begin{minipage}{0.48\linewidth} +% \LaTeXdemo@input +% \end{minipage} +% \hfill +% \begin{minipage}{0.48\linewidth} +% \hbox to\linewidth{\box\LaTeXdemo@box\hss}^^A +% \end{minipage} +% \fi +% \end{center} +%} +%\LaTeXdemo@new{code only}{^^A +% \LaTeXdemo@common +%}{^^A +%} +% +%\providecommand*\eTeX{\ensuremath{\varepsilon}-\TeX} +%\providecommand*\file{\texttt} +%\providecommand*\opt{\texttt} +%\providecommand*\pkg{\textsf} +% +%\newcommand*\ACS{\textsc{acs}} +% +%\makeatother +% +%\title{^^A +% \textsf{achemso} --- Support for submissions to American Chemical +% Society journals\thanks{^^A +% This file describes version \fileversion, last revised +% \filedate.^^A +% }^^A +%} +%\author{^^A +% Joseph Wright\thanks{E-mail: joseph.wright@morningstar2.co.uk}^^A +%} +%\date{Released \filedate} +% +%\maketitle +% +%\begin{abstract} +% The \pkg{achemso} bundle provides a \LaTeX\ class file and \BibTeX\ +% style file in accordance with the requirements of the American +% Chemical Society (\ACS). The files can be used for any documents, but +% have been carefully designed and tested to be suitable for submission +% to \ACS\ journals. +% +% The bundle also includes the \pkg{natmove} package. This package is +% loaded by \pkg{achemso}, and provides automatic moving of superscript +% citations after punctuation. +%\end{abstract} +% +%\begin{multicols}{2} +% \tableofcontents +%\end{multicols} +% +%\section{Introduction} +% Support for \BibTeX\ bibliography following the requirements of the +% American Chemical Society (\ACS), along with a package to make +% these easy to have been available since version one of \pkg{achemso}. +% The re-write from version 1 to version 2 made a number of +% improvements to the package, and also added a number of new +% features. However, neither version one nor version two of the +% package was targeted directly at use for submissions to \ACS\ +% journals. This new release of \pkg{achemso} addresses this issue. +% +% The bundle consists of four parts. The first is a \LaTeXe\ class, +% intended for use in submissions. It is based on the standard +% \pkg{article} class, but makes various changes to facilitate ease +% of use. The second part is the \LaTeX\ package. The package contains +% the parts of the bundle which are appropriate for use with other +% document classes.\footnote{For example, when writing a thesis.} +% Thirdly, two \BibTeX\ style files are included. These are used by +% both the class and the package, but can be used directly if desired. +% Finally, an example document is included; this is intended to act a +% potential template for submission, and illustrates the use of the +% class file. +% +%\section{Installation} +% +% The package is supplied in \file{dtx} format and as a pre-extracted +% zip file, \file{\jobname.tds.zip}. The later is most convenient for +% most users: simply unzip this in your local texmf directory and +% run \texttt{texhash} to update the database of file locations. If +% you want to unpack the \file{dtx} yourself, running +% \texttt{tex \jobname.dtx} will extract the package whereas +% \texttt{latex \jobname.dtx} will extract it and also typeset the +% documentation. +% +% Typesetting the documentation requires a number of packages in +% addition to those needed to use the package. This is mainly +% because of the number of demonstration items included in the text. To +% compile the documentation without error, you will need the packages: +% \begin{itemize} +% \item \pkg{array} +% \item \pkg{booktabs} +% \item \pkg{hypdoc} +% \item \pkg{listings} +% \item \pkg{lmodern} +% \item \pkg{mathpazo} +% \item \pkg{microtype} +%\end{itemize} +% +%\section{Requirements} +% +% The \pkg{achemso} class requires the following packages: +%\begin{itemize} +% \item \pkg{caption} +% \item \pkg{float} +% \item \pkg{geometry} +% \item \pkg{natbib} +% \item \pkg{setspace} +% \item \pkg{xkeyval} +%\end{itemize} +% These are normally present in the current major \TeX{} distributions, +% but are also available from \href{http://www.ctan.org}{The +% Comprehensive TeX Archive Network}. +% +%\section{The class file} +% The class file has been designed for use in submitting journals to +% the \ACS. It uses all of the modifications described here (those in +% the package as well as those in the class). The accompanying +% example manuscript can be used as a template for the correct use of +% the class file. It is intended to act as a model for submission. +% +% When submitting communications to \emph{J.~Am.\ Chem.\ Soc.}, the +% class will automatically lay the document out in the publication +% style. This allows the author to judge the length of text submitted +% more accurately. Changing the \opt{manuscript} in the +% demonstration document to \opt{communication} will illustrate the +% effect. +% +%\subsection{Class options} +% +%\DescribeOption{journal} +% The class supports a limited number of options, which are +% specifically-targeted at submission. The class uses the +% \pkg{keyval} system for options, in the form \opt{key=value}. The +% most important option is \opt{journal}. This is an identifier +% for the target journal: from \url{https://pubs.acs.org/}, the identifier +% is the part of the URL after \texttt{https://pubs.acs.org/journal/}, +% \emph{e.g.}~for \emph{J.\ Org.\ Chem.}\ it would be \texttt{joceah}. +% If an unknown journal is specified, the package will fall-back on the +% \opt{journal=jacsat} option. +% +%\DescribeOption{manuscript} +% The second option is the \opt{manuscript} option. This specifies +% the type of paper in the manuscript. The values here are +% \opt{article}, \opt{note}, \opt{communication}, \opt{review}, +% \opt{letter} and \opt{perspective}. The valid values will depend on +% the value of \opt{journal}. The \opt{manuscript} option determines +% whether sections and an abstract are valid. The value +% \opt{suppinfo} is also available for supporting information. +% +%\DescribeOption{layout} +% The \pkg{achemso} class can produce drafts in two layout styles. The +% standard setting for the \opt{layout} option is \opt{traditional}, +% which produces a double-spaced single column manuscript. The +% alternative setting \opt{twocolumn} will use single spacing and +% print the text in two columns. The second option is obviously more +% compact. If the journal requires a particular style this option may +% be ignored. +% +%\DescribeOption{email} +% It may be desirable to omit e-mail addresses from the front page of +% a manuscript. The printing of e-mail addresses can be disabled using +% the \opt{email} option, which takes Boolean values only. The default +% is to print e-mail addresses. Notice that phone and fax numbers are +% only printed if e-mail addresses are printed. +% +% Other options are provided by the package, but when used with the +% class these are silently ignored. If you need to override the +% settings chosen by the class, include the settings \emph{after} +% the \cs{documentclass} line using \cs{setkeys}: +%\begin{LaTeXdemo}[code only] +% \documentclass[journal = jacsat]{achemso} +% \setkeys{acs}{articletitle = false} +%\end{LaTeXdemo} +% +%\subsection{Manuscript meta-data} +% +%\DescribeMacro{\author} +%\DescribeMacro{\affiliation} +%\DescribeMacro{\alsoaffiliation} +%\DescribeMacro{\altaffiliation} +%\DescribeMacro{\email} +% Inspired by REV\TeX, the \pkg{achemso} class alters the method for +% adding author information to the manuscript. Each author should be +% given as a separate \cs{author} command. These should be followed +% by an \cs{affiliation}, which applies to the preceding authors. The +% \cs{affiliation} macro takes an optional argument, for a short +% version of the affiliation.\footnote{This will usually be the +% university or company name.} At least one author should be +% followed by an \cs{email} macro, containing contact details. All +% authors with an e-mail address are automatically marked with a +% star. The example manuscript demonstrates the use of all of these +% macros. Notice that \cs{alsoaffiliation} is used when one (or more) +% authors work at multiple institutions, while \cs{altaffiliation} +% is intended for previous addresses (or other notes). Only +% \cs{affiliation} applies to multiple authors: both +% \cs{alsoaffiliation} and \cs{altaffiliation} are set on a per +% author basis. +%\begin{LaTeXdemo}[code only] +% \author{Author Person} +% \author{Second Bloke} +% \email{second.bloke@some.place} +% \affiliation[University of Sometown] +% {University of Somewhere, Sometown, USA} +% \altaffiliation +% {Previous address: Minute University, Nowhereville, USA} +% \author{Indus Trialguy} +% \email{i.trialguy@sponsor.co} +% \affiliation[SponsoCo] +% {Research Department, SponsorCo, BigCity, USA} +% \alsoaffiliation{University of Somewhere, Sometown, USA} +%\end{LaTeXdemo} +% Repeated entries for \cs{affiliation} and \cs{alsoaffiliation} will +% result in only one address being printed in the address list and +% footnotes. Repeated \cs{altaffiliation} entries only produce a single +% footnote, and can therefore be used for entries such as +%\begin{LaTeXdemo}[code only] +% \author{First Coworker} +% \altaffiliation{Contributed equally to this work} +% \author{Second Coworker} +% \altaffiliation{Contributed equally to this work} +%\end{LaTeXdemo} +% if required. +% +%\DescribeMacro{\fax} +%\DescribeMacro{\phone} +% The class will recognise the optional information \cs{fax} and +% \cs{phone}, which will be printed along with the lead authors +% e-mail address. Note that this information is only used for authors +% who have an e-mail address supplied. +%\begin{LaTeXdemo}[code only] +% \author{Second Bloke} +% \email{second.bloke@some.place} +% \phone{+xxx (0)yyy zzzzzz} +% \fax{+xxx (0)yyy wwwwww} +% \affiliation[University of Sometown] +% {University of Somewhere, Sometown, USA} +%\end{LaTeXdemo} +% +%\DescribeMacro{\and} +%\DescribeMacro{\thanks} +% The method used for setting the meta-data means that the normal +% \cs{and} and \cs{thanks} macros are not appropriate in the \ +% pkg{achemso} class. Both produce a warning if used. +% +%\DescribeMacro{\title} +% The \cs{title} macro is extended to accept an optional argument. +% This is intended for a shortened version of the journal title +% suitable for running headers. Some journals require that authors +% supply this data: if it is needed then it will be printed in the +% appropriate place. +%\begin{LaTeXdemo}[code only] +% \title[Short running title] +% {Long title which would not fit in running headers} +%\end{LaTeXdemo} +% +% The meta-data items should be given in the preamble to the \LaTeX\ +% file, and no \cs{maketitle} macro is required in the document body. +% This is all handled by the class file directly. At least one +% author, affiliation and e-mail address must be specified. +% +%\subsection{Floats} +%\DescribeEnv{scheme} +%\DescribeEnv{chart} +%\DescribeEnv{graph} +% The class defines three new floating environments: \texttt{scheme}, +% \texttt{chart} and \texttt{graph}. These can be used as expected to +% include graphical content. The placement of these new floats and the +% standard \texttt{table} and \texttt{figure} floats is altered to be +% ``here'' if possible. The contents of all floats is automatically +% horizontally centred on the page. +% +%\subsection{Section headers} +% +%\DescribeMacro{\SectionNumbersOff} +%\DescribeMacro{\SectionNumbersOn} +% Some journals have no section numbering by default. This can be +% set up in the appropriate configuration file, but it may be that +% individual users need to change the decision. The macros +% \cs{SectionNumbersOff} and \cs{SectionNumbersOn} are therefore +% available: these should be given in the preamble. +% +%\DescribeMacro{\SectionsOff} +%\DescribeMacro{\SectionsOn} +% More radically, the entire availability of sections can be turned on +% and of. This is functionality is available to the user \emph{via} the +% \cs{SectionsOn} and \cs{SectionsOff} macros, which again are +% preamble-only. +%\DescribeMacro{\AbstractOff} +%\DescribeMacro{\AbstractOn} +% Similar functions are available for the abstract: \cs{AbstractOff} and +% \cs{AbstractOn}. +% +%\subsection{Special sections} +% +%\DescribeEnv{acknowledgement} +%\DescribeEnv{suppinfo} +% The sections for acknowledgements and supporting information +% have dedicated environments available. These ensure that +% the section headings are generated, and that the text is +% sized corrected when using creating a Communication. +%\begin{LaTeXdemo}[code only] +% \begin{acknowledgement} +% The authors thank A.N.~Other. +% \end{acknowledgement} +% +% \begin{suppinfo} +% Full characterization data for all new compounds. +% \end{suppinfo} +%\end{LaTeXdemo} +% +%\DescribeEnv{tocentry} +% For generating an entry for the graphical table of content, required +% by some journals, the environment \texttt{tocentry} is available. This +% prints its content in an appropriately sized box on a separate page. +% In contrast to the rest of the manuscript, this section is intended to +% be ``print ready'' in appearance. +% +%\begin{LaTeXdemo}[code only] +% \begin{tocentry} +% \includegraphics{toc-entry-graphic} +% Some text to explain the graphic. +% \end{tocentry} +%\end{LaTeXdemo} +% +% \subsection{Miscellaneous commands} +% +% \DescribeMacro{\latin} +% +% The command \cs{latin} is provided by the class to format Latin phrases +% such as ``et al.'' Most ACS journals do not make these italic, but +% some (for example \emph{ACS Nano}) do. By providing a command, the formatting +% is left flexible. +% +% \DescribeMacro{\doi} +% +% The bibliography style prints any \textsc{doi} values as the +% argument to the command \cs{doi}. The default definition will allow +% printing of special characters but does not create hyperlinks. A +% more sophisticated version of the command may be set up if \pkg{hyperref} +% is loaded, for example +%\begin{LaTeXdemo}[code only] +% \begin{tocentry} +% \newcommand{\doi}[1]{\href{http://dx.doi.org/#1}{\nolinkurl{#1}}} +% \end{tocentry} +%\end{LaTeXdemo} +% +%\section{The package file} +% The \pkg{achemso} package is independent of the class file, and +% contains parts of the bundle useful outside of submission to the +% \ACS. +% +%\subsection{Package options} +% +% As with the class options, the package uses the key--value method +% for option set up. These are used to control the output of citations +% and bibliographic data. The same options are used when creating +% journal configurations for the class: this is a task most users will +% not need to undertake! +% +%\DescribeOption{super} +% The \opt{super} option affects the handling of superscript +% reference markers. The option switches this behaviour +% on and off (and takes Boolean values: \opt{super=true} and +% \opt{super=false} are valid). +% +%\DescribeOption{articletitle} +% The \opt{articletitle} option is a Boolean, and sets whether the title +% of a paper referenced appears in the bibliography. The default is +% \opt{articletitle=true}. +% +% \DescribeOption{doi} +% The boolean \opt{doi} option is provided to allow a \textsc{doi} +% (Digital Object Identifier) to be included for bibliography entries +% even where other identification such as page numbers is available. +% The standard setting is \opt{false}: setting it to \opt{true} will +% cause \textsc{doi} numbers to be printed if available. +% +% \DescribeOption{chaptertitle} +% The boolean \opt{chaptertitle} option is provided to allow flexibility +% for the inclusion of chapter titles for \texttt{book} and +% related entries. The standard setting is \opt{false}: setting +% it to \opt{true} will cause chapter titles to be included. +% +%\DescribeOption{etalmode} +%\DescribeOption{maxauthors} +% Many journals require that long lists of authors are shortened using +% `et al.' in the references section. The behaviour of the \BibTeX\ +% styles in this regard is controlled by two options, \opt{etalmode} +% and \opt{maxauthors}. There are two possible ways to shorten a long +% list of authors. Some journals require that only the first author +% is given, followed by `et al.': for this behaviour, set +% \opt{etalmode=firstonly}: +%\begin{verbatim} +% Jones, A.N. et al. +%\end{verbatim} +% On the other hand, some journals request that the list of authors +% is truncated after $n$ authors. This is set up by the +% \opt{etalmode=truncate} option: +%\begin{verbatim} +% Jones, A.N.; Bloggs, F.; Nobacon, D. et al. +%\end{verbatim} +% In both cases, the maximum number of authors permitted before +% introducing `et al.' is governed by the \opt{maxauthors} option. +% This option recognises the sentinel value $0$, which indicates that +% no shortening should occur at all. +% +%\DescribeOption{biblabel} +% Redefining the formatting of the numbers used in the bibliography +% usually requires modifying internal \LaTeX\ macros. The +% \opt{biblabel} option makes these changes more accessible: valid +% values are \opt{plain} (use the number only), \opt{brackets} +% (surround the number in brackets) and \opt{period} or +% \opt{fullstop} (follow the number by a full stop/period). +% +%\DescribeOption{biochem} +%\DescribeOption{biochemistry} +% Most \ACS\ journals use the same bibliography style, with the only +% variation being the inclusion of article titles. However, a small +% number of journals use a rather different style; the journal +% \emph{Biochemistry} is probably the most prominent. The +% \opt{biochemistry} or \opt{biochem} option uses the style of +% \emph{Biochemistry} for the bibliography, rather than the normal +% \ACS\ style. +% +%\subsection{Bibliography notes} +% +%\DescribeMacro{\bibnote} +%\DescribeMacro{\bibnotemark} +%\DescribeMacro{\bibnotetext} +% \pkg{achemso} provides the \cs{bibnote} macro. This is intended for +% addition of notes to the bibliography (references). The macro +% accepts a single argument, which is transferred to the bibliography by +% \BibTeX. In analogy to \cs{footnote}, the macros \cs{bibnotemark} and +% \cs{bibnotetext} are available for dividing up the marker for a +% note from the text. +%\begin{LaTeXdemo} +% Some text \bibnote{This note text will be in the bibliography}. +%\end{LaTeXdemo} +% +% The functionality for bibnotes in \pkg{achemso} is based on that +% in the \pkg{notes2bib} package. The \pkg{notes2bib} package can be +% loaded with the \pkg{achemso} package, and no clash will occur. With +% the class file, \pkg{notes2bib} will be ignored if requested, to +% prevent issues on submission to the \ACS. +% +%\section{The \texorpdfstring{\BibTeX}{BibTeX} style files} +% +% \pkg{achemso} is supplied with two style files, \file{achemso.bst} and +% \file{biochem.bst}. The direct use of these without the \pkg{achemso} +% package file is not recommended, but is possible. The style files +% can be loaded in the usual way, with a \cs{bibliographystyle} +% command. The \pkg{natbib} package must be loaded by the \LaTeX\ file +% concerned, if the \pkg{achemso} package is not in use. +% +% The style files are designed to use the \pkg{mciteplus} package if it +% is available, but to work even if is not. When \pkg{mciteplus} is +% present, it is possible to automatically produce references of the +% form +%\begin{quotation} +% \noindent +% (5) (a) Arduengo,~A.~J.,~III; Dias,~H. V.~R.; Harlow,~R.~L.; +% Kline,~M. \emph{{J}.~{A}m.\ {C}hem.\ {S}oc.} \textbf{1992}, +% \emph{114}, 5530--5534; (b) Appelhans,~L.~N.; Zuccaccia,~D.; +% Kovacevic,~A.; Chianese,~A.~R.; Miecznikowski,~J.~R.; Macchioni,~A.; +% Clot,~E.; Eisenstein,~O.; Crabtree,~R.~H. \emph{{J}.~{A}m.\ {C}hem. +% {S}oc.} \textbf{2005}, \emph{127}, 16299--16311; (c) +% Arduengo,~A.~J.,~III; Gamper,~S.~F.; Calabrese,~J.~C.; Davidson,~F. +% \emph{J.~Am.\ Chem.\ Soc.} \textbf{1994}, \emph{116}, 4391--4394. +%\end{quotation} +% as demonstrated in the example document. When \pkg{mciteplus} is +% not present, this functionality is not available but the style files +% will work normally. +% +% The \BibTeX\ style files implement the bibliographic style +% specified by the \ACS\ in \emph{The ACS Style Guide} +% \cite{Coghill2006}. By default, article titles are not included in +% output using the \file{achemso.bst} file, but are with the +% \file{biochem.bst} file. +% +% The style used by the \ACS\ does not differentiate between +% \BibTeX\ \texttt{book}, \texttt{inbook}, \texttt{collection} and +% \texttt{incollection} entries. As a result, the appearance of +% these entry types depends on the fields available. Named subdivisions +% of a book (for example, chapters where each has a named author) +% should be given in the \texttt{title} field, with the title of +% the book itself in the \texttt{booktitle} field. The +% \texttt{chapter} field should be used for a chapter number, and +% is printed as part of the pagination. +% +% One frequently asked question is why some people see an empty first +% item in their bibliography when using the \pkg{achemso} package or +% class. This is usually because they have downloaded the \LaTeX\ files +% and done a local installation without also updating the \BibTeX\ +% style. The two must be from the same version of \pkg{achemso}: they +% are designed to work together. +% +%\section{The \pkg{natmove} package} +% +% The \pkg{natmove} package does only one job. It brings the ability to +% move punctuation after citations, using code borrowed from the +% \pkg{cite} package. Both the \pkg{achemso} class and package load +% \pkg{natmove} automatically. +%\begin{LaTeXdemo} +% Some text \cite{Coghill2006} some more text.\\ +% Some text ending a sentence \cite{Coghill2006}. +%\end{LaTeXdemo} +% This is deactivated for other citation types. +%\begin{LaTeXdemo} +% Some text \citeyear{Coghill2006}.\\ +% Some text \citeauthor{Coghill2006}.\\ +% Some text \citenum{Coghill2006}. +%\end{LaTeXdemo} +% The package does nothing if the \opt{super} option has not been +% given to \pkg{natbib}. This means that the source can be written +% without needing to decide where citations will to appear, with the +% \opt{super} option for \pkg{natbib} controlling the result. +% +%\DescribeMacro{\natmovechars} +% One user macro is provided: \cs{natmovechars}. This contains +% the characters which are moved before superscript punctuation. +% The default contents is |,;:.| and can be set using +% \cs{renewcommand*}: +%\begin{LaTeXdemo} +% \renewcommand*{\natmovechars}{.} +% Some text \cite{Coghill2006}, +% more text \cite{Coghill2006}. +%\end{LaTeXdemo} +% +%\StopEventually{^^A +% \PrintChanges +% \PrintIndex +% \bibliography{achemso-demo} +%} +% +%\section{Implementation} +% +% A lot of the work done by the package is also needed by the class. +% Loading the package and the class makes load-order awkward. Instead, +% the two parts are done in one place. Sandwiching the common code are +% two slices of dedicated material for the class and the package. Some +% of this is needed ``early'', before the common material, whilst the +% rest is ``late''. +% +%\subsection{Early class-only code} +% +% So that there is no confusion, the base class is loaded early. +% \begin{macrocode} +%<*class> +\ProvidesClass{achemso} + [2024-01-30 v3.13g Submission to ACS journals] +\LoadClass[12pt,letter]{article} +% \end{macrocode} +% +%\begin{macro}{\acs@warning} +% The code for a warning is created so that it works for the package too. +% \begin{macrocode} +\newcommand*\acs@warning{\ClassWarning{achemso}} +% +% \end{macrocode} +%\end{macro} +% +%\subsection{Early package-only code} +% +% The package and the class should not both be loaded, as the two use +% the same internal macro names. On the other hand, if the class is +% not in use a reminder is printed to use it if possible. +% \begin{macrocode} +%<*package> +\ProvidesPackage{achemso} + [2024-01-30 v3.13g Support for ACS journals] +\@ifclassloaded{achemso}{% + \PackageInfo{achemso}{% + You have already loaded the `achemso' class:\MessageBreak + loading the package will abort% + }% + \endinput +}{% + \PackageInfo{achemso}{% + When writing a submission to an ACS journal, please\MessageBreak + use the achemso document class% + }% +} +% \end{macrocode} +% +%\begin{macro}{\acs@warning} +% The code for a warning is created so that it works for the class too. +% \begin{macrocode} +\newcommand*\acs@warning{\PackageWarning{achemso}} +% +% \end{macrocode} +%\end{macro} +% +%\subsection{Common code} +% +%\begin{macro}{\acs@ifundefined} +% A non-expandable test for defined macros: does not add to the hash +% table. +% \begin{macrocode} +%<*package|class> +\newcommand*\acs@ifundefined[1]{% + \begingroup\expandafter\expandafter\expandafter\endgroup + \expandafter\ifx\csname #1\endcsname\relax + \expandafter\@firstoftwo + \else + \expandafter\@secondoftwo + \fi +} +% \end{macrocode} +%\end{macro} +% +% The first stage needed is to read the package options given. Although +% \pkg{xkeyval} was perhaps not the best choice, changing this now would +% be rather risky. +% \begin{macrocode} +\RequirePackage{xkeyval} +% \end{macrocode} +%\begin{macro}{\acs@keyval@bool} +% A support macro for making Boolean options: the \pkg{xkeyval} version +% is only available in newer releases. +% \begin{macrocode} +\newcommand*\acs@keyval@bool[2]{% + \acs@ifundefined{acs@#1#2}{% + \acs@warning{Unknown option `#2' for key #1}% + }{% + \@nameuse{acs@#1#2}% + }% +} +% \end{macrocode} +%\end{macro} +%\begin{macro}{\ifacs@abbreviations} +%\begin{macro}{\ifacs@articletitle} +%\begin{macro}{\ifacs@biochem} +%\begin{macro}{\ifacs@chaptertitle} +%\begin{macro}{\ifacs@doi} +%\begin{macro}{\ifacs@email} +%\begin{macro}{\ifacs@hyperref} +%\begin{macro}{\ifacs@keywords} +%\begin{macro}{\ifacs@super} +% These are all very trivial definitions: to avoid issues with older +% versions of \pkg{xkeyval} each definition is done directly. +% \begin{macrocode} +\newif\ifacs@abbreviations +\newif\ifacs@articletitle +\newif\ifacs@biochem +\newif\ifacs@doi +\newif\ifacs@chaptertitle +\newif\ifacs@email +\newif\ifacs@hyperref +\newif\ifacs@keywords +\newif\ifacs@super +\define@key{acs}{abbreviations}[true]{% + \acs@keyval@bool{abbreviations}{#1}% +} +\define@key{acs}{articletitle}[true]{% + \acs@keyval@bool{articletitle}{#1}% +} +\define@key{acs}{biochem}[true]{% + \acs@keyval@bool{biochem}{#1}% +} +\define@key{acs}{doi}[true]{% + \acs@keyval@bool{doi}{#1}% +} +\define@key{acs}{chaptertitle}[true]{% + \acs@keyval@bool{chaptertitle}{#1}% +} +\define@key{acs}{email}[true]{% + \acs@keyval@bool{email}{#1}% +} +\define@key{acs}{hyperref}[true]{% + \acs@keyval@bool{hyperref}{#1}% +} +\define@key{acs}{keywords}[true]{% + \acs@keyval@bool{keywords}{#1}% +} +\define@key{acs}{super}[true]{% + \acs@keyval@bool{super}{#1}% +} +\define@key{acs}{usetitle}[true]{% + \acs@keyval@bool{articletitle}{#1}% +} +% \end{macrocode} +%\end{macro} +%\end{macro} +%\end{macro} +%\end{macro} +%\end{macro} +%\end{macro} +%\end{macro} +%\end{macro} +%\end{macro} +%\begin{macro}{\acs@journal} +%\begin{macro}{\acs@layout} +%\begin{macro}{\acs@manuscript} +%\begin{macro}{\acs@maxauthors} +% Trivial again: done without using \pkg{xkeyval} for the same reasons +% as before. +% \begin{macrocode} +\newcommand*\acs@journal{jacsat} +\newcommand*\acs@layout{traditional} +\newcommand*\acs@manuscript{article} +\newcommand*\acs@maxauthors{15} +\define@key{acs}{journal}{% + \def\acs@journal{#1}% +} +\define@key{acs}{layout}{% + \def\acs@layout{#1}% +} +\define@key{acs}{manuscript}{% + \def\acs@manuscript{#1}% +} +\define@key{acs}{maxauthors}{% + \def\acs@maxauthors{#1}% +} +% \end{macrocode} +%\end{macro} +%\end{macro} +%\end{macro} +%\end{macro} +%\begin{macro}{\ifacs@etal@truncate} +%\begin{macro}{\acs@etal@firstonly} +%\begin{macro}{\acs@etal@truncate} +% The setup for the \opt{etalmode} option is quite simple: just look +% for the appropriate macros. +% \begin{macrocode} +\newif\ifacs@etal@truncate +\define@key{acs}{etalmode}{% + \acs@ifundefined{acs@etal@#1}{% + \acs@warning{% + Unknown value `#1' for\MessageBreak etalmode option% + }% + }{% + \@nameuse{acs@etal@#1}% + }% +} +\newcommand*\acs@etal@firstonly{\acs@etal@truncatefalse} +\newcommand*\acs@etal@truncate{\acs@etal@truncatetrue} +% \end{macrocode} +%\end{macro} +%\end{macro} +%\end{macro} +% \begin{macro}{\acs@activate@biblabel} +% The \opt{biochemistry} option is an alias for \opt{biochem}. The +% \opt{biblabel} option is a choice, which is implemented using a +% csname search. The group here prevents hash table pollution, whilst +% the \pkg{xkeyval} method is avoided as it is more complex than it is +% worth! +% \begin{macrocode} +\define@key{acs}{biochemistry}{% + \setkeys{acs}{biochem = #1}% +} +\define@key{acs}{biblabel}{% + \acs@ifundefined{acs@biblabel@#1}{% + \acs@warning{% + Unknown value `#1' for\MessageBreak biblabel option% + }% + }{% + \acs@activate@biblabel{\@nameuse{acs@biblabel@#1}}% + }% +} +\newcommand*\acs@activate@biblabel{} +%<*class> +\let\acs@activate@biblabel\AtEndOfClass +\AtEndOfClass{\let\acs@activate@biblabel\@firstofone} +% +%<*package> +\let\acs@activate@biblabel\AtEndOfPackage +\AtEndOfPackage{\let\acs@activate@biblabel\@firstofone} +% +% \end{macrocode} +% \end{macro} +%\begin{macro}{\acs@biblabel@brackets} +%\begin{macro}{\acs@biblabel@fullstop} +%\begin{macro}{\acs@biblabel@period} +%\begin{macro}{\acs@biblabel@plain} +% The macros to implement the idea above for biblabels. +% \begin{macrocode} +\newcommand*\acs@biblabel@brackets{\def\bibnumfmt##1{(##1)}} +\newcommand*\acs@biblabel@fullstop{\def\bibnumfmt##1{##1.}} +\newcommand*\acs@biblabel@period{\def\bibnumfmt##1{##1.}} +\newcommand*\acs@biblabel@plain{\def\bibnumfmt##1{##1}} +% \end{macrocode} +%\end{macro} +%\end{macro} +%\end{macro} +%\end{macro} +% Set up some defaults. +% \begin{macrocode} +\setkeys{acs}{ + email = true, + super = true +} +% \end{macrocode} +% Loading some other packages depends on the options chosen, so they +% are processed now. +% \begin{macrocode} +\ProcessOptionsX* +% \end{macrocode} +% +%\begin{macro}{\acs@manuscript@communication} +%\begin{macro}{\acs@manuscript@letter} +%\begin{macro}{\acs@manuscript@note} +%\begin{macro}{\acs@manuscript@review} +%\begin{macro}{\acs@manuscript@suppinfo} +% For text comparisons. +% \begin{macrocode} +\newcommand*\acs@manuscript@communication{communication} +\newcommand*\acs@manuscript@letter{letter} +\newcommand*\acs@manuscript@note{note} +\newcommand*\acs@manuscript@review{review} +\newcommand*\acs@manuscript@suppinfo{suppinfo} +% \end{macrocode} +%\end{macro} +%\end{macro} +%\end{macro} +%\end{macro} +%\end{macro} +% +%\begin{macro}{\acs@niib@create} +%\begin{macro}{bibnote} +%\begin{macro}{\thebibnote} +%\begin{macro}{\bibnote} +%\begin{macro}{\bibnotemark} +%\begin{macro}{\bibnotetext} +%\begin{macro}{\printbibnotes} +% To avoid needing to load the \pkg{notes2bib} package, especially as +% the plan is to move that package to \LaTeX3 internal syntax, +% \pkg{achemso} provides a minimal version here. The first step is to +% create macros which will need a guard against \pkg{notes2bib} already +% having been loaded. To allow the package and class to behave +% differently these are actually applied later. +% \begin{macrocode} +\newcommand*\acs@niib@create{% + \@namedef{ver@notes2bib.sty}{% + 2009/04/20 v1.6a Integrating notes into the bibliography (achemso + version) + }% + \@ifundefined{c@bibnote}{\newcounter{bibnote}}{} + \def\thebibnote{% + Note-\the\value{bibnote}% + }% + \DeclareRobustCommand*{\bibnote}[1][\thebibnote]{% + \stepcounter{bibnote}% + \def\acs@niib@after@text{\cite{##1}}% + \acs@niib@text{##1}% + }% + \DeclareRobustCommand*{\bibnotemark}[1][\thebibnote]{% + \stepcounter{bibnote}% + \cite{##1}% + }% + \DeclareRobustCommand*{\bibnotetext}[1][\thebibnote]{% + \let\acs@niib@after@text\relax + \acs@niib@text{##1}% + }% + \newcommand*\printbibnotes{% + \ifnum\the\value{bibnote}>\z@\relax + \nocite{achemso-control}% + \acs@bibliography{acs-\jobname}% + \fi + }% +} +% \end{macrocode} +%\end{macro} +%\end{macro} +%\end{macro} +%\end{macro} +%\end{macro} +%\end{macro} +%\end{macro} +%\begin{macro}{\acs@niib@after@text} +% After the text. +% \begin{macrocode} +\newcommand*\acs@niib@after@text{} +% \end{macrocode} +%\end{macro} +%\begin{macro}{\acs@niib@text} +% The \cs{acs@niib@text} macro is the outer part of the writing system. +% It does not absorb the text of note, as without \eTeX\ this is bad +% news. The same file is used for notes and the control entry for +% the bibliography style. +% \begin{macrocode} +\newcommand*\acs@niib@text{% + \@bsphack + \if@filesw + \expandafter\acs@niib@write + \else + \expandafter\acs@niib@no@write + \fi +} +% \end{macrocode} +%\end{macro} +%\begin{macro}{\acs@niib@write} +%\begin{macro}{\acs@niib@write@aux@i} +%\begin{macro}{\acs@niib@write@aux@ii} +% Writing verbatim without \eTeX. +% \begin{macrocode} +\newcommand*\acs@niib@write[1]{% + \begingroup + \let\do\@makeother + \dospecials + \catcode`\{ 1\relax + \catcode`\} 2\relax + \acs@niib@write@aux@i{#1}% +} +\newcommand*\acs@niib@write@aux@i[1]{% + \long\def\@tempa##1{% + \def\@tempa{##1}% + \@onelevel@sanitize\@tempa + \expandafter\endgroup + \expandafter\def\expandafter\@tempa\expandafter{\@tempa}% + \acs@niib@write@aux@ii{#1}% + }% + \catcode`\^^M 10\relax + \@tempa +} +\newcommand*\acs@niib@write@aux@ii[1]{% + \immediate\write\acs@bib@file{% + @Misc\string{#1,^^J% + \space\space note = \string{\@tempa\string},^^J% + \string}^^J% + }% + \@esphack + \acs@niib@after@text +} +% \end{macrocode} +%\end{macro} +%\end{macro} +%\end{macro} +%\begin{macro}{\acs@niib@no@write} +% If no files are to be written, a bit of tidying up. +% \begin{macrocode} +\newcommand\acs@niib@no@write[2]{% + \@esphack + \acs@niib@after@text +} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\nmv@natbib@detect} +%\begin{macro}{\acs@nmv@activate} +%\begin{macro}{\acs@autonote} +% The functionality of \pkg{notes2bib} is combined with the standard +% \cs{cite} macro, to give automatic note-like data in the bibliography. +% \begin{macrocode} +\AtBeginDocument{ + \def\nmv@natbib@detect{% + \ifNAT@super + \expandafter\acs@nmv@activate + \else + \expandafter\acs@autonote + \fi + } +} +\newcommand*\acs@nmv@activate{% + \let\nmv@citex@nat\@citex + \let\@citex\nmv@citex + \let\nmv@cite\cite + \renewcommand*{\cite}[2][]{% + \nmv@ifmtarg{##1}{% + \nmv@citetrue + \nmv@cite{##2}% + }{% + \nocite{##2}% + \bibnote{Ref.~\citenum{##2}, ##1}% + }% + }% +} +\newcommand*\acs@autonote{% + \let\nmv@cite\cite + \renewcommand*{\cite}[2][]{% + \nmv@ifmtarg{##1}{% + \nmv@cite{##2}% + }{% + \nocite{##2}% + \bibnote{Ref.~\citenum{##2}, ##1}% + }% + }% +} +% \end{macrocode} +%\end{macro} +%\end{macro} +%\end{macro} +% +%\begin{macro}{\acs@bib@file} +%\begin{macro}{\acs@bib@message} +%\begin{macro}{\acs@bib@name} +% Some information or creating the control file for \BibTeX\ is set up. +% \begin{macrocode} +\newwrite\acs@bib@file +\newcommand*\acs@bib@message{% + This is an auxiliary file used by the `achemso' bundle.^^J% + This file may safely be deleted. It will be recreated as required.^^J +} +\newcommand*\acs@bib@name{acs-\jobname.bib} +% \end{macrocode} +%\end{macro} +%\end{macro} +%\end{macro} +%\begin{macro}{\acs@bib@write} +%\begin{macro}{\acs@bib@write@aux} +% The control information for \BibTeX\ needs to be written to a special +% file. The main writing macro is quite simple. Actually writing the +% information is left to the code for \cs{bibliography}, so that this +% only happens if needed. +% \begin{macrocode} +\newcommand*\acs@bib@write{% + \if@filesw + \expandafter\acs@bib@write@aux + \fi +} +\AtBeginDocument{\acs@bib@write} +\newcommand*\acs@bib@write@aux{% + \immediate\openout\acs@bib@file\acs@bib@name\relax + \immediate\write\acs@bib@file{\acs@bib@message}% + \edef\@tempa##1##2{% + \space\space##1\space = "##2",^^J% + }% + \immediate\write\acs@bib@file{% + @Control\string{% + achemso-control,^^J% + \@tempa{ctrl-article-title\space}{% + \ifacs@articletitle yes\else no\fi + }% + \@tempa{ctrl-chapter-title\space}{% + \ifacs@chaptertitle yes\else no\fi + }% + \@tempa{ctrl-doi\space\space\space\space\space\space\space + \space\space\space\space}{% + \ifacs@doi yes\else no\fi + }% + \@tempa{ctrl-etal-number\space\space\space}{\acs@maxauthors}% + \@tempa{ctrl-etal-firstonly}{% + \ifacs@etal@truncate no\else yes\fi + }% + \string}^^J% + }% + \immediate\write\@auxout{% + \string\citation\string{achemso-control\string}% + }% + \AtEndDocument{% + \immediate\closeout\acs@bib@file\relax + }% +} +% \end{macrocode} +%\end{macro} +%\end{macro} +% +%\begin{macro}{\acs@bibliography} +%\begin{macro}{\bibliography} +% The \cs{bibliography} macro is now patched so that everything works +% correctly. +% \begin{macrocode} +\AtBeginDocument{% + \let\acs@bibliography\bibliography + \def\bibliography#1{% + \acs@bibliography{acs-\jobname,#1}% + }% +} +% \end{macrocode} +%\end{macro} +%\end{macro} +% +% \begin{macro}{\latin} +% The journal \emph{ACS Nano} formats Latin phrases differently from +% every other ACS journal: we provide a \cs{latin} command to cover this. +% \begin{macrocode} +\AtBeginDocument{ + \providecommand{\latin}[1]{#1} +} +% +% \end{macrocode} +% \end{macro} +% +%\subsection{Late class-only code} +% +% Most of the power of the class is now created. First, a few options +% are reset so that any given by the user are effectively ignored. +% \begin{macrocode} +%<*class> +\setkeys{acs}{ + abbreviations = false, + articletitle = true, + biblabel = brackets, + biochem = false, + doi = false, + etalmode = firstonly, + keywords = false, + maxauthors = 15, + super = true +} +% \end{macrocode} +% When using the class, \pkg{notes2bib} is always emulated. Other +% standard support packages can now be loaded. +% \begin{macrocode} +\acs@niib@create +\RequirePackage[margin=2.54cm]{geometry} +\RequirePackage{ + caption, + float, + graphicx, + setspace, + url +} +\ifacs@hyperref + \expandafter\RequirePackage +\else + \expandafter\@gobble +\fi + {hyperref} +\AtBeginDocument{\doublespacing} +% \end{macrocode} +% +%\begin{macro}{\title} +%\begin{macro}{\@title} +%\begin{macro}{\acs@title@short} +% For the meta-data, the REV\TeX\ bundle provides a good model for +% the commands to give the author. \cs{gdef} is used here to +% avoid any odd grouping issues. +% \begin{macrocode} +\renewcommand*{\title}[2][]{% + \gdef\acs@title@short{#1}% + \gdef\@title{#2}% + \ifx\acs@title@short\@empty + \global\let\acs@title@short\@title + \fi +} +\@onlypreamble\title +% \end{macrocode} +%\end{macro} +%\end{macro} +%\end{macro} +%\begin{macro}{\acs@author@cnt} +%\begin{macro}{\acs@affil@cnt} +%\begin{macro}{\acs@affil@alt@cnt} +% \pkg{achemso} tracks the number authors, affiliations and alternative +% affiliations. +% \begin{macrocode} +\newcount\acs@author@cnt +\newcount\acs@affil@cnt +\newcount\acs@affil@alt@cnt +% \end{macrocode} +%\end{macro} +%\end{macro} +%\end{macro} +%\begin{macro}{\acs@footnote@cnt} +%\begin{macro}{\acs@affil@marker@cnt} +% Two counts for getting affiliation footnotes correct. +% \begin{macrocode} +\newcount\acs@footnote@cnt +\newcount\acs@affil@marker@cnt +% \end{macrocode} +%\end{macro} +%\end{macro} +%\begin{macro}{\author} +% The author macro stores the current author details and sets the +% affiliation of the author to the current one. Everything is +% \cs{global} so that there is no possibility of begin trapped inside a +% group. The affiliation counter is always one behind, and so it is +% locally incremented to keep the logic of the code clear elsewhere. +% \begin{macrocode} +\def\author#1{% + \global\advance\acs@author@cnt\@ne\relax + \expandafter\gdef\csname @author@\@roman\acs@author@cnt\endcsname{#1}% + \begingroup + \advance\acs@affil@cnt\@ne + \expandafter\xdef\csname @author@affil@\@roman + \acs@author@cnt\endcsname + {\the\acs@affil@cnt}% + \endgroup +} +\@onlypreamble\author +% \end{macrocode} +%\end{macro} +%\begin{macro}{\and} +%\begin{macro}{\thanks} +% Neither \cs{and} nor \cs{thanks} are used by the document class. +% \begin{macrocode} +\def\and{% + \acs@warning{% + \string\and\space not used by the achemso class: please see + the\MessageBreak package documentation for details% + }% +} +\def\thanks{% + \acs@warning{% + \string\thanks\space not used by the achemso class: please see + the\MessageBreak the package documentation for details% + }% +} +% \end{macrocode} +%\end{macro} +%\end{macro} +%\begin{macro}{\affiliation} +% As with \cs{author}, everything is \cs{global} just in case. The +% system insists that affiliations come after authors. Before anything +% is committed, a check is made that the affiliation has not already +% been seen. +% \begin{macrocode} +\newcommand*\affiliation[2][\relax]{% + \ifnum\acs@author@cnt>\z@\relax + \acs@affil@ifdup{#2}{% + \acs@affil@swap{#2}% + }{% + \global\advance\acs@affil@cnt\@ne\relax + \expandafter\gdef\csname @address@\@roman\acs@affil@cnt\endcsname + {#2}% + \ifx\relax#1\relax + \expandafter\gdef\csname @affil@\@roman\acs@affil@cnt\endcsname + {#2}% + \else + \expandafter\gdef\csname @affil@\@roman\acs@affil@cnt\endcsname + {#1}% + \fi + }% + \else + \acs@warning{Affiliation with no author}% + \fi +} +\@onlypreamble\affiliation +% \end{macrocode} +%\end{macro} +%\begin{macro}{\acs@affil@ifdup} +%\begin{macro}{\acs@affil@ifdup@aux} +% A short test for two addresses being identical. +% \begin{macrocode} +\newcommand*\acs@affil@ifdup[1]{% + \begingroup + \def\@tempa{#1}% + \@tempswafalse + \@tempcnta\z@\relax + \acs@affil@ifdup@aux + \if@tempswa + \aftergroup\@firstoftwo + \else + \aftergroup\@secondoftwo + \fi + \endgroup +} +\newcommand*\acs@affil@ifdup@aux{% + \advance\@tempcnta\@ne\relax + \expandafter\expandafter\expandafter\def\expandafter\expandafter + \expandafter\@tempb\expandafter\expandafter\expandafter + {\csname @address@\@roman\@tempcnta\endcsname}% + \ifx\@tempa\@tempb + \expandafter\@tempswatrue + \else + \ifnum\@tempcnta<\acs@affil@cnt\relax + \expandafter\expandafter\expandafter\acs@affil@ifdup@aux + \fi + \fi +} +% \end{macrocode} +%\end{macro} +%\end{macro} +%\begin{macro}{\acs@affil@swap} +%\begin{macro}{\acs@affil@swap@aux} +% If the affiliation has already been given, then all of the authors +% need to be checked to make sure that the correct affiliation is used. +% First, the loop from above is used to find the correct number for the +% duplicate. +% \begin{macrocode} +\newcommand*\acs@affil@swap[1]{% + \begingroup + \def\@tempa{#1}% + \@tempcnta\z@\relax + \@tempcntb\z@\relax + \acs@affil@ifdup@aux + \advance\acs@affil@cnt\@ne\relax + \acs@affil@swap@aux + \endgroup +} +\newcommand*\acs@affil@swap@aux{% + \advance\@tempcntb\@ne\relax + \expandafter\ifnum\csname @author@affil@\@roman\@tempcntb\endcsname + = \acs@affil@cnt\relax + \expandafter\xdef\csname @author@affil@\@roman\@tempcntb\endcsname{% + \the\@tempcnta + }% + \fi + \ifnum\@tempcntb<\acs@author@cnt\relax + \expandafter\acs@affil@swap@aux + \fi +} +% \end{macrocode} +%\end{macro} +%\end{macro} +%\begin{macro}{\alsoaffiliation} +%\begin{macro}{\acs@alsoaffil@find} +% To allow complex affiliations , two commands are needed. The first +% deals with affiliations that are in some way shared by several +% authors. This is tracked on a per author basis. +% \begin{macrocode} +\newcommand*\alsoaffiliation[2][\relax]{% + \ifnum\acs@author@cnt>\z@\relax + \acs@affil@ifdup{#2}{% + \acs@alsoaffil@find{#2}% + }{% + \global\advance\acs@affil@cnt\@ne\relax + \@tempcnta\acs@affil@cnt\relax + \expandafter\gdef\csname @address@\@roman\acs@affil@cnt\endcsname + {#2}% + \ifx\relax#1\relax + \expandafter\gdef\csname @affil@\@roman\acs@affil@cnt\endcsname + {#2}% + \else + \expandafter\gdef\csname @affil@\@roman\acs@affil@cnt\endcsname + {#1}% + \fi + }% + \@ifundefined{@author@alsoaffil@\@roman\acs@author@cnt}{% + \expandafter\xdef\csname @author@alsoaffil@\@roman\acs@author@cnt + \endcsname{\the\@tempcnta}% + }{% + \expandafter\xdef\csname @author@alsoaffil@\@roman\acs@author@cnt + \endcsname{% + \csname @author@alsoaffil@\@roman\acs@author@cnt\endcsname + ,\the\@tempcnta + }% + }% + \else + \acs@warning{Affiliation with no author}% + \fi +} +\newcommand*\acs@alsoaffil@find[1]{% + \begingroup + \def\@tempa{#1}% + \@tempcnta\z@\relax + \@tempcntb\z@\relax + \acs@affil@ifdup@aux + \expandafter\endgroup + \expandafter\@tempcnta\the\@tempcnta\relax +} +% \end{macrocode} +%\end{macro} +%\end{macro} +%\begin{macro}{\altaffiliation} +% For the alternative affiliation, a second count is kept, and the +% affiliation is ``attached'' to the author. The way these are stored +% means that the appropriate affiliation number can be recovered later, +% and so printed correctly when things get complex. +% \begin{macrocode} +\newcommand*\altaffiliation[1]{% + \ifnum\acs@author@cnt>\z@\relax + \begingroup + \acs@altaffil@ifdup{#1}{% + \expandafter\xdef\csname @author@altaffil@\@roman\acs@author@cnt + \endcsname{\the\@tempcnta}% + }{% + \global\advance\acs@affil@alt@cnt\@ne\relax + \expandafter\gdef\csname @altaffil@\@roman\acs@affil@alt@cnt + \endcsname{#1}% + \expandafter\xdef\csname @author@altaffil@\@roman\acs@author@cnt + \endcsname{\the\acs@affil@alt@cnt}% + }% + \endgroup + \else + \acs@warning{Affiliation with no author}% + \fi +} +\@onlypreamble\altaffiliation +% \end{macrocode} +%\end{macro} +%\begin{macro}{\acs@altaffil@ifdup} +%\begin{macro}{\acs@altaffil@ifdup@aux} +% This is very similar to the same routine for normal affiliations but +% with the appropriate name changes. +% \begin{macrocode} +\newcommand*\acs@altaffil@ifdup[1]{% + \def\@tempa{#1}% + \@tempswafalse + \@tempcnta\z@\relax + \ifnum\acs@affil@alt@cnt>\z@\relax + \expandafter\acs@altaffil@ifdup@aux + \fi + \if@tempswa + \expandafter\@firstoftwo + \else + \expandafter\@secondoftwo + \fi +} +\newcommand*\acs@altaffil@ifdup@aux{% + \advance\@tempcnta\@ne\relax + \expandafter\expandafter\expandafter\def\expandafter\expandafter + \expandafter\@tempb\expandafter\expandafter\expandafter + {\csname @altaffil@\@roman\@tempcnta\endcsname}% + \ifx\@tempa\@tempb + \expandafter\@tempswatrue + \else + \ifnum\@tempcnta<\acs@affil@alt@cnt\relax + \expandafter\expandafter\expandafter\acs@altaffil@ifdup@aux + \fi + \fi +} +% \end{macrocode} +%\end{macro} +%\end{macro} +%\begin{macro}{\email} +% E-mail addresses are attached to authors as well. +% \begin{macrocode} +\newcommand*\email[1]{% + \ifnum\acs@author@cnt>\z@\relax + \expandafter\gdef\csname @email@\@roman\acs@author@cnt\endcsname + {#1}% + \else + \acs@warning{E-mail with no author}% + \fi +} +\@onlypreamble\email +% \end{macrocode} +%\end{macro} +%\begin{macro}{\fax} +%\begin{macro}{\phone} +% Fax and phone numbers are similar. +% \begin{macrocode} +\newcommand*\fax[1]{% + \ifnum\acs@author@cnt>\z@\relax + \expandafter\gdef\csname @fax@\@roman\acs@author@cnt\endcsname + {#1}% + \else + \acs@warning{Fax number with no author}% + \fi +} +\@onlypreamble\fax +\newcommand*\phone[1]{% + \ifnum\acs@author@cnt>\z@\relax + \expandafter\gdef\csname @phone@\@roman\acs@author@cnt\endcsname + {#1}% + \else + \acs@warning{Phone number with no author}% + \fi +} +\@onlypreamble\phone +% \end{macrocode} +%\end{macro} +%\end{macro} +% +%\begin{macro}{\abbreviations} +%\begin{macro}{\@abbreviations} +%\begin{macro}{\keywords} +%\begin{macro}{\@keywords} +% Some journals use these. +% \begin{macrocode} +\newcommand*\abbreviations[1]{% + \gdef\@abbreviations{#1}% +} +\newcommand*\@abbreviations{} +\@onlypreamble\abbreviations +\newcommand*\keywords[1]{% + \gdef\@keywords{#1}% +} +\newcommand*\@keywords{} +\@onlypreamble\keywords +% \end{macrocode} +%\end{macro} +%\end{macro} +%\end{macro} +%\end{macro} +% +%\begin{macro}{\acs@abbreviations@print} +%\begin{macro}{\acs@keywords@print} +%\begin{macro}{\acs@title@short@print} +% For printing the key simple meta-data. +% \begin{macrocode} +\newcommand*\acs@abbreviations@print{% + \ifx\@abbreviations\@empty\else + \section*{Abbreviations} + \@abbreviations + \par + \fi +} +\newcommand*\acs@keywords@print{% + \ifx\@keywords\@empty\else + \section*{Keywords} + \@keywords + \par + \fi +} +\newcommand*\acs@title@short@print{% + \section*{Running header} + \acs@title@short + \par +} +% \end{macrocode} +%\end{macro} +%\end{macro} +%\end{macro} +% +%\begin{macro}{\acs@space@pre@title} +%\begin{macro}{\acs@space@post@title} +%\begin{macro}{\acs@space@post@author} +%\begin{macro}{\acs@space@post@address} +%\begin{macro}{\acs@space@post@email} +%\begin{macro}{\acs@maketitle@width} +% Lengths for \cs{@maketitle}. +% \begin{macrocode} +\newlength\acs@space@pre@title +\setlength\acs@space@pre@title{2em} +\newlength\acs@space@post@title +\setlength\acs@space@post@title{1.5em} +\newlength\acs@space@post@author +\setlength\acs@space@post@author{1em} +\newlength\acs@space@post@address +\setlength\acs@space@post@address{1em} +\newlength\acs@space@post@email +\setlength\acs@space@post@email{1.5em} +\newlength\acs@maketitle@width +\setlength\acs@maketitle@width{\textwidth} +% \end{macrocode} +%\end{macro} +%\end{macro} +%\end{macro} +%\end{macro} +%\end{macro} +%\end{macro} +%\begin{macro}{\affilsize} +%\begin{macro}{\authorsize} +%\begin{macro}{\emailsize} +%\begin{macro}{\titlesize} +% Some simple size commands. +% \begin{macrocode} +\newcommand*\affilsize{\normalsize} +\newcommand*\authorsize{\large} +\newcommand*\emailsize{\normalsize} +\newcommand*\titlesize{\LARGE} +% \end{macrocode} +%\end{macro} +%\end{macro} +%\end{macro} +%\end{macro} +%\begin{macro}{\authorfont} +%\begin{macro}{\authorfont} +%\begin{macro}{\emailfont} +%\begin{macro}{\titlefont} +% Font settings for \cs{@maketitle}. +% \begin{macrocode} +\newcommand*\affilfont{\itshape} +\newcommand*\authorfont{\sffamily} +\newcommand*\emailfont{} +\newcommand*\titlefont{\bfseries\sffamily} +% \end{macrocode} +%\end{macro} +%\end{macro} +%\end{macro} +%\end{macro} +%\begin{macro}{\ps@acs} +% A shortcut to make page styles. +% \begin{macrocode} +\newcommand*{\ps@acs}{} +\let\ps@acs\ps@plain +% \end{macrocode} +%\end{macro} +%\begin{macro}{\@maketitle} +%\begin{macro}{\@maketitle@title@hook} +% With the changes outlined above in place, a new \cs{@maketitle} +% macro is needed. This is partially a copy of the existing, but +% rather heavily modified. +% \begin{macrocode} +\def\@maketitle{% + \pagestyle{acs}% + \ifnum\acs@author@cnt<\z@\relax + \acs@warning{No authors defined: At least one author is required}% + \fi + \newpage + \null + \vspace*{\acs@space@pre@title}% + \begin{center} + \begin{minipage}{\acs@maketitle@width} + \begin{center} + {% + \titlefont + \titlesize + \let\@fnsymbol\acs@author@fnsymbol + \let\footnote\acs@title@footnote + \acs@maketitle@suppinfo \@title + \acs@title@footnote@check + \global\acs@footnote@cnt\c@footnote + \@maketitle@title@hook + \par + }% + \vspace*{\acs@space@post@title}% + {% + \authorsize + \authorfont + \frenchspacing + \acs@author@list + \par + }% + \vspace*{\acs@space@post@author}% + {% + \affilsize + \affilfont + \acs@address@list + \par + }% + \vspace*{\acs@space@post@address}% + {% + \emailsize + \emailfont + \ifacs@email + \expandafter\acs@contact@details + \fi + }% + \vspace*{\acs@space@post@email}% + \end{center} + \end{minipage} + \end{center}% +} +\newcommand*\@maketitle@title@hook{} +% \end{macrocode} +%\end{macro} +%\end{macro} +%\begin{macro}{\acs@maketitle@suppinfo} +% This is spun out so that it can be avoided if necessary: this is done +% on the sly. +% \begin{macrocode} +\newcommand*\acs@maketitle@suppinfo{% + \ifx\acs@manuscript\acs@manuscript@suppinfo + Supporting Information:\\ + \fi +} +% \end{macrocode} +%\end{macro} +%\begin{macro}{\acs@title@footnote} +%\begin{macro}{\acs@title@footnote@check} +% Footnotes need to be created so that they appear correctly. +% \begin{macrocode} +\newcommand*\acs@title@footnote[1]{% + \footnotemark + \g@addto@macro\@thanks{\footnotetext{#1}}% +} +\newcommand\acs@title@footnote@check{% + \ifx\@thanks\@empty + \else + \begingroup + \toks@=\expandafter{\@thanks}% + \xdef\@thanks{% + \begingroup + \let\noexpand\@fnsymbol\noexpand\acs@author@fnsymbol + \the\toks@ + \endgroup + }% + \endgroup + \fi +} +% \end{macrocode} +%\end{macro} +%\end{macro} +%\begin{macro}{\acs@contact@details} +% A general contact details macro. +% \begin{macrocode} +\newcommand*\acs@contact@details{% + { \sffamily E-mail: \acs@email@list }% + \acs@number@list +} +% \end{macrocode} +%\end{macro} +%\begin{macro}{\@thanks} +% The \cs{@thanks} macro is used as a hook to generate the footnotes if +% needed. +% \begin{macrocode} +\let\@thanks\@empty +% \end{macrocode} +%\end{macro} +%\begin{macro}{\acs@author@list} +% Printing the author list needs to do several things. The appropriate +% separators between authors are created and the author names +% themselves are printed. +% \begin{macrocode} +\newcommand*\acs@author@list{% + \@tempcnta\z@\relax + \ifnum\acs@author@cnt=\z@\relax\else + \expandafter\acs@author@list@main + \fi +} +% \end{macrocode} +%\end{macro} +%\begin{macro}{\acs@author@footnotes} +%\begin{macro}{\acs@author@list@main} +% The main control macro for producing the author list iterates over +% each author on the list. The result is stored as +% \cs{acs@author@listing}. +% \begin{macrocode} +\newcommand*\acs@author@footnotes{} +\newcommand*\acs@author@list@main{% + \advance\@tempcnta\@ne\relax + \def\acs@author@footnotes{}% + \acs@author@list@and + \space + \@nameuse{@author@\@roman\@tempcnta}% + \acs@author@list@comma + \acs@author@star + \acs@author@affil + \acs@author@affil@also + \acs@author@affil@alt + \ifx\@empty\acs@author@footnotes\else + \textsuperscript{\acs@author@footnotes}% + \fi + \ifnum\@tempcnta<\acs@author@cnt\relax + \expandafter\acs@author@list@main + \fi +} +% \end{macrocode} +%\end{macro} +%\end{macro} +%\begin{macro}{\acs@author@list@and} +%\begin{macro}{\acs@author@list@comma} +% Simple checks to add an ``and'' and a comma. +% \begin{macrocode} +\newcommand*\acs@author@list@and{% + \ifnum\acs@author@cnt=\@ne\relax\else + \ifnum\@tempcnta=\acs@author@cnt\relax + \space and% + \fi + \fi +} +\newcommand*\acs@author@list@comma{% + \ifnum\acs@author@cnt>\tw@\relax + \ifnum\@tempcnta<\acs@author@cnt\relax + ,% + \fi + \fi +} +% \end{macrocode} +%\end{macro} +%\end{macro} +%\begin{macro}{\acs@author@star} +%\begin{macro}{\acs@author@star@aux} +% A check for an e-mail for an author: if so, add a star. +% \begin{macrocode} +\newcommand*\acs@author@star{% + \acs@ifundefined{@email@\@roman\@tempcnta}{}{% + \acs@author@star@aux + }% +} +\newcommand*\acs@author@star@aux{% + \protected@edef\acs@author@footnotes{% + \acs@author@fnsymbol{\z@}% + \ifnum\acs@affil@cnt>\@ne\relax + ,% + \else + \ifnum\acs@affil@alt@cnt>\z@\relax + ,% + \fi + \fi + }% +} +% \end{macrocode} +%\end{macro} +%\end{macro} +%\begin{macro}{\acs@author@affil} +%\begin{macro}{\acs@author@affil@aux} +% The main affiliation of the author is checked for, and assuming one +% is found the appropriate symbol is added to the list. +% \begin{macrocode} +\newcommand*\acs@author@affil{% + \acs@ifundefined{% + @affil@\@roman\csname @author@affil@\@roman\@tempcnta\endcsname + }{% + \acs@warning{% + No affiliation given for author\MessageBreak + \@nameuse{@author@\@roman\@tempcnta}% + }% + }{% + \acs@author@affil@aux + }% +} +\newcommand*\acs@author@affil@aux{% + \ifnum\acs@affil@cnt>\@ne\relax + \expandafter\acs@affil@marker@cnt\csname @author@affil@\@roman + \@tempcnta\endcsname\relax + \advance\acs@affil@marker@cnt\acs@footnote@cnt\relax + \protected@edef\acs@author@footnotes{% + \acs@author@footnotes + \acs@author@fnsymbol{\acs@affil@marker@cnt}% + }% + \else + \ifnum\acs@affil@alt@cnt>\z@\relax + \acs@affil@marker@cnt\@ne\relax + \advance\acs@affil@marker@cnt\acs@footnote@cnt\relax + \protected@edef\acs@author@footnotes{% + \acs@author@footnotes + \acs@author@fnsymbol{\acs@affil@marker@cnt}% + }% + \fi + \fi +} +% \end{macrocode} +%\end{macro} +%\end{macro} +%\begin{macro}{\acs@author@affil@also} +%\begin{macro}{\acs@author@affil@also@aux} +% The ``also'' affiliations are generated by a loop as there may be more +% than one. +% \begin{macrocode} +\newcommand*\acs@author@affil@also{% + \acs@ifundefined{@author@alsoaffil@\@roman\@tempcnta}{}{% + \acs@author@affil@also@aux + }% +} +\newcommand*\acs@author@affil@also@aux{% + \expandafter\@for\expandafter\@tempa\expandafter:\expandafter + =\csname @author@alsoaffil@\@roman\@tempcnta\endcsname\do{% + \acs@affil@marker@cnt\@tempa\relax + \advance\acs@affil@marker@cnt\acs@footnote@cnt\relax + \protected@edef\acs@author@footnotes{% + \acs@author@footnotes + ,% + \acs@author@fnsymbol{\acs@affil@marker@cnt}% + }% + }% +} +% \end{macrocode} +%\end{macro} +%\end{macro} +%\begin{macro}{\acs@author@affil@alt} +%\begin{macro}{\acs@author@affil@alt@aux} +% Alternative affiliations get the correct affiliation number back out +% from the stored data. There are then two corrections: one for the +% total number of main affiliations and a second in case there is a +% footnote to the title. +% \begin{macrocode} +\newcommand*\acs@author@affil@alt{% + \acs@ifundefined{@author@altaffil@\@roman\@tempcnta}{}{% + \acs@author@affil@alt@aux + }% +} +\newcommand*\acs@author@affil@alt@aux{% + \expandafter\acs@affil@marker@cnt + \csname @author@altaffil@\@roman\@tempcnta\endcsname\relax + \advance\acs@affil@marker@cnt\acs@affil@cnt\relax + \advance\acs@affil@marker@cnt\acs@footnote@cnt\relax + \protected@edef\acs@author@footnotes{% + \acs@author@footnotes + ,% + \acs@author@fnsymbol{\acs@affil@marker@cnt}% + }% +} +% \end{macrocode} +%\end{macro} +%\end{macro} +% \begin{macro}{\acs@author@fnsymbol} +% \begin{macro}{\acs@author@fnsymbol@aux} +% \begin{macro}{\acs@author@fnsymbol@loop} +% \begin{macro}{\acs@author@fnsymbol@loop@aux@i} +% \begin{macro}{\acs@author@fnsymbol@loop@aux@ii} +% \begin{macro}{\acs@author@fnsymbol@loop@aux@m} +% \begin{macro}{\acs@author@fnsymbol@loop@aux@Q} +% \begin{macro}{\acs@author@fnsymbol@symbol} +% The ACS have an extended list of symbols. The star appears at the +% special position zero. +% \begin{macrocode} +\newcommand*{\acs@author@fnsymbol}[1]{% + \ensuremath{% + \expandafter\acs@author@fnsymbol@aux\expandafter{\number#1 }% + }% +} +\newcommand*{\acs@author@fnsymbol@aux}[1]{% + \ifnum#1>10 % + \expandafter\acs@author@fnsymbol@loop + \else + \expandafter\acs@author@fnsymbol@symbol + \fi + {#1}% +} +\newcommand*{\acs@author@fnsymbol@loop}[1]{% + \acs@author@fnsymbol@loop@aux@i#1% +} +\newcommand*{\acs@author@fnsymbol@loop@aux@i}[2]{% + \acs@author@fnsymbol@symbol{\ifnum#2=0 10\else #2\fi}% + \expandafter\acs@author@fnsymbol@loop@aux@ii\romannumeral #1000Q{}% + {\acs@author@fnsymbol@symbol{\ifnum#2=0 10\else #2\fi}}% +} +\newcommand*{\acs@author@fnsymbol@loop@aux@ii}[1]{% + \@nameuse{acs@author@fnsymbol@loop@aux@#1}% +} +\def\acs@author@fnsymbol@loop@aux@m#1Q#2#3{% + \acs@author@fnsymbol@loop@aux@ii#1Q{#2#3}{#3}% +} +\newcommand*{\acs@author@fnsymbol@loop@aux@Q}[2]{#1} +\newcommand*{\acs@author@fnsymbol@symbol}[1]{% + \ifcase #1 *\or + \dagger\or + \ddagger\or + \P\or + \S\or + \|\or + \bot\or + \#\or + @\or + \triangle\or + \nabla + \fi +} +% \end{macrocode} +% \end{macro} +% \end{macro} +% \end{macro} +% \end{macro} +% \end{macro} +% \end{macro} +% \end{macro} +% \end{macro} +% \begin{macro}{\acs@address@list} +% \begin{macro}{\acs@address@list@auxi} +% \begin{macro}{\acs@address@list@auxii} +% Loop over the addresses and any extra affiliations and print them +% all: if there is only one, omit the marker entirely. There is also a +% need to watch out for any footnotes from the title. +% \begin{macrocode} +\newcommand*\acs@address@list{% + \ifnum\acs@affil@cnt>\z@ + \expandafter\acs@address@list@auxi + \else + \acs@warning{No affiliations: at least one affiliation is needed}% + \fi +} +\newcommand*\acs@address@list@auxi{% + \ifnum0% + \ifnum\acs@affil@cnt>\@ne 1\fi + \ifnum\acs@affil@alt@cnt>\z@ 1\fi + >\z@ + \expandafter\acs@address@list@auxii + \else + \@address@i\par + \fi +} +\newcommand*\acs@address@list@auxii{% + \@tempcnta\z@ + \acs@affil@marker@cnt\acs@footnote@cnt + \loop\ifnum\@tempcnta<\acs@affil@cnt + \advance\@tempcnta\@ne + \advance\acs@affil@marker@cnt\@ne + \acs@author@fnsymbol{\acs@affil@marker@cnt}% + \@nameuse{@address@\@roman\@tempcnta}\par + \repeat + \@tempcnta\z@ + \loop\ifnum\@tempcnta<\acs@affil@cnt + \advance\@tempcnta\@ne + \advance\acs@affil@marker@cnt\@ne + \acs@ifundefined{@altaffil@\@roman\@tempcnta} + {} + {% + \acs@author@fnsymbol{\acs@affil@marker@cnt}% + \@nameuse{@altaffil@\@roman\@tempcnta}\par + }% + \repeat +} +% \end{macrocode} +% \end{macro} +% \end{macro} +% \end{macro} +%\begin{macro}{\acs@fnsymbol@org} +%\begin{macro}{\acs@affil@list} +%\begin{macro}{\acs@affil@list@aux} +% Footnotes are done in two stages. First the main affiliation is +% handled, then the possible alternative. There is a need to check for +% the possibility that there is only one main affiliation but one or +% more alternative ones. +% \begin{macrocode} +\newcommand*\acs@fnsymbol@org{} +\newcommand*\acs@affil@list{% + \let\acs@fnsymbol@org\@fnsymbol + \let\@fnsymbol\acs@author@fnsymbol + \@tempcnta\z@\relax + \@tempcntb\z@\relax + \ifnum\acs@affil@cnt>\@ne\relax + \expandafter\acs@affil@list@aux + \else + \ifnum\acs@affil@alt@cnt>\z@\relax + \acs@affil@marker@cnt\@ne\relax + \advance\acs@affil@marker@cnt\acs@footnote@cnt\relax + \footnotetext[\acs@affil@marker@cnt]{\@affil@i}% + \@tempcnta\@ne\relax + \fi + \fi + \ifnum\acs@affil@alt@cnt>\z@\relax + \expandafter\acs@affil@alt@list + \fi + \let\@fnsymbol\acs@fnsymbol@org +} +\newcommand*\acs@affil@list@aux{% + \advance\@tempcnta\@ne\relax + \acs@affil@marker@cnt\@tempcnta\relax + \advance\acs@affil@marker@cnt\acs@footnote@cnt\relax + \footnotetext[\acs@affil@marker@cnt]{% + \@nameuse{@affil@\@roman\@tempcnta}% + }% + \ifnum\@tempcnta<\acs@affil@cnt\relax + \expandafter\acs@affil@list@aux + \fi +} +% \end{macrocode} +%\end{macro} +%\end{macro} +%\end{macro} +%\begin{macro}{\acs@affil@alt@list} +%\begin{macro}{\acs@affil@alt@lista@aux} +% The secondary loop for alternative affiliations is similar. +% \begin{macrocode} +\newcommand*\acs@affil@alt@list{% + \advance\@tempcntb\@ne\relax + \acs@ifundefined{@altaffil@\@roman\@tempcntb}{}{% + \acs@altaffil@foot@aux + } + \ifnum\@tempcntb<\acs@author@cnt\relax + \expandafter\acs@affil@alt@list + \fi +} +\newcommand*\acs@altaffil@foot@aux{% + \advance\@tempcnta\@ne\relax + \acs@affil@marker@cnt\@tempcnta\relax + \advance\acs@affil@marker@cnt\acs@footnote@cnt\relax + \footnotetext[\acs@affil@marker@cnt]{% + \@nameuse{@altaffil@\@roman\@tempcntb}% + }% +} +% \end{macrocode} +%\end{macro} +%\end{macro} +%\begin{macro}{\acs@email@list@font} +%\begin{macro}{\acs@email@list} +%\begin{macro}{\acs@email@list@aux} +% The final piece of meta-data to print is the e-mail address list. +% The total number of e-mail addresses given it counted in +% \cs{@tempcntb}, which means a warning can be given if there are +% none. The group is used so that \cs{UrlFont} can be set correctly. +% \begin{macrocode} +\newcommand*\acs@email@list@font{\sf} +\newcommand*\acs@email@list{% + \begingroup + \def\UrlFont{\acs@email@list@font}% + \@tempcnta\z@\relax + \@tempcntb\z@\relax + \acs@email@list@aux + \ifnum\@tempcntb=\z@\relax + \acs@warning{% + No e-mail given:\MessageBreak + at lest one author must have a contact e-mail% + }% + \fi + \endgroup +} +\newcommand*\acs@email@list@aux{% + \advance\@tempcnta\@ne\relax + \ifnum\@tempcnta>\acs@author@cnt\relax\else + \acs@ifundefined{@email@\@roman\@tempcnta}{}{% + \advance\@tempcntb\@ne\relax + \ifnum\@tempcntb>\@ne\relax + ; + \fi + \expandafter\expandafter\expandafter\url\expandafter + \expandafter\expandafter{% + \csname @email@\@roman\@tempcnta\endcsname + }% + }% + \expandafter\acs@email@list@aux + \fi +} +% \end{macrocode} +%\end{macro} +%\end{macro} +%\end{macro} +%\begin{macro}{\acs@number@list} +%\begin{macro}{\acs@number@list@aux@i} +%\begin{macro}{\acs@number@list@aux@ii} +% Listing phone and fax numbers is easier as they don't have to be +% given. Everything is done in one block so that it is possible to know +% whether to add a new line and also to keep everything together. +% \begin{macrocode} +\newcommand*\acs@number@list{% + \begingroup + \acs@number@list@aux@i{phone}% + \let\@tempb\@tempa + \acs@number@list@aux@i{fax}% + \ifx\@tempa\@empty + \let\@tempa\@tempb + \else + \ifx\@tempb\@empty\else + \protected@edef\@tempa{% + \@tempb.\space\@tempa + }% + \fi + \fi + \ifx\@tempa\@empty\else + \par + \@tempa + \fi + \endgroup +} +\newcommand*\acs@number@list@aux@i[1]{% + \def\@tempa{}% + \@tempcnta\z@\relax + \def\acs@number@list@aux@ii{% + \advance\@tempcnta\@ne\relax + \ifnum\@tempcnta>\acs@author@cnt\relax\else + \acs@ifundefined{@#1@\@roman\@tempcnta}{}{% + \acs@ifundefined{@email@\@roman\@tempcnta}{}{% + \ifx\@tempa\@empty + \edef\@tempa{% + \@nameuse{@#1@\@roman\@tempcnta}% + }% + \else + \edef\@tempa{% + \@tempa + ; + \@nameuse{@#1@\@roman\@tempcnta}% + }% + \fi + }% + }% + \expandafter\acs@number@list@aux@ii + \fi + }% + \acs@number@list@aux@ii + \ifx\@tempa\@empty\else + \protected@edef\@tempa{% + \MakeUppercase#1: \@tempa + }% + \fi +} +\newcommand*\acs@number@list@aux@ii{} +% \end{macrocode} +%\end{macro} +%\end{macro} +%\end{macro} +% \begin{macro}{\endabstract} +% \begin{macro}{\acs@abstract@extras} +% \begin{macrocode} +\g@addto@macro\endabstract{% + \aftergroup\acs@abstract@extras +} +\newcommand*{\acs@abstract@extras}{% + \ifacs@abbreviations + \acs@abbreviations@print + \par + \fi + \ifacs@keywords + \acs@keywords@print + \par + \fi +} +% \end{macrocode} +% \end{macro} +% \end{macro} +% +%\begin{macro}{\acs@maketitle@extras} +%\begin{macro}{\acs@maketitle@extras@hook} +% A couple of things might need to be added to \cs{maketitle}. +% \begin{macrocode} +\newcommand*\acs@maketitle@extras{% + \acs@maketitle@extras@hook +} +\newcommand*\acs@maketitle@extras@hook{} +\g@addto@macro{\maketitle}{\acs@maketitle@extras} +% \end{macrocode} +%\end{macro} +%\end{macro} +% \cs{maketitle} is required by the document class, and must start +% the document. No variation is allowed, and so it is done +% automatically. +% \begin{macrocode} +\g@addto@macro{\document}{\maketitle} +% \end{macrocode} +% +%\begin{environment}{scheme} +%\begin{environment}{chart} +%\begin{environment}{graph} +% Three new float types are provided, \texttt{scheme}, \texttt{chart} +% and \texttt{graph}. These are the most obvious types; for graphs, +% a slight problem arises with the file extension. +% \begin{macrocode} +\newfloat{scheme}{htbp}{los} +\floatname{scheme}{Scheme} +\newfloat{chart}{htbp}{loc} +\floatname{chart}{Chart} +\newfloat{graph}{htbp}{loh} +\floatname{graph}{Graph} +% \end{macrocode} +%\end{environment} +%\end{environment} +%\end{environment} +%\begin{macro}{\schemename} +%\begin{macro}{\chartname} +%\begin{macro}{\graphname} +% Naming is set up in the same way as the kernel floats. +% \begin{macrocode} +\newcommand*\schemename{Scheme} +\newcommand*\chartname{Chart} +\newcommand*\graphname{Graph} +% \end{macrocode} +%\end{macro} +%\end{macro} +%\end{macro} +% The standard floats should appear ``here'' by default. +% \begin{macrocode} +\floatplacement{table}{htbp} +\floatplacement{figure}{htbp} +\floatstyle{plaintop} +\restylefloat{table} +% \end{macrocode} +%\begin{macro}{\acs@floatboxreset} +% Floats are all centred. +% \begin{macrocode} +\let\acs@floatboxreset\@floatboxreset +\def\@floatboxreset{% + \centering + \acs@floatboxreset +} +% \end{macrocode} +%\end{macro} +%\begin{macro}{\plainref} +%\begin{macro}{\ref} +% For legacy support. +% \begin{macrocode} +\newcommand*\plainref{} +\AtBeginDocument{\let\plainref\ref} +% \end{macrocode} +%\end{macro} +%\end{macro} +% +%\begin{macro}{\acs@section} +%\begin{macro}{\acs@subsection} +%\begin{macro}{\acs@subsubsection} +%\begin{macro}{\acs@startsection@orig} +% Both the numbering and existence of section headers may need to be +% altered. Some generic functions are therefore provided to deal with +% this cleanly. First, some original definitions are saved. +% \begin{macrocode} +\newcommand*\acs@section{} +\let\acs@section\section +\newcommand*\acs@subsection{} +\let\acs@subsection\subsection +\newcommand*\acs@subsubsection{} +\let\acs@subsubsection\subsubsection +\newcommand*\acs@startsection@orig{} +\let\acs@startsection@orig\@startsection +% \end{macrocode} +%\end{macro} +%\end{macro} +%\end{macro} +%\end{macro} +%\begin{macro}{\acs@startsection} +% A version of \cs{@startsection} which adds unnumbered sections to +% the TOC: modelled on \pkg{amsart}. This is active as standard. +% \begin{macrocode} +\newcommand\acs@startsection[6]{% + \if@noskipsec \leavevmode \fi + \par \@tempskipa #4\relax + \@afterindenttrue + \ifdim \@tempskipa <\z@ \@tempskipa -\@tempskipa \@afterindentfalse\fi + \if@nobreak \everypar{}\else + \addpenalty\@secpenalty\addvspace\@tempskipa\fi + \@ifstar{\@dblarg{\@sect{#1}{\@m}{#3}{#4}{#5}{#6}}}% + {\@dblarg{\@sect{#1}{#2}{#3}{#4}{#5}{#6}}}% +} +\let\@startsection\acs@startsection +% \end{macrocode} +%\end{macro} +%\begin{macro}{\acs@startsection@alt} +% An alternative version of \cs{@startsection} which never adds numbers. +% \begin{macrocode} +\newcommand*\acs@startsection@alt[6]{% + \if@noskipsec \leavevmode \fi + \par \@tempskipa #4\relax + \@afterindenttrue + \ifdim \@tempskipa <\z@ \@tempskipa -\@tempskipa \@afterindentfalse\fi + \if@nobreak \everypar{}\else + \addpenalty\@secpenalty\addvspace\@tempskipa\fi + \@ifstar{\@ssect{#3}{#4}{#5}{#6}} + {\@ssect{#3}{#4}{#5}{#6}}% +} +% \end{macrocode} +%\end{macro} +%\begin{macro}{\acs@sections@none} +%\begin{macro}{\acs@sections@none@aux} +% When removing sections entirely, a gobble macro is needed. +% \begin{macrocode} +\newcommand*\acs@sections@none{% + \@ifstar{% + \acs@sections@none@aux + }{% + \acs@sections@none@aux + }% +} +\newcommand*\acs@sections@none@aux[2][]{% + \acs@warning{% + (Sub)section `#2' ignored% + }% +} +% \end{macrocode} +%\end{macro} +%\end{macro} +%\begin{macro}{\SectionNumbersOff} +%\begin{macro}{\SectionNumbersOn} +% To macros to add or remove the section numbers. The standard setting +% for the class has them on, but some configurations will turn them +% off. The names of these functions are both in design space so that +% users can change the decision easily. +% \begin{macrocode} +\newcommand*\SectionNumbersOff{% + \let\@startsection\acs@startsection@alt +} +\@onlypreamble\SectionNumbersOff +\newcommand*\SectionNumbersOn{% + \let\@startsection\acs@startsection +} +\@onlypreamble\SectionNumbersOn +% \end{macrocode} +%\end{macro} +%\end{macro} +%\begin{macro}{\SectionsOff} +%\begin{macro}{\SectionsOn} +% Quite similar for entire sections. +% \begin{macrocode} +\newcommand*\SectionsOff{% + \let\section\acs@sections@none + \let\subsection\acs@sections@none + \let\subsubsection\acs@sections@none +} +\@onlypreamble\SectionsOff +\newcommand*\SectionsOn{% + \let\section\acs@section + \let\subsection\acs@subsection + \let\subsubsection\acs@subsubsection +} +\@onlypreamble\SectionsOn +% \end{macrocode} +%\end{macro} +%\end{macro} +% \begin{macro}{\tableofcontents} +% Never print TOC in itself. +% \begin{macrocode} +\begingroup + \toks@=\expandafter{\tableofcontents} + \xdef\tableofcontents{% + \begingroup + \let\noexpand\@startsection\noexpand\acs@startsection@orig + \the\toks@ + \endgroup + } +\endgroup +% \end{macrocode} +% \end{macro} +%\begin{environment}{acknowledgement} +%\begin{environment}{suppinfo} +% Simple named sections. +% \begin{macrocode} +\newenvironment{acknowledgement}{% + \acs@section*{\acknowledgementname}% +}{} +\newenvironment{suppinfo}{% + \acs@section*{\suppinfoname}% +}{} +% \end{macrocode} +%\end{environment} +%\end{environment} +%\begin{macro}{\acknowledgementname} +%\begin{macro}{\bibsection} +%\begin{macro}{\suppinfoname} +% A few macros need to get around the changes. +% \begin{macrocode} +\newcommand*\acknowledgementname{Acknowledgement} +\AtEndOfClass{% + \def\bibsection{% + \acs@section*{\refname}% + }% +} +\newcommand*\suppinfoname{Supporting Information Available} +% \end{macrocode} +%\end{macro} +%\end{macro} +%\end{macro} +% +%\begin{macro}{\acs@abstract} +%\begin{macro}{\acs@endabstract} +%\begin{macro}{\acs@abstract@start} +%\begin{macro}{\acs@abstract@end} +%\begin{macro}{\acs@abstract@iffalse} +% Removing the abstract, if necessary, is done using a trick from the +% \pkg{comment} package. However, it code is copied here to keep +% requirements down. +% \begin{macrocode} +\newcommand*\acs@abstract{} +\let\acs@abstract\abstract +\newcommand*\acs@endabstract{} +\let\acs@endabstract\endabstract +\begingroup + \catcode`{ \active + \catcode`} 12\relax + \catcode`( 1\relax + \catcode`) 2\relax + \gdef\acs@abstract@start(% + \acs@warning(% + Abstract not allowed for this\MessageBreak + manuscript type + )% + \@bsphack + \catcode`{ \active + \catcode`} 12\relax + \let\end\fi + \let{\acs@abstract@end% } + \iffalse + )%{ + \gdef\acs@abstract@end#1}(% + \def\@tempa(#1)% + \ifx\@tempa\@currenvir + \@Esphack\endgroup + \if@ignore + \global\@ignorefalse + \ignorespaces + \fi + \else + \expandafter\acs@abstract@iffalse + \fi + ) +\endgroup +\newcommand*\acs@iffalse{\iffalse} +% \end{macrocode} +%\end{macro} +%\end{macro} +%\end{macro} +%\end{macro} +%\end{macro} +%\begin{macro}{\AbstractOff} +%\begin{macro}{\AbstractOn} +% A very similar pattern to before. +% \begin{macrocode} +\newcommand*\AbstractOff{% + \let\abstract\acs@abstract@start + \let\endabstract\acs@abstract@end +} +\@onlypreamble\AbstractOff +\newcommand*\AbstractOn{% + \let\abstract\acs@abstract + \let\endabstract\acs@endabstract +} +\@onlypreamble\AbstractOn +% \end{macrocode} +%\end{macro} +%\end{macro} +% +%\begin{macro}{\acs@collect@toks} +%\begin{macro}{\acs@collect@content} +%\begin{macro}{\acs@collect@content} +% The content of the graphic TOC entry is processed using a method from +% \pkg{amsmath} \emph{via} \pkg{environ}. The entire environment is +% gathered for typesetting in a box. First, some storage is needed. +% \begin{macrocode} +\newtoks\acs@collect@toks +\newtoks\acs@collect@empty@toks +\newcommand*\acs@collect@begins{} +\newcommand*\acs@collect@content{} +% \end{macrocode} +%\end{macro} +%\end{macro} +%\end{macro} +%\begin{macro}{\acs@collect} +%\begin{macro}{\acs@collect@aux} +%\begin{macro}{\acs@collect@begins@} +%\begin{macro}{\acs@collect@body} +% This is a \cs{long} version of \cs{collect@body}. +% \begin{macrocode} +\newcommand\acs@collect[1]{% + \acs@collect@toks{% + \expandafter#1\expandafter{\the\acs@collect@toks}% + }% + \edef\acs@collect@content{% + \the\acs@collect@toks + \noexpand\end{\@currenvir}% + }% + \acs@collect@toks\acs@collect@empty@toks + \def\acs@collect@begins{b}% + \begingroup + \expandafter\let\csname\@currenvir\endcsname\acs@collect@aux + \edef\acs@collect@content{% + \expandafter\noexpand\csname\@currenvir\endcsname + }% + \acs@collect@content +} +\newcommand*\acs@collect@aux{} +\long\def\acs@collect@aux#1\end#2{% + \edef\acs@collect@begins{% + \acs@collect@begins@#1\begin\end + \expandafter\@gobble\acs@collect@begins + }% + \ifx\@empty\acs@collect@begins + \endgroup + \@checkend{#2}% + \acs@collect@body{#1}% + \else + \acs@collect@body{#1\end{#2}}% + \fi + \acs@collect@content +} +\newcommand*\acs@collect@begins@{} +\long\def\acs@collect@begins@#1\begin#2{% + \ifx\end#2\else + b\expandafter\acs@collect@begins@ + \fi +} +\newcommand\acs@collect@body[1]{% + \global\acs@collect@toks\expandafter{\the\acs@collect@toks#1}% +} +% \end{macrocode} +%\end{macro} +%\end{macro} +%\end{macro} +%\end{macro} +%\begin{macro}{\acs@abstract@print} +% Delayed abstract printing works in a similar way, but with some +% formatting `built-in'. +% \begin{macrocode} +\newcommand\acs@abstract@print[1]{% + \global\long\def\acs@abstract@text{% + \if@twocolumn + \@restonecoltrue\onecolumn + \else + \@restonecolfalse\newpage + \fi + \acs@section*{Abstract}% + #1% + \if@restonecol + \twocolumn + \else + \newpage + \fi + }% + \AtEndDocument{\acs@abstract@text}% +} +% \end{macrocode} +%\end{macro} +% \begin{macro}{\acs@tocentry@print} +% \begin{macro}{\acs@tocentry@print@aux} +% \begin{macro}{\acs@tocentry@text} +% The same approach is taken for the graphical table of content +% printing. This is done in a box so that everything has a frame around +% it. +% \begin{macrocode} +\newcommand{\acs@tocentry@print}[1]{% + \gdef\acs@tocentry@text{\normalsize#1}% + \AtEndDocument{% + \if@twocolumn + \@restonecoltrue\onecolumn + \else + \@restonecolfalse\newpage + \fi + \acs@tocentry@print@aux + \if@restonecol + \twocolumn + \else + \newpage + \fi + }% +} +\newcommand*{\acs@tocentry@print@aux}{% + \begingroup + \let\@startsection\acs@startsection@orig + \acs@section*{\tocentryname}% + \tocsize + \sffamily + \singlespacing + \begin{center} + \fbox + {% + \begin{minipage}{\acs@tocentry@width} + \vbox to \acs@tocentry@height{\acs@tocentry@text}% + \end{minipage}% + }% + \end{center}% + \endgroup +} +\newcommand*\acs@tocentry@text{TOC ENTRY REQUIRED} +\newlength{\acs@tocentry@height} +\newlength{\acs@tocentry@width} +\setlength{\acs@tocentry@height}{1.75in} +\setlength{\acs@tocentry@width}{3.25in} +% \end{macrocode} +% \end{macro} +% \end{macro} +% \end{macro} +%\begin{environment}{tocentry} +% Actually creating the entry is pretty easy. +% \begin{macrocode} +\newenvironment{tocentry}{\acs@collect\acs@tocentry@print}{} +% \end{macrocode} +%\end{environment} +%\begin{macro}{\tocentryname} +% A simple name macro. +% \begin{macrocode} +\newcommand*\tocentryname{TOC Graphic} +% \end{macrocode} +%\end{macro} +%\begin{macro}{\tocsize} +% The font size for printing the TOC entry. +% \begin{macrocode} +\newcommand*\tocsize{% + \@setfontsize\tocsize\@viiipt\@ixpt +} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\acs@type@list} +%\begin{macro}{\acs@type@default} +%\begin{macro}{\acs@type@check} +% Different journals allow different types of article. A list is set +% up here: different journals can then alter it. A check function +% is also provided along with a default. +% \begin{macrocode} +\newcommand*\acs@type@list{article,communication,suppinfo} +\newcommand*\acs@type@default{article} +\newcommand*\acs@type@check{% + \@tempswafalse + \@for\@tempa:=\acs@type@list\do{% + \ifx\@tempa\acs@manuscript + \expandafter\@tempswatrue + \fi + }% + \if@tempswa\else + \acs@warning{% + Invalid manuscript type \acs@manuscript:\MessageBreak + changed to default type \acs@type@default + }% + \let\acs@manuscript\acs@type@default + \fi +} +% \end{macrocode} +%\end{macro} +%\end{macro} +%\end{macro} +% +% A few bits for older versions. +% \begin{macrocode} +\newcommand*\acs@setkeys{\setkeys{acs}} +\let\acs@killabstract\AbstractOff +\let\acs@killsecs\SectionsOff +\newcommand*\acs@validtype[2][article]{% + \def\acs@type@default{#1}% + \def\acs@type@list{#2}% +} +% \end{macrocode} +% +%\begin{macro}{\acs@par} +% A saved paragraph. +% \begin{macrocode} +\newcommand*\acs@par{} +\let\acs@par\par +% \end{macrocode} +%\end{macro} +%\begin{macro}{\acs@layout@shared} +%\begin{environment}{acknowledgement} +%\begin{environment}{suppinfo} +% Some code is used generally when setting up ``press ready'' layouts. +% There is quite a bit here, mainly layout related. +% \begin{macrocode} +\newcommand*\acs@layout@shared{% + \AtBeginDocument{\singlespacing}% + \twocolumn + \tolerance=2000\relax + \emergencystretch=10pt\relax + \geometry{ + letterpaper, + top = 12.7mm, + bottom = 16.8mm, + left = 19.3mm, + right = 19.3mm + }% + \setlength{\columnsep}{8.1mm}% + \setlength{\parindent}{3.3mm}% + \renewenvironment{acknowledgement}{% + \def\@tempa{acknowledgement}% + \ifx\@currenvir\@tempa + \let\par\relax + \acksize + \vspace{6pt}% + \textbf{\acknowledgementname}% + \else + \acs@section*{\acknowledgementname}% + \fi + }{% + \acs@par + }% +} +% \end{macrocode} +%\end{environment} +%\end{environment} +%\end{macro} +%\begin{macro}{\acksize} +%\begin{macro}{\suppsize} +% More sizes. +% \begin{macrocode} +\newcommand*\acksize{\normalsize} +\newcommand*\suppsize{\normalsize} +% \end{macrocode} +%\end{macro} +%\end{macro} +%\begin{macro}{\acs@layout@nine} +%\begin{macro}{\@xipt} +%\begin{macro}{\acs@layout@ten} +% The class loads twelve point text. To reset it for print layouts, it +% is easiest to do things directly. +% \begin{macrocode} +\newcommand*\acs@layout@nine{% + \def\@xipt{11}% + \long\def\normalsize{% + \@setfontsize\normalsize\@ixpt\@xipt + }% + \normalsize + \let\@listi\@listI + \abovedisplayskip 5\p@ \@plus2\p@ \@minus 5\p@\relax + \abovedisplayshortskip \z@ \@plus3\p@\relax + \belowdisplayshortskip 3\p@ \@plus3\p@ \@minus 3\p@\relax + \belowdisplayskip\abovedisplayskip\relax + \abovecaptionskip 5\p@\relax + \intextsep 7\p@ \@plus 2\p@ \@minus 2\p@\relax +} +\newcommand*\acs@layout@ten{% + \long\def\normalsize{% + \@setfontsize\normalsize\@xpt\@xiipt + }% + \normalsize + \@setfontsize\normalsize\@xpt\@xiipt + \let\@listi\@listI + \abovedisplayskip 10\p@ \@plus2\p@ \@minus5\p@\relax + \abovedisplayshortskip \z@ \@plus3\p@\relax + \belowdisplayshortskip 6\p@ \@plus3\p@ \@minus3\p@\relax + \belowdisplayskip \abovedisplayskip\relax +} +% \end{macrocode} +%\end{macro} +%\end{macro} +%\end{macro} +% +% With all of the standard settings done, the journal configuration can +% be loaded. +% \begin{macrocode} +\InputIfFileExists{achemso-\acs@journal.cfg}{}{% + \acs@warning{% + Unknown journal `\acs@journal':\MessageBreak + using default configuration JACSAT% + }% + \input{achemso-jacsat.cfg}% +} +% \end{macrocode} +% +% Suppress spurious warnings. +% \begin{macrocode} +\let\@unusedoptionlist\@empty +% \end{macrocode} +% +%\begin{macro}{\thepage} +% Some changes that can always be applied if the manuscript type is +% appropriate: this saves some repetition in the configuration files. +% \begin{macrocode} +\acs@type@check +\ifx\acs@manuscript\acs@manuscript@note + \SectionsOff +\fi +\ifx\acs@manuscript\acs@manuscript@review + \SectionsOn + \SectionNumbersOn +\fi +\ifx\acs@manuscript\acs@manuscript@suppinfo + \setkeys{acs}{maxauthors = 0} + \def\thepage{S-\arabic{page}} + \renewcommand*\thefigure{S\@arabic\c@figure} + \renewcommand*\thescheme{S\@arabic\c@scheme} + \renewcommand*\thetable{S\@arabic\c@table} + \AtBeginDocument + {% + \renewcommand*\citenumfont[1]{S#1}% + \renewcommand*\bibnumfmt[1]{(S#1)}% + } +\fi +% \end{macrocode} +%\end{macro} +% +% Set up two column layout. +% \begin{macrocode} +\begingroup + \def\@tempa{twocolumn} + \ifx\acs@layout\@tempa + \aftergroup\acs@layout@shared + \fi + \def\@tempa{two-column} + \ifx\acs@layout\@tempa + \aftergroup\acs@layout@shared + \fi +\endgroup +% +% \end{macrocode} +% +%\subsection{Late shared code} +% +%\begin{macro}{\citenumfont} +% Changes to citations can now be made. The citation styles supplied +% here require \pkg{natbib}, which is loaded with the appropriate +% options. This part applies to the package as well as the class: it is +% here so that the load order is correct. +% \begin{macrocode} +%<*class|package> +\ifacs@super + \RequirePackage[sort&compress,numbers,super]{natbib} +\else + \RequirePackage[sort&compress,numbers,round]{natbib} + \def\citenumfont{\textit} +\fi +\define@key{acs}{super}[true]{% + \def\@tempa{#1}% + \def\@tempb{true}% + \ifx\@tempa\@tempb + \setcitestyle{super,open={},close={}}% + \renewcommand*\citenumfont{}% + \else + \setcitestyle{round}% + \renewcommand*\citenumfont{\textit} + \fi +} +\RequirePackage{natmove} +% \end{macrocode} +%\end{macro} +% The \pkg{mciteplus} package allows the construction of lists of +% references with sub-letters. However, it might not be available, and +% so it is only loaded if available: the \file{.bst} files should work +% either way. There is also a patch to get cross-references correct +% with the modified \cs{ref} macro used here. The reason for ensuring +% that \cs{@mciteNatbibCiteCmdList} is defined is that it allows for +% the case where people prevent \pkg{mciteplus} being loaded using +% \cs{ver@mciteplus.sty}. +% \begin{macrocode} +\IfFileExists{mciteplus.sty}{% + \RequirePackage{mciteplus} + \providecommand*{\@mciteNatbibCiteCmdList}{}% + \edef\@tempa{\noexpand\in@{citenum}{\@mciteNatbibCiteCmdList}}% + \@tempa + \ifin@ + \else + \edef\@mciteNatbibCiteCmdList{\@mciteNatbibCiteCmdList,citenum}% + \fi +%<*!package> + \def\@mciteSubRef[##1]##2{\plainref{\@mcitereflabelprefix:##1:##2}} +% +}{} +% \end{macrocode} +% +%\begin{macro}{\acs@bibstyle} +% The next step is to sort out bibliography formatting. With both the +% package and the class, the bibliography style is determined without +% user intervention. The style is stored as it may need to be +% altered later. +% \begin{macrocode} +\newcommand*\acs@bibstyle{achemso} +\ifacs@biochem + \def\acs@bibstyle{biochem} + \bibliographystyle{biochem} +\else + \bibliographystyle{achemso} +\fi +% \end{macrocode} +%\end{macro} +%\begin{macro}{\acs@bibliographystyle} +%\begin{macro}{\bibliographystyle} +% The original \cs{bibliographystyle} macro is now disabled: the +% underlying command is repeated otherwise problems cop up with +% \pkg{chapterbib}. +% \begin{macrocode} +\newcommand*\acs@bibliographystyle{} +\let\acs@bibliographystyle\bibliographystyle +\def\bibliographystyle#1{% + \acs@warning{\string\bibliographystyle\space ignored}% + \expandafter\acs@bibliographystyle\expandafter{\acs@bibstyle}% +} +% +% \end{macrocode} +%\end{macro} +%\end{macro} +% +%\subsection{Late package-only code} +% +% The \pkg{notes2bib} code may or may not be activated. +% \begin{macrocode} +%<*package> +\AtBeginDocument{% + \@ifpackageloaded{notes2bib}{}{% + \acs@niib@create + }% +} +% +% \end{macrocode} +% +%\subsection{Moving citations with \pkg{natbib}} +% +% The code for moving citations is created as a separate package, as +% the code needed is the same in both cases. +% \begin{macrocode} +%<*natmove> +\ProvidesPackage{natmove} + [2010/01/15 v1.1a Automatic citation moving with natbib] +\RequirePackage{natbib} +% \end{macrocode} +% +%\begin{macro}{\nmv@ifmtarg} +%\begin{macro}{\nmv@xifmtarg} +% To keep down dependence on other packages, the very short code block +% from \pkg{ifmtarg} is copied here with an internal name. +% \begin{macrocode} +\newcommand*\nmv@ifmtarg{} +\newcommand*\nmv@xifmtarg{} +\begingroup + \catcode`\Q 3\relax + \long\gdef\nmv@ifmtarg#1{% + \nmv@xifmtarg#1QQ\@secondoftwo\@firstoftwo\@nil + } + \long\gdef\nmv@xifmtarg#1#2Q#3#4#5\@nil{#4} +\endgroup +% \end{macrocode} +%\end{macro} +%\end{macro} +%\begin{macro}{\ifnmv@cite} +% A flag is need to watch whether \cs{cite} or another macro is in use. +% \begin{macrocode} +\newif\ifnmv@cite +% \end{macrocode} +%\end{macro} +%\begin{macro}{\nmv@citex} +% Using the flag, either the new internal macro, or the \pkg{natbib} +% original, can be called. +% \begin{macrocode} +\newcommand*\nmv@citex{% + \ifnmv@cite + \expandafter\nmv@citex@moving + \else + \expandafter\nmv@citex@nat + \fi +} +% \end{macrocode} +%\end{macro} +%\begin{macro}{\nmv@after} +% Later, the argument for \cs{cite} will need to be saved. +% \begin{macrocode} +\newcommand*\nmv@after{} +% \end{macrocode} +%\end{macro} +%\begin{macro}{\nmv@citex@moving} +% The new version of \cs{@citex} is needed that looks ahead of the +% citation using \cs{futurelet}. There are three arguments to +% \cs{@citex} when using \pkg{natbib}. Other than that, the trick +% used here is similar to that in \pkg{cite}. +% \begin{macrocode} +\newcommand*\nmv@citex@moving{} +\def\nmv@citex@moving[#1][#2]#3{% + \leavevmode + \skip@\lastskip\relax + \unskip + \begingroup + \def\nmv@after{\nmv@citex@nat[#1][#2]{#3}}% + \global\nmv@citefalse + \nmv@citex@get@next\relax +} +% \end{macrocode} +%\end{macro} +%\begin{macro}{\nmv@citex@end} +% To get things right at the end. +% \begin{macrocode} +\newcommand*\nmv@citex@end{% + \nmv@after + \endgroup +} +% \end{macrocode} +%\end{macro} +%\begin{macro}{\nmv@citex@get@next} +%\begin{macro}{\nmv@citex@next} +% The next token on the input stack is saved into +% \cs{nmv@citex@next}, after gobbling up one token. +% \begin{macrocode} +\newcommand*\nmv@citex@get@next[1]{% + \futurelet\nmv@citex@next\nmv@citex@punct +} +% \end{macrocode} +%\end{macro} +%\end{macro} +%\begin{macro}{\nmv@citex@punct} +%\begin{macro}{\nmv@citex@punct@undouble} +%\begin{macro}{\nmv@citex@loop} +% The working macro for moving the punctuation. This is very much +% like \cs{@citey} in the \pkg{cite} package. The initial assumption +% is that the loop will terminate, and so the recursion call will +% simply do the finalisation. +% \begin{macrocode} +\newcommand*\nmv@citex@punct{% + \let\nmv@citex@loop\nmv@citex@end + \ifx\nmv@citex@next.\relax + \ifnum\spacefactor<\nmv@citex@sfac\else + \expandafter\expandafter\expandafter\nmv@citex@punct@undouble + \fi + \fi + \expandafter\nmv@citex@punct@aux\natmovechars\@nil + \nmv@citex@loop +} +\newcommand*\nmv@citex@punct@undouble{% + \let\nmv@citex@next\relax + \let\nmv@citex@loop\nmv@citex@get@next +} +\newcommand*\nmv@citex@loop{} +% \end{macrocode} +%\end{macro} +%\end{macro} +%\end{macro} +%\begin{macro}{\nmv@citex@punct@aux} +% The final part of the punctuation moving system. +% \begin{macrocode} +\newcommand*\nmv@citex@punct@aux[1]{% + \ifx\nmv@citex@next#1\@empty + #1% + \let\nmv@citex@loop\nmv@citex@get@next + \fi + \ifx#1\@nil\else + \expandafter\nmv@citex@punct@aux + \fi +} +% \end{macrocode} +%\end{macro} +%\begin{macro}{\nmv@citex@sfac} +% The value of the spacing factor after a full stop is used to signal +% doubled punctuation. For French spacing, a bit of patching is +% needed. +% \begin{macrocode} +\mathchardef\nmv@citex@sfac3000\relax +\expandafter\def\expandafter\frenchspacing\expandafter{% + \frenchspacing + \mathchardef\nmv@citex@sfac1001\relax + \sfcode`\.\nmv@citex@sfac + \sfcode`\?\nmv@citex@sfac + \sfcode`\!\nmv@citex@sfac +} +\ifnum\sfcode`\.=\@m + \frenchspacing +\fi +% \end{macrocode} +%\end{macro} +%\begin{macro}{\nmv@citex@nat} +%\begin{macro}{\nmv@activate} +%\begin{macro}{\cite} +% The swap has to be done at the beginning of the document. The +% internal flag from \pkg{natbib} is used, but under the +% circumstances we should be safe. \cs{cite} is also patched to make +% the system active. +% \begin{macrocode} +\newcommand*\nmv@citex@nat{} +\newcommand*\nmv@activate{% + \let\nmv@citex@nat\@citex + \let\@citex\nmv@citex + \let\nmv@cite\cite + \renewcommand*{\cite}[2][]{% + \nmv@ifmtarg{##1}{% + \nmv@citetrue + \nmv@cite{##2}% + }{% + \nmv@citefalse + \nmv@cite[##1]{##2}}% + }% +} +% \end{macrocode} +%\end{macro} +%\end{macro} +%\end{macro} +%\begin{macro}{\nmv@natbib@detect} +% So that \pkg{natbib} options can be set without worrying about load +% order, \pkg{natmove} doesn't require \pkg{natbib}. So a test is needed +% to see if it is actually loaded. This is done as a macro so that the +% effect can be changed by \pkg{achemso}. +% \begin{macrocode} +\newcommand*\nmv@natbib@detect{% + \@ifpackageloaded{natbib}{% + \ifNAT@super + \expandafter\nmv@activate + \fi + }{% + \PackageInfo{natmove}{% + The natbib package is not loaded.\MessageBreak + Loading natmove will do nothing + }% + }% +} +\AtBeginDocument{\nmv@natbib@detect} +% \end{macrocode} +%\end{macro} +%\begin{macro}{\natmovechars} +% A user macro is needed for moving characters. +% \begin{macrocode} +\newcommand*\natmovechars{.,;:} +% +% \end{macrocode} +%\end{macro} +% +%\subsection{The configuration files} +% +% The configuration files for different journals are not very complex. +% Keeping everything separate simply helps with maintenance. +% +% \begin{macrocode} +%<*abmcb8> +\ProvidesFile{achemso-abmcb8.cfg} + [2024-01-30 v3.13g achemso configuration: ACS Bio. Med. Chem. Au] +\def\acs@type@list{article,review,letter,perspective,suppinfo} +\setkeys{acs}{keywords = true} +% +%<*aeacb3> +\ProvidesFile{achemso-aeacb3.cfg} + [2024-01-30 v3.13g achemso configuration: ACS Eng. Au] +\def\acs@type@list{article,review,letter,perspective,suppinfo} +\setkeys{acs}{keywords = true} +% +%<*aeacc4> +\ProvidesFile{achemso-aeacc4.cfg} + [2024-01-30 v3.13g achemso configuration: ACS Env. Au] +\def\acs@type@list{article,review,letter,perspective,suppinfo} +\setkeys{acs}{keywords = true} +% +%<*amacgu> +\ProvidesFile{achemso-amacgu.cfg} + [2024-01-30 v3.13g achemso configuration: ACS Mater. Au] +\def\acs@type@list{article,review,letter,perspective,suppinfo} +\setkeys{acs}{keywords = true} +% +%<*amachv> +\ProvidesFile{achemso-amachv.cfg} + [2024-01-30 v3.13g achemso configuration: ACS Meas. Au] +\def\acs@type@list{article,review,letter,perspective,suppinfo} +\setkeys{acs}{keywords = true} +% +%<*anaccx> +\ProvidesFile{achemso-anaccx.cfg} + [2024-01-30 v3.13g achemso configuration: ACS Nanosci. Au] +\def\acs@type@list{article,review,letter,perspective,suppinfo} +\setkeys{acs}{keywords = true} +% +%<*abmcb8> +\ProvidesFile{achemso-abmcb8.cfg} + [2024-01-30 v3.13g achemso configuration: ACS Bio. Med. Chem. Au] +\def\acs@type@list{article,review,letter,perspective,suppinfo} +\setkeys{acs}{keywords = true} +% +%<*aoiab5> +\ProvidesFile{achemso-aoiab5.cfg} + [2024-01-30 v3.13g achemso configuration: ACS Org. Inorg. Au] +\def\acs@type@list{article,review,letter,perspective,suppinfo} +\setkeys{acs}{keywords = true} +% +%<*apcach> +\ProvidesFile{achemso-apcach.cfg} + [2024-01-30 v3.13g achemso configuration: ACS Phys. Bio. Med. Chem. Au] +\def\acs@type@list{article,review,letter,perspective,suppinfo} +\setkeys{acs}{keywords = true} +% +%<*appccd> +\ProvidesFile{achemso-appccd.cfg} + [2024-01-30 v3.13g achemso configuration: ACS Polym. Au] +\def\acs@type@list{article,review,letter,perspective,suppinfo} +\setkeys{acs}{keywords = true} +% +%<*achre4> +\ProvidesFile{achemso-achre4.cfg} + [2024-01-30 v3.13g achemso configuration: Acc. Chem. Res.] +\setkeys{acs}{biblabel = plain} +\def\acs@type@list{article,suppinfo} +\def\abstractname{Conspectus} +% +%<*aaembp> +\ProvidesFile{achemso-aaembp.cfg} + [2024-01-30 v3.13g achemso configuration: ACS Appl. Electron. Mater.] +\def\acs@type@list{article,letter,suppinfo} +\setkeys{acs}{keywords = true} +% +%<*aaemcq> +\ProvidesFile{achemso-aaemcq.cfg} + [2024-01-30 v3.13g achemso configuration: ACS Appl. Energy Mater.] +\def\acs@type@list{article,letter,suppinfo} +\setkeys{acs}{keywords = true} +% +%<*aamick> +\ProvidesFile{achemso-aamick.cfg} + [2024-01-30 v3.13g achemso configuration: ACS Appl. Mater. Interfaces] +\def\acs@type@list{article,letter,suppinfo} +\setkeys{acs}{keywords = true} +% +%<*aanmf6> +\ProvidesFile{achemso-aanmf6.cfg} + [2024-01-30 v3.13g achemso configuration: ACS Appl. Nano Mater.] +\def\acs@type@list{article,letter,suppinfo} +\setkeys{acs}{keywords = true} +% +%<*aapmcd> +\ProvidesFile{achemso-aapmcd.cfg} + [2024-01-30 v3.13g achemso configuration: ACS Appl. Polym. Mater.] +\def\acs@type@list{article,letter,suppinfo} +\setkeys{acs}{keywords = true} +% +%<*aastgj> +\ProvidesFile{achemso-aastgj.cfg} + [2024-01-30 v3.13g achemso configuration: ACS Agri. Sci. Tech.] +\def\acs@type@list{account,article,letter,retraction,review,viewpoint,suppinfo} +\setkeys{acs}{keywords = true} +% +%<*abseba> +\ProvidesFile{achemso-abseba.cfg} + [2024-01-30 v3.13g achemso configuration: ACS Biomater. Sci. Eng.] +\setkeys{acs}{keywords = true} +\def\acs@type@list{article,review,suppinfo} +% +%<*accacs> +\ProvidesFile{achemso-accacs.cfg} + [2024-01-30 v3.13g achemso configuration: ACS Catal.] +\setkeys{acs}{keywords = true} +\def\acs@type@list{article,letter,perspective,review,viewpoints,suppinfo} +\SectionNumbersOff +% +%<*acscii> +\ProvidesFile{achemso-acscii.cfg} + [2024-01-30 v3.13g achemso configuration: ACS Central Sci.] +\def\acs@type@list{article,review,suppinfo} +\setkeys{acs}{doi = true} +\SectionNumbersOff +% +%<*acbcct> +\ProvidesFile{achemso-acbcct.cfg} + [2024-01-30 v3.13g achemso configuration: ACS Chem. Biol.] +\setkeys{acs}{ + biblabel = fullstop, + biochem = true, + super = false +} +\def\acs@type@list{article,letter,review,suppinfo} +\SectionNumbersOff +% +%<*acncdm> +\ProvidesFile{achemso-acncdm.cfg} + [2024-01-30 v3.13g achemso configuration: ACS Chem. Neurosci.] +\def\acs@type@list{article,review,letter,suppinfo,viewpoint} +\setkeys{acs}{ + biblabel = fullstop, + biochem = true, + keywords = true, + super = false +} +% +%<*acsccc> +\ProvidesFile{achemso-acsccc.cfg} + [2024-01-30 v3.13g achemso configuration: ACS Combinatorial Sci.] +\def\acs@type@list{article,letter,review,perspective,account,note,suppinfo} +\setkeys{acs}{keywords = true} +\SectionNumbersOff +% +%<*aesccq> +\ProvidesFile{achemso-aesccq.cfg} + [2024-01-30 v3.13g achemso configuration: ACS Earth Space Chem.] +\def\acs@type@list{article,suppinfo} +\setkeys{acs}{keywords = true} +% +%<*aelccp> +\ProvidesFile{achemso-aelccp.cfg} + [2024-01-30 v3.13g achemso configuration: ACS Energy Lett.] +\def\acs@type@list{letter,perspective,review,viewpoint,focus} +\SectionsOff +% +%<*aeecco> +\ProvidesFile{achemso-aeecco.cfg} + [2024-01-30 v3.13g achemso configuration: ACS ES&T Eng.] +\def\acs@type@list{article,feature,perspective,review,viewpoint} +\setkeys{acs}{keywords = true} +% +%<*aewcaa> +\ProvidesFile{achemso-aewcaa.cfg} + [2024-01-30 v3.13g achemso configuration: ACS ES&T Water] +\def\acs@type@list{article,feature,perspective,review,viewpoint} +\setkeys{acs}{keywords = true} +% +%<*afsthl> +\ProvidesFile{achemso-afsthl.cfg} + [2024-01-30 v3.13g achemso configuration: ACS Food Sci. Tech.] +\def\acs@type@list{account,article,perspective,retraction,review,viewpoint} +\setkeys{acs}{keywords = true} +% +%<*ascefj> +\ProvidesFile{achemso-ascefj.cfg} + [2024-01-30 v3.13g achemso configuration: ACS Infect. Dis.] +\def\acs@type@list{article,letter,perspective,review,viewpoint,suppinfo} +\setkeys{acs}{keywords = true} +\SectionsOff +% +%<*amlccd> +\ProvidesFile{achemso-amlccd.cfg} + [2024-01-30 v3.13g achemso configuration: ACS Macro Lett.] +\def\acs@type@list{letter,suppinfo} +\SectionsOff +\setlength{\acs@tocentry@height}{4cm} +\setlength{\acs@tocentry@width}{8cm} +% +%<*amlcef> +\ProvidesFile{achemso-amlcef.cfg} + [2024-01-30 v3.13g achemso configuration: ACS Mater. Lett.] +\def\acs@type@list{letter,perspective,review,viewpoint,focus} +\SectionsOff +% +%<*amclct> +\ProvidesFile{achemso-amclct.cfg} + [2024-01-30 v3.13g achemso configuration: ACS Med. Chem. Lett.] +\def\acs@type@list{article,letter,perspective,suppinfo} +\SectionNumbersOff +% +%<*amrcda> +\ProvidesFile{achemso-amrcda.cfg} + [2024-01-30 v3.13g achemso configuration: Acc. Mater. Res.] +\def\acs@type@list{account,article,editorial,retraction,suppinfo} +% +%<*ancac3> +\ProvidesFile{achemso-ancac3.cfg} + [2024-01-30 v3.13g achemso configuration: ACS Nano] +\setkeys{acs}{ + abbreviations = true, + biblabel = fullstop, + etalmode = truncate, + maxauthors = 20, + keywords = true +} +\def\acs@type@list{article,perspective,suppinfo} +\newcommand*{\latin}[1]{\emph{#1}} +\SectionNumbersOff +% +%<*acsodf> +\ProvidesFile{achemso-acsodf.cfg} + [2024-01-30 v3.13g achemso configuration: ACS Omega.] +\def\acs@type@list{article} +% +%<*apchd5> +\ProvidesFile{achemso-apchd5.cfg} + [2024-01-30 v3.13g achemso configuration: ACS Photon.] +\def\acs@type@list{article,letter,perspective,review,suppinfo} +\setkeys{acs}{keywords = true} +\ifx\acs@manuscript\acs@manuscript@letter + \SectionNumbersOff +\fi +% +%<*aidcbc> +\ProvidesFile{achemso-aidcbc.cfg} + [2024-01-30 v3.13g achemso configuration: ACS Sensors] +\def\acs@type@list{article,letter,perspective,review,suppinfo} +\setkeys{acs}{keywords = true} +\SectionNumbersOff +% +%<*ascecg> +\ProvidesFile{achemso-ascecg.cfg} + [2024-01-30 v3.13g achemso configuration: ACS Sustainable Chem Eng.] +\setkeys{acs}{ + biblabel = fullstop, + keywords = true +} +\SectionNumbersOff +\def\acs@type@list{article,feature,letter,perspective,review,suppinfo} +% +%<*asbcd6> +\ProvidesFile{achemso-asbcd6.cfg} + [2024-01-30 v3.13g achemso configuration: ACS Synth. Biol.] +\setkeys{acs}{ + abbreviations = true, + biblabel = fullstop, + biochem = true, + keywords = true, + super = false +} +\def\acs@type@list{article,letter,note,tutorial,review,suppinfo} +% +%<*ancham> +\ProvidesFile{achemso-ancham.cfg} + [2024-01-30 v3.13g achemso configuration: Anal. Chem.] +\def\acs@type@list{article,note,suppinfo} +\SectionNumbersOff +% +%<*bichaw> +\ProvidesFile{achemso-bichaw.cfg} + [2024-01-30 v3.13g achemso configuration: Biochemistry] +\setkeys{acs}{ + abbreviations = true, + biblabel = brackets, + biochem = true, +} +\SectionNumbersOff +\def\acs@maketitle@extras@hook{% + \par + \acs@title@short@print +} +\g@addto@macro{\maketitle}{\newpage} +% \end{macrocode} +%\begin{macro}{\acs@author@fnsymbol} +% Some changes to do with footnotes: symbols are different and symbol +% number one can only be used for the title. +% \begin{macrocode} +\def\acs@author@fnsymbol#1{% + \ensuremath{% + \ifcase #1 *\or + \dagger\or + \ddagger\or + \S\or + \parallel\or + \perp\or + \P\or + \|\or + \bot\or + \#\or + @\or + \triangle\or + \nabla\else + #1% + \fi + }% +} +\def\@maketitle@title@hook{% + \ifnum\acs@footnote@cnt>\@ne + \else + \global\acs@footnote@cnt\@ne + \fi +} +% \end{macrocode} +%\end{macro} +% \begin{macrocode} +% +%<*bcches> +\ProvidesFile{achemso-bcches.cfg} + [2024-01-30 v3.13g achemso configuration: Bioconjugate Chem.] +\setkeys{acs}{ + biochem = true, + super = false +} +\SectionNumbersOff +% +%<*bomaf6> +\ProvidesFile{achemso-bomaf6.cfg} + [2024-01-30 v3.13g achemso configuration: Biomacromolecules] +\def\acs@type@list{article,comment,communication,note,review,suppinfo} +\SectionNumbersOff +\AtEndOfClass{\SectionsOn} +% +%<*crtoec> +\ProvidesFile{achemso-crtoec.cfg} + [2024-01-30 v3.13g achemso configuration: Chem. Res. Toxicol.] +\setkeys{acs}{ + abbreviations = true, + biochem = true, + keywords = true +} +\def\acs@maketitle@extras@hook{% + \par + \acs@title@short@print +} +\def\acs@type@list{% + article,perspective,profile,review,suppinfo% +} +\SectionNumbersOff +% +%<*chreay> +\ProvidesFile{achemso-chreay.cfg} + [2024-01-30 v3.13g achemso configuration: Chem. Rev.] +\def\acs@type@default{review} +\def\acs@type@list{review} +% \end{macrocode} +% The references section is numbered in \emph{Chem.\ Rev.} +% \begin{macrocode} +\def\bibsection{\acs@section{\refname}} +% +%<*cmatex> +% \begin{macrocode} +\ProvidesFile{achemso-cmatex.cfg} + [2024-01-30 v3.13g achemso configuration: Chem. Mater.] +\setkeys{acs}{keywords = true} +\SectionNumbersOff +\ifx\acs@manuscript\acs@manuscript@communication + \AbstractOff + \SectionsOff +\fi +% +%<*cgdefu> +\ProvidesFile{achemso-cgdefu.cfg} + [2024-01-30 v3.13g achemso configuration: Cryst. Growth Des.] +\def\acs@type@list{% + article,communication,perspective,suppinfo% +} +\SectionNumbersOff +\ifx\acs@manuscript\acs@manuscript@communication + \SectionsOff +\fi +\setlength{\acs@tocentry@height}{8.9 cm} +\setlength{\acs@tocentry@width}{4.6 cm} +% +%<*enfuem> +\ProvidesFile{achemso-enfuem.cfg} + [2024-01-30 v3.13g achemso configuration: Energy Fuels] +\def\acs@type@list{article,review,suppinfo} +\SectionNumbersOff +% +%<*esthag> +\ProvidesFile{achemso-esthag.cfg} + [2024-01-30 v3.13g achemso configuration: Environ. Sci. Technol.] +\def\acs@type@list{article,feature,perspective,review,suppinfo} +\SectionNumbersOff +% +%<*estlcu> +\ProvidesFile{achemso-estlcu.cfg} + [2024-01-30 v3.13g achemso configuration: Environ. Sci. Technol. Lett.] +\def\acs@type@list{letter,review,suppinfo} +\SectionNumbersOff +% +%<*iecred> +\ProvidesFile{achemso-iecred.cfg} + [2024-01-30 v3.13g achemso configuration: Ind. Eng. Chem. Res.] +\setkeys{acs}{biblabel = brackets} +\SectionNumbersOff +% +%<*inoraj> +\ProvidesFile{achemso-inoraj.cfg} + [2024-01-30 v3.13g achemso configuration: Inorg. Chem.] +\SectionNumbersOff +\ifx\acs@manuscript\acs@manuscript@communication + \AbstractOff + \SectionsOff +\fi +\setkeys{acs}{doi = true} +% +%<*jaaucr> +\ProvidesFile{achemso-jaaucr.cfg} + [2024-01-30 v3.13g achemso configuration: JACS Au] +\def\acs@type@list{spotlight,account,article,communication,letter,perspective,suppinfo} +% +%<*jafcau> +\ProvidesFile{achemso-jafcau.cfg} + [2024-01-30 v3.13g achemso configuration: J. Agric. Food Chem.] +\setkeys{acs}{keywords = true} +\def\acs@type@list{article,suppinfo} +\SectionNumbersOff +% +%<*jceda8> +\ProvidesFile{achemso-jceda8.cfg} + [2024-01-30 v3.13g achemso configuration: J. Chem. Ed.] +\setkeys{acs}{keywords = true} +\SectionNumbersOff +\def\acs@type@list{article,suppinfo} +\SectionNumbersOff +% +%<*jceaax> +\ProvidesFile{achemso-jceaax.cfg} + [2024-01-30 v3.13g achemso configuration: J. Chem. Eng. Data] +\def\acs@type@list{article,suppinfo} +\def\refname{Literature Cited} +\SectionNumbersOff +% +%<*jcisd8> +\ProvidesFile{achemso-jcisd8.cfg} + [2024-01-30 v3.13g achemso configuration: J. Chem. Inf. Model.] +\def\acs@type@list{article,suppinfo} +\SectionNumbersOff +% +%<*jctcce> +\ProvidesFile{achemso-jctcce.cfg} + [2024-01-30 v3.13g achemso configuration: J. Chem. Theory Comput.] +\def\acs@type@list{article,suppinfo} +\setkeys{acs}{maxauthors = 0} +% +%<*jmcmar> +\ProvidesFile{achemso-jmcmar.cfg} + [2024-01-30 v3.13g achemso configuration: J. Med. Chem.] +\def\acs@type@list{article,letter,perspective,suppinfo} +\SectionNumbersOff +\setlength{\acs@tocentry@height}{5.5cm} +\setlength{\acs@tocentry@width}{21cm} +% +%<*jnprdf> +\ProvidesFile{achemso-jnprdf.cfg} + [2024-01-30 v3.13g achemso configuration: J. Nat. Prod.] +\renewcommand*{\abstractname}{ABSTRACT} +\renewcommand*{\acknowledgementname}{ACKNOWLEDGEMENT} +\renewcommand*{\suppinfoname}{ASSOCIATED CONTENT} +\SectionNumbersOff +\renewcommand*{\acs@abstract}{% + \quotation + \textbf{\abstractname :}% +} +\AbstractOn +\ifx\acs@manuscript\acs@manuscript@communication + \AbstractOff + \SectionsOff +\fi +\def\refname{REFERENCES} +\captionsetup{ + labelfont = bf, + labelsep = period +} +% +%<*joceah> +\ProvidesFile{achemso-joceah.cfg} + [2024-01-30 v3.13g achemso configuration: J. Org. Chem.] +\ifx\acs@manuscript\acs@manuscript@communication + \AbstractOff + \SectionsOff +\fi +\floatstyle{plaintop} +\restylefloat{scheme} +\floatstyle{plain} +\renewcommand*\acs@type@list{article,communication,note,perspective,review,suppinfo} +% +% \end{macrocode} +% \begin{macrocode} +%<*jpcafh> +\ProvidesFile{achemso-jpcafh.cfg} + [2024-01-30 v3.13g achemso configuration: J. Phys. Chem. A] +\def\acs@type@list{article,suppinfo} +\setkeys{acs}{ + etalmode = truncate, + maxauthors = 10 +} +\SectionNumbersOff +\captionsetup[table]{labelfont=bf,textfont=bf} +% \end{macrocode} +% Title +% \begin{macrocode} +\g@addto@macro{\maketitle}{\newpage} +% +%<*jpcbfk> +\ProvidesFile{achemso-jpcbfk.cfg} + [2024-01-30 v3.13g achemso configuration: J. Phys. Chem. B] +\def\acs@type@list{article,suppinfo} +\setkeys{acs}{ + etalmode = truncate, + maxauthors = 10 +} +\SectionNumbersOff +\captionsetup[table]{labelfont=bf,textfont=bf} +\g@addto@macro{\maketitle}{\newpage} +% +%<*jpccck> +\ProvidesFile{achemso-jpccck.cfg} + [2024-01-30 v3.13g achemso configuration: J. Phys. Chem. C] +\def\acs@type@list{article,suppinfo} +\setkeys{acs}{ + etalmode = truncate, + maxauthors = 10 +} +\SectionNumbersOff +\captionsetup[table]{labelfont=bf,textfont=bf} +\g@addto@macro{\maketitle}{\newpage} +% +% \end{macrocode} +% \begin{macrocode} +%<*jpclcd> +\ProvidesFile{achemso-jpclcd.cfg} + [2024-01-30 v3.13g achemso configuration: J. Phys. Chem. Lett.] +\setkeys{acs}{ + etalmode = truncate, + maxauthors = 10 +} +\def\acs@type@default{letter} +\def\acs@type@list{letter} +\SectionNumbersOff +\captionsetup[table]{labelfont=bf,textfont=bf} +\g@addto@macro{\maketitle}{\newpage} +\renewcommand{\acs@tocentry@print}[1]{% + \gdef\acs@tocentry@text{#1}% +} +\renewcommand*{\acs@abstract@extras}{% + \begingroup + \acs@tocentry@print@aux + \endgroup + \acs@keywords@print + \newpage +} +\setlength\acs@tocentry@height{2in} +\setlength\acs@tocentry@width{2in} +% +%<*jprobs> +\ProvidesFile{achemso-jprobs.cfg} + [2024-01-30 v3.13g achemso configuration: J. Proteome Res.] +\setkeys{acs}{keywords = true} +\def\acs@type@list{article,review,suppinfo} +\SectionNumbersOff +% +% \end{macrocode} +% The \emph{J.~Am.\ Chem.\ Soc.}~configuration is rather more +% complicated as there is the need to construct a ``galley-like'' +% layout for communications. +% \begin{macrocode} +%<*jacsat> +\ProvidesFile{achemso-jacsat.cfg} + [2024-01-30 v3.13g achemso configuration: J. Am. Chem. Soc.] +\SectionNumbersOff +\ifx\acs@manuscript\acs@manuscript@communication\else + \expandafter\endinput +\fi +% \end{macrocode} +% Everything from here onward applies only to communications. Some +% adjustments are now made using the existing tools. +% \begin{macrocode} +\setkeys{acs}{ + email = true, + layout = twocolumn +} +\SectionsOff +\acs@layout@nine +% \end{macrocode} +% +%\begin{environment}{abstract} +% The abstract appears at the start of the document, with lines around +% it.s +% \begin{macrocode} +\renewenvironment{abstract}{% + \hrule + \vspace{2 mm}% + \sffamily + \noindent + \emph{\textbf{Abstract:}}% +}{% + \vspace{2 mm}% + \hrule + \vspace{6 mm}% +} +% \end{macrocode} +%\end{environment} +% +%\begin{macro}{\acksize} +%\begin{macro}{\affilsize} +%\begin{macro}{\authorsize} +%\begin{macro}{\emailsize} +%\begin{macro}{\capsize} +%\begin{macro}{\refsize} +%\begin{macro}{\suppsize} +%\begin{macro}{\titlesize} +% To keep things logical, the size macros are given names related to +% their function. Some of these are new, some are defined in the class. +% \begin{macrocode} +\def\affilsize{% + \@setfontsize\affilsize\@ixpt\@xpt +} +\def\acksize{% + \@setfontsize\acksize\@ixpt\@xipt +} +\def\authorsize{% + \@setfontsize\authorsize{10.5}{12.5}% +} +\newcommand*\capsize{% + \@setfontsize\capsize\@viiipt\@ixpt +} +\def\emailsize{% + \@setfontsize\emailsize\@viiipt{15}% +} +\newcommand*\refsize{% + \@setfontsize\refsize{7.5}{7.5}% +} +\def\suppsize{% + \@setfontsize\suppsize{8.5}{10.5}% +} +\def\titlesize{% + \@setfontsize\titlesize\@xiipt{13}% +} +\let\footnotesize\refsize +\let\captionfont\capsize +% \end{macrocode} +%\end{macro} +%\end{macro} +%\end{macro} +%\end{macro} +%\end{macro} +%\end{macro} +%\end{macro} +%\end{macro} +%\begin{macro}{\emailfont} +% A slight font change. +% \begin{macrocode} +\def\emailfont{\sffamily} +% \end{macrocode} +%\end{macro} +%\begin{macro}{\ps@plain} +%\begin{macro}{\ps@jacs} +% The header styles are done the hard way, to keep down the number of +% packages loaded. +% \begin{macrocode} +\def\ps@plain{% + \let\@mkboth\@gobbletwo + \let\@oddhead\@empty + \def\@oddfoot{% + \reset@font + \sffamily + \textbf{\thepage}% + \hfil + }% + \let\@evenhead\@empty + \let\@evenfoot\@oddfoot +} +\def\ps@acs{% + \def\@oddfoot{% + \reset@font + \sffamily + \textbf{\thepage}% + \hfil + }% + \def\@evenfoot{% + \reset@font + \hfil + \sffamily + \textbf{\thepage}% + }% + \def\@oddhead{}% + \let\@evenhead\@oddhead +} +\pagestyle{acs} +% \end{macrocode} +%\end{macro} +%\end{macro} +%\begin{macro}{\acs@space@pre@title} +%\begin{macro}{\acs@space@post@title} +%\begin{macro}{\acs@space@post@author} +%\begin{macro}{\acs@space@post@address} +%\begin{macro}{\acs@space@post@email} +% Length adjustments for the title. +% \begin{macrocode} +\setlength\acs@space@pre@title{16mm} +\setlength\acs@space@post@title{0mm} +\setlength\acs@space@post@author{0mm} +\setlength\acs@space@post@address{0mm} +\setlength\acs@space@post@email{-1mm} +\setlength\acs@maketitle@width{152.4mm} +% \end{macrocode} +%\end{macro} +%\end{macro} +%\end{macro} +%\end{macro} +%\end{macro} +%\begin{macro}{\acs@contact@details} +% Contact details are different here. +% \begin{macrocode} +\def\acs@contact@details{% + Received \today; E-mail: \acs@email@list +} +% \end{macrocode} +%\end{macro} +%\begin{macro}{\acs@maketitle@extras} +% No keywords or abbreviations for \emph{J.~Am.\ Chem.\ Soc.}. +% \begin{macrocode} +\let\acs@maketitle@extras\relax +% \end{macrocode} +%\end{macro} +% Getting the floats correct is a difficult task ``by hand''; using +% the \pkg{caption} package makes this a lot easier. +% \begin{macrocode} +\floatstyle{plaintop} +\restylefloat{scheme} +\floatstyle{plain} +\DeclareCaptionLabelSeparator{perquad}{.\quad} +\captionsetup{ + singlelinecheck = off, + labelfont = {bf,it,sf}, + textfont = sf, + labelsep = perquad +} +\captionsetup[figure]{textfont=rm} +% \end{macrocode} +%\begin{macro}{\acs@table} +%\begin{macro}{\table} +% A patch or \cs{table}. +% \begin{macrocode} +\newcommand*\acs@table{} +\let\acs@table\table +\def\table{% + \capsize + \acs@table +} +% \end{macrocode} +%\end{macro} +%\end{macro} +% The bibliography has to be adjusted. +% \begin{macrocode} +\AtBeginDocument{% + \def\bibsection{% + \@startsection + {section} + {1} + {\z@}{\z@}{2.5mm}% + {\normalfont\acksize\bfseries} + {\hrule\nobreak\vspace{1.2mm}\noindent\refname}% + }% + \let\bibfont\refsize + \setlength{\bibhang}{0.61cm}% + \setlength{\bibsep}{0mm}% +} +% +%<*langd5> +\ProvidesFile{achemso-langd5.cfg} + [2024-01-30 v3.13g achemso configuration: Langmuir] +\def\acs@type@list{article,letter,suppinfo} +\SectionNumbersOff +% +%<*mamobx> +\ProvidesFile{achemso-mamobx.cfg} + [2024-01-30 v3.13g achemso configuration: Macromolecules] +\SectionNumbersOff +\setkeys{acs}{doi = true} +% +%<*mpohbp> +\ProvidesFile{achemso-mpohbp.cfg} + [2024-01-30 v3.13g achemso configuration: Mol. Pharm.] +\setkeys{acs}{keywords = true} +\def\acs@type@list{article,suppinfo} +\SectionNumbersOff +% +%<*nalefd> +\ProvidesFile{achemso-nalefd.cfg} + [2024-01-30 v3.13g achemso configuration: Nano Lett.] +\setkeys{acs}{keywords = true} +\def\acs@type@default{letter} +\def\acs@type@list{letter} +\SectionNumbersOff +% +%<*orlef7> +\ProvidesFile{achemso-orlef7.cfg} + [2024-01-30 v3.13g achemso configuration: Org. Lett.] +\def\acs@type@default{communication} +\def\acs@type@list{communication} +\SectionNumbersOff +\setkeys{acs}{layout = twocolumn} +\RequirePackage{xcolor} +\definecolor{orglett}{RGB}{128,0,0} +% +%<*oprdfk> +\ProvidesFile{achemso-oprdfk.cfg} + [2024-01-30 v3.13g achemso configuration: Org. Proc. Res. Dev.] +\def\acs@type@list{article,highlight,review,suppinfo} +\SectionNumbersOff +% +%<*orgnd7> +\ProvidesFile{achemso-orgnd7.cfg} + [2024-01-30 v3.13g achemso configuration: Organometallics] +\SectionNumbersOff +% +% \end{macrocode} +% +%\Finale +% +%\iffalse +%<*bst> +% Database entries + +ENTRY + { + address + author + booktitle + chapter + ctrl-article-title + ctrl-chapter-title + ctrl-doi + ctrl-etal-firstonly + ctrl-etal-number + ctrl-use-title + doi + edition + editor + howpublished + institution + journal + key + maintitle + note + number + organization + pages + publisher + school + series + title + type + url + version + volume + year + } + { } + { + label + short.names + } + +% Generic logic functions, from the core BibTeX styles + +FUNCTION { and } { + { } + { + pop$ + #0 + } + if$ +} + +FUNCTION { not } { + { #0 } + { #1 } + if$ +} + +FUNCTION { or } { + { + pop$ + #1 + } + { } + if$ +} + +FUNCTION { xor } { + { not } + { } + if$ +} + +% Generic functions for basic manipulations: many of these +% come from the core BibTeX styles or 'Tame the BeaST' + +FUNCTION { chr.to.value.error } { + #48 + + int.to.chr$ + "'" swap$ * + "'" * + " is not a number: treated as zero." * + warning$ + #0 +} + +FUNCTION { chr.to.value } { + chr.to.int$ #48 - + duplicate$ + #0 < + { chr.to.value.error } + { + duplicate$ + #9 > + { chr.to.value.error } + { } + if$ + } + if$ +} + +STRINGS { + extract.input.str + extract.output.str +} + +FUNCTION { is.a.digit } { + duplicate$ + "" = + { + pop$ + #0 + } + { + chr.to.int$ + #48 - + duplicate$ + #0 < swap$ #9 > or not + } + if$ +} + +FUNCTION{ is.a.number } { + { + duplicate$ + #1 #1 substring$ + is.a.digit + } + { #2 global.max$ substring$ } + while$ + "" = +} + +FUNCTION { extract.number } { + duplicate$ + 'extract.input.str := + "" 'extract.output.str := + { extract.input.str empty$ not } + { + extract.input.str #1 #1 substring$ + extract.input.str #2 global.max$ substring$ 'extract.input.str := + duplicate$ + is.a.number + { extract.output.str swap$ * 'extract.output.str := } + { + pop$ + "" 'extract.input.str := + } + if$ + } + while$ + extract.output.str empty$ + { } + { + pop$ + extract.output.str + } + if$ +} + +FUNCTION { field.or.null } { + duplicate$ + empty$ + { + pop$ + "" + } + { } + if$ +} + +INTEGERS { + multiply.a.int + multiply.b.int +} + +FUNCTION { multiply } { + 'multiply.a.int := + 'multiply.b.int := + multiply.b.int #0 < + { + #-1 + #0 multiply.b.int - 'multiply.b.int := + } + { #1 } + if$ + #0 + { multiply.b.int #0 > } + { + multiply.a.int + + multiply.b.int #1 - 'multiply.b.int := + } + while$ + swap$ + { } + { #0 swap$ - } + if$ +} + +INTEGERS { str.conversion.int } + +FUNCTION { str.to.int.aux.ii } { + { + duplicate$ + empty$ not + } + { + swap$ + #10 multiply 'str.conversion.int := + duplicate$ + #1 #1 substring$ + chr.to.value + str.conversion.int + + swap$ + #2 global.max$ substring$ + } + while$ + pop$ +} + +FUNCTION { str.to.int.aux.i } { + duplicate$ + #1 #1 substring$ + "-" = + { + #1 swap$ + #2 global.max$ substring$ + } + { + #0 swap$ + } + if$ + #0 + swap$ + str.to.int.aux.ii + swap$ + { #0 swap$ - } + { } + if$ +} + +FUNCTION { str.to.int } { + duplicate$ + empty$ + { + pop$ + #0 + } + { str.to.int.aux.i } + if$ +} + +FUNCTION { tie.or.space.connect } { + duplicate$ + text.length$ #3 < + { "~" } + { " " } + if$ + swap$ * * +} + +FUNCTION { yes.no.to.bool } { + duplicate$ + empty$ + { + pop$ + #0 + } + { + "l" change.case$ + "yes" = + { #1 } + { #0 } + if$ + } + if$ +} + +% Functions of formatting + +FUNCTION { bold } { + duplicate$ + empty$ + { + pop$ + "" + } + { "\textbf{" swap$ * "}" * } + if$ +} + +FUNCTION { emph } { + duplicate$ + empty$ + { + pop$ + "" + } + { "\emph{" swap$ * "}" * } + if$ +} + + +FUNCTION { paren } { + duplicate$ + empty$ + { + pop$ + "" + } + { "(" swap$ * ")" * } + if$ +} + +% Functions for punctuation + +FUNCTION { add.comma } { ", " * } + +FUNCTION { add.colon } { ": " * } + +FUNCTION { add.period } { add.period$ " " * } + +FUNCTION { add.semicolon } { "; " * } + +FUNCTION { add.space } { " " * } + +% Bibliography strings: fixed values collected into functions + +FUNCTION { bbl.and } { "and" } + +FUNCTION { bbl.chapter } { "Chapter" } + +FUNCTION { bbl.doi } { "DOI:" } + +FUNCTION { bbl.editor } { "Ed." } + +FUNCTION { bbl.editors } { "Eds." } + +FUNCTION { bbl.edition } { "ed." } + +FUNCTION { bbl.etal } { "\latin{et~al.}" } + +FUNCTION { bbl.in } { "In" } + +FUNCTION { bbl.inpress } { "in press" } + +FUNCTION { bbl.msc } { "M.Sc.\ thesis" } + +FUNCTION { bbl.page } { "p" } + +FUNCTION { bbl.pages } { "pp" } + +FUNCTION { bbl.phd } { "Ph.D.\ thesis" } + +FUNCTION { bbl.version } { "version" } + +FUNCTION { bbl.volume } { "Vol." } + +% Functions for number formatting + +STRINGS { pages.str } + +FUNCTION { hyphen.to.dash } { + 'pages.str := + "" + { pages.str empty$ not } + { + pages.str #1 #1 substring$ + "-" = + { + "--" * + { + pages.str #1 #1 substring$ + "-" = + } + { pages.str #2 global.max$ substring$ 'pages.str := } + while$ + } + { + pages.str #1 #1 substring$ + * + pages.str #2 global.max$ substring$ 'pages.str := + } + if$ + } + while$ +} + +INTEGERS { multiresult.bool } + +FUNCTION { multi.page.check } { + 'pages.str := + #0 'multiresult.bool := + { + multiresult.bool not + pages.str empty$ not + and + } + { + pages.str #1 #1 substring$ + duplicate$ + "-" = swap$ duplicate$ + "," = swap$ + "+" = + or or + { #1 'multiresult.bool := } + { pages.str #2 global.max$ substring$ 'pages.str := } + if$ + } + while$ + multiresult.bool +} + +% Functions for calculating the label data needed by natbib + + +INTEGERS { + current.name.int + names.separate.comma + names.separate.semicolon + names.separate.comma.bool + remaining.names.int + total.names.int +} + +STRINGS { + current.name.str + names.str +} + +FUNCTION { full.format.names } { + 'names.str := + #1 'current.name.int := + names.str num.names$ 'remaining.names.int := + { remaining.names.int #0 > } + { + names.str current.name.int "{vv~}{ll}" format.name$ + current.name.int #1 > + { + swap$ add.comma swap$ + remaining.names.int #1 > + { } + { + duplicate$ + "others" = + { bbl.etal } + { bbl.and } + if$ + add.space swap$ * + } + if$ + * + } + { } + if$ + remaining.names.int #1 - 'remaining.names.int := + current.name.int #1 + 'current.name.int := + } + while$ +} + +FUNCTION { full.author } { + author empty$ + { "" } + { author full.format.names } + if$ +} + +FUNCTION { full.author.editor } { + author empty$ + { + editor empty$ + { "" } + { editor full.format.names } + if$ + } + { author full.format.names } + if$ +} + +FUNCTION { full.editor } { + editor empty$ + { "" } + { editor full.format.names } + if$ +} + +FUNCTION { short.format.names } { + 'names.str := + names.str #1 "{vv~}{ll}" format.name$ + names.str num.names$ + duplicate$ + #2 > + { + pop$ + add.space bbl.etal * + } + { + #2 < + { } + { + names.str #2 "{ff }{vv }{ll}{ jj}" format.name$ + "others" = + { add.space bbl.etal * } + { + add.space + bbl.and add.space + * + names.str #2 "{vv~}{ll}" format.name$ + * + } + if$ + } + if$ + } + if$ +} + +FUNCTION { short.author.key } { + author empty$ + { + key empty$ + { cite$ #1 #3 substring$ } + { key } + if$ + } + { author short.format.names } + if$ +} + +FUNCTION { short.author.editor.key } { + author empty$ + { + editor empty$ + { + key empty$ + { cite$ #1 #3 substring$ } + { key } + if$ + } + { editor short.format.names } + if$ + } + { author short.format.names } + if$ +} + +FUNCTION { short.author.key.organization } { + author empty$ + { + key empty$ + { + organization empty$ + { cite$ #1 #3 substring$ } + { + organization #1 #4 substring$ + "The " = + { organization } + { organization #5 global.max$ substring$ } + if$ + #3 text.prefix$ + } + if$ + } + { key } + if$ + } + { author short.format.names } + if$ +} + +FUNCTION { short.editor.key.organization } { + editor empty$ + { + key empty$ + { + organization empty$ + { cite$ #1 #3 substring$ } + { + organization #1 #4 substring$ + "The " = + { organization } + { organization #5 global.max$ substring$ } + if$ + #3 text.prefix$ + } + if$ + } + { key } + if$ + } + { editor short.format.names } + if$ +} + +FUNCTION { calculate.full.names } { + type$ "book" = + type$ "inbook" = + or + { full.author.editor } + { + type$ "proceedings" = + { full.editor } + { full.author } + if$ + } + if$ +} + +FUNCTION { calculate.short.names } { + type$ "book" = + type$ "inbook" = + or + { short.author.editor.key } + { + type$ "proceedings" = + { short.editor.key.organization } + { + type$ "manual" = + { short.author.key.organization } + { short.author.key } + if$ + } + if$ + } + if$ + 'short.names := +} + +FUNCTION { calculate.names } { + calculate.short.names + short.names + year empty$ + { "()" } + { "(" year * ")" * } + if$ + * + 'label := +} + +% Counting up the number of entries + +INTEGERS { entries.int } + +FUNCTION { initialize.count.entries } { + #0 'entries.int := +} + +FUNCTION { count.entries } { + entries.int #1 + 'entries.int := +} + +% Start and end of bibliography functions + +FUNCTION { begin.bib } { + "achemso 2024-01-30 v3.13g" top$ + preamble$ empty$ + { } + { + preamble$ write$ + newline$ + } + if$ + "\providecommand{\latin}[1]{#1}" write$ + newline$ + "\makeatletter" write$ + newline$ + "\providecommand{\doi}" write$ + newline$ + " {\begingroup\let\do\@makeother\dospecials" write$ + newline$ + " \catcode`\{=1 \catcode`\}=2 \doi@aux}" write$ + newline$ + "\providecommand{\doi@aux}[1]{\endgroup\texttt{#1}}" write$ + newline$ + "\makeatother" write$ + newline$ + "\providecommand*\mcitethebibliography{\thebibliography}" write$ + newline$ + "\csname @ifundefined\endcsname{endmcitethebibliography}" write$ + " {\let\endmcitethebibliography\endthebibliography}{}" write$ + newline$ + "\begin{mcitethebibliography}{" + entries.int int.to.str$ * "}" * write$ + newline$ + "\providecommand*\natexlab[1]{#1}" write$ + newline$ + "\providecommand*\mciteSetBstSublistMode[1]{}" write$ + newline$ + "\providecommand*\mciteSetBstMaxWidthForm[2]{}" write$ + newline$ + "\providecommand*\mciteBstWouldAddEndPuncttrue" write$ + newline$ + " {\def\EndOfBibitem{\unskip.}}" write$ + newline$ + "\providecommand*\mciteBstWouldAddEndPunctfalse" write$ + newline$ + " {\let\EndOfBibitem\relax}" write$ + newline$ + "\providecommand*\mciteSetBstMidEndSepPunct[3]{}" write$ + newline$ + "\providecommand*\mciteSetBstSublistLabelBeginEnd[3]{}" write$ + newline$ + "\providecommand*\EndOfBibitem{}" write$ + newline$ + "\mciteSetBstSublistMode{f}" write$ + newline$ + "\mciteSetBstMaxWidthForm{subitem}{(\alph{mcitesubitemcount})}" write$ + newline$ + "\mciteSetBstSublistLabelBeginEnd" write$ + newline$ + " {\mcitemaxwidthsubitemform\space}" write$ + newline$ + " {\relax}" write$ + newline$ + " {\relax}" write$ + newline$ +} + +FUNCTION { end.bib } { + newline$ + "\end{mcitethebibliography}" write$ + newline$ +} + +% Functions used for the special "control" entry type, to pass data +% from LaTeX to BibTeX + +INTEGERS { + ctrl.article.title.bool + ctrl.chapter.title.bool + ctrl.doi.bool + ctrl.etal.firstonly.bool + ctrl.etal.number.int +} + +FUNCTION { initialize.control.values } { + #1 'ctrl.article.title.bool := + #0 'ctrl.chapter.title.bool := + #0 'ctrl.doi.bool := + #1 'ctrl.etal.firstonly.bool := + #15 'ctrl.etal.number.int := +} + +FUNCTION { control } { + ctrl-article-title yes.no.to.bool 'ctrl.article.title.bool := + ctrl-chapter-title yes.no.to.bool 'ctrl.chapter.title.bool := + ctrl-doi yes.no.to.bool 'ctrl.doi.bool := + ctrl-etal-firstonly yes.no.to.bool 'ctrl.etal.firstonly.bool := + ctrl-etal-number str.to.int 'ctrl.etal.number.int := + ctrl-use-title empty$ + 'skip$ + { ctrl-use-title yes.no.to.bool 'ctrl.article.title.bool := } + if$ +} + +% Functions of each bibitem: tracking punctuation and transferring +% items to the .bbl file + +INTEGERS { + next.punct.comma + next.punct.period + next.punct.semicolon + next.punct.space +} + +FUNCTION { initialize.tracker } { + #0 'next.punct.comma := + #1 'next.punct.period := + #2 'next.punct.semicolon := + #3 'next.punct.space := +} + +INTEGERS { next.punct.int } + +FUNCTION { output } { + swap$ + duplicate$ empty$ + { pop$ } + { + next.punct.int next.punct.space = + { add.space } + { + next.punct.int next.punct.comma = + { add.comma } + { + next.punct.int next.punct.semicolon = + { add.semicolon } + { add.period } + if$ + } + if$ + } + if$ + write$ + } + if$ + next.punct.comma 'next.punct.int := +} + +% Functions for each bibliography entry: start and finish + +FUNCTION { begin.bibitem } { + newline$ + "\bibitem" write$ + label + calculate.full.names + duplicate$ + short.names = + { pop$ } + { * } + if$ + "[" swap$ * "]" * write$ + "{" cite$ * "}" * write$ + newline$ + "" + next.punct.comma 'next.punct.int := +} + +INTEGERS { add.period.length.int } + +FUNCTION { would.add.period } { + duplicate$ + add.period$ + text.length$ 'add.period.length.int := + duplicate$ + text.length$ + add.period.length.int = + { #0 } + { #1 } + if$ +} + +FUNCTION { end.bibitem } { + would.add.period + { + "\relax" * write$ + newline$ + "\mciteBstWouldAddEndPuncttrue" write$ + newline$ + "\mciteSetBstMidEndSepPunct{\mcitedefaultmidpunct}" write$ + newline$ + "{\mcitedefaultendpunct}{\mcitedefaultseppunct}\relax" + } + { + "\relax" * write$ + newline$ + "\mciteBstWouldAddEndPunctfalse" write$ + newline$ + "\mciteSetBstMidEndSepPunct{\mcitedefaultmidpunct}" write$ + newline$ + "{}{\mcitedefaultseppunct}\relax" + } + if$ + write$ + newline$ + "\EndOfBibitem" write$ +} + +% Formatting names: authors and editors are not quite the same, +% and there is the question of how to handle 'et al.' + +FUNCTION { initialize.name.separator } { + #1 'names.separate.comma := + #0 'names.separate.semicolon := +} + +FUNCTION { format.names.loop } { + { remaining.names.int #0 > } + { + names.str current.name.int "{vv~}{ll}{,~f.}{,~jj}" format.name$ + duplicate$ + 'current.name.str := + current.name.int #1 > + { + duplicate$ + "others," = + { + pop$ + * + bbl.etal + add.space + remaining.names.int #1 - 'remaining.names.int := + } + { + swap$ + names.separate.comma.bool + { add.comma } + { add.semicolon } + if$ +%<*bio> + remaining.names.int #1 > + { } + { bbl.and add.space * } + if$ +%s + swap$ + * + } + if$ + } + { } + if$ + remaining.names.int #1 - 'remaining.names.int := + current.name.int #1 + 'current.name.int := + } + while$ +} + +FUNCTION { format.names.all } { + total.names.int 'remaining.names.int := + format.names.loop +} + +FUNCTION { format.names.etal } { + ctrl.etal.firstonly.bool + { #1 'remaining.names.int := } + { ctrl.etal.number.int 'remaining.names.int := } + if$ + format.names.loop + current.name.str "others," = + { } + { + add.space + bbl.etal + add.space + * + } + if$ +} + +FUNCTION { format.names } { + 'names.separate.comma.bool := + 'names.str := + #1 'current.name.int := + names.str num.names$ 'total.names.int := + total.names.int ctrl.etal.number.int > + { + ctrl.etal.number.int #0 = + { format.names.all } + { format.names.etal } + if$ + } + { format.names.all } + if$ +} + +% Converting editions into their fixed representations + +FUNCTION { bbl.first } { "1st" } + +FUNCTION { bbl.second } { "2nd" } + +FUNCTION { bbl.third } { "3rd" } + +FUNCTION { bbl.fourth } { "4th" } + +FUNCTION { bbl.fifth } { "5th" } + +FUNCTION { bbl.st } { "st" } + +FUNCTION { bbl.nd } { "nd" } + +FUNCTION { bbl.rd } { "rd" } + +FUNCTION { bbl.th } { "th" } + +STRINGS { + ord.input.str + ord.output.str +} + +FUNCTION { make.ordinal } { + duplicate$ + "1" swap$ + * + #-2 #1 substring$ + "1" = + { + bbl.th * + } + { + duplicate$ + #-1 #1 substring$ + duplicate$ + "1" = + { + pop$ + bbl.st * + } + { + duplicate$ + "2" = + { + pop$ + bbl.nd * + } + { + "3" = + { bbl.rd * } + { bbl.th * } + if$ + } + if$ + } + if$ + } + if$ +} + +FUNCTION { convert.to.ordinal } { + extract.number + "l" change.case$ 'ord.input.str := + ord.input.str "first" = ord.input.str "1" = or + { bbl.first 'ord.output.str := } + { + ord.input.str "second" = ord.input.str "2" = or + { bbl.second 'ord.output.str := } + { + ord.input.str "third" = ord.input.str "3" = or + { bbl.third 'ord.output.str := } + { + ord.input.str "fourth" = ord.input.str "4" = or + { bbl.fourth 'ord.output.str := } + { + ord.input.str "fifth" = ord.input.str "5" = or + { bbl.fifth 'ord.output.str := } + { + ord.input.str #1 #1 substring$ + is.a.number + { ord.input.str make.ordinal } + { ord.input.str } + if$ + 'ord.output.str := + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + ord.output.str +} + +% Functions for each type of entry + +FUNCTION { format.address } { + address empty$ + { } + { + address + output + } + if$ +} + +FUNCTION { format.authors } { + author empty$ + { } + { +%<*bio> + author names.separate.comma format.names +% +%<*!bio> + author names.separate.semicolon format.names +% + output + next.punct.space 'next.punct.int := + } + if$ +} + +FUNCTION { format.editors } { + editor empty$ + { } + { + editor names.separate.comma format.names + add.comma + editor num.names$ #1 > + { bbl.editors } + { bbl.editor } + if$ + * + output + next.punct.semicolon 'next.punct.int := + } + if$ +} + +FUNCTION { format.authors.or.editors } { + author empty$ + { format.editors } + { format.authors } + if$ + next.punct.space 'next.punct.int := +} + +FUNCTION { format.chapter } { + chapter empty$ + { } + { + bbl.chapter add.space + chapter + * + output + } + if$ +} + +FUNCTION { format.doi } { + doi empty$ + 'skip$ + { + bbl.doi add.space + "\doi{" * doi * "}" * + output + } + if$ +} + +FUNCTION { format.edition } { + edition empty$ + { } + { + edition convert.to.ordinal + add.space bbl.edition * + output + } + if$ + next.punct.semicolon 'next.punct.int := +} + +FUNCTION { format.group.address } { + duplicate$ + empty$ + { pop$ } + { + address empty$ + { } + { + add.colon + address + * + } + if$ + output + } + if$ +} + +FUNCTION { format.howpublished } { + howpublished empty$ + { } + { + howpublished + output + } + if$ +} + +FUNCTION { format.journal } { + journal emph + output + next.punct.space 'next.punct.int := +} + +FUNCTION { format.journal.unpub } { + journal emph + output +} + +FUNCTION { format.note } { + note empty$ + { } + { + note + output + } + if$ +} + +FUNCTION { format.number.series } { + series empty$ + { } + { + series + number empty$ + { } + { + add.space + number * + } + if$ + output + next.punct.semicolon 'next.punct.int := + } + if$ +} + + +FUNCTION { format.organization } { + organization empty$ + { } + { + organization paren + output + next.punct.period 'next.punct.int := + } + if$ +} + +FUNCTION { format.organization.address } { + organization format.group.address +} + +FUNCTION { format.pages } { + pages empty$ + { } + { + pages multi.page.check + { + bbl.pages + pages hyphen.to.dash + } + { bbl.page pages } + if$ + tie.or.space.connect + output + } + if$ + ctrl.doi.bool + { format.doi } + 'skip$ + if$ +} + +FUNCTION { format.pages.article } { + pages empty$ + { } + { + pages hyphen.to.dash + output + } + if$ + ctrl.doi.bool + { format.doi } + 'skip$ + if$ +} + +FUNCTION { format.publisher.address } { + publisher format.group.address +} + +FUNCTION { format.school.address } { + school + duplicate$ + empty$ + { pop$ } + { + address empty$ + { } + { + add.comma + address + * + } + if$ + output + } + if$ +} + +FUNCTION { format.title } { + title empty$ + { } + { + title + output + next.punct.period 'next.punct.int := + } + if$ +} + +FUNCTION { format.title.article } { + ctrl.article.title.bool + { + title empty$ + { } + { + title + output + next.punct.period 'next.punct.int := + } + if$ + } + { } + if$ +} + +FUNCTION { format.title.techreport } { + title empty$ + { } + { + title emph + output + next.punct.semicolon 'next.punct.int := + } + if$ +} + +FUNCTION { format.title.booktitle } { + title empty$ + { } + { + title + output + next.punct.period 'next.punct.int := + } + if$ + booktitle empty$ + { } + { + booktitle + output + next.punct.period 'next.punct.int := + } + if$ +} + +STRINGS { + book.title + chapter.title +} + +FUNCTION { format.title.booktitle.book } { + "" 'chapter.title := + booktitle empty$ + { + "" 'chapter.title := + title 'book.title := + } + { + ctrl.chapter.title.bool + { + title empty$ + 'skip$ + { title 'chapter.title := } + if$ + } + 'skip$ + if$ + maintitle empty$ + { booktitle 'book.title := } + { maintitle add.period booktitle * 'book.title := } + if$ + } + if$ + chapter.title empty$ + { } + { + chapter.title + output + next.punct.period 'next.punct.int := + } + if$ + book.title emph + chapter.title empty$ + { + author empty$ + { } + { + editor empty$ + { } + { bbl.in add.space swap$ * } + if$ + } + if$ + } + { bbl.in add.space swap$ * } + if$ + output +} + +FUNCTION { format.type } { + type empty$ + { } + { + pop$ + type + } + if$ + output +} + +FUNCTION { format.type.number } { + type empty$ + { } + { + type + number empty$ + { } + { number tie.or.space.connect } + if$ + output + } + if$ +} + +FUNCTION { format.url } { + url empty$ + { } + { + "\url{" url * "}" * + output + } + if$ +} + +FUNCTION { format.year } { + year empty$ + { } + { + year + output + next.punct.semicolon 'next.punct.int := + } + if$ +} + +FUNCTION { format.year.article } { + year empty$ + { } + { +%<*bio> + year paren + output + next.punct.space 'next.punct.int := +% +%<*!bio> + year bold + output +% + } + if$ +} + +FUNCTION { format.version } { + version empty$ + { } + { + bbl.version add.space + version + * + output + } + if$ +} + +FUNCTION { format.volume.article } { + volume emph + output +} + +FUNCTION { format.volume } { + volume empty$ + { } + { + bbl.volume + volume + tie.or.space.connect + output + next.punct.semicolon 'next.punct.int := + } + if$ +} + +% The functions to deal with each entry type + +FUNCTION { article } { + begin.bibitem + format.authors +%<*bio> + format.year.article +% + format.title.article + format.journal +%<*!bio> + format.year.article +% + format.volume.article + format.pages.article + format.note + end.bibitem +} + +FUNCTION { book } { + begin.bibitem + format.authors.or.editors + format.title.booktitle.book + format.edition + author empty$ + { } + { format.editors } + if$ + format.number.series + format.publisher.address + format.year + format.volume + format.chapter + format.pages + format.note + end.bibitem +} + +FUNCTION { inbook } { book } + +FUNCTION { booklet } { + begin.bibitem + format.authors + format.title + format.howpublished + format.address + format.year + format.note + end.bibitem +} + +FUNCTION { collection } { book } + +FUNCTION { incollection } { book } + +FUNCTION { inpress } { + begin.bibitem + format.authors +%<*bio> + format.year.article +% + format.journal.unpub + doi empty$ + { + bbl.inpress + output + } + { +%<*!bio> + format.year.article +% + next.punct.comma 'next.punct.int := + format.doi + } + if$ + format.note + end.bibitem +} + +FUNCTION { inproceedings } { + begin.bibitem + format.authors + format.title.booktitle + format.address + format.year + format.pages + format.note + end.bibitem +} + +FUNCTION { manual } { + begin.bibitem + format.authors + format.title + format.version + format.organization.address + format.year + format.note + end.bibitem +} + +FUNCTION { mastersthesis } { + begin.bibitem + format.authors + format.title + bbl.msc format.type + format.school.address + format.year + format.note + end.bibitem +} + +FUNCTION { misc } { + begin.bibitem + format.authors + format.title + format.howpublished + format.year + format.url + format.note + end.bibitem +} + +FUNCTION { patent } { + begin.bibitem + format.authors + format.organization + format.title + format.type.number + format.year + format.note + end.bibitem +} + +FUNCTION { phdthesis } { + begin.bibitem + format.authors + format.title + bbl.phd format.type + format.school.address + format.year + format.note + end.bibitem +} + +FUNCTION { proceeding } { + begin.bibitem + format.title + format.address + format.year + format.pages + format.note + end.bibitem +} + +FUNCTION { techreport } { + begin.bibitem + format.authors.or.editors + format.title.techreport + format.type.number + format.organization.address + format.year + format.volume + format.pages + format.note + end.bibitem +} + +FUNCTION { unpublished } { + begin.bibitem + format.authors + format.journal.unpub + doi empty$ + { format.howpublished } + { + format.year + next.punct.comma 'next.punct.int := + format.doi + } + if$ + format.note + end.bibitem +} + +FUNCTION { default.type } { misc } + +% Macros containing pre-defined short cuts + +MACRO { jan } { "Jan." } +MACRO { feb } { "Feb." } +MACRO { mar } { "Mar." } +MACRO { apr } { "Apr." } +MACRO { may } { "May" } +MACRO { jun } { "June" } +MACRO { jul } { "July" } +MACRO { aug } { "Aug." } +MACRO { sep } { "Sept." } +MACRO { oct } { "Oct." } +MACRO { nov } { "Nov." } +MACRO { dec } { "Dec." } + +MACRO { acbcct } { "ACS Chem.\ Biol." } +MACRO { achre4 } { "Acc.\ Chem.\ Res." } +MACRO { acncdm } { "ACS Chem.\ Neurosci." } +MACRO { ancac3 } { "ACS Nano" } +MACRO { ancham } { "Anal.\ Chem." } +MACRO { bichaw } { "Biochemistry" } +MACRO { bcches } { "Bioconjugate Chem." } +MACRO { bomaf6 } { "Biomacromolecules" } +MACRO { bipret } { "Biotechnol.\ Prog." } +MACRO { crtoec } { "Chem.\ Res.\ Toxicol." } +MACRO { chreay } { "Chem.\ Rev." } +MACRO { cmatex } { "Chem.\ Mater." } +MACRO { cgdefu } { "Cryst.\ Growth Des." } +MACRO { enfuem } { "Energy Fuels" } +MACRO { esthag } { "Environ.\ Sci.\ Technol." } +MACRO { iechad } { "Ind.\ Eng.\ Chem.\ Res." } +MACRO { inoraj } { "Inorg.\ Chem." } +MACRO { jafcau } { "J.~Agric.\ Food Chem." } +MACRO { jceaax } { "J.~Chem.\ Eng.\ Data" } +MACRO { jceda8 } { "J.~Chem.\ Ed." } +MACRO { jcisd8 } { "J.~Chem.\ Inf.\ Model." } +MACRO { jctcce } { "J.~Chem.\ Theory Comput." } +MACRO { jcchff } { "J. Comb. Chem." } +MACRO { jmcmar } { "J. Med. Chem." } +MACRO { jnprdf } { "J. Nat. Prod." } +MACRO { joceah } { "J.~Org.\ Chem." } +MACRO { jpcafh } { "J.~Phys.\ Chem.~A" } +MACRO { jpcbfk } { "J.~Phys.\ Chem.~B" } +MACRO { jpccck } { "J.~Phys.\ Chem.~C" } +MACRO { jpclcd } { "J.~Phys.\ Chem.\ Lett." } +MACRO { jprobs } { "J.~Proteome Res." } +MACRO { jacsat } { "J.~Am.\ Chem.\ Soc." } +MACRO { langd5 } { "Langmuir" } +MACRO { mamobx } { "Macromolecules" } +MACRO { mpohbp } { "Mol.\ Pharm." } +MACRO { nalefd } { "Nano Lett." } +MACRO { orlef7 } { "Org.\ Lett." } +MACRO { oprdfk } { "Org.\ Proc.\ Res.\ Dev." } +MACRO { orgnd7 } { "Organometallics" } + +% Construction of bibliography: reading of data, construction of +% labels, output of formatted bibliography + +READ + +EXECUTE { initialize.control.values } + +EXECUTE { initialize.count.entries } + +EXECUTE { initialize.name.separator } + +EXECUTE { initialize.tracker } + +ITERATE { calculate.names } + +ITERATE { count.entries } + +EXECUTE { begin.bib } + +ITERATE { call.type$ } + +EXECUTE { end.bib } +% +%\fi diff --git a/latex/JCTC_template/achemso.ins b/latex/JCTC_template/achemso.ins new file mode 100644 index 0000000..16dca55 --- /dev/null +++ b/latex/JCTC_template/achemso.ins @@ -0,0 +1,167 @@ +\iffalse meta-comment + +File: achemso.ins Copyright (C) 2020,2021 Joseph Wright + +It may be distributed and/or modified under the conditions of the +LaTeX Project Public License (LPPL), either version 1.3c of this +license or (at your option) any later version. The latest version +of this license is in the file + + https://www.latex-project.org/lppl.txt + +This file is part of the "achemso bundle" (The Work in LPPL) +and all files in that bundle must be distributed together. + +The released version of this bundle is available from CTAN. + +----------------------------------------------------------------------- + +The development version of the bundle can be found at + + https://github.com/josephwright/achemso + +for those people who are interested. + +----------------------------------------------------------------------- + +\fi + +\input docstrip.tex +\askforoverwritefalse + +\postamble + +Originally developed by Mats Dahlgren +Copyright (C) 1996-1998 by Mats Dahlgren +Copyright (C) 2008-2022 by + Joseph Wright + +Part of this bundle is derived from cite.sty, to which the +following license applies: + Copyright (C) 1989-2009 by Donald Arseneau + These macros may be freely transmitted, reproduced, or + modified provided that this notice is left intact. + +It may be distributed and/or modified under the conditions of +the LaTeX Project Public License (LPPL), either version 1.3c of +this license or (at your option) any later version. The latest +version of this license is in the file: + + http://www.latex-project.org/lppl.txt + +This work is "maintained" (as per LPPL maintenance status) by + Joseph Wright. + +This work consists of the files achemso.dtx, + achemso-demo.bib and + achemso-demo.tex, + and the derived files achemso.cls, + achemso.ins, + achemso.pdf, + achemso.sty, + natmove.sty and + a number of configuration files. + +\endpostamble + +\keepsilent + +\generate{ + \file{achemso.cls}{\from{achemso.dtx}{class}} + \file{achemso.sty}{\from{achemso.dtx}{package}} + \file{natmove.sty}{\from{achemso.dtx}{natmove}} +} + +\generate{\file{achemso-aaembp.cfg}{\from{achemso.dtx}{aaembp}} + \file{achemso-aaemcq.cfg}{\from{achemso.dtx}{aaemcq}} + \file{achemso-aamick.cfg}{\from{achemso.dtx}{aamick}} + \file{achemso-aanmf6.cfg}{\from{achemso.dtx}{aanmf6}} + \file{achemso-aapmcd.cfg}{\from{achemso.dtx}{aapmcd}} + \file{achemso-aastgj.cfg}{\from{achemso.dtx}{aastgj}} + \file{achemso-abseba.cfg}{\from{achemso.dtx}{abseba}} + \file{achemso-accacs.cfg}{\from{achemso.dtx}{accacs}} +} +\generate{\file{achemso-achre4.cfg}{\from{achemso.dtx}{achre4}} + \file{achemso-acscii.cfg}{\from{achemso.dtx}{acscii}} + \file{achemso-acbcct.cfg}{\from{achemso.dtx}{acbcct}} + \file{achemso-acncdm.cfg}{\from{achemso.dtx}{acncdm}} + \file{achemso-acsccc.cfg}{\from{achemso.dtx}{acsccc}} + \file{achemso-aeecco.cfg}{\from{achemso.dtx}{aeecco}} + \file{achemso-aesccq.cfg}{\from{achemso.dtx}{aesccq}} + \file{achemso-aelccp.cfg}{\from{achemso.dtx}{aelccp}} +} +\generate{\file{achemso-aewcaa.cfg}{\from{achemso.dtx}{aewcaa}} + \file{achemso-afsthl.cfg}{\from{achemso.dtx}{afsthl}} + \file{achemso-ascefj.cfg}{\from{achemso.dtx}{ascefj}} + \file{achemso-amlccd.cfg}{\from{achemso.dtx}{amlccd}} + \file{achemso-amlcef.cfg}{\from{achemso.dtx}{amlcef}} + \file{achemso-amclct.cfg}{\from{achemso.dtx}{amclct}} + \file{achemso-amrcda.cfg}{\from{achemso.dtx}{amrcda}} + \file{achemso-ancac3.cfg}{\from{achemso.dtx}{ancac3}} +} +\generate{\file{achemso-acsodf.cfg}{\from{achemso.dtx}{acsodf}} + \file{achemso-apchd5.cfg}{\from{achemso.dtx}{apchd5}} + \file{achemso-aidcbc.cfg}{\from{achemso.dtx}{aidcbc}} + \file{achemso-ascecg.cfg}{\from{achemso.dtx}{ascecg}} + \file{achemso-asbcd6.cfg}{\from{achemso.dtx}{asbcd6}} + \file{achemso-ancham.cfg}{\from{achemso.dtx}{ancham}} + \file{achemso-bichaw.cfg}{\from{achemso.dtx}{bichaw}} + \file{achemso-bcches.cfg}{\from{achemso.dtx}{bcches}} +} +\generate{\file{achemso-bomaf6.cfg}{\from{achemso.dtx}{bomaf6}} + \file{achemso-crtoec.cfg}{\from{achemso.dtx}{crtoec}} + \file{achemso-chreay.cfg}{\from{achemso.dtx}{chreay}} + \file{achemso-cmatex.cfg}{\from{achemso.dtx}{cmatex}} + \file{achemso-cgdefu.cfg}{\from{achemso.dtx}{cgdefu}} + \file{achemso-enfuem.cfg}{\from{achemso.dtx}{enfuem}} + \file{achemso-esthag.cfg}{\from{achemso.dtx}{esthag}} + \file{achemso-estlcu.cfg}{\from{achemso.dtx}{estlcu}} +} +\generate{\file{achemso-iecred.cfg}{\from{achemso.dtx}{iecred}} + \file{achemso-inoraj.cfg}{\from{achemso.dtx}{inoraj}} + \file{achemso-jaaucr.cfg}{\from{achemso.dtx}{jaaucr}} + \file{achemso-jafcau.cfg}{\from{achemso.dtx}{jafcau}} + \file{achemso-jceda8.cfg}{\from{achemso.dtx}{jceda8}} + \file{achemso-jceaax.cfg}{\from{achemso.dtx}{jceaax}} + \file{achemso-jcisd8.cfg}{\from{achemso.dtx}{jcisd8}} + \file{achemso-jctcce.cfg}{\from{achemso.dtx}{jctcce}} +} +\generate{\file{achemso-jmcmar.cfg}{\from{achemso.dtx}{jmcmar}} + \file{achemso-jnprdf.cfg}{\from{achemso.dtx}{jnprdf}} + \file{achemso-joceah.cfg}{\from{achemso.dtx}{joceah}} + \file{achemso-jpcafh.cfg}{\from{achemso.dtx}{jpcafh}} + \file{achemso-jpcbfk.cfg}{\from{achemso.dtx}{jpcbfk}} + \file{achemso-jpccck.cfg}{\from{achemso.dtx}{jpccck}} + \file{achemso-jpclcd.cfg}{\from{achemso.dtx}{jpclcd}} + \file{achemso-jprobs.cfg}{\from{achemso.dtx}{jprobs}} +} +\generate{\file{achemso-jacsat.cfg}{\from{achemso.dtx}{jacsat}} + \file{achemso-langd5.cfg}{\from{achemso.dtx}{langd5}} + \file{achemso-mamobx.cfg}{\from{achemso.dtx}{mamobx}} + \file{achemso-mpohbp.cfg}{\from{achemso.dtx}{mpohbp}} + \file{achemso-nalefd.cfg}{\from{achemso.dtx}{nalefd}} + \file{achemso-orlef7.cfg}{\from{achemso.dtx}{orlef7}} + \file{achemso-oprdfk.cfg}{\from{achemso.dtx}{oprdfk}} + \file{achemso-orgnd7.cfg}{\from{achemso.dtx}{orgnd7}} +} + +\generate{\file{achemso-abmcb8.cfg}{\from{achemso.dtx}{abmcb8}} + \file{achemso-aeacb3.cfg}{\from{achemso.dtx}{aeacb3}} + \file{achemso-aeacc4.cfg}{\from{achemso.dtx}{aeacc4}} + \file{achemso-amacgu.cfg}{\from{achemso.dtx}{amacgu}} + \file{achemso-amachv.cfg}{\from{achemso.dtx}{amachv}} + \file{achemso-anaccx.cfg}{\from{achemso.dtx}{anaccx}} + \file{achemso-aoiab5.cfg}{\from{achemso.dtx}{aoiab5}} + \file{achemso-apcach.cfg}{\from{achemso.dtx}{apcach}} +} + +\generate{\file{achemso-appccd.cfg}{\from{achemso.dtx}{appccd}} +} + + +\generate{ + \file{achemso.bst}{\from{achemso.dtx}{bst}} + \file{biochem.bst}{\from{achemso.dtx}{bst,bio}} +} + +\endbatchfile diff --git a/latex/JCTC_template/achemso.pdf b/latex/JCTC_template/achemso.pdf new file mode 100644 index 0000000..cded6d3 Binary files /dev/null and b/latex/JCTC_template/achemso.pdf differ diff --git a/latex/Response_to_referees_Template/main.tex b/latex/Response_to_referees_Template/main.tex new file mode 100644 index 0000000..63c2a76 --- /dev/null +++ b/latex/Response_to_referees_Template/main.tex @@ -0,0 +1,118 @@ +% TeX'ing this file requires that you have AMS-LaTeX 2.0 installed +% as well as the rest of the prerequisites for REVTeX 4.0 +% +% See the REVTeX 4 README file +% It also requires running BibTeX. The commands are as follows: +% +% 1) latex apssamp.tex +% 2) bibtex apssamp +% 3) latex apssamp.tex +% 4) latex apssamp.tex +% +%\documentclass[prb,showkeys,preprintnumbers,amsmath,amssymb, 11pt]{revtex4} +%\documentclass[preprint,showpacs,showkeys,preprintnumbers,amsmath,amssymb]{revtex4} + +% Some other (several out of many) possibilities +%\documentclass[preprint,aps]{revtex4} +%\documentclass[aps, two column, amsmath,amssymb,floatfix]{revtex4} +%\documentclass[showkeys,showpacs,amsmath,amssymb,onecolumn,superscriptaddress,prl]{revtex4-1}% Physical Review B +\documentclass[aps,prl,reprint,showpacs,floatfix,superscriptaddress, onecolumn, 12pt]{revtex4-2} + +\usepackage{amsmath,amsthm,amssymb} +\usepackage{graphicx}% Include figure files +\usepackage{dcolumn}% Align table columns on decimal point +\usepackage{bm}% bold math +\usepackage{color} +\usepackage{epsfig} +\usepackage{multirow} +\usepackage{mathrsfs} +\usepackage{hyperref} +\usepackage{cleveref} +\usepackage{epstopdf} +\usepackage{subfigure} +\usepackage{autobreak} + +%Macros for mathematical notations + +\newcommand{\V}[1]{\boldsymbol{#1}} %# vector +\newcommand{\M}[1]{\boldsymbol{#1}} %# matrix +\newcommand{\Set}[1]{\mathbb{#1}} %# set +\newcommand{\D}[1]{\Delta#1} %# \D{t} for time step size +\renewcommand{\d}[1]{\delta#1} %# \d{t} for small increment +\newcommand{\norm}[1]{\left\Vert #1\right\Vert } % norm +\newcommand{\abs}[1]{\left|#1\right|} %abs + +\newcommand{\grad}{\M{\nabla}} %gradient +\newcommand{\av}[1]{\left\langle #1\right\rangle } %take average + +\newcommand{\sM}[1]{\M{\mathcal{#1}}} %matrix in mathcal font +\newcommand{\dprime}{\prime\prime} % double prime +%\global\long\def\i{\iota} +%\renewcommand{\i}{\iota} %i for imaginary unit +%\renewcommand{\i}{\mathsf i} %i for imaginary unit +\newcommand{\follows}{\quad\Rightarrow\quad} %=> +\newcommand{\eqd}{\overset{d}{=}} %=^d +\newcommand{\spe}[1]{\mathscr{#1}} %important quantities in mathscr font +\newcommand{\eps}{\epsilon} + +\newcommand{\ar}[1]{{\color{blue}#1}} % for authors' response + + +\begin{document} +\preprint{Preprint} + +\title{Response to refereesā€™ comments for manuscript} +\author{} +% \date{} + +\maketitle + +\noindent Dear Editor, + +Please find enclosed a revised version of our manuscript with revised title ``Title". +The authors would like to thank the substantial comments and suggestions from the referees, which significantly helps improve the quality of this manuscript. +We have revised the manuscript carefully and thoroughly, the major changes in the manuscript are labeled in blue. +In the following, we first summarize the main changes in the revised manuscript, and then present itemized detailed responses/corrections to all the refereesā€™ comments (all authorsā€™ responses here are in blue). + +\vspace{1em} + +\noindent \textbf{Major Changes} + +\ar{ +\begin{enumerate} + \item + \item +\end{enumerate} +} + +\vspace{1em} + +\noindent \textbf{Response to Referee A} + +\begin{enumerate} + \item + \item +\end{enumerate} + +\vspace{1em} + +\noindent \textbf{Response to Referee B} + +\begin{enumerate} + \item + \item +\end{enumerate} + +\vspace{1em} + +\noindent \textbf{Response to Referee C} + +\begin{enumerate} + \item + \item +\end{enumerate} + +\bibliography{groupbib} + + +\end{document} \ No newline at end of file diff --git a/latex/SIAM_template/ex_shared.tex b/latex/SIAM_template/ex_shared.tex new file mode 100644 index 0000000..a4c6124 --- /dev/null +++ b/latex/SIAM_template/ex_shared.tex @@ -0,0 +1,50 @@ +% SIAM Shared Information Template +% This is information that is shared between the main document and any +% supplement. If no supplement is required, then this information can +% be included directly in the main document. + + +% Packages and macros go here +\usepackage{lipsum} +\usepackage{amsfonts} +\usepackage{graphicx} +\usepackage{epstopdf} +\usepackage{algorithmic} +\ifpdf + \DeclareGraphicsExtensions{.eps,.pdf,.png,.jpg} +\else + \DeclareGraphicsExtensions{.eps} +\fi + +% Add a serial/Oxford comma by default. +\newcommand{\creflastconjunction}{, and~} + +% Used for creating new theorem and remark environments +\newsiamremark{remark}{Remark} +\newsiamremark{hypothesis}{Hypothesis} +\crefname{hypothesis}{Hypothesis}{Hypotheses} +\newsiamthm{claim}{Claim} + +% Sets running headers as well as PDF title and authors +\headers{}{} + +% Title. If the supplement option is on, then "Supplementary Material" +% is automatically inserted before the title. +\title{\thanks{Submitted to the editors DATE. +\funding{}}} + +% Authors: full names plus addresses. +\author{ \thanks{ + (\email{}, \url{ }).} +\and \thanks{ + (\email{ }, \email{ }).} +} + +\usepackage{amsopn} +\DeclareMathOperator{\diag}{diag} + + +%%% Local Variables: +%%% mode:latex +%%% TeX-master: "ex_article" +%%% End: diff --git a/latex/SIAM_template/ex_supplement.tex b/latex/SIAM_template/ex_supplement.tex new file mode 100644 index 0000000..d1e0145 --- /dev/null +++ b/latex/SIAM_template/ex_supplement.tex @@ -0,0 +1,27 @@ +% SIAM Supplemental File Template +\documentclass[review,supplement,onefignum,onetabnum]{siamart190516} + +\input{ex_shared} + +\externaldocument{ex_article} + +% Optional PDF information +\ifpdf +\hypersetup{ + pdftitle={Supplementary Materials: An Example Article}, + pdfauthor={D. Doe, P. T. Frank, and J. E. Smith} +} +\fi + +\begin{document} + +\maketitle + + + + +\bibliographystyle{siamplain} +\bibliography{references} + + +\end{document} diff --git a/latex/SIAM_template/main.tex b/latex/SIAM_template/main.tex new file mode 100644 index 0000000..2a62eb1 --- /dev/null +++ b/latex/SIAM_template/main.tex @@ -0,0 +1,83 @@ +% SIAM Article Template +\documentclass[review,onefignum,onetabnum]{siamart190516} + +\newcommand{\V}[1]{\boldsymbol{#1}} %# vector +\newcommand{\M}[1]{\boldsymbol{#1}} %# matrix +\newcommand{\Set}[1]{\mathbb{#1}} %# set +\newcommand{\D}[1]{\Delta#1} %# \D{t} for time step size +\renewcommand{\d}[1]{\delta#1} %# \d{t} for small increment +\newcommand{\norm}[1]{\left\Vert #1\right\Vert } % norm +\newcommand{\abs}[1]{\left|#1\right|} %abs + +\newcommand{\grad}{\M{\nabla}} %gradient +\newcommand{\av}[1]{\left\langle #1\right\rangle } %take average + +\newcommand{\sM}[1]{\M{\mathcal{#1}}} %matrix in mathcal font +\newcommand{\dprime}{\prime\prime} % double prime +%\global\long\def\i{\iota} +%\renewcommand{\i}{\iota} %i for imaginary unit +%\renewcommand{\i}{\mathsf i} %i for imaginary unit +\newcommand{\follows}{\quad\Rightarrow\quad} %=> +\newcommand{\eqd}{\overset{d}{=}} %=^d +\newcommand{\spe}[1]{\mathscr{#1}} %important quantities in mathscr font +\newcommand{\eps}{\epsilon} + + +% Information that is shared between the article and the supplement +% (title and author information, macros, packages, etc.) goes into +% ex_shared.tex. If there is no supplement, this file can be included +% directly. + +\input{ex_shared} +\usepackage { graphicx,epstopdf } % <- Preamble +\usepackage[caption=false] { subfig } + +% Optional PDF information +\ifpdf +\hypersetup{ + pdftitle={}, + pdfauthor={Name, and Name} +} +\fi + +% The next statement enables references to information in the +% supplement. See the xr-hyperref package for details. + +\externaldocument{ex_supplement} + +% FundRef data to be entered by SIAM +% +% +% +% +% +% +% +% +% +% +% + +\begin{document} + +\maketitle + +% REQUIRED +\begin{abstract} + +\end{abstract} + +% REQUIRED +\begin{keywords} + +\end{keywords} + +% REQUIRED +\begin{AMS} + +\end{AMS} + + +\bibliographystyle{siamplain} +\bibliography{references} +\end{document} diff --git a/latex/SIAM_template/references.bib b/latex/SIAM_template/references.bib new file mode 100644 index 0000000..e69de29 diff --git a/latex/SIAM_template/siamart190516.cls b/latex/SIAM_template/siamart190516.cls new file mode 100644 index 0000000..9f534ba --- /dev/null +++ b/latex/SIAM_template/siamart190516.cls @@ -0,0 +1,1900 @@ +%% +%% This is file `siamart190516.cls', based on article.cls +%% Revision of siam macros for use with LaTeX 2e +%% +%% May 2019 +%% +%% Minor updates including hyphenation support and URL linking +%% to the DOI in the page 1 footer. +%% +%% You are not allowed to change this file. +%% +%% You are allowed to distribute this file under the condition that +%% it is distributed together with all of the files in the siam macro +%% distribution. These are: +%% +%% * siamart190516.cls: Main LaTeX class file (this file) +%% * siamplain.bst: Bibliographic style file for BibTeX +%% * docsiamart.tex: Produces documentation +%% * docsiamart.pdf: Documentation +%% * references.bib: BibTeX database for documentation and examples +%% * ex_article.tex: Template for article +%% * ex_supplement.tex: Template for supplement +%% * ex_shared.tex: Template for article/supplement shared info +%% +%% If you receive only some of these files from someone, complain! +%% +%% Please submit suggestions for changes to tex@siam.org. +%% +%% You are NOT ALLOWED to distribute this file alone. You are NOT +%% ALLOWED to take money for the distribution or use of either this +%% file or a changed version, except for a nominal charge for copying +%% etc. +%% \CharacterTable +%% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z +%% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z +%% Digits \0\1\2\3\4\5\6\7\8\9 +%% Exclamation \! Double quote \" Hash (number) \# +%% Dollar \$ Percent \% Ampersand \& +%% Acute accent \' Left paren \( Right paren \) +%% Asterisk \* Plus \+ Comma \, +%% Minus \- Point \. Solidus \/ +%% Colon \: Semicolon \; Less than \< +%% Equals \= Greater than \> Question mark \? +%% Commercial at \@ Left bracket \[ Backslash \\ +%% Right bracket \] Circumflex \^ Underscore \_ +%% Grave accent \` Left brace \{ Vertical bar \| +%% Right brace \} Tilde \~} +\NeedsTeXFormat{LaTeX2e}[1995/06/01] +%% +%% >>jeh>> --- Modified May 2019 --- +%% +% [[[TODO: Update date and version in next line]]] +\ProvidesClass{siamart190516}[2019/05/16 v1.4.3 LaTeX document e-class] +%% +%% <>tgk>> --- Removed Summer 2015 --- %back in Winter 2017---MSC +%% +\newif\if@oneeqnum +\@oneeqnumfalse +\newif\if@onetabnum +\@onetabnumfalse +\newif\if@onefignum +\@onefignumfalse +\newif\if@onealgnum +\@onealgnumfalse +\newif\if@onethmnum +\@onethmnumfalse +%% +%% >>tgk>> --- Added Summer 2015 --- +%% +%% Support for "review" class option to turn on features like line +%% numbers for paper under review. +\newif\if@review +\@reviewfalse +%% +%% <>tgk>> --- Added Summer 2015 --- +%% +%% Support for "supplement" class option to change title and labels +%% appropriately for supplemental materials. +\newif\if@supplement +\@supplementfalse +%% +%% <>tgk>> --- Added Summer 2015 --- +%% +%% Support for "hidelinks" class option to hide hyperlinks. +\newif\if@hidelinks +\@hidelinksfalse +%% +%% <>tgk>> --- Added Summer 2015 --- +%% +%% Support for new class options +\DeclareOption{review}{\@reviewtrue} +\DeclareOption{supplement}{\@supplementtrue} +\DeclareOption{hidelinks}{\@hidelinkstrue} +\DeclareOption{bakoma}{\@bakomatrue} +\DeclareOption{nohypdvips}{\@nohypdvipstrue} +%% +%% <>tgk>> --- Removed Summer 2015 --- %back in Winter 2017---JEH +%% +% \DeclareOption{leqno}{\input{leqno.clo}} +% \DeclareOption{subeqn}{\input{subeqn.clo}} +\DeclareOption{oneeqnum}{\@oneeqnumtrue} +\DeclareOption{onetabnum}{\@onetabnumtrue} +\DeclareOption{onefignum}{\@onefignumtrue} +\DeclareOption{onealgnum}{\@onealgnumtrue} +\DeclareOption{onethmnum}{\@onethmnumtrue} +%% +%% <>tgk>> --- Added Summer 2015 --- +%% +%% Fix to make bookmarks show up when using pdflatex (+hypertex). +\setcounter{tocdepth}{3} +%% +%% <>tgk>> --- Added Summer 2015 --- +%% +%% First step to adding the ntheorem package for theorems, etc. Second +%% step is further down below. Need to split them because this needs +%% to be loaded *before* cleveref and lineno. +\RequirePackage[amsmath,thmmarks,hyperref]{ntheorem}[1.33] +%% +%% <>tgk>> Modified Summer 2015 +%% +\setlength\parskip{0\p@} +%% +%% <\z@ + \thesection.\hskip 1em\relax\fi + ##1}}{}}% + \def\subsectionmark##1{% + \markright {\ifnum \c@secnumdepth >\@ne + \thesubsection\hskip 1em\relax \fi + ##1}}} + + +%\def\ps@myheadings{% +% \renewcommand{\@oddfoot}{\hfil\vtop{\hsize\textwidth\centering\footnotesize\textrm{\strut}\\[4pt] \@copyrightfooter}\hfil}\let\@evenfoot\@oddfoot% +% \def\@evenhead{\rlap{\thepage}\hfil\upshape\footnotesize\leftmark\hfil}% %! +% \def\@oddhead{\hbox{}\hfil{\upshape\footnotesize\rightmark}\hfil\llap{\thepage}}% %! +% \let\@mkboth\@gobbletwo +% \let\sectionmark\@gobble +% \let\subsectionmark\@gobble +% } + +\def\ps@myheadings{% + \def\@evenfoot{\f@@terwithc@pyright{}}% + \let\@oddfoot\@evenfoot + \def\@evenhead{\rlap{\thepage}\hfil\upshape\footnotesize\leftmark\hfil}% %! + \def\@oddhead{\hbox{}\hfil{\upshape\footnotesize\rightmark}\hfil\llap{\thepage}}% %! + \let\@mkboth\@gobbletwo + \let\sectionmark\@gobble + \let\subsectionmark\@gobble + } + + +\newcommand\maketitle{\par + \begingroup\def\@fnsymbol##1{\ensuremath{\ifcase##1\or *\or \dagger\or \ddagger\or + \mathsection\or \mathparagraph\or \|\or \#\or \dagger\dagger + \or \ddagger\ddagger\else\@ctrerr\fi}} + \renewcommand{\thefootnote}{\fnsymbol{footnote}}% + \def\@makefnmark{\hbox to\z@{$\m@th^{\@thefnmark}$\hss}}% + \long\def\@makefntext##1{\parindent 1em\noindent + \hbox to1.8em{\hss$\m@th^{\@thefnmark}$}##1}% + \if@twocolumn + \ifnum \col@number=\@ne + \@maketitle + \else + \twocolumn[\@maketitle]% + \fi + \else + \global\@topnum\z@ % Prevents figures from going at top of page. + \@maketitle + \fi + \thispagestyle{plain}\@thanks + \endgroup + \setcounter{footnote}{0}% + \let\maketitle\relax\let\@maketitle\relax + \gdef\@thanks{}\gdef\@author{}\gdef\@title{}\let\thanks\relax} +%_%_%_%_% +%_%_%_%_% Macros for subtitle (subauthor?), altered slugline/slugger for translated version +%_%_%_%_% +\long\def\subtitle#1{\gdef\@subtitle{\par\vskip8pt\footnotesize#1}} +\def\@subtitle{} +% +\long\def\supertitle#1{\gdef\@supertitle{\par\bfseries#1\vskip17.5pt\par}} +\def\@supertitle{} +%_%_%_%_% +%_%_%_%_% +%_%_%_%_% +% +\def\@translation{} +% + +\def\copyrightlineone#1{\gdef\@copyrightlineone{#1}} +\def\copyrightlinetwo#1{\gdef\@copyrightlinetwo{#1}} + +\def\@copyrightlineone{Society for Industrial and Applied Mathematics} +\def\@copyrightlinetwo{} + + +\def\slugger#1#2#3#4#5{\gdef\@slugger{\thispagestyle{plain}% +\vspace*{-36pt} +{\sixptsize\baselineskip10pt +\noindent +\expandafter\csname#1\endcsname.\hspace*{\fill} +{\scriptsize{\copyright}} #2 \@copyrightlineone\vspace*{-1.2mm}\\ +Vol.\ #3, No.\ #4, pp.\ #5 +\hspace*{\fill} \@translation\@copyrightlinetwo\par} +\normalsize\vskip19.7pt}} +% +\if@translated +\newcommand\tpa{T{\fiveptsize HEORY}~P{\fiveptsize ROBAB.}~A{\fiveptsize PPL}}% added 1/7/04 +\def\@translation{Translated from Russian Journal} +\else%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\newcommand\tpa{T{\fiveptsize HEORY}~P{\fiveptsize ROBAB.}~A{\fiveptsize PPL}}% added 1/7/04 +\fi +% +\def\@slugger{} +\def\@slugline{} +%_%_%_%_% +%_%_%_%_% +%_%_%_%_% +%% +%% >>tgk>> --- Added Summer 2015 --- +%% +%% Support for "supplement" class option, to change the title and labels. +\def\siampretitle{} +\def\siamprelabel{} +\if@supplement +\def\siampretitle{Supplementary Materials: } +\def\siamprelabel{SM} +\fi +%% +%% <>tgk>> --- Modified Summer 2015 --- +%% +%% Support for supplementary materials + {\bfseries\MakeUppercase{\siampretitle}\@ucnothanks{\@title}\par}% +%% +%% <>tgk>> --- Modified Summer 2015 --- +%% +%% Fixed capitalization to work with macro for title +\def\@ucnt#1\thanks{\uppercase\expandafter{#1}\futurelet\@tempa\@ucnta} +%% +%% <>tgk>> --- Modified Summer 2015 --- +%% +%% Adding supplement support. +\renewcommand\thesection {\siamprelabel\arabic{section}} +%% +%% <\c@secnumdepth + \def\@svsec{}\else + \refstepcounter{#1}\edef\@svsec{\csname the#1\endcsname.\hskip .5em }\fi + \@tempskipa #5\relax + \ifdim \@tempskipa>\z@ + \begingroup #6\relax + \@hangfrom{\hskip #3\relax\@svsec}{\interlinepenalty \@M #8\par} + \endgroup + \csname #1mark\endcsname{#7}\addcontentsline + {toc}{#1}{\ifnum #2>\c@secnumdepth \else + \protect\numberline{\csname the#1\endcsname}\fi + #7}\else + \def\@svsechd{#6\hskip #3\@svsec #8\@mypunct\csname #1mark\endcsname + {#7}\addcontentsline + {toc}{#1}{\ifnum #2>\c@secnumdepth \else + \protect\numberline{\csname the#1\endcsname}\fi + #7}}\fi + \@xsect{#5}} +\def\@ssect#1#2#3#4#5{\@tempskipa #3\relax + \ifdim \@tempskipa>\z@ + \begingroup #4\@hangfrom{\hskip #1}{\interlinepenalty \@M +#5\@mypunct\par}\endgroup + \else \def\@svsechd{#4\hskip #1\relax #5\@mypunct}\fi + \@xsect{#3}} + + +\newcommand\section{\@startsection{section}{1}{.25in}% + {1.3ex \@plus .5ex \@minus .2ex}% + {-.5em \@plus -.1em}% + {\reset@font\normalsize\bfseries}} +\newcommand\subsection{\@startsection{subsection}{2}{.25in}% + {1.3ex\@plus .5ex \@minus .2ex}% + {-.5em \@plus -.1em}% + {\reset@font\normalsize\bfseries}} +\newcommand\subsubsection{\@startsection{subsubsection}{3}{.25in}% + {1.3ex\@plus .5ex \@minus .2ex}% + {-.5em \@plus -.1em}% + {\reset@font\normalsize\bfseries}} +\newcommand\paragraph{\@startsection{paragraph}{4}{.25in}% + {\parskip}% + {-.5em plus -.1em}% + {\reset@font\normalsize\itshape}} +\newcommand\subparagraph{\@startsection{subparagraph}{5}{\parindent}% + {\parskip}% + {-.5em plus -.1em}% + {\reset@font\normalsize\itshape}} +\if@twocolumn + \setlength\leftmargini {2em} +\else + \setlength\leftmargini {0.5in} +\fi +\setlength\leftmarginii {22pt} +\setlength\leftmarginiii {18.7pt} +\setlength\leftmarginiv {17pt} +\if@twocolumn + \setlength\leftmarginv {.5em} + \setlength\leftmarginvi {.5em} +\else + \setlength\leftmarginv {10pt} + \setlength\leftmarginvi {10pt} +\fi +\setlength \leftmargin{\leftmargini} +\setlength \labelsep {.5em} +\setlength \labelwidth{\leftmargini} +\addtolength\labelwidth{-\labelsep} +\@beginparpenalty -\@lowpenalty +\@endparpenalty -\@lowpenalty +\@itempenalty -\@lowpenalty +\renewcommand\theenumi{\arabic{enumi}} +\renewcommand\theenumii{\alph{enumii}} +\renewcommand\theenumiii{\roman{enumiii}} +\renewcommand\theenumiv{\Alph{enumiv}} +\newcommand\labelenumi{\textup{\theenumi.}} +\newcommand\labelenumii{\textup{(\theenumii)}} +\newcommand\labelenumiii{\textup{\theenumiii.}} +\newcommand\labelenumiv{\textup{\theenumiv.}} +\renewcommand\p@enumii{\theenumi} +\renewcommand\p@enumiii{\theenumi\theenumii} +\renewcommand\p@enumiv{\p@enumiii\theenumiii} +\newcommand\labelitemi{$\m@th\bullet$} +\newcommand\labelitemii{\normalfont\bfseries --} +\newcommand\labelitemiii{$\m@th\ast$} +\newcommand\labelitemiv{$\m@th\cdot$} +\newenvironment{description} + {\list{}{\labelwidth\z@ \itemindent-\leftmargin + \let\makelabel\descriptionlabel}} + {\endlist} +\newcommand\descriptionlabel[1]{\hspace\labelsep + \normalfont\bfseries #1} +\newcounter{rmnum} +\newenvironment{romannum} + {\begin{list}{{\upshape (\roman{rmnum})}}{\usecounter{rmnum} + \setlength{\leftmargin}{0pt} + \setlength{\itemindent}{42pt}}}{\end{list}} +\newcounter{muni} +\newenvironment{remunerate} + {\begin{list}{{\upshape \arabic{muni}.}}{\usecounter{muni} + \setlength{\leftmargin}{0pt} + \setlength{\itemindent}{38pt}}}{\end{list}} + +\newenvironment{@abssec}[1]{% + \if@twocolumn + \section*{#1}% + \else + \vspace{.05in}\footnotesize + \parindent .2in + {\upshape\bfseries #1. }\ignorespaces + \fi} + {\if@twocolumn\else\par\vspace{.1in}\fi} + +\newenvironment{@doisec}[1]{% + \if@twocolumn + \section*{#1}% + \else + \vspace{.05in}\footnotesize + \parindent .2in + {\upshape\bfseries #1. }\ignorespaces\ignorespaces + \fi} + {\if@twocolumn\else\par\vspace{.1in}\fi} + +\newenvironment{abstract}{\begin{@abssec}{\abstractname}}{\end{@abssec}} +\newenvironment{keywords}{\begin{@abssec}{\keywordsname}}{\end{@abssec}} +\newenvironment{keyword}{\begin{@abssec}{\keywordname}}{\end{@abssec}} +\newenvironment{AMS}{\begin{@abssec}{\AMSname}}{\end{@abssec}} +\newenvironment{AM}{\begin{@abssec}{\AMname}}{\end{@abssec}} +%\newenvironment{PII}{\begin{@abssec}{\PIIname}}{\end{@abssec}} +\newenvironment{DOI}{\begin{@doisec}{\DOIname}}{\end{@doisec}} + + +\newenvironment{verse} + {\let\\=\@centercr + \list{}{\itemsep \z@ + \itemindent -1.5em% + \listparindent\itemindent + \rightmargin \leftmargin + \advance\leftmargin 1.5em}% + \item[]} + {\endlist} +\newenvironment{quotation} + {\list{}{\listparindent 1.5em% + \itemindent \listparindent + \rightmargin \leftmargin + \parsep \z@ \@plus\p@}% + \item[]} + {\endlist} +\newenvironment{quote} + {\list{}{\rightmargin\leftmargin}% + \item[]} + {\endlist} + +%\def\@begintheorem#1#2{\vspace{\abovedisplayskip}\par\bgroup{\scshape #1\ #2. }\it\ignorespaces} +%\def\@opargbegintheorem#1#2#3{\par\bgroup% +% {\scshape #1\ #2\ ({\upshape #3}). }\it\ignorespaces} +%\def\@endtheorem{\egroup\vspace{\belowdisplayskip}} +%\def\proof{\par{\it Proof}. \ignorespaces} +% +%\def\endproof{\vbox{\hrule height0.6pt\hbox{% +% \vrule height1.3ex width0.6pt\hskip0.8ex +% \vrule width0.6pt}\hrule height0.6pt +% }} + +\newlength{\@sectionspace} +\setlength{\@sectionspace}{1.3ex \@plus .5ex \@minus .2ex} %the space added before a new section +\newlength{\@negsectionspace} +\setlength{\@negsectionspace}{-1.3ex \@plus -.5ex \@minus -.2ex} %its negation + +%% +%% >>jeh>> --- Added Summer 2016 --- +%% +%% Adding ORCID support. + +\newcommand{\orcid}[1]{\ignorespaces} + +%% +%% >>tgk>> --- Removed Summer 2015 --- +%% +%\newcommand{\insertsectionspace}{\addvspace{\@sectionspace}} +%\newcommand{\removesectionspace}{\vspace{\@negsectionspace}} %I didn't end up needing these, but they might be needed somewhere +% +% \def\@begintheorem#1#2{\par\addvspace{\@sectionspace}{\scshape #1\ #2. }\itshape\ignorespaces} +% +% \def\@opargbegintheorem#1#2#3{\par\addvspace{\@sectionspace}{\scshape #1\ #2\ ({\upshape #3}). }\itshape\ignorespaces} +% +% \def\@endtheorem{\par\addvspace{\@sectionspace}} +% +% \def\proof{\par\addvspace{\@sectionspace}\textit{Proof}. \ignorespaces} +% +% \newcommand{\@proofbox}{\vbox{\hrule height0.6pt\hbox{\vrule height1.3ex width0.6pt\hskip0.8ex\vrule width0.6pt}\hrule height0.6pt}} +% +% \def\endproof{\ifmmode\@proofbox\else\@proofbox\par\addvspace{\@sectionspace}\fi} +% +% \if@onethmnum +% \newtheorem{theorem}{Theorem} +% \newtheorem{lemma}[theorem]{Lemma} +% \newtheorem{corollary}[theorem]{Corollary} +% \newtheorem{proposition}[theorem]{Proposition} +% \newtheorem{definition}[theorem]{Definition} +% \else +% \newtheorem{theorem}{Theorem}[section] +% \newtheorem{lemma}[theorem]{Lemma} +% \newtheorem{corollary}[theorem]{Corollary} +% \newtheorem{proposition}[theorem]{Proposition} +% \newtheorem{definition}[theorem]{Definition} +% \fi +%% +%% <>tgk>> --- Removed Summer 2015 --- +%% +%% New Mathops. + +% \newcommand\const{\mathop{\operator@font const}\nolimits} +% \newcommand\diag{\mathop{\operator@font diag}\nolimits} +% \newcommand\grad{\mathop{\operator@font grad}\nolimits} +% \newcommand\Range{\mathop{\operator@font Range}\nolimits} +% \newcommand\rank{\mathop{\operator@font rank}\nolimits} +% \newcommand\supp{\mathop{\operator@font supp}\nolimits} +%% +%% <>tgk>> --- Modified Summer 2015 --- +%% +%% The original changes to introduce the appendix didn't work +%% correctly. In particular, calling \section*{Acknowledgments} after +%% declaring \appendix produced an appendix with a letter (i.e., +%% Appendix B) but no title --- exactly the reverse of what we would +%% expect. Now, using \section* produces what you would expect, i.e., +%% just the title "Acknowledgments". The SIAM style guide also allows +%% a numbered but untitled section, so the command \appendixnotitle is +%% defined to facilitate that. Not sure it should be explicitly +%% documented?? +%% + +\newcommand\gobblepars{% + \@ifnextchar\par% + {\expandafter\gobblepars\@gobble}% + {}} + +\newcommand\appendix{% + \setcounter{section}{0} + \setcounter{subsection}{0} + \renewcommand\thesection{\Alph{section}} + \renewcommand{\section}{\secdef\append\sappend} + \newcommand{\appendixnotitle}{% + \refstepcounter{section}% + {\par\addvspace{\@sectionspace} + \reset@font\normalsize\bfseries\appendixname\ \thesection. \gobblepars}% + \addcontentsline{toc}{section}{\appendixname~\thesection}% + } +} + +\newcommand\append[2][?]{% + \refstepcounter{section}% + {\par\addvspace{\@sectionspace} + \reset@font\normalsize\bfseries\appendixname\ \thesection. #2\@mypunct{} }% + \addcontentsline{toc}{section}{\appendixname~\thesection. #2}% + \gobblepars +} + +\newcommand\sappend[1]{% + {\par\addvspace{\@sectionspace} + \reset@font\normalsize\bfseries#1\@mypunct{} }% + \addcontentsline{toc}{section}{#1}% + \gobblepars +} +%% +%% <>tgk>> --- Modified Summer 2015 --- +%% +%% Added \siamprelabel for supplement. +\renewcommand\thefigure{\siamprelabel\@arabic\c@figure} +%% +%% <>tgk>> Modified Summer 2015 +%% +%% Adding support for supplement +\renewcommand{\thetable}{\siamprelabel\@arabic\c@table} +%% +%% <\hsize + {\normalfont\scshape #1}. {\normalfont\itshape #2}\par + \else + \global\@minipagefalse + \hb@xt@\hsize{\hfil\box\@tempboxa\hfil}% + \fi + \else + \hbox to\hsize{\hfil{\normalfont\scshape #1}\hfil}% + \setbox\@tempboxa\hbox{{\normalfont\itshape #2}}% + \ifdim \wd\@tempboxa >\hsize + {\normalfont\itshape #2}\par + \else + \global\@minipagefalse + \hb@xt@\hsize{\hfil\box\@tempboxa\hfil}% + \fi + \vskip\belowcaptionskip + \fi} +\DeclareOldFontCommand{\rm}{\normalfont\rmfamily}{\mathrm} +\DeclareOldFontCommand{\sf}{\normalfont\sffamily}{\mathsf} +\DeclareOldFontCommand{\tt}{\normalfont\ttfamily}{\mathtt} +\DeclareOldFontCommand{\bf}{\normalfont\bfseries}{\mathbf} +\DeclareOldFontCommand{\it}{\normalfont\itshape}{\mathit} +\DeclareOldFontCommand{\sl}{\normalfont\slshape}{\@nomath\sl} +\DeclareOldFontCommand{\sc}{\normalfont\scshape}{\@nomath\sc} +\DeclareRobustCommand*\cal{\@fontswitch{\relax}{\mathcal}} +\DeclareRobustCommand*\mit{\@fontswitch{\relax}{\mathnormal}} +\newcommand\@pnumwidth{1.55em} +\newcommand\@tocrmarg {2.55em} +\newcommand\@dotsep{4.5} + +\newdimen\bibindent +\bibindent=16pt +\newenvironment{thebibliography}[1] + {\par\addvspace{.25in} + \begin{center} + \footnotesize\uppercase\expandafter{\refname}% + \addcontentsline{toc}{section}{References} + \end{center} + \@mkboth{\uppercase\expandafter{\refname}}{\uppercase\expandafter{\refname}} + \addvspace{.15in}\nopagebreak% +%% +%% >>tgk>> --- Modified Summer 2015 +%% +%% Adding supplement support by inserting \siamprelabel + \list{\@biblabel{\siamprelabel\arabic{enumi}}}% +%% +%% <>tgk>> --- Removed Summer 2015 --- +%% +% \if@compatibility% +% \else +% \if@oneeqnum +% \else +% \@addtoreset{equation}{section} % \section resets 'equation' counter +% \renewcommand{\theequation}{\thesection.\arabic{equation}} +% \fi +% +% \if@onefignum +% \else +% \@addtoreset{figure}{section} +% \renewcommand{\thefigure}{\thesection.\@arabic\c@figure} +% \fi +% +% \if@onetabnum +% \else +% \@addtoreset{table}{section} +% \renewcommand{\thetable}{\thesection.\@arabic\c@table} +% \fi +% +% \if@onethmnum +% \else +% \@addtoreset{theorem}{section} +% \renewcommand{\thetheorem}{\thesection.\arabic{theorem}} +% \fi +% \fi +%% +%% <>tgk>> --- Removed Summer 2015 --- +%% + +% %\definecolor{header1}{cmyk}{.9,.5,0,.35} +% %\definecolor{blue1}{cmyk}{.9,.7,0,0} +% %\definecolor{blue2}{cmyk}{.93,.95,.2,.07} +% %\definecolor{maroon}{cmyk}{.4,1,.3,.2} +% %\definecolor{gold1}{cmyk}{.2,.2,1,.1} +% %\definecolor{gray}{cmyk}{0,0,0,.5} +% %\definecolor{green1}{cmyk}{1,0,1,0} +% %\definecolor{proofcolor}{cmyk}{1,0,1,0} +% %\definecolor{red1}{cmyk}{0,1,.8,0} +% %\definecolor{orange1}{cmyk}{0,.55,1,0} +% %\definecolor{strip}{cmyk}{.6,.1,.1,.1} + +% \definecolor{header1}{cmyk}{0,0,0,1} +% \definecolor{blue1}{cmyk}{0,0,0,1} +% \definecolor{blue2}{cmyk}{0,0,0,1} +% \definecolor{maroon}{cmyk}{0,0,0,1} +% \definecolor{gold1}{cmyk}{0,0,0,1} +% \definecolor{gray}{cmyk}{0,0,0,1} +% \definecolor{green1}{cmyk}{0,0,0,1} +% \definecolor{proofcolor}{cmyk}{0,0,0,1} +% \definecolor{red1}{cmyk}{0,0,0,1} +% \definecolor{orange1}{cmyk}{0,0,0,1} +% \definecolor{strip}{cmyk}{0,0,0,1} + + +% \RequirePackage[]{graphics,graphicx} +% \RequirePackage[colorlinks,naturalnames=false,hypertexnames=false,breaklinks]{hyperref}%new +% \urlstyle{same} +% \usepackage{breakurl}%new +% \def\wwwbrowser{C:\string\Program\space +% Files\string\Plus!\string\Microsoft\space +% Internet\string\iexplore.exe} +% %\definecolor{extlink}{cmyk}{.05,1,1,.45} +% %\definecolor{intlink}{cmyk}{1,0,1,.5} +% %\definecolor{softpage}{cmyk}{0,0.01,.05,0} +% \definecolor{extlink}{cmyk}{0,0,0,0.7} +% \definecolor{intlink}{cmyk}{0,0,0,0.7} +% \definecolor{softpage}{cmyk}{0,0,0,0.7} + +% \def\@linkcolor{intlink} +% \def\@anchorcolor{black} +% \def\@citecolor{intlink} +% \def\@filecolor{cyan} +% \def\@urlcolor{extlink} +% \def\@menucolor{red} +%% +%% <>tgk>> --- Added Summer 2015 --- +%% +%% Support for cross-reference (xr-hyper). +\RequirePackage{xr-hyper}[6.00] +%% +%% <>tgk>> --- Added Summer 2015 --- +%% +\RequirePackage{ifpdf}[2.3] +%% +%% <>tgk>> --- Added Summer 2015 --- +%% +%% Support for cross-reference hyperlinks +%% (hyperref). Made it so that it works for both dvi/ps and pdf +%% (ifpdf, breakurl). +%% +\if@bakoma +\RequirePackage[dvips]{hyperref}[6.83] +\else +\RequirePackage{hyperref}[6.83] +\fi +\hypersetup{ + colorlinks=false, + frenchlinks=false, + pdfborder={0 0 0}, + naturalnames=false, + hypertexnames=false, + breaklinks +} +\urlstyle{same} +\ifpdf +\usepackage{graphics,graphicx} +\usepackage{epstopdf} +\else +\usepackage{graphics,graphicx} + \RequirePackage{breakurl}[1.40] + \if@nohypdvips + \else + \usepackage{hypdvips} + \fi +\fi +%% +%% <>tgk>> --- Added Summer 2015 --- +%% +\RequirePackage{xcolor}[2.11] +\colorlet{siaminlinkcolor}{green!50!black} +\colorlet{siamexlinkcolor}{red!50!black} +\colorlet{siamreviewcolor}{black!50} +%% +%% <>tgk>> --- Added Summer 2015 --- +%% +%% Add support for color in order to color the hyperlinks. +%% +\if@hidelinks +\hypersetup{ hidelinks = true } +\else +\hypersetup{ + colorlinks = true, + allcolors = siaminlinkcolor, + urlcolor = siamexlinkcolor, +} +\fi +%% +%% <>tgk>> --- Modified Summer 2015 --- +%% +\newcommand{\mref}[1]{\burlalt{mailto:#1}{#1}} +%% +%% <>tgk>> --- Removed Summer 2015 --- +%\newcommand{\web}[1]{\href{#1}{#1}} +%% +%% <>tgk>> --- Added Summer 2015 --- +%% +% This needs to be loaded *before* cleveref +\RequirePackage{algorithm}[0.1] +\renewcommand{\ALG@name}{Algorithm} +\renewcommand\thealgorithm{\siamprelabel\@arabic\c@algorithm} +%% +%% <>tgk>> --- Added Summer 2015 --- +%% +%% Adding cleveref package for smart citations, with customizations to +%% make it act like SIAM expects. +\RequirePackage[capitalize,nameinlink]{cleveref}[0.19] + +% Per SIAM Style Manual, "section" should be lowercase +\crefname{section}{section}{sections} +\crefname{subsection}{subsection}{subsections} +\Crefname{section}{Section}{Sections} +\Crefname{subsection}{Subsection}{Subsections} + +% Per SIAM Style Manual, "Figure" should be spelled out in references +\Crefname{figure}{Figure}{Figures} + +% Per SIAM Style Manual, don't say equation in front on an equation. +\crefformat{equation}{\textup{#2(#1)#3}} +\crefrangeformat{equation}{\textup{#3(#1)#4--#5(#2)#6}} +\crefmultiformat{equation}{\textup{#2(#1)#3}}{ and \textup{#2(#1)#3}} +{, \textup{#2(#1)#3}}{, and \textup{#2(#1)#3}} +\crefrangemultiformat{equation}{\textup{#3(#1)#4--#5(#2)#6}}% +{ and \textup{#3(#1)#4--#5(#2)#6}}{, \textup{#3(#1)#4--#5(#2)#6}}{, and \textup{#3(#1)#4--#5(#2)#6}} + +% But spell it out at the beginning of a sentence. +\Crefformat{equation}{#2Equation~\textup{(#1)}#3} +\Crefrangeformat{equation}{Equations~\textup{#3(#1)#4--#5(#2)#6}} +\Crefmultiformat{equation}{Equations~\textup{#2(#1)#3}}{ and \textup{#2(#1)#3}} +{, \textup{#2(#1)#3}}{, and \textup{#2(#1)#3}} +\Crefrangemultiformat{equation}{Equations~\textup{#3(#1)#4--#5(#2)#6}}% +{ and \textup{#3(#1)#4--#5(#2)#6}}{, \textup{#3(#1)#4--#5(#2)#6}}{, and \textup{#3(#1)#4--#5(#2)#6}} + +% Make number non-italic in any environment. +\crefdefaultlabelformat{#2\textup{#1}#3} +%% +%% <>tgk>> --- Added Summer 2015 --- +%% +%% Setting up theorems using ntheorem package, customizing to do the +%% indentations and other features that SIAM likes. Also, adding +%% macros that can be use to declare additional theorem-like +%% environments. The \newtheorem calls have to happen /after/ loading +%% cleveref when using ntheorem and sharing the same numbering. + +% We fix the default style to have the indents that SIAM wants before +% theorem and proof definitions. +\renewtheoremstyle{plain}% Allow loooong optional labels for theorems???? JR + {\item[\hskip\labelsep\hskip\parindent \theorem@headerfont ##1\ \textup{##2\theorem@separator}]}% + {\item[\hskip\labelsep\hskip\parindent \theorem@headerfont ##1\ \textup{##2}]\textup{(##3)\theorem@separator}\ } + + +\renewtheoremstyle{nonumberplain}% + {\item[\theorem@headerfont\hskip\labelsep\hskip\parindent ##1\theorem@separator]}% +{\item[\theorem@headerfont\hskip\labelsep\hskip\parindent ##3\theorem@separator]} + + +% Retained from old style file +\newcommand{\proofbox}{\vbox{\hrule height0.6pt\hbox{\vrule height1.3ex width0.6pt\hskip0.8ex\vrule width0.6pt}\hrule height0.6pt}} + +% Extra space around theorem-like environments +\theorempreskip{1ex plus .25ex minus .1ex} +\theorempostskip{1ex plus .25ex minus .1ex} +%\theorempreskip{10\p@ \@plus2\p@ \@minus5\p@} +%\theorempostskip{10\p@ \@plus2\p@ \@minus5\p@} + + + +% Proof environment: No number, italic header, normal body, ends with proofbox. +\theoremstyle{nonumberplain} +\theoremheaderfont{\normalfont\itshape} +\theorembodyfont{\normalfont} +\theoremseparator{.} +\theoremsymbol{\proofbox} +\newtheorem{proof}{Proof} + +% Theorem environment: Small-caps header, italize body. +\theoremstyle{plain} +\theoremheaderfont{\normalfont\sc} +\theorembodyfont{\normalfont\itshape} +\theoremseparator{.} +\theoremsymbol{} +\newtheorem{theorem}{Theorem} + +% Command to create other theorem-like environments, to be numbered +% along with the theorems. +\newcommand{\newsiamthm}[2]{ + \theoremstyle{plain} + \theoremheaderfont{\normalfont\sc} + \theorembodyfont{\normalfont\itshape} + \theoremseparator{.} + \theoremsymbol{} + \newtheorem{#1}[theorem]{#2} +} + +% Other predefined theorem-like environments +\newsiamthm{lemma}{Lemma} +\newsiamthm{corollary}{Corollary} +\newsiamthm{proposition}{Proposition} +\newsiamthm{definition}{Definition} + +% Command to create remark-like environments, to be numbered +% along with the theorems. +\newcommand{\newsiamremark}[2]{ + \theoremstyle{plain} + \theoremheaderfont{\normalfont\itshape} + \theorembodyfont{\normalfont} + \theoremseparator{.} + \theoremsymbol{} + \newtheorem{#1}[theorem]{#2} +} +%% +%% <>tgk>> --- Removed Summer 2015 --- +%% +% %%% create theorems, etc. with upright font, no italic +% \def\newheading#1{% +% \@ifnextchar[{\@othmup{#1}}{\@nthmup{#1}}} +% \def\@nthmup#1#2{% +% \@ifnextchar[{\@xnthmup{#1}{#2}}{\@ynthmup{#1}{#2}}} +% \def\@xnthmup#1#2[#3]{% +% \expandafter\@ifdefinable\csname #1\endcsname +% {\@definecounter{#1}\@newctr{#1}[#3]% +% \expandafter\xdef\csname the#1\endcsname{% +% \expandafter\noexpand\csname the#3\endcsname \@thmcountersep +% \@thmcounterup{#1}}% +% \global\@namedef{#1}{\@thmup{#1}{#2}}% +% \global\@namedef{end#1}{\@endtheoremup}}} +% \def\@ynthmup#1#2{% +% \expandafter\@ifdefinable\csname #1\endcsname +% {\@definecounter{#1}% +% \expandafter\xdef\csname the#1\endcsname{\@thmcounterup{#1}}% +% \global\@namedef{#1}{\@thmup{#1}{#2}}% +% \global\@namedef{end#1}{\@endtheoremup}}} +% \def\@othmup#1[#2]#3{% +% \@ifundefined{c@#2}{\@nocounterr{#2}}% +% {\expandafter\@ifdefinable\csname #1\endcsname +% {\global\@namedef{the#1}{\@nameuse{the#2}}% +% \global\@namedef{#1}{\@thmup{#2}{#3}}% +% \global\@namedef{end#1}{\@endtheoremup}}}} +% \def\@thmup#1#2{% +% \refstepcounter{#1}% +% \@ifnextchar[{\@ythmup{#1}{#2}}{\@xthmup{#1}{#2}}} +% \def\@xthmup#1#2{% +% \@begintheoremup{#2}{\csname the#1\endcsname}\ignorespaces} +% \def\@ythmup#1#2[#3]{% +% \@opargbegintheoremup{#2}{\csname the#1\endcsname}{#3}\ignorespaces} +% \def\@thmcounterup#1{\noexpand\arabic{#1}} +% \def\@thmcountersep{.} +% \def\@begintheoremup#1#2{\trivlist +% \item[\hskip \labelsep{\bfseries #1\ #2.}]\upshape} +% \def\@opargbegintheoremup#1#2#3{\trivlist +% \item[\hskip \labelsep{\bfseries #1\ #2\ (#3).}]\upshape} +% \def\@endtheoremup{\endtrivlist} +%% +%% <>tgk>> --- Moved elsewhere, Summer 2015 +%% +%\usepackage{lineno} +%% +%% <>jeh>> --- Updated Fall 2016 --- +%% +%% >>tgk>> --- Added Summer 2015 --- +%% +% Support for supplement numbering +\renewcommand{\theequation}{\siamprelabel\arabic{equation}} +\renewcommand{\thepage}{\siamprelabel\arabic{page}} +\renewcommand{\thetheorem}{\siamprelabel\arabic{theorem}} +\let\svbibcite\bibcite +\def\bibcite#1#2{\svbibcite{#1}{\siamprelabel#2}} +%% +%% <>tgk>> --- Added Summer 2015 --- +%% +% Adding a command to do running heads with uppercase and supplement support. +\newcommand{\headers}[2]{ +% Declare page headings - use the \siampretitle command, which inserts +% "Supplementary Material" when appropriate. +\pagestyle{myheadings} +\markboth{\uppercase\expandafter{#2}} +{\uppercase\expandafter{\siampretitle{#1}}}} +%% +%% <>tgk>> --- Added Summer 2015 --- +%% +%% Support for "review" class option to turn on linenumbers via the +%% lineno package. Slightly complicated because the lineno and amsmath +%% packages do not play well together. +\if@review + \RequirePackage[mathlines]{lineno}[4.41] + \linenumbers + \renewcommand{\linenumberfont}{\normalfont\footnotesize\color{siamreviewcolor}} + % The \linenumbers command does not play nice with amsmath, so we + % have added some patches to fix it. See + % http://phaseportrait.blogspot.com/2007/08/lineno-and-amsmath-compatibility.html + \newcommand*\patchAmsMathEnvironmentForLineno[1]{% + \expandafter\let\csname old#1\expandafter\endcsname\csname #1\endcsname + \expandafter\let\csname oldend#1\expandafter\endcsname\csname end#1\endcsname + \renewenvironment{#1}% + {\linenomath\csname old#1\endcsname}% + {\csname oldend#1\endcsname\endlinenomath}}% + \newcommand*\patchBothAmsMathEnvironmentsForLineno[1]{% + \patchAmsMathEnvironmentForLineno{#1}% + \patchAmsMathEnvironmentForLineno{#1*}}% + \patchBothAmsMathEnvironmentsForLineno{equation}% + \patchBothAmsMathEnvironmentsForLineno{align}% + \patchBothAmsMathEnvironmentsForLineno{flalign}% + \patchBothAmsMathEnvironmentsForLineno{alignat}% + \patchBothAmsMathEnvironmentsForLineno{gather}% + \patchBothAmsMathEnvironmentsForLineno{multline}% + \renewcommand{\footercopyright}{\textcolor{siamreviewcolor}% + {\textit{This manuscript is for review purposes only.}}} +\fi +%% +%% <>tgk>> --- Removed Summer 2015 --- %back in Winter 2017---MSC +%% +\if@oneeqnum +\else +\numberwithin{equation}{section} +\fi + +\if@onetabnum +\else +\numberwithin{table}{section} +\fi + +\if@onefignum +\else +\numberwithin{figure}{section} +\fi + +\if@onealgnum +\else +\numberwithin{algorithm}{section} +\fi + +\if@onethmnum +\else +\numberwithin{theorem}{section} +\fi + +%% >>jeh>> --- Added May 2019 --- +% Hyphenation exceptions for US English. + +\hyphenation{ + acad-e-my acad-e-mies ac-cu-sa-tive acro-nym acro-nyms acryl-amide acryl- + amides acryl-alde-hyde acu-punc-ture acu-punc-tur-ist add-a-ble add-i-ble + adren-a-line aero-space af-ter-thought af-ter-thoughts agron-o-mist agron-o- + mists al-ge-bra-i-cal-ly am-phet-a-mine am-phet-a-mines anach-ro-nism anach- + ro-nis-tic an-a-lyse an-a-lysed analy-ses analy-sis an-eu-rysm an-eu-rysms an- + eu-rys-mal an-iso-trop-ic an-iso-trop-i-cal-ly an-isot-ro-pism an-isot-ropy + an-ni-ver-sary an-ni-ver-saries anom-a-ly anom-a-lies anti-deriv-a-tive anti- + deriv-a-tives anti-holo-mor-phic an-tin-o-my an-tin-o-mies anti-nu-clear anti- + nu-cle-on anti-rev-o-lu-tion-ary a-peri-odic apoth-e-o-ses apoth-e-o-sis ap- + pen-di-ces ap-pen-dix ap-pen-dixes ar-chi-me-dean ar-chi-pel-ago ar-chi-pel-a- + gos ar-chive ar-chives ar-chiv-ing ar-chiv-ist ar-chiv-ists ar-che-typ-al ar- + che-type ar-che-types ar-che-typ-i-cal arc-tan-gent arc-tan-gents a-spher-ic + a-spher-i-cal as-sign-a-ble as-sign-or as-sign-ors as-sist-ant as-sist-ance + as-sist-ant-ship as-sist-ant-ships as-trol-o-ger as-trol-o-gers as-tron-o-mer + as-tron-o-mers asymp-to-matic as-ymp-tot-ic asyn-chro-nous ath-er-o-scle-ro- + sis at-mos-phere at-mos-pheres at-tri-bute at-trib-uted at-trib-ut-able au-to- + ma-tion au-tom-a-ton au-tom-a-ta auto-num-ber-ing au-ton-o-mous auto-re-gres- + sion auto-re-gres-sive auto-round-ing av-oir-du-pois back-scratcher back- + scratch-ing band-lead-er band-lead-ers bank-rupt bank-rupts bank-rupt-cy bank- + rupt-cies bar-onies base-line-skip ba-thym-e-try bathy-scaphe bean-ies be- + drag-gle be-drag-gled bed-rid-den bed-rock be-dwarf be-dwarfs be-hav-iour be- + hav-iours bevies bib-lio-graph-i-cal bib-li-og-ra-phy-style bib-units bi-dif- + fer-en-tial big-gest big-shot big-shots bill-able bio-math-e-mat-ics bio-med- + i-cal bio-med-i-cine bio-rhythms bio-weap-ons bio-weap-on-ry bit-map bit-maps + bland-er bland-est blind-er blind-est blondes blue-print blue-prints bo-lom-e- + ter bo-lom-e-ters book-sell-er book-sell-ers bool-ean bool-eans bor-no-log-i- + cal bot-u-lism brusquer buf-fer buf-fers bun-gee bun-gees busier busi-est + bussing butted buzz-word buzz-words cache-abil-ity cache-able ca-coph-o-ny ca- + coph-o-nies call-er call-ers cam-era-men cart-wheel cart-wheels ca-tarrh ca- + tarrhs ca-tas-tro-phe ca-tas-tro-phes cat-a-stroph-ic cat-a-stroph-i-cally ca- + tas-tro-phism cat-e-noid cat-e-noids cau-li-flow-er chan-cery chap-ar-ral + char-treuse chemo-kine chemo-kines chemo-ther-apy chemo-ther-a-pies chloro- + meth-ane chloro-meth-anes cho-les-teric cig-a-rette cig-a-rettes cinque-foil + co-asso-cia-tive coch-leas coch-lear co-designer co-designers co-gnac co-gnacs + co-ker-nel co-ker-nels col-lin-ea-tion col-umns com-par-and com-par-ands com- + pen-dium com-po-nent-wise comp-trol-ler comp-trol-lers com-put-able com-put- + abil-ity con-form-able con-form-ist con-form-ists con-form-ity con-ge-ries + con-gress con-gresses con-struc-ted con-struc-ti-ble con-struc-ti-bil-ity con- + trib-ute con-trib-utes con-trib-uted copy-right-able co-re-la-tion co-re-la- + tions co-re-li-gion-ist co-re-li-gion-ists co-re-op-sis co-re-spon-dent co-re- + spon-dents co-se-cant co-semi-sim-ple co-tan-gent cour-ses co-work-er co-work- + ers crank-case crank-shaft croc-o-dile croc-o-diles cross-hatch cross-hatched + cross-hatch-ing cross-over cryp-to-gram cryp-to-grams cuff-link cuff-links cu- + nei-form cus-tom-iz-a-ble cus-tom-ize cus-tom-izes cus-tom-ized cy-ber-virus + cy-ber-viruses cy-ber-wea-pon cy-ber-wea-pons cy-to-kine cy-to-kines dachs- + hund dam-sel-fly dam-sel-flies dactyl-o-gram dactyl-o-graph data-base data- + bases data-path data-paths date-stamp date-stamps de-allo-cate de-allo-cates + de-allo-cated de-allo-ca-tion de-allo-ca-tions de-clar-able de-fin-i-tive de- + lec-ta-ble demi-semi-qua-ver demi-semi-qua-vers de-moc-ra-tism demos der-i-va- + tion der-i-va-tions der-i-va-tion-al de-riv-a-tive de-riv-a-tives dia-lec-tic + dia-lec-tics dia-lec-ti-cian dia-lec-ti-cians di-chloro-meth-ane dif-fract + dif-fracts dif-frac-tion dif-frac-tions direr dire-ness dis-par-and dis-par- + ands dis-traught-ly dis-trib-ut-able dis-trib-ute dis-trib-utes dis-trib-uted + dis-trib-u-tive dou-ble-space dou-ble-spaced dou-ble-spac-ing dou-ble-talk + doll-ish drift-age driv-ers drom-e-dary drom-e-daries drop-let drop-lets du- + op-o-list du-op-o-lists du-op-o-ly du-op-o-lies dys-lexia dys-lec-tic dys- + topia east-end-ers eco-sys-tem eco-sys-tems eco-nom-ics econ-o-mies econ-o- + mist econ-o-mists ei-gen-class ei-gen-classes ei-gen-val-ue ei-gen-val-ues + electro-mechan-i-cal electro-mechano-acoustic elec-tro-pho-re-sis elec-tro- + pho-ret-ic elit-ist elit-ists en-dos-copy en-dos-copies en-tre-pre-neur en- + tre-pre-neurs en-tre-pre-neur-ial ep-i-neph-rine eps-to-pdf equi-vari-ant + equi-vari-ance er-go-nom-ic er-go-nom-ics er-go-nom-i-cally es-sence es-sences + eth-ane eth-yl-am-ine eth-yl-ate eth-yl-ated eth-yl-ene ethy-nyl ethy-nyl-a- + tion eu-sta-chian ever-si-ble evert everts evert-ed evert-ing ex-plan-a-tory + ex-quis-ite ex-tra-or-di-nary face-lifts face-lift-ing fall-ing fermi-ons + figu-rine figu-rines fi-nite-ly fla-gel-lum fla-gel-la flam-ma-bles fledg-ling + flow-chart flow-charts fluoro-car-bon fluor-os-copies fluor-os-copy for-mi-da- + ble for-mi-da-bly for-syth-ia forth-right free-loader free-loaders friend-lier + friend-li-est fri-vol-ity fri-vol-i-ties friv-o-lous front-end front-ends ga- + lac-tic gal-axy gal-ax-ies gaz-et-teer gaz-et-teers gas-om-e-ter ge-o-des-ic + ge-o-det-ic ge-om-eter ge-om-eters geo-met-ric geo-met-rics ge-o-strophic geo- + ther-mal ge-ot-ro-pism giga-nodes gno-mon gno-mons gran-di-ose grand-uncle + grand-uncles griev-ance griev-ances griev-ous griev-ous-ly group-like hair- + style hair-styles hair-styl-ist hair-styl-ists half-life half-lives half-space + half-spaces half-tone half-tones half-way har-bin-ger har-bin-gers har-le-quin + har-le-quins hatch-eries hei-nous he-lio-pause he-lio-trope hemi-demi-semi- + qua-ver hemi-demi-semi-qua-vers he-mo-glo-bin he-mo-phil-ia he-mo-phil-iac he- + mo-phil-iacs hemo-rhe-ol-ogy he-pat-ic he-pat-ica her-maph-ro-dite her-maph- + ro-dit-ic he-roes hexa-dec-i-mal hip-po-po-ta-mus holo-deck holo-decks ho-lo- + no-my ho-meo-mor-phic ho-meo-mor-phism ho-meo-stat-ic ho-meo-stat-ics ho-meo- + sta-sis ho-mo-thetic horse-rad-ish hot-bed hot-beds hounds-teeth hounds-tooth + hy-dro-ther-mal hy-per-elas-tic-ity hy-phen-a-tion hy-phen-a-tions hy-po-elas- + tic-ity hy-po-thal-a-mus ico-nog-ra-pher ico-nog-ra-phers icon-o-graph-ic ico- + nog-ra-phy ideals ideo-graphs idio-syn-crasy idio-syn-cra-sies idio-syn-cratic + idio-syn-crat-i-cal-ly ig-nit-er ig-nit-ers ig-ni-tor ignore-spaces il-li-quid + il-li-quid-ity im-mu-ni-za-tion im-mu-no-mod-u-la-to-ry im-ped-ance im-ped- + ances in-du-bi-ta-ble in-fin-ite-ly in-fin-i-tes-i-mal in-fra-struc-ture in- + fra-struc-tures input-enc in-stall-er in-stall-ers in-teg-rity in-ter-dis-ci- + pli-nary in-ter-ga-lac-tic in-ter-view-ee in-ter-view-ees in-utile in-util-i- + ty ir-ra-tio-nal ir-re-duc-ible ir-re-duc-ibly ir-rev-o-ca-ble iso-geo-met-ric + iso-geo-met-rics iso-ther-mal isot-ropy iso-trop-ic itin-er-ary itin-er-ar-ies + je-re-mi-ads key-note key-notes key-stroke key-strokes kilo-nodes kiln-ing + lac-i-est lam-en-ta-ble land-scap-er land-scap-ers lar-ce-n lar-ce-ny lar-ce- + nies lar-ce-nist leaf-hop-per leaf-hop-pers leaf-let leaf-lets let-ter-spaces + let-ter-spaced let-ter-spac-ing leu-ko-cyte leu-ko-cytes leu-ko-triene leu-ko- + trienes life-span life-spans life-style life-styles lift-off light-weight lim- + ou-sines line-backer line-spacing li-on-ess li-quid-ity lith-o-graphed lith-o- + graphs lo-bot-omy lo-bot-om-ize loges long-est look-ahead lo-quac-ity love- + struck macro-eco-nomic macro-eco-nomics macro-econ-omy make-in-dex mal-a-prop- + ism mal-a-prop-isms man-slaugh-ter man-u-script man-u-scripts mar-gin-al math- + e-ma-ti-cian math-e-ma-ti-cians mattes med-ic-aid medi-ocre medi-oc-ri-ties + mega-fau-na mega-fau-nal mega-lith mega-liths mega-nodes meta-bol-ic me-tab-o- + lism me-tab-o-lisms me-tab-o-lite me-tab-o-lites meta-form meta-forms meta- + lan-guage meta-lan-guages meta-phor meta-phors meta-phor-i-cal meta-phor-i- + cal-ly meta-sta-bil-ity meta-stable meta-table meta-tables metem-psy-cho-sis + meth-am-phet-a-mine meth-ane meth-od meth-yl-am-mo-nium meth-yl-ate meth-yl- + ated meth-yl-a-tion meth-yl-ene me-trop-o-lis me-trop-o-lises met-ro-pol-i-tan + met-ro-pol-i-tans micro-eco-nomic micro-eco-nomics micro-econ-omy micro-en- + ter-prise micro-en-ter-prises mi-cro-fiche mi-cro-fiches micro-organ-ism + micro-organ-isms mi-cro-struc-ture mid-after-noon mill-age mil-li-liter mimeo- + graphed mimeo-graphs mim-ic-ries mine-sweeper mine-sweepers min-is mini-sym- + po-sium mini-sym-po-sia mi-nut-er mi-nut-est mis-chie-vous-ly mi-sers mi-sog- + a-my mne-mon-ic mne-mon-ics mod-el-ling mo-lec-u-lar mol-e-cule mol-e-cules + mon-archs money-len-der money-len-ders mono-chrome mono-en-er-getic mon-oid + mon-oph-thong mon-oph-thongs mono-pole mono-poles mo-nop-oly mono-space mono- + spaced mono-spacing mono-spline mono-splines mono-strofic mo-not-o-nies mo- + not-o-nous mo-ron-ism mos-qui-to mos-qui-tos mos-qui-toes mud-room mud-rooms + mul-ti-fac-eted mul-ti-plic-able mul-ti-plic-ably multi-user name-space name- + spaces neo-fields neo-nazi neo-nazis neph-ews neph-rite neph-ritic new-est + news-let-ter news-let-ters nil-po-tent nitro-meth-ane node-list node-lists no- + name non-ar-ith-met-ic non-emer-gency non-equi-vari-ance none-the-less non- + euclid-ean non-iso-mor-phic non-pseudo-com-pact non-smooth non-uni-form non- + uni-form-ly non-zero nor-ep-i-neph-rine not-with-stand-ing nu-cleo-tide nu- + cleo-tides nut-crack-er nut-crack-ers oer-steds off-line off-load off-loads + off-loaded oli-gop-o-list oli-gop-o-lists oli-gop-oly oli-gop-ol-ies om-ni- + pres-ent om-ni-pres-ence ono-mat-o-poe-ia ono-mat-o-po-et-ic op-er-and op-er- + ands orang-utan orang-utans or-tho-don-tist or-tho-don-tists or-tho-ker-a-tol- + ogy ortho-nitro-toluene over-view over-views ox-id-ic pad-ding page-rank pain- + less-ly pal-ette pal-ettes pa-rab-ola par-a-bol-ic pa-rab-o-loid par-a-digm + par-a-digms para-chute para-chutes para-di-methyl-benzene para-fluoro-toluene + para-graph-er para-le-gal par-al-lel-ism para-mag-net-ism para-medic para- + methyl-anisole pa-ram-e-tri-za-tion pa-ram-e-trize para-mil-i-tary para-mount + path-o-gen-ic peev-ish peev-ish-ness pen-al-ty pen-al-ties pen-ta-gon pen-ta- + gons pe-tro-le-um phe-nol-phthalein phe-nom-e-non phenyl-ala-nine phi-lat-e- + list phi-lat-e-lists pho-neme pho-nemes pho-ne-mic phos-phor-ic pho-to-graphs + pho-to-off-set phtha-lam-ic phthal-ate phthi-sis pic-a-dor pic-a-dors pipe- + line pipe-lines pipe-lin-ing pi-ra-nhas placa-ble plant-hop-per plant-hop-pers + pla-teau pla-teaus pleas-ance plug-in plug-ins pol-ter-geist poly-an-dr poly- + an-dry poly-an-drous poly-dac-tyl poly-dac-tyl-lic poly-ene poly-eth-yl-ene + po-lyg-a-mist po-lyg-a-mists polyg-on-i-za-tion po-lyg-y-n po-lyg-y-ny po-lyg- + y-nous pol-yp pol-yps po-lyph-o-n po-lyph-o-ny po-lyph-o-nous poly-phon-ic + poly-styrene pome-gran-ate poro-elas-tic por-ous por-ta-ble post-am-ble post- + am-bles post-hu-mous post-script post-scripts pos-tur-al pre-am-ble pre-am- + bles pre-dict-able pre-fers pre-loaded pre-par-ing pre-print pre-prints pre- + proces-sor pre-proces-sors pres-ent-ly pre-split-ting pre-wrap pre-wrapped + priest-esses pret-ty-prin-ter pret-ty-prin-ting pro-ce-dur-al process pro-cur- + ance prog-e-nies prog-e-ny pro-gram-mable pro-kary-ote pro-kary-otes pro-kary- + ot-ic prom-i-nent pro-mis-cu-ous prom-is-sory prom-ise prom-ises pro-pel-ler + pro-pel-lers pro-pel-ling pro-hib-i-tive pro-hib-i-tive-ly pro-sciut-to pros- + ta-glan-din pros-ta-glan-dins pro-style pro-styles pro-test-er pro-test-ers + pro-tes-tor pro-tes-tors pro-to-lan-guage pro-to-typ-al prov-ince prov-inces + pro-vin-cial pro-virus pro-viruses prow-ess pseu-do-dif-fer-en-tial pseu-do- + fi-nite pseu-do-fi-nite-ly pseu-do-forces pseu-dog-ra-pher pseu-do-group pseu- + do-groups pseu-do-nym pseu-do-nyms pseu-do-word pseu-do-words psy-che-del-ic + psychs pu-bes-cence pur-ges quad-ding qua-drat-ic qua-drat-ics quad-ra-ture + quad-ri-lat-er-al quad-ri-lat-er-als quad-ri-pleg-ic quad-ru-ped quad-ru-peds + quad-ru-pole quad-ru-poles quaint-er quaint-est qua-si-equiv-a-lence qua-si- + equiv-a-lences qua-si-equiv-a-lent qua-si-hy-po-nor-mal qua-si-rad-i-cal qua- + si-resid-ual qua-si-smooth qua-si-sta-tion-ary qua-si-topos qua-si-tri-an-gu- + lar qua-si-triv-ial quin-tes-sence quin-tes-sences quin-tes-sen-tial rab-bit- + ry ra-di-og-ra-phy raff-ish raff-ish-ly ram-shackle rav-en-ous re-allo-cate + re-allo-cates re-allo-cated re-arrange re-arranges re-arranged re-arrange-ment + re-arrange-ments rec-i-proc-i-ties rec-i-proc-i-ty rec-tan-gle rec-tan-gles + rec-tan-gu-lar re-di-rect re-di-rect-ion re-duc-ible re-echo re-edu-cate ref- + u-gee ref-u-gees re-imple-ment re-imple-ments re-imple-mented re-imple-men-ta- + tion ren-ais-sance re-phrase re-phrases re-phrased re-po-si-tion re-po-si- + tions re-print re-prints re-print-ed re-stor-able retro-fit retro-fit-ted re- + us-able re-use re-wire re-wrap re-wrapped re-write rhi-noc-er-os right-eous + right-eous-ness ring-leader ring-leaders ro-bot ro-bots ro-botic ro-bot-ics + roof-top roof-tops round-table round-tables sales-clerk sales-clerks sales- + woman sales-women sa-lient sal-mo-nel-la sal-ta-tion sar-sa-par-il-la sat-el- + lite sat-el-lites sauer-kraut scat-o-log-i-cal scene-shift-er scene-shift-ing + sched-ul-ing schiz-o-phrenic schnau-zer school-child school-child-ren school- + teacher school-teach-ers scru-ti-ny scyth-ing sell-er sell-ers sec-re-tar-iat + sec-re-tar-iats sem-a-phore sem-a-phores se-mes-ter semi-def-i-nite semi-di- + rect semi-ho-mo-thet-ic semi-ring semi-rings semi-sim-ple semi-skilled sem- + itic ser-geant ser-geants sero-epi-de-mi-o-log-i-cal ser-vo-me-chan-i-cal ser- + vo-mech-a-nism ser-vo-mech-a-nisms ses-qui-pe-da-lian set-up set-ups se-vere- + ly shap-able shape-able shoe-string shoe-strings shop-lift-er shop-lift-ing + show-hy-phens side-step side-steps side-swipe sign-age single-space single- + spaced single-spacing sky-scraper sky-scrapers sln-uni-code smoke-stack smoke- + stacks snor-kel-ing so-le-noid so-le-noids solute solutes sov-er-eign sov-er- + eigns spa-ces spe-cious spell-er spell-ers spell-ing spe-lunk-er spend-thrift + spher-oid spher-oids spher-oid-al sphin-ges spic-i-ly spin-or spin-ors spokes- + man spokes-per-son spokes-per-sons spokes-woman spokes-women sports-cast + sports-cast-er spor-tive-ly sports-wear sports-writer sports-writers spright- + lier squea-mish stand-alone star-tling star-tling-ly sta-tis-tics stealth-ily + steeple-chase stereo-graph-ic sto-chas-tic strange-ness strap-hanger strat-a- + gem strat-a-gems stretch-i-er strip-tease strong-est strong-hold stu-pid-er + stu-pid-est sub-dif-fer-en-tial sub-ex-pres-sion sub-ex-pres-sions sub-node + sub-nodes sub-scrib-er sub-scrib-ers sub-tables sum-ma-ble super-deri-va-tion + super-deri-va-tions super-ego super-egos su-prem-a-cist su-prem-a-cists sur- + gery sur-ge-ries sur-ges sur-veil-lance swim-ming-ly symp-to-matic syn-chro- + mesh syn-chro-nous syn-chro-tron taff-rail take-over take-overs talk-a-tive + ta-pes-try ta-pes-tries tar-pau-lin tar-pau-lins te-leg-ra-pher te-leg-ra- + phers tele-ki-net-ic tele-ki-net-ics tele-ro-bot-ics tell-er tell-ers tem-po- + rar-ily ten-ure test-bed tera-nodes tetra-butyl-ammo-nium text-height text- + length text-width thal-a-mus ther-mo-elas-tic time-stamp time-stamps tool-kit + tool-kits topo-graph-i-cal topo-iso-mer-ase topo-iso-mer-ases toques trai-tor- + ous trans-ceiver trans-ceivers trans-par-en-cy trans-par-en-cies trans-gress + trans-ver-sal trans-ver-sals trans-ves-tite trans-ves-tites tra-vers-a-ble + tra-ver-sal tra-ver-sals tri-ethyl-amine treach-eries tribes-man trip-let + trip-lets tri-plex tri-plex-es trou-ba-dour tur-key tur-keys turn-around turn- + arounds typ-al un-at-tached un-err-ing-ly un-friend-ly un-friend-li-er un-in- + stan-ti-at-ed vaguer vaude-ville vic-ars vil-lain-ess vis-ual vis-ual-ly vi- + vip-a-rous voice-print vspace wad-ding wall-flower wall-flow-ers warm-er warm- + est waste-water wave-guide wave-guides wave-let wave-lets weap-ons weap-on-ry + web-like web-log web-logs week-night week-nights weight-lift-er weight-lift- + ing wheel-chair wheel-chairs which-ever white-sided white-space white-spaces + wide-spread wing-span wing-spans wing-spread witch-craft word-spac-ing work- + around work-arounds work-horse work-horses wrap-around wrap-arounds wretch-ed + wretch-ed-ly yes-ter-year Alex-an-der Alex-an-drine al-ge-brai-sche Al-gon- + quian Al-gon-quin Al-le-ghe-ny Apol-lo-dorus Ar-kan-sas ATP-ase ATP-ases Auf- + lage Aus-tral-asian auto-ma-ti-sier-ter Beb-chuk Be-die-nung Bembo bi-blio- + gra-phi-sche Bos-ton Brown-ian Bruns-wick Bu-da-pest Burck-hardt Cara-theo- + dory Car-ib-bean Charles-ton Char-lottes-ville Ches-ter Chiang Chich-es-ter + Cohen Co-lum-bia Czecho-slo-va-kia Del-a-ware Dijk-stra Dor-ches-ter Dorf- + leit-ner Drechs-ler Duane dy-na-mi-sche Eijk-hout Engle Engel Eng-lish Euler- + ian Evan-ston Feb-ru-ary Fest-schrift Flor-i-da Flor-i-d-ian For-schungs-in- + sti-tut Free-BSD funk-tsional Gauss-ian Ge-sell-schaft Ghost-script Ghost-View + Gott-fried Gott-lieb Grass-mann-ian Greifs-wald Grothen-dieck Grund-leh-ren + Ha-da-mard Hai-fa Hamil-ton-ian Hel-sinki Her-mit-ian Hibbs Hoef-ler Hoek- + water Hok-kai-do Huber Image-Magick Jac-kow-ski Jan-u-ary Ja-pa-nese Java- + Script Jung-ian Kad-om-tsev Kan-sas Karls-ruhe Keynes-ian Kor-te-weg Krishna + Krish-na-ism Krish-nan Kron-ecker Lan-cas-ter Le-gendre Leices-ter Lip-schitz + Lip-schitz-ian Loj-ban Lou-i-si-ana Lucas MacBeth Mac-OS Ma-gel-lan Ma-la-ya- + lam Man-ches-ter Mar-kov-ian Markt-ober-dorf Mass-a-chu-setts Max-well Meth- + od-ist Meth-od-ism Mi-cro-soft Min-kow-ski Min-ne-ap-o-lis Min-ne-sota Mont- + real Mos-cow Nach-rich-ten Nash-ville Net-BSD Net-scape Nietz-sche Nij-me-gen + Noe-ther-ian Noord-wijker-hout Noto-wi-digdo No-vem-ber Obst-feld Open-BSD + Open-Office Oreo-pou-los Pala-tino Pa-ler-mo Pe-trov-ski Pfaff-ian Phil-a-del- + phia phi-lo-so-phi-sche Poin-care Po-ten-tial-glei-chung Po-to-mac Pres-by- + terian Pres-by-terians Pyong-yang Py-thag-o-ras Py-thag-o-re-an Ra-dha-krish- + nan raths-kel-ler Ravi-kumar Reich-lin Rie-mann-ian Ryd-berg Schim-mel-pfen- + nig schot-ti-sche Schro-din-ger Schwa-ba-cher Schwarz-schild Schweid-nitz + Schwert Sep-tem-ber Shore-ditch Skoup Stokes-sche Stutt-gart Sus-que-han-na + Tau-ber-ian tech-ni-sche Ten-nes-see Thiruv-ananda-puram Tol-ches-ter To-ma- + szew-ski Toyo-ta ty-po-graphique Ukrain-ian ver-all-ge-mei-nerte Ver-ei-ni- + gung Ver-tei-lun-gen Vid-ias-sov Vieth viiith viith Wahr-schein-lich-keits- + theo-rie Wein-stein Werk-zeuge Wer-ner Wer-ther-ian Will-iam Will-iams Win- + ches-ter Wirt-schaft wis-sen-schaft-lich Wolff-ian xviiith xviith xxiiird + xxiind Ying-yong Shu-xue Ji-suan Zea-land + Zeit-schrift +} + +\endinput + +%% +%% End of file `siamart171218.cls'. + + diff --git a/latex/SIAM_template/siamplain.bst b/latex/SIAM_template/siamplain.bst new file mode 100644 index 0000000..3550393 --- /dev/null +++ b/latex/SIAM_template/siamplain.bst @@ -0,0 +1,1151 @@ + +% ====================== SIAM.BST ================================ % +% SIAM bibliography style (24-Jan-88 version) +% numeric labels, alphabetic order, Mathematical Reviews abbreviations, +% names in \sc, titles in italics, book titles mixed upper-lower and +%article +% titles lowercase, commas separate all fields except before "notes". +% +% History +% 1/30/86 (HWT) Original version, by Howard Trickey. +% 6/15/87 (HWT) Fix format.editors---Martin Costabel. +% 1/24/88 (OP&HWT) Updated for BibTeX version 0.99a, Oren Patashnik; +% THIS `siam' VERSION DOES NOT WORK WITH BIBTEX 0.98i. +% 4/3/15 (TGK) Added support for electronic crossreferences and article IDs. +% 6/9/16 (JEH) Fixed DOI, arXiv, and PubMed entries. +% 6/14/16 (JEH) Fixed format.editors function. +% 11/4/16 (JEH) Changes to DOI, arXiv, and PubMed entries. +% 12/14/17 (JEH) Fixed another issue with the format.editors function. +% 11/20/18 (JS) Fixed a bug with the editor and author fields. + +ENTRY + { address + author + booktitle + chapter + edition + editor + eid + howpublished + institution + journal + key + month + note + number + pagetotal + organization + pages + publisher + school + series + title + type + volume + year + url + urldate + doi + doiclass + eprint + eprintclass + archive + archiveprefix + } + {} + { label } + +INTEGERS { output.state before.all mid.sentence after.block } + +FUNCTION {init.state.consts} +{ #0 'before.all := + #1 'mid.sentence := + #2 'after.block := +} + +STRINGS { s t } + +FUNCTION {output.nonnull} +{ 's := + output.state mid.sentence = + { ", " * write$ } + { output.state after.block = + { add.period$ write$ + newline$ + "\newblock " write$ + } + 'write$ + if$ + mid.sentence 'output.state := + } + if$ + s +} + +FUNCTION {output} +{ duplicate$ empty$ + 'pop$ + 'output.nonnull + if$ +} + +FUNCTION {output.check} +{ 't := + duplicate$ empty$ + { pop$ "empty " t * " in " * cite$ * warning$ } + 'output.nonnull + if$ +} + +FUNCTION {output.bibitem} +{ newline$ + "\bibitem{" write$ + cite$ write$ + "}" write$ + newline$ + "" + before.all 'output.state := +} + +FUNCTION {fin.entry} +{ add.period$ + write$ + newline$ +} + +FUNCTION {new.block} +{ output.state before.all = + 'skip$ + { after.block 'output.state := } + if$ +} + +FUNCTION {not} +{ { #0 } + { #1 } + if$ +} + +FUNCTION {and} +{ 'skip$ + { pop$ #0 } + if$ +} + +FUNCTION {or} +{ { pop$ #1 } + 'skip$ + if$ +} + +FUNCTION {new.block.checka} +{ empty$ + 'skip$ + 'new.block + if$ +} + +FUNCTION {field.or.null} +{ duplicate$ empty$ + { pop$ "" } + 'skip$ + if$ +} + +FUNCTION {emphasize} +{ duplicate$ empty$ + { pop$ "" } + { "{\em " swap$ * "}" * } + if$ +} + +FUNCTION {scapify} +{ duplicate$ empty$ + { pop$ "" } + { "{\sc " swap$ * "}" * } + if$ +} + +INTEGERS { nameptr namesleft numnames } + +FUNCTION {format.names} +{ 's := + #1 'nameptr := + s num.names$ 'numnames := + numnames 'namesleft := + { namesleft #0 > } + { s nameptr "{f.~}{vv~}{ll}{, jj}" format.name$ 't := + %{ s nameptr "{ff~}{vv~}{ll}{, jj}" format.name$ 't := + nameptr #1 > + { namesleft #1 > + { ", " * t * } + { numnames #2 > + { "," * } + 'skip$ + if$ + t "others" = + { " et~al." * } + { " and " * t * } + if$ + } + if$ + } + 't + if$ + nameptr #1 + 'nameptr := + namesleft #1 - 'namesleft := + } + while$ +} + +STRINGS { last.authors } + + +FUNCTION {format.authors} +{ author empty$ + { "" } + { author format.names scapify } + if$ +} + +FUNCTION {format.organization} +{ organization empty$ + { "" } + { organization scapify } + if$ +} + +FUNCTION {format.editors} +{ editor empty$ + { "" } + { author empty$ %in this case, see format.authors + { editor format.names scapify editor num.names$ #1 > + { ", eds." * } + { ", ed." * } + if$ + } + { "" } + if$ + } + if$ +} + +FUNCTION {format.ineditors} +{ editor empty$ + { "" } + { editor format.names + editor num.names$ #1 > + { ", eds." * } + { ", ed." * } + if$ + } + if$ +} + +FUNCTION {format.archive} +{ + archiveprefix empty$ + { "" } + { archiveprefix ":" *} + if$ +} + +FUNCTION {format.eprintclass} +{ + eprintclass empty$ + { "" } + { " [" eprintclass * "]" *} + if$ +} + +FUNCTION {format.eprint} +{ eprint empty$ + { "" } + { archive empty$ + {"\url{https://arxiv.org/abs/" eprint * "}" * } + {"\url{" archive * "/" * eprint * "} " * } + if$ + } + if$ +} + +FUNCTION {format.url} +{ url empty$ + { "" } + { urldate empty$ + { "\url{" url * "}" * } + { "\url{" url * "} (accessed " * urldate * ")" * } + if$ + } + if$ +} + +FUNCTION {format.doiclass} +{ + doiclass empty$ + { "" } + { " [" doiclass * "]" *} + if$ +} + +FUNCTION {format.doi} +{ doi empty$ + { "" } + { archive empty$ + { "\url{https://doi.org/" doi * "}" * } + { "\url{https://doi.org/" doi * "}" * } + if$ + } + if$ +} + +FUNCTION {format.title} +{ title empty$ + { "" } + { title "t" change.case$ emphasize } + if$ +} + +FUNCTION {n.dashify} +{ 't := + "" + { t empty$ not } + { t #1 #1 substring$ "-" = + { t #1 #2 substring$ "--" = not + { "--" * + t #2 global.max$ substring$ 't := + } + { { t #1 #1 substring$ "-" = } + { "-" * + t #2 global.max$ substring$ 't := + } + while$ + } + if$ + } + { t #1 #1 substring$ * + t #2 global.max$ substring$ 't := + } + if$ + } + while$ +} + +FUNCTION {format.date} +{ year empty$ + { month empty$ + { "" } + { "there's a month but no year in " cite$ * warning$ + month + } + if$ + } + { month empty$ + 'year + { month " " * year * } + if$ + } + if$ +} + +FUNCTION {format.btitle} +{ title emphasize +} + +FUNCTION {tie.or.space.connect} +{ duplicate$ text.length$ #3 < + { "~" } + { " " } + if$ + swap$ * * +} + +FUNCTION {either.or.check} +{ empty$ + 'pop$ + { "can't use both " swap$ * " fields in " * cite$ * warning$ } + if$ +} + +FUNCTION {format.bvolume} +{ volume empty$ + { "" } + { "vol.~" volume * + series empty$ + 'skip$ + { " of " * series * } + if$ + "volume and number" number either.or.check + } + if$ +} + +FUNCTION {format.number.series} +{ volume empty$ + { number empty$ + { series field.or.null } + { "no.~" number * + series empty$ + { "there's a number but no series in " cite$ * warning$ } + { " in " * series * } + if$ + } + if$ + } + { "" } + if$ +} + +FUNCTION {format.edition} +{ edition empty$ + { "" } + { edition "l" change.case$ "~ed." * } + if$ +} + +INTEGERS { multiresult } + +FUNCTION {multi.page.check} +{ 't := + #0 'multiresult := + { multiresult not + t empty$ not + and + } + { t #1 #1 substring$ + duplicate$ "-" = + swap$ duplicate$ "," = + swap$ "+" = + or or + { #1 'multiresult := } + { t #2 global.max$ substring$ 't := } + if$ + } + while$ + multiresult +} + +FUNCTION {format.pagetotal} +{ + pagetotal empty$ + { "" } + { pagetotal "~pages" * } + if$ +} + +FUNCTION {format.eid} +{ + eid empty$ + { "" } + { pagetotal empty$ + { eid } + { eid " (" * format.pagetotal * ")" *} + if$ + } + if$ +} + +FUNCTION {format.pages} +{ pages empty$ + { "" } + { pages multi.page.check + { "pp.~" pages n.dashify * } + { "p.~" pages * } + if$ + } + if$ +} + +FUNCTION {format.vol.year} +{ volume field.or.null + year empty$ + { "empty year in " cite$ * warning$ } + { " (" year * ")" * * } + if$ +} + +FUNCTION {format.chapter.pages} +{ chapter empty$ + 'format.pages + { type empty$ + { "ch.~" chapter * } + { type "l" change.case$ chapter tie.or.space.connect } + if$ + pages empty$ + 'skip$ + { ", " * format.pages * } + if$ + } + if$ +} + +FUNCTION {format.in.ed.booktitle} +{ booktitle empty$ + { "" } + { editor empty$ + { "in " booktitle * } + { "in " booktitle * ", " * format.ineditors * } + if$ + } + if$ +} + +FUNCTION {empty.misc.check} +{ author empty$ title empty$ howpublished empty$ + month empty$ year empty$ note empty$ + and and and and and + key empty$ not and + { "all relevant fields are empty in " cite$ * warning$ } + 'skip$ + if$ +} + +FUNCTION {format.thesis.type} +{ type empty$ + 'skip$ + { pop$ + type "l" change.case$ + } + if$ +} + +FUNCTION {format.tr.number} +{ type empty$ + { "Tech. Report" } + 'type + if$ + number empty$ + { "l" change.case$ } + { number tie.or.space.connect } + if$ +} + +FUNCTION {format.article.crossref} +{ key empty$ + { journal empty$ + { "need key or journal for " cite$ * " to crossref " * crossref * + warning$ + "" + } + { "in " journal * } + if$ + } + { "in " key * } + if$ + " \cite{" * crossref * "}" * +} + +FUNCTION {format.crossref.editor} +{ editor #1 "{vv~}{ll}" format.name$ + editor num.names$ duplicate$ + #2 > + { pop$ " et~al." * } + { #2 < + 'skip$ + { editor #2 "{ff }{vv }{ll}{ jj}" format.name$ "others" = + { " et~al." * } + { " and " * editor #2 "{vv~}{ll}" format.name$ * } + if$ + } + if$ + } + if$ +} + +FUNCTION {format.book.crossref} +{ volume empty$ + { "empty volume in " cite$ * "'s crossref of " * crossref * warning$ + "in " + } + { "vol.~" volume * + " of " * + } + if$ + editor empty$ + editor field.or.null author field.or.null = + or + { key empty$ + { series empty$ + { "need editor, key, or series for " cite$ * " to crossref " * + crossref * warning$ + "" * + } + { series * } + if$ + } + { key * } + if$ + } + { format.crossref.editor * } + if$ + " \cite{" * crossref * "}" * +} + +FUNCTION {format.incoll.inproc.crossref} +{ editor empty$ + editor field.or.null author field.or.null = + or + { key empty$ + { booktitle empty$ + { "need editor, key, or booktitle for " cite$ * " to crossref " * + crossref * warning$ + "" + } + { "in " booktitle * } + if$ + } + { "in " key * } + if$ + } + { "in " format.crossref.editor * } + if$ + " \cite{" * crossref * "}" * +} + +FUNCTION {article} +{ output.bibitem + format.authors "author" output.check + format.title "title" output.check + crossref missing$ + { journal "journal" output.check + format.vol.year output + } + { format.article.crossref output.nonnull } + if$ + format.eid output + format.pages output + format.doi output + format.url output + format.eprint output + new.block + note output + fin.entry +} + +FUNCTION {book} +{ output.bibitem + author empty$ + { format.editors "author and editor" output.check } + { format.authors output.nonnull + crossref missing$ + { "author and editor" editor either.or.check } + 'skip$ + if$ + } + if$ + format.btitle "title" output.check + crossref missing$ + { format.bvolume output + format.number.series output + publisher "publisher" output.check + address output + } + { format.book.crossref output.nonnull } + if$ + format.edition output + format.date "year" output.check + format.doi output + format.url output + format.eprint output + new.block + note output + fin.entry +} + +FUNCTION {booklet} +{ output.bibitem + format.authors output + format.title "title" output.check + howpublished new.block.checka + howpublished output + address output + format.date output + format.doi output + format.url output + format.eprint output + new.block + note output + fin.entry +} + +FUNCTION {inbook} +{ output.bibitem + author empty$ + { format.editors "author and editor" output.check } + { format.authors output.nonnull + crossref missing$ + { "author and editor" editor either.or.check } + 'skip$ + if$ + } + if$ + format.btitle "title" output.check + crossref missing$ + { format.bvolume output + format.number.series output + publisher "publisher" output.check + address output + } + { format.book.crossref output.nonnull } + if$ + format.edition output + format.date "year" output.check + format.chapter.pages "chapter and pages" output.check + format.doi output + format.url output + format.eprint output + new.block + note output + fin.entry +} + +FUNCTION {incollection} +{ output.bibitem + format.authors "author" output.check + format.title "title" output.check + crossref missing$ + { format.in.ed.booktitle "booktitle" output.check + format.bvolume output + format.number.series output + publisher "publisher" output.check + address output + format.edition output + format.date "year" output.check + } + { format.incoll.inproc.crossref output.nonnull } + if$ + format.chapter.pages output + format.doi output + format.url output + format.eprint output + new.block + note output + fin.entry +} + +FUNCTION {inproceedings} +{ output.bibitem + format.authors "author" output.check + format.title "title" output.check + crossref missing$ + { format.in.ed.booktitle "booktitle" output.check + format.bvolume output + format.number.series output + address empty$ + { organization output + publisher output + format.date "year" output.check + } + { address output.nonnull + format.date "year" output.check + organization output + publisher output + } + if$ + } + { format.incoll.inproc.crossref output.nonnull } + if$ + format.pages output + format.doi output + format.url output + format.eprint output + new.block + note output + fin.entry +} + +FUNCTION {conference} { inproceedings } + +FUNCTION {manual} +{ output.bibitem + author empty$ + { format.organization output } + { format.authors output.nonnull } + if$ + format.btitle "title" output.check + author empty$ + 'skip$ + { organization output } + if$ + address output + format.edition output + format.date output + format.doi output + format.url output + format.eprint output + new.block + note output + fin.entry +} + +FUNCTION {mastersthesis} +{ output.bibitem + format.authors "author" output.check + format.title "title" output.check + "master's thesis" format.thesis.type output.nonnull + school "school" output.check + address output + format.date "year" output.check + format.doi output + format.url output + format.eprint output + new.block + note output + fin.entry +} + +FUNCTION {misc} +{ output.bibitem + format.authors output + format.title output + howpublished new.block.checka + howpublished output + format.date output + format.doi output + format.url output + format.eprint output + new.block + note output + fin.entry + empty.misc.check +} + +FUNCTION {phdthesis} +{ output.bibitem + format.authors "author" output.check + format.btitle "title" output.check + "PhD thesis" format.thesis.type output.nonnull + school "school" output.check + address output + format.date "year" output.check + format.doi output + format.url output + format.eprint output + new.block + note output + fin.entry +} + +FUNCTION {proceedings} +{ output.bibitem + editor empty$ + { format.organization output } + { format.editors output.nonnull } + if$ + format.btitle "title" output.check + format.bvolume output + format.number.series output + address empty$ + { editor empty$ + 'skip$ + { organization output } + if$ + publisher output + format.date "year" output.check + } + { address output.nonnull + format.date "year" output.check + editor empty$ + 'skip$ + { organization output } + if$ + publisher output + } + if$ + format.doi output + format.url output + format.eprint output + new.block + note output + fin.entry +} + +FUNCTION {techreport} +{ output.bibitem + format.authors "author" output.check + format.title "title" output.check + format.tr.number output.nonnull + institution "institution" output.check + address output + format.date "year" output.check + format.doi output + format.url output + format.eprint output + new.block + note output + fin.entry +} + +FUNCTION {unpublished} +{ output.bibitem + format.authors "author" output.check + format.title "title" output.check + new.block + note "note" output.check + format.date output + format.doi output + format.url output + format.eprint output + fin.entry +} + +FUNCTION {default.type} { misc } + +MACRO {jan} {"Jan."} + +MACRO {feb} {"Feb."} + +MACRO {mar} {"Mar."} + +MACRO {apr} {"Apr."} + +MACRO {may} {"May"} + +MACRO {jun} {"June"} + +MACRO {jul} {"July"} + +MACRO {aug} {"Aug."} + +MACRO {sep} {"Sept."} + +MACRO {oct} {"Oct."} + +MACRO {nov} {"Nov."} + +MACRO {dec} {"Dec."} + +MACRO {acmcs} {"ACM Comput. Surveys"} + +MACRO {acta} {"Acta Inf."} + +MACRO {cacm} {"Comm. ACM"} + +MACRO {ibmjrd} {"IBM J. Res. Dev."} + +MACRO {ibmsj} {"IBM Syst.~J."} + +MACRO {ieeese} {"IEEE Trans. Softw. Eng."} + +MACRO {ieeetc} {"IEEE Trans. Comput."} + +MACRO {ieeetcad} + {"IEEE Trans. Comput.-Aided Design Integrated Circuits"} + +MACRO {ipl} {"Inf. Process. Lett."} + +MACRO {jacm} {"J.~Assoc. Comput. Mach."} + +MACRO {jcss} {"J.~Comput. System Sci."} + +MACRO {scp} {"Sci. Comput. Programming"} + +MACRO {sicomp} {"SIAM J. Comput."} + +MACRO {tocs} {"ACM Trans. Comput. Syst."} + +MACRO {tods} {"ACM Trans. Database Syst."} + +MACRO {tog} {"ACM Trans. Gr."} + +MACRO {toms} {"ACM Trans. Math. Softw."} + +MACRO {toois} {"ACM Trans. Office Inf. Syst."} + +MACRO {toplas} {"ACM Trans. Prog. Lang. Syst."} + +MACRO {tcs} {"Theoretical Comput. Sci."} + +READ + +FUNCTION {sortify} +{ purify$ + "l" change.case$ +} + +INTEGERS { len } + +FUNCTION {chop.word} +{ 's := + 'len := + s #1 len substring$ = + { s len #1 + global.max$ substring$ } + 's + if$ +} + +FUNCTION {sort.format.names} +{ 's := + #1 'nameptr := + "" + s num.names$ 'numnames := + numnames 'namesleft := + { namesleft #0 > } + { nameptr #1 > + { " " * } + 'skip$ + if$ + s nameptr "{vv{ } }{ll{ }}{ f{ }}{ jj{ }}" format.name$ 't := + nameptr numnames = t "others" = and + { "et al" * } + { t sortify * } + if$ + nameptr #1 + 'nameptr := + namesleft #1 - 'namesleft := + } + while$ +} + +FUNCTION {sort.format.title} +{ 't := + "A " #2 + "An " #3 + "The " #4 t chop.word + chop.word + chop.word + sortify + #1 global.max$ substring$ +} + +FUNCTION {author.sort} +{ author empty$ + { key empty$ + { "to sort, need author or key in " cite$ * warning$ + "" + } + { key sortify } + if$ + } + { author sort.format.names } + if$ +} + +FUNCTION {author.editor.sort} +{ author empty$ + { editor empty$ + { key empty$ + { "to sort, need author, editor, or key in " cite$ * warning$ + "" + } + { key sortify } + if$ + } + { editor sort.format.names } + if$ + } + { author sort.format.names } + if$ +} + +FUNCTION {author.organization.sort} +{ author empty$ + { organization empty$ + { key empty$ + { "to sort, need author, organization, or key in " cite$ * warning$ + "" + } + { key sortify } + if$ + } + { "The " #4 organization chop.word sortify } + if$ + } + { author sort.format.names } + if$ +} + +FUNCTION {editor.organization.sort} +{ editor empty$ + { organization empty$ + { key empty$ + { "to sort, need editor, organization, or key in " cite$ * warning$ + "" + } + { key sortify } + if$ + } + { "The " #4 organization chop.word sortify } + if$ + } + { editor sort.format.names } + if$ +} + +FUNCTION {presort} +{ type$ "book" = + type$ "inbook" = + or + 'author.editor.sort + { type$ "proceedings" = + 'editor.organization.sort + { type$ "manual" = + 'author.organization.sort + 'author.sort + if$ + } + if$ + } + if$ + " " + * + year field.or.null sortify + * + " " + * + title field.or.null + sort.format.title + * + #1 entry.max$ substring$ + 'sort.key$ := +} + +ITERATE {presort} + +SORT + +STRINGS { longest.label } + +INTEGERS { number.label longest.label.width } + +FUNCTION {initialize.longest.label} +{ "" 'longest.label := + #1 'number.label := + #0 'longest.label.width := +} + +FUNCTION {longest.label.pass} +{ number.label int.to.str$ 'label := + number.label #1 + 'number.label := + label width$ longest.label.width > + { label 'longest.label := + label width$ 'longest.label.width := + } + 'skip$ + if$ +} + +EXECUTE {initialize.longest.label} + +ITERATE {longest.label.pass} + +FUNCTION {begin.bib} +{ preamble$ empty$ + 'skip$ + { preamble$ write$ newline$ } + if$ + "\begin{thebibliography}{" longest.label * "}" * write$ newline$ +} + +EXECUTE {begin.bib} + +EXECUTE {init.state.consts} + +ITERATE {call.type$} + +FUNCTION {end.bib} +{ newline$ + "\end{thebibliography}" write$ newline$ +} + +EXECUTE {end.bib} + diff --git a/latex/hkust_phd_thesis/000_thesis.tex b/latex/hkust_phd_thesis/000_thesis.tex new file mode 100644 index 0000000..a424fe3 --- /dev/null +++ b/latex/hkust_phd_thesis/000_thesis.tex @@ -0,0 +1,229 @@ +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% % +% ustthesis_test.tex: A template file for usage with ustthesis.cls % +% % +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +\documentclass[a4paper]{ustthesis} +\usepackage[square,numbers]{natbib} +\usepackage{xeCJK} +\usepackage[T1]{fontenc} +%\usepackage{algorithm} +%\usepackage{algorithmic} +\usepackage{longtable} +\usepackage{url} +\usepackage{multirow} +\usepackage{graphics} +\usepackage{graphicx} +\usepackage{amsmath} +\usepackage{cases} +\usepackage{colortbl} +\usepackage{xcolor} +\usepackage{times} +\usepackage{array} +%\usepackage{hyperref} +\usepackage{pdflscape} +\DeclareMathOperator*{\argmax}{argmax} % for argmax +\setCJKmainfont{AR PL UMing HK} + +% \usepackage{latexsym} + % Use the "latexsym" package when encountering the following error: + % ! LaTeX Error: Command \??? not provided in base LaTeX2e. +% \usepackage{epsf} + % Use the "epsf" package for including EPS files. + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% % +% Preambles. DO NOT ERASE THEM. Change to suite your particular purpose.% +% % +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +\title{Thesis Title with the First Letter of All Words Capitalized, except for Prepositions, Articles and Coordinate Conjunctions} % Title of the thesis. +\author{You name as found in official HKUST records, excluding any titles} % Author of the thesis. +\degree{\PhD} % Degree for which the thesis is. Options: \AM \MSc \MPhil \PhD +\stage{\Thesis} % Stage of PhD document; use \Thesis for all other degree. Options: \PQE \Proposal \Thesis +\subject{Name of Program} % Subject of the Degree. +\department{Name of Department/Division/Program Office} % Department to which the thesis is submitted. +\advisor{name of your supervisor} % Supervisor. Additional co-supervisor can be added using \member +%\acting % Uncomment for Accting department head +\depthead{name of your Department/Division/Program Office Head} % department head. +\defencedate{2023}{05}{10} % \defencedate{year}{month}{day}. + +% NOTE: +% According to the sample shown in the guidelines, page number is +% placed below the bottom margin. However, if the author prefers +% the page number to be printed above the bottom margin, please +% activate the following command. + +%\PNumberAboveBottomMargin + +\begin{document} +%\begin{CJK}{UTF8}{song} % Bitstream Cyber Bit song ti + +%\begin{CJK*}{UTF8}{gbsn} % Arphic song ti + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% % +% Now the actual Thesis. The order of output MUST be followed: % +% % +% 1) TITLEPAGE % +% % +% The \maketitle command generates the Title page as well as the % +% Signature page. % +% % +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +\maketitle + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% % +% 2) DEDICATION (Optional) % +% % +% The \dedication and \enddedication commands are optional. If % +% specified it generates a page for dedication. % +% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +\dedication +% This is an optional section. +\input{00I_dedication.tex} +\enddedication +\newpage + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% % +% 3) ACKNOWLEDGMENTS % +% % +% \acknowledgments and \endacknowledgments defines the % +% Acknowledgments of the author of the Thesis. % +% % +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +\acknowledgments +\input{00II_acknowledgments.tex} +\endacknowledgments +\newpage + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% % +% 4) TABLE OF CONTENTS % +% % +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +\tableofcontents + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% % +% 5) LIST OF FIGURES (If Any) % +% % +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +\listoffigures + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% % +% 6) LIST OF TABLES (If Any) +% % +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +\listoftables + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% % +% 7) ABSTRACT % +% % +% \abstract and \endabstract are used to define a short Abstract for % +% the Thesis. % +% % +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +\abstract +\input{00III_abstract.tex} +\endabstract + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% % +% 8) The Actual Contents % +% % +% The command \chapters MUST BE USED to ensure that the entire content % +% of the Thesis is double-spaced (in version 1.0). % +% % +% However, in version 2.0, \chapters will be automatically added in % +% the beginning of the first chapter. % +% % +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +%%\chapters % Not necessary with ustthesis.cls (v2.0). + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% % +% Each chapter is defined via the \chapter command. The usual sectional % +% commands of LaTeX are also available. % +% % +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +\chapter{Introduction} +\label{chp_intro} +\input{01_introduction.tex} +\newpage + +\chapter{Guidelines on Thesis Preparation} +\label{chp_background} +\input{02_guidelines.tex} +\newpage + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% % +% 9) BIBLIOGRAPHY % +% % +% This example uses bibtex to generate the required Bibliography. Refer % +% to the % the file ustthesis_test.bib for the entries of the % +% Bibliography. Note that only the cited entries are printed. % +% % +% If BibTeX is not used to typeset the bibliography, replace the % +% following line with the \begin{thebibliography} and \end{bibliography}% +% commands (the "thebibliography" environment) to process the % +% Bibliography. % +% % +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% % +% The recommended bibliography style is the IEEE bibliography style. % +% "ustbib" defines the IEEE bibliography standard with the added % +% ability of sorting the items by name of author. % +% % +% If you are not using BibTeX to process your Bibliography, comment out % +% the following line. % +% % +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +\addcontentsline{toc}{chapter}{Bibliography} +\bibliographystyle{IEEEtran} +\bibliography{references} +\newpage + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% % +% 10) APPENDIX (If Any) % +% % +% \appendix command marks the beginning of the APPENDIX part of the % +% Thesis. The usual \chapter command is used for the different chapters % +% of the Appendix. % +% % +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\appendix +\chapter{Tips on HKUST thesis preparation} +\label{chp_tips} +\input{A_tips.tex} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% % +% 11) BIOGRAPHY (optional) % +% % +% \biography and \endbiography are used to define the optional % +% Biography of the author of the Thesis. % +% % +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +\end{document} diff --git a/latex/hkust_phd_thesis/00III_abstract.tex b/latex/hkust_phd_thesis/00III_abstract.tex new file mode 100644 index 0000000..733bb5b --- /dev/null +++ b/latex/hkust_phd_thesis/00III_abstract.tex @@ -0,0 +1 @@ +Abstract text, 300 words or less \ No newline at end of file diff --git a/latex/hkust_phd_thesis/00II_acknowledgments.tex b/latex/hkust_phd_thesis/00II_acknowledgments.tex new file mode 100644 index 0000000..310e3b5 --- /dev/null +++ b/latex/hkust_phd_thesis/00II_acknowledgments.tex @@ -0,0 +1,7 @@ +Thanks your supervisor(s) and the defense committee. + +Thanks everyone help in your thesis research. + +Thanks everyone support you throughout the way. + +Thanks your loved ones. diff --git a/latex/hkust_phd_thesis/00I_dedication.tex b/latex/hkust_phd_thesis/00I_dedication.tex new file mode 100644 index 0000000..ae4b181 --- /dev/null +++ b/latex/hkust_phd_thesis/00I_dedication.tex @@ -0,0 +1,17 @@ +\noindent You raise me up, so I can stand on mountains;\\ +you raise me up, to walk on stormy seas.\\ +I am strong when I am on your shoulders.\\ +You raise me up, to more than I can be. --- ``You raise me up'' lyrics by Brendan Graham.\\ + +\par \hfill To my mother, CHAN Siu-ngan (1958.12.21 - 2017.12.12).\\ + +\par ~\\ + +\par +\noindent ę‰¾äø€å€‹å¤¢ć€€čµ°äø€ę¢č·Æ怀\\ +ä½ åƒęœˆå…‰å¤œå¤œåœØē„ˆē¦±ęˆ‘å¹øē¦ć€€ē…§äŗ®ęˆ‘čøēš„ęƏäø€ę­„\\ +ꈑäøęœƒå“­ć€€ęˆ‘äøęœƒč¼ø怀\\ +ꈑåœØęœˆå…‰å®ˆč­·ēš„é»‘å¤œč£”\\ +ēœ‹č‘—č‡Ŗå·±ēœŸēš„åƒä½ ć€€čµ°ä½ čµ°éŽēš„č·Æ --- ć€Šęœˆå…‰ć€‹ ę˜“å®¶ęšć€€č©ž\\ + +\par \hfill č‡“é™³ē¬‘锏(1958.12.21 - 2017.12.12)ļ¼Œęˆ‘ꕬꄛēš„åŖ½åŖ½ diff --git a/latex/hkust_phd_thesis/01_introduction.tex b/latex/hkust_phd_thesis/01_introduction.tex new file mode 100644 index 0000000..3774dc0 --- /dev/null +++ b/latex/hkust_phd_thesis/01_introduction.tex @@ -0,0 +1,74 @@ +\section{Style and Formatting} +White A4 paper of good quality (80 to 90 gsm woodfree paper, i.e. photocopying +paper) is to be used. Lines should be one-and-a-half line spaced throughout the +thesis, except for abstracts, indented quotations or footnotes where single line spacing +may be used. Each page should begin with a new paragraph. The IEEE style\footnote{References should be in a separate section at the end of the thesis, with items referred to by +numerals in square brackets, using the IEEE style as follows: + +Papers : Author(s) (first initials followed by last name), title, periodical, volume, inclusive +page numbers, month, year. + +Books : Author(s) (first initials followed by last name), title, location, publisher, year, +chapter, page numbers.} is +recommended for the references. Reference citations within the text should be in the +form of numbers within square brackets (e.g. \citep{guidelines}). + +All margins should be consistently 25mm (or a maximum of 30mm) in width. The +same margins should be used throughout a thesis. All preliminary pages (title, +approval, abstract, acknowledgement, etc.) should be numbered using lowercase +Roman numerals (e.g. i, ii, iii, iv, ā€¦) but i is not shown on the title page. On all other +pages use Arabic numerals, i.e. 1, 2, 3, 4, ā€¦ + +\section{Examples} +Here are some example pages with figures and tables. The content of the sample pages are extracted from the HKUST brand guidelines. Please remove all the sample content from your thesis. + +\subsection{Figure} +Sample page: A page of illustrations with legends. +\begin{figure}[htb] +\centering +\includegraphics[width=0.5\columnwidth]{figure/fig_HKUST.png} +\caption{Standard University Combination Logo - English} +\label{fig_HKUST} +\end{figure} + +Figure \ref{fig_HKUST} is the English version of the HKUST standard university combination logo. A combination logo consists of logotype (e.g. texts) and logomark (e.g. image). +This standard University combination logo should be used whenever possible +on all English communications only, including University printed materials, +presentations, websites, and University souvenirs. The standard University combination logo should be used in its entirety with no alterations or additional elements. + +To make sure the standard University combination logo is always clear and legible, there is a minimum size requirement. +The minimum size requirement is based on the height of the standard University combination logo. + +\subsection{Table} +Sample page: A text page with a table + +\begin{table}[htb] +\caption{Symbolic meaning of the HKUST emblem.} +\centering + +\begin{tabular}{|c|l|} +\hline Parts & Meaning \\ +\hline +\multirow{4}{*}{As a whole}& A scholar holding up an open book \\ +& A transmission tower \\ +& - representing engineering and technology \\ +& - or communication and management \\ \hline +\multirow{2}{*}{Top circle}& Golden head of wisdom of the scholar\\ +& A sun radiating gold (very traditional Chinese color)\\ \hline +\multirow{5}{*}{Wave beneath the circle} & The open book of knowledge\\ +& An ocean representing Clear Water Bay, Hong Kong \\ +& - where the University locates\\ +& Upsilon \\ +& Top part of Tau \\\hline +\multirow{2}{*}{Curves on both side} & Arms of a scholar\\ +& Sides of Psi \\ \hline +\multirow{4}{*}{Bottom center} & Body of the scholar\\ +& Flask representing science\\ +& Center part of Psi \\ +& Bottom part of Tau \\ \hline +\end{tabular} +\label{tbl_wmt17-segrr} +\end{table} + +The emblem of HKUST is in several ways symbolic of the institution. Lyrically it visualizes the golden head of wisdom over the open book of knowledge. Between the arms holding the book can be seen as a flask representing science. Alternatively, it is a transmission tower representing engineering and technology or communication and management. We can also see a sun radiating gold, that very traditional Chinese color, over an ocen glowing with the deep blue representative of Hong Kong. Supporting these emblems are the three Greek letters upsilon, psi, and tau, that is: transliterating as UST. The emblem entwines many meanings, as does the University itself. + diff --git a/latex/hkust_phd_thesis/02_guidelines.tex b/latex/hkust_phd_thesis/02_guidelines.tex new file mode 100644 index 0000000..a42d411 --- /dev/null +++ b/latex/hkust_phd_thesis/02_guidelines.tex @@ -0,0 +1,87 @@ +Here is a version of the guidelines on thesis preparation with minor edits. Please refer to the original document \citep{guidelines} for the most update and accurate information about thesis preparation, especially about the thesis submission protocol. +\section{Introduction} +The guidelines in this document seek to ensure that theses are presented in a form suitable for library cataloging, preserving and access by users. The thesis will take its place in the library as a product of original thinking, research, and writing; its form must be comparable to other published works. + +These guidelines cover the general rules of format and appearance. For content requirements, students should consult their Thesis Supervision Committee (TSC). + +It is the student's responsibility to follow the requirements presented here. Thesis copies that do not meet these requirements will not be accepted. + +Because of changes in requirements over time, students should not use existing library or departmental copies of theses as examples of current proper format. + +\section{Originality} +\subsection{MPhil thesis} +An MPhil thesis shall consist of the student's own account of his/her investigations; be either a record of original work or an ordered, critical and thorough exposition of existing knowledge; be an integrated whole, presenting a coherent argument; give a critical assessment of the relevant literature, describe the method of research and its findings, and discuss those findings; and include a full bibliography. +\subsection{PhD thesis} +A PhD thesis shall consist of the student's own account of his/her investigations; make original, distinct contribution(s) to our knowledge of the subject and afford evidence or originality by the discovery of new facts and/or by the exercise of independent critical power; be an integrated whole with a coherent argument; give a critical assessment of the relevant literature, describe the method of research and its findings, and discuss those findings, particularly with regard to how these findings appear to the candidate to have advanced the study of the subject; include a full bibliography; and be of a standard to merit publication in whole, in part or in a revised form (for example, as a monograph or as a number of articles in learned journals). + +\section{Components} +\subsection{Order} +A thesis should contain a Title page (containing thesis title, full name of the candidate, degree for which the thesis is submitted, name of the University, i.e. The Hong Kong University of Science and Technology, month and year of submission), Authorization page, Signature page, Acknowledgments, Table of contents, Lists of figures and tables, Abstract, Thesis body, Bibliography, Appendices and other addenda, if any. +\subsection{Authorization page} +On this page, students authorize the University to lend or reproduce the thesis. The copyright of the thesis as a literary work vests in its author (the student). The authorization gives HKUST Library a non-exclusive right to make it available for scholarly research. +\subsection{Signature page} +This page provides signatures of the thesis supervisor(s) and Department Head confirming that the thesis is satisfactory. +\subsection{Acknowledgments} +The student is required to declare, in this section, the extent to which assistance has been given by his/her faculty and staff, fellow students, external bodies or others in the collection of materials and data, the design and construction of apparatus, the performance of experiments, the analysis of data, and the preparation of the thesis (including editorial help). In addition, it is appropriate to recognize the supervision and advice given by the thesis supervisor(s) and members of TSC. +\subsection{Abstract} +Every copy of the thesis must have an English abstract, being a concise summary of the thesis, in 300 words or less. +\subsection{Bibliography} +The list of sources and references used should be presented in a standard format appropriate to the discipline; formatting should be consistent throughout. +\subsection{Sample pages} +Sample of both MPhil \citep{mphil} and PhD \citep{phd} theses are provided, with specific instructions for formatting page content (centering, spacing, etc.). + +\section{Language, Style and Format} +\subsection{Language} +Theses should be written in English. + +Students in the School of Humanities and Social Science who are pursuing research work in the areas of Chinese Studies, and who can demonstrate a need to use Chinese to write their theses should seek prior approval from the School via their thesis supervisor and the divisional head. If approval is granted, students are also required to produce a translation of the title page, authorization page, signature page, table of contents and the abstract in English. + +\subsection{Pagination} +All pages, starting with the Title page should be numbered. All page numbers should be centered, at the bottom of each page. + +Page numbers of materials preceding the body of the text should be in small Roman numerals. Page numbers of the text, beginning with the first page of the first chapter and continuing through the bibliography, including any pages with tables, maps, figures, photographs, etc., and any subsequent appendices, should be in Arabic numerals.\footnote{That means the Title page will be page i; the first page of the first chapter will be page 1.} + +Start a new page after each chapter or section but not after a sub-section. + +\subsection{Format} +A conventional font, size 12-point, 10 to 12 characters per inch must be used. One-and-a-half line spacing should be used throughout the thesis, except for abstracts, indented quotations or footnotes where single line spacing may be used. + +All margins---top, bottom, sides---should be consistently 25mm (or no more than 30mm) in width. The same margin should be used throughout a thesis. Exceptionally, margins of a different size may be used when the nature of the thesis requires it. + +\subsection{Footnotes} +Footnotes may be placed at the bottom of the page, at the end of each chapter or after the end of the thesis body. Like references, footnotes should be presented in a standard format appropriate to the discipline. Both the position and format of footnotes should be consistent throughout the thesis. + +\subsection{Appendices} +The format of each appended item should be consistent with the nature of that item, whether text, diagram, figure, etc., and should follow the guidelines for that item as listed here. + +\subsection{Figures, Tables and Illustrations} +Figures, tables, graphs, etc., should be positioned according to the scientific publication conventions of the discipline, e.g., interspersed in text or collected at the end of chapters. Charts, graphs, maps, and tables that are larger than a standard page should be provided as appendices. + +\subsection{Photographs/Images} +High contrast photos should be used because they reproduce well. Photographs with a glossy finish and those with dark backgrounds should be avoided. Images should be dense enough to provide 300 ppi for printing and 72 dpi for viewing. + +\subsection{Additional Materials} +Raw files, datasets, media files, and high resolution photographs/images of any format can be included. \footnote{Students should get approval from their Department Head before deviating from any of the above requirements concerning paper size, font, margins, etc.} + +\section{Creating PDF files} +Theses must be submitted in PDF format. Providing a properly generated PDF file ensures the manuscript can be read using different platforms (Windows, Mac, etc.), that it displays as intended, and that it can be readily indexed. + +Before submitting the PDF file, please use the the HKUST E-thesis PDF Preflight application to ensure all fonts should be embedded; image resolution should be dense enough to provide 300 ppi for printing and 72 dpi for viewing; the final thesis should be submitted as a single PDF file and PDF files should NOT be encrypted, as text cannot be extracted from encrypted PDFs for full text indexing or storage. Encrypted PDF files will NOT be accepted. + +\section{Thesis Submission Protocol} +The final thesis must be free from typographical, grammatical and other errors when submitted to the Thesis Submission System. In particular, the thesis supervisor and the Department Head/program director should not sign off on the final thesis that is not, to the best of their knowledge, free of errors. + +For examination purpose, sufficient hard or electronic thesis copies are to be submitted to the Department at least four weeks before the thesis examination. The number of copies required will depend on the number of examiners. + +Students should submit the draft thesis to the iThenticate platform for originality check. The draft thesis together with the iThenticate report should be submitted to the Department no less than four weeks before the thesis examination. + +On successful completion of the thesis examination, and after any required corrections, students must submit a copy of the final thesis (either hard/electronic) to their Department, which will arrange for the appropriate signatures of approval to be obtained. +For final theses which have been graded ā€œPassed subject to minor correctionsā€ or ā€œPassed subject to major correctionsā€, students are required to submit the thesis for originality check via iThenticate. The iThenticate report should be handed in to the thesis supervisor(s), and the Thesis Examination Committee if applicable, for review and endorsement via their Department. +The Department will then return the signed Signature Page to the candidate. +The candidate will upload and submit the Signature Page and the Authorization Page as a PDF file and the final thesis as another PDF file to the Universityā€™s Thesis Submission System. The candidate does not need to replace the two unsigned pages in the thesis PDF with the scanned signature pages. The final thesis will be forwarded to the thesis supervisor(s) for approval via the Thesis Submission System. + +\section{Copyright} +According to the Universityā€™s Intellectual Property Policy, students shall own the copyright in respect of their written coursework, theses, papers and publications themselves as a whole as literary works. + +\section{Thesis Binding} +Students may wish to keep personal copies of their thesis. They may arrange for such copies on their own and at their own expense. Service from MTPC of the University is one option (details below). Students may explore other binderies for the binding service. In any case, the binding of the thesis must correspond with the University regulations. diff --git a/latex/hkust_phd_thesis/A_tips.tex b/latex/hkust_phd_thesis/A_tips.tex new file mode 100644 index 0000000..cb02db3 --- /dev/null +++ b/latex/hkust_phd_thesis/A_tips.tex @@ -0,0 +1,35 @@ +\section{Sideway page} +Here is an example to have a page turned side way in the PDF. It is useful for having wide figures and tables in the thesis. + +\begin{landscape} +\begin{table} +\caption{Pearson's + $\rho $ correlation of participated metrics with the WMT 2016 official average + direct assessment human judgments on newstest 10k hybrid super-sampled + systems at system level. Correlations of metrics not significantly + outperformed by any other for that language pair are highlighted in + bold.} +\centering + +\begin{tabular}{m{0.36\textwidth}cccccccc|cccccccc} +\hline & \multicolumn{8}{c|}{\textbf{into-English}} & \multicolumn{8}{c}{\textbf{out-of-English}} \\\textbf{Metric} & \textbf{cs} & \textbf{de} & \textbf{fi} & \textbf{lv} & \textbf{ru} & \textbf{tr} & \textbf{zh} & \textbf{avg.} & \textbf{cs} & \textbf{de} & \textbf{fi} & \textbf{lv} & \textbf{ru} & \textbf{tr} & \textbf{zh} & \textbf{avg.} \\ \hline +Blend & .963 & \textbf{.969} & .956 & .976 & \textbf{.957} & .981 & .890 & .956 & -- & -- & -- & -- & .950 & -- & -- & -- \\ \hline +BEER & .966 & .952 & .954 & .974 & .930 & .969 & .897 & .949 & .963 & .829 & .975 & .923 & .942 & .968 & .906 & .929 \\ \hline +UHH\_TSKM & .990 & .929 & .918 & \textbf{.986} & .908 & .982 & .896 & .944 & -- & -- & -- & -- & -- & -- & -- & -- \\ \hline +CDER & .983 & .922 & .925 & .981 & .916 & .970 & \textbf{.898 } & .942 & .958 & .803 & .962 & .911 & .922 & .948 & \textbf{.975 } & .926 \\ \hline +TreeAggreg & .977 & .913 & \textbf{.975} & .983 & .912 & \textbf{.983 } & .854 & .942 & .942 & .765 & .963 & .915 & .919 & .971 & .933 & .915 \\ \hline +chrF++ & .935 & .957 & .924 & .970 & .938 & .957 & .876 & .937 & .966 & .835 & .977 & .944 & .942 & .975 & .968 & .944 \\ \hline +chrF & .933 & .960 & .935 & .965 & .946 & .941 & .855 & .934 & .968 & .845 & \textbf{.979 } & .945 & .947 & \textbf{.980 } & .969 & .947 \\ \hline +NIST & \textbf{.994} & .917 & .928 & .957 & .904 & .969 & .831 & .929 & .954 & .761 & .957 & .914 & .917 & .976 & .968 & .921 \\ \hline +TER & .983 & .899 & .950 & .967 & .905 & .951 & .837 & .927 & .951 & .790 & .959 & .888 & .930 & .958 & .965 & .920 \\ \hline +BLEU & .964 & .914 & .906 & .974 & .907 & .969 & .852 & .927 & .945 & .793 & .919 & .839 & .893 & .916 & .969 & .896 \\ \hline +MEANT-dvw.cos.wmax.n2.m.r8.$\alpha $1.0.$\beta $0.1 & .921 & .942 & .939 & .967 & .955 & .931 & .836 & .927 & -- & .844 & -- & -- & -- & -- & .944 & -- \\ \hline +CharacTER & .963 & .965 & .944 & .927 & .948 & .946 & .740 & .919 & \textbf{.973 } & \textbf{.893 } & .970 & .892 & .929 & .961 & .914 & .933 \\ \hline +WER & .981 & .889 & .946 & .965 & .900 & .922 & .828 & .919 & .949 & .797 & .959 & .884 & .931 & .947 & .951 & .917 \\ \hline +PER & .967 & .920 & .892 & .958 & .904 & .898 & .866 & .915 & .960 & .680 & .939 & .817 & .876 & .955 & .893 & .874 \\ \hline +MEANT-dvw.cos.wmax.n2.m.r8.$\alpha $1.0.$\beta $0.0 & .896 & .928 & .931 & .960 & .952 & .895 & .799 & .909 & .968 & .753 & .970 & \textbf{.947 } & \textbf{.955 } & .980 & .931 & .929 \\ \hline +AutoDA & .440 & .951 & .922 & .970 & .902 & .914 & .734 & .833 & .967 & .602 & .879 & .731 & .850 & .586 & .968 & .797 \\ \hline +\end{tabular} +\label{tbl_wmt17-sys} +\end{table} +\end{landscape} diff --git a/latex/hkust_phd_thesis/figure/fig_HKUST.png b/latex/hkust_phd_thesis/figure/fig_HKUST.png new file mode 100644 index 0000000..cf79de0 Binary files /dev/null and b/latex/hkust_phd_thesis/figure/fig_HKUST.png differ diff --git a/latex/hkust_phd_thesis/references.bib b/latex/hkust_phd_thesis/references.bib new file mode 100644 index 0000000..6f14765 --- /dev/null +++ b/latex/hkust_phd_thesis/references.bib @@ -0,0 +1,22 @@ +@INPROCEEDINGS{guidelines, + author = {HKUST}, + title = {Guidelines on Thesis Preparation}, + booktitle = {Handbook for Research Postgraduate Studies}, + year = {2023}, + url = {https://fytgs.hkust.edu.hk/academics/Academic-Regulations-and-Requirements/Handbook-for-Research-Postgraduate-Studies/guidelines-thesis-preparation} +} +@INPROCEEDINGS{phd, + author = {HKUST}, + title = {Thesis sample page ({PhD})}, + booktitle = {Handbook for Research Postgraduate Studies}, + year = {2023}, + url = {https://fytgs.hkust.edu.hk/sites/default/files/imce/thesis_sample_page_phd.pdf} +} + +@INPROCEEDINGS{mphil, + author = {HKUST}, + title = {Thesis sample page ({MPhil})}, + booktitle = {Handbook for Research Postgraduate Studies}, + year = {2023}, + url = {https://fytgs.hkust.edu.hk/sites/default/files/imce/thesis_sample_page_mphil.pdf} +} diff --git a/latex/hkust_phd_thesis/ustthesis.cls b/latex/hkust_phd_thesis/ustthesis.cls new file mode 100644 index 0000000..f47b144 --- /dev/null +++ b/latex/hkust_phd_thesis/ustthesis.cls @@ -0,0 +1,2123 @@ +% UST THESIS DOCUMENT CLASS -- version 2023.0 +% Upgraded from version 2.0 by Dr. Chi-kiu Lo on May 10, 2023 +% according to the thesis sample pages provided +% in the Guidelines on Thesis Preparation of the Handbook of Research Postgraduate Studies +% (https://fytgs.hkust.edu.hk/academics/Academic-Regulations-and-Requirements/Handbook-for-Research-Postgraduate-Studies/guidelines-thesis-preparation) +% on May 2023. +% Released to Overleaf template gallery. + +% UST THESIS DOCUMENT CLASS -- version 2.0 - not released +% Upgraded from version 1.0 by Kam-Fai Chan on August 1, 2001 +% according to the guidelines on thesis preparation released +% on March 2001 by the PG secretary of the University. + +% UST THESIS DOCUMENT CLASS -- version 1.0 - not released +% This is the thesis document class for the Department of Computer Science, +% The Hong Kong University of Science and Technology, +% adapted from the previous `ustthesis.sty' for LaTeX 2.09. +% The version 1.0 of the `ustthesis.cls' file is created by +% Kam-Fai Chan (kchan@cs.ust.hk). + +% THESIS DOCUMENT STYLE -- version 1.1 - not released +% This is the Department of Computer Science, The Hong Kong University +% of Science and Technology Thesis document style, adapted from the Duke +% University version brought in by Jogesh Muppala, adapted from the +% Wisconsin version brought in by Mark Holliday. The Duke University +% version adapted by Charlie Martin and Russ Tuck. The CSD-HKUST version +% adapted by Chee-Wai Yeung +% adapted from: +% REPORT DOCUMENT STYLE -- version 0.91 - released 27 January 1985 +% for LaTeX version 2.08 +% Copyright (C) 1985 by Leslie Lamport +% +% Feb 6 1986 - William K. Kalsow +% +% This document style is intended to produce output comforming +% to the offical Department of Computer Science, The Hong Kong +% Univrsity of Science and Technology requirements. +% +% NOTE: only 12pt type is supported. +% only one sided output is supported. + +% Changes by Russ Tuck (Dec. 3-11, 1986): +% changed bibliography so it is included in the table of contents +% added \newblock definition and 2 more lines to Bibliography, +% from report.sty +% reworded copyright notice +% rewrote title page handling entirely; includes AM, MS, and PhD options. +% Changes by Russ Tuck, April 1990: +% added \textspace and \textspaceundo +% added \textspace and \textspaceundo to \abstract +% no page number for \abstract +% added \acknowledgements \endacknowledgements +% many small fixes +% Changes by David Kotz, October 1990: +% added \biography +% added \subject for the abstract title page +% added ABSTRACT and subject to the top of abstract title page +% Changes by David Kotz, February 1991: +% removed textspace from \biography +% centered signature lines on title pages +% Changes by Chee-Wai Yeung, June, 1993: +% \typeout{Document Style `thesis'. Version 1.2, 15 Feb 1991, Duke CS Dept.} +% \typeout{Please report any problems to problem@duke.} + +% Changes to the CSD-HKUST version. +% Chan: +% 2002/01/01 - +% Adding a definition to handle the title of acting department head. +% 2002/07/23 - +% Fix a logical bug to allow explicit use of \chapters. + +\NeedsTeXFormat{LaTeX2e}[1995/12/01] +%\ProvidesClass{ustthesis}[1999/08/31 v1.0 LaTeX document class] +%\ProvidesClass{ustthesis}[2001/08/01 v2.0 LaTeX document class] +\ProvidesClass{ustthesis}[2002/07/23 v2.1 LaTeX document class] + +% Chan: +% Disable the output of the following messages: +% \typeout{Document Style `ustthesis'. Version 1.3, December 1995, HKUST CS Dept.} +% \typeout{Please report any problems to cheewai@cs.ust.hk} +% \typeout{Please report any problems to cssystem@cs.ust.hk} +% Lo, 20230510: +% Disable the output of the following messages: +% \typeout{This class file is adapted from `ustthesis.sty' v1.3 (for LaTeX 2.09).} +% \typeout{Please report any problems to kchan@cs.ust.hk} +\typeout{This class file is adapted from `ustthesis.cls' v2.0 (for LaTeX 2.09).} +\typeout{Please report any problems to chikiu.lo@gmail.com} + +\PassOptionsToClass{12pt,twoside}{report} +\DeclareOption*{\PassOptionsToClass{\CurrentOption}{report}} +\ProcessOptions +\LoadClass{report}[1995/12/20 v1.3q Standard LaTeX document class] + +% draft option +% +% \overfullrule = 0pt % Default is don't mark overfull hboxes. +% tuck 4/4/90: Preliminary (abstract, acknowledgements) and main chapters +% must be double spaced, but toc shouldn't be. Turning on double spacing +% twice makes quadruple spacing, etc. +% \textspace turns double spacing on, and \textspaceundo turns it off. +% See \abstract and \endabstract, \acknowledgements and \endacknowledgements. +\def\textspace{\openup 3 \jot\relax} % Begin double spaced text (default) +\def\textspaceundo{\openup -3 \jot\relax} % Resume single spacing +\def\versiontag{} % Default is NO tag +\def\ds@draft{ + %%% -- DRAFT is double spaced -- \def\textspace{} % Single spaced text + \overfullrule 5pt % Causes overfull hboxes to be marked. + \def\versiontag{{\normalsize\rm - DRAFT \number\month/\number\day{} -}} +} + +% +% More options. Somehow not defined?? +% +% Define four switches: \ifAM, \ifMS, \ifMPhil and \ifPhD. At most one must be +% true when the title page is actually printed. They are all set false +% here, and one is normally set true by specifying an optional +% \documentstyle parameter, one of: AM, MS, MPhil, PhD. If they are all false +% when \maketitle is invoked, the effect the same as \AMtrue. + +\newif\ifAM \AMfalse +\newif\ifMS \MSfalse +\newif\ifMPhil \MPhilfalse +\newif\ifPhD \PhDfalse +\newif\ifAPPENDIX \APPENDIXfalse +\newif\ifINAPPENDIX \INAPPENDIXfalse + +\def\ds@AM{ + \AMtrue +} +\def\ds@MS{ + \MStrue +} +\def\ds@MPhil{ + \MPhiltrue +} +\def\ds@PhD{ + \PhDtrue +} +\newif\ifPQE \PQEfalse +\newif\ifProposal \Proposalfalse +\newif\ifThesis \Thesisfalse + +% Chan: +% Disable italic to reduce the width of each word in the title. +%\newfont{\Lbi}{cmbxti10 scaled\magstep3} +%\newfont{\lbi}{cmbxti10 scaled\magstep2} +%\newfont{\nbi}{cmbxti10 scaled\magstep1} +\newfont{\Lbi}{cmbx10 scaled\magstep3} +\newfont{\lbi}{cmbx10 scaled\magstep2} +\newfont{\nbi}{cmbx10 scaled\magstep1} + +% Cheewai: +% Added \undottedtocline to be used similar to \dottedtocline except that there +% is NO dotted line. The vglue part will screw up when there are captions that +% are too long and wrapped. The entries in the LOF/TOC/LOT will be messed up. +% Return to the original dottedtocline macro on not fixing vglue. +\def\@undottedtocline#1#2#3#4#5{\ifnum #1>\c@tocdepth \else + \vskip \z@ plus.2\p@ + {\leftskip #2\relax \rightskip \@tocrmarg \parfillskip -\rightskip + \parindent #2\relax\@afterindenttrue + \interlinepenalty\@M + \leavevmode + \@tempdima #3\relax \advance\leftskip \@tempdima \hbox{} \hskip -\leftskip + #4\hfill \nobreak + \hbox to\@pnumwidth{\hfil\reset@font\rm #5}\par}\fi} + +\let\@dottedtocline\@undottedtocline + +% The \@options command causes the execution of every command \ds@FOO +% which is defined and for which the user typed the FOO option in his +% \documentstyle command. For every option BAR he typed for which +% \ds@BAR is not defined, the file BAR.sty will be read after the present +% (main) .STY file is executed. + +\@options + +% **************************************** +% * FONTS * +% **************************************** +% + +\lineskip 1pt % \lineskip is 1pt for all font sizes. +\normallineskip 1pt +\def\baselinestretch{1} + +% Each size-changing command \SIZE executes the command +% \@setsize\SIZE{BASELINESKIP}\FONTSIZE\@FONTSIZE +% where: +% BASELINESKIP = Normal value of \baselineskip for that size. (Actual +% value will be \baselinestretch * BASELINESKIP.) +% +% \FONTSIZE = Name of font-size command. The currently available +% (preloaded) font sizes are: \vpt (5pt), \vipt (6pt), +% \viipt (etc.), \viiipt, \ixpt, \xpt, \xipt, \xiipt, +% \xivpt, \xviipt, \xxpt, \xxvpt. +% \@FONTSIZE = The same as the font-size command except with an +% '@' in front---e.g., if \FONTSIZE = \xivpt then +% \@FONTSIZE = \@xivpt. +% +% For reasons of efficiency that needn't concern the designer, +% the document style defines \@normalsize instead of \normalsize . This is +% done only for \normalsize, not for any other size-changing commands. + +\def\@normalsize{\@setsize\normalsize{14.5pt}\xiipt\@xiipt +\abovedisplayskip 12pt plus3pt minus7pt% +\belowdisplayskip \abovedisplayskip +\abovedisplayshortskip \z@ plus3pt% +\belowdisplayshortskip 6.5pt plus3.5pt minus3pt} + +\def\small{\@setsize\small{13.6pt}\xipt\@xipt +\abovedisplayskip 11pt plus3pt minus6pt% +\belowdisplayskip \abovedisplayskip +\abovedisplayshortskip \z@ plus3pt% +\belowdisplayshortskip 6.5pt plus3.5pt minus3pt +\def\@listi{\parsep 4.5pt plus 2pt minus 1pt + \itemsep \parsep + \topsep 9pt plus 3pt minus 5pt}} + +\def\footnotesize{\@setsize\footnotesize{12pt}\xpt\@xpt +\abovedisplayskip 10pt plus2pt minus5pt% +\belowdisplayskip \abovedisplayskip +\abovedisplayshortskip \z@ plus3pt% +\belowdisplayshortskip 6pt plus3pt minus3pt +\def\@listi{\topsep 6pt plus 2pt minus 2pt\parsep 3pt plus 2pt minus 1pt +\itemsep \parsep}} + +\def\scriptsize{\@setsize\scriptsize{9.5pt}\viiipt\@viiipt} +\def\tiny{\@setsize\tiny{7pt}\vipt\@vipt} +\def\large{\@setsize\large{18pt}\xivpt\@xivpt} +\def\Large{\@setsize\Large{22pt}\xviipt\@xviipt} +\def\LARGE{\@setsize\LARGE{25pt}\xxpt\@xxpt} +\def\huge{\@setsize\huge{30pt}\xxvpt\@xxvpt} +\let\Huge=\huge + +\normalsize % Choose the normalsize font. + +% **************************************** +% * PAGE LAYOUT * +% **************************************** +% +% All margin dimensions measured from a point one inch from top and side +% of page. Dimensions shrink by about 2 percent + +% SIDE MARGINS: +% tuck 4/4/90: make left margin 1.75in and right 1.25 in, giving .25in +% room for error on both sides (required: 1.5in left, 1in right) +% Chan: +% Make changes according to the guidelines released on March 2001. +%\oddsidemargin 1.45cm % Left margin on odd-numbered pages. +%\evensidemargin 1.45cm % Note that \oddsidemargin = \evensidemargin +%\oddsidemargin 15mm % 25mm + 15mm = 40mm +%\evensidemargin 15mm % 25mm + 15mm = 40mm +\oddsidemargin 0mm % 25mm + 15mm = 40mm +\evensidemargin 7mm % 25mm + 15mm = 40mm +\marginparwidth 0pt % Width of marginal notes. +\marginparsep 0pt % Horizontal space between outer margin and marginal note + + +% VERTICAL SPACING: Modified 24 Nov 87 CRM +% \topmargin 0pt vice 20pt + % Top of page: +\topmargin 0mm % Nominal distance from top of page to top of + % box containing running head. +% Chan: +% Make changes according to the guidelines released on March 2001. +%\headheight 12pt % Height of box containing running head. +%\headsep 8pt % Space between running head and text. +\headheight 0pt % Height of box containing running head. +\headsep 0pt % Space between running head and text. +% \topskip = 10pt % '\baselineskip' for first line of page. + % Bottom of page: +% Chan: +% \footheight becomes obsolete in LaTeX 2e. +%\footheight 12pt % Height of box containing running foot. +\footskip 10mm % Distance from baseline of box containing foot + % to baseline of last line of text. + + +% DIMENSION OF TEXT: +% 8 Sept 87 -- changed the page sizes for new style req't +% crm@duke. +% Chan: +% Make changes according to the guidelines released on March 2001. +%\textheight 22.7cm % Height of text (including footnotes and figures, + % excluding running head and foot). 635 vice + % 605 +\textheight 247mm % 297mm - 25mm * 2 = 247mm + % According to the sample shown in the guidelines, + % page number is placed below the bottom margin. +\textwidth 15.3cm % 210mm Width of text line. 400 vice 430 + % For two-column mode: +\columnsep 10pt % Space between columns +\columnseprule 0pt % Width of rule between columns. + +% Chan: +% Add a new definition \PNumberAboveBottomMargin so that +% the author may choose to have the page number printed above +% the bottom margin. +\newif\ifmovedupdefined +\movedupdefinedfalse +\def\PNumberAboveBottomMargin{% + \ifmovedupdefined \else + \addtolength{\textheight}{-8mm} + \movedupdefinedtrue + \typeout{+--------} + \typeout{| Enable shorter page - page number is above the bottom margin.} + \typeout{+--------} + \fi +} + +% A \raggedbottom command causes 'ragged bottom' pages: pages set to +% natural height instead of being stretched to exactly \textheight. + +% FOOTNOTES: + +\footnotesep 14pt % Height of strut placed at the beginning of every + % footnote. +\skip\footins 8pt plus 2pt minus 4pt % Space between last line of text and + % top of first footnote. + +% FLOATS: (a float is something like a figure or table) +% +% FOR FLOATS ON A TEXT PAGE: +% +\floatsep 14pt plus 2pt minus 4pt % Space between adjacent floats moved + % to top or bottom of text page. +\textfloatsep 20pt plus 6pt minus 4pt % Space between main text and floats + % at top or bottom of page. +\intextsep 14pt plus 4pt minus 4pt % Space between in-text figures and + % text. +% Chan: +% \maxsep becomes obsolete in LaTeX 2e. +%\@maxsep 20pt % The maximum of \floatsep, + % \textfloatsep and \intextsep (minus + % the stretch and shrink). + +% FOR FLOATS ON A SEPARATE FLOAT PAGE: +\@fptop 0pt plus 1fil % Stretch at top of float page. (Must be 0pt plus ...) +\@fpsep 10pt plus 2fil % Space between floats on float page. +\@fpbot 0pt plus 1fil % Stretch at bottom of float page. (Must be 0pt plus ... ) + +% MARGINAL NOTES: +% +\marginparpush 7pt % Minimum vertical separation between two marginal + % notes. + +% **************************************** +% * PARAGRAPHING * +% **************************************** +% +\parskip 6pt plus 1pt minus 1pt % Extra vertical space between paragraphs. +\parindent 1.5em % Width of paragraph indentation. +\topsep 10pt plus 4pt minus 6pt % Extra vertical space, in addition to + % \parskip, added above and below list and + % paragraphing environments. +\partopsep 3pt plus 2pt minus 2pt % Extra vertical space, in addition to + % \parskip and \topsep, added when user + % leaves blank line before environment. +\itemsep 5pt plus 2.5pt minus 1pt % Extra vertical space, in addition to + % \parskip, added between list items. + +% The following page-breaking penalties are defined + +\@lowpenalty 51 % Produced by \nopagebreak[1] or \nolinebreak[1] +\@medpenalty 151 % Produced by \nopagebreak[2] or \nolinebreak[2] +\@highpenalty 301 % Produced by \nopagebreak[3] or \nolinebreak[3] + +\@beginparpenalty -\@lowpenalty % Before a list or paragraph environment. +\@endparpenalty -\@lowpenalty % After a list or paragraph environment. +\@itempenalty -\@lowpenalty % Between list items. + +% \clubpenalty % 'Club line' at bottom of page. +% \widowpenalty % 'Widow line' at top of page. +% \displaywidowpenalty % Math display widow line. +% \predisplaypenalty % Breaking before a math display. +% \postdisplaypenalty % Breaking after a math display. +% \interlinepenalty % Breaking at a line within a paragraph. +% \brokenpenalty % Breaking after a hyphenated line. + +% **************************************** +% * CHAPTERS AND SECTIONS * +% **************************************** +% +% DEFINE COUNTERS: +% +% \newcounter{NEWCTR}[OLDCTR] : Defines NEWCTR to be a counter, which is +% reset to zero when counter OLDCTR is stepped. +% Counter OLDCTR must already be defined. + +% Chan: +% The following counters have been defined in `report.cls'. +%\newcounter {chapter} +%\newcounter {section}[chapter] +%\newcounter {subsection}[section] +%\newcounter {subsubsection}[subsection] +%\newcounter {paragraph}[subsubsection] +%\newcounter {subparagraph}[paragraph] + +% For any counter CTR, \theCTR is a macro that defines the printed version +% of counter CTR. It is defined in terms of the following macros: +% +% \arabic{COUNTER} : The value of COUNTER printed as an arabic numeral. +% \roman{COUNTER} : Its value printed as a lower-case roman numberal. +% \Roman{COUNTER} : Its value printed as an upper-case roman numberal. +% \alph{COUNTER} : Value of COUNTER printed as a lower-case letter: +% 1 = a, 2 = b, etc. +% \Alph{COUNTER} : Value of COUNTER printed as an upper-case letter: +% 1 = A, 2 = B, etc. +% + +\def\thechapter {\arabic{chapter}} +\def\thesection {\thechapter.\arabic{section}} +\def\thesubsection {\thesection.\arabic{subsection}} +\def\thesubsubsection {\thesubsection .\arabic{subsubsection}} +\def\theparagraph {\thesubsubsection.\arabic{paragraph}} +\def\thesubparagraph {\theparagraph.\arabic{subparagraph}} + + +% \@chapapp is initially defined to be 'Chapter'. The \appendix +% command redefines it to be 'Appendix'. + +\def\@chapapp{CHAPTER} + +% \@makechapterhead {TEXT} : Makes the heading for the \chapter command. +% +% modified to suite CSD-HKUST format. +% + +\def\@makechapterhead#1{ % Heading for \chapter command + \vspace*{0pt} % Space at top of text page. + { \begin{center} + \ifnum \c@secnumdepth >\m@ne % IF secnumdepth > -1 THEN + {\Lbi \@chapapp~\thechapter} % Print 'Chapter' and number. + \par + \vskip 20pt \fi % Space between number and title. + {\Lbi % Title. + \uppercase{#1}} + \end{center} + \nobreak % TeX penalty to prevent page break. +% \vskip 40pt % Space between title and text. + } + % Chan: + % Comment out the following line. Otherwise, the page number in + % a shorter page cannot be in the same position as that in the + % other pages. + %\advance\@colht-\footskip % tell LaTeX to build a shorter page! + \pagegoal\@colht % let TeX in on what's happening +} + +% \@makeschapterhead {TEXT} : Makes the heading for the \chapter* command. +% +% modified to suite CSD-HKUST format. +% + +\def\@makeschapterhead#1{ % Heading for \chapter* command + \vspace*{0pt} % Space at top of page. + { \begin{center} + {\Lbi % Title. + \uppercase{#1}\par} + \end{center} + \nobreak % TeX penalty to prevent page break. +% \vskip 40pt % Space between title and text. + } + % Chan: + % Comment out the following line. Otherwise, the page number in + % a shorter page cannot be in the same position as that in the + % other pages. + %\advance\@colht-\footskip % tell LaTeX to build a shorter page! + \pagegoal\@colht % let TeX in on what's happening +} + +% \secdef{UNSTARCMDS}{STARCMDS} : +% When defining a \chapter or \section command without using +% \@startsection, you can use \secdef as follows: +% \def\chapter { ... \secdef \CMDA \CMDB } +% \def\CMDA [#1]#2{ ... % Command to define \chapter[...]{...} +% \def\CMDB #1{ ... % Command to define \chapter*{...} + +\def\chapter{\clearpage % Starts new page. + \thispagestyle{headings} % Page style of chapter page is 'headings' + \global\@topnum\z@ % Prevents figures from going at top of page. + \@afterindentfalse % Suppresses indent in first paragraph. Change + \secdef\@chapter\@schapter} % to \@afterindenttrue to have indent. + +\def\@chapter[#1]#2{% +% Chan: +% Add the following to insert "\chapters" automatically. + \ifbodydefined \else + \chapters + \fi + \ifnum \c@secnumdepth >\m@ne + \refstepcounter{chapter} + \typeout{\@chapapp\space\the\c@chapter.} +% Chan: +% Comment out the following lines according to the guidelines +% released on March 2001. +% \ifAPPENDIX \addcontentsline{toc}{chapter}{Appendices} +% \APPENDIXfalse\fi + \ifINAPPENDIX +% Chan: +% Make changes according to the guidelines released on March 2001. +% \addcontentsline{toc}{appendix}{\protect +% \numberline{\thechapter}#1}\else +% \addcontentsline{toc}{chapter}{\protect +% \numberline{\thechapter}#1} + \addcontentsline{toc}{chapter}{{Appendix \thechapter}\hspace{1em}#1}\else + \addcontentsline{toc}{chapter}{{Chapter \thechapter}\hspace{1em}#1} + \fi + \else +% Chan: +% Comment out the following lines according to the guidelines +% released on March 2001. +% \ifAPPENDIX \addcontentsline{toc}{chapter}{Appendices} +% \APPENDIXfalse\fi + \ifINAPPENDIX + \addcontentsline{toc}{appendix}{\protect + \numberline{\thechapter}#1}\else + \addcontentsline{toc}{chapter}{#1}\fi + \fi + \chaptermark{#1} + \addtocontents{lof}{\protect\addvspace{1pt}} % Adds between-chapter space + \addtocontents{lot}{\protect\addvspace{1pt}} % to lists of figs & tables. + \@makechapterhead{#2} + \@afterheading % Routine called after chapter and section heading. +} + +%\def\@schapter#1{\@makeschapterhead{#1} \@afterheading} + +\def\@schapter#1{ + \@makeschapterhead{#1} + \@afterheading % Routine called after chapter and section heading. +} + +\def\pchapter#1{%% A preliminary chapter + % tuck 3/17/90: removed \thispagestyle; \chapter* handles page style. + \chapter*{#1} + \addcontentsline{toc}{chapter}{#1} + \typeout{#1} +} + +% \@startsection {NAME}{LEVEL}{INDENT}{BEFORESKIP}{AFTERSKIP}{STYLE} +% optional * [ALTHEADING]{HEADING} +% Generic command to start a section. +% NAME : e.g., 'subsection' +% LEVEL : a number, denoting depth of section -- e.g., chapter=1, +% section = 2, etc. A section number will be printed if +% and only if LEVEL < or = the value of the secnumdepth +% counter. +% INDENT : Indentation of heading from left margin +% BEFORESKIP : Absolute value = skip to leave above the heading. +% If negative, then paragraph indent of text following +% heading is suppressed. +% AFTERSKIP : if positive, then skip to leave below heading, +% else - skip to leave to right of run-in heading. +% STYLE : commands to set style +% If '*' missing, then increments the counter. If it is present, then +% there should be no [ALTHEADING] argument. A sectioning command +% is normally defined to \@startsection + its first six arguments. + +\def\section{\@startsection {section}{1}{\z@}{-3.5ex plus -1ex minus + -.2ex}{2.3ex plus .2ex}{\Large\bf}} +\def\subsection{\@startsection{subsection}{2}{\z@}{-3.25ex plus -1ex minus + -.2ex}{1.5ex plus .2ex}{\large\bf}} +\def\subsubsection{\@startsection{subsubsection}{3}{\z@}{-3.25ex plus + -1ex minus -.2ex}{1.5ex plus .2ex}{\normalsize\bf}} +\def\paragraph{\@startsection + {paragraph}{4}{\z@}{3.25ex plus 1ex minus .2ex}{-1em}{\normalsize\bf}} +\def\subparagraph{\@startsection + {subparagraph}{4}{\parindent}{3.25ex plus 1ex minus + .2ex}{-1em}{\normalsize\bf}} + +% Default initializations of \...mark commands. (See below for their +% uses in defining page styles. +% + +\def\chaptermark#1{} +% \def\sectionmark#1{} % Preloaded definitions +% \def\subsectionmark#1{} +% \def\subsubsectionmark#1{} +% \def\paragraphmark#1{} +% \def\subparagraphmark#1{} + +% The value of the counter secnumdepth gives the depth of the +% highest-level sectioning command that is to produce section numbers. +% + +\setcounter{secnumdepth}{2} + +% COPYRIGHT +% +% +% modified to suite CSD-HKUST. +% + +\def\Copyright{ +\typeout{Copyright} +\begin{center} +{Copyright \copyright\ by \@author \year} +\thepage{} +\end{center} +} + +% Chan: +% Add a new definition \candidate for the signature on the +% authorization page. +\newlength{\AuthorNameLength} +\def\candidate#1{% + \settowidth{\AuthorNameLength}{\expandafter{#1}} + \addtolength{\AuthorNameLength}{6cm} + \raisebox{-12pt}[0pt][17pt]{\rule{\AuthorNameLength}{.5pt}}\par + % Print line. + \raisebox{0pt}[0pt][0pt]{\expandafter{#1}}\par + % Print name below. +} + +% Authorization Page +% +% Added for authorisation +% +% cheewai + +% Chan: +% Make changes according to the guidelines released on March 2001. +% "Authorsation" is changed to "Authorization" instead. +\def\authorise{ + \pchapter{Authorization} +% \addcontentsline{toc}{chapter}{Authorisation Page} + + %\onehalfspace + \mbox{} + \par\indent + {I hereby declare that I am the sole author of the thesis.} + \par\vspace{1cm} + \indent +% {I authorise The Hong Kong University of Science and Technology to lend + {I authorize the Hong Kong University of Science and Technology to lend +this thesis to other institutions or individuals for the purpose of scholarly +research.} +% Chan: +% Keep each paragraph with equal distance. +% \par\vspace{6cm} + \par\vspace{1cm} + \indent +% {I further authorise The Hong Kong University of Science and Technology + {I further authorize the Hong Kong University of Science and Technology +to reproduce the thesis by photocopying or by other means, in total or in part, +at the request of other institutions or individuals for the purpose of +scholarly research.} +% Chan: +% Add a signature part for the candidate. + \par\vspace{4cm} + \begin{center} + \candidate{\@author} + \today + \end{center} + \textspaceundo + \newpage +} + +% Chan: +% Add a new definition \TOffset for the extra vertical space +% before the title. +\def\TOffset{ \mbox{} \vglue 6ex } + +% tuck 4/4/90: +% Both abstract formats are acceptable to Duke, +% as long as text of abstract is double spaced. + +% ABSTRACT +% +% - this produces pages suitable for a UW-Abstract +% tuck 4/4/90: to be acceptable to Duke, must double space; +% to avoid quad spacing main chapters, use \endabstract after body of abstract. +\def\abstract{ + \absdefinedtrue + \typeout{Abstract} + \newpage + %\pagenumbering{arabic} + %\setcounter{page}{1} + \textspace + \addcontentsline{toc}{chapter}{Abstract} + \null + \parskip=0pt + \TOffset + \begin{center} + {\Lbi \expandafter{\@title} \par} + \vglue 4ex + {\lbi by \par} + \vglue 2ex + {\lbi \expandafter{\@author} \par} + \vglue 4ex + + {\normalsize \@department\par} + \vglue 2ex + {\normalsize The Hong Kong University of Science and Technology \par} + \vglue 10ex + {\Lbi ABSTRACT \par\par\normalsize} + \end{center} + +} +% dfk 4/1/91: added \par to force end of paragraph before undoing +% double spacing +\def\endabstract{ + \par\textspaceundo +% \setcounter{footnote}{0} +} + +% UNIV. Microfilms abstract +% tuck 4/4/90: +% This creates a header with info required by UMI, but the header is redundant; +% all the required info is on the abstract title page Duke requires. +% +% tuck 4/4/90: to be acceptable to Duke, must double space; +% to avoid quad spacing main chapters, use \endabstract after body of abstract. +\def\UMIabstract{ + % tuck 3/17/90, replace "\titlepage\pagestyle{empty}" with next line, + % so start with page 1 (not 0) and don't turn page numbers off forever. + \abstractpage\thispagestyle{empty} + % tuck 3/17/90: added next two lines (show Abstract in toc) + \addcontentsline{toc}{chapter}{ABSTRACT} + \typeout{UMIabstract} + \textspace + \begin{center} + \def\thanks##1{} % temporarily kill any thanks lines + {\large \expandafter{\@title} \par} + {\large\lineskip .75em\begin{tabular}[t]{c}{\@author}\end{tabular}\par} + {\large Under the supervision of Professor \@advisor \par} + \vskip 1.5em + \end{center} +} + +% DEDICATION +% +\def\dedication{ + \pchapter{Dedication} + \textspace +} + +\def\enddedication{ + \par\textspaceundo +} + +% Chan: +% Make changes according to the guidelines released on March 2001. +% "Acknowledgments" is used instead of "Acknowledgements". + +%% ACKNOWLEDGEMENTS +% ACKNOWLEDGMENTS +% +% tuck 4/4/90: to be acceptable to Duke, must double space; to avoid +%% quad spacing main chapters, use \endacknowledgements after body of acks. +%\def\acknowledgements{ +% quad spacing main chapters, use \endacknowledgments after body of acks. +\def\acknowledgments{ + \acknowdefinedtrue + \pchapter{Acknowledgments} + \textspace +} +% dfk 4/1/91: added \par to force end of paragraph before undoing +% double spacing +%\def\endacknowledgements{ +\def\endacknowledgments{ + \par\textspaceundo +} + +% BIOGRAPHY: +% +% dfk 10/7/89: biography is required, AFTER the references. +% I bet that it must also be double spaced, like the others. +% dfk 2/4/91: nope, we're still in double-space mode from \chapters. +% Right way might be to have an \endchapters command. +\def\biography{ + \pchapter{Biography} + \textspace +} +\def\endbiography{ + \textspaceundo +} + +% Chan: +% Define and initialize several \newif variables for handling errors. + +\newif\ifaddlinedefined +\newif\ifbodydefined +\newif\iferrordefined + +\newif\iftitledefined +\newif\ifacknowdefined +\newif\iftocdefined +\newif\iflofdefined +\newif\iflotdefined +\newif\ifabsdefined + +\addlinedefinedtrue +\bodydefinedfalse +\errordefinedfalse +\titledefinedfalse +\acknowdefinedfalse +\tocdefinedfalse +\lofdefinedfalse +\lotdefinedfalse +\absdefinedfalse + +% Chan: +% Add a new definition \CheckParts to check if the authors has +% included all essential parts. +\def\CheckParts{ + \addlinedefinedfalse + \iftitledefined \else + \typeout{} + \typeout{% + Warning: No title page. \noexpand\maketitle should be included. + } + \addlinedefinedtrue + \fi + \ifacknowdefined \else + \typeout{} + \typeout{% + Warning: No acknowledgment page. + } + \addlinedefinedtrue + \fi + \iftocdefined \else + \typeout{} + \typeout{% + Warning: No table of contents. \noexpand\tableofcontents should + be included. + } + \addlinedefinedtrue + \fi + \iflofdefined \else + \typeout{} + \typeout{% + Warning: No list of figures. \noexpand\listoffigures should + be included. + } + \addlinedefinedtrue + \fi + \iflotdefined \else + \typeout{} + \typeout{% + Warning: No list of tables. \noexpand\listoftables should + be included. + } + \addlinedefinedtrue + \fi + \ifabsdefined \else + \typeout{} + \typeout{% + Warning: No abstract. + } + \addlinedefinedtrue + \fi + \ifaddlinedefined + \typeout{} + \iferrordefined \else + \ShowSamplePath + \errordefinedtrue + \fi + \fi +} + +% CHAPTERS +% +% +\def\chapters{ +% Chan: + \bodydefinedtrue + % Check if all the required parts are present. + \CheckParts + \newpage + \parskip 6pt plus 1 pt minus 1pt + \textspace + \pagenumbering{arabic} +} + +\def\endchapters{ + \textspaceundo + \parskip=0pt +} + +% APPENDIX +% +% The \appendix command must do the following: +% -- reset the chapter counter to zero +% -- set \@chapapp to Appendix (for messages) +% -- redefine the chapter counter to produce appendix numbers +% -- reset the section counter to zero +% -- redefine the \chapter command if appendix titles and headings are +% to look different from chapter titles and headings. + +\def\appendix{\par + \APPENDIXtrue + \INAPPENDIXtrue + \parskip 6pt plus 1pt minus 1pt + \setcounter{chapter}{0} + \setcounter{section}{0} + \def\@chapapp{APPENDIX} + \def\thechapter{\Alph{chapter}}} + +\def\endappendix{ + \textspaceundo + \parskip=0pt +} + +% **************************************** +% * LISTS * +% **************************************** +% + +% The following commands are used to set the default values for the list +% environment's parameters. See the LaTeX manual for an explanation of +% the meanings of the parameters. Defaults for the list environment are +% set as follows. First, \rightmargin, \listparindent and \itemindent +% are set to 0pt. Then, for a Kth level list, the command \@listK is +% called, where 'K' denotes 'i', 'ii', ... , 'vi'. (I.e., \@listiii is +% called for a third-level list.) By convention, \@listK should set +% \leftmargin to \leftmarginK. +% +% For efficiency, level-one list's values are defined at top level, and +% \@listi is defined to set only \leftmargin. + +\leftmargini 2.5em +\leftmarginii 2.2em % > \labelsep + width of '(m)' +\leftmarginiii 1.87em % > \labelsep + width of 'vii.' +\leftmarginiv 1.7em % > \labelsep + width of 'M.' +\leftmarginv 1em +\leftmarginvi 1em + +\leftmargin\leftmargini +\labelwidth\leftmargini\advance\labelwidth-\labelsep +\labelsep .5em +\parsep 5pt plus 2.5pt minus 1pt + +\def\@listi{\leftmargin\leftmargini} + +\def\@listii{\leftmargin\leftmarginii + \labelwidth\leftmarginii\advance\labelwidth-\labelsep + \topsep 5pt plus 2.5pt minus 1pt + \parsep 2.5pt plus 1pt minus 1pt + \itemsep \parsep} + +\def\@listiii{\leftmargin\leftmarginiii + \labelwidth\leftmarginiii\advance\labelwidth-\labelsep + \topsep 2.5pt plus 1pt minus 1pt + \parsep \z@ \partopsep 1pt plus 0pt minus 1pt + \itemsep \topsep} + +\def\@listiv{\leftmargin\leftmarginiv + \labelwidth\leftmarginiv\advance\labelwidth-\labelsep} + +\def\@listv{\leftmargin\leftmarginv + \labelwidth\leftmarginv\advance\labelwidth-\labelsep} + +\def\@listvi{\leftmargin\leftmarginvi + \labelwidth\leftmarginvi\advance\labelwidth-\labelsep} + + +% **************************************** +% * LISTS * +% **************************************** +% + +% ENUMERATE +% Enumeration is done with four counters: enumi, enumii, enumiii +% and enumiv, where enumN controls the numbering of the Nth level +% enumeration. The label is generated by the commands \labelenumi +% ... \labelenumiv. The expansion of \p@enumN\theenumN defines the +% output of a \ref command. + +\def\labelenumi{\arabic{enumi}.} +\def\theenumi{\arabic{enumi}} + +\def\labelenumii{(\alph{enumii})} +\def\theenumii{\alph{enumii}} +\def\p@enumii{\theenumi} + +\def\labelenumiii{\roman{enumiii}.} +\def\theenumiii{\roman{enumiii}} +\def\p@enumiii{\theenumi(\theenumii)} + +\def\labelenumiv{\Alph{enumiv}.} +\def\theenumiv{\Alph{enumiv}} +\def\p@enumiv{\p@enumiii\theenumiii} + +% ITEMIZE +% Itemization is controlled by four commands: \labelitemi, \labelitemii, +% \labelitemiii, and \labelitemiv, which define the labels of the various +% itemization levels. + +\def\labelitemi{$\bullet$} +\def\labelitemii{\bf --} +\def\labelitemiii{$\ast$} +\def\labelitemiv{$\cdot$} + + +% VERSE +% The verse environment is defined by making clever use of the +% list environment's parameters. The user types \\ to end a line. +% This is implemented by \let'in \\ equal \@centercr. +% +\def\verse{\let\\=\@centercr + \list{}{\itemsep\z@ \itemindent -1.5em\listparindent \itemindent + \rightmargin\leftmargin\advance\leftmargin 1.5em}\item[]} +\let\endverse\endlist + +% QUOTATION +% Fills lines +% Indents paragraph +% +\def\quotation{\list{}{\listparindent 1.5em + \itemindent\listparindent + \rightmargin\leftmargin\parsep 0pt plus 1pt}\item[]} +\let\endquotation=\endlist + +% QUOTE -- same as quotation except no paragraph indentation, +% +\def\quote{\list{}{\rightmargin\leftmargin}\item[]} +\let\endquote=\endlist + +% DESCRIPTION +% +% To change the formatting of the label, you must redefine +% \descriptionlabel. + +\def\descriptionlabel#1{\hspace\labelsep \bf #1} +\def\description{\list{}{\labelwidth\z@ \itemindent-\leftmargin + \let\makelabel\descriptionlabel}} + +\let\enddescription\endlist + +\newdimen\descriptionmargin +\descriptionmargin=3em + +% **************************************** +% * OTHER ENVIRONMENTS * +% **************************************** +% +% +% THEOREM +% \@begintheorem ... \@endtheorem are the commands executed at the +% beginning and end of a (user-defined) theorem-like environment. +% +%\def\@begintheorem#1#2{\it \trivlist \item[\hskip \labelsep{\bf #1\ #2}]} +% changed by WU,Zhaojun. No italic font needed! +\def\@begintheorem#1#2{\trivlist \item[\hskip \labelsep{\bf #1\ #2}]} + +\def\@endtheorem{\endtrivlist} + +% EQUATION and EQNARRAY -- must follow \chapter definition +% +% \newcounter{equation} +% +\@addtoreset{equation}{chapter} % Makes \chapter reset 'equation' counter. + +\def\theequation{\thechapter.\arabic{equation}} + +% \jot = 3pt % Extra space added between lines of an eqnarray environment + +% The macro \@eqnnum defines how equation numbers are to appear in equations. +% +% \def\@eqnnum{(\theequation)} +% + + +% TITLEPAGE +% In the normal environments, the titlepage environment does nothing but +% start and end a page, and inhibit page numbers. It also resets the +% page number to zero. +%\def\titlepage{\newpage\thispagestyle{empty}\c@page\z@} +\def\titlepage{\newpage\thispagestyle{empty}} + +\def\endtitlepage{\newpage} +% defeat the setting to 0 of the page number for abstract pages. +\def\abstractpage{\newpage} + +\def\endabstractpage{\newpage} +% CODE +% The code environment is essentially a 'quote'd verbatim environment. +% \begin{code} ... \end{code} +% ==> {\quote\verbatim ... \endverbatim\endquote} +% Page breaks are discouraged by \interlinepenalty=150. +% +\begingroup \catcode `|=0 \catcode `[=1 +\catcode`]=2 \catcode`\{=12 \catcode `\}=12 +%\catcode`\\=12 |gdef|@xcode#1\end{code}[#1|end[code]] +\catcode`\\=12 |gdef|@xcode#1[#1|end[code]] +|endgroup +\def\code{\par\list{}{\parskip 0pt plus 1pt\normalbaselines\interlinepenalty=150}\item[]\@verbatim\frenchspacing\@vobeyspaces\@xcode} +\def\endcode{\endtrivlist\endlist} + +% PROC +% The proc environment is a 'quoted' tabbing environment with tabs set +% at fixed distances +% Page breaks are discouraged by \interlinepenalty=150. +% +\def\proctabs{\qquad\=\qquad\=\qquad\=\qquad\=\qquad\=\qquad\=\qquad\=\kill} +\newenvironment{proc}{\quote\interlinepenalty=150\relax\tt\tabbing\proctabs}{\endtabbing\endquote\leavevmode} + +% ARRAY AND TABULAR +% + +\arraycolsep 5pt % Half the space between columns in an array environment. +\tabcolsep 6pt % Half the space between columns in a tabular environment. +\arrayrulewidth .4pt % Width of rules in array and tabular environment. +\doublerulesep 2pt % Space between adjacent rules in array or tabular env. + +% TABBING +% +\tabbingsep \labelsep % Space used by the \' command. (See LaTeX manual.) + +% MINIPAGE +% \@minipagerestore is called upon entry to a minipage environment to +% set up things that are to be handled differently inside a minipage +% environment. In the current styles, it does nothing. +% +% \skip\@mpfootins : plays same role for footnotes in a minipage as +% \skip\footins does for ordinary footnotes + +\skip\@mpfootins = \skip\footins + +% FRAMEBOX +% +\fboxsep = 3pt % Space left between box and text by \fbox and \framebox. +\fboxrule = .4pt % Width of rules in box made by \fbox and \framebox. + +% **************************************** +% * TABLE OF CONTENTS, ETC. * +% **************************************** +% +% A \subsection command writes a +% \contentsline{subsection}{TITLE}{PAGE} +% command on the .toc file, where TITLE contains the contents of the +% entry and PAGE is the page number. If subsections are being numbered, +% then TITLE will be of the form +% \numberline{NUM}{HEADING} +% where NUM is the number produced by \thesubsection. Other sectioning +% commands work similarly. +% +% A \caption command in a 'figure' environment writes +% \contentsline{figure}{\numberline{NUM}{CAPTION}}{PAGE} +% on the .lof file, where NUM is the number produced by \thefigure and +% CAPTION is the figure caption. It works similarly for a 'table' environment. +% +% The command \contentsline{NAME} expands to \l@NAME. So, to specify +% the table of contents, we must define \l@chapter, \l@section, +% \l@subsection, ... ; to specify the list of figures, we must define +% \l@figure; and so on. Most of these can be defined with the +% \@dottedtocline command, which works as follows. +% +% \@dottedtocline{LEVEL}{INDENT}{NUMWIDTH}{TITLE}{PAGE} +% LEVEL : An entry is produced only if LEVEL < or = value of +% 'tocdepth' counter. Note, \chapter is level 0, \section +% is level 1, etc. +% INDENT : The indentation from the outer left margin of the start of +% the contents line. +% NUMWIDTH : The width of a box in which the section number is to go, +% if TITLE includes a \numberline command. +% +% This command uses the following three parameters, which are set +% with a \def (so em's can be used to make them depend upon the font). +% \@pnumwidth : The width of a box in which the page number is put. +% \@tocrmarg : The right margin for multiple line entries. One +% wants \@tocrmarg > or = \@pnumwidth +% \@dotsep : Separation between dots, in mu units. Should be \def'd to +% a number like 2 or 1.7 + +\def\@pnumwidth{1.55em} +\def\@tocrmarg {2.55em} +\def\@dotsep{4.5} +\setcounter{tocdepth}{2} + + +% TABLEOFCONTENTS +% +\def\tableofcontents{ +% Chan: +% Set \tocdefined to be true. + \tocdefinedtrue + \normalbaselines +\thispagestyle{empty} + % tuck 3/17/90: deleted \thispagestyle; redundant, \chapter* does page style. + %\chapter*{Table of Contents} + \addcontentsline{toc}{chapter}{Table of Contents} + \vspace*{0pt} % Space at top of page. + { \begin{center} + {\Lbi % Title. + \uppercase{Table of Contents}\par} + \end{center} + \nobreak % TeX penalty to prevent page break. +% \vskip 40pt % Space between title and text. + } + \typeout{Table of Contents} + \markboth{CONTENTS}{CONTENTS} + \@starttoc{toc} +} + +\def\l@chapter#1#2{\pagebreak[3] + \vskip 1.0em plus 1pt % space above chapter line + \@tempdima 1.5em % width of box holding chapter number + \begingroup + \parindent \z@ \rightskip \@pnumwidth + \parfillskip -\@pnumwidth + \bf % Boldface. + \leavevmode % TeX command to enter horizontal mode. + #1\hfil \hbox to\@pnumwidth{\hss #2}\par + \endgroup} + +\def\l@appendix#1#2{\pagebreak[3] + \vskip 1.0em plus 1pt % space above chapter line + \@tempdima 1.5em % width of box holding chapter number + \begingroup + \parindent \z@ \rightskip \@pnumwidth + \parfillskip -\@pnumwidth + \hglue 1.7em + \bf % Boldface. + \leavevmode % TeX command to enter horizontal mode. + #1\hfil \hbox to\@pnumwidth{\hss #2}\par + \endgroup} + +\def\l@section{\@undottedtocline{1}{0em}{1.7em}} +\def\l@subsection{\@undottedtocline{2}{2em}{2.5em}} +\def\l@subsubsection{\@undottedtocline{3}{5em}{3.5em}} +\def\l@paragraph{\@undottedtocline{4}{8em}{4.5em}} +\def\l@subparagraph{\@undottedtocline{5}{10em}{5.5em}} + +% LIST OF FIGURES +% +\def\listoffigures{ +% Chan: + % Set \lofdefined to be true. + \typeout{LOF 1} + \lofdefinedtrue + \typeout{LOF 2} + \normalbaselines + \typeout{LOF 3} + \pchapter{List of Figures} + \typeout{LOF 4} + \markboth{LIST OF FIGURES}{LIST OF FIGURES} + \typeout{LOF 5} + \@starttoc{lof} + \typeout{LOF 6} +} + +% +% Explicitly uses undottedtocline instead of the aliases dottedtocline. +% cheewai +% + +\def\l@figure{\@undottedtocline{1}{1.5em}{2.3em}} + +% LIST OF TABLES +% +\def\listoftables{ +% Chan: +% Set \lotdefined to be true. + \lotdefinedtrue + \normalbaselines + \pchapter{List of Tables} + \markboth{LIST OF TABLES}{LIST OF TABLES} + \@starttoc{lot} +} + +\let\l@table\l@figure + + +% GREMLIN +% +% \Gremlin{includefile}{width}{height}{F/E} +% Warning: ignoring the Flyback/End option +% +\def\Gremlin#1#2#3#4{ + \leavevmode\hbox to #2{\vbox to #3{\special{#1}\vfil}\hfil} +} + +% **************************************** +% * BIBLIOGRAPHY * +% **************************************** +% +\renewcommand{\bibname}{BIBLIOGRAPHY} +% TEMPORARY DEFINITIONS: + +\def\thebibliography#1{ +% Chan: +% Output "References" (for consistence). + \typeout{References} + \chapter*{References\markboth{REFERENCES}{REFERENCES}} + \list{[\arabic{enumi}]}{\settowidth\labelwidth{[#1]}\leftmargin\labelwidth + \advance\leftmargin\labelsep\usecounter{enumi}} + \addcontentsline{toc}{chapter}{References} + \def\newblock{\hskip .11em plus .33em minus -.07em} + \sloppy + \sfcode`\.=1000\relax +} + + +\let\endthebibliography=\endlist + +% \def\@biblabel#1{[#1]\hfill} % Produces the label for a \bibitem[...] + % command. +% \def\@cite#1{[#1]} % Produces the output of the \cite command. + + +% **************************************** +% * THE INDEX * +% **************************************** +% +% THE INDEX ENVIRONMENT +% Produces double column format, with each paragraph a separate entry. +% The user commands \item, \subitem and \subsubitem are used to +% produce the entries, and \indexspace adds an extra vertical space +% that's the right size to put above the first entry with a new letter +% of the alphabet. + +\def\theindex{ +\columnseprule \z@ +\columnsep 35pt\twocolumn[\@makeschapterhead{Index}] + \markboth{INDEX}{INDEX}\thispagestyle{plain}\parindent\z@ + \parskip\z@ plus .3pt\relax\let\item\@idxitem} + +\def\@idxitem{\par\hangindent 40pt} + +\def\subitem{\par\hangindent 40pt \hspace*{20pt}} + +\def\subsubitem{\par\hangindent 40pt \hspace*{30pt}} + +\def\endtheindex{\onecolumn} + +\def\indexspace{\par \vskip 10pt plus 5pt minus 3pt\relax} + +% **************************************** +% * FOOTNOTES * +% **************************************** +% +% \footnoterule is a macro to draw the rule separating the footnotes from +% the text. It should take zero vertical space, so it needs a negative +% skip to compensate for any positive space taken by the rule. (See +% PLAIN.TEX.) + +\def\footnoterule{\kern-1\p@ + \hrule width .4\columnwidth + \kern .6\p@} % The \hrule has default height of .4pt . + +% \newcounter{footnote} +\@addtoreset{footnote}{chapter} % Numbers footnotes within chapters + +% \@makefntext{NOTE} : +% Must produce the actual footnote, using \@thefnmark as the mark +% of the footnote and NOTE as the text. It is called when effectively +% inside a \parbox of width \columnwidth (i.e., with \hsize = +% \columnwidth). The following macro indents +% all lines of the footnote by 10pt, and indents the first line of +% a new paragraph by 1em. To change these dimensions, just substitute +% the desired value for '10pt' [in both places] or '1em'. +% The mark is flushright against the footnote. +% +% It is much easier to write a macro in which the footnote text is +% set like an ordinary text paragraph, with no indentation except +% on the first line of a paragraph, and the first line of the +% footnote. In that case, all the macro must do is set \parindent +% to the appropriate value for succeeding paragraphs and put the +% proper indentation before mark. + +\long\def\@makefntext#1{\@setpar{\@@par\@tempdima \hsize + \advance\@tempdima-10pt\parshape \@ne 10pt \@tempdima}\par + \parindent 1em\noindent \hbox to \z@{\hss$^{\@thefnmark}$}#1} + + +% \@makefnmark : A macro to generate the footnote marker that goes +% in the text. Default used. +% + + +% **************************************** +% * FIGURES AND TABLES * +% **************************************** +% +% Float placement parameters. See LaTeX manual for their definition. +% +\setcounter{topnumber}{2} +\def\topfraction{.7} +\setcounter{bottomnumber}{1} +\def\bottomfraction{.3} +\setcounter{totalnumber}{3} +\def\textfraction{.2} +\def\floatpagefraction{.5} +\setcounter{dbltopnumber}{2} +\def\dbltopfraction{.7} +\def\dblfloatpagefraction{.5} + +% +% fix a BUG? in latex.tex +% +\let\@@addtocurcol\@addtocurcol +\def\@addtocurcol{{\@floatplacement\@@addtocurcol}} + +% \@makecaption{NUMBER}{TEXT} : Macro to make a figure or table caption. +% NUMBER : Figure or table number--e.g., 'Figure 3.2' +% TEXT : The caption text. +% Macro should be called inside a \parbox of right width, with \normalsize. + +\long\def\@makecaption#1#2{ + \vskip 10pt + \setbox\@tempboxa\hbox{#1: #2} + \ifdim \wd\@tempboxa >\hsize % IF longer than one line: + \unhbox\@tempboxa\par % THEN set as ordinary paragraph. + \else % ELSE center. + \hbox to\hsize{\hfil\box\@tempboxa\hfil} + \fi} + +% To define a float of type TYPE (e.g., TYPE = figure), the document style +% must define the following. +% +% \fps@TYPE : The default placement specifier for floats of type TYPE. +% +% \ftype@TYPE : The type number for floats of type TYPE. Each TYPE has +% associated a unique positive TYPE NUMBER, which is a power +% of two. E.g., figures might have type number 1, tables type +% number 2, programs type number 4, etc. +% +% \ext@TYPE : The file extension indicating the file on which the +% content \maxmem + \setlength{\maxmem}{\currmem} + \fi + \fi +} + +% Chan: +% Add a new definition \ShowSamplePath to show the path where +% a sample file can be found. +\def\ShowSamplePath{ + \typeout{+-------------------------------------------------------------------} + \typeout{| For usage of the class, please refer to the following sample file:} +% \typeout{| /usr/local/share/texmf/tex/latex/local/ustthesis_test.tex} + \typeout{| /homes/kchan/pub/latex/ustthesis_test.tex} + \typeout{+-------------------------------------------------------------------} + \typeout{} +} + +% Chan: +% Add a new definition \CheckDefinitions to check if all +% essential definitions exist. +\def\CheckDefinitions{ + \addlinedefinedfalse + \ifdegreedefined \else + \typeout{} + \typeout{% + Warning: \noexpand\degree{ \noexpand\MA or \noexpand\MSc or + \noexpand\MPhil or \noexpand\PhD} not yet defined. + } + \addlinedefinedtrue + \fi + \ifdeptdefined \else + \typeout{} + \typeout{% + Warning: \noexpand\department{Department Name} not yet defined. + } + \addlinedefinedtrue + \fi + \ifsubjectdefined \else + \typeout{} + \typeout{% + Warning: \noexpand\subject{Subject Name} not yet defined. + } + \addlinedefinedtrue + \fi + \ifadvisordefined \else + \typeout{} + \typeout{% + Warning: \noexpand\advisor{Prof. Name} not yet defined. + } + \addlinedefinedtrue + \fi + % Check if \depthead and \defencedate have been defined. + \ifdheaddefined \else + \typeout{} + \typeout{% + Warning: \noexpand\depthead{Prof. Name} not yet defined. + } + \member{Prof. ???, Head of Department} + \addlinedefinedtrue + \fi + \ifdatedefined \else + \typeout{} + \typeout{% + Warning: \noexpand\defencedate{year}{month}{day} not yet defined. + Use \noexpand\today instead. + } + \addlinedefinedtrue + \fi + \ifaddlinedefined + \typeout{} + \iferrordefined \else + \ShowSamplePath + \errordefinedtrue + \fi + \fi +} + +%% -- Changed for the new style info 31 August 87 by CRM +%% +%% Define an abstract macro to provide an abstract page that exactly +%% duplicates the title page, EXCEPT for the words ``an abstract'' vice +%% ``a dissertation.'' +%% +%% Changed by DFK 10/7/90 to put ABSTRACT at the top of the abstract +%% title page, as well as ``(Computer Science)''. +%% +\def\maketitle{ % Define macro to print title page. +% Chan: +% Check if all the definitions have been defined. + \CheckDefinitions + \titledefinedtrue + \typeout{Title page} + \begin{titlepage} + \textspace +% \let\footnotesize\small % Local definitions to make \thanks produce +% \let\footnoterule\relax % \normalsize footnotes with no separating rule. + % \setcounter{page}{1} + \null + \parskip=0pt +% Chan: +% Add certain vertical space before the title. + \TOffset + \begin{center} + {\Lbi \expandafter{\@title} \par} +% Chan: +% Make changes according to the guidelines released on March 2001. +% \vglue 8ex +% {\lbi BY \par} +% \vglue 8ex + \vglue 10ex + {\lbi by \par} + \vglue 2ex + {\lbi \expandafter{\@author} \par\par} +% Chan: +% Make changes according to the guidelines released on March 2001. +% \vglue 8ex +% {\normalsize A Thesis Presented to \par} + \vglue 10ex + {\normalsize A \@StageFName Submitted to \par} + {\normalsize The Hong Kong University of Science and Technology\par} +% Chan: +% Make changes according to the guidelines released on March 2001. +% {\normalsize in Partial Fulfillment\par} +% {\normalsize of the Requirements for\par} +% {\normalsize the Degree of \@degree\par} + {\normalsize in Partial Fulfillment of the Requirements for\par} + {\normalsize the Degree of \@DegreeFName\par} +% \ifAM +% {\normalsize Master of Arts\par} +% \else +% \ifMS +% {\normalsize Master of Science\par} +% \else +% \ifPhD +% {\normalsize Doctor of Philosophy\par} +% \else +% {\normalsize Master of Philosophy\par} +% \fi +% \fi +% \fi +% Chan: +% The following should be \@subject instead. +% {\normalsize in \@department\par} +% \vglue 7em + {\normalsize in \@subject\par} + \vglue 6ex +% Chan: +% Make changes according to the guidelines released on March 2001. +% {\normalsize Hong Kong, \space\mon\space\number\year\par} + {\normalsize \space\mon\space\number\year, Hong Kong\par} + \vglue 12ex plus 1fill + {\normalsize \Copyright} + \end{center} + \addcontentsline{toc}{chapter}{Title Page} + \newpage + +% End of Page 1 +\ifThesis + \authorise + +% End of Page 2 + +% \let\footnotesize\small % Local definitions to make \thanks produce +% \let\footnoterule\relax % \normalsize footnotes with no separating rule. + % \setcounter{page}{0} + \typeout{Signature Page} + \textspace + \null + \parskip=0pt +% \ifPhD + \setcounter{@minmembers}{8} % PhD committees have at least 5 members +% \else +% \setcounter{@minmembers}{3} % Masters committees have at least 3 members +% \fi +% Chan: +% Add certain vertical space before the title. + \TOffset + \begin{center} + {\Lbi \expandafter{\@title} \par} + +% Chan: +% Make changes according to the guidelines released on March 2001. +% \vglue 8ex +% {\lbi BY \par} +% \vglue 8ex + \vglue 6ex + {\lbi by \par} + \vglue 2ex + {\lbi \expandafter{\@author} \par} +% Chan: +% Extend the centering environment for the whole page. +% \end{center} + \vglue 6ex +% Chan: +% Make changes according to the guidelines released on March 2001. + {\normalsize This is to certify that I have examined the above \@DegreeSName thesis\par} + {\normalsize and have found that it is complete and satisfactory in all respects,\par} + {\normalsize and that any and all revisions required by\par} + {\normalsize the thesis examination committee have been made.\par} +% \begin{flushleft} + \vglue 0ex plus 1fill +% \parbox{0.75\textwidth}{ +% \parbox{5in}{ + { % @membersprinted counts the number of committee members printed so far + \newcounter{@membersprinted}\setcounter{@membersprinted}{0} + % Print the committee members defined by the user. + \loop + \ifnum \value{@membersprinted} < \value{@members} + \addtocounter{@membersprinted}{1} + \ifcase\value{@membersprinted} + \typeout{Thesis style--internal error printing members.} \or + \@membera \or + \@memberb \or + \@memberc \or + \@memberd \or + \@membere \or + \@memberf \or + \@memberg \or + \@memberh + \else \typeout{Thesis style--internal error printing members.} + \fi + \repeat + % If the minimum number of signature lines haven't been printed, + % print some more. +% \loop +% \ifnum \value{@membersprinted} < \value{@minmembers} +% \addtocounter{@membersprinted}{1} +% \@member{} + % \repeat + } + % } + \par + {\normalsize \@department\par} +% \vglue 3ex plus 1fill + {\normalsize \today\par} +% {\normalsize Date:\hfill\rule[-.4ex]{2.35in}{.5pt}} +% }\hfill\par +% \end{flushleft} +% Chan: +% Move \end{center} from above position to here. + \end{center} + \addcontentsline{toc}{chapter}{Signature Page} + \textspaceundo + \newpage +\fi + \end{titlepage} + +% +% End of TitlePage +% + + \setcounter{footnote}{0} % Footnotes start at zero again. + \let\maketitle\relax % only ONCE!? +} +%% Makeabstract command +\def\makeabstract{ % Define macro to print title page. + \typeout{Abstract} + \begin{abstractpage} +% \let\footnotesize\small % Local definitions to make \thanks produce +% \let\footnoterule\relax % \normalsize footnotes with no separating rule. + \null + \parskip=0pt +% Chan: +% Add certain vertical space before the title. + \TOffset + \begin{center} + % {\Lbi \uppercase\expandafter{\@title} \par} + % \vglue 4ex +% Chan: +% Make changes according to the guidelines released on March 2001. +% {\lbi BY \par} +% \vglue 4ex + % {\lbi by \par} + % \vglue 2ex + % {\lbi \uppercase\expandafter{\@author} \par} +% \vglue 6ex + % \vglue 4ex +% Chan: +% Make changes according to the guidelines released on March 2001. +%% {\normalsize A Thesis Presented to \dotfill\par} +% {\normalsize A Thesis Submitted to \dorfill\par} +% \vglue 8ex +% {\normalsize Hong Kong \mon\space\number\year\par} +% \vglue 10ex + % {\normalsize Department of \@department\par} + % {\normalsize The Hong Kong University of Science and Technology \par} + % \vglue 4ex + {\Lbi ABSTRACT \par\par\normalsize} + \end{center} + \end{abstractpage} + \setcounter{footnote}{0} % Footnotes start at zero again. + \let\makeabstract\relax % only ONCE!? + \addcontentsline{toc}{chapter}{Abstract} + \textspace +} +%% End of the make abstract + +% Old junk; probably should be deleted. +%\def\Type#1{\gdef\@Type{#1}} +%\Type{Dissertation} + +% **************************************** +% * PAGE STYLES * +% **************************************** +% +% The page style 'foo' is defined by defining the command \ps@foo. This +% command should make only local definitions. There should be no stray +% spaces in the definition, since they could lead to mysterious extra +% spaces in the output. +% +% The \ps@... command defines the macros \@oddhead, \@oddfoot, +% \@evenhead, and \@evenfoot to define the running heads and +% feet---e.g., \@oddhead is the macro to produce the contents of the +% heading box for odd-numbered pages. It is called inside an \hbox of +% width \textwidth. +% +% To make headings determined by the sectioning commands, the page style +% defines the commands \chaptermark, \sectionmark, ... , where +% \chaptermark{TEXT} is called by \chapter to set a mark, and so on. +% The \...mark commands and the \...head macros are defined with the +% help of the following macros. (All the \...mark commands should be +% initialized to no-ops.) +% +% MARKING CONVENTIONS: +% LaTeX extends TeX's \mark facility by producing two kinds of marks +% a 'left' and a 'right' mark, using the following commands: +% \markboth{LEFT}{RIGHT} : Adds both marks. +% \markright{RIGHT} : Adds a 'right' mark. +% \leftmark : Used in the \@oddhead, \@oddfoot, \@evenhead or \@evenfoot +% macro, gets the current 'left' mark. Works like TeX's +% \botmark command. +% \rightmark : Used in the \@oddhead, \@oddfoot, \@evenhead or \@evenfoot +% macro, gets the current 'right' mark. Works like TeX's +% \firstmark command. +% The marking commands work reasonably well for right marks 'numbered +% within' left marks--e.g., the left mark is changed by a \chapter command and +% the right mark is changed by a \section command. However, it does +% produce somewhat anomalous results if two \bothmark's occur on the same page. +% + +\mark{{}{}} % Initializes TeX's marks + +\def\ps@empty{\def\@oddhead{\versiontag\hfil} \def\@oddfoot{} +\def\@evenhead{\versiontag\hfil}\def\@evenfoot{}} + +% +% Definiton of 'plain' page style. +% This page style is used on 2nd and subsequent pages of a chapter + +\def\ps@plain{% +%\def\@oddhead{\versiontag\hfil\rm\thepage} +\def\@oddhead{} +\def\@oddfoot{\hfil\thepage\hfil} +\let\@evenhead\@oddhead +\let\@evenfoot\@oddfoot} + +% Definition of 'headings' page style +% Note the use of ##1 for parameter of \def\chaptermark inside the +% \def\ps@headings. +% + +%%% \newdimen\shortpage % text height of a chapter page +%%% \newbox\mybox +%%% \shortpage\textheight \advance\shortpage -\footskip% find page length +%%% \advance\textheight-\footskip% +%%% \setbox\@tempboxa=\vsplit255 to \shortpage% chop off any extra lines +%%% \setbox\mybox=\box255 \setbox255=\box\@tempboxa% +%%% \newpage \unvbox\mybox% +%%% \unvbox255 \setbox255=\box\@tempboxa% and return them to the input +%%% \advance\textheight by -\footskip% leave room for the footer + +\def\ps@headings{% +\def\@oddfoot{\hfil\rm\thepage\hfil}% centered page number +\let\@evenfoot\@oddfoot +\def\@oddhead{\versiontag\hfil} +\let\@evenhead\@oddhead +\def\chaptermark##1{\markright {\uppercase{\ifnum \c@secnumdepth >\m@ne + \@chapapp\ \thechapter. \ \fi ##1}}}} + +% Definition of 'myheadings' page style. The user's \head command +% changes the definition of \@lhead and/or \@rhead. +% +\def\ps@myheadings{\def\@oddhead{\hbox{}\sl\@rhead \hfil \rm\thepage}% +\def\@oddfoot{}\def\@evenhead{\rm \thepage\hfil\sl\@lhead\hbox {}}% +\def\@evenfoot{}\def\chaptermark##1{}\def\sectionmark##1{}} + +% FOR VERSION 2.08 +%\def\ps@myheadings{\ps@headings\def\chaptermark##1{}\def\sectionmark##1{}} + + +% **************************************** +% * MISCELLANEOUS * +% **************************************** +% +% DATE +% +\def\today{% + \number\day\space + \ifcase\month\or + January\or February\or March\or April\or May\or June\or + July\or August\or September\or October\or November\or December\fi +% \space\number\day, \number\year} + \space\number\year} + +\def\mon{\ifcase\month\or + January\or February\or March\or April\or May\or June\or + July\or August\or September\or October\or November\or December\fi +} + +% Chan: +% Add two new definitions: \defencedate and \depthead. +% Add one more definition: \acting for handling the title of acting +% department head (2002/01/01). + +\newif\ifdatedefined +\datedefinedfalse +\def\defencedate#1#2#3{% + \def\year{ #1 } \def\month{ #2 } \def\day{ #3 } + \datedefinedtrue +} + +\newif\ifactingdefined +\actingdefinedfalse +\def\acting{% + \ifdheaddefined + \ifaddlinedefined + \typeout{} + \addlinedefinedfalse + \fi + \typeout{% + Warning: \noexpand\acting should be defined before + \noexpand\depthead{Prof. Name}. + } + \typeout{} + \else + \actingdefinedtrue + \fi +} +\newif\ifdheaddefined +\dheaddefinedfalse +\def\depthead#1{% + \ifdheaddefined + \ifaddlinedefined + \typeout{} + \addlinedefinedfalse + \fi + \typeout{% + Warning: \noexpand\depthead{Prof. Name} has already been defined. + } + \typeout{} + \else + \ifactingdefined + \member{#1, Acting Head of Department} + \else + \member{#1, Head of Department} + \fi + \dheaddefinedtrue + \fi +} + +% **************************************** +% * INITIALIZATION * +% **************************************** +% +% Default initializations + +\ps@plain % 'plain' page style +\pagenumbering{roman} % roman page numbers +\renewcommand{\thepage}{\nbi\roman{page}} +\onecolumn % Single-column. +\raggedbottom % Ragged bottom + +%The following lines are added for you to give definition, lemma, theorem etc. +%in your thesis. ......... Wei Xiong +%begin +\def\nameDefinition{Definition} +\def\nameTheorem{Theorem} +\def\nameLemma{Lemma} +\def\nameAlgorithm{Algorithm} +\def\nameConjecture{Conjecture} +\def\nameExample{Example} % added by WU,Zhaojun + +\newtheorem{definition}{\nameDefinition}[section] +\newtheorem{theorem}{\nameTheorem}[section] +\newtheorem{lemma}{\nameLemma}[section] +\newtheorem{algo}{\nameAlgorithm}[section] +\newtheorem{conjecture}{\nameConjecture}[section] +\newtheorem{example}{\nameExample}[chapter] % added by WU,Zhaojun + +\def\defi#1{\nameDefinition~\ref{#1}} +\def\theo#1{\nameTheorem~\ref{#1}} +\def\alg#1{\nameAlgorithm~\ref{#1}} +\def\exam#1{\nameExample~\ref{#1}} % added by WU,Zhaojun +%end + diff --git a/latex/hkust_phd_thesis/ustthesis.sty b/latex/hkust_phd_thesis/ustthesis.sty new file mode 100644 index 0000000..0cbc409 --- /dev/null +++ b/latex/hkust_phd_thesis/ustthesis.sty @@ -0,0 +1,11 @@ +% This file enforces the use of UST Thesis Document Class. +% +% Note: The file should be put together with the class file in the +% same directory. + +\NeedsTeXFormat{LaTeX2e} +\@obsoletefile{ustthesis.cls}{ustthesis.sty} +\LoadClass{ustthesis} +\endinput +%% +%% End of file `ustthesis.sty'.