summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/latex/blowup/blowup.sty
diff options
context:
space:
mode:
authorManuel Pégourié-Gonnard <mpg@elzevir.fr>2008-07-04 10:22:30 +0000
committerManuel Pégourié-Gonnard <mpg@elzevir.fr>2008-07-04 10:22:30 +0000
commit3808f9582452443de2e1a2a2b857a00ae7eb79aa (patch)
tree98414d785d050865e2ab43267c061d5a7def196b /Master/texmf-dist/tex/latex/blowup/blowup.sty
parenteef215b5e430da50a3de04662e45891f15d32430 (diff)
new blowup package
git-svn-id: svn://tug.org/texlive/trunk@9224 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/latex/blowup/blowup.sty')
-rw-r--r--Master/texmf-dist/tex/latex/blowup/blowup.sty235
1 files changed, 235 insertions, 0 deletions
diff --git a/Master/texmf-dist/tex/latex/blowup/blowup.sty b/Master/texmf-dist/tex/latex/blowup/blowup.sty
new file mode 100644
index 00000000000..f6da948b43d
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/blowup/blowup.sty
@@ -0,0 +1,235 @@
+%%
+%% This is file `blowup.sty',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% blowup.dtx (with options: `package')
+%%
+%% Copyright (C) 2007
+%% Rolf Niepraschk, Rolf.Niepraschk@gmx.de
+%%
+%% This work may be distributed and/or modified under the
+%% conditions of the LaTeX Project Public License, either version 1.3
+%% 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
+%% and version 1.3 or later is part of all distributions of LaTeX
+%% version 2003/12/01 or later.
+%%
+%% This work has the LPPL maintenance status "author-maintained".
+%%
+\NeedsTeXFormat{LaTeX2e}[1999/12/01]
+\ProvidesPackage{blowup}
+ [2008/06/06 v0.1i Document Scaling (RN)]
+\RequirePackage{everyshi,graphics,keyval}
+\@ifpackageloaded{typearea}{}{%
+ \newcommand*\BL@save@dimen[1]{%
+ \@ifundefined{BL@#1}{%
+ \expandafter\newlength\csname BL@#1\endcsname}{}%
+ \csname BL@#1\endcsname\csname #1\endcsname
+ \g@addto@macro\BL@restore@dimens{%
+ \csname #1\endcsname\csname BL@#1\endcsname}%
+ }%
+ \newcommand*\BL@restore@dimens{}%
+ \BL@save@dimen{textwidth}%
+ \BL@save@dimen{textheight}%
+ \BL@save@dimen{evensidemargin}%
+ \BL@save@dimen{oddsidemargin}%
+ \BL@save@dimen{topmargin}%
+ \BL@save@dimen{headheight}%
+ \BL@save@dimen{headsep}%
+ \BL@save@dimen{topskip}%
+ \BL@save@dimen{footskip}%
+ \BL@save@dimen{baselineskip}%
+ \RequirePackage{typearea}%
+ \BL@restore@dimens
+ \let\BL@save@dimen=\relax
+ \let\BL@restore@dimens=\relax
+}
+\providecommand*\vb@xt@{\vbox to}
+\newlength\sPaperWidth \sPaperWidth=\paperwidth
+\newlength\sPaperHeight \sPaperHeight=\paperheight
+\newcommand*\BL@@resize{}
+\newcommand*\BL@scalePage{%
+ \setbox\@cclv=\vbox{\vskip1in\unvbox\@cclv}%
+ \setbox\@cclv=\vbox{\moveright1in\box\@cclv}%
+ \setbox\@cclv=\hb@xt@\paperwidth{\box\@cclv\hss}%
+ \setbox\@cclv=\vb@xt@\paperheight{\box\@cclv\vss}%
+ \let\BL@@resize=\@firstofone
+ \ifBL@noscale\else
+ \def\BL@@resize##1{\resizebox{\sPaperWidth}{!}{##1}}%
+ \setbox\@tempboxa=\hbox{\set@typeset@protect
+ \BL@@resize{\copy\@cclv}}%
+ \ifdim\ht\@tempboxa>\sPaperHeight
+ \def\BL@@resize##1{\resizebox{!}{\sPaperHeight}{##1}}%
+ \fi
+ \fi
+ \setbox\@tempboxa=\vb@xt@\sPaperHeight{\set@typeset@protect
+ \kern\z@\BL@t
+ \hb@xt@\sPaperWidth{\BL@l\BL@@resize{\box\@cclv}\BL@r}%
+ \BL@b\kern\z@
+ }%
+ \setbox\@cclv=\vbox{\box\@tempboxa}%
+ \setbox\@cclv=\vbox{\vskip-1in\unvbox\@cclv}%
+ \setbox\@cclv=\vbox{\moveright-1in\box\@cclv}%
+}
+\newcommand\BL@tempa{}
+\newcommand\BL@tempb{}
+\newcommand*\BL@strip@comma{}
+\def\BL@strip@comma#1,{#1}
+\newcommand*\BL@if@dimen@pair[1]{%
+ \expandafter\BL@@if@dimen@pair#1,\@nil
+}
+\newcommand*\BL@@if@dimen@pair{}
+\def\BL@@if@dimen@pair#1,#2\@nil{%
+ \edef\BL@tempa{#1}\edef\BL@tempb{#2}%
+ \@tempswafalse
+ \ifx\BL@tempb\@empty\else
+ \edef\BL@tempb{\expandafter\BL@strip@comma\BL@tempb}%
+ \ifdimen{\BL@tempa}{\@tempswatrue}{}%
+ \if@tempswa
+ \ifdimen{\BL@tempb}{}{\@tempswafalse}%
+ \fi
+ \fi
+ \if@tempswa
+ \expandafter\@firstoftwo
+ \else
+ \expandafter\@secondoftwo
+ \fi
+}
+\newcommand*\BL@strip@x{}
+\def\BL@strip@x#1x{#1}
+\newcommand*\BL@if@factor[1]{%
+ \expandafter\BL@@if@factor#1x\@nil
+}
+\newcommand*\BL@@if@factor{}
+\def\BL@@if@factor#1x#2\@nil{%
+ \edef\BL@tempa{#2}%
+ \ifx\BL@tempa\@empty
+ \expandafter\@secondoftwo
+ \else
+ \edef\BL@tempa{\expandafter\BL@strip@x\BL@tempa}%
+ \expandafter\@firstoftwo
+ \fi
+}
+\define@key{BL@}{paper}{%
+ \BL@if@dimen@pair{#1}{%
+ \global\sPaperWidth=\BL@tempa\relax
+ \global\sPaperHeight=\BL@tempb\relax
+ }{%
+ \BL@if@factor{#1}{%
+ \global\sPaperWidth=\BL@tempa\paperwidth
+ \global\sPaperHeight=\BL@tempa\paperheight
+ }{%
+ \begingroup
+ \KOMAoptions{paper=portrait,paper=#1}%
+ \global\sPaperWidth=\paperwidth
+ \global\sPaperHeight=\paperheight
+ \endgroup
+ }%
+ }%
+}%
+\newif\ifBL@noscale \BL@noscalefalse
+\define@key{BL@}{noscale}[true]{%
+ \csname BL@noscale#1\endcsname
+}
+\newcommand*\BL@l{\hss}
+\newcommand*\BL@r{\hss}
+\newcommand*\BL@i{}
+\newcommand*\BL@o{}
+\newcommand*\BL@t{\vss}
+\newcommand*\BL@b{\vss}
+\newcommand\BL@setPos[1]{%
+ \def\BL@l{\hss}\def\BL@r{\hss}%
+ \def\BL@t{\vss}\def\BL@b{\vss}%
+ \def\BL@i{}\def\BL@o{}%
+ \BL@if@dimen@pair{#1}{%
+ \edef\BL@b{\vskip\BL@tempb}%
+ \if@twoside
+ \edef\BL@l{\noexpand\ifodd\value{page}%
+ \hskip\BL@tempa\noexpand\else\hss\noexpand\fi}%
+ \edef\BL@r{\noexpand\ifodd\value{page}%
+ \hss\noexpand\else\hskip\BL@tempa\noexpand\fi}%
+ \else
+ \edef\BL@l{\hskip\BL@tempa}%
+ \if
+ }{%
+ \@for\BL@tempa:=#1\do{%
+ \edef\BL@tempb{\expandafter\@car\BL@tempa\@nil}%
+ \expandafter\let\csname BL@\BL@tempb \endcsname\relax
+ \if@twoside
+ \ifx\BL@i\relax
+ \def\BL@r{\ifodd\value{page}\hss\else\relax\fi}%
+ \def\BL@l{\ifodd\value{page}\relax\else\hss\fi}%
+ \fi
+ \ifx\BL@o\relax
+ \def\BL@l{\ifodd\value{page}\hss\else\relax\fi}%
+ \def\BL@r{\ifodd\value{page}\relax\else\hss\fi}%
+ \fi
+ \fi
+ }%
+ }%
+}
+\define@key{BL@}{pos}{%
+ \BL@setPos{#1}%
+}
+\newif\ifBL@landscape \BL@landscapefalse
+\define@key{BL@}{landscape}[true]{%
+ \csname BL@landscape#1\endcsname
+}
+\newcommand*\BL@pageInit{}
+\define@key{BL@}{onepage}[true]{%
+ \csname if#1\endcsname
+ \def\BL@pageInit{\gdef\shipout{\setbox\@tempboxa=}}%
+ \fi
+}
+\newcommand*\blowUp[1]{%
+ \setkeys{BL@}{#1}%
+ \ifBL@landscape
+ \@tempdima=\sPaperWidth
+ \global\sPaperWidth=\sPaperHeight
+ \global\sPaperHeight=\@tempdima
+ \fi
+ \EveryShipout{\BL@scalePage}%
+ \gdef\blowUp##1{%
+ \PackageWarning{blowup}{%
+ Only the first call of `\string\blowUp' \MessageBreak is effective}}%
+}
+\EveryShipout{\BL@pageInit}
+\@onlypreamble\blowUp
+\AtBeginDocument{%
+ \let\Gm@checkdrivers=\relax
+ \BL@pagesize@specials{\sPaperWidth}{\sPaperHeight}%
+}
+\newcommand*\BL@pagesize@specials[2]{}
+\@ifundefined{Gin@driver}{}{%
+ \ifx\Gin@driver\@empty\else
+ \filename@parse{\Gin@driver}\@tempswafalse
+ \def\reserved@a{dvips}%
+ \ifx\filename@base\reserved@a\@tempswatrue\fi
+ \def\reserved@a{dvipdfm}%
+ \ifx\filename@base\reserved@a\@tempswatrue\fi
+ \if@tempswa
+ \PackageInfo{blowup}{Generating code for dvips}%
+ \def\BL@pagesize@specials#1#2{%
+ \@tempdima=#1\@tempdimb=#2%
+ \AtBeginDvi{\special{papersize=\the\@tempdima,\the\@tempdimb}}}%
+ \fi
+ \def\reserved@a{pdftex}%
+ \ifx\filename@base\reserved@a
+ \PackageInfo{blowup}{Generating code for pdfTeX}%
+ \def\BL@pagesize@specials#1#2{%
+ \pdfpagewidth=#1\relax\pdfpageheight=#2\relax}%
+ \fi
+ \def\reserved@a{vtex}%
+ \ifx\filename@base\reserved@a
+ \PackageInfo{blowup}{Generating code for VTeX}%
+ \def\BL@pagesize@specials#1#2{%
+ \mediawidth=#1\relax\mediaheight=#2\relax}%
+ \fi
+ \fi
+}
+\endinput
+%%
+%% End of file `blowup.sty'.