From 8073de44fa28710eeac2f911e170ef565c63c703 Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Tue, 11 Jan 2022 22:02:24 +0000 Subject: sillypage (11jan22) git-svn-id: svn://tug.org/texlive/trunk@61573 c570f23f-e606-0410-a88d-b1316a301751 --- Master/texmf-dist/doc/latex/sillypage/README.md | 54 +++++ .../doc/latex/sillypage/sillypage-example.pdf | Bin 0 -> 94027 bytes .../doc/latex/sillypage/sillypage-example.tex | 9 + .../texmf-dist/doc/latex/sillypage/sillypage.pdf | Bin 0 -> 185382 bytes .../source/latex/sillypage/sillypage.dtx | 246 +++++++++++++++++++++ .../source/latex/sillypage/sillypage.ins | 94 ++++++++ .../texmf-dist/tex/latex/sillypage/sillypage.sty | 61 +++++ .../tex/latex/sillypage/sillywalk-map.png | Bin 0 -> 6039 bytes Master/tlpkg/bin/tlpkg-ctan-check | 2 +- Master/tlpkg/libexec/ctan2tds | 2 + Master/tlpkg/tlpsrc/collection-latexextra.tlpsrc | 1 + Master/tlpkg/tlpsrc/sillypage.tlpsrc | 0 12 files changed, 468 insertions(+), 1 deletion(-) create mode 100644 Master/texmf-dist/doc/latex/sillypage/README.md create mode 100644 Master/texmf-dist/doc/latex/sillypage/sillypage-example.pdf create mode 100644 Master/texmf-dist/doc/latex/sillypage/sillypage-example.tex create mode 100644 Master/texmf-dist/doc/latex/sillypage/sillypage.pdf create mode 100644 Master/texmf-dist/source/latex/sillypage/sillypage.dtx create mode 100644 Master/texmf-dist/source/latex/sillypage/sillypage.ins create mode 100644 Master/texmf-dist/tex/latex/sillypage/sillypage.sty create mode 100644 Master/texmf-dist/tex/latex/sillypage/sillywalk-map.png create mode 100644 Master/tlpkg/tlpsrc/sillypage.tlpsrc (limited to 'Master') 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 Binary files /dev/null and b/Master/texmf-dist/doc/latex/sillypage/sillypage-example.pdf 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 Binary files /dev/null and b/Master/texmf-dist/doc/latex/sillypage/sillypage.pdf 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 +% and Paulo Cereda +% +% 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} +% +%<*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} +% +% \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} +% +% \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 +%% and Paulo Cereda +%% +%% 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 Binary files /dev/null and b/Master/texmf-dist/tex/latex/sillypage/sillywalk-map.png 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 -- cgit v1.2.3