From d73d6bf4e9505d2e144f0aa7ba2068d554a43406 Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Sat, 30 Oct 2021 19:39:58 +0000 Subject: cutwin (30oct21) git-svn-id: svn://tug.org/texlive/trunk@60901 c570f23f-e606-0410-a88d-b1316a301751 --- Master/texmf-dist/source/latex/cutwin/cutwin.dtx | 221 ++++++++++------------- Master/texmf-dist/source/latex/cutwin/cutwin.ins | 12 +- 2 files changed, 107 insertions(+), 126 deletions(-) (limited to 'Master/texmf-dist/source') diff --git a/Master/texmf-dist/source/latex/cutwin/cutwin.dtx b/Master/texmf-dist/source/latex/cutwin/cutwin.dtx index e04aca02c8b..9c93af47cec 100644 --- a/Master/texmf-dist/source/latex/cutwin/cutwin.dtx +++ b/Master/texmf-dist/source/latex/cutwin/cutwin.dtx @@ -1,20 +1,23 @@ %% \iffalse meta-comment % % cutwin.dtx -% Author: Peter Wilson, Herries Press (herries dot press at earthlink dot net) +% Author: Peter Wilson, Herries Press % and Alan Hoenig % Copyright 2010 Peter R. Wilson % +% Current Maintainer David Carlisle +% Copyright 2021 Peter R. Wilson, David Carlisle +% % This work may be distributed and/or modified under the % conditions of the LaTeX Project Public License, either -% version 1.3 of this license or (at your option) any +% version 1.3 of this license or (at your option) any % later version. % The latest version of the license is in % http://www.latex-project.org/lppl.txt % and version 1.3 or later is part of all distributions of % LaTeX version 2003/06/01 or later. % -% This work has the LPPL maintenance status "author-maintained". +% This work has the LPPL maintenance status "maintained". % % This work consists of the files listed in the README file. % @@ -47,14 +50,13 @@ % % \fi % -% \CheckSum{720} % % \DoNotIndex{\',\.,\@M,\@@input,\@addtoreset,\@arabic,\@badmath} % \DoNotIndex{\@centercr,\@cite} % \DoNotIndex{\@dotsep,\@empty,\@float,\@gobble,\@gobbletwo,\@ignoretrue} % \DoNotIndex{\@input,\@ixpt,\@m} % \DoNotIndex{\@minus,\@mkboth,\@ne,\@nil,\@nomath,\@plus,\@set@topoint} -% \DoNotIndex{\@tempboxa,\@tempcnta,\@tempdima,\@tempdimb} +% \DoNotIndex{\@tempboxa,\@tempcnta,\@tempdima,\c@twdima} % \DoNotIndex{\@tempswafalse,\@tempswatrue,\@viipt,\@viiipt,\@vipt} % \DoNotIndex{\@vpt,\@warning,\@xiipt,\@xipt,\@xivpt,\@xpt,\@xviipt} % \DoNotIndex{\@xxpt,\@xxvpt,\\,\ ,\addpenalty,\addtolength,\addvspace} @@ -91,9 +93,10 @@ % \DoNotIndex{\wd,\xiipt,\year,\z@} % % \changes{v0.1}{2010/09/29}{First public release} +% \changes{v0.2}{2021/10/13}{Declare registers} % % \def\dtxfile{cutwin.dtx} -% \def\fileversion{v0.1} \def\filedate{2010/09/29} +% \def\fileversion{v0.2} \def\filedate{2021/10/13} % \newcommand*{\Lpack}[1]{\textsf {#1}} ^^A typeset a package % \newcommand*{\Lopt}[1]{\textsf {#1}} ^^A typeset an option % \newcommand*{\file}[1]{\texttt {#1}} ^^A typeset a file @@ -107,8 +110,8 @@ % \filedate.}} % % \author{% -% Peter Wilson\thanks{Herries Press, \texttt{herries dot press at earthlink dot net}} -% and Alan Hoenig +% Peter Wilson\thanks{Herries Press} and Alan Hoenig\and +% Maintained by David Carlisle\thanks{https://github.com/latex-package-repositories/cutwin/issues}% % } % \date{\filedate} % \maketitle @@ -119,7 +122,7 @@ % \end{abstract} % \tableofcontents % -% +% % % \section{Introduction} % @@ -131,8 +134,8 @@ % \LaTeX{} \textsc{docstrip} utility which enables the automatic % extraction of the \LaTeX{} macro source files~\cite{COMPANION}. % -% Section~\ref{sec:usc} describes the usage of the \Lpack{cutwin} -% package and +% Section~\ref{sec:usc} describes the usage of the \Lpack{cutwin} +% package and % commented source code is in Section~\ref{sec:code}. % % \section{The \Lpack{cutwin} package} \label{sec:usc} @@ -169,7 +172,7 @@ % \centering\bfseries % Text \\ in \\Window \par} % \newcommand*{\qinwin}{% -% \centering\bfseries\Huge ?\, +% \centering\bfseries\Huge ?\, % \par} % \let\windowpagestuff\tinwin % \begin{cutout}{2}{0.2\textwidth}{0.4\textwidth}{3} @@ -186,18 +189,18 @@ % % \DescribeEnv{cutout} % The |cutout| environment, the body of which must be a single paragraph, -% enables a rectangular window to be cut out of the paragraph with the +% enables a rectangular window to be cut out of the paragraph with the % text flowing across the cutout. Use as:\\ % \verb?\begin{cutout}?\marg{numtop}\marg{leftwidth}\marg{rightwidth}\marg{numcut} \\ % where \meta{numtop} is the number of full lines above the window -% and \meta{numcut} is the number of lines to be cut (giving the height +% and \meta{numcut} is the number of lines to be cut (giving the height % of the window). % The meaning of the lengths \meta{leftwidth} and \meta{rightwidth} depend % on the location of the cutout: % \begin{itemize} -% \item for a centered cutout \meta{leftwidth} and \meta{rightwidth} are the +% \item for a centered cutout \meta{leftwidth} and \meta{rightwidth} are the % lengths of the text lines at the left and right sides of the window; -% \item for an open left cutout \meta{leftwidth} is ignored and +% \item for an open left cutout \meta{leftwidth} is ignored and % \meta{rightwidth} is the length of the lines to the right of the cutout; and % \item for an open right cutout \meta{rightwidth} is ignored and % \meta{leftwidth} is the length of the lines at the left of the cutout. @@ -226,7 +229,7 @@ % satisfaction. % % \subsection{Shaped cutouts} -% +% % \newcommand*{\mycut}{% % 0.1\textwidth, 0.3\textwidth, % 0.2\textwidth, 0.4\textwidth, @@ -240,27 +243,27 @@ % bordering the cutout. Normally there is text on either side of the % window but it could be open at either the left or right side of % the paragraph. It is possible to put a logo or some text in the -% window. In this paragraph with a shaped cutout I have used a large +% window. In this paragraph with a shaped cutout I have used a large % \$ sign as a simple logo. % \end{shapedcutout} % % % \DescribeEnv{shapedcutout} % The |shapedcutout| environment, the body of which must be a single paragraph, -% enables an arbitrary shaped window to be cut out of the paragraph with the +% enables an arbitrary shaped window to be cut out of the paragraph with the % text flowing across the cutout. Use as:\\ % \verb?\begin{shapedcutout}?\marg{numtop}\marg{numcut}\marg{shapespec} % where \meta{numtop} is the number of full lines above the window, -% \meta{numcut} is the number of lines to be cut (giving the height of +% \meta{numcut} is the number of lines to be cut (giving the height of % the window) and % \meta{shapespec} is the specification of the length of the lines % bordering the cutout. % -% More precisely \meta{shapespec} is a comma-separated list of the -% lengths of the +% More precisely \meta{shapespec} is a comma-separated list of the +% lengths of the % text lines bordering the window. % \begin{itemize} -% \item For a centered cutout one pair of entries are required for each cut +% \item For a centered cutout one pair of entries are required for each cut % line denoting the length of the left and right part of the cut line. % There must be exactly \meta{numcut} pairs. % \item @@ -285,7 +288,7 @@ % of the gap in the first line of the % cutout. The default \cs{picinwindow} is a zero-sized picture whose contents % is \cs{putstuffinpic}. -% +% % \cs{picinwindow} and \cs{putstuffinpic} are initially defined as % \begin{verbatim} % \newcommand*{\picinwindow}{% @@ -293,8 +296,8 @@ % \putstuffinpic % \end{picture}} % \newcommand*{\putstuffinpic}{} -% \end{verbatim} -% +% \end{verbatim} +% % You can change \cs{putstuffinpic} to place what you want in the picture. % For example, to put the large \$ symbol in the shaped cutout paragraph above % I used: @@ -333,8 +336,7 @@ % \begin{macrocode} %<*pkg> \NeedsTeXFormat{LaTeX2e} -\ProvidesPackage{cutwin}[2010/09/29 v0.1 cutout windows] - +\ProvidesPackage{cutwin}[2021/10/13 v0.2 cutout windows] % \end{macrocode} % % @@ -348,7 +350,6 @@ \newcount\c@twwinlines % window lines \newcount\c@twtoplines % top lines \newcount\c@twcnt % a count - % \end{macrocode} % \end{macro} % \end{macro} @@ -364,7 +365,6 @@ \newdimen\c@twrtside % right width \newdimen\c@twtopht % height of top text \newdimen\c@twvsilg % Vertical Shift or InterLine Glue - % \end{macrocode} % \end{macro} % \end{macro} @@ -377,7 +377,6 @@ % \begin{macrocode} \newtoks\c@twtoka % build of parshape spec \newtoks\c@twtokb % build of parshape spec - % \end{macrocode} % \end{macro} % \end{macro} @@ -396,7 +395,6 @@ \newbox\c@twfinaltext % final assembled cutout paragraph \newbox\c@twslicea % slice A of window text \newbox\c@twsliceb % slice B of window text - % \end{macrocode} % \end{macro} % \end{macro} @@ -405,6 +403,16 @@ % \end{macro} % \end{macro} % +% \begin{macro}{\c@twdima} +% \begin{macro}{\c@twdimb} +% And some lengths. +% \begin{macrocode} +\newdimen\c@twdima % formally \@tempdimb +\newdimen\c@twdimb % formally \@tempdimc +% \end{macrocode} +% \end{macro} +% \end{macro} +% % \begin{macro}{\opencutleft} % \begin{macro}{\opencutright} % \begin{macro}{\opencutcenter} @@ -423,17 +431,15 @@ % \end{macro} % \begin{macrocode} \opencutcenter - % \end{macrocode} % % \begin{macro}{\cutfuzz} % An attempt to stop TeX moaning about over/under full h/v boxes. % \begin{macrocode} -\newcommand{\cutfuzz}{\vbadness=50000 +\newcommand{\cutfuzz}{\vbadness=50000 \hbadness=50000 % \hfuzz=1pt \sloppy} - % \end{macrocode} % \end{macro} % @@ -442,9 +448,8 @@ % \begin{macrocode} \newcommand*{\c@twcalcilg}{% \c@twvsilg=\baselineskip - \setbox0=\hbox{(} + \setbox0=\hbox{(}% \advance\c@twvsilg-\ht0 \advance\c@twvsilg-\dp0} - % \end{macrocode} % \end{macro} % @@ -454,35 +459,34 @@ % \begin{macro}{\pageinwindow} % \begin{macro}{\windowpagestuff} % User modifiable macros for putting (\cs{pageinwindow}), via a -% zero-sized picture, +% zero-sized picture, % stuff (\cs{windowpagestuff}) in a cutout window. % \begin{macrocode} \newcommand*{\pageinwindow}{% - \@tempdimc=\c@twwinlines\baselineskip % cutout height - \@tempdimb=\hsize + \c@twdimb=\c@twwinlines\baselineskip % cutout height + \c@twdima=\hsize \ifnum\c@twl@c=\m@ne % openleft - \advance\@tempdimb -\c@twrtside + \advance\c@twdima -\c@twrtside \else \ifnum\c@twl@c=\@ne % openright - \advance\@tempdimb -\c@twlftside + \advance\c@twdima -\c@twlftside \else% center - \advance\@tempdimb - \c@twlftside - \advance\@tempdimb - \c@twrtside + \advance\c@twdima - \c@twlftside + \advance\c@twdima - \c@twrtside \fi \fi \begin{picture}(0,0)% \put(0,0){% \raisebox{4pt}{% %\fbox{% - \begin{minipage}[t][\@tempdimc][c]{\@tempdimb} + \begin{minipage}[t][\c@twdimb][c]{\c@twdima}% \windowpagestuff - \end{minipage} + \end{minipage}% %}% end fbox }% end raisebox }% end put \end{picture}} \newcommand*{\windowpagestuff}{} - % \end{macrocode} % \end{macro} % \end{macro} @@ -493,13 +497,13 @@ % \verb?\begin{cutout}?\marg{numtop}\marg{leftwidth}\marg{rightwidth}\marg{numcut} \\ % where \meta{numtop} is the number of full lines above the window, % \meta{leftwidth} and \meta{rightwidth} are the widths of the text -% at the sides of the window, -% and \meta{numcut} is the number of lines to be cut (giving the height +% at the sides of the window, +% and \meta{numcut} is the number of lines to be cut (giving the height % of the window). % % The basic method is to split the paragraph into three parts (a) -% the top lines above the window, (b) the window lines and (c) the rest -% (which will be below the window). \cs{parshape} is used to do the +% the top lines above the window, (b) the window lines and (c) the rest +% (which will be below the window). \cs{parshape} is used to do the % splitting. The top lines are left at their natural length, each line % crossing the window is treated as a pair of short lines, and the rest % are left at their natural length. @@ -527,7 +531,7 @@ \c@twwinlines=#4\relax \c@twcalcshift \vskip-\c@twvsilg % \end{macrocode} -% Open the \cs{c@twrawtext} box, call the \cs{parshape} and start +% Open the \cs{c@twrawtext} box, call the \cs{parshape} and start % collecting the text to be windowed. % \begin{macrocode} \setbox\c@twrawtext=\vbox\bgroup @@ -538,12 +542,12 @@ % the interline glue. % \begin{macrocode} {\egroup% end \box\c@twrawtext - \parshape=0 % reset parshape; + \parshape=0 % reset parshape; \c@twcalcilg % find ILG using current font % \end{macrocode} % If there are lines above the window, split them off from \cs{c@twrawtext} % into \cs{c@twfinaltext}. -% \begin{macrocode} +% \begin{macrocode} \ifnum\c@twtoplines>\z@ \setbox\c@twfinaltext=\vsplit\c@twrawtext to\c@twtoplines\baselineskip \fi @@ -564,17 +568,17 @@ % \begin{macrocode} \setbox\c@twholdwin=\vsplit\c@twrawtext to\c@twtopht % \end{macrocode} -% Now `compose' the window side(s) text (\cs{c@twholdwin}) +% Now `compose' the window side(s) text (\cs{c@twholdwin}) % into the final set of windowed lines (\cs{c@twwindow}). -% The process depends on whether the cutout is at the left, right, or center. +% The process depends on whether the cutout is at the left, right, or center. % \begin{macrocode} \ifnum\c@twl@c=\z@% center - \c@twcompctr{\c@twholdwin}{\c@twwindow} + \c@twcompctr{\c@twholdwin}{\c@twwindow}% \else% left or right - \c@twcomplftrt{\c@twholdwin}{\c@twwindow} + \c@twcomplftrt{\c@twholdwin}{\c@twwindow}% \fi % \end{macrocode} -% Assemble the various boxes into the final box (\cs{c@twfinaltext}) +% Assemble the various boxes into the final box (\cs{c@twfinaltext}) % to be output. % \begin{macrocode} \setbox\c@twfinaltext= @@ -585,13 +589,12 @@ % We're done, hand off the paragraph. % \begin{macrocode} \box\c@twfinaltext} - % \end{macrocode} % \end{environment} % % \begin{macro}{\c@twcompctr} % \begin{macro}{\c@twfirst} -% \cs{c@twcompctr}\marg{linepairbox}\marg{composedbox} composes a +% \cs{c@twcompctr}\marg{linepairbox}\marg{composedbox} composes a % center window box \meta{linepairbox} consisting of pairs of short % lines into a box \meta{composedbox} where the pairs have been assembled % into single lines. @@ -599,7 +602,7 @@ % \cs{c@twfirst} is used as a flag for indicating the first line of a cutout. % \begin{macrocode} \newcommand*{\c@twcompctr}[2]{% - \def\c@twfirst{1} + \def\c@twfirst{1}% \loop\advance\c@twwinlines\m@ne % \end{macrocode} % Get a pair of lines and remove skips. @@ -626,9 +629,8 @@ \fi % \end{macrocode} % \begin{macrocode} - \def\c@twfirst{2} + \def\c@twfirst{2}% \ifnum\c@twwinlines>\z@\repeat} - % \end{macrocode} % \end{macro} % \end{macro} @@ -641,12 +643,12 @@ \loop\advance\c@twwinlines\m@ne % \end{macrocode} % For an open window we simply deal with one line at a time, not -% pairs. In other respects the code is generally similar to that for +% pairs. In other respects the code is generally similar to that for % \cs{c@twcompctr}. % \begin{macrocode} \setbox\c@twslicea=\vsplit#1 to\baselineskip \ifnum\c@twl@c=\m@ne% open left, text at right - \c@twprune{\c@twslicea}{\c@twrtside} + \c@twprune{\c@twslicea}{\c@twrtside}% \ifnum\c@twfirst=\@ne \setbox#2=\vbox{\unvbox#2\hbox to\hsize{\pageinwindow\hfil\box\c@twslicea}}% @@ -654,10 +656,10 @@ \setbox#2=\vbox{\unvbox#2\hbox to\hsize{\mbox{}\hfil\box\c@twslicea}}% \fi - \def\c@twfirst{2} + \def\c@twfirst{2}% \else \ifnum\c@twl@c=\@ne% open right, text at left - \c@twprune{\c@twslicea}{\c@twlftside} + \c@twprune{\c@twslicea}{\c@twlftside}% \ifnum\c@twfirst=\@ne\relax \setbox#2=\vbox{\unvbox#2\hbox to\hsize{\box\c@twslicea\pageinwindow}}% @@ -665,11 +667,10 @@ \setbox#2=\vbox{\unvbox#2\hbox to\hsize{\box\c@twslicea}}% \fi - \def\c@twfirst{2} + \def\c@twfirst{2}% \fi \fi \ifnum\c@twwinlines>\z@\repeat} - % \end{macrocode} % \end{macro} % @@ -683,7 +684,6 @@ \newcommand*{\c@twprune}[2]{% \unvbox#1 \setbox#1=\lastbox % \box#1 is now an \hbox \setbox#1=\hbox to#2{\strut\unhbox#1\unskip}} - % \end{macrocode} % \end{macro} % @@ -697,7 +697,7 @@ % the number of the top lines plus (twice) the number of window line % plus one for the remaining lines. % \begin{macrocode} - \c@twcnt=\c@twwinlines + \c@twcnt=\c@twwinlines \ifnum\c@twl@c=\z@ \multiply \c@twcnt by \tw@ \fi @@ -706,7 +706,7 @@ % If there are top lines generate a \verb?0pt \hsize? for each % \begin{macrocode} \ifnum\c@twtoplines>\z@ - \loop\c@twtoka=\expandafter{\the\c@twtoka 0pt \hsize} + \loop\c@twtoka=\expandafter{\the\c@twtoka 0pt \hsize}% \advance\c@twtoplines -1\relax \ifnum\c@twtoplines>\z@\repeat \fi @@ -728,18 +728,18 @@ % \end{macrocode} % For open left generate a \verb?\c@twlftside \c@twrtside? for each. % \begin{macrocode} - \expandafter{\the\c@twtoka \c@twlftside \c@twrtside} + \expandafter{\the\c@twtoka \c@twlftside \c@twrtside}% \else \ifnum\c@twl@c=\@ne % openright % \end{macrocode} % For open right generate a \verb?\0pt c@twlftside? for each % \begin{macrocode} - \expandafter{\the\c@twtoka 0pt \c@twlftside} + \expandafter{\the\c@twtoka 0pt \c@twlftside}% \else %center % \end{macrocode} % For centered generate \verb?0pt \c@twlftside 0pt \c@twrtside? for each pair. % \begin{macrocode} - \expandafter{\the\c@twtoka 0pt \c@twlftside 0pt \c@twrtside} + \expandafter{\the\c@twtoka 0pt \c@twlftside 0pt \c@twrtside}% \fi \fi \advance\c@twwinlines \m@ne @@ -749,7 +749,6 @@ % paragraph just generate a single \verb?0pt \hsize?. % \begin{macrocode} \c@twtoka=\expandafter{\the\c@twtoka 0pt \hsize}} - % \end{macrocode} % \end{macro} % @@ -767,7 +766,6 @@ \ifnum\c@twl@c=\z@\else \c@twvsilg=0.5\c@twvsilg \fi} - % \end{macrocode} % \end{macro} % @@ -789,7 +787,6 @@ % Default \cs{putstuffinpic} is empty. % \begin{macrocode} \newcommand*{\putstuffinpic}{} - % \end{macrocode} % \end{macro} % @@ -798,9 +795,9 @@ % A shaped cutout where the user defines the shape. \\ % \verb?\begin{shapedcutout}?\marg{numtop}\marg{numcut}\marg{shapespec} \\ % where \meta{numtop} is the number of full lines above the window, -% \meta{numcut} is the number of lines to be cut (giving the height +% \meta{numcut} is the number of lines to be cut (giving the height % of the window) and -% \meta{shapespec} is the user's specification of the shape of the +% \meta{shapespec} is the user's specification of the shape of the % surroundings of the cutout. This is in the form of a comma-separated % list of either the pairs of widths of the left and right texts of a centered % cutout or the widths of the left or right texts of an open cutout. @@ -850,42 +847,40 @@ \fi \setbox\c@twholdwin=\vsplit\c@twrawtext to\c@twtopht \ifnum\c@twl@c=\z@% center - \c@twcompoddctr{\c@twholdwin}{\c@twwindow} - \else% open left or righyt - \c@twcompoddlftrt{\c@twholdwin}{\c@twwindow} + \c@twcompoddctr{\c@twholdwin}{\c@twwindow}% + \else% open left or right + \c@twcompoddlftrt{\c@twholdwin}{\c@twwindow}% \fi \setbox\c@twfinaltext= \vbox{\ifnum\c@twtoplines>\z@\unvbox\c@twfinaltext\vskip\c@twvsilg\fi \unvbox\c@twwindow% \vskip-\c@twvsilg\unvbox\c@twrawtext}% \box\c@twfinaltext} - % \end{macrocode} % \end{environment} % % \begin{macro}{\c@twmaketopoddspec} -% Make up the easy part of the odd \cs{parshape} specification; +% Make up the easy part of the odd \cs{parshape} specification; % total number \cs{c@twcnt} and the toplines spec (\cs{c@twtoka}). % \begin{macrocode} \newcommand*{\c@twmaketopoddspec}{% - \c@twcnt=\c@twwinlines + \c@twcnt=\c@twwinlines \ifnum\c@twl@c=\z@ \multiply \c@twcnt by \tw@ \fi \advance\c@twcnt by \c@twtoplines \advance\c@twcnt by \@ne %% \c@twcnt is total of toplines + 2(window lines) + 1 - \c@twtoka={} + \c@twtoka={}% \ifnum\c@twtoplines>\z@ - \loop\c@twtoka=\expandafter{\the\c@twtoka 0pt \hsize} + \loop\c@twtoka=\expandafter{\the\c@twtoka 0pt \hsize}% \advance\c@twtoplines -1\relax \ifnum\c@twtoplines>\z@\repeat \fi} - % \end{macrocode} % \end{macro} % % \begin{macro}{\c@twaddtospec} -% Adds a `zero-indented line' to a parshape spec being assembled in +% Adds a `zero-indented line' to a parshape spec being assembled in % \cs{c@twtokb}. % \begin{macrocode} \newcommand*{\c@twaddtospec}[1]{% @@ -894,24 +889,23 @@ % \end{macro} % \begin{macro}{\c@twbuildoddspec} % \begin{macro}{\c@twxpf} -% \cs{c@twbuildoddspec}\marg{commalist} builds up the parshape spec for +% \cs{c@twbuildoddspec}\marg{commalist} builds up the parshape spec for % the odd cutout lines from the comma-separated list of lengths % in \meta{commalist}. % % \cs{c@twxpf} is a shorthand for \cs{expandafter} % to try and make the code shorter to read. % \begin{macro}{\c@twlspec} -% \cs{c@twlspec} is used as a temporary variable when iterating over +% \cs{c@twlspec} is used as a temporary variable when iterating over % a comma-separated list. % \end{macro} % % \begin{macrocode} \let\c@twxpf\expandafter \newcommand*{\c@twbuildoddspec}[1]{% - \c@twtokb={} + \c@twtokb={}% \@for\c@twlspec:=#1\do{% \c@twxpf\c@twxpf\c@twxpf\c@twaddtospec\c@twxpf{\c@twlspec}}} - % \end{macrocode} % \end{macro} % \end{macro} @@ -919,34 +913,33 @@ % \begin{macro}{\c@twcompoddctr} % \begin{macro}{\c@twrounds} % Compose the lines of an odd shaped center cutout. -% +% % We go through the user's shape list an item at a time but we need to % collect pairs of items. The \cs{c@twrounds} variable is for managing the % pairing. \cs{c@twfirst} is a flag for positioning the \cs{picinwindow} in % the first line of the cutout. % \begin{macrocode} \newcommand*{\c@twcompoddctr}[2]{% - \def\c@twrounds{1} - \def\c@twfirst{1} + \def\c@twrounds{1}% + \def\c@twfirst{1}% \@for\c@twlspec:=\c@twb\do{% \ifnum\c@twrounds=1 \setbox\c@twslicea=\vsplit#1 to\baselineskip % first of pair \c@twprune{\c@twslicea}{\c@twlspec}% - \def\c@twrounds{2} + \def\c@twrounds{2}% \else \setbox\c@twsliceb=\vsplit#1 to\baselineskip % second of pair \c@twprune{\c@twsliceb}{\c@twlspec}% \ifnum\c@twfirst=1 \setbox#2=\vbox{\unvbox#2\hbox to\hsize{\box\c@twslicea\hfil\picinwindow\hfil\box\c@twsliceb}}% - \def\c@twfirst{2} + \def\c@twfirst{2}% \else \setbox#2=\vbox{\unvbox#2\hbox to\hsize{\box\c@twslicea\hfil\box\c@twsliceb}}% \fi - \def\c@twrounds{1} + \def\c@twrounds{1}% \fi}} - % \end{macrocode} % \end{macro} % \end{macro} @@ -955,7 +948,7 @@ % Compose the open (left or right) lines of an odd shaped cutout. % \begin{macrocode} \newcommand*{\c@twcompoddlftrt}[2]{% - \def\c@twfirst{1} + \def\c@twfirst{1}% \@for\c@twlspec:=\c@twb\do{% \setbox\c@twslicea=\vsplit#1 to\baselineskip % get a line \c@twprune{\c@twslicea}{\c@twlspec}% @@ -963,7 +956,7 @@ \ifnum\c@twfirst=1 \setbox#2=\vbox{\unvbox#2\hbox to\hsize{\mbox{}\hfil\picinwindow\hfil\box\c@twslicea}}% - \def\c@twfirst{2} + \def\c@twfirst{2}% \else \setbox#2=\vbox{\unvbox#2\hbox to\hsize{\mbox{}\hfil\box\c@twslicea}}% @@ -973,14 +966,13 @@ \ifnum\c@twfirst=1 \setbox#2=\vbox{\unvbox#2\hbox to\hsize{\box\c@twslicea\hfil\picinwindow\hfil}}% - \def\c@twfirst{2} + \def\c@twfirst{2}% \else \setbox#2=\vbox{\unvbox#2\hbox to\hsize{\box\c@twslicea\hfil}}% \fi \fi \fi}} - % \end{macrocode} % \end{macro} % @@ -1000,20 +992,3 @@ % \endinput -%% \CharacterTable -%% {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 -%% 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 -%% Digits \0\1\2\3\4\5\6\7\8\9 -%% Exclamation \! Double quote \" Hash (number) \# -%% Dollar \$ Percent \% Ampersand \& -%% Acute accent \' Left paren \( Right paren \) -%% Asterisk \* Plus \+ Comma \, -%% Minus \- Point \. Solidus \/ -%% Colon \: Semicolon \; Less than \< -%% Equals \= Greater than \> Question mark \? -%% Commercial at \@ Left bracket \[ Backslash \\ -%% Right bracket \] Circumflex \^ Underscore \_ -%% Grave accent \` Left brace \{ Vertical bar \| -%% Right brace \} Tilde \~} - - diff --git a/Master/texmf-dist/source/latex/cutwin/cutwin.ins b/Master/texmf-dist/source/latex/cutwin/cutwin.ins index e4cd30f2b8b..b534e77db8d 100644 --- a/Master/texmf-dist/source/latex/cutwin/cutwin.ins +++ b/Master/texmf-dist/source/latex/cutwin/cutwin.ins @@ -1,8 +1,11 @@ %% cutwin.ins -%% Author: Peter Wilson, Herries Press (herries dot press at earthlink dot net) +%% Author: Peter Wilson, Herries Press %% and Alan Hoenig %% Copyright 2010 Peter R. Wilson %% +%% Current Maintainer David Carlisle +%% Copyright 2021 Peter R. Wilson, David Carlisle +%% %% This work may be distributed and/or modified under the %% conditions of the LaTeX Project Public License, either %% version 1.3 of this license or (at your option) any @@ -12,7 +15,7 @@ %% and version 1.3 or later is part of all distributions of %% LaTeX version 2003/06/01 or later. %% -%% This work has the LPPL maintenance status "author-maintained". +%% This work has the LPPL maintenance status "maintained". %% %% This work consists of the files listed in the README file. %% @@ -34,6 +37,9 @@ and Alan Hoenig Copyright 2010 Peter R. Wilson + Current Maintainer David Carlisle + Copyright 2021 Peter R. Wilson, David Carlisle + This work may be distributed and/or modified under the conditions of the LaTeX Project Public License, either version 1.3 of this license or (at your option) any @@ -43,7 +49,7 @@ and version 1.3 or later is part of all distributions of LaTeX version 2003/06/01 or later. - This work has the LPPL maintenance status "author-maintained". + This work has the LPPL maintenance status "maintained". This work consists of the files listed in the README file. ----------------------------------------------------------------- -- cgit v1.2.3