diff options
author | Karl Berry <karl@freefriends.org> | 2022-01-11 22:02:24 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2022-01-11 22:02:24 +0000 |
commit | 8073de44fa28710eeac2f911e170ef565c63c703 (patch) | |
tree | e450e86e97d26354c42cc7c34f675057314f45d5 /Master/texmf-dist/source | |
parent | fa4d2a5e2aa4aef4c17f825a54127ab10979e27c (diff) |
sillypage (11jan22)
git-svn-id: svn://tug.org/texlive/trunk@61573 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/source')
-rw-r--r-- | Master/texmf-dist/source/latex/sillypage/sillypage.dtx | 246 | ||||
-rw-r--r-- | Master/texmf-dist/source/latex/sillypage/sillypage.ins | 94 |
2 files changed, 340 insertions, 0 deletions
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} |