summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/doc/latex/pgfmorepages
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2019-05-08 21:17:11 +0000
committerKarl Berry <karl@freefriends.org>2019-05-08 21:17:11 +0000
commit610fc8431cfaf2913a54f01c6d3abd4d9283fc34 (patch)
treeea1fa0aa40b245c59c46ed1241ef171780212921 /Master/texmf-dist/doc/latex/pgfmorepages
parent32ff12b1b57c748dbe6a1d28fa7ebfaa0916390e (diff)
pgfmorepages (8may19)
git-svn-id: svn://tug.org/texlive/trunk@51051 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/doc/latex/pgfmorepages')
-rw-r--r--Master/texmf-dist/doc/latex/pgfmorepages/README14
-rw-r--r--Master/texmf-dist/doc/latex/pgfmorepages/pgfmorepages.pdfbin0 -> 61834 bytes
-rw-r--r--Master/texmf-dist/doc/latex/pgfmorepages/pgfmorepages.tex390
3 files changed, 404 insertions, 0 deletions
diff --git a/Master/texmf-dist/doc/latex/pgfmorepages/README b/Master/texmf-dist/doc/latex/pgfmorepages/README
new file mode 100644
index 00000000000..a11c2db77bd
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/pgfmorepages/README
@@ -0,0 +1,14 @@
+----------------------------------------------------------------
+pgfmorepages --- LaTeX functions for manipulating multiple pages
+E-mail: loopspace@mathforge.org
+Released jointly under the LaTeX Project Public License v1.3c (or
+later) and under the GNU Public License.
+
+See http://www.latex-project.org/lppl.txt
+and https://www.gnu.org/licenses/gpl.html
+----------------------------------------------------------------
+
+This package replaces and extends the pgfpages sub-package of the PGF
+system. It provides the capability to arrange multiple "logical"
+pages on multiple "physical" pages, for example as for arranging pages
+to make booklets.
diff --git a/Master/texmf-dist/doc/latex/pgfmorepages/pgfmorepages.pdf b/Master/texmf-dist/doc/latex/pgfmorepages/pgfmorepages.pdf
new file mode 100644
index 00000000000..5c275b419f4
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/pgfmorepages/pgfmorepages.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/pgfmorepages/pgfmorepages.tex b/Master/texmf-dist/doc/latex/pgfmorepages/pgfmorepages.tex
new file mode 100644
index 00000000000..0eb4b69dc59
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/pgfmorepages/pgfmorepages.tex
@@ -0,0 +1,390 @@
+\documentclass{ltxdoc}
+
+\usepackage{tikz}
+\usetikzlibrary{positioning}
+\usepackage{pgfmorepages}
+\usepackage{fancyvrb}
+
+\GetFileInfo{pgfmorepages.sty}
+
+\title{PGF \emph{more} Pages}
+\author{Andrew Stacey \\ \texttt{loopspace@mathforge.org}}
+\date{\fileversion\ from \filedate}
+
+\begin{document}
+
+\maketitle
+
+\section{Introduction}
+
+The \Verb+pgfmorepages+ package is a drop-in replacement for the \Verb+pgfpages+ package which comes with TikZ/PGF.
+As it is a drop-in replacement, it \emph{ought} to be fully backwards compatible with \Verb+pgfpages+.
+
+\Verb+pgfpages+ allows you the ability to place several pages of your document (hereafter \emph{logical pages}) onto one page of the output (hereafter \emph{physical pages}).
+\Verb+pgfmorepages+ adds extra features, the primary one being that whereas \Verb+pgfpages+ is ``many to one'', \Verb+pgfmorepages+ is ``many to many''.
+That is, while \Verb+pgfpages+ works one physical page at a time then \Verb+pgfmorepages+ can juggle several logical pages onto several physical pages.
+
+As an example of its capability, the layout \Verb+4 on 2, book format+ places four logical pages onto two physical pages so that when folded it forms a booklet.
+The layout is therefore:
+
+\begin{center}
+\begin{tikzpicture}
+\node at (0,0) {\(4\)};
+\node at (1,0) {\(1\)};
+\node at (3,0) {\(2\)};
+\node at (4,0) {\(3\)};
+\draw (-.5,-.7) rectangle (.5,.7);
+\draw (1,0) +(-.5,-.7) rectangle +(.5,.7);
+\draw (3,0) +(-.5,-.7) rectangle +(.5,.7);
+\draw (4,0) +(-.5,-.7) rectangle +(.5,.7);
+\end{tikzpicture}
+\end{center}
+
+This requires knowing all four logical pages before the first physical page is output.
+
+\section{Usage}
+
+In your preamble:
+
+\begin{verbatim}
+\usepackage{pgfmorepages}
+\end{verbatim}
+
+\subsection{Layouts}
+
+The original \Verb+pgfpages+ defined the following layouts:
+
+\begin{itemize}
+\item \Verb+rounded corners+
+\item \Verb+resize to+
+\item \Verb+two screens with lagging second+
+\item \Verb+two screens with optional second+
+\item \Verb+2 on 1+
+\item \Verb+4 on 1+
+\item \Verb+6 on 1+
+\item \Verb+8 on 1+
+\item \Verb+16 on 1+
+\end{itemize}
+
+The \Verb+pgfmorepages+ defines some extra layouts, which require the following command in your preamble:
+%
+\begin{verbatim}
+\pgfmorepagesloadextralayouts
+\end{verbatim}
+
+\begin{itemize}
+\item \Verb+4 on 2, odd then even+
+
+\begin{center}
+\begin{tikzpicture}
+\node at (0,0) {\(1\)};
+\node at (1,0) {\(3\)};
+\node at (3,0) {\(2\)};
+\node at (4,0) {\(4\)};
+\draw (-.5,-.7) rectangle (.5,.7);
+\draw (1,0) +(-.5,-.7) rectangle +(.5,.7);
+\draw (3,0) +(-.5,-.7) rectangle +(.5,.7);
+\draw (4,0) +(-.5,-.7) rectangle +(.5,.7);
+\end{tikzpicture}
+\end{center}
+
+\item \Verb+4 on 2, even then odd+
+
+\begin{center}
+\begin{tikzpicture}
+\node at (0,0) {\(2\)};
+\node at (1,0) {\(4\)};
+\node at (3,0) {\(1\)};
+\node at (4,0) {\(3\)};
+\draw (-.5,-.7) rectangle (.5,.7);
+\draw (1,0) +(-.5,-.7) rectangle +(.5,.7);
+\draw (3,0) +(-.5,-.7) rectangle +(.5,.7);
+\draw (4,0) +(-.5,-.7) rectangle +(.5,.7);
+\end{tikzpicture}
+\end{center}
+
+\item \Verb+4 on 2, book format+
+
+\begin{center}
+\begin{tikzpicture}
+\node at (0,0) {\(4\)};
+\node at (1,0) {\(1\)};
+\node at (3,0) {\(2\)};
+\node at (4,0) {\(3\)};
+\draw (-.5,-.7) rectangle (.5,.7);
+\draw (1,0) +(-.5,-.7) rectangle +(.5,.7);
+\draw (3,0) +(-.5,-.7) rectangle +(.5,.7);
+\draw (4,0) +(-.5,-.7) rectangle +(.5,.7);
+\end{tikzpicture}
+\end{center}
+
+\item \Verb+8 on 4, book format+
+
+\begin{center}
+\begin{tikzpicture}
+\node at (0,0) {\(8\)};
+\node at (1,0) {\(1\)};
+\node at (3,0) {\(2\)};
+\node at (4,0) {\(7\)};
+\node at (6,0) {\(6\)};
+\node at (7,0) {\(3\)};
+\node at (9,0) {\(4\)};
+\node at (10,0) {\(5\)};
+\draw (-.5,-.7) rectangle (.5,.7);
+\draw (1,0) +(-.5,-.7) rectangle +(.5,.7);
+\draw (3,0) +(-.5,-.7) rectangle +(.5,.7);
+\draw (4,0) +(-.5,-.7) rectangle +(.5,.7);
+\draw (6,0) +(-.5,-.7) rectangle +(.5,.7);
+\draw (7,0) +(-.5,-.7) rectangle +(.5,.7);
+\draw (9,0) +(-.5,-.7) rectangle +(.5,.7);
+\draw (10,0) +(-.5,-.7) rectangle +(.5,.7);
+\end{tikzpicture}
+\end{center}
+
+\item \Verb+8 on 4, book format, reverse second, single sided+
+
+\begin{center}
+\begin{tikzpicture}
+\node at (0,0) {\(8\)};
+\node at (1,0) {\(1\)};
+\node at (3,0) {\(6\)};
+\node at (4,0) {\(3\)};
+\node[rotate=180] at (6,0) {\(5\)};
+\node[rotate=180] at (7,0) {\(4\)};
+\node[rotate=180] at (9,0) {\(7\)};
+\node[rotate=180] at (10,0) {\(2\)};
+\draw (-.5,-.7) rectangle (.5,.7);
+\draw (1,0) +(-.5,-.7) rectangle +(.5,.7);
+\draw (3,0) +(-.5,-.7) rectangle +(.5,.7);
+\draw (4,0) +(-.5,-.7) rectangle +(.5,.7);
+\draw (6,0) +(-.5,-.7) rectangle +(.5,.7);
+\draw (7,0) +(-.5,-.7) rectangle +(.5,.7);
+\draw (9,0) +(-.5,-.7) rectangle +(.5,.7);
+\draw (10,0) +(-.5,-.7) rectangle +(.5,.7);
+\end{tikzpicture}
+\end{center}
+
+
+\item \Verb+5 index cards+
+\item \Verb+repeated 2-up+
+
+\begin{center}
+\begin{tikzpicture}
+\node at (0,0) {\(1\)};
+\node at (1,0) {\(1\)};
+\node at (3,0) {\(2\)};
+\node at (4,0) {\(2\)};
+\draw (-.5,-.7) rectangle (.5,.7);
+\draw (1,0) +(-.5,-.7) rectangle +(.5,.7);
+\draw (3,0) +(-.5,-.7) rectangle +(.5,.7);
+\draw (4,0) +(-.5,-.7) rectangle +(.5,.7);
+\end{tikzpicture}
+\end{center}
+
+\item \Verb+repeated 4-up+
+
+\begin{center}
+\begin{tikzpicture}
+\node at (0,0) {\(1\)};
+\node at (1,0) {\(1\)};
+\node at (0,1.4) {\(1\)};
+\node at (1,1.4) {\(1\)};
+\node at (3,0) {\(2\)};
+\node at (4,0) {\(2\)};
+\node at (3,1.4) {\(2\)};
+\node at (4,1.4) {\(2\)};
+\draw (-.5,-.7) rectangle (.5,.7);
+\draw (1,0) +(-.5,-.7) rectangle +(.5,.7);
+\draw (3,0) +(-.5,-.7) rectangle +(.5,.7);
+\draw (4,0) +(-.5,-.7) rectangle +(.5,.7);
+\draw (0,1.4) +(-.5,-.7) rectangle +(.5,.7);
+\draw (1,1.4) +(-.5,-.7) rectangle +(.5,.7);
+\draw (3,1.4) +(-.5,-.7) rectangle +(.5,.7);
+\draw (4,1.4) +(-.5,-.7) rectangle +(.5,.7);
+\end{tikzpicture}
+\end{center}
+
+
+\item \Verb+1 on 1+
+
+This is a layout that ``resets'' the mechanism back to one logical page on one physical page.
+It still uses the mechanics of the \Verb+pgfmorepages+ package so is not quite the same as removing it altogether, but is effectively the same.
+
+\item \Verb+discard+
+
+This layout discards all its pages.
+Useful to remove pages from a document without changing the source file too much.
+
+\end{itemize}
+
+To use a layout, use the command:
+%
+\begin{verbatim}
+\pgfpagesuselayout{<layout name>}[<optional arguments>]
+\end{verbatim}
+
+
+
+\subsection{Options}
+
+The optional arguments are a superset of the ones that \Verb+pgfpages+ allows.
+
+\begin{itemize}
+\item \Verb+physical paper width+
+\item \Verb+physical paper height+
+\item \Verb+a0paper+
+\item \Verb+a1paper+
+\item \Verb+a2paper+
+\item \Verb+a3paper+
+\item \Verb+a4paper+
+\item \Verb+a5paper+
+\item \Verb+a6paper+
+\item \Verb+letterpaper+
+\item \Verb+legalpaper+
+\item \Verb+executivepaper+
+\item \Verb+landscape+
+\item \Verb+border shrink+
+\item \Verb+border code+
+\item \Verb+corner width+
+\item \Verb+odd numbered pages right+
+\item \Verb+second right+
+\item \Verb+second left+
+\item \Verb+second top+
+\item \Verb+second bottom+
+\end{itemize}
+
+The only additional option is \Verb+border code+ which, if the layout does anything with it, is designed for passing a command to the layout for the border path.
+The intention of this is that sometimes it is useful to draw the page border when designing a document but you might want to disable it for the final version.
+This makes it easy to switch between those (providing the layout supports it).
+
+\subsection{Changing Layout}
+
+The documentation for \Verb+pgfpages+ states that it is possible to change layout mid-document.
+This turns out not to be correct for \Verb+pgfpages+ as it doesn't reset everything correctly.
+\Verb+pgfmorepages+ fixes this\footnote{Or tries to -- I keep discovering new options that I haven't reset properly.}.
+It is best practice to use a \Verb+\newpage+ or \Verb+\clearpage+ before doing so.
+The layout \Verb+1 on 1+ is useful here as it sets the layout back to one logical page on one physical page.
+
+\section{Defining a New Layout}
+
+The best way to define a new layout is to start with one of the predefined ones and modify it.
+To that end, here is an example layout with comments.
+
+\begin{verbatim}
+ % Set the name of the layout
+\pgfpagesdeclarelayout{4 on 2, book format}%
+{%
+ % Unless overridden, this layout uses the same paper size
+ % but rotated so that two logical pages fit naturally on
+ % one physical page
+ \edef\pgfpageoptionheight{\the\paperwidth}
+ \edef\pgfpageoptionwidth{\the\paperheight}
+ % Defaults for the border
+ \def\pgfpageoptionborder{0pt}
+ \def\pgfpageoptionbordercode{}
+ % Start with the first page of the document
+ \def\pgfpageoptionfirstshipout{1}
+}%
+{%
+ % These are the settings for the physical pages
+ \pgfpagesphysicalpageoptions
+ {%
+ % Each set consists of 4 logical and 2 physical pages
+ logical pages=4,%
+ physical pages=2,%
+ physical height=\pgfpageoptionheight,%
+ physical width=\pgfpageoptionwidth,%
+ current logical shipout=\pgfpageoptionfirstshipout%
+ }
+ % These are the settings for the logical pages.
+ % These hold for all the logical pages.
+ \pgfpagessetdefaults{%
+ border code=\pgfpageoptionbordercode
+ }
+ % Our arrangement is different for two portrait pages
+ % on one landscape as opposed to two landscape on
+ % one portrait.
+ % This is for two portrait on one landscape
+ \ifdim\paperheight>\paperwidth\relax
+ % put side-by-side
+ % There are several ways to declare which logical page
+ % goes on which physical page. This command sets the
+ % physical page for the following logical pages. The
+ % second argument is any options to be set for that
+ % physical page.
+ \pgfpagesphysicalpage{1}{}
+ % Our fourth logical page goes on the first physical page
+ \pgfpageslogicalpageoptions{4}
+ {%
+ border shrink=\pgfpageoptionborder,%
+ resized width=.5\pgfphysicalwidth,%
+ resized height=\pgfphysicalheight,%
+ center=\pgfpoint{.25\pgfphysicalwidth}{.5\pgfphysicalheight}%
+ }%
+ % The second and third logical pages go on the second
+ % physical page.
+ \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}%
+ }%
+ % The first logical page goes back on the first physical page.
+ \pgfpagesphysicalpage{1}{}
+ \pgfpageslogicalpageoptions{1}
+ {%
+ border shrink=\pgfpageoptionborder,%
+ resized width=.5\pgfphysicalwidth,%
+ resized height=\pgfphysicalheight,%
+ center=\pgfpoint{.75\pgfphysicalwidth}{.5\pgfphysicalheight}%
+ }%
+ \else
+ % These are essentially the same as above, except with
+ % two landscape pages on one portrait, so the pages
+ % are in different locations.
+ % 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
+}
+\end{verbatim}
+
+\end{document}