diff options
author | Karl Berry <karl@freefriends.org> | 2009-07-24 23:25:08 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2009-07-24 23:25:08 +0000 |
commit | 1cf7474fed91f7afc83683b2ed97842440f2c4c4 (patch) | |
tree | cb448d25235557b3db7f259ca67e8ded40c05c88 /Master/texmf-dist | |
parent | ab7105b41fa4f7f5f2abae4dfce71dadbf78bbce (diff) |
changelayout update (24jul09)
git-svn-id: svn://tug.org/texlive/trunk@14432 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist')
-rw-r--r-- | Master/texmf-dist/doc/latex/changelayout/README | 8 | ||||
-rw-r--r-- | Master/texmf-dist/doc/latex/changelayout/changelayout-guide.pdf | bin | 49789 -> 60302 bytes | |||
-rw-r--r-- | Master/texmf-dist/doc/latex/changelayout/changelayout-guide.tex | 176 | ||||
-rw-r--r-- | Master/texmf-dist/tex/latex/changelayout/changelayout.sty | 227 |
4 files changed, 215 insertions, 196 deletions
diff --git a/Master/texmf-dist/doc/latex/changelayout/README b/Master/texmf-dist/doc/latex/changelayout/README index afc6f9f50f3..54c9656af03 100644 --- a/Master/texmf-dist/doc/latex/changelayout/README +++ b/Master/texmf-dist/doc/latex/changelayout/README @@ -1,6 +1,8 @@ -This package is an extension of Peter Wilson's 'changepage' package. -It can be used to change text and page layout parameters locally -(per page) or globally (for the whole document). The original +This is the README file for 'changelayout' package. + +This package is an extension of Peter Wilson's 'changepage' package. +It can be used to change text and page layout parameters locally +(per page) or globally (for the whole document). The original layout parameters can be recovered at any time during runtime. Copyright (c) 2009 Ahmed Musa (a.musa@rocketmail.com). diff --git a/Master/texmf-dist/doc/latex/changelayout/changelayout-guide.pdf b/Master/texmf-dist/doc/latex/changelayout/changelayout-guide.pdf Binary files differindex 1cb975cfdef..abc2060bce1 100644 --- a/Master/texmf-dist/doc/latex/changelayout/changelayout-guide.pdf +++ b/Master/texmf-dist/doc/latex/changelayout/changelayout-guide.pdf diff --git a/Master/texmf-dist/doc/latex/changelayout/changelayout-guide.tex b/Master/texmf-dist/doc/latex/changelayout/changelayout-guide.tex index b859ce9546a..f4dd60fa11c 100644 --- a/Master/texmf-dist/doc/latex/changelayout/changelayout-guide.tex +++ b/Master/texmf-dist/doc/latex/changelayout/changelayout-guide.tex @@ -5,45 +5,42 @@ \usepackage{hyperref} \hypersetup{colorlinks=true,linkcolor=red,pdfpagemode=UseThumbs, implicit=true,breaklinks=true,citecolor=purple} +% Many colors for future use: \xglobal\preparecolorset{rgb}{x}{0}{% - red1,1.00,0.31,0.31;% - red2,1.00,0.32,0.33;% - green1,0.00,0.50,0.00;% - green2,0.00,0.50,0.25;% - blue1,0.00,0.00,1.00;% - blue2,0.00,0.00,0.63;% - blue3,0.00,0.50,1.00;% - blue4,0.00,0.50,0.75;% - cyan1,0.50,0.84,1.00;% - magenta1,0.50,0.00,0.50;% - magenta2,0.50,0.00,1.00;% - magenta3,1.00,0.38,1.00;% - purple1,0.50,0.00,0.25;% - purple2,0.50,0.00,0.50;% - olive1,0.50,0.50,0.00;% - orange1,1.00,0.50,0.25% + red1,1.00,0.31,0.31;red2,1.00,0.32,0.33;% + green1,0.00,0.50,0.00;green2,0.00,0.50,0.25;% + blue1,0.00,0.00,1.00;blue2,0.00,0.00,0.63;% + blue3,0.00,0.50,1.00;blue4,0.00,0.50,0.75;% + cyan1,0.50,0.84,1.00;magenta1,0.50,0.00,0.50;% + magenta2,0.50,0.00,1.00;magenta3,1.00,0.38,1.00;% + purple1,0.50,0.00,0.25;purple2,0.50,0.00,0.50;% + olive1,0.50,0.50,0.00;orange1,1.00,0.50,0.25;% + yellow1,1.00,1.00,0.00;yellow2,1.00,1.00,0.70% } -\long\def\tempa{% - \begin{center} +\csdef{temp1}{% + \begin{center} \makebox[0pt]{\fboxrule2pt% - \fcolorbox{xred10}{yellow!25}{% - \parbox{\dimexpr(\hsize+3cm)}{% - This package is an extension of Peter Wilson's {\tt changepage} package. - \par\medskip - This package can be used with the \texttt{geometry} package, - but not with any \texttt{memoir} class. I used the \texttt{geometry} package in the source file of this document. - \par\medskip - All page and text layout parameters can be changed for each - page using the macros illustrated in the source file of - this document. Please see the comments in the source file. - \par\medskip - This is a preliminary user guide; a more detailed manual - is in the works. - } - } - } - \end{center}\relax + \fcolorbox{xred10}{xyellow20}{% + \parbox{\dimexpr(\hsize-3cm)}{% + This package is an extension of Peter Wilson's {\tt changepage} package. + \par\medskip + This package can be used with the \texttt{geometry} package, + but not with any \texttt{memoir} class. I used the \texttt{geometry} + package in the source file of this document. + \par\medskip + All page and text layout parameters can be changed for each + page using the macros illustrated in the source file of + this document. Please see the comments in the source file. + \par\medskip + This is a preliminary user guide; a more detailed manual + is in the works.}}} + \end{center} + \vspace*{2\baselineskip} } +\csdef{temp2}{\section*{Adjusted layout}\par\lipsum[1-2]} +\csdef{temp3}{{\flushright\section*{Adjusted layout}}% + \par\noindent\lipsum[1-2]} + \begin{document} \title{The {\tt changelayout} Package} \author{Ahmed Musa\\[.5ex]University of Central Lancashire\\ @@ -51,83 +48,120 @@ } \maketitle -\adjusttextwidth{leftmargin=-1.5cm,rightmargin=-1.5cm,content=\tempa} -\par\bigskip +\begin{comment} + Make text width smaller by 3cm (1.5cm into each margin): +\end{comment} +\adjusttextwidth{leftmargin=1.5cm,rightmargin=1.5cm,content=\csuse{temp1}} +\section*{Default layout (as set with {\tt geometry} package)} \lipsum[1-2] -\par\medskip + +\begin{comment} + Make text width wider by 2cm (1cm into each margin): +\end{comment} \adjusttextwidth{leftmargin=-1cm,rightmargin=-1cm,textcolor=blue, - content=\lipsum[1-2]} -\par\medskip +content=\csuse{temp2}} + +\section*{Default layout} \lipsum[1-2] \newpage \lipsum[1-1] -\par\medskip + +\begin{comment} + Make text width wider into right margin by 1.5cm on odd pages. + 'switchadjust' is a boolean for switching left and right margins on + odd and even pages. This is useful for twoside printing, where + the user may want the text extended only into outer margins: +\end{comment} + \adjusttextwidth{switchadjust=true,leftmargin=-0cm,rightmargin=-1.5cm, - textcolor=xmagenta20,content=\lipsum[1-2]} + textcolor=xmagenta20,content=\csuse{temp2}} \newpage \lipsum[1-1] -\par\medskip -\adjusttextwidth{switchadjust=true,leftmargin=-0cm,rightmargin=-1.5cm, - textcolor=red,content=\lipsum[1-2]} \begin{comment} - 'switchadjust' is a boolean for switching left and right margins on - odd and even pages. + Make text width wider into right margin by 1.5cm, but + 'switchadjust=true' means that it is actually the left margin + that is made wider on even pages. If the value of 'switchadjust' + is 'true', you can simply enter 'switchadjust' without value: +\end{comment} +\adjusttextwidth{switchadjust,leftmargin=-0cm,rightmargin=-1.5cm, + textcolor=red,content=\csuse{temp3}} + +\begin{comment} 'strictcheck' is a boolean for enforcing strict page number check - (the idea is from the 'changepage' package). For a large document, - 'strictcheck' will generate a corresponding large number of - labels. This is not expected to be a problem with modern implementations - of TeX/LaTeX. + (the idea is from the 'changepage' package). See the + \usepackage{changelayout} statement above. + Strict page checking is a safeguard against unlikely changes + to the kernel page counter by another macro or package. For a + large document, 'strictcheck' will generate a correspondingly + large number of labels. This is not expected to be a problem + with modern implementations of TeX/LaTeX; so I decided to + retain it. \end{comment} \newpage \color{xgreen10} -\changetextlayout{oddsidemargin=-1cm, evensidemargin=0cm,textheight=550pt, +\begin{comment} + The layout of individual pages can be changed by using + \changepagelayout or \changetextlayout (they are synonymous). + + Both \changetextlayout and \changepagelayout replace (in the + total sense) the prevailing text/page layout parameters by the + values submitted by the user through these macros. All the page + layout parameters (including \marginpar parameters) can be + changed/replaced by simply submitting (via these macros) + the new parameter values. +\end{comment} +\changetextlayout{oddsidemargin=-1cm,evensidemargin=0cm,textheight=550pt, textwidth=515pt} +\section*{Changed layout} \lipsum[1-4] \normalcolor -\begin{comment} - In addition to \changetextlayout, there is also \changepagelayout. - Both \changetextlayout and \changepagelayout replace (in the total sense) - the prevailing text/page layout parameters by the values submitted by - the user. All the page layout parameters (including \marginparwidth) - can be changed/replaced by simply submitting their new values. -\end{comment} - \newpage \resetdefault% \begin{comment} - '\resetdefault' is a command for resetting page/text layout parameters + \resetdefault is a command for resetting page/text layout parameters to the default values. The default parameters are saved at each run. + If the 'geometry' package is loaded, the default parameters will be + those determined by 'geometry'. \resetdefault is very handy for + recovering from page/text layout changes. The original and final layout parameters are written into the log - file (and displayed on the screen) by issuing the booleans + file (and displayed on the screen) if the user issues the booleans 'logdefault' and 'logfinal' (respectively) as options to the package (preferably at \usepackage). These may be useful when deciding on the changes or adjustments to be effected. \end{comment} +\begin{comment} + In addition to \changepagelayout and \changetextlayout, there are + also \adjustpagelayout and \adjusttextlayout (again these + are synonymous). + + Both \adjustpagelayout and \adjusttextlayout adjust (by adding to or + subtracting from) the prevailing text/page layout parameters the + values given by the user. All the text and page layout parameters + can be 'adjusted' by using these macros. +\end{comment} + \color{xorange10} \adjusttextlayout{oddsidemargin=1cm, evensidemargin=-0cm, textheight=-50pt, textwidth=-50pt,topmargin=25pt} +\section*{Changed layout} \lipsum[1-4] - -\begin{comment} - In addition to \adjusttextlayout, there is also \adjustpagelayout. - Both \adjusttextlayout and \adjustpagelayout adjust (by adding or - subtracting) the prevailing text/page layout parameters by the - values given by the user. All the text and page layout parameters - can be adjusted. -\end{comment} +\normalcolor \newpage \resetdefault% -\normalcolor +%\color{xolive10} +\section*{Default layout (as set with {\tt geometry} package)} +\lipsum[1-4] +%\normalcolor \end{document}
\ No newline at end of file diff --git a/Master/texmf-dist/tex/latex/changelayout/changelayout.sty b/Master/texmf-dist/tex/latex/changelayout/changelayout.sty index a385e5df7f7..eaad7ce5e2a 100644 --- a/Master/texmf-dist/tex/latex/changelayout/changelayout.sty +++ b/Master/texmf-dist/tex/latex/changelayout/changelayout.sty @@ -24,10 +24,12 @@ \newrobustcmd\cpl@warn[1]{\PackageWarningNoLine{changelayout}{#1}} \newrobustcmd\cpl@info[1]{\PackageInfo{changelayout}{#1\@gobble}} \newrobustcmd\cpl@err[1]{\PackageError{changelayout}{#1}{\@ehc}} +\let\cpl@xp\expandafter +\def\cpl@glet#1#2{\@ifdefinable#1{\global\let#1#2}} \@ifclassloaded{memoir}{% \cpl@err{This package can't be used with\MessageBreak memoir class. I've therefore exited} - \expandafter\endinput% + \cpl@xp\endinput% }{} \@ifpackageloaded{xcolor}{% \cpl@info{You've already loaded 'xcolor'\MessageBreak @@ -45,65 +47,62 @@ \cpl@err{This package is a replacement for\MessageBreak 'changepage' package.\MessageBreak It can't be used with 'changepage'} - \expandafter\endinput% + \cpl@xp\endinput% }{} } -\newrobustcmd*\csmdef[1]{\expandafter\csname#1\endcsname} -\newrobustcmd*\cpl@numexpr[2]{% - \ifstrempty{#2}{% - \cpl@err{You can't assign empty argument\MessageBreak - to number}}{} - \ifcsundef{#1}{% - \expandafter\newcount\csname#1\endcsname% - \csmdef{#1}=\the\numexpr#2\relax - }{\csmdef{#1}=\the\numexpr#2\relax} +\newrobustcmd*\cpl@numdef[2]{% + \ifstrempty{#2}{\cpl@err{You can't assign empty argument\MessageBreak + to number}}{} + \ifundef{#1}{\newcount#1\relax #1=\z@\relax}{}% + #1=\numexpr#2\relax } -\newrobustcmd*\cpl@dimexpr[2]{% - \ifstrempty{#2}{% - \cpl@err{You can't assign empty argument\MessageBreak - to dimension}}{} - \ifcsundef{#1}{% - \expandafter\newdimen\csname#1\endcsname% - \csmdef{#1}=\the\dimexpr#2\relax - }{\csmdef{#1}=\the\dimexpr#2\relax} +\newrobustcmd*\cpl@csnumdef[1]{\cpl@xp\cpl@numdef\csname#1\endcsname} +\newrobustcmd*\cpl@dimdef[2]{% + \ifstrempty{#2}{\cpl@err{You can't assign empty argument\MessageBreak + to dimension}}{} + \ifundef{#1}{\newdimen#1\relax #1=\z@\relax}{}% + #1=\dimexpr#2\relax } -\newrobustcmd\cpl@changetext{% +\newrobustcmd*\cpl@csdimdef[1]{\cpl@xp\cpl@dimdef\csname#1\endcsname} +\newrobustcmd\cpl@changelayout{% \@colht=\textheight% \@colroom=\textheight% \vsize=\textheight% \columnwidth=\textwidth% \if@twocolumn - \cpl@dimexpr{dimen@}{(\columnwidth-\columnsep)/2} + \cpl@csdimdef{dimen@}{(\columnwidth-\columnsep)/2} \columnwidth=\dimen@% \@firstcolumntrue \fi \hsize=\columnwidth% \linewidth=\hsize% } -\protected@edef\cpl@setdefault{% - \noexpand\cpl@dimexpr{cpl@orig@paperwidth}{\paperwidth}% - \noexpand\cpl@dimexpr{cpl@orig@paperheight}{\paperheight}% - \noexpand\cpl@dimexpr{cpl@orig@textheight}{\textheight}% - \noexpand\cpl@dimexpr{cpl@orig@textwidth}{\textwidth}% - \noexpand\cpl@dimexpr{cpl@orig@oddsidemargin}{\oddsidemargin}% - \noexpand\cpl@dimexpr{cpl@orig@evensidemargin}{\evensidemargin}% - \noexpand\cpl@dimexpr{cpl@orig@topmargin}{\topmargin}% - \noexpand\cpl@dimexpr{cpl@orig@headsep}{\headsep}% - \noexpand\cpl@dimexpr{cpl@orig@headheight}{\headheight}% - \noexpand\cpl@dimexpr{cpl@orig@footskip}{\footskip}% - \noexpand\cpl@dimexpr{cpl@orig@footins}{\skip\footins}% - \noexpand\cpl@dimexpr{cpl@orig@marginparwidth}{\marginparwidth}% - \noexpand\cpl@dimexpr{cpl@orig@marginparsep}{\marginparsep}% - \noexpand\cpl@dimexpr{cpl@orig@marginparpush}{\marginparpush}% - \noexpand\cpl@dimexpr{cpl@orig@columnsep}{\columnsep}% - \noexpand\cpl@dimexpr{cpl@orig@columnseprule}{\columnseprule}% - \noexpand\cpl@dimexpr{cpl@orig@linewidth}{\linewidth}% - \noexpand\cpl@dimexpr{cpl@orig@hoffset}{\hoffset}% - \noexpand\cpl@dimexpr{cpl@orig@voffset}{\voffset}% - \noexpand\cpl@numexpr{cpl@orig@mag}{\mag}% +\newrobustcmd\cpl@getdefaults{\begingroup + \protected@edef\@tempa{\endgroup + \noexpand\cpl@csdimdef{cpl@orig@paperwidth}{\paperwidth}% + \noexpand\cpl@csdimdef{cpl@orig@paperheight}{\paperheight}% + \noexpand\cpl@csdimdef{cpl@orig@textheight}{\textheight}% + \noexpand\cpl@csdimdef{cpl@orig@textwidth}{\textwidth}% + \noexpand\cpl@csdimdef{cpl@orig@oddsidemargin}{\oddsidemargin}% + \noexpand\cpl@csdimdef{cpl@orig@evensidemargin}{\evensidemargin}% + \noexpand\cpl@csdimdef{cpl@orig@topmargin}{\topmargin}% + \noexpand\cpl@csdimdef{cpl@orig@headsep}{\headsep}% + \noexpand\cpl@csdimdef{cpl@orig@headheight}{\headheight}% + \noexpand\cpl@csdimdef{cpl@orig@footskip}{\footskip}% + \noexpand\cpl@csdimdef{cpl@orig@footins}{\skip\footins}% + \noexpand\cpl@csdimdef{cpl@orig@marginparwidth}{\marginparwidth}% + \noexpand\cpl@csdimdef{cpl@orig@marginparsep}{\marginparsep}% + \noexpand\cpl@csdimdef{cpl@orig@marginparpush}{\marginparpush}% + \noexpand\cpl@csdimdef{cpl@orig@columnsep}{\columnsep}% + \noexpand\cpl@csdimdef{cpl@orig@columnseprule}{\columnseprule}% + \noexpand\cpl@csdimdef{cpl@orig@linewidth}{\linewidth}% + \noexpand\cpl@csdimdef{cpl@orig@hoffset}{\hoffset}% + \noexpand\cpl@csdimdef{cpl@orig@voffset}{\voffset}% + \noexpand\cpl@csnumdef{cpl@orig@mag}{\mag}% + }\@tempa% } -\@onlypreamble\cpl@setdefault% -\cpl@setdefault% +\@onlypreamble\cpl@getdefaults\relax +\AtEndPreamble{\cpl@getdefaults}% \long\def\cpl@print@defaultparams{% ^^J*******************************************************^^J% Original page layout dimensions and booleans^^J% @@ -133,7 +132,7 @@ (1in=72.27pt, 1cm=28.45pt)^^J% *******************************************************^^J% }% -\@onlypreamble\cpl@print@defaultparams +\@onlypreamble\cpl@print@defaultparams\relax \long\def\cpl@print@finalparams{% ^^J+++++++++++++++++++++++++++++++++++++++++++++++++++++++^^J% Final page layout dimensions and booleans^^J% @@ -163,31 +162,35 @@ (1in=72.27pt, 1cm=28.45pt)^^J% +++++++++++++++++++++++++++++++++++++++++++++++++++++++^^J% }% -\protected@edef\cpl@resetdefault{% - \noexpand\setlength{\paperwidth}{\cpl@orig@paperwidth}% - \noexpand\setlength{\paperheight}{\cpl@orig@paperheight}% - \noexpand\setlength{\textheight}{\cpl@orig@textheight}% - \noexpand\setlength{\textwidth}{\cpl@orig@textwidth}% - \noexpand\setlength{\linewidth}{\cpl@orig@linewidth}% - \noexpand\setlength{\oddsidemargin}{\cpl@orig@oddsidemargin}% - \noexpand\setlength{\evensidemargin}{\cpl@orig@evensidemargin}% - \noexpand\setlength{\topmargin}{\cpl@orig@topmargin}% - \noexpand\setlength{\headsep}{\cpl@orig@headsep}% - \noexpand\setlength{\headheight}{\cpl@orig@headheight}% - \noexpand\setlength{\footskip}{\cpl@orig@footskip}% - \noexpand\setlength{\skip\footins}{\cpl@orig@footins}% - \noexpand\setlength{\marginparwidth}{\cpl@orig@marginparwidth}% - \noexpand\setlength{\marginparsep}{\cpl@orig@marginparsep}% - \noexpand\setlength{\marginparpush}{\cpl@orig@marginparpush}% - \noexpand\setlength{\columnsep}{\cpl@orig@columnsep}% - \noexpand\setlength{\columnseprule}{\cpl@orig@columnseprule}% - \noexpand\setlength{\hoffset}{\cpl@orig@hoffset}% - \noexpand\setlength{\voffset}{\cpl@orig@voffset}% - \noexpand\mag=\cpl@orig@mag% - \noexpand\cpl@changetext% - \noexpand\cpl@info{Default layout parameters reset} +\newrobustcmd\cpl@backtodefaults{\begingroup + \protected@edef\@tempa{\endgroup + \noexpand\setlength{\paperwidth}{\cpl@orig@paperwidth}% + \noexpand\setlength{\paperheight}{\cpl@orig@paperheight}% + \noexpand\setlength{\textheight}{\cpl@orig@textheight}% + \noexpand\setlength{\textwidth}{\cpl@orig@textwidth}% + \noexpand\setlength{\linewidth}{\cpl@orig@linewidth}% + \noexpand\setlength{\oddsidemargin}{\cpl@orig@oddsidemargin}% + \noexpand\setlength{\evensidemargin}{\cpl@orig@evensidemargin}% + \noexpand\setlength{\topmargin}{\cpl@orig@topmargin}% + \noexpand\setlength{\headsep}{\cpl@orig@headsep}% + \noexpand\setlength{\headheight}{\cpl@orig@headheight}% + \noexpand\setlength{\footskip}{\cpl@orig@footskip}% + \noexpand\setlength{\skip\footins}{\cpl@orig@footins}% + \noexpand\setlength{\marginparwidth}{\cpl@orig@marginparwidth}% + \noexpand\setlength{\marginparsep}{\cpl@orig@marginparsep}% + \noexpand\setlength{\marginparpush}{\cpl@orig@marginparpush}% + \noexpand\setlength{\columnsep}{\cpl@orig@columnsep}% + \noexpand\setlength{\columnseprule}{\cpl@orig@columnseprule}% + \noexpand\setlength{\hoffset}{\cpl@orig@hoffset}% + \noexpand\setlength{\voffset}{\cpl@orig@voffset}% + \noexpand\mag=\cpl@orig@mag% + \noexpand\cpl@changelayout% + \noexpand\cpl@info{Layout parameters reset to defaults}% + }\@tempa% } \def\cpl@content{No content} +\def\cpl@paperheight{\paperheight} +\def\cpl@paperwidth{\paperwidth} \def\cpl@textheight{\textheight} \def\cpl@textwidth{\textwidth} \def\cpl@evensidemargin{\evensidemargin} @@ -209,15 +212,18 @@ \def\cpl@columnseprule{\columnseprule} \def\cpl@marginparwidth{\marginparwidth} \def\cpl@marginparsep{\marginparsep} +\def\cpl@marginparsep{\marginparpush} \def\cpl@hoffset{\hoffset} \def\cpl@voffset{\voffset} \def\cpl@textcolor{black} \define@boolkey+[KV]{changelay}[cpl@]{reset}[true]{% - \cpl@resetdefault}{\cpl@warn{Erroneous value for 'reset' ignored}} + \cpl@backtodefaults}{\cpl@warn{Erroneous value for 'reset' ignored}} \define@boolkeys[KV]{changelay}[cpl@]{switchadjust,logdefault,% logfinal,strictcheck,oddpage}[true]{} \define@cmdkey[KV]{changelay}[cpl@]{content}[]{} \define@cmdkey[KV]{changelay}[cpl@]{textcolor}[black]{} +\define@cmdkey[KV]{changelay}[cpl@]{paperheight}[\paperheight]{} +\define@cmdkey[KV]{changelay}[cpl@]{paperwidth}[\paperwidth]{} \define@cmdkey[KV]{changelay}[cpl@]{textheight}[\textheight]{} \define@cmdkey[KV]{changelay}[cpl@]{textwidth}[\textwidth]{} \define@cmdkey[KV]{changelay}[cpl@]{evensidemargin}[\evensidemargin]{} @@ -239,25 +245,28 @@ \define@cmdkey[KV]{changelay}[cpl@]{columnseprule}[\columnseprule]{} \define@cmdkey[KV]{changelay}[cpl@]{marginparwidth}[\marginparwidth]{} \define@cmdkey[KV]{changelay}[cpl@]{marginparsep}[\marginparsep]{} +\define@cmdkey[KV]{changelay}[cpl@]{marginparpush}[\marginparpush]{} \define@cmdkey[KV]{changelay}[cpl@]{hoffset}[\hoffset]{} \define@cmdkey[KV]{changelay}[cpl@]{voffset}[\voffset]{} \def\do#1{\csdef{cpl@x@#1}{\z@}} -\docsvlist{textheight,textwidth,evensidemargin,oddsidemargin,topmargin,% - headheight,headsep,footskip,footins,topsep,listparindent,% - parindent,parsep,parskip,leftmargin,rightmargin,columnwidth,% - columnsep,columnseprule,marginparwidth,marginparsep,hoffset,voffset% +\docsvlist{paperheight,paperwidth,textheight,textwidth,evensidemargin,% + oddsidemargin,topmargin,headheight,headsep,footskip,footins,topsep,% + listparindent,parindent,parsep,parskip,leftmargin,rightmargin,% + columnwidth,columnsep,columnseprule,marginparwidth,marginparsep,% + marginparpush,hoffset,voffset% } \define@cmdkeys[KV@X]{changelay}[cpl@x@]{% - textheight,textwidth,evensidemargin,oddsidemargin,topmargin,% - headheight,headsep,footskip,footins,topsep,listparindent,% - parindent,parsep,parskip,leftmargin,rightmargin,columnwidth,% - columnsep,columnseprule,marginparwidth,marginparsep,hoffset,voffset% + paperheight,paperwidth,textheight,textwidth,evensidemargin,% + oddsidemargin,topmargin,headheight,headsep,footskip,footins,% + topsep,listparindent,parindent,parsep,parskip,leftmargin,rightmargin,% + columnwidth,columnsep,columnseprule,marginparwidth,marginparsep,% + marginparpush,hoffset,voffset% }[\z@] \DeclareOptionX*{\cpl@warn{Unknown option '\CurrentOption' ignored}} \ExecuteOptionsX<changelay>{} \ProcessOptionsX*<changelay>\relax -\cpl@numexpr{cpl@cnt@a}{\z@} -\cpl@numexpr{cpl@mem@c@page}{\z@} +\cpl@csnumdef{cpl@cnt@a}{\z@} +\cpl@csnumdef{cpl@mem@c@page}{\z@} \def\cpl@xlabel{_x_} \gdef\thecpl@mem@c@page{\the\c@page} \long\def\cpl@afterelsefi#1\else#2\fi{\fi#1} @@ -294,36 +303,21 @@ \fi } \ifcpl@logdefault - \cpl@protected@write{16}{}{\cpl@print@defaultparams} + \AtBeginDocument{\cpl@protected@write{16}{}{\cpl@print@defaultparams}} +\fi +\ifcpl@logfinal + \AtEndDocument{\immediate\write16{\cpl@print@finalparams}} \fi -\AtEndDocument{% - \ifcpl@logfinal - \immediate\write16{\cpl@print@finalparams} - \fi -} -\newrobustcmd\changetextlayout[1]{% - \setkeys[KV]{changelay}{#1}% - \setlength\textheight{\cpl@textheight}% - \setlength\textwidth{\cpl@textwidth}% - \setlength\evensidemargin{\cpl@evensidemargin}% - \setlength\oddsidemargin{\cpl@oddsidemargin}% - \setlength\columnsep{\cpl@columnsep}% - \setlength\columnseprule{\cpl@columnseprule}% - \cpl@changetext% - \setlength\marginparwidth{\cpl@marginparwidth}% - \setlength\marginparsep{\cpl@marginparsep}% - \setlength{\footskip}{\cpl@footskip} - \setlength{\skip\footins}{\cpl@footins} -} \newrobustcmd\changepagelayout[1]{% \setkeys[KV]{changelay}{#1}% + \setlength\paperheight{\cpl@paperheight}% + \setlength\paperwidth{\cpl@paperwidth}% \setlength\textheight{\cpl@textheight}% \setlength\textwidth{\cpl@textwidth}% \setlength\evensidemargin{\cpl@evensidemargin}% \setlength\oddsidemargin{\cpl@oddsidemargin}% \setlength\columnsep{\cpl@columnsep}% \setlength\columnseprule{\cpl@columnseprule}% - \cpl@changetext% \setlength\topmargin{\cpl@topmargin}% \setlength\headheight{\cpl@headheight}% \setlength\headsep{\cpl@headsep}% @@ -331,32 +325,20 @@ \setlength{\skip\footins}{\cpl@footins} \setlength\marginparwidth{\cpl@marginparwidth}% \setlength\marginparsep{\cpl@marginparsep}% + \setlength\marginparpush{\cpl@x@marginparpush}% + \cpl@changelayout% } -\newrobustcmd\adjusttextlayout[1]{% - \setkeys[KV@X]{changelay}{#1}% - \addtolength\textheight{\cpl@x@textheight}% - \addtolength\textwidth{\cpl@x@textwidth}% - \addtolength\evensidemargin{\cpl@x@evensidemargin}% - \addtolength\oddsidemargin{\cpl@x@oddsidemargin}% - \addtolength\columnsep{\cpl@x@columnsep}% - \setlength\columnseprule{\cpl@x@columnseprule}% - \cpl@changetext% - \addtolength\topmargin{\cpl@x@topmargin}% - \addtolength\headsep{\cpl@x@headsep}% - \addtolength\marginparwidth{\cpl@x@marginparwidth}% - \addtolength\marginparsep{\cpl@x@marginparsep}% - \addtolength\footskip{\cpl@x@footskip}% - \addtolength{\skip\footins}{\cpl@x@footins} -} +\cpl@glet\changetextlayout\changepagelayout \newrobustcmd\adjustpagelayout[1]{% \setkeys[KV@X]{changelay}{#1}% + \addtolength\paperheight{\cpl@x@paperheight}% + \addtolength\paperwidth{\cpl@x@paperwidth}% \addtolength\textheight{\cpl@x@textheight}% \addtolength\textwidth{\cpl@x@textwidth}% \addtolength\evensidemargin{\cpl@x@evensidemargin}% \addtolength\oddsidemargin{\cpl@x@oddsidemargin}% \addtolength\columnsep{\cpl@x@columnsep}% \setlength\columnseprule{\cpl@x@columnseprule}% - \cpl@x@changetext% \addtolength\topmargin{\cpl@x@topmargin}% \addtolength\headheight{\cpl@x@headheight}% \addtolength\headsep{\cpl@x@headsep}% @@ -364,7 +346,10 @@ \setlength{\skip\footins}{\cpl@x@footins}% \addtolength\marginparwidth{\cpl@x@marginparwidth}% \addtolength\marginparsep{\cpl@x@marginparsep}% + \addtolength\marginparpush{\cpl@x@marginparpush}% + \cpl@changelayout% } +\cpl@glet\adjusttextlayout\adjustpagelayout \newenvironment{cpl@adjustwidth}[2]{% \begin{list}{}{% \topsep=\z@% @@ -375,7 +360,7 @@ \setlength\leftmargin{#1}% \setlength\rightmargin{#2}% }% - \item[]}% + \item[]\ignorespaces}% {\end{list}\ignorespacesafterend} \newenvironment{cpl@adjustwidth*}[2]{% \begin{list}{}{% @@ -392,7 +377,7 @@ \setlength\leftmargin{#2}% \setlength\rightmargin{#1}% \fi - }\item[]}% + }\item[]\ignorespaces}% {\end{list}\ignorespacesafterend} \newrobustcmd\adjusttextwidth[1]{% \setkeys[KV]{changelay}{#1}% @@ -406,8 +391,6 @@ \end{cpl@adjustwidth}\relax \fi } -\newrobustcmd\resetdefault{% - \setkeys[KV]{changelay}{reset=true}% -} +\newrobustcmd*\resetdefault{\setkeys[KV]{changelay}{reset=true}} \endinput
\ No newline at end of file |