Real-time collaboration for Jupyter Notebooks, Linux Terminals, LaTeX, VS Code, R IDE, and more,
all in one place. Commercial Alternative to JupyterHub.
Real-time collaboration for Jupyter Notebooks, Linux Terminals, LaTeX, VS Code, R IDE, and more,
all in one place. Commercial Alternative to JupyterHub.
Path: blob/master/RMarkdown/rticles/aea_article/multicol.sty
Views: 1104
%%1%% This is file `multicol.sty',2%% generated with the docstrip utility.3%%4%% The original source files were:5%%6%% multicol.dtx (with options: `package,badness,check,marktrace,nobalance,colbreak')7%%8%% This is a generated file.9%%10%% Copyright 1993 1994 1995 1996 1997 1998 1999 2000 2001 2002 200311%% The LaTeX3 Project and any individual authors listed elsewhere12%% in this file.13%%14%% This file was generated from file(s) of the Standard LaTeX `Tools Bundle'.15%% --------------------------------------------------------------------------16%%17%% It may be distributed and/or modified under the18%% conditions of the LaTeX Project Public License, either version 1.319%% of this license or (at your option) any later version.20%% The latest version of this license is in21%% http://www.latex-project.org/lppl.txt22%% and version 1.3 or later is part of all distributions of LaTeX23%% version 2003/12/01 or later.24%%25%% This file may only be distributed together with a copy of the LaTeX26%% `Tools Bundle'. You may however distribute the LaTeX `Tools Bundle'27%% without such generated files.28%%29%% The list of all files belonging to the LaTeX `Tools Bundle' is30%% given in the file `manifest.txt'.31%%32%% Package `multicol' to use with LaTeX2e33%% Copyright 1989-2003 Frank Mittelbach34%%35%% In addition to the terms of LPPL any distributed version36%% (unchanged or modified) of multicol has to keep the statement37%% about the moral obligation for using multicol. In case of major38%% changes where this would not be appropriate the author of the39%% changed version should contact the copyright holder.40%%41%%42%% Moral obligation for using multicol:43%% ------------------------------------44%%45%% Users of multicol who wish to include or use multicol or a modified46%% version in a proprietary and commercially market product are asked47%% under certain conditions (see below) for the payment of a license48%% fee. The size of this fee is to be determined, in each instance,49%% by the commercial user, depending on his/her judgment of the value of50%% multicol for his/her product.51%%52%%53%% The conditions for this are as follows:54%%55%% The producer of a proprietary and commercially market product56%% that involves typesetting using multicol is asked to determine57%% the value of a license fee for using multicol if58%%59%% - the product is a document and the producer has decided to60%% include multicol to typeset (parts of) the document or has61%% directed the author of the document to include multicol (for62%% example, by providing a class file to be used by the author)63%%64%% - the product is a LaTeX class or package that includes multicol65%%66%%67%% There is no moral obligation in case68%%69%% - the product is a document but producer has not directed70%% the author to include multicol (in that case the moral obligation71%% lies with the author of the document)72%%73%% - the product does not involve typesetting, e.g., consists, for74%% example, of distributing multicol and its documentation.75%%76%% - the product is not proprietary, i.e., is made available as free77%% software itself (which doesn't prohibit its commercial marketing)78%%79%% - multicol is used for non-commercial purposes80%%81%%82%% Determinating a license fee might result in a license fee of zero83%% (i.e., no payment) in case a producer has determined that the use84%% of multicol has no enhancing effect on the product. This is a85%% plausible scenario, i.e., in the above two cases the producer is86%% only asked to evaluate the value of multicol for the product87%% not for the payment of a license fee per se (which might or might88%% not follow from this evaluation).89%%90%% The license fee, if any, can be payed either to the LaTeX3 fund91%% (see ltx3info.txt in the base LaTeX distribution) or to the author of92%% the program who can be contacted at93%%94%% Frank.Mittelbach@latex-project.org95%%96\NeedsTeXFormat{LaTeX2e}[1997/12/01]97\ProvidesPackage{multicol}98[2004/02/14 v1.6e multicolumn formatting (FMi)]99%% \CheckSum{1561}100%% \CharacterTable101%% {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\Z102%% 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\z103%% Digits \0\1\2\3\4\5\6\7\8\9104%% Exclamation \! Double quote \" Hash (number) \#105%% Dollar \$ Percent \% Ampersand \&106%% Acute accent \' Left paren \( Right paren \)107%% Asterisk \* Plus \+ Comma \,108%% Minus \- Point \. Solidus \/109%% Colon \: Semicolon \; Less than \<110%% Equals \= Greater than \> Question mark \?111%% Commercial at \@ Left bracket \[ Backslash \\112%% Right bracket \] Circumflex \^ Underscore \_113%% Grave accent \` Left brace \{ Vertical bar \|114%% Right brace \} Tilde \~}115%%116\DeclareOption{twocolumn}117{\PackageWarning{multicol}{May not work118with the twocolumn option}}119\newcount\c@tracingmulticols120\DeclareOption{errorshow}121{\c@tracingmulticols\z@}122\DeclareOption{infoshow}123{\c@tracingmulticols\@ne}124\DeclareOption{balancingshow}125{\c@tracingmulticols\tw@}126\DeclareOption{markshow}127{\c@tracingmulticols\thr@@}128\DeclareOption{debugshow}129{\c@tracingmulticols5\relax}130\let\mc@gridwarn\maxdimen131\DeclareOption{grid}{\def\mc@gridwarn{\maxdepth}}132\ProcessOptions133\def\multicols#1{\col@number#1\relax134\ifnum\col@number<\tw@135\PackageWarning{multicol}%136{Using `\number\col@number'137columns doesn't seem a good idea.^^J138I therefore use two columns instead}%139\col@number\tw@ \fi140\ifnum\col@number>10141\PackageError{multicol}%142{Too many columns}%143{Current implementation doesn't144support more than 10 columns.%145\MessageBreak146I therefore use 10 columns instead}%147\col@number10 \fi148\ifx\@footnotetext\mult@footnotetext\else149\let\orig@footnotetext\@footnotetext150\let\@footnotetext\mult@footnotetext151\fi152\@ifnextchar[\mult@cols{\mult@cols[]}}153\long\def\mult@footnotetext#1{\begingroup154\columnwidth\textwidth155\orig@footnotetext{#1}\endgroup}156\def\mult@cols[#1]{\@ifnextchar[%157{\mult@@cols{#1}}%158{\mult@@cols{#1}[\premulticols]}}159\def\mult@@cols#1[#2]{%160\par161\ifinner \@boxedmulticolstrue162\else163\ifnum \doublecol@number>\z@164\@boxedmulticolstrue165\fi166\fi167\mult@info\z@168{Starting environment with169\the\col@number\space columns%170\if@boxedmulticols\MessageBreak171(boxed mode)\fi172}%173\enough@room{#2}%174#1\par\addvspace\multicolsep175\ifdim \prevdepth = -\@m\p@176\else177\@tempcnta\prevdepth178\@tempcntb\baselineskip179\divide\@tempcnta\@tempcntb180\advance\@tempcnta\@ne181\dimen@\prevdepth182\advance\dimen@ -\@tempcnta\baselineskip183\advance\dimen@ \topskip184\kern-\dimen@185\fi186\begingroup187\prepare@multicols188\if@boxedmulticols189\setbox\mult@box\vbox\bgroup190\fi191\ignorespaces}192\newif\if@boxedmulticols193\@boxedmulticolsfalse194\newbox\mult@box195\def\enough@room#1{%196\if@boxedmulticols\else197\par198\bgroup\@nobreakfalse\addpenalty\z@\egroup199\page@free \pagegoal200\advance \page@free -\pagetotal201\@tempskipa#1\relax202\mult@info\z@203{Current page:\MessageBreak204height=%205\the\pagegoal: used \the\pagetotal206\space -> free=\the\page@free207\MessageBreak208needed \the\@tempskipa209\space(for #1)}%210\ifdim \page@free <#1\newpage \fi211\fi}212\def\prepare@multicols{%213\multicol@leftmargin\@totalleftmargin214\@totalleftmargin\z@215\parshape\z@216\doublecol@number\col@number217\multiply\doublecol@number\tw@218\advance\doublecol@number\mult@rightbox219\if@boxedmulticols220\let\l@kept@firstmark\kept@firstmark221\let\l@kept@botmark\kept@botmark222\global\let\kept@firstmark\@empty223\global\let\kept@botmark\@empty224\else225\nointerlineskip {\topskip\z@\null}%226\output{%227\global\setbox\partial@page\vbox228{%229\ifvoid\partial@page\else230\PackageError{multicol}%231{Error saving partial page}%232{The part of the page before233the multicols environment was234nearly full with^^Jthe result235that starting the environment236will produce an overfull237page. Some^^Jtext may be lost!238Please increase \premulticols239either generally or for this%240^^Jenvironment by specifying a241suitable value in the second242optional argument to^^Jthe243multicols environment.}244\unvbox\partial@page245\box\last@line246\fi247\unvbox\@cclv248\global\setbox\last@line\lastbox249}%250\prep@keptmarks251\global\let\kept@topmark\firstmark252}\eject253\advance\@colroom-\ht\partial@page254\set@mult@vsize\relax255\output{\multi@column@out}%256\init@mult@footins257\reinsert@footnotes258\fi259\vbadness\@Mi \hbadness5000260\tolerance\multicoltolerance261\pretolerance\multicolpretolerance262\setemergencystretch\col@number\hsize263\set@floatcmds264\advance\baselineskip\multicolbaselineskip265\hsize\linewidth \advance\hsize\columnsep266\advance\hsize-\col@number\columnsep267\divide\hsize\col@number268\full@width\linewidth269\linewidth\hsize270\columnwidth\hsize271}272\def\init@mult@footins{%273\multiply\count\footins\col@number274\multiply\skip \footins\col@number275}276\def\set@mult@vsize#1{%277\vsize\@colroom278\@tempdima\baselineskip279\advance\@tempdima-\topskip280\advance\vsize\@tempdima281\vsize\col@number\vsize282\advance\vsize-\@tempdima283\advance\vsize\col@number\baselineskip284#1\advance\vsize285\c@collectmore\baselineskip}286\newdimen\multicol@leftmargin287\def\endmulticols{\par288\if@boxedmulticols289\egroup290\balance@columns291\return@nonemptymark{first}%292\kept@firstmark293\return@nonemptymark{bot}%294\kept@botmark295\page@sofar296\global\let\kept@firstmark297\l@kept@firstmark298\global\let\kept@botmark299\l@kept@botmark300\mult@info\tw@301{Restore kept marks to\MessageBreak302first: \meaning\kept@firstmark303\MessageBreak bot\space\space:304\meaning\kept@botmark }%305\else306\ifdim\pagegoal=\maxdimen307\ifvoid\colbreak@box\else308\mult@info\@ne{Re-adding forced309break(s) for splitting}%310\unvbox\colbreak@box\fi311\fi312\penalty\z@313\prevdepth\z@314\output{\balance@columns@out}\eject315\ifvbox\partial@page316\unvbox\partial@page\fi317\global\let\kept@firstmark\@empty318\global\let\kept@botmark\@empty319\mult@info\tw@320{Make kept marks empty}%321\fi322\@checkend{multicols}%323\endgroup324\global\c@unbalance\z@325\if@boxedmulticols\else326\reinsert@footnotes327\ifdim \pagegoal=\maxdimen328\global\vsize\@colroom329\else330\enough@room\postmulticols331\fi332\fi333\addvspace\multicolsep334\mult@info\z@335{Ending environment336\if@boxedmulticols337\space(boxed mode)\fi338}}339\newcount\c@unbalance340\newcount\c@collectmore341\newcount\doublecol@number342\newcount\multicoltolerance343\newcount\multicolpretolerance344\newdimen\full@width345\newdimen\page@free346\newdimen\premulticols347\newdimen\postmulticols348\newskip\multicolsep349\newskip\multicolbaselineskip350\newbox\partial@page351\newbox\last@line352\c@unbalance = 0353\c@collectmore = 0354\col@number = 1355\multicoltolerance = 9999356\multicolpretolerance = -1357\premulticols = 50pt358\postmulticols= 20pt359\multicolsep = 12pt plus 4pt minus 3pt360\multicolbaselineskip=0pt361\def\process@cols#1#2{\count@#1\relax362\loop363#2%364\advance\count@\tw@365\ifnum\count@<\doublecol@number366\repeat}367\def\page@sofar{%368\process@cols\mult@rightbox369{\ifvoid\count@370\setbox\count@\hbox to\hsize{}%371\else372\wd\count@\hsize373\fi}%374\count@\col@number \advance\count@\m@ne375\mult@info\z@376{Column spec: \the\full@width\space = indent377+ columns + sep =\MessageBreak378\the\multicol@leftmargin\space379+ \the\col@number\space380x \the\hsize\space381+ \the\count@\space382x \the\columnsep383}%384\ifvmode\else\errmessage{Multicol Error}\fi385\nointerlineskip386\setbox\z@\hbox{p}\global\dimen\tw@\dp\z@387\moveright\multicol@leftmargin388\hbox to\full@width{%389\process@cols\mult@gfirstbox{%390\ifdim\dp\count@>\dimen\tw@391\global\dimen\tw@\dp\count@ \fi392\box\count@393\hss{\normalcolor\vrule394\@width\columnseprule}\hss}%395\ifdim\dp\mult@rightbox>\dimen\tw@396\global\dimen\tw@\dp\mult@rightbox \fi397\box\mult@rightbox398\rlap{\phantom p}%399}%400\kern-\dimen\tw@401\ifdim\dimen\tw@ = \mc@gridwarn402\PackageWarning{multicol}%403{Very deep columns!\MessageBreak404Grid alignment might be broken}%405\fi406}407\def\reinsert@footnotes{\ifvoid\footins\else408\insert\footins{}\fi}409\def\multi@column@out{%410\ifnum\outputpenalty <-\@M411\speci@ls \else412\ifvoid\colbreak@box\else413\mult@info\@ne{Re-adding forced414break(s) for splitting}%415\setbox\@cclv\vbox{%416\unvbox\colbreak@box417\penalty-\@Mv\unvbox\@cclv}%418\fi419\splittopskip\topskip420\splitmaxdepth\maxdepth421\dimen@\@colroom422\divide\skip\footins\col@number423\ifvoid\footins \else424\leave@mult@footins425\fi426\process@cols\mult@gfirstbox{%427\setbox\count@428\vsplit\@cclv to\dimen@429\set@keptmarks430\ifshr@nking431\setbox\count@432\vbox to\dimen@433{\unvbox\count@\vfill}%434\fi435}%436\setbox\mult@rightbox437\vsplit\@cclv to\dimen@438\set@keptmarks439\ifshr@nking440\setbox\mult@rightbox\vbox to\dimen@441{\unvbox\mult@rightbox\vfill}%442\fi443\ifvoid\@cclv \else444\unvbox\@cclv445\penalty\outputpenalty446\ifvoid\footins\else447\PackageWarning{multicol}%448{I moved some lines to449the next page.\MessageBreak450Footnotes on page451\thepage\space might be wrong}%452\fi453\ifnum \c@tracingmulticols>\thr@@454\hrule\allowbreak \fi455\fi456\ifx\@empty\kept@firstmark457\let\firstmark\kept@topmark458\let\botmark\kept@topmark459\else460\let\firstmark\kept@firstmark461\let\botmark\kept@botmark462\fi463\let\topmark\kept@topmark464\mult@info\tw@465{Use kept top mark:\MessageBreak466\meaning\kept@topmark467\MessageBreak468Use kept first mark:\MessageBreak469\meaning\kept@firstmark470\MessageBreak471Use kept bot mark:\MessageBreak472\meaning\kept@botmark473\MessageBreak474Produce first mark:\MessageBreak475\meaning\firstmark476\MessageBreak477Produce bot mark:\MessageBreak478\meaning\botmark479\@gobbletwo}%480\setbox\@cclv\vbox{\unvbox\partial@page481\page@sofar}%482\@makecol\@outputpage483\global\let\kept@topmark\botmark484\global\let\kept@firstmark\@empty485\global\let\kept@botmark\@empty486\mult@info\tw@487{(Re)Init top mark:\MessageBreak488\meaning\kept@topmark489\@gobbletwo}%490\global\@colroom\@colht491\process@deferreds492\@whilesw\if@fcolmade\fi{\@outputpage493\global\@colroom\@colht494\process@deferreds}%495\mult@info\@ne496{Colroom:\MessageBreak497\the\@colht\space498after float space removed499= \the\@colroom \@gobble}%500\set@mult@vsize \global501\fi}502\def\leave@mult@footins{%503\advance\dimen@-\skip\footins504\advance\dimen@-\ht\footins505}506\def\speci@ls{%507\ifnum\outputpenalty <-\@Mi508\ifnum \outputpenalty<-\@MM509\PackageError{multicol}{Document end510inside multicols environment}\@ehd511\@specialoutput512\else513\ifnum\outputpenalty = -\@Mv514\mult@info\@ne{Forced column515break seen}%516\global\advance\vsize-\pagetotal517\global\setbox\colbreak@box518\vbox{\ifvoid\colbreak@box519\else520\unvbox\colbreak@box521\penalty-\@Mv522\fi523\unvbox\@cclv}524\reinsert@footnotes525\else526\PackageWarningNoLine{multicol}%527{Floats and marginpars not528allowed inside `multicols'529environment!}530\unvbox\@cclv\reinsert@footnotes531\xdef\@freelist{\@freelist\@currlist}%532\gdef\@currlist{}%533\fi534\fi535\else \@doclearpage \fi536}537\def\process@deferreds{%538\@floatplacement539\@tryfcolumn\@deferlist540\if@fcolmade\else541\begingroup542\let\@tempb\@deferlist543\gdef\@deferlist{}%544\let\@elt\@scolelt545\@tempb \endgroup546\fi}547\newif\ifshr@nking548\def\raggedcolumns{%549\@bsphack\shr@nkingtrue\@esphack}550\def\flushcolumns{%551\@bsphack\shr@nkingfalse\@esphack}552\def\balance@columns@out{%553\setbox\mult@box\vbox{%554\ifvoid\colbreak@box\else555\unvbox\colbreak@box\break556\mult@info\@ne{Re-adding557forced break(s) in balancing}%558\fi559\unvbox\@cclv}%560\balance@columns561\global\vsize\@colroom562\global\advance\vsize\ht\partial@page563\unvbox\partial@page564\return@nonemptymark{first}\kept@firstmark565\return@nonemptymark{bot}\kept@botmark566\page@sofar567\penalty\z@568}569\def\balance@columns{%570\get@keptmarks\mult@box571\setbox\mult@box\vbox{%572\penalty-\@M573\unvbox\mult@box574\remove@discardable@items575}%576\@tempdima\topskip577\splittopskip\@tempdima578\@plus\multicolundershoot579\@minus\multicolovershoot580\splitmaxdepth\maxdepth581\setbox\@tempboxa\vsplit\mult@box to\z@582\@tempdima\ht\mult@box583\advance\@tempdima\dp\mult@box584\divide\@tempdima\col@number585\count@\@tempdima586\divide\count@\baselineskip587\dimen@\count@\baselineskip588\advance\dimen@\topskip589\ifdim \dimen@ >\@tempdima590\advance\dimen@-\baselineskip591\fi592\advance\dimen@\c@unbalance\baselineskip593\mult@info\@ne594{Balance columns\on@line:595\ifnum\c@unbalance=\z@\else596(off balance=\number\c@unbalance)\fi597\@gobbletwo}%598\ifnum\dimen@<\topskip599\mult@info\@ne600{Start value601\the\dimen@ \space ->602\the\topskip \space (corrected)}%603\dimen@\topskip604\fi605\vbadness\@M606\vfuzz \col@number\baselineskip607\last@try-\p@608\loop609{\process@cols\mult@grightbox610{\global\setbox\count@611\box\voidb@x}}%612\global\setbox\mult@grightbox613\copy\mult@box614\global\too@badfalse615{\process@cols\mult@firstbox{%616\global\setbox\count@617\vsplit\mult@grightbox to\dimen@618\ifnum\c@tracingmulticols>\@ne619\@tempcnta\count@620\advance\@tempcnta-\mult@grightbox621\divide\@tempcnta \tw@622\message{^^JColumn623\number\@tempcnta\space624badness: \the\badness\space}%625\fi626\ifnum\badness>\c@columnbadness627\ifnum\c@tracingmulticols>\@ne628\message{too bad629(>\the\c@columnbadness)}%630\fi631\global\too@badtrue632\fi633}}%634\boxmaxdepth\maxdepth635\global\setbox\mult@grightbox636\vbox{\unvbox\mult@grightbox}%637\setbox\mult@nat@firstbox638\vbox{\unvcopy\mult@firstbox}%639\ifnum\c@tracingmulticols>\@ne640\message{^^JFirst column641= \the\dimen@\space642(\the\ht\mult@nat@firstbox)}\fi643\ifnum\c@tracingmulticols>\@ne644\message{<> last column =645\the\ht\mult@grightbox^^J}%646\fi647\ifdim\ht\mult@grightbox >\dimen@648\too@badtrue649\ifnum\c@tracingmulticols>\@ne650\typeout{Rejected: last651column too large!}%652\fi653\else654\setbox\@tempboxa655\copy\mult@grightbox656\setbox\z@\vsplit\@tempboxa to\maxdimen657\ifvoid\@tempboxa658\global\setbox\mult@grightbox659\vbox to\dimen@660{\unvbox\mult@grightbox}%661\ifnum\c@tracingmulticols>\@ne662\message{Final badness:663\the\badness}%664\fi665\ifnum\badness>\c@finalcolumnbadness666\global\setbox\mult@grightbox667\vbox to\dimen@668{\unvbox\mult@grightbox\vfill}%669\ifnum\c@tracingmulticols>\@ne670\message{ setting natural671(> \the\c@finalcolumnbadness)}%672\fi673\fi674\else675\too@badtrue676\ifnum\c@tracingmulticols>\@ne677\typeout{Rejected: unprocessed678forced break(s) in last column!}%679\fi680\fi681\fi682\ifdim\ht\mult@nat@firstbox<\dimen@683\ifdim\ht\mult@nat@firstbox>\last@try684\too@badtrue685\ifnum\c@tracingmulticols>\@ne686\typeout{Retry: using natural687height of first column!}%688\fi689\dimen@\ht\mult@nat@firstbox690\last@try\dimen@691\advance\dimen@-\p@692\fi693\fi694\iftoo@bad695\advance\dimen@\p@696\repeat697\if@boxedmulticols\else698\ifdim\dimen@>\@colroom699\dimen@\@colroom700\fi701\fi702\process@cols\mult@rightbox703{\@tempcnta\count@704\advance\@tempcnta\@ne705\setbox\count@\vbox to\dimen@706{%707\vskip \z@708\@plus-\multicolundershoot709\@minus-\multicolovershoot710\unvbox\@tempcnta711\ifshr@nking\vfill\fi}}%712}713\newbox\mult@rightbox714\newbox\mult@grightbox715\newbox\mult@gfirstbox716\newbox\mult@firstbox717\newbox\@tempa\newbox\@tempa718\newbox\@tempa\newbox\@tempa719\newbox\@tempa\newbox\@tempa720\newbox\@tempa\newbox\@tempa721\newbox\@tempa\newbox\@tempa722\newbox\@tempa\newbox\@tempa723\newbox\@tempa\newbox\@tempa724\newbox\@tempa\newbox\@tempa725\newbox\@tempa726\let\@tempa\relax727\@ifundefined{emergencystretch}728{\newdimen\emergencystretch}{}729\def\setemergencystretch#1#2{%730\emergencystretch 4pt731\multiply\emergencystretch#1}732733\def\set@floatcmds{%734\let\@dblfloat\@dbflt735\def\end@dblfloat{\par736\vskip\z@737\egroup738\color@endbox739\@largefloatcheck740\outer@nobreak741\ifnum\@floatpenalty<\z@742\@cons\@deferlist\@currbox743\fi744\ifnum\@floatpenalty=-\@Mii745\@Esphack746\fi}}747\def\kept@topmark{{}{}}748\let\kept@firstmark\@empty749\let\kept@botmark\@empty750\def\return@nonemptymark#1#2{%751\ifx#2\@empty752\else753\mult@info\tw@754{Returned #1 mark:\MessageBreak755\meaning#2}%756\toks@\expandafter{#2}%757\mark{\the\toks@}%758\nobreak759\fi}760\def\get@keptmarks#1{%761\begingroup762\vbadness\@M763\setbox#1\copy#1%764\setbox#1\vsplit#1to\maxdimen765\set@keptmarks766\endgroup767}768\def\set@keptmarks{%769\ifx\kept@firstmark\@empty770\expandafter\gdef\expandafter771\kept@firstmark772\expandafter{\splitfirstmark}%773\ifx\kept@firstmark\@empty\else774\mult@info\tw@775{Set kept first mark:\MessageBreak776\meaning\kept@firstmark%777\@gobbletwo}%778\fi779\fi780\expandafter\def\expandafter\@tempa781\expandafter{\splitbotmark}%782\ifx\@tempa\@empty\else783\global\let\kept@botmark\@tempa784\mult@info\tw@785{Set kept bot mark:\MessageBreak786\meaning\kept@botmark%787\@gobbletwo}%788\fi}%789\def\prep@keptmarks{%790\if@boxedmulticols \else791\get@keptmarks\partial@page792\fi}793\def\remove@discardable@items{%794\unskip\unpenalty\unkern795\unskip\unpenalty\unkern796\unskip\unpenalty\unkern797\unskip\unpenalty\unkern798}799\newif\iftoo@bad800\newcount\c@columnbadness801\c@columnbadness=10000802\newcount\c@finalcolumnbadness803\c@finalcolumnbadness=9999804805\newdimen\last@try806807\newdimen\multicolovershoot808\newdimen\multicolundershoot809\multicolovershoot=0pt810\multicolundershoot=2pt811\newbox\mult@nat@firstbox812\def\mult@info#1#2{%813\ifnum\c@tracingmulticols>#1%814\GenericWarning815{(multicol)\@spaces\@spaces}%816{Package multicol: #2}%817\fi818}819\@namedef{multicols*}{%820\ifinner821\PackageWarning{multicol}%822{multicols* inside a box does823not make sense.\MessageBreak824Going to balance anyway}%825\else826\let\balance@columns@out827\multi@column@out828\fi829\begin{multicols}830}831\@namedef{endmulticols*}{\vfill832\end{multicols}}833\mathchardef\@Mv=10005834\def\columnbreak{%835\ifnum\col@number<\tw@836\PackageError{multicol}%837{\noexpand\columnbreak outside multicols}%838{This command can only be used within839a multicols or multicols* environment.}%840\else841\ifvmode842\penalty -\@Mv\relax843\else844\@bsphack845\vadjust{\penalty -\@Mv\relax}%846\@esphack847\fi848\fi}849\newbox\colbreak@box850\endinput851%%852%% End of file `multicol.sty'.853854855