From 21fc4fdd9bef9706044d952b4448ecadf92202f6 Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Mon, 22 Dec 2008 23:28:59 +0000 Subject: geometry 4.2 (21dec08) git-svn-id: svn://tug.org/texlive/trunk@11688 c570f23f-e606-0410-a88d-b1316a301751 --- Master/texmf-dist/doc/latex/geometry/README | 23 ++--- Master/texmf-dist/doc/latex/geometry/changes.txt | 31 ++++--- Master/texmf-dist/doc/latex/geometry/geometry.pdf | Bin 334798 -> 334402 bytes .../texmf-dist/source/latex/geometry/geometry.dtx | 103 +++++++++++---------- .../texmf-dist/source/latex/geometry/geometry.ins | 2 +- Master/texmf-dist/tex/latex/geometry/geometry.sty | 35 ++++--- 6 files changed, 102 insertions(+), 92 deletions(-) diff --git a/Master/texmf-dist/doc/latex/geometry/README b/Master/texmf-dist/doc/latex/geometry/README index 1006e4767c6..be030925278 100644 --- a/Master/texmf-dist/doc/latex/geometry/README +++ b/Master/texmf-dist/doc/latex/geometry/README @@ -1,12 +1,9 @@ - - -Geometry package 2008/11/13 v4.1 +Geometry package 2008/12/21 v4.2 ---------------------------------- Flexible and easy interface to page dimensions Copyright (C) 1996-2002, 2008 by Hideo Umeki - Abstract: This package provides a flexible and easy interface to page dimensions. You can set the page layout with intuitive parameters. For instance, @@ -15,18 +12,12 @@ Abstract: CTAN: macros/latex/contrib/geometry -Release v4.1: - * Bug fixed: Missing \ProvidesPackage. - -Release v4.0: (See changes.txt or geometry.pdf for details) - * More robust driver detection. - * New option: resetpaper. - * Adjustment to \topskip introduced. - * ANSI paper sizes added. - * Bug fixed: Wrong ISO paper sizes. - * Bug fixed: PDFTeX magnification problem. - * Package source organization changed. - * Many other improvements to the code and documentation. +Release v4.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. +See changes.txt for more history. Files: * README - this file diff --git a/Master/texmf-dist/doc/latex/geometry/changes.txt b/Master/texmf-dist/doc/latex/geometry/changes.txt index cd93564d3f2..98b3567673a 100644 --- a/Master/texmf-dist/doc/latex/geometry/changes.txt +++ b/Master/texmf-dist/doc/latex/geometry/changes.txt @@ -1,6 +1,14 @@ + +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 - * Bug fixed: missing \ProvidesPackage. + * Fixed missing \ProvidesPackage. 2008-11-06 Hideo Umeki * Release 4.0 @@ -21,40 +29,39 @@ and uses the paper size specified before \textsf{geometry}. This option may be useful to print nonstandard sized documents with normal printers and papers. - * Adjustment to \topskip introduced. + * 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. - * ANSI paper sizes added. + * Added ANSI paper sizes. New paper size definitions for ANSI A to E are added. - * Bug fixed: Wrong ISO paper sizes. + * Fixed wrong ISO paper sizes. The paper sizes for A1,A2,A5 and A6 were wrong (by 1mm). - * Bug fixed: PDFTeX magnification problem. + * Fixed PDFTeX magnification problem. PDF paper offset is adjusted properly when magnification is set by mag option with pdfTeX. - * Package source organization changed. + * 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. - * Many other improvements to the code and documentation. + * 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. - * Bug fix: double-valued marginratio setting like {1:1,1:5} didn't - work properly. {h|v}marginratio should have been set by \edef + * 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. - (I'd like to thank Rolf Niepraschk for his pointing out the bug.) + 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 - * Bug fix: error in setting geometry dimensions with \widthof of + * Fixed an error in setting geometry dimensions with \widthof of calc package. \Gm@defbylen and \Gm@defbycnt are introduced to set geometry dimensions. diff --git a/Master/texmf-dist/doc/latex/geometry/geometry.pdf b/Master/texmf-dist/doc/latex/geometry/geometry.pdf index 1f966430112..15a38f5ef62 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 8b8d31f9172..3a521b4af5f 100644 --- a/Master/texmf-dist/source/latex/geometry/geometry.dtx +++ b/Master/texmf-dist/source/latex/geometry/geometry.dtx @@ -23,7 +23,7 @@ % CTAN: macros/latex/contrib/geometry/geometry.dtx % CTAN: macros/latex/contrib/geometry/geometry.pdf % -% Unpacking: to get geometry.{ins,drv} and geometry-test.tex +% Unpacking: to get geometry.sty % (a) Directly % tex geometry.dtx % (b) If geometry.ins is present, you can go @@ -54,12 +54,12 @@ % %\NeedsTeXFormat{LaTeX2e} %\ProvidesPackage{geometry} -% [2008/11/13 v4.1 Page Geometry] +% [2008/12/21 v4.2 Page Geometry] %<*install> \input docstrip.tex \Msg{************************************************************************} \Msg{* Installation} -\Msg{* Package: geometry 2008/11/13 v4.1 Page Geometry} +\Msg{* Package: geometry 2008/12/21 v4.2 Page Geometry} \Msg{************************************************************************} \keepsilent @@ -126,7 +126,7 @@ the derived files: geometry.{sty,ins,drv}, geometry-samples.tex. % % \fi % -% \CheckSum{2563} +% \CheckSum{2601} % % \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 @@ -209,35 +209,34 @@ the derived files: geometry.{sty,ins,drv}, geometry-samples.tex. % This improvement makes \textsf{geometry} work more robustly % for typesetting programs under e\TeX, Xe\TeX{} and % V\TeX{} as well as normal \TeX{} environment. The packages -% \textsf{ifpdf} and \textsf{ifvtex} are used, which are available in -% CTAN. See Section~\ref{sec:drivers} for details. -% Note that \textsf{ifvtex} package v1.3 (2007/09/09), however, has a -% bug (a typo) that affects the detection of VTeX. -% So you need to use the new version of \textsf{ifvtex} later than v1.3. +% \textsf{ifpdf} and \textsf{ifvtex} are used, which are available in CTAN. +% See Section~\ref{sec:drivers} for details. +% Note that \textsf{ifvtex} package v1.3 (2007/09/09) had a +% bug (a typo) that made the detection of VTeX wrong. +% So make sure \textsf{ifvtex} v1.4 or later is being used. % \item \textbf{New option: |resetpaper|.}\par % This option disables explicit paper setting in \textsf{geometry} and % uses the paper size specified before \textsf{geometry}. This option % may be useful to print nonstandard sized documents with normal % printers and papers. -% \item \textbf{Adjustment to |topskip| introduced.}\par -% When large font sizes are specified, \cs{topskip} has to be -% adjusted so that the formula +% \item \textbf{Added adjustment to |topskip|.}\par +% When |lines| option and large font sizes are specified, \cs{topskip} +% can be adjusted so that the formula % ``$\cs{textheight} = (lines - 1) \times \cs{baselineskip} + \cs{topskip}$'' -% to be correct. To do this, \cs{topskip} is set to -% \cs{ht}\cs{strutbox}, if \cs{topskip} is smaller than -% \cs{ht}\cs{strutbox}. -% \item \textbf{ANSI paper sizes added.}\par +% to be correct. To do this, \cs{topskip} is set to \cs{ht}\cs{strutbox}, +% if \cs{topskip} is smaller than \cs{ht}\cs{strutbox}. +% \item \textbf{Added ANSI paper sizes.}\par % New paper size definitions for ANSI A to E are added. -% \item \textbf{Bug fixed: Wrong ISO paper sizes.}\par +% \item \textbf{Fixed wrong ISO paper sizes.}\par % The paper sizes for A1,A2,A5 and A6 were wrong (by 1mm). -% \item \textbf{Bug fixed: pdf\TeX{} magnification problem.}\par +% \item \textbf{Fixed pdf\TeX{} magnification problem.}\par % PDF paper offset is adjusted properly when magnification is set by |mag| % option with pdf\TeX{}. -% \item \textbf{Package source organization changed.}\par -% 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. +% \item \textbf{Changed package source organization.}\par +% Files |geometry.ins| and |geometry-samples.tex| as well as |geometry.sty| +% are integrated into |geometry.dtx| so that they can be generated from +% |geometry.dtx| by `tex' command. Documentation can be also generated +% directly from |geometry.dtx| by `(pdf)latex' command. % \end{itemize} % % \section{Preface to version 3} @@ -1164,17 +1163,17 @@ the derived files: geometry.{sty,ins,drv}, geometry-samples.tex. % % Package \textsf{geometry} supports |dvips|, |dvipdfm| including its % derivatives \textsf{dvipdfmx} and \textsf{xdvipdfmx}, |pdftex| -% for \textsf{pdflatex}, and |vtex| for V\TeX{} environment. +% for \textsf{pdflatex}, and |vtex| for V\TeX{} environment. % These driver options are exclusive. The driver can be set by either % |driver=|\meta{driver name} or any of the drivers directly like |pdftex|. % A driver auto-detection mechanism is introduced in version 4. % Therefore, you don't have to set a driver in most cases, except for % |dvipdfm|. -% Explicit setting |driver=auto| is also available. When it is set, the -% previous driver setting is ignored and the auto-detection will work. +% Setting |driver=auto| makes the auto-detection work whatever +% the previous setting is. Setting |driver=none| does nothing for driver. % \begin{Options} % \item[driver] sets driver. |driver=|\meta{driver name}. -% |dvips|, |dvipdfm|, |pdftex|, |vtex| and |auto| are available as a +% |dvips|, |dvipdfm|, |pdftex|, |vtex|, |auto| and |none| are available as a % driver name. % \end{Options} % The options below can be set directly instead of |driver=|\meta{value}. @@ -2530,10 +2529,11 @@ the derived files: geometry.{sty,ins,drv}, geometry-samples.tex. % \end{key}\end{key} % \begin{key}{Gm}{dviver} % \begin{macrocode} -\define@key{Gm}{driver}{\edef\@@tempa{#1}\edef\@@auto{auto}% - \ifx\@@tempa\@empty\let\Gm@driver\@empty\else +\define@key{Gm}{driver}{\edef\@@tempa{#1}\edef\@@auto{auto}\edef\@@none{none}% + \ifx\@@tempa\@empty\let\Gm@driver\relax\else + \ifx\@@tempa\@@none\let\Gm@driver\relax\else \ifx\@@tempa\@@auto\let\Gm@driver\@empty\else - \setkeys{Gm}{#1}\fi\fi}% + \setkeys{Gm}{#1}\fi\fi\fi\let\@@auto\relax\let\@@none\relax}% % \end{macrocode} % \end{key} % \begin{key}{Gm}{dvips} @@ -2720,8 +2720,7 @@ the derived files: geometry.{sty,ins,drv}, geometry-samples.tex. \@ifundefined{XeTeXrevision}{}{\Gm@setdriver{pdftex}}% % \end{macrocode} % \cs{ifvtex} is defined in \textsf{ifvtex} package in `oberdiek' -% bundle. Make sure to use |ifvtex.sty| newer than v1.3 because v1.3 -% (2007/09/09) has a bug that affects the detection of V\TeX. +% bundle. % \begin{macrocode} \ifvtex \Gm@setdriver{vtex}% @@ -2858,18 +2857,6 @@ the derived files: geometry.{sty,ins,drv}, geometry-samples.tex. \fi \fi % \end{macrocode} -% \cs{topskip} has to be adjusted so that the formula -% ``$\cs{textheight} = (lines - 1) \times \cs{baselineskip} + \cs{topskip}$'' -% to be correct even if large font sizes are specified by users. -% If \cs{topskip} is smaller than \cs{ht}\cs{strutbox}, then \cs{topskip} -% is set to \cs{ht}\cs{strutbox}. -% \begin{macrocode} - \ifdim\topskip<\ht\strutbox - \setlength\@tempdima{\topskip}% - \setlength\topskip{\ht\strutbox}% - \Gm@warning{\noexpand\topskip was changed from \the\@tempdima\space to \the\topskip}% - \fi -% \end{macrocode} % If the vertical dimension of \gpart{body} is specified by user, % \cs{Gm@height} is set properly here. % \begin{macrocode} @@ -2882,6 +2869,19 @@ the derived files: geometry.{sty,ins,drv}, geometry-samples.tex. \fi \fi \ifx\Gm@lines\@undefined\else +% \end{macrocode} +% \cs{topskip} has to be adjusted so that the formula +% ``$\cs{textheight} = (lines - 1) \times \cs{baselineskip} + \cs{topskip}$'' +% to be correct even if large font sizes are specified by users. +% If \cs{topskip} is smaller than \cs{ht}\cs{strutbox}, then \cs{topskip} +% is set to \cs{ht}\cs{strutbox}. +% \begin{macrocode} + \ifdim\topskip<\ht\strutbox + \setlength\@tempdima{\topskip}% + \setlength\topskip{\ht\strutbox}% + \Gm@warning{\noexpand\topskip was changed from \the\@tempdima\space + to \the\topskip}% + \fi \setlength\@tempdima{\baselineskip}% \multiply\@tempdima\Gm@lines \addtolength\@tempdima{\topskip}% @@ -3029,7 +3029,7 @@ the derived files: geometry.{sty,ins,drv}, geometry-samples.tex. \Gm@checkbool{includehead}% \Gm@checkbool{includefoot}% \Gm@checkbool{includemp}% - driver: \Gm@driver^^J% + driver: \if\Gm@driver\relax --\else\Gm@driver\fi^^J% \fi -------------------- Page layout dimensions and switches^^J% \string\paperwidth\space\space\the\paperwidth^^J% @@ -3161,7 +3161,11 @@ the derived files: geometry.{sty,ins,drv}, geometry-samples.tex. % Checking the driver options. % \begin{macrocode} \Gm@checkdrivers - \typeout{*geometry detected driver: \Gm@driver*}% + \ifx\Gm@driver\relax + \typeout{*geometry detected driver: *}% + \else + \typeout{*geometry detected driver: \Gm@driver*}% + \fi % \end{macrocode} % If |pdftex| is set to |true|, pdf-commands are set properly. % To avoid |pdftex| magnification problem, \cs{pdfhorigin} and @@ -3210,10 +3214,11 @@ the derived files: geometry.{sty,ins,drv}, geometry-samples.tex. % and |dvipdfm| program. % \begin{macrocode} \else\ifx\Gm@driver\Gm@dvipdfm - \ifx\AtBeginShipoutFirst\relax - \AtBeginDvi{\special{papersize=\the\paperwidth,\the\paperheight}}% - \else + \ifcase\ifx\AtBeginShipoutFirst\relax\@ne\else + \ifx\AtBeginShipoutFirst\@undefined\@ne\else\z@\fi\fi \AtBeginShipoutFirst{\special{papersize=\the\paperwidth,\the\paperheight}}% + \or + \AtBeginDvi{\special{papersize=\the\paperwidth,\the\paperheight}}% \fi \fi\fi % \end{macrocode} diff --git a/Master/texmf-dist/source/latex/geometry/geometry.ins b/Master/texmf-dist/source/latex/geometry/geometry.ins index 553079d69d4..af2f59d45de 100644 --- a/Master/texmf-dist/source/latex/geometry/geometry.ins +++ b/Master/texmf-dist/source/latex/geometry/geometry.ins @@ -25,7 +25,7 @@ \input docstrip.tex \Msg{************************************************************************} \Msg{* Installation} -\Msg{* Package: geometry 2008/11/13 v4.1 Page Geometry} +\Msg{* Package: geometry 2008/12/21 v4.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 c2a98090bd3..458354d1de7 100644 --- a/Master/texmf-dist/tex/latex/geometry/geometry.sty +++ b/Master/texmf-dist/tex/latex/geometry/geometry.sty @@ -24,7 +24,7 @@ %% \NeedsTeXFormat{LaTeX2e} \ProvidesPackage{geometry} - [2008/11/13 v4.1 Page Geometry] + [2008/12/21 v4.2 Page Geometry] \RequirePackage{keyval}% \RequirePackage{ifpdf}% \RequirePackage{ifvtex}% @@ -506,10 +506,11 @@ \Gm@doif{reversemp}{#1}{\csname @reversemargin\Gm@bool\endcsname}}% \define@key{Gm}{reversemarginpar}[true]{% \Gm@doif{reversemarginpar}{#1}{\csname @reversemargin\Gm@bool\endcsname}}% -\define@key{Gm}{driver}{\edef\@@tempa{#1}\edef\@@auto{auto}% - \ifx\@@tempa\@empty\let\Gm@driver\@empty\else +\define@key{Gm}{driver}{\edef\@@tempa{#1}\edef\@@auto{auto}\edef\@@none{none}% + \ifx\@@tempa\@empty\let\Gm@driver\relax\else + \ifx\@@tempa\@@none\let\Gm@driver\relax\else \ifx\@@tempa\@@auto\let\Gm@driver\@empty\else - \setkeys{Gm}{#1}\fi\fi}% + \setkeys{Gm}{#1}\fi\fi\fi\let\@@auto\relax\let\@@none\relax}% \define@key{Gm}{dvips}[true]{% \Gm@doifelse{dvips}{#1}{\Gm@setdriver{dvips}}{\Gm@unsetdriver{dvips}}}% \define@key{Gm}{dvipdfm}[true]{% @@ -679,11 +680,6 @@ \edef\Gm@width{\the\@tempdima}% \fi \fi - \ifdim\topskip<\ht\strutbox - \setlength\@tempdima{\topskip}% - \setlength\topskip{\ht\strutbox}% - \Gm@warning{\noexpand\topskip was changed from \the\@tempdima\space to \the\topskip}% - \fi \ifGm@vbody \ifx\Gm@height\@undefined \ifx\Gm@vscale\@undefined @@ -693,6 +689,12 @@ \fi \fi \ifx\Gm@lines\@undefined\else + \ifdim\topskip<\ht\strutbox + \setlength\@tempdima{\topskip}% + \setlength\topskip{\ht\strutbox}% + \Gm@warning{\noexpand\topskip was changed from \the\@tempdima\space + to \the\topskip}% + \fi \setlength\@tempdima{\baselineskip}% \multiply\@tempdima\Gm@lines \addtolength\@tempdima{\topskip}% @@ -794,7 +796,7 @@ \Gm@checkbool{includehead}% \Gm@checkbool{includefoot}% \Gm@checkbool{includemp}% - driver: \Gm@driver^^J% + driver: \if\Gm@driver\relax --\else\Gm@driver\fi^^J% \fi -------------------- Page layout dimensions and switches^^J% \string\paperwidth\space\space\the\paperwidth^^J% @@ -871,7 +873,11 @@ \fi \fi \Gm@checkdrivers - \typeout{*geometry detected driver: \Gm@driver*}% + \ifx\Gm@driver\relax + \typeout{*geometry detected driver: *}% + \else + \typeout{*geometry detected driver: \Gm@driver*}% + \fi \ifx\Gm@driver\Gm@pdftex \setlength\pdfpagewidth{\Gm@pw}% \setlength\pdfpageheight{\Gm@ph}% @@ -900,10 +906,11 @@ \AtBeginDvi{\special{! /landplus90 true store}}% \fi\fi \else\ifx\Gm@driver\Gm@dvipdfm - \ifx\AtBeginShipoutFirst\relax - \AtBeginDvi{\special{papersize=\the\paperwidth,\the\paperheight}}% - \else + \ifcase\ifx\AtBeginShipoutFirst\relax\@ne\else + \ifx\AtBeginShipoutFirst\@undefined\@ne\else\z@\fi\fi \AtBeginShipoutFirst{\special{papersize=\the\paperwidth,\the\paperheight}}% + \or + \AtBeginDvi{\special{papersize=\the\paperwidth,\the\paperheight}}% \fi \fi\fi \ifGm@showframe -- cgit v1.2.3