galaaz 0.4.10 → 0.5.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +2048 -531
- data/Rakefile +3 -2
- data/bin/gknit +152 -6
- data/bin/gknit-draft +105 -0
- data/bin/gknit-draft.rb +28 -0
- data/bin/gknit_Rscript +127 -0
- data/bin/grun +27 -1
- data/bin/gstudio +47 -4
- data/bin/{gstudio.rb → gstudio_irb.rb} +0 -0
- data/bin/gstudio_pry.rb +7 -0
- data/blogs/galaaz_ggplot/galaaz_ggplot.html +10 -195
- data/blogs/galaaz_ggplot/galaaz_ggplot.md +404 -0
- data/blogs/galaaz_ggplot/galaaz_ggplot_files/figure-html/midwest_rb.png +0 -0
- data/blogs/galaaz_ggplot/galaaz_ggplot_files/figure-html/scatter_plot_rb.png +0 -0
- data/blogs/gknit/gknit.Rmd +5 -3
- data/blogs/gknit/gknit.pdf +0 -0
- data/blogs/gknit/lst.rds +0 -0
- data/blogs/manual/lst.rds +0 -0
- data/blogs/manual/manual.Rmd +826 -53
- data/blogs/manual/manual.html +2338 -695
- data/blogs/manual/manual.md +2032 -539
- data/blogs/manual/manual.pdf +0 -0
- data/blogs/manual/manual.tex +1804 -594
- data/blogs/manual/manual_files/figure-html/bubble-1.png +0 -0
- data/blogs/manual/manual_files/figure-html/diverging_bar.png +0 -0
- data/blogs/manual/manual_files/figure-latex/bubble-1.png +0 -0
- data/blogs/manual/manual_files/figure-latex/diverging_bar.pdf +0 -0
- data/blogs/manual/model.rb +41 -0
- data/blogs/nse_dplyr/nse_dplyr.Rmd +226 -73
- data/blogs/nse_dplyr/nse_dplyr.html +254 -336
- data/blogs/nse_dplyr/nse_dplyr.md +353 -158
- data/blogs/oh_my/oh_my.html +274 -386
- data/blogs/oh_my/oh_my.md +208 -205
- data/blogs/ruby_plot/ruby_plot.html +20 -205
- data/blogs/ruby_plot/ruby_plot.md +14 -15
- data/blogs/ruby_plot/ruby_plot_files/figure-html/dose_len.png +0 -0
- data/blogs/ruby_plot/ruby_plot_files/figure-html/facet_by_delivery.png +0 -0
- data/blogs/ruby_plot/ruby_plot_files/figure-html/facet_by_dose.png +0 -0
- data/blogs/ruby_plot/ruby_plot_files/figure-html/facets_by_delivery_color.png +0 -0
- data/blogs/ruby_plot/ruby_plot_files/figure-html/facets_by_delivery_color2.png +0 -0
- data/blogs/ruby_plot/ruby_plot_files/figure-html/facets_with_decorations.png +0 -0
- data/blogs/ruby_plot/ruby_plot_files/figure-html/facets_with_jitter.png +0 -0
- data/blogs/ruby_plot/ruby_plot_files/figure-html/facets_with_points.png +0 -0
- data/blogs/ruby_plot/ruby_plot_files/figure-html/final_box_plot.png +0 -0
- data/blogs/ruby_plot/ruby_plot_files/figure-html/final_violin_plot.png +0 -0
- data/blogs/ruby_plot/ruby_plot_files/figure-html/violin_with_jitter.png +0 -0
- data/examples/Bibliography/master.bib +50 -0
- data/examples/Bibliography/stats.bib +72 -0
- data/examples/islr/x_y_rnorm.jpg +0 -0
- data/examples/latex_templates/Test-acm_article/Makefile +16 -0
- data/examples/latex_templates/Test-acm_article/Test-acm_article.Rmd +65 -0
- data/examples/latex_templates/Test-acm_article/acm_proc_article-sp.cls +1670 -0
- data/examples/latex_templates/Test-acm_article/sensys-abstract.cls +703 -0
- data/examples/latex_templates/Test-acm_article/sigproc.bib +59 -0
- data/examples/latex_templates/Test-acs_article/Test-acs_article.Rmd +260 -0
- data/examples/latex_templates/Test-acs_article/Test-acs_article.pdf +0 -0
- data/examples/latex_templates/Test-acs_article/acs-Test-acs_article.bib +11 -0
- data/examples/latex_templates/Test-acs_article/acs-my_output.bib +11 -0
- data/examples/latex_templates/Test-acs_article/acstest.bib +17 -0
- data/examples/latex_templates/Test-aea_article/AEA.cls +1414 -0
- data/{blogs/gknit/marshal.dump → examples/latex_templates/Test-aea_article/BibFile.bib} +0 -0
- data/examples/latex_templates/Test-aea_article/Test-aea_article.Rmd +108 -0
- data/examples/latex_templates/Test-aea_article/Test-aea_article.pdf +0 -0
- data/examples/latex_templates/Test-aea_article/aea.bst +1269 -0
- data/examples/latex_templates/Test-aea_article/multicol.sty +853 -0
- data/examples/latex_templates/Test-aea_article/references.bib +0 -0
- data/examples/latex_templates/Test-aea_article/setspace.sty +546 -0
- data/examples/latex_templates/Test-amq_article/Test-amq_article.Rmd +256 -0
- data/examples/latex_templates/Test-amq_article/Test-amq_article.pdf +0 -0
- data/examples/latex_templates/Test-amq_article/Test-amq_article.pdfsync +3397 -0
- data/examples/latex_templates/Test-amq_article/pics/Figure2.pdf +0 -0
- data/examples/latex_templates/Test-ams_article/Test-ams_article.Rmd +215 -0
- data/examples/latex_templates/Test-ams_article/amstest.bib +436 -0
- data/examples/latex_templates/Test-asa_article/Test-asa_article.Rmd +153 -0
- data/examples/latex_templates/Test-asa_article/Test-asa_article.pdf +0 -0
- data/examples/latex_templates/Test-asa_article/agsm.bst +1353 -0
- data/examples/latex_templates/Test-asa_article/bibliography.bib +233 -0
- data/examples/latex_templates/Test-ieee_article/IEEEtran.bst +2409 -0
- data/examples/latex_templates/Test-ieee_article/IEEEtran.cls +6346 -0
- data/examples/latex_templates/Test-ieee_article/Test-ieee_article.Rmd +175 -0
- data/examples/latex_templates/Test-ieee_article/Test-ieee_article.pdf +0 -0
- data/examples/latex_templates/Test-ieee_article/mybibfile.bib +20 -0
- data/examples/latex_templates/Test-rjournal_article/RJournal.sty +335 -0
- data/examples/latex_templates/Test-rjournal_article/RJreferences.bib +18 -0
- data/examples/latex_templates/Test-rjournal_article/RJwrapper.pdf +0 -0
- data/examples/latex_templates/Test-rjournal_article/Test-rjournal_article.Rmd +52 -0
- data/examples/latex_templates/Test-springer_article/Test-springer_article.Rmd +65 -0
- data/examples/latex_templates/Test-springer_article/Test-springer_article.pdf +0 -0
- data/examples/latex_templates/Test-springer_article/bibliography.bib +26 -0
- data/examples/latex_templates/Test-springer_article/spbasic.bst +1658 -0
- data/examples/latex_templates/Test-springer_article/spmpsci.bst +1512 -0
- data/examples/latex_templates/Test-springer_article/spphys.bst +1443 -0
- data/examples/latex_templates/Test-springer_article/svglov3.clo +113 -0
- data/examples/latex_templates/Test-springer_article/svjour3.cls +1431 -0
- data/examples/rmarkdown/svm-rmarkdown-anon-ms-example/svm-rmarkdown-anon-ms-example.Rmd +73 -0
- data/examples/rmarkdown/svm-rmarkdown-anon-ms-example/svm-rmarkdown-anon-ms-example.pdf +0 -0
- data/examples/rmarkdown/svm-rmarkdown-article-example/svm-rmarkdown-article-example.Rmd +382 -0
- data/examples/rmarkdown/svm-rmarkdown-article-example/svm-rmarkdown-article-example.pdf +0 -0
- data/examples/rmarkdown/svm-rmarkdown-beamer-example/svm-rmarkdown-beamer-example.Rmd +164 -0
- data/examples/rmarkdown/svm-rmarkdown-beamer-example/svm-rmarkdown-beamer-example.pdf +0 -0
- data/examples/rmarkdown/svm-rmarkdown-cv/svm-rmarkdown-cv.Rmd +92 -0
- data/examples/rmarkdown/svm-rmarkdown-cv/svm-rmarkdown-cv.pdf +0 -0
- data/examples/rmarkdown/svm-rmarkdown-syllabus-example/attend-grade-relationships.csv +482 -0
- data/examples/rmarkdown/svm-rmarkdown-syllabus-example/svm-rmarkdown-syllabus-example.Rmd +280 -0
- data/examples/rmarkdown/svm-rmarkdown-syllabus-example/svm-rmarkdown-syllabus-example.pdf +0 -0
- data/examples/rmarkdown/svm-xaringan-example/svm-xaringan-example.Rmd +386 -0
- data/lib/R_interface/r.rb +1 -1
- data/lib/R_interface/r_libs.R +1 -1
- data/lib/R_interface/r_methods.rb +10 -0
- data/lib/R_interface/rpkg.rb +1 -0
- data/lib/R_interface/rsupport.rb +4 -6
- data/lib/gknit.rb +2 -0
- data/lib/gknit/draft.rb +105 -0
- data/lib/gknit/knitr_engine.rb +0 -33
- data/lib/util/exec_ruby.rb +1 -27
- data/specs/figures/bg.jpeg +0 -0
- data/specs/figures/bg.png +0 -0
- data/specs/figures/dose_len.png +0 -0
- data/specs/figures/no_args.jpeg +0 -0
- data/specs/figures/no_args.png +0 -0
- data/specs/figures/width_height.jpeg +0 -0
- data/specs/figures/width_height.png +0 -0
- data/specs/figures/width_height_units1.jpeg +0 -0
- data/specs/figures/width_height_units1.png +0 -0
- data/specs/figures/width_height_units2.jpeg +0 -0
- data/specs/figures/width_height_units2.png +0 -0
- data/specs/r_dataframe.spec.rb +11 -11
- data/specs/ruby_expression.spec.rb +1 -0
- data/specs/tmp.rb +41 -20
- data/version.rb +1 -1
- metadata +73 -35
- data/blogs/galaaz_ggplot/galaaz_ggplot.aux +0 -41
- data/blogs/galaaz_ggplot/galaaz_ggplot.out +0 -10
- data/blogs/galaaz_ggplot/galaaz_ggplot_files/figure-latex/midwest_rb.pdf +0 -0
- data/blogs/galaaz_ggplot/galaaz_ggplot_files/figure-latex/scatter_plot_rb.pdf +0 -0
- data/blogs/gknit/gknit.md +0 -1430
- data/blogs/gknit/gknit.tex +0 -1358
- data/blogs/manual/graph.rb +0 -29
- data/blogs/nse_dplyr/nse_dplyr.tex +0 -1373
- data/blogs/ruby_plot/ruby_plot.Rmd_external_figs +0 -662
- data/blogs/ruby_plot/ruby_plot_files/figure-html/dose_len.svg +0 -57
- data/blogs/ruby_plot/ruby_plot_files/figure-html/facet_by_delivery.svg +0 -106
- data/blogs/ruby_plot/ruby_plot_files/figure-html/facet_by_dose.svg +0 -110
- data/blogs/ruby_plot/ruby_plot_files/figure-html/facets_by_delivery_color.svg +0 -174
- data/blogs/ruby_plot/ruby_plot_files/figure-html/facets_by_delivery_color2.svg +0 -236
- data/blogs/ruby_plot/ruby_plot_files/figure-html/facets_with_jitter.svg +0 -296
- data/blogs/ruby_plot/ruby_plot_files/figure-html/facets_with_points.svg +0 -236
- data/blogs/ruby_plot/ruby_plot_files/figure-html/final_box_plot.svg +0 -218
- data/blogs/ruby_plot/ruby_plot_files/figure-html/final_violin_plot.svg +0 -128
- data/blogs/ruby_plot/ruby_plot_files/figure-html/violin_with_jitter.svg +0 -150
- data/blogs/ruby_plot/ruby_plot_files/figure-latex/dose_len.png +0 -0
- data/blogs/ruby_plot/ruby_plot_files/figure-latex/facet_by_delivery.png +0 -0
- data/blogs/ruby_plot/ruby_plot_files/figure-latex/facet_by_dose.png +0 -0
- data/blogs/ruby_plot/ruby_plot_files/figure-latex/facets_by_delivery_color.png +0 -0
- data/blogs/ruby_plot/ruby_plot_files/figure-latex/facets_by_delivery_color2.png +0 -0
- data/blogs/ruby_plot/ruby_plot_files/figure-latex/facets_with_decorations.png +0 -0
- data/blogs/ruby_plot/ruby_plot_files/figure-latex/facets_with_jitter.png +0 -0
- data/blogs/ruby_plot/ruby_plot_files/figure-latex/facets_with_points.png +0 -0
- data/blogs/ruby_plot/ruby_plot_files/figure-latex/final_box_plot.png +0 -0
- data/blogs/ruby_plot/ruby_plot_files/figure-latex/final_violin_plot.png +0 -0
- data/blogs/ruby_plot/ruby_plot_files/figure-latex/violin_with_jitter.png +0 -0
- data/examples/paper/paper.rb +0 -36
@@ -0,0 +1,853 @@
|
|
1
|
+
%%
|
2
|
+
%% This is file `multicol.sty',
|
3
|
+
%% generated with the docstrip utility.
|
4
|
+
%%
|
5
|
+
%% The original source files were:
|
6
|
+
%%
|
7
|
+
%% multicol.dtx (with options: `package,badness,check,marktrace,nobalance,colbreak')
|
8
|
+
%%
|
9
|
+
%% This is a generated file.
|
10
|
+
%%
|
11
|
+
%% Copyright 1993 1994 1995 1996 1997 1998 1999 2000 2001 2002 2003
|
12
|
+
%% The LaTeX3 Project and any individual authors listed elsewhere
|
13
|
+
%% in this file.
|
14
|
+
%%
|
15
|
+
%% This file was generated from file(s) of the Standard LaTeX `Tools Bundle'.
|
16
|
+
%% --------------------------------------------------------------------------
|
17
|
+
%%
|
18
|
+
%% It may be distributed and/or modified under the
|
19
|
+
%% conditions of the LaTeX Project Public License, either version 1.3
|
20
|
+
%% of this license or (at your option) any later version.
|
21
|
+
%% The latest version of this license is in
|
22
|
+
%% http://www.latex-project.org/lppl.txt
|
23
|
+
%% and version 1.3 or later is part of all distributions of LaTeX
|
24
|
+
%% version 2003/12/01 or later.
|
25
|
+
%%
|
26
|
+
%% This file may only be distributed together with a copy of the LaTeX
|
27
|
+
%% `Tools Bundle'. You may however distribute the LaTeX `Tools Bundle'
|
28
|
+
%% without such generated files.
|
29
|
+
%%
|
30
|
+
%% The list of all files belonging to the LaTeX `Tools Bundle' is
|
31
|
+
%% given in the file `manifest.txt'.
|
32
|
+
%%
|
33
|
+
%% Package `multicol' to use with LaTeX2e
|
34
|
+
%% Copyright 1989-2003 Frank Mittelbach
|
35
|
+
%%
|
36
|
+
%% In addition to the terms of LPPL any distributed version
|
37
|
+
%% (unchanged or modified) of multicol has to keep the statement
|
38
|
+
%% about the moral obligation for using multicol. In case of major
|
39
|
+
%% changes where this would not be appropriate the author of the
|
40
|
+
%% changed version should contact the copyright holder.
|
41
|
+
%%
|
42
|
+
%%
|
43
|
+
%% Moral obligation for using multicol:
|
44
|
+
%% ------------------------------------
|
45
|
+
%%
|
46
|
+
%% Users of multicol who wish to include or use multicol or a modified
|
47
|
+
%% version in a proprietary and commercially market product are asked
|
48
|
+
%% under certain conditions (see below) for the payment of a license
|
49
|
+
%% fee. The size of this fee is to be determined, in each instance,
|
50
|
+
%% by the commercial user, depending on his/her judgment of the value of
|
51
|
+
%% multicol for his/her product.
|
52
|
+
%%
|
53
|
+
%%
|
54
|
+
%% The conditions for this are as follows:
|
55
|
+
%%
|
56
|
+
%% The producer of a proprietary and commercially market product
|
57
|
+
%% that involves typesetting using multicol is asked to determine
|
58
|
+
%% the value of a license fee for using multicol if
|
59
|
+
%%
|
60
|
+
%% - the product is a document and the producer has decided to
|
61
|
+
%% include multicol to typeset (parts of) the document or has
|
62
|
+
%% directed the author of the document to include multicol (for
|
63
|
+
%% example, by providing a class file to be used by the author)
|
64
|
+
%%
|
65
|
+
%% - the product is a LaTeX class or package that includes multicol
|
66
|
+
%%
|
67
|
+
%%
|
68
|
+
%% There is no moral obligation in case
|
69
|
+
%%
|
70
|
+
%% - the product is a document but producer has not directed
|
71
|
+
%% the author to include multicol (in that case the moral obligation
|
72
|
+
%% lies with the author of the document)
|
73
|
+
%%
|
74
|
+
%% - the product does not involve typesetting, e.g., consists, for
|
75
|
+
%% example, of distributing multicol and its documentation.
|
76
|
+
%%
|
77
|
+
%% - the product is not proprietary, i.e., is made available as free
|
78
|
+
%% software itself (which doesn't prohibit its commercial marketing)
|
79
|
+
%%
|
80
|
+
%% - multicol is used for non-commercial purposes
|
81
|
+
%%
|
82
|
+
%%
|
83
|
+
%% Determinating a license fee might result in a license fee of zero
|
84
|
+
%% (i.e., no payment) in case a producer has determined that the use
|
85
|
+
%% of multicol has no enhancing effect on the product. This is a
|
86
|
+
%% plausible scenario, i.e., in the above two cases the producer is
|
87
|
+
%% only asked to evaluate the value of multicol for the product
|
88
|
+
%% not for the payment of a license fee per se (which might or might
|
89
|
+
%% not follow from this evaluation).
|
90
|
+
%%
|
91
|
+
%% The license fee, if any, can be payed either to the LaTeX3 fund
|
92
|
+
%% (see ltx3info.txt in the base LaTeX distribution) or to the author of
|
93
|
+
%% the program who can be contacted at
|
94
|
+
%%
|
95
|
+
%% Frank.Mittelbach@latex-project.org
|
96
|
+
%%
|
97
|
+
\NeedsTeXFormat{LaTeX2e}[1997/12/01]
|
98
|
+
\ProvidesPackage{multicol}
|
99
|
+
[2004/02/14 v1.6e multicolumn formatting (FMi)]
|
100
|
+
%% \CheckSum{1561}
|
101
|
+
%% \CharacterTable
|
102
|
+
%% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
|
103
|
+
%% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
|
104
|
+
%% Digits \0\1\2\3\4\5\6\7\8\9
|
105
|
+
%% Exclamation \! Double quote \" Hash (number) \#
|
106
|
+
%% Dollar \$ Percent \% Ampersand \&
|
107
|
+
%% Acute accent \' Left paren \( Right paren \)
|
108
|
+
%% Asterisk \* Plus \+ Comma \,
|
109
|
+
%% Minus \- Point \. Solidus \/
|
110
|
+
%% Colon \: Semicolon \; Less than \<
|
111
|
+
%% Equals \= Greater than \> Question mark \?
|
112
|
+
%% Commercial at \@ Left bracket \[ Backslash \\
|
113
|
+
%% Right bracket \] Circumflex \^ Underscore \_
|
114
|
+
%% Grave accent \` Left brace \{ Vertical bar \|
|
115
|
+
%% Right brace \} Tilde \~}
|
116
|
+
%%
|
117
|
+
\DeclareOption{twocolumn}
|
118
|
+
{\PackageWarning{multicol}{May not work
|
119
|
+
with the twocolumn option}}
|
120
|
+
\newcount\c@tracingmulticols
|
121
|
+
\DeclareOption{errorshow}
|
122
|
+
{\c@tracingmulticols\z@}
|
123
|
+
\DeclareOption{infoshow}
|
124
|
+
{\c@tracingmulticols\@ne}
|
125
|
+
\DeclareOption{balancingshow}
|
126
|
+
{\c@tracingmulticols\tw@}
|
127
|
+
\DeclareOption{markshow}
|
128
|
+
{\c@tracingmulticols\thr@@}
|
129
|
+
\DeclareOption{debugshow}
|
130
|
+
{\c@tracingmulticols5\relax}
|
131
|
+
\let\mc@gridwarn\maxdimen
|
132
|
+
\DeclareOption{grid}{\def\mc@gridwarn{\maxdepth}}
|
133
|
+
\ProcessOptions
|
134
|
+
\def\multicols#1{\col@number#1\relax
|
135
|
+
\ifnum\col@number<\tw@
|
136
|
+
\PackageWarning{multicol}%
|
137
|
+
{Using `\number\col@number'
|
138
|
+
columns doesn't seem a good idea.^^J
|
139
|
+
I therefore use two columns instead}%
|
140
|
+
\col@number\tw@ \fi
|
141
|
+
\ifnum\col@number>10
|
142
|
+
\PackageError{multicol}%
|
143
|
+
{Too many columns}%
|
144
|
+
{Current implementation doesn't
|
145
|
+
support more than 10 columns.%
|
146
|
+
\MessageBreak
|
147
|
+
I therefore use 10 columns instead}%
|
148
|
+
\col@number10 \fi
|
149
|
+
\ifx\@footnotetext\mult@footnotetext\else
|
150
|
+
\let\orig@footnotetext\@footnotetext
|
151
|
+
\let\@footnotetext\mult@footnotetext
|
152
|
+
\fi
|
153
|
+
\@ifnextchar[\mult@cols{\mult@cols[]}}
|
154
|
+
\long\def\mult@footnotetext#1{\begingroup
|
155
|
+
\columnwidth\textwidth
|
156
|
+
\orig@footnotetext{#1}\endgroup}
|
157
|
+
\def\mult@cols[#1]{\@ifnextchar[%
|
158
|
+
{\mult@@cols{#1}}%
|
159
|
+
{\mult@@cols{#1}[\premulticols]}}
|
160
|
+
\def\mult@@cols#1[#2]{%
|
161
|
+
\par
|
162
|
+
\ifinner \@boxedmulticolstrue
|
163
|
+
\else
|
164
|
+
\ifnum \doublecol@number>\z@
|
165
|
+
\@boxedmulticolstrue
|
166
|
+
\fi
|
167
|
+
\fi
|
168
|
+
\mult@info\z@
|
169
|
+
{Starting environment with
|
170
|
+
\the\col@number\space columns%
|
171
|
+
\if@boxedmulticols\MessageBreak
|
172
|
+
(boxed mode)\fi
|
173
|
+
}%
|
174
|
+
\enough@room{#2}%
|
175
|
+
#1\par\addvspace\multicolsep
|
176
|
+
\ifdim \prevdepth = -\@m\p@
|
177
|
+
\else
|
178
|
+
\@tempcnta\prevdepth
|
179
|
+
\@tempcntb\baselineskip
|
180
|
+
\divide\@tempcnta\@tempcntb
|
181
|
+
\advance\@tempcnta\@ne
|
182
|
+
\dimen@\prevdepth
|
183
|
+
\advance\dimen@ -\@tempcnta\baselineskip
|
184
|
+
\advance\dimen@ \topskip
|
185
|
+
\kern-\dimen@
|
186
|
+
\fi
|
187
|
+
\begingroup
|
188
|
+
\prepare@multicols
|
189
|
+
\if@boxedmulticols
|
190
|
+
\setbox\mult@box\vbox\bgroup
|
191
|
+
\fi
|
192
|
+
\ignorespaces}
|
193
|
+
\newif\if@boxedmulticols
|
194
|
+
\@boxedmulticolsfalse
|
195
|
+
\newbox\mult@box
|
196
|
+
\def\enough@room#1{%
|
197
|
+
\if@boxedmulticols\else
|
198
|
+
\par
|
199
|
+
\bgroup\@nobreakfalse\addpenalty\z@\egroup
|
200
|
+
\page@free \pagegoal
|
201
|
+
\advance \page@free -\pagetotal
|
202
|
+
\@tempskipa#1\relax
|
203
|
+
\mult@info\z@
|
204
|
+
{Current page:\MessageBreak
|
205
|
+
height=%
|
206
|
+
\the\pagegoal: used \the\pagetotal
|
207
|
+
\space -> free=\the\page@free
|
208
|
+
\MessageBreak
|
209
|
+
needed \the\@tempskipa
|
210
|
+
\space(for #1)}%
|
211
|
+
\ifdim \page@free <#1\newpage \fi
|
212
|
+
\fi}
|
213
|
+
\def\prepare@multicols{%
|
214
|
+
\multicol@leftmargin\@totalleftmargin
|
215
|
+
\@totalleftmargin\z@
|
216
|
+
\parshape\z@
|
217
|
+
\doublecol@number\col@number
|
218
|
+
\multiply\doublecol@number\tw@
|
219
|
+
\advance\doublecol@number\mult@rightbox
|
220
|
+
\if@boxedmulticols
|
221
|
+
\let\l@kept@firstmark\kept@firstmark
|
222
|
+
\let\l@kept@botmark\kept@botmark
|
223
|
+
\global\let\kept@firstmark\@empty
|
224
|
+
\global\let\kept@botmark\@empty
|
225
|
+
\else
|
226
|
+
\nointerlineskip {\topskip\z@\null}%
|
227
|
+
\output{%
|
228
|
+
\global\setbox\partial@page\vbox
|
229
|
+
{%
|
230
|
+
\ifvoid\partial@page\else
|
231
|
+
\PackageError{multicol}%
|
232
|
+
{Error saving partial page}%
|
233
|
+
{The part of the page before
|
234
|
+
the multicols environment was
|
235
|
+
nearly full with^^Jthe result
|
236
|
+
that starting the environment
|
237
|
+
will produce an overfull
|
238
|
+
page. Some^^Jtext may be lost!
|
239
|
+
Please increase \premulticols
|
240
|
+
either generally or for this%
|
241
|
+
^^Jenvironment by specifying a
|
242
|
+
suitable value in the second
|
243
|
+
optional argument to^^Jthe
|
244
|
+
multicols environment.}
|
245
|
+
\unvbox\partial@page
|
246
|
+
\box\last@line
|
247
|
+
\fi
|
248
|
+
\unvbox\@cclv
|
249
|
+
\global\setbox\last@line\lastbox
|
250
|
+
}%
|
251
|
+
\prep@keptmarks
|
252
|
+
\global\let\kept@topmark\firstmark
|
253
|
+
}\eject
|
254
|
+
\advance\@colroom-\ht\partial@page
|
255
|
+
\set@mult@vsize\relax
|
256
|
+
\output{\multi@column@out}%
|
257
|
+
\init@mult@footins
|
258
|
+
\reinsert@footnotes
|
259
|
+
\fi
|
260
|
+
\vbadness\@Mi \hbadness5000
|
261
|
+
\tolerance\multicoltolerance
|
262
|
+
\pretolerance\multicolpretolerance
|
263
|
+
\setemergencystretch\col@number\hsize
|
264
|
+
\set@floatcmds
|
265
|
+
\advance\baselineskip\multicolbaselineskip
|
266
|
+
\hsize\linewidth \advance\hsize\columnsep
|
267
|
+
\advance\hsize-\col@number\columnsep
|
268
|
+
\divide\hsize\col@number
|
269
|
+
\full@width\linewidth
|
270
|
+
\linewidth\hsize
|
271
|
+
\columnwidth\hsize
|
272
|
+
}
|
273
|
+
\def\init@mult@footins{%
|
274
|
+
\multiply\count\footins\col@number
|
275
|
+
\multiply\skip \footins\col@number
|
276
|
+
}
|
277
|
+
\def\set@mult@vsize#1{%
|
278
|
+
\vsize\@colroom
|
279
|
+
\@tempdima\baselineskip
|
280
|
+
\advance\@tempdima-\topskip
|
281
|
+
\advance\vsize\@tempdima
|
282
|
+
\vsize\col@number\vsize
|
283
|
+
\advance\vsize-\@tempdima
|
284
|
+
\advance\vsize\col@number\baselineskip
|
285
|
+
#1\advance\vsize
|
286
|
+
\c@collectmore\baselineskip}
|
287
|
+
\newdimen\multicol@leftmargin
|
288
|
+
\def\endmulticols{\par
|
289
|
+
\if@boxedmulticols
|
290
|
+
\egroup
|
291
|
+
\balance@columns
|
292
|
+
\return@nonemptymark{first}%
|
293
|
+
\kept@firstmark
|
294
|
+
\return@nonemptymark{bot}%
|
295
|
+
\kept@botmark
|
296
|
+
\page@sofar
|
297
|
+
\global\let\kept@firstmark
|
298
|
+
\l@kept@firstmark
|
299
|
+
\global\let\kept@botmark
|
300
|
+
\l@kept@botmark
|
301
|
+
\mult@info\tw@
|
302
|
+
{Restore kept marks to\MessageBreak
|
303
|
+
first: \meaning\kept@firstmark
|
304
|
+
\MessageBreak bot\space\space:
|
305
|
+
\meaning\kept@botmark }%
|
306
|
+
\else
|
307
|
+
\ifdim\pagegoal=\maxdimen
|
308
|
+
\ifvoid\colbreak@box\else
|
309
|
+
\mult@info\@ne{Re-adding forced
|
310
|
+
break(s) for splitting}%
|
311
|
+
\unvbox\colbreak@box\fi
|
312
|
+
\fi
|
313
|
+
\penalty\z@
|
314
|
+
\prevdepth\z@
|
315
|
+
\output{\balance@columns@out}\eject
|
316
|
+
\ifvbox\partial@page
|
317
|
+
\unvbox\partial@page\fi
|
318
|
+
\global\let\kept@firstmark\@empty
|
319
|
+
\global\let\kept@botmark\@empty
|
320
|
+
\mult@info\tw@
|
321
|
+
{Make kept marks empty}%
|
322
|
+
\fi
|
323
|
+
\@checkend{multicols}%
|
324
|
+
\endgroup
|
325
|
+
\global\c@unbalance\z@
|
326
|
+
\if@boxedmulticols\else
|
327
|
+
\reinsert@footnotes
|
328
|
+
\ifdim \pagegoal=\maxdimen
|
329
|
+
\global\vsize\@colroom
|
330
|
+
\else
|
331
|
+
\enough@room\postmulticols
|
332
|
+
\fi
|
333
|
+
\fi
|
334
|
+
\addvspace\multicolsep
|
335
|
+
\mult@info\z@
|
336
|
+
{Ending environment
|
337
|
+
\if@boxedmulticols
|
338
|
+
\space(boxed mode)\fi
|
339
|
+
}}
|
340
|
+
\newcount\c@unbalance
|
341
|
+
\newcount\c@collectmore
|
342
|
+
\newcount\doublecol@number
|
343
|
+
\newcount\multicoltolerance
|
344
|
+
\newcount\multicolpretolerance
|
345
|
+
\newdimen\full@width
|
346
|
+
\newdimen\page@free
|
347
|
+
\newdimen\premulticols
|
348
|
+
\newdimen\postmulticols
|
349
|
+
\newskip\multicolsep
|
350
|
+
\newskip\multicolbaselineskip
|
351
|
+
\newbox\partial@page
|
352
|
+
\newbox\last@line
|
353
|
+
\c@unbalance = 0
|
354
|
+
\c@collectmore = 0
|
355
|
+
\col@number = 1
|
356
|
+
\multicoltolerance = 9999
|
357
|
+
\multicolpretolerance = -1
|
358
|
+
\premulticols = 50pt
|
359
|
+
\postmulticols= 20pt
|
360
|
+
\multicolsep = 12pt plus 4pt minus 3pt
|
361
|
+
\multicolbaselineskip=0pt
|
362
|
+
\def\process@cols#1#2{\count@#1\relax
|
363
|
+
\loop
|
364
|
+
#2%
|
365
|
+
\advance\count@\tw@
|
366
|
+
\ifnum\count@<\doublecol@number
|
367
|
+
\repeat}
|
368
|
+
\def\page@sofar{%
|
369
|
+
\process@cols\mult@rightbox
|
370
|
+
{\ifvoid\count@
|
371
|
+
\setbox\count@\hbox to\hsize{}%
|
372
|
+
\else
|
373
|
+
\wd\count@\hsize
|
374
|
+
\fi}%
|
375
|
+
\count@\col@number \advance\count@\m@ne
|
376
|
+
\mult@info\z@
|
377
|
+
{Column spec: \the\full@width\space = indent
|
378
|
+
+ columns + sep =\MessageBreak
|
379
|
+
\the\multicol@leftmargin\space
|
380
|
+
+ \the\col@number\space
|
381
|
+
x \the\hsize\space
|
382
|
+
+ \the\count@\space
|
383
|
+
x \the\columnsep
|
384
|
+
}%
|
385
|
+
\ifvmode\else\errmessage{Multicol Error}\fi
|
386
|
+
\nointerlineskip
|
387
|
+
\setbox\z@\hbox{p}\global\dimen\tw@\dp\z@
|
388
|
+
\moveright\multicol@leftmargin
|
389
|
+
\hbox to\full@width{%
|
390
|
+
\process@cols\mult@gfirstbox{%
|
391
|
+
\ifdim\dp\count@>\dimen\tw@
|
392
|
+
\global\dimen\tw@\dp\count@ \fi
|
393
|
+
\box\count@
|
394
|
+
\hss{\normalcolor\vrule
|
395
|
+
\@width\columnseprule}\hss}%
|
396
|
+
\ifdim\dp\mult@rightbox>\dimen\tw@
|
397
|
+
\global\dimen\tw@\dp\mult@rightbox \fi
|
398
|
+
\box\mult@rightbox
|
399
|
+
\rlap{\phantom p}%
|
400
|
+
}%
|
401
|
+
\kern-\dimen\tw@
|
402
|
+
\ifdim\dimen\tw@ = \mc@gridwarn
|
403
|
+
\PackageWarning{multicol}%
|
404
|
+
{Very deep columns!\MessageBreak
|
405
|
+
Grid alignment might be broken}%
|
406
|
+
\fi
|
407
|
+
}
|
408
|
+
\def\reinsert@footnotes{\ifvoid\footins\else
|
409
|
+
\insert\footins{}\fi}
|
410
|
+
\def\multi@column@out{%
|
411
|
+
\ifnum\outputpenalty <-\@M
|
412
|
+
\speci@ls \else
|
413
|
+
\ifvoid\colbreak@box\else
|
414
|
+
\mult@info\@ne{Re-adding forced
|
415
|
+
break(s) for splitting}%
|
416
|
+
\setbox\@cclv\vbox{%
|
417
|
+
\unvbox\colbreak@box
|
418
|
+
\penalty-\@Mv\unvbox\@cclv}%
|
419
|
+
\fi
|
420
|
+
\splittopskip\topskip
|
421
|
+
\splitmaxdepth\maxdepth
|
422
|
+
\dimen@\@colroom
|
423
|
+
\divide\skip\footins\col@number
|
424
|
+
\ifvoid\footins \else
|
425
|
+
\leave@mult@footins
|
426
|
+
\fi
|
427
|
+
\process@cols\mult@gfirstbox{%
|
428
|
+
\setbox\count@
|
429
|
+
\vsplit\@cclv to\dimen@
|
430
|
+
\set@keptmarks
|
431
|
+
\ifshr@nking
|
432
|
+
\setbox\count@
|
433
|
+
\vbox to\dimen@
|
434
|
+
{\unvbox\count@\vfill}%
|
435
|
+
\fi
|
436
|
+
}%
|
437
|
+
\setbox\mult@rightbox
|
438
|
+
\vsplit\@cclv to\dimen@
|
439
|
+
\set@keptmarks
|
440
|
+
\ifshr@nking
|
441
|
+
\setbox\mult@rightbox\vbox to\dimen@
|
442
|
+
{\unvbox\mult@rightbox\vfill}%
|
443
|
+
\fi
|
444
|
+
\ifvoid\@cclv \else
|
445
|
+
\unvbox\@cclv
|
446
|
+
\penalty\outputpenalty
|
447
|
+
\ifvoid\footins\else
|
448
|
+
\PackageWarning{multicol}%
|
449
|
+
{I moved some lines to
|
450
|
+
the next page.\MessageBreak
|
451
|
+
Footnotes on page
|
452
|
+
\thepage\space might be wrong}%
|
453
|
+
\fi
|
454
|
+
\ifnum \c@tracingmulticols>\thr@@
|
455
|
+
\hrule\allowbreak \fi
|
456
|
+
\fi
|
457
|
+
\ifx\@empty\kept@firstmark
|
458
|
+
\let\firstmark\kept@topmark
|
459
|
+
\let\botmark\kept@topmark
|
460
|
+
\else
|
461
|
+
\let\firstmark\kept@firstmark
|
462
|
+
\let\botmark\kept@botmark
|
463
|
+
\fi
|
464
|
+
\let\topmark\kept@topmark
|
465
|
+
\mult@info\tw@
|
466
|
+
{Use kept top mark:\MessageBreak
|
467
|
+
\meaning\kept@topmark
|
468
|
+
\MessageBreak
|
469
|
+
Use kept first mark:\MessageBreak
|
470
|
+
\meaning\kept@firstmark
|
471
|
+
\MessageBreak
|
472
|
+
Use kept bot mark:\MessageBreak
|
473
|
+
\meaning\kept@botmark
|
474
|
+
\MessageBreak
|
475
|
+
Produce first mark:\MessageBreak
|
476
|
+
\meaning\firstmark
|
477
|
+
\MessageBreak
|
478
|
+
Produce bot mark:\MessageBreak
|
479
|
+
\meaning\botmark
|
480
|
+
\@gobbletwo}%
|
481
|
+
\setbox\@cclv\vbox{\unvbox\partial@page
|
482
|
+
\page@sofar}%
|
483
|
+
\@makecol\@outputpage
|
484
|
+
\global\let\kept@topmark\botmark
|
485
|
+
\global\let\kept@firstmark\@empty
|
486
|
+
\global\let\kept@botmark\@empty
|
487
|
+
\mult@info\tw@
|
488
|
+
{(Re)Init top mark:\MessageBreak
|
489
|
+
\meaning\kept@topmark
|
490
|
+
\@gobbletwo}%
|
491
|
+
\global\@colroom\@colht
|
492
|
+
\process@deferreds
|
493
|
+
\@whilesw\if@fcolmade\fi{\@outputpage
|
494
|
+
\global\@colroom\@colht
|
495
|
+
\process@deferreds}%
|
496
|
+
\mult@info\@ne
|
497
|
+
{Colroom:\MessageBreak
|
498
|
+
\the\@colht\space
|
499
|
+
after float space removed
|
500
|
+
= \the\@colroom \@gobble}%
|
501
|
+
\set@mult@vsize \global
|
502
|
+
\fi}
|
503
|
+
\def\leave@mult@footins{%
|
504
|
+
\advance\dimen@-\skip\footins
|
505
|
+
\advance\dimen@-\ht\footins
|
506
|
+
}
|
507
|
+
\def\speci@ls{%
|
508
|
+
\ifnum\outputpenalty <-\@Mi
|
509
|
+
\ifnum \outputpenalty<-\@MM
|
510
|
+
\PackageError{multicol}{Document end
|
511
|
+
inside multicols environment}\@ehd
|
512
|
+
\@specialoutput
|
513
|
+
\else
|
514
|
+
\ifnum\outputpenalty = -\@Mv
|
515
|
+
\mult@info\@ne{Forced column
|
516
|
+
break seen}%
|
517
|
+
\global\advance\vsize-\pagetotal
|
518
|
+
\global\setbox\colbreak@box
|
519
|
+
\vbox{\ifvoid\colbreak@box
|
520
|
+
\else
|
521
|
+
\unvbox\colbreak@box
|
522
|
+
\penalty-\@Mv
|
523
|
+
\fi
|
524
|
+
\unvbox\@cclv}
|
525
|
+
\reinsert@footnotes
|
526
|
+
\else
|
527
|
+
\PackageWarningNoLine{multicol}%
|
528
|
+
{Floats and marginpars not
|
529
|
+
allowed inside `multicols'
|
530
|
+
environment!}
|
531
|
+
\unvbox\@cclv\reinsert@footnotes
|
532
|
+
\xdef\@freelist{\@freelist\@currlist}%
|
533
|
+
\gdef\@currlist{}%
|
534
|
+
\fi
|
535
|
+
\fi
|
536
|
+
\else \@doclearpage \fi
|
537
|
+
}
|
538
|
+
\def\process@deferreds{%
|
539
|
+
\@floatplacement
|
540
|
+
\@tryfcolumn\@deferlist
|
541
|
+
\if@fcolmade\else
|
542
|
+
\begingroup
|
543
|
+
\let\@tempb\@deferlist
|
544
|
+
\gdef\@deferlist{}%
|
545
|
+
\let\@elt\@scolelt
|
546
|
+
\@tempb \endgroup
|
547
|
+
\fi}
|
548
|
+
\newif\ifshr@nking
|
549
|
+
\def\raggedcolumns{%
|
550
|
+
\@bsphack\shr@nkingtrue\@esphack}
|
551
|
+
\def\flushcolumns{%
|
552
|
+
\@bsphack\shr@nkingfalse\@esphack}
|
553
|
+
\def\balance@columns@out{%
|
554
|
+
\setbox\mult@box\vbox{%
|
555
|
+
\ifvoid\colbreak@box\else
|
556
|
+
\unvbox\colbreak@box\break
|
557
|
+
\mult@info\@ne{Re-adding
|
558
|
+
forced break(s) in balancing}%
|
559
|
+
\fi
|
560
|
+
\unvbox\@cclv}%
|
561
|
+
\balance@columns
|
562
|
+
\global\vsize\@colroom
|
563
|
+
\global\advance\vsize\ht\partial@page
|
564
|
+
\unvbox\partial@page
|
565
|
+
\return@nonemptymark{first}\kept@firstmark
|
566
|
+
\return@nonemptymark{bot}\kept@botmark
|
567
|
+
\page@sofar
|
568
|
+
\penalty\z@
|
569
|
+
}
|
570
|
+
\def\balance@columns{%
|
571
|
+
\get@keptmarks\mult@box
|
572
|
+
\setbox\mult@box\vbox{%
|
573
|
+
\penalty-\@M
|
574
|
+
\unvbox\mult@box
|
575
|
+
\remove@discardable@items
|
576
|
+
}%
|
577
|
+
\@tempdima\topskip
|
578
|
+
\splittopskip\@tempdima
|
579
|
+
\@plus\multicolundershoot
|
580
|
+
\@minus\multicolovershoot
|
581
|
+
\splitmaxdepth\maxdepth
|
582
|
+
\setbox\@tempboxa\vsplit\mult@box to\z@
|
583
|
+
\@tempdima\ht\mult@box
|
584
|
+
\advance\@tempdima\dp\mult@box
|
585
|
+
\divide\@tempdima\col@number
|
586
|
+
\count@\@tempdima
|
587
|
+
\divide\count@\baselineskip
|
588
|
+
\dimen@\count@\baselineskip
|
589
|
+
\advance\dimen@\topskip
|
590
|
+
\ifdim \dimen@ >\@tempdima
|
591
|
+
\advance\dimen@-\baselineskip
|
592
|
+
\fi
|
593
|
+
\advance\dimen@\c@unbalance\baselineskip
|
594
|
+
\mult@info\@ne
|
595
|
+
{Balance columns\on@line:
|
596
|
+
\ifnum\c@unbalance=\z@\else
|
597
|
+
(off balance=\number\c@unbalance)\fi
|
598
|
+
\@gobbletwo}%
|
599
|
+
\ifnum\dimen@<\topskip
|
600
|
+
\mult@info\@ne
|
601
|
+
{Start value
|
602
|
+
\the\dimen@ \space ->
|
603
|
+
\the\topskip \space (corrected)}%
|
604
|
+
\dimen@\topskip
|
605
|
+
\fi
|
606
|
+
\vbadness\@M
|
607
|
+
\vfuzz \col@number\baselineskip
|
608
|
+
\last@try-\p@
|
609
|
+
\loop
|
610
|
+
{\process@cols\mult@grightbox
|
611
|
+
{\global\setbox\count@
|
612
|
+
\box\voidb@x}}%
|
613
|
+
\global\setbox\mult@grightbox
|
614
|
+
\copy\mult@box
|
615
|
+
\global\too@badfalse
|
616
|
+
{\process@cols\mult@firstbox{%
|
617
|
+
\global\setbox\count@
|
618
|
+
\vsplit\mult@grightbox to\dimen@
|
619
|
+
\ifnum\c@tracingmulticols>\@ne
|
620
|
+
\@tempcnta\count@
|
621
|
+
\advance\@tempcnta-\mult@grightbox
|
622
|
+
\divide\@tempcnta \tw@
|
623
|
+
\message{^^JColumn
|
624
|
+
\number\@tempcnta\space
|
625
|
+
badness: \the\badness\space}%
|
626
|
+
\fi
|
627
|
+
\ifnum\badness>\c@columnbadness
|
628
|
+
\ifnum\c@tracingmulticols>\@ne
|
629
|
+
\message{too bad
|
630
|
+
(>\the\c@columnbadness)}%
|
631
|
+
\fi
|
632
|
+
\global\too@badtrue
|
633
|
+
\fi
|
634
|
+
}}%
|
635
|
+
\boxmaxdepth\maxdepth
|
636
|
+
\global\setbox\mult@grightbox
|
637
|
+
\vbox{\unvbox\mult@grightbox}%
|
638
|
+
\setbox\mult@nat@firstbox
|
639
|
+
\vbox{\unvcopy\mult@firstbox}%
|
640
|
+
\ifnum\c@tracingmulticols>\@ne
|
641
|
+
\message{^^JFirst column
|
642
|
+
= \the\dimen@\space
|
643
|
+
(\the\ht\mult@nat@firstbox)}\fi
|
644
|
+
\ifnum\c@tracingmulticols>\@ne
|
645
|
+
\message{<> last column =
|
646
|
+
\the\ht\mult@grightbox^^J}%
|
647
|
+
\fi
|
648
|
+
\ifdim\ht\mult@grightbox >\dimen@
|
649
|
+
\too@badtrue
|
650
|
+
\ifnum\c@tracingmulticols>\@ne
|
651
|
+
\typeout{Rejected: last
|
652
|
+
column too large!}%
|
653
|
+
\fi
|
654
|
+
\else
|
655
|
+
\setbox\@tempboxa
|
656
|
+
\copy\mult@grightbox
|
657
|
+
\setbox\z@\vsplit\@tempboxa to\maxdimen
|
658
|
+
\ifvoid\@tempboxa
|
659
|
+
\global\setbox\mult@grightbox
|
660
|
+
\vbox to\dimen@
|
661
|
+
{\unvbox\mult@grightbox}%
|
662
|
+
\ifnum\c@tracingmulticols>\@ne
|
663
|
+
\message{Final badness:
|
664
|
+
\the\badness}%
|
665
|
+
\fi
|
666
|
+
\ifnum\badness>\c@finalcolumnbadness
|
667
|
+
\global\setbox\mult@grightbox
|
668
|
+
\vbox to\dimen@
|
669
|
+
{\unvbox\mult@grightbox\vfill}%
|
670
|
+
\ifnum\c@tracingmulticols>\@ne
|
671
|
+
\message{ setting natural
|
672
|
+
(> \the\c@finalcolumnbadness)}%
|
673
|
+
\fi
|
674
|
+
\fi
|
675
|
+
\else
|
676
|
+
\too@badtrue
|
677
|
+
\ifnum\c@tracingmulticols>\@ne
|
678
|
+
\typeout{Rejected: unprocessed
|
679
|
+
forced break(s) in last column!}%
|
680
|
+
\fi
|
681
|
+
\fi
|
682
|
+
\fi
|
683
|
+
\ifdim\ht\mult@nat@firstbox<\dimen@
|
684
|
+
\ifdim\ht\mult@nat@firstbox>\last@try
|
685
|
+
\too@badtrue
|
686
|
+
\ifnum\c@tracingmulticols>\@ne
|
687
|
+
\typeout{Retry: using natural
|
688
|
+
height of first column!}%
|
689
|
+
\fi
|
690
|
+
\dimen@\ht\mult@nat@firstbox
|
691
|
+
\last@try\dimen@
|
692
|
+
\advance\dimen@-\p@
|
693
|
+
\fi
|
694
|
+
\fi
|
695
|
+
\iftoo@bad
|
696
|
+
\advance\dimen@\p@
|
697
|
+
\repeat
|
698
|
+
\if@boxedmulticols\else
|
699
|
+
\ifdim\dimen@>\@colroom
|
700
|
+
\dimen@\@colroom
|
701
|
+
\fi
|
702
|
+
\fi
|
703
|
+
\process@cols\mult@rightbox
|
704
|
+
{\@tempcnta\count@
|
705
|
+
\advance\@tempcnta\@ne
|
706
|
+
\setbox\count@\vbox to\dimen@
|
707
|
+
{%
|
708
|
+
\vskip \z@
|
709
|
+
\@plus-\multicolundershoot
|
710
|
+
\@minus-\multicolovershoot
|
711
|
+
\unvbox\@tempcnta
|
712
|
+
\ifshr@nking\vfill\fi}}%
|
713
|
+
}
|
714
|
+
\newbox\mult@rightbox
|
715
|
+
\newbox\mult@grightbox
|
716
|
+
\newbox\mult@gfirstbox
|
717
|
+
\newbox\mult@firstbox
|
718
|
+
\newbox\@tempa\newbox\@tempa
|
719
|
+
\newbox\@tempa\newbox\@tempa
|
720
|
+
\newbox\@tempa\newbox\@tempa
|
721
|
+
\newbox\@tempa\newbox\@tempa
|
722
|
+
\newbox\@tempa\newbox\@tempa
|
723
|
+
\newbox\@tempa\newbox\@tempa
|
724
|
+
\newbox\@tempa\newbox\@tempa
|
725
|
+
\newbox\@tempa\newbox\@tempa
|
726
|
+
\newbox\@tempa
|
727
|
+
\let\@tempa\relax
|
728
|
+
\@ifundefined{emergencystretch}
|
729
|
+
{\newdimen\emergencystretch}{}
|
730
|
+
\def\setemergencystretch#1#2{%
|
731
|
+
\emergencystretch 4pt
|
732
|
+
\multiply\emergencystretch#1}
|
733
|
+
|
734
|
+
\def\set@floatcmds{%
|
735
|
+
\let\@dblfloat\@dbflt
|
736
|
+
\def\end@dblfloat{\par
|
737
|
+
\vskip\z@
|
738
|
+
\egroup
|
739
|
+
\color@endbox
|
740
|
+
\@largefloatcheck
|
741
|
+
\outer@nobreak
|
742
|
+
\ifnum\@floatpenalty<\z@
|
743
|
+
\@cons\@deferlist\@currbox
|
744
|
+
\fi
|
745
|
+
\ifnum\@floatpenalty=-\@Mii
|
746
|
+
\@Esphack
|
747
|
+
\fi}}
|
748
|
+
\def\kept@topmark{{}{}}
|
749
|
+
\let\kept@firstmark\@empty
|
750
|
+
\let\kept@botmark\@empty
|
751
|
+
\def\return@nonemptymark#1#2{%
|
752
|
+
\ifx#2\@empty
|
753
|
+
\else
|
754
|
+
\mult@info\tw@
|
755
|
+
{Returned #1 mark:\MessageBreak
|
756
|
+
\meaning#2}%
|
757
|
+
\toks@\expandafter{#2}%
|
758
|
+
\mark{\the\toks@}%
|
759
|
+
\nobreak
|
760
|
+
\fi}
|
761
|
+
\def\get@keptmarks#1{%
|
762
|
+
\begingroup
|
763
|
+
\vbadness\@M
|
764
|
+
\setbox#1\copy#1%
|
765
|
+
\setbox#1\vsplit#1to\maxdimen
|
766
|
+
\set@keptmarks
|
767
|
+
\endgroup
|
768
|
+
}
|
769
|
+
\def\set@keptmarks{%
|
770
|
+
\ifx\kept@firstmark\@empty
|
771
|
+
\expandafter\gdef\expandafter
|
772
|
+
\kept@firstmark
|
773
|
+
\expandafter{\splitfirstmark}%
|
774
|
+
\ifx\kept@firstmark\@empty\else
|
775
|
+
\mult@info\tw@
|
776
|
+
{Set kept first mark:\MessageBreak
|
777
|
+
\meaning\kept@firstmark%
|
778
|
+
\@gobbletwo}%
|
779
|
+
\fi
|
780
|
+
\fi
|
781
|
+
\expandafter\def\expandafter\@tempa
|
782
|
+
\expandafter{\splitbotmark}%
|
783
|
+
\ifx\@tempa\@empty\else
|
784
|
+
\global\let\kept@botmark\@tempa
|
785
|
+
\mult@info\tw@
|
786
|
+
{Set kept bot mark:\MessageBreak
|
787
|
+
\meaning\kept@botmark%
|
788
|
+
\@gobbletwo}%
|
789
|
+
\fi}%
|
790
|
+
\def\prep@keptmarks{%
|
791
|
+
\if@boxedmulticols \else
|
792
|
+
\get@keptmarks\partial@page
|
793
|
+
\fi}
|
794
|
+
\def\remove@discardable@items{%
|
795
|
+
\unskip\unpenalty\unkern
|
796
|
+
\unskip\unpenalty\unkern
|
797
|
+
\unskip\unpenalty\unkern
|
798
|
+
\unskip\unpenalty\unkern
|
799
|
+
}
|
800
|
+
\newif\iftoo@bad
|
801
|
+
\newcount\c@columnbadness
|
802
|
+
\c@columnbadness=10000
|
803
|
+
\newcount\c@finalcolumnbadness
|
804
|
+
\c@finalcolumnbadness=9999
|
805
|
+
|
806
|
+
\newdimen\last@try
|
807
|
+
|
808
|
+
\newdimen\multicolovershoot
|
809
|
+
\newdimen\multicolundershoot
|
810
|
+
\multicolovershoot=0pt
|
811
|
+
\multicolundershoot=2pt
|
812
|
+
\newbox\mult@nat@firstbox
|
813
|
+
\def\mult@info#1#2{%
|
814
|
+
\ifnum\c@tracingmulticols>#1%
|
815
|
+
\GenericWarning
|
816
|
+
{(multicol)\@spaces\@spaces}%
|
817
|
+
{Package multicol: #2}%
|
818
|
+
\fi
|
819
|
+
}
|
820
|
+
\@namedef{multicols*}{%
|
821
|
+
\ifinner
|
822
|
+
\PackageWarning{multicol}%
|
823
|
+
{multicols* inside a box does
|
824
|
+
not make sense.\MessageBreak
|
825
|
+
Going to balance anyway}%
|
826
|
+
\else
|
827
|
+
\let\balance@columns@out
|
828
|
+
\multi@column@out
|
829
|
+
\fi
|
830
|
+
\begin{multicols}
|
831
|
+
}
|
832
|
+
\@namedef{endmulticols*}{\vfill
|
833
|
+
\end{multicols}}
|
834
|
+
\mathchardef\@Mv=10005
|
835
|
+
\def\columnbreak{%
|
836
|
+
\ifnum\col@number<\tw@
|
837
|
+
\PackageError{multicol}%
|
838
|
+
{\noexpand\columnbreak outside multicols}%
|
839
|
+
{This command can only be used within
|
840
|
+
a multicols or multicols* environment.}%
|
841
|
+
\else
|
842
|
+
\ifvmode
|
843
|
+
\penalty -\@Mv\relax
|
844
|
+
\else
|
845
|
+
\@bsphack
|
846
|
+
\vadjust{\penalty -\@Mv\relax}%
|
847
|
+
\@esphack
|
848
|
+
\fi
|
849
|
+
\fi}
|
850
|
+
\newbox\colbreak@box
|
851
|
+
\endinput
|
852
|
+
%%
|
853
|
+
%% End of file `multicol.sty'.
|