diff options
author | Karl Berry <karl@freefriends.org> | 2019-02-25 22:26:39 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2019-02-25 22:26:39 +0000 |
commit | 23d1d2da15a18a0d962cf36ea062faabcb5c6e9a (patch) | |
tree | aacfbfb1c3ce7b7fcb0fc26f0724a625b60b1c8e | |
parent | fe0b0e790cbce1f301d0c0fe0fa3f94b553f596c (diff) |
realhats (25feb19)
git-svn-id: svn://tug.org/texlive/trunk@50134 c570f23f-e606-0410-a88d-b1316a301751
18 files changed, 226 insertions, 1 deletions
diff --git a/Master/texmf-dist/doc/latex/realhats/README.md b/Master/texmf-dist/doc/latex/realhats/README.md new file mode 100644 index 00000000000..bd44fa4f89f --- /dev/null +++ b/Master/texmf-dist/doc/latex/realhats/README.md @@ -0,0 +1,26 @@ +# realhats LaTeX package + +realhats is a package for LaTeX that makes `\hat` put real hats on symbols. +A reasonably up-to-date version of realhats is available from the [CTAN archive](https://ctan.org/pkg/realhats). + +Regretfully brought into the world by [Matthew Scroggs](https://github.com/mscroggs) and [Adam Townsend](https://github.com/Pecnut). + +## Thanks to +* Smitha Maretvadakethope +* Pedro Horse + +## Example +![Letters with hats on](readme_images/hats.png) + +## Changelog +### Version 2.0 +* Replaced tikz with stackengine +* Added top hat, make LaTeX great again hat, fez, cowboy hat +### Version 1.0 +* First working version of package +* Added five hats +* Added documentation + + +## Licensing +This work may be distributed and/or modified under the conditions of the [MIT license](LICENSE.txt). diff --git a/Master/texmf-dist/doc/latex/realhats/readme_images/hats.png b/Master/texmf-dist/doc/latex/realhats/readme_images/hats.png Binary files differnew file mode 100644 index 00000000000..5a99019bc76 --- /dev/null +++ b/Master/texmf-dist/doc/latex/realhats/readme_images/hats.png diff --git a/Master/texmf-dist/doc/latex/realhats/realhats.pdf b/Master/texmf-dist/doc/latex/realhats/realhats.pdf Binary files differnew file mode 100644 index 00000000000..9da4bf93c27 --- /dev/null +++ b/Master/texmf-dist/doc/latex/realhats/realhats.pdf diff --git a/Master/texmf-dist/source/latex/realhats/realhats.dtx b/Master/texmf-dist/source/latex/realhats/realhats.dtx new file mode 100644 index 00000000000..fd8c7360a97 --- /dev/null +++ b/Master/texmf-dist/source/latex/realhats/realhats.dtx @@ -0,0 +1,102 @@ +%\iffalse meta-comment +%Copyright (c) 2018 Matthew Scroggs & Adam Townsend +% +%Permission is hereby granted, free of charge, to any person obtaining a copy +%of this software and associated documentation files (the "Software"), to deal +%in the Software without restriction, including without limitation the rights +%to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +%copies of the Software, and to permit persons to whom the Software is +%furnished to do so, subject to the following conditions: +% +%The above copyright notice and this permission notice shall be included in all +%copies or substantial portions of the Software. +% +%THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +%IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +%FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +%AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +%LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +%OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +%SOFTWARE. +%\fi + +%\lstinline{realhats} is a package for \LaTeX{} that makes the \lstinline{\hat} put real hats on symbols. +%For example, the input \lstinline@\hat{a}=\hat{b}@ will produce the output: +%\[\hat{a}=\hat{b}\] +%To make a vector with a hat, the input \lstinline@\hat{\mathbf{a}}@ produces: +%\[\hat{\mathbf{a}}\] +% +%The command \lstinline{\hat} will choose a hat randomly from six hats: +%\begin{itemize} +%\item \(\hatn{a}{0}\) - A beret +%\item \(\hatn{a}{1}\) - A Santa hat +%\item \(\hatn{a}{2}\) - A Scottish hat +%\item \(\hatn{a}{3}\) - A sombrero +%\item \(\hatn{a}{4}\) - A wizard's hat +%\item \(\hatn{a}{5}\) - A top hat +%\end{itemize} +% +%Variables can be given a non-random hat, using the command \lstinline{\hatn}: +%\begin{itemize} +%\item \lstinline@\hatn{a}{0}@ produces \(\hatn{a}{0}\) +%\item \lstinline@\hatn{a}{1}@ produces \(\hatn{a}{1}\) +%\item \lstinline@\hatn{a}{2}@ produces \(\hatn{a}{2}\) +%\item \lstinline@\hatn{a}{3}@ produces \(\hatn{a}{3}\) +%\item \lstinline@\hatn{a}{4}@ produces \(\hatn{a}{4}\) +%\item \lstinline@\hatn{a}{5}@ produces \(\hatn{a}{5}\) +%\end{itemize} +% +%\iffalse +%<*documentation> +\documentclass{article} +\usepackage{realhats} +\usepackage{doc} +\usepackage{listings} +\lstset{basicstyle=\ttfamily\footnotesize,commentstyle=\color{white},language=TeX} +\title{realhats v\input{VERSION}} +\author{Matthew W.~Scroggs \& Adam K.~Townsend} +\begin{document} +\maketitle + \DocInput{realhats.dtx} +\end{document} +%</documentation> +%\fi + +%\iffalse +%<*realhats> +\NeedsTeXFormat{LaTeX2e} +\ProvidesPackage{realhats}[2019/02/02 realhats] + +\RequirePackage{amsmath} +\RequirePackage{graphicx} +\RequirePackage{ifthen} +\RequirePackage[first=0, last=8]{lcg} +\RequirePackage{calc} +\RequirePackage{stackengine} + +\newcommand\myhat{} +\newlength{\hshif} %horizontal shift +\newlength{\vshif} %vertical shift + +\renewcommand{\hat}[1]{\rand\hatn{#1}{\arabic{rand}}} + +\newcommand{\hatn}[2]{\hatnoptions{#1}{#2}{0ex}{0ex}} + +\newcommand{\hatnoptions}[4]{% +\setlength{\hshif}{1pt} +\ifthenelse{\equal{#2}{0}}{\renewcommand\myhat{hats/realhats-beret}\setlength{\vshif}{-0.6ex} \setlength{\hshif}{0.5ex} }{}% +\ifthenelse{\equal{#2}{1}}{\renewcommand\myhat{hats/realhats-santa}\setlength{\vshif}{-0.1ex} }{}% +\ifthenelse{\equal{#2}{2}}{\renewcommand\myhat{hats/realhats-scottish}\setlength{\vshif}{-0.7ex} \setlength{\hshif}{0.6ex}}{}% +\ifthenelse{\equal{#2}{3}}{\renewcommand\myhat{hats/realhats-sombrero}\setlength{\vshif}{-0.17ex} \addtolength{\hshif}{-1pt}}{}% +\ifthenelse{\equal{#2}{4}}{\renewcommand\myhat{hats/realhats-witch}\setlength{\vshif}{-0.12ex} \addtolength{\hshif}{-1pt}}{}% +\ifthenelse{\equal{#2}{5}}{\renewcommand\myhat{hats/realhats-tophat}\setlength{\vshif}{-0.6ex} \addtolength{\hshif}{-1pt}}{}% +\ifthenelse{\equal{#2}{6}}{\renewcommand\myhat{hats/realhats-makelatexgreatagain}\setlength{\vshif}{-0.6ex} \addtolength{\hshif}{-1pt}}{}% +\ifthenelse{\equal{#2}{7}}{\renewcommand\myhat{hats/realhats-fez}\setlength{\vshif}{-0.4ex} \addtolength{\hshif}{-1pt}}{}% +\ifthenelse{\equal{#2}{8}}{\renewcommand\myhat{hats/realhats-cowboy}\setlength{\vshif}{-0.3ex} \setlength{\hshif}{0.2ex}}{}% +\addtolength{\hshif}{#3}% +\addtolength{\vshif}{#4}% +\stackMath % +\stackon[\vshif]{#1}{\hspace{\hshif}\includegraphics[width=2ex]{\myhat}} +} +%</realhats> +%\fi diff --git a/Master/texmf-dist/source/latex/realhats/realhats.ins b/Master/texmf-dist/source/latex/realhats/realhats.ins new file mode 100644 index 00000000000..1d5df058956 --- /dev/null +++ b/Master/texmf-dist/source/latex/realhats/realhats.ins @@ -0,0 +1,30 @@ +\input{docstrip.tex} +\keepsilent +\usedir{tex/latex/realhats} +\preamble +Copyright (c) 2019 Matthew Scroggs & Adam Townsend + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +\endpreamble +\askforoverwritefalse +\generate{ + \file{realhats.sty}{\from{realhats.dtx}{realhats}} +} +\endbatchfile diff --git a/Master/texmf-dist/tex/latex/realhats/hats/realhats-beret.png b/Master/texmf-dist/tex/latex/realhats/hats/realhats-beret.png Binary files differnew file mode 100644 index 00000000000..238d2a0ce01 --- /dev/null +++ b/Master/texmf-dist/tex/latex/realhats/hats/realhats-beret.png diff --git a/Master/texmf-dist/tex/latex/realhats/hats/realhats-cowboy.png b/Master/texmf-dist/tex/latex/realhats/hats/realhats-cowboy.png Binary files differnew file mode 100644 index 00000000000..32ba5646b37 --- /dev/null +++ b/Master/texmf-dist/tex/latex/realhats/hats/realhats-cowboy.png diff --git a/Master/texmf-dist/tex/latex/realhats/hats/realhats-fez.png b/Master/texmf-dist/tex/latex/realhats/hats/realhats-fez.png Binary files differnew file mode 100644 index 00000000000..1efb0bd181c --- /dev/null +++ b/Master/texmf-dist/tex/latex/realhats/hats/realhats-fez.png diff --git a/Master/texmf-dist/tex/latex/realhats/hats/realhats-makelatexgreatagain.png b/Master/texmf-dist/tex/latex/realhats/hats/realhats-makelatexgreatagain.png Binary files differnew file mode 100644 index 00000000000..71c7bc61b6f --- /dev/null +++ b/Master/texmf-dist/tex/latex/realhats/hats/realhats-makelatexgreatagain.png diff --git a/Master/texmf-dist/tex/latex/realhats/hats/realhats-santa.png b/Master/texmf-dist/tex/latex/realhats/hats/realhats-santa.png Binary files differnew file mode 100644 index 00000000000..3b79c7030f2 --- /dev/null +++ b/Master/texmf-dist/tex/latex/realhats/hats/realhats-santa.png diff --git a/Master/texmf-dist/tex/latex/realhats/hats/realhats-scottish.png b/Master/texmf-dist/tex/latex/realhats/hats/realhats-scottish.png Binary files differnew file mode 100644 index 00000000000..6f4cc15123f --- /dev/null +++ b/Master/texmf-dist/tex/latex/realhats/hats/realhats-scottish.png diff --git a/Master/texmf-dist/tex/latex/realhats/hats/realhats-sombrero.png b/Master/texmf-dist/tex/latex/realhats/hats/realhats-sombrero.png Binary files differnew file mode 100644 index 00000000000..a84cf37e0ae --- /dev/null +++ b/Master/texmf-dist/tex/latex/realhats/hats/realhats-sombrero.png diff --git a/Master/texmf-dist/tex/latex/realhats/hats/realhats-tophat.png b/Master/texmf-dist/tex/latex/realhats/hats/realhats-tophat.png Binary files differnew file mode 100644 index 00000000000..c861e34b568 --- /dev/null +++ b/Master/texmf-dist/tex/latex/realhats/hats/realhats-tophat.png diff --git a/Master/texmf-dist/tex/latex/realhats/hats/realhats-witch.png b/Master/texmf-dist/tex/latex/realhats/hats/realhats-witch.png Binary files differnew file mode 100644 index 00000000000..abcafa1030a --- /dev/null +++ b/Master/texmf-dist/tex/latex/realhats/hats/realhats-witch.png diff --git a/Master/texmf-dist/tex/latex/realhats/realhats.sty b/Master/texmf-dist/tex/latex/realhats/realhats.sty new file mode 100644 index 00000000000..e85741d156c --- /dev/null +++ b/Master/texmf-dist/tex/latex/realhats/realhats.sty @@ -0,0 +1,66 @@ +%% +%% This is file `realhats.sty', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% realhats.dtx (with options: `realhats') +%% Copyright (c) 2019 Matthew Scroggs & Adam Townsend +%% +%% Permission is hereby granted, free of charge, to any person obtaining a copy +%% of this software and associated documentation files (the "Software"), to deal +%% in the Software without restriction, including without limitation the rights +%% to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +%% copies of the Software, and to permit persons to whom the Software is +%% furnished to do so, subject to the following conditions: +%% +%% The above copyright notice and this permission notice shall be included in all +%% copies or substantial portions of the Software. +%% +%% THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +%% IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +%% FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +%% AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +%% LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +%% OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +%% SOFTWARE. +%% + + +\NeedsTeXFormat{LaTeX2e} +\ProvidesPackage{realhats}[2019/02/02 realhats] + +\RequirePackage{amsmath} +\RequirePackage{graphicx} +\RequirePackage{ifthen} +\RequirePackage[first=0, last=8]{lcg} +\RequirePackage{calc} +\RequirePackage{stackengine} + +\newcommand\myhat{} +\newlength{\hshif} %horizontal shift +\newlength{\vshif} %vertical shift + +\renewcommand{\hat}[1]{\rand\hatn{#1}{\arabic{rand}}} + +\newcommand{\hatn}[2]{\hatnoptions{#1}{#2}{0ex}{0ex}} + +\newcommand{\hatnoptions}[4]{% +\setlength{\hshif}{1pt} +\ifthenelse{\equal{#2}{0}}{\renewcommand\myhat{hats/realhats-beret}\setlength{\vshif}{-0.6ex} \setlength{\hshif}{0.5ex} }{}% +\ifthenelse{\equal{#2}{1}}{\renewcommand\myhat{hats/realhats-santa}\setlength{\vshif}{-0.1ex} }{}% +\ifthenelse{\equal{#2}{2}}{\renewcommand\myhat{hats/realhats-scottish}\setlength{\vshif}{-0.7ex} \setlength{\hshif}{0.6ex}}{}% +\ifthenelse{\equal{#2}{3}}{\renewcommand\myhat{hats/realhats-sombrero}\setlength{\vshif}{-0.17ex} \addtolength{\hshif}{-1pt}}{}% +\ifthenelse{\equal{#2}{4}}{\renewcommand\myhat{hats/realhats-witch}\setlength{\vshif}{-0.12ex} \addtolength{\hshif}{-1pt}}{}% +\ifthenelse{\equal{#2}{5}}{\renewcommand\myhat{hats/realhats-tophat}\setlength{\vshif}{-0.6ex} \addtolength{\hshif}{-1pt}}{}% +\ifthenelse{\equal{#2}{6}}{\renewcommand\myhat{hats/realhats-makelatexgreatagain}\setlength{\vshif}{-0.6ex} \addtolength{\hshif}{-1pt}}{}% +\ifthenelse{\equal{#2}{7}}{\renewcommand\myhat{hats/realhats-fez}\setlength{\vshif}{-0.4ex} \addtolength{\hshif}{-1pt}}{}% +\ifthenelse{\equal{#2}{8}}{\renewcommand\myhat{hats/realhats-cowboy}\setlength{\vshif}{-0.3ex} \setlength{\hshif}{0.2ex}}{}% +\addtolength{\hshif}{#3}% +\addtolength{\vshif}{#4}% +\stackMath % +\stackon[\vshif]{#1}{\hspace{\hshif}\includegraphics[width=2ex]{\myhat}} +} +\endinput +%% +%% End of file `realhats.sty'. diff --git a/Master/tlpkg/libexec/ctan2tds b/Master/tlpkg/libexec/ctan2tds index e414a3ae3d1..10ef991b8a8 100755 --- a/Master/tlpkg/libexec/ctan2tds +++ b/Master/tlpkg/libexec/ctan2tds @@ -1050,7 +1050,6 @@ chomp ($Build = `cd $Master/../Build/source && pwd`); 'rangen', "die 'skipping, per author request'", 'ratexdb', "die 'skipping, needs sql, etc.'", 'realcalc', "die 'skipping, nosell license'", - 'realhats', "die 'skipping, need image renames'", 'references', "die 'skipping, requires binary'", 'renditions', "die 'skipping, per author request'", 'resume', "die 'skipping, nosell license'", @@ -1923,6 +1922,7 @@ $standardtex 'r_und_s', '\.tex|\.sty', 'randomlist', 'randomlist\.tex|' . $standardtex, 'realcalc', 'realcalc.tex', + 'realhats', '^hats|' . $standardtex, 'resumemac', 'resumemac.tex', 'returntogrid','\.lua|' . $standardtex, 'revtex', '\.sty|\.cls|\.rtx', diff --git a/Master/tlpkg/tlpsrc/collection-pictures.tlpsrc b/Master/tlpkg/tlpsrc/collection-pictures.tlpsrc index 5fff2887cb4..22156a79679 100644 --- a/Master/tlpkg/tlpsrc/collection-pictures.tlpsrc +++ b/Master/tlpkg/tlpsrc/collection-pictures.tlpsrc @@ -119,6 +119,7 @@ depend quantikz depend qrcode depend randbild depend randomwalk +depend realhats depend reotex depend rviewport depend sa-tikz diff --git a/Master/tlpkg/tlpsrc/realhats.tlpsrc b/Master/tlpkg/tlpsrc/realhats.tlpsrc new file mode 100644 index 00000000000..e69de29bb2d --- /dev/null +++ b/Master/tlpkg/tlpsrc/realhats.tlpsrc |