1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
|
\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}
|