summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/source/latex/paracol/ref.dtx
blob: d5e29741d5a63da298ba75df62fb3fefa93ebec0 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
% \mergedfootnotes
% \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 single-columned footnotes merged with
%	 pre-environment staff.}
% 
% 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 merged footnotes setting 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 kind 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.  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 page-wise 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 occurence.  On the second and succeeding
% occurences 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 column
% commonly have the value at \beginparacol.
% 
% \item
% \changes{v1.2-2}{2013/05/11}
% 	{Add a footnote mentioning single-columned 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
% column-wise floats and the most advanced {\em\Uidx\lcolumn} at
% \Endparacol{} has neither of footnotes\footnote{
% 
% With merged-footnote setting 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 column-wise 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
% page-wise floats given in the environment are considered as deferred
% (single-) column-wise 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}
% \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 ingonred.  Therefore, even if you specify \!\flushbottom!,
% the page is typeset as if \!\raggedbottom! were specified.
% 
% \item
% After a \sync{}ation point is set, top floats will not be put in the page
% having the point any more and thus will be deferred to the next or
% a succeeding page.
% \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 occurences which don't switch to the column 1
% (i.e., right column if two-columned) but stay in the leftmost column 0.
% More precicesly, \!\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{} commnad\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{} commnad\slash environment is given.
% \end{itemize}
% 
% 
% 
% \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}
% \end{description}
% 
% 
% 
% \subsection{Commands for Column Width, Position and Color} 
% \label{sec:ref-columnratio}
% 
% \begin{description}
% \item[\Midx{\!\columnratio!}\Arg{$r_0,r_1,\cdots,r_k$}]\mbox{}\par
% \changes{v1.1}{2012/05/11}
% 	{Add description of \cs{columnratio}.}
% 
% 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*}
% 
% \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 ``Overful'' 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.
% \end{itemize}
% 
% 
% 
% \item[\Midx{\!\swapcolumninevenpages!}]\mbox{}
% \Item[\Midx{\!\noswapcolumninevenpages!}]\mbox{}\par
% \changes{v1.2-4}{2013/05/11}
% 	{Add description of \cs{[no]swapcolumninevenpages}.}
% 
% In a book with unbalanced parallel columns, sometimes it is preferable
% that, for example, wider columns are always \emph{inside} while narrower
% ones are \emph{outside}.  This {\em\Uidx\cswap} to \emph{print} columns in
% even pages in reverse order is enabled by \!\swapcolumninevenpages!.  The
% other command \!\noswapcolumninevenpages! disables this function to give
% the default setting.
% 
% \begin{itemize}
% \item
% The \cswap{} affects not only columns but also marginal notes and, more
% subtlely, the column to which \mctext{}s is put.  That is, with the natural
% ordering of column printing, column-0 accommodate \mctext{}s and its marginal
% notes go to left margin while those of other columns are placed at their
% right, but with reverse ordering the role of column-0 is delegated to
% column-$(n-1)$ in $n$-parallel-column typesetting.  Since the printing
% position of each column is decided \emph{after} the page number for columns
% are fixed, columns are placed always correctly.  As for marginal notes and
% \mctext{}s, however, we have to decide which column is the leftmost
% \emph{before} the page in which they reside is fixed.  Therefore, the
% \textsf{paracol} can misunderstand the page parity to misplace
% these items.  In particular, it is almost impossible to produce a good
% result when a \mctext{} crosses a page boundary to lie in two pages whose
% parities of course disagree.  Therefore, you are requested to insert
% \!\newpage! before the such stuff if you have weird results.
% 
% \item\label{pag:cswap}
% The commands have to be outside of \env{paracol} environments to decide
% the action in the environments following them.  If they appear in a
% \env{paracol} environment, you will have a warning message saying they are
% ignored.
% 
% \swapcolumninevenpages\columnratio{0.6}\columnsep0pt
% \begin{paracol}{2}
% \hfuzz2pt
% \item
% Here is an example of column swapping.  Since this page
% \pageref{pag:cswap} is even, this wider column-0 with roman font is placed
% in right side and thus inside at the begining, but now we are in a odd
% page in which this column is in left side.
% 
% \switchcolumn
% \item\it
% This narrower, outside and italicized column-1 is at first in left
% side but the page break has changed the position to the right.
% \end{paracol}
% \end{itemize}
% 
% 
% 
% \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
% specificatoin 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.
% 
% \noswapcolumninevenpages\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 colred black as \cs{normalcolor} specifies.}.
% \end{itemize}
% \end{description}
% 
% 
% 
% \subsection{Commands for Counters}
% \label{sec:ref-counter}
% 
% \begin{description}
% \item[\Midx{\!\globalcounter!}\marg{ctr}]\mbox{}\par
% The command declares that the counter \meta{ctr} is global to all columns.
% 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 inconsisent result, as you
% might have in ordinary \LaTeX{} documents.}.
% 
% \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{Single-Columned 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 single-columned footnotes.}
% 
% \begin{description}
% \item[\Midx{\!\singlecolumnfootnotes!}]\mbox{}
% \Item[\Midx{\!\mergedfootnotes!}]\mbox{}
% \Item[\Midx{\!\multicolumnfootnotes!}]\mbox{}\par
% The command \!\singlecolumnfootnotes! makes footnotes in \env{paracol}
% environments {\em\Uidx\scfnote} so that footnotes in all columns are
% gathered to be typeset spanning all columns, i.e., single-columned, and are
% put at the bottom of the page in which they appear.  The command
% \!\mergedfootnotes! also makes footnotes \scfnote{} and \emph{merges}
% 
% \Uidx{\Index{merged footnote}}
% 
% them with footnotes in outside of the environment but in the same page,
% i.e., those in \Preenv{} and \postenv{}, while with
% \!\singlecolumnfootnotes! \Preenv{} footnotes are put above multi-columns
% and those in the \lpage{} of the environment is put below multi-columns
% to separate single- and multi-column stuff.  The command
% \!\multicolumnfootnotes! is to choose the default {\em\Uidx\mcfnote}
% footnote typesetting, i.e., footnotes in each column are put below the
% column itself and are separated from \Preenv{} and \Postenv{} footnotes.
% 
% \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
% multi-columned one produced by a trick with \cs{footnotemark} and
% \cs{footnotetext} in different \env{paracol} environments.}.
% 
% \item
% In any styles of footnote typesetting, 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
% The commands \!\singlecolumnfootnotes! and \!\mergedfootnotes! make
% \counter{footnote} counter global and perform \!\fncounteradjustment!
% shown below inside them.  The command \!\multicolumnfoot~notes! does
% the opperations oppositely, i.e., localizes \counter{footnote} and does
% \!\nofncounteradjustment!.  Though these settings are usually appropriate
% for each footnote typesetting but you can override them by explictly using
% commands like \!\localcounter!|{footnote}|.
% \end{itemize}
% 
% 
% 
% \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}.
% 
% 
% 
% \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 \!\singlecolumnfootnotes! and \!\mergedfootnotes! do
% \!\fncounteradjustment! and \!\multi~columnfootnotes! does
% \!\nofncounteradjustment! inside of them, you can override these settings
% by explicitly putting a counter adjustment command after a footnote
% typesetting command.
% 
% \item
% The effect of \!\fncounteradjustment! is shown in Section~\ref{sec:fnnp}.
% \end{itemize}
% \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}
% \ifx\ONLYDESCRIPTION\undefined
% \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.
% 
% \else
% \item
% For example, if this manual had the table of contents,
% \!\addcontentsonly!|{toc}{0}| should be specified to inhibit the contents
% information output from \!\subsection! commands in Section~\ref{sec:env}
% and~\ref{sec:float}, or the table should have duplicated entries of
% sub-sections.
% \fi
% 
% \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 column-wise ones creating \fcolumn{}s for them, and
% then for page-wise ones creating {\em\Uidx\fpage{}s} only with
% page-wise floats, as \LaTeX's \!\clearpage! does outside \env{paracol}
% environment.
% \end{description}
\endinput