diff options
author | Karl Berry <karl@freefriends.org> | 2009-09-14 00:54:47 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2009-09-14 00:54:47 +0000 |
commit | 5fd4c5ab02bceb9a6c3085484c208dd114c81091 (patch) | |
tree | ab4a7b56ac3fb69c86c60d2f97b7761868d4c485 /Master/texmf-dist/tex/plain/misc | |
parent | 6860636ba19674e7a3d1f10be92700ec5d08705f (diff) |
placeins-plain update
git-svn-id: svn://tug.org/texlive/trunk@15279 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/plain/misc')
-rw-r--r-- | Master/texmf-dist/tex/plain/misc/placeins.tex | 135 |
1 files changed, 0 insertions, 135 deletions
diff --git a/Master/texmf-dist/tex/plain/misc/placeins.tex b/Master/texmf-dist/tex/plain/misc/placeins.tex deleted file mode 100644 index 1f3a7211c47..00000000000 --- a/Master/texmf-dist/tex/plain/misc/placeins.tex +++ /dev/null @@ -1,135 +0,0 @@ -% P L A C E I N S . T E X ver 2.0 Mar 3, 1995 -% -% By Donald Arseneau <asnd@reg.triumf.ca> -% -% Insertions that keep their place. -% -% This TeX file provides various mechanisms (for plain TeX and close -% relatives) to let insertions (footnotes, topins, pageins, etc.) float -% within their appropriate section, but to prevent them from intruding -% into the following section, even when sections do not normally begin -% a new page. (If your sections normally begin a new page, just use -% \supereject to flush out insertions.) -% -% Different combinations of insertions can be controlled with different -% commands: -% -% \par\penalty-20029 -% If there are any insertions that will not fit on the current page, -% a \supereject is performed and the following text will continue at -% the top of a page after all insertions. If all insertions do fit -% on the current page, then the following text will continue -% immediately on this page. -% \par\penalty-20030 -% Like above, except that if there are any footnotes at all on the -% current page, the section must begin on the next page. (This is so -% no footnote text from section 1 will appear beneath the beginning -% of section 2.) -% \par\penalty-10029 -% If any insertions cannot fit on the current page, eject them, and -% then allow the following section to begin immediately on the same -% page as the last insert. If all insertions do fit on the current -% page, then the following text will continue immediately on this -% page. -% \barrier{\eject}{\topins} -% If there are any pageinserts or topinserts that do not fit on the -% current page, eject them, and then allow the following section to -% begin immediately on the same page as the last insert. Split -% footnotes or other insertions are allowed to intrude into the next -% section. -% \barrier{\supereject}{\topins} -% Like the \barrier command above, but if any inserts are ejected -% the following section will begin at the top of a new page (like -% \supereject). -% \barrier{...}{\footins} -% *** NOT ALLOWED *** You will get spurious space and footnote-rules -% at the bottom of pages! -% \barrier{...}{\margins} -% If you define other insertion classes, such as marginal notes, you -% can use \barrier for them too. But only if \skip\margins=0pt. -% You must also add any new insertion classes to the definition of -% \placerestoreoutput -% -% How to use: First, \input this file (of course!). Then, at the beginning -% of a new section, or at any boundary that insertions should not cross, put -% one of the commands listed above. Presumably, you will actually put these -% commands at the start of your own \section or \startsection macro; that is -% why they are non mnemonic! -% -% There is a slight chance that a footnote may be separated from its reference -% in the text after \penalty-xxxxx when there are no split insertions. (LaTeX -% has the same possibility at every float!) - -\chardef\noplaceoutput\catcode`\@ -\catcode`\@=11 - -\edef\zero@skip{\the\z@skip} - -\def\barrier#1#2{\par\begingroup - \ifdim\skip#2>\z@{\newlinechar10\errhelp{\barrier#2may produce some spurious - extra material on the page, ^^J but I will try anyway.}\errmessage{Bad use - of \string\barrier}}% - \fi - \skip@\lastskip \edef\next{\the\skip@}\ifx\next\zero@skip\else\vskip-\skip@\fi - \penalty\z@ % update page parameters - \fam-\insertpenalties - \insert#2{\floatingpenalty\@ne}% - \ifx\next\zero@skip\else\vskip\skip@\fi - \advance\fam\insertpenalties % 0: no held; 1: held over - \expandafter\endgroup - \ifnum\fam=\@ne % then do eject -% \message{There are held-over \string#2 inserts; performing \string#1. }% - \ifdim\pagetotal<\topskip \leftline{}\kern-\topskip\fi % avoid empty list - {\dimen@\pagetotal \advance\dimen@\pagedepth - \ifdim\dimen@<\pagegoal\vfill\fi}% - #1\@barrier{#1}{#2}\else -% \message{There are no held-over \string#2 inserts. \space}% -\fi -} - -\def\placeinsoutput{% -\ifnum\outputpenalty=-20030\relax % eject if any footnotes - \ifvoid\footins\else - \fam\insertpenalties \advance\fam\@ne \insertpenalties\fam - \fi \outputpenalty=-20029\relax -\fi -\ifnum\outputpenalty=-20029\relax % Check for `supereject' flag - \ifnum\insertpenalties>\z@ % something is being held over, must get it out -% \message{Forcing insertions on their own pages. \space}% - \ifvoid\footins \r@ggedbottomtrue \else \advance\skip\footins 0ptplus1fil\fi - \noplaceoutput % performs \supereject - \else % must rejoin seamlessly: - \placerestoreoutput - \fi -\else % check for other flag... - \ifnum\outputpenalty=-10028 % in the middle of ejecting - \ifnum\insertpenalties=\z@ \global\setbox\@cclv\vbox{}\fi - \outputpenalty=-10029 - \fi - \ifnum\outputpenalty=-10029\relax % section start - \ifnum\insertpenalties>\z@ % something is being held over, must get it out -% \message{Forcing insertions. \space}% - \ifvoid\footins \r@ggedbottomtrue \else \advance\skip\footins 0ptplus1fil\fi - \noplaceoutput % performs \eject, perhaps repeatedly: - \leftline{}\kern-\topskip \penalty-10028\relax % (like \dosupereject) - \else % must rejoin seamlessly: - \placerestoreoutput - \fi - \else % just a regular page break - \noplaceoutput - \fi -\fi -} - -% there is a slim chance that footnotes may lose their place. -\def\placerestoreoutput{% - \ifvoid\footins\else\insert\footins{\unvbox\footins}\fi - \ifvoid\topins\else\insert\topins{\unvbox\topins}\fi -% If you have other floating insertion classes, do the same here. - \unvbox\@cclv -} - -\catcode`\@=\noplaceoutput - -\edef\noplaceoutput{\the\output} -\output{\placeinsoutput} |