From 65293db75e3702db6206732e71cc68adbb0075a7 Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Tue, 2 Mar 2010 00:44:35 +0000 Subject: geometry 5.2 (28feb10) git-svn-id: svn://tug.org/texlive/trunk@17268 c570f23f-e606-0410-a88d-b1316a301751 --- Master/texmf-dist/doc/latex/geometry/README | 32 +- Master/texmf-dist/doc/latex/geometry/changes.txt | 637 ++++++++++----------- .../doc/latex/geometry/geometry-samples.tex | 24 +- Master/texmf-dist/doc/latex/geometry/geometry.pdf | Bin 226435 -> 227181 bytes .../texmf-dist/source/latex/geometry/geometry.dtx | 265 +++++---- .../texmf-dist/source/latex/geometry/geometry.ins | 2 +- Master/texmf-dist/tex/latex/geometry/geometry.sty | 74 ++- 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 Binary files a/Master/texmf-dist/doc/latex/geometry/geometry.pdf and b/Master/texmf-dist/doc/latex/geometry/geometry.pdf 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 @@ % %\NeedsTeXFormat{LaTeX2e} %\ProvidesPackage{geometry} -% [2010/02/15 v5.1 Page Geometry] +% [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. % % \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: ^^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 \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> %< 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: ^^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 \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 -- cgit v1.2.3