summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2010-03-02 00:44:35 +0000
committerKarl Berry <karl@freefriends.org>2010-03-02 00:44:35 +0000
commit65293db75e3702db6206732e71cc68adbb0075a7 (patch)
tree177ac7f2e0c39f831b7937f4bafa8fd61290e220
parent22e1ea793c2800134b08e2148376a5dfa8722750 (diff)
geometry 5.2 (28feb10)
git-svn-id: svn://tug.org/texlive/trunk@17268 c570f23f-e606-0410-a88d-b1316a301751
-rw-r--r--Master/texmf-dist/doc/latex/geometry/README32
-rw-r--r--Master/texmf-dist/doc/latex/geometry/changes.txt637
-rw-r--r--Master/texmf-dist/doc/latex/geometry/geometry-samples.tex24
-rw-r--r--Master/texmf-dist/doc/latex/geometry/geometry.pdfbin226435 -> 227181 bytes
-rw-r--r--Master/texmf-dist/source/latex/geometry/geometry.dtx265
-rw-r--r--Master/texmf-dist/source/latex/geometry/geometry.ins2
-rw-r--r--Master/texmf-dist/tex/latex/geometry/geometry.sty74
7 files changed, 538 insertions, 496 deletions
diff --git a/Master/texmf-dist/doc/latex/geometry/README b/Master/texmf-dist/doc/latex/geometry/README
index 6fa8e6a455a..909c8a914e0 100644
--- a/Master/texmf-dist/doc/latex/geometry/README
+++ b/Master/texmf-dist/doc/latex/geometry/README
@@ -1,4 +1,4 @@
-LaTeX Package: Geometry 2010/02/15 v5.1
+LaTeX Package: Geometry 2010/03/01 v5.2
----------------------------------------
Flexible and easy interface to page dimensions
@@ -14,17 +14,26 @@ Abstract:
CTAN: macros/latex/contrib/geometry
+Release 5.2
+ * Fixed a bug that the papersize setting explicitly specified
+ with \geometry or \usepackage in the preample didn't come to
+ \newgeometry.
+ * Added \mag offset adjustment for \newgeometry.
+ * Added 'onecolumn' option as a shorthand for 'twocolumn=false'.
+ * Changed the format of the verbose mode.
+
Release 5.1
- * Fixed a bug that caused an error in 'pass' option.
+ * Fixed a bug that caused an error in 'pass' option.
+
Release 5.0
- * Changing page layout mid-document.
- * A new set of options to specify the layout area.
- * A new driver option 'xetex'.
- * New paper size presets for JIS B-series.
- * Changing default for underspecified margin.
- * The option 'showframe' works on every page.
- * Loading geometry.cfg precedes processing class options.
- * Deleted options: 'compat2' and 'twosideshift'.
+ * Changing page layout mid-document.
+ * A new set of options to specify the layout area.
+ * A new driver option 'xetex'.
+ * New paper size presets for JIS B-series.
+ * Changing default for underspecified margin.
+ * The option 'showframe' works on every page.
+ * Loading geometry.cfg precedes processing class options.
+ * Deleted options: 'compat2' and 'twosideshift'.
See changes.txt for more history.
@@ -55,8 +64,7 @@ License:
This work may be distributed and/or modified under the conditions of
the LaTeX Project Public License, either version 1.3c of this license
or (at your option) any later version. The latest version of this
- license is in
- http://www.latex-project.org/lppl.txt
+ license is in http://www.latex-project.org/lppl.txt
and version 1.3c or later is part of all distributions of LaTeX
version 2005/12/01 or later.
diff --git a/Master/texmf-dist/doc/latex/geometry/changes.txt b/Master/texmf-dist/doc/latex/geometry/changes.txt
index 6fd1bb705ea..f7a71a8153b 100644
--- a/Master/texmf-dist/doc/latex/geometry/changes.txt
+++ b/Master/texmf-dist/doc/latex/geometry/changes.txt
@@ -1,328 +1,315 @@
-2010-02-15 Hideo Umeki
- * Release 5.1
- * Fixed a bug that caused an error in 'pass' option.
-
-2010-02-12 Hideo Umeki
- * Release 5.0
- * Changing page layout mid-document.
- The new commands \newgeometry{...} and \restoregeometry allow
- users to change page dimensions in the middle of the document.
- * A new set of options to specify the layout area.
- The options specified for the area, in which the page dimensions
- are calculated, are added: 'layout', 'layoutsize',
- 'layoutwidth', 'layoutheight' and so forth.
- These options would help to print the specified
- layout to a different sized paper. For example, with 'a4paper'
- and 'layout=a5paper', the geometry package uses 'A5' layout to
- calculate margins with the paper size still 'A4'.
- * A new driver option 'xetex'.
- The new driver option 'xetex' is added. The driver auto-detection
- routine has been revised so as to avoid an error with undefined
- control sequences. Note that 'geometry.cfg' in TeXLive, which
- disables the auto-detection routine and sets 'pdftex', is no
- longer necessary and has no problem even though it still exists.
- To set 'xetex' is strongly recommended with XeLaTeX.
- * New paper size presets for JIS B-series.
- The papersize presets 'b0j' to 'b6j' for JIS (Japanese Industrial
- Standards) B-series are added.
- * Changing default for underspecified margin.
- In the previous version, if only one margin was specified,
- 'bottom=1cm' for example, then geometry set the other margin with
- the margin ratio (1:1 by default for the vertical dimensions)
- and got 'top'=1cm in this case.
- The version 5 sets the text-body size with the default 'scale'
- (=0.7) and determine the unspecified margin.
- * The option 'showframe' works on every page.
- With 'showframe' option, the page frames are shown on every page.
- In addition, the new option 'showcrop' would print cropmarks showing
- the corners of the layout (the same as paper by default) on every page.
- * Loading geometry.cfg precedes processing class options.
- The previous version loaded 'geometry.cfg' after processing
- the document class options. Now that the config file is
- loaded before processing the class options, you can change the
- behavior specified in 'geometry.cfg' by adding options into
- \documentclass as well as \usepackage and \geometry.
- * Deleted options: 'compat2' and 'twosideshift'.
- The version 5 has no longer compatibility with the previous ones.
- 'compat2' and 'twosideshift' are gone for simplicity.
-
-2008-12-21 Hideo Umeki
- * Release 4.2
- * Fixed check for the definition of \AtBeginShipoutFirst.
- * Fixed \topskip adjustment so that it works when "lines" option is used.
- * Added "driver=none" option, which does nothing for driver.
- * Revised the note on "ifvtex" package.
-
-2008-11-13 Hideo Umeki
- * Release 4.1
- * Fixed missing \ProvidesPackage.
-
-2008-11-06 Hideo Umeki
- * Release 4.0
- * More robust driver detection.
- The driver detection method has been totally rewritten so that
- it can automatically detect the driver appropriate for the
- typesetting program in use. Therefore explicit driver setting is no
- longer needed in most cases, except for the driver 'dvipdfm'.
- This improvement makes geometry work more robustly for
- the typesetting programs under e-TeX, XeTeX and VTeX
- as well as normal TeX environment. The packages 'ifpdf' and
- 'ifvtex' are used, which are available in CTAN.
- Note that 'ifvtex' package v1.3 (2007/09/09), however, has a
- bug (a typo) that affects the detection of VTeX.
- So you need to use 'ifvtex' v1.4 or later.
- * New option: resetpaper.
- This option disables explicit paper setting in 'geometry'
- and uses the paper size specified before 'geometry'.
- This option may be useful to print nonstandard sized documents
- with normal printers and papers.
- * Added adjustment to \topskip.
- When large font sizes are specified, \topskip has to be adjusted
- so that the formula:
- \textheight = (lines - 1) x \baselineskip} + \topskip
- to be correct. To do this, \topskip is set to \ht\strutbox,
- if \topskip is smaller than \ht\strutbox.
- * Added ANSI paper sizes.
- New paper size definitions for ANSI A to E are added.
- * Fixed wrong ISO paper sizes.
- The paper sizes for A1,A2,A5 and A6 were wrong (by 1mm).
- * Fixed PDFTeX magnification problem.
- PDF paper offset is adjusted properly when magnification is
- set by mag option with pdfTeX.
- * Changed package source organization.
- Files geometry.ins and geometry-samples.tex are integrated into
- geometry.dtx so that they can be generated from geometry.dtx by
- the 'tex' command. Documentation can be also generated directly
- from geometry.dtx by '(pdf)latex' command.
- * Other improvements to the code and documentation.
-
-2002-07-08 Hideo Umeki
- * Release 3.2
- * Added known problem: for crop package with its 'center' option and
- 'mag' larger than 1000, the result is not the one expected.
- * Fixed double-valued marginratio setting like {1:1,1:5}.
- {h|v}marginratio should have been set by \edef
- instead of \def (line:439-440 in geometry.sty).
- The bug was introduced in v3.1. (found by Rolf Niepraschk)
- * Added two test files: gtest15.tex gtest16.tex
-
-2002-07-04 Hideo Umeki
- * Release 3.1
- * Fixed an error in setting geometry dimensions with \widthof of
- calc package. \Gm@defbylen and \Gm@defbycnt are introduced to set
- geometry dimensions.
-
-2002-06-30 Hideo Umeki
- (Special thanks to Frank Mittelbach for checking codes patiently
- and providing extremely helpful insight and suggestions)
- * Release 3.0
- * Revised geometry.dtx document.
-
-2002-06-28 Hideo Umeki
- * Bug fix: multiple landscape/portrait switches malfunctioned.
- * Bug fix: default hmarginratio wasn't reset when twoside is reset.
- The initialization of default margionratios added in \Gm@clean.
-
-2002-06-12 Hideo Umeki
- * Improved 'reset': can reset 'paper' given as a geometry option.
- * Bug fix: class default papersize with class option 'landscape'
- didn't work with \geometry command.
-
-2002-06-05 Hideo Umeki
- * Added a landscape correction for dvips with 'special' command.
- * Added 'dvipdfm' (same as 'dvips' internally).
- * Changed driver settings ('dvips', 'pdftex', and all that) to exclusive.
- * Bug fix: 'footnotesep' (\skip\footins) couldn't be reset.
- * Bug fix: 'bindingoffset' didn't work with calc package
- * Bug fix: 'showframe' vbox had improper height settings.
- * Bug fix: complex margin settings with calc, e.g. (1in-50pt)*2/3,
- didn't work well.
-
-2002-05-27 Hideo Umeki
- * Added many '\@onlypreamble' commands.
- * The default vscale is changed to 0.7.
- * Added 'compat2' to achieve option compatibility with the old version.
-
-2002-05-24 Hideo Umeki
- * 'pdfoutput=1' is removed because it is unnecessary and rather harmful
- with package 'hyperref'.
- * The default hscale is changed to 0.7.
- * The default hmaginratio '\Geom@Dhratiotwo' (=2:3) is used
- if \@twosidetrue.
- * 'asymmetric' sets \@mparswitchfalse and \@twosidetrue, so that
- one can use 'asymmetric' as an alternative to the 'twoside' option.
-
-2002-05-21 Hideo Umeki
- * Added 'nomarginpar' with \marginparwidth and \marginparsep set to 0pt.
- * Added '\geom@checkmp' checking if marginal notes fall off the page.
- * '\geom@process' revised with new internal macros.
- * Bug fixed: odd/evensidemargin calculations totally modified.
-
-2002-05-20 Hideo Umeki
- * Changed the default settings (old defaults --> new defaults)
- - scale={0.8,0.9} --> scale=0.8
- - includeheadfoot, ignoremp --> ignoreall
- - marginratio={2:3,1:2} for oneside, marginratio=2:3 for twoside
- --> marginratio={1:1,2:3} for oneside, marginratio=2:3 for twoside
-
-2002-05-19 Hideo Umeki
- * 'asymmetric' just sets \@mparswitchfalse. 'asymmetric=false' does
- nothing.
- * '\geom@process' revised.
-
-2002-05-14 Hideo Umeki
- * 'nohead', 'nofoot' and 'noheadfoot' are just shortcut for
- setting the corresponding LaTeX dimensions to zero, so they
- are overwritable by subsequent options.
- * Added 'asymmetric' option with the same layout on every pages.
- 'twoside' automatically set 'asymmetric=false', but users can
- set manually 'asymmetric(=true)'.
- * Changed showparam style.
- * Added 'hcentering' and 'vcentering', which set 'hmarginratio=1:1'
- and 'vmarginratio=1:1' respectively.
- * Bug fixed: incorrect margins when 'twocolumn' and 'includemp'
- * Bug fixed: '(h|v)centering' option was set even when the value is
- false.
- * Bug fixed: \mag and options with true dimension values caused
- overspecification warning about \mag. Now \mag cannot be specified
- more than once as geometry option.
- * Known Problem: 'reset' still leaves the last papername given as
- a geometry option, not the class original papername.
- Set the proper paper name again after 'reset'.
-
-2002-05-13 Hideo Umeki
- * Added 'twocolumn' option
- * "verbose" displays the parameter results on the terminal,
- "verbose=false" (default) still puts them into the log.
- * 'heightrounded' calculation no longer needs ifthen package.
- * Bug fixed: 'heightrounded' always adjusted downwards.
- * Bug fixed: it didn't work with calc package.
- \Geom@setafter command needs \expandafter's
- * Bug fixed: 'pass' and multiple 'reset' didn't work well.
-
-2002-05-10 Hideo Umeki
- * Added 'showframe' option, which shows textarea and page frames,
- and lines for head and foot to check layout in detail.
- Geometry.sty now contains features of showframe.sty. So showframe.sty
- is deleted from the distribution.
- * Bug fixed: {h,v}offset was set wrong values when 'mag', 'truedimen'
- and \geometry{..} macro were used.
- * Bug fixed: execution timing of changing papersize was wrong.
- This bug was introduced in v3.0 beta.
-
-2002-05-09 Hideo Umeki
- * Added 'heightrounded' option. If \textheight is not specified,
- this option rounds it to n-times (n: an integer) of \baselineskip plus
- \topskip, \textheight = n * \baselineskip + \topskip,
- to avoid "underfull vbox" in some cases. Default is false.
- ifthen package included in LaTeX base bundle is required.
- * Added 'lines' option, which enables users to specify \textheight
- by the number of lines included in \textheight auto-calculating
- \textheight = (lines - 1) * \baselineskip + \topskip.
- This option is prior to all the other options determining 'textheight'
- directly (ie. 'textheight', 'height', 'vscale').
- * Bug fixed: \Geom@dset wasn't set by \edef.
-
-2002-04-26 Hideo Umeki
- * \geom@setafter and \Geom@dset (both internal) makes LaTeX dimension
- setting as a option (headsep, footskip, hoffset, and etc)
- effective at the beginning of \geom@process for 'pass' option.
- * Revised internal codes specifying papersize.
- * Changed the way of displaying options and parameters in 'verbose' mode.
+2010-03-01 Release 5.2
+ * Fixed a bug that the papersize setting explicitly specified
+ with \geometry or \usepackage in the preample didn't come to
+ \newgeometry.
+ * Added \mag offset adjustment for \newgeometry.
+ * Added 'onecolumn' option as a shorthand for 'twocolumn=false'.
+ * Changed the format of the verbose mode.
+
+2010-02-15 Release 5.1
+ * Fixed a bug that caused an error in 'pass' option.
+
+2010-02-12 Release 5.0
+ * Changing page layout mid-document.
+ The new commands \newgeometry{...} and \restoregeometry allow
+ users to change page dimensions in the middle of the document.
+ * A new set of options to specify the layout area.
+ The options specified for the area, in which the page dimensions
+ are calculated, are added: 'layout', 'layoutsize',
+ 'layoutwidth', 'layoutheight' and so forth.
+ These options would help to print the specified
+ layout to a different sized paper. For example, with 'a4paper'
+ and 'layout=a5paper', the geometry package uses 'A5' layout to
+ calculate margins with the paper size still 'A4'.
+ * A new driver option 'xetex'.
+ The new driver option 'xetex' is added. The driver auto-detection
+ routine has been revised so as to avoid an error with undefined
+ control sequences. Note that 'geometry.cfg' in TeXLive, which
+ disables the auto-detection routine and sets 'pdftex', is no
+ longer necessary and has no problem even though it still exists.
+ To set 'xetex' is strongly recommended with XeLaTeX.
+ * New paper size presets for JIS B-series.
+ The papersize presets 'b0j' to 'b6j' for JIS (Japanese Industrial
+ Standards) B-series are added.
+ * Changing default for underspecified margin.
+ In the previous version, if only one margin was specified,
+ 'bottom=1cm' for example, then geometry set the other margin with
+ the margin ratio (1:1 by default for the vertical dimensions)
+ and got 'top'=1cm in this case.
+ The version 5 sets the text-body size with the default 'scale'
+ (=0.7) and determine the unspecified margin.
+ * The option 'showframe' works on every page.
+ With 'showframe' option, the page frames are shown on every page.
+ In addition, the new option 'showcrop' would print cropmarks showing
+ the corners of the layout (the same as paper by default) on every page.
+ * Loading geometry.cfg precedes processing class options.
+ The previous version loaded 'geometry.cfg' after processing
+ the document class options. Now that the config file is
+ loaded before processing the class options, you can change the
+ behavior specified in 'geometry.cfg' by adding options into
+ \documentclass as well as \usepackage and \geometry.
+ * Deleted options: 'compat2' and 'twosideshift'.
+ The version 5 has no longer compatibility with the previous ones.
+ 'compat2' and 'twosideshift' are gone for simplicity.
+
+2008-12-21 Release 4.2
+ * Fixed check for the definition of \AtBeginShipoutFirst.
+ * Fixed \topskip adjustment so that it works when "lines" option is used.
+ * Added "driver=none" option, which does nothing for driver.
+ * Revised the note on "ifvtex" package.
+
+2008-11-13 Release 4.1
+ * Fixed missing \ProvidesPackage.
+
+2008-11-06 Release 4.0
+ * More robust driver detection.
+ The driver detection method has been totally rewritten so that
+ it can automatically detect the driver appropriate for the
+ typesetting program in use. Therefore explicit driver setting is no
+ longer needed in most cases, except for the driver 'dvipdfm'.
+ This improvement makes geometry work more robustly for
+ the typesetting programs under e-TeX, XeTeX and VTeX
+ as well as normal TeX environment. The packages 'ifpdf' and
+ 'ifvtex' are used, which are available in CTAN.
+ Note that 'ifvtex' package v1.3 (2007/09/09), however, has a
+ bug (a typo) that affects the detection of VTeX.
+ So you need to use 'ifvtex' v1.4 or later.
+ * New option: resetpaper.
+ This option disables explicit paper setting in 'geometry'
+ and uses the paper size specified before 'geometry'.
+ This option may be useful to print nonstandard sized documents
+ with normal printers and papers.
+ * Added adjustment to \topskip.
+ When large font sizes are specified, \topskip has to be adjusted
+ so that the formula:
+ \textheight = (lines - 1) x \baselineskip} + \topskip
+ to be correct. To do this, \topskip is set to \ht\strutbox,
+ if \topskip is smaller than \ht\strutbox.
+ * Added ANSI paper sizes.
+ New paper size definitions for ANSI A to E are added.
+ * Fixed wrong ISO paper sizes.
+ The paper sizes for A1,A2,A5 and A6 were wrong (by 1mm).
+ * Fixed PDFTeX magnification problem.
+ PDF paper offset is adjusted properly when magnification is
+ set by mag option with pdfTeX.
+ * Changed package source organization.
+ Files geometry.ins and geometry-samples.tex are integrated into
+ geometry.dtx so that they can be generated from geometry.dtx by
+ the 'tex' command. Documentation can be also generated directly
+ from geometry.dtx by '(pdf)latex' command.
+ * Other improvements to the code and documentation.
+
+2002-07-08 Release 3.2
+ * Added known problem: for crop package with its 'center' option and
+ 'mag' larger than 1000, the result is not the one expected.
+ * Fixed double-valued marginratio setting like {1:1,1:5}.
+ {h|v}marginratio should have been set by \edef
+ instead of \def (line:439-440 in geometry.sty).
+ The bug was introduced in v3.1. (found by Rolf Niepraschk)
+ * Added two test files: gtest15.tex gtest16.tex
+
+2002-07-04 Release 3.1
+ * Fixed an error in setting geometry dimensions with \widthof of
+ calc package. \Gm@defbylen and \Gm@defbycnt are introduced to set
+ geometry dimensions.
+
+2002-06-30 Release 3.0
+ (Special thanks to Frank Mittelbach for checking codes patiently
+ and providing extremely helpful insight and suggestions)
+ * Revised geometry.dtx document.
+
+2002-06-28
+ * Bug fix: multiple landscape/portrait switches malfunctioned.
+ * Bug fix: default hmarginratio wasn't reset when twoside is reset.
+ The initialization of default margionratios added in \Gm@clean.
-2002-04-25 Hideo Umeki
- * Version 3.0 beta
- * Added 'screen' option as a new papersize (papersize={225mm,180mm}).
- To make presentation with PC and video projector, geometry option
- "screen,centering" with 'slide' documentclass must be the best choise.
- * Added 'pass' option, which disables geometry's auto-layout.
- * Added 'ratio' option equivalent to 'marginratio'.
- * Added 'centering', a shortcut for 'marginratio=1:1'.
- * Added 'innermargin' and 'outermargin', aliases for leftmargin
- and rightmargin respectively.
-
-2002-04-22 Hideo Umeki
- * Version 3.0 Candidate alpha, alpha-2 (formly known as 2.4 alpha-1,2)
- * Added 'ignorehead', 'ignorefoot', 'ignoreheadfoot', and
- 'ignoreheadfootmp'(ignoreall) options to disregard
- head/foot/marginpars spaces.
- * Added '{h|v}marginratio' options.
- These options specify visible marginal spaces in each direction,
- left(inner):right(outer) for the horizontal ratio, top:bottom
- for the vertical. They should be set in 'a:b' style and each
- value should be a positive integer less than 100 to avoid
- arithmetic overflow. In default, hmarginratio=2:3 (1:2 for
- twoside) and vmarginratio=1:2.
- * The 'automatic' centering is no longer default layout,
- so marginratio={2:3,1:2} is used as default.
- * Removed twosideshift option, use bindingoffset instead.
- bindingoffset is set 0pt as default and supports twoside.
-
-2000-06-28 Hideo Umeki
- * Release 2.3
- * Added 'truedimen', 'columnsep' and 'footnotesep' options.
- * VTeX supported.
- * Modified internal settings for twosideshift and mag.
-
-1999-10-07 Hideo Umeki
- * Release 2.2
- * Bug fixed: explicit twoside was needed for book.cls.
-
-1999-09-27 Hideo Umeki
- * Release 2.1
- * Bug fixed: twosideshift with reversemarginpar made wrong margins.
- * Added mag option.
- * Paper sizes A6 and B6 supported.
- * Changed license declaration to LPPL.
-
-1998-04-06 Hideo Umeki
- * Release 2.0
- * Flexible setting scheme for package option with keyval.
- * Removed exclamations and extra control sequences for paperwidth
- and paperheight.
- * Totally revised the code and document.
-
-1997-09-08 Hideo Umeki
- * Release 1.08
- * Included geometry.cfg into geometry.dtx.
- * Changed the catcode of exclamation mark.
-
-1997-07-05 Hideo Umeki
- * Release 1.07
- * Modified process of 'dvips' option.
- * pdftex supported.
- * Added 'a0paper' and 'b0paper'.
-
-1997-04-16 Hideo Umeki
- * Release 1.06
- * reversemarginpar supported.
-
-1997-02-17 Hideo Umeki
- * Release 1.05
- * Changed the definition for dvips option.
-
-1996-08-05 Hideo Umeki
- * Release 1.04
- * Bug fixed: papersize= had no effect when papertype was given
- in geometry.cfg or as a package option.
-
-1996-07-17 Hideo Umeki
- * Release 1.03
- * calc support
-
-1996-06-07 Hideo Umeki
- * Release 1.02
- * Changed definition for 'reset' option.
- * Revised instructions for 'reset' and 'dvips' options.
-
-1996-06-03 Hideo Umeki
- * Release 1.01
- * Fixed bugs in setting paper and option processing.
- * geometry.cfg
- * Added 'dvips' option.
+2002-06-12
+ * Improved 'reset': can reset 'paper' given as a geometry option.
+ * Bug fix: class default papersize with class option 'landscape'
+ didn't work with \geometry command.
+
+2002-06-05
+ * Added a landscape correction for dvips with 'special' command.
+ * Added 'dvipdfm' (same as 'dvips' internally).
+ * Changed driver settings ('dvips', 'pdftex', and all that) to exclusive.
+ * Bug fix: 'footnotesep' (\skip\footins) couldn't be reset.
+ * Bug fix: 'bindingoffset' didn't work with calc package
+ * Bug fix: 'showframe' vbox had improper height settings.
+ * Bug fix: complex margin settings with calc, e.g. (1in-50pt)*2/3,
+ didn't work well.
+
+2002-05-27
+ * Added many '\@onlypreamble' commands.
+ * The default vscale is changed to 0.7.
+ * Added 'compat2' to achieve option compatibility with the old version.
+
+2002-05-24
+ * 'pdfoutput=1' is removed because it is unnecessary and rather harmful
+ with package 'hyperref'.
+ * The default hscale is changed to 0.7.
+ * The default hmaginratio '\Geom@Dhratiotwo' (=2:3) is used
+ if \@twosidetrue.
+ * 'asymmetric' sets \@mparswitchfalse and \@twosidetrue, so that
+ one can use 'asymmetric' as an alternative to the 'twoside' option.
+
+2002-05-21
+ * Added 'nomarginpar' with \marginparwidth and \marginparsep set to 0pt.
+ * Added '\geom@checkmp' checking if marginal notes fall off the page.
+ * '\geom@process' revised with new internal macros.
+ * Bug fixed: odd/evensidemargin calculations totally modified.
+
+2002-05-20
+ * Changed the default settings (old defaults --> new defaults)
+ - scale={0.8,0.9} --> scale=0.8
+ - includeheadfoot, ignoremp --> ignoreall
+ - marginratio={2:3,1:2} for oneside, marginratio=2:3 for twoside
+ --> marginratio={1:1,2:3} for oneside, marginratio=2:3 for twoside
+
+2002-05-19
+ * 'asymmetric' just sets \@mparswitchfalse. 'asymmetric=false' does
+ nothing.
+ * '\geom@process' revised.
+
+2002-05-14
+ * 'nohead', 'nofoot' and 'noheadfoot' are just shortcut for
+ setting the corresponding LaTeX dimensions to zero, so they
+ are overwritable by subsequent options.
+ * Added 'asymmetric' option with the same layout on every pages.
+ 'twoside' automatically set 'asymmetric=false', but users can
+ set manually 'asymmetric(=true)'.
+ * Changed showparam style.
+ * Added 'hcentering' and 'vcentering', which set 'hmarginratio=1:1'
+ and 'vmarginratio=1:1' respectively.
+ * Bug fixed: incorrect margins when 'twocolumn' and 'includemp'
+ * Bug fixed: '(h|v)centering' option was set even when the value is
+ false.
+ * Bug fixed: \mag and options with true dimension values caused
+ overspecification warning about \mag. Now \mag cannot be specified
+ more than once as geometry option.
+ * Known Problem: 'reset' still leaves the last papername given as
+ a geometry option, not the class original papername.
+ Set the proper paper name again after 'reset'.
+
+2002-05-13
+ * Added 'twocolumn' option
+ * "verbose" displays the parameter results on the terminal,
+ "verbose=false" (default) still puts them into the log.
+ * 'heightrounded' calculation no longer needs ifthen package.
+ * Bug fixed: 'heightrounded' always adjusted downwards.
+ * Bug fixed: it didn't work with calc package.
+ \Geom@setafter command needs \expandafter's
+ * Bug fixed: 'pass' and multiple 'reset' didn't work well.
+
+2002-05-10
+ * Added 'showframe' option, which shows textarea and page frames,
+ and lines for head and foot to check layout in detail.
+ Geometry.sty now contains features of showframe.sty. So showframe.sty
+ is deleted from the distribution.
+ * Bug fixed: {h,v}offset was set wrong values when 'mag', 'truedimen'
+ and \geometry{..} macro were used.
+ * Bug fixed: execution timing of changing papersize was wrong.
+ This bug was introduced in v3.0 beta.
+
+2002-05-09
+ * Added 'heightrounded' option. If \textheight is not specified,
+ this option rounds it to n-times (n: an integer) of \baselineskip plus
+ \topskip, \textheight = n * \baselineskip + \topskip,
+ to avoid "underfull vbox" in some cases. Default is false.
+ ifthen package included in LaTeX base bundle is required.
+ * Added 'lines' option, which enables users to specify \textheight
+ by the number of lines included in \textheight auto-calculating
+ \textheight = (lines - 1) * \baselineskip + \topskip.
+ This option is prior to all the other options determining 'textheight'
+ directly (ie. 'textheight', 'height', 'vscale').
+ * Bug fixed: \Geom@dset wasn't set by \edef.
+
+2002-04-26
+ * \geom@setafter and \Geom@dset (both internal) makes LaTeX dimension
+ setting as a option (headsep, footskip, hoffset, and etc)
+ effective at the beginning of \geom@process for 'pass' option.
+ * Revised internal codes specifying papersize.
+ * Changed the way of displaying options and parameters in 'verbose' mode.
+
+2002-04-25 Release 3.0 beta
+ * Added 'screen' option as a new papersize (papersize={225mm,180mm}).
+ To make presentation with PC and video projector, geometry option
+ "screen,centering" with 'slide' documentclass must be the best choise.
+ * Added 'pass' option, which disables geometry's auto-layout.
+ * Added 'ratio' option equivalent to 'marginratio'.
+ * Added 'centering', a shortcut for 'marginratio=1:1'.
+ * Added 'innermargin' and 'outermargin', aliases for leftmargin
+ and rightmargin respectively.
+
+2002-04-22
+ * Version 3.0 Candidate alpha, alpha-2 (formly known as 2.4 alpha-1,2)
+ * Added 'ignorehead', 'ignorefoot', 'ignoreheadfoot', and
+ 'ignoreheadfootmp'(ignoreall) options to disregard
+ head/foot/marginpars spaces.
+ * Added '{h|v}marginratio' options.
+ These options specify visible marginal spaces in each direction,
+ left(inner):right(outer) for the horizontal ratio, top:bottom
+ for the vertical. They should be set in 'a:b' style and each
+ value should be a positive integer less than 100 to avoid
+ arithmetic overflow. In default, hmarginratio=2:3 (1:2 for
+ twoside) and vmarginratio=1:2.
+ * The 'automatic' centering is no longer default layout,
+ so marginratio={2:3,1:2} is used as default.
+ * Removed twosideshift option, use bindingoffset instead.
+ bindingoffset is set 0pt as default and supports twoside.
+
+2000-06-28 Release 2.3
+ * Added 'truedimen', 'columnsep' and 'footnotesep' options.
+ * VTeX supported.
+ * Modified internal settings for twosideshift and mag.
+
+1999-10-07 Release 2.2
+ * Bug fixed: explicit twoside was needed for book.cls.
+
+1999-09-27 Release 2.1
+ * Bug fixed: twosideshift with reversemarginpar made wrong margins.
+ * Added mag option.
+ * Paper sizes A6 and B6 supported.
+ * Changed license declaration to LPPL.
+
+1998-04-06 Release 2.0
+ * Flexible setting scheme for package option with keyval.
+ * Removed exclamations and extra control sequences for paperwidth
+ and paperheight.
+ * Totally revised the code and document.
+
+1997-09-08 Release 1.08
+ * Included geometry.cfg into geometry.dtx.
+ * Changed the catcode of exclamation mark.
+
+1997-07-05 Release 1.07
+ * Modified process of 'dvips' option.
+ * pdftex supported.
+ * Added 'a0paper' and 'b0paper'.
+
+1997-04-16 Release 1.06
+ * reversemarginpar supported.
+
+1997-02-17 Release 1.05
+ * Changed the definition for dvips option.
+
+1996-08-05 Release 1.04
+ * Bug fixed: papersize= had no effect when papertype was given
+ in geometry.cfg or as a package option.
+
+1996-07-17 Release 1.03
+ * calc support
+
+1996-06-07 Release 1.02
+ * Changed definition for 'reset' option.
+ * Revised instructions for 'reset' and 'dvips' options.
+
+1996-06-03 Release 1.01
+ * Fixed bugs in setting paper and option processing.
+ * geometry.cfg
+ * Added 'dvips' option.
+
+1996-05-31 Release 1.00
+ * Started geometry package distribution.
+ * Use keyval interface.
-1996-05-31 Hideo Umeki
- * Release 1.00
- * Started geometry package distribution.
- * Use keyval interface.
EOF
diff --git a/Master/texmf-dist/doc/latex/geometry/geometry-samples.tex b/Master/texmf-dist/doc/latex/geometry/geometry-samples.tex
index e035f9f10dc..d51bd898465 100644
--- a/Master/texmf-dist/doc/latex/geometry/geometry-samples.tex
+++ b/Master/texmf-dist/doc/latex/geometry/geometry-samples.tex
@@ -23,8 +23,8 @@
%% This work consists of the files geometry.dtx and
%% the derived files: geometry.{sty,ins,drv}, geometry-samples.tex.
%%
-\documentclass{article}% uses letterpaper by default
-% \documentclass[a4paper]{article}% for A4 paper
+\documentclass[12pt]{article}% uses letterpaper by default
+% \documentclass[12pt,a4paper]{article}% for A4 paper
%---------------------------------------------------------------
% Edit and uncomment one of the settings below
%---------------------------------------------------------------
@@ -55,18 +55,16 @@
%---------------------------------------------------------------
% No need to change below
%---------------------------------------------------------------
-\geometry{verbose,showframe}% options appended.
-\newcommand\mynote{\marginpar%
-[\raggedright\rule{\marginparwidth}{.7pt}\\A left side note.]%
-{\raggedright\rule{\marginparwidth}{.7pt}\\A side note.}}%
-\def\fox{A quick brown fox jumps over the lazy dog. }
-\def\fivefoxes{\fox\fox\fox\fox\fox}
-\def\manyfoxes{\fivefoxes\mynote\fivefoxes\par\fivefoxes\fivefoxes\par}
-% \let\mynote\relax % removes marginal notes.
+\geometry{verbose,showframe}% the options appended.
+\usepackage{lipsum}% for dummy text of 150 paragraphs
+\newcommand\mynote{\marginpar[\raggedright
+A sample margin note in the left side.]%
+{\raggedright A sample margin note.}}%
+\newcommand\myfootnote{\footnote{This is a sample footnote text.}}
\begin{document}
-\manyfoxes\manyfoxes\manyfoxes\manyfoxes
-\manyfoxes\manyfoxes\manyfoxes\manyfoxes
-\manyfoxes\manyfoxes\manyfoxes\manyfoxes
+\lipsum[1-2]\mynote\lipsum[3-4]\mynote
+\lipsum[5-11]\mynote\lipsum[12]\myfootnote
+\lipsum[13-22]\mynote\lipsum[23-32]
\end{document}
\endinput
%%
diff --git a/Master/texmf-dist/doc/latex/geometry/geometry.pdf b/Master/texmf-dist/doc/latex/geometry/geometry.pdf
index 8fc40e0a1f3..b99027684dd 100644
--- a/Master/texmf-dist/doc/latex/geometry/geometry.pdf
+++ b/Master/texmf-dist/doc/latex/geometry/geometry.pdf
Binary files differ
diff --git a/Master/texmf-dist/source/latex/geometry/geometry.dtx b/Master/texmf-dist/source/latex/geometry/geometry.dtx
index 97135e1db6b..d8c03e6031c 100644
--- a/Master/texmf-dist/source/latex/geometry/geometry.dtx
+++ b/Master/texmf-dist/source/latex/geometry/geometry.dtx
@@ -50,12 +50,12 @@
%</ignore>
%<package|driver>\NeedsTeXFormat{LaTeX2e}
%<package>\ProvidesPackage{geometry}
-%<package> [2010/02/15 v5.1 Page Geometry]
+%<package> [2010/03/01 v5.2 Page Geometry]
%<*install>
\input docstrip.tex
\Msg{************************************************************************}
\Msg{* Installation}
-\Msg{* Package: geometry 2010/02/15 v5.1 Page Geometry}
+\Msg{* Package: geometry 2010/03/01 v5.2 Page Geometry}
\Msg{************************************************************************}
\keepsilent
@@ -121,7 +121,7 @@ the derived files: geometry.{sty,ins,drv}, geometry-samples.tex.
%</driver>
% \fi
%
-% \CheckSum{2722}
+% \CheckSum{2720}
%
% \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
@@ -189,9 +189,9 @@ the derived files: geometry.{sty,ins,drv}, geometry-samples.tex.
% This package provides a flexible and easy interface to page dimensions.
% You can change the page layout with intuitive parameters. For instance,
% if you want to set a margin to 2cm from each edge of the paper,
-% you can go just |\usepackage[margin=2cm]{geometry}|. With
-% |\newgeometry| command you can change the layout anywhere in the
-% document.
+% you can go just |\usepackage[margin=2cm]{geometry}|.
+% The page layout can be changed in the middle of the document
+% with |\newgeometry| command.
% \end{abstract}
%
% \section{Preface to version 5}
@@ -1111,6 +1111,10 @@ the derived files: geometry.{sty,ins,drv}, geometry-samples.tex.
% |offset=|\argii{hoffset}{voffset} or |offset=|\meta{length}.
% \item[twocolumn] sets |twocolumn| mode with \cs{@twocolumntrue}.
% |twocolumn=false| denotes onecolumn mode with\cs{@twocolumnfalse}.
+% Instead of |twocolumn=false|, you can specify |onecolumn| (which
+% defaults to |true|)
+% \item[onecolumn] works as |twocolumn=false|. On the other hand,
+% |onecolumn=false| is equivalent to |twocolumn|.
% \item[twoside] sets both \cs{@twosidetrue} and \cs{@mparswitchtrue}.
% See Section~\ref{sec:margin}.
% \item[textwidth] sets \cs{textwidth} directly. See Section~\ref{sec:body}.
@@ -1796,7 +1800,7 @@ the derived files: geometry.{sty,ins,drv}, geometry-samples.tex.
% \end{macrocode}
% \begin{macro}{\Gm@cnth}
% \begin{macro}{\Gm@cntv}
-% Counters for horizontal and vertical partitioning patterns.
+% The counters for horizontal and vertical partitioning patterns.
% \begin{macrocode}
\newcount\Gm@cnth
\newcount\Gm@cntv
@@ -1809,7 +1813,7 @@ the derived files: geometry.{sty,ins,drv}, geometry-samples.tex.
% \end{macrocode}
% \end{macro}
% \begin{macro}{\Gm@bindingoffset}
-% An additional inner offset for binding.
+% The binding offset for the inner margin.
% \begin{macrocode}
\newdimen\Gm@bindingoffset
% \end{macrocode}
@@ -1829,7 +1833,7 @@ the derived files: geometry.{sty,ins,drv}, geometry-samples.tex.
% \begin{macro}{\Gm@layoutheight}
% \begin{macro}{\Gm@layouthoffset}
% \begin{macro}{\Gm@layoutvoffset}
-% The dimensions for the layout.
+% The dimensions for the layout area.
% \begin{macrocode}
\newdimen\Gm@layoutwidth
\newdimen\Gm@layoutheight
@@ -1838,20 +1842,23 @@ the derived files: geometry.{sty,ins,drv}, geometry-samples.tex.
% \end{macrocode}
% \end{macro}\end{macro}\end{macro}\end{macro}
% \begin{macro}{\Gm@dimlist}
-% The token in which \LaTeX{} Native dimensions are stored.
+% The token in which \LaTeX{} native dimensions can be stored.
% \begin{macrocode}
\newtoks\Gm@dimlist
% \end{macrocode}
% \end{macro}
-%
% \begin{macro}{\Gm@warning}
-% Macro for printing warning messages.
+% The macro to print warning messages.
% \begin{macrocode}
\def\Gm@warning#1{\PackageWarningNoLine{geometry}{#1}}%
% \end{macrocode}
% \end{macro}
% \begin{macro}{\ifGm@preamble}
-% process the options only if it's specified in the preamble.
+% The macro executes the option given as an argument
+% only if it's specified in the preamble, as the options of
+% |\usepackage| and/or the argument of |\geometry|. Otherwise,
+% the macro would print the warning message and ignores
+% the option setting.
% \begin{macrocode}
\def\ifGm@preamble#1{%
\ifGm@newgm
@@ -1861,32 +1868,29 @@ the derived files: geometry.{sty,ins,drv}, geometry-samples.tex.
\fi}%
% \end{macrocode}
% \end{macro}
-%
% \begin{macro}{\Gm@Dhratio}
% \begin{macro}{\Gm@Dhratiotwo}
% \begin{macro}{\Gm@Dvratio}
-% The default values for the horizontal and vertical \textsl{marginalratio}
-% are defined. \cs{Gm@Dhratiotwo} denotes the default value of
-% horizonal \textsl{marginratio} for twoside page layout with
-% left and right margins swapped on verso pages, which is
-% set by |twoside|.
+% The default values for the horizontal and vertical
+% \textsl{marginalratio} are defined. \cs{Gm@Dhratiotwo} denotes the
+% default value of horizonal \textsl{marginratio} for twoside
+% page layout with left and right margins swapped on verso pages,
+% which is set by |twoside|.
% \begin{macrocode}
\def\Gm@Dhratio{1:1}% = left:right default for oneside
\def\Gm@Dhratiotwo{2:3}% = inner:outer default for twoside.
\def\Gm@Dvratio{2:3}% = top:bottom default
% \end{macrocode}
% \end{macro}\end{macro}\end{macro}
-%
% \begin{macro}{\Gm@Dhscale}
% \begin{macro}{\Gm@Dvscale}
% The default values for the horizontal and vertical \textsl{scale}
-% are defined.
+% are defined with $0.7$.
% \begin{macrocode}
\def\Gm@Dhscale{0.7}%
\def\Gm@Dvscale{0.7}%
% \end{macrocode}
% \end{macro}\end{macro}
-%
% \begin{macro}{\Gm@dvips}%
% \begin{macro}{\Gm@dvipdfm}%
% \begin{macro}{\Gm@pdftex}%
@@ -1901,15 +1905,14 @@ the derived files: geometry.{sty,ins,drv}, geometry-samples.tex.
\def\Gm@vtex{vtex}%
% \end{macrocode}
% \end{macro}\end{macro}\end{macro}\end{macro}\end{macro}
-%
% \begin{macro}{\Gm@true}%
% \begin{macro}{\Gm@false}%
+% The macros for |true| and |false|.
% \begin{macrocode}
\def\Gm@true{true}%
\def\Gm@false{false}%
% \end{macrocode}
% \end{macro}\end{macro}
-%
% \begin{macro}{\Gm@orgpw}
% \begin{macro}{\Gm@orgph}
% These macros keep original paper (media) size intact.
@@ -1918,16 +1921,16 @@ the derived files: geometry.{sty,ins,drv}, geometry-samples.tex.
\edef\Gm@orgph{\the\paperheight}%
% \end{macrocode}
% \end{macro}\end{macro}
-%
% \begin{macro}{\Gm@savelength}
+% The macro saves the specified length to |\Gm@restore|.
% \begin{macrocode}
\def\Gm@savelength#1{%
- \edef\@@tmp{\expandafter\the\csname #1\endcsname}%
\g@addto@macro\Gm@restore{\expandafter\noexpand\expandafter\csname
#1\endcsname\expandafter=\expandafter\the\csname #1\endcsname\relax}}
% \end{macrocode}
% \end{macro}
% \begin{macro}{\Gm@saveboolean}
+% The macro saves the specified boolean to |\Gm@restore|.
% \begin{macrocode}
\def\Gm@saveboolean#1{%
\csname if#1\endcsname
@@ -1938,11 +1941,14 @@ the derived files: geometry.{sty,ins,drv}, geometry-samples.tex.
% \end{macrocode}
% \end{macro}
% \begin{macro}{\Gm@restore}
+% The initialization for |\Gm@restore|.
% \begin{macrocode}
\def\Gm@restore{}%
% \end{macrocode}
% \end{macro}
% \begin{macro}{\Gm@save}
+% The definition of the macro saving the real lengths
+% \LaTeX\ options.
% \begin{macrocode}
\def\Gm@save{%
\Gm@savelength{paperwidth}%
@@ -1971,6 +1977,8 @@ the derived files: geometry.{sty,ins,drv}, geometry-samples.tex.
% \end{macrocode}
% \end{macro}
% \begin{macro}{\Gm@initnewgm}
+% The macro initializes the parameters for layout
+% in |\newgeometry|.
% \begin{macrocode}
\def\Gm@initnewgm{%
\Gm@dimlist={}
@@ -1998,8 +2006,9 @@ the derived files: geometry.{sty,ins,drv}, geometry-samples.tex.
\Gm@bindingoffset\z@}%
% \end{macrocode}
% \end{macro}
-%
% \begin{macro}{\Gm@initall}
+% This initialization is called as soon as the package is load
+% It's also called as soon as |reset| option is specified.
% \begin{macrocode}
\def\Gm@initall{%
\let\Gm@driver\@empty
@@ -2014,7 +2023,6 @@ the derived files: geometry.{sty,ins,drv}, geometry-samples.tex.
\Gm@initnewgm}%
% \end{macrocode}
% \end{macro}
-%
% \begin{macro}{\Gm@setdriver}
% The macro sets the specified driver.
% \begin{macrocode}
@@ -2029,10 +2037,9 @@ the derived files: geometry.{sty,ins,drv}, geometry-samples.tex.
\expandafter\ifx\csname Gm@#1\endcsname\Gm@driver\let\Gm@driver\@empty\fi}%
% \end{macrocode}
% \end{macro}
-%
% \begin{macro}{\Gm@setbool}
% \begin{macro}{\Gm@setboolrev}
-% The macros set a boolean option.
+% The macros for boolean option processing.
% \begin{macrocode}
\def\Gm@setbool{\@dblarg\Gm@@setbool}%
\def\Gm@setboolrev{\@dblarg\Gm@@setboolrev}%
@@ -2045,7 +2052,7 @@ the derived files: geometry.{sty,ins,drv}, geometry-samples.tex.
% \begin{macro}{\Gm@doifelse}
% \cs{Gm@doif} excutes the third argument |#3| using a boolean value
% |#2| of a option |#1|. \cs{Gm@doifelse} executes the third
-% argument |#3| if a boolean option |#1| with its value |#2| is |true|,
+% argument |#3| if a boolean option |#1| with its value |#2| |true|,
% and executes the fourth argument |#4| if |false|.
% \begin{macrocode}
\def\Gm@doif#1#2#3{%
@@ -2069,7 +2076,6 @@ the derived files: geometry.{sty,ins,drv}, geometry-samples.tex.
\Gm@doif{#1}{#2}{\ifx\Gm@bool\Gm@true #3\else #4\fi}}%
% \end{macrocode}
% \end{macro}\end{macro}
-%
% \begin{macro}{\Gm@reverse}
% The macro reverses a bool value.
% \begin{macrocode}
@@ -2122,7 +2128,6 @@ the derived files: geometry.{sty,ins,drv}, geometry-samples.tex.
\expandafter\edef\csname Gm@#4\endcsname{\the\@tempdimb}}%
% \end{macrocode}
% \end{macro}
-%
% \begin{macro}{\Gm@detiv}
% This macro determines the fourth length(|#4|) from |#1|(\glen{layoutwidth}
% or \glen{layoutheight}), |#2| and |#3|. It is used in
@@ -2813,6 +2818,13 @@ the derived files: geometry.{sty,ins,drv}, geometry-samples.tex.
\Gm@doif{twocolumn}{#1}{\csname @twocolumn\Gm@bool\endcsname}}%
% \end{macrocode}
% \end{key}
+% \begin{key}{Gm}{onecolumn}
+% This option has the reverse effect of |twocolumn| option.
+% \begin{macrocode}
+\define@key{Gm}{onecolumn}[true]{%
+ \Gm@doifelse{onecolumn}{#1}{\@twocolumnfalse}{\@twocolumntrue}}%
+% \end{macrocode}
+% \end{key}
% \begin{key}{Gm}{reversemp}
% \begin{key}{Gm}{reversemarginpar}
% The both options set \cs{reversemargin}.
@@ -2903,13 +2915,14 @@ the derived files: geometry.{sty,ins,drv}, geometry-samples.tex.
% \end{macrocode}
% \end{key}
% \begin{key}{Gm}{showframe}
-% The showframe option.
+% The showframe option prints page frames to help you understand
+% what the resulting layout is like.
% \begin{macrocode}
\define@key{Gm}{showframe}[true]{\Gm@setbool{showframe}{#1}}%
% \end{macrocode}
% \end{key}
% \begin{key}{Gm}{showcrop}
-% The showcrop option.
+% The showcrop option prints cropmarks at the corners.
% \begin{macrocode}
\define@key{Gm}{showcrop}[true]{\Gm@setbool{showcrop}{#1}}%
% \end{macrocode}
@@ -2956,9 +2969,8 @@ the derived files: geometry.{sty,ins,drv}, geometry-samples.tex.
\fi}%
% \end{macrocode}
% \end{macro}
-%
% \begin{macro}{\Gm@checkmp}
-% The macro checks whether or not marginpars overrun the page.
+% The macro checks whether or not the marginpars overrun the page.
% \begin{macrocode}
\def\Gm@checkmp{%
\ifGm@includemp\else
@@ -2978,7 +2990,7 @@ the derived files: geometry.{sty,ins,drv}, geometry-samples.tex.
\advance\@tempdimc-\@tempdimb
\ifdim\@tempdimc>\z@
\Gm@warning{The marginal notes overrun the paper edge.^^J
- \@spaces Add \the\@tempdimc\space and more to the left margin}%
+ \@spaces Add \the\@tempdimc\space and more to the left margin}%
\fi
\fi
\ifnum\@tempcntb=\@ne
@@ -2987,19 +2999,17 @@ the derived files: geometry.{sty,ins,drv}, geometry-samples.tex.
\advance\@tempdimc-\@tempdimb
\ifdim\@tempdimc>\z@
\Gm@warning{The marginal notes overrun the paper.^^J
- \@spaces Add \the\@tempdimc\space and more to the right margin}%
+ \@spaces Add \the\@tempdimc\space and more to the right margin}%
\fi
\fi
\fi}%
% \end{macrocode}
% \end{macro}
-%
% \begin{macro}{\Gm@adjustmp}
% The macro sets marginpar correction when |includemp| is set,
-% which is used in \cs{Gm@process}.
-% Local variables \cs{Gm@wd@mp}, \cs{Gm@odd@mp} and \cs{Gm@even@mp}
-% are set here. Note that \cs{Gm@even@mp} should be used only for twoside
-% layout.
+% which is used in \cs{Gm@process}. The variables \cs{Gm@wd@mp},
+% \cs{Gm@odd@mp} and \cs{Gm@even@mp} are set here.
+% Note that \cs{Gm@even@mp} should be used only for twoside layout.
% \begin{macrocode}
\def\Gm@adjustmp{%
\ifGm@includemp
@@ -3027,7 +3037,6 @@ the derived files: geometry.{sty,ins,drv}, geometry-samples.tex.
\fi}%
% \end{macrocode}
% \end{macro}
-%
% \begin{macro}{\Gm@adjustbody}
% If the horizontal dimension of \gpart{body} is specified by user,
% \cs{Gm@width} is set properly here.
@@ -3050,8 +3059,6 @@ the derived files: geometry.{sty,ins,drv}, geometry-samples.tex.
\fi
\fi
% \end{macrocode}
-% \end{macro}
-%
% If the vertical dimension of \gpart{body} is specified by user,
% \cs{Gm@height} is set properly here.
% \begin{macrocode}
@@ -3096,9 +3103,9 @@ the derived files: geometry.{sty,ins,drv}, geometry-samples.tex.
\fi
\fi}%
% \end{macrocode}
-%
+% \end{macro}
% \begin{macro}{\Gm@process}
-% The main macro processing specified layout dimensions is defined.
+% The main macro processing the specified dimensions is defined.
% \begin{macrocode}
\def\Gm@process{%
% \end{macrocode}
@@ -3261,7 +3268,6 @@ the derived files: geometry.{sty,ins,drv}, geometry-samples.tex.
\fi}%
% \end{macrocode}
% \end{macro}
-%
% \begin{macro}{\Gm@showparams}
% Prints the resulted parammeters and dimensions to STDOUT
% if |verbose| is true.
@@ -3274,8 +3280,8 @@ the derived files: geometry.{sty,ins,drv}, geometry-samples.tex.
\fi
\ifGm@verbose\expandafter\typeout\else\expandafter\wlog\fi
{\Gm@logcontent{#1}}}%
+\def\Gm@showdim#1{* \string#1=\the#1^^J}%
\def\Gm@showbool#1{\@nameuse{ifGm@#1}#1\space\fi}%
-\def\Gm@showdim#1{*gm \string#1=\the#1^^J}%
% \end{macrocode}
% \end{macro}
% \begin{macro}{\Gm@logcontent}
@@ -3283,21 +3289,21 @@ the derived files: geometry.{sty,ins,drv}, geometry-samples.tex.
% page layout.
% \begin{macrocode}
\def\Gm@logcontent#1{%
- *geometry* verbose: parameters #1^^J%
- \ifGm@pass *gm: pass (ignores the geometry layout)^^J%
+ *geometry* verbose mode - [ #1 ] result:^^J%
+ \ifGm@pass * pass (ignores the geometry layout)^^J%
\else
- \if\Gm@driver\relax *gm driver: <none>^^J\else *gm driver: \Gm@driver^^J\fi
- \ifx\Gm@paper\@undefined *gm paper: \the\paperwidth, \the\paperheight^^J%
- \else *gm paper: \Gm@paper^^J\fi
- \ifGm@layout *gm layout: \the\Gm@layoutwidth, \the\Gm@layoutheight^^J%
- \else *gm layout: (same as paper)^^J\fi
- \@ifundefined{Gm@lines}{}{*gm lines: \Gm@lines^^J}%
- \@ifundefined{Gm@hmarginratio}{}{*gm hratio: \Gm@hmarginratio^^J}%
- \@ifundefined{Gm@vmarginratio}{}{*gm vratio: \Gm@vmarginratio^^J}%
- \ifdim\Gm@bindingoffset=\z@\else *gm bindingoffset: \the\Gm@bindingoffset^^J\fi
- *gm L,W,R: \Gm@lmargin, \Gm@width, \Gm@rmargin^^J%
- *gm T,H,B: \Gm@tmargin, \Gm@height, \Gm@bmargin^^J%
- *gm switch-on: %
+ * driver: \if\Gm@driver\relax <none>\else\Gm@driver\fi^^J%
+ * paper: \ifx\Gm@paper\@undefined\the\paperwidth,
+ \the\paperheight\space(class default)\else\Gm@paper\fi^^J%
+ * layout: \ifGm@layout \the\Gm@layoutwidth, \the\Gm@layoutheight
+ \else\ifx\Gm@paper\@undefined\the\paperwidth,
+ \the\paperheight\else\Gm@paper\fi\fi^^J%
+ \@ifundefined{Gm@lines}{}{* lines: \Gm@lines^^J}%
+ \@ifundefined{Gm@hmarginratio}{}{* hratio: \Gm@hmarginratio^^J}%
+ \@ifundefined{Gm@vmarginratio}{}{* vratio: \Gm@vmarginratio^^J}%
+ \ifdim\Gm@bindingoffset=\z@\else
+ * bindingoffset: \the\Gm@bindingoffset^^J\fi
+ * switch(es): %
\Gm@showbool{landscape}%
\Gm@showbool{includehead}%
\Gm@showbool{includefoot}%
@@ -3305,8 +3311,10 @@ the derived files: geometry.{sty,ins,drv}, geometry-samples.tex.
\if@twoside twoside\space\fi%
\if@mparswitch\else\if@twoside asymmetric\space\fi\fi%
\Gm@showbool{heightrounded}%
- \ifx\Gm@truedimen\@empty\else *gm truedimen\space\fi%
+ \ifx\Gm@truedimen\@empty\else truedimen\space\fi%
^^J%
+ * h-part:(L,W,R)=(\Gm@lmargin, \Gm@width, \Gm@rmargin)^^J%
+ * v-part:(T,H,B)=(\Gm@tmargin, \Gm@height, \Gm@bmargin)^^J%
\fi
\Gm@showdim{\paperwidth}%
\Gm@showdim{\paperheight}%
@@ -3321,19 +3329,19 @@ the derived files: geometry.{sty,ins,drv}, geometry-samples.tex.
\Gm@showdim{\marginparwidth}%
\Gm@showdim{\marginparsep}%
\Gm@showdim{\columnsep}%
- *gm \string\skip\string\footins=\the\skip\footins^^J%
+ * \string\skip\string\footins=\the\skip\footins^^J%
\Gm@showdim{\hoffset}%
\Gm@showdim{\voffset}%
\Gm@showdim{\mag}%
- \if@twocolumn *gm\space\string\@twocolumntrue^^J\fi%
- \if@twoside *gm\space\string\@twosidetrue^^J\fi%
- \if@mparswitch *gm\space\string\@mparswitchtrue^^J\fi%
- \if@reversemargin *gm\space\string\@reversemargintrue^^J\fi%
- *gm (1in=72.27pt, 1cm=28.4528pt)}%
+ * \string\@twocolumn\if@twocolumn true\else false\fi^^J%
+ * \string\@twoside\if@twoside true\else false\fi^^J%
+ * \string\@mparswitch\if@mparswitch true\else false\fi^^J%
+ * \string\@reversemargin\if@reversemargin true\else false\fi^^J%
+ * (1in=72.27pt, 1cm=28.453pt)^^J}%
% \end{macrocode}
% \end{macro}
%
-% macros for frames and cropmarks
+% Macros for the page frames and cropmarks.
% \begin{macrocode}
\def\Gm@cropmark(#1,#2,#3,#4){%
\begin{picture}(0,0)
@@ -3413,8 +3421,8 @@ the derived files: geometry.{sty,ins,drv}, geometry-samples.tex.
%
% \begin{macro}{\ProcessOptionsKV}
% This macro can process class and package options using `key=value'
-% scheme. Only class options are processed with an optional argument `|c|',
-% package options with `|p|' , and both of them by default.
+% scheme. Only class options are processed with an optional argument
+% `|c|', package options with `|p|' , and both of them by default.
% \begin{macrocode}
\def\ProcessOptionsKV{\@ifnextchar[%]
{\@ProcessOptionsKV}{\@ProcessOptionsKV[]}}%
@@ -3452,9 +3460,8 @@ the derived files: geometry.{sty,ins,drv}, geometry-samples.tex.
% \end{macrocode}
% \end{macro}
%
-% The original page layout before loading \Gm\ is saved with
-% |\Gm@save| and can be called by |\Gm@restore@org|.
-% which will be used when |reset| or |pass| is specified.
+% The original page layout before loading \Gm\ is saved here.
+% |\Gm@restore@org| is defined here for |reset| option.
% \begin{macrocode}
\Gm@save
\edef\Gm@restore@org{\Gm@restore}%
@@ -3481,13 +3488,20 @@ the derived files: geometry.{sty,ins,drv}, geometry-samples.tex.
\Gm@process
% \end{macrocode}
%
-% |verbose|, |showframe| and driver options are processed
-% at \cs{begin}|{document}|.
+% \begin{macro}{\AtBeginDocument}
+% The processes for |verbose|, |showframe| and drivers are added to
+% |\AtBeginDocument|.
+% |\Gm@restore@org| is redefined here with the paper size specified
+% in the preamble for |\newgeometry| to use it. This should be done
+% before magnifying the paper size with |\mag| because the layout
+% calculation would be affected by changing the paper size.
% \begin{macrocode}
\AtBeginDocument{%
+ \Gm@savelength{paperwidth}%
+ \Gm@savelength{paperheight}%
+ \edef\Gm@restore@org{\Gm@restore}%
% \end{macrocode}
-% Paper size is temporally adjusted according to \cs{mag} for
-% printing devices.
+% The original paper size is used if |resetpaper|.
% \begin{macrocode}
\ifGm@resetpaper
\edef\Gm@pw{\Gm@orgpw}%
@@ -3497,7 +3511,8 @@ the derived files: geometry.{sty,ins,drv}, geometry-samples.tex.
\edef\Gm@ph{\the\paperheight}%
\fi
% \end{macrocode}
-% If |pass| is set to |true|, no adjustment for page dimensions is done.
+% If |pass| is not set, the paper size is multiplied
+% according to the specified |mag|.
% \begin{macrocode}
\ifGm@pass\else
\ifnum\mag=\@m\else
@@ -3513,7 +3528,8 @@ the derived files: geometry.{sty,ins,drv}, geometry-samples.tex.
% \begin{macrocode}
\Gm@detectdriver
% \end{macrocode}
-% |xetex|
+% If |xetex| and |\pdfpagewidth| is defined,
+% |\pdfpagewidth| and |\pdfpageheight| would be set.
% \begin{macrocode}
\ifx\Gm@driver\Gm@xetex
\@ifundefined{pdfpagewidth}{}{%
@@ -3594,28 +3610,34 @@ the derived files: geometry.{sty,ins,drv}, geometry-samples.tex.
\renewcommand*{\shipout}{\afterassignment\gm@shipi\setbox\@cclv=}
\fi\fi
% \end{macrocode}
-% Here the layout dimensions are saved. The layout can be restored
-% by \cs{restoregeometry} command.
+% The layout dimensions for \cs{restoregeometry} are saved
+% at the end of the \cs{AtBeginDocument}.
% \begin{macrocode}
\Gm@save
\edef\Gm@restore@pkg{\Gm@restore}%
% \end{macrocode}
-% If |verbose=true| and |pass=false|, the system checks
-% if marginpars overrun the page.
+% The package checks whether or not the marginpars overrun the page,
+% if |verbose| and unless |pass|.
% \begin{macrocode}
\ifGm@verbose\ifGm@pass\else\Gm@checkmp\fi\fi
% \end{macrocode}
-% |\Gm@showparams| puts the resulted parameters and dimensions
-% into the log file. If |verbose| is true, they are displayed
-% on the terminal as well.
+% |\Gm@showparams| puts the resulting parameters and dimensions
+% into the log file. With |verbose|, they are shown on the terminal
+% as well.
+% \begin{macrocode}
+ \Gm@showparams{preamble}%
+% \end{macrocode}
+% The following lines free the memories no longer needed.
% \begin{macrocode}
- \Gm@showparams{in the preamble}%
+ \let\Gm@pw\relax
+ \let\Gm@ph\relax
}% end of \AtBeginDocument
% \end{macrocode}
+% \end{macro}
%
% \begin{macro}{\geometry}
-% The user-interface macro \cs{geometry} is defined here.
-% This command should be used in the preamble.
+% The macro \cs{geometry} can be called multiple times
+% in the preamble (before |\begin{document}|).
% \begin{macrocode}
\newcommand{\geometry}[1]{%
\Gm@clean
@@ -3624,22 +3646,30 @@ the derived files: geometry.{sty,ins,drv}, geometry-samples.tex.
\@onlypreamble\geometry
% \end{macrocode}
% \end{macro}
-%
% \begin{macro}{\Gm@changelayout}
+% The macro, which can be called from |\newgeometry|,
+% |\restoregeometry| and |\loadgeometry|, changes the layout
+% in the middle of the document.
% \begin{macrocode}
\DeclareRobustCommand\Gm@changelayout{%
- \setlength{\@colht}{\textheight}\setlength{\@colroom}{\textheight}%
- \setlength{\vsize}{\textheight}\setlength{\columnwidth}{\textwidth}%
+ \setlength{\@colht}{\textheight}
+ \setlength{\@colroom}{\textheight}%
+ \setlength{\vsize}{\textheight}
+ \setlength{\columnwidth}{\textwidth}%
\if@twocolumn%
- \advance\columnwidth-\columnsep \divide\columnwidth\tw@%
+ \advance\columnwidth-\columnsep
+ \divide\columnwidth\tw@%
\@firstcolumntrue%
\fi%
\setlength{\hsize}{\columnwidth}%
\setlength{\linewidth}{\hsize}}%
% \end{macrocode}
% \end{macro}
-%
% \begin{macro}{\newgeometry}
+% The macro |\newgeometry|, which changes the layout,
+% can be used only in the document.
+% It would reset the options specified in the preamble except for
+% paper size options and |\mag|.
% \begin{macrocode}
\newcommand\newgeometry[1]{%
\clearpage
@@ -3649,11 +3679,14 @@ the derived files: geometry.{sty,ins,drv}, geometry-samples.tex.
\setkeys{Gm}{#1}%
\Gm@newgmfalse
\Gm@process
+ \ifnum\mag=\@m\else\Gm@magtooffset\fi
\Gm@changelayout
- \Gm@showparams{by \string\newgeometry}}%
+ \Gm@showparams{newgeometry}}%
% \end{macrocode}
% \end{macro}
% \begin{macro}{\restoregeometry}
+% The macro restores the resulting layout specified in the preamble,
+% namely the first-page layout right after |\begin{document}|.
% \begin{macrocode}
\newcommand\restoregeometry{%
\clearpage
@@ -3662,6 +3695,9 @@ the derived files: geometry.{sty,ins,drv}, geometry-samples.tex.
% \end{macrocode}
% \end{macro}
% \begin{macro}{\savegeometry}
+% The macro saves the layout with the name specified
+% with the argument. The saved layout can be loaded
+% with |\loadgeometry{|\meta{name}|}|.
% \begin{macrocode}
\newcommand*\savegeometry[1]{%
\Gm@save
@@ -3669,6 +3705,9 @@ the derived files: geometry.{sty,ins,drv}, geometry-samples.tex.
% \end{macrocode}
% \end{macro}
% \begin{macro}{\loadgeometry}
+% The macro loads the layout saved with |\savegeometry{|\meta{name}|}|.
+% If the name is not found, the macro would warn it and
+% do nothing for the layout.
% \begin{macrocode}
\newcommand*\loadgeometry[1]{%
\clearpage
@@ -3697,12 +3736,12 @@ the derived files: geometry.{sty,ins,drv}, geometry-samples.tex.
% \end{macrocode}
%
% \section{Sample file}
-% Here is an executable sample tex file.
+% Here is a sample document for the \Gm\ package.
% \begin{macrocode}
%<*samples>
%<<SAVE_INTACT
-\documentclass{article}% uses letterpaper by default
-% \documentclass[a4paper]{article}% for A4 paper
+\documentclass[12pt]{article}% uses letterpaper by default
+% \documentclass[12pt,a4paper]{article}% for A4 paper
%---------------------------------------------------------------
% Edit and uncomment one of the settings below
%---------------------------------------------------------------
@@ -3733,18 +3772,16 @@ the derived files: geometry.{sty,ins,drv}, geometry-samples.tex.
%---------------------------------------------------------------
% No need to change below
%---------------------------------------------------------------
-\geometry{verbose,showframe}% options appended.
-\newcommand\mynote{\marginpar%
-[\raggedright\rule{\marginparwidth}{.7pt}\\A left side note.]%
-{\raggedright\rule{\marginparwidth}{.7pt}\\A side note.}}%
-\def\fox{A quick brown fox jumps over the lazy dog. }
-\def\fivefoxes{\fox\fox\fox\fox\fox}
-\def\manyfoxes{\fivefoxes\mynote\fivefoxes\par\fivefoxes\fivefoxes\par}
-% \let\mynote\relax % removes marginal notes.
+\geometry{verbose,showframe}% the options appended.
+\usepackage{lipsum}% for dummy text of 150 paragraphs
+\newcommand\mynote{\marginpar[\raggedright
+A sample margin note in the left side.]%
+{\raggedright A sample margin note.}}%
+\newcommand\myfootnote{\footnote{This is a sample footnote text.}}
\begin{document}
-\manyfoxes\manyfoxes\manyfoxes\manyfoxes
-\manyfoxes\manyfoxes\manyfoxes\manyfoxes
-\manyfoxes\manyfoxes\manyfoxes\manyfoxes
+\lipsum[1-2]\mynote\lipsum[3-4]\mynote
+\lipsum[5-11]\mynote\lipsum[12]\myfootnote
+\lipsum[13-22]\mynote\lipsum[23-32]
\end{document}
%SAVE_INTACT
%</samples>
diff --git a/Master/texmf-dist/source/latex/geometry/geometry.ins b/Master/texmf-dist/source/latex/geometry/geometry.ins
index 4a5da0e4e7e..6a61d98c4ed 100644
--- a/Master/texmf-dist/source/latex/geometry/geometry.ins
+++ b/Master/texmf-dist/source/latex/geometry/geometry.ins
@@ -26,7 +26,7 @@
\input docstrip.tex
\Msg{************************************************************************}
\Msg{* Installation}
-\Msg{* Package: geometry 2010/02/15 v5.1 Page Geometry}
+\Msg{* Package: geometry 2010/03/01 v5.2 Page Geometry}
\Msg{************************************************************************}
\keepsilent
diff --git a/Master/texmf-dist/tex/latex/geometry/geometry.sty b/Master/texmf-dist/tex/latex/geometry/geometry.sty
index aa2def676b0..78926d48f18 100644
--- a/Master/texmf-dist/tex/latex/geometry/geometry.sty
+++ b/Master/texmf-dist/tex/latex/geometry/geometry.sty
@@ -25,7 +25,7 @@
%%
\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{geometry}
- [2010/02/15 v5.1 Page Geometry]
+ [2010/03/01 v5.2 Page Geometry]
\RequirePackage{keyval}%
\RequirePackage{ifpdf}%
\RequirePackage{ifvtex}%
@@ -78,7 +78,6 @@
\edef\Gm@orgpw{\the\paperwidth}%
\edef\Gm@orgph{\the\paperheight}%
\def\Gm@savelength#1{%
- \edef\@@tmp{\expandafter\the\csname #1\endcsname}%
\g@addto@macro\Gm@restore{\expandafter\noexpand\expandafter\csname
#1\endcsname\expandafter=\expandafter\the\csname #1\endcsname\relax}}
\def\Gm@saveboolean#1{%
@@ -555,6 +554,8 @@
\define@key{Gm}{layoutoffset}{\Gm@branch{#1}{layouthoffset}{layoutvoffset}}%
\define@key{Gm}{twocolumn}[true]{%
\Gm@doif{twocolumn}{#1}{\csname @twocolumn\Gm@bool\endcsname}}%
+\define@key{Gm}{onecolumn}[true]{%
+ \Gm@doifelse{onecolumn}{#1}{\@twocolumnfalse}{\@twocolumntrue}}%
\define@key{Gm}{reversemp}[true]{%
\Gm@doif{reversemp}{#1}{\csname @reversemargin\Gm@bool\endcsname}}%
\define@key{Gm}{reversemarginpar}[true]{%
@@ -632,7 +633,7 @@
\advance\@tempdimc-\@tempdimb
\ifdim\@tempdimc>\z@
\Gm@warning{The marginal notes overrun the paper edge.^^J
- \@spaces Add \the\@tempdimc\space and more to the left margin}%
+ \@spaces Add \the\@tempdimc\space and more to the left margin}%
\fi
\fi
\ifnum\@tempcntb=\@ne
@@ -641,7 +642,7 @@
\advance\@tempdimc-\@tempdimb
\ifdim\@tempdimc>\z@
\Gm@warning{The marginal notes overrun the paper.^^J
- \@spaces Add \the\@tempdimc\space and more to the right margin}%
+ \@spaces Add \the\@tempdimc\space and more to the right margin}%
\fi
\fi
\fi}%
@@ -821,24 +822,24 @@
\fi
\ifGm@verbose\expandafter\typeout\else\expandafter\wlog\fi
{\Gm@logcontent{#1}}}%
+\def\Gm@showdim#1{* \string#1=\the#1^^J}%
\def\Gm@showbool#1{\@nameuse{ifGm@#1}#1\space\fi}%
-\def\Gm@showdim#1{*gm \string#1=\the#1^^J}%
\def\Gm@logcontent#1{%
- *geometry* verbose: parameters #1^^J%
- \ifGm@pass *gm: pass (ignores the geometry layout)^^J%
+ *geometry* verbose mode - [ #1 ] result:^^J%
+ \ifGm@pass * pass (ignores the geometry layout)^^J%
\else
- \if\Gm@driver\relax *gm driver: <none>^^J\else *gm driver: \Gm@driver^^J\fi
- \ifx\Gm@paper\@undefined *gm paper: \the\paperwidth, \the\paperheight^^J%
- \else *gm paper: \Gm@paper^^J\fi
- \ifGm@layout *gm layout: \the\Gm@layoutwidth, \the\Gm@layoutheight^^J%
- \else *gm layout: (same as paper)^^J\fi
- \@ifundefined{Gm@lines}{}{*gm lines: \Gm@lines^^J}%
- \@ifundefined{Gm@hmarginratio}{}{*gm hratio: \Gm@hmarginratio^^J}%
- \@ifundefined{Gm@vmarginratio}{}{*gm vratio: \Gm@vmarginratio^^J}%
- \ifdim\Gm@bindingoffset=\z@\else *gm bindingoffset: \the\Gm@bindingoffset^^J\fi
- *gm L,W,R: \Gm@lmargin, \Gm@width, \Gm@rmargin^^J%
- *gm T,H,B: \Gm@tmargin, \Gm@height, \Gm@bmargin^^J%
- *gm switch-on: %
+ * driver: \if\Gm@driver\relax <none>\else\Gm@driver\fi^^J%
+ * paper: \ifx\Gm@paper\@undefined\the\paperwidth,
+ \the\paperheight\space(class default)\else\Gm@paper\fi^^J%
+ * layout: \ifGm@layout \the\Gm@layoutwidth, \the\Gm@layoutheight
+ \else\ifx\Gm@paper\@undefined\the\paperwidth,
+ \the\paperheight\else\Gm@paper\fi\fi^^J%
+ \@ifundefined{Gm@lines}{}{* lines: \Gm@lines^^J}%
+ \@ifundefined{Gm@hmarginratio}{}{* hratio: \Gm@hmarginratio^^J}%
+ \@ifundefined{Gm@vmarginratio}{}{* vratio: \Gm@vmarginratio^^J}%
+ \ifdim\Gm@bindingoffset=\z@\else
+ * bindingoffset: \the\Gm@bindingoffset^^J\fi
+ * switch(es): %
\Gm@showbool{landscape}%
\Gm@showbool{includehead}%
\Gm@showbool{includefoot}%
@@ -846,8 +847,10 @@
\if@twoside twoside\space\fi%
\if@mparswitch\else\if@twoside asymmetric\space\fi\fi%
\Gm@showbool{heightrounded}%
- \ifx\Gm@truedimen\@empty\else *gm truedimen\space\fi%
+ \ifx\Gm@truedimen\@empty\else truedimen\space\fi%
^^J%
+ * h-part:(L,W,R)=(\Gm@lmargin, \Gm@width, \Gm@rmargin)^^J%
+ * v-part:(T,H,B)=(\Gm@tmargin, \Gm@height, \Gm@bmargin)^^J%
\fi
\Gm@showdim{\paperwidth}%
\Gm@showdim{\paperheight}%
@@ -862,15 +865,15 @@
\Gm@showdim{\marginparwidth}%
\Gm@showdim{\marginparsep}%
\Gm@showdim{\columnsep}%
- *gm \string\skip\string\footins=\the\skip\footins^^J%
+ * \string\skip\string\footins=\the\skip\footins^^J%
\Gm@showdim{\hoffset}%
\Gm@showdim{\voffset}%
\Gm@showdim{\mag}%
- \if@twocolumn *gm\space\string\@twocolumntrue^^J\fi%
- \if@twoside *gm\space\string\@twosidetrue^^J\fi%
- \if@mparswitch *gm\space\string\@mparswitchtrue^^J\fi%
- \if@reversemargin *gm\space\string\@reversemargintrue^^J\fi%
- *gm (1in=72.27pt, 1cm=28.4528pt)}%
+ * \string\@twocolumn\if@twocolumn true\else false\fi^^J%
+ * \string\@twoside\if@twoside true\else false\fi^^J%
+ * \string\@mparswitch\if@mparswitch true\else false\fi^^J%
+ * \string\@reversemargin\if@reversemargin true\else false\fi^^J%
+ * (1in=72.27pt, 1cm=28.453pt)^^J}%
\def\Gm@cropmark(#1,#2,#3,#4){%
\begin{picture}(0,0)
\setlength\unitlength{1truemm}\thinlines
@@ -979,6 +982,9 @@
\ProcessOptionsKV[p]{Gm}%
\Gm@process
\AtBeginDocument{%
+ \Gm@savelength{paperwidth}%
+ \Gm@savelength{paperheight}%
+ \edef\Gm@restore@org{\Gm@restore}%
\ifGm@resetpaper
\edef\Gm@pw{\Gm@orgpw}%
\edef\Gm@ph{\Gm@orgph}%
@@ -1053,7 +1059,9 @@
\Gm@save
\edef\Gm@restore@pkg{\Gm@restore}%
\ifGm@verbose\ifGm@pass\else\Gm@checkmp\fi\fi
- \Gm@showparams{in the preamble}%
+ \Gm@showparams{preamble}%
+ \let\Gm@pw\relax
+ \let\Gm@ph\relax
}% end of \AtBeginDocument
\newcommand{\geometry}[1]{%
\Gm@clean
@@ -1061,10 +1069,13 @@
\Gm@process}%
\@onlypreamble\geometry
\DeclareRobustCommand\Gm@changelayout{%
- \setlength{\@colht}{\textheight}\setlength{\@colroom}{\textheight}%
- \setlength{\vsize}{\textheight}\setlength{\columnwidth}{\textwidth}%
+ \setlength{\@colht}{\textheight}
+ \setlength{\@colroom}{\textheight}%
+ \setlength{\vsize}{\textheight}
+ \setlength{\columnwidth}{\textwidth}%
\if@twocolumn%
- \advance\columnwidth-\columnsep \divide\columnwidth\tw@%
+ \advance\columnwidth-\columnsep
+ \divide\columnwidth\tw@%
\@firstcolumntrue%
\fi%
\setlength{\hsize}{\columnwidth}%
@@ -1077,8 +1088,9 @@
\setkeys{Gm}{#1}%
\Gm@newgmfalse
\Gm@process
+ \ifnum\mag=\@m\else\Gm@magtooffset\fi
\Gm@changelayout
- \Gm@showparams{by \string\newgeometry}}%
+ \Gm@showparams{newgeometry}}%
\newcommand\restoregeometry{%
\clearpage
\Gm@restore@pkg