summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2022-01-11 22:02:24 +0000
committerKarl Berry <karl@freefriends.org>2022-01-11 22:02:24 +0000
commit8073de44fa28710eeac2f911e170ef565c63c703 (patch)
treee450e86e97d26354c42cc7c34f675057314f45d5
parentfa4d2a5e2aa4aef4c17f825a54127ab10979e27c (diff)
sillypage (11jan22)
git-svn-id: svn://tug.org/texlive/trunk@61573 c570f23f-e606-0410-a88d-b1316a301751
-rw-r--r--Master/texmf-dist/doc/latex/sillypage/README.md54
-rw-r--r--Master/texmf-dist/doc/latex/sillypage/sillypage-example.pdfbin0 -> 94027 bytes
-rw-r--r--Master/texmf-dist/doc/latex/sillypage/sillypage-example.tex9
-rw-r--r--Master/texmf-dist/doc/latex/sillypage/sillypage.pdfbin0 -> 185382 bytes
-rw-r--r--Master/texmf-dist/source/latex/sillypage/sillypage.dtx246
-rw-r--r--Master/texmf-dist/source/latex/sillypage/sillypage.ins94
-rw-r--r--Master/texmf-dist/tex/latex/sillypage/sillypage.sty61
-rw-r--r--Master/texmf-dist/tex/latex/sillypage/sillywalk-map.pngbin0 -> 6039 bytes
-rwxr-xr-xMaster/tlpkg/bin/tlpkg-ctan-check2
-rwxr-xr-xMaster/tlpkg/libexec/ctan2tds2
-rw-r--r--Master/tlpkg/tlpsrc/collection-latexextra.tlpsrc1
-rw-r--r--Master/tlpkg/tlpsrc/sillypage.tlpsrc0
12 files changed, 468 insertions, 1 deletions
diff --git a/Master/texmf-dist/doc/latex/sillypage/README.md b/Master/texmf-dist/doc/latex/sillypage/README.md
new file mode 100644
index 00000000000..1a04f516268
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/sillypage/README.md
@@ -0,0 +1,54 @@
+# The `sillypage` package
+
+This is a very simple package that provides John Cleese's iconic silly walk
+routine as page numbering style.
+
+## Usage
+
+Simply add `\usepackage{sillypage}` to your document. Then:
+
+- Write `\pagenumbering{silly}` in you document to use the page numbering
+ style defined by this package.
+- Use the macro `\silly` on a LaTeX counter to typeset the corresponding
+ image for the value of that counter.
+- Use the macro `\sillystep` to print the step number `n` from the
+ sequence of steps.
+
+## A sample document
+
+Here we go:
+
+```tex
+\documentclass{article}
+
+\usepackage{sillypage}
+\usepackage{blindtext}
+
+\begin{document}
+\pagenumbering{silly}
+\Blinddocument
+\end{document}
+```
+
+## Installation notes
+
+Just note that `sillywalk-map.png` should go under the `tex/` subtree
+(as it is required by `sillypage.sty`) instead of the `doc/` counterpart.
+
+## Isn't this package too silly?
+
+Yes.
+
+## Authors
+
+Blame these two blokes:
+
+- Phelype Oleinik
+- Paulo Cereda
+
+## License
+
+The `sillypage` package 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.
+
diff --git a/Master/texmf-dist/doc/latex/sillypage/sillypage-example.pdf b/Master/texmf-dist/doc/latex/sillypage/sillypage-example.pdf
new file mode 100644
index 00000000000..0a2811a5215
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/sillypage/sillypage-example.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/sillypage/sillypage-example.tex b/Master/texmf-dist/doc/latex/sillypage/sillypage-example.tex
new file mode 100644
index 00000000000..94c0ac7111b
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/sillypage/sillypage-example.tex
@@ -0,0 +1,9 @@
+\documentclass{article}
+
+\usepackage{sillypage}
+\usepackage{blindtext}
+
+\begin{document}
+\pagenumbering{silly}
+\Blinddocument
+\end{document}
diff --git a/Master/texmf-dist/doc/latex/sillypage/sillypage.pdf b/Master/texmf-dist/doc/latex/sillypage/sillypage.pdf
new file mode 100644
index 00000000000..df65d10c021
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/sillypage/sillypage.pdf
Binary files differ
diff --git a/Master/texmf-dist/source/latex/sillypage/sillypage.dtx b/Master/texmf-dist/source/latex/sillypage/sillypage.dtx
new file mode 100644
index 00000000000..2ec5a6635bd
--- /dev/null
+++ b/Master/texmf-dist/source/latex/sillypage/sillypage.dtx
@@ -0,0 +1,246 @@
+% \iffalse meta-comment
+% Copyright (C) 2022
+% by Phelype Oleinik <phelype.oleinik@latex-project.org>
+% and Paulo Cereda <cereda.paulo@gmail.com>
+%
+% This work 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 2005/12/01 or later.
+%
+% This work is "maintained" (as per the LPPL maintenance status)
+% by Phelype Oleinik and Paulo Cereda.
+%
+%<*package>
+\def\sillypageDate{2022-01-11}
+\def\sillypageVersion{1.2}
+%</package>
+%<*driver>
+\documentclass[a4paper,full]{l3doc}
+\usepackage[T1]{fontenc}
+\usepackage{tgbonum}
+\usepackage[scaled=.85]{beramono}
+\usepackage{sillypage}
+\usepackage{hyperref}
+\begin{document}
+ \DocInput{\jobname.dtx}
+\end{document}
+%</driver>
+% \fi
+%
+% \GetFileInfo{\jobname.sty}
+%
+% \title{^^A
+% The \pkg{sillypage} package^^A
+% \thanks{This file has version number \sillypageVersion,
+% last revised \sillypageDate.}
+% }
+%
+% \author{^^A
+% Phelype H. Oleinik\thanks
+% {^^A
+% E-mail:
+% \href{mailto:phelype.oleinik@latex-project.org}
+% {phelype.oleinik\meta{at}latex-project.org}^^A
+% }\\
+% Paulo R. M. Cereda\thanks
+% {^^A
+% E-mail:
+% \href{mailto:cereda.paulo@gmail.com}
+% {cereda.paulo\meta{at}gmail.com}^^A
+% }^^A
+% }
+%
+% \date{Released \sillypageDate}
+% \pagenumbering{silly}
+%
+% \maketitle
+%
+% \begin{documentation}
+%
+% \section{Introduction}
+%
+% This package is inspired by \emph{The Ministry of Silly Walks}, a famous
+% sketch from Monty Python. According to the corresponding
+% \href{https://bit.ly/33jKsl1}{Wikipedia article}:
+%
+% \begin{quotation}
+% The sketch as originally depicted in the series begins with John Cleese
+% playing Mr.\ Teabag, a civil servant who, after purchasing The Times
+% from the newsagent in the previous sketch, walks through the streets
+% of London (at the crossing of Thorpebank Road and Dunraven Road) in a
+% very peculiar manner. He eventually arrives at his place of business:
+% The Ministry of Silly Walks, on the northern end of Whitehall. In the
+% hallway, he passes other employees all exhibiting their own silly walks
+% before arriving at his office. Once there, he finds Mr Putey (Michael
+% Palin) waiting for him and apologizes for the delay, explaining that
+% his walk has become particularly silly of late and it takes longer for
+% him to reach his destination.
+% \end{quotation}
+%
+% So we decided to bring this masterpiece of British pop culture to
+% the \TeX{} world through a silly page numbering style. Make sure to
+% use this package in your thesis, it will be a success.
+%
+% \section{Usage}
+%
+% Using a silly package like this is quite straighforward! For starters,
+% make sure to include it in your document preamble through
+%
+% \begin{verbatim}
+% \usepackage{sillypage}
+% \end{verbatim}
+%
+% \noindent and that is it! The available interface is as follows:
+%
+% \begin{function}{\pagenumbering{silly}}
+% \begin{syntax}
+% \cs{pagenumbering}\{silly\}
+% \end{syntax}
+% Write \cs{pagenumbering}|{silly}| in you document to use the page
+% numbering style defined by this package. According to Wikipedia,
+% the typical silly walk gait consists of twelve specific steps to
+% be performed, so page numbering will cycle through these steps,
+% in an kineograph fashion.
+% \end{function}
+%
+% \begin{function}{\silly}
+% \begin{syntax}
+% \cs{silly} \Arg{counter}
+% \end{syntax}
+% Use the macro \cs{silly} on a \LaTeX{} \meta{counter} to typeset the
+% corresponding image for the value of that counter. As noted above,
+% the value will be mapped to an image in the silly walk cycle. Also,
+% observe that this macro is applied to counters and not to integers.
+% \end{function}
+%
+% \begin{function}{\sillystep}
+% \begin{syntax}
+% \cs{sillystep} \Arg{integer}
+% \end{syntax}
+% Prints the step number \meta{integer} from the sequence of steps.
+% This macro works exactly like \cs{silly}, but on integers instead
+% of counters. The integer value will be mapped to an image in the
+% silly walk cycle.
+% \end{function}
+%
+% \bigskip
+%
+% What a silly yet marvellous interface!
+%
+% \section{A sample document}
+%
+% As a means to demonstrate how straightforward (and of course silly) our package
+% is, here is a minimal working example:
+%
+% \begin{verbatim}
+% \documentclass{article}
+%
+% \usepackage{sillypage}
+% \usepackage{blindtext}
+%
+% \begin{document}
+% \pagenumbering{silly}
+% \Blinddocument
+% \end{document}
+% \end{verbatim}
+%
+% After compiling it, take a look at the page numbering: you will be greeted with
+% the silly walk routine! To impress your supervisor, use our package in your thesis,
+% print it and ask them to view those pages in quick succession, so the images appear
+% to animate by simulating motion! It is known to work with thesis committees as well.
+%
+% \section{The silly walk routine}
+%
+% This is the complete silly walk routine provided by Jazeen Hollings in the
+% \href{https://bit.ly/3fc9x46}{corresponding Wikipedia article}. The images
+% used in this package are from that particular instruction set, licensed
+% under CC BY-SA 3.0. We gathered them together for optimization purposes.
+%
+% \bigskip
+%
+% \makeatletter
+% {\centering
+% \def\do#1{\ifnum#1>\silly@steps\else
+% \sillystep{#1}
+% \expandafter\do\expandafter{%^^A
+% \number\numexpr#1+1\relax}\fi}\do{1}\par}
+% \makeatother
+%
+% \bigskip
+%
+% We also recommend Pilates.
+%
+% \end{documentation}
+%
+% \begin{implementation}
+%
+% \section{Implementation details}
+%
+% The implementation is quite straightforward. Feel free to contact us for
+% suggestions and criticism, code improvements and of course other silly
+% walk variants.
+%
+% \begin{macrocode}
+%<*package>
+% \end{macrocode}
+%
+% \subsection{Package requirements}
+%
+% \begin{macrocode}
+\ProvidesPackage{sillypage}[\sillypageDate\space\sillypageVersion\space
+ The silly walk as page numbering style]
+\RequirePackage{graphicx}
+% \end{macrocode}
+%
+% \subsection{Loading}
+% \begin{macro}{\silly,\sillystep}
+% \begin{macro}[int]{\@silly}
+% \begin{macro}{
+% \silly@steps,\silly@width,
+% \silly@picture,\silly@height}
+% \begin{macrocode}
+\newcommand*\silly[1]{\expandafter\@silly\csname c@#1\endcsname}
+\newcommand*\sillystep[1]{\@silly{#1}}
+\newcommand*\@silly[1]{\expandafter\@silly@walk
+ \expandafter{\number\numexpr#1\relax}}
+\newcommand*\silly@steps{12}%
+\newcommand*\silly@width{48px}%
+\newcommand*\silly@height{.8cm}%
+\newcommand*\silly@picture{sillywalk-map.png}%
+% \end{macrocode}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+%
+% \begin{macro}[int]{\@silly@walk,\@silly@walk@}
+% \begin{macrocode}
+\def\@silly@walk#1{%
+ \@ifundefined{texorpdfstring}{\@firstoftwo}{\texorpdfstring}%
+ {\@silly@walk@{#1}}% TeX
+ {#1}}% pdf string
+\def\@silly@walk@#1{%
+ \ifnum#1>\silly@steps\space
+ \expandafter\@silly@walk@\expandafter
+ {\number\numexpr#1-\silly@steps\expandafter}%
+ \else
+ \expandafter\includegraphics\expanded{[height=\silly@height,trim={%
+ \the\dimexpr\silly@width*(#1-1)\relax\space 0
+ \the\dimexpr\silly@width*(\silly@steps-#1)\relax\space 0},clip]}%
+ {\silly@picture}%
+ \fi}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macrocode}
+%</package>
+% \end{macrocode}
+%
+% \end{implementation}
+%
+\endinput
diff --git a/Master/texmf-dist/source/latex/sillypage/sillypage.ins b/Master/texmf-dist/source/latex/sillypage/sillypage.ins
new file mode 100644
index 00000000000..38d2e59db1c
--- /dev/null
+++ b/Master/texmf-dist/source/latex/sillypage/sillypage.ins
@@ -0,0 +1,94 @@
+%%
+%% Copyright (C) 2022
+%% by Phelype Oleinik <phelype.oleinik@latex-project.org>
+%% and Paulo Cereda <cereda.paulo@gmail.com>
+%%
+%% This work 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 2005/12/01 or later.
+%%
+%% This work is "maintained" (as per the LPPL maintenance status)
+%% by Phelype Oleinik and Paulo Cereda.
+%%
+\def\projectname{sillypage}%
+\def\nameofplainTeX{plain}%
+\def\mainext{sty}
+\ifx\fmtname\nameofplainTeX
+\else
+ \expandafter\begingroup
+\fi
+\input l3docstrip.tex
+\keepsilent
+\askforoverwritefalse
+
+\preamble
+
+This is a generated file.
+
+Copyright 2022 Phelype Oleinik /phelype.oleinik@latex-project.org/
+ Paulo Cereda /cereda.paulo@gmail.com/
+
+This work 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
+2005/12/01 or later.
+
+\endpreamble
+
+\postamble
+
+This work is "maintained" (as per the LPPL maintenance status)
+by Phelype Oleinik and Paulo Cereda.
+
+This work consists of the files \projectname.dtx, and
+ \projectname.ins,
+and the derived files \projectname.\mainext,
+ \projectname.pdf,
+ sillywalk-map.png, and
+ README.md.%
+
+\endpostamble
+
+\generate
+ {
+ \file{\projectname.\mainext}
+ {
+ \from{\projectname.dtx}{package}
+ }
+ }
+
+\Msg{*********************************************************}
+\Msg{*}
+\Msg{* To finish the installation you have to move the}
+\Msg{* following file into a directory searched by TeX:}
+\Msg{*}
+\Msg{* \space\space \projectname.\mainext}
+\Msg{*}
+\ifx\fmtname\nameofplainTeX
+ \Msg{* To produce the documentation run the file \projectname.dtx}
+ \Msg{* through LaTeX.}
+ \Msg{*}
+ \Msg{* ooh an .ins file}
+ \Msg{*}
+\fi
+\Msg{* Happy TeXing!}
+\Msg{*}
+\Msg{*********************************************************}
+
+\ifx\fmtname\nameofplainTeX
+ \expandafter\endbatchfile
+\else
+ \expandafter\endgroup
+\fi
+
+\input{\projectname.dtx}
diff --git a/Master/texmf-dist/tex/latex/sillypage/sillypage.sty b/Master/texmf-dist/tex/latex/sillypage/sillypage.sty
new file mode 100644
index 00000000000..3bb8a4c03ff
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/sillypage/sillypage.sty
@@ -0,0 +1,61 @@
+%%
+%% This is file `sillypage.sty',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% sillypage.dtx (with options: `package')
+%%
+%% This is a generated file.
+%%
+%% Copyright 2022 Phelype Oleinik /phelype.oleinik@latex-project.org/
+%% Paulo Cereda /cereda.paulo@gmail.com/
+%%
+%% This work 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
+%% 2005/12/01 or later.
+%%
+\def\sillypageDate{2022-01-11}
+\def\sillypageVersion{1.2}
+\ProvidesPackage{sillypage}[\sillypageDate\space\sillypageVersion\space
+ The silly walk as page numbering style]
+\RequirePackage{graphicx}
+\newcommand*\silly[1]{\expandafter\@silly\csname c@#1\endcsname}
+\newcommand*\sillystep[1]{\@silly{#1}}
+\newcommand*\@silly[1]{\expandafter\@silly@walk
+ \expandafter{\number\numexpr#1\relax}}
+\newcommand*\silly@steps{12}%
+\newcommand*\silly@width{48px}%
+\newcommand*\silly@height{.8cm}%
+\newcommand*\silly@picture{sillywalk-map.png}%
+\def\@silly@walk#1{%
+ \@ifundefined{texorpdfstring}{\@firstoftwo}{\texorpdfstring}%
+ {\@silly@walk@{#1}}% TeX
+ {#1}}% pdf string
+\def\@silly@walk@#1{%
+ \ifnum#1>\silly@steps\space
+ \expandafter\@silly@walk@\expandafter
+ {\number\numexpr#1-\silly@steps\expandafter}%
+ \else
+ \expandafter\includegraphics\expanded{[height=\silly@height,trim={%
+ \the\dimexpr\silly@width*(#1-1)\relax\space 0
+ \the\dimexpr\silly@width*(\silly@steps-#1)\relax\space 0},clip]}%
+ {\silly@picture}%
+ \fi}
+%%
+%% This work is "maintained" (as per the LPPL maintenance status)
+%% by Phelype Oleinik and Paulo Cereda.
+%%
+%% This work consists of the files sillypage.dtx, and
+%% sillypage.ins,
+%% and the derived files sillypage.sty,
+%% sillypage.pdf,
+%% sillywalk-map.png, and
+%% README.md.
+%%
+%% End of file `sillypage.sty'.
diff --git a/Master/texmf-dist/tex/latex/sillypage/sillywalk-map.png b/Master/texmf-dist/tex/latex/sillypage/sillywalk-map.png
new file mode 100644
index 00000000000..62f43c11b1a
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/sillypage/sillywalk-map.png
Binary files differ
diff --git a/Master/tlpkg/bin/tlpkg-ctan-check b/Master/tlpkg/bin/tlpkg-ctan-check
index e9c9d94dbb7..1370d9ba95e 100755
--- a/Master/tlpkg/bin/tlpkg-ctan-check
+++ b/Master/tlpkg/bin/tlpkg-ctan-check
@@ -712,7 +712,7 @@ my @TLP_working = qw(
show2e showcharinbox showdim showexpl showhyphens showlabels
showtags shtthesis
shuffle
- sidecap sidenotes sides signchart silence
+ sidecap sidenotes sides signchart silence sillypage
simple-resume-cv simple-thesis-dissertation simplebnf simplecd simplecv
simpleinvoice simplekv simpleoptics simpler-wick simplewick
simplified-latex simplivre simurgh
diff --git a/Master/tlpkg/libexec/ctan2tds b/Master/tlpkg/libexec/ctan2tds
index 3a3f0fac93c..2a29e1dc346 100755
--- a/Master/tlpkg/libexec/ctan2tds
+++ b/Master/tlpkg/libexec/ctan2tds
@@ -2257,6 +2257,7 @@ $standardtex
'shade', 'shade\.tex', # not description.tex
'shortmathj', 'shortmathj\.sty',
'shadethm', '\.sth|' . $standardtex,
+ 'sillypage', '\.png|' . $standardtex,
'simplekv', 'simplekv\.tex|' . $standardtex,
'simurgh', '\.lua|' . $standardtex,
'spanish', 'NULL', # babel conflict
@@ -3094,6 +3095,7 @@ my $core_latex = "$Master/texmf-dist/tex/latex";
'scrlayer-fancyhdr' => 'etex',
'secnum' => 'etex-answer-y',
'silence' => 'latex -translate-file=empty.tcx', # no 8-bit
+ 'sillypage' => 'etex',
'skdoc' => 'tex',
'stix2-type1' => 'tex',
'svg' => 'etex',
diff --git a/Master/tlpkg/tlpsrc/collection-latexextra.tlpsrc b/Master/tlpkg/tlpsrc/collection-latexextra.tlpsrc
index 818432c54f0..da7e9536eee 100644
--- a/Master/tlpkg/tlpsrc/collection-latexextra.tlpsrc
+++ b/Master/tlpkg/tlpsrc/collection-latexextra.tlpsrc
@@ -1145,6 +1145,7 @@ depend showlabels
depend sidecap
depend sidenotes
depend silence
+depend sillypage
depend simplecd
depend simplecv
depend simpleinvoice
diff --git a/Master/tlpkg/tlpsrc/sillypage.tlpsrc b/Master/tlpkg/tlpsrc/sillypage.tlpsrc
new file mode 100644
index 00000000000..e69de29bb2d
--- /dev/null
+++ b/Master/tlpkg/tlpsrc/sillypage.tlpsrc