]> mj.ucw.cz Git - ucwmac.git/blobdiff - ucwmac.tex
ucw-ref: Fixed bug in \pageid
[ucwmac.git] / ucwmac.tex
index 3bb1091146d7f71806812b0b67e52ddec8b003d1..0d2c9061071c31b735af8156c9489ec30bf791de 100644 (file)
@@ -1,129 +1,6 @@
-% We'll use internal macros of plain TeX
-\catcode`@=11
+% Emulate behavior of historic ucwmac
 
-%%% PDF output switch %%%
+\input ucwmac2.tex
 
-\newif\ifpdf
-\pdffalse
-
-\ifx\pdfoutput\undefined
-\else\ifnum\pdfoutput>0
-       \pdftrue
-\fi\fi
-
-%%% Page size and margins %%%
-
-\newdimen\pagewidth
-\newdimen\pageheight
-\newdimen\leftmargin
-\newdimen\rightmargin
-\newdimen\topmargin
-\newdimen\bottommargin
-\newdimen\evenpageshift
-
-\def\setuppage{%
-       \hsize=\pagewidth
-       \advance\hsize by -\leftmargin
-       \advance\hsize by -\rightmargin
-       \vsize=\pageheight
-       \advance\vsize by -\topmargin
-       \advance\vsize by -\bottommargin
-       \hoffset=\leftmargin
-       \advance\hoffset by -1truein
-       \voffset=\topmargin
-       \advance\voffset by -1truein
-       \ifpdf
-               \pdfpagewidth=\pagewidth
-               \pdfpageheight=\pageheight
-       \fi
-}
-
-\def\sethmargins#1{\leftmargin=#1\relax\rightmargin=#1\relax\evenpageshift=0pt\relax}
-\def\setvmargins#1{\topmargin=#1\relax\bottommargin=#1\relax}
-\def\setmargins#1{\sethmargins{#1}\setvmargins{#1}}
-
-\def\setinneroutermargin#1#2{\sethmargins{#1}{#2}\evenpageshift=\rightmargin\advance\evenpageshift by -\leftmargin}
-
-\def\defpaper#1#2#3{\expandafter\def\csname paper-#1\endcsname{\pagewidth=#2\pageheight=#3\setuppage}}
-\def\setpaper#1{%
-       \expandafter\let\expandafter\currentpaper\csname paper-#1\endcsname
-       \ifx\currentpaper\relax
-               \errmessage{Undefined paper format #1}
-       \fi
-       \currentpaper
-}
-
-\def\landscape{%
-       \dimen0=\pageheight
-       \pageheight=\pagewidth
-       \pagewidth=\dimen0
-       \setuppage
-}
-
-\defpaper{a3}{297truemm}{420truemm}
-\defpaper{a4}{210truemm}{297truemm}
-\defpaper{a5}{148truemm}{210truemm}
-\defpaper{a6}{105truemm}{148truemm}
-\defpaper{letter}{8.5truein}{11truein}
-\defpaper{legal}{8.5truein}{14truein}
-
-\setmargins{1truein}
-\setpaper{a4}
-
-%%% Placing material at specified coordinates %%%
-
-% Set all dimensions of a given box register to zero
-\def\smashbox#1{\ht#1=0pt \dp#1=0pt \wd#1=0pt}
-\def\smashedhbox#1{{\setbox0=\hbox{#1}\smashbox0\box0}}
-\def\smashedvbox#1{{\setbox0=\vbox{#1}\smashbox0\box0}}
-
-% Variants of \llap and \rlap working equally on both sides and/or vertically
-\def\hlap#1{\hbox to 0pt{\hss #1\hss}}
-\def\vlap#1{\vbox to 0pt{\vss #1\vss}}
-\def\clap#1{\vlap{\hlap{#1}}}
-
-% \placeat{right}{down}{hmaterial} places <hmaterial>, so that its
-% reference point lies at the given position wrt. the current ref point
-\long\def\placeat#1#2#3{\smashedhbox{\hskip #1\lower #2\hbox{#3}}}
-
-% Like \vbox, but with reference point in the upper left corner
-\def\vhang#1{\vtop{\hrule height 0pt\relax #1}}
-
-% Like \vhang, but respecting interline skips
-\def\vhanglines#1{\vtop{\hbox to 0pt{}#1}}
-
-% Crosshair with reference point in its center
-\def\crosshair#1{\clap{\vrule height 0.2pt width #1}\clap{\vrule height #1 width 0.2pt}}
-
-%%% Output routine %%%
-
-\newbox\pageunderlays
-\newbox\pageoverlays
-\newbox\commonunderlays
-\newbox\commonoverlays
-
-% Adding to {over,under}-lays
-\def\addlay#1#2{\setbox#1=\vbox{\ifvbox#1\box#1\fi\smashedvbox{#2}}}
-\def\pageunderlay{\addlay\pageunderlays}
-\def\pageoverlay{\addlay\pageoverlays}
-\def\commonunderlay{\addlay\commonoverlays}
-\def\commonoverlay{\addlay\commonoverlays}
-
-\output{\ucwoutput}
-\def\ucwoutput{\wigglepage\shipout\vbox{%
-       \makeheadline
-       \ifvbox\commonunderlays\copy\commonunderlays\nointerlineskip\fi
-       \ifvbox\pageunderlays\box\pageunderlays\nointerlineskip\fi
-       \pagebody
-       \ifvbox\commonoverlays\vbox to 0pt{\vskip -\vsize\copy\commonoverlays}\fi
-       \ifvbox\pageoverlays\vbox to 0pt{\vskip -\vsize\box\pageoverlays}\fi
-       \makefootline
-}\advancepageno
-\ifnum\outputpenalty>-\@MM \else\dosupereject\fi}
-
-\def\wigglepage{\ifodd\pageno\else\advance\hoffset by \evenpageshift\fi}
-
-%%% Cleanup %%%
-
-% Let's hide all internal macros
-\catcode`@=12
+\preitemizepenalty=0
+\postitemizepenalty=0