113

I'm trying to convert some friends to LaTeX and have come up against a (to me) unexpected objection: there are too few packages that support "fun" (really), to which I responded:

enter image description here

I know there are examples of clever and creative (and a bit silly) output coaxed out of otherwise quite sertious packages like TikZ, but I also wonder: Are there other packages, like Hanno Rein's coffee package, that demonstrate LaTeX's lighter side?

  • 8
    You sure know: tex.stackexchange.com/questions/29402/… – topskip Aug 18 '12 at 7:49
  • 13
    Paulo's duck :) – cmhughes Aug 18 '12 at 16:21
  • 24
    The nicest thing about LaTeX is that you don't have to see the actual Comic Sans text until you compile. – percusse Aug 18 '12 at 20:22
  • 2
    Does games count as fun? There are several packages for typesetting games such as chess and othello, as well as cross words. See the TeX catalogue: texcatalogue.sarovar.org/bytopic.html#games Edit: Also, bbcard for bullshit bingo and baseball cards. – Torbjørn T. Aug 18 '12 at 20:42
  • 1
    Good question, but I'd like a bit of clarification as to what counts as "fun". To me, "fun" is interactive. It's hard to imagine any document preparation system where "fun" can be an integral part of creating a document. So I'm guessing that's not what you mean. Then you get things that I'd classify as between "clever" and "witty". That's more likely with TeX and is demonstrated in some of the answers below. But that still doesn't quite feel like "fun". Can you point to some things in some other system that would give us examples of what your friends are looking for? – Loop Space Aug 22 '12 at 8:19

15 Answers 15

23

What about Peter Wilson's sudokubundle? You can print, create and SOLVE! sudokus.

55

Not a package, but could be packaged pretty easily: beamerduck!

The following presentation will show a progress by having a duck walk from left side of the screen to the right side, saying annoying things every once a while. You can of course replace the duck picture by any other animal (I am thinking about a man carrying a sack on his back. On specific slides, the ones I plan to spend more time on, I want to have him drop the sack to the ground and rest).

\documentclass{beamer}
\usepackage{tikz}
\usepackage{lipsum}

% Duck stuff

\usetikzlibrary{shapes.callouts, calc}

% Parameters: file, number of pages, width
\newcommand\DuckSetup[3]{%
\foreach \n in {1,...,#2}{
\pgfdeclareimage[width=#3,page=\n]{duck\n}{#1}}
\def\ducknumberofpages{#2}}

\DuckSetup{duck}{2}{1cm} % "duck" is a pdf file with 2 pages that will 
                         % alternate as they move from slide to slide.

\newcommand\duck{%
\tikz[remember picture]{\node (duck) {%
\pgfmathparse{int(mod(\thepage-1,\ducknumberofpages)+1)}%
\pgfuseimage{duck\pgfmathresult}};}
}

\setbeamertemplate{footline}
{%
\pgfmathparse{(\thepage-1)*\paperwidth/\insertdocumentendpage}%
\hspace{\pgfmathresult pt}%
\duck
}

\setbeamertemplate{navigation symbols}{}

\newcommand<>{\ducksez}[1]{%
\uncover#2{\tikz[remember picture,overlay]{\node[ellipse callout, draw, fill=white, overlay,
callout absolute pointer={($ (duck.north east) + (1,0) $)}] at ($ (duck.north east) + (3,1)
$) {#1};}}}

\newcommand<>{\ducksezrev}[1]{%
\uncover#2{\tikz[remember picture,overlay]{\node[ellipse callout, draw, fill=white, overlay,
callout absolute pointer={(duck.north west)}] at ($ (duck.north west) + (-3,1) $) {#1};}}}
% End of duck stuff

\author{Egon Ipse}
\title{The Importance of Being a Duck}
\begin{document}
\begin{frame}
   \maketitle
   \ducksez<2>{Hello!}
\end{frame}
\begin{frame}
   \frametitle{Purpose}
   \begin{enumerate}[<+->]
      \item Purpose of Ducks
      \item Purpose of Duckweed
   \end{enumerate}
   \ducksez<3>{Quack!}
\end{frame}

\foreach \i in {1,...,10}{
\begin{frame}
   \frametitle{Frame \i}
   \lipsum[\i]
   \ifnum \i=5 \ducksez{Five!} \fi
   \ifnum \i=9 \ducksezrev{Nine!} \fi
\end{frame}
}

\begin{frame}
   \frametitle{The last frame}
   \ducksezrev{See Ya!}
\end{frame}

\end{document}

A "duck" presentation

  • 1
    No, the duck is the best appropriate to TeX.SX, read carefully the comments below the question above! ;-) – Speravir Mar 8 '13 at 4:05
  • 17
    OMG TEH DUCKS! ♥ – Paulo Cereda Mar 8 '13 at 11:38
  • 1
    This is pure genius. – Alfredo Hernández Feb 17 '14 at 22:41
  • Hahahaha! You're awesome! Will definitely try it! And with this one! ^_^ – user101590 Jul 28 '16 at 8:15
37

Hope this counts. Cow font anyone :-)? It's part of TL Contrib.

http://www.tug.org/TUGboat/tb27-1/tb86hoekwater-cows.pdf

  • 2
    So now, not only that you can make your documents coffe-stained, you can as well pretend you were pretty bored during your manipulation with the document, and you drew few cows on the paper margins... – yo' Aug 24 '12 at 11:11
  • 1
    My son loves cows, this is totally awesome! For all others which want to use it with LaTeX, you may find this: newsgroups.derkeiler.com/Archive/Comp/comp.text.tex/2009-06/… helpful. – math Oct 4 '12 at 9:03
  • TE Question regarding installation issues – Carel Sep 14 '16 at 10:21
24

I like the chickenize package, which can do a lot of useless things, among others it can print in rainbowcolors. See yourself, works only with Lua(La)TeX.

enter image description here

  • 3
    The text looks mangled. Is this the final result of using this package? – Exeleration-G Oct 15 '13 at 8:02
  • @Exeleration-G No, as far as I remember that occured while makeing the jpg, which is displayed here. – Keks Dose Oct 15 '13 at 9:25
  • 1
    ::Eyes melt out of sockets:: – heather May 17 '17 at 2:12
22

Well, there's always the package skull, which makes available a skull symbol for you to use in math mode. Fun, and of course extremely useful!

18

The search "ducks are fun" yields 15,600,000 hits on google - so it seems evident that ducks are fun.

And latex can do ducks with the brand new tikzducks package (of which I am the author): https://github.com/samcarter/tikzducks and https://www.ctan.org/pkg/tikzducks

A small example:

\documentclass{article}
\usepackage{tikzducks}

\begin{document}
\begin{tikzpicture}
    \duck[body=yellow!50!brown!40!white,
        crazyhair=gray!50!white,
        eyebrow,
        glasses=brown!70!black,
        book=\scalebox{0.2}{$E=mc^2$},
        bookcolour=red!20!brown]
\end{tikzpicture}
\end{document}

enter image description here


There is also the younger sibling of the tikzducks, the tikcmarmots (https://github.com/samcarter/tikzmarmots and https://www.ctan.org/pkg/tikzmarmots)

enter image description here


And even more family members are on the way: the tikzlings (https://github.com/samcarter/tikzlings)

enter image description here

15

You can have fun drawing Feynman diagrams with the feyn package... or is that just me?

  • 2
    I think that this is more fun-ctional than fun. I think the aim here is "frivolous and playful". – Niel de Beaudrap Aug 18 '12 at 21:12
  • 1
    Can it not be both fun and functional? I also realised that my answer was, perhaps, not exactly what the OP was looking for, but I thought it was a useful addition (and so did someone else). – User 17670 Aug 18 '12 at 21:45
  • My rule of thumb is this: of the number of documents it's used for, how many are using it to accomplish anything more than decoration or nonsense? I would imagine, at least, that the functional:fun ratio of feyn is quite high. – Niel de Beaudrap Aug 18 '12 at 22:27
15

One of my students has taught himself TeX programming by developing:

In my opinion this is the most strange thing one can possibly do just for fun!

(But I am biased, of course :-)

From the package readme:

Let's say we want to program our document in C on top of TeX. Then there would be the need to interpret the C semantics. Basically we would have to write a compiler for C in TeX. Not a very promising future, if you start this. But, we can use a normal C compiler to compile the C code to some simple platform. Like AVRs Atmega. Since I have other things to do than writing an AVR Emulator in TeX, here it is!

Actually, I even considered using this (!). In one of my lectures, I present lots of small AVR programs on beamer slides together with their "output" on a specific device with some LEDs and a 7 seg display. I already have been using LaTeX macros to typeset the status of the LED array and the 7 seg display, so the interpreter could, given the binary code, automatically derive the parameters for these macros. A special listings environment could automatically invoke the C-compiler (via \write18) to generate the respective binary code. The result would be truly "self-contained" slides: Whenever I change the given example code, the typesetting of the "output" would automatically be updated.

However, other deadlines were approaching, so in the end I dropped the idea.

  • I did not try it, but it sounds awesome. – Andy Apr 8 '15 at 15:23
14

I like the Tower of Hanoi, classical algorithm problem, illustrated and computed, via LaTex.

Tower of Hanoi in LaTex

You can also have the Simpsons family Demo here

You know what would be cool? A package for torn paper!

13

run texdoc pst-fun, it shows some funny macros

12

With a lack of confidence, I present my own. However, it has not been bundled into a package. :-D

  • 2
    Warning: strobe lighting in effect when following that link! – Loop Space Aug 22 '12 at 10:03
  • To avoid strobe lighting I provide another one. – kiss my armpit Aug 22 '12 at 13:57
7

Since @samcarter has mentioned her tikzducks package, I thought that, perhaps, I could cite my halloweenmath package as well.

5

Well, as you can see in some of the other answers, there are a lot of font packages out there with what some may call a questionable amount of uses.

A lot of the fonts mentioned in the other answer, and some other "silly" fonts are grouped under the The font-novelty topic on CTAN.

Not all fonts that can be considered "just for fun" or "silly" are listed under font-novelty, though. Here is some "fun" stuff outside of font-novelty :

  • The font-invented topic on CTAN lists fonts for fictional/invented languages, it includes packages for Klingon and several of J.R.R. Tolkien's Middle-Earth alphabets. There are also typesetting support packages for some of these languages listed under the CTAN's lang-invented topic.

P.S. I intended to post more links while typing this up, but SX won't let me post more than two links because I'm still a greenhorn over here. I'm planning to update this answer once I rack up some more reputation :)

  • 1
    While the language/usage might be fictional but they are proper fonts. So it doesn't really classify as fun I would say. Besides they are also in TeX-SX logo so known to people here pretty much. – percusse Mar 17 '15 at 14:26
5

After @samcarter and @GuM presented their work, I present you my ducksay and duckuments packages:

\documentclass[border=2mm,preview]{standalone}

\usepackage{ducksay}[2018/09/21]
\DucksayOptions
  {
    ,arg=box
    ,vpad=1
  }

\usepackage{duckuments}
\usepackage{microtype}

\usepackage[]{graphicx}

\AddAnimal{marmot}
{  \
    \   %%% /////*%%%
     \  %///////////%
        //////////////
      /////%%////%%////
     .//((///(%%///((///
     ///((/,,(%%,,/((///
    //////,,%,,,(,,//////
    //////////*//////////
   .////////,,,,,/////////
   //%%#/,,,,,,,**/,//%%//
   /#%%%%,,.....,**/#%%%%/
   //%%%%/,.....,**(#%%%%/
   //(%%%(*,,,,,**/##%%%//
   ///,%%,/******///#%,///
    //,,,,,//////((,,,,///   %%
    ///,,,,,,,,,,,,,,,///%%%%%
     /////,,,,,,,,,*////%%%,
       ////////////////
     %%%%%%(//////(%%%%%} 

\begin{document}
\duckthink[marmot]{\includegraphics{example-image-duck}}
\ducksay[wd=20,msg-align=j,msg=\normalfont]{\blindduck}
\end{document}

enter image description here

3

For lobsters fans:

LobLib is a TeX package for creating lobster themed documents and inserting a wide range of lobster images into papers.

https://github.com/bae43/LobLib/

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.