\RequirePackage{xkvltxp} \documentclass{article} \usepackage{comment,xspace,lipsum} \usepackage[left=3cm,right=3cm]{geometry} \usepackage[logdefault,logfinal,strictcheck]{changelayout} \usepackage{hyperref} \hypersetup{colorlinks=true,linkcolor=red,pdfpagemode=UseThumbs, implicit=true,breaklinks=true,citecolor=purple,pdfview=FitH, pdfstartview=FitH} \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;% yellow1,1.00,1.00,0.00;yellow2,1.00,1.00,0.70% } \new\let\TC\textcolor \newrobustcmd*\stya[1]{\TC{xgreen10}{\texttt{#1}}\xspace} \newrobustcmd*\styb[1]{\TC{teal}{\texttt{#1}}\xspace} \newrobustcmd*\cmda[1]{\begingroup \escapechar=92\endgroup\TC{xgreen10}{\texttt{\string#1}}\xspace} \newrobustcmd*\cmdb[1]{\begingroup \escapechar=92\endgroup\TC{teal}{\texttt{\string#1}}\xspace} \long\csdef{temp1}{% \begin{center} \makebox[0pt]{\fboxrule2pt% \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} } \long\csdef{temp2}{\section*{Use of \cmda{\adjusttextwidth} \\--- with text extending into both margins}\par\lipsum[1-2]} \long\csdef{temp3}{\section*{Use of \cmda{\adjusttextwidth} with \cmda{switchadjust}}\par\noindent\lipsum[1-2]} \long\csdef{temp4}{{\flushright\section*{Use of \cmda{\adjusttextwidth} with \cmda{switchadjust}}}\par\noindent\lipsum[1-2]} \begin{document} \title{The {\tt changelayout} Package} \author{Ahmed Musa\\[.5ex]University of Central Lancashire\\ Preston, United Kingdom\\[1ex]\url{a.musa@rocketmail.com} } \maketitle \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 \styb{geometry} package)} \lipsum[1-2] \begin{comment} Make text width wider by 2cm (1cm into each margin): \end{comment} \adjusttextwidth{leftmargin=-1cm,rightmargin=-1cm,textcolor=blue, content=\csuse{temp2}} \section*{Default layout} \lipsum[1-2] \newpage \lipsum[1-1] \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=\csuse{temp3}} \newpage \lipsum[1-1] \begin{comment} 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{temp4}} \begin{comment} 'strictcheck' is a boolean for enforcing strict page number check (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 \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} \color{xpurple10} \changetextlayout{oddsidemargin=-1cm,evensidemargin=0cm,textheight=550pt, textwidth=530pt} \section*{Use of \cmda{\changetextlayout}} \lipsum[1-4] \normalcolor \newpage \resetdefault% \begin{comment} \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) 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*{Use of \cmda{\adjusttextlayout}} \lipsum[1-4] \normalcolor \newpage \resetdefault% \section*{Default layout --- obtained by issuing \cmda{\resetdefault}} \textbf{\large The default is as set initially using the \styb{geometry} package.} \par\medskip \lipsum[1-4] \end{document}