summaryrefslogtreecommitdiff
path: root/macros/latex/contrib/realhats
diff options
context:
space:
mode:
authorNorbert Preining <norbert@preining.info>2019-09-02 13:46:59 +0900
committerNorbert Preining <norbert@preining.info>2019-09-02 13:46:59 +0900
commite0c6872cf40896c7be36b11dcc744620f10adf1d (patch)
tree60335e10d2f4354b0674ec22d7b53f0f8abee672 /macros/latex/contrib/realhats
Initial commit
Diffstat (limited to 'macros/latex/contrib/realhats')
-rw-r--r--macros/latex/contrib/realhats/README.md29
-rw-r--r--macros/latex/contrib/realhats/hats/realhats-beret.pngbin0 -> 147991 bytes
-rw-r--r--macros/latex/contrib/realhats/hats/realhats-cowboy.pngbin0 -> 672361 bytes
-rw-r--r--macros/latex/contrib/realhats/hats/realhats-crown.pngbin0 -> 2632201 bytes
-rw-r--r--macros/latex/contrib/realhats/hats/realhats-fez.pngbin0 -> 154708 bytes
-rw-r--r--macros/latex/contrib/realhats/hats/realhats-makelatexgreatagain.pngbin0 -> 442870 bytes
-rw-r--r--macros/latex/contrib/realhats/hats/realhats-santa.pngbin0 -> 369905 bytes
-rw-r--r--macros/latex/contrib/realhats/hats/realhats-scottish.pngbin0 -> 1143568 bytes
-rw-r--r--macros/latex/contrib/realhats/hats/realhats-sombrero.pngbin0 -> 413037 bytes
-rw-r--r--macros/latex/contrib/realhats/hats/realhats-tophat.pngbin0 -> 40750 bytes
-rw-r--r--macros/latex/contrib/realhats/hats/realhats-witch.pngbin0 -> 577131 bytes
-rw-r--r--macros/latex/contrib/realhats/readme_images/hats.pngbin0 -> 13254 bytes
-rw-r--r--macros/latex/contrib/realhats/realhats.dtx145
-rw-r--r--macros/latex/contrib/realhats/realhats.ins30
-rw-r--r--macros/latex/contrib/realhats/realhats.pdfbin0 -> 8255000 bytes
15 files changed, 204 insertions, 0 deletions
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
--- /dev/null
+++ b/macros/latex/contrib/realhats/hats/realhats-beret.png
Binary files 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
--- /dev/null
+++ b/macros/latex/contrib/realhats/hats/realhats-cowboy.png
Binary files 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
--- /dev/null
+++ b/macros/latex/contrib/realhats/hats/realhats-crown.png
Binary files 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
--- /dev/null
+++ b/macros/latex/contrib/realhats/hats/realhats-fez.png
Binary files 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
--- /dev/null
+++ b/macros/latex/contrib/realhats/hats/realhats-makelatexgreatagain.png
Binary files 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
--- /dev/null
+++ b/macros/latex/contrib/realhats/hats/realhats-santa.png
Binary files 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
--- /dev/null
+++ b/macros/latex/contrib/realhats/hats/realhats-scottish.png
Binary files 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
--- /dev/null
+++ b/macros/latex/contrib/realhats/hats/realhats-sombrero.png
Binary files 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
--- /dev/null
+++ b/macros/latex/contrib/realhats/hats/realhats-tophat.png
Binary files 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
--- /dev/null
+++ b/macros/latex/contrib/realhats/hats/realhats-witch.png
Binary files 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
--- /dev/null
+++ b/macros/latex/contrib/realhats/readme_images/hats.png
Binary files 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}
+%</documentation>
+%\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}}
+}
+%</realhats>
+%\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
--- /dev/null
+++ b/macros/latex/contrib/realhats/realhats.pdf
Binary files differ