summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Master/texmf-dist/doc/latex/tikz-page/Makefile49
-rw-r--r--Master/texmf-dist/doc/latex/tikz-page/README108
-rw-r--r--Master/texmf-dist/doc/latex/tikz-page/README.md107
-rw-r--r--Master/texmf-dist/doc/latex/tikz-page/example.pngbin0 -> 137469 bytes
-rw-r--r--Master/texmf-dist/doc/latex/tikz-page/tikz-page.pdfbin0 -> 428127 bytes
-rw-r--r--Master/texmf-dist/source/latex/tikz-page/tikz-page.dtx871
-rw-r--r--Master/texmf-dist/tex/latex/tikz-page/tikz-page.sty452
-rwxr-xr-xMaster/tlpkg/bin/tlpkg-ctan-check2
-rwxr-xr-xMaster/tlpkg/libexec/ctan2tds3
-rw-r--r--Master/tlpkg/tlpsrc/collection-pictures.tlpsrc1
-rw-r--r--Master/tlpkg/tlpsrc/tikz-page.tlpsrc0
11 files changed, 1591 insertions, 2 deletions
diff --git a/Master/texmf-dist/doc/latex/tikz-page/Makefile b/Master/texmf-dist/doc/latex/tikz-page/Makefile
new file mode 100644
index 00000000000..79df540a65b
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/tikz-page/Makefile
@@ -0,0 +1,49 @@
+##
+
+
+export TEXMFHOME="~/texmf:"
+PACKAGE = tikz-page
+
+cleanext := $(wildcard *.dvi *.aux *.glo *.ilg *.ind *.toc *.hd *.idx *.listing *.log *.out _minted-*)
+
+listings := $(wildcard $(PACKAGE)-*.tex wildcard $(PACKAGE)-*.md5 wildcard $(PACKAGE)-*.pdf)
+
+objects := $(PACKAGE).sty $(PACKAGE).pdf
+
+LATEX := $(shell which latex)
+PDFLATEX := $(shell which pdflatex)
+PANDOC := $(shell which pandoc)
+
+CTANDIR := $(PACKAGE)
+CTANDIST = Makefile README.md README \
+ tikz-page.pdf tikz-page.dtx tikz-page.sty \
+ example.png
+
+all: $(objects) README
+
+%.sty: %.dtx
+ $(RM) -f $@
+ $(LATEX) '\let\install=y\input{$<}'
+
+%.pdf: %.dtx
+ TEXMFHOME="~/texmf:" $(PDFLATEX) -shell-escape $<
+ makeindex -s gind.ist $(PACKAGE).idx
+ TEXMFHOME="~/texmf:" $(PDFLATEX) -shell-escape $<
+ #$(PDFLATEX) -shell-escape $<
+
+clean:
+ $(RM) -fr $(cleanext) $(listings) $(PACKAGE).zip
+
+distclean: clean
+ $(RM) -f $(objects) README $(CTANDIR)
+
+README: README.md
+ $(PANDOC) -t plain -o $@ $<
+
+CTAN: all README clean
+ mkdir -p $(CTANDIR)
+ cp $(CTANDIST) $(CTANDIR)
+ zip -ll -q -r -X $(CTANDIR).zip $(CTANDIR)
+
+
+.PHONY: %.dty
diff --git a/Master/texmf-dist/doc/latex/tikz-page/README b/Master/texmf-dist/doc/latex/tikz-page/README
new file mode 100644
index 00000000000..4a87e5194be
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/tikz-page/README
@@ -0,0 +1,108 @@
+
+
+TIKZ PAGE
+
+
+Small macro to help building nice and complex page layout materials.
+
+
+Build
+
+You can build the whole package using the make command.
+
+
+Installation
+
+To install the tkiz-page package copy its directory to either to:
+
+- $TEXHOME/tex/latex/
+- $TEXMFHOME/tex/latex/
+- ~/texmf/tex/latex/
+- ~/Library/texmf/tex/latex/
+
+
+Usage
+
+A simple page:
+
+ \documentclass{article}
+ \usepackage{tikz-page}
+ \usepackage{lipsum}
+ \newcommand{\tikzpagelayout}{
+ \tpshowframes
+ \tikzpageputanchors
+ }
+ \pagestyle{plain}
+ \begin{document}
+ \lipsum
+ \end{document}
+
+A more complex document:
+
+ \documentclass{article}
+ \usepackage{tikz-page}
+ \usepackage{lipsum}
+ \definecolor{halfgray}{gray}{0.55}
+ \newcommand\anglei{-45}
+ \newcommand\angleii{45}
+ \newcommand\angleiii{225}
+ \newcommand\angleiv{135}
+ \newcommand{\tikzpagelayout}{
+ \tpflip{
+ \coordinate (aux1) at ([yshift=-15pt]page.northeast);
+ \coordinate (aux2) at ([yshift=-410pt]page.northeast);
+ \coordinate (aux3) at ([xshift=-4.5cm]page.northeast);
+ \coordinate (aux4) at ([yshift=-150pt]page.northeast);
+ }{
+ \coordinate (aux1) at ([yshift=-15pt]page.northwest);
+ \coordinate (aux2) at ([yshift=-410pt]page.northwest);
+ \coordinate (aux3) at ([xshift=4.5cm]page.northwest);
+ \coordinate (aux4) at ([yshift=-150pt]page.northwest);
+ \renewcommand\anglei{-135}
+ \renewcommand\angleii{135}
+ \renewcommand\angleiii{-45}
+ \renewcommand\angleiv{45}
+ }
+ \begin{scope}[halfgray!40,line width=12pt,rounded corners=12pt]
+ \draw (aux1) -- coordinate (a) ++(\angleiii:5) -- ++(\anglei:5.1) coordinate (b);
+ \draw[shorten <= -10pt] (aux3) -- (a) -- (aux1);
+ \draw[opacity=0.6,halfgray,shorten <= -10pt] (b) -- ++(\angleiii:2.2) -- ++(\anglei:2.2);
+ \end{scope}
+ \draw[halfgray,line width=8pt,rounded corners=8pt,shorten <= -10pt]
+ (aux4) -- ++(\angleiii:0.8) -- ++(\anglei:0.8);
+ \begin{scope}[halfgray!70,line width=6pt,rounded corners=8pt]
+ \draw[shorten <= -10pt] (aux2) -- ++(\angleiii:3) coordinate[pos=0.45] (c) -- ++(\anglei:3.1);
+ \draw (aux2) -- (c) -- ++(\angleiv:2.5) -- ++(\angleii:2.5) -- ++(\anglei:2.5) coordinate[pos=0.3] (d);
+ \draw (d) -- +(\angleii:1);
+ \end{scope}
+ }
+ \pagestyle{plain}
+ \begin{document}
+ \lipsum
+ \end{document}
+
+See tikz-page.pdf for further help.
+
+
+Example
+
+[tikz example]
+
+
+License
+
+This program is free software. It comes without any warranty, to the
+extent permitted by applicable law. You can redistribute it and/or
+modify it under the terms of the Do What The Fuck You Want To Public
+License, Version 2, as published by Sam Hocevar. See
+http://sam.zoy.org/wtfpl/COPYING for more details.
+
+This file may be distributed and/or modified under the conditions of the
+LaTeX Project Public License, either version 1.3c 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.3c or later is part of all distributions of LaTeX version
+2006/05/20 or later.
diff --git a/Master/texmf-dist/doc/latex/tikz-page/README.md b/Master/texmf-dist/doc/latex/tikz-page/README.md
new file mode 100644
index 00000000000..875d80bf636
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/tikz-page/README.md
@@ -0,0 +1,107 @@
+# Tikz page
+
+Small macro to help building nice and complex page layout materials.
+
+
+## Build
+
+You can build the whole package using the `make` command.
+
+## Installation
+
+To install the `tkiz-page` package copy its directory to either to:
+
+- `$TEXHOME/tex/latex/`
+- `$TEXMFHOME/tex/latex/`
+- `~/texmf/tex/latex/`
+- `~/Library/texmf/tex/latex/`
+
+
+## Usage
+
+A simple page:
+
+````Tex
+\documentclass{article}
+\usepackage{tikz-page}
+\usepackage{lipsum}
+\newcommand{\tikzpagelayout}{
+ \tpshowframes
+ \tikzpageputanchors
+}
+\pagestyle{plain}
+\begin{document}
+\lipsum
+\end{document}
+````
+
+A more complex document:
+
+```Tex
+\documentclass{article}
+\usepackage{tikz-page}
+\usepackage{lipsum}
+\definecolor{halfgray}{gray}{0.55}
+\newcommand\anglei{-45}
+\newcommand\angleii{45}
+\newcommand\angleiii{225}
+\newcommand\angleiv{135}
+\newcommand{\tikzpagelayout}{
+ \tpflip{
+ \coordinate (aux1) at ([yshift=-15pt]page.northeast);
+ \coordinate (aux2) at ([yshift=-410pt]page.northeast);
+ \coordinate (aux3) at ([xshift=-4.5cm]page.northeast);
+ \coordinate (aux4) at ([yshift=-150pt]page.northeast);
+ }{
+ \coordinate (aux1) at ([yshift=-15pt]page.northwest);
+ \coordinate (aux2) at ([yshift=-410pt]page.northwest);
+ \coordinate (aux3) at ([xshift=4.5cm]page.northwest);
+ \coordinate (aux4) at ([yshift=-150pt]page.northwest);
+ \renewcommand\anglei{-135}
+ \renewcommand\angleii{135}
+ \renewcommand\angleiii{-45}
+ \renewcommand\angleiv{45}
+ }
+ \begin{scope}[halfgray!40,line width=12pt,rounded corners=12pt]
+ \draw (aux1) -- coordinate (a) ++(\angleiii:5) -- ++(\anglei:5.1) coordinate (b);
+ \draw[shorten <= -10pt] (aux3) -- (a) -- (aux1);
+ \draw[opacity=0.6,halfgray,shorten <= -10pt] (b) -- ++(\angleiii:2.2) -- ++(\anglei:2.2);
+ \end{scope}
+ \draw[halfgray,line width=8pt,rounded corners=8pt,shorten <= -10pt]
+ (aux4) -- ++(\angleiii:0.8) -- ++(\anglei:0.8);
+ \begin{scope}[halfgray!70,line width=6pt,rounded corners=8pt]
+ \draw[shorten <= -10pt] (aux2) -- ++(\angleiii:3) coordinate[pos=0.45] (c) -- ++(\anglei:3.1);
+ \draw (aux2) -- (c) -- ++(\angleiv:2.5) -- ++(\angleii:2.5) -- ++(\anglei:2.5) coordinate[pos=0.3] (d);
+ \draw (d) -- +(\angleii:1);
+ \end{scope}
+}
+\pagestyle{plain}
+\begin{document}
+\lipsum
+\end{document}
+```
+
+See [tikz-page.pdf](tikz-page.pdf) for further help.
+
+
+## Example
+
+![tikz example](example.png)
+
+## License
+
+This program is free software. It comes without any warranty, to the extent
+permitted by applicable law. You can redistribute it and/or modify it under
+the terms of the Do What The Fuck You Want To Public License, Version 2, as
+published by Sam Hocevar. See http://sam.zoy.org/wtfpl/COPYING for more
+details.
+
+This file may be distributed and/or modified under the conditions of
+the LaTeX Project Public License, either version 1.3c 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.3c or later is part of all distributions of LaTeX
+version 2006/05/20 or later.
diff --git a/Master/texmf-dist/doc/latex/tikz-page/example.png b/Master/texmf-dist/doc/latex/tikz-page/example.png
new file mode 100644
index 00000000000..c711a2d542c
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/tikz-page/example.png
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/tikz-page/tikz-page.pdf b/Master/texmf-dist/doc/latex/tikz-page/tikz-page.pdf
new file mode 100644
index 00000000000..9367deae085
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/tikz-page/tikz-page.pdf
Binary files differ
diff --git a/Master/texmf-dist/source/latex/tikz-page/tikz-page.dtx b/Master/texmf-dist/source/latex/tikz-page/tikz-page.dtx
new file mode 100644
index 00000000000..27ffe0b964a
--- /dev/null
+++ b/Master/texmf-dist/source/latex/tikz-page/tikz-page.dtx
@@ -0,0 +1,871 @@
+% \iffalse meta-comment % -*- latex -*-
+%
+%<*ignore>
+\begingroup
+ \catcode123=1 %
+ \catcode125=2 %
+ \def\x{LaTeX2e}%
+\expandafter\endgroup
+\ifcase 0\ifx\install y1\fi\expandafter
+ \ifx\csname processbatchFile\endcsname\relax\else1\fi
+ \ifx\fmtname\x\else 1\fi\relax
+\else\csname fi\endcsname
+%</ignore>
+%<*install>
+\input docstrip.tex
+\keepsilent
+
+\usedir{tex/latex/tikz-page}
+
+\let\MetaPrefix\relax
+\preamble
+This is a generated file.
+
+Copyright © 2016 by Sébastien Gross <seb•ɑƬ•chezwam•ɖɵʈ•org>
+
+This program is free software. It comes without any warranty, to the extent
+permitted by applicable law. You can redistribute it and/or modify it under
+the terms of the Do What The Fuck You Want To Public License, Version 2, as
+published by Sam Hocevar. See http://sam.zoy.org/wtfpl/COPYING for more
+details.
+
+This file may be distributed and/or modified under the conditions of
+the LaTeX Project Public License, either version 1.3c 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.3c or later is part of all distributions of LaTeX
+version 2006/05/20 or later.
+
+\endpreamble%
+\let\MetaPrefix\DoubleperCent
+
+
+\generate{\file{tikz-page.sty}{\from{tikz-page.dtx}{tikz-page}}}
+
+\obeyspaces
+\Msg{*************************************************************}
+\Msg{* *}
+\Msg{* To finish the installation you have to move the following *}
+\Msg{* file into a directory searched by TeX: *}
+\Msg{* *}
+\Msg{* tikz-page.sty *}
+\Msg{* *}
+\Msg{* To produce the documentation run the file mypackage.dtx *}
+\Msg{* through LaTeX. *}
+\Msg{* *}
+\Msg{* Happy TeXing! *}
+\Msg{* *}
+\Msg{*************************************************************}
+\endbatchfile
+%</install>
+%<*ignore>
+\fi
+%</ignore>
+%<*driver>
+\ProvidesFile{tikz-page.drv}
+\documentclass{ltxdoc}
+\EnableCrossrefs
+\CodelineIndex
+\RecordChanges
+\usepackage[english]{babel}
+\usepackage[T1]{fontenc}
+\usepackage[utf8]{inputenc}
+\usepackage{tcolorbox}
+\tcbuselibrary{listings,documentation}
+\tcbuselibrary{documentation,listings,minted}
+\tcbuselibrary{breakable}
+\tcbuselibrary{skins,raster}
+\tcbset{listing engine=minted}
+\usepackage{url}
+\usepackage{minted}
+\usepackage{calc}
+\usepackage{makeidx}
+\usepackage[textpos]{tikz-page}
+\renewcommand{\headrulewidth}{0pt}
+\makeindex
+\definecolor{halfgray}{gray}{0.55}
+\newcommand\anglei{-45}
+\newcommand\angleii{45}
+\newcommand\angleiii{225}
+\newcommand\angleiv{135}
+\newcommand{\pagedecoration}{
+ \tpflip{
+ \coordinate (aux1) at ([yshift=-15pt]page.northeast);
+ \coordinate (aux2) at ([yshift=-410pt]page.northeast);
+ \coordinate (aux3) at ([xshift=-4.5cm]page.northeast);
+ \coordinate (aux4) at ([yshift=-150pt]page.northeast);
+ }{
+ \coordinate (aux1) at ([yshift=-15pt]page.northwest);
+ \coordinate (aux2) at ([yshift=-410pt]page.northwest);
+ \coordinate (aux3) at ([xshift=4.5cm]page.northwest);
+ \coordinate (aux4) at ([yshift=-150pt]page.northwest);
+ \renewcommand\anglei{-135}
+ \renewcommand\angleii{135}
+ \renewcommand\angleiii{-45}
+ \renewcommand\angleiv{45}
+ }
+ \begin{scope}[halfgray!40,line width=12pt,rounded corners=12pt]
+ \draw (aux1) -- coordinate (a) ++(\angleiii:5) -- ++(\anglei:5.1) coordinate (b);
+ \draw[shorten <= -10pt] (aux3) -- (a) -- (aux1);
+ \draw[opacity=0.6,halfgray,shorten <= -10pt] (b) -- ++(\angleiii:2.2) -- ++(\anglei:2.2);
+ \end{scope}
+ \draw[halfgray,line width=8pt,rounded corners=8pt,shorten <= -10pt]
+ (aux4) -- ++(\angleiii:0.8) -- ++(\anglei:0.8);
+ \begin{scope}[halfgray!70,line width=6pt,rounded corners=8pt]
+ \draw[shorten <= -10pt] (aux2) -- ++(\angleiii:3) coordinate[pos=0.45] (c) -- ++(\anglei:3.1);
+ \draw (aux2) -- (c) -- ++(\angleiv:2.5) -- ++(\angleii:2.5) -- ++(\anglei:2.5) coordinate[pos=0.3] (d);
+ \draw (d) -- +(\angleii:1);
+ \end{scope}
+}
+
+\newcommand{\tikzpagelayout}{
+ \pagedecoration
+ \node [,outer sep=0,inner sep=0,anchor=base] at (page.footer center) {\thepage};
+ \node [,outer sep=0,inner sep=0,anchor=base, rotate=90, color=black!10] at (page.left south) {\footnotesize{tikz-page \pkgfileversion}};
+}
+\fancypagestyle{plain}{
+ \fancyhf{}
+ \chead{\tikzpage}
+}
+\fancypagestyle{titlepage}{
+ \fancyhf{}
+ \chead{\tikzpage}
+}
+\pagestyle{plain}
+\begin{document}
+\DocInput{tikz-page.dtx}
+\printindex
+
+\end{document}
+%</driver>
+%<*README>
+
+%</README>
+
+% \fi
+
+% \iffalse
+%% DeclareTCBListing{macrocode} leave a blank line after code.
+% \fi
+
+% \expandafter \let \csname macrocode\endcsname \relax \expandafter \let \csname endmacrocode\endcsname \relax
+% \expandafter \let \csname macrocode*\endcsname \relax \expandafter \let \csname endmacrocode*\endcsname \relax
+% \newminted[macrocode]{latex}{breaklines,breakafter=()/+-\\,baselinestretch=0.5,fontsize=\footnotesize,linenos,numbersep=3mm,firstnumber=last}
+%
+% \BeforeBeginEnvironment{macrocode}{%
+% \begin{tcolorbox}[boxrule=0.1pt,colframe=red!75!black,left=8mm,width=\linewidth,breakable=true,colback=white,enhanced]}
+% \AfterEndEnvironment{macrocode}{\end{tcolorbox}}%
+
+
+% \newminted[example]{latex}{breaklines,breakafter=()/+-\\,baselinestretch=0.5,fontsize=\footnotesize}
+% \BeforeBeginEnvironment{example}{%
+% \begin{tcolorbox}[boxrule=0.1pt,colframe=red!75!black,left=8mm,width=\linewidth,breakable=true,colback=white,enhanced]}
+% \AfterEndEnvironment{example}{\end{tcolorbox}}%
+
+% \tcbset{
+% tpexample/.style = {%
+% enhanced jigsaw,
+% lower separated=false,
+% leftlower=0pt,
+% rightlower=0pt,
+% boxrule=0.1pt,
+% breakable=true,
+% colframe=red!75!black,
+% colback=white,
+% listing engine=minted,
+% minted options={breaklines,breakafter=()/+-\\,baselinestretch=0.5,fontsize=\footnotesize},
+% listing and comment,
+% pdf comment,
+% compilable listing,
+% run pdflatex}
+% }
+
+
+% \iffalse
+%<*tikz-page>
+% \fi
+\def\pkgfileversion{1.0}
+\def\pkgfiledate{2016/08/22}
+% \iffalse
+%</tikz-page>
+% \fi
+
+% \title{the \textsc{tikz-page} package }
+% \author {Sébastien Gross <seb chezwam org>}
+% \date{This file describes version \pkgfileversion\ (\pkgfiledate)}
+% \maketitle
+% \tableofcontents
+
+
+% \section{Introduction}
+
+% There are many ways to embelish a page with \LaTeX. One of the most
+% easiest way is to use |fancyhdr| which allows to redefine both headers and
+% footer. The |geometry| package is also useful to setup correct margins. If
+% you need to put some background materials this might become painful,
+% especially if you need your background to reach the page borders.
+
+% There are some trick that help you in this task. |tikz-page| helps you in
+% this way by the use of semeral mechanisms. Either you can use plain |tikz|
+% picture on the background of your page, or use the \meta{textpos} option
+% which enables absolute |textpos| positionning. Each method has its
+% benefits and nuisances. With |tikz| you have to compile your document
+% twice (which can be painful while you are designing your page layout) and
+% with |textpos| you can get some incompatibility issues (please refer to
+% |textpos| documentation).
+
+% |tikz-page| is trying to give you best of both world by creating a new
+% page object in a |tikzpicture| with many anchors. So you can easily place
+% your page material at its correct position.
+
+
+% \section{Usage}
+
+% Basically you only need to add \mintinline{latex}{\usepackage{tikz-page}}
+% at the begining of your document. Then you have to declare a
+% \docAuxCommand{tikzpagelayout} command which is executed inside the
+% background |tikzpicture|. Thus you can access the |page| shape and all its
+% anchors. For example the following simple example add the page number to
+% the footer center:
+
+% \iffalse
+%<*example>
+% \fi
+% \begin{example}
+\newcommand{tikzpagelayout}{%
+ \node [outer sep=0,inner sep=0,anchor=base] at (page.footer center) {\thepage};
+}
+% \end{example}
+% \iffalse
+%</example>
+% \fi
+
+
+% If you want to simulate the default |fancyhdr| behaviour you can define the
+% \docAuxCommand{tikzpagelayout} as following:
+
+
+% \iffalse
+%<*example>
+% \fi
+% \begin{example}
+\newcommand{tikzpagelayout}{%
+ \node [outer sep=0,inner sep=0, anchor=mid east] at (page.header east) {\tpflip{\sl\leftmark}{\sl\rightmark}};
+ \node [outer sep=0,inner sep=0, anchor=mid west] at (page.header west) {\tpflip{\sl\rightmark}{\sl\leftmark}};
+ \node [,outer sep=0,inner sep=0,anchor=base] at (page.footer center) {\thepage};
+% \end{example}
+% \iffalse
+%</example>
+% \fi
+
+% A minimum working example:
+% \iffalse
+%<*example>
+% \fi
+%\begin{tcblisting}{tpexample}
+\documentclass{article}
+\usepackage{tikz-page}
+\usepackage{lipsum}
+\newcommand{\tikzpagelayout}{
+ \tpshowframes
+ \tikzpageputanchors
+}
+\pagestyle{plain}
+\begin{document}
+\lipsum
+\end{document}
+% \end{tcblisting}
+% \iffalse
+%</example>
+% \fi
+
+
+% A more complex example\cite{Graphical Decoration}:
+% \iffalse
+%<*example>
+% \fi
+%\begin{tcblisting}{tpexample}
+\documentclass{article}
+\usepackage{tikz-page}
+\usepackage{lipsum}
+\definecolor{halfgray}{gray}{0.55}
+\newcommand\anglei{-45}
+\newcommand\angleii{45}
+\newcommand\angleiii{225}
+\newcommand\angleiv{135}
+\newcommand{\tikzpagelayout}{
+ \tpflip{
+ \coordinate (aux1) at ([yshift=-15pt]page.northeast);
+ \coordinate (aux2) at ([yshift=-410pt]page.northeast);
+ \coordinate (aux3) at ([xshift=-4.5cm]page.northeast);
+ \coordinate (aux4) at ([yshift=-150pt]page.northeast);
+ }{
+ \coordinate (aux1) at ([yshift=-15pt]page.northwest);
+ \coordinate (aux2) at ([yshift=-410pt]page.northwest);
+ \coordinate (aux3) at ([xshift=4.5cm]page.northwest);
+ \coordinate (aux4) at ([yshift=-150pt]page.northwest);
+ \renewcommand\anglei{-135}
+ \renewcommand\angleii{135}
+ \renewcommand\angleiii{-45}
+ \renewcommand\angleiv{45}
+ }
+ \begin{scope}[halfgray!40,line width=12pt,rounded corners=12pt]
+ \draw (aux1) -- coordinate (a) ++(\angleiii:5) -- ++(\anglei:5.1) coordinate (b);
+ \draw[shorten <= -10pt] (aux3) -- (a) -- (aux1);
+ \draw[opacity=0.6,halfgray,shorten <= -10pt] (b) -- ++(\angleiii:2.2) -- ++(\anglei:2.2);
+ \end{scope}
+ \draw[halfgray,line width=8pt,rounded corners=8pt,shorten <= -10pt]
+ (aux4) -- ++(\angleiii:0.8) -- ++(\anglei:0.8);
+ \begin{scope}[halfgray!70,line width=6pt,rounded corners=8pt]
+ \draw[shorten <= -10pt] (aux2) -- ++(\angleiii:3) coordinate[pos=0.45] (c) -- ++(\anglei:3.1);
+ \draw (aux2) -- (c) -- ++(\angleiv:2.5) -- ++(\angleii:2.5) -- ++(\anglei:2.5) coordinate[pos=0.3] (d);
+ \draw (d) -- +(\angleii:1);
+ \end{scope}
+}
+\pagestyle{plain}
+\begin{document}
+\lipsum
+\end{document}
+% \end{tcblisting}
+% \iffalse
+%</example>
+% \fi
+
+
+
+% \iffalse
+%<*tikz-page>
+% \fi
+
+% \iffalse
+%% Reset the FancyVerbLine counter to have the correct lines number in front
+%% of implementation.
+% \fi
+% \setcounter{FancyVerbLine}{0}
+
+% \section{Implementation}
+
+% \begin{macrocode}
+\NeedsTeXFormat{LaTeX2e}
+\ProvidesPackage{tikz-page}[\pkgfiledate\space (v\pkgfileversion)]
+% \end{macrocode}
+
+% The \meta{textpos} option can be used if you want to use |textpos|
+% \meta{overlay} option instead of |current page| to position the page
+% layout. Beware that |textpos| with \meta{overlay} option maybe incompatible
+% with some other packages. On the other hand |tikz| |current page| requires
+% at least 2 compilation to work correctly. Thus you might want to use
+% \meta{textpos} at conception time and remove this option for your final
+% build or if you have incompatibility issues.
+
+% \begin{macrocode}
+\newif\if@tp@use@textpos\@tp@use@textposfalse
+\DeclareOption{textpos}{\@tp@use@textpostrue}
+\ProcessOptions
+
+\if@tp@use@textpos
+\RequirePackage[absolute]{textpos}
+\fi
+% \end{macrocode}
+
+% \begin{macrocode}
+\RequirePackage{fancyhdr}
+\RequirePackage{tikz}
+\usetikzlibrary{plotmarks,calc,shapes,positioning,decorations.text}
+\RequirePackage{graphicx}
+\RequirePackage{calc}
+% \end{macrocode}
+
+
+\makeatletter
+
+% All margin sizes are defined in\docLength{@tp@left@margin},
+% \docLength{@tp@right@margin}, \docLength{@tp@top@margin},
+% \docLength{@tp@bottom@margin} their values are computed by the
+% \refCom{tp@compute@margins}.
+
+% \begin{macrocode}
+\newlength{\@tp@left@margin}
+\newlength{\@tp@right@margin}
+\newlength{\@tp@top@margin}
+\newlength{\@tp@bottom@margin}
+% \end{macrocode}
+
+
+% \begin{docCommand}{@tp@create@length}{\marg{block name}\marg{length name}}
+
+% Generate a \cs{tp@\meta{block name}@\meta{length name}} length. This
+% command is intended to be only used to create block length defined below.
+
+% \begin{macrocode}
+\newcommand\@tp@create@length[2]{%
+ \expandafter\newskip\csname tp@#1@#2\endcsname%
+}%
+% \end{macrocode}
+% \end{docCommand}
+%
+
+% For each standard blocks in the page (|page|, |body|, |marginpar|,
+% |header|, |footer|) and additionnal blocks (|top|, |right|, |bottom|,
+% |left|), 6 lenths are computed in order to define their anchors. Each
+% length is defined using the \refCom{@tp@create@length} macro.
+
+% \begin{macrocode}
+\foreach\@@tp@element in {page,body,marginpar,header,footer,top,right,bottom,left}{%
+ \foreach\@@tp@len in {xmin,xmax,xmid,ymin,ymax,ymid}{%
+ \@tp@create@length{\@@tp@element}{\@@tp@len}%
+}}%
+% \end{macrocode}
+
+% \begin{docCommand}{tcflip}{\marg{odd page code}\marg{even page code}}
+% Execute \meta{odd page even code} on odd pages and \meta{even page code}
+% on even ones.
+% \end{docCommand}
+% \begin{macrocode}
+\newcommand{\tpflip}[2]{\ifodd\thepage#1\else#2\fi}
+% \end{macrocode}
+
+% \begin{docCommand}{tp@compute@margins}{}
+%
+% This is where the magic happens. This command sets all \cs{tp@\meta{block
+% name}@\meta{length name}} lengths.
+%
+% \end{docCommand}
+
+% \begin{macrocode}
+\def\tp@compute@margins{%
+ \setlength{\tp@page@xmin}{0pt}%
+ \setlength{\tp@page@ymin}{0pt}%
+ \setlength{\tp@page@xmax}{\paperwidth}%
+ \setlength{\tp@page@ymax}{\paperheight}%
+ \setlength{\tp@page@xmid}{\dimexpr(\tp@page@xmin+\tp@page@xmax)/2\relax}%
+ \setlength{\tp@page@ymid}{\dimexpr(\tp@page@ymin+\tp@page@ymax)/2\relax}%
+ %
+ \setlength\@tp@left@margin{\dimexpr(1in+\hoffset+\tpflip{\oddsidemargin}{\evensidemargin})\relax}%
+ \setlength\@tp@right@margin{\dimexpr(\paperwidth-\@tp@left@margin-\textwidth)\relax}%
+ \setlength\@tp@top@margin{\dimexpr(1in+\voffset+\topmargin+\headheight+\headsep)\relax}%
+ \setlength\@tp@bottom@margin{\dimexpr(\paperheight-(\textheight+\@tp@top@margin))\relax}%
+ %% Body computation
+ \setlength\tp@body@xmin{\dimexpr\tp@page@xmin+\@tp@left@margin\relax}%
+ \setlength\tp@body@xmax{\dimexpr\tp@page@xmax-\@tp@right@margin\relax}%
+ \setlength\tp@body@xmid{\dimexpr((\tp@body@xmax+\tp@body@xmin)/2)\relax}%
+ \setlength\tp@body@ymax{\dimexpr(\tp@page@ymax-\@tp@top@margin)\relax}%
+ \setlength\tp@body@ymin{\dimexpr\tp@body@ymin+\@tp@bottom@margin\relax}%
+ \setlength\tp@body@ymid{\dimexpr(\tp@body@ymin+(\tp@body@ymax-\tp@body@ymin)/2)\relax}%
+ %
+ %% Margin computation
+ %
+ \tpflip{%
+ \setlength\tp@marginpar@xmin{\dimexpr\tp@body@xmax+\marginparsep\relax}
+ \setlength\tp@marginpar@xmax{\dimexpr\tp@marginpar@xmin+\marginparwidth\relax}%
+ }{%
+ \setlength\tp@marginpar@xmax{\dimexpr\tp@body@xmin-\marginparsep\relax}%
+ \setlength\tp@marginpar@xmin{\dimexpr\tp@marginpar@xmax-\marginparwidth\relax}%
+ }%
+ \setlength\tp@marginpar@xmid{\dimexpr((\tp@marginpar@xmax+\tp@marginpar@xmin)/2)\relax}%
+ \setlength\tp@marginpar@ymax{\tp@body@ymax}%
+ \setlength\tp@marginpar@ymin{\tp@body@ymin}%
+ \setlength\tp@marginpar@ymid{\tp@body@ymid}%
+ %
+ %% header
+ %
+ \setlength\tp@header@xmax{\tp@body@xmax}%
+ \setlength\tp@header@xmin{\tp@body@xmin}%
+ \setlength\tp@header@xmid{\tp@body@xmid}%
+ \setlength\tp@header@ymin{\dimexpr\tp@body@ymax+\headsep\relax}%
+ \setlength\tp@header@ymax{\dimexpr\tp@header@ymin+\headheight\relax}%
+ \setlength\tp@header@ymid{\dimexpr((\tp@header@ymax+\tp@header@ymin)/2)\relax}%
+ %
+ %% footer
+ %
+ \setlength\tp@footer@xmax{\tp@body@xmax}%
+ \setlength\tp@footer@xmin{\tp@body@xmin}%
+ \setlength\tp@footer@xmid{\tp@body@xmid}%
+ \setlength\tp@footer@ymin{\dimexpr\tp@body@ymin-\footskip\relax}%
+ \setlength\tp@footer@ymax{\tp@footer@ymin}%
+ \setlength\tp@footer@ymid{\dimexpr((\tp@footer@ymax+\tp@footer@ymin)/2)\relax}%
+ %%
+ %% blocks%
+ %%
+ \setlength\tp@top@xmin{\tp@page@xmin}%
+ \setlength\tp@top@xmax{\tp@page@xmax}%
+ \setlength\tp@top@xmid{\dimexpr((\tp@top@xmax+\tp@top@xmin)/2)\relax}%
+ \setlength\tp@top@ymin{\tp@body@ymax}%
+ \setlength\tp@top@ymax{\tp@page@ymax}%
+ \setlength\tp@top@ymid{\dimexpr((\tp@top@ymax+\tp@top@ymin)/2)\relax}%
+ %%
+ \setlength\tp@bottom@xmin{\tp@page@xmin}%
+ \setlength\tp@bottom@xmax{\tp@page@xmax}%
+ \setlength\tp@bottom@xmid{\dimexpr((\tp@bottom@xmax+\tp@bottom@xmin)/2)\relax}%
+ \setlength\tp@bottom@ymin{\tp@page@ymin}%
+ \setlength\tp@bottom@ymax{\tp@body@ymin}%
+ \setlength\tp@bottom@ymid{\dimexpr((\tp@bottom@ymax+\tp@bottom@ymin)/2)\relax}%
+ %%
+ \setlength\tp@left@xmin{\tp@page@xmin}%
+ \setlength\tp@left@xmax{\tp@body@xmin}%
+ \setlength\tp@left@xmid{\dimexpr((\tp@left@xmax+\tp@left@xmin)/2)\relax}%
+ \setlength\tp@left@ymin{\tp@body@ymin}%
+ \setlength\tp@left@ymax{\tp@body@ymax}%
+ \setlength\tp@left@ymid{\dimexpr((\tp@left@ymax+\tp@left@ymin)/2)\relax}%
+ %%
+ \setlength\tp@right@xmin{\tp@body@xmax}%
+ \setlength\tp@right@xmax{\tp@page@xmax}%
+ \setlength\tp@right@xmid{\dimexpr((\tp@right@xmax+\tp@right@xmin)/2)\relax}%
+ \setlength\tp@right@ymin{\tp@body@ymin}%
+ \setlength\tp@right@ymax{\tp@body@ymax}%
+ \setlength\tp@right@ymid{\dimexpr((\tp@right@ymax+\tp@right@ymin)/2)\relax}%
+}%% \end{macrocode}
+
+% \begin{docCommand}{@tp@genanchors}{\marg{block name}}
+% Generate all 9 anchors (|northwest|, |north|, |northest|, |west|,
+% |center|, |east|, |southwest|, |south|, |southest|) for \meta{block name}.
+% \end{docCommand}
+
+% \begin{macrocode}
+\def\@tp@genanchors#1{%
+ \anchor{#1 north}{\pgf@x=\csname tp@#1@xmid\endcsname \pgf@y=\csname tp@#1@ymax\endcsname}%
+ \anchor{#1 south}{\pgf@x=\csname tp@#1@xmid\endcsname \pgf@y=\csname tp@#1@ymin\endcsname}%
+ \anchor{#1 west}{\pgf@x=\csname tp@#1@xmin\endcsname \pgf@y=\csname tp@#1@ymid\endcsname}%
+ \anchor{#1 northwest}{\pgf@x=\csname tp@#1@xmin\endcsname \pgf@y=\csname tp@#1@ymax\endcsname}%
+ \anchor{#1 southwest}{\pgf@x=\csname tp@#1@xmin\endcsname \pgf@y=\csname tp@#1@ymin\endcsname}%
+ \anchor{#1 east}{\pgf@x=\csname tp@#1@xmax\endcsname \pgf@y=\csname tp@#1@ymid\endcsname}%
+ \anchor{#1 northeast}{\pgf@x=\csname tp@#1@xmax\endcsname \pgf@y=\csname tp@#1@ymax\endcsname}%
+ \anchor{#1 southeast}{\pgf@x=\csname tp@#1@xmax\endcsname \pgf@y=\csname tp@#1@ymin\endcsname}%
+ \anchor{#1 center}{\pgf@x=\csname tp@#1@xmid\endcsname \pgf@y=\csname tp@#1@ymid\endcsname}%
+}%
+% \end{macrocode}
+
+% \begin{macrocode}
+\newcommand\tp@pgfdeclareanchoralias[3]{%
+ \expandafter\def\csname pgf@anchor@#1@#3\expandafter\endcsname
+ \expandafter{\csname pgf@anchor@#1@#2\endcsname}}
+% \end{macrocode}
+
+% \begin{macrocode}
+\pgfdeclareshape{page}{
+ \backgroundpath{
+ \pgfpathmoveto{\pgfpoint{\tp@page@xmin}{\tp@page@ymin}}
+ \pgfpathlineto{\pgfpoint{\tp@page@xmin}{\tp@page@ymax}}
+ \pgfpathlineto{\pgfpoint{\tp@page@xmax}{\tp@page@ymax}}
+ \pgfpathlineto{\pgfpoint{\tp@page@xmax}{\tp@page@xmin}}
+ \pgfpathclose
+ }
+ %% basic anchors
+ \anchor{north}{\pgf@x=\tp@page@xmid \pgf@y=\tp@page@ymax}%
+ \anchor{south}{\pgf@x=\tp@page@xmid \pgf@y=\tp@page@ymin}%
+ \anchor{west}{\pgf@x=\tp@page@xmin \pgf@y=\tp@page@ymid}%
+ \anchor{northwest}{\pgf@x=\tp@page@xmin \pgf@y=\tp@page@ymax}%
+ \anchor{southwest}{\pgf@x=\tp@page@xmin \pgf@y=\tp@page@ymin}%
+ \anchor{east}{\pgf@x=\tp@page@xmax \pgf@y=\tp@page@ymid}%
+ \anchor{northeast}{\pgf@x=\tp@page@xmax \pgf@y=\tp@page@ymax}%
+ \anchor{southeast}{\pgf@x=\tp@page@xmax \pgf@y=\tp@page@ymin}%
+ %\anchor{center}{\pgfpointorigin}
+ \anchor{center}{\pgf@x=\tp@page@xmid \pgf@y=\tp@page@ymid}
+ \anchor{origin}{\pgfpointorigin}%\pgf@x=0pt \pgf@y=0pt}
+ \@tp@genanchors{page}
+ %% Body anchors
+ \@tp@genanchors{body}
+ \@tp@genanchors{marginpar}
+ \@tp@genanchors{header}
+ \@tp@genanchors{footer}
+ \@tp@genanchors{top}
+ \@tp@genanchors{bottom}
+ \@tp@genanchors{left}
+ \@tp@genanchors{right}
+}
+% \end{macrocode}
+
+
+%Create a new |tpx| mark to show anchor location when using
+%\refCom{tikzpageputanchors} to display anchors on the page.
+%
+% \begin{macrocode}
+\newdimen\tp@linewidth
+\newdimen\tp@marksize
+\setlength\tp@marksize{3pt}
+\pgfdeclareplotmark{tpx}{
+ \setlength{\tp@linewidth}{\pgflinewidth}
+ \pgfsetlinewidth{0.1pt}
+ \pgfpathmoveto{\pgfpoint{-\tp@marksize}{-\tp@marksize}}
+ \pgfpathlineto{\pgfpoint{\tp@marksize}{\tp@marksize}}
+ \pgfpathmoveto{\pgfpoint{-\tp@marksize}{\tp@marksize}}
+ \pgfpathlineto{\pgfpoint{\tp@marksize}{-\tp@marksize}}
+ \pgfusepathqstroke
+ \setlength{\pgflinewidth}{\tp@linewidth}
+}
+% \end{macrocode}
+
+
+% Anchors can be displayed block by block (using
+% \cs{tikzpageputanchorsdefaults}, \cs{tikzpageputanchors}
+% \cs{tikzpageputanchorsmarginpar}, \cs{tikzpageputanchorsheader},
+% \cs{tikzpageputanchorsfooter}, \cs{tikzpageputanchorstop},
+% \cs{tikzpageputanchorsright}, \cs{tikzpageputanchorsbottom},
+% \cs{tikzpageputanchorsleft}) or globally (using \refCom{tikzpageputanchors}).
+
+% \begin{macrocode}
+\def\tikzpageputanchorsdefaults{
+ \foreach \anchor/\placement in {%
+ northwest/below right%
+ ,north/below%
+ ,northeast/below left%
+ ,west/right%
+ ,center/below%
+ ,east/left%
+ ,southwest/above right%
+ ,south/above%
+ ,southeast/above left%
+ } \draw[red,shift=(page.\anchor)] plot[mark=tpx%% my plot mark
+ ] coordinates{(0,0)}
+ node[blue,\placement] {\scriptsize\texttt{(page.\anchor)}};
+}
+
+\def\tikzpageputanchorsbody{
+ \foreach \anchor/\placement in {%
+ body northwest/below right%
+ ,body north/below%
+ ,body northeast/below left%
+ ,body west/right%
+ ,body center/below%
+ ,body east/left%
+ ,body southwest/above right%
+ ,body south/above%
+ ,body southeast/above left%
+ } \draw[red,shift=(page.\anchor)] plot[mark=tpx%% my plot mark
+ ] coordinates{(0,0)}
+ node[blue,\placement] {\scriptsize\texttt{(page.\anchor)}};
+}
+
+
+\def\tikzpageputanchorsmarginpar{
+ \foreach \anchor/\placement in {%
+ marginpar northwest/below left%
+ ,marginpar north/left%
+ ,marginpar northeast/above left%
+ ,marginpar west/below%
+ ,marginpar center/below%
+ ,marginpar east/above%
+ ,marginpar southwest/below right%
+ ,marginpar south/right%
+ ,marginpar southeast/above right%
+ } \draw[red,shift=(page.\anchor)] plot[mark=tpx%% my plot mark
+ ] coordinates{(0,0)}
+ node[blue,\placement, rotate=90] {\scriptsize\texttt{(page.\anchor)}};
+}
+
+
+\def\tikzpageputanchorsheader{
+ \foreach \anchor/\placement in {%
+ header northwest/above right%
+ ,header north/above%
+ ,header northeast/above left%
+ ,header west/right%
+ ,header center/right%
+ ,header east/left%
+ ,header southwest/below right%
+ ,header south/below%
+ ,header southeast/below left%
+ } \draw[red,shift=(page.\anchor)] plot[mark=tpx%% my plot mark
+ ] coordinates{(0,0)}
+ node[blue,\placement] {\scriptsize\texttt{(page.\anchor)}};
+}
+
+
+\def\tikzpageputanchorsfooter{
+ \foreach \anchor/\placement in {%
+ footer northwest/above right%
+ ,footer north/above%
+ ,footer northeast/above left%
+ ,footer west/right%
+ ,footer center/right%
+ ,footer east/left%
+ ,footer southwest/below right%
+ ,footer south/below%
+ ,footer southeast/below left%
+ } \draw[red,shift=(page.\anchor)] plot[mark=tpx%% my plot mark
+ ] coordinates{(0,0)}
+ node[blue,\placement] {\scriptsize\texttt{(page.\anchor)}};
+}
+
+\def\tikzpageputanchorstop{
+ \foreach \anchor/\placement in {%
+ top northwest/below right%
+ ,top north/below%
+ ,top northeast/below left%
+ ,top west/right%
+ ,top center/below%
+ ,top east/left%
+ ,top southwest/above right%
+ ,top south/above%
+ ,top southeast/above left%
+ } \draw[red,shift=(page.\anchor)] plot[mark=tpx%% my plot mark
+ ] coordinates{(0,0)}
+ node[blue,\placement] {\scriptsize\texttt{(page.\anchor)}};
+}
+
+
+\def\tikzpageputanchorsbottom{
+ \foreach \anchor/\placement in {%
+ bottom northwest/below right%
+ ,bottom north/below%
+ ,bottom northeast/below left%
+ ,bottom west/right%
+ ,bottom center/below%
+ ,bottom east/left%
+ ,bottom southwest/above right%
+ ,bottom south/above%
+ ,bottom southeast/above left%
+ } \draw[red,shift=(page.\anchor)] plot[mark=tpx%% my plot mark
+ ] coordinates{(0,0)}
+ node[blue,\placement] {\scriptsize\texttt{(page.\anchor)}};
+}
+
+
+\def\tikzpageputanchorsleft{
+ \foreach \anchor/\placement in {%
+ left northwest/below left%
+ ,left north/left%
+ ,left northeast/above left%
+ ,left west/below%
+ ,left center/below%
+ ,left east/above%
+ ,left southwest/below right%
+ ,left south/right%
+ ,left southeast/above right%
+ } \draw[red,shift=(page.\anchor)] plot[mark=tpx%% my plot mark
+ ] coordinates{(0,0)}
+ node[blue,\placement, rotate=90] {\scriptsize\texttt{(page.\anchor)}};
+}
+
+\def\tikzpageputanchorsright{
+ \foreach \anchor/\placement in {%
+ right northwest/below left%
+ ,right north/left%
+ ,right northeast/above left%
+ ,right west/below%
+ ,right center/below%
+ ,right east/above%
+ ,right southwest/below right%
+ ,right south/right%
+ ,right southeast/above right%
+ } \draw[red,shift=(page.\anchor)] plot[mark=tpx%% my plot mark
+ ] coordinates{(0,0)}
+ node[blue,\placement, rotate=90] {\scriptsize\texttt{(page.\anchor)}};
+}
+% \end{macrocode}
+
+% \begin{docCommand}{tikzpageputanchors}{}
+% A simple short hand to display all anchors at once.
+% \end{docCommand}
+% \begin{macrocode}
+\def\tikzpageputanchors{
+ \tikzpageputanchorsdefaults
+ \tikzpageputanchorsbody
+ \tikzpageputanchorsmarginpar
+ \tikzpageputanchorsheader
+ \tikzpageputanchorsfooter
+ \tikzpageputanchorstop
+ \tikzpageputanchorsbottom
+ \tikzpageputanchorsleft
+ \tikzpageputanchorsright
+}
+% \end{macrocode}
+
+
+
+% \begin{docCommand}{tpshowframes}{}
+%
+% Display |top|, |right|, |bottom| and |left| block using a specific
+% background. This can be used in conjunction with \refCom{tikzpageputanchors} for
+% debuging purposes.
+%
+% \end{docCommand}
+% \begin{macrocode}
+\def\tpshowframes{
+ \draw[fill=blue!50, opacity=.3, draw] (page.bottom northwest) rectangle (page.bottom southeast);
+ \draw[fill=yellow!50, opacity=.3, draw] (page.top northwest) rectangle (page.top southeast);
+ \draw[fill=red!50, opacity=.3, draw] (page.left northwest) rectangle (page.left southeast);
+ \draw[fill=green!50, opacity=.3, draw] (page.right northwest) rectangle (page.right southeast);
+}
+% \end{macrocode}
+
+
+% \begin{docCommand}{tpfancyhdrdefault}{}
+% An example to display headers and footer as |fancyhdr| does.
+% \end{docCommand}
+% \begin{macrocode}
+\def\tpfancyhdrdefault{
+ \node [outer sep=0,inner sep=0, anchor=mid] at (page.header center) {};
+ \node [outer sep=0,inner sep=0, anchor=mid east] at (page.header east) {\tpflip{\sl\leftmark}{\sl\rightmark}};
+ \node [outer sep=0,inner sep=0, anchor=mid west] at (page.header west) {\tpflip{\sl\rightmark}{\sl\leftmark}};
+ \node [outer sep=0,inner sep=0, anchor=base east] at (page.footer east) {};
+ \node [,outer sep=0,inner sep=0,anchor=base] at (page.footer center) {\thepage};
+ \node [outer sep=0,inner sep=0, anchor=base west] at (page.footer west) {};
+}
+% \end{macrocode}
+
+% \begin{docCommand}{tikzpage}{}
+% Generate a |tikzpicture| for the whole page. if a \cs{tikzpagelayout}
+% command exists, it will be executed.
+% \end{docCommand}
+% \begin{macrocode}
+\newcommand{\tikzpage}{
+ \if@tp@use@textpos
+ \begin{textblock*}{\textwidth}[0,0](0pt,0pt)%
+ \fi
+ \tp@compute@margins%
+ \if@tp@use@textpos
+ \begin{tikzpicture}[]%
+ \clip (0,0) rectangle (\paperwidth, \paperheight);
+ \else
+ \begin{tikzpicture}[remember picture, overlay]%
+ \fi
+ \if@tp@use@textpos
+ \node[anchor=origin,shape=page] (page) {};
+ \else
+ \node[anchor=origin,shape=page] (page) at (current page.south west) {};
+ \fi
+ \@ifundefined{tikzpagelayout}{}{\tikzpagelayout}
+ \end{tikzpicture}%
+ \if@tp@use@textpos
+ \end{textblock*}%
+ \fi
+}
+% \end{macrocode}
+
+
+\fancypagestyle{plain}{
+ \fancyhf{}
+ \chead{\tikzpage}
+}
+\fancypagestyle{empty}{
+ \fancyhf{}
+ \chead{\tikzpage}
+}
+
+
+%
+\makeatother
+% \iffalse
+%</tikz-page>
+% \fi
+%
+% \Finale
+%
+%
+% \iffalse
+% <*example>
+% \fi
+% \begin{thebibliography}{9}
+
+% \bibitem{Graphical Decoration} Trying to do graphical decorations in
+% “ClassicThesis style” \url{http://tex.stackexchange.com/questions/86294}
+% \end{thebibliography}
+% \iffalse
+% </example>
+% \fi
+
+\endinput
diff --git a/Master/texmf-dist/tex/latex/tikz-page/tikz-page.sty b/Master/texmf-dist/tex/latex/tikz-page/tikz-page.sty
new file mode 100644
index 00000000000..c6132d9a087
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/tikz-page/tikz-page.sty
@@ -0,0 +1,452 @@
+%%
+%% This is file `tikz-page.sty',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% tikz-page.dtx (with options: `tikz-page')
+%% This is a generated file.
+%%
+%% Copyright ^^c2^^a9 2016 by S^^c3^^a9bastien Gross <seb^^e2^^80^^a2^^c9^^91^^c6^^ac^^e2^^80^^a2chezwam^^e2^^80^^a2^^c9^^96^^c9^^b5^^ca^^88^^e2^^80^^a2org>
+%%
+%% This program is free software. It comes without any warranty, to the extent
+%% permitted by applicable law. You can redistribute it and/or modify it under
+%% the terms of the Do What The Fuck You Want To Public License, Version 2, as
+%% published by Sam Hocevar. See http://sam.zoy.org/wtfpl/COPYING for more
+%% details.
+%%
+%% This file may be distributed and/or modified under the conditions of
+%% the LaTeX Project Public License, either version 1.3c 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.3c or later is part of all distributions of LaTeX
+%% version 2006/05/20 or later.
+%%
+
+
+%% DeclareTCBListing{macrocode} leave a blank line after code.
+
+
+
+
+\def\pkgfileversion{1.0}
+\def\pkgfiledate{2016/08/22}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+%% Reset the FancyVerbLine counter to have the correct lines number in front
+%% of implementation.
+
+
+\NeedsTeXFormat{LaTeX2e}
+\ProvidesPackage{tikz-page}[\pkgfiledate\space (v\pkgfileversion)]
+
+
+\newif\if@tp@use@textpos\@tp@use@textposfalse
+\DeclareOption{textpos}{\@tp@use@textpostrue}
+\ProcessOptions
+
+\if@tp@use@textpos
+\RequirePackage[absolute]{textpos}
+\fi
+
+\RequirePackage{fancyhdr}
+\RequirePackage{tikz}
+\usetikzlibrary{plotmarks,calc,shapes,positioning,decorations.text}
+\RequirePackage{graphicx}
+\RequirePackage{calc}
+
+\makeatletter
+
+
+\newlength{\@tp@left@margin}
+\newlength{\@tp@right@margin}
+\newlength{\@tp@top@margin}
+\newlength{\@tp@bottom@margin}
+
+
+
+\newcommand\@tp@create@length[2]{%
+ \expandafter\newskip\csname tp@#1@#2\endcsname%
+}%
+
+
+\foreach\@@tp@element in {page,body,marginpar,header,footer,top,right,bottom,left}{%
+ \foreach\@@tp@len in {xmin,xmax,xmid,ymin,ymax,ymid}{%
+ \@tp@create@length{\@@tp@element}{\@@tp@len}%
+}}%
+
+\newcommand{\tpflip}[2]{\ifodd\thepage#1\else#2\fi}
+
+
+\def\tp@compute@margins{%
+ \setlength{\tp@page@xmin}{0pt}%
+ \setlength{\tp@page@ymin}{0pt}%
+ \setlength{\tp@page@xmax}{\paperwidth}%
+ \setlength{\tp@page@ymax}{\paperheight}%
+ \setlength{\tp@page@xmid}{\dimexpr(\tp@page@xmin+\tp@page@xmax)/2\relax}%
+ \setlength{\tp@page@ymid}{\dimexpr(\tp@page@ymin+\tp@page@ymax)/2\relax}%
+ %
+ \setlength\@tp@left@margin{\dimexpr(1in+\hoffset+\tpflip{\oddsidemargin}{\evensidemargin})\relax}%
+ \setlength\@tp@right@margin{\dimexpr(\paperwidth-\@tp@left@margin-\textwidth)\relax}%
+ \setlength\@tp@top@margin{\dimexpr(1in+\voffset+\topmargin+\headheight+\headsep)\relax}%
+ \setlength\@tp@bottom@margin{\dimexpr(\paperheight-(\textheight+\@tp@top@margin))\relax}%
+ %% Body computation
+ \setlength\tp@body@xmin{\dimexpr\tp@page@xmin+\@tp@left@margin\relax}%
+ \setlength\tp@body@xmax{\dimexpr\tp@page@xmax-\@tp@right@margin\relax}%
+ \setlength\tp@body@xmid{\dimexpr((\tp@body@xmax+\tp@body@xmin)/2)\relax}%
+ \setlength\tp@body@ymax{\dimexpr(\tp@page@ymax-\@tp@top@margin)\relax}%
+ \setlength\tp@body@ymin{\dimexpr\tp@body@ymin+\@tp@bottom@margin\relax}%
+ \setlength\tp@body@ymid{\dimexpr(\tp@body@ymin+(\tp@body@ymax-\tp@body@ymin)/2)\relax}%
+ %
+ %% Margin computation
+ %
+ \tpflip{%
+ \setlength\tp@marginpar@xmin{\dimexpr\tp@body@xmax+\marginparsep\relax}
+ \setlength\tp@marginpar@xmax{\dimexpr\tp@marginpar@xmin+\marginparwidth\relax}%
+ }{%
+ \setlength\tp@marginpar@xmax{\dimexpr\tp@body@xmin-\marginparsep\relax}%
+ \setlength\tp@marginpar@xmin{\dimexpr\tp@marginpar@xmax-\marginparwidth\relax}%
+ }%
+ \setlength\tp@marginpar@xmid{\dimexpr((\tp@marginpar@xmax+\tp@marginpar@xmin)/2)\relax}%
+ \setlength\tp@marginpar@ymax{\tp@body@ymax}%
+ \setlength\tp@marginpar@ymin{\tp@body@ymin}%
+ \setlength\tp@marginpar@ymid{\tp@body@ymid}%
+ %
+ %% header
+ %
+ \setlength\tp@header@xmax{\tp@body@xmax}%
+ \setlength\tp@header@xmin{\tp@body@xmin}%
+ \setlength\tp@header@xmid{\tp@body@xmid}%
+ \setlength\tp@header@ymin{\dimexpr\tp@body@ymax+\headsep\relax}%
+ \setlength\tp@header@ymax{\dimexpr\tp@header@ymin+\headheight\relax}%
+ \setlength\tp@header@ymid{\dimexpr((\tp@header@ymax+\tp@header@ymin)/2)\relax}%
+ %
+ %% footer
+ %
+ \setlength\tp@footer@xmax{\tp@body@xmax}%
+ \setlength\tp@footer@xmin{\tp@body@xmin}%
+ \setlength\tp@footer@xmid{\tp@body@xmid}%
+ \setlength\tp@footer@ymin{\dimexpr\tp@body@ymin-\footskip\relax}%
+ \setlength\tp@footer@ymax{\tp@footer@ymin}%
+ \setlength\tp@footer@ymid{\dimexpr((\tp@footer@ymax+\tp@footer@ymin)/2)\relax}%
+ %%
+ %% blocks%
+ %%
+ \setlength\tp@top@xmin{\tp@page@xmin}%
+ \setlength\tp@top@xmax{\tp@page@xmax}%
+ \setlength\tp@top@xmid{\dimexpr((\tp@top@xmax+\tp@top@xmin)/2)\relax}%
+ \setlength\tp@top@ymin{\tp@body@ymax}%
+ \setlength\tp@top@ymax{\tp@page@ymax}%
+ \setlength\tp@top@ymid{\dimexpr((\tp@top@ymax+\tp@top@ymin)/2)\relax}%
+ %%
+ \setlength\tp@bottom@xmin{\tp@page@xmin}%
+ \setlength\tp@bottom@xmax{\tp@page@xmax}%
+ \setlength\tp@bottom@xmid{\dimexpr((\tp@bottom@xmax+\tp@bottom@xmin)/2)\relax}%
+ \setlength\tp@bottom@ymin{\tp@page@ymin}%
+ \setlength\tp@bottom@ymax{\tp@body@ymin}%
+ \setlength\tp@bottom@ymid{\dimexpr((\tp@bottom@ymax+\tp@bottom@ymin)/2)\relax}%
+ %%
+ \setlength\tp@left@xmin{\tp@page@xmin}%
+ \setlength\tp@left@xmax{\tp@body@xmin}%
+ \setlength\tp@left@xmid{\dimexpr((\tp@left@xmax+\tp@left@xmin)/2)\relax}%
+ \setlength\tp@left@ymin{\tp@body@ymin}%
+ \setlength\tp@left@ymax{\tp@body@ymax}%
+ \setlength\tp@left@ymid{\dimexpr((\tp@left@ymax+\tp@left@ymin)/2)\relax}%
+ %%
+ \setlength\tp@right@xmin{\tp@body@xmax}%
+ \setlength\tp@right@xmax{\tp@page@xmax}%
+ \setlength\tp@right@xmid{\dimexpr((\tp@right@xmax+\tp@right@xmin)/2)\relax}%
+ \setlength\tp@right@ymin{\tp@body@ymin}%
+ \setlength\tp@right@ymax{\tp@body@ymax}%
+ \setlength\tp@right@ymid{\dimexpr((\tp@right@ymax+\tp@right@ymin)/2)\relax}%
+}%% \end{macrocode}
+
+
+\def\@tp@genanchors#1{%
+ \anchor{#1 north}{\pgf@x=\csname tp@#1@xmid\endcsname \pgf@y=\csname tp@#1@ymax\endcsname}%
+ \anchor{#1 south}{\pgf@x=\csname tp@#1@xmid\endcsname \pgf@y=\csname tp@#1@ymin\endcsname}%
+ \anchor{#1 west}{\pgf@x=\csname tp@#1@xmin\endcsname \pgf@y=\csname tp@#1@ymid\endcsname}%
+ \anchor{#1 northwest}{\pgf@x=\csname tp@#1@xmin\endcsname \pgf@y=\csname tp@#1@ymax\endcsname}%
+ \anchor{#1 southwest}{\pgf@x=\csname tp@#1@xmin\endcsname \pgf@y=\csname tp@#1@ymin\endcsname}%
+ \anchor{#1 east}{\pgf@x=\csname tp@#1@xmax\endcsname \pgf@y=\csname tp@#1@ymid\endcsname}%
+ \anchor{#1 northeast}{\pgf@x=\csname tp@#1@xmax\endcsname \pgf@y=\csname tp@#1@ymax\endcsname}%
+ \anchor{#1 southeast}{\pgf@x=\csname tp@#1@xmax\endcsname \pgf@y=\csname tp@#1@ymin\endcsname}%
+ \anchor{#1 center}{\pgf@x=\csname tp@#1@xmid\endcsname \pgf@y=\csname tp@#1@ymid\endcsname}%
+}%
+
+\newcommand\tp@pgfdeclareanchoralias[3]{%
+ \expandafter\def\csname pgf@anchor@#1@#3\expandafter\endcsname
+ \expandafter{\csname pgf@anchor@#1@#2\endcsname}}
+
+\pgfdeclareshape{page}{
+ \backgroundpath{
+ \pgfpathmoveto{\pgfpoint{\tp@page@xmin}{\tp@page@ymin}}
+ \pgfpathlineto{\pgfpoint{\tp@page@xmin}{\tp@page@ymax}}
+ \pgfpathlineto{\pgfpoint{\tp@page@xmax}{\tp@page@ymax}}
+ \pgfpathlineto{\pgfpoint{\tp@page@xmax}{\tp@page@xmin}}
+ \pgfpathclose
+ }
+ %% basic anchors
+ \anchor{north}{\pgf@x=\tp@page@xmid \pgf@y=\tp@page@ymax}%
+ \anchor{south}{\pgf@x=\tp@page@xmid \pgf@y=\tp@page@ymin}%
+ \anchor{west}{\pgf@x=\tp@page@xmin \pgf@y=\tp@page@ymid}%
+ \anchor{northwest}{\pgf@x=\tp@page@xmin \pgf@y=\tp@page@ymax}%
+ \anchor{southwest}{\pgf@x=\tp@page@xmin \pgf@y=\tp@page@ymin}%
+ \anchor{east}{\pgf@x=\tp@page@xmax \pgf@y=\tp@page@ymid}%
+ \anchor{northeast}{\pgf@x=\tp@page@xmax \pgf@y=\tp@page@ymax}%
+ \anchor{southeast}{\pgf@x=\tp@page@xmax \pgf@y=\tp@page@ymin}%
+ %\anchor{center}{\pgfpointorigin}
+ \anchor{center}{\pgf@x=\tp@page@xmid \pgf@y=\tp@page@ymid}
+ \anchor{origin}{\pgfpointorigin}%\pgf@x=0pt \pgf@y=0pt}
+ \@tp@genanchors{page}
+ %% Body anchors
+ \@tp@genanchors{body}
+ \@tp@genanchors{marginpar}
+ \@tp@genanchors{header}
+ \@tp@genanchors{footer}
+ \@tp@genanchors{top}
+ \@tp@genanchors{bottom}
+ \@tp@genanchors{left}
+ \@tp@genanchors{right}
+}
+
+\newdimen\tp@linewidth
+\newdimen\tp@marksize
+\setlength\tp@marksize{3pt}
+\pgfdeclareplotmark{tpx}{
+ \setlength{\tp@linewidth}{\pgflinewidth}
+ \pgfsetlinewidth{0.1pt}
+ \pgfpathmoveto{\pgfpoint{-\tp@marksize}{-\tp@marksize}}
+ \pgfpathlineto{\pgfpoint{\tp@marksize}{\tp@marksize}}
+ \pgfpathmoveto{\pgfpoint{-\tp@marksize}{\tp@marksize}}
+ \pgfpathlineto{\pgfpoint{\tp@marksize}{-\tp@marksize}}
+ \pgfusepathqstroke
+ \setlength{\pgflinewidth}{\tp@linewidth}
+}
+
+
+\def\tikzpageputanchorsdefaults{
+ \foreach \anchor/\placement in {%
+ northwest/below right%
+ ,north/below%
+ ,northeast/below left%
+ ,west/right%
+ ,center/below%
+ ,east/left%
+ ,southwest/above right%
+ ,south/above%
+ ,southeast/above left%
+ } \draw[red,shift=(page.\anchor)] plot[mark=tpx%% my plot mark
+ ] coordinates{(0,0)}
+ node[blue,\placement] {\scriptsize\texttt{(page.\anchor)}};
+}
+
+\def\tikzpageputanchorsbody{
+ \foreach \anchor/\placement in {%
+ body northwest/below right%
+ ,body north/below%
+ ,body northeast/below left%
+ ,body west/right%
+ ,body center/below%
+ ,body east/left%
+ ,body southwest/above right%
+ ,body south/above%
+ ,body southeast/above left%
+ } \draw[red,shift=(page.\anchor)] plot[mark=tpx%% my plot mark
+ ] coordinates{(0,0)}
+ node[blue,\placement] {\scriptsize\texttt{(page.\anchor)}};
+}
+
+\def\tikzpageputanchorsmarginpar{
+ \foreach \anchor/\placement in {%
+ marginpar northwest/below left%
+ ,marginpar north/left%
+ ,marginpar northeast/above left%
+ ,marginpar west/below%
+ ,marginpar center/below%
+ ,marginpar east/above%
+ ,marginpar southwest/below right%
+ ,marginpar south/right%
+ ,marginpar southeast/above right%
+ } \draw[red,shift=(page.\anchor)] plot[mark=tpx%% my plot mark
+ ] coordinates{(0,0)}
+ node[blue,\placement, rotate=90] {\scriptsize\texttt{(page.\anchor)}};
+}
+
+\def\tikzpageputanchorsheader{
+ \foreach \anchor/\placement in {%
+ header northwest/above right%
+ ,header north/above%
+ ,header northeast/above left%
+ ,header west/right%
+ ,header center/right%
+ ,header east/left%
+ ,header southwest/below right%
+ ,header south/below%
+ ,header southeast/below left%
+ } \draw[red,shift=(page.\anchor)] plot[mark=tpx%% my plot mark
+ ] coordinates{(0,0)}
+ node[blue,\placement] {\scriptsize\texttt{(page.\anchor)}};
+}
+
+\def\tikzpageputanchorsfooter{
+ \foreach \anchor/\placement in {%
+ footer northwest/above right%
+ ,footer north/above%
+ ,footer northeast/above left%
+ ,footer west/right%
+ ,footer center/right%
+ ,footer east/left%
+ ,footer southwest/below right%
+ ,footer south/below%
+ ,footer southeast/below left%
+ } \draw[red,shift=(page.\anchor)] plot[mark=tpx%% my plot mark
+ ] coordinates{(0,0)}
+ node[blue,\placement] {\scriptsize\texttt{(page.\anchor)}};
+}
+
+\def\tikzpageputanchorstop{
+ \foreach \anchor/\placement in {%
+ top northwest/below right%
+ ,top north/below%
+ ,top northeast/below left%
+ ,top west/right%
+ ,top center/below%
+ ,top east/left%
+ ,top southwest/above right%
+ ,top south/above%
+ ,top southeast/above left%
+ } \draw[red,shift=(page.\anchor)] plot[mark=tpx%% my plot mark
+ ] coordinates{(0,0)}
+ node[blue,\placement] {\scriptsize\texttt{(page.\anchor)}};
+}
+
+\def\tikzpageputanchorsbottom{
+ \foreach \anchor/\placement in {%
+ bottom northwest/below right%
+ ,bottom north/below%
+ ,bottom northeast/below left%
+ ,bottom west/right%
+ ,bottom center/below%
+ ,bottom east/left%
+ ,bottom southwest/above right%
+ ,bottom south/above%
+ ,bottom southeast/above left%
+ } \draw[red,shift=(page.\anchor)] plot[mark=tpx%% my plot mark
+ ] coordinates{(0,0)}
+ node[blue,\placement] {\scriptsize\texttt{(page.\anchor)}};
+}
+
+\def\tikzpageputanchorsleft{
+ \foreach \anchor/\placement in {%
+ left northwest/below left%
+ ,left north/left%
+ ,left northeast/above left%
+ ,left west/below%
+ ,left center/below%
+ ,left east/above%
+ ,left southwest/below right%
+ ,left south/right%
+ ,left southeast/above right%
+ } \draw[red,shift=(page.\anchor)] plot[mark=tpx%% my plot mark
+ ] coordinates{(0,0)}
+ node[blue,\placement, rotate=90] {\scriptsize\texttt{(page.\anchor)}};
+}
+
+\def\tikzpageputanchorsright{
+ \foreach \anchor/\placement in {%
+ right northwest/below left%
+ ,right north/left%
+ ,right northeast/above left%
+ ,right west/below%
+ ,right center/below%
+ ,right east/above%
+ ,right southwest/below right%
+ ,right south/right%
+ ,right southeast/above right%
+ } \draw[red,shift=(page.\anchor)] plot[mark=tpx%% my plot mark
+ ] coordinates{(0,0)}
+ node[blue,\placement, rotate=90] {\scriptsize\texttt{(page.\anchor)}};
+}
+
+\def\tikzpageputanchors{
+ \tikzpageputanchorsdefaults
+ \tikzpageputanchorsbody
+ \tikzpageputanchorsmarginpar
+ \tikzpageputanchorsheader
+ \tikzpageputanchorsfooter
+ \tikzpageputanchorstop
+ \tikzpageputanchorsbottom
+ \tikzpageputanchorsleft
+ \tikzpageputanchorsright
+}
+
+\def\tpshowframes{
+ \draw[fill=blue!50, opacity=.3, draw] (page.bottom northwest) rectangle (page.bottom southeast);
+ \draw[fill=yellow!50, opacity=.3, draw] (page.top northwest) rectangle (page.top southeast);
+ \draw[fill=red!50, opacity=.3, draw] (page.left northwest) rectangle (page.left southeast);
+ \draw[fill=green!50, opacity=.3, draw] (page.right northwest) rectangle (page.right southeast);
+}
+
+\def\tpfancyhdrdefault{
+ \node [outer sep=0,inner sep=0, anchor=mid] at (page.header center) {};
+ \node [outer sep=0,inner sep=0, anchor=mid east] at (page.header east) {\tpflip{\sl\leftmark}{\sl\rightmark}};
+ \node [outer sep=0,inner sep=0, anchor=mid west] at (page.header west) {\tpflip{\sl\rightmark}{\sl\leftmark}};
+ \node [outer sep=0,inner sep=0, anchor=base east] at (page.footer east) {};
+ \node [,outer sep=0,inner sep=0,anchor=base] at (page.footer center) {\thepage};
+ \node [outer sep=0,inner sep=0, anchor=base west] at (page.footer west) {};
+}
+
+\newcommand{\tikzpage}{
+ \if@tp@use@textpos
+ \begin{textblock*}{\textwidth}[0,0](0pt,0pt)%
+ \fi
+ \tp@compute@margins%
+ \if@tp@use@textpos
+ \begin{tikzpicture}[]%
+ \clip (0,0) rectangle (\paperwidth, \paperheight);
+ \else
+ \begin{tikzpicture}[remember picture, overlay]%
+ \fi
+ \if@tp@use@textpos
+ \node[anchor=origin,shape=page] (page) {};
+ \else
+ \node[anchor=origin,shape=page] (page) at (current page.south west) {};
+ \fi
+ \@ifundefined{tikzpagelayout}{}{\tikzpagelayout}
+ \end{tikzpicture}%
+ \if@tp@use@textpos
+ \end{textblock*}%
+ \fi
+}
+
+\fancypagestyle{plain}{
+ \fancyhf{}
+ \chead{\tikzpage}
+}
+\fancypagestyle{empty}{
+ \fancyhf{}
+ \chead{\tikzpage}
+}
+
+\makeatother
+
+
+\endinput
+%%
+%% End of file `tikz-page.sty'.
diff --git a/Master/tlpkg/bin/tlpkg-ctan-check b/Master/tlpkg/bin/tlpkg-ctan-check
index 1f74feb5ca2..2e0a086cf0f 100755
--- a/Master/tlpkg/bin/tlpkg-ctan-check
+++ b/Master/tlpkg/bin/tlpkg-ctan-check
@@ -583,7 +583,7 @@ my @TLP_working = qw(
timetable timing-diagrams tipa tipa-de tipfr
titlecaps titlefoot titlepages titlepic titleref titlesec titling
tkz-base tkz-berge tkz-doc tkz-euclide tkz-fct tkz-graph
- tkz-kiviat tkz-linknodes tkz-orm tkz-tab
+ tkz-kiviat tkz-linknodes tkz-orm tikz-page tkz-tab
tlc2
tocbibind tocdata tocloft tocvsec2 todo todonotes
tokenizer toolbox tools topfloat totcount totpages toptesi
diff --git a/Master/tlpkg/libexec/ctan2tds b/Master/tlpkg/libexec/ctan2tds
index 625add73137..985aafe7385 100755
--- a/Master/tlpkg/libexec/ctan2tds
+++ b/Master/tlpkg/libexec/ctan2tds
@@ -2344,7 +2344,7 @@ my $core_latex = "$Master/texmf-dist/tex/latex";
'basque-book' => 'latex', # requires interaction
'basque-date' => 'latex', # requires interaction
'bbold' => 'pdflatex',
- 'beamerswitch' => 'tex', # no doc regen
+ 'beamerswitch' => 'tex', # no doc remake
'bguq' => 'latex', # requires interaction
'bhcexam' => 'latex', # requires interaction
'bosisio' => 'latex -translate-file=empty.tcx', # ^^, no 8-bit
@@ -2430,6 +2430,7 @@ my $core_latex = "$Master/texmf-dist/tex/latex";
'teubner' => 'latex', # interaction
'termlist' => 'tex', # interaction for .pl
'thumb' => 'latex -translate-file=empty.tcx', # no 8-bit
+ 'tikz-page' => 'tex', # no doc remake
'todonotes' => 'latex', # requires interaction
'toptesi' => 'latex', # requires interaction
'tudscr' => 'tex',
diff --git a/Master/tlpkg/tlpsrc/collection-pictures.tlpsrc b/Master/tlpkg/tlpsrc/collection-pictures.tlpsrc
index c9b8c5e62c4..8ea894a623c 100644
--- a/Master/tlpkg/tlpsrc/collection-pictures.tlpsrc
+++ b/Master/tlpkg/tlpsrc/collection-pictures.tlpsrc
@@ -120,6 +120,7 @@ depend tikz-dimline
depend tikz-feynman
depend tikz-inet
depend tikz-opm
+depend tikz-page
depend tikz-palattice
depend tikz-qtree
depend tikz-timing
diff --git a/Master/tlpkg/tlpsrc/tikz-page.tlpsrc b/Master/tlpkg/tlpsrc/tikz-page.tlpsrc
new file mode 100644
index 00000000000..e69de29bb2d
--- /dev/null
+++ b/Master/tlpkg/tlpsrc/tikz-page.tlpsrc