% \footnotelayout{m}
% \columnratio{}
% \section{Reference Manual}
% \label{sec:ref}
% \subsection{Environment \texttt{paracol}}
% \label{sec:ref-paracol}
% 
% \begin{description}
% \item[\ENV{paracol}{\marg{num}\oarg{text}}]\mbox{}\par
% The environment \env{paracol} contains \meta{body} typeset in \meta{num}
% columns in parallel.  The optional \meta{text} is put spanning all columns
% prior to the multi-columned \meta{body}.
% 
% \begin{itemize}
% \item
% \changes{v1.2-2}{2013/05/11}
% 	{Add a footnote mentioning page-wise footnotes merged with
%	 pre-environment staff.}
% \changes{v1.35-4}{2018/12/31}
% 	{Add description of \cs{belowfootnoteskip}.}
% 
% The environment may start from \emph{any} vertical position in a page,
% i.e., not necessary at the top of a page.  The single-column
% {\em\Uidx\preenv} of the {\em\Uidx\spage} in which \beginparacol{} lies
% are naturally connected to the beginning part of \meta{body} in each
% column, unless the page has footnotes\footnote{
% 
% With \Mgfnote{} layout shown in Section~\ref{sec:ref-scfnote}, the
% footnotes in the single-column contents are merged with those in
% \env{paracol} environment and are put at the bottom of the \spage{}
% together as shown in this page.}
% 
% or bottom floats.  If these kinds of bottom stuff exist, they are
% put above the multi-columned \meta{body}, or the spanning \meta{text}
% 
% \UsageIndex{spanning text}
% 
% if provided, with a vertical skip of \!\textfloatsep! separating them if
% bottom floats exist, or of \!\belowfootnoteskip! described in
% Section~\ref{sec:ref-scfnote} if only footnotes exist.  The
% \emph{deferred} floats which have not yet appeared in the starting page
% and thus will appear in the next or succeeding pages are considered as
% \pwise{} floats given in the environment.
% 
% \item
% \changes{v1.2-5}{2013/05/11}
% 	{Add an item to show that \string\texttt{paracol} can be enclosed in
%	 a \string\texttt{list}-like environment.}
% 
% The environment can be enclosed in a \env{list}{\em-like environment} such
% as \env{enumerate}, \env{itemize} and \env{description}.  If so, \!\item!s
% in each column are typeset using the parameters of the surrounding
% environment such as \!\leftmargin! and \!\rightmargin!.  For example, the
% following short \env{paracol} environment is included in an \env{itemize}
% for this and other \!\item!s in this page.
% 
% \begin{paracol}{2}
% \item
% This is the first \!\item! in the left column.
% 
% \item
% This is the second \!\item! in the left column followed by a
% \!\switchcolumn!\footnote{.
% 
% This footnote is to show the footnotes in this page are merged.}.
% \switchcolumn
% 
% \item
% This is the first \!\item! in the right column.
% 
% \item
% This is the second \!\item! in the right column.
% 
% \item
% This is the third and last \!\item! in the right column.
% \end{paracol}
% You are now seeing the switching to/from multi-columned and \env{itemize}d
% texts are naturally connected with the last and this single-columned
% sentences.  You may feel the space between two columns above is too large
% but it simply results from the large total \!\leftmargin!s of the outer
% \env{description} and this \env{itemize}, which make the right column
% shifted right.  A simple remedy for this large space is to make
% \!\columnsep! narrower, for example 0\,pt as shown below.
% 
% \columnsep0pt
% \begin{paracol}{2}
% \item
% This \!\item! is wider than the last \!\item! above because
% \!\columnsep! is 0\,pt.
% \switchcolumn
% 
% \item
% Therefore, this \!\item! is shifted left a little bit to make
% inter-column spece narrower.
% \end{paracol}
% 
% \item
% All \Uidx\lcounter{}s in all columns are initialized to have the values at
% \beginparacol{} on its first occurrence.  On the second and succeeding
% occurrences of \beginparacol, the \lcounter{}s in each column have the
% value at the last \Endparacol, unless they are modified after the
% \Endparacol.  If a counter is modified (or declared by \!\newcounter!)
% after the \Endparacol, the local versions of the counter in all columns
% commonly have the value at \beginparacol.
% 
% \item
% \changes{v1.2-2}{2013/05/11}
% 	{Add a footnote mentioning page-wise footnotes merged with
%	 post-environment staff.}
% 
% The environment may end at \emph{any} vertical position in a page, i.e.,
% the {\em\Uidx\postenv} being the single-column texts and others
% following \Endparacol{} in the {\em\Uidx\lpage} of the environment may not
% start from the top of a page.  If any columns don't have deferred
% \cwise{} floats and the most advanced {\em\Uidx\lcolumn} at
% \Endparacol{} has neither of footnotes\footnote{
% 
% With \Mgfnote{} layout shown in Section~\ref{sec:ref-scfnote}, the
% footnotes in the closing \env{paracol} environment are merged with those
% in \postenv{} and are put at the bottom of the page{} together as shown in
% this page.}
% 
% nor bottom floats, its bottom is naturally connected to the \postenv{}.
% If the \lcolumn{} has these kinds of bottom stuff, they are put above the
% \postenv{}, with a vertical skip of \!\textfloatsep! separating them if
% bottom floats exist.  All deferred \cwise{} floats given in the
% environment are flushed before the \postenv{} appears, possibly creating
% {\em\Uidx\fcolumn{}s} only with floats.  On the other hand, deferred
% \pwise{} floats given in the environment are considered as deferred
% (single-) \cwise{} floats given just after \Endparacol.
% 
% \item
% The values of all \lcounter{}s in the leftmost column are used as the
% initial values of them in the \postenv.
% 
% \item
% The \env{paracol} environment cannot be nested, or you will have an error
% message of illegal nesting.
% 
% \item
% The commands \!\switchcolumn!, \!\synccounter!, \!\syncallcounters! and
% \!\flushpage!, and environments \env{column}(|*|), \env{nthcolumn}(|*|),
% \env{leftcolumn}(|*|) and \env{rightcolumn}(|*|) are {\em local} to
% \env{paracol} environment and thus undefined outside the
% environment\footnote{
% 
% Unless you dare to define them.}.
% 
% The command \!\clearpage! is of course usable outside and inside the
% environment but its function inside is a little bit different from outside.
% \end{itemize}
% 
% 
% 
% \item[\ENV{paracol}{\oarg{numleft}\marg{num}\oarg{text}}]\mbox{}
% \Item[\ENV{paracol}{\oarg{numleft}\texttt{*}\marg{num}\oarg{text}}]
%   \mbox{}\par
% \changes{v1.3-2}{2013/09/17}
%	{Add description of parallel-paging.}
% 
% If a \beginparacol{} has the optional \meta{numleft} argument to specify
% the number of leading columns $n_l$ together with the total $n$ given by
% \meta{num}, columns in the environment are laid out across two adjacent
% pages.  In this {\em\Uidx\parapag{}e} typesetting, the first $n_l$ columns
% are placed in the {\em left} page while remaining $n_r=n-n_l$ columns go to
% the next {\em right} page.  The pair of left and right pages is
% considered as comprising a virtual {\em\Uidx\paired} page and thus shares
% a common page number, unless {\em\Uidx\npaired} typesetting is specified
% by the optional `|*|' following the optional \meta{numleft} argument.  In
% the \npaired{} \parapag{}ing, when the leading $n_l$ columns are put in a
% page $p$, the trailing $n_r$ columns are in the page $p+1$.
% 
% \begin{itemize}
% \item
% All {\em\Uidx\pwstuff}, i.e., \Preenv{} and \postenv, \pwise{} floats,
% \mctext{} and (\mgfnote{} or non-merged) \Scfnote{}s, are placed only in
% left \parapag{}es leaving corresponding regions in right \parapag{}es
% blank\footnote{
% 
% Someday the author could devise an advanced mechanism to exploit the space
% in right \parapag{}es.}.
% 
% \item
% A \npaired{} left \parapag{}e is not necessary to be even-numbered, though
% the printing tradition requires so if you naturally want to have a
% \parapag{}e pair in a double spread.  The page number given to the first
% left \parapag{}e is simply the number of the page $p_1$ in which
% \beginparacol{} reside, and that for the $k$-th left \parapag{}e is
% $p_1+2(k-1)$\footnote{
% 
% Unless you make some change to \counter{page} counter.}.
% 
% Therefore, to make it sure $p_1$ is even, you might need to have an
% ordinary page of blank, a title, etc., or to let \counter{page} counter have
% an even number by \!\setcounter!, etc., before starting a \env{paracol}
% environment.
%
% \item
% Section~\ref{sec:ppts} shows examples of \parapag{}ing together with
% related issues on two-sided typesetting.
% \end{itemize}
% \end{description}
% 
% 
% 
% \subsection{Column-Switching Command and Environments}
% \label{sec:ref-switchcolumn}
% 
% \begin{description}
% \item[\Midx{\!\switchcolumn!}\oarg{col}]\mbox{}
% \Item[\Midx{\!\switchcolumn!}\oarg{col}\texttt{*}\oarg{text}]\mbox{}\par
% The command switches columns from $i$ to $j$ where $i$ and $j$ is the
% zero-origin ordinals of the columns from/to which we are leaving\slash
% visiting respectively.  Without the optional \meta{col}, $j=i+1\bmod n$
% where $n$ is the number of columns given to \beginparacol, while
% $j=\meta{col}$ with the optional argument.  If the command (or
% \oarg{col} if specified) is followed by a |*|, the \cswitch{} takes
% place after \sync{}ation and, if specified, the optional spanning
% \meta{text} is put.
% 
% \Index{spanning text}
% 
% \begin{itemize}
% \item
% Using \!\switchcolumn! in a \env{list}-like environment \emph{included} in
% a \env{paracol} environment causes an ugly result without any error\slash
% warning messages.  This caution is effectual for all \csenv{}s too.
% 
% \item
% If $\meta{col}\notin\LBRP0n$, an error is reported and, if you dare to
% continue, you will switch to the leftmost column 0.
% 
% \item
% The \sync{}ation point is set just below the last line of the \lcolumn{}
% in a page $p$, partly taking deferred floats into account.  That is, all
% deferred floats are put in the pages up to $p-1$ and at the top of $p$ if
% possible.  Then, if a non-\lcolumn{} has footnotes and/or bottom floats
% and they cannot be pushed down below the \sync{}ation point, the point is
% moved to the next page top\footnote{
% 
% Or below top floats deferred to the page.}.
% 
% \item
% In a page having one or more \sync{}ation points, stretch and shrink
% factors of all vertical spaces, such as those surrounding sectionning
% commands, are ignored.  Therefore, even if you specify \!\flushbottom!,
% the page is typeset as if \!\raggedbottom! were specified.
% 
% \item
% After a \sync{}ation point is set, no top floats will be inserted in the page
% having the point, thus they will be deferred to the next page or further one.
% \end{itemize}
% 
% 
% 
% \item[\ENV{column}{}]\mbox{}
% \Item[\ENV{column*}{\oarg{text}}]\mbox{}\par
% The environment \env{column} contains \meta{body} for the column next to
% what we are in just before \!\begin!|{|\env{column}|}|.  The starred
% version \env{column*} does the same after \sync{}ation and, if specified,
% the optional spanning \meta{text} is put.
% 
% \Index{spanning text}
% 
% \begin{itemize}
% \item
% The environments are almost equivalent to;
% \begin{quote}
% |{|\!\switchcolumn!\quad\meta{body}\quad\CSIndex{par}|}|\\
% |{|\!\switchcolumn!|*|\oarg{text}\quad\meta{body}\quad\CSIndex{par}|}|
% \end{quote}
% except for their first occurrences which don't switch to the column 1
% (i.e., right column if two-columned) but stay in the leftmost column 0.
% More precisely, \!\begin!|{|\env{column}(|*|)|}| does not make \cswitch{}
% if it is not preceded by \!\switchcolumn! nor other \csenv{}s.
% 
% \item
% The \meta{body} of the environments cannot have \!\switchcolumn! nor
% \csenv{}s including \env{column}(|*|) themselves, or you will have an
% error message of illegal use of command\slash environment.
% 
% \item
% Column-switching\index{column-switching} does not take place at
% \!\end!|{|\env{column}(|*|)|}|.  Therefore, texts following the
% environments are put in the column in which \meta{body} resides until a
% \cswitch{} command\slash environment is given.
% \end{itemize}
% 
% 
% 
% \item[\ENV{nthcolumn}{\marg{col}}]\mbox{}
% \Item[\ENV{nthcolumn*}{\marg{col}\oarg{text}}]\mbox{}\par
% The environment \env{nthcolumn} contains \meta{body} for the column
% \meta{col}.  The starred version \env{nthcolumn*} does the same after
% \sync{}ation and, if specified, the optional spanning \meta{text} is put.
% 
% \Index{spanning text}
% 
% \begin{itemize}
% \item
% The environments are equivalent to;
% 
% \begin{quote}
% |{|\!\switchcolumn!\oarg{col}\quad\meta{body}\quad\CSIndex{par}|}|\\
% |{|\!\switchcolumn!\oarg{col}|*|\oarg{text}\quad
%     \meta{body}\quad\CSIndex{par}|}|
% \end{quote}
% 
% \item
% The \meta{body} of the environments cannot have \!\switchcolumn! nor
% \csenv{}s including \env{nthcolumn}(|*|) themselves, or you will have an
% error message of illegal use of command\slash environment.
% 
% \item
% Column-switching\index{column-switching} does not take place at
% \!\end!|{|\env{nthcolumn}(|*|)|}|.  Therefore, texts following the
% environments are put in the column in which \meta{body} resides until a
% \cswitch{} command\slash environment is given.
% \end{itemize}
% 
% 
% 
% \KeepSpace{4}
% \item[\ENV{leftcolumn}{}]\mbox{}
% \Item[\ENV{leftcolumn*}{\oarg{text}}]\mbox{}
% \Item[\ENV{rightcolumn}{}]\mbox{}
% \Item[\ENV{rightcolumn*}{\oarg{text}}]\mbox{}\par\nobreak
% The environment \env{leftcolumn} contains \meta{body} for the leftmost
% column 0, while \env{rightcolumn} for the column 1 being the right column
% in two-column typesetting.  The starred versions \env{leftcolumn*} and
% \env{rightcolumn*} do the same after \sync{}ation and, if specified, the
% optional spanning \meta{text} is put.
% 
% \Index{spanning text}
% 
% \begin{itemize}
% \item
% The environments \env{leftcolumn}(|*|) are equivalent to;
% 
% \begin{quote}
% \Env{nthcolumn}{\Arg{\texttt{0}}}\\
% \Env{nthcolumn*}{\Arg{\texttt{0}}\oarg{text}}
% \end{quote}
% 
% while \env{rightcolumn}(|*|) are equivalent to;
% 
% \begin{quote}
% \Env{nthcolumn}{\Arg{\texttt{1}}}\\
% \Env{nthcolumn*}{\Arg{\texttt{1}}\oarg{text}}
% \end{quote}
% 
% \end{itemize}
% 
% 
% 
% \item[\Midx{\!\thecolumn!}]\mbox{}\par
% \changes{v1.3-5}{2013/09/17}
%	{Add description of \cs{thecolumn}.}
% The command gives you the zero-origin ordinal of the column in which this
% command appears.  Therefore, the following code snip;
% 
% \begin{itemize}\item[]
% |\begin{paracol}{3}|\\
% |Column-\thecolumn.\switchcolumn|
% |Column-\thecolumn.\switchcolumn|
% |Column-\thecolumn.|\\
% |\end{paracol}|
% \end{itemize}
% 
% gives us the followings.
% 
% \par\medskip
% \begin{paracol}{3}
% Column-\thecolumn.\switchcolumn
% Column-\thecolumn.\switchcolumn
% Column-\thecolumn.
% \end{paracol}
% 
% \begin{itemize}
% \item
% The command is {\em neither} a \LaTeX's counter nor \!\count! register of
% native \TeX{}, and thus the value it keeps cannot be modified.  However,
% it can be used wherever an integer number is required or appropriate.
% Therefore for example, \!\setcounter!|{mycounter}{|\!\thecolumn!|}| works
% well to give the column ordinal to the counter |mycounter|.
% \end{itemize}
% 
% 
% 
% \item[\Midx{\!\definecolumnpreamble!}\marg{col}\marg{pream}]\mbox{}\par
% \changes{v1.35-5}{2018/12/31}
% 	{Add description of \cs{definecolumnpreamble}.}
% The command is to define the {\Uidx\colpream} \meta{pream} for the column
% \meta{col}, which is inserted at every \cswitch{} to the column.  More
% specifically, the command let \!\switchcolumn! to \meta{col} act as if you
% sepcify;
% 
% \begin{itemize}\item[]
% \!\switchcolumn! $\arg{pream\ for\ col}$
% \end{itemize}
% 
% and \csenv{}s such as \env{nthcolumn} act as if you specify;
% 
% \begin{itemize}\item[]
% |\begin{nthcolumn}{|\meta{col}|}| $\arg{pream\ for\ col}$
% 
% \end{itemize}
% 
% \begin{itemize}
% \item
% \begingroup\hfuzz1.5pt
% The optional \sptext{} of \!\switchcolumn!, \csenv{}s and \beginparacol{}
% is considered to be in a virtual column $-1$, and thus if you need a
% \Colpream{} for \sptext{}s do \!\definecolumnpreamble!|{-1}|\marg{pream}.
% \par\endgroup
% 
% \item
% The command may appear in a \env{paracol} environment and, if so,
% \meta{pream} is effective from the succeeding \cswitch{} to \meta{col}.
% 
% \item
% The definition of \meta{pream} is made globally.
% \end{itemize}
% 
% 
% 
% \item[\Midx{\!\ensurevspace!}\marg{len}]\mbox{}\par
% \changes{v1.3-5}{2013/09/17}
%	{Add description of \cs{ensurevspace}.}
% 
% The command tells the first \sync{}ing \cswitch{} command (i.e.,
% \!\switchcolumn!\oarg{col}|*|) or environment (i.e., \env{column*}, etc.\@)
% following this command that the page must be broken before \sync{}ation
% unless the \sync{}ation point has the space of \meta{len} or more below it
% in the page.  If a \sync{}ation does not have the command after the
% previous \sync{}ation, it is assumed that
% \!\ensurevspace!|{|\!\baselineskip!|}| is given.
% 
% \begin{itemize}
% \item
% This command is to be used when a \sync{}ation point would be placed near
% the bottom of a page $p$ and the space below it is not sufficient for a column
% $c$ to put anything in the page, while another column $c'$ can have a few
% lines in the page.  If this happens, the first line after the \sync{}ation
% should start at the top of the page $p+1$ in the column $c$, while that of
% $c'$ is still in the page $p$, giving you an impression that the
% \sync{}ation fails to align the top of all columns below it.  The fact is,
% however, the \sync{}ation point is properly established near at the bottom
% of the page but the first line of $c$ needs some large space due to, for
% example, the followings.
% 
% \begin{itemize}
% \item
% The line has unusually tall stuff including larger font letters.
% 
% \item
% The line has a footnote reference which is hardly apart from the
% footnote, and thus the line and the footnote go to the next page together.
% 
% \item
% The parameter \!\clubpenalty! is too large (e.g., 10000) to break the
% first and second lines into separate pages.
% 
% \item
% The first line follows a vertical space.
% \end{itemize}
% 
% \item
% This manual itself has some instances of \!\ensurevspace! command in the
% page \pageref{page:bfreude} and \pageref{page:efreude} in which each German
% stanza is enclosed in \env{verse} and then \env{leftcolumn*} environments
% and has \!\ensurevspace!|{2|\!\baselineskip!|}| before the \!\begin!ing of
% the outer \env{leftcolumn*} because the first line of the stanza is
% preceded by a vertical space inserted by \!\begin!|{|\env{verse}|}|.  In
% fact without \!\ensurevspace!, the first two lines of the sixth English
% stanza would be in the page \pageref{page:bfreude}, while corresponding
% German stanza go to the next page \pageref{page:efreude} as a whole, due
% to the difference of the height of footnotes in each column, i.e., German
% ones are taller than English ones to narrow the space for the German
% column.
% 
% \item
% As the author does in the ``An die Freude/To Joy'' example, it is a good
% tactics to have an \!\ensurevspace! with some vertical space larger than the
% default \!\baselineskip! if it is sure that a column has a feature shown
% above regardless of the position of the \sync{}ation point in question,
% because the point goes up or down with revisions of your document and
% using an \!\ensurevspace! for a \sync{}ation far above the page bottom is
% perfectly harmless.  Similarly, if you find a problem in a \sync{}ation
% and add an \!\ensurevspace! to solve it, keeping the command attached is
% recommended even when the \sync{}ation point moves up or down to make the
% command unnecessary.
% \end{itemize}
% \end{description}
% 
% 
% 
% \subsection{Commands for Column and Gap Width}
% \label{sec:ref-colwidth}
% 
% \begin{description}
% \item[\Midx{\!\columnratio!}\Arg{$r_0,r_1,\cdots,r_k$}
%                              {|[|$r'_0,r'_1,\cdots,r'_{k'}$|]|}]\mbox{}\par
% \changes{v1.1}{2012/05/11}
% 	{Add description of \cs{columnratio}.}
% \changes{v1.3-2}{2013/09/17}
%	{Add descriptino of the optional argument of \cs{columnratio} for
%	 parallel-paging.}
% 
% The command defines the width of each column by the fraction $r_i$ to
% specify the portion which $i$-th ($i=0$ for the leftmost) column
% occupies.  More specifically, the width $\Midx{\w}_i$ of the $i$-th column
% is defined as follows, where $W$ is \!\textwidth!, $S$ is \!\columnsep!,
% and $n$ is the number of columns given to \beginparacol.
% 
% \begin{eqnarray*}
% W'&=&W-(n-1)S\\
% w_i&=&\cases{
%   r_iW'
%     \vrule height1.5\ht\strutbox depth1.5\dp\strutbox width0pt&$i\leq k$\cr
%   \displaystyle{(1-\sum_{j=0}^k r_j)W'\over n-(k+1)}&$i>k$}
% \end{eqnarray*}
% 
% For a \env{paracol} environment with \parapag{}ing, $n$ is replaced with
% $n_l$ for the columns in left \parapag{}es, while $n$ and $w_i$ are
% replaced with $n_r$ and $w_{n_r+i}$ for those in right \parapag{}es.
% Moreover, if the optional argument having $r'_0,r'_1,\cdots,r'_{k'}$ is
% provided, $w_{n_r+i}$ for a column in right \parapag{}es is determined
% by $r'_i$ and $k'$ instead of $r_i$ and $k$.
% 
% \begin{itemize}
% \item
% The equations above imply that $k<n-1$, $r_i>0$ and $\sum_{j=0}^k
% r_j<1$.  If $k\geq n-1$, $k$ is assumed to be $n-2$ and all $r_i$ such
% that $i\geq n-1$ are ignored.  If $r_i$ or its sum does not satisfy the
% conditions, you will have an ugly result with ``Overfull'' messages.
% 
% \item
% The argument $r_0,r_1,\cdots,r_k$ can be empty to mean $k=-1$ to let all
% column widths be $W'/n$ as default.
% 
% \item
% The setting of column width by the command takes effect in the |paracol|
% environments following the command\footnote{
% 
% If the command is in a \texttt{paracol} environment, the command does not
% affect the column widths of the environment but does the next ones, though
% such usage is very unusual.}.
% 
% Therefore, though placing the command in the preamble is the most natural
% way\footnote{
% 
% Or second most to not using it at all, of course.},
% 
% you may place this command between two |paracol| environments to change
% the column layout for the second one even when they appear in a page as
% shown in Section~\ref{sec:man-close}.
% 
% \item
% \changes{v1.2-5}{2013/05/11}
% 	{Modify the description about \cs{linewidth} reflecting the fact
%	 that \string\texttt{paracol} may be included in a
%	 \string\texttt{list}-like environment.}
% 
% In the $i$-th column, \!\columnwidth! has $w_i$ and, for outermost
% paragraphs in the column, \!\hsize! has $w_i$ as well.  As for
% \!\linewidth!, it has $w_i-(\!\textwidth!-l)$ where $l$ is what
% \!\linewidth! had at \beginparacol{}, i.e., the \!\linewidth! for the
% \env{list}-like environment surrounding \env{paracol} if any, or
% \!\textwidth! otherwise.
% 
% \item
% You can specify width of each column and that of each {\em gap} between
% two columns more detailedly by \!\setcolumnwidth! shown below.  If your
% document has both of \!\columnratio! and \!\setcolumnwidth! prior to a
% \env{paracol} environment, the command given later is effective for the
% environment.
% \end{itemize}
% 
% 
% 
% \item[\Midx{\!\setcolumnwidth!}\Arg{$s_0,s_1,\cdots,s_k$}
%                              {|[|$s'_0,s'_1,\cdots,s'_{k'}$|]|}]\mbox{}\par
% \changes{v1.3-2}{2013/09/17}
%	{Add descriptino of \cs{setcolumnwidth}.}
% 
% The command defines the width of each column and that of each {\em gap}
% between two columns by the column/gap specification $s_i$ for the $i$-th
% column and the gap between it and the $(i{+}1)$-th column.  More
% specifically, $s_i$ has the form of $\hat w_i$ or $\hat w_i\,|/|\,\hat g_i$
% where each of $\hat w_i$ and $\hat g_i$ is a proper glue including a
% proper dimension, or an empty string to mean $\hat w_i=\!\fill!$ and $\hat
% g_i=\!\columnsep!$, to determine the width of $i$-th column $\w_i$ and that
% of $i$-th gap $\Midx{\gap}_i$ as follows, where $\mathit{nat}(x)$ is the
% natural width of the glue $x$, $\mathit{str}(x)$ is the infinite stretch
% factor of $x$, $W$ is \!\textwidth!, and $n$ is the number of columns
% given to \beginparacol.
% 
% \begin{eqnarray*}
% W'&=&\sum_{i=0}^{n-2}\big(\mathit{nat}(\hat w_i)+\mathit{nat}(\hat g_i)\big)+
%      \mathit{nat}(\hat w_{n-1})\\
% F&=&\sum_{i=0}^{n-2}\big(\mathit{str}(\hat g_i)+\mathit{str}(\hat g_i)\big)+
%      \mathit{str}(\hat w_{n-1})\\
% x_i&=&\cases{(W/W')\mathit{nat}(\hat x_i)&$W'\geq W\;\lor\;F\leq0$\cr
%              \mathit{nat}(\hat x_i)+(\mathit{str}(\hat x_i)/F)(W-W')&
%                                           $W'< W\;\land\;F>0$}
%     \qquad(x\in\{w,g\})
% \end{eqnarray*}
% That is, if the total of natural widths $W'$ is larger than \!\textwidth!
% $W$ or there are no infinite stretch factors in the specification, given
% widths are scaled down or up so that the scaled total is equal to $W$.
% Otherwise, each width with an infinite stretch factor is extended
% according to its ratio in the total stretch so that the stretched total is
% equal to $W$.
% 
% For a \env{paracol} environment with \parapag{}ing, $n$ is replaced with
% $n_l$ for the columns in left \parapag{}es, while $n$, $w_i$ and $g_i$ are
% replaced with $n_r$, $w_{n_r+i}$ and $g_{n_r+i}$ for those in right
% \parapag{}es.  Moreover, if the optional argument having
% $s'_0,s'_1,\cdots,s'_{k'}$ is provided, $w_{n_r+i}$ and $g_{n_r+i}$ for a
% column in right \parapag{}es are determined by $s'_i$ instead of $s_i$.
% 
% \begin{itemize}
% \item
% In \env{paracol} environments having $n$ columns, $s_i$ s.t.\ $i\geq n$
% and $\hat g_{n-1}$ are ignored.  On the other hand if $k<n-1$, it is
% assumed $s_i$ is an empty string for all $i>k$.
% 
% \item
% Finite stretch factors and finite or infinite shrink factors in $\hat w_i$
% and $\hat g_i$ are ignored.
% 
% \item
% Unlike \TeX's genuine glue addition, all infinite unit |fil|, |fill| and
% |filll| are not distinguished in the summation for $F$.  Also unlike
% \TeX's genuine scaling of a glue primitive, 
% $f\!\fill!$ means $0\,|pt|\ |plus|\ f\,|fill|$ for convenience\footnote{
% 
% In \TeX's grammar, $f\!\fill!$ means a dimension rather than a glue and is
% $0\,|pt|$ because the natural component of \!\fill! is 0.}.
% 
% \item
% The division $W/W'$ and $\mathit{str}(\hat x_i)/F$ can have some
% arithmetic errors and thus the total of $w_i$ and $g_i$ may not be equal to
% $W$ exactly but can be a little bit less than $W$.  This small error is,
% however, equally distributed to $g_i$ in typesetting of a page to make the
% total width of columns and gaps is exactly $W$\footnote{
% 
% If we may ignore the arithmetic error inherent in \TeX.}.
% 
% \item
% All the specifications shown in the table below give us same results for a
% \env{paracol} environment having three columns, providing
% $\!\textwidth!=360\,|pt|$ and $\!\columnsep!=S=20\,|pt|$.
% 
% \par\hbox to\textwidth\bgroup\hfil
% \nosv \def\|{\verb|}\small\arraycolsep0pt\def\arraystretch{1.1}
% $\begin{array}[b]{l|ccccc}
% s_0,s_1,s_2&w_0&g_0&w_1&g_1&w_2\rlap{ (in \texttt{pt})}\\\hline
% \|50pt/20pt,100pt/40pt,150pt|&50&20&100&40&150\\
% \|50pt,100pt/2\columnsep,150pt|&50&S&
%                                100&2S&150\\
% \|50pt/\fill,100pt/2\fill,150pt|&50&(1/3)\cdot60&100&(2/3)\cdot60&150\\
% \|,2\fill/2\columnsep,3\fill|&\ (1/6)\cdot300&S&
%                              (2/6)\cdot300&2S&
%                              (3/6)\cdot300\\
% \|50pt/20,50pt plus 1fil/40pt,50pt plus 2fil |&
%                              50&20&50+(1/3)\cdot150&40&
%                              50+(2/3)\cdot150\\
% \|5pt/2pt,10pt/4pt,15pt|&10\cdot5&10\cdot2&10\cdot10&10\cdot4&
%                         10\cdot15\\
% \|100pt/40pt,200pt/80pt,300pt|&0.5\cdot100&0.5\cdot40&
%                               0.5\cdot200&0.5\cdot80&
%                               0.5\cdot300
% \end{array}$\hfil\egroup
% 
% \item
% If your document has both of \!\columnratio! and \!\setcolumnwidth! prior
% to a \env{paracol} environment, the command given later is effective for
% the environment.
% \end{itemize}
% \end{description}
% 
% 
% 
% \subsection{Commands for Two-Sided Typesetting and Marginal Note Placement}
% \label{sec:ref-twoside}
% \changes{v1.3-3}{2013/09/17}
%	{Add the sub-section ``Commands for Two-Sided Typesetting and Marginal
%	 Note Placement''.}
% \changes{v1.3-4}{2013/09/17}
%	{Add the sub-section ``Commands for Two-Sided Typesetting and Marginal
%	 Note Placement''.}
% \changes{v1.3-5}{2013/09/17}
%	{Add the sub-section ``Commands for Two-Sided Typesetting and Marginal
%	 Note Placement''.}
% 
% \begin{description}
% \item[\Midx{\!\twosided!}{$|[|t_1t_2\cdots t_k|]|$}]\mbox{}\par
% \changes{v1.3-3}{2013/09/17}
%	{Add description of \cs{twosided}.}
% \changes{v1.3-4}{2013/09/17}
%	{Add description of \cs{twosided}.}
% \changes{v1.3-5}{2013/09/17}
%	{Add description of \cs{twosided}.}
% 
% The command enables a set of two-sided typesetting features
% $\Set{t_i}{t_i\in\{|p|,|c|,|m|,|b|\},\ 1\leq i\leq k}$ explicitly by the
% optional argument, or all of the following four features as a whole
% without the argument, in even-numbered pages.
% 
% \begin{description}
% \item[|p|\rm(\textit{age})]
% for ordinary two-sided paging, letting the left side margin be
% \!\evensidemargin!, page headers be different from those in odd-numbered
% pages with |headings| or |myheadings| page style, and \!\cleardoublepage!
% leave an even-numbered page blank if it is used in an odd-numbered page.
% 
% \item[|c|\rm(\textit{olumn})]
% for {\em\Uidx\cswap} to \emph{print} columns in even-numbered pages in
% reverse order.  This feature is sometimes preferable in typesetting
% especially with unbalanced parallel columns to make, for example, a wider
% columns are always \emph{inside} while narrower ones are \emph{outside}.
% 
% \item[|m|\rm(\textit{arginal text})]
% to place marginal notes in the side margin opposite to that specified by
% the command \!\marginparthreshold! discussed shortly.
% 
% \item[|b|\rm(\textit{ackground painting})]
% to make \bgpaint, shown in Section~\ref{sec:ref-bgpaint},
% \emph{\mirror{}ed} so that, for example, a color specified for the left
% margin is used to paint the right margin instead.
% \end{description}
% 
% \begin{itemize}
% \item
% The feature |p| is also enabled by the |twoside| option of
% \!\documentclass! with almost all classes including |article|, |book|,
% |report|, etc.  Though it is strongly recommended to make both settings by
% \!\documentclass! and this command consistent, they can be inconsistent
% resulting in lack of some expected functions.  For example, enabling |p|
% feature by \!\twosided! without |twoside| option in \!\documentclass!
% makes the format of headers and footers in all pages same even with
% \!\pagestyle!|{headings}|.
% 
% \item
% The \cswap{} enabled by the feature |c| is ineffective in \npaired{}
% \parapag{}ing because it is meaningless\footnote{
% 
% Unless somebody tells the author it is meaningful.},
% 
% and thus silently ignored.
% 
% \item
% In ordinary single-column typesetting, marginal note swapping in
% even-numbered pages is enabled by the |twoside| option, while it never takes
% place in ordinary two-column typesetting.  For marginal notes given in
% \env{paracol} environments, however, swapping of them in
% even-numbered pages is enabled by giving the feature |m| to \!\twosided!.
% 
% \item\label{page:cswap}
% The command has to be outside of \env{paracol} environments to decide the
% action in the environments following them.  If it appears in a
% \env{paracol} environment, you will have a warning message saying it is
% ignored.
% 
% \twosided[c]\columnratio{0.6}\columnsep0pt
% \begin{paracol}{2}
% \hfuzz2pt
% \item
% Here is an example of column swapping.  Since this page
% \pageref{page:cswap} is odd, this wider column-0 with roman font is placed
% in left side and thus inside at the begining, but now we are in an even
% page in which this column is in right side.
% 
% \switchcolumn
% \item\it
% This narrower, outside and italicized column-1 is at first in right
% side but the page break has changed the position to the left.
% \end{paracol}
% 
% \item
% \changes{v1.2-4}{2013/05/11}
% 	{Add description of \cs{[no]swapcolumninevenpages}.}
% \changes{v1.3-5}{2013/09/17}
% 	{Remove description of \cs{[no]swapcolumninevenpages} but mention
%	 they are still available.}
% 
% In old versions of \Paracol, namely 1.2 and its minor revisions 1.2x,
% \cswap{} was controlled by lengthy commmands
% \Midx{\!\swapcolumninevenpages!} and \Midx{\!\noswapcolumninevenpages!}.
% Though they are still available and will be so forever for backward
% compatibility, it is recommended to use \!\twosided! with or without the
% feature |c|.  The old versions also have a problem that \spanning{}
% crossing a page boundary is placed incorrectly after the page break in it,
% but this problem is solved by a fix incorporated in version 1.3.
% 
% \item
% It must be $t_i\in\{|p|,|c|,|m|,|b|\}$, or you will have an error message
% of illegal two-siding feature.
% 
% \item
% Section~\ref{sec:ppts} shows examples of two-sided typesetting together
% with related issues on \parapag{}ing.
% \end{itemize}
% 
% 
% 
% \item[\Midx{\!\marginparthreshold!}$\Arg{k}{|[|k'|]|}$]\mbox{}\par
% \changes{v1.3-4}{2013/09/17}
%	{Add description of \cs{marginparthreshold}.}
% 
% The command specifies the minimum ordinal $k$ of columns whose marginal
% notes are placed in right margin.  That is, marginal notes given in a
% column-$i$ go to left margin if $i<k$, while they go to right if $i\geq
% k$.  The optional argument $k'$, if given, is for columns in right
% \parapag{}es to decide the margin where their marginal notes are placed.
% In default, $k=1$ is assumed to let marginal notes from the leftmost
% column-0 go to left margin while those from other columns go to right.
% 
% \begin{itemize}
% \item
% You may specify $k=0$ to let all marginal notes go to right margin, or may
% give the command a large number, say 100, to place all of them in left
% margin.
% 
% \item
% The setting $k=0$ or $k=100$ above makes a side margin \emph{shared} by
% marginal notes from different columns, and sharing is inevitable when a
% (parallel-) page has three or more columns.  When a margin is shared by
% marginal notes from two or more columns, it can happen that two marginal
% notes from different columns conflict over the space to be occupied by each
% of them.  This conflict is solved by \Paracol{} to push down the note
% given later in your source |.tex| until an available space for it is
% found.  Note that the marginal note to be pushed down is determined by the
% position in the source rather than that in the printed result.  Also note
% that \Paracol{} exploits space between two marginal notes having been
% already placed in the placement of other note coming later to place it at
% the natural position if possible or to minimize the amount of pushing down
% otherwise.
% 
% \item
% In the decision of the real margin in which a marginal note is placed,
% other two factors are involved;  |m| feature of \!\twosided! command and
% the parity of the page; and \LaTeX's genuine command \!\reversemarginpar!.
% More specifically, after the first preliminary decision is made according
% to the threshold given to \!\marginparthreshold!, we have the following
% two steps to modify the decision;  if |m| feature has been specified in
% \!\twosided! command and the marginal note belongs to an even-numbered
% page, the decision is reversed to have the second preliminary result;  and
% then if \!\reversemarginpar! has been specified, the second result is
% reversed (again) to have the final result.
% 
% \item
% In old versions of \Paracol, namely older than 1.3, marginal note
% placement was not only uncontrollable but also gave ugly results when your
% document has three or more columns because the marginal notes from a column
% not being leftmost or rightmost were placed in the gap following the
% column rather than a margin.  This miserable {\em gap note} placement does
% not happen any more, or in other words this is no more available because
% the author believes nobody loves it.
% 
% \item
% Section~\ref{sec:ppts} shows examples of marginal note placement together
% with related issues on \parapag{}ing and two-sided typesetting.
% \end{itemize}
% 
% 
% 
% \item[\Midx{\!\marginnote!}\oarg{left}\marg{right}\oarg{voffset}]\mbox{}\par
% \changes{v1.35-3}{2018/12/31}
% 	{Add description of \cs{marginnote}.}
% You may use the package \textsf{marginnote} and its command \!\marginnote!
% in \env{paracol} environments as a replacement of \!\marginpar!.  However,
% the command is \emph{emulated} with \!\marginpar! and \textsf{paracol}'s
% own mechanism of marginal note placement.  Therefore, some of
% \textsf{marginnote}'s functionality are not effective in \env{paracol}
% environment except for the following features.
% 
% \begin{itemize}
% \item
% Shifting up/down a marginal note by the optional \meta{voffset}.
%
% \item
% Defining fonts (and others) for marginal notes by \!\marginfont!.
% 
% \item
% Controlling the holizontal paragraph alignment by \!\raggedleftmarginnote!
% and |\raggedright|\~|marginnote|\SpecialIndex{\raggedrightmarginnote}.
% \end{itemize}
% 
% Note that you will see a warning message ``|\margninnote| is emulated by
% |\marginpar|'' at the first in-\env{paracol} occurrence of the command to
% let you know the imperfection.
% \end{description}
% 
% 
% 
% \subsection{Commands for Counters}
% \label{sec:ref-counter}
% 
% \begin{description}
% \item[\Midx{\!\globalcounter!}\marg{ctr}]\mbox{}
% \Item[\Midx{\!\globalcounter!}\texttt{*}]\mbox{}\par
% \changes{v1.32-1}{2015/10/10}
% 	{Add descriptions of \cs{globalcounter*}.}
% 
% The command \!\globalcounter!\marg{ctr} declares that the counter
% \meta{ctr} is global to all columns, while \!\globalcounter!|*| does so
% for all counters.  An update of a \Uidx\gcounter{} in a column is seen by
% any other columns.
% 
% \begin{itemize}
% \item
% All column-local values of a descendant \lcounter{} of a \gcounter{} are
% zero-cleared when the \gcounter{} is explicitly stepped by \!\stepcounter!
% or \!\refstepcounter!, or implicitly by a sectioning command and so on.
% 
% \item
% The counter \counter{page} is always global but an explicit update of it
% by e.g., \!\setcounter! in a non-leftmost column is not seen by other
% columns and is canceled even for the column itself after a \cswitch{} or a
% page break in the column.  Therefore, if you want to make a \emph{jump} of
% \counter{page}, it must be done in the leftmost column 0.  Note that a
% jump from a page $p$ to $q$ can be seen in other columns even if they have
% gone beyond $p$ \emph{before} the column 0 makes the jump, as far as
% \counter{page} having $q$ (or its successor) is referred to by \!\pageref!
% or through \emph{contents} files such as |.toc|\footnote{
% 
% Direct reference to \counter{page} may give an inconsistent result, as you
% might have in ordinary \LaTeX{} documents.}.
% 
% \item
% All counters except for \counter{page} are local by default.  This feature
% may cause a problem with some packages including \textsf{marginnote} and
% \textsf{(auto-)pst-pdf} having their own counters which must be global.
% Since it is tough to find the name of such counters from package sources,
% if you have something wrong with these (or other) packages, try to put
% \!\globalcounter!|*| in your preamble and use \!\localcounter! shown below
% to localize specific counters which you need to be local.
% 
% \item
% Globalizing a \meta{ctr} being already global is just ignored without any
% complaints.
% \end{itemize}
% 
% 
% 
% \item[\Midx{\!\localcounter!}\marg{ctr}]\mbox{}\par
% The command declares that the counter \meta{ctr} is local for each column.
% 
% \begin{itemize}
% \item
% Though this command is intended for localizing a \meta{ctr} which is once
% globalized, localizing a local counter does not causes any error but is
% just ignored.  Localizing the permanently global \counter{page} is also
% just ignored without any complaints.
% \end{itemize}
% 
% 
% 
% \item[\Midx{\!\definethecounter!}\marg{ctr}\marg{col}\marg{rep}]\mbox{}\par
% The command defines |\the|\meta{ctr} being \marg{rep} for the local use in
% the column \meta{col}.  That is, |\the|\meta{ctr} in the column \meta{col}
% acts as if it is defined by
% \!\renewcommand!\Arg{\cs{the}\meta{ctr}}\Arg{\meta{rep}}.
% 
% 
% 
% \item[\Midx{\!\synccounter!}\marg{ctr}]\mbox{}\par
% The command \emph{broadcasts} the value of the \lcounter{} \meta{ctr} in
% the column in which the command appears to the values in all other columns.
% 
% \item[\Midx{\!\syncallcounters!}]\mbox{}\par
% The command broadcasts the values of all \lcounter{}s in the column in
% which the command appears to the values in all other columns.
% \end{description}
% 
% 
% 
% \subsection{Page-Wise Footnotes}
% \label{sec:ref-scfnote}
% \changes{v1.2-2}{2013/05/11}
% 	{Add the sub-section ``Single-Columned Footnotes'' to describe newly
%	 introducerd commands for page-wise footnotes.}
% \changes{v1.3-5}{2013/09/17}
%	{Rename the sub-section title from ``Single-Columned Footnotes'' to
% 	``Page-Wise Footnotes'' following new naming.}
% 
% \begin{description}
% \item[\Midx{\!\footnotelayout!}\marg{layout}]\mbox{}\par
% The command specifies the \meta{layout}${}\in\{|c|,|p|,|m|\}$ of footnotes
% in \env{paracol} environments as follows.
% 
% \begin{description}
% \item[|c|\rm(\textit{olumn})] makes footnotes {\em\Uidx\mcfnote} (aka
% multi-columned) being default to place footnotes in each column at the
% bottom of the column and separating them from \Preenv{} and \Postenv{}
% footnotes.
% 
% \item[|p|\rm(\textit{age})] makes footnotes {\em\Uidx\scfnote} (aka
% single-columned) so that footnotes in all columns are gathered, typeset
% spanning all columns, and placed at the bottom of the page in which they
% appear or at the end of the \env{paracol} environment they belong to, so
% that they are separated from \Preenv{} and \Postenv{} footnotes.
% 
% \item[|m|\rm(\textit{erge})] makes \Scfnote{}s {\em\Uidx\mgfnote} with
% footnotes in outside of the environment but in the same page, i.e., those
% in \Preenv{} and \postenv.
% \end{description}
% 
% 
% \begin{itemize}
% \item
% An example of \Mgfnote{} is found in p.~\pageref{sec:ref-paracol} while
% you will see many of them in Section~\ref{sec:fnnp}\footnote{
% 
% The left-column footnote \ref{fn:flush} in p.~\pageref{fn:flush} looks like
% a merged footnote because it is at the bottom of the page and the marked
% text is above the single-column text.  However, it is an ordinary
% \mcfnote{} one produced by a trick with \cs{footnotemark} and
% \cs{footnotetext} in different \env{paracol} environments.}.
% 
% \item
% In any layouts, a footnote cannot have page breaks in it, i.e., a footnote
% is always put in a page as a whole.  This makes it impossible to have a
% footnote taller than \!\textheight! and thus you will see a warning
% message if you give a very long footnote which will be printed intruding
% into the area for page footer (or out of the paper bound).
% 
% \item
% Choosing the layout |p|age-wise or |m|erged makes \counter{footnote}
% counter global and \!\fncounteradjustment!  shown below performed inside
% \!\footnotelayout!.  Choosing |c|olumn-wise let the command do the
% operations oppositely, i.e., localizes \counter{footnote} and does
% \!\nofncounteradjustment!.  Though these settings are usually appropriate
% for each footnote layout but you can override them by explicitly using
% commands like \!\localcounter!|{footnote}|.
% 
% \item
% The command has to be outside of \env{paracol} environments to decide the
% action in the environments following them.  If it appears in a
% \env{paracol} environment, you will have a warning message saying it is
% ignored.
% 
% \item
% \changes{v1.3-5}{2013/09/17}
% 	{Remove description of \cs{multicolumnfootnotes},
%	 \cs{singlecolumnfootnotes}, \cs{mergedfootnotes} but mention they
%	 are still available.}
% 
% In old versions of \Paracol, namely 1.2 and its minor revisions 1.2x,
% footnote layout was controlled by a set of lengthy commands
% \Midx{\!\multicolumnfootnotes!} for |c|, \Midx{\!\singlecolumnfootnotes!}
% for |p|, and \Midx{\!\mergedfootnotes!} for |m|.
% Though they are still available and will be so forever for backward
% compatibility, it is recommended to use \!\footnotelayout!\footnote{
% 
% Not only for type saving but also for being familiar with this command
% which could have some advanced feature, for example to put gathered
% footnotes into a specific column, someday.}.
% 
% % \item
% It must be $\meta{layout}\in\{|c|,|p|,|m|\}$, or you will have an error
% message of illegal layout specifier.
% \end{itemize}
% 
% 
% 
% \KeepSpace{5}
% \item[\Midx{\!\footnote!}\texttt{*}\oarg{num}\marg{text}]\mbox{}
% \Item[\Midx{\!\footnotemark!}\texttt{*}\oarg{num}]\mbox{}
% \Item[\Midx{\!\footnotetext!}\texttt{*}\oarg{num}\marg{text}]\mbox{}\par
% The starred version of \!\footnote!, \!\footnotemark! and \!\footnotetext!
% are for the adjustment of the footnote numbering, the order of footnote
% marks in main texts, and the stacking order of footnotes at page
% bottom.  Their usages with various examples are given in
% Section~\ref{sec:fnnp}.
% 
% 
% 
% \KeepSpace{3}
% \item[\Midx{\!\fncounteradjustment!}]\mbox{}
% \Item[\Midx{\!\nofncounteradjustment!}]\mbox{}\par
% The maintenance of \counter{footnote} with the starred footnote commands
% such as \!\footnote!|*| shown above causes out-of-order progress of the
% counter to make it hard to have a consistent counter value at
% \Endparacol.  The command \!\fncounteradjustment! is to let \Endparacol{}
% adjust the value of the counter based on its value at
% \beginparacol{} and the number of footnote commands in the environment.
% The command \!\nofncounteradjustment! is to tell \Endparacol{} to do
% nothing as in default.
% 
% \begin{itemize}
% \item
% Though \!\footnotelayout! with |p|(age-wise) or |m|(erged) argument does
% \!\fncounteradjustment! while that with |c|(olumn) does
% \!\nofncounteradjustment! inside of it, you can override these settings by
% explicitly putting a counter adjustment command after \!\footnotelayout!.
% 
% \item
% The effect of \!\fncounteradjustment! is shown in Section~\ref{sec:fnnp}.
% \end{itemize}
% 
% 
% \item[\Midx{\!\belowfootnoteskip!}]\mbox{}\par
% \changes{v1.35-4}{2018/12/31}
% 	{Add description of \cs{belowfootnoteskip}.}
% The typesetting parameter specifies the amount of the space inserted below
% footnotes of single-column \preenv{} if it does not have bottom floats.  The
% default amount is 0\,pt, i.e., no space is added.
% 
% \end{description}
% 
% 
% \KeepSpace{6}
% \subsection{Commands for Coloring Texts and Column-Separating Rules}
% \label{sec:ref-tcolor}
% \changes{v1.3-3}{2013/09/17}
%	{Rename the sub-sectoin title from ``Commands for Text Coloring'' to
%	 ``Commands for Coloring Texts and Column-Separating Rules'' to
%	 add description of the rule coloring together with the rule
%	 drawing itself.}
% 
% \begin{description}
% \item[\Midx{\!\columncolor!}\oarg{mode}\marg{color}\oarg{col}]\mbox{}
% \Item[\Midx{\!\normalcolumncolor!}\oarg{col}]\mbox{}\par
% \changes{v1.2-1}{2013/05/11}
%	{Add description of \cs{columncolor} and \cs{normlcolumncolor}.}
% 
% The command \!\columncolor! declares that the \emph{default color} of a
% column is \meta{color} or what it specifies by the combination with the
% optional \meta{mode}.  The command \!\normalcolumncolor! declares the
% default color is what \!\normalcolor! specifies, i.e., black usually.  The
% target column of these commands is that in which the commands reside, or
% \meta{col} if it specified.
% 
% \begin{itemize}
% \item
% The command may be outside of \env{paracol} environment.  If so and
% \meta{col} is not provided, the target column is the leftmost 0.
% 
% \item
% The default color declaration is \emph{global}.  Therefore, even if the
% command appears in a \env{paracol} environment (and even in some grouping
% structure in it), the declaration will be kept effective after
% \Endparacol{} to determine the default color of the specified column in
% succeeding \env{paracol} environments.
% 
% \item
% To give a color to texts (and maybe other stuff) in a column correctly,
% you need to load \textsf{color} package or its relative (e.g.,
% \textsf{xcolor}) which the implementation of coloring in \textsf{paracol}
% relies on.
% 
% \item
% Coloring with \!\color!\oarg{mode}\marg{color} and other coloring commands
% in \env{paracol} environments is of course allowed.  One caution is that
% the \!\color! decides the color for following texts until other
% specification is given or the group surrounding the command is closed.
% Therefore, \!\switchcolumn! does not affect the coloring but a color given
% to the texts in a column is also applied to the texts in the column to be
% switched to.  This irrelativeness of coloring and \cswitch{} is shown in
% the example below.
% 
% \twosided[]\columnratio{0.5}\columnsep0pt
% \tolerance5000\hbadness5000
% \begin{paracol}{2}
% \columncolor{blue}
% This column is colored blue because\\
% \mbox{}\qquad \!\columncolor!|{blue}|\\
% is specfied.  Here we have a \!\switchcolumn!.
% \switchcolumn
% \columncolor{red}
% This column is colored red because\\
% \mbox{}\qquad\!\columncolor!|{red}|\\
% is specified.
% 
% \begin{color}{green}
% Now the color of the right column is changed to green because\\
% \mbox{}\qquad\!\begin!|{color}{green}|\\
% is given prior to this paragraph.  Now we have another \!\switchcolumn! to
% go back to the left.
% \switchcolumn
% The color of this paragraph is green because we are still in the
% environment of green coloring, which we are now closing.\par
% \end{color}%
% 
% Since the coloring environment has been closed, the color of this
% paragraph is the default blue.  Now we have yet another and the last
% \!\switchcolumn! to the right.
% \switchcolumn
% Since this paragraph is outside of the coloring environment, its color is
% the default red.
% \end{paracol}
% 
% \normalcolumncolor[0]\normalcolumncolor[1]
% The default coloring of columns does not affect anything outside of
% \env{paracol} environment of course, and thus this sentence is not
% colored\footnote{
% 
% Or colored black as \cs{normalcolor} specifies.}.
% \end{itemize}
% 
% 
% 
% \KeepSpace{4}
% \item[\Midx{\!\coloredwordhyphenated!}]\mbox{}
% \Item[\Midx{\!\nocoloredwordhyphenated!}]\mbox{}\par
% \changes{v1.3-3}{2013/09/17}
%	{Add description of \cs{coloredwordhyphenated} and
%	 \cs{nocoloredwordhyphenated}.}
% 
% The command \!\coloredwordhyphenated! allows the first word following a
% coloring command such as \!\color! to be hyphenated, but at the same time
% make it possible that a line is broken before the word.  The command
% \!\nocoloredwordhyphenated! acts oppositely and thus line breaking before
% the first word and hyphenating it are inhibited.  By default,
% \!\coloredwordhyphenated! is effective.
% 
% \begin{itemize}
% \item
% The implementation of \textsf{color} package and its relatives makes it
% impossible that \meta{word} is hyphenated when it appears like
% |{|\!\color!|{red}|\meta{word} \ldots|}| or
% \!\textcolor!|{|\meta{word} \ldots|}|.  This inhibition of the hyphenation
% is sometimes annoying especially when the document is multi-columned and
% thus a line is narrow and a column is written in a language having long
% words such as German.  Therefore in \Paracol{} package, a trick is used to
% allow the \meta{word} is hyphenated.  However this trick being insertion
% of a null horizontal space has a side effect that the word can have a line
% break before it.  Though this line break is usually unharmful, in a
% special occasion the break is undesirable and
% in\textcolor{red}{appropriate} by making it possible that the
% \emph{half-colored} word `inappropriate' is broken between `in' and
% `appropriate' without hyphenation.  Therefore, if you find such a
% inappropriate break, use \!\nocoloredwordhyphenated! as follows, for example.
% \begin{quote}
% |{\nocoloredwordhyphenated in\textcolor{red}{appropriate}}|
% \end{quote}
% \end{itemize}
% 
% 
% \KeepSpace{4}
% \item[\Midx{\!\colseprulecolor!}\oarg{mode}\marg{color}\oarg{col}]\mbox{}
% \Item[\Midx{\!\normalcolseprulecolor!}\oarg{col}]\mbox{}\par
% \changes{v1.3-3}{2013/09/17}
%	{Add description of \cs{colseprulecolor} and
%	 \cs{normalcolseprulecolor}.}
% 
% The command \!\colseprulecolor! declares the color for
% {\em\Uidx\cseprule{}s}, being the vertical rules drawn at the center of
% gaps between columns, is \meta{color} or what it specifies by the
% combination with the optional \meta{mode}.  The command
% \!\normalcolseprulecolor! declares the color of rules is what
% \!\normalcolor! specifies, i.e., black usually.  If the optional argument
% \meta{col} is given, these commands specifies the color of the rule in the
% gap following the column whose ordinal is \meta{col}, rather than all rules.
% 
% \begin{itemize}
% \item
% The rules are drawn if \LaTeX's typesetting parameter \!\columnseprule!
% for the rule width has non-zero value, e.g., 0.4\,|pt| to obey the
% standard rule thickness.  The rules are \emph{not} drawn on \pwstuff{},
% i.e., \Preenv{} and \postenv, \pwise{} floats or (\mgfnote{} or
% non-merged) \Scfnote{}s of course but also \mctext{}s.  Therefore, if a
% page has \mctext{}s, the rules are {\em broken} by them as shown in the
% red rule example below.
% \global\unitlength\@totalleftmargin
% \end{itemize}
% \end{description}
% 
% \columnseprule0.4pt\colseprulecolor{red}[1]\colseprulecolor{white}[0]
% \setcolumnwidth{\unitlength/0pt}
% \begin{paracol}{3}\switchcolumn\noindent 
% This is a left column paragraph preceding a \mctext.  Of cource the rule
% separating this and the next column starts from the top of this paragraph.
% \switchcolumn\noindent
% This is a right column paragraph preceding a \mctext{} given by the
% \!\switchcolumn!|*| at its end.
% \switchcolumn[1]*[\subsubsection*{\hbox to\unitlength{}
% An Example of Spanning Text Given by \cs{subsubsection}|*| Command}]
% Since we have a \mctext{} above, the red rule separating this and the next
% column is broken by the text.
% \switchcolumn
% It is also natural that the rule separating this and the previous column is
% terminated at the end of this \env{paracol} environment.
% \end{paracol}
% \columnseprule0pt\columnratio{}
% 
% \begin{description}
% \Item[]\mbox{}
% \begin{itemize}
% \Item
% To give a color to rules correctly, you need to load \textsf{color}
% package or its relative (e.g., \textsf{xcolor}) which the implementation
% of coloring in \textsf{paracol} relies on.
% 
% \item
% Once you give a color to rules in a specific gap with the optional
% \meta{col}, another \!\colseprulecolor! or \!\normalcolseprulecolor!
% without \meta{col} does \emph{not} change the color of the rule in the
% gap.
% \end{itemize}
% \end{description}
% 
% 
% 
% \KeepSpace{7}
% \subsection{Commands for Background Painting}
% \label{sec:ref-bgpaint}
% \changes{v1.3-3}{2013/09/17}
%	{Add the sub-section ``Commands for Background Painting.}
% 
% \begin{description}
% \item[\Midx{\!\backgroundcolor!}\marg{region}\oarg{mode}\marg{color}]
%     \mbox{}\par
% \Item[\Midx{\!\backgroundcolor!}
%     \Arg{\meta{region}$|(|x_0|,|y_0|)|$}\oarg{mode}\marg{color}]
%     \mbox{}\par
% \Item[\Midx{\!\backgroundcolor!}
%     \Arg{\meta{region}$|(|x_0|,|y_0|)||(|x_1|,|y_1|)|$}
%     \oarg{mode}\marg{color}]
%     \mbox{}\par
% \changes{v1.3-3}{2013/09/17}
%	{Add description of \cs{backgroundcolor}.}
% 
% The command declares that {\em\Uidx\bgpaint} of \meta{region} is performed
% with \meta{color} or what it specifies by the combination of the optional
% \meta{mode}.  The \meta{region} whose \bground{} is painted is one of the
% following.
% 
% \begin{description}
% \item[|c|\rm(\textit{olumn})] for all columns, or particular one if
% \meta{region} is |c|\oarg{col} to specify its ordinal \meta{col}.
% 
% \item[|g|\rm(\textit{ap})] for all gaps between columns, or particular one
% if \meta{region} is |g|\oarg{col} to specify the ordinal \meta{col} of the
% column preceding the gap.
% 
% \item[|s|\rm(\textit{panning})] for \mctext{}s.
% 
% \item[|f|\rm(\textit{loat})] for \pwise{} floats.
% 
% \item[|n|\rm(\textit{ote})] for (\mgfnote{} or non-merged) \Scfnote{}s.
% 
% \item[|p|\rm(\textit{re/post})] for \Preenv{} and \postenv.
% 
% \item[|t|\rm(\textit{op})] for top margin.
% 
% \item[|b|\rm(\textit{ottom})] for bottom margin.
% 
% \item[|l|\rm(\textit{eft})] for left margin.
% 
% \item[|r|\rm(\textit{ight})] for right margin.
% \end{description}
% 
% In addition, capitals of the keys above, i.e., |C|, |G|, \ldots, |L|, are
% also legitimate for {\em under painting}.  For example, you may specify to
% paint the \bground{} of a region, say top margin, by two
% \!\backgroundcolor! with |t| and |T| and with different color arranging the
% size of the region of either |t| or |T| (or both of them) by the
% \emph{\bgext} option shown below.
% 
% The optional $|(|x_0|,|y_0|)|$ is to enlarge the region to be painted
% shifting its left-top and right-bottom corner outside by
% the dimension $x_0$ horizontally and $y_0$ vertically, or to shrink it
% with negative dimensions.  This {\em\Uidx\bgext} can be asymmetric giving
% another optional $|(|x_1|,|y_1|)|$ so that it acts on the right-bottom
% corner while let $|(|x_0|,|y_0|)|$ shift only the left-top corner.
% Moreover, you may make each \bgext{} {\em infinite} by giving 10000\,|pt|
% (about 3.5\,m) to $x_0$, $y_0$, $x_1$ and/or $y_1$ so that the
% corresponding region edge is shifted to the paper edge.  Furthermore, this
% {\em\Uidx\bginfext{}} can be terminated at the point $\alpha$ inside the
% corresponding paper edge by giving $10000\,|pt|-\alpha$
% ($\alpha\leq1000\,|pt|$) to an extension parameter $x_0$, etc.
% 
% \begin{itemize}
% \item
% A region whose color is not specified is not painted and thus left blank
% (or kept as painted by \!\pagecolor! if you specify it).
% 
% \item
% Under-painting of columns and gaps by |C| and |G| is made for regions
% different from those over-painting |c| and |g|.  That is, under-painting
% is done ignoring all \pwstuff{} and thus the height of the regions is
% always $\!\textheight!+\!\maxdepth!$.  On the other hand, over-painting is
% only for chunks shrunk or separated by \pwstuff.
% 
% \item
% You may exploit the following painting order, where $x_i$
% is the $i$-th \mctext{} ($x\in\{|s|,|S|\}$) or $i$-th chunk followed by
% the $i$-th \mctext, $m$ and $n$ is the number of \mctext{}s and columns in
% a page respectively, to overlay a preceding region with a succeeding
% region, if your \emph{printer} allows overlaid color painting.
% 
% \begin{eqnarray*}
% |T|&\to&|B|\to|L|\to|R|
%     \to|G[|0|]|\to\cdots\to|G[|n{-}1|]|\to|C[|0|]|\to\cdots\to|C[|n{-}1|]|\\
% &\to&|t|\to|b|\to|l|\to|r|\to|N|\to|n|\to\{|F|,|P|\}\to\{|f|,|p|\}
%  \to|S|_1\to\cdots\to|S|_m\\
% &\to&|g|_1|[|0|]|\to\cdots|g|_1|[|n{-}2|]|\to
%      |c|_1|[|0|]|\to\cdots|c|_1|[|n{-}1|]|\to|s|_1\\
% &\to&\cdots\\
% &\to&|g|_m|[|0|]|\to\cdots|g|_m|[|n{-}2|]|\to
%      |c|_m|[|0|]|\to\cdots|c|_m|[|n{-}1|]|\to|s|_m\\
% &\to&|g|_{m+1}|[|0|]|\to\cdots|g|_{m+1}|[|n{-}2|]|\to
%      |c|_{m+1}|[|0|]|\to\cdots|c|_m|[|n{-}1|]|
% \end{eqnarray*}
% 
% \item
% If you specify |b| feature by \!\twosided!, \bgpaint{} is
% {\em\Uidx\mirror{}ed} in even-numbered pages so that |l| and |L| mean
% right margin, |r| and |R| mean left margin, and asymmetric extensions are
% applied to right-top and left-bottom corners.
% 
% \item
% To give a color for \bgpaint{} correctly, you need to load \textsf{color}
% package or its relative (e.g., \textsf{xcolor}) which the implementation
% of coloring in \textsf{paracol} relies on.
% 
% \item
% To paint margins and regions having infinite extension correctly, the
% parameters \!\paperwidth! and \!\paperheight! should be set properly by,
% for example, a paper selection option of \!\documentclass!.
% 
% \item
% Section~\ref{sec:bgpaint} shows examples of \bgpaint{} to give you more
% intutive explanations of \!\backgroundcolor! and its region specifications.
% \end{itemize}
% 
% 
% 
% \item[\Midx{\!\nobackgroundcolor!}\marg{region}]\mbox{}
% \Item[\Midx{\!\resetbackgroundcolor!}]\mbox{}\par
% \changes{v1.3-3}{2013/09/17}
%	{Add description of \cs{nobackgroundcolor} and
%	 \cs{resetbackgroundcolor}.}
% 
% The command \!\nobackgroundcolor! declares that the \bground{} of
% \meta{region} is not painted, where \meta{region} is one of legitimate
% region specifiers of \!\backgroundcolor!.  The command
% \!\resetbackgroundcolor! declares no regions are painted and thus gives
% you the default state.
% 
% \begin{itemize}
% \item
% If you specified the \bgpaint{} of |c|\oarg{col} or |g|\oarg{col} by
% \!\backgroundcolor!, the painting is \emph{not} canceled by
% \!\nobackgroundcolor! with |c| or |g| but without \oarg{col}.  Similarly,
% once you made declarations of \bgpaint{} of both |c| and |c|\oarg{col}
% (resp.\ |g| and |g|\oarg{col}), \!\nobackgroundcolor! with |c|\oarg{col}
% (resp.\ |g|\oarg{col}) cancels the painting of |c|\oarg{col} (resp.\
% |g|\oarg{col}) but the region will still be painted by the color you gave
% to |c| (resp.\ |g|).
% \end{itemize}
% 
% 
% 
% \item[\Midx{\!\pagerim!}]\mbox{}\par
% \changes{v1.3-3}{2013/09/17}
%	{Add description of \cs{pagerim}.}
% 
% This is a (kind of) \emph{length command}\footnote{
% 
% In reality, it is a \cs{dimen} register rather than a \cs{skip} register.}
% 
% to have the width of the \emph{rim} area placed at each paper edge to 
% inhibit \bgpaint{} in the area.  That is, the inner edges of the area are
% considered as virtual paper edges to block painting of all margins and
% regions having \bginfext{} to the edges, for example in order to
% avoid printing troubles caused by painting the rim area too close to the
% real paper edges.  The default value of \!\pagerim! is 0 to allow paint
% anywhere in a paper.
% \end{description}
% 
% 
% 
% \subsection{Control of Contents Output}
% \label{sec:ref-contents}
% 
% \begin{description}
% \item[\Midx{\!\addcontentsonly!}\marg{file}\marg{col}]\mbox{}\par
% The command inhibits the output of contents information to
% $\meta{file}\in\{|toc|,|lof|,|lot|\}$ from columns other than \meta{col}.
% 
% \begin{itemize}
% \item
% For example, this manual has \!\addcontentsonly!|{toc}{0}| to
% inhibit the contents information output from \!\subsection! commands
% in the right column in Section~\ref{sec:env} and~\ref{sec:float},
% or the table should have duplicated entries of sub-sections.
% 
% \item
% It must be $\meta{file}\in\{|toc|,|lof|,|lot|\}$, or you will have an
% error message of illegal type of contents file.
% \end{itemize}
% \end{description}
% 
% 
% 
% \subsection{Page Flushing Commands}
% \label{sec:ref-flush}
% 
% \begin{description}
% \item[\Midx{\!\flushpage!}]\mbox{}\par
% The command flushes pages up to the {\em\Uidx\tpage} in which the \lcolumn{}
% resides.  Deferred floats which can be put in the pages up to the \tpage{}
% are also flushed.
% 
% \item[\Midx{\!\clearpage!}]\mbox{}\par
% The command does what \!\flushpage! does and then flushes all floats still
% deferred if any.  The deferred float flushing beyond the \tpage{} takes
% place at first for \cwise{} ones creating \fcolumn{}s for them, and
% then for \pwise{} ones creating {\em\Uidx\fpage{}s} only with
% \pwise{} floats, as \LaTeX's \!\clearpage! does outside \env{paracol}
% environment.
% 
% \item[\Midx{\!\cleardoublepage!}]\mbox{}\par
% \changes{v1.3-5}{2013/09/17}
%	{Add description of \cs{cleardoublepage}.}
% The command does what \LaTeX's \!\cleardoublepage! does outside
% \env{paracol}.  That is, it does \!\clearpage! always and then leaves a
% blank page if it is even-numbered and two-sided |p|(age) feature is
% enabled by |twoside| option of \!\documentclass! or \Paracol's own
% \!\twosided! command shown in Section~\ref{sec:ref-twoside}.
% 
% \begin{itemize}
% \item
% This command is equivalent to \!\clearpage! in \env{paracol} environments
% for \npaired{} \parapag{}ing because \!\clearpage! flushes \emph{both}
% left and right \parapag{}es.
% \end{itemize}
% \end{description}
\endinput
