summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/source
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/source')
-rw-r--r--Master/texmf-dist/source/latex/sillypage/sillypage.dtx246
-rw-r--r--Master/texmf-dist/source/latex/sillypage/sillypage.ins94
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}