summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2010-07-09 21:36:51 +0000
committerKarl Berry <karl@freefriends.org>2010-07-09 21:36:51 +0000
commit358774b44f57eabd62294dec13884e8b7bd2cc1f (patch)
treebb6b3f82e00510b82969eff3d4bfabd494de76be
parent270ee8b2382d6bbeca87901435ac95ae1b448afe (diff)
geometry update (9jul10)
git-svn-id: svn://tug.org/texlive/trunk@19307 c570f23f-e606-0410-a88d-b1316a301751
-rw-r--r--Master/texmf-dist/doc/latex/geometry/README11
-rw-r--r--Master/texmf-dist/doc/latex/geometry/changes.txt12
-rw-r--r--Master/texmf-dist/doc/latex/geometry/geometry.pdfbin227170 -> 232572 bytes
-rw-r--r--Master/texmf-dist/source/latex/geometry/geometry.drv7
-rw-r--r--Master/texmf-dist/source/latex/geometry/geometry.dtx266
-rw-r--r--Master/texmf-dist/source/latex/geometry/geometry.ins2
-rw-r--r--Master/texmf-dist/tex/latex/geometry/geometry.sty156
7 files changed, 253 insertions, 201 deletions
diff --git a/Master/texmf-dist/doc/latex/geometry/README b/Master/texmf-dist/doc/latex/geometry/README
index df223304c57..45aa6eb8407 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/03/13 v5.3
+LaTeX Package: Geometry 2010/07/08 v5.4
----------------------------------------
Flexible and easy interface to page dimensions
@@ -15,16 +15,15 @@ Abstract:
CTAN: macros/latex/contrib/geometry
Recent changes:
- [Release 5.3]
- * Fixed missed initialization of \Gm@lines.
-
- [Release 5.0-]
+[Release 5.0-5.4]
* 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.
+ * New paper size presets for JIS B-series and ISO C-series.
* Changing default for underspecified margin.
* The option 'showframe' works on every page.
+ * The option 'showcrop' prints cross-shape cropmarks at each corner.
+ * Package 'atbegshi' is required when using 'showframe' or 'showcrop'.
* Loading geometry.cfg precedes processing class options.
* Deleted options: 'compat2' and 'twosideshift'.
* Added 'onecolumn' option as a shorthand for 'twocolumn=false'.
diff --git a/Master/texmf-dist/doc/latex/geometry/changes.txt b/Master/texmf-dist/doc/latex/geometry/changes.txt
index 287fedb77fe..3d946793be0 100644
--- a/Master/texmf-dist/doc/latex/geometry/changes.txt
+++ b/Master/texmf-dist/doc/latex/geometry/changes.txt
@@ -1,3 +1,15 @@
+2010-07-08 Release 5.4
+ * New paper size presets for ISO C-series: 'c0paper' to 'c6paper'.
+ * Fixed a bug where overloading shipout in 'showframe' and/or 'showcrop'
+ mode caused warnings when 'pdfpages' package is used.
+ * Changed the shipout overloading process to use 'atbegshi' package.
+ Options 'showframe' and 'showcrop' require the package.
+ * Fixed a bug where restoring layoutwidth and layoutheight failed
+ when \restoregeometry is called.
+ * Fixed a bug where page frame shown in 'showframe' mode was placed
+ slightly wrong.
+ * Changed format and fixed values shown in verbose mode.
+
2010-03-13 Release 5.3
* Fixed missed initialization of \Gm@lines.
diff --git a/Master/texmf-dist/doc/latex/geometry/geometry.pdf b/Master/texmf-dist/doc/latex/geometry/geometry.pdf
index 97619af3e23..e8beba468ab 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.drv b/Master/texmf-dist/source/latex/geometry/geometry.drv
index 1a87ba0f6f3..eefcb23a559 100644
--- a/Master/texmf-dist/source/latex/geometry/geometry.drv
+++ b/Master/texmf-dist/source/latex/geometry/geometry.drv
@@ -27,8 +27,15 @@
\ProvidesFile{geometry.drv}
\documentclass{ltxdoc}
\usepackage[colorlinks, linkcolor=blue]{hyperref}
+\usepackage{graphicx}
\usepackage[a4paper, hmargin=2.5cm, vmargin=1cm,
includeheadfoot]{geometry}
+\DeclareRobustCommand\XeTeX{%
+ X\lower.5ex\hbox{\kern-.07em\reflectbox{E}}%
+ \kern-.15em\TeX}
+\DeclareRobustCommand\XeLaTeX{%
+ X\lower.5ex\hbox{\kern-.07em\reflectbox{E}}%
+ \kern-.15em\LaTeX}
\begin{document}
\DocInput{geometry.dtx}
\end{document}
diff --git a/Master/texmf-dist/source/latex/geometry/geometry.dtx b/Master/texmf-dist/source/latex/geometry/geometry.dtx
index c7ad45a9d24..4e6a64d801c 100644
--- a/Master/texmf-dist/source/latex/geometry/geometry.dtx
+++ b/Master/texmf-dist/source/latex/geometry/geometry.dtx
@@ -39,12 +39,12 @@
%</ignore>
%<package|driver>\NeedsTeXFormat{LaTeX2e}
%<package>\ProvidesPackage{geometry}
-%<package> [2010/03/13 v5.3 Page Geometry]
+%<package> [2010/07/08 v5.4 Page Geometry]
%<*install>
\input docstrip.tex
\Msg{************************************************************************}
\Msg{* Installation}
-\Msg{* Package: geometry 2010/03/13 v5.3 Page Geometry}
+\Msg{* Package: geometry 2010/07/08 v5.4 Page Geometry}
\Msg{************************************************************************}
\keepsilent
@@ -102,15 +102,22 @@ the derived files: geometry.{sty,ins,drv}, geometry-samples.tex.
\ProvidesFile{geometry.drv}
\documentclass{ltxdoc}
\usepackage[colorlinks, linkcolor=blue]{hyperref}
+\usepackage{graphicx}
\usepackage[a4paper, hmargin=2.5cm, vmargin=1cm,
includeheadfoot]{geometry}
+\DeclareRobustCommand\XeTeX{%
+ X\lower.5ex\hbox{\kern-.07em\reflectbox{E}}%
+ \kern-.15em\TeX}
+\DeclareRobustCommand\XeLaTeX{%
+ X\lower.5ex\hbox{\kern-.07em\reflectbox{E}}%
+ \kern-.15em\LaTeX}
\begin{document}
\DocInput{geometry.dtx}
\end{document}
%</driver>
% \fi
%
-% \CheckSum{2723}
+% \CheckSum{2674}
%
% \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
@@ -145,7 +152,7 @@ the derived files: geometry.{sty,ins,drv}, geometry-samples.tex.
% \newcommand\vargii[2]{\OpenB#1\Comma#2\CloseB}
% \newcommand\vargiii[3]{\OpenB#1\Comma#2\Comma#3\CloseB}
% \newcommand\OR{\ \strut\vrule width .4pt\ }
-% \newcommand\gpart[1]{\textsl{#1}}
+% \newcommand\gpart[1]{\textsf{\textsl{\color[rgb]{.0,.45,.7}#1}}}%
% \newcommand\glen[1]{\textsf{#1}}
% \newenvironment{key}[2]{\expandafter\macro\expandafter{`#2'}}{\endmacro}
% \newenvironment{Options}%
@@ -192,7 +199,7 @@ the derived files: geometry.{sty,ins,drv}, geometry-samples.tex.
% middle of the document. \cs{newgeometry} is almost similar to
% \cs{geometry} except that \cs{newgeometry} disables all the options
% specified in the preamble and skips the papersize-related options:
-% |landscape|,|portrait| and paper size options (such as
+% |landscape|, |portrait| and paper size options (such as
% |papersize|, |paper=a4paper| and so forth).
% \item \textbf{A new set of options to specify the layout area.}\par
% The options specified for the area, in which the page dimensions
@@ -205,24 +212,28 @@ the derived files: geometry.{sty,ins,drv}, geometry-samples.tex.
% \item \textbf{A new driver option |xetex|.}\par
% 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
+% control sequences. Note that `geometry.cfg' in \TeX{} Live, 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.
-% \item \textbf{New paper size presets for JIS B-series.}\par
+% To set |xetex| is strongly recommended with \XeLaTeX{}.
+% \item \textbf{New paper size presets for JIS B-series and ISO C-series.}\par
% The papersize presets |b0j| to |b6j| for JIS (Japanese Industrial
-% Standards) B-series are added.
+% Standards) B-series and |c0paper| to |c6paper| for ISO C-series
+% (v5.4$\sim$) are added.
% \item \textbf{Changing default for underspecified margin.}\par
% In the previous version, if only one margin was specified,
% |bottom=1cm| for example, then \Gm\ set the other margin with
% the margin ratio (1:1 by default for the vertical dimensions)
-% and got |top|=1cm in this case.
+% 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. (See Section~\ref{sec:rules})
+% ($=0.7$) and determine the unspecified margin. (See Section~\ref{sec:rules})
% \item \textbf{The option |showframe| works on every page.}\par
% 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.
+% the corners of the layout (the same as paper by default) on every
+% page. Version 5.4 introduced a new |\shipout| overloading process
+% using \textsf{atbegshi} package, so the \textsf{atbegshi} package
+% is required when using showframe or showcrop option.
% \item \textbf{Loading geometry.cfg precedes processing class options.}\par
% The previous version loaded \textsf{geometry.cfg} after
% processing the document class options. Now that the config file is
@@ -238,7 +249,7 @@ the derived files: geometry.{sty,ins,drv}, geometry-samples.tex.
%
% To set dimensions for page layout in \LaTeX\ is not straightforward.
% You need to adjust several \LaTeX{} native dimensions to place a text area
-% where you want
+% where you want.
% If you want to center the text area in the paper you use, for example,
% you have to specify native dimensions as follows:
% \begin{quote}
@@ -267,9 +278,9 @@ the derived files: geometry.{sty,ins,drv}, geometry-samples.tex.
% The \Gm\ package will be also useful when you have to set page layout
% obeying the following strict instructions: for example,
% \begin{quote}\slshape
-% The total allowable width of the text area is 6.5 inches wide by 8.75
-% inches high. The top margin on each page should be 1.2 inches from
-% the top edge of the page. The left margin should be 0.9 inch from
+% The total allowable width of the text area is $6.5$ inches wide by $8.75$
+% inches high. The top margin on each page should be $1.2$ inches from
+% the top edge of the page. The left margin should be $0.9$ inch from
% the left edge. The footer with page number should be at the bottom
% of the text area.
% \end{quote}
@@ -300,8 +311,8 @@ the derived files: geometry.{sty,ins,drv}, geometry-samples.tex.
% \gpart{margins}\\
% \gpart{total body}&:&\gpart{body} (text area)\quad
% (optional \gpart{head}, \gpart{foot} and \gpart{marginpar})\\
-% \gpart{margins}&:&\gpart{left}(\gpart{inner}),
-% \gpart{right}(\gpart{outer}), \gpart{top} and \gpart{bottom}
+% \gpart{margins}&:&\gpart{left} (\gpart{inner}),
+% \gpart{right} (\gpart{outer}), \gpart{top} and \gpart{bottom}
% \end{tabular}
% \end{quote}
% Each margin is measured from the corresponding edge of a paper.
@@ -374,7 +385,7 @@ the derived files: geometry.{sty,ins,drv}, geometry-samples.tex.
% \caption[Dimension names for \Gm]{%
% \begin{minipage}[t]{.8\textwidth}\raggedright\small
% Dimension names used in the \Gm\ package.
-% |width|=|textwidth| and |height|=|textheight| by default.
+% |width| $=$ |textwidth| and |height| $=$ |textheight| by default.
% |left|, |right|, |top| and |bottom| are margins.
% If margins on verso pages are swapped by |twoside| option,
% margins specified by |left| and |right| options
@@ -388,8 +399,8 @@ the derived files: geometry.{sty,ins,drv}, geometry-samples.tex.
% The total body |width| and |height| would be defined:
% \begin{eqnarray}
% \label{eq:width}
-% |width| &:=& |textwidth| \quad( + |marginparsep| + |marginparwidth| )\\
-% |height| &:=& |textheight| \quad(+ |headheight| + |headsep| + |footskip| )
+% |width| &:=& |textwidth| \quad( +\> |marginparsep| + |marginparwidth| )\\
+% |height| &:=& |textheight| \quad(+\> |headheight| + |headsep| + |footskip| )
% \label{eq:height}
% \end{eqnarray}
% In Equation (\ref{eq:width}) |width:=textwidth| by default,
@@ -655,9 +666,9 @@ the derived files: geometry.{sty,ins,drv}, geometry-samples.tex.
%
% \section{Option details}
%
-% This section describes all the options available in \Gm.
+% This section describes all options available in \Gm.
% Options with a dagger $^\dagger$ are not available
-% as a argument of \cs{newgeometry} (See Section~\ref{sec:midchange}).
+% as arguments of \cs{newgeometry} (See Section~\ref{sec:midchange}).
%
% \subsection{Paper size}\label{sec:paper}
%
@@ -670,15 +681,17 @@ the derived files: geometry.{sty,ins,drv}, geometry-samples.tex.
% \item[\onlypre \vtop{
% \hbox{a0paper, a1paper, a2paper, a3paper, a4paper, a5paper, a6paper,}
% \hbox{b0paper, b1paper, b2paper, b3paper, b4paper, b5paper, b6paper,}
+% \hbox{c0paper, c1paper, c2paper, c3paper, c4paper, c5paper, c6paper,}
% \hbox{b0j, b1j, b2j, b3j, b4j, b5j, b6j,}
% \hbox{ansiapaper, ansibpaper, ansicpaper, ansidpaper, ansiepaper,}
% \hbox{letterpaper, executivepaper, legalpaper}}]~\\[1ex]
% specifies paper name. The value part is ignored even if any.
% For example, the followings have the same effect:
% |a5paper|, |a5paper=true|, |a5paper=false| and so forth.
-% |a[0-6]paper| and |b[0-6]paper| are ISO A and B series of paper sizes.
-% The JIS (Japanese Industrial Standards) A-series is identical to the ISO A-series,
-% but the JIS B-series is different from the ISO B-series.
+% |a[0-6]paper|, |b[0-6]paper| and |c[0-6]paper| are ISO A, B and C
+% series of paper sizes respectively.
+% The JIS (Japanese Industrial Standards) A-series is identical to the
+% ISO A-series, but the JIS B-series is different from the ISO B-series.
% |b[0-6]j| should be used for the JIS B-series.
% \item[\onlypre screen] a special paper size with (W,H) = (225mm,180mm).
% For presentation with PC and video projector, ``|screen,centering|''
@@ -714,7 +727,7 @@ the derived files: geometry.{sty,ins,drv}, geometry-samples.tex.
% |layout| and |paper| is.
% \begin{Options}
% \item[layout] specifies the layout size by paper
-% name. |layout=|\meta{paper-name}. All th paper names defined in \Gm\
+% name. |layout=|\meta{paper-name}. All the paper names defined in \Gm\
% are available. See Section~\ref{sec:paper} for details.
% \item[layoutwidth] width of the layout. |layoutwidth=|\meta{length}.
% \item[layoutheight] height of the layout. |layoutheight=|\meta{length}.
@@ -1148,12 +1161,12 @@ the derived files: geometry.{sty,ins,drv}, geometry-samples.tex.
% \item[\onlypre pdftex] sets \cs{pdfpagewidth} and \cs{pdfpageheight}
% internally.
% \item[\onlypre xetex] is the same as |pdftex| except for ignoring
-% |\pdf{h,v}origin| undefined in XeLaTeX. This option is introduced in
-% the version 5. Note that `geometry.cfg' in TeXLive, which disables the
+% |\pdf{h,v}origin| undefined in \XeLaTeX{}. This option is introduced in
+% the version 5. Note that `geometry.cfg' in \TeX{} Live, which disables the
% auto-detection routine and sets |pdftex|, is no longer necessary,
% but has no problem even though it's left undeleted.
-% Instead of |xetex|, you can specify |dvipdfm| with XeLaTeX
-% if you want to use specials of dvipdfm XeTeX supports.
+% Instead of |xetex|, you can specify |dvipdfm| with \XeLaTeX{}
+% if you want to use specials of dvipdfm \XeTeX{} supports.
% \item[\onlypre vtex] sets dimensions \cs{mediawidth} and \cs{mediaheight}
% for V\TeX. When this driver is selected (explicitly or
% automatically), \Gm\ will auto-detect which output mode
@@ -1200,11 +1213,12 @@ the derived files: geometry.{sty,ins,drv}, geometry-samples.tex.
% not `true' but magnified. If you want to set exact margins, you should
% set like ``\texttt{mag=1440, margin=10truept, truedimen}'' instead.
% \item[\onlypre pass] disables all of the geometry options and calculations
-% except |verbose| and |showframe|. It can be used for checking
-% out the page layout of the documentclass, other packages and manual
-% settings without \Gm.
+% except |verbose| and |showframe|. It is order-independent and can be
+% used for checking out the page layout of the documentclass, other
+% packages and manual settings without \Gm.
% \item[\onlypre showframe] shows visible frames for the text area and page,
% and the lines for the head and foot on the first page.
+% \item[\onlypre showcrop] prints cross-shape cropmarks at each corner.
% \end{Options}
%
% \section{Processing options}\label{sec:process}
@@ -1329,8 +1343,8 @@ the derived files: geometry.{sty,ins,drv}, geometry-samples.tex.
% Figure~\ref{fig:specrule} shows schematically how many specification
% patterns exist and how to solve the ambiguity of the
% specifications. Each axis shows the numbers of lengths
-% explicitly specified for body and margins. \Ss(m,b) presents the
-% specification with a set of numbers (margin,body)=(m,b).
+% explicitly specified for body and margins. \Ss($m$,$b$) presents the
+% specification with a set of numbers $(\gpart{margin},\gpart{body})=(m,b)$.
%
% For example, the specification |width=14cm, left=3cm| is categorized
% into \Ss(1,1), which is an adequate specification. If you add
@@ -1347,7 +1361,7 @@ the derived files: geometry.{sty,ins,drv}, geometry-samples.tex.
% {\unitlength=1pt
% \begin{picture}(400,150)(40,0)
% \put(1,49){\makebox(90,49)[r]{\large 0}}
-% \put(1,1){\makebox(70,99)[r]{\large body}}
+% \put(1,1){\makebox(70,99)[r]{\large \gpart{body}}}
% \put(1,1){\makebox(90,49)[r]{\large 1}}
% \put(100,100){\makebox(99,20){\large 0}}
% \put(100,50){\framebox(99,49){}}
@@ -1360,7 +1374,7 @@ the derived files: geometry.{sty,ins,drv}, geometry-samples.tex.
% \put(100,0){\framebox(99,49){}}
% \put(100,2){\makebox(99,15){\Ss(0,1)}}
% \put(100,0){\makebox(99,49){use |marginratio|}}
-% \put(200,120){\makebox(99,12){\large margin}}
+% \put(200,120){\makebox(99,12){\large \gpart{margin}}}
% \put(200,100){\makebox(99,20){\large 1}}
% \put(200,50){\framebox(99,49){use |scale|}}
% \put(200,55){\makebox(89,10)[r]{\scriptsize\shortstack[l]{if |ratio|\\specified}}}
@@ -1374,10 +1388,10 @@ the derived files: geometry.{sty,ins,drv}, geometry-samples.tex.
% \put(225,25){\line(-3,-1){12}}
% \put(225,25){\line(-3,1){12}}}
% \put(200,80){\makebox(99,15){\Ss(1,0)}}
-% \put(200,0){\framebox(99,49){\textcolor{red}{\textsl{solvable}}}}
+% \put(200,0){\framebox(99,49){\textcolor{red}{\textit{solvable}}}}
% \put(300,100){\makebox(99,20){\large 2}}
% \put(300,80){\makebox(99,15){\Ss(2,0)}}
-% \put(300,50){\framebox(99,49){\textcolor{red}{\textsl{solvable}}}}
+% \put(300,50){\framebox(99,49){\textcolor{red}{\textit{solvable}}}}
% \put(300,0){\framebox(99,49){forget |body|}}
% \put(300,2){\makebox(99,15){\Ss(2,1)}}
% {\linethickness{1pt}%
@@ -1393,8 +1407,8 @@ the derived files: geometry.{sty,ins,drv}, geometry-samples.tex.
% \begin{minipage}[t]{.7\textwidth}\raggedright\small
% Specifications \Ss(0,0) to \Ss(2,1) and the completion rules
% (arrows). The horizonal and vertical denote the number of explicitly
-% specified lengths for margin and body respectively. \Ss(m,b) denote a
-% specification with a set of the numbers (margin,body)=(m,b).
+% specified lengths for margin and body respectively. \Ss($m$,$b$) denote a
+% specification with a set of the numbers $(\gpart{margin},\gpart{body})=(m,b)$.
% \end{minipage}}
% \label{fig:specrule}
% \end{figure}
@@ -1402,7 +1416,7 @@ the derived files: geometry.{sty,ins,drv}, geometry-samples.tex.
% \begin{Spec}
% \item[\Ss(0,0)]
% Nothing is specified. The \Gm\ package sets \gpart{body} with the
-% default |scale| ($=$0.7). \\ For example, |width| is set to be
+% default |scale| ($=0.7$). \\ For example, |width| is set to be
% |0.7\paperwidth|. Thus \Ss(0,0) goes to \Ss(0,1). See \Ss(0,1).
% \bigskip
%
@@ -1455,7 +1469,7 @@ the derived files: geometry.{sty,ins,drv}, geometry-samples.tex.
% \item \textbf{If the margin ratio is specified}, such as
% |hmarginratio={1:2}|, |vratio={3:4}| and so forth,
% \Gm\ sets the other% margin with the specified margin ratio.
-% For example, if a set of options ``|top=2.4cm, vratio={3:4}|'' is
+% For example, if a set of options ``|top=2.4cm,vratio={3:4}|'' is
% specified, \Gm\ sets |bottom| to be |3.2cm| calculating
% \begin{center}
% $|bottom|= |top|/3\times4 = 3.2\textrm{cm}$
@@ -1491,7 +1505,7 @@ the derived files: geometry.{sty,ins,drv}, geometry-samples.tex.
% in the middle of the document. Unlike \cs{geometry} in the preamble,
% \cs{newgeometry} is available only after |\begin{document}|,
% resets all the options ever specified except for the
-% papersize-related options: |landscape|,|portrait|, and paper size
+% papersize-related options: |landscape|, |portrait|, and paper size
% options (such as |papersize|, |paper=a4paper| and so forth), which
% can't be changed with \cs{newgeometry}.
%
@@ -1504,7 +1518,7 @@ the derived files: geometry.{sty,ins,drv}, geometry-samples.tex.
%
% Below is an example of changing layout mid-document. The layout L1
% specified with |hmargin=3cm| (|left| and |right| margins are |3cm|
-% long) is changed to L2 with |left=3cm|,|right=1cm| and
+% long) is changed to L2 with |left=3cm|, |right=1cm| and
% |bottom=0.1cm|. The layout L1 is restored with
% \cs{restoregeometry}.
% \begin{center}
@@ -1609,7 +1623,7 @@ the derived files: geometry.{sty,ins,drv}, geometry-samples.tex.
% \item |twoside, bindingoffset=1cm|
% \end{itemize}
% In this case, |textwidth| is shorter than that of the default twosided
-% document by $0.7\times|1cm|$ ($=$|0.7cm|) because the default width of
+% document by $0.7\times|1cm|$ ($=|0.7cm|$) because the default width of
% \gpart{body} is set with |scale=0.7| (which means
% $|width|=0.7|\paperwidth|$).
%
@@ -1915,7 +1929,7 @@ the derived files: geometry.{sty,ins,drv}, geometry-samples.tex.
% \begin{macrocode}
\def\Gm@savelength#1{%
\g@addto@macro\Gm@restore{\expandafter\noexpand\expandafter\csname
- #1\endcsname\expandafter=\expandafter\the\csname #1\endcsname\relax}}
+ #1\endcsname\expandafter=\expandafter\the\csname #1\endcsname\relax}}%
% \end{macrocode}
% \end{macro}
% \begin{macro}{\Gm@saveboolean}
@@ -1957,6 +1971,8 @@ the derived files: geometry.{sty,ins,drv}, geometry-samples.tex.
\Gm@savelength{columnsep}%
\Gm@savelength{hoffset}%
\Gm@savelength{voffset}
+ \Gm@savelength{Gm@layoutwidth}%
+ \Gm@savelength{Gm@layoutheight}%
\Gm@savelength{Gm@layouthoffset}%
\Gm@savelength{Gm@layoutvoffset}%
\Gm@saveboolean{@twocolumn}%
@@ -2081,11 +2097,11 @@ the derived files: geometry.{sty,ins,drv}, geometry-samples.tex.
% with \textsf{calc} package.
% \begin{macrocode}
\def\Gm@defbylen#1#2{%
- \setlength\@tempdima{#2}%
- \expandafter\edef\csname Gm@#1\endcsname{\the\@tempdima}}%
+ \begingroup\setlength\@tempdima{#2}%
+ \expandafter\xdef\csname Gm@#1\endcsname{\the\@tempdima}\endgroup}%
\def\Gm@defbycnt#1#2{%
- \setcounter{Gm@tempcnt}{#2}%
- \expandafter\edef\csname Gm@#1\endcsname{\the\value{Gm@tempcnt}}}%
+ \begingroup\setcounter{Gm@tempcnt}{#2}%
+ \expandafter\xdef\csname Gm@#1\endcsname{\the\value{Gm@tempcnt}}\endgroup}%
% \end{macrocode}
% \end{macro}\end{macro}
% \begin{macro}{\Gm@set@ratio}
@@ -2209,9 +2225,9 @@ the derived files: geometry.{sty,ins,drv}, geometry-samples.tex.
% \begin{macrocode}
\ifcase\@tempcnta
\if#1h
- \edef\Gm@width{\Gm@Dhscale\Gm@layoutwidth}%
+ \Gm@defbylen{width}{\Gm@Dhscale\Gm@layoutwidth}%
\else
- \edef\Gm@height{\Gm@Dvscale\Gm@layoutheight}%
+ \Gm@defbylen{height}{\Gm@Dvscale\Gm@layoutheight}%
\fi
\Gm@detiiandiii{#2}{#3}{#4}%
% \end{macrocode}
@@ -2220,14 +2236,14 @@ the derived files: geometry.{sty,ins,drv}, geometry-samples.tex.
\or
\ifx\Gm@mratio\@undefined
\if#1h
- \edef\Gm@width{\Gm@Dhscale\Gm@layoutwidth}%
+ \Gm@defbylen{width}{\Gm@Dhscale\Gm@layoutwidth}%
\else
- \edef\Gm@height{\Gm@Dvscale\Gm@layoutheight}%
+ \Gm@defbylen{height}{\Gm@Dvscale\Gm@layoutheight}%
\fi
\setlength\@tempdimc{\@nameuse{Gm@#4}}%
\Gm@detiiandiii{#2}{#3}{#4}%
\expandafter\let\csname Gm@#2\endcsname\@undefined
- \expandafter\edef\csname Gm@#4\endcsname{\the\@tempdimc}%
+ \Gm@defbylen{#4}{\@tempdimc}%
\else
\Gm@setbyratio[f]{#1}{#4}{#3}%
\fi
@@ -2246,14 +2262,14 @@ the derived files: geometry.{sty,ins,drv}, geometry-samples.tex.
\or
\ifx\Gm@mratio\@undefined
\if#1h
- \edef\Gm@width{\Gm@Dhscale\Gm@layoutwidth}%
+ \Gm@defbylen{width}{\Gm@Dhscale\Gm@layoutwidth}%
\else
- \edef\Gm@height{\Gm@Dvscale\Gm@layoutheight}%
+ \Gm@defbylen{height}{\Gm@Dvscale\Gm@layoutheight}%
\fi
\setlength\@tempdimc{\@nameuse{Gm@#3}}%
\Gm@detiiandiii{#2}{#4}{#3}%
\expandafter\let\csname Gm@#2\endcsname\@undefined
- \expandafter\edef\csname Gm@#3\endcsname{\the\@tempdimc}%
+ \Gm@defbylen{#3}{\@tempdimc}%
\else
\Gm@setbyratio[b]{#1}{#3}{#4}%
\fi
@@ -2411,6 +2427,13 @@ the derived files: geometry.{sty,ins,drv}, geometry-samples.tex.
\@namedef{Gm@b4paper}#1{\Gm@setsize{#1}(250,353){mm}}% ISO B4
\@namedef{Gm@b5paper}#1{\Gm@setsize{#1}(176,250){mm}}% ISO B5
\@namedef{Gm@b6paper}#1{\Gm@setsize{#1}(125,176){mm}}% ISO B6
+\@namedef{Gm@c0paper}#1{\Gm@setsize{#1}(917,1297){mm}}% ISO C0
+\@namedef{Gm@c1paper}#1{\Gm@setsize{#1}(648,917){mm}}% ISO C1
+\@namedef{Gm@c2paper}#1{\Gm@setsize{#1}(458,648){mm}}% ISO C2
+\@namedef{Gm@c3paper}#1{\Gm@setsize{#1}(324,458){mm}}% ISO C3
+\@namedef{Gm@c4paper}#1{\Gm@setsize{#1}(229,324){mm}}% ISO C4
+\@namedef{Gm@c5paper}#1{\Gm@setsize{#1}(162,229){mm}}% ISO C5
+\@namedef{Gm@c6paper}#1{\Gm@setsize{#1}(114,162){mm}}% ISO C6
\@namedef{Gm@b0j}#1{\Gm@setsize{#1}(1030,1456){mm}}% JIS B0
\@namedef{Gm@b1j}#1{\Gm@setsize{#1}(728,1030){mm}}% JIS B1
\@namedef{Gm@b2j}#1{\Gm@setsize{#1}(515,728){mm}}% JIS B2
@@ -2460,6 +2483,13 @@ the derived files: geometry.{sty,ins,drv}, geometry-samples.tex.
\define@key{Gm}{b4paper}[true]{\Gm@setpaper@ifpre{b4paper}}%
\define@key{Gm}{b5paper}[true]{\Gm@setpaper@ifpre{b5paper}}%
\define@key{Gm}{b6paper}[true]{\Gm@setpaper@ifpre{b6paper}}%
+\define@key{Gm}{c0paper}[true]{\Gm@setpaper@ifpre{c0paper}}%
+\define@key{Gm}{c1paper}[true]{\Gm@setpaper@ifpre{c1paper}}%
+\define@key{Gm}{c2paper}[true]{\Gm@setpaper@ifpre{c2paper}}%
+\define@key{Gm}{c3paper}[true]{\Gm@setpaper@ifpre{c3paper}}%
+\define@key{Gm}{c4paper}[true]{\Gm@setpaper@ifpre{c4paper}}%
+\define@key{Gm}{c5paper}[true]{\Gm@setpaper@ifpre{c5paper}}%
+\define@key{Gm}{c6paper}[true]{\Gm@setpaper@ifpre{c6paper}}%
\define@key{Gm}{b0j}[true]{\Gm@setpaper@ifpre{b0j}}%
\define@key{Gm}{b1j}[true]{\Gm@setpaper@ifpre{b1j}}%
\define@key{Gm}{b2j}[true]{\Gm@setpaper@ifpre{b2j}}%
@@ -2485,11 +2515,11 @@ the derived files: geometry.{sty,ins,drv}, geometry-samples.tex.
% Direct specification for paper size is also possible.
% \begin{macrocode}
\define@key{Gm}{paperwidth}{\ifGm@preamble{paperwidth}{%
- \Gm@setlength\paperwidth{#1}}}%
+ \def\Gm@paper{custom}\Gm@setlength\paperwidth{#1}}}%
\define@key{Gm}{paperheight}{\ifGm@preamble{paperheight}{%
- \Gm@setlength\paperheight{#1}}}%
+ \def\Gm@paper{custom}\Gm@setlength\paperheight{#1}}}%
\define@key{Gm}{papersize}{\ifGm@preamble{papersize}{%
- \Gm@branch{#1}{paperwidth}{paperheight}}}%
+ \def\Gm@paper{custom}\Gm@branch{#1}{paperwidth}{paperheight}}}%
% \end{macrocode}
% \end{key}\end{key}\end{key}
% \begin{key}{Gm}{layout}
@@ -2954,8 +2984,8 @@ the derived files: geometry.{sty,ins,drv}, geometry-samples.tex.
\setlength\paperheight{\@tempdima}%
\fi
\ifGm@layout\else
- \let\Gm@layoutwidth\paperwidth
- \let\Gm@layoutheight\paperheight
+ \setlength\Gm@layoutwidth{\paperwidth}%
+ \setlength\Gm@layoutheight{\paperheight}%
\fi}%
% \end{macrocode}
% \end{macro}
@@ -3035,9 +3065,9 @@ the derived files: geometry.{sty,ins,drv}, geometry-samples.tex.
\ifGm@hbody
\ifx\Gm@width\@undefined
\ifx\Gm@hscale\@undefined
- \edef\Gm@width{\Gm@Dhscale\Gm@layoutwidth}%
+ \Gm@defbylen{width}{\Gm@Dhscale\Gm@layoutwidth}%
\else
- \edef\Gm@width{\Gm@hscale\Gm@layoutwidth}%
+ \Gm@defbylen{width}{\Gm@hscale\Gm@layoutwidth}%
\fi
\fi
\ifx\Gm@textwidth\@undefined\else
@@ -3055,9 +3085,9 @@ the derived files: geometry.{sty,ins,drv}, geometry-samples.tex.
\ifGm@vbody
\ifx\Gm@height\@undefined
\ifx\Gm@vscale\@undefined
- \edef\Gm@height{\Gm@Dvscale\Gm@layoutheight}%
+ \Gm@defbylen{height}{\Gm@Dvscale\Gm@layoutheight}%
\else
- \edef\Gm@height{\Gm@vscale\Gm@layoutheight}%
+ \Gm@defbylen{height}{\Gm@vscale\Gm@layoutheight}%
\fi
\fi
\ifx\Gm@lines\@undefined\else
@@ -3264,10 +3294,6 @@ the derived files: geometry.{sty,ins,drv}, geometry-samples.tex.
% |\Gm@width| and |\Gm@height| are expanded to get the real size.
% \begin{macrocode}
\def\Gm@showparams#1{%
- \ifGm@pass\else
- \setlength\@tempdima{\Gm@width}\edef\Gm@width{\the\@tempdima}%
- \setlength\@tempdima{\Gm@height}\edef\Gm@height{\the\@tempdima}%
- \fi
\ifGm@verbose\expandafter\typeout\else\expandafter\wlog\fi
{\Gm@logcontent{#1}}}%
\def\Gm@showdim#1{* \string#1=\the#1^^J}%
@@ -3280,20 +3306,21 @@ the derived files: geometry.{sty,ins,drv}, geometry-samples.tex.
% \begin{macrocode}
\def\Gm@logcontent#1{%
*geometry* verbose mode - [ #1 ] result:^^J%
- \ifGm@pass * pass (ignores the geometry layout)^^J%
+ \ifGm@pass * pass: disregarded the geometry package!^^J%
\else
- * 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%
+ * driver: \if\Gm@driver<none>\else\Gm@driver\fi^^J%
+ * paper: \ifx\Gm@paper\@undefined<default>\else\Gm@paper\fi^^J%
+ * layout: \ifGm@layout<custom>\else<same size as paper>\fi^^J%
+ \ifGm@layout
+ * layout(width,height): (\the\Gm@layoutwidth,\the\Gm@layoutheight)^^J%
+ \fi
+ * layoutoffset:(h,v)=(\the\Gm@layouthoffset,\the\Gm@layoutvoffset)^^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): %
+ * modes: %
\Gm@showbool{landscape}%
\Gm@showbool{includehead}%
\Gm@showbool{includefoot}%
@@ -3315,6 +3342,7 @@ the derived files: geometry.{sty,ins,drv}, geometry-samples.tex.
\Gm@showdim{\topmargin}%
\Gm@showdim{\headheight}%
\Gm@showdim{\headsep}%
+ \Gm@showdim{\topskip}%
\Gm@showdim{\footskip}%
\Gm@showdim{\marginparwidth}%
\Gm@showdim{\marginparsep}%
@@ -3327,7 +3355,7 @@ the derived files: geometry.{sty,ins,drv}, geometry-samples.tex.
* \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}%
+ * (1in=72.27pt=25.4mm, 1cm=28.453pt)^^J}%
% \end{macrocode}
% \end{macro}
%
@@ -3335,22 +3363,26 @@ the derived files: geometry.{sty,ins,drv}, geometry-samples.tex.
% \begin{macrocode}
\def\Gm@cropmark(#1,#2,#3,#4){%
\begin{picture}(0,0)
- \setlength\unitlength{1truemm}\thinlines
- \put(0,0){\line(#1,#2){5}}
- \put(0,0){\line(#3,#4){5}}
+ \setlength\unitlength{1truemm}%
+ \linethickness{0.2pt}%
+ \put(0,0){\line(#1,#2){5}}%
+ \put(0,0){\line(#3,#4){5}}%
\end{picture}}%
+\providecommand*\vb@xt@{\vbox to}%
+\def\Gm@vrule{\vrule width 0.2pt height\textheight depth\z@}%
+\def\Gm@hrule{\hrule height 0.2pt depth\z@ width\textwidth}%
+\def\Gm@hruled{\hrule height\z@ depth0.2pt width\textwidth}%
\newcommand*{\Gm@vrules@mpi}{%
- \hb@xt@\@tempdima{\llap{\vrule height\textheight}\ignorespaces
- \hskip \textwidth\vrule height\textheight\hskip \marginparsep
- \llap{\vrule height\textheight}\hfil\vrule height\textheight}}%
+ \hb@xt@\@tempdima{\llap{\Gm@vrule}\ignorespaces
+ \hskip \textwidth\Gm@vrule\hskip \marginparsep
+ \llap{\Gm@vrule}\hfil\Gm@vrule}}%
\newcommand*{\Gm@vrules@mpii}{%
\hb@xt@\@tempdima{\hskip-\marginparwidth\hskip-\marginparsep
- \llap{\vrule height\textheight}\ignorespaces
- \hskip \marginparwidth\rlap{\vrule height\textheight}\hskip \marginparsep
- \llap{\vrule height\textheight}\hskip\textwidth\rlap{\vrule height\textheight}\hss}}%
-\providecommand*\vb@xt@{\vbox to}%
+ \llap{\Gm@vrule}\ignorespaces
+ \hskip \marginparwidth\rlap{\Gm@vrule}\hskip \marginparsep
+ \llap{\Gm@vrule}\hskip\textwidth\rlap{\Gm@vrule}\hss}}%
\newcommand*{\Gm@pageframes}{%
- \vb@xt@\z@{\baselineskip\z@skip\lineskip\z@skip\lineskiplimit\z@%
+ \vb@xt@\z@{%
\ifGm@showcrop
\vb@xt@\z@{\vskip-1\Gm@truedimen in\vskip\Gm@layoutvoffset%
\hb@xt@\z@{\hskip-1\Gm@truedimen in\hskip\Gm@layouthoffset%
@@ -3372,9 +3404,9 @@ the derived files: geometry.{sty,ins,drv}, geometry-samples.tex.
\fi
\moveright\@themargin%
\vb@xt@\z@{%
- \vskip\topmargin\vb@xt@\z@{\vss\hrule width\textwidth}%
- \vskip\headheight\vb@xt@\z@{\vss\hrule width\textwidth}%
- \vskip\headsep\vb@xt@\z@{\vss\hrule width\textwidth}
+ \vskip\topmargin\vb@xt@\z@{\vss\Gm@hrule}%
+ \vskip\headheight\vb@xt@\z@{\vss\Gm@hruled}%
+ \vskip\headsep\vb@xt@\z@{\vss\Gm@hrule}%
\@tempdima\textwidth
\advance\@tempdima by \marginparsep
\advance\@tempdima by \marginparwidth
@@ -3387,26 +3419,11 @@ the derived files: geometry.{sty,ins,drv}, geometry-samples.tex.
\else
\Gm@vrules@mpi
\fi
- \vb@xt@\z@{\vss\hrule width\textwidth}%
- \vskip\footskip\vb@xt@\z@{\vss\hrule width\textwidth}%
+ \vb@xt@\z@{\vss\Gm@hrule}%
+ \vskip\footskip\vb@xt@\z@{\vss\Gm@hruled}%
\vss}%
\fi%
}}%
-\let\Gm@shipout\shipout
-\newcommand*{\gm@shipi}{%
- \ifvoid\@cclv\expandafter\aftergroup\fi\gm@shipii}%
-\newcommand*\gm@shipii{%
- \ifvoid\@cclv
- \Gm@shipout\box\@cclv
- \else
- \ifGm@showframe
- \Gm@shipout\vbox{\Gm@pageframes\ifvbox\@cclv\unvbox\else\box\fi\@cclv}%
- \else\ifGm@showcrop
- \Gm@shipout\vbox{\Gm@pageframes\ifvbox\@cclv\unvbox\else\box\fi\@cclv}%
- \else
- \Gm@shipout\box\@cclv
- \fi\fi
- \fi}
% \end{macrocode}
%
% \begin{macro}{\ProcessOptionsKV}
@@ -3591,14 +3608,21 @@ the derived files: geometry.{sty,ins,drv}, geometry-samples.tex.
\fi
\fi\fi
% \end{macrocode}
-% If |showframe=true|, page frames and lines are showed
-% on the first page.
+% Page frames are shipped out when |showframe=true|, cropmarks for |showcrop=true|
+% on each page. The \textsf{atbegshi} package is used for overloading |\shipout|.
% \begin{macrocode}
+ \@tempswafalse
\ifGm@showframe
- \renewcommand*{\shipout}{\afterassignment\gm@shipi\setbox\@cclv=}
+ \@tempswatrue
\else\ifGm@showcrop
- \renewcommand*{\shipout}{\afterassignment\gm@shipi\setbox\@cclv=}
+ \@tempswatrue
\fi\fi
+ \if@tempswa
+ \RequirePackage{atbegshi}%
+ \AtBeginShipout{\setbox\AtBeginShipoutBox=\vbox{%
+ \baselineskip\z@skip\lineskip\z@skip\lineskiplimit\z@
+ \Gm@pageframes\box\AtBeginShipoutBox}}%
+ \fi
% \end{macrocode}
% The layout dimensions for \cs{restoregeometry} are saved
% at the end of the \cs{AtBeginDocument}.
@@ -3661,7 +3685,7 @@ the derived files: geometry.{sty,ins,drv}, geometry-samples.tex.
% It would reset the options specified in the preamble except for
% paper size options and |\mag|.
% \begin{macrocode}
-\newcommand\newgeometry[1]{%
+\newcommand{\newgeometry}[1]{%
\clearpage
\Gm@restore@org
\Gm@initnewgm
@@ -3678,7 +3702,7 @@ the derived files: geometry.{sty,ins,drv}, geometry-samples.tex.
% The macro restores the resulting layout specified in the preamble,
% namely the first-page layout right after |\begin{document}|.
% \begin{macrocode}
-\newcommand\restoregeometry{%
+\newcommand{\restoregeometry}{%
\clearpage
\Gm@restore@pkg
\Gm@changelayout}%
@@ -3689,7 +3713,7 @@ the derived files: geometry.{sty,ins,drv}, geometry-samples.tex.
% with the argument. The saved layout can be loaded
% with |\loadgeometry{|\meta{name}|}|.
% \begin{macrocode}
-\newcommand*\savegeometry[1]{%
+\newcommand*{\savegeometry}[1]{%
\Gm@save
\expandafter\edef\csname Gm@restore@@#1\endcsname{\Gm@restore}}%
% \end{macrocode}
@@ -3699,7 +3723,7 @@ the derived files: geometry.{sty,ins,drv}, geometry-samples.tex.
% If the name is not found, the macro would warn it and
% do nothing for the layout.
% \begin{macrocode}
-\newcommand*\loadgeometry[1]{%
+\newcommand*{\loadgeometry}[1]{%
\clearpage
\@ifundefined{Gm@restore@@#1}{%
\PackageError{geometry}{%
diff --git a/Master/texmf-dist/source/latex/geometry/geometry.ins b/Master/texmf-dist/source/latex/geometry/geometry.ins
index 6b9f2ecf4ec..ec50cc41ccb 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/03/13 v5.3 Page Geometry}
+\Msg{* Package: geometry 2010/07/08 v5.4 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 73ff861c1ab..c2f3961f570 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/03/13 v5.3 Page Geometry]
+ [2010/07/08 v5.4 Page Geometry]
\RequirePackage{keyval}%
\RequirePackage{ifpdf}%
\RequirePackage{ifvtex}%
@@ -79,7 +79,7 @@
\edef\Gm@orgph{\the\paperheight}%
\def\Gm@savelength#1{%
\g@addto@macro\Gm@restore{\expandafter\noexpand\expandafter\csname
- #1\endcsname\expandafter=\expandafter\the\csname #1\endcsname\relax}}
+ #1\endcsname\expandafter=\expandafter\the\csname #1\endcsname\relax}}%
\def\Gm@saveboolean#1{%
\csname if#1\endcsname
\g@addto@macro\Gm@restore{\expandafter\noexpand\csname #1true\endcsname}%
@@ -105,6 +105,8 @@
\Gm@savelength{columnsep}%
\Gm@savelength{hoffset}%
\Gm@savelength{voffset}
+ \Gm@savelength{Gm@layoutwidth}%
+ \Gm@savelength{Gm@layoutheight}%
\Gm@savelength{Gm@layouthoffset}%
\Gm@savelength{Gm@layoutvoffset}%
\Gm@saveboolean{@twocolumn}%
@@ -179,11 +181,11 @@
\csname ifGm@#1\endcsname
\csname Gm@#1false\endcsname\else\csname Gm@#1true\endcsname\fi}%
\def\Gm@defbylen#1#2{%
- \setlength\@tempdima{#2}%
- \expandafter\edef\csname Gm@#1\endcsname{\the\@tempdima}}%
+ \begingroup\setlength\@tempdima{#2}%
+ \expandafter\xdef\csname Gm@#1\endcsname{\the\@tempdima}\endgroup}%
\def\Gm@defbycnt#1#2{%
- \setcounter{Gm@tempcnt}{#2}%
- \expandafter\edef\csname Gm@#1\endcsname{\the\value{Gm@tempcnt}}}%
+ \begingroup\setcounter{Gm@tempcnt}{#2}%
+ \expandafter\xdef\csname Gm@#1\endcsname{\the\value{Gm@tempcnt}}\endgroup}%
\def\Gm@sep@ratio#1:#2{\@tempcnta=#1\@tempcntb=#2}%
\def\Gm@setbyratio[#1]#2#3#4{% determine #4 by ratio
\expandafter\Gm@sep@ratio\Gm@mratio\relax
@@ -261,22 +263,22 @@
\fi
\ifcase\@tempcnta
\if#1h
- \edef\Gm@width{\Gm@Dhscale\Gm@layoutwidth}%
+ \Gm@defbylen{width}{\Gm@Dhscale\Gm@layoutwidth}%
\else
- \edef\Gm@height{\Gm@Dvscale\Gm@layoutheight}%
+ \Gm@defbylen{height}{\Gm@Dvscale\Gm@layoutheight}%
\fi
\Gm@detiiandiii{#2}{#3}{#4}%
\or
\ifx\Gm@mratio\@undefined
\if#1h
- \edef\Gm@width{\Gm@Dhscale\Gm@layoutwidth}%
+ \Gm@defbylen{width}{\Gm@Dhscale\Gm@layoutwidth}%
\else
- \edef\Gm@height{\Gm@Dvscale\Gm@layoutheight}%
+ \Gm@defbylen{height}{\Gm@Dvscale\Gm@layoutheight}%
\fi
\setlength\@tempdimc{\@nameuse{Gm@#4}}%
\Gm@detiiandiii{#2}{#3}{#4}%
\expandafter\let\csname Gm@#2\endcsname\@undefined
- \expandafter\edef\csname Gm@#4\endcsname{\the\@tempdimc}%
+ \Gm@defbylen{#4}{\@tempdimc}%
\else
\Gm@setbyratio[f]{#1}{#4}{#3}%
\fi
@@ -286,14 +288,14 @@
\or
\ifx\Gm@mratio\@undefined
\if#1h
- \edef\Gm@width{\Gm@Dhscale\Gm@layoutwidth}%
+ \Gm@defbylen{width}{\Gm@Dhscale\Gm@layoutwidth}%
\else
- \edef\Gm@height{\Gm@Dvscale\Gm@layoutheight}%
+ \Gm@defbylen{height}{\Gm@Dvscale\Gm@layoutheight}%
\fi
\setlength\@tempdimc{\@nameuse{Gm@#3}}%
\Gm@detiiandiii{#2}{#4}{#3}%
\expandafter\let\csname Gm@#2\endcsname\@undefined
- \expandafter\edef\csname Gm@#3\endcsname{\the\@tempdimc}%
+ \Gm@defbylen{#3}{\@tempdimc}%
\else
\Gm@setbyratio[b]{#1}{#3}{#4}%
\fi
@@ -389,6 +391,13 @@
\@namedef{Gm@b4paper}#1{\Gm@setsize{#1}(250,353){mm}}% ISO B4
\@namedef{Gm@b5paper}#1{\Gm@setsize{#1}(176,250){mm}}% ISO B5
\@namedef{Gm@b6paper}#1{\Gm@setsize{#1}(125,176){mm}}% ISO B6
+\@namedef{Gm@c0paper}#1{\Gm@setsize{#1}(917,1297){mm}}% ISO C0
+\@namedef{Gm@c1paper}#1{\Gm@setsize{#1}(648,917){mm}}% ISO C1
+\@namedef{Gm@c2paper}#1{\Gm@setsize{#1}(458,648){mm}}% ISO C2
+\@namedef{Gm@c3paper}#1{\Gm@setsize{#1}(324,458){mm}}% ISO C3
+\@namedef{Gm@c4paper}#1{\Gm@setsize{#1}(229,324){mm}}% ISO C4
+\@namedef{Gm@c5paper}#1{\Gm@setsize{#1}(162,229){mm}}% ISO C5
+\@namedef{Gm@c6paper}#1{\Gm@setsize{#1}(114,162){mm}}% ISO C6
\@namedef{Gm@b0j}#1{\Gm@setsize{#1}(1030,1456){mm}}% JIS B0
\@namedef{Gm@b1j}#1{\Gm@setsize{#1}(728,1030){mm}}% JIS B1
\@namedef{Gm@b2j}#1{\Gm@setsize{#1}(515,728){mm}}% JIS B2
@@ -421,6 +430,13 @@
\define@key{Gm}{b4paper}[true]{\Gm@setpaper@ifpre{b4paper}}%
\define@key{Gm}{b5paper}[true]{\Gm@setpaper@ifpre{b5paper}}%
\define@key{Gm}{b6paper}[true]{\Gm@setpaper@ifpre{b6paper}}%
+\define@key{Gm}{c0paper}[true]{\Gm@setpaper@ifpre{c0paper}}%
+\define@key{Gm}{c1paper}[true]{\Gm@setpaper@ifpre{c1paper}}%
+\define@key{Gm}{c2paper}[true]{\Gm@setpaper@ifpre{c2paper}}%
+\define@key{Gm}{c3paper}[true]{\Gm@setpaper@ifpre{c3paper}}%
+\define@key{Gm}{c4paper}[true]{\Gm@setpaper@ifpre{c4paper}}%
+\define@key{Gm}{c5paper}[true]{\Gm@setpaper@ifpre{c5paper}}%
+\define@key{Gm}{c6paper}[true]{\Gm@setpaper@ifpre{c6paper}}%
\define@key{Gm}{b0j}[true]{\Gm@setpaper@ifpre{b0j}}%
\define@key{Gm}{b1j}[true]{\Gm@setpaper@ifpre{b1j}}%
\define@key{Gm}{b2j}[true]{\Gm@setpaper@ifpre{b2j}}%
@@ -438,11 +454,11 @@
\define@key{Gm}{executivepaper}[true]{\Gm@setpaper@ifpre{executivepaper}}%
\define@key{Gm}{screen}[true]{\Gm@setpaper@ifpre{screen}}%
\define@key{Gm}{paperwidth}{\ifGm@preamble{paperwidth}{%
- \Gm@setlength\paperwidth{#1}}}%
+ \def\Gm@paper{custom}\Gm@setlength\paperwidth{#1}}}%
\define@key{Gm}{paperheight}{\ifGm@preamble{paperheight}{%
- \Gm@setlength\paperheight{#1}}}%
+ \def\Gm@paper{custom}\Gm@setlength\paperheight{#1}}}%
\define@key{Gm}{papersize}{\ifGm@preamble{papersize}{%
- \Gm@branch{#1}{paperwidth}{paperheight}}}%
+ \def\Gm@paper{custom}\Gm@branch{#1}{paperwidth}{paperheight}}}%
\define@key{Gm}{layout}{\Gm@layouttrue\@nameuse{Gm@#1}{Gm@layout}}%
\let\KV@Gm@layoutname\KV@Gm@layout
\define@key{Gm}{layoutwidth}{\Gm@layouttrue\Gm@setlength\Gm@layoutwidth{#1}}%
@@ -613,8 +629,8 @@
\setlength\paperheight{\@tempdima}%
\fi
\ifGm@layout\else
- \let\Gm@layoutwidth\paperwidth
- \let\Gm@layoutheight\paperheight
+ \setlength\Gm@layoutwidth{\paperwidth}%
+ \setlength\Gm@layoutheight{\paperheight}%
\fi}%
\def\Gm@checkmp{%
\ifGm@includemp\else
@@ -675,9 +691,9 @@
\ifGm@hbody
\ifx\Gm@width\@undefined
\ifx\Gm@hscale\@undefined
- \edef\Gm@width{\Gm@Dhscale\Gm@layoutwidth}%
+ \Gm@defbylen{width}{\Gm@Dhscale\Gm@layoutwidth}%
\else
- \edef\Gm@width{\Gm@hscale\Gm@layoutwidth}%
+ \Gm@defbylen{width}{\Gm@hscale\Gm@layoutwidth}%
\fi
\fi
\ifx\Gm@textwidth\@undefined\else
@@ -691,9 +707,9 @@
\ifGm@vbody
\ifx\Gm@height\@undefined
\ifx\Gm@vscale\@undefined
- \edef\Gm@height{\Gm@Dvscale\Gm@layoutheight}%
+ \Gm@defbylen{height}{\Gm@Dvscale\Gm@layoutheight}%
\else
- \edef\Gm@height{\Gm@vscale\Gm@layoutheight}%
+ \Gm@defbylen{height}{\Gm@vscale\Gm@layoutheight}%
\fi
\fi
\ifx\Gm@lines\@undefined\else
@@ -817,30 +833,27 @@
\typeout{*geometry* detected driver: \Gm@driver}%
\fi}%
\def\Gm@showparams#1{%
- \ifGm@pass\else
- \setlength\@tempdima{\Gm@width}\edef\Gm@width{\the\@tempdima}%
- \setlength\@tempdima{\Gm@height}\edef\Gm@height{\the\@tempdima}%
- \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@logcontent#1{%
*geometry* verbose mode - [ #1 ] result:^^J%
- \ifGm@pass * pass (ignores the geometry layout)^^J%
+ \ifGm@pass * pass: disregarded the geometry package!^^J%
\else
- * 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%
+ * driver: \if\Gm@driver<none>\else\Gm@driver\fi^^J%
+ * paper: \ifx\Gm@paper\@undefined<default>\else\Gm@paper\fi^^J%
+ * layout: \ifGm@layout<custom>\else<same size as paper>\fi^^J%
+ \ifGm@layout
+ * layout(width,height): (\the\Gm@layoutwidth,\the\Gm@layoutheight)^^J%
+ \fi
+ * layoutoffset:(h,v)=(\the\Gm@layouthoffset,\the\Gm@layoutvoffset)^^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): %
+ * modes: %
\Gm@showbool{landscape}%
\Gm@showbool{includehead}%
\Gm@showbool{includefoot}%
@@ -862,6 +875,7 @@
\Gm@showdim{\topmargin}%
\Gm@showdim{\headheight}%
\Gm@showdim{\headsep}%
+ \Gm@showdim{\topskip}%
\Gm@showdim{\footskip}%
\Gm@showdim{\marginparwidth}%
\Gm@showdim{\marginparsep}%
@@ -874,25 +888,29 @@
* \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}%
+ * (1in=72.27pt=25.4mm, 1cm=28.453pt)^^J}%
\def\Gm@cropmark(#1,#2,#3,#4){%
\begin{picture}(0,0)
- \setlength\unitlength{1truemm}\thinlines
- \put(0,0){\line(#1,#2){5}}
- \put(0,0){\line(#3,#4){5}}
+ \setlength\unitlength{1truemm}%
+ \linethickness{0.2pt}%
+ \put(0,0){\line(#1,#2){5}}%
+ \put(0,0){\line(#3,#4){5}}%
\end{picture}}%
+\providecommand*\vb@xt@{\vbox to}%
+\def\Gm@vrule{\vrule width 0.2pt height\textheight depth\z@}%
+\def\Gm@hrule{\hrule height 0.2pt depth\z@ width\textwidth}%
+\def\Gm@hruled{\hrule height\z@ depth0.2pt width\textwidth}%
\newcommand*{\Gm@vrules@mpi}{%
- \hb@xt@\@tempdima{\llap{\vrule height\textheight}\ignorespaces
- \hskip \textwidth\vrule height\textheight\hskip \marginparsep
- \llap{\vrule height\textheight}\hfil\vrule height\textheight}}%
+ \hb@xt@\@tempdima{\llap{\Gm@vrule}\ignorespaces
+ \hskip \textwidth\Gm@vrule\hskip \marginparsep
+ \llap{\Gm@vrule}\hfil\Gm@vrule}}%
\newcommand*{\Gm@vrules@mpii}{%
\hb@xt@\@tempdima{\hskip-\marginparwidth\hskip-\marginparsep
- \llap{\vrule height\textheight}\ignorespaces
- \hskip \marginparwidth\rlap{\vrule height\textheight}\hskip \marginparsep
- \llap{\vrule height\textheight}\hskip\textwidth\rlap{\vrule height\textheight}\hss}}%
-\providecommand*\vb@xt@{\vbox to}%
+ \llap{\Gm@vrule}\ignorespaces
+ \hskip \marginparwidth\rlap{\Gm@vrule}\hskip \marginparsep
+ \llap{\Gm@vrule}\hskip\textwidth\rlap{\Gm@vrule}\hss}}%
\newcommand*{\Gm@pageframes}{%
- \vb@xt@\z@{\baselineskip\z@skip\lineskip\z@skip\lineskiplimit\z@%
+ \vb@xt@\z@{%
\ifGm@showcrop
\vb@xt@\z@{\vskip-1\Gm@truedimen in\vskip\Gm@layoutvoffset%
\hb@xt@\z@{\hskip-1\Gm@truedimen in\hskip\Gm@layouthoffset%
@@ -914,9 +932,9 @@
\fi
\moveright\@themargin%
\vb@xt@\z@{%
- \vskip\topmargin\vb@xt@\z@{\vss\hrule width\textwidth}%
- \vskip\headheight\vb@xt@\z@{\vss\hrule width\textwidth}%
- \vskip\headsep\vb@xt@\z@{\vss\hrule width\textwidth}
+ \vskip\topmargin\vb@xt@\z@{\vss\Gm@hrule}%
+ \vskip\headheight\vb@xt@\z@{\vss\Gm@hruled}%
+ \vskip\headsep\vb@xt@\z@{\vss\Gm@hrule}%
\@tempdima\textwidth
\advance\@tempdima by \marginparsep
\advance\@tempdima by \marginparwidth
@@ -929,26 +947,11 @@
\else
\Gm@vrules@mpi
\fi
- \vb@xt@\z@{\vss\hrule width\textwidth}%
- \vskip\footskip\vb@xt@\z@{\vss\hrule width\textwidth}%
+ \vb@xt@\z@{\vss\Gm@hrule}%
+ \vskip\footskip\vb@xt@\z@{\vss\Gm@hruled}%
\vss}%
\fi%
}}%
-\let\Gm@shipout\shipout
-\newcommand*{\gm@shipi}{%
- \ifvoid\@cclv\expandafter\aftergroup\fi\gm@shipii}%
-\newcommand*\gm@shipii{%
- \ifvoid\@cclv
- \Gm@shipout\box\@cclv
- \else
- \ifGm@showframe
- \Gm@shipout\vbox{\Gm@pageframes\ifvbox\@cclv\unvbox\else\box\fi\@cclv}%
- \else\ifGm@showcrop
- \Gm@shipout\vbox{\Gm@pageframes\ifvbox\@cclv\unvbox\else\box\fi\@cclv}%
- \else
- \Gm@shipout\box\@cclv
- \fi\fi
- \fi}
\def\ProcessOptionsKV{\@ifnextchar[%]
{\@ProcessOptionsKV}{\@ProcessOptionsKV[]}}%
\def\@ProcessOptionsKV[#1]#2{%
@@ -1052,11 +1055,18 @@
\AtBeginDvi{\special{papersize=\the\paperwidth,\the\paperheight}}%
\fi
\fi\fi
+ \@tempswafalse
\ifGm@showframe
- \renewcommand*{\shipout}{\afterassignment\gm@shipi\setbox\@cclv=}
+ \@tempswatrue
\else\ifGm@showcrop
- \renewcommand*{\shipout}{\afterassignment\gm@shipi\setbox\@cclv=}
+ \@tempswatrue
\fi\fi
+ \if@tempswa
+ \RequirePackage{atbegshi}%
+ \AtBeginShipout{\setbox\AtBeginShipoutBox=\vbox{%
+ \baselineskip\z@skip\lineskip\z@skip\lineskiplimit\z@
+ \Gm@pageframes\box\AtBeginShipoutBox}}%
+ \fi
\Gm@save
\edef\Gm@restore@pkg{\Gm@restore}%
\ifGm@verbose\ifGm@pass\else\Gm@checkmp\fi\fi
@@ -1081,7 +1091,7 @@
\fi%
\setlength{\hsize}{\columnwidth}%
\setlength{\linewidth}{\hsize}}%
-\newcommand\newgeometry[1]{%
+\newcommand{\newgeometry}[1]{%
\clearpage
\Gm@restore@org
\Gm@initnewgm
@@ -1092,14 +1102,14 @@
\ifnum\mag=\@m\else\Gm@magtooffset\fi
\Gm@changelayout
\Gm@showparams{newgeometry}}%
-\newcommand\restoregeometry{%
+\newcommand{\restoregeometry}{%
\clearpage
\Gm@restore@pkg
\Gm@changelayout}%
-\newcommand*\savegeometry[1]{%
+\newcommand*{\savegeometry}[1]{%
\Gm@save
\expandafter\edef\csname Gm@restore@@#1\endcsname{\Gm@restore}}%
-\newcommand*\loadgeometry[1]{%
+\newcommand*{\loadgeometry}[1]{%
\clearpage
\@ifundefined{Gm@restore@@#1}{%
\PackageError{geometry}{%