diff options
Diffstat (limited to 'macros/lollipop/tex/lollipop-output.tex')
-rw-r--r-- | macros/lollipop/tex/lollipop-output.tex | 744 |
1 files changed, 0 insertions, 744 deletions
diff --git a/macros/lollipop/tex/lollipop-output.tex b/macros/lollipop/tex/lollipop-output.tex deleted file mode 100644 index 57b0ef8332..0000000000 --- a/macros/lollipop/tex/lollipop-output.tex +++ /dev/null @@ -1,744 +0,0 @@ -% lollipop-output.tex copyright 1992/3 Victor Eijkhout -% copyright 2014--2016 Vafa Khalighi -% -% -% This program is free software: you can redistribute it and/or modify -% it under the terms of the GNU General Public License as published by -% the Free Software Foundation, either version 3 of the License, or -% (at your option) any later version. -% -% This program is distributed in the hope that it will be useful, -% but WITHOUT ANY WARRANTY; without even the implied warranty of -% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -% GNU General Public License for more details. -% -% You should have received a copy of the GNU General Public License -% along with this program. If not, see <http://www.gnu.org/licenses/>. -% -% -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%%%%%%%%%%%%%%%%% O U T P U T %%%%%%%%%%%%%%% -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - -\@GenericConstruct{PageGrid} - -\newif\if@pagegrid@installed -\ifini{\next@paragraph - {\if@pagegrid@installed \else - \Wmessage{No page grid installed}\fi - }} -\NewTrace:out -\add@PageGrid@default{\text@constructno} -\add@PageGrid@default{\has@marksyes} - -\newtoks\user@overrides -\def\add@user@override#1{\append@to@list{user@overrides}{#1}} - -\newif\if@nubalanceren -\newinsert\botins - -%%%% Page counting -% -% \count0 is the paper counter: -% is increased for every \shipout in the output routine -% \count1 is the page counter: -% you can do with it whatever you like. - -% This appears to the users as if \NewCounter:Page had been done. -% We do it by hand because the number has to be 1. -% -\countdef\sheet@counter=0 -\csarg\countdef{\counter@name{Page}}=1 -\edef\PageValue{\counter@@name{Page}} -\CounterRepresentation:Page=1 -\newtoks\Page@RL %trudge trudge! -\SetCounter:Page=1 - -%%%% Tests -% -\DefineTest:IsRightPage -\DefineTest:IsLeftPage -\DefineTest:IsFirstPage -\DefineTest:IsLastPage -\DefineTest:FlushBottom - -%% anonieme cs'en zijn in gebruik bij opbouw en gebruik %% -% \tempdima : / klad; gebruikt voor hoofdmeting; daarna in \text@column -% \tempdimc : / klad; gebruikt voor voetmeting -% \cs@a : in gebruik door \haalitems - -\def\slotpenalty{-10001} - -\def\@pseudoif#1#2{\tempcounta\escapechar \noesc - \edef\cs@e{\let\CSname{if@\string#1}\CSname{if\string#2}}\cs@e - \escapechar\tempcounta} -\@pseudoif\IsFirstPage\true \@pseudoif\IsLastPage\true -\@pseudoif\IsRightPage\true -\@pseudoif\IsLeftPage\false - -\def\leftright@setup - {\csarg\ifodd{\counter@name{Page}}\relax - \IsRightPage:yes \IsLeftPage:no - \else \IsRightPage:no \IsLeftPage:yes - \fi} -\def\firstpage@setup{\def\cs@a{yes} - \edef\cs@b{\xp\get@placed\xp{\firstmark}{first@page}} - \ifx\cs@a\cs@b \IsFirstPage:yes \else \IsFirstPage:no \fi} -\def\lastpage@setup - {\ifnum\outputpenalty=\slotpenalty\relax - \Tmessage[out]{Last page}\IsLastPage:yes - \else \IsLastPage:no - \fi} -\def\output@setup{\let\par\@par - \parindent\z@ \leftskip\z@ \rightskip\z@ \lineskip\z@ - \default@everypar \MainFont - \leftright@setup \firstpage@setup \lastpage@setup - \@colnum\@ne \output@set@page@width - \Tmessage[out]{Incoming text: (\the\ht\@cclv+\the\dp\@cclv) x - \the\wd\@cclv} - } - -%%%%%%%%%%%%%%%% Head, Foot, Body -% -% Separate boxes are allocated for the page -% head, body, and foot. -% Head and foot contain static material, the -% body contains the text. The body can be empty. -% -\newbox\page@head@box \newtoks\page@head@toks -\page@head@toks{} -\add@PageGrid@default - {\page@head@toks={\setbox\page@head@box=\vbox\bgroup}} -\newdimen\head@height -\def\measure@head{\head@height=\ht\page@head@box - \advance\head@height\dp\page@head@box - \Tmessage[out]{Head measurement: \the\head@height}} - -\newbox\page@foot@box \newtoks\page@foot@toks -\page@foot@toks{} -\add@PageGrid@default{\page@foot@toks= - {\setbox\page@foot@box=\vbox\bgroup}} -\newdimen\foot@height -\def\measure@foot{\foot@height=\ht\page@foot@box - \advance\foot@height\dp\page@foot@box - \Tmessage[out]{Foot measurement: \the\foot@height}} - -\def\goal@height@trace - {\tempdimb\text@height - \multiply\tempdimb\ifnum\user@n@cols=\m@ne\n@cols\else\user@n@cols\fi - \Tmessage[out]{Aim for text height: \the\text@height\@space - \ifnum\user@n@cols>\m@ne (\the\user@n@cols\@space columns; - total height: \the\tempdimb) - \else\ifnum\n@cols>\@ne (\the\n@cols\@space columns; - total height: \the\tempdimb) - \fi\fi}} - -\def\report@body@measurement{ - \Tmessage[out]{Body measurement: - (\the\ht\page@body@box+\the\dp\page@body@box) - x\the\wd\page@body@box} - \ifvoid\topins\else - \Tmessage[out]{Top inserts: \the\ht\topins+\the\dp\topins}\fi - \ifvoid\botins\else - \Tmessage[out]{Foot inserts: \the\ht\footins+\the\dp\footins}\fi - } - -\newbox\page@body@box \newtoks\page@body@toks -\page@body@toks{} -\add@PageGrid@default - {\page@body@toks={\setbox\page@body@box=\vbox\bgroup}} - -\def\finish@part@routines - {\append@to@list{page@head@toks}{\egroup\measure@head} - \append@to@list{page@foot@toks}{\egroup\measure@foot} - \append@to@list{page@body@toks}{\egroup}} - -\newbox\WholePage -\def\make@page{ - \setbox\WholePage=\vbox - {\box\page@head@box - \ifabut@head\nointerlineskip\fi - \ifabut@foot\tempdima\dp\page@body@box\fi - \box\page@body@box - \ifabut@foot\ifvoid\page@foot@box\else - \kern-\tempdima\relax\nointerlineskip\fi\fi - \box\page@foot@box}%\showbox\WholePage - } - -% \vsize has two possibilities: -% 1/ it is calculated dynamically by subtracting -% body and foot height from the total page height. -% If \vsize is different from \ht255, the page -% is thrown back. -% 2/ it is set and the page has whatever size results. -% -\newif\iftext@fits -\def\see@if@text@fits - {{\multiply\text@height\n@cols - \tempdima\text@height - \advance\tempdima-\vsize - \ifdim\tempdima<\z@ \tempdima=-\tempdima \fi - \ifdim\tempdima<.1pt\relax - \global\text@fitsyes - \Tmessage[out]{Page accepted.} - \else \global\text@fitsno - \Tmessage[out]{Text does not fit. (vsize=\the\vsize)} - \global\vsize=\text@height - \fi}} - -% Multicolumn stuff -% -% every PageGrid macro installs \n@cols, but the user -% can specify a different number with \NumberOfColumns:x -% This sets \user@n@cols which is usually -1 -% -\newcount\n@cols \n@cols\@ne -\newcount\@colnum -\newcount\user@n@cols \user@n@cols\m@ne -\Distance:GutterWidth=1cm -\def\NumberOfColumns:#1 - {\user@n@cols=\w@w{#1}\relax - \Tmessage[out]{Switch to \the\user@n@cols\@space columns} - \hsize\page@width - \tempdima\GutterWidth \multiply\tempdima\user@n@cols - \advance\tempdima-\GutterWidth - \advance\hsize-\tempdima \divide\hsize\user@n@cols - \Tmessage[out]{New hsize: \the\hsize}} -\add@user@override{\ifnum\user@n@cols=\m@ne\else - \csarg\let{\output@routine @body}\trivial@body - \n@cols\user@n@cols - \Tmessage[out]{User override: \the\n@cols\@space columns.}% - \fi} - -\def\trivial@body{\Tmessage[out]{Trivial multicolumn (\the\n@cols) setup} - \@colnum\@ne \splittopskip\topskip - \setbox\page@body@box\hbox{\text@column} - \@colnum\tw@ - \ifnum\n@cols>\@ne - \loop \setbox\page@body@box\hbox{\unhbox\page@body@box - \kern\GutterWidth \text@column} - \advance\@colnum\@ne - \ifnum\@colnum>\n@cols\else\repeat - \fi} -\def\real@text@column{\begingroup\vbadness\@M - \setbox\z@ - \ifnum\n@cols=\@ne - \vbox to \vsize{\boxmaxdepth\maxdepth - \ifvoid\topins\else\unvbox\topins \fi - \unvbox\@cclv % open up \box255 - \ifvoid\footins\else % footnote info is present - \vskip\skip\footins - \footnoterule - \unvbox\footins \fi}% - \Tmessage[out]{Column: \the\ht\z@+\the\dp\z@}% - \else - \vsplit\@cclv to \text@height - \Tmessage[out]{Column \the\@colnum: \the\ht\z@+\the\dp\z@}% - \fi \ifnum\badness=\@M\Wmessage{Underfull textcolumn}\fi - \box\z@ \endgroup} - -\def\CurrentShipout{\shipout\box\WholePage} -\let\OriginalShipout\CurrentShipout -\newif\ifCountSheets \CountSheetsyes -\def\finish@off@page{\Tmessage[out]{Whole page: - \the\ht\WholePage+\the\dp\WholePage} - {\def\protect{\noexpand\protect\noexpand} - \def\cprotect{\expandafter\string} - \normalesc - \ifsink@pages - \message{Page sunk [\the\sheet@counter.\csarg\the - {\counter@name{Page}}]} - \deadcycles\z@ - \else \CurrentShipout - \ifCountSheets\global\advance\sheet@counter\@ne\fi - \fi - } - \global\step@counter{Page} - } -\def\shipout@and@unbox@remainder{ - \iftext@fits \make@page \finish@off@page \fi - \ifvoid\@cclv \Tmessage[out]{Shipped out whole page} - \else \Tmessage[out]{Part of page not shipped: \the\ht\@cclv} - \unvbox\@cclv - \ifnum\outputpenalty=\@M\else\penalty\outputpenalty\fi - \fi - \iftext@fits \ifother@grid\install@next@page@grid - \else\Tmessage[out]{Same grid once again.}\fi - \fi} - -\newif\ifsink@pages -\sink@pagesno -\let\NoPages\sink@pagesyes \let\PagesOut\sink@pagesno - -% this is a mess. clear up please. -\newtoks\page@options -\def\options@to@pagepart - {\append@toks@cs@to@list{page@\page@part @toks}\page@options - \page@options={}} -\add@PageGrid@default{\csarg\newtoks{\@name @routine} - \def\@current@options@list{page@options} - \def\page@part{head}\page@options{} - } - -\def\install@output@routine#1{{\globaldefs\@ne - \output=\xp{\csname#1@routine\endcsname}% - \def\output@routine{#1}% - \Tmessage[out]{Install output: #1 ---}% - \@pagegrid@installedyes - \csname#1@install@parameters\endcsname - }} - -\newdimen\text@height - -% During the load of this file we build up a list of -% defaults and test. These are then turned into PageGrid@default -% at the end of this file. -\newtoks\otr@settings \newtoks\otr@conditions -\def\add@otr@setting#1{\append@to@list{otr@settings}{#1}} -\def\del@otr@setting#1{\del@tok@from@list{otr@settings}#1} -\def\add@otr@condition#1{\append@to@list{otr@conditions}{#1}} -\def\set@otr@stuff{\def\cs@e##1{ - \edef\cs@f{\nxp\adds@PageGrid@default{\global##1={\the##1}}} - \cs@f} - \cs@e\otr@settings \cs@e\otr@conditions} -%\showthe\otr@settings \showthe\otr@conditions -%\showthe\PageGrid@defaults} - -\def\@DefinePageGrid{\options@to@pagepart \finish@part@routines - \csarg\edef{\@name @install@parameters}{% - \vsize\the\height@toks\relax \set@topskip - \multiply\vsize - \nxp\ifnum\user@n@cols>\@ne\user@n@cols\relax - \nxp\else\the\n@cols\relax\nxp\fi - \hsize\the\width@toks\relax - \def\CSname{\@name @page@width}% - {\the\width@toks\relax}% - \nxp\Tmessage[out]{Initial hsize: \nxp\the\hsize}% - \ifwidth@of@text - \else \nxp\hsize@from@page@width - \ifnum\the\n@cols>1 - \divide\hsize\the\n@cols\relax\fi - \fi - \nxp\Tmessage[out]{Installed hsize: \nxp\the\hsize}% - } - \csarg\edef{\@name @otr@parameters}{% - \the\otr@settings - \xp\@empty\the\otr@conditions - \CSname{height@of@text\ifheight@of@text yes\else no\fi}% - \text@height\the\height@toks\relax - \CSname{width@of@text\ifwidth@of@text yes\else no\fi}% - \n@cols\the\n@cols\relax} - \csarg\edef{\@name @head@foot}{\the\page@head@toks - \the\page@foot@toks - \ifheight@of@text\else - \advance\text@height-\head@height - \advance\text@height-\foot@height - \fi} - \csarg\edef{\@command @body}{\the\page@body@toks} - \csarg\edef{\@command}{% - \nxp\EjectPage - \nxp\install@output@routine{\@name}% - %\global\hsize= \ifseen@text \CSname{\@name @text@width}% - % \else \CSname{\next@page@grid @text@width}% - % \fi - \outer@start@commands \after@indent - } - \csarg\edef{\@name @routine}{ - \nxp\Tmessage[out]{======== Output routine: \@name\@space ==========} - \nxp\output@setup - \CSname{\@name @otr@parameters} - \nxp\the\user@overrides - \CSname{\@name @head@foot} - \nxp\goal@height@trace - \ifnum\n@cols=\z@ %% no text, trivial case. - \setbox\page@body@box\voidb@x - \nxp\text@fitsyes - \else \nxp\ifragged@bottom\nxp\text@fitsyes - \nxp\else\nxp\see@if@text@fits\nxp\fi - \nxp\iftext@fits - \let\nxp\text@column\nxp\real@text@column - \tempcounta\hbadness\hbadness\@M\CSname{\@name @body} - \nxp\ifnum\badness>\tempcounta - \nxp\Wmessage{Underfull page body}\nxp\fi - \hbadness\tempcounta\nxp\report@body@measurement - \nxp\fi - \fi - \nxp\shipout@and@unbox@remainder - \nxp\Tmessage[out]{==========}% - } - \xp\install@output@routine\xp{\@name} - } - -% not operative yet. -\new@dimen{user@page@height}{\m@ne sp} -\new@dimen{user@text@height}{\m@ne sp} -\def\Height:#1=#2 - {\switch {\if\EqualString{#1}} - {Page} {\user@page@height\w@w{#2}} - {Text} {\user@text@height\w@w{#2}} - {default} {\Wmessage{Unknown option: `Height:#1=#2'}} - \endswitch} - -%-- height of page/text -% -% the \ifheight@of@text conditional is also used -% during run time. -% -\newif\ifheight@of@text -\newtoks\height@toks \newdimen\page@height -\add@PageGrid@default{\height@of@textyes\height@toks{20cm}} -\add@PageGrid@default{\let\text@lines\relax} -\@PageGridOption{height}{ - \switch {\if\EqualString{#1}} - {page} {\height@of@textno} - {text} {\height@of@textyes} - {lines} {\height@of@textyes - \edef\cs@e{\def\nxp\text@lines{\@w@w{#2}}}\cs@e} - {default} {\Wmessage{Strange modifier: `height:#1=#2'}} - \endswitch - \edef\cs@e{\nxp\height@toks={\@w@w{#2}}}\cs@e - } -% Make sure that the \Height command is not used! -\@PageGridNOOP{Height} - -%%%% -% -% Width handling -% -\newif\ifwidth@of@text -\newtoks\width@toks \newdimen\page@width -\@PageGridOption{width}{ - \switch {\if\EqualString{#1}} - {page} {\width@of@textno} - {text} {\width@of@textyes} - {default} {\Wmessage{Strange modifier: `width:#1=#2'}} - \endswitch - \edef\cs@e{\nxp\width@toks={\@w@w{#2}}}\cs@e - } - -% Make sure that the \Width command is not used! -\@PageGridNOOP{Width} - -% At installation of the output routine, calculate the hsize -% if the page width is given. -% -\def\hsize@from@page@width - {\def\text@column{\hskip\z@\relax}% - \everyhbox{}\everyvbox{}% - \let\maybe@to@page@width\relax - \the\page@body@toks -%\ifdim\wd\page@body@box>0pt \showthe\page@body@toks \fi - \Tmessage[out]{Width page body minus text: \the\wd\page@body@box}% - \global\advance\hsize-\wd\page@body@box} - -% At the start of the output routine, calculate the page width -% from the hsize (which may have been tinkered with), or set to -% routine-specific page width (which may also have been changed). -% -\def\output@set@page@width - {\ifwidth@of@text - \edef\text@column{\hskip\the\wd\@cclv\relax\hskip\z@\relax}% - \let\maybe@to@page@width\relax - \csn\output@routine @body\ecs - \page@width\wd\page@body@box - \Tmessage[out]{Deduced page width: \the\page@width} - \else \def\maybe@to@page@width{ to \page@width} - \page@width\csn\output@routine @page@width\ecs\relax - \fi} - -%%%% Topskip -% initially the outer topskip is picked up, unless -% the option 'topskip' is given. -% -\add@PageGrid@default - {\edef\set@topskip - {\topskip\the\topskip\relax\splittopskip\topskip}} -\@PageGridOption{topskip}{ - \edef\cs@e - {\def\nxp\set@topskip{\topskip\@w@w{#1}\relax - \splittopskip\topskip}} - \cs@e - } -% ragged bottom the way it's done in plain TeX. -\newif\ifragged@bottom -\add@otr@setting{\ragged@bottomno} -\@PageGridOption{raggedbottom}{ - \del@otr@setting{\ragged@bottomno} - \add@otr@setting{\ragged@bottomyes} - \if\IsEmptyList{#1}\@add@toks{\var@topskip{60pt}} - \else\edef\cs@e{\nxp\@add@toks{\nxp\var@topskip{\@w@w{#1}}}} - \cs@e - \fi} -\def\var@topskip#1{\tempdima\topskip\tempskipa\z@ plus #1\relax - \topskip\tempdima \advance\topskip\tempskipa - \splittopskip\topskip} - -%-- textband -\newif\ifin@textband \add@PageGrid@default{\in@textbandno} -\@PageGridOption{textband}{ - \switch {\if\EqualString{#1}} - {start} {\start@textband} - {stop} {\stop@textband} - {default} {\Wmessage{Strange modifier `textband:#1'}} - \endswitch} -\newdimen\text@width -\def\start@textband - {\options@to@pagepart - \b@group[textband]\@hmodeyes\in@textbandyes - \@add@toks{\hbox \maybe@to@page@width\bgroup} - } -\def\stop@textband - {\@add@toks{\egroup} \e@group[textband] - \ifseen@text \before@textno - \def\page@part{body} \options@to@pagepart - \def\page@part{foot} - \fi} - -%-- band -\newif\ifabut@foot \newif\ifabut@head -\add@otr@setting{\abut@footno \abut@headno} -\@PageGridOption{band}{ - \switch {\if\EqualString{#1}} - {start} {\@add@toks{\hbox to \page@width\bgroup} - \b@group[band]\@hmodeyes - \def\block@closing{\@add@toks{\hfil\egroup} - \e@group[band]}} - {invisible} {\@add@toks{\setbox\tempboxa - \hbox to \page@width\bgroup} - \b@group[band]\@hmodeyes - \def\block@closing{\@add@toks{\hfil\egroup} - \ifbefore@text - \@add@toks{\vtop to\z@{\kern\z@\box\tempboxa\vss} - \nointerlineskip} - \del@otr@setting{\abut@headno} - \add@otr@setting{\abut@headyes} - %\global\abut@headyes - \else \@add@toks{\nointerlineskip - \vbox to\z@{\vss\box\tempboxa}} - \del@otr@setting{\abut@footno} - \add@otr@setting{\abut@footyes} - %\global\abut@footyes - \fi\e@group[band]}} - {stop} {\block@closing} - {default} {\Wmessage{Strange modifier `band:#1'}} - \endswitch} - - -%-- next page grid -\newif\ifother@grid -\add@PageGrid@default{\other@gridno} -\add@otr@setting{\other@gridno} -\add@otr@condition{\ifother@grid - \def\nxp\install@next@page@grid - {\nxp\install@output@routine{\next@page@grid}}% - \fi} -\@PageGridOption{NextPageGrid}{\other@gridyes - \del@otr@setting{\other@gridno} - \add@otr@setting{\other@gridyes} - \def\next@page@grid{#1} - } - -%-- text -\add@PageGrid@default{\n@cols\z@} -\newif\ifbefore@text -\newif\ifseen@text %this one is also used by 'external' -\add@PageGrid@default{\before@textyes \seen@textno} -\@PageGridOption{text}{\global\seen@textyes - \ifin@textband\else\Emessage{'text' has to be in 'textband'}\fi - \global\advance\n@cols\@ne - \@add@toks{\text@column}} - -%%%%%%%%%%%%%%%%%%%%%%% user commands - -\def\leegbladinvoegen{\@g@stapteller{Page}} -\def\EjectPage{\vfil\eject} -\def\ToRecto{\csarg\ifodd{\counter@name{Page}}\else\step@counter{Page}\fi} -\def\ToVerso{\csarg\ifodd{\counter@name{Page}}\step@counter{Page}\fi} - -% less useful user command (mostly for formatting the manual :-) -% -\newbox\saved@page@box \newdimen\saved@hsize \newcount\saved@pageno -\newtoks\saved@mark@items -\def\SuspendOutput{\xdef\saved@output@routine{\output@routine}% - \let\saved@shipout\CurrentShipout - \global\saved@hsize\hsize \global\saved@mark@items\mark@items - \global\saved@pageno\cs@counter@name{Page}% - \output{\global\setbox\saved@page@box\box\@cclv - \Tmessage[out]{Suspend output @\the\saved@pageno; - saved (\the\ht\saved@page@box+\the\dp\saved@page@box) - x \the\wd\saved@page@box}% - \global\output{\Emessage{You should not call output now!}% - \OriginalShipout\box\@cclv}}% - \eject - } -\def\ResumeOutput - {\xp\install@output@routine\xp{\saved@output@routine}% - \let\CurrentShipout\saved@shipout - \global\hsize\saved@hsize \global\mark@items\saved@mark@items - \global\cs@counter@name{Page}\saved@pageno - \unvbox\saved@page@box - \Tmessage[out]{Resume output}% - } - -%%%%%%%%%%%%%%%% Marks -%%%% -\NewTrace:mark -\def\FirstPlaced:#1 - {\Tmessage[mark]{First Placed #1 from \firstmark}% - \xp\get@placed\xp{\firstmark}{#1}} -\def\PreviousPlaced:#1 - {\Tmessage[mark]{Previous Placed #1 from \topmark}% - \xp\get@placed\xp{\topmark}{#1}} -\def\LastPlaced:#1 - {\Tmessage[mark]{Last Placed #1 from \botmark}% - \xp\get@placed\xp{\botmark}{#1}} -\def\get@placed#1#2{% - \get@@placed{#2}#1{SM}{}$}% SM: StopMarker -\def\get@@placed#1#2#3{\if\EqualStringX{#2}{SM}\xp\take@to@dollar - \else\if\EqualStringX{#1}{#2}% - \maybe@uppercase{#3}\xp\xp\xp\take@to@dollar - \else\xp\xp\xp\get@@placed\fi - \fi{#1}} -\ifini{\newtoks\mark@items} - % \newtoks\mark@toks % is this one used? - -\newif\ifhas@marks -\add@generic@default{\has@marksno} - % only yes in heading and output routine. - % it seems that you can have page breaks at marks... -\@GenericOption{nomarks}{\has@marksno} -\def\add@mark@item#1{\csarg\newtoks{mark@toks@#1}% - \Tmessage[mark]{Adding mark item #1}% - \global\mark@items\xp{\the\mark@items{#1}}} -\def\refresh@mark@item#1#2{\csarg\global{mark@toks@#1}{#2}} -\def\get@mark@items#1{\if\EqualStringX{#1}{SM}% - \else{#1}{\csarg\the{mark@toks@#1}}\xp\get@mark@items - \fi} -\def\place@mark{\mark{\xp\get@mark@items\the\mark@items{SM}}} - -% this one should be defined in document.tex -\add@mark@item{first@page} - -% Page wide rule - -\@PageGridOption{pagerule}{ - \@add@toks{\hrule width\page@width\relax\nobreak}} - -% Set default otr@settings and otr@conditions -\set@otr@stuff - -\endinput - -92/10/24 raggedbottom in progress -92/11/04 splittopskip made equal to topskip -92/11/14 messed with otr@xyz token lists -92/11/15 warning on underfull text column; - ragged bottom still not working properly -93/01/17 box \WholePage, new definition of \CurrentShipout - - -%%%%%%%%%%%%%%%%%%%%%% Old Stuff; maybe useful, maybe not - -\newskip\@topS \newskip\@botS -{\noeol -\othercr -\gdef\topillustratie{\bgroup\othercr \@topill} -\gdef\@topill:#1=#2^^M{\edef\cs@e{\gdef\CSname{@topS#1}{#2}} - \cs@e \global\advance\@topS #2\egroup} -\gdef\botillustratie{\bgroup\othercr \@botill} -\gdef\@botill:#1=#2^^M{\edef\cs@e{\gdef\CSname{@botS#1}{#2}} - \cs@e \global\advance\@botS #2\egroup}} - -\def\@wisill{\global\@topS\z@ \global\@botS\z@ - \csarg\gdef{@topS1}{\z@}\csarg\gdef{@botS1}{\z@} - \csarg\gdef{@topS2}{\z@}\csarg\gdef{@botS2}{\z@} - \csarg\gdef{@topS3}{\z@}\csarg\gdef{@botS3}{\z@} - } -\@wisill - -\newtoks\@stramienlijst -\def\invoerpad{} -\def\opmaak: #1\par{\@stramienlijst={} - \def\cs@a##1 {\eqstring{##1}{klaar}{}% - {\append@to@list{@stramienlijst}{\@probeerstramien ##1;} - \cs@a}} - \cs@a #1klaar }%% let op de significante spaties!! - %% en de spatie achter het laatste stramien komt van de ^^M -\def\invoer: #1 { - \def\@probeerstramien ##1;{\csn ##1\ecs - \message{Ik probeer het met opmaak: ##1} - \@installeertellers{##1} - \input \invoerpad#1.tex - \vfill\eject - \@bewaartellers{##1} - } - \the\@stramienlijst} - -%% uitloop van vorige output routine -% iftempf: als pagina geen uitloop gebruikt, direct eventuele -% uitloop leeg gooien. -% laatste pagina: tempboxa <- vbox{unvcopy255} -% er wordt een pagina uitgeworpen: -% - 255 is void: invoer is op, dus uitlopen -% als dit de laatste pagina was -% - 255 non-void: er is iets terug te werpen; dit was kennelijk niet -% de laatste pagina, dus geen uitloop. - -\newbox\@uitloop \newbox\@tempuitloop \newif\ifisereenuitloop - \Tmessage[out]{Aangetroffen uitloop: \the\ht\@uitloop+\the\dp\@uitloop} - -%-- uitloop -% mag alleen in kop of voet voorkomen. -\setbox\@tempuitloop= - \vbox{\ifvoid\topins\else\unvcopy\topins\fi - \unvcopy\@cclv\kern\z@} -\setbox\@tempuitloop=\hbox{} -\@PageGridOption{uitloop}{\tempfyes - \@add@toks{\Tmessage[out]{Uitloop wordt verwerkt.}% - \copy\@uitloop - }} - - \iftempd - \iftempc \Tmessage[out]{Eerste pagina, derhalve:} - \@loopnietuit \else \@loopuit \fi - \else \Tmessage[out]{Niet de laatste pagina, derhalve:} - \@loopnietuit \fi - - \iftempf \else \nxp\@uitloopwegwerpen \fi %geheugenbesparing. - -\def\@loopuit{\global\isereenuitloopyes - \global\setbox\@uitloop=\box\@tempuitloop - \Tmessage[out]{Uitloop: \the\ht\@uitloop+\the\dp\@uitloop}} -\def\@loopnietuit{\global\isereenuitloopno \@uitloopwegwerpen} -\def\@uitloopwegwerpen{ - \Tmessage[out]{Uitloop weggegooid: \the\ht\@uitloop+\the\dp\@uitloop} - \global\setbox\@uitloop=\hbox{}} - -%-- veld %% is deze nog nodig nu we 'tekstblok' generisch hebben? -\@PageGridOption{veld}{ - \eqstring{#1}{stop}% - {\@add@toks{\egroup}}% - {\@add@toks{\vtop\bgroup\kern0cm} - \eqstring{#1}{uitvullen}{}% - {\@add@toks{\hsize=\w@w{#1}} - \iftempc\advance\text@width-\w@w{#1}\fi} - }} -%-- parallel Nog eens goed over nadenken. -\@PageGridOption{parallel}{ - \eqstring{#1}{stop}% - {\@add@toks{\vfil\egroup\egroup}}% - {\@add@toks{\vtop\bgroup\kern0cm - \vbox to \vsize\bgroup}% dit is fout. - \eqstring{#1}{uitvullen}{}% - {\iftempc\advance\text@width-\w@w{#1}\relax\fi - \@add@toks{\hsize=\w@w{#1}}} - }} -%-- kolommenbalanceren -% heeft alleen zin voor meerkoloms uitvoer, -% werkt alleen op laatste pagina -\@PageGridOption{kolommenbalanceren}{ - \eqstring{#1}{}{\tempgyes}{\csn tempg#1\ecs}} - -\endinput - -% 2016/04/14 Added \footnoterule to \real@text@column
\ No newline at end of file |