diff options
Diffstat (limited to 'macros/latex/contrib/xymtex/chemist/chemist.dtx')
-rw-r--r-- | macros/latex/contrib/xymtex/chemist/chemist.dtx | 3349 |
1 files changed, 3349 insertions, 0 deletions
diff --git a/macros/latex/contrib/xymtex/chemist/chemist.dtx b/macros/latex/contrib/xymtex/chemist/chemist.dtx new file mode 100644 index 0000000000..3b07bc2e48 --- /dev/null +++ b/macros/latex/contrib/xymtex/chemist/chemist.dtx @@ -0,0 +1,3349 @@ +% \iffalse +% +% chemist.dtx +% +% Copyright (C) 1996, 1999, 2000, 2004, 2009, 2010, 2013 by Shinsaku Fujita All rights reserved. +% +% This file is part of the ChemSci system +% ======================================== +% +% This style file is created for submitting a manuscript to +% scientific journals. This style file is to be contained in the +% ``chemist'' directory which is an input directory for TeX. +% +% This work may be distributed and/or modified under the +% conditions of the LaTeX Project Public License, either version 1.3 +% of this license or (at your option) any later version. +% The latest version of this license is in +% http://www.latex-project.org/lppl.txt +% and version 1.3 or later is part of all distributions of LaTeX +% version 2005/12/01 or later. +% +% This work has the LPPL maintenance status `maintained'. +% The Current Maintainer of this work is Shinsaku Fujita. +% +% This work consists of the files xymtex.dtx and xymtex.ins +% and the derived files: xymtex.sty, xymtexps.sty and xymtexpdf.sty. +% +%======================================= +% +% For using this file, see +% Shinsaku Fujita, ``LaTeX for Chemists and Biochemists'' +% Tokyo Kagaku Dojin, Tokyo (1993), Chapter 16. +% +% This file is a successor to: +% +% ********************************************************************* +% * chemist.sty <Sept 29 1991> by Shinsaku Fujita * +% * counters and related matters for compounds. * +% * ffboxit: November 2 1991 by S. Fujita * +% * bslskipchange: November 6 1991 by S. Fujita (deleted) * +% * chapinitial: 1991 November 7 by S. Fujita * +% * variable arrows: 1992 May 24 by S. Fujita * +% * reaction and scheme arrows (revised): 1992 May 24 by S. Fujita * +% * changespace <=== bslskipchange: Dec 31 1992 by S. Fujita * +% * (g)rshfboxit and (g)lshfboxit: January 3, 1993 by S. Fujita * +% ********************************************************************* +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% Released on January 3, 1993 +% Copyright (C) 1993 by Shinsaku Fujita, all rights reserved. +% This style file is created for making manuscripts of chemical fields. +% This option style file is to be contained in the ``chemist'' directory +% which is an input directory for TeX. +% +% For using this file, see +% Shinsaku Fujita, ``LaTeX for Chemists and Biochemists'' +% Tokyo Kagaku Dojin, Tokyo (1993), Chapters 7, 9, 12 and 18. +% +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% \def\j@urnalname{chemist} +% \def\versi@ndate{January 03, 1993} +% \def\versi@nno{ver1.00} +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% +% Version 1.01 +% --- added the end commands of the \verbatim environment and the +% \verb command contained in LaTeX 2.09 +% --- \LaTeX, \BibTeX logos etc improved +% \typeout{verbatim for LaTeX2.09 (and LaTeX2e) in chemist.sty} +% \typeout{logos for LaTeX2.09 (and LaTeX2e) in chemist.sty} +% \def\versi@ndate{April 20, 1996} +% \def\j@urnalname{chemist} +% \def\versi@ndate{April 20, 1996} +% \def\versi@nno{ver1.01} +% \def\copyrighth@lder{SF} % Shinsaku Fujita +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% \def\j@urnalname{chemist} \def\journalID{chemist} +% \def\versi@ndate{June 15, 1996} +% \def\versi@nno{ver1.01a} +% \def\copyrighth@lder{SF} % Shinsaku Fujita +% \typeout{Package `\j@urnalname' (\versi@nno) <\versi@ndate>\space +% [\copyrighth@lder]} +% \typeout{chemist.sty ver1.01a (for LaTeX2e) 1996/06/15[SF]} +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% \def\j@urnalname{chemist} \def\journalID{chemist} +% \def\versi@ndate{March 16, 1999} +% \def\versi@nno{ver2.00} +% \def\copyrighth@lder{SF} % Shinsaku Fujita +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% \def\j@urnalname{chemist} \def\journalID{chemist} +% \def\versi@ndate{November 3, 2000} +% \def\versi@nno{ver2.00a} +% \def\copyrighth@lder{SF} % Shinsaku Fujita +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% \def\j@urnalname{chemist} \def\journalID{chemist} +% \def\versi@ndate{June 20, 2001} +% \def\versi@nno{ver2.01} +% \def\copyrighth@lder{SF} % Shinsaku Fujita +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% \def\j@urnalname{chemist} \def\journalID{chemist} +% \def\versi@ndate{May 30, 2002} +% \def\versi@nno{ver3.00} +% \def\copyrighth@lder{SF} % Shinsaku Fujita +%%%%%%%%%% +% \def\j@urnalname{chemist} \def\journalID{chemist} +% \def\versi@ndate{August 30, 2004} +% \def\versi@nno{ver4.01} +% \def\copyrighth@lder{SF} % Shinsaku Fujita +%%%%%%%%%% +% \def\j@urnalname{chemist} \def\journalID{chemist} +% \def\versi@ndate{November 17, 2004} +% \def\versi@nno{ver4.01b} +% \def\copyrighth@lder{SF} % Shinsaku Fujita +%%%%%%%%%% +% \def\j@urnalname{chemist} \def\journalID{chemist} +% \def\versi@ndate{December 02, 2004} +% \def\versi@nno{ver4.01c} +% \def\copyrighth@lder{SF} % Shinsaku Fujita +%%%%%%%%%% +% \def\j@urnalname{chemist} \def\journalID{chemist} +% \def\versi@ndate{September 02, 2005} +% \def\versi@nno{ver4.03} +% \def\copyrighth@lder{SF} % Shinsaku Fujita +%%%%%%%%%% +% \def\j@urnalname{chemist} \def\journalID{chemist} +% \def\versi@ndate{November 08, 2009} +% \def\versi@nno{ver4.05} +% \def\copyrighth@lder{SF} % Shinsaku Fujita +%%%%%%%%%% +% \def\j@urnalname{chemist} \def\journalID{chemist} +% \def\versi@ndate{November 21, 2010} +% \def\versi@nno{ver5.00a} +% \def\copyrighth@lder{SF} % Shinsaku Fujita +%%%%%%%%%% +% +% \fi +% \CheckSum{5053} +%% \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 \~} +% +% \iffalse +%% +%% `chemist.dtx' ver1.01a (for LaTeX2e) 1996/06/15 +%% `chemist.dtx' ver1.02 (for LaTeX2e) 2009/11/08 +%% `chemist.dtx' ver5.00 (for LaTeX2e) 2010/10/01 +%% `chemist.dtx' ver5.00a (for LaTeX2e) 2010/11/21 +%% by Shinsaku Fujita +%% +% +% \section{Initial declaration} +% +% \changes{v1.01a}{1996/06/15}{For LaTeX2e: dtx file} +% \changes{v1.01a}{1996/07/16}{Comment out for use LaTeX2.09} +% \changes{v2.00}{1999/03/16}{For XyMTeX 2.00 Enhanced Version} +% \changes{v2.00a}{2000/11/03}{Bug fix} +% \changes{v2.01}{2001/06/20}{Size reduction and Clip information} +% \changes{v3.00}{2002/05/30}{PStricks & mathversion{boldchem}} +% \changes{v4.03}{2005/9/2}{Bug fix for mathchem} +% \changes{v4.05}{2009/11/08}{extension of mathversions chem and boldchem} +% \changes{v5.00}{2010/10/01}{for bond coloring and the LaTeX Project Public License} +% \changes{v5.00a}{2010/11/21}{bug fix} +% \changes{v5.01}{2013/06/06}{bug fix} +% +% \begin{macrocode} +% \NeedsTeXFormat{LaTeX2e} +% \end{macrocode} +% +% \begin{macrocode} +% <chemist>\ProvidesFile{chemist.sty} +%<driver>\ProvidesFile{chemist.drv} +%<driver> [2013/06/06 v5.01 +% <chemist> ChemSci package ] +%<driver> ChemSci package driver (English) +% \end{macrocode} +% +%\setcounter{StandardModuleDepth}{1} +% +% \section{Driver file for this dtx file} +% +% \changes{v1.0a}{1996/06/15}{first draft} +% \changes{v2.00a}{2000/11/05}{bug fix} +% \changes{v4.01}{2004/08/30}{variable arrows} +% \changes{v4.01c}{2004/12/02}{To be compatible with multicol.sty: dimen2 into dimen6} +% \changes{v4.05}{2009/11/08}{extension of mathversions chem and boldchem; +% modification of reaction arrows} +% \changes{v5.00a}{2010/11/21}{bug fix} +% \changes{v5.01}{2013/06/06}{bug fix} +% +% \begin{macrocode} +%<*driver> + ] +\documentclass{ltxdoc} +\GetFileInfo{chemist.drv} +\title{Chemist Package \space\fileversion} +\author{Shinsaku Fujita \\ +Shonan Institute of Chemoinformatics and +Mathematical Chemistry \\ +Ashigara-Kami-Gun, Kanagawa, Japan +%% (old address) +%% Department of Chemistry and Materials Technology \\ +%% Kyoto Institute of Technology \\ +%Matsugasaki, Sakyoku, Kyoto, 606-8585 Japan +%% (old address) +%% Ashigara Research Laboratories \\ +%% Fuji Photo Film Co. Ltd. +} +\date{\filedate} +\begin{document} +\maketitle +\tableofcontents +\DocInput{chemist.dtx} +\end{document} +%</driver> +% \end{macrocode} +% +% \fi +% +% \StopEventually{} +% +% \section{{\sc docstrip} options} +% +% This dtx file provides the {\sffamily chemist} package +% by docstrip processing. +% +% \DeleteShortVerb{\|} +% \begin{center} +% \begin{tabular}{|l|l|} +% \hline +% argument & package name \\ +% \hline +% chemist & chemist.sty \\ +% driver & a documentation driver file \\ +% \hline +% \end{tabular} +% \end{center} +% \MakeShortVerb{\|} +% +% \section{Version information} +% +% The old process for typing out version information remains active. +% \begin{macrocode} +%<chemist> +%%%%%%%% +\def\j@urnalname{chemist} \def\journalID{chemist} +\def\versi@ndate{June 6, 2013} +\def\versi@nno{ver5.01} +\def\copyrighth@lder{SF} % Shinsaku Fujita +%%%%%%%%%% +%<*chemist> +\typeout{Package `\j@urnalname' (\versi@nno) <\versi@ndate>\space +[\copyrighth@lder]} +\typeout{chemist.sty ver5.01 (for LaTeX2e) 2013/06/06[SF]} +%</chemist> +% \end{macrocode} +% +% \section{Times Fonts} +% +% If the \textsf{chemtimes} package is loaded, the switch \verb/\@chemtimestrue/ +% becomes effective. Thereby, the mathversions ``chem'' and ``boldchem'' +% defined in the present \textsf{chemist} package are entirely replaced by those defined +% in the \textsf{chemtimes} package. +% \changes{v4.05}{2009/11/20}{the unskip command was deleted.} +% +% \begin{macro}{\if@chemtimes} +% \begin{macrocode} +%<*chemist> +\@ifundefined{ifchemtimes}{\newif\ifchemtimes}{}%from chemtimes +\@ifundefined{if@chemtimes}{\newif\if@chemtimes}{} +\@ifundefined{if@@chemtimes}{\newif\if@@chemtimes}{}%from chemtimes +\DeclareOption{chemtimes}{\@chemtimestrue} +\@chemtimesfalse +\ProcessOptions +\if@chemtimes +\if@@chemtimes\else +\ifchemtimes\else + \PackageError{chemist} + {The option ``chemtimes'' is not permitted} + {You should use this option after the chemtimes package is loaded} +\fi\fi\fi +% \end{macrocode} +% \end{macro} +% +% +% \section{Cross-references of compounds} +% +% The \textsf{compd} counter is introduced for numbering +% chemical compounds. +% +% \begin{macro}{\thecompd} +% \begin{macro}{\compd} +% \begin{macro}{\nocompd} +% +% The |\thecompd| command prints compound numbering without +% advancing the the \textsf{compd} counter. +% The |\compd| command prints compound numbering and advances +% the \textsf{compd} counter by one, while +% the |\nocompd| advances the \textsf{compd} counter by one +% without printing. +% \changes{v1.01a}{1996/06/22}{the unskip command was deleted.} +% +% \begin{macrocode} +% ******************* +% * compound label * +% * 1991 sept 29 * +% ******************* +% After Chapter 9 of ``LaTeX for (Bio)Chemists'' by Shinsaku Fujita +\@ifundefined{chapter}{\newcounter{compd}}{\newcounter{compd}[chapter]} +\def\thecompd{\arabic{compd}} +%\def\compd{\refstepcounter{compd}\unskip{\large\bf \thecompd}} +\def\compd{\leavevmode\refstepcounter{compd}{\large\bf \thecompd}} +\def\nocompd{\refstepcounter{compd}} +% \end{macrocode} +% \end{macro} +% \end{macro} +% \end{macro} +% +% \begin{macro}{\compdlabel} +% \begin{macro}{\nocompdlabel} +% \begin{macro}{\cref} +% +% The cross-reference of compound numbers are conducted by using +% |\label| and |\ref| commands. Alternative commands are also available +% as follows. +% \begin{macrocode} +\def\compdlabel#1{\compd \label{#1}} +\def\nocompdlabel#1{\nocompd \label{#1}} +\@ifundefined{bf}{\def\bf{\normalfont\bfseries}}{} +\def\cref#1{{\bf \ref{#1}}} +% \end{macrocode} +% \end{macro} +% \end{macro} +% \end{macro} +% +% \begin{macro}{\compdfbox} +% \begin{macro}{\compdmbox} +% \begin{macro}{\lbcompdpbox} +% +% For takeing a space for compound output, we can use |\compdfbox| +% and like. +% +% \begin{macrocode} +\def\compdfbox#1#2#3{\framebox[#1]{\rule[-0.3mm]{0pt}{#2} #3 }} +\def\compdmbox#1#2#3{\makebox[#1]{\rule[-0.3mm]{0pt}{#2} #3 }} +\def\lbcompdpbox#1#2#3{\parbox{#2}{\vskip 2em + \parbox{#2}{#3 \par \centering{\compdlabel{#1}}\vskip 2em }}} +% \end{macrocode} +% \end{macro} +% \end{macro} +% \end{macro} +% +% The \textsf{deriv} counter is introduced for numbering +% derivatives of a compound. +% \changes{v1.01a}{1996/06/22}{the unskip command was deleted.} +% \changes{v2.00}{1999/03/17}{derivnum added} +% +% \begin{macro}{\thederiv} +% \begin{macro}{\deriv} +% \begin{macro}{\noderiv} +% \begin{macro}{\derivnum} +% +% \begin{macrocode} +% ******************** +% * deriv label * +% * 1991 oct 01 * +% ******************** +% After Chapter 9 of ``LaTeX for (Bio)Chemists'' by Shinsaku Fujita +\newcounter{deriv}[compd] +\def\thederiv {\thecompd\alph{deriv}} +%\def\deriv{\refstepcounter{deriv}\unskip{\large\bf \thederiv}} +\def\deriv{\leavevmode\refstepcounter{deriv}{\large\bf \thederiv}} +\def\noderiv{\refstepcounter{deriv}} +\def\derivnum{% +\leavevmode\refstepcounter{deriv}{\large\bf \alph{deriv}}} +% \end{macrocode} +% \end{macro} +% \end{macro} +% \end{macro} +% \end{macro} +% +% \begin{macro}{\derivlabel} +% \begin{macro}{\noderivlabel} +% +% The cross-reference of derivative numbers are conducted by using +% |\label| and |\ref| commands. +% Alternative commands are also available as follows. +% \begin{macrocode} +\def\derivlabel#1{\deriv \label{#1}} +\def\noderivlabel#1{\noderiv \label{#1}} +% \end{macrocode} +% \end{macro} +% \end{macro} +% +% \begin{macro}{\derivfbox} +% \begin{macro}{\derivmbox} +% \begin{macro}{\lbderivpbox} +% +% For takeing a space for placing a derivative, we can use |\compdfbox| +% and like. +% +% \begin{macrocode} +\def\derivfbox#1#2#3{\framebox[#1]{\rule[-0.3mm]{0pt}{#2} #3 }} +\def\derivmbox#1#2#3{\makebox[#1]{\rule[-0.3mm]{0pt}{#2} #3 }} +\def\lbderivpbox#1#2#3{\parbox{#2}{\vskip 2em + \parbox{#2}{#3 \par \centering{\derivlabel{#1}}\vskip 2em }}} +% \end{macrocode} +% \end{macro} +% \end{macro} +% \end{macro} +% +% \begin{macro}{\deriva} +% \begin{macro}{\noderiva} +% \begin{macro}{\derivalabel} +% \begin{macro}{\noderivalabel} +% +% The \textsf{deriv} counter is also advanced by |\deriva| command and like. +% This command produced the net output of the \textsf{deriv} counter. +% \changes{v1.01a}{1996/06/22}{the unskip command was deleted.} +% \begin{macrocode} +% ******************** +% * deriva label * +% * 1991 oct 05 * +% ******************** +% After Chapter 9 of ``LaTeX for (Bio)Chemists'' by Shinsaku Fujita +%\def\deriva{\refstepcounter{deriv}\unskip{\large\bf \alph{deriv}}} +\def\deriva{\leavevmode\refstepcounter{deriv}{\large\bf \alph{deriv}}} +\def\noderiva{\refstepcounter{deriv}} +\def\derivalabel#1{\deriva \label{#1}} +\def\noderivalabel#1{\noderiva \label{#1}} +% \end{macrocode} +% \end{macro} +% \end{macro} +% \end{macro} +% \end{macro} +% +% \section{Boxes for placing compounds} +% +% \begin{macro}{\cdonecell} +% \begin{macro}{\cdtwocell} +% +% These boxes with a given width are used for printing chemical compounds. +% A box provided by |\cdonecell| is used for accomodating a compound. +% A box provided by |\cdtwocell| is devied into two vertical cells +% where the one is to place a compound and the other to place +% the compound number. +% \begin{macrocode} +% ******************** +% * cdonecell label * +% * 1991 oct 04 * +% ******************** +% After Chapter 9 of ``LaTeX for (Bio)Chemists'' by Shinsaku Fujita +\def\cdonecell#1#2#3{\raisebox{#1}{\parbox{#2}{\centering{#3}}}} +% #1 ue, #2 haba, #3 honbun +\def\cdtwocell#1#2#3#4{\raisebox{#1}{ + \parbox{#2}{\centering{#3} \par \vskip 3pt \centering{#4} }}} +% #1 ue, #2 haba, #3 ue honbun, #4 shita label +% \end{macrocode} +% \end{macro} +% \end{macro} +% +% \section{Arrows} +% +% \subsection{Arrows with variable length} +% +% \begin{macro}{\leftrightarrowfill} +% \begin{macro}{\Leftarrowfill} +% \begin{macro}{\Rightarrowfill} +% \begin{macro}{\Leftrightarrowfill} +% +% LaTeX{} are possessed of |\leftarrowfill| and |\rightarrowfill| for +% drawing arrows with variable length. The {\sffamily chemist} +% package defines other arrows with variable length for drawing +% chemical equations or schemes. +% +% \begin{macrocode} +% ******************* +% * variable arrows * 1992 May 24 S. Fujita +% ******************* +% After Chapter 9 of ``LaTeX for (Bio)Chemists'' by Shinsaku Fujita +\def\leftrightarrowfill{$\m@th \mathord\leftarrow \mkern-6mu + \cleaders\hbox{$\mkern-2mu \mathord- \mkern-2mu$}\hfill + \mkern-6mu \mathord\rightarrow$} +\def\Leftarrowfill{$\m@th \mathord\Leftarrow \mkern-6mu + \cleaders\hbox{$\mkern-2mu \mathord= \mkern-2mu$}\hfill + \mkern-6mu \mathord=$} +\def\Rightarrowfill{$\m@th \mathord= \mkern-6mu + \cleaders\hbox{$\mkern-2mu \mathord= \mkern-2mu$}\hfill + \mkern-6mu \mathord\Rightarrow$} +\def\Leftrightarrowfill{$\m@th \mathord\Leftarrow \mkern-6mu + \cleaders\hbox{$\mkern-2mu \mathord= \mkern-2mu$}\hfill + \mkern-6mu \mathord\Rightarrow$} +% \end{macrocode} +% \end{macro} +% \end{macro} +% \end{macro} +% \end{macro} +% +% \subsection{Reaction arrows with variable length} +% +% \begin{macro}{\reactrarrow} +% \begin{macro}{\reactlarrow} +% \begin{macro}{\reactlrarrow} +% \begin{macro}{\reacteqarrow} +% +% The {\sffamily chemist} package defines arrows with variable length +% for drawing chemical equations, where additional information +% can be written on the upper and/or downward sides of each arrow. +% \changes{v2.00}{1999/02/02}{Vertical spacing changed} +% \changes{v2.00}{1999/03/16}{Horizontal shift} +% +% The vertical space between the upper text and the arrow as well as +% the vertical spece between the the arrow and the below text can be +% changed by the dimension register \verb/\reactarrowsep/. +% +% \changes{v4.05}{2009/11/8}{added \cs{reactarrowsep} and \cs{reactarrowseprate}} +% \changes{v4.05}{2009/11/15}{added \cs{ChemStrut}} +% \changes{v4.05}{2009/11/19}{\cs{react...} to \cs{oldreact...}} +% +% \begin{verbatim} +% \reactarrowsep (dimension) for adjusting the two vertical spaces +% (default value 0pt) +% \reactarrowseprate (string) for adjusting the lower vertical space +% (default 1.0) +% \end{verbatim} +% +% \begin{macrocode} +% ******************* 1991 Oct 4 S. Fujita +% * reaction arrows * Revised 1992 May 24 S.Fujita%1999/02/02 SF +% ******************* +% After Chapter 9 of ``LaTeX for (Bio)Chemists'' by Shinsaku Fujita +% +% #1 yoko #2 ue, #3 haba, #4 ya no ue, #5 ya no shita +% +\newdimen\reactarrowsep +\def\reactarrowseprate{1.0} +\reactarrowsep=0pt +\def\oldreactrarrow{\@ifnextchar[{\oldreact@rarrow}{\oldreact@rarrow[0pt]}} +\def\oldreact@rarrow[#1]#2#3#4#5{\ensuremath{\mathbin{\hskip#1\raisebox{#2}{% + \parbox{#3}{\centering + \baselineskip=.8\normalbaselineskip \ChemStrut{#4}\par + \vskip-0.2\normalbaselineskip\vskip\reactarrowsep + \leavevmode\rightarrowfill \par + \vskip\reactarrowseprate\reactarrowsep + \vskip-0.1\normalbaselineskip\ChemStrut{#5}}}}}} +\def\oldreactlarrow{\@ifnextchar[{\oldreact@larrow}{\oldreact@larrow[0pt]}} +\def\oldreact@larrow[#1]#2#3#4#5{\ensuremath{\mathbin{\hskip#1\raisebox{#2}{% + \parbox{#3}{\centering + \baselineskip=.8\normalbaselineskip \ChemStrut{#4}\par + \vskip-0.2\normalbaselineskip\vskip\reactarrowsep + \leavevmode\leftarrowfill \par + \vskip\reactarrowseprate\reactarrowsep + \vskip-0.1\normalbaselineskip\ChemStrut{#5}}}}}} +\def\oldreactlrarrow{\@ifnextchar[{\oldreact@lrarrow}{\oldreact@lrarrow[0pt]}} +\def\oldreact@lrarrow[#1]#2#3#4#5{\ensuremath{\mathbin{\hskip#1\raisebox{#2}{% + \parbox{#3}{\centering + \baselineskip=.8\normalbaselineskip + \ChemStrut{#4}\par + \vskip-0.2\normalbaselineskip\vskip\reactarrowsep + \leavevmode\centering{\leftrightarrowfill} \par + \vskip\reactarrowseprate\reactarrowsep + \vskip-0.1\normalbaselineskip\ChemStrut{#5}}}}}} +\def\oldreacteqarrow{\@ifnextchar[{\oldreact@eqarrow}{\oldreact@eqarrow[0pt]}} +\def\oldreact@eqarrow[#1]#2#3#4#5{\ensuremath{\mathbin{\hskip#1\raisebox{#2}{% + \parbox{#3}{\centering + \baselineskip=.8\normalbaselineskip + \ChemStrut{#4}\par + \vskip-0.2\normalbaselineskip\vskip\reactarrowsep + \leavevmode\rightarrowfill \par \vskip-0.55\normalbaselineskip% + \leavevmode\leftarrowfill \par + \vskip\reactarrowseprate\reactarrowsep + \vskip-0.1\normalbaselineskip\ChemStrut{#5}}}}}} +%%%%%%2009/11/19 +%\let\reactrarrow=\oldreactrarrow +%\let\reactlarrow=\oldreactlarrow +%\let\reactlrarrow=\oldreactlrarrow +%\let\reacteqarrow=\oldreacteqarrow +% \end{macrocode} +% \end{macro} +% \end{macro} +% \end{macro} +% \end{macro} +% +% \begin{macro}{\reactreqarrow} +% \begin{macro}{\reactleqarrow} +% +% These commands have been added for the XyMTeX version 4.05. +% The {\sffamily chemist} package additionally defines arrows with variable length +% for drawing chemical equilibrium, where additional information +% can be written on the upper and/or downward sides of each arrow. +% The length of either one of arrows can be reduced by \verb/\eqlbarrowstretch/. +% +% \changes{v4.05}{2009/11/08}{added \cs{reactreqarrow} and \cs{reactleqarrow}} +% \changes{v4.05}{2009/11/19}{\cs{react...} to \cs{oldreact...}} +% +% \begin{macrocode} +% **************************************** 2009/11/08 S. Fujita +% * equilibrium arrows of uneven lengths * +% **************************************** +% +% #1 yoko #2 ue, #3 haba, #4 ya no ue, #5 ya no shita +% +\def\eqlbarrowstretch{0.6}%reduction rate of arrow length +\def\oldreactreqarrow{\@ifnextchar[{\oldreact@reqarrow}{\oldreact@reqarrow[0pt]}} +\def\oldreact@reqarrow[#1]#2#3#4#5{\ensuremath{\mathbin{\hskip#1\raisebox{#2}{% + \parbox{#3}{\centering\dimen0=#3 + \baselineskip=.8\normalbaselineskip + \ChemStrut{#4}\par + \vskip-0.2\normalbaselineskip\vskip\reactarrowsep + \leavevmode\rightarrowfill \par \vskip-0.55\normalbaselineskip% + \leavevmode\hbox to\eqlbarrowstretch\dimen0{\leftarrowfill} \par + \vskip\reactarrowseprate\reactarrowsep + \vskip-0.1\normalbaselineskip\ChemStrut{#5}}}}}} +\def\oldreactleqarrow{\@ifnextchar[{\oldreact@leqarrow}{\oldreact@leqarrow[0pt]}} +\def\oldreact@leqarrow[#1]#2#3#4#5{\ensuremath{\mathbin{\hskip#1\raisebox{#2}{% + \parbox{#3}{\centering\dimen0=#3 + \baselineskip=.8\normalbaselineskip + \ChemStrut{#4}\par + \vskip-0.2\normalbaselineskip\vskip\reactarrowsep + \leavevmode\hbox to\eqlbarrowstretch\dimen0{\rightarrowfill} \par + \vskip-0.55\normalbaselineskip% + \leavevmode\leftarrowfill \par + \vskip\reactarrowseprate\reactarrowsep + \vskip-0.1\normalbaselineskip\ChemStrut{#5}}}}}} +%%%%%2009/11/19 +%\let\reactreqarrow=\oldreactreqarrow +%\let\reactleqarrow=\oldreactleqarrow +% \end{macrocode} +% \end{macro} +% \end{macro} +% +% \begin{macro}{\k@nz@n} +% The |\k@nz@n| command is used for changing a dimension to a +% parameter for the \LaTeX{} picture environment. +% \begin{macrocode} +\def\k@nz@n#1{\@tempdima=#1\relax +\@tempcnta=\@tempdima \@tempcntb=\unitlength +\divide\@tempcnta by \@tempcntb +\edef\kanzanchi{\the\@tempcnta}% +\divide\@tempcnta by2\relax +\edef\kanzanhalf{\the\@tempcnta}} +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\reactdarrow} +% \begin{macro}{\reactuarrow} +% \begin{macro}{\reactveqarrow} +% \begin{macro}{\reactduarrow} +% Vertical reaction arrows has been added. +% \changes{v2.00}{1999/02/02}{New commands} +% \changes{v4.05}{2009/11/19}{\cs{react...} to \cs{oldreact...}} +% \begin{macrocode} +\def\oldreactdarrow{\@ifnextchar[{\oldreact@darrow}{\oldreact@darrow[0pt]}} +\def\oldreact@darrow[#1]#2#3#4#5{\hskip#1\raisebox{#2}{\k@nz@n{#3}% +\def\arraystretch{0.8}% +\begin{tabular}{l}#4\end{tabular}% +{\tabcolsep=0pt +\begin{tabular}{c}\begin{sfpicture}(0,\kanzanchi)(0,0) +\Put@Direct(0,\kanzanchi){\vector(0,-1){\kanzanchi}} +\end{sfpicture}\end{tabular}}% +\begin{tabular}{l}#5\end{tabular}}} +% +\def\oldreactuarrow{\@ifnextchar[{\oldreact@uarrow}{\oldreact@uarrow[0pt]}} +\def\oldreact@uarrow[#1]#2#3#4#5{\hskip#1\raisebox{#2}{\k@nz@n{#3}% +\def\arraystretch{0.8}% +\begin{tabular}{l}#4\end{tabular}% +{\tabcolsep=0pt +\begin{tabular}{c}\begin{sfpicture}(0,\kanzanchi)(0,0) +\Put@Direct(0,0){\vector(0,1){\kanzanchi}} +\end{sfpicture}\end{tabular}}% +\begin{tabular}{l}#5\end{tabular}}} +% +\def\oldreactveqarrow{\@ifnextchar[%] +{\oldreact@veqarrow}{\oldreact@veqarrow[0pt]}} +\def\oldreact@veqarrow[#1]#2#3#4#5{\hskip#1\raisebox{#2}{\k@nz@n{#3}% +\def\arraystretch{0.8}% +\begin{tabular}{l}#4\end{tabular}% +{\tabcolsep=0pt +\begin{tabular}{c}\begin{sfpicture}(40,\kanzanchi)(0,0) +\Put@Direct(40,0){\vector(0,1){\kanzanchi}}% +\Put@Direct(0,\kanzanchi){\vector(0,-1){\kanzanchi}}% +\end{sfpicture}\end{tabular}}% +\begin{tabular}{l}#5\end{tabular}}} +% +\def\oldreactduarrow{\@ifnextchar[{\oldreact@duarrow}{\oldreact@duarrow[0pt]}} +\def\oldreact@duarrow[#1]#2#3#4#5{\hskip#1\raisebox{#2}{\k@nz@n{#3}% +\def\arraystretch{0.8}% +\begin{tabular}{l}#4\end{tabular}% +{\tabcolsep=0pt +\begin{tabular}{c}\begin{sfpicture}(0,\kanzanchi)(0,0) +\Put@Direct(0,\kanzanhalf){\vector(0,1){\kanzanhalf}}% +\Put@Direct(0,\kanzanhalf){\vector(0,-1){\kanzanhalf}}% +\end{sfpicture}\end{tabular}}% +\begin{tabular}{l}#5\end{tabular}}} +%%%%2009/11/19 +%\let\reactdarrow=\oldreactdarrow +%\let\reactuarrow=\oldreactuarrow +%\let\reactveqarrow=\oldreactveqarrow +%\let\reactduarrow=\oldreactduarrow +% \end{macrocode} +% \end{macro} +% \end{macro} +% \end{macro} +% \end{macro} +% +% \begin{macro}{\reactswarrow} +% \begin{macro}{\reactsearrow} +% \begin{macro}{\reactnwrarrow} +% \begin{macro}{\reactnearrow} +% Further reaction arrows have been added. +% \changes{v2.00}{1999/02/02}{New commands} +% \changes{v2.00}{2000/06/14}{Bug Fix: exchanged sw -- se and nw --ne} +% \changes{v4.05}{2009/11/19}{\cs{react...} to \cs{oldreact...}} +% \begin{macrocode} +\def\oldreactsearrow{\@ifnextchar[{\oldreact@searrow}{\oldreact@searrow[0pt]}} +\def\oldreact@searrow[#1]#2#3#4#5{\hskip#1\raisebox{#2}{\k@nz@n{#3}% +\def\arraystretch{0.8}% +\begin{sfpicture}(\kanzanchi,\kanzanchi)(0,0) +\Put@Direct(0,\kanzanchi){\vector(1,-1){\kanzanchi}}% +\Put@Direct(\kanzanhalf,\kanzanhalf){\hbox to0pt{% +\begin{tabular}[b]{l}#4\end{tabular}\hss}} +\Put@Direct(\kanzanhalf,\kanzanhalf){\lower2ex\hbox to0pt{\hss +\begin{tabular}[t]{r}#5\end{tabular}}}% +\end{sfpicture}}} +% +\def\oldreactnwarrow{\@ifnextchar[{\oldreact@nwarrow}{\oldreact@nwarrow[0pt]}} +\def\oldreact@nwarrow[#1]#2#3#4#5{\hskip#1\raisebox{#2}{\k@nz@n{#3}% +\def\arraystretch{0.8}% +\begin{sfpicture}(\kanzanchi,\kanzanchi)(0,0)% +\Put@Direct(\kanzanchi,0){\vector(-1,1){\kanzanchi}}% +\Put@Direct(\kanzanhalf,\kanzanhalf){\hbox to0pt{% +\begin{tabular}[b]{l}#4\end{tabular}\hss}}% +\Put@Direct(\kanzanhalf,\kanzanhalf){\lower2ex\hbox to0pt{\hss +\begin{tabular}[t]{r}#5\end{tabular}}}% +\end{sfpicture}}} +% +\def\oldreactnearrow{\@ifnextchar[{\oldreact@nearrow}{\oldreact@nearrow[0pt]}} +\def\oldreact@nearrow[#1]#2#3#4#5{\hskip#1\raisebox{#2}{\k@nz@n{#3}% +\def\arraystretch{0.8}% +\begin{sfpicture}(\kanzanchi,\kanzanchi)(0,0) +\Put@Direct(0,0){\vector(1,1){\kanzanchi}}% +\Put@Direct(\kanzanhalf,\kanzanhalf){\lower2ex\hbox to0pt{% +\begin{tabular}[t]{l}#5\end{tabular}\hss}}% +\Put@Direct(\kanzanhalf,\kanzanhalf){\hbox to0pt{\hss +\begin{tabular}[b]{r}#4\end{tabular}}}% +\end{sfpicture}}} +% +\def\oldreactswarrow{\@ifnextchar[{\oldreact@swarrow}{\oldreact@swarrow[0pt]}} +\def\oldreact@swarrow[#1]#2#3#4#5{\hskip#1\raisebox{#2}{\k@nz@n{#3}% +\def\arraystretch{0.8}% +\begin{sfpicture}(\kanzanchi,\kanzanchi)(0,0)% +\Put@Direct(\kanzanchi,\kanzanchi){\vector(-1,-1){\kanzanchi}}% +\Put@Direct(\kanzanhalf,\kanzanhalf){\lower2ex\hbox to0pt{% +\begin{tabular}[t]{l}#5\end{tabular}\hss}}% +\Put@Direct(\kanzanhalf,\kanzanhalf){\hbox to0pt{\hss +\begin{tabular}[b]{r}#4\end{tabular}}}% +\end{sfpicture}}} +%%%%%2009/11/19 +%\let\reactsearrow=\oldreactsearrow +%\let\reactnwarrow=\oldreactnwarrow +%\let\reactnearrow=\oldreactnearrow +%\let\reactswarrow=\oldreactswarrow +% \end{macrocode} +% \end{macro} +% \end{macro} +% \end{macro} +% \end{macro} +% +% \begin{macro}{\reactdeqarrow} +% \begin{macro}{\reactueqarrow} +% \begin{macro}{\reactdlrarrow} +% \begin{macro}{\reactulrarrow} +% Further reaction arrows have been added. +% \changes{v2.00}{1999/02/02}{New commands} +% \changes{v4.05}{2009/11/19}{\cs{react...} to \cs{oldreact...}} +% \begin{macrocode} +\def\oldreactdeqarrow{\@ifnextchar[%] +{\oldreact@deqarrow}{\oldreact@deqarrow[0pt]}} +\def\oldreact@deqarrow[#1]#2#3#4#5{\hskip#1\raisebox{#2}{\k@nz@n{#3}% +\def\arraystretch{0.8}% +\begin{sfpicture}(\kanzanchi,\kanzanchi)(0,0)% +\Put@Direct(0,\kanzanchi){\Put@Direct(15,15){\vector(1,-1){\kanzanchi}}}% +\Put@Direct(\kanzanchi,0){\Put@Direct(-15,-15){\vector(-1,1){\kanzanchi}}}% +\Put@Direct(\kanzanhalf,\kanzanhalf){\raise1ex\hbox to0pt{% +\begin{tabular}[b]{l}#4\end{tabular}\hss}}% +\Put@Direct(\kanzanhalf,\kanzanhalf){\lower2ex\hbox to0pt{\hss +\begin{tabular}[t]{r}#5\end{tabular}}}% +\end{sfpicture}}} +\def\oldreactueqarrow{\@ifnextchar[%] +{\oldreact@ueqarrow}{\oldreact@ueqarrow[0pt]}} +\def\oldreact@ueqarrow[#1]#2#3#4#5{\hskip#1\raisebox{#2}{\k@nz@n{#3}% +\def\arraystretch{0.8}% +\begin{sfpicture}(\kanzanchi,\kanzanchi)(0,0) +\Put@Direct(0,0){\Put@Direct(-15,15){\vector(1,1){\kanzanchi}}} +\Put@Direct(\kanzanchi,\kanzanchi){\Put@Direct(15,-15){\vector(-1,-1){\kanzanchi}}}% +\Put@Direct(\kanzanhalf,\kanzanhalf){\lower2ex\hbox to0pt{% +\begin{tabular}[t]{l}#5\end{tabular}\hss}}% +\Put@Direct(\kanzanhalf,\kanzanhalf){\raise1ex\hbox to0pt{\hss +\begin{tabular}[b]{r}#4\end{tabular}}}% +\end{sfpicture}}} +\def\oldreactulrarrow{\@ifnextchar[%] +{\oldreact@ulrarrow}{\oldreact@ulrarrow[0pt]}} +\def\oldreact@ulrarrow[#1]#2#3#4#5{\hskip#1\raisebox{#2}{\k@nz@n{#3}% +\def\arraystretch{0.8}% +\begin{sfpicture}(\kanzanchi,\kanzanchi)(0,0)% +\Put@Direct(\kanzanhalf,\kanzanhalf){\vector(1,1){\kanzanhalf}}% +\Put@Direct(\kanzanhalf,\kanzanhalf){\vector(-1,-1){\kanzanhalf}}% +\Put@Direct(\kanzanhalf,\kanzanhalf){\lower2ex\hbox to0pt{% +\begin{tabular}[t]{l}#5\end{tabular}\hss}}% +\Put@Direct(\kanzanhalf,\kanzanhalf){\raise1ex\hbox to0pt{\hss +\begin{tabular}[b]{r}#4\end{tabular}}}% +\end{sfpicture}}} +\def\oldreactdlrarrow{\@ifnextchar[%] +{\oldreact@dlrarrow}{\oldreact@dlrarrow[0pt]}} +\def\oldreact@dlrarrow[#1]#2#3#4#5{\hskip#1\raisebox{#2}{\k@nz@n{#3}% +\def\arraystretch{0.8}% +\begin{sfpicture}(\kanzanchi,\kanzanchi)(0,0)% +\Put@Direct(\kanzanhalf,\kanzanhalf){\vector(-1,1){\kanzanhalf}}% +\Put@Direct(\kanzanhalf,\kanzanhalf){\vector(1,-1){\kanzanhalf}}% +\Put@Direct(\kanzanhalf,\kanzanhalf){\hbox to0pt{% +\begin{tabular}[b]{l}#4\end{tabular}\hss}}% +\Put@Direct(\kanzanhalf,\kanzanhalf){\lower2ex\hbox to0pt{\hss +\begin{tabular}[t]{r}#5\end{tabular}}}% +\end{sfpicture}}} +%%%%%2009/11/19 +%\let\reactdeqarrow=\oldreactdeqarrow +%\let\reactueqarrow=\oldreactueqarrow +%\let\reactulrarrow=\oldreactulrarrow +%\let\reactdlrarrow=\oldreactdlrarrow +% \end{macrocode} +% \end{macro} +% \end{macro} +% \end{macro} +% \end{macro} +% +% \begin{macro}{\schemelarrow} +% \begin{macro}{\schemerarrow} +% \begin{macro}{\schemelrarrow} +% +% The {\sffamily chemist} package defines double-line arrows with variable +% length for drawing reaction schemes, where additional information +% can be written on the upper and/or downward sides of each arrow. +% \changes{v2.00}{1999/02/02}{Vertical spacing changed} +% \changes{v4.05}{2009/11/19}{\cs{react...} to \cs{oldreact...}} +% \begin{macrocode} +% ******************************** +% * scheme arrows * +% * 1991 OCT 4 S. Fujita * +% * Revised 1992 May 24 S.Fujita * 1999/02/02 by S. Fujita +% ******************************** +% After Chapter 9 of ``LaTeX for (Bio)Chemists'' by Shinsaku Fujita +\def\oldschemelarrow#1#2#3#4{\raisebox{#1}{% + \parbox{#2}{\centering + \baselineskip=.8\normalbaselineskip #3 \par + \vskip-0.2\normalbaselineskip + \centering{\Leftarrowfill} \par + \vskip-0.1\normalbaselineskip #4}}} +\def\oldschemerarrow#1#2#3#4{\raisebox{#1}{% + \parbox{#2}{\centering + \baselineskip=.8\normalbaselineskip #3 \par + \vskip-0.2\normalbaselineskip + \centering{\Rightarrowfill} \par + \vskip-0.1\normalbaselineskip #4}}} +\def\oldschemelrarrow#1#2#3#4{\raisebox{#1}{% + \parbox{#2}{\centering + \baselineskip=.8\normalbaselineskip #3 \par + \vskip-0.2\normalbaselineskip + \centering{\Leftrightarrowfill} \par + \vskip-0.1\normalbaselineskip #4}}} +%%%%2009/11/19 +%\let\schemelarrow=\oldschemelarrow +%\let\schemerarrow=\oldschemerarrow +%\let\schemelrarrow=\oldschemelrarrow +% \end{macrocode} +% \end{macro} +% \end{macro} +% \end{macro} +% +% +% \begin{macro}{\ChemStrut} +% +% The commond \verb/\ChemStrut/ is defined to output a strut for chemical arrows. +% For example, \verb/\reactrarrow{0pt}{1cm}{AAAA}{\ChemStrut}/ can adjust the horizontal +% position of an arrow. +% +% \changes{v4.05}{2009/11/08}{added \cs{ChemStrut}} +% +% \begin{macrocode} +\def\ChemStrut{\mbox{\vphantom{A}}} +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\changespace} +% +% The |\changespace| command is used to change a vertical space +% between lines. +% \begin{macrocode} +% ************************* +% * Changing line spacing * +% ************************* +% After Chapter 3 of ``LaTeX for (Bio)Chemists'' by Shinsaku Fujita +\def\changespace#1{\def\baselinestretch{#1} \@normalsize} +% \end{macrocode} +% \end{macro} +% +% \begin{macrocode} +% %%%%%%%%%%1991 November 6%%%\bslskipchange%%%%%%%%%% +% \newenvironment{bslskipchange}[1]% +% {\par\begingroup\global\baselineskip= #1\normalbaselineskip}% +% {\endgroup\par\global\baselineskip=\normalbaselineskip% +% \global\@ignoretrue} +% \end{macrocode} +% +% \section{Captions} +% \subsection{Changing caption types within a float} +% \changes{v1.00}{1993/06/17}{by S. Fujita} +% +% \begin{macro}{\tbcaption} +% \begin{macro}{\fgcaption} +% \begin{macro}{\smcaption} +% +% These commands enable us to place two or more floats of +% different kinds in a single floating body. +% +% \begin{center} +% \begin{tabular}{lp{5cm}} +% \verb/\tbcaption[TCAP]{CAP}/ & +% makes a table caption in a float other than ``table'' or +% after using \verb/\fgcaption/ or \verb/\smcaption/ command. \\ +% \verb/\fgcaption[TCAP]{CAP}/ & +% makes a figure caption in a float other than ``figure'' or +% after using \verb/\tbcaption/ or \verb/\smcaption/ command. \\ +% \verb/\smcaption[TCAP]{CAP}/ & +% makes a scheme caption in a float other than ``scheme'' or +% after using \verb/\tbcaption/ or \verb/\fgcaption/ command. \\ +% \end{tabular} +% \end{center} +% +% For exmaple, we have +% +% \begin{verbatim} +% \begin{figure} +% \caption{aaa} % 通常のキャプション。 +% \tbcaption{bbb} % 表のキャプションの強制的に変更。 +% \fgcaption[ccc]{ddd} %図のキャプションに戻す。 +% \end{figure} +% \end{verbatim} +% +% \begin{macrocode} +\def\tbcaption{\def\@captype{table}\caption} +\def\fgcaption{\def\@captype{figure}\caption} +\def\smcaption{\def\@captype{scheme}\caption} +% \end{macrocode} +% \end{macro} +% \end{macro} +% \end{macro} +% +% \begin{macro}{\chapinitial} +% +% \begin{macrocode} +% ***************** +% * miscellaneous * +% ***************** +%%%%%%%%%%%1991 November 7%%%chapinitial%%%%%%%%%%%%% +\def\chap@initial#1% +{\medbreak\begingroup\clubpenalty=10000 + \def\par{\endgraf\endgroup\medbreak} + \noindent\hangindent28pt\hangafter=-2 +\hbox to0pt{\hskip-\hangindent +\hbox to28pt{\hss\raise-4pt\hbox{\lower3pt\hbox{\Huge\bf #1}} } +} \hskip-5pt plus2pt minus2pt} +\outer\def\chapinitial{\chap@initial} +% \end{macrocode} +% \end{macro} +% +% \section{Redefinition of verbatim} +% +% \begin{macro}{\yen} +% +% The {\sffamily chemist} package uses a customaized defintion of |\yen| for +% printing the top symbol of each command sequence. +% \begin{macrocode} +% ************ +% * ¥の定義 * +% ************ +% % ¥ %%%%%from ascmac.sty%%%%added \leavevmode%%%%%%%%%%%%%%%% +%\def\yen{\leavevmode{\setbox0=\hbox{Y}Y\kern-.97\wd0\vbox{% +% \hrule\@height.1ex\@width.98\wd0% +% \kern.33ex\hrule\@height.1ex\@width.98\wd0\kern.45ex}}} +% +\def\yen{\leavevmode\hbox{\setbox0=\hbox{Y}% +\setbox1=\vbox{\hrule height.05\ht0 width.96\wd0% +\kern.18\ht0\hrule height.05\ht0 width.96\wd0}% +\setbox1=\hbox to\wd0{\raise.3\ht0\box1\hss}% +{\ooalign{\hfil\box1\hfil\crcr\box0}}}} +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\ifverbswitch} +% \begin{macro}{\verb} +% +% The switch |\ifverbswitch| is used for changing |\yen| or +% |\backslash| for the top symbol of each control sequence +% printed by the |\verb| command. +% +% \begin{macrocode} +% ************************** +% * ¥を含んだverbatim環境 * +% ************************** +% %%%%%%1992 April 30 %%%verbatim%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% % from 奥村晴彦 LaTeX美文書作成入門 1991 技術評論社 % +% % omitted: =, by, etc. % +% % added: verbswitch % +% % \verbswitchtrue===> yen mark % +% % \verbswitchfalse===> backslash mark % +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\newif\ifverbswitch \verbswitchtrue +\let\old@verbatim\@verbatim +\let\old@xverbatim\@xverbatim +\let\old@sxverbatim\@sxverbatim +\begingroup + \catcode`\|=0 \catcode`\\=13 + |gdef|verbh@@k{|catcode`|\=13 |let\=|yen} +|endgroup +% \end{macrocode} +% +% \begin{macrocode} +\def\verb{\begingroup \catcode``=13 \@noligs + \tt \let\do\@makeother \dospecials + \ifverbswitch \verbh@@k \fi \@ifstar{\@sverb}{\@verb}} +% \end{macrocode} +% \end{macro} +% \end{macro} +% +% \begin{environment}{@verbatim} +% \begin{environment}{verbatim} +% +% The switch |\ifverbswitch| is also effective +% for in a verbtim environment. +% +% \begin{macrocode} +\begingroup +\catcode`|=0 \catcode`[=1 \catcode`]=2 +\catcode`\{=12 \catcode`\}=12 \catcode`\\=13 +|gdef|@xverbatim#1\end{verbatim}[#1|end[verbatim]] +|gdef|@sxverbatim#1\end{verbatim*}[#1|end[verbatim*]] +|endgroup +% \end{macrocode} +% +% \begin{macrocode} +\newdimen\verbatimleftmargin \verbatimleftmargin\leftmargini +\newdimen\verbatimbaselineskip \verbatimbaselineskip11pt +\def\verbatimsize{\small} +% \end{macrocode} +% +% \begin{macrocode} +\def\@verbatim{\trivlist \item[]% + \if@minipage \else \vskip\baselineskip% + \vskip-\verbatimbaselineskip \vskip\parskip\fi + \leftskip\@totalleftmargin + \if@minipage \else \advance\leftskip\verbatimleftmargin \fi + \rightskip\z@ \parindent\z@ \parfillskip\@flushglue \parskip\z@ + \@tempswafalse \def\par{\if@tempswa\hbox{}\fi\@tempswatrue\@@par} + \obeylines \verbatimsize \baselineskip\verbatimbaselineskip \tt + \catcode``=13 \@noligs \let\do\@makeother \dospecials} +% \end{macrocode} +% +% \begin{macrocode} +\def\verbatim{\ifverbswitch \@verbatim \else \old@verbatim \fi +\frenchspacing \@vobeyspaces +\ifverbswitch \verbh@@k \@xverbatim \else \old@xverbatim \fi} +\@namedef{verbatim*}{% + \ifverbswitch \@verbatim \verbh@@k \@sxverbatim + \else \old@verbatim \old@sxverbatim \fi} +% \end{macrocode} +% +% \begin{macrocode} +% %%%%%%%%%%%%%%pLaTeX2e%%%%%%%%%%%%%1996/04/20 by S. Fujita%%%%%% +% pLaTeX2eでは再定義されているので,上のままだとエラーになる +% LaTeX2.09の定義を補っておく +\def\@sverb#1{\def\@tempa ##1#1{##1\endgroup}\@tempa} +\def\@verb{\obeyspaces \frenchspacing \@sverb} +\def\@sverbtim{\obeyspaces\@verbatim} +\let\endverbatim=\endtrivlist +\@namedef{varbatim*}{\@verbatim\@sxverbatim} +\expandafter\let\csname endverbatim*\endcsname =\endtrivlist +% \end{macrocode} +% \end{environment} +% \end{environment} +% +% +% \section{Shadowed Boxes} +% +% \begin{macro}{\fb@xit} +% \begin{macro}{\fboxit} +% +% \begin{macrocode} +% +% <<Base box for boxes>> +% \fb@xit{LWIDTH}{SPACE}{BWIDTH}{TEXT} +% #1 LWIDTH: line thickness +% #2 SPACE: spacing around the text +% #3 BWIDTH: box width +% #4 TEXT: text +% +\long\def\fb@xit#1#2#3#4{% +\setbox4=\vbox{\hsize#3\noindent#4}% +%\setbox4=\vbox{\hsize#3\noindent\strut#4\strut}% +\vbox{\hrule\@height#1\hbox{\vrule\@width#1\kern#2\vbox{% +\kern#2\box4\kern#2}\kern#1\vrule\@width#1}\hrule\@height#1}} +%\kern#2\box4\kern#2}\vrule\@width#1}\hrule\@height#1}} +% \end{macrocode} +% +% \begin{macrocode} +% +% \fboxit{BWIDTH}{TEXT} +% #1 BWIDTH: box width +% #2 TEXT: text +% +\long\def\fboxit#1#2{\fb@xit{\fboxrule}{\fboxsep}{#1}{#2}} +% \end{macrocode} +% \end{macro} +% \end{macro} +% +% \begin{macro}{\leftshfr@me} +% \begin{macro}{\leftshframe} +% \begin{macro}{\leftshfbox} +% +% \begin{macrocode} +% % ************************************************************ +% % * 影のついた箱 * +% % * January 3, 1993 by Shinsaku Fujita * +% % * Borde ({\em \TeX{} by Example})の記載を参考にして作った* +% % ************************************************************ +% After Chapter 12 of ``LaTeX for (Bio)Chemists'' by Shinsaku Fujita +% +% left shadow box +% +% \leftshfr@me{SWIDTH}{SPACE}{BOXWIDTH}{TEXT} +% +% #1 SWIDTH: shadow width +% #2 SPACE: spacing around the text +% #3 BOXWIDTH: box width +% #4 TEXT: text +% +% \leftshframe{BOXWIDTH}{TEXT} +% +% #1 BOXWIDTH: box width +% #2 TEXT: text +% +% \leftshfbox{TEXT} +% +% #1 TEXT: text +% +% %%leftshfr@me#1 shadow width, #2 space, #3 boxwidth, #4 text% +\long\def\leftshfr@me#1#2#3#4{\leavevmode% + \vbox{\hbox{\hsize #3\vbox{% + \hbox{\vrule\@width #1% + \vbox{\kern-#1\fb@xit{% + \fboxrule}{#2}{#3}{#4}\kern-\fboxrule}\kern-#1}% + \hrule\@height#1}}}\strut\hskip #1\relax} +% %leftshframe%%%%%%%%%%%%%%%%%%%%%%%%% #1 width, #2 text%%%%% +\long\def\leftshframe#1#2{% + \leftshfr@me{\fboxsep}{\fboxsep}{#1}{#2}} +% %leftshfbox%%%%%%%%%%%%%%%%%%%%%%%%% #1 text%%%%%%%%%%%%%%%% +\long\def\leftshfbox#1{\leavevmode\setbox0=\hbox{\fbox{#1}}% + \vbox{\hbox{\vbox{\hbox{\vrule\@width\fboxsep\vbox{% + \kern-\fboxsep\box0\kern-\fboxrule}\kern-\fboxsep}% + \hrule\@height\fboxsep}}}\hskip\fboxsep\relax} %%%% +% \end{macrocode} +% \end{macro} +% \end{macro} +% \end{macro} +% +% \begin{macro}{\rightshfr@me} +% \begin{macro}{\rightshframe} +% \begin{macro}{\rightshfbox} +% +% \begin{macrocode} +% +% right shadow box +% +% \rightshfr@me{SWIDTH}{SPACE}{BOXWIDTH}{TEXT} +% +% #1 SWIDTH: shadow width +% #2 SPACE: spacing around the text +% #3 BOXWIDTH: box width +% #4 TEXT: text +% +% \rightshframe{BOXWIDTH}{TEXT} +% +% #1 BOXWIDTH: box width +% #2 TEXT: text +% +% \rightshfbox{TEXT} +% +% #1 TEXT: text +% +% %rightshfr@me#1 shadow width, #2 space, #3 boxwidth, #4 text% +\long\def\rightshfr@me#1#2#3#4{\leavevmode% + \vbox{\hbox{\kern#1\vbox{\hsize#3\vbox{\kern-#1\hbox{% + \kern-#1\fb@xit{\fboxrule}{#2}{#3}{#4}}\hrule\@height#1}}% + \vrule\@width#1}}\strut} +% %rightshframe%%%%%%%%%%%%%%%%%%%%%%%%% #1 width, #2 text%%%%% +\long\def\rightshframe#1#2{% + \rightshfr@me{\fboxsep}{\fboxsep}{#1}{#2}} +% %rightshfbox%%%%%%%%%%%%%%%%%%%%%%%%% #1 text%%%%%%%%%%%%%%%% +\long\def\rightshfbox#1{\leavevmode% + \vbox{\hbox{\kern\fboxsep\vbox{\vbox{\kern-\fboxsep\hbox{% + \kern-\fboxsep\fbox{#1}}\hrule\@height\fboxsep}}% + \vrule\@width\fboxsep}}} +% \end{macrocode} +% \end{macro} +% \end{macro} +% \end{macro} +% +% \begin{environment}{ffboxit} +% \begin{macro}{\ffparbox} +% +% \begin{macrocode} +% ***************************************** +% * 箱 (環境版) * +% * November 2, 1991 by Shinsaku Fujita * +% ***************************************** +% After Chapter 12 of ``LaTeX for (Bio)Chemists'' by Shinsaku Fujita +% %%%%%%1991 November 2 %%%ffboxit%%%%%%%%%%%%%%%%%%%%%% +\def\ffboxit{\par\vskip1pc\hfil\vbox\bgroup + \hrule\hbox\bgroup\vrule\kern3pt\vbox\bgroup\kern3pt} +\def\endffboxit{\kern3pt\egroup\kern3pt\vrule\egroup\hrule\egroup + \hfil\\} +\def\ffparbox#1#2{\vbox{\hsize=#1 \noindent\strut #2\strut}} +% \end{macrocode} +% \end{macro} +% \end{environment} +% +% \section{Framed box environment with and without shadows} +% +% \subsection{Framed box environment without shadows} +% +% \begin{macrocode} +% %%%%%%1991 November 2 %%%frameboxit%%%old definition%%%%%%%%%% +% with centering function +%\def\frameboxit#1{\par\vskip1pc\hfil\vbox\bgroup +% \hrule\hbox\bgroup\vrule\kern3pt\vbox\bgroup\kern3pt +% \vbox\bgroup\hsize=#1 \noindent\strut +% \@minipagetrue% +% \everypar{\global\@minipagefalse\everypar{}}} +%\def\endframeboxit{\strut\egroup\kern3pt\egroup% +%\kern3pt\vrule\egroup +% \hrule\egroup\hfil\\} +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% +% <<Base box for box environments>> +% \begin{fr@meboxit}{LWIDTH}{SPACE}{BWIDTH} +% LWIDTH: line thickness +% SPACE: spacing around the text +% BWIDTH: box width +% \end{fr@meboxit} +% +% %%fr@meboxit%%%%%#1 line width, #2 space, #3 width%%%%%%%%%%%%% +%\def\fr@meboxit#1#2#3{\gdef\fr@meline{#1}\gdef\fr@mesp{#2}% +% \hbox\bgroup\vbox\bgroup% +% \hrule\@height#1\hbox\bgroup% +% \vrule\@width#1\kern#2\vbox\bgroup% +% \kern#2\vbox\bgroup\hsize=#3\strut% +% \@minipagetrue% +% \everypar{\global\@minipagefalse\everypar{}}} +%\def\endfr@meboxit{\strut\egroup% +%\kern\fr@mesp\egroup\kern\fr@mesp\egroup\hrule\@height\fr@meline% +%\egroup\vrule\@width\fr@meline\egroup} +% \end{macrocode} +% +% \begin{environment}{fr@meboxit} +% \begin{environment}{frameboxit} +% +% \begin{macrocode} +% %%%%%%%revised by S. Fujita, January 16, 1993%%%%%%%%%%%%%%%%%%%%% +\long\def\fr@meboxit#1#2#3{\gdef\fr@meline{#1}\gdef\fr@mesp{#2}% +% % \setbox4=\vbox\bgroup\hsize=#3\@parboxrestore\ignorespaces} + \global\setbox4=\hbox\bgroup\minipage{#3}} +% %\def\endfr@meboxit{\egroup% +\def\endfr@meboxit{\endminipage\egroup% + \hbox{\vbox{\hrule\@height\fr@meline% + \hbox{\vrule\@width\fr@meline\kern\fr@mesp% + \vbox{\kern\fr@meline\kern\fr@mesp\box4\kern\fr@mesp}% +% % \vbox{\kern\fr@mesp\box4\kern\fr@mesp}% + \kern\fr@mesp}\hrule\@height\fr@meline}% + \vrule\@width\fr@meline}} +% \end{macrocode} +% +% \begin{macrocode} +% %%%%%%%revised by S. Fujita, January 16, 1993%%%%%%%%%%%%%%%%%%%% +\def\frameboxit#1{\leavevmode\fr@meboxit{\fboxrule}{\fboxsep}{#1}} +\let\endframeboxit=\endfr@meboxit +% \end{macrocode} +% \end{environment} +% \end{environment} +% +% \subsection{Framed box environment with shadows} +% +% \begin{environment}{lshfr@meboxit} +% \begin{environment}{lshfboxit} +% +% \begin{macrocode} +% ***************************************** +% * 影のついた箱 (環境版) * +% * January 16, 1993 by Shinsaku Fujita * +% * \sh@hwidth: 水平の影の太さ * +% * \sh@vwidth: 垂直の影の太さ * +% ***************************************** +% After Chapter 12 of ``LaTeX for (Bio)Chemists'' by Shinsaku Fujita +% +% <<Base box for box environments>> See above +% \begin{fr@meboxit}{LWIDTH}{SPACE}{BWIDTH} +% LWIDTH: line thickness +% SPACE: spacing around the text +% BWIDTH: box width +% \end{fr@meboxit} +% +% <<Base box environment with left shadow>> +% \begin{lshfr@meboxit}{HSWIDTH}{VSWIDTH}{SPACE}{BWIDTH} +% HSWIDTH: the thickness of the horizontal shadow +% VSWIDTH: the thickness of the vertical shadow +% SPACE: spacing around the text +% BWIDTH: box width +% \end{lshfr@meboxit} +% +% <<Box environment with left shadow>> +% \begin{lshfboxit}{BWIDTH} +% BWIDTH: box width +% \end{lshfboxit} +% +% %%%lshfr@meboxit#1 #2 shadow width, #3 space, #4 boxwidth%%%% +\def\lshfr@meboxit#1#2#3#4{\gdef\sh@hwidth{#1}\gdef\sh@vwidth{#2}% +\leavevmode% + \vbox\bgroup\hbox\bgroup\hsize #4\vbox\bgroup% + \hbox\bgroup\vrule\@width\sh@vwidth% + \vbox\bgroup\kern-\sh@hwidth\fr@meboxit{\fboxrule}{#3}{#4}} +\def\endlshfr@meboxit{\endfr@meboxit%%%%\kern-\fboxrule + \egroup\kern-\sh@vwidth\egroup% + \hrule\@height\sh@hwidth\egroup\egroup\egroup% + \strut\kern\sh@hwidth\relax} +% \end{macrocode} +% +% \begin{macrocode} +% %%lshfboxit%%%%%%%%%%%%%%%%%%%%%%%%% #1 width %%%%%%%% +\def\lshfboxit#1{\leavevmode% + \lshfr@meboxit{\fboxsep}{\fboxsep}{\fboxsep}{#1}} +\let\endlshfboxit=\endlshfr@meboxit +% \end{macrocode} +% \end{environment} +% \end{environment} +% +% \begin{environment}{rshfr@meboxit} +% \begin{environment}{rshfboxit} +% +% \begin{macrocode} +% <<Base box environment with right shadow>> +% \begin{rshfr@meboxit}{HSWIDTH}{VSWIDTH}{SPACE}{BWIDTH} +% HSWIDTH: the thickness of the horizontal shadow +% VSWIDTH: the thickness of the vertical shadow +% SPACE: spacing around the text +% BWIDTH: box width +% \end{rshfr@meboxit} +% +% <<Box environment with right shadow>> +% \begin{rshfboxit}{BWIDTH} +% BWIDTH: box width +% \end{rshfboxit} +% +% %%rshfr@meboxit#1 #2 shadow width, #3 space, #4 boxwidth%%% +\def\rshfr@meboxit#1#2#3#4{% + \gdef\sh@hwidth{#1}\gdef\sh@vwidth{#2}% + \leavevmode% + \vbox\bgroup\hbox\bgroup\kern\sh@vwidth% + \vbox\bgroup\hsize#4\vbox\bgroup% + \kern-\sh@hwidth\hbox\bgroup\kern-\sh@vwidth% + \fr@meboxit{\fboxrule}{#3}{#4}} +\def\endrshfr@meboxit{\endfr@meboxit\egroup% + \hrule\@height\sh@hwidth% + \egroup\egroup\vrule\@width\sh@vwidth\egroup\egroup\strut} +% \end{macrocode} +% +% \begin{macrocode} +% %%rshfboxit%%%%%%%%%%%%%%%%%%%%%%%%% #1 width%%%%%%%% +\def\rshfboxit#1{\leavevmode% + \rshfr@meboxit{\fboxsep}{\fboxsep}{\fboxsep}{#1}} +\let\endrshfboxit=\endrshfr@meboxit +% \end{macrocode} +% \end{environment} +% \end{environment} +% +% \subsection{Framed box environment with gradient shadows} +% +% \begin{macro}{\hsgr@d} +% \begin{macro}{\vsgr@d} +% \begin{macro}{\vwgr@d} +% \begin{macro}{\hwgr@d} +% \begin{macro}{\vsepgr@d} +% \begin{macro}{\hsepgr@d} +% \begin{macro}{\nrep} +% \begin{macro}{\nrepmax} +% +% \begin{macrocode} +% %%parameters%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\newdimen\hsgr@d \newdimen\vsgr@d +\newdimen\vwgr@d \newdimen\hwgr@d +\newdimen\vsepgr@d \newdimen\hsepgr@d +\newcount\nrep \newcount\nrepmax +%\nrepmax=20 +\nrepmax=25 +% \end{macrocode} +% \end{macro} +% \end{macro} +% \end{macro} +% \end{macro} +% \end{macro} +% \end{macro} +% \end{macro} +% \end{macro} +% +% \begin{environment}{grshfr@meboxit} +% \begin{environment}{grshfboxit} +% +% \begin{macrocode} +% ***************************************** +% * 斜の影のついた箱 (環境版) * +% * Box environments with gradient shadow * +% * January 16, 1993 by Shinsaku Fujita * +% ***************************************** +% After Chapter 12 of ``LaTeX for (Bio)Chemists'' by Shinsaku Fujita +% +% <<Base box environment with gradient right shadow>> +% \begin{grshfr@meboxit}{HSWIDTH}{VSWIDTH}{SPACE}{BWIDTH} +% HSWIDTH: the thickness of the horizontal shadow +% VSWIDTH: the thickness of the vertical shadow +% SPACE: spacing around the text +% BWIDTH: box width +% \end{grshfr@meboxit} +% +% <<Box environment with gradient right shadow>> +% \begin{grshfboxit}{BWIDTH} +% BWIDTH: box width +% \end{grshfboxit} +% %%%%%%%%grshfr@meboxit#1 #2 shadow width, #3 space, #4 boxwidth%%% +\def\grshfr@meboxit#1#2#3#4{% + \hsgr@d=0pt \advance\hsgr@d by#1 \divide\hsgr@d by\nrepmax% + \vsgr@d=0pt \advance\vsgr@d by#2 \divide\vsgr@d by\nrepmax% + \leavevmode% + \setbox0=\vbox\bgroup\fr@meboxit{\fboxrule}{#3}{#4}} +\def\brb@xit#1{\vbox{\setbox1=\hbox{#1}% + \offinterlineskip% + \hbox{\copy1\vsepgr@d=\nrep\vsgr@d% + \vwgr@d=\ht1\advance\vwgr@d by-\vsepgr@d% + \vrule\@height\vwgr@d\@width\vsgr@d}% + \hbox{\hsepgr@d=\nrep\hsgr@d\kern\hsepgr@d% + \vbox{\hwgr@d=\wd1\advance\hwgr@d by-\hsepgr@d% + \hrule\@height\hsgr@d\@width\hwgr@d}}}} +\def\lprb@xit{\expandafter\setbox0=\expandafter\brb@xit{\box0}} +\def\endgrshfr@meboxit{\endfr@meboxit\egroup% + \nrep=\@ne\@whilenum\nrep<\nrepmax\do% + {\lprb@xit\advance\nrep\@ne}\box0\relax} +% %%%%% in TeX grammer +%\def\endgrshfr@meboxit{\endfr@meboxit\egroup% +% \nrep=\@ne \loop \lprb@xit \advance\nrep\@ne% +% \ifnum \nrep<\nrepmax \repeat \box0\relax} +% \end{macrocode} +% +% \begin{macrocode} +% %%%%%%%grshfboxit%%%%%%%%%%%%%%%%%%%%%%%%% #1 width, #2 text%%%%%%%% +\def\grshfboxit#1{\leavevmode% + \grshfr@meboxit{\fboxsep}{\fboxsep}{\fboxsep}{#1}} +\let\endgrshfboxit=\endgrshfr@meboxit +% \end{macrocode} +% \end{environment} +% \end{environment} +% +% \begin{environment}{glshfr@meboxit} +% \begin{environment}{glshfboxit} +% +% \begin{macrocode} +% <<Base box environment with gradient left shadow>> +% \begin{glshfr@meboxit}{HSWIDTH}{VSWIDTH}{SPACE}{BWIDTH} +% HSWIDTH: the thickness of the horizontal shadow +% VSWIDTH: the thickness of the vertical shadow +% SPACE: spacing around the text +% BWIDTH: box width +% \end{glshfr@meboxit} +% +% <<Box environment with gradient left shadow>> +% \begin{glshfboxit}{BWIDTH} +% BWIDTH: box width +% \end{glshfboxit} +% %%%%%%%%glshfr@meboxit#1 #2 shadow width, #3 space, #4 boxwidth%% +\def\glshfr@meboxit#1#2#3#4{% + \hsgr@d=0pt \advance\hsgr@d by#1 \divide\hsgr@d by\nrepmax% + \vsgr@d=0pt \advance\vsgr@d by#2 \divide\vsgr@d by\nrepmax% + \leavevmode% + \setbox0=\vbox\bgroup\fr@meboxit{\fboxrule}{#3}{#4}} +\def\blb@xit#1{% + \vbox{\setbox1=\hbox{#1}% + \offinterlineskip% + \vsepgr@d=\nrep\vsgr@d% + \vwgr@d=\ht1\advance\vwgr@d by-\vsepgr@d% + \hsepgr@d=\nrep\hsgr@d% + \hwgr@d=\wd1\advance\hwgr@d by-\hsepgr@d% + \hbox{\vrule\@height\vwgr@d\@width\vsgr@d\copy1}% + \hbox{\kern-\vsgr@d% + \vrule\@height\hsgr@d\@width\hwgr@d}}} +% %% \hbox{\vbox{\hrule\@height\hsgr@d\@width\hwgr@d}}}} +\def\lplb@xit{\expandafter\setbox0=\expandafter\blb@xit{\box0}} +\def\endglshfr@meboxit{\endfr@meboxit\egroup% + \nrep=\@ne\@whilenum\nrep<\nrepmax\do% + {\lplb@xit\advance\nrep\@ne}\box0\relax} +% %%%%% in TeX grammer +%\def\endglshfr@meboxit{\endfr@meboxit\egroup% +% \nrep=\@ne \loop \lplb@xit \advance\nrep\@ne% +% \ifnum\nrep<\nrepmax\repeat\box0\relax} +% \end{macrocode} +% +% \begin{macrocode} +% %%%%%%%%glshfboxit%%%%%%%%%%%%%%%%%%%%%%%%% #1 width, #2 text%%% +\def\glshfboxit#1{\leavevmode% + \glshfr@meboxit{\fboxsep}{\fboxsep}{\fboxsep}{#1}} +\let\endglshfboxit=\endglshfr@meboxit +% \end{macrocode} +% \end{environment} +% \end{environment} +% +% \section{(Mini)screen environment} +% \subsection{(Mini)screen environment without a title} +% +% \begin{macro}{\@oval} +% \begin{macro}{\h@b@x} +% \begin{macro}{\@vrf@} +% \changes{v2.00}{2000/06/15}{ybaselineshift etc.} +% +% \begin{macrocode} +\@ifundefined{ybaselineshift}{% +\newdimen\ybaselineshift \ybaselineshift=\z@}{} +\@ifundefined{tbaselineshift}{% +\newdimen\tbaselineshift \tbaselineshift=\z@}{} +\newdimen\@savetbaselineshift \@savetbaselineshift=\z@ +\def\@oval(#1,#2)[#3]{\begingroup\boxmaxdepth \maxdimen + \@ovttrue \@ovbtrue \@ovltrue \@ovrtrue + \@tfor\@tempa :=#3\do{\csname @ov\@tempa false\endcsname}\@ovxx + #1\unitlength \@ovyy #2\unitlength + \@tempdimb \ifdim \@ovyy >\@ovxx \@ovxx\else \@ovyy \fi + \advance\@tempdimb -2pt\relax + \@getcirc \@tempdimb + \@ovro \ht\@tempboxa \@ovri \dp\@tempboxa + \@ovdx\@ovxx \advance\@ovdx -\@tempdima \divide\@ovdx \tw@ + \@ovdy\@ovyy \advance\@ovdy -\@tempdima \divide\@ovdy \tw@ + \@circlefnt \setbox\@tempboxa + \hbox{\if@ovr \@ovvert32\kern -\@tempdima \fi + \if@ovl \kern \@ovxx \@ovvert01\kern -\@tempdima \kern -\@ovxx \fi + \if@ovt \@ovhorz \kern -\@ovxx \fi + \if@ovb \raise \@ovyy \@ovhorz \fi}\advance\@ovdx\@ovro + \advance\@ovdy\@ovro \ht\@tempboxa\z@ \dp\@tempboxa\z@ + \@put{-\@ovdx}{-\@ovdy}{\box\@tempboxa}% + \endgroup} +\def\h@b@x#1#2#3{\hbox to\dimen1% + {\@oval(#3,#3)[#1]\hfil\@oval(#3,#3)[#2]}} +\def\@vrf@#1#2{\vskip#1\leaders\vrule\@width#2\vfil\vskip#1} +% \end{macrocode} +% \end{macro} +% \end{macro} +% \end{macro} +% +% \begin{environment}{miniscreen} +% \begin{environment}{screen} +% \changes{v2.00}{2000/06/15}{ybaselineshift etc.} +% \changes{v4.01c}{2004/12/03}{To be compatible with multicol.sty: dimen2 into dimen6} +% +% +% \begin{macrocode} +% ****************** +% * miniscreen環境 * +% ****************** +% +% ASCII版Micro\TeXのscreen環境を枠の幅を指定できるように改変 +% +% ifcase文 ==> 直接計算 +% dimen類 ==> dimen0 to dimen5 +% box類 ==> box0 and box1 +% +% After Chapter 12 of ``LaTeX for (Bio)Chemists'' by Shinsaku Fujita +% miniscreen environment +% +\let\miniscreentoprule=\hrule +\def\miniscreen{\@ifnextchar[{\@miniscreen}{\@miniscreen[0]}} +% \end{macrocode} +% +% \begin{macrocode} +\def\miniscreen{\@ifnextchar[{\@miniscreen}{\@miniscreen[0]}} +\def\@miniscreen[#1]#2{\dimen1=#2\relax% +\@savetbaselineshift\tbaselineshift \tbaselineshift\z@ +\@tempcnta=-2 \multiply\@tempcnta by#1\relax% +\advance\@tempcnta by 20\relax \dimen5=1pt +\multiply\dimen5\@tempcnta +\dimen4=-1pt \multiply\dimen4 by#1\relax +\advance\dimen4 by 10pt +\dimen3=\dimen4 \advance\dimen3 by -.2pt +\par\vspace{.3\baselineskip}% +\dimen6=\dimen1 \advance\dimen6 by .1pt +\advance\dimen1 -\dimen5\relax% +\setbox0=\hbox\bgroup\minipage{\dimen1 +\tbaselineshift\@savetbaselineshift}}% +% \end{macrocode} +% +% \begin{macrocode} +\def\endminiscreen{\endminipage\egroup% +\setbox1=\hbox to\dimen6{\hfil\vbox{\offinterlineskip% +\thinlines\unitlength=1pt +\miniscreentoprule%\hrule +\kern\dimen3% +\h@b@x{tl}{tr}{\@tempcnta}% +\kern-\dimen4\box0\h@b@x{bl}{br}{\@tempcnta}% +\kern-.4pt\hrule}\hfil}\dimen0=\ht1\noindent% +\hbox to\dimen6{\hbox to.4pt{% +\vbox to\dimen0{\@vrf@{\dimen4}{.4pt}}\hss}% +\box1\hbox to.2pt{% + \hss\vbox to\dimen0{\@vrf@{\dimen4}{.4pt}}}\hss}}% +% %%%%%%alternative +%\def\miniscreen{\@ifnextchar[{\@miniscreen}{\@miniscreen[0]}} +%\def\@miniscreen[#1]#2{\noindent\minipage{#2}\@screen[#1]} +%\def\endminiscreen{\endscreen\endminipage} +% \end{macrocode} +% +% \begin{macrocode} +\def\screen{\@ifnextchar[{\@screen}{\@miniscreen[0]{\linewidth}}} +\def\@screen[#1]{\miniscreen[#1]{\linewidth}} +\let\endscreen=\endminiscreen +% \end{macrocode} +% \end{environment} +% \end{environment} +% +% \subsection{(Mini)screen environment with a title} +% +% \begin{macro}{\tboxscreentoprule} +% \begin{macro}{\tboxtitle} +% +% \begin{macrocode} +\def\tboxscreentoprule{% +\hbox to\wd0{\smash{\lower.4ex\hbox{% +\fboxsep=2pt \fbox{\small \tboxtitle}}}\hrulefill}} +\def\tboxtitle{\bf Memorandum} +% \end{macrocode} +% \end{macro} +% \end{macro} +% +% \begin{environment}{\tboxminiscreen} +% \begin{environment}{\tboxscreen} +% +% \begin{macrocode} +% ****************** +% * tboxscreen環境 * +% ****************** +% 1996/06/04 by Shinsaku Fujita +% +\def\tboxminiscreen{\@ifnextchar[{\vskip8pt + \let\miniscreentoprule=\tboxscreentoprule% + \@miniscreen}{\vskip8pt + \let\miniscreentoprule=\tboxscreentoprule% + \@miniscreen[0]}} +\let\endtboxminiscreen=\endminiscreen +% \end{macrocode} +% +% \begin{macrocode} +\def\tboxscreen{\@ifnextchar[{\@tboxscreen}% +{\@tboxscreen[0]}} +\def\@tboxscreen[#1]{\tboxminiscreen[#1]{\linewidth}} +\let\endtboxscreen=\endtboxminiscreen +% \end{macrocode} +% \end{environment} +% \end{environment} +% +% \section{Further boxes} +% +% \begin{macro}{\sboxit} +% +% \begin{macrocode} +% ****************************** +% * \sboxit 左右の余裕のない箱 * +% ****************************** +% After Chapter 12 of ``LaTeX for (Bio)Chemists'' by Shinsaku Fujita +\def\sboxit#1#2{\vbox{\hrule\hbox% +{\vrule\vbox{\kern3pt\vbox{\hsize #1 \noindent #2}% +\kern3pt}\vrule}\hrule}} +% \end{macrocode} +% \end{macro} +% +% \section{Boxes with no height or no width} +% +% \begin{macro}{\bury} +% \begin{macro}{\pushtowall} +% +% \begin{macrocode} +% *********************** +% * bury and pushtowall * +% *********************** +% After Chapter 7 of ``LaTeX for (Bio)Chemists'' by Shinsaku Fujita +% +% \bury[下げ幅]{内容} +% 下げ幅のデフォルト値は,\normalbaselineksipの半分 +% +% (旧) \def\bury#1{\smash{\lower.5\normalbaselineskip\hbox{#1}}} +% これは,「化学と生化学のためのLaTeX」に載せた定義です. +% 以下の定義は,下げ幅をオプション引数として取るように +% 拡張したものです. +% +\def\bury{\@ifnextchar [{\@bury}{\@bury[.5\normalbaselineskip]}} +\def\@bury[#1]#2{\smash{\lower#1\hbox{#2}}} +% +% \pushtowall{内容} +% 水平方向の押し付ける命令 (\smashの水平方向版) +% +\def\finpushw@ll{\wd0=0pt \box0} +\def\makepushw@ll#1{\setbox0=\hbox{#1}\finpushw@ll} +\def\mathpushw@ll#1#2{\setbox0=\hbox{$\m@th#1{#2}$}\finpushw@ll} +\def\pushtowall{\relax \leavevmode + \ifmmode\def\next{\mathpalette\mathpushw@ll} + \else\let\next\makepushw@ll \fi \next} +% \end{macrocode} +% \end{macro} +% \end{macro} +% +% \begin{macro}{\penetrate} +% +% \begin{macrocode} +% \penetrate{DIM}{OBJ} +% 幅無し<OBJ>を、印字位置はそのままにして、<DIM>だけ移動させる。この時 +% 引き続く文字の印字位置は<OBJ>がなかったとした時の位置になる。 +% (\bury命令の水平方向版) +% +% (比較) +% aaa bbb \penetrate{-50pt}{ccc} ddd eee fff \\ +% aaa bbb \hspace{-50pt} ccc ddd eee fff \\ +% +\def\penetrate#1#2{\pushtowall{\hbox{\hskip#1\hbox{#2}}}} +% \end{macrocode} +% \end{macro} +% +% \section{Symbols for instant photography} +% +% \begin{macro}{\cyandye}%%orig. |\cyan| 2010/10/01 +% \begin{macro}{\magentadye}%%orig. |\magenta| 2010/10/01 +% \begin{macro}{\yellowdye}%%orig. |\yellow| 2010/10/01 +% \begin{macro}{\cyandv} +% \begin{macro}{\magentadv} +% \begin{macro}{\yellowdv} +% \begin{macro}{\agxlatent} +% \begin{macro}{\agxdv} +% \begin{macro}{\agx} +% +% \begin{macrocode} +% *********************** +% * instant photography * +% *********************** +% After Chapter 7 of ``LaTeX for (Bio)Chemists'' by Shinsaku Fujita +\def\cyandye{\mbox{$\bigcirc$\kern-.06em{--}\kern-.06em + \ooalign{\hfil + \raise.05ex\hbox{\scriptsize C}\hfil\cr\cr$\bigcirc$}\,}} +\def\magentadye{\mbox{$\bigcirc$\kern-.06em{--}\kern-.06em + \ooalign{\hfil + \raise.05ex\hbox{\scriptsize M}\hfil\cr\cr$\bigcirc$}\,}} +\def\yellowdye{\mbox{$\bigcirc$\kern-.06em{--}\kern-.06em + \ooalign{\hfil + \raise.05ex\hbox{\scriptsize Y}\hfil\cr\cr$\bigcirc$}\,}} +\def\cyandv{\mbox{$\bigotimes$\kern-.06em{--}\kern-.06em + \ooalign{\hfil + \raise.05ex\hbox{\scriptsize C}\hfil\cr\cr$\bigcirc$}\,}} +\def\magentadv{\mbox{$\bigotimes$\kern-.06em{--}\kern-.06em + \ooalign{\hfil + \raise.05ex\hbox{\scriptsize M}\hfil\cr\cr$\bigcirc$}\,}} +\def\yellowdv{\mbox{$\bigotimes$\kern-.06em{--}\kern-.06em + \ooalign{\hfil + \raise.05ex\hbox{\scriptsize Y}\hfil\cr\cr$\bigcirc$}\,}} +\def\agxlatent{% + \mbox{\ooalign{% + \hfil\raise.07ex\hbox{\footnotesize $\bullet$}\hfil\cr\cr + $\triangle$}\,}} +\def\agxdv{% + \mbox{\ooalign{\hfil\raise.07ex\hbox{% + \small $\spadesuit$}\hfil\cr\cr + $\triangle$}\,}} +\def\agx{\mbox{$\triangle$}} +% \end{macrocode} +% \end{macro} +% \end{macro} +% \end{macro} +% \end{macro} +% \end{macro} +% \end{macro} +% \end{macro} +% \end{macro} +% \end{macro} +% +% \section{Various arrows with fixed length} +% +% \begin{macro}{\llongrightarrow} +% \begin{macro}{\llongleftarrow} +% \begin{macro}{\llongleftrightarrow} +% \begin{macro}{\Equilibarrow} +% \begin{macro}{\Llongrightarrow} +% \begin{macro}{\Llongleftarrow} +% \begin{macro}{\Llongleftrightarrow} +% +% \begin{macrocode} +% *********************** +% * various long arrows * +% *********************** +% After Chapter 18 of ``LaTeX for (Bio)Chemists'' by Shinsaku Fujita +\def\oldllongrightarrow{%%%---> +\relbar\joinrel\relbar\joinrel\relbar\joinrel\rightarrow} +\def\oldllongleftarrow{%%%<--- + \leftarrow\joinrel\relbar\joinrel\relbar\joinrel\relbar} +\def\oldllongleftrightarrow{%%%<---> + \leftarrow\joinrel\relbar\joinrel\relbar\joinrel\rightarrow} +%\def\oldEquilibarrow{%%%<--- and ---> +% \mathrel{\ooalign{\raise.35ex\hbox{$\llongrightarrow$}\crcr +% \lower.35ex\hbox{$\llongleftarrow$}}}} +\def\oldEquilibarrow{%%%<--- and ---> + \mathrel{\ooalign{\raise.35ex\hbox{$\oldllongrightarrow$}\crcr + \lower.35ex\hbox{$\oldllongleftarrow$}}}} +\def\oldLlongrightarrow{%%%===> + \Relbar\joinrel\Relbar\joinrel\Relbar\joinrel\Rightarrow} +\def\oldLlongleftarrow{%%%<=== + \Leftarrow\joinrel\Relbar\joinrel\Relbar\joinrel\Relbar} +\def\oldLlongleftrightarrow{%%<===> + \Leftarrow\joinrel\Relbar\joinrel\Relbar\joinrel\Rightarrow} +%%%%%2009/11/19 old... +%\let\llongrightarrow=\oldllongrightarrow%%%---> +%\let\llongleftarrow=\oldllongleftarrow%%%<--- +%\let\llongleftrightarrow=\oldllongleftrightarrow%%%<---> +%\let\Equilibarrow=\oldEquilibarrow%%%<--- and ---> +%\let\Llongrightarrow=\oldLlongrightarrow%%%===> +%\let\Llongleftarrow=\oldLlongleftarrow%%%<=== +%\let\Llongleftrightarrow=\oldLlongleftrightarrow%%<===> +% \end{macrocode} +% \end{macro} +% \end{macro} +% \end{macro} +% \end{macro} +% \end{macro} +% \end{macro} +% \end{macro} +% +% \begin{macro}{\llongleftharpoondown} +% \begin{macro}{\llongrightharpoonup} +% \begin{macro}{\equilibarrow} +% \changes{v5.01}{2013/06/06}{bug fix. \cs{mathrel} added} +% +% \begin{macrocode} +\def\oldllongleftharpoondown{%%% /--- + \mathrel{\leftharpoondown}\joinrel\relbar\joinrel\relbar\joinrel\relbar} +\def\oldllongrightharpoonup{%%%---/ + \relbar\joinrel\relbar\joinrel\relbar\joinrel\mathrel{\rightharpoonup}} +\def\oldequilibarrow{%%% /--- and ---/ + \mathrel{\ooalign{% + \raise.3ex\hbox{$\oldllongrightharpoonup$}\crcr + \lower.3ex\hbox{$\oldllongleftharpoondown$}}}} +%%%%%2009/11/19 +%\let\llongleftharpoondown=\oldllongleftharpoondown%%% /--- +%\let\llongrightharpoonup=\oldllongrightharpoonup%%%---/ +%\let\equilibarrow=\oldequilibarrow%%% /--- and ---/ +% \end{macrocode} +% \end{macro} +% \end{macro} +% \end{macro} +% +% \begin{macro}{\eqproton} +% +% \begin{macrocode} +% ******************************* +% * 平衡の両側矢印の上にH+を書く* +% ******************************* +\def\eqproton{\stackrel{{\rm \displaystyle H}^{+}}{\Equilibarrow}} +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\lllongrightarrow} +% \begin{macro}{\lllongleftarrow} +% \begin{macro}{\lllongleftrightarrow} +% \begin{macro}{\Equiliblongarrow} +% \begin{macro}{\Lllongrightarrow} +% \begin{macro}{\Lllongleftarrow} +% \begin{macro}{\Lllongleftrightarrow} +% +% \begin{macrocode} +% **************** +% * 長い長い矢印 * +% **************** +\def\oldlllongrightarrow{\relbar\joinrel\relbar% + \joinrel\relbar\joinrel\relbar\joinrel\rightarrow} +\def\oldlllongleftarrow{%%%<------- + \leftarrow\joinrel\relbar\joinrel\relbar% + \joinrel\relbar\joinrel\relbar} +\def\oldlllongleftrightarrow{%%%<-------> + \leftarrow\joinrel\relbar\joinrel\relbar% + \joinrel\relbar\joinrel\rightarrow} +\def\oldEquiliblongarrow{%%%<------- and -------> + \mathrel{\ooalign{\raise.35ex\hbox{$\oldlllongrightarrow$}\crcr + \lower.35ex\hbox{$\oldlllongleftarrow$}}}} +\def\oldLllongrightarrow{%%%=======> + \Relbar\joinrel\Relbar\joinrel\Relbar\joinrel% + \Relbar\joinrel\Rightarrow} +\def\oldLllongleftarrow{%%%<======= + \Leftarrow\joinrel\Relbar\joinrel\Relbar\joinrel% + \Relbar\joinrel\Relbar} +\def\oldLllongleftrightarrow{%%<=======> + \Leftarrow\joinrel\Relbar\joinrel\Relbar\joinrel% + \Relbar\joinrel\Rightarrow} +%%%%2009/11/19 +%\let\lllongrightarrow=\oldlllongrightarrow%%%%------> +%\let\lllongleftarrow=\oldlllongleftarrow%%%<------- +%\let\lllongleftrightarrow=\oldlllongleftrightarrow%%%<-------> +%\let\Equiliblongarrow=\oldEquiliblongarrow%%%<------- and -------> +%\let\Lllongrightarrow=\oldLllongrightarrow%%%=======> +%\let\Lllongleftarrow=\oldLllongleftarrow%%%<======= +%\let\Lllongleftrightarrow=\oldLllongleftrightarrow%%<=======> +% \end{macrocode} +% \end{macro} +% \end{macro} +% \end{macro} +% \end{macro} +% \end{macro} +% \end{macro} +% \end{macro} +% +% \begin{macro}{\lllongleftharpoondown} +% \begin{macro}{\lllongrightharpoonup} +% \begin{macro}{\equiliblongarrow} +% \begin{macro}{\deHBr} +% \changes{v5.01}{2013/06/06}{bug fix. \cs{mathrel} added} +% +% \begin{macrocode} +\def\oldlllongleftharpoondown{%%% /------- + \mathrel{\leftharpoondown}\joinrel\relbar\joinrel\relbar% + \joinrel\relbar\joinrel\relbar} +\def\oldlllongrightharpoonup{%%%-------/ + \relbar\joinrel\relbar\joinrel\relbar\joinrel% + \relbar\joinrel\mathrel{\rightharpoonup}} +\def\oldequiliblongarrow{%%% /------ and ------/ + \mathrel{\ooalign{% + \raise.3ex\hbox{$\oldlllongrightharpoonup$}\crcr + \lower.3ex\hbox{$\oldlllongleftharpoondown$}}}} +%%%%%%%%2009/11/19 +%\let\lllongleftharpoondown=\oldlllongleftharpoondown%%% /------- +%\let\lllongrightharpoonup=\oldlllongrightharpoonup%%%-------/ +%\let\equiliblongarrow=\oldequiliblongarrow%%% /------ and ------/ +% %%%%% +\def\deHBr{\stackrel{\displaystyle \rm -HBr}% +{\stackrel{\displaystyle \lllongrightarrow}{\rm E2}}} +% \end{macrocode} +% \end{macro} +% \end{macro} +% \end{macro} +% \end{macro} +% +% \section{Chemical Corrections} +% +% \subsection{Correction commands} +% +% \begin{macro}{\chemcorr} +% \begin{macro}{\leavechemcorr} +% +% \changes{v2.00a}{2000/11/03}{chemcorr 3.0pt into 3.5pt} +% \changes{v4.055}{2009/11/19}{chemcorr 3.5pt into 3.05pt} +% \begin{macrocode} +% ******************** +% * chemform command * +% ******************** +% After Chapter 9 of ``LaTeX for (Bio)Chemists'' by Shinsaku Fujita +\def\chemcorr{% + \fontdimen16\textfont2=3.05pt + \fontdimen17\textfont2=3.05pt + %\fontdimen14\textfont2=3.8pt +} +\def\leavechemcorr{% + \fontdimen16\textfont2=1.49998pt + \fontdimen17\textfont2=2.47217pt + %\fontdimen14\textfont2=3.62892pt +} +% \end{macrocode} +% \end{macro} +% \end{macro} +% +% \subsection{Chem Version} +% +% The `chem' for mathversion is introduced to describe chemical equations. +% The `boldchem' for mathversion is introduced to describe +% boldfaced chemical equations. +% +% \changes{v3.00}{2002/05/30}{Added the correction for commas and periods.} +% \changes{v3.00}{2002/05/30}{Added the correction for Greek letters.} +% \changes{v3.00}{2002/05/30}{Redefinition of \cs{mathversion}.} +% \changes{v3.00}{2002/05/30}{New mathversion: boldchem} +% \changes{v4.05}{2009/10/25}{Bugfix for chem and boldchem} +% \changes{v4.05}{2009/11/20}{Switch by \cs{if@chemtimes} for chemtimes package} +% +% \begin{macro}{\ifnewl@tex} +% +% \begin{macrocode} +\newif\ifnewl@tex \newl@textrue +\@ifundefined{DeclareMathVersion}% + {\global\newl@texfalse}{\global\newl@textrue}% +% \end{macrocode} +% \end{macro} +% +% Old commands are stored temporarily. +% \begin{macrocode} +\if@chemtimes\else%for chemtimes package +\def\math@chem{chem} +\def\math@boldchem{boldchem} +\def\math@bold{bold} +\def\math@normal{normal} +%%added 2005/09/02 +\let\oldalpha=\alpha +\let\oldbeta=\beta +\let\oldgamma=\gamma +\let\olddelta=\delta +\let\oldepsilon=\epsilon +\let\oldzeta=\zeta +\let\oldeta=\eta +\let\oldtheta=\theta +\let\oldiota=\iota +\let\oldkappa=\kappa +\let\oldlambda=\lambda +\let\oldmu=\mu +\let\oldnu=\nu +\let\oldxi=\xi +\let\oldpi=\pi +\let\oldrho=\rho +\let\oldsigma=\sigma +\let\oldtau=\tau +\let\oldupsilon=\upsilon +\let\oldphi=\phi +\let\oldchi=\chi +\let\oldpsi=\psi +\let\oldomega=\omega +\let\oldvarepsilon=\varepsilon +\let\oldvartheta=\vartheta +\let\oldvarpi=\varpi +\let\oldvarrho=\varrho +\let\oldvarsigma=\varsigma +\let\oldvarphi=\varphi +\let\oldGamma=\Gamma +\let\oldDelta=\Delta +\let\oldTheta=\Theta +\let\oldLamda=\Lambda +\let\oldXi=\Xi +\let\oldPi=\Pi +\let\oldSigma=\Sigma +\let\oldUpsilon=\Upsilon +\let\oldPhi=\Phi +\let\oldPsi=\Psi +\let\oldOmega=\Omega +\fi +% \end{macrocode} +% +% \begin{macro}{\chemGreekletter} +% +% \changes{v3.01}{2004/11/17}{Redefined: \cs{chemGreekletter}} +% \changes{v4.05}{2009/11/20}{Switch by \cs{if@chemtimes} for chemtimes package} +% \changes{v5.00a}{2010/11/21}{bug fix: \cs{bgroup} and \cs{egroup} added} +% \begin{macrocode} +\if@chemtimes\else%for chemtimes package +\def\chemGreekletter#1#2{% +\expandafter\def\csname #1\endcsname{\bgroup%added 2010/11/21 +\ifx\math@version\math@chem +\mathord{\hbox{\mathversion{normal}$\mathchar"#2$}}\else +\ifx\math@version\math@boldchem +\mathord{\hbox{\mathversion{bold}$\mathchar"#2$}}\else +\ifx\math@version\math@bold +\csname old#1\endcsname +%\mathord{\hbox{\mathversion{bold}$\mathchar"#2$}}%changed 2005/09/02 +\else +\csname old#1\endcsname +%\mathord{\hbox{\mathversion{normal}$\mathchar"#2$}}%changed 2005/09/02 +\fi\fi\fi\egroup}}%added 2010/11/21 +\fi +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\chemUpGreekletter} +% +% \changes{v4.05}{2009/10/25}{Defined: \cs{chemUpGreekletter}} +% \changes{v4.05}{2009/11/20}{Switch by \cs{if@chemtimes} for chemtimes package} +% \changes{v5.00a}{2010/11/21}{bug fix: \cs{bgroup} and \cs{egroup} added} +% \begin{macrocode} +%%%\if@chemtimes\else%for chemtimes package +\newif\ifupgreekrm \upgreekrmfalse +\DeclareOldFontCommand{\rm}{\normalfont\rmfamily}{\upgreekrmtrue\mathrm} +%%%\fi +\if@chemtimes\else\relax%for chemtimes package +\def\chemUpGreekletter#1#2#3{% +\expandafter\def\csname #1\endcsname{\bgroup%added 2010/11/21 by SF +\ensuremath{% +\ifx\math@version\math@chem +#2{\hbox{\usefont{OML}{cmm}{m}{it}\char"#3}}\else +\ifx\math@version\math@boldchem +#2{\hbox{\usefont{OML}{cmm}{b}{it}\char"#3}}\else +\ifx\math@version\math@bold +\ifupgreekrm +#2{\hbox{\usefont{OML}{cmm}{b}{it}\char"#3}}% +\upgreekrmfalse +\else +#2{\hbox{\usefont{OML}{cmm}{b}{it}\char"#3}}% +\fi +\else +#2{\hbox{\usefont{OML}{cmm}{m}{it}\char"#3}}% +\fi\fi\fi}\egroup}}%added 2010/11/21 by SF +\fi +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\ChemAccent} +% +% \changes{v4.05}{2009/10/25}{Defined: \cs{ChemAccent}} +% \changes{v4.05}{2009/11/20}{Switch by \cs{if@chemtimes} for chemtimes package} +% \begin{macrocode} +\if@chemtimes\else%for chemtimes package +\def\ChemAccent#1#2#3{% +\expandafter\def\csname #1\endcsname{% +\ifx\math@version\math@chem +#2{\hbox{\kern-0.15em\usefont{OML}{cmm}{m}{it}\char"#3}}\else +\ifx\math@version\math@boldchem +#2{\hbox{\kern-0.2em\usefont{OML}{cmm}{b}{it}\char"#3}}\else +\ifx\math@version\math@bold +\ifupgreekrm +#2{\hbox{\usefont{OML}{cmm}{b}{it}\char"#3}}% +\upgreekrmfalse +\else +#2{\hbox{\usefont{OML}{cmm}{b}{it}\char"#3}}% +\fi +\else +#2{\hbox{\usefont{OML}{cmm}{m}{it}\char"#3}}% +\fi\fi\fi}} +\fi +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\SetChemSymbol} +% +% \changes{v3.01}{2004/11/17}{New command: \cs{SetChemSymbol}} +% \changes{v4.05}{2009/10/25}{Added due to \cs{chemUpGreekletter}} +% \changes{v4.05}{2009/11/20}{Switch by \cs{if@chemtimes} for chemtimes package} +% +% \begin{macrocode} +\if@chemtimes\else%for chemtimes package +\def\SetChemSymbol{% +\chemGreekletter{alpha}{010B}% +\chemGreekletter{beta}{010C}% +\chemGreekletter{gamma}{010D}% +\chemGreekletter{delta}{010E}% +\chemGreekletter{epsilon}{010F}% +\chemGreekletter{zeta}{0110}% +\chemGreekletter{eta}{0111}% +\chemGreekletter{theta}{0112}% +\chemGreekletter{iota}{0113}% +\chemGreekletter{kappa}{0114}% +\chemGreekletter{lambda}{0115}% +\chemGreekletter{mu}{0116}% +\chemGreekletter{nu}{0117}% +\chemGreekletter{xi}{0118}% +\chemGreekletter{pi}{0119}% +\chemGreekletter{rho}{011A}% +\chemGreekletter{sigma}{011B}% +\chemGreekletter{tau}{011C}% +\chemGreekletter{upsilon}{011D}% +\chemGreekletter{phi}{011E}% +\chemGreekletter{chi}{011F}% +\chemGreekletter{psi}{0120}% +\chemGreekletter{omega}{0121}% +\chemGreekletter{varepsilon}{0122}% +\chemGreekletter{vartheta}{0123}% +\chemGreekletter{varpi}{0124}% +\chemGreekletter{varrho}{0125}% +\chemGreekletter{varsigma}{0126}% +\chemGreekletter{varphi}{0127}% +% +%\chemGreekletter{Gamma}{7000}% +%\chemGreekletter{Delta}{7001}% +%\chemGreekletter{Theta}{7002}% +%\chemGreekletter{Lambda}{7003}% +%\chemGreekletter{Xi}{7004}% +%\chemGreekletter{Pi}{7005}% +%\chemGreekletter{Sigma}{7006}% +%\chemGreekletter{Upsilon}{7007}% +%\chemGreekletter{Phi}{7008}% +%\chemGreekletter{Psi}{7009}% +%\chemGreekletter{Omega}{700A}% +% +% for uppercase Greek letters and some fonts +% (cmmi medium or bold) 2009/10/25 +\chemUpGreekletter{Gamma}{\mathord}{00}% +\chemUpGreekletter{Delta}{\mathord}{01}% +\chemUpGreekletter{Theta}{\mathord}{02}% +\chemUpGreekletter{Lambda}{\mathord}{03}% +\chemUpGreekletter{Xi}{\mathord}{04}% +\chemUpGreekletter{Pi}{\mathord}{05}% +\chemUpGreekletter{Sigma}{\mathord}{06}% +\chemUpGreekletter{Upsilon}{\mathord}{07}% +\chemUpGreekletter{Phi}{\mathord}{08}% +\chemUpGreekletter{Psi}{\mathord}{09}% +\chemUpGreekletter{Omega}{\mathord}{0A}% +\chemUpGreekletter{imath}{\mathord}{7B}% +\chemUpGreekletter{jmath}{\mathord}{7C}% +\chemUpGreekletter{mathless}{\mathrel}{3C}%in place of < +\chemUpGreekletter{mathgreater}{\mathrel}{3E}% in place of > +\chemUpGreekletter{leftharpoonup}{\mathrel}{28}% +\chemUpGreekletter{leftharpoondown}{\mathrel}{29}% +\chemUpGreekletter{rightharpoonup}{\mathrel}{2A}% +\chemUpGreekletter{rightharpoondown}{\mathrel}{2B}% +\chemUpGreekletter{ell}{\mathord}{60}% +\chemUpGreekletter{wp}{\mathord}{7D}% +\chemUpGreekletter{partial}{\mathord}{40}% +\chemUpGreekletter{flat}{\mathord}{5B}% +\chemUpGreekletter{natural}{\mathord}{5C}% +\chemUpGreekletter{sharp}{\mathord}{5D}% +\chemUpGreekletter{triangleleft}{\mathbin}{2F}% +\chemUpGreekletter{triangleright}{\mathbin}{2E}% +\chemUpGreekletter{smile}{\mathrel}{5E}% +\chemUpGreekletter{frown}{\mathrel}{5F}% +\chemUpGreekletter{star}{\mathbin}{3F}% +\ChemAccent{vec}{\rlap}{7E}% +} +\fi +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\mathversion} +% +% \changes{v3.00}{2002/5/30}{Redefined: \cs{mathversion}} +% \changes{v3.01}{2004/11/17}{Redefined: \cs{mathversion}} +% \changes{v4.05}{2009/10/25}{Setting added for bugfix} +% \changes{v4.05}{2009/11/20}{Switch by \cs{if@chemtimes} for chemtimes package} +% +% \begin{macrocode} +\if@chemtimes\else%for chemtimes package +\DeclareRobustCommand\mathversion[1] + {\@nomath\mathversion + \expandafter\ifx\csname mv@#1\endcsname\relax + \@latex@error{Math version `#1' is not defined}\@eha\else + \edef\math@version{#1}% + \gdef\glb@currsize{}% +%%%%%%2002/5/30, 2004/11/17, and 2009/10/25 +\ifx\math@version\math@chem + \mathcode`\.="012E + \mathcode`\,="612C + \mathcode`\/="012F + \mathcode`\=="313D + \mathcode`\?="513F + \mathcode`\[="415B + \mathcode`\]="515D + \mathcode`\(="4128 + \mathcode`\)="5129 +% \mathcode`\+="212B + \SetChemSymbol +\else\ifx\math@version\math@boldchem + \mathcode`\.="012E + \mathcode`\,="612C + \mathcode`\/="012F + \mathcode`\=="313D + \mathcode`\?="513F + \mathcode`\[="415B + \mathcode`\]="515D + \mathcode`\(="4128 + \mathcode`\)="5129 +% \mathcode`\+="212B + \def\check{\mathaccent"7114 } + \def\dot{\mathaccent"715F } + \def\acute{\mathaccent"7113 } + \def\grave{\mathaccent"7112 } + \def\ddot{\mathaccent"717F } + \def\bar{\mathaccent"7116 } + \def\breve{\mathaccent"7115 } + \SetChemSymbol +\else\ifx\math@version\math@bold + \mathcode`\.="013A + \mathcode`\,="613B + \mathcode`\/="013D + \mathcode`\=="303D + \mathcode`\?="503F + \mathcode`\[="405B + \mathcode`\]="505D + \mathcode`\(="4028 + \mathcode`\)="5029 +% \mathcode`\+="202B + \SetChemSymbol% +\else + \mathcode`\.="013A + \mathcode`\,="613B + \mathcode`\/="013D + \mathcode`\=="303D + \mathcode`\?="503F + \mathcode`\[="405B + \mathcode`\]="505D + \mathcode`\(="4028 + \mathcode`\)="5029 +% \mathcode`\+="202B + \SetChemSymbol% +\fi\fi\fi +%%%%%% + \aftergroup\glb@settings + \fi} +\fi +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\SetSymbolFont} +% +% \changes{v3.01}{2004/11/17}{Fonts for mathverion{chem}.} +% \changes{v4.05}{2009/11/20}{Switch by \cs{if@chemtimes} for chemtimes package} +% +% \begin{macrocode} +\if@chemtimes\else%for chemtimes package +\ifnewl@tex +\@ifundefined{mv@chem}{\DeclareMathVersion{chem}% +\SetSymbolFont{letters}{chem}{OT1}{cmr}{m}{n}%OT1-->T1-->OT1 +\SetSymbolFont{operators}{chem}{OT1}{cmr} {m}{n}% +\SetSymbolFont{symbols} {chem}{OMS}{cmsy}{m}{n}% +\DeclareMathVersion{boldchem}%2002/5/30 +\SetSymbolFont{operators}{boldchem}{OT1}{cmr} {bx}{n}% +\SetSymbolFont{letters} {boldchem}{OT1}{cmr} {b}{n}% +\SetSymbolFont{symbols} {boldchem}{OMS}{cmsy}{b}{n}% +}{} +\fi +\fi +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\mathnormal} +% +% The macro \verb/\mathnormal/ for outputting numbers of old style +% has been redefined to meet ``boldchem''. +% +% \changes{v4.05}{2009/10/25}{Redefined for oldsytle fonts} +% \changes{v4.05}{2009/11/20}{Switch by \cs{if@chemtimes} for chemtimes package} +% +% \begin{macrocode} +\if@chemtimes\else%for chemtimes package +\let\oldmathnormal=\mathnormal +\def\mathnormal#1{% +\ifx\math@version\math@chem +%\mathgroup\@ne +\mathord{\hbox{\usefont{OML}{cmm}{m}{it}#1}}% +\else\ifx\math@version\math@boldchem +%\mathgroup\@ne +\mathord{\hbox{\usefont{OML}{cmm}{b}{it}#1}}% +\else\ifx\math@version\math@bold +\ifupgreekrm +\oldmathnormal{#1}% +\upgreekrmfalse +\else +\oldmathnormal{#1}% +\fi +\else +\oldmathnormal{#1}% +%\mathgroup\@ne\usefont{OML}{cmm}{m}{it}% +\fi\fi\fi}% +\fi +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\oldstyle} +% +% The command \verb/\oldstyle/ should be used in the form of \verb/{\oldstyle ...}/ +% in a math mode. +% +% \changes{v4.05}{2009/10/25}{Redefined for oldsytle fonts} +% \changes{v4.05}{2009/11/20}{Switch by \cs{if@chemtimes} for chemtimes package} +% +% \begin{macrocode} +\if@chemtimes\else%for chemtimes package +\def\oldstyle{\egroup% +\ifx\math@version\math@chem +\hbox\bgroup\usefont{OML}{cmm}{m}{it}% +\else\ifx\math@version\math@boldchem +\hbox\bgroup\usefont{OML}{cmm}{b}{it}% +\else\ifx\math@version\math@bold +\ifupgreekrm +\oldmathnormal\bgroup% +\upgreekrmfalse +\else +\oldmathnormal\bgroup% +\fi +\else +\oldmathnormal\bgroup% +\fi\fi\fi}% +\fi +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\mathcal} +% +% The macro \verb/\mathcal/ for outputting calligraphic letters +% has been redefined to meet ``boldchem''. +% +% \changes{v4.05}{2009/10/25}{Redefined for calligraphic letters} +% \changes{v4.05}{2009/11/20}{Switch by \cs{if@chemtimes} for chemtimes package} +% +% \begin{macrocode} +\if@chemtimes\else%for chemtimes package +\let\oldmathcal=\mathcal +\def\mathcal#1{% +\ifx\math@version\math@chem +\mathgroup\tw@{\usefont{OMS}{cmsy}{m}{n}#1}% +\else\ifx\math@version\math@boldchem +\mathgroup\tw@{\usefont{OMS}{cmsy}{b}{n}#1}% +\else\ifx\math@version\math@bold +\ifupgreekrm \oldmathcal{#1}\upgreekrmfalse +\else \oldmathcal{#1}\fi +\else +\oldmathcal{#1}% +\fi\fi\fi}% +\fi +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\cal} +% +% The macro \verb/\cal/ for outputting calligraphic letters +% (a macro of declaration type) has been redefined to meet ``boldchem''. +% +% \changes{v4.05}{2009/10/25}{Redefined for calligraphic letters} +% \changes{v4.05}{2009/11/20}{Switch by \cs{if@chemtimes} for chemtimes package} +% +% \begin{macrocode} +\if@chemtimes\else%for chemtimes package +\let\oldcal=\cal +\def\cal{% +\ifx\math@version\math@chem +\mathgroup\tw@\usefont{OMS}{cmsy}{m}{n}% +\else\ifx\math@version\math@boldchem +\mathgroup\tw@\usefont{OMS}{cmsy}{b}{n}% +\else\ifx\math@version\math@bold +\ifupgreekrm \oldcal\upgreekrmfalse +\else\oldcal\fi +\else +\oldcal% +\fi\fi\fi}% +\fi +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\chemform} +% +% \changes{v2.00a}{2000/11/03}{change the position of chemcorr +% in chemform command} +% +% \begin{macrocode} +\ifnewl@tex +\def\chemform#1{{\mathversion{chem}% +$\chemcorr #1$\leavechemcorr}} +\else +\def\chemform#1{\chemcorr +$\rm #1$\leavechemcorr} +\fi +% \end{macrocode} +% \end{macro} +% +% \begin{environment}{chemmath} +% +% \changes{v2.00a}{2000/11/03}{change the position of chemcorr +% in chemmath command} +% \begin{macrocode} +% ************************ +% * chemmath environment * +% ************************ +% After Chapter 9 of ``LaTeX for (Bio)Chemists'' by Shinsaku Fujita +\ifnewl@tex +\def\chemmath{\begingroup\mathversion{chem}\[\chemcorr} +\def\endchemmath{\]\endgroup\leavechemcorr} +\else +\def\chemmath{\chemcorr\[\rm} +\def\endchemmath{\] \leavechemcorr} +\fi +% \end{macrocode} +% \end{environment} +% +% \begin{environment}{chemeqn} +% +% \changes{v2.00a}{2000/11/03}{change the position of chemcorr +% in chemeqn command} +% \begin{macrocode} +% *********************** +% * chemeqn environment * +% *********************** +% After Chapter 9 of ``LaTeX for (Bio)Chemists'' by Shinsaku Fujita +\ifnewl@tex +\def\chemeqn{\begingroup\mathversion{chem}\equation\chemcorr} +%\def\endchemeqn{\endequation\endgroup\leavechemcorr} +\def\endchemeqn{\endequation\leavechemcorr\endgroup}%bug fix 2013/6/15 +\else +\def\chemeqn{\chemcorr\equation\rm} +\def\endchemeqn{\endequation\leavechemcorr} +\fi +% \end{macrocode} +% \end{environment} +% +% \begin{environment}{chemeqnarray} +% +% \changes{v2.00a}{2000/11/03}{change the position of chemcorr +% in chemeqnarray command} +% \begin{macrocode} +% **************************** +% * chemeqnarray environment * +% **************************** +% After Chapter 9 of ``LaTeX for (Bio)Chemists'' by Shinsaku Fujita +\ifnewl@tex +\def\chemeqnarray{\stepcounter{equation} + \let\@currentlabel=\theequation + \global\@eqnswtrue + \global\@eqcnt\z@\tabskip\@centering + \let\\=\@eqncr + \begingroup\mathversion{chem} +$$\chemcorr\halign to \displaywidth\bgroup + \@eqnsel\hskip\@centering + $\rm \displaystyle\tabskip\z@{##}$ & + \global\@eqcnt\@ne + \hskip \arraycolsep \hfil$\rm{##}$\hfil & + \global\@eqcnt\tw@ \hskip \arraycolsep + $\rm \displaystyle\tabskip\z@{##}$\hfil + \tabskip\@centering & + \llap{##}\tabskip\z@\cr} +\def\endchemeqnarray{\endeqnarray\endgroup +\leavechemcorr} +\else +\def\chemeqnarray{\stepcounter{equation} + \let\@currentlabel=\theequation + \global\@eqnswtrue + \global\@eqcnt\z@\tabskip\@centering + \let\\=\@eqncr \chemcorr +$$\halign to \displaywidth\bgroup + \@eqnsel\hskip\@centering + $\rm \displaystyle\tabskip\z@{##}$ & + \global\@eqcnt\@ne + \hskip \arraycolsep \hfil$\rm{##}$\hfil & + \global\@eqcnt\tw@ \hskip \arraycolsep + $\rm \displaystyle\tabskip\z@{##}$\hfil + \tabskip\@centering & + \llap{##}\tabskip\z@\cr} +\def\endchemeqnarray{\endeqnarray +\leavechemcorr} +\fi +% \end{macrocode} +% \end{environment} +% +% \begin{environment}{chemeqnarray*} +% +% \begin{macrocode} +% ***************************** +% * chemeqnarray* environment * +% ***************************** +% After Chapter 9 of ``LaTeX for (Bio)Chemists'' by Shinsaku Fujita +% bug fix (1996/06/15) the end command is replaced. +\let\@seqncr=\@eqncr +\ifnewl@tex +\@namedef{chemeqnarray*}{% +\def\@eqncr{\nonumber\@seqncr}\chemeqnarray} +\@namedef{endchemeqnarray*}{\nonumber\endchemeqnarray} +\else +\@namedef{chemeqnarray*}{% +\def\@eqncr{\nonumber\@seqncr\rm}\chemeqnarray} +\@namedef{endchemeqnarray*}{\nonumber\endchemeqnarray} +\fi +% \end{macrocode} +% \end{environment} +% +% \begin{environment}{chemeqnarraya} +% +% \begin{macrocode} +% ***************** +% * chemeqnarraya * +% ***************** +% After Chapter 9 of ``LaTeX for (Bio)Chemists'' by S. Fujita +% revised may 21 1992 by S. Fujita +\def\chemeqnarraya{\chemeqn@rraya \chemeqnarray} +\def\chemeqn@rraya{% + \c@enumi=\c@equation + \advance\c@enumi\@ne + \c@equation=\z@ + \@ifundefined{chapter}% +{\def\theequation{\theenumi\alph{equation}}}% +{\def\theequation{% +\thechapter.\theenumi\alph{equation}}}} +\def\endchemeqnarraya{\endchemeqnarray +\global\c@equation=\c@enumi} +% \end{macrocode} +% \end{environment} +% +% \begin{macro}{\if@display} +% This switch is to meat the \textsf{amsmath} package. +% \changes{v4.05}{2009/10/25}{A new command} +% \begin{macrocode} +\@ifundefined{if@display}{\newif\if@display}{} +% \end{macrocode} +% \end{macro} +% \begin{environment}{ChemEquation} +% \changes{v4.05}{2009/10/25}{A new environment} +% \begin{macrocode} +\newif\ifupgreekrm \upgreekrmfalse +\let\ChemEqFont=\rm +\def\ChemEquation{\everymath{\ChemEqFont\chemcorr\upgreekrmtrue}% +\everydisplay{\ChemEqFont\chemcorr\@displaytrue\upgreekrmtrue}\equation} +\def\endChemEquation{\endequation\everymath{}\everydisplay{}% +\@displayfalse\leavechemcorr\upgreekrmfalse} +% \end{macrocode} +% \end{environment} + +% \begin{environment}{ChemEqnarray} +% \changes{v4.05}{2009/10/25}{A new environment} +% \begin{macrocode} +\def\ChemEqnarray{\everymath{\ChemEqFont\chemcorr\upgreekrmtrue}% +%\everydisplay{\ChemEqFont\chemcorr\@displaytrue} +\eqnarray} +\def\endChemEqnarray{\endeqnarray\everymath{}% +%\everydisplay{}\@displayfalse +\leavechemcorr\upgreekrmfalse} +% \end{macrocode} +% \end{environment} +% +% \begin{macro}{\ChemForm} +% +% \changes{v4.05}{2009/10/25}{A new command} +% \begin{macrocode} +\def\ChemForm#1{\everymath{\ChemEqFont\chemcorr\upgreekrmtrue}$#1$\everymath{}% +\leavechemcorr\upgreekrmfalse} +% \end{macrocode} +% \end{macro} +% +% \begin{environment}{ChemEqnarray*} +% \changes{v4.05}{2009/10/25}{A new environment} +% \begin{macrocode} +\@namedef{ChemEqnarray*}{\def\@eqncr{\nonumber\@seqncr}\ChemEqnarray} +\@namedef{endChemEqnarray*}{\nonumber\endChemEqnarray} +% \end{macrocode} +% \end{environment} +% +% \begin{macro}{\newchemenvironment} +% This command is used to creat a new environment for chemistry based on an appropriate +% environment for mathematics. +% +% \begin{verbatim} +% \newchemenviroment{New Name}{Old Environment} +% \end{verbatim} +% +% \changes{v4.05}{2009/11/19}{A new command} +% \begin{macrocode} +\def\newchemenvironment#1#2{% +\expandafter\def\csname #1\endcsname{% +\everymath{\ChemEqFont\chemcorr\upgreekrmtrue}% +%\everydisplay{\ChemEqFont\chemcorr\@displaytrue}% +\csname #2\endcsname}% +\expandafter\def\csname end#1\endcsname{% +\csname end#2\endcsname\everymath{}% +%\everydisplay{}\@displayfalse% +\leavechemcorr\upgreekrmfalse}} +% \end{macrocode} +% \end{macro} +% +% \section{XyMcompd and XyMtab Environments} +% +% These environments are designed for XyM Markup Language +% to treat a XyM tag and a XyMtab tag. +% +% \begin{environment}{XyMcompd} +% \changes{v2.00}{1999/03/16}{New Environment} +% +% \begin{macrocode} +\def\XyMcompd(#1,#2)(#3,#4)#5#6{% +\begingroup +\edef\xymrefa{#5}\edef\xymrefb{#6}% +\edef\kkk{#1}% +\begin{tabular}{c} +\ifx\kkk\empty\else +\begin{sfpicture}(#1,#2)(#3,#4)\fi\ignorespaces} +\def\endXyMcompd{% +\ifx\kkk\empty\else\end{sfpicture}\fi +\\[-\baselineskip] +\ifx\xymrefa\empty\else{\bf \compd\xymrefb +\expandafter\label{\xymrefa}}\fi +\end{tabular}\endgroup} +% \end{macrocode} +% \end{environment} +% +% \begin{environment}{XyMtab} +% \changes{v2.00}{1999/03/16}{New Environment} +% +% \begin{macrocode} +\def\XyMtab#1{\center\tabular{#1c}} +\def\endXyMtab{\endtabular\endcenter} +% \end{macrocode} +% \end{environment} +% +% \begin{macro}{\derivlist} +% \changes{v2.00}{1999/03/17}{New command} +% +% For example, derivatives are specified as follows: +% \begin{verbatim} +% \derivlist{X = Cl;X = F;X = Me} +% \end{verbatim} +% +% \begin{macrocode} +\def\derivlist#1{% +\mbox{}\\ +\begingroup\def\arraystretch{0.7}% +\begin{tabular}{l} +\@forsemicol\member:=#1\do{% +\ifx\member\empty\else% +\hbox to2em{\hss\derivnum}:\space\member \\ +\fi}\end{tabular}\endgroup} +% \end{macrocode} +% \end{macro} +% This command is used in the XyMderiv environment. +% +% \begin{environment}{XyMderiv} +% \changes{v2.00}{1999/03/17}{New Environment} +% +% \begin{macrocode} +\def\XyMderiv{\tabular{c}} +\def\endXyMderiv{\endtabular} +% \end{macrocode} +% \end{environment} +% +% \section{Useful commands} +% +% \begin{macro}{\endash} +% \begin{macro}{\Cent} +% \begin{macro}{\degC} +% \begin{macro}{\degF} +% +% \begin{macrocode} +% *************** +% * temperature * +% *************** +% After Chapter 12 of ``LaTeX for (Bio)Chemists'' by Shinsaku Fujita +\def\endash{\mbox{--{}}} +\def\Cent{\mbox{\raise.9ex\hbox{% + \scriptsize$\circ$}\kern-.12em\hbox{C}}} +\def\degC{\mbox{\kern-.2em\char'27\kern-.3em C}} +\def\degF{\mbox{\kern-.2em\char'27\kern-.3em F}} +% \end{macrocode} +% \end{macro} +% \end{macro} +% \end{macro} +% \end{macro} +% +% \begin{macro}{\yubin} +% \begin{macro}{\Yubin} +% +% \begin{macrocode} +% ******************* +% * yubin and Yubin * +% ******************* +% After Chapter 12 of ``LaTeX for (Bio)Chemists'' by Shinsaku Fujita +\def\yubin{$\overline{\top}$} +\def\Yubin#1{\leavevmode\hbox{\vbox{\hrule\@height.12ex\@width.7em +\kern.28ex\hrule\@height.12ex\@width.7em +\hbox{\kern.35em\kern-.06ex +\vbox{\hrule\@height1ex\@width.12ex}}}\kern.1em{#1}}} +% \end{macrocode} +% \end{macro} +% \end{macro} +% +% \begin{macro}{\xlethead} +% +% \begin{macrocode} +% *********** +% * lethead * +% *********** +% After Chapter 18 of ``LaTeX for (Bio)Chemists'' by Shinsaku Fujita +\def\xlethead#1{% + \kern-.6667\baselineskip \line{\hrulefill\phantom{ #1 }\hrulefill} + \kern-.6667\baselineskip \line{\hrulefill\phantom{ #1 }\hrulefill} + \kern-.6667\baselineskip \line{\hrulefill\hbox{ #1 }\hrulefill}} +\def\lethead#1#2#3{\def\line{\hbox to\textwidth} + \vbox{\line{\hrulefill} + \xlethead{#1} \xlethead{#2} \xlethead{#3} + \kern-.6667\baselineskip \line{\hrulefill}}} +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\horizon} +% +% \begin{macrocode} +% ************ +% * baseline * +% ************ +% After Chapter 12 of ``LaTeX for (Bio)Chemists'' by Shinsaku Fujita +\def\horizon{\rule{12pt}{0.1pt}} +% \end{macrocode} +% \end{macro} +% +% \section{Logos} +% +% \begin{macro}{\resetfontsize} +% \begin{macro}{\Bib} +% \begin{macro}{\BibTeX} +% \begin{macro}{\jBibTeX} +% +% \begin{macrocode} +% ******************************** +% * Redefinition of Logos * +% * January 3, 1993 by S. Fujita * +% ******************************** +% After Chapter 12 of ``LaTeX for (Bio)Chemists'' by Shinsaku Fujita +\newcount\TestCount \def\tmpkern{\kern0pt} +\ifnewl@tex \else +\def\resetfontsize{% + \ifx\@currsize\normalsize% + \def\tmpf@ntsize{% + \load{\footnotesize}{\sf}% + \load{\footnotesize}{\sl}% + \load{\footnotesize}{\bf}% + \def\tmpkern{\kern0.05em}% + \footnotesize}\fi + \ifx\@currsize\scriptsize \let\tmpf@ntsize=\tiny\fi + \ifx\@currsize\footnotesize \let\tmpf@ntsize=\tiny\fi + \ifx\@currsize\small \let\tmpf@ntsize=\scriptsize\fi + \ifx\@currsize\large \let\tmpf@ntsize=\small\fi + \ifx\@currsize\Large \let\tmpf@ntsize=\@normalsize\fi + \ifx\@currsize\LARGE \let\tmpf@ntsize=\large\fi + \ifx\@currsize\huge \let\tmpf@ntsize=\Large\fi + \ifx\@currsize\Huge \let\tmpf@ntsize=\LARGE\fi} +\fi +% \end{macrocode} +% +% \begin{macrocode} +\ifnewl@tex \else +\def\Bib{\ifnum \fam=\m@ne \fam=\z@ \fi\TestCount=\fam\leavevmode% + \edef\aaa{\fontname\scriptfont\fam}% + \edef\bbb{\fontname\textfont\fam}% + \resetfontsize% + \hbox{$\fam=\TestCount\textstyle B$}% + \ifx\aaa\bbb% + \hbox{\tmpf@ntsize\bf + $\fam=\TestCount\kern-.025em I\kern-.045em B$}% + \else% + \hbox{$\fam\TestCount\scriptstyle\kern-.025em I\kern-.045em B$}% + \fi +} +\fi +% \end{macrocode} +% +% \begin{macrocode} +%\def\BibTeX{\Bib\kern-.08em\TeX} +%\def\jBibTeX{\leavevmode\lower.46ex\hbox{J} +%\kern-.08em\Bib\kern-.08em\TeX} +% %%\def\BibTeX{% +% {\rm B\kern-.05em{\sc i\kern-.025emb}\kern-.08em\TeX}} +% %%%%%1996/04/20 by Shinsaku Fujita%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\ifnewl@tex +\DeclareRobustCommand{\BibTeX}{% + B\hbox{$\m@th$\csname S@\f@size\endcsname + \fontsize\sf@size\z@ \math@fontsfalse\selectfont + \kern-.025em I\kern-.045em B}\kern-.08em\TeX} +\else \def\BibTeX{\Bib\kern-.08em\TeX} \fi +% \end{macrocode} +% +% \begin{macrocode} +\ifnewl@tex +\DeclareRobustCommand{\jBibTeX}{\mbox{% + \if b\expandafter\@car\f@series\@nil\boldmath\fi + \leavevmode\lower.46ex\hbox{J}\kern-.08em\BibTeX}} +\else +\def\jBibTeX{\leavevmode\lower.46ex\hbox{J}% + \kern-.08em\Bib\kern-.08em\TeX} +\fi +% \end{macrocode} +% \end{macro} +% \end{macro} +% \end{macro} +% \end{macro} +% +% \begin{macro}{\jTeX} +% \begin{macro}{\pTeX} +% +% \begin{macrocode} +\def\jTeX{\leavevmode\lower.46ex\hbox{J}\kern-.15em\TeX} +\def\pTeX{p\kern-.15em\TeX} +% \end{macrocode} +% \end{macro} +% \end{macro} +% +% \begin{macro}{\Sub} +% \begin{macro}{\Subbib} +% +% \begin{macrocode} +\ifnewl@tex \else +\def\Sub{\leavevmode\ifnum \fam=\m@ne \fam=\z@ \fi% + \TestCount=\fam{S}% + \edef\aaa{\fontname\scriptfont\fam}% + \edef\bbb{\fontname\textfont\fam}% + \ifx\aaa\bbb\resetfontsize% + \hbox{\tmpf@ntsize\bf% + $\fam=\TestCount\kern-.045em{U}\kern-.12em{B}$}% + \else% + \hbox{$\fam\TestCount% + \scriptstyle\kern-.045em{U}\kern-.12em{B}$}% + \fi} +\fi +%\def\SubBib{\Sub\kern-.08em\Bib} +% \end{macrocode} +% +% \begin{macrocode} +% %%%%%1996/04/20 by Shinsaku Fujita%%%%%%%%%%%%%%%%%%%%%%%%%%% +\ifnewl@tex +\DeclareRobustCommand{\SubBib}{S\hbox{$\m@th$% + \csname S@\f@size\endcsname\fontsize\sf@size\z@ + \math@fontsfalse\selectfont% + \kern-.045em{U}\kern-.12em{B}}B\hbox{$\m@th$% + \csname S@\f@size\endcsname\fontsize\sf@size\z@ + \math@fontsfalse\selectfont \kern-.025em I\kern-.045em B}} +\else \def\SubBib{\Sub\kern-.08em\Bib} \fi +% \end{macrocode} +% \end{macro} +% \end{macro} +% +% \begin{macro}{\La} +% \begin{macro}{\LaTeX} +% +% \begin{macrocode} +%\def\La{\TestCount=\fam \leavevmode L\raise.42ex +% \hbox{$\fam\TestCount\scriptstyle\kern-.3em A$}} +\ifnewl@tex \else +\def\La{\ifnum \fam=\m@ne \fam=\z@ \fi\TestCount=\fam% + \edef\aaa{\fontname\scriptfont\fam}% + \edef\bbb{\fontname\textfont\fam}\leavevmode{L}% + \ifx\aaa\bbb \resetfontsize% + \raise.46ex\hbox{{\tmpf@ntsize\bf% + $\fam\TestCount\kern-.4em\tmpkern{A}$}}% + \else% + \raise.42ex\hbox{$\fam\TestCount\scriptstyle\kern-.3em{A}$}% + \fi} +\fi +% \end{macrocode} +% +% \begin{macrocode} +% %%%%%1996/04/20 by Shinsaku Fujita%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%\def\LaTeX{\La\kern-.15em\TeX} +\ifnewl@tex \else \def\LaTeX{\La\kern-.15em\TeX}\fi +% \end{macrocode} +% +% \begin{macrocode} +%\def\jLaTeX{\leavevmode\lower.46ex\hbox{J}\kern-.08em\LaTeX} +\ifnewl@tex + \DeclareRobustCommand{\jLaTeX}% + {\leavevmode\lower.46ex\hbox{J}\kern-.08em\LaTeX} +\else + \def\jLaTeX{\leavevmode\lower.46ex\hbox{J}\kern-.08em\LaTeX} +\fi +% \end{macrocode} +% \end{macro} +% \end{macro} +% +% \begin{macro}{\PiC} +% \begin{macro}{\PiCTeX} +% +% \begin{macrocode} +\def\PiC{P\kern-.12em\lower.5ex\hbox{I}\kern-.075emC} +% \end{macrocode} +% +% \begin{macrocode} +%\def\PiCTeX{\PiC\kern-.11em\TeX} +\ifnewl@tex +\DeclareRobustCommand{\PiCTeX}{\PiC\kern-.11em\TeX} +\else +\def\PiCTeX{\PiC\kern-.11em\TeX} +\fi +% \end{macrocode} +% \end{macro} +% \end{macro} +% +% \begin{macro}{\tpic} +% \begin{macro}{\PiCTeX} +% +% \begin{macrocode} +%\def\tpic{\TestCount=\fam \leavevmode T% +% \hbox{$\fam\TestCount\scriptstyle +%\kern-.025em P\kern-.025em I\kern-.025emC$}} +\ifnewl@tex +\DeclareRobustCommand{\tpic}{T\hbox{$\m@th$% + \csname S@\f@size\endcsname\fontsize\sf@size\z@ + \math@fontsfalse\selectfont + \kern-.025em P\kern-.025em I\kern-.025emC}} +\else +\def\tpic{\ifnum \fam=\m@ne \fam=\z@ \fi% + \TestCount=\fam \leavevmode% + \edef\aaa{\fontname\scriptfont\fam}% + \edef\bbb{\fontname\textfont\fam}% + \resetfontsize\hbox{$\fam=\TestCount\textstyle T$}% + \ifx\aaa\bbb\hbox{\tmpf@ntsize\bf$\fam=\TestCount% + \kern-.025em P\kern-.025em I\kern-.025emC$}\else% + \hbox{$\fam\TestCount\scriptstyle% + \kern-.025em P\kern-.025em I\kern-.025emC$}\fi} +\fi +% \end{macrocode} +% \end{macro} +% \end{macro} +% +% \begin{macro}{\Post} +% \begin{macro}{\Script} +% \begin{macro}{\PostScript} +% +% \begin{macrocode} +\ifnewl@tex \else +\def\Post{\ifnum \fam=\m@ne \fam=\z@ \fi% + \TestCount=\fam\leavevmode% + \edef\aaa{\fontname\scriptfont\fam}% + \edef\bbb{\fontname\textfont\fam}% + \resetfontsize% + \hbox{$\fam=\TestCount\textstyle P$}% + \ifx\aaa\bbb% + \hbox{\tmpf@ntsize\bf% + $\fam=\TestCount\kern-.045em O\kern-.015em ST$}% + \else% + \hbox{$\fam\TestCount% + \scriptstyle\kern-.045em O\kern-.015em ST$}% + \fi} +% \end{macrocode} +% +% \begin{macrocode} +\def\Script{\ifnum \fam=\m@ne \fam=\z@ \fi% + \TestCount=\fam\leavevmode% + \edef\aaa{\fontname\scriptfont\fam}% + \edef\bbb{\fontname\textfont\fam}% + \resetfontsize% + \hbox{$\fam=\TestCount\textstyle S$}% + \ifx\aaa\bbb% + \hbox{\tmpf@ntsize\bf$\fam=\TestCount\kern-.035em % + C\kern-.015em R\kern-.015em IP\kern-.035em T$}% + \else% + \hbox{$\fam\TestCount\scriptstyle\kern-.035em % + C\kern-.015em R\kern-.015em IP\kern-.035em T$}% + \fi} +\fi +% \end{macrocode} +% +% \begin{macrocode} +%\def\PostScript{\Post\Script} +% %%%%%1996/04/20 by Shinsaku Fujita%%%%%%%%%%%%%%%%%%%%%%%%%%% +\ifnewl@tex +\DeclareRobustCommand{\PostScript}{P\hbox{$\m@th$% + \csname S@\f@size\endcsname\fontsize\sf@size\z@ + \math@fontsfalse\selectfont + \kern-.045em O\kern-.015em ST}S\hbox{$\m@th$% + \csname S@\f@size\endcsname\fontsize\sf@size\z@ + \math@fontsfalse\selectfont + \kern-.035em C\kern-.015em R\kern-.015em IP\kern-.035em T}} +\else +\def\PostScript{\Post\Script} +\fi +% \end{macrocode} +% \end{macro} +% \end{macro} +% \end{macro} +% +% \section{Double and triple bonds} +% +% \begin{macro}{\triplebond} +% \begin{macro}{\doublebond} +% \begin{macro}{\tbond} +% \begin{macro}{\dbond} +% +% \begin{macrocode} +% ***************** +% * 二重 三重結合 * +% ***************** +\def\triplebond{\leavevmode\kern.2pt\raisebox{.2ex}{% +\hbox{\vbox{\hrule height.03ex width1em\kern.4ex +\hrule height.03ex width1em\kern.4ex +\hrule height.03ex width1em}}}\hskip.4pt} +\def\doublebond{\leavevmode\kern.2pt\raisebox{.3ex}{% +\hbox{\vbox{\hrule height.03ex width1em\kern.6ex +\hrule height.03ex width1em}}}\hskip.4pt} +\let\tbond=\triplebond +\let\dbond=\doublebond +% \end{macrocode} +% \end{macro} +% \end{macro} +% \end{macro} +% \end{macro} +% +% \section{Round Arrows} +% +% The macro |\calcontrolpoints| is comman to define round arrows in the \textsf{chmst-ps} +% pacakage and in the \textsf{chmst-pdf} pacakage. Two control points for Bezier curves +% are automatically calculated to draw round arrows. +% +% \begin{macro}{\upwardarrowcalcA} +% \changes{v5.00}{2010/10/01}{Control points for round arrows} +% This macro gives a midpoint between two control points for +% drawing an upward-curved arrow. +% This is used in the definition of the |\calcontrolpoints| command. +% +% \begin{macrocode} +\def\upwardarrowcalcA{% +\@tempcntXc=\@tempcntXa +\advance\@tempcntXc by\@tempcntXb +\advance\@tempcntXc by-\@tempcntYb +\advance\@tempcntXc by\@tempcntYa +\divide\@tempcntXc by2\relax +%% +\@tempcntYc=\@tempcntYa +\advance\@tempcntYc by\@tempcntYb +\advance\@tempcntYc by-\@tempcntXa +\advance\@tempcntYc by\@tempcntXb +\divide\@tempcntYc by2\relax} +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\upwardarrowcalcB} +% \changes{v5.00}{2010/10/01}{Control points for round arrows} +% This macro gives two control points for drawing an upward-curved arrow. +% This is used in the definition of the |\calcontrolpoints| command. +% +% \begin{macrocode} +\def\upwardarrowcalcB{% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% control point: (\@tempcntXc, \@tempcntYc)% +% control point: (\@cnttempa, \@cnttempb) % +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\advance\@tempcntXc by\@tempcntXd +\advance\@tempcntYc by\@tempcntYd +\advance\@cnttempa by-\@tempcntXd +\advance\@cnttempb by-\@tempcntYd} +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\downwardarrowcalcA} +% \changes{v5.00}{2010/10/01}{Control points for round arrows} +% This macro gives a midpoint between two control points for +% drawing a down ward-curved arrow. +% This is used in the definition of the |\calcontrolpoints| command. +% +% \begin{macrocode} +\def\downwardarrowcalcA{% +\@tempcntXc=\@tempcntXa +\advance\@tempcntXc by\@tempcntXb +\advance\@tempcntXc by\@tempcntYb +\advance\@tempcntXc by-\@tempcntYa +\divide\@tempcntXc by2\relax +% +\@tempcntYc=\@tempcntYa +\advance\@tempcntYc by\@tempcntYb +\advance\@tempcntYc by\@tempcntXa +\advance\@tempcntYc by-\@tempcntXb +\divide\@tempcntYc by2\relax} +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\downwardarrowcalcA} +% \changes{v5.00}{2010/10/01}{Control points for round arrows} +% This macro gives two control points for drawing a down ward-curved arrow. +% This is used in the definition of the |\calcontrolpoints| command. +% +% \begin{macrocode} +\def\downwardarrowcalcB{% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% control point: (\@tempcntXc, \@tempcntYc)% +% control point: (\@cnttempa, \@cnttempb) % +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\advance\@tempcntXc by\@tempcntXd +\advance\@tempcntYc by\@tempcntYd +\advance\@cnttempa by-\@tempcntXd +\advance\@cnttempb by-\@tempcntYd} +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\calcontrolpoints} +% \changes{v5.00}{2010/10/01}{Control points for round arrows} +% +% \begin{macrocode} +\def\calcontrolpoints#1{% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% arrow (\@tempcntXa,\@tempcntYa) <---> (\@tempcntXb, \@tempcntYb) % +% #1=0, 2, 4: upward round arrow % +% #1=1, 3, 5: downward round arrow % +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\@tempcntXd=\@tempcntXb +\advance\@tempcntXd by-\@tempcntXa +\divide\@tempcntXd by4\relax +\@tempcntYd=\@tempcntYb +\advance\@tempcntYd by-\@tempcntYa +\divide\@tempcntYd by4\relax +% +\ifcase#1\relax%upward round: 0 +\upwardarrowcalcA% +\@cnttempa=\@tempcntXc +\@cnttempb=\@tempcntYc +\upwardarrowcalcB% +\or%downward-round: 1 +\downwardarrowcalcA% +\@cnttempa=\@tempcntXc +\@cnttempb=\@tempcntYc +\downwardarrowcalcB% +\or%upward round: 2 +\upwardarrowcalcA% +\advance\@tempcntXc by-\@tempcntYd +\advance\@tempcntYc by\@tempcntXd +\@cnttempa=\@tempcntXc +\@cnttempb=\@tempcntYc +\upwardarrowcalcB% +\or%downward-round: 3 +\downwardarrowcalcA% +\advance\@tempcntXc by\@tempcntYd +\advance\@tempcntYc by-\@tempcntXd +\@cnttempa=\@tempcntXc +\@cnttempb=\@tempcntYc +\downwardarrowcalcB% +\or%upward round: 4 +\upwardarrowcalcA% +\advance\@tempcntXc by-\@tempcntYd +\advance\@tempcntXc by-\@tempcntYd +\advance\@tempcntYc by\@tempcntXd +\advance\@tempcntYc by\@tempcntXd +\@cnttempa=\@tempcntXc +\@cnttempb=\@tempcntYc +\upwardarrowcalcB% +\or%downward-round: 5 +\downwardarrowcalcA% +\advance\@tempcntXc by\@tempcntYd +\advance\@tempcntXc by\@tempcntYd +\advance\@tempcntYc by-\@tempcntXd +\advance\@tempcntYc by-\@tempcntXd +\@cnttempa=\@tempcntXc +\@cnttempb=\@tempcntYc +\downwardarrowcalcB% +\fi} +% \end{macrocode} +% \end{macro} +% +% +% The following macros are supported only by the \textsf{chmst-ps} pacakage. +% +% \begin{macrocode} +%\let\reactDEqarrow=\reactdeqarrow +%\let\reactUEqarrow=\reactueqarrow +%\let\reactVEqarrow=\reactveqarrow +%\let\reactREqarrow=\reactreqarrow +%\let\reactLEqarrow=\reactleqarrow +%\let\reactEqarrow=\reacteqarrow +%\let\lllongleftharpoonup=\lllongleftarrow +%\let\lllongrightharpoondown=\lllongrightarrow +%\let\llongleftharpoonup=\llongleftarrow +%\let\llongrightharpoondown=\llongrightarrow +% \end{macrocode} +% +% \section{Initial Setting and Switch to Arrows of Original Styles} +% +% \begin{macro}{\chemistsw} +% \begin{macrocode} +\def\chemistsw{%setting of the chemist package +\let\reactrarrow=\oldreactrarrow% +\let\reactlarrow=\oldreactlarrow +\let\reactlrarrow=\oldreactlrarrow +\let\reacteqarrow=\oldreacteqarrow +%%%% +\let\reactreqarrow=\oldreactreqarrow% +\let\reactleqarrow=\oldreactleqarrow +%%%% +\let\reactdarrow=\oldreactdarrow% +\let\reactuarrow=\oldreactuarrow +\let\reactveqarrow=\oldreactveqarrow +\let\reactduarrow=\oldreactduarrow +%%%% +\let\reactsearrow=\oldreactsearrow% +\let\reactnwarrow=\oldreactnwarrow +\let\reactnearrow=\oldreactnearrow +\let\reactswarrow=\oldreactswarrow +%%%% +\let\reactdeqarrow=\oldreactdeqarrow% +\let\reactueqarrow=\oldreactueqarrow +\let\reactulrarrow=\oldreactulrarrow +\let\reactdlrarrow=\oldreactdlrarrow +%%%% +\let\schemelarrow=\oldschemelarrow% +\let\schemerarrow=\oldschemerarrow +\let\schemelrarrow=\oldschemelrarrow +%%%% +\let\llongrightarrow=\oldllongrightarrow%%%--->% +\let\llongleftarrow=\oldllongleftarrow%%%<--- +\let\llongleftrightarrow=\oldllongleftrightarrow%%%<---> +\let\Equilibarrow=\oldEquilibarrow%%%<--- and ---> +\let\Llongrightarrow=\oldLlongrightarrow%%%===> +\let\Llongleftarrow=\oldLlongleftarrow%%%<=== +\let\Llongleftrightarrow=\oldLlongleftrightarrow%%<===> +%%%%% +\let\llongleftharpoondown=\oldllongleftharpoondown%%% /---% +\let\llongrightharpoonup=\oldllongrightharpoonup%%%---/ +\let\equilibarrow=\oldequilibarrow%%% /--- and ---/ +%%%%% +\let\lllongrightarrow=\oldlllongrightarrow%%%%------>% +\let\lllongleftarrow=\oldlllongleftarrow%%%<------- +\let\lllongleftrightarrow=\oldlllongleftrightarrow%%%<-------> +\let\Equiliblongarrow=\oldEquiliblongarrow%%%<------- and -------> +\let\Lllongrightarrow=\oldLllongrightarrow%%%=======> +\let\Lllongleftarrow=\oldLllongleftarrow%%%<======= +\let\Lllongleftrightarrow=\oldLllongleftrightarrow%%<=======> +%%%%% +\let\lllongleftharpoondown=\oldlllongleftharpoondown%%% /-------% +\let\lllongrightharpoonup=\oldlllongrightharpoonup%%%-------/ +\let\equiliblongarrow=\oldequiliblongarrow%%% /------ and ------/ +%%%%tentative setting +\let\reactDEqarrow=\oldreactdeqarrow +\let\reactUEqarrow=\oldreactueqarrow +\let\reactVEqarrow=\oldreactveqarrow +\let\reactREqarrow=\oldreactreqarrow +\let\reactLEqarrow=\oldreactleqarrow +\let\reactEqarrow=\oldreacteqarrow +\let\lllongleftharpoonup=\oldlllongleftarrow +\let\lllongrightharpoondown=\oldlllongrightarrow +\let\llongleftharpoonup=\oldllongleftarrow +\let\llongrightharpoondown=\oldllongrightarrow +%%%% +} +% \end{macrocode} +% \end{macro} +% +% Dummy commands are declared for compatibility to PS and PDF mode. +% In paticular, arrows defined in the \textsf{chmst-ps} and \textsf{chmst-pdf} packages +% are defined as futile commands. +% \changes{v5.00}{2010/10/01}{for bond coloring and the LaTeX Project Public License} +% \begin{macrocode} +\RequirePackage{assurechemist} +% \end{macrocode} +% +% Initial setting: +% \begin{macrocode} +\chemistsw%setting of the chemist package +\mathversion{normal} +%</chemist> +% \end{macrocode} +% \Finale +\endinput |