From e0c6872cf40896c7be36b11dcc744620f10adf1d Mon Sep 17 00:00:00 2001 From: Norbert Preining Date: Mon, 2 Sep 2019 13:46:59 +0900 Subject: Initial commit --- macros/latex/contrib/realhats/README.md | 29 +++++ .../latex/contrib/realhats/hats/realhats-beret.png | Bin 0 -> 147991 bytes .../contrib/realhats/hats/realhats-cowboy.png | Bin 0 -> 672361 bytes .../latex/contrib/realhats/hats/realhats-crown.png | Bin 0 -> 2632201 bytes .../latex/contrib/realhats/hats/realhats-fez.png | Bin 0 -> 154708 bytes .../realhats/hats/realhats-makelatexgreatagain.png | Bin 0 -> 442870 bytes .../latex/contrib/realhats/hats/realhats-santa.png | Bin 0 -> 369905 bytes .../contrib/realhats/hats/realhats-scottish.png | Bin 0 -> 1143568 bytes .../contrib/realhats/hats/realhats-sombrero.png | Bin 0 -> 413037 bytes .../contrib/realhats/hats/realhats-tophat.png | Bin 0 -> 40750 bytes .../latex/contrib/realhats/hats/realhats-witch.png | Bin 0 -> 577131 bytes .../latex/contrib/realhats/readme_images/hats.png | Bin 0 -> 13254 bytes macros/latex/contrib/realhats/realhats.dtx | 145 +++++++++++++++++++++ macros/latex/contrib/realhats/realhats.ins | 30 +++++ macros/latex/contrib/realhats/realhats.pdf | Bin 0 -> 8255000 bytes 15 files changed, 204 insertions(+) create mode 100644 macros/latex/contrib/realhats/README.md create mode 100644 macros/latex/contrib/realhats/hats/realhats-beret.png create mode 100644 macros/latex/contrib/realhats/hats/realhats-cowboy.png create mode 100644 macros/latex/contrib/realhats/hats/realhats-crown.png create mode 100644 macros/latex/contrib/realhats/hats/realhats-fez.png create mode 100644 macros/latex/contrib/realhats/hats/realhats-makelatexgreatagain.png create mode 100644 macros/latex/contrib/realhats/hats/realhats-santa.png create mode 100644 macros/latex/contrib/realhats/hats/realhats-scottish.png create mode 100644 macros/latex/contrib/realhats/hats/realhats-sombrero.png create mode 100644 macros/latex/contrib/realhats/hats/realhats-tophat.png create mode 100644 macros/latex/contrib/realhats/hats/realhats-witch.png create mode 100644 macros/latex/contrib/realhats/readme_images/hats.png create mode 100644 macros/latex/contrib/realhats/realhats.dtx create mode 100644 macros/latex/contrib/realhats/realhats.ins create mode 100644 macros/latex/contrib/realhats/realhats.pdf (limited to 'macros/latex/contrib/realhats') diff --git a/macros/latex/contrib/realhats/README.md b/macros/latex/contrib/realhats/README.md new file mode 100644 index 0000000000..41c09d5fc9 --- /dev/null +++ b/macros/latex/contrib/realhats/README.md @@ -0,0 +1,29 @@ +# 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 3.0 +* Added optional parameters for `\hat` and `\usepackage` to control which hats are used. +* Added crown +### 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/macros/latex/contrib/realhats/hats/realhats-beret.png b/macros/latex/contrib/realhats/hats/realhats-beret.png new file mode 100644 index 0000000000..238d2a0ce0 Binary files /dev/null and b/macros/latex/contrib/realhats/hats/realhats-beret.png differ diff --git a/macros/latex/contrib/realhats/hats/realhats-cowboy.png b/macros/latex/contrib/realhats/hats/realhats-cowboy.png new file mode 100644 index 0000000000..32ba5646b3 Binary files /dev/null and b/macros/latex/contrib/realhats/hats/realhats-cowboy.png differ diff --git a/macros/latex/contrib/realhats/hats/realhats-crown.png b/macros/latex/contrib/realhats/hats/realhats-crown.png new file mode 100644 index 0000000000..b250db4ac0 Binary files /dev/null and b/macros/latex/contrib/realhats/hats/realhats-crown.png differ diff --git a/macros/latex/contrib/realhats/hats/realhats-fez.png b/macros/latex/contrib/realhats/hats/realhats-fez.png new file mode 100644 index 0000000000..1efb0bd181 Binary files /dev/null and b/macros/latex/contrib/realhats/hats/realhats-fez.png differ diff --git a/macros/latex/contrib/realhats/hats/realhats-makelatexgreatagain.png b/macros/latex/contrib/realhats/hats/realhats-makelatexgreatagain.png new file mode 100644 index 0000000000..71c7bc61b6 Binary files /dev/null and b/macros/latex/contrib/realhats/hats/realhats-makelatexgreatagain.png differ diff --git a/macros/latex/contrib/realhats/hats/realhats-santa.png b/macros/latex/contrib/realhats/hats/realhats-santa.png new file mode 100644 index 0000000000..3b79c7030f Binary files /dev/null and b/macros/latex/contrib/realhats/hats/realhats-santa.png differ diff --git a/macros/latex/contrib/realhats/hats/realhats-scottish.png b/macros/latex/contrib/realhats/hats/realhats-scottish.png new file mode 100644 index 0000000000..6f4cc15123 Binary files /dev/null and b/macros/latex/contrib/realhats/hats/realhats-scottish.png differ diff --git a/macros/latex/contrib/realhats/hats/realhats-sombrero.png b/macros/latex/contrib/realhats/hats/realhats-sombrero.png new file mode 100644 index 0000000000..a84cf37e0a Binary files /dev/null and b/macros/latex/contrib/realhats/hats/realhats-sombrero.png differ diff --git a/macros/latex/contrib/realhats/hats/realhats-tophat.png b/macros/latex/contrib/realhats/hats/realhats-tophat.png new file mode 100644 index 0000000000..c861e34b56 Binary files /dev/null and b/macros/latex/contrib/realhats/hats/realhats-tophat.png differ diff --git a/macros/latex/contrib/realhats/hats/realhats-witch.png b/macros/latex/contrib/realhats/hats/realhats-witch.png new file mode 100644 index 0000000000..abcafa1030 Binary files /dev/null and b/macros/latex/contrib/realhats/hats/realhats-witch.png differ diff --git a/macros/latex/contrib/realhats/readme_images/hats.png b/macros/latex/contrib/realhats/readme_images/hats.png new file mode 100644 index 0000000000..5a99019bc7 Binary files /dev/null and b/macros/latex/contrib/realhats/readme_images/hats.png differ diff --git a/macros/latex/contrib/realhats/realhats.dtx b/macros/latex/contrib/realhats/realhats.dtx new file mode 100644 index 0000000000..7380964e14 --- /dev/null +++ b/macros/latex/contrib/realhats/realhats.dtx @@ -0,0 +1,145 @@ +%\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} command +%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 +%\item \(\hatn{a}{6}\) - A make {\LaTeX} great again hat +%\item \(\hatn{a}{7}\) - A fez +%\item \(\hatn{a}{8}\) - A cowboy hat +%\item \(\hatn{a}{9}\) - A crown +%\end{itemize} +% +%Variables can be given a non-random hat, using the command \lstinline{\hat} with an optional parameter: +%\begin{itemize} +%\item \lstinline@\hat[beret]{a}@ produces \(\hat[beret]{a}\) +%\item \lstinline@\hat[santa]{a}@ produces \(\hat[santa]{a}\) +%\item \lstinline@\hat[scottish]{a}@ produces \(\hat[scottish]{a}\) +%\item \lstinline@\hat[sombrero]{a}@ produces \(\hat[sombrero]{a}\) +%\item \lstinline@\hat[wizard]{a}@ produces \(\hat[wizard]{a}\) +%\item \lstinline@\hat[tophat]{a}@ produces \(\hat[tophat]{a}\) +%\item \lstinline@\hat[mlga]{a}@ produces \(\hat[mlga]{a}\) +%\item \lstinline@\hat[fez]{a}@ produces \(\hat[fez]{a}\) +%\item \lstinline@\hat[cowboy]{a}@ produces \(\hat[cowboy]{a}\) +%\item \lstinline@\hat[crown]{a}@ produces \(\hat[crown]{a}\) +%\end{itemize} +% +%You can also pass these same options when loading the package. +%For example, \verb@\usepackage[mlga]{realhats}@ will cause the package to use make {\LaTeX} great again hats +%everywhere (unless an different hat is given to the \verb@\hat@ command). +%\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} +% +%\fi + +%\iffalse +%<*realhats> +\NeedsTeXFormat{LaTeX2e} +\ProvidesPackage{realhats}[2019/04/14 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 + +\global\def\hatused{-1} +\DeclareOption{beret}{\global\def\hatused{0}} +\DeclareOption{santa}{\global\def\hatused{1}} +\DeclareOption{scottish}{\global\def\hatused{2}} +\DeclareOption{sombrero}{\global\def\hatused{3}} +\DeclareOption{witch}{\global\def\hatused{4}} +\DeclareOption{tophat}{\global\def\hatused{5}} +\DeclareOption{mlga}{\global\def\hatused{6}} +\DeclareOption{fez}{\global\def\hatused{7}} +\DeclareOption{cowboy}{\global\def\hatused{8}} +\DeclareOption{crown}{\global\def\hatused{9}} +\ProcessOptions\relax + +\renewcommand{\hat}[2][]{% + \ifthenelse{\equal{#1}{}}{% + \ifthenelse{\equal{\hatused}{-1}}% + {\rand\hatn{#2}{\arabic{rand}}}% + {\hatn{#2}{\hatused}}% + }{% + \ifthenelse{\equal{#1}{beret}}{\hatn{#2}{0}}{}% + \ifthenelse{\equal{#1}{santa}}{\hatn{#2}{1}}{}% + \ifthenelse{\equal{#1}{scottish}}{\hatn{#2}{2}}{}% + \ifthenelse{\equal{#1}{sombrero}}{\hatn{#2}{3}}{}% + \ifthenelse{\equal{#1}{witch}}{\hatn{#2}{4}}{}% + \ifthenelse{\equal{#1}{tophat}}{\hatn{#2}{5}}{}% + \ifthenelse{\equal{#1}{mlga}}{\hatn{#2}{6}}{}% + \ifthenelse{\equal{#1}{fez}}{\hatn{#2}{7}}{}% + \ifthenelse{\equal{#1}{cowboy}}{\hatn{#2}{8}}{}% + \ifthenelse{\equal{#1}{crown}}{\hatn{#2}{9}}{}% + }% +} + +\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}}{}% +\ifthenelse{\equal{#2}{9}}{\renewcommand\myhat{hats/realhats-crown}\setlength{\vshif}{-0.3ex} \setlength{\hshif}{0.2ex}}{}% +\addtolength{\hshif}{#3}% +\addtolength{\vshif}{#4}% +\stackMath % +\stackon[\vshif]{#1}{\hspace{\hshif}\includegraphics[width=2ex]{\myhat}} +} +% +%\fi diff --git a/macros/latex/contrib/realhats/realhats.ins b/macros/latex/contrib/realhats/realhats.ins new file mode 100644 index 0000000000..1d5df05895 --- /dev/null +++ b/macros/latex/contrib/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/macros/latex/contrib/realhats/realhats.pdf b/macros/latex/contrib/realhats/realhats.pdf new file mode 100644 index 0000000000..4dec61a7dc Binary files /dev/null and b/macros/latex/contrib/realhats/realhats.pdf differ -- cgit v1.2.3