From 7dc52c0d59521d187d3a5c7a43e70ded3b9ace63 Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Thu, 16 Apr 2020 21:01:07 +0000 Subject: pgfmorepages (16apr20) git-svn-id: svn://tug.org/texlive/trunk@54770 c570f23f-e606-0410-a88d-b1316a301751 --- .../tex/latex/pgfmorepages/pgfmorepages.sty | 53 +-- .../pgfmorepages/pgfmorepageslayouts.code.tex | 509 +++++++++++++++++++++ 2 files changed, 522 insertions(+), 40 deletions(-) create mode 100644 Master/texmf-dist/tex/latex/pgfmorepages/pgfmorepageslayouts.code.tex (limited to 'Master/texmf-dist/tex/latex/pgfmorepages') diff --git a/Master/texmf-dist/tex/latex/pgfmorepages/pgfmorepages.sty b/Master/texmf-dist/tex/latex/pgfmorepages/pgfmorepages.sty index 8d3ea8fda83..6ce3d42e6aa 100644 --- a/Master/texmf-dist/tex/latex/pgfmorepages/pgfmorepages.sty +++ b/Master/texmf-dist/tex/latex/pgfmorepages/pgfmorepages.sty @@ -1,14 +1,11 @@ % Original code copyright 2006 by Till Tantau -% Extension copyright 2012-2019 by Andrew Stacey +% Extension copyright 2012-2020 by Andrew Stacey % -% This file may be distributed and/or modified +% This file may be distributed and/or modified under +% the LaTeX Project Public License % -% 1. under the LaTeX Project Public License and/or -% 2. under the GNU Public License. -% -% See the file doc/generic/pgf/licenses/LICENSE for more details. -\ProvidesPackage{pgfmorepages}[2019/03/22 v1.00 multiple page manipulation] +\ProvidesPackage{pgfmorepages}[2020/04/16 v1.20 multiple page manipulation] \@ifpackageloaded{pgfpages}{% \PackageWarning{pgfmorepages}{I notice that the package "pgfpages" has already been loaded. This is an extension of that package and redefines various internal pieces so the two should not be used together.} @@ -83,19 +80,19 @@ % \pgfpagesuselayout{resize to}[a4paper] \def\pgfpagesuselayout#1{\pgfutil@ifnextchar[{\pgf@pagelayout{#1}}{\pgf@pagelayout{#1}[]}} -\def\pgf@pagelayout#1[#2]{ - \pgfutil@ifundefined{pgfpages@layout@#1}{ - \PackageError{pgfmorepages}{Page layout `#1' undefined. Currently defined layouts are: \pgfpages@layouts \pgfmorepages@extramessage}{} - } - { +\def\pgf@pagelayout#1[#2]{% + \pgfutil@ifundefined{pgfpages@layout@#1}{% + \PackageError{pgfmorepages}{Page layout `#1' undefined. Currently defined layouts are: \pgfpages@layouts \pgfmorepages@extramessage}{}% + }% + {% \pgfpages@reset \csname pgfpages@layoutbefore@#1\endcsname - \setkeys{pgfpagesuselayoutoption}{#2} + \setkeys{pgfpagesuselayoutoption}{#2}% \csname pgfpages@layout@#1\endcsname - } + }% } -\def\pgfpages@reset{ +\def\pgfpages@reset{% \pgfshipoutphysicalpage \pgfphysicalheight=\paperheight \pgfphysicalwidth=\paperwidth @@ -1467,33 +1464,9 @@ % \pgfsetupphysicalpagesizes \newcommand\pgfsetupphysicalpagesizes{% - % The following code was send to me by Rolf Niepraschk - \ifx\Gin@driver\pgfutil@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% - \AtBeginDvi{% - \special{papersize=\the\pgfphysicalwidth,\the\pgfphysicalheight}}% - \fi% - \def\reserved@a{pdftex}% - \ifx\filename@base\reserved@a - \pdfpagewidth\pgfphysicalwidth\pdfpageheight\pgfphysicalheight% - \fi% - \def\reserved@a{vtex}% - \ifx\filename@base\reserved@a - \mediawidth\pgfphysicalwidth\mediaheight\pgfphysicalheight% - \fi% - \def\reserved@a{luatex}% - \ifx\filename@base\reserved@a - \pagewidth\pgfphysicalwidth\pageheight\pgfphysicalheight% - \fi% - \fi + \pgfsys@global@papersize{\the\pgfphysicalwidth}{\the\pgfphysicalheight}% } - % % Start/End setup % diff --git a/Master/texmf-dist/tex/latex/pgfmorepages/pgfmorepageslayouts.code.tex b/Master/texmf-dist/tex/latex/pgfmorepages/pgfmorepageslayouts.code.tex new file mode 100644 index 00000000000..c13a1c2175c --- /dev/null +++ b/Master/texmf-dist/tex/latex/pgfmorepages/pgfmorepageslayouts.code.tex @@ -0,0 +1,509 @@ +\pgfpagesdeclarelayout{4 on 2, book format}% +{% + \edef\pgfpageoptionheight{\the\paperwidth} % landscaped by default + \edef\pgfpageoptionwidth{\the\paperheight} + \def\pgfpageoptionborder{0pt} + \def\pgfpageoptionbordercode{} + \def\pgfpageoptionfirstshipout{1} +}% +{% + \pgfpagesphysicalpageoptions + {% + logical pages=4,% + physical pages=2,% + physical height=\pgfpageoptionheight,% + physical width=\pgfpageoptionwidth,% + current logical shipout=\pgfpageoptionfirstshipout% + } + \pgfpagessetdefaults{% + border code=\pgfpageoptionbordercode + } + \ifdim\paperheight>\paperwidth\relax + % put side-by-side + \pgfpagesphysicalpage{1}{} + \pgfpageslogicalpageoptions{4} + {% + border shrink=\pgfpageoptionborder,% + resized width=.5\pgfphysicalwidth,% + resized height=\pgfphysicalheight,% + center=\pgfpoint{.25\pgfphysicalwidth}{.5\pgfphysicalheight}% + }% + \pgfpagesphysicalpage{2}{} + \pgfpageslogicalpageoptions{3} + {% + border shrink=\pgfpageoptionborder,% + resized width=.5\pgfphysicalwidth,% + resized height=\pgfphysicalheight,% + center=\pgfpoint{.75\pgfphysicalwidth}{.5\pgfphysicalheight}% + }% + \pgfpageslogicalpageoptions{2} + {% + border shrink=\pgfpageoptionborder,% + resized width=.5\pgfphysicalwidth,% + resized height=\pgfphysicalheight,% + center=\pgfpoint{.25\pgfphysicalwidth}{.5\pgfphysicalheight}% + }% + \pgfpagesphysicalpage{1}{} + \pgfpageslogicalpageoptions{1} + {% + border shrink=\pgfpageoptionborder,% + resized width=.5\pgfphysicalwidth,% + resized height=\pgfphysicalheight,% + center=\pgfpoint{.75\pgfphysicalwidth}{.5\pgfphysicalheight}% + }% + \else + % stack on top of one another + \pgfpagesphysicalpage{1}{} + \pgfpageslogicalpageoptions{4} + {% + border shrink=\pgfpageoptionborder,% + resized width=\pgfphysicalwidth,% + resized height=.5\pgfphysicalheight,% + center=\pgfpoint{.5\pgfphysicalwidth}{.75\pgfphysicalheight}% + }% + \pgfpagesphysicalpage{2}{} + \pgfpageslogicalpageoptions{3} + {% + border shrink=\pgfpageoptionborder,% + resized width=\pgfphysicalwidth,% + resized height=.5\pgfphysicalheight,% + center=\pgfpoint{.5\pgfphysicalwidth}{.25\pgfphysicalheight}% + }% + \pgfpageslogicalpageoptions{2} + {% + border shrink=\pgfpageoptionborder,% + resized width=\pgfphysicalwidth,% + resized height=.5\pgfphysicalheight,% + center=\pgfpoint{.5\pgfphysicalwidth}{.75\pgfphysicalheight}% + }% + \pgfpagesphysicalpage{2}{} + \pgfpageslogicalpageoptions{1} + {% + border shrink=\pgfpageoptionborder,% + resized width=\pgfphysicalwidth,% + resized height=.5\pgfphysicalheight,% + center=\pgfpoint{.5\pgfphysicalwidth}{.25\pgfphysicalheight}% + }% + \fi +} + +\pgfpagesdeclarelayout{8 on 4, book format}% +{% + \edef\pgfpageoptionheight{\the\paperwidth} % landscaped by default + \edef\pgfpageoptionwidth{\the\paperheight} + \def\pgfpageoptionborder{0pt} + \def\pgfpageoptionbordercode{} + \def\pgfpageoptionfirstshipout{1} +}% +{% + \pgfpagesphysicalpageoptions + {% + logical pages=8,% + physical pages=4,% + physical height=\pgfpageoptionheight,% + physical width=\pgfpageoptionwidth,% + current logical shipout=\pgfpageoptionfirstshipout% + } + \pgfpagessetdefaults{% + border code=\pgfpageoptionbordercode + } +% \ifdim\paperheight>\paperwidth\relax + % put side-by-side + \pgfpagesphysicalpage{1}{} + \pgfpageslogicalpageoptions{8} + {% + border shrink=\pgfpageoptionborder,% + resized width=.5\pgfphysicalwidth,% + resized height=\pgfphysicalheight,% + center=\pgfpoint{.25\pgfphysicalwidth}{.5\pgfphysicalheight}% + }% + \pgfpagesphysicalpage{2}{} + \pgfpageslogicalpageoptions{7} + {% + border shrink=\pgfpageoptionborder,% + resized width=.5\pgfphysicalwidth,% + resized height=\pgfphysicalheight,% + center=\pgfpoint{.75\pgfphysicalwidth}{.5\pgfphysicalheight}% + }% + \pgfpageslogicalpageoptions{2} + {% + border shrink=\pgfpageoptionborder,% + resized width=.5\pgfphysicalwidth,% + resized height=\pgfphysicalheight,% + center=\pgfpoint{.25\pgfphysicalwidth}{.5\pgfphysicalheight}% + }% + \pgfpagesphysicalpage{1}{} + \pgfpageslogicalpageoptions{1} + {% + border shrink=\pgfpageoptionborder,% + resized width=.5\pgfphysicalwidth,% + resized height=\pgfphysicalheight,% + center=\pgfpoint{.75\pgfphysicalwidth}{.5\pgfphysicalheight}% + }% + \pgfpagesphysicalpage{3}{} + \pgfpageslogicalpageoptions{6} + {% + border shrink=\pgfpageoptionborder,% + resized width=.5\pgfphysicalwidth,% + resized height=\pgfphysicalheight,% + center=\pgfpoint{.25\pgfphysicalwidth}{.5\pgfphysicalheight}% + }% + \pgfpagesphysicalpage{4}{} + \pgfpageslogicalpageoptions{5} + {% + border shrink=\pgfpageoptionborder,% + resized width=.5\pgfphysicalwidth,% + resized height=\pgfphysicalheight,% + center=\pgfpoint{.75\pgfphysicalwidth}{.5\pgfphysicalheight}% + }% + \pgfpageslogicalpageoptions{4} + {% + border shrink=\pgfpageoptionborder,% + resized width=.5\pgfphysicalwidth,% + resized height=\pgfphysicalheight,% + center=\pgfpoint{.25\pgfphysicalwidth}{.5\pgfphysicalheight}% + }% + \pgfpagesphysicalpage{3}{} + \pgfpageslogicalpageoptions{3} + {% + border shrink=\pgfpageoptionborder,% + resized width=.5\pgfphysicalwidth,% + resized height=\pgfphysicalheight,% + center=\pgfpoint{.75\pgfphysicalwidth}{.5\pgfphysicalheight}% + }% +% \else + % stack on top of one another +% \fi +} + +\pgfpagesdeclarelayout{8 on 4, book format, reverse second, single sided}% +{% + \edef\pgfpageoptionheight{\the\paperwidth} % landscaped by default + \edef\pgfpageoptionwidth{\the\paperheight} + \def\pgfpageoptionborder{0pt} + \def\pgfpageoptionbordercode{} + \def\pgfpageoptionfirstshipout{1} +}% +{% + \pgfpagesphysicalpageoptions + {% + logical pages=8,% + physical pages=4,% + physical height=\pgfpageoptionheight,% + physical width=\pgfpageoptionwidth,% + current logical shipout=\pgfpageoptionfirstshipout% + } + \pgfpagessetdefaults{% + border code=\pgfpageoptionbordercode + } +% \ifdim\paperheight>\paperwidth\relax + % put side-by-side + \pgfpagesphysicalpage{1}{} + \pgfpageslogicalpageoptions{8} + {% + border shrink=\pgfpageoptionborder,% + resized width=.5\pgfphysicalwidth,% + resized height=\pgfphysicalheight,% + center=\pgfpoint{.25\pgfphysicalwidth}{.5\pgfphysicalheight}% + }% + \pgfpageslogicalpageoptions{1} + {% + border shrink=\pgfpageoptionborder,% + resized width=.5\pgfphysicalwidth,% + resized height=\pgfphysicalheight,% + center=\pgfpoint{.75\pgfphysicalwidth}{.5\pgfphysicalheight}% + }% + \pgfpagesphysicalpage{4}{} + \pgfpageslogicalpageoptions{7} + {% + border shrink=\pgfpageoptionborder,% + resized width=.5\pgfphysicalwidth,% + resized height=\pgfphysicalheight,% + center=\pgfpoint{.25\pgfphysicalwidth}{.5\pgfphysicalheight},% + rotation=180% + }% + \pgfpageslogicalpageoptions{2} + {% + border shrink=\pgfpageoptionborder,% + resized width=.5\pgfphysicalwidth,% + resized height=\pgfphysicalheight,% + center=\pgfpoint{.75\pgfphysicalwidth}{.5\pgfphysicalheight},% + rotation=180% + }% + \pgfpagesphysicalpage{2}{} + \pgfpageslogicalpageoptions{6} + {% + border shrink=\pgfpageoptionborder,% + resized width=.5\pgfphysicalwidth,% + resized height=\pgfphysicalheight,% + center=\pgfpoint{.25\pgfphysicalwidth}{.5\pgfphysicalheight}% + }% + \pgfpageslogicalpageoptions{3} + {% + border shrink=\pgfpageoptionborder,% + resized width=.5\pgfphysicalwidth,% + resized height=\pgfphysicalheight,% + center=\pgfpoint{.75\pgfphysicalwidth}{.5\pgfphysicalheight}% + }% + \pgfpagesphysicalpage{3}{} + \pgfpageslogicalpageoptions{5} + {% + border shrink=\pgfpageoptionborder,% + resized width=.5\pgfphysicalwidth,% + resized height=\pgfphysicalheight,% + center=\pgfpoint{.25\pgfphysicalwidth}{.5\pgfphysicalheight},% + rotation=180% + }% + \pgfpageslogicalpageoptions{4} + {% + border shrink=\pgfpageoptionborder,% + resized width=.5\pgfphysicalwidth,% + resized height=\pgfphysicalheight,% + center=\pgfpoint{.75\pgfphysicalwidth}{.5\pgfphysicalheight},% + rotation=180% + }% +% \else + % stack on top of one another +% \fi +} + + +\pgfpagesdeclarelayout{5 index cards} +{% + \edef\pgfpageoptionheight{\the\paperwidth} + \edef\pgfpageoptionwidth{\the\paperheight} + \def\pgfpageoptionborder{0pt} + \def\pgfpageoptionfirstshipout{1} + \def\pgfpageoptionbordercode{\pgfusepath{draw}} +}% +{% + \pgfpagesphysicalpageoptions + {% + logical pages=10,% + physical pages=2,% + physical height=\pgfpageoptionheight,% + physical width=\pgfpageoptionwidth,% + current logical shipout=\pgfpageoptionfirstshipout% + } + \pgfpagessetdefaults{% + border shrink=\pgfpageoptionborder,% + resized width=\the\paperwidth,% + resized height=\the\paperheight,% + border code=\pgfpageoptionbordercode + } + \pgfpagesphysicalpage{1}{} + \pgfpageslogicalpageoptions{1} + {% + center=\pgfpoint{.5\paperwidth}{.75*\pgfphysicalheight},% + }% + \pgfpageslogicalpageoptions{3} + {% + center=\pgfpoint{.5\paperwidth}{.25*\pgfphysicalheight},% + }% + \pgfpageslogicalpageoptions{5} + {% + rotation=90,% + center=\pgfpoint{.5*(\pgfphysicalwidth + \paperwidth)}{\pgfphysicalheight - .5\paperheight},% + }% + \pgfpageslogicalpageoptions{7} + {% + rotation=90,% + center=\pgfpoint{.5*(\pgfphysicalwidth + \paperwidth)}{.5\pgfphysicalheight},% + }% + \pgfpageslogicalpageoptions{9} + {% + rotation=90,% + center=\pgfpoint{.5*(\pgfphysicalwidth + \paperwidth)}{.5\paperheight},% + }% + \pgfpagesphysicalpage{2}{} + \pgfpageslogicalpageoptions{2} + {% + center=\pgfpoint{\pgfphysicalwidth - .5\paperwidth}{.75\pgfphysicalheight},% + }% + \pgfpageslogicalpageoptions{4} + {% + center=\pgfpoint{\pgfphysicalwidth - .5\paperwidth}{.25\pgfphysicalheight},% + }% + \pgfpageslogicalpageoptions{6} + {% + rotation=90,% + center=\pgfpoint{.5*(\pgfphysicalwidth - \paperwidth)}{\pgfphysicalheight - .5\paperheight},% + }% + \pgfpageslogicalpageoptions{8} + {% + rotation=90,% + center=\pgfpoint{.5*(\pgfphysicalwidth - \paperwidth)}{.5\pgfphysicalheight},% + }% + \pgfpageslogicalpageoptions{10} + {% + rotation=90,% + center=\pgfpoint{.5*(\pgfphysicalwidth - \paperwidth)}{.5\paperheight},% + }% +} + +\pgfpagesdeclarelayout{repeated 2-up}% +{% + \edef\pgfpageoptionheight{\the\paperwidth} + \edef\pgfpageoptionwidth{\the\paperheight} + \def\pgfpageoptionborder{0pt} + \def\pgfpageoptionfirstshipout{1} + \def\pgfpageoptionbordercode{} +}% +{% + \pgfpagesphysicalpageoptions + {% + logical pages=1,% + physical pages=1,% + physical height=\pgfpageoptionheight,% + physical width=\pgfpageoptionwidth,% + current logical shipout=\pgfpageoptionfirstshipout% + } + \pgfpagessetdefaults + {% + border shrink=\pgfpageoptionborder,% + border code=\pgfpageoptionbordercode + } + \pgfpagesphysicalpage{1}{} + \ifdim\paperheight>\paperwidth\relax + % put side-by-side + \pgfpageslogicalpageoptions{1} + {% + resized width=.5\pgfphysicalwidth,% + resized height=\pgfphysicalheight,% + center=\pgfpoint{.25\pgfphysicalwidth}{.5\pgfphysicalheight},% +% rotation=90,% + } + \pgfpageslogicalpageoptions{1} + {% + resized width=.5\pgfphysicalwidth,% + resized height=\pgfphysicalheight,% + center=\pgfpoint{.75\pgfphysicalwidth}{.5\pgfphysicalheight},% +% rotation=90,% + } + \else + \pgfpageslogicalpageoptions{1} + {% + resized width=\pgfphysicalwidth,% + resized height=.5\pgfphysicalheight,% + center=\pgfpoint{.5\pgfphysicalwidth}{.75\pgfphysicalheight},% +% rotation=90,% + } + \pgfpageslogicalpageoptions{1} + {% + resized width=\pgfphysicalwidth,% + resized height=.5\pgfphysicalheight,% + center=\pgfpoint{.5\pgfphysicalwidth}{.25\pgfphysicalheight},% +% rotation=90,% + } + \fi +} + +\pgfpagesdeclarelayout{repeated 4-up}% +{% + \edef\pgfpageoptionheight{\the\paperheight} + \edef\pgfpageoptionwidth{\the\paperwidth} + \def\pgfpageoptionborder{0pt} + \def\pgfpageoptionfirstshipout{1} + \def\pgfpageoptionbordercode{} +}% +{% + \pgfpagesphysicalpageoptions + {% + logical pages=1,% + physical pages=1,% + physical height=\pgfpageoptionheight,% + physical width=\pgfpageoptionwidth,% + current logical shipout=\pgfpageoptionfirstshipout% + } + \pgfpagessetdefaults + {% + border shrink=\pgfpageoptionborder,% + resized width=.5\pgfphysicalwidth,% + resized height=.5\pgfphysicalheight,% + border code=\pgfpageoptionbordercode +% border code=\pgfusepath{draw} + } + \pgfpagesphysicalpage{1}{} + \pgfpageslogicalpageoptions{1} + {% + center=\pgfpoint{.25\pgfphysicalwidth}{.25\pgfphysicalheight}, + } + \pgfpageslogicalpageoptions{1} + {% + center=\pgfpoint{.75\pgfphysicalwidth}{.25\pgfphysicalheight}, + } + \pgfpageslogicalpageoptions{1} + {% + center=\pgfpoint{.25\pgfphysicalwidth}{.75\pgfphysicalheight}, + } + \pgfpageslogicalpageoptions{1} + {% + center=\pgfpoint{.75\pgfphysicalwidth}{.75\pgfphysicalheight}, + } +} + +\pgfpagesdeclarelayout{1 on 1} +{% + \edef\pgfpageoptionheight{\the\paperheight} + \edef\pgfpageoptionwidth{\the\paperwidth} + \def\pgfpageoptionborder{0pt} + \def\pgfpageoptionfirstshipout{1} + \def\pgfpageoptionbordercode{} +}% +{% + \pgfpagessetdefaults + {% + border code=\pgfpageoptionbordercode + } + \pgfpagesphysicalpageoptions + {% + logical pages=1,% + physical pages=1,% + physical height=\pgfpageoptionheight,% + physical width=\pgfpageoptionwidth,% + current logical shipout=\pgfpageoptionfirstshipout% + } + \pgfpagesphysicalpage{1}{} + \pgfpageslogicalpageoptions{1} + {% + border shrink=\pgfpageoptionborder,% + resized width=\pgfphysicalwidth,% + resized height=\pgfphysicalheight,% + center=\pgfpoint{.5\pgfphysicalwidth}{.5\pgfphysicalheight},% + rotation=0 + }% +} + +\pgfpagesdeclarelayout{discard} +{% + \edef\pgfpageoptionheight{\the\paperheight} + \edef\pgfpageoptionwidth{\the\paperwidth} + \def\pgfpageoptionborder{0pt} + \def\pgfpageoptionfirstshipout{1} + \def\pgfpageoptionbordercode{} +}% +{% + \pgfpagessetdefaults + {% + border code=\pgfpageoptionbordercode + } + \pgfpagesphysicalpageoptions + {% + logical pages=1,% + physical pages=1,% + physical height=\pgfpageoptionheight,% + physical width=\pgfpageoptionwidth,% + current logical shipout=\pgfpageoptionfirstshipout% + } + \pgfpagesphysicalpage{1}{ + skip code=\pgfpagesshipfalse + } + \pgfpageslogicalpageoptions{1} + {% + border shrink=\pgfpageoptionborder,% + resized width=\pgfphysicalwidth,% + resized height=\pgfphysicalheight,% + center=\pgfpoint{.5\pgfphysicalwidth}{.5\pgfphysicalheight},% + rotation=0 + }% +} -- cgit v1.2.3