summaryrefslogtreecommitdiff
path: root/vu-cs-standard-thesis/vmargin.sty
diff options
context:
space:
mode:
Diffstat (limited to 'vu-cs-standard-thesis/vmargin.sty')
-rw-r--r--vu-cs-standard-thesis/vmargin.sty576
1 files changed, 0 insertions, 576 deletions
diff --git a/vu-cs-standard-thesis/vmargin.sty b/vu-cs-standard-thesis/vmargin.sty
deleted file mode 100644
index 2f4f67d..0000000
--- a/vu-cs-standard-thesis/vmargin.sty
+++ /dev/null
@@ -1,576 +0,0 @@
-%%----------------------------------------------------------------------
-%% vmargin.sty
-%
-% LaTeX package which introduces paper sizes and provides macros for
-% setting document margins.
-% This package supersedes package vpage.
-%
-% This file can be made part of a format by typing \input vmargin.sty
-% before dumping the format.
-%
-% Documentation & history after (last) \endinput.
-%
-% Still works with LaTeX 2.09.
-% Supported = yes.
-%
-%
-% Copyright (C) 1993, 1994, 1995, 1996, 1999 by:
-%
-% Volker Kuhlmann
-% c/o University of Canterbury
-% ELEC Dept
-% Creyke Road
-% Christchurch, New Zealand
-% E-Mail: v.kuhlmann@elec.canterbury.ac.nz
-%
-% This program can be redistributed and/or modified under the terms
-% of the LaTeX Project Public License, distributed from CTAN
-% archives as macros/latex/base/lppl.txt; either
-% version 1 of the License, or (at your option) any later version.
-%
-%%----------------------------------------------------------------------
-
-%\def\filename{Vmargin}
-\def\filename{vmargin}
-\def\fileversion{V2.2}
-\def\filedate{1999/06/01}
-
-\@ifundefined{Vmargin}{}{\endinput}
-
-\@ifundefined{documentclass}{
- \edef\Vmargin{Style `\filename', \fileversion, \filedate}
- \expandafter\everyjob\expandafter{\the\everyjob\typeout{\Vmargin}}
- \typeout{\Vmargin}
-}{
- \NeedsTeXFormat{LaTeX2e}[1994/06/01]
- \ProvidesPackage{\filename}[\filedate]
- \edef\Vmargin{Package `\filename', \fileversion, <\filedate>}
- \expandafter\everyjob\expandafter{\the\everyjob\typeout{\Vmargin}}
- \typeout{\Vmargin}
-}
-
-
-% new lengths: \PaperWidth, \PaperHeight
-% new if: \ifLandscape
-%
-\newdimen\PaperWidth
-\newdimen\PaperHeight
-%
-\newif\ifLandscape
-
-
-% \setpapersize
-%
-\def\setpapersize{\@ifnextchar[{\@@setps}{\@@setps[portrait]}}
-\def\@@setps[#1]{%
- \@ifundefined{po@#1}{\@name@err{#1}}{\@nameuse{po@#1}}%
- \@@@setps}
-\def\@@@setps#1{%
- \@ifundefined{paper@#1}{\@name@err{#1}}{}%
- \csname paper@#1\endcsname}
- % \usename{paper@#1} inside arg to \@ifundefined does not work
- % with papersize "custom".
-\def\po@portrait{\Landscapefalse}
-\def\po@landscape{\Landscapetrue}
-\def\@po@{\ifLandscape\dimen0\PaperWidth
- \PaperWidth\PaperHeight\PaperHeight\dimen0\fi
- \@ifundefined{paperwidth}{}{\paperwidth\PaperWidth}%
- \@ifundefined{paperheight}{}{\paperheight\PaperHeight}}
-\@ifundefined{PackageError}{
- \def\@name@err#1{%
- \typeout{*****> \string\setpapersize: illegal parameter: #1}}
-}{
- \def\@name@err#1{\PackageError{\filename}%
- {Paper size or orientation unknown: #1}{}}
-}
-
-
-% pre-defined paper/envelope sizes
-%
-% A0, A1, A2, ..., A9, B0, B1, ..., B9, C0, C1, ..., C9
-% USletter, USlegal, USexecutive
-% custom
-%
-\def\@defmetricpaper#1#2#3{%
- \begingroup
- \count0=0
- \def\w{\dimen1 }\def\h{\dimen2 }\def\s{\dimen3 }%
- \w#2\h#3
- \def\l{11}
- \loop
- \begingroup
- \def\t{\the\count0}
- \catcode`\t=11 % letter
- \expandafter\xdef\csname paper@#1\the\count0\endcsname{%
- \PaperWidth\the\w\PaperHeight\the\h\noexpand\@po@}
- \endgroup
- \s\w\w.5\h\h\s
- \ifnum\the\count0<9
- \advance\count0 by 1
- \repeat
- \endgroup
-}
-%
-\@defmetricpaper{A}{840.9mm}{1189.2mm}
-\@defmetricpaper{B}{1000mm}{1414mm}
-\@defmetricpaper{C}{917mm}{1297mm}
-%
-\let\@defmetricpaper=\relax % delete definition to save memory
-%
-\def\paper@USletter{\PaperWidth 8.5in \PaperHeight 11in \@po@}
-\def\paper@USlegal{\PaperWidth 8.5in \PaperHeight 14in \@po@}
-\def\paper@USexecutive{\PaperWidth 7.25in\PaperHeight 10.5in \@po@}
-%
-\def\paper@custom#1#2{\PaperWidth#1\PaperHeight#2\@po@}
-
-
-% margin@offset
-%
-% Compensates for the +1in/+1in top/left corner
-% by either reducing the margins or \hoffset, \voffset by 1in.
-% This macro is only defined here if it is not already defined!
-% (see documentation at the end)
-%
-\newif\if@shiftmargins
-\@shiftmarginsfalse % this MUST be default (pageframe.sty)
-%
-\@ifundefined{margin@offset}{
-\def\margin@offset{
- \if@shiftmargins
- \oddsidemargin -1in\evensidemargin -1in\topmargin -1in
- \hoffset 0in\voffset 0in\relax
- \else
- \oddsidemargin 0in\evensidemargin 0in\topmargin 0in
- \hoffset -1in\voffset -1in\relax
- \fi
-}}{}
-%
-\def\shiftmargins{\@shiftmarginstrue}
-
-
-% Setting margins
-%
-% \setmargins{leftmargin}{topmargin}{textwidth}{textheight}%
-% {headheight}{headsep}{footheight}{footskip}
-%
-\newcommand\setmargins[8]{%
- \margin@offset
- \advance\oddsidemargin #1
- \advance\evensidemargin \PaperWidth % = paperwidth - left
- \advance\evensidemargin -#1 % - width
- \advance\evensidemargin -#3
- \advance\topmargin #2
- \textwidth #3
- \textheight #4
- \headheight #5
- \headsep #6
- \@ifundefined{footheight}{}{\footheight=#7}%
- \footskip #8
- \chk@dimen{#1}{#2}{#3}{#4}%
-}
-%
-% \setmarginsrb{leftmargin}{topmargin}{rightmargin}{bottommargin}%
-% {headheight}{headsep}{footheight}{footskip}
-%
-\newcommand\setmarginsrb[8]{%
- \margin@offset
- \textwidth \PaperWidth % = paperwidth
- \advance\textwidth -#1 % - left - right
- \advance\textwidth -#3
- \textheight \PaperHeight % = paperheight - top
- \advance\textheight -#2 % - headheight
- \advance\textheight -#5 % - headsep
- \advance\textheight -#6 % - footskip - bottom
- \advance\textheight -#8
- \advance\textheight -#4
- \advance\oddsidemargin #1
- \advance\evensidemargin \PaperWidth % = paperwidth
- \advance\evensidemargin -#1 % - left - width
- \advance\evensidemargin -\textwidth
- \advance\topmargin #2
- \headheight #5
- \headsep #6
- \@ifundefined{footheight}{}{\footheight=#7}%
- \footskip #8
- \chk@dimen{#1}{#2}{#3}{#4}%
-}
-%
-% \setmargnohf{leftmargin}{topmargin}{textwidth}{textheight}
-% headheight, headsep, footheight, footskip set to 0pt
-\newcommand\setmargnohf[4]{%
- \setmargins{#1}{#2}{#3}{#4}\z@\z@\z@\z@
- \pagestyle{empty}}
-%
-% \setmargnohfrb{leftmargin}{topmargin}{rightmargin}{bottommargin}
-% headheight, headsep, footheight, footskip set to 0pt
-\newcommand\setmargnohfrb[4]{%
- \setmarginsrb{#1}{#2}{#3}{#4}\z@\z@\z@\z@
- \pagestyle{empty}}
-%
-% \setmarg{leftmargin}{topmargin}{textwidth}{textheight}
-% headheight, headsep, footheight, footskip unchanged
-\newcommand\setmarg[4]{%
- \setmargins{#1}{#2}{#3}{#4}%
- \headheight\headsep\footheight\footskip}
-%
-% \setmargrb{leftmargin}{topmargin}{rightmargin}{bottommargin}
-% headheight, headsep, footheight, footskip unchanged
-\newcommand\setmargrb[4]{%
- \setmarginsrb{#1}{#2}{#3}{#4}%
- \headheight\headsep\footheight\footskip}
-%
-% h-warning if [leftmarg + textwidth > paperwidth] resp.
-% if [leftmarg + rightmarg > paperwidth].
-% v-warning if [topmarg + textheight > paperheight] resp.
-% if [topmarg + bottommarg > paperheight].
-\def\chk@dimen#1#2#3#4{%
- \dimen0= #1
- \advance\dimen0 by#3
- \advance\dimen0 -\PaperWidth
- \dimen1= #2
- \advance\dimen1 by#4
- \advance\dimen1 \headheight
- \advance\dimen1 \headsep
- \advance\dimen1 \footskip
- \advance\dimen1 -\PaperHeight
- \chk@dimen@err
-}
-\@ifundefined{PackageError}{
- \def\chk@dimen@err{
- \ifnum\dimen0>\z@\typeout{vmargin Warning: Horizontal dimensions
- exceed paper width by \the\dimen0}\fi
- \ifnum\dimen1>\z@\typeout{vmargin Warning: Vertical dimensions
- exceed paper height by \the\dimen1}\fi
- }
-}{
- \def\chk@dimen@err{
- \ifnum\dimen0>\z@\PackageError{\filename}{%
- Horizontal dimensions exceed paper width by \the\dimen0}{}\fi
- \ifnum\dimen1>\z@\PackageError{\filename}{%
- Vertical dimensions exceed paper height by \the\dimen1}{}\fi
- }
-}
-
-
-%
-% DEFAULTS:
-%
-\setpapersize{A4}
-\def\@hf@dflt{}
-\@ifundefined{DeclareOption}{
-}{
- \DeclareOption{shiftmargins}{\shiftmargins}
- \DeclareOption{portrait}{\Landscapefalse}
- \DeclareOption{landscape}{\Landscapetrue}
- \DeclareOption{nohf}{\def\@hf@dflt{y}}
- \DeclareOption*{\@@@setps{\CurrentOption}}
- \ProcessOptions\relax % process options in order of declaration!
-}
-\if y\@hf@dflt
- \setmargnohfrb{35mm}{20mm}{25mm}{15mm}%
-\else
- \setmarginsrb{35mm}{20mm}{25mm}{15mm}{12pt}{11mm}{0pt}{11mm}%
-\fi
-
-
-\endinput
-
-%%----------------------------------------------------------------------
-
-Page Size and Margins
-=====================
-
-These macros make it easy to set page margins for a chosen paper size.
-Actual dimensions of the most common paper sizes are stored and need
-not be remembered.
-
-Two sided printing is supported, meaning that if on odd pages the left
-margin is, say, 30mm and the right margin is 20mm, it will be vice
-versa on even pages. This gives equal margins on the outer and equal
-margins on the inner edge of the paper, as expected e.g. for a book.
-
-vmargin is designed to be reasonably restricted in both memory usage
-and processing time, so that the common task of setting margins is not
-too distracting. If you are looking for something fancier try the
-geometry package.
-
-The basic procedure of using vmargin is to first set a paper size, and
-then to set the margins. The margin setting functions depend on the
-paper size. Setting the paper size and margins are two independent
-operations, i.e. setting the paper size does not directly affect the
-margins but will affect the next margin setting command.
-
-The size of the paper can be set with
-
- \setpapersize{<size>}
-
-<size> can be A0, A1, ..., A9, B0, B1, ..., B9, C0, ..., C9, USletter,
-USlegal, and USexecutive. The metric paper sizes are not stored but
-calculated. \setpapersize by default sets the orientation to portrait.
-
-Landscape format is selected by using the optional argument
-
- \setpapersize[landscape]{<size>}
-
-which swaps the width and height dimensions of the paper.
-\setpapersize[portrait]{<size>} is allowed but is the default.
-
-If you have a size which is not pre-defined use
-
- \setpapersize{custom}{<width>}{<height>}
-
-For <width> and <height> insert the respective dimensions of your
-paper.
-
-\setpapersize stores the actual dimensions of the paper in the length
-variables
-
- \PaperWidth
- \PaperHeight
-
-which can be used further, if desired.
-
- \ifLandscape
-
-yields true if a landscape format is selected. Do not write to
-\PaperWidth, \PaperHeight, or call \Landscapetrue or \Landscapefalse,
-it will not work!!
-
-The margins can be set with
-
- \setmargins{leftmargin}{topmargin}{textwidth}{textheight}%
- {headheight}{headsep}{footheight}{footskip}
-
-or with
-
- \setmarginsrb{leftmargin}{topmargin}{rightmargin}{bottommargin}%
- {headheight}{headsep}{footheight}{footskip}
-
-In the latter case \textwidth and \textheight are calculated using the
-width and height of the selected paper. The first four parameters of
-the above two commands are used to set \oddsidemargin, \evensidemargin,
-\textwidth, \topmargin, and \textheight.
-
- \setmargnohf, \setmargnohfrb
-
-Provide a page with no header and footer. They work the same as
-\setmargins, \setmarginsrb except that they only need the first 4
-parameters. The last 4 parameters are set to 0pt. These 2 commands set
-the pagestyle to empty (\pagestyle{empty}) as there is no space for
-headers or footers.
-
- \setmarg, \setmargrb
-
-are the same as \setmargnohf, \setmargnohfrb except that the last 4
-parameters to \setmargins, \setmarginsrb are unchanged.
-
-Example:
-
- A4 paper, left margin 30mm, top, right, and bottom margin 20mm
- each, no headers or footers:
-
- \setpapersize{A4}
- \setmarginsrb{30mm}{20mm}{20mm}{20mm}{0pt}{0mm}{0pt}{0mm}
- \pagestyle{empty}
-
-The same settings would result with:
-
- \setpapersize{A4}
- \setmargnohfrb{30mm}{20mm}{20mm}{20mm}
-
-For the default settings please see the part after "DEFAULTS:" (last
-part before \endinput).
-
-The default top and left margins of TeX are +1in. \setmargXXX call
-
- \margin@offset
-
-which initialises \hoffset, \voffset to -1in and \oddsidemargin,
-\evensidemargin, \topmargin to 0in. \setmargXXX then add the given
-dimensions to \topmargin, \oddsidemargin, \evensidemargin. In some
-cases it might be desired to use \XXXmargin instead of \Xoffset for
-compensation. This can be achieved by telling \margin@offset to
-initialise \Xoffset to 0in and \XXXmargin to -1in. This is done by
-%
- \shiftmargins.
-%
-If \margin@offset is already defined at the time vmargin is loaded it
-is NOT redefined! Therefore if \margin@offset is defined before vmargin
-is loaded the above mentioned compensation can be replaced by a
-different mechanism. In any case \setmargXXX call \margin@offset and
-then expect that \XXXmargin are set to useful values. \Xoffset are not
-touched by \setmargXXX. \margin@offset should be defined in a separate
-file which is included BEFORE vmargin, i.e. appears in the list of
-document-substyles of the \documentstyle command before vmargin.
-%
-Any better way of doing this? (grumble)
-
-Example: \documentstyle[...,margins,vmargin,...]{...}
- if \margin@offset is defined in a file called margins.sty.
-
-LaTeX2e: \documentclass[...]{...}
- \usepackage{...,margins,vmargin,...}
-
-
-LaTeX2e
--------
-
-This package now uses some of the new LaTeX2e features for package
-programming. It will still work with LaTeX 2.09 (in which case the new
-features are not used, resp. are inaccessible).
-
-LaTeX2e (unless in compatibility mode) does not know \footheight any
-more. vmargin does not set this variable if it does not exist, and sets
-it if it does. As \footheight was not used by LaTeX 2.09 all this has
-little significance.
-
-LaTeX2e now has the dimensions \paperwidth, \paperheight which hold the
-size of the paper. \PaperWidth, \PaperHeight are copied into
-\paperwidth, \paperheight if the latter exist. This makes vmargin work
-correctly with anything that expects \paperwidth, \paperheight to be
-set properly. The names \PaperWidth, \PaperHeight had been chosen in
-the first place to avoid clashes with style files that also use these
-names (namely pageframe.sty).
-
-The following package options are available under LaTeX2e:
-
-shiftmargins same as \shiftmargins
-portrait
-landscape
-A4, etc. same as using \setpapersize[...]{...}
- Note: \setpapersize always sets the orientation to
- portrait unless landscape is given. Using \setpapersize
- after \usepackage causes package option landscape to be
- ignored.
-nohf do not make space for header and footer lines; this also
- sets the pagestyle to empty
-
-All unknown options are treated as a paper size, if necessary
-generating an error that the requested paper size is not defined.
-
-
-Inclusion in TeX formats
-------------------------
-
-This file may be loaded in initex before dumping the format, by typing
- \makeatletter
- \input vmargin.sty
- \makeatother
-Note: this produces a non-standard format.
-
-
-Hints for using pageframe.sty
------------------------------
-
-vmargin.sty and pageframe.sty can be used together if the following
-points are considered:
-
-vmargin uses \hoffset and \voffset and writes negative values into it,
-pageframe expects them to be zero to give a 1in space on the left and
-the top where it prints additional information. Initially, set both to
-0mm (in the pre-amble of your text) and adjust them later on.
-
-pageframe needs to know the trimmed height of the paper (= the height
-of the "page frame"). Unless the trimmed(!) size of the paper is
-equivalent to one of the standard paper sizes (unlikely...) the size
-should be specified with
-
- \setpapersize{custom}{<width>}{<height>}
-
-The correct height of the trimmed page can then be given to pageframe
-using
-
- \paperheight{\PaperHeight}
-
-and the margins of the final product (inside the page frame) can be
-specified using \setmargXXX.
-
-Warning: if \setmargXXXrb is used the 3rd parameter (right margin) is
-ignored. Instead, the dimension of the right margin has to be assigned
-to \evensidemargin. This is because pageframe.sty re-defines the meaning
-of \evensidemargin to be the right margin of your text, on all pages.
-
-Remember: all these assignments and macro calls have to be in the
-pre-amble of the document.
-
-
-Bugs:
------
-
-I have not tested this with older versions of LaTeX2e because I don't
-have any. If there are any problems pleease do let me know and I'll do
-something about it.
-
-
-To do:
-------
-
-* The way the metric paper sizes are stored takes up a lot of space. A
- metric size could be computed by \setpapersize.
-
-
-SUMMARY:
-========
-
-new lengths:
- \PaperWidth
- \PaperHeight
-
-new ifs:
- \ifLandscape
-
-new macros:
- \setpapersize[<orientation>]{<size>},
- \setpapersize[<orientation>]{custom}{<width>}{<height>}
- <orientation> (optional) = landscape or portrait (default)
- <size> = A4, B5, ...
- <width>, <height> = actual dimensions of the paper
- \setmargins{leftmargin}{topmargin}{textwidth}{textheight}%
- {headheight}{headsep}{footheight}{footskip}
- \setmarginsrb{leftmargin}{topmargin}{rightmargin}{bottommargin}%
- {headheight}{headsep}{footheight}{footskip}
- \setmargnohf{leftmargin}{topmargin}{textwidth}{textheight}
- \setmargnohfrb{leftmargin}{topmargin}{rightmargin}{bottommargin}
- \setmarg{leftmargin}{topmargin}{textwidth}{textheight}
- \setmargrb{leftmargin}{topmargin}{rightmargin}{bottommargin}
-%
- \margin@offset
- \shiftmargins
-
-LaTeX2e package options:
- shiftmargins
- portrait
- landscape
- nohf
- all other options are treated as paper sizes
-
-
-If you have any comments (positive or negative) please let me know!
-
-
-
-HISTORY:
-========
-
- .
- . Created out of Vpage.sty.
- .
-V1.7 21 May 1994 Changed file header.
-V1.72 21 May 1994 Fixed bug in \setpapersize{custom}
-V1.8 28 May 94 Commented \chk@dimen; reduced load on TeX's
- parameter stack (changed \chk@dimen).
- Put a conditional around references
- to \footheight.
-V1.9 22 Jun 94 Corrected spelling in comment.
-V2.0 28 Jun 94 Added support for LaTeX2e \paperwidth,
- \paperheight.
-V2.1 20 Sep 94 \@defmetricpaper now defines \w, \h, \s locally.
- Thanks to branderhorst@fgg.eur.nl!
-V2.12 28 Mar 95 Fixed documentation for \setmargrb.
-V2.13 26 Jun 96 Fixed comment for \setmarginsrb.
-V2.2 31 May 99 Released under LPPL.
- Changed references to Vmargin to vmargin.
- LaTeX2e package options introduced.
-%
-%% EOF vmargin.sty
-%%----------------------------------------------------------------------