summaryrefslogtreecommitdiff
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
parent937c0c0c07db3420b384d8d613edd9dfed1d13e5 (diff)
blowup (4jan18)
git-svn-id: svn://tug.org/texlive/trunk@46213 c570f23f-e606-0410-a88d-b1316a301751
-rw-r--r--Master/texmf-dist/doc/latex/blowup/README.md9
-rw-r--r--Master/texmf-dist/doc/latex/blowup/blowup-ex1.pdfbin0 -> 30706 bytes
-rw-r--r--Master/texmf-dist/doc/latex/blowup/blowup-ex1.tex63
-rw-r--r--Master/texmf-dist/doc/latex/blowup/blowup-ex2.pdfbin0 -> 30705 bytes
-rw-r--r--Master/texmf-dist/doc/latex/blowup/blowup-ex2.tex63
-rw-r--r--Master/texmf-dist/doc/latex/blowup/blowup-ex3.pdfbin0 -> 31331 bytes
-rw-r--r--Master/texmf-dist/doc/latex/blowup/blowup-ex3.tex66
-rw-r--r--Master/texmf-dist/doc/latex/blowup/blowup-ex4.pdfbin0 -> 31085 bytes
-rw-r--r--Master/texmf-dist/doc/latex/blowup/blowup-ex4.tex64
-rw-r--r--Master/texmf-dist/doc/latex/blowup/blowup-ex5.pdfbin0 -> 19223 bytes
-rw-r--r--Master/texmf-dist/doc/latex/blowup/blowup-ex5.tex23
-rw-r--r--Master/texmf-dist/doc/latex/blowup/blowup.pdfbin0 -> 229251 bytes
-rw-r--r--Master/texmf-dist/source/latex/blowup/blowup.dtx465
-rw-r--r--Master/texmf-dist/source/latex/blowup/blowup.ins59
-rw-r--r--Master/texmf-dist/tex/latex/blowup/blowup.sty255
-rwxr-xr-xMaster/tlpkg/bin/tlpkg-ctan-check2
-rwxr-xr-xMaster/tlpkg/libexec/ctan2tds1
-rw-r--r--Master/tlpkg/tlpsrc/blowup.tlpsrc0
-rw-r--r--Master/tlpkg/tlpsrc/collection-latexextra.tlpsrc1
19 files changed, 1069 insertions, 2 deletions
diff --git a/Master/texmf-dist/doc/latex/blowup/README.md b/Master/texmf-dist/doc/latex/blowup/README.md
new file mode 100644
index 00000000000..8f59764c938
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/blowup/README.md
@@ -0,0 +1,9 @@
+# blowup
+The package blowup only defines the user-level macro \blowUp, which can be
+used to upscale or downscale all pages of a document. It is similar to the
+TeX primitive \magnification but more accurate and in a user-friendly manner.
+
+Home page: https://github.com/rolfn/blowup
+
+Rolf Niepraschk, 2018-01-02
+
diff --git a/Master/texmf-dist/doc/latex/blowup/blowup-ex1.pdf b/Master/texmf-dist/doc/latex/blowup/blowup-ex1.pdf
new file mode 100644
index 00000000000..fa375764395
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/blowup/blowup-ex1.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/blowup/blowup-ex1.tex b/Master/texmf-dist/doc/latex/blowup/blowup-ex1.tex
new file mode 100644
index 00000000000..47df1292995
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/blowup/blowup-ex1.tex
@@ -0,0 +1,63 @@
+
+%---------------------------
+% Rolf Niepraschk, Rolf.Niepraschk@gmx.de, 2017-07-28
+
+% lualatex blowup-test.tex
+% or
+% pdflatex blowup-test.tex
+% or
+% latex blowup-test.tex ; dvips blowup-test ; ps2pdf blowup-test.ps
+% or
+% vlatex blowup-test.tex
+%
+% pdfinfo blowup-test.pdf
+
+\listfiles
+\documentclass[letterpaper,twoside]{article}
+\usepackage{array,xcolor}
+
+% Only to show the source page size.
+\usepackage{eso-pic}
+\AddToShipoutPicture{%
+ \AtPageLowerLeft{\textcolor{green!30}{\rule{\paperwidth}{\paperheight}}}%
+}
+
+\renewcommand\familydefault{\sfdefault}
+\setlength\parindent{0pt}
+\pagestyle{empty}
+
+\usepackage{blowup}% Load "blowup" as last package!
+\blowUp{target=a4,pos=c}% vert. and horiz. centered (default)
+
+\begin{document}
+
+\null\vfill
+
+\huge\centering
+
+Letter-size document on A4-size paper
+
+\vfill
+
+\setlength\extrarowheight{.5ex}
+\begin{tabular}{|>{\bfseries}l<{:}r<{\,mm}!{$\times$}r<{\,mm}|} \hline
+ letter & 216 & 279 \\
+ legal & 216 & 356 \\
+ executive & 184 & 267 \\
+ A8 & 52 & 74 \\
+ A7 & 74 & 105 \\
+ A6 & 105 & 148 \\
+ A5 & 148 & 210 \\
+ A4 & 210 & 297 \\
+ A3 & 297 & 420 \\
+ A2 & 420 & 594 \\
+ A1 & 594 & 841 \\
+ A0 & 841 & 1189 \\ \hline
+\end{tabular}
+
+\vfill
+
+\newpage\null 2nd page\dots
+
+\end{document}
+%---------------------------
diff --git a/Master/texmf-dist/doc/latex/blowup/blowup-ex2.pdf b/Master/texmf-dist/doc/latex/blowup/blowup-ex2.pdf
new file mode 100644
index 00000000000..6289de97cab
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/blowup/blowup-ex2.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/blowup/blowup-ex2.tex b/Master/texmf-dist/doc/latex/blowup/blowup-ex2.tex
new file mode 100644
index 00000000000..7833df4ac5a
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/blowup/blowup-ex2.tex
@@ -0,0 +1,63 @@
+
+%---------------------------
+% Rolf Niepraschk, Rolf.Niepraschk@gmx.de, 2017-07-28
+
+% lualatex blowup-test.tex
+% or
+% pdflatex blowup-test.tex
+% or
+% latex blowup-test.tex ; dvips blowup-test ; ps2pdf blowup-test.ps
+% or
+% vlatex blowup-test.tex
+%
+% pdfinfo blowup-test.pdf
+
+\listfiles
+\documentclass[a4paper,twoside]{article}
+\usepackage{array,xcolor}
+
+% Only to show the source page size.
+\usepackage{eso-pic}
+\AddToShipoutPicture{%
+ \AtPageLowerLeft{\textcolor{green!30}{\rule{\paperwidth}{\paperheight}}}%
+}
+
+\renewcommand\familydefault{\sfdefault}
+\setlength\parindent{0pt}
+\pagestyle{empty}
+
+\usepackage{blowup}% Load "blowup" as last package!
+\blowUp{target=letter,pos=outside}% outside aligned
+
+\begin{document}
+
+\null\vfill
+
+\huge\centering
+
+A4-size document on letter-size paper
+
+\vfill
+
+\setlength\extrarowheight{.5ex}
+\begin{tabular}{|>{\bfseries}l<{:}r<{\,mm}!{$\times$}r<{\,mm}|} \hline
+ letter & 216 & 279 \\
+ legal & 216 & 356 \\
+ executive & 184 & 267 \\
+ A8 & 52 & 74 \\
+ A7 & 74 & 105 \\
+ A6 & 105 & 148 \\
+ A5 & 148 & 210 \\
+ A4 & 210 & 297 \\
+ A3 & 297 & 420 \\
+ A2 & 420 & 594 \\
+ A1 & 594 & 841 \\
+ A0 & 841 & 1189 \\ \hline
+\end{tabular}
+
+\vfill
+
+\newpage\null 2nd page\dots
+
+\end{document}
+%---------------------------
diff --git a/Master/texmf-dist/doc/latex/blowup/blowup-ex3.pdf b/Master/texmf-dist/doc/latex/blowup/blowup-ex3.pdf
new file mode 100644
index 00000000000..4ae95e7a99f
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/blowup/blowup-ex3.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/blowup/blowup-ex3.tex b/Master/texmf-dist/doc/latex/blowup/blowup-ex3.tex
new file mode 100644
index 00000000000..b4364c8beef
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/blowup/blowup-ex3.tex
@@ -0,0 +1,66 @@
+
+%---------------------------
+% Rolf Niepraschk, Rolf.Niepraschk@gmx.de, 2017-07-28
+
+% lualatex blowup-test.tex
+% or
+% pdflatex blowup-test.tex
+% or
+% latex blowup-test.tex ; dvips blowup-test ; ps2pdf blowup-test.ps
+% or
+% vlatex blowup-test.tex
+%
+% pdfinfo blowup-test.pdf
+
+\listfiles
+\documentclass[a5paper,twoside]{article}
+\usepackage{array,xcolor}
+
+% Only to show the source page size.
+\usepackage{eso-pic}
+\AddToShipoutPicture{%
+ \AtPageLowerLeft{\textcolor{green!30}{\rule{\paperwidth}{\paperheight}}}%
+}
+
+\renewcommand\familydefault{\sfdefault}
+\setlength\parindent{0pt}
+\pagestyle{empty}
+
+\usepackage{blowup}% Load "blowup" as last package!
+\blowUp{origin={143mm,202mm},target=a5,pos={o,b}}% top and outside aligned
+% or the same:
+% \blowUp{origin=x0.966216,target=a5,pos={o,b}}% top and outside aligned
+
+\begin{document}
+
+\null\vfill
+
+\Large\centering
+
+A bit downscaled A5-size document on \mbox{A5-size paper}
+(more space for binding)
+
+\vfill
+
+\setlength\extrarowheight{.5ex}
+\begin{tabular}{|>{\bfseries}l<{:}r<{\,mm}!{$\times$}r<{\,mm}|} \hline
+ letter & 216 & 279 \\
+ legal & 216 & 356 \\
+ executive & 184 & 267 \\
+ A8 & 52 & 74 \\
+ A7 & 74 & 105 \\
+ A6 & 105 & 148 \\
+ A5 & 148 & 210 \\
+ A4 & 210 & 297 \\
+ A3 & 297 & 420 \\
+ A2 & 420 & 594 \\
+ A1 & 594 & 841 \\
+ A0 & 841 & 1189 \\ \hline
+\end{tabular}
+
+\vfill
+
+\newpage\null 2nd page\,\dots
+
+\end{document}
+%---------------------------
diff --git a/Master/texmf-dist/doc/latex/blowup/blowup-ex4.pdf b/Master/texmf-dist/doc/latex/blowup/blowup-ex4.pdf
new file mode 100644
index 00000000000..d40dce12664
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/blowup/blowup-ex4.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/blowup/blowup-ex4.tex b/Master/texmf-dist/doc/latex/blowup/blowup-ex4.tex
new file mode 100644
index 00000000000..d7c12f9677b
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/blowup/blowup-ex4.tex
@@ -0,0 +1,64 @@
+
+%---------------------------
+% Rolf Niepraschk, Rolf.Niepraschk@gmx.de, 2017-07-28
+
+% lualatex blowup-test.tex
+% or
+% pdflatex blowup-test.tex
+% or
+% latex blowup-test.tex ; dvips blowup-test ; ps2pdf blowup-test.ps
+% or
+% vlatex blowup-test.tex
+%
+% pdfinfo blowup-test.pdf
+
+\listfiles
+\documentclass[paper=a4,landscape]{scrartcl}
+\usepackage{array,xcolor}
+
+% Only to show the source page size.
+\usepackage{eso-pic}
+\AddToShipoutPicture{%
+ \AtPageLowerLeft{\textcolor{green!30}{\rule{\paperwidth}{\paperheight}}}%
+}
+
+\renewcommand\familydefault{\sfdefault}
+\setlength\parindent{0pt}
+\pagestyle{empty}
+
+\usepackage{blowup}% Load "blowup" as last package!
+\blowUp{target=a0,landscape,onepage}
+
+\begin{document}
+
+\null\vfill
+
+\Large\centering
+
+The first page of a multipage A4-size document scaled to \mbox{A0-size paper}
+(useful for poster)
+
+\vfill
+
+\setlength\extrarowheight{.5ex}
+\begin{tabular}{|>{\bfseries}l<{:}r<{\,mm}!{$\times$}r<{\,mm}|} \hline
+ letter & 216 & 279 \\
+ legal & 216 & 356 \\
+ executive & 184 & 267 \\
+ A8 & 52 & 74 \\
+ A7 & 74 & 105 \\
+ A6 & 105 & 148 \\
+ A5 & 148 & 210 \\
+ A4 & 210 & 297 \\
+ A3 & 297 & 420 \\
+ A2 & 420 & 594 \\
+ A1 & 594 & 841 \\
+ A0 & 841 & 1189 \\ \hline
+\end{tabular}
+
+\vfill
+
+\newpage\null 2nd page\,\dots
+
+\end{document}
+%---------------------------
diff --git a/Master/texmf-dist/doc/latex/blowup/blowup-ex5.pdf b/Master/texmf-dist/doc/latex/blowup/blowup-ex5.pdf
new file mode 100644
index 00000000000..69328f97969
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/blowup/blowup-ex5.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/blowup/blowup-ex5.tex b/Master/texmf-dist/doc/latex/blowup/blowup-ex5.tex
new file mode 100644
index 00000000000..c5f55abbea0
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/blowup/blowup-ex5.tex
@@ -0,0 +1,23 @@
+
+\listfiles
+\documentclass[paper=b6,fontsize=11pt,twoside]{scrartcl}
+\usepackage{showframe}
+
+\newcommand*\aPage{%
+ \Huge
+ \noindent A \hfill B \hfill C
+ \vfill
+ \noindent X \hfill Y \hfill Z \newpage}
+
+\usepackage{blowup}
+\blowUp{target=a4,pos={inside,top},noscale}
+
+\begin{document}
+
+\aPage
+\aPage
+\aPage
+\aPage
+
+\end{document}
+%---------------------------
diff --git a/Master/texmf-dist/doc/latex/blowup/blowup.pdf b/Master/texmf-dist/doc/latex/blowup/blowup.pdf
new file mode 100644
index 00000000000..ece08ca2ee3
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/blowup/blowup.pdf
Binary files differ
diff --git a/Master/texmf-dist/source/latex/blowup/blowup.dtx b/Master/texmf-dist/source/latex/blowup/blowup.dtx
new file mode 100644
index 00000000000..b9ee1cc50f4
--- /dev/null
+++ b/Master/texmf-dist/source/latex/blowup/blowup.dtx
@@ -0,0 +1,465 @@
+% \iffalse meta-comment
+%
+% Copyright (C) 2007, 2018-
+% 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".
+%
+% \fi
+%
+% \iffalse
+%<*driver>
+\ProvidesFile{blowup.dtx}
+%</driver>
+%<package>\NeedsTeXFormat{LaTeX2e}[1999/12/01]
+%<package>\ProvidesPackage{blowup}[2018/01/02 1.0 Document Scaling (RN)]
+%
+%<*driver>
+\documentclass{ltxdoc}
+\usepackage{array,longtable}
+\IfFileExists{ragged2e.sty}{%
+ \usepackage{ragged2e}}{\let\RaggedRight=\raggedright}
+\newcommand{\m}[1]{\mbox{$\langle$\it #1\/$\rangle$}}
+\renewcommand{\arg}[1]{{\ttfamily\string{}\m{#1}{\ttfamily\string}}}
+\EnableCrossrefs
+\CodelineIndex
+\RecordChanges
+\begin{document}
+ \DocInput{blowup.dtx}
+\end{document}
+%</driver>
+% \fi
+%
+% \CheckSum{504}
+%
+% \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
+% Lower-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
+% Digits \0\1\2\3\4\5\6\7\8\9
+% Exclamation \! Double quote \" Hash (number) \#
+% Dollar \$ Percent \% Ampersand \&
+% Acute accent \' Left paren \( Right paren \)
+% Asterisk \* Plus \+ Comma \,
+% Minus \- Point \. Solidus \/
+% Colon \: Semicolon \; Less than \<
+% Equals \= Greater than \> Question mark \?
+% Commercial at \@ Left bracket \[ Backslash \\
+% Right bracket \] Circumflex \^ Underscore \_
+% Grave accent \` Left brace \{ Vertical bar \|
+% Right brace \} Tilde \~}
+%
+%
+% \changes{v0.1a}{2007/08/14}{Initial version. (RN)}
+%
+% \GetFileInfo{blowup.dtx}
+%
+% \DoNotIndex{\newcommand,\newenvironment}
+%
+% \newcommand\afterheading{\par\nobreak\@afterheading}
+% \newcolumntype{P}[1]{>{\RaggedRight\hspace{0pt}}p{#1}}
+%
+%
+% \title{The \textsf{blowup} package\thanks{This document
+% corresponds to \textsf{blowup}~\fileversion, dated \filedate.}}
+% \author{Rolf Niepraschk \\ \texttt{Rolf.Niepraschk@gmx.de}}
+%
+% \maketitle
+%
+% \begin{abstract}
+% \noindent
+% This package only defines the user-level macro \cmd{\blowUp},
+% which can be used to upscale or downscale all pages
+% of a document. It is
+% similar to the \TeX\ primitive \cmd{\magnification} but more
+% accurate and in a user-friendly manner. \cmd{\blowUp}
+% may be useful for the creation of posters from a normal-sized
+% document and for many kinds of fine adjustments of a ready
+% typesetted document (e.\,g., minor changes of scaling and
+% position of the pages).
+% \end{abstract}
+%
+% \tableofcontents
+%
+% \section{Usage}
+% Load the package after other packages that affect the paper size
+% (e.\,g., \textsf{geometry} and \textsf{hyperref}).
+% Then call the macro \cmd{\blowUp} before |\begin{document}| to scale
+% the document. \par \medskip \noindent
+% |\usepackage{blowup}| \par \noindent
+% \cmd{\blowUp}\arg{key=value} \par \noindent
+% \vspace{-\baselineskip}
+% \setlength\extrarowheight{.2ex}
+% \begin{longtable}{@{}lP{.75\linewidth}@{}}
+% \multicolumn{1}{@{}l}{\textbf{key}} &
+% \multicolumn{1}{l@{}}{\textbf{value}} \tabularnewline \hline
+% target & The final paper size: \tabularnewline
+% & |letter|, |legal|, |executive| or a paper size from the
+% ISO/DIN paper series A, B, C, D
+% (e.\,g., |a8|, |c7|,..., |b1|, |a0|) or a pair of dimensions
+% in curly brackets (e.\,g., |paper={925mm,1225mm}|) or the
+% letter `x' followed by a scaling factor
+% (e.\,g., |paper=x1.414213|). \tabularnewline[.4\baselineskip]
+% origin & The paper size of the source document; no scaling to the target
+% size. \tabularnewline
+% & |letter|, |legal|, |executive| or a paper size from the
+% ISO/DIN paper series A, B, C, D
+% (e.\,g., |a8|, |c7|,..., |b1|, |a0|) or a pair of dimensions
+% in curly brackets (e.\,g., |paper={925mm,1225mm}|) or the
+% letter `x' followed by a scaling factor
+% (e.\,g., |paper=x1.414213|). \tabularnewline[.4\baselineskip]
+% landscape & Exchanges paperwidth and paperheight: \tabularnewline
+% & |true| (the same as no value) or |false|. \tabularnewline[.4\baselineskip]
+% noscale & No scaling of the original paper size: \tabularnewline
+% & |true| (the same as no value) or |false|. \tabularnewline[.4\baselineskip]
+% pos & Position of the page on the paper: \tabularnewline
+% & |left| or |right|, |inside| or |outside|, |top| or |bottom|
+% (only the first letter is significant; default is
+% centering), or
+% a pair of dimensions in curly brackets which means the offset
+% from the lower left or lower outside corner of the final paper.
+% Only meaningful for |noscale=true| and up-scaled paper
+% size. \tabularnewline[.4\baselineskip]
+% onepage & Suppresses the second page and all following pages: \tabularnewline
+% & |true| (the same as no value) or |false|. \tabularnewline
+% & Useful for creating a one-side paper like a poster.
+% \end{longtable}
+% \vspace{0\baselineskip}
+% See also the example documents |blowup-ex?.tex|.
+%
+% \section{Required Packages}
+%
+% The \textsf{blowup} package requires the following packages:
+% \textsf{atbegshi}, \textsf{graphics}, \textsf{keyval}, and
+% \textsf{typearea}.
+%
+% \StopEventually{\PrintChanges\PrintIndex}
+%
+% \section{Implementation}
+%
+% \begin{macrocode}
+%<*package>
+% \end{macrocode}
+% Load some packages for utility macros.
+% \begin{macrocode}
+\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{}%
+% \end{macrocode}
+% Some dimensions changed by \textsf{typearea} must be saved and restored.
+% \begin{macrocode}
+ \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}%
+% \end{macrocode}
+% \changes{v0.1j}{2008/11/14}{Undefine \cmd{\l@addto@macro}. (RN)}
+% Prevent an error if \cmd{\l@addto@macro} is already defined.
+% \begin{macrocode}
+ \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}
+% \end{macrocode}
+% \begin{macro}{\tPaperWidth}
+% \begin{macro}{\tPaperHeight}
+% The size of the scaled pages.
+% \begin{macrocode}
+\newlength\tPaperWidth \tPaperWidth=\paperwidth
+\newlength\tPaperHeight \tPaperHeight=\paperheight
+% \end{macrocode}
+% \end{macro}
+% \end{macro}
+% \begin{macro}{\oPaperWidth}
+% \begin{macro}{\oPaperHeight}
+% The size of the original pages.
+% \begin{macrocode}
+\newlength\oPaperWidth \oPaperWidth=\z@
+\newlength\oPaperHeight \oPaperHeight=\z@
+% \end{macrocode}
+% \end{macro}
+% \end{macro}
+% \begin{macrocode}
+\newcommand*\BL@resize[1]{#1}
+% \end{macrocode}
+% \begin{macro}{\BL@scalePage}
+% Scales the output box to the dimension of the new paper size.
+% \begin{macrocode}
+\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}%
+}
+% \end{macrocode}
+% \end{macro}
+% \begin{macrocode}
+\newcommand\BL@tempa{}
+\newcommand\BL@tempb{}
+\newcommand*\BL@strip@comma{}
+\def\BL@strip@comma#1,{#1}
+% \end{macrocode}
+% \begin{macro}{\BL@is@dimen@pair}
+% The parameter two will be executed if the first parameter is
+% a comma-separated pair of two dimensions. If not the parameter three
+% will be executed.
+% \begin{macrocode}
+\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
+}
+% \end{macrocode}
+% \end{macro}
+% \begin{macrocode}
+\newcommand*\BL@strip@x{}
+\def\BL@strip@x#1x{#1}
+% \end{macrocode}
+% \begin{macro}{\BL@is@factor}
+% The parameter two will be executed if the first parameter is the
+% small letter x (`times') immediately followed by a number. If not
+% the parameter three will be executed.
+% \begin{macrocode}
+\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
+}
+% \end{macrocode}
+% \end{macro}
+% \begin{macro}{\BL@getDimens}
+% Sets the two dimen registers (|#2| and |#3|) according to parameter |#1|.
+% \begin{macrocode}
+\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
+ }%
+ }%
+}
+% \end{macrocode}
+% \end{macro}
+% The key-value definitions for \cmd{\blowUp}.
+% \begin{macrocode}
+\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{}
+% \end{macrocode}
+% \begin{macro}{\BL@setPos}
+% Modify the macros \cmd{\BL@l}, \cmd{\BL@r} (\cmd{\BL@i}, \cmd{\BL@o}),
+% \cmd{\BL@t}, and \cmd{\BL@b} for positioning the page on the paper.
+% \begin{macrocode}
+\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{%
+% \end{macrocode}
+% Extract the first letter.
+% \begin{macrocode}
+ \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
+ }%
+}
+% \end{macrocode}
+% \end{macro}
+% \begin{macrocode}
+\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
+}
+% \end{macrocode}
+% \begin{macro}{\blowUp}
+% The only user-level macro.
+% \begin{macrocode}
+\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}}%
+}
+% \end{macrocode}
+% \end{macro}
+% \begin{macrocode}
+\AtBeginShipout{\BL@pageInit}
+\@onlypreamble\blowUp
+\AtBeginDocument{%
+ \BL@pagesize@specials{\tPaperWidth}{\tPaperHeight}%
+}
+% \end{macrocode}
+% \begin{macro}{\BL@pagesize@specials}
+% Write pagesize informations to the output file. Depends on \TeX\
+% compiler or driver.
+% \begin{macrocode}
+\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
+% \end{macrocode}
+% \end{macro}
+% \begin{macrocode}
+%</package>
+% \end{macrocode}
+%
+% \Finale
+%\endinput
diff --git a/Master/texmf-dist/source/latex/blowup/blowup.ins b/Master/texmf-dist/source/latex/blowup/blowup.ins
new file mode 100644
index 00000000000..e217a23828c
--- /dev/null
+++ b/Master/texmf-dist/source/latex/blowup/blowup.ins
@@ -0,0 +1,59 @@
+%%
+%% 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".
+
+\input docstrip.tex
+\keepsilent
+
+\usedir{tex/latex/blowup}
+
+\preamble
+
+ 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".
+
+\endpreamble
+
+\keepsilent
+\askforoverwritefalse
+
+\generate{
+ \file{blowup.sty}{\from{blowup.dtx}{package}}
+}
+
+\obeyspaces
+\Msg{****************************************************************}
+\Msg{* *}
+\Msg{* To finish the installation you have to move the following *}
+\Msg{* file into a directory searched by TeX: *}
+\Msg{* *}
+\Msg{* blowup.sty *}
+\Msg{* *}
+\Msg{* To produce the documentation run the file blowup.dtx *}
+\Msg{* through LaTeX. *}
+\Msg{* *}
+\Msg{* Happy TeXing! *}
+\Msg{* *}
+\Msg{****************************************************************}
+
+\endbatchfile
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'.
diff --git a/Master/tlpkg/bin/tlpkg-ctan-check b/Master/tlpkg/bin/tlpkg-ctan-check
index 668b8c5a4a6..ac23ea40a30 100755
--- a/Master/tlpkg/bin/tlpkg-ctan-check
+++ b/Master/tlpkg/bin/tlpkg-ctan-check
@@ -113,7 +113,7 @@ my @TLP_working = qw(
bigfoot bigints binarytree binomexp biochemistry-colors biocon biolett-bst
bitelist bitpattern bizcard
blacklettert1 blindtext blkarray
- blochsphere block blockdraw_mp bloques blox
+ blochsphere block blockdraw_mp bloques blowup blox
bnumexpr bodegraph bohr boisik bold-extra
boites boldtensors bondgraph bondgraphs
bookcover bookdb bookest bookhands booklet
diff --git a/Master/tlpkg/libexec/ctan2tds b/Master/tlpkg/libexec/ctan2tds
index 95253981e8a..d8ec9ac814e 100755
--- a/Master/tlpkg/libexec/ctan2tds
+++ b/Master/tlpkg/libexec/ctan2tds
@@ -188,7 +188,6 @@ chomp ($Build = `cd $Master/../Build/source && pwd`);
'bitfield', "die 'skipping, obsolete on CTAN'",
'blanks', "die 'skipping, unknown license (and c.1992)'",
'blockdraw_mp',"&MAKEflatten",
- 'blowup', "die 'skipping, obsolete on CTAN per author'",
'blu', "die 'skipping, too old'",
'bnf-plain', "die 'skipping, unknown license (and c.1992)'",
'bookhands', "&MAKEwilson",
diff --git a/Master/tlpkg/tlpsrc/blowup.tlpsrc b/Master/tlpkg/tlpsrc/blowup.tlpsrc
new file mode 100644
index 00000000000..e69de29bb2d
--- /dev/null
+++ b/Master/tlpkg/tlpsrc/blowup.tlpsrc
diff --git a/Master/tlpkg/tlpsrc/collection-latexextra.tlpsrc b/Master/tlpkg/tlpsrc/collection-latexextra.tlpsrc
index e0d027f51cb..ffc92d841d7 100644
--- a/Master/tlpkg/tlpsrc/collection-latexextra.tlpsrc
+++ b/Master/tlpkg/tlpsrc/collection-latexextra.tlpsrc
@@ -88,6 +88,7 @@ depend bizcard
depend blindtext
depend blkarray
depend block
+depend blowup
depend bnumexpr
depend boites
depend bold-extra