summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/latex/blowup
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2018-01-04 23:45:00 +0000
committerKarl Berry <karl@freefriends.org>2018-01-04 23:45:00 +0000
commit9c69fe52ff1acb0639831fa85ba6e9723f5fd56a (patch)
tree309a0ea2d956ced37d400bb7433d370a929132ed /Master/texmf-dist/tex/latex/blowup
parent937c0c0c07db3420b384d8d613edd9dfed1d13e5 (diff)
blowup (4jan18)
git-svn-id: svn://tug.org/texlive/trunk@46213 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/latex/blowup')
-rw-r--r--Master/texmf-dist/tex/latex/blowup/blowup.sty255
1 files changed, 255 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..2c9dcf66dd8
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/blowup/blowup.sty
@@ -0,0 +1,255 @@
+%%
+%% This is file `blowup.sty',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% blowup.dtx (with options: `package')
+%%
+%% Copyright (C) 2007, 2017-
+%% 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}[2018/01/02 1.0 Document Scaling (RN)]
+\RequirePackage{atbegshi,keyval,graphics}
+\@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}%
+ \let\l@addto@macro=\relax
+ \RequirePackage{typearea}%
+ \BL@restore@dimens
+ \let\BL@save@dimen=\relax
+ \let\BL@restore@dimens=\relax
+}
+\providecommand*\vb@xt@{\vbox to}
+\newlength\tPaperWidth \tPaperWidth=\paperwidth
+\newlength\tPaperHeight \tPaperHeight=\paperheight
+\newlength\oPaperWidth \oPaperWidth=\z@
+\newlength\oPaperHeight \oPaperHeight=\z@
+\newcommand*\BL@resize[1]{#1}
+\newcommand*\BL@scalePage{%
+ \setbox\AtBeginShipoutBox=\vbox{%
+ \vskip1in\moveright1in\box\AtBeginShipoutBox}%
+ \setbox\AtBeginShipoutBox=\hb@xt@\paperwidth{%
+ \box\AtBeginShipoutBox\hss}%
+ \setbox\AtBeginShipoutBox=\vb@xt@\paperheight{%
+ \box\AtBeginShipoutBox\vss}%
+ \ifBL@noscale\else
+ \ifdim\oPaperWidth>\z@
+ \setbox\AtBeginShipoutBox=\hbox{\resizebox{\oPaperWidth}{\oPaperHeight}%
+ {\box\AtBeginShipoutBox}}%
+ \else
+ \def\BL@resize##1{\resizebox{\tPaperWidth}{!}{##1}}%
+ \setbox\@tempboxa=\hbox{\BL@resize{\copy\AtBeginShipoutBox}}%
+ \ifdim\ht\@tempboxa>\tPaperHeight
+ \def\BL@resize##1{\resizebox{!}{\tPaperHeight}{##1}}%
+ \fi
+ \fi
+ \fi
+ \setbox\@tempboxa=\vb@xt@\tPaperHeight{%
+ \kern\z@\BL@t
+ \hb@xt@\tPaperWidth{\BL@l\BL@resize{\box\AtBeginShipoutBox}\BL@r}%
+ \BL@b\kern\z@
+ }%
+ \setbox\AtBeginShipoutBox=\vbox{%
+ \vskip-1in\moveright-1in\box\@tempboxa}%
+}
+\newcommand\BL@tempa{}
+\newcommand\BL@tempb{}
+\newcommand*\BL@strip@comma{}
+\def\BL@strip@comma#1,{#1}
+\newcommand*\BL@is@dimen@pair[1]{%
+ \expandafter\BL@@is@dimen@pair#1,\@nil
+}
+\newcommand*\BL@@is@dimen@pair{}
+\def\BL@@is@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}{%
+ \ifdimen{\BL@tempb}{\@tempswatrue}{}%
+ }{}%
+ \fi
+ \if@tempswa
+ \expandafter\@firstoftwo
+ \else
+ \expandafter\@secondoftwo
+ \fi
+}
+\newcommand*\BL@strip@x{}
+\def\BL@strip@x#1x{#1}
+\newcommand*\BL@is@factor[1]{%
+ \expandafter\BL@@is@factor#1x\@nil
+}
+\newcommand*\BL@@is@factor{}
+\def\BL@@is@factor#1x#2\@nil{%
+ \edef\BL@tempa{#2}%
+ \@tempswafalse
+ \ifx\BL@tempa\@empty\else
+ \edef\BL@tempa{\expandafter\BL@strip@x\BL@tempa}%
+ \ifdimen{\BL@tempa pt}{\@tempswatrue}{}%
+ \fi
+ \if@tempswa
+ \expandafter\@firstoftwo
+ \else
+ \expandafter\@secondoftwo
+ \fi
+}
+\newcommand*\BL@getDimens[3]{%
+ \BL@is@dimen@pair{#1}{%
+ \global#2=\BL@tempa\relax
+ \global#3=\BL@tempb\relax
+ }{%
+ \BL@is@factor{#1}{%
+ \global#2=\BL@tempa\paperwidth
+ \global#3=\BL@tempa\paperheight
+ }{%
+ \begingroup
+ \KOMAoptions{paper=portrait,paper=#1}%
+ \global#2=\paperwidth
+ \global#3=\paperheight
+ \endgroup
+ }%
+ }%
+}
+\define@key{BL@}{origin}{%
+ \BL@getDimens{#1}{\oPaperWidth}{\oPaperHeight}%
+}
+\define@key{BL@}{target}{%
+ \BL@getDimens{#1}{\tPaperWidth}{\tPaperHeight}%
+}
+\newif\ifBL@noscale \BL@noscalefalse
+\define@key{BL@}{noscale}[true]{%
+ \csname BL@noscale#1\endcsname
+}
+\newcommand*\BL@l{}
+\newcommand*\BL@r{}
+\newcommand*\BL@i{}
+\newcommand*\BL@o{}
+\newcommand*\BL@t{}
+\newcommand*\BL@b{}
+\newcommand\BL@setPos[1]{%
+ \def\BL@l{\hss}\def\BL@r{\hss}%
+ \def\BL@o{\hss}\def\BL@i{\hss}%
+ \def\BL@t{\vss}\def\BL@b{\vss}%
+ \BL@is@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
+ \else
+ \let\BL@l=\BL@o
+ \let\BL@r=\BL@i
+ \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=\tPaperWidth
+ \global\tPaperWidth=\tPaperHeight
+ \global\tPaperHeight=\@tempdima
+ \fi
+ \AtBeginShipout{\BL@scalePage}%
+ \gdef\blowUp##1{%
+ \PackageWarning{blowup}{Only the first call of `\string\blowUp'
+ \MessageBreak is effective}}%
+}
+\AtBeginShipout{\BL@pageInit}
+\@onlypreamble\blowUp
+\AtBeginDocument{%
+ \BL@pagesize@specials{\tPaperWidth}{\tPaperHeight}%
+}
+\RequirePackage{ifxetex,ifluatex,ifpdf,ifvtex}
+\newcommand*\BL@pagesize@specials[2]{}
+\ifluatex
+ \PackageInfo{blowup}{Generating code for LuaTeX}%
+ \@ifundefined{pagewidth}{%
+ \def\BL@pagesize@specials#1#2{\pdfpagewidth=#1 \pdfpageheight=#2}%
+ }{%
+ \def\BL@pagesize@specials#1#2{\pagewidth=#1 \pageheight=#2}%
+ }
+\else
+ \ifxetex
+ \PackageInfo{blowup}{Generating code for XeTeX}%
+ \def\BL@pagesize@specials#1#2{\@tempdima=#1 \@tempdimb=#2 %
+ \AtBeginDvi{\special{papersize=\the\@tempdima,\the\@tempdimb}}%
+ \pdfpagewidth=#1 \pdfpageheight=#2}%
+ \else
+ \ifvtex
+ \PackageInfo{blowup}{Generating code for VTeX}%
+ \def\BL@pagesize@specials#1#2{\mediawidth=#1 \mediaheight=#2}%
+ \else
+ \ifpdf
+ \PackageInfo{blowup}{Generating code for pdfTeX}%
+ \def\BL@pagesize@specials#1#2{\pdfpagewidth=#1 \pdfpageheight=#2}%
+ \else
+ \PackageInfo{blowup}{Generating code for dvips}%
+ \def\BL@pagesize@specials#1#2{\@tempdima=#1 \@tempdimb=#2 %
+ \AtBeginDvi{\special{papersize=\the\@tempdima,\the\@tempdimb}}}%
+ \fi
+ \fi
+ \fi
+\fi
+\endinput
+%%
+%% End of file `blowup.sty'.