summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/latex/gmeometric
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2007-04-28 00:49:23 +0000
committerKarl Berry <karl@freefriends.org>2007-04-28 00:49:23 +0000
commit58a84f1f518f7f818c4e2bca5dbe871461f8da7d (patch)
treeb1d3127233772d1d636d034e735e60296ee7032e /Master/texmf-dist/tex/latex/gmeometric
parente08ccde64798ce5b7bd0841baa8214059ada70a0 (diff)
new latex package gmeometric (26apr07)
git-svn-id: svn://tug.org/texlive/trunk@4202 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/latex/gmeometric')
-rw-r--r--Master/texmf-dist/tex/latex/gmeometric/gmeometric.sty184
1 files changed, 184 insertions, 0 deletions
diff --git a/Master/texmf-dist/tex/latex/gmeometric/gmeometric.sty b/Master/texmf-dist/tex/latex/gmeometric/gmeometric.sty
new file mode 100644
index 00000000000..f12a8734aab
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/gmeometric/gmeometric.sty
@@ -0,0 +1,184 @@
+%
+% \GetFileInfo{gmeometric.sty}
+% \title{The \pk{gmeometric} Package\thfileinfo}
+% \author{Grzegorz Murzynowski}
+% \maketitle
+%
+%
+% \begin{copyrnote}
+%
+%% Written by Grzegorz Murzynowski,
+%% natror at o2 dot pl
+%%
+%% \copyright\,2006, 2007 by Grzegorz Murzynowski.
+%%
+%% This program is subject to the \LaTeX\ Project Public License.
+%% See
+%% \url{http://www.ctan.org/tex-archive/help/Catalogue/licenses.lppl.html}
+%% for the details of that license.
+%%
+%% LPPL status: "author-maintained".\par
+%
+%\end{copyrnote}
+%
+% \CheckSum{61}
+% \chschange{v0.69}{2007/4/26}{40}
+%
+%% \FileInfo
+
+\NeedsTeXFormat{LaTeX2e}
+\ProvidesPackage{gmeometric}
+ [2007/04/26 v0.69 to allow the `geometry' macro in the document (GM)]
+
+%%
+%
+%% \division{Introduction, usage}
+%%
+%% This package allows you to use the |\geometry| macro, provided by
+%% the \pk{geometry} v3.2 by Hideo Umeki, anywhere in a~document:
+%% originally it's claused |\@onlypreamble| and the main work of
+%% \pk{gmeometric} is to change that.
+%%
+%% Note it's rather queer to change the page layout \emph{inside}
+%% a~document and it should be considered as drugs or alcohol: it's
+%% O.K.\ only if you \emph{really} know what you're doing.
+%%
+%% In order to work properly, the macro should launch the |\clearpage|
+%% or the |\cleardoublepage| to `commit' the changes. So, the
+%% unstarred version trigges the first while the starred the
+%% latter. If that doesn't work quite as expected, try to precede or
+%% succede it with |\onecolumn| or |\twocolumn|.
+%%
+%% It's important that |\clear(double)page| launched by |\geometry|
+%% not to be a~no-op, i.e., |\clear(double)page| immediately
+%% preceding |\geometry| (nothing is printed in between) discards the
+%% `commitment'.
+%%
+%% \stanza
+%% You may use \pk{gmeometric} just like \pk{geometry} i.e., to specify
+%% the layout as the package options: they shall be passed to
+%% \pk{geometry}.
+%
+%
+% \begin{gmlonely}
+% \subdivision{Installation}
+%
+% Just put the \pk{gmeometric.sty} somewhere in the \file{texmf/\:tex/\:latex}
+% branch. Creating a~\file{texmf/\:tex/\:latex/\:gm} directory may be advisable
+% if you consider using other packages written by me.
+%
+% Then you should refresh your \TeX\ distribution's files' database
+% most probably.
+% \end{gmlonely}
+%
+%
+% \subdivision{Contents of the \pk{gmeometric.zip} archive}
+%
+% The distribution of the \pk{gmeometric} package consists of the
+% following four files.
+% \begin{verse}
+% \pk{gmeometric.sty}\\
+% \pk{README}\\
+% \pk{gmeometricDoc.tex}\\
+% \pk{gmeometricDoc.pdf}
+% \end{verse}
+%
+%
+% \begin{gmlonely}
+% \subdivision{Compiling of the Documentation}
+%
+% The last of the above files (the \pk{.pdf}, i.e., \emph{this
+% file}) is a~documentation compiled from the \pk{.sty} file by
+% running \LaTeX\ (twice) on the \pk{gmeometricDoc.tex} file.
+% Compiling of the documentation requires the packages: \pk{gmdoc}
+% (\pk{gmdoc.sty} and \pk{gmdocc.cls}), \pk{gmverb.sty},
+% \pk{gmutils.sty}, \pk{gmiflink.sty} and also some standard
+% packages: \pk{hyperref.sty}, \pk{color.sty}, \pk{geometry.sty},
+% \pk{multicol.sty}, \pk{lmodern.sty}, \pk{fontenc.sty} that should
+% be installed on your computer by default.
+%
+% If you have not installed the \pk{mwart.cls} class (available on
+% CTAN in \pk{mwcls} package), the result of your compilation may
+% differ a bit from the \pk{.pdf} provided in this \pk{.zip} archive
+% in formattings: If you have not installed \pk{mwart.cls}, the
+% standard \pk{article.cls} class will be used.
+% \end{gmlonely}
+%
+%
+% \division{Usage}
+% The only use of this package is to allow the |\geometry| command
+% also inside the \env{document} (originally it's
+% |\@onlypreamble|). To make |\geometry| work properly it may be
+% advisable to `commit' the layout changes with (|\clearpage|,
+% |\cleardoublepage| or |\newpage|) and maybe |\one/twocolumn|.
+%
+% Some layout commands should be put before |\one/twocolumn| and other
+% after it. An example:
+%
+%\begin{verbatim}
+% \thispagestyle{empty}
+%
+% \advance\textheight 3.4cm\relax
+% \onecolumn
+% \newpage
+%
+% \advance\footskip-1.7cm
+% \geometry{hmargin=1.2cm,vmargin=1cm}
+%\end{verbatim}
+%
+% And another:
+%\begin{verbatim}
+% \geometry{bottom=3.6cm}
+%\end{verbatim}
+%
+%
+% \division{The Code}
+
+\RequirePackage{gmutils}[2007/04/23]% this package defines the storing
+% and restoring commands.
+
+
+\RequirePackageWithOptions{geometry}
+
+% Let's remove some macros from the list to erase at begin document:
+\let\do\not@onlypreamble
+
+\do\Gm@cnth
+\do\Gm@cntv
+\do\c@Gm@tempcnt
+\do\Gm@bindingoffset
+\do\Gm@wd@mp
+\do\Gm@odd@mp
+\do\Gm@even@mp
+\do\Gm@orgw
+\do\Gm@orgh
+\do\Gm@dimlist
+
+
+% Redefine |\geometry| to give it the starred version that clears
+% a~double page when used in the document. The unstarred versions will
+% do just |\clearpage|. Note that |\clear(double)page| makes no harm
+% when used in the preamble. \CodeDefine\geometry
+\def\geometry{%
+ \@ifstar{\gm@geometry{double}}{\gm@geometry{}}}
+
+% \CodeDefine\gm@geometry
+\def\gm@geometry#1#2{%
+ \Gm@clean
+ \setkeys{Gm}{#2}%
+ \Gm@process
+ \csname clear#1page\endcsname}%
+
+
+% \changes{v0.69}{2007/04/26}{The package main action rewritten to use
+% \cs{not@onlypreamble} and not \cs{(Re)StoreMacros}}
+
+
+\endinput
+% \NoEOF
+
+% (For my GNU Emacs:)
+%%% Local Variables:
+%%% mode: doctex
+%%% TeX-master: "../../../../LaTeX/TeXGuru/gmeometric/gmeometricDoc.tex"
+%%% End: