164

In my town there will be next weekend an exhibition with 7000 donkey images. It is related to a sculpture group with 7 donkeys called "donkey's way" which will be installed in the summer.

I would like to add one (or perhaps more) TeX-donkey images.

If you would like to participate and create one: you are completely free to choose the look and implementation. Additional ducks and lions are allowed.

I will choose the one I like best (I will take votes into account), print it out, add your name(s) and put it in one of the boxes which collects the images.

If you need inspiration: There is a Facebook group "7000Esel", which shows some already existing images. The official logo of the project looks like this:

enter image description here

I will also add a bounty to this question as soon as possible -- which means after Paulo's bounty has be awarded. (But I regret that I can't split the bounty among all this beautiful donkeys (and ducks in disguise)).

Update

I made prints from all the answers (if the authors would get a pdf: drop me a mail) and brought them to the exhibition. I will try to make fotos on sunday and post them.

Update

I went to the exhibition. There were thousands of donkey images side-by-side in a number of corridors.

enter image description here

Among these various tex donkeys (I couldn't put all in the boxes as there was a time limit).

enter image description here enter image description here enter image description here enter image description here

There was also an image of another disguised duck:

enter image description here

I'm very satisfied and thank everyone for their contributions ;-)

enter image description here

16
  • Must this be TeX (Tikz) or is a svg or pdf also allowed? Commented May 30, 2016 at 12:30
  • 2
    @MaestroGlanz: As I'm asking this on tex.sx and I'm asking for a TeX-donkey, there should be some TeX in it, but external resources are allowed. As I wrote you are quite free regarding the implementation. You can e.g. draw a donkey on paper and scan it. Only don't violate rights of other people by using some random image from the net. I don't want to get sued ;-) Commented May 30, 2016 at 12:40
  • 1
    @EthanBolker Something like this? I only just saw your comment having posted ;). Though I went with Don{Knuth} rather than DonK(nuth). Not sure where you'd find a picture of an ey.
    – cfr
    Commented May 31, 2016 at 3:21
  • 1
    @PauloCereda: But I wanted to add a bounty ;-(. What happens if I add a bounty too? Can we split them? (The justification for the bounty is naturally wrong. I got some very neat donkeys -- which were very well received. Commented Jun 1, 2016 at 14:21
  • 2
    ooh I saw another duck disguised as donkey. :) Commented Jun 6, 2016 at 17:23

13 Answers 13

153

enter image description here

\documentclass{article}
\usepackage{upgreek,amssymb,amsmath,graphicx}
\begin{document}
\begin{minipage}{2cm}
\Huge\obeylines\parskip-.7em
\resizebox{1.8em}{1.5em}{$\;\;\Uplambda\!,\!\!,\!\!,\!\!,\!\!\Uplambda$}
$\,\;_{\odot} {}_{\odot}$
{\small$\;\;\;\;\;\;\;\backslash\;\;\;\;\;\;\backslash$}
\vskip.5em
$\;\; ^{{(}\overset{{_\delta\;\;\;\,_\wr}}{}\!)}$
\vskip-.5em
\resizebox{2.2em}{.4em}{$\;\;\;\;\smile$}
\end{minipage}
\vbox{\noindent\TeX\\ for\\ donkeys\\(and  ducks)}
\end{document}
5
  • Neat ;) What does the delta represent? The rest I can kind of see.
    – cfr
    Commented May 31, 2016 at 12:21
  • 2
    Supposedly is the right nostril ... I now, surely there are better symbols for this (may be a rotated "sigma or simply a circle ...) but I was too sleepy for a fine tuning. :(
    – Fran
    Commented May 31, 2016 at 13:10
  • Oh. I thought that was meant to be the donkey's body...
    – cfr
    Commented May 31, 2016 at 20:35
  • 1
    I wonder what they'll make of this if it gets into one of the boxes!
    – cfr
    Commented Jun 1, 2016 at 2:25
  • 1
    @cfr Smell is you are a TUG member
    – Fran
    Commented Jun 1, 2016 at 7:37
143
+100

Taking up TeX's infamous tradition of logotypes, here's an asinine adaptation:

\documentclass{article}
\usepackage{graphicx}
\usepackage{lmodern}
\def\fontsss#1#2#3{\fontsize{#3\unitlength}{0pt}%
                   \usefont{\encodingdefault}{\sfdefault}{#1}{#2}}
\begin{document}
\begin{picture}(50,20)
  \put(0,14){\rotatebox{145}{\fontsss{bx}{sl}{16}E}}
  \put(12,15){\rotatebox{-105}{\fontsss{bx}{sl}{9}S}}
  \put(17,12){\rotatebox{-100}{\scalebox{1}[-1]{\fontsss{sbc}{sl}{30}E}}}
  \put(39,0){\rotatebox{30}{\fontsss{m}{n}{14}L}}
\end{picture}
\end{document}

Esel

[A German donkey is an Esel]

9
  • 1
    Neat idea. Will have to try how it changes its character with various fonts ;-) Commented May 30, 2016 at 17:29
  • 14
    Do donkeys usually have antlers? ;)
    – cfr
    Commented May 30, 2016 at 19:12
  • 34
    only the three-legged ones!
    – Robert
    Commented May 30, 2016 at 19:16
  • 15
    Don’t be silly — it’s not three-legged, it’s a six-legged donkey in silhouette. Commented May 30, 2016 at 19:22
  • 25
    @Robert : ... that's not a "leg" ... Commented May 30, 2016 at 22:58
111

Here is my TikZ proposition (from donkey-silhouette).

enter image description here

\documentclass[tikz]{standalone}
\usetikzlibrary{shadows,svg.path}
\begin{document}
\begin{tikzpicture}
  \begin{scope}[scale=-.3pt]
    \draw[line width=1pt,fill=gray!90!white,drop shadow]
    svg "M 202,594 c -31,-3 -7,-35 1,-47 -14,-27 33,-48 6,-72 -9,-20
    9,-43 -11,-61 -6,-13 -8,-35 -17,-12 -8,20 11,44 -10,63 5,20 10,45
    -5,63 7,26 -26,39 -48,27 -20,-21 22,-36 16,-59 10,-16 28,-33 11,-52
    13,-28 -12,-50 -12,-78 3,-26 -10,-53 -1,-79 4,-20 6,-47 -22,-41
    -23,12 -45,33 -74,31 -23,3 -45,-20 -28,-40 0,-16 -2,-33 2,-49 14,-21
    46,-3 63,-21 0,-10 1,-18 -0,-25 7,-1 20,-17 20,-21 -17,-8 -0,-24
    -15,-38 -9,-23 -26,-45 -29,-71 21,-7 42,28 55,46 6,9 10,22 18,30
    18,0 5,-35 15,-49 0,-13 17,-50 25,-20 8,26 6,54 4,82 -4,11 11,20
    18,29 7,10 14,21 18,33 2,15 11,30 9,45 15,15 -15,29 9,39 19,20 52,7
    67,-11 29,-32 92,-18 103,24 15,42 -0,86 -10,127 5,14 5,30 -1,45 7,19
    14,41 2,60 -2,10 17,27 -7,30 -17,7 -58,-0 -38,-25 15,-17 5,-40
    24,-57 1,-15 -9,-50 -14,-49 -4,-8 -14,-32 -20,-30 -16,12 6,34 -12,48
    -4,20 7,45 -11,63 13,27 -37,33 -46,13 8,-19 21,-34 27,-55 15,-10
    20,-57 -6,-35 -18,2 -32,2 -33,24 -13,22 15,46 -4,67 4,23 21,49 5,73
    -11,10 19,28 -7,34 -11,5 -24,6 -36,3 z M 112,152 c 0,-18 -14,9 0,0
    z";
  \end{scope}
\end{tikzpicture}
\end{document}

The same code with better indentation:

\documentclass[tikz]{standalone}
\usetikzlibrary{shadows,svg.path}
\begin{document}
\begin{tikzpicture}
  \begin{scope}[scale=-.3pt]
    \draw[line width=1pt,fill=gray!90!white,drop shadow] svg "M
%
     202,594c -31,-3     -7,-35 1,-47   -14,-27 33,-48    6,-72
    -9,-20 9,-43       -11,-61          -6,-13 -8,-35    -17,-12
    -8,20               11,44           -10,63            5,20
     10,45             -5,63             7,26            -26,39
    -48,27             -20,-21           22,-36           16,-59
     10,-16 28,-33     11,-52 13,-28    -12,-50 -12,-78   3,-26
    -10,-53 -1,-79        4,-20 6,-47   -22,-41          -23,12
    -45,33                      -74,31  -23,3            -45,-20
    -28,-40                      0,-16  -2,-33            2,-49
     14,-21 46,-3        63,-21 0,-10    1,-18 -0,-25     7,-1 20,-17
     20,-21-17,-8     -0,-24 -15,-38    -9,-23 -26,-45   -29,-71 21,-7
%
     42,28 55,46       6,9 10,22          18,30       18,0 5,-35 15,-49
     0,-13 17,-50    25,-20  8,26         6,54        4,82 -4,11 11,20
            18,29   7,10      14,21       18,33       2,15
           11,30   9,45       15,15      -15,29       9,39
          19,20    52,7       67,-11      29,-32      92,-18
         103,24    15,42     -0,86       -10,127      5,14 5,30
       -1,45       7,19       14,41       2,60       -2,10 17,27-7,30
      -17,7       -58,-0     -38,-25      15,-17      5,-40       24,-57
      1,-15       -9,-50     -14,-49     -4,-8       -14,-32      -20,-30
    -16,12         6,34      -12,48      -4,20        7,45        -11,63
    13,27         -37,33     -46,13       8,-19       21,-34       27,-55
    15,-10         20,-57   -6,-35       -18,2       -32,2        -33,24
   -13,22 15,46    -4,67     4,23         21,49       5,73 -11,10 19,28
   -7,34 -11,5      -24,6-36,3zM          112,152     c0,-18 -14,9 0,0
%
    z";
  \end{scope}
\end{tikzpicture}
\end{document}
3
  • 6
    A fine and proud donkey! Commented May 30, 2016 at 17:30
  • 8
    Perfect for pin the tail on the donkey.
    – corporal
    Commented Jun 1, 2016 at 7:09
  • 3
    Just saw the indentation ;-)))) Commented Jun 6, 2016 at 17:20
109

Here are three varieties of an alternative rendering of a donkey based on an openclipart image by Timothy King. But note that Inkscape exported useless code so the correspondence with the original is poor in all three cases.

Variant 1 (Original)

don-key 1

Variant 2 (Shiny)

don-key 2

Variant 3 (Power of Knuth)

don-key 3

Variant 1 (Original)

\PassOptionsToPackage{rgb,x11names,dvipsnames,svgnames}{xcolor}
\documentclass[tikz,border=0pt,multi]{standalone}
\usetikzlibrary{decorations.text}
\usepackage{cabin}
\begin{document}
% basic key based on Inkscape export from Timothy King's key at https://openclipart.org/detail/211/shiny-key
  \begin{tikzpicture}[y=0.8pt, x=0.8pt, decoration={text effects along path, text={PROPERTY OF KNUTH}, text effects/.cd, text along path, fit text to path, characters={font=\sffamily\Large\bfseries, text=Silver!50!white},}, yscale=-1,]
  \path [cm={{0.48287,0,0,1.8349,(-16.198,-1039.1)}} , opacity=0.8, even odd rule, inner color=gray, outer color=gray!5] (736.09,693.71)arc(-0.309:180.309:342.99 and 7.831)arc(-180.309:0.309:342.99 and 7.831) -- cycle;
  \path [cm={{0.85307,0,0,0.37556,(-183.43,-23.731)}}, opacity=0.8, even odd rule, inner color=gray!5, outer color=gray!75] (535.62,684.32)arc(-0.529:180.529:93.969 and 14.095)arc(-180.529:0.529:93.969 and 14.095) -- cycle;
  \begin{scope}[cm={{1.4335,0.38566,-0.38566,1.4335,(-33.152,-10.038)}}]
    \path [draw=darkgray] (116.6100,36.2740) .. controls (106.7100,36.4130) and (96.8790,39.3390) .. (88.7700,45.3680) .. controls (72.9270,57.1480) and (65.0760,76.3500) .. (67.7080,95.8680) .. controls (68.4440,101.3200) and (72.0540,106.2500) .. (72.7700,111.5200) .. controls (77.8610,116.4100) and (81.1820,122.5000) .. (87.0520,126.7400) .. controls (104.3300,139.2400) and (129.0100,140.5600) .. (146.8600,128.2400) .. controls (151.8500,124.8100) and (155.9800,120.5600) .. (159.5500,115.6800) .. controls (161.9400,112.4200) and (164.0000,107.7900) .. (168.2100,106.5200) .. controls (171.8500,105.4300) and (174.6000,109.4300) .. (178.2400,108.8700) .. controls (180.8900,108.4600) and (180.2600,105.1500) .. (182.4900,104.1800) .. controls (183.7600,103.6300) and (191.4300,101.0400) .. (192.4000,101.3100) .. controls (194.3000,101.8300) and (194.9800,104.2500) .. (197.2400,104.0900) .. controls (200.2200,103.8800) and (201.1700,100.1700) .. (203.8300,99.5240) .. controls (206.2300,98.9440) and (207.9600,102.3500) .. (209.6800,103.4600) .. controls (213.6300,106.0000) and (217.3800,102.4400) .. (219.1500,99.0870) .. controls (221.9400,100.5400) and (223.6000,104.5100) .. (226.8600,104.7700) .. controls (229.9500,105.0300) and (231.9200,101.5000) .. (234.5200,101.8100) .. controls (238.7000,102.2900) and (241.3600,106.2400) .. (246.4000,104.7100) .. controls (252.3200,102.9100) and (257.6700,95.1210) .. (262.4600,91.3060) .. controls (264.3200,89.8210) and (267.1800,88.0660) .. (267.4900,85.4620) .. controls (267.8300,82.6080) and (264.0500,78.5600) .. (262.2100,76.6490) .. controls (258.8100,73.1240) and (250.3600,74.7740) .. (245.8300,74.7740) .. controls (230.7900,74.7740) and (215.8100,73.5880) .. (200.8000,73.5870) .. controls (194.7000,73.5860) and (181.9300,76.5800) .. (181.8300,68.2740) -- (171.1500,67.8370) -- (162.8600,64.1180) .. controls (161.5600,56.8790) and (154.3800,50.4020) .. (148.6800,46.2740) .. controls (139.5100,39.6370) and (128.0100,36.1150) .. (116.6100,36.2740) -- cycle(92.7390,73.7120) .. controls (106.2200,73.3810) and (109.5500,94.1550) .. (95.1770,96.8680) .. controls (80.3360,99.6700) and (75.4960,76.5540) .. (90.6770,73.9310) .. controls (91.3870,73.8080) and (92.0760,73.7280) .. (92.7390,73.7120) -- cycle;
    \path [fill=gray, opacity=0.8, draw=gray!10!Silver] (116.6700,36.4410) .. controls (106.7700,36.5800) and (96.9330,39.5060) .. (88.8240,45.5350) .. controls (72.9810,57.3150) and (65.1300,72.5160) .. (67.7620,92.0350) .. controls (68.4980,97.4890) and (72.1080,102.4200) .. (72.8240,107.6900) .. controls (77.9150,112.5700) and (81.2360,118.6600) .. (87.1050,122.9100) .. controls (104.3800,135.4100) and (125.0600,136.7300) .. (142.9200,124.4100) .. controls (147.9000,120.9700) and (152.0400,116.7200) .. (155.6100,111.8500) .. controls (157.9900,108.5900) and (164.0500,105.9600) .. (168.2600,104.6900) .. controls (171.9000,103.6000) and (174.6500,107.6000) .. (178.2900,107.0300) .. controls (180.9400,106.6200) and (180.3100,103.3200) .. (182.5400,102.3500) .. controls (183.8100,101.7900) and (191.4900,99.2080) .. (192.4500,99.4720) .. controls (194.3500,99.9960) and (195.0300,102.4100) .. (197.2900,102.2500) .. controls (200.2700,102.0400) and (201.2200,98.3360) .. (203.8900,97.6910) .. controls (206.2800,97.1110) and (208.0100,100.5200) .. (209.7300,101.6300) .. controls (213.6800,104.1700) and (217.4300,100.6100) .. (219.2000,97.2540) .. controls (221.9900,98.7100) and (223.6500,102.6700) .. (226.9200,102.9400) .. controls (230.0000,103.1900) and (231.9700,99.6700) .. (234.5700,99.9720) .. controls (238.7500,100.4600) and (241.4200,104.4100) .. (246.4500,102.8800) .. controls (252.3800,101.0700) and (253.7300,95.2880) .. (258.5100,91.4720) .. controls (260.3700,89.9880) and (263.2300,88.2330) .. (263.5400,85.6290) .. controls (263.8900,82.7740) and (260.1000,78.7270) .. (258.2600,76.8160) .. controls (254.8700,73.2910) and (246.4200,74.9410) .. (241.8900,74.9410) .. controls (226.8400,74.9410) and (211.8700,73.7550) .. (196.8600,73.7540) .. controls (190.7600,73.7530) and (177.9900,76.7470) .. (177.8900,68.4410) -- (167.2000,68.0040) -- (158.9200,64.2850) .. controls (157.6100,57.0460) and (150.4300,50.5690) .. (144.7300,46.4410) .. controls (135.5600,39.8040) and (128.0700,36.2810) .. (116.6700,36.4410) -- cycle(92.7930,73.8790) .. controls (106.2700,73.5480) and (109.6000,94.3220) .. (95.2300,97.0350) .. controls (80.3900,99.8370) and (75.5500,76.7210) .. (90.7300,74.0970) .. controls (91.4410,73.9750) and (92.1300,73.8950) .. (92.7930,73.8790) -- cycle;
    \path [draw=gray, inner color=Silver, outer color=gray] (116.6100,35.9030) .. controls (106.7100,36.0420) and (96.8790,38.9680) .. (88.7700,44.9970) .. controls (72.9270,56.7770) and (65.0760,75.9780) .. (67.7080,95.4970) .. controls (68.4440,100.9500) and (72.0540,105.8800) .. (72.7700,111.1500) .. controls (77.8610,116.0300) and (81.1820,122.1300) .. (87.0520,126.3700) .. controls (104.3300,138.8700) and (129.0100,140.1900) .. (146.8600,127.8700) .. controls (151.8500,124.4400) and (155.9800,120.1800) .. (159.5500,115.3100) .. controls (161.9400,112.0500) and (164.0000,107.4200) .. (168.2100,106.1500) .. controls (171.8500,105.0600) and (174.6000,109.0600) .. (178.2400,108.5000) .. controls (180.8900,108.0900) and (180.2600,104.7800) .. (182.4900,103.8100) .. controls (183.7600,103.2600) and (191.4300,100.6700) .. (192.4000,100.9300) .. controls (194.3000,101.4600) and (194.9800,103.8800) .. (197.2400,103.7200) .. controls (200.2200,103.5000) and (201.1700,99.7980) .. (203.8300,99.1530) .. controls (206.2300,98.5730) and (207.9600,101.9800) .. (209.6800,103.0900) .. controls (213.6300,105.6300) and (217.3800,102.0700) .. (219.1500,98.7160) .. controls (221.9400,100.1700) and (223.6000,104.1400) .. (226.8600,104.4000) .. controls (229.9500,104.6500) and (231.9200,101.1300) .. (234.5200,101.4300) .. controls (238.7000,101.9200) and (241.3600,105.8700) .. (246.4000,104.3400) .. controls (252.3200,102.5400) and (257.6700,94.7500) .. (262.4600,90.9340) .. controls (264.3200,89.4500) and (267.1800,87.6950) .. (267.4900,85.0910) .. controls (267.8300,82.2360) and (264.0500,78.1890) .. (262.2100,76.2780) .. controls (258.8100,72.7530) and (250.3600,74.4030) .. (245.8300,74.4030) .. controls (230.7900,74.4030) and (215.8100,73.2170) .. (200.8000,73.2160) .. controls (194.7000,73.2150) and (181.9300,76.2090) .. (181.8300,67.9030) -- (171.1500,67.4660) -- (162.8600,63.7470) .. controls (161.5600,56.5080) and (154.3800,50.0310) .. (148.6800,45.9030) .. controls (139.5100,39.2660) and (128.0100,35.7440) .. (116.6100,35.9030) -- cycle(92.7390,73.3410) .. controls (106.2200,73.0100) and (109.5500,93.7840) .. (95.1770,96.4970) .. controls (80.3360,99.2990) and (75.4960,76.1830) .. (90.6770,73.5590) .. controls (91.3870,73.4370) and (92.0760,73.3570) .. (92.7390,73.3410) -- cycle;
    \path [opacity=0.7, left color=gray!15!Silver, right color=gray!30!darkgray] (167.4700,106.5200) .. controls (171.1000,105.4300) and (173.8600,109.4300) .. (177.5000,108.8700) .. controls (180.1500,108.4600) and (179.5100,105.1500) .. (181.7500,104.1800) .. controls (183.0200,103.6300) and (190.6900,101.0400) .. (191.6500,101.3100) .. controls (193.5600,101.8300) and (194.2400,104.2500) .. (196.5000,104.0900) .. controls (199.4800,103.8800) and (200.4300,100.1700) .. (203.0900,99.5240) .. controls (205.4900,98.9440) and (207.2100,102.3500) .. (208.9300,103.4600) .. controls (212.8800,106.0000) and (216.6400,102.4400) .. (218.4000,99.0870) .. controls (221.1900,100.5400) and (222.8600,104.5100) .. (226.1200,104.7700) .. controls (229.2000,105.0300) and (231.1800,101.5000) .. (233.7800,101.8100) .. controls (237.9500,102.2900) and (240.6200,106.2400) .. (245.6500,104.7100) .. controls (251.5800,102.9100) and (256.9300,95.1210) .. (261.7200,91.3060) .. controls (263.5800,89.8210) and (266.4300,88.0660) .. (266.7500,85.4620) .. controls (267.0900,82.6080) and (263.3100,78.5600) .. (261.4700,76.6490) .. controls (258.0700,73.1240) and (249.6200,74.7740) .. (245.0900,74.7740) .. controls (230.0400,74.7740) and (215.0700,73.5880) .. (200.0600,73.5870) .. controls (193.9600,73.5860) and (181.1900,76.5800) .. (181.0900,68.2740) -- (172.2600,68.5790) .. controls (172.2600,68.5790) and (166.2900,62.9150) .. (160.8600,66.8740) .. controls (139.4300,82.5150) and (165.3600,107.1600) .. (167.4700,106.5200) -- cycle;
    \path [even odd rule, left color=gray!50!white, right color=white] (181.8800,78.3750) -- (174.6900,79.6560) -- (178.5300,84.5000) -- (266.28,84.5) -- (266.6600,83.5310) -- (262.6600,78.3750) -- (181.8800,78.3750) -- cycle(180.1600,86.5310) -- (181.88,88.688) -- (264.6600,88.6880) -- (265.5000,86.5310) -- (180.1600,86.5310) -- cycle;
    \path [opacity=0.5, even odd rule, fill=Silver!25!white] (181.88,78.308) -- (174.67,79.589) -- (178.52,84.433) -- (266.6,84.4330) -- (266.9800,83.4640) -- (262.9600,78.3080) -- (181.8800,78.3080) -- cycle(180.15,86.464) -- (181.88,88.6200) -- (264.9700,88.6200) -- (265.8200,86.4640) -- (180.1500,86.4640) -- cycle;
    \path [shift={(-2.37,-0.14812)},opacity=0.6,even odd rule, fill=Silver] (183.5000,102.9800)arc(-0.941:180.941:4.450600 and 5.649)arc(-180.941:0.941:4.450600 and 5.649) -- cycle;
    \path [cm={{1,0,0,0.75089,(18.101,21.947)}},opacity=0.6,even odd rule, fill=Silver] (183.5000,102.9800)arc(-0.941:180.941:4.450600 and 5.649)arc(-180.941:0.941:4.450600 and 5.649) -- cycle;
    \path [cm={{1.0998,0,0,0.68534,(15.481,29.365)}},opacity=0.6,even odd rule, fill=Silver] (183.5000,102.9800)arc(-0.941:180.941:4.450600 and 5.649)arc(-180.941:0.941:4.450600 and 5.649) -- cycle;
    \path [cm={{1,0,0,0.79022,(48.023,18.712)}},opacity=0.600,even odd rule, fill=Silver] (183.5000,102.9800)arc(-0.941:180.941:4.450600 and 5.649)arc(-180.941:0.941:4.450600 and 5.649) -- cycle;
    \path [cm={{0,1,-1.1967,0,(367.27,-78.817)}},opacity=0.6,even odd rule, fill=Silver] (183.5000,102.9800)arc(-0.941:180.941:4.450600 and 5.649)arc(-180.941:0.941:4.450600 and 5.649) -- cycle;
    \path [cm={{1.6841,0,0,1.3147,(-42.707,-50.996)}},opacity=0.7,even odd rule, fill=white] (183.5000,102.9800)arc(-0.941:180.941:4.450600 and 5.649)arc(-180.941:0.941:4.450600 and 5.649) -- cycle;
    \path [fill=Silver!5!white] (117.0000,38.0310) .. controls (114.9400,38.0620) and (112.8500,38.2330) .. (110.7800,38.4690) .. controls (103.6500,39.2810) and (96.5470,42.3430) .. (90.6250,46.3120) .. controls (85.0700,50.0360) and (81.0570,54.7760) .. (77.4380,60.3440) .. controls (66.5840,77.0430) and (66.9810,99.2500) .. (78.9060,115.4100) .. controls (93.6200,135.3400) and (125.5200,141.5100) .. (145.6900,126.1200) .. controls (152.8100,120.6900) and (160.2900,113.6200) .. (164.1200,105.3800) .. controls (157.4100,108.8600) and (153.7000,116.9300) .. (148.1200,121.9400) .. controls (137.8500,131.1600) and (122.3600,134.4300) .. (109.0000,131.8800) .. controls (103.0800,130.7400) and (97.5730,128.2100) .. (92.4380,125.1200) .. controls (55.3020,102.8500) and (71.5560,44.3380) .. (113.1600,40.3120) .. controls (126.1800,39.0520) and (138.9600,42.7790) .. (148.7200,51.5620) .. controls (154.2100,56.5090) and (158.7000,66.5630) .. (166.4100,68.0310) .. controls (160.8100,63.9260) and (158.0400,57.6670) .. (153.3400,52.6880) .. controls (148.1000,47.1310) and (141.5100,43.6620) .. (134.5000,40.9690) .. controls (128.8300,38.7910) and (122.9400,37.9430) .. (117.0000,38.0310) -- cycle(97.5620,74.0000) .. controls (106.6100,78.1170) and (107.3700,93.8210) .. (95.0000,96.1560) .. controls (88.1710,97.4460) and (83.4350,93.2550) .. (81.8120,88.0940) .. controls (83.0940,94.1620) and (88.2520,99.4810) .. (95.9690,98.0000) .. controls (109.4100,95.4210) and (108.0500,77.5650) .. (97.5620,74.0000) -- cycle;
    \begin{scope}
      \path (92,88) ++(-90:15) coordinate (a);
      \clip (a)  arc (-90:0:15) |- (current bounding box.south east) -- (current bounding box.north east) -| cycle;
      \path [cm={{1.5874,0.57246,-0.31593,0.87607,(-74.579,-70.635)}}, opacity=0.7, even odd rule, inner color=white, outer color=Silver] (158.79,65.549) arc (0:180:20.11 and 27.442) arc (-180:0:20.11 and 27.442) -- cycle;
    \end{scope}
  \end{scope}
  []
  \path
    [
    postaction={decorate},
      preaction={%
        decorate,
        decoration={%
          text effects/.cd, characters/.append={xshift=1, yshift=1, scale=1.05, opacity=.5, text=gray},
        },
      }
    ] (100,160) ++(120:60) arc (120:-90:60);
\end{tikzpicture}
\end{document}

Variant 2 (Shiny)

Here's a shinier version based on a much-mangled adaption of Mark Wibrow's 3D stacked disks

\pdfminorversion=7
\PassOptionsToPackage{rgb,x11names,dvipsnames,svgnames}{xcolor}
\documentclass[tikz,border=10pt,multi]{standalone}
\usetikzlibrary{decorations.text,fadings}
\tikzfading[name=fade out,% tudalen 344
  inner color=transparent!0,
  outer color=transparent!85]
\tikzset{%
  blob/.style={opacity=0.8, path fading=fade out, even odd rule, inner color=white!50!Silver, outer color=Silver},
}
\usepackage{cabin}
\begin{document}
% basic key based on Inkscape export from Timothy King's key at https://openclipart.org/detail/211/shiny-key
\begin{tikzpicture}[y=0.8pt, x=0.8pt, decoration={text effects along path, text={PROPERTY OF KNUTH}, text effects/.cd, text along path, fit text to path, characters={font=\sffamily\Large\bfseries, text=Silver!50!white},}, yscale=-1,]
  \coordinate (c) at (103,158.5);
  \path [cm={{0.48287,0,0,1.8349,(-16.198,-1039.1)}} , opacity=0.8, even odd rule, inner color=gray, outer color=gray!5] (736.09,693.71)arc(-0.309:180.309:342.99 and 7.831)arc(-180.309:0.309:342.99 and 7.831) -- cycle;
  \path [cm={{0.85307,0,0,0.37556,(-183.43,-23.731)}}, opacity=0.8, even odd rule, inner color=gray!5, outer color=gray!75] (535.62,684.32)arc(-0.529:180.529:93.969 and 14.095)arc(-180.529:0.529:93.969 and 14.095) -- cycle;
  \begin{scope}[cm={{1.4335,0.38566,-0.38566,1.4335,(-33.152,-10.038)}}]
    \path [draw=darkgray] (116.61,36.274) .. controls (106.71,36.413) and (96.879,39.339) .. (88.77,45.368) .. controls (72.927,57.148) and (65.076,76.35) .. (67.708,95.868) .. controls (68.444,101.32) and (72.054,106.25) .. (72.77,111.52) .. controls (77.861,116.41) and (81.182,122.5) .. (87.052,126.74) .. controls (104.33,139.24) and (129.01,140.56) .. (146.86,128.24) .. controls (151.85,124.81) and (155.98,120.56) .. (159.55,115.68) .. controls (161.94,112.42) and (164,107.79) .. (168.21,106.52) .. controls (171.85,105.43) and (174.6,109.43) .. (178.24,108.87) .. controls (180.89,108.46) and (180.26,105.15) .. (182.49,104.18) .. controls (183.76,103.63) and (191.43,101.04) .. (192.4,101.31) .. controls (194.3,101.83) and (194.98,104.25) .. (197.24,104.09) .. controls (200.22,103.88) and (201.17,100.17) .. (203.83,99.524) .. controls (206.23,98.944) and (207.96,102.35) .. (209.68,103.46) .. controls (213.63,106) and (217.38,102.44) .. (219.15,99.087) .. controls (221.94,100.54) and (223.6,104.51) .. (226.86,104.77) .. controls (229.95,105.03) and (231.92,101.5) .. (234.52,101.81) .. controls (238.7,102.29) and (241.36,106.24) .. (246.4,104.71) .. controls (252.32,102.91) and (257.67,95.121) .. (262.46,91.306) .. controls (264.32,89.821) and (267.18,88.066) .. (267.49,85.462) .. controls (267.83,82.608) and (264.05,78.56) .. (262.21,76.649) .. controls (258.81,73.124) and (250.36,74.774) .. (245.83,74.774) .. controls (230.79,74.774) and (215.81,73.588) .. (200.8,73.587) .. controls (194.7,73.586) and (181.93,76.58) .. (181.83,68.274) -- (171.15,67.837) -- (162.86,64.118) .. controls (161.56,56.879) and (154.38,50.402) .. (148.68,46.274) .. controls (139.51,39.637) and (128.01,36.115) .. (116.61,36.274) -- cycle(92.739,73.712) .. controls (106.22,73.381) and (109.55,94.155) .. (95.177,96.868) .. controls (80.336,99.67) and (75.496,76.554) .. (90.677,73.931) .. controls (91.387,73.808) and (92.076,73.728) .. (92.739,73.712) -- cycle;
    \path [fill=gray, opacity=0.8, draw=gray!10!Silver] (116.67,36.441) .. controls (106.77,36.58) and (96.933,39.506) .. (88.824,45.535) .. controls (72.981,57.315) and (65.13,72.516) .. (67.762,92.035) .. controls (68.498,97.489) and (72.108,102.42) .. (72.824,107.69) .. controls (77.915,112.57) and (81.236,118.66) .. (87.105,122.91) .. controls (104.38,135.41) and (125.06,136.73) .. (142.92,124.41) .. controls (147.9,120.97) and (152.04,116.72) .. (155.61,111.85) .. controls (157.99,108.59) and (164.05,105.96) .. (168.26,104.69) .. controls (171.9,103.6) and (174.65,107.6) .. (178.29,107.03) .. controls (180.94,106.62) and (180.31,103.32) .. (182.54,102.35) .. controls (183.81,101.79) and (191.49,99.208) .. (192.45,99.472) .. controls (194.35,99.996) and (195.03,102.41) .. (197.29,102.25) .. controls (200.27,102.04) and (201.22,98.336) .. (203.89,97.691) .. controls (206.28,97.111) and (208.01,100.52) .. (209.73,101.63) .. controls (213.68,104.17) and (217.43,100.61) .. (219.2,97.254) .. controls (221.99,98.71) and (223.65,102.67) .. (226.92,102.94) .. controls (230,103.19) and (231.97,99.67) .. (234.57,99.972) .. controls (238.75,100.46) and (241.42,104.41) .. (246.45,102.88) .. controls (252.38,101.07) and (253.73,95.288) .. (258.51,91.472) .. controls (260.37,89.988) and (263.23,88.233) .. (263.54,85.629) .. controls (263.89,82.774) and (260.1,78.727) .. (258.26,76.816) .. controls (254.87,73.291) and (246.42,74.941) .. (241.89,74.941) .. controls (226.84,74.941) and (211.87,73.755) .. (196.86,73.754) .. controls (190.76,73.753) and (177.99,76.747) .. (177.89,68.441) -- (167.2,68.004) -- (158.92,64.285) .. controls (157.61,57.046) and (150.43,50.569) .. (144.73,46.441) .. controls (135.56,39.804) and (128.07,36.281) .. (116.67,36.441) -- cycle(92.793,73.879) .. controls (106.27,73.548) and (109.6,94.322) .. (95.23,97.035) .. controls (80.39,99.837) and (75.55,76.721) .. (90.73,74.097) .. controls (91.441,73.975) and (92.13,73.895) .. (92.793,73.879) -- cycle;
    \path [draw=gray, inner color=Silver, outer color=gray] (116.61,35.903) .. controls (106.71,36.042) and (96.879,38.968) .. (88.77,44.997) .. controls (72.927,56.777) and (65.076,75.978) .. (67.708,95.497) .. controls (68.444,100.95) and (72.054,105.88) .. (72.77,111.15) .. controls (77.861,116.03) and (81.182,122.13) .. (87.052,126.37) .. controls (104.33,138.87) and (129.01,140.19) .. (146.86,127.87) .. controls (151.85,124.44) and (155.98,120.18) .. (159.55,115.31) .. controls (161.94,112.05) and (164,107.42) .. (168.21,106.15) .. controls (171.85,105.06) and (174.6,109.06) .. (178.24,108.5) .. controls (180.89,108.09) and (180.26,104.78) .. (182.49,103.81) .. controls (183.76,103.26) and (191.43,100.67) .. (192.4,100.93) .. controls (194.3,101.46) and (194.98,103.88) .. (197.24,103.72) .. controls (200.22,103.5) and (201.17,99.798) .. (203.83,99.153) .. controls (206.23,98.573) and (207.96,101.98) .. (209.68,103.09) .. controls (213.63,105.63) and (217.38,102.07) .. (219.15,98.716) .. controls (221.94,100.17) and (223.6,104.14) .. (226.86,104.4) .. controls (229.95,104.65) and (231.92,101.13) .. (234.52,101.43) .. controls (238.7,101.92) and (241.36,105.87) .. (246.4,104.34) .. controls (252.32,102.54) and (257.67,94.75) .. (262.46,90.934) .. controls (264.32,89.45) and (267.18,87.695) .. (267.49,85.091) .. controls (267.83,82.236) and (264.05,78.189) .. (262.21,76.278) .. controls (258.81,72.753) and (250.36,74.403) .. (245.83,74.403) .. controls (230.79,74.403) and (215.81,73.217) .. (200.8,73.216) .. controls (194.7,73.215) and (181.93,76.209) .. (181.83,67.903) -- (171.15,67.466) -- (162.86,63.747) .. controls (161.56,56.508) and (154.38,50.031) .. (148.68,45.903) .. controls (139.51,39.266) and (128.01,35.744) .. (116.61,35.903) -- cycle(92.739,73.341) .. controls (106.22,73.01) and (109.55,93.784) .. (95.177,96.497) .. controls (80.336,99.299) and (75.496,76.183) .. (90.677,73.559) .. controls (91.387,73.437) and (92.076,73.357) .. (92.739,73.341) -- cycle;
    \path [opacity=0.7, left color=gray!15!Silver, right color=gray!30!darkgray] (167.47,106.52) .. controls (171.1,105.43) and (173.86,109.43) .. (177.5,108.87) .. controls (180.15,108.46) and (179.51,105.15) .. (181.75,104.18) .. controls (183.02,103.63) and (190.69,101.04) .. (191.65,101.31) .. controls (193.56,101.83) and (194.24,104.25) .. (196.5,104.09) .. controls (199.48,103.88) and (200.43,100.17) .. (203.09,99.524) .. controls (205.49,98.944) and (207.21,102.35) .. (208.93,103.46) .. controls (212.88,106) and (216.64,102.44) .. (218.4,99.087) .. controls (221.19,100.54) and (222.86,104.51) .. (226.12,104.77) .. controls (229.2,105.03) and (231.18,101.5) .. (233.78,101.81) .. controls (237.95,102.29) and (240.62,106.24) .. (245.65,104.71) .. controls (251.58,102.91) and (256.93,95.121) .. (261.72,91.306) .. controls (263.58,89.821) and (266.43,88.066) .. (266.75,85.462) .. controls (267.09,82.608) and (263.31,78.56) .. (261.47,76.649) .. controls (258.07,73.124) and (249.62,74.774) .. (245.09,74.774) .. controls (230.04,74.774) and (215.07,73.588) .. (200.06,73.587) .. controls (193.96,73.586) and (181.19,76.58) .. (181.09,68.274) -- (172.26,68.579) .. controls (172.26,68.579) and (166.29,62.915) .. (160.86,66.874) .. controls (139.43,82.515) and (165.36,107.16) .. (167.47,106.52) -- cycle;
    \begin{scope}
      \clip (116.61,35.903) .. controls (106.71,36.042) and (96.879,38.968) .. (88.77,44.997) .. controls (72.927,56.777) and (65.076,75.978) .. (67.708,95.497) .. controls (68.444,100.95) and (72.054,105.88) .. (72.77,111.15) .. controls (77.861,116.03) and (81.182,122.13) .. (87.052,126.37) .. controls (104.33,138.87) and (129.01,140.19) .. (146.86,127.87) .. controls (151.85,124.44) and (155.98,120.18) .. (159.55,115.31) .. controls (161.94,112.05) and (164,107.42) .. (168.21,106.15) .. controls (171.85,105.06) and (174.6,109.06) .. (178.24,108.5) .. controls (180.89,108.09) and (180.26,104.78) .. (182.49,103.81) .. controls (183.76,103.26) and (191.43,100.67) .. (192.4,100.93) .. controls (194.3,101.46) and (194.98,103.88) .. (197.24,103.72) .. controls (200.22,103.5) and (201.17,99.798) .. (203.83,99.153) .. controls (206.23,98.573) and (207.96,101.98) .. (209.68,103.09) .. controls (213.63,105.63) and (217.38,102.07) .. (219.15,98.716) .. controls (221.94,100.17) and (223.6,104.14) .. (226.86,104.4) .. controls (229.95,104.65) and (231.92,101.13) .. (234.52,101.43) .. controls (238.7,101.92) and (241.36,105.87) .. (246.4,104.34) .. controls (252.32,102.54) and (257.67,94.75) .. (262.46,90.934) .. controls (264.32,89.45) and (267.18,87.695) .. (267.49,85.091) .. controls (267.83,82.236) and (264.05,78.189) .. (262.21,76.278) .. controls (258.81,72.753) and (250.36,74.403) .. (245.83,74.403) .. controls (230.79,74.403) and (215.81,73.217) .. (200.8,73.216) .. controls (194.7,73.215) and (181.93,76.209) .. (181.83,67.903) -- (171.15,67.466) -- (162.86,63.747) .. controls (161.56,56.508) and (154.38,50.031) .. (148.68,45.903) .. controls (139.51,39.266) and (128.01,35.744) .. (116.61,35.903) -- cycle(92.739,73.341) .. controls (106.22,73.01) and (109.55,93.784) .. (95.177,96.497) .. controls (80.336,99.299) and (75.496,76.183) .. (90.677,73.559) .. controls (91.387,73.437) and (92.076,73.357) .. (92.739,73.341) -- cycle;
      % modified, mangled and simplified from Mark Wibrow's answer at https://tex.stackexchange.com/a/175415/
      \begin{scope}[rotate=90]
        \path [left color=black!50, right color=black!50, middle color=black!25] (c) (c) circle (150);
        \path [bottom color=black!25, top color=white, fill opacity=.25] (c) circle (150);
        \foreach \r in {75,165,255,345}
          \foreach \i in {0,2,...,15}
            \fill [black, fill opacity=1/50] (c) -- ++(\r+15-\i:150) arc (\r+30-\i:\r-15+\i:150)  -- cycle;
        \path [bottom color=black!25, top color=white] (c) circle (47.5);
     \end{scope}
     \path [fill=Silver!5!white] (117,38.031) .. controls (114.94,38.062) and (112.85,38.233) .. (110.78,38.469) .. controls (103.65,39.281) and (96.547,42.343) .. (90.625,46.312) .. controls (85.07,50.036) and (81.057,54.776) .. (77.438,60.344) .. controls (66.584,77.043) and (66.981,99.25) .. (78.906,115.41) .. controls (93.62,135.34) and (125.52,141.51) .. (145.69,126.12) .. controls (152.81,120.69) and (160.29,113.62) .. (164.12,105.38) .. controls (157.41,108.86) and (153.7,116.93) .. (148.12,121.94) .. controls (137.85,131.16) and (122.36,134.43) .. (109,131.88) .. controls (103.08,130.74) and (97.573,128.21) .. (92.438,125.12) .. controls (55.302,102.85) and (71.556,44.338) .. (113.16,40.312) .. controls (126.18,39.052) and (138.96,42.779) .. (148.72,51.562) .. controls (154.21,56.509) and (158.7,66.563) .. (166.41,68.031) .. controls (160.81,63.926) and (158.04,57.667) .. (153.34,52.688) .. controls (148.1,47.131) and (141.51,43.662) .. (134.5,40.969) .. controls (128.83,38.791) and (122.94,37.943) .. (117,38.031) -- cycle(97.562,74) .. controls (106.61,78.117) and (107.37,93.821) .. (95,96.156) .. controls (88.171,97.446) and (83.435,93.255) .. (81.812,88.094) .. controls (83.094,94.162) and (88.252,99.481) .. (95.969,98) .. controls (109.41,95.421) and (108.05,77.565) .. (97.562,74) -- cycle;
      \begin{scope}[rotate=90]
        \foreach \r in {45,135,225,315}
          \foreach \i in {0,2,...,30}
            \fill [black, fill opacity=1/50] (c) -- ++(\r+30-\i:65) arc (\r+30-\i:\r-30+\i:65)  -- cycle;
      \end{scope}
    \end{scope}
    \path [opacity=0.3, even odd rule, fill=Silver!25!white] (181.88,78.308) -- (174.67,79.589) -- (178.52,84.433) -- (266.6,84.433) -- (266.98,83.464) -- (262.96,78.308) -- (181.88,78.308) -- cycle (180.15,86.464) -- (181.88,88.62) -- (264.97,88.62) -- (265.82,86.464) -- (180.15,86.464) -- cycle;
    \path [even odd rule, opacity=.5, right color=white, left color=white, middle color=gray!50!white] (181.88,78.375) -- (174.69,79.656) -- (178.53,84.5) -- (266.28,84.5) -- (266.66,83.531) -- (262.66,78.375) -- (181.88,78.375) -- cycle (180.16,86.531) -- (181.88,88.688) -- (264.66,88.688) -- (265.5,86.531) -- (180.16,86.531) -- cycle;
    \path [shift={(-2.37,-0.14812)}, blob] (183.5,102.98)arc(-0.941:180.941:4.450600 and 5.649)arc(-180.941:0.941:4.450600 and 5.649) -- cycle;
    \path [cm={{1,0,0,0.75089,(18.101,21.947)}}, blob] (183.5,102.98)arc(-0.941:180.941:4.450600 and 5.649)arc(-180.941:0.941:4.450600 and 5.649) -- cycle;
    \path [cm={{1.0998,0,0,0.68534,(15.481,29.365)}}, blob] (183.5,102.98)arc(-0.941:180.941:4.450600 and 5.649)arc(-180.941:0.941:4.450600 and 5.649) -- cycle;
    \path [cm={{1,0,0,0.79022,(48.023,18.712)}}, blob] (183.5,102.98)arc(-0.941:180.941:4.450600 and 5.649)arc(-180.941:0.941:4.450600 and 5.649) -- cycle;
    \path [cm={{0,1,-1.1967,0,(367.27,-78.817)}}, blob] (183.5,102.98)arc(-0.941:180.941:4.450600 and 5.649)arc(-180.941:0.941:4.450600 and 5.649) -- cycle;
    \path [cm={{1.6841,0,0,1.3147,(-42.707,-50.996)}}, blob, fill=white] (183.5,102.98) arc(-0.941:180.941:4.4506 and 5.649) arc(-180.941:0.941:4.4506 and 5.649) -- cycle;
  \end{scope}
  \path
    [
    postaction={decorate},
      preaction={%
        decorate,
        decoration={%
          text effects/.cd, characters/.append={xshift=1, yshift=1, scale=1.05, opacity=.5, text=gray},
        },
      }
    ] (c) ++(120:60) arc (120:-90:60);
\end{tikzpicture}
\end{document}

Variant 3 (Power of Knuth)

The code for the third variant causes the answer to exceed the length limit. While one donkey answer may be considered a misfortune and two explained by mere carelessness, a third would surely constitute deliberate trespass beyond the bounds of propriety. Hence, here is the source code in question.

11
  • 84
    Oh god. Don-Key. It took me some time to understand this. ;-) Commented May 31, 2016 at 7:43
  • 13
    @UlrikeFischer Terrible, isn't it? But I could not resist ....
    – cfr
    Commented May 31, 2016 at 11:54
  • 2
    What's worse is that 9 people liked it enough to up-vote it!
    – cfr
    Commented May 31, 2016 at 12:19
  • 1
    @cfr Much better than I'd imagined. Commented May 31, 2016 at 15:03
  • 5
    you can practically hear the children squealing: OMG, how cute is this, aww, I want one...
    – Robert
    Commented May 31, 2016 at 16:12
104
+500

In response to a suggestion by the OP in chat, I am pleased to announce the availability of a provisional logo for the TeX Society for the Protection of Donkeys (TSPD).

TSPD

The donkey itself is an adaptation of an openclipart.org donkey by frankes. The original SVG was opened in Inkscape and exported to TikZ code. This code was then partially cleaned and modified. A simple key-value interface was added to configure the donkey's colouring.

The donkey code became asyn.tex. This was compiled to PDF using pdfLaTeX.

donkey

asyn.pdf was then used to create the logo using TikZ code based on that I used to create the TSPCD circular logo posted in chat a couple of days ago.

\PassOptionsToPackage{rgb,x11names,dvipsnames,svgnames}{xcolor}
\documentclass[tikz,border=0pt,multi]{standalone}
\usetikzlibrary{decorations.text}
\usepackage[T1]{fontenc}
\usepackage{tgschola}
\usepackage{textcomp,microtype}
\begin{document}
\newcommand*\TeXT{%
  T\kern -.1667em}
\newcommand*\TeXe{%
  \lower .5ex\hbox {E}\kern -.125em}
\newcommand*\TeXX{%
  X\spacefactor 1000}
\begin{tikzpicture}
  \foreach \i/\j/\k in {Purple4/Purple4/45mm,Purple1/Purple4/35mm} \path [inner color=\i, outer color=\j, draw=Purple4, line width=1.5pt, double distance=.75mm, double=Purple1] circle (\k);
  \path [decorate, decoration={text effects along path, text={\TeXT\TeXe\TeXX \textbullet{} SOCIETY \textbullet{} FOR \textbullet{} THE \textbullet{} PROTECTION \textbullet{} OF \textbullet{} DONKEYS \textbullet{}\ }, text effects/.cd, text along path, fit text to path, characters={font=\LARGE, text=Silver}}] (90:38mm) arc (90:-270:38mm);
  \node {\includegraphics[height=50mm] {asyn}};
\end{tikzpicture}
\end{document}

The PDF compiled by pdfLaTeX was finally converted to PNG using ImageMagick's convert utility.

convert -density 300 <filename>.pdf -quality 100 tspd.png

Since TSPCD and TSPD have very similar acronyms, it is essential to bear in mind that

duck \neq donkey

or, in code,

$x \neq y \forall x \in \{\text{donkeys}\}, y \in \{\text{ducks}\}$

TSPCD; duck; donkey; TSPD

Caveat emptor ...

Appendix

The code for the duck is the duckastic work of the site's resident duck, Paulo Cereda, posted in this answer.

The system will not allow me to post the source asyn.tex which contains the code for the donkey here, even in a dedicated answer and even if I remove all permissible spaces and do some further compacting codewise. But I have found a solution allowing me to post the donkey source code used to create asyn.pdf.

Code for inequality:

\documentclass[tikz,border=10pt,multi]{standalone}
\usetikzlibrary{positioning}
\begin{document}
\begin{tikzpicture}
  \node (hwyaden)  {\includegraphics{duck}};
  \node (n) [right=of hwyaden, font=\Huge, scale=10] {$\neq$};
  \node [right=of n] {\includegraphics{asyn}};
\end{tikzpicture}
\end{document}

Code for duck-donkey series:

\documentclass{article}
\usepackage{graphicx}
\begin{document}
  \noindent
  \begin{minipage}{.25\textwidth}
    \includegraphics[width=\linewidth]{tspcd}
  \end{minipage}%
  \begin{minipage}{.25\textwidth}
    \includegraphics[width=\linewidth]{duck}
  \end{minipage}%
  \begin{minipage}{.25\textwidth}
    \includegraphics[width=\linewidth]{asyn}
  \end{minipage}%
  \begin{minipage}{.25\textwidth}
    \includegraphics[width=\linewidth]{tspd}
  \end{minipage}
\end{document}
11
  • 1
    +1. Pretty draw and code. First time I see a donkey with green eyes... lol
    – Sigur
    Commented May 31, 2016 at 0:47
  • 2
    Hmm, this donkey looks strikingly similar to mine...
    – Robert
    Commented May 31, 2016 at 1:13
  • 1
    @Robert I tried to copy the antlers as faithfully as I could ;).
    – cfr
    Commented May 31, 2016 at 3:15
  • You forgot to escape the braces in your statement of the inequality. $x \neq y \forall x \in \{\text{donkeys}\}, y \in \{\text{ducks}\}$
    – Seamus
    Commented May 31, 2016 at 6:42
  • 1
    @Maesumi Well you could run the text from, say, 85 to 265 or whatever rather than 90 to 270. Is that what you mean?
    – cfr
    Commented Jul 8, 2016 at 22:50
98

This is my randomized TeX donkey contribution, made with Tikz. The idea is the emerging of the letters of "Esel" from the central TeX following an Archimedes spiral.

randomized TeX donkey

The letters are chosen randomly and have random size and rotation. An advantage of this approach is that the silhouette of the donkey has not to be very perfect. I like this kind of design as a logo because it is immediately recognisable, but every time that it is compiled (with at least 1 min difference), the output is slightly different because it has a random component.

\documentclass{standalone}

\usepackage{tikz}

\begin{document}

\def\donkey{
    (0.8,-4.5)--(1.5,-4.5)
    ..controls(1.3,-3.5)..(1.75,-1.5)
    ..controls(2.3,-0.5)..(2.5,0.5)
    ..controls(3,1.8)..(3.75,1.25)
    ..controls(4.5,0.7)and(5.3,1.2)..(4.3,2.4)
    ..controls(3.9,2.8)..(3.8,3.75)
    ..controls(3.5,5.6)..(3.35,3.75)
    ..controls(3.2,3)..(3.05,3.75)
    ..controls(2.7,5.5)..(2.6,3.75)--(2.6,3.1)
    ..controls(2.2,2.9)..(1,2)
    ..controls(-0.5,1.3)..(-2.2,1.7)
    ..controls(-3.3,1.8)and(-4.4,1.3)..(-4.8,0.25)
    ..controls(-5,-0.5)..(-5,-1.4)
    ..controls(-5,-3.5)..(-4.6,-1.4)
    ..controls(-4.5,0)..(-4.3,-1.3)
    ..controls(-4,-1.8)..(-4,-4.5)--(-3.4,-4.5)
    ..controls(-3.2,-0.7)..(-2,-1.2)
    ..controls(-0.5,-1.5)..(0.8,-1.2)--cycle
   }

\pgfkeys{/donkey/letter/.is choice}
\pgfkeys{/donkey/letter/1/.code=\def\letter{E}}
\pgfkeys{/donkey/letter/2/.code=\def\letter{s}}
\pgfkeys{/donkey/letter/3/.code=\def\letter{e}}
\pgfkeys{/donkey/letter/4/.code=\def\letter{l}}

\pgfkeys{/donkey/font size/.is choice}
\pgfkeys{/donkey/font size/1/.code=\def\size{\huge}}
\pgfkeys{/donkey/font size/2/.code=\def\size{\Large}}
\pgfkeys{/donkey/font size/3/.code=\def\size{\normalsize}}
\pgfkeys{/donkey/font size/4/.code=\def\size{\footnotesize}}
\pgfkeys{/donkey/font size/5/.code=\def\size{\tiny}}

\begin{tikzpicture}
  \clip[rounded corners,scale=1.3] \donkey;
  \foreach \angle in {1700,1722,...,16000}{
      \pgfmathparse{int(rnd*4+1)}\xdef\letterchoice{\pgfmathresult}
      \pgfmathparse{int(rnd*4+1)}\xdef\sizechoice{\pgfmathresult}
      \pgfmathparse{rnd*360}     \xdef\rotation{\pgfmathresult}
    \node[/donkey/.cd,letter=\letterchoice,font size=\sizechoice,
          /tikz/.cd,font=\size,rotate=\rotation] 
        at (\angle:\angle/1720){\letter};}
  \node at (0,0){\huge\TeX};
\end{tikzpicture}

\end{document}
5
  • @Steven B. Segletes: Thank you very much! And sorry. Initially the letters from “Esel” where extracted with your stringstrings package. A very useful package indeed! Commented Jun 4, 2016 at 11:11
  • Thanks for the plug. But I am the first to admit (OK, the 2nd) that stringstrings is as slow as a snail. It was my first package, when I really had no clue about what I was doing. But occasionally, it can still shine. Commented Jun 4, 2016 at 12:38
  • @cfr: Thank you. I only saw it the day after I received the newsletter. However, I am very happy to have had so many votes; really did not expect that :D. Now I hope that it will inspire somebody for something more useful. Commented Jun 7, 2016 at 4:54
  • I know. I feel guilty now for posting two answers. I'm astonished that a bad pun is now my most popular answer!
    – cfr
    Commented Jun 7, 2016 at 15:49
  • that's so rad! can i ask if it is possible to make the randomized donkey scalable (right now we need n statements for n letters). something like putting letters in an array and using them from there? i would love to create some graphics like the one in child of books (readingisourthing.com/wp-content/uploads/2016/09/IMG_8886.jpg) Commented Jul 20, 2017 at 20:24
58
+100

enter image description here

\documentclass{article}

\setlength{\unitlength}{0.00083333in}
\usepackage{epic}
\begin{document}

\begin{picture}(4974,3714)(0,-10)
\drawline(2037,1362)(1962,12)(2112,1362)
\drawline(1887,2412)(4437,2412)(4437,1437)
    (1887,1437)(837,2262)(462,1812)
    (12,2187)(687,3012)(837,3687)
    (837,3087)(1812,2412)
\drawline(1887,1437)(1512,12)(1962,1437)
\put(687,2637){\circle{150}}
\drawline(4362,1437)(4287,162)(4287,1437)
\drawline(4137,1437)(3987,162)(3987,1437)
\drawline(4437,2412)(4962,1587)
\end{picture}

\end{document}
7
  • 58
    I almost mistook this for a photo.
    – cfr
    Commented Jun 1, 2016 at 22:52
  • 20
    @cfr this is indeed a photograph taken with an experimental HiTeX camera which outputs photos in TeX or LaTeX depending on the format selected. Other formats are under development.
    – corporal
    Commented Jun 2, 2016 at 0:11
  • 14
    what really puzzles me is why you use the epic package instead of the legendary?
    – Robert
    Commented Jun 2, 2016 at 2:33
  • 2
    Congrats for the bounty! :) Commented Jun 2, 2016 at 13:17
  • 1
    @PauloCereda :-) Commented Jun 2, 2016 at 13:19
44

I posted the following artworks in the chatroom, and I was kindly asked to posted them here as well. I am also marking this answer as community wiki since there is no need to harvest these juicy reputation points. :)

The first artwork is an attempt of reproducing the official project logo as a vector image. I drew it by hand and made some conversions in order to obtain the corresponding .tex code, available in this GitHub gist due to code length limitations in our site. The result is as follows:

Quack

The second artwork was made as a recurring joke in the chatroom, as we are fond of ducks. What if a duck wants to win the contest and goes into the competition disguised as a donkey? Then we came up with the following drawing, with the corresponding .tex code available in this GitHub gist for the very same reasons stated above:

Quack

Although the disguise is almost perfect, some smart bloke might argue there is no yellow donkey available in nature. Then we are now inclined to provide a improved version of the duck's disguise, as seen in the following image (.tex code provided in this GitHub gist):

Quack

The final improvement would be making the duck wear green contact lens, so the donkey disguise would be technically perfect. Maybe in the upcoming future. :)

4
  • Bendigedig! Though I would prefer you to be getting the juiciness of the points ;).
    – cfr
    Commented Jun 1, 2016 at 13:01
  • @cfr: ooh I could use the juiceness for bounties! :) Commented Jun 1, 2016 at 13:14
  • 11
    some even smarter bloke might point out that donkeys are not blue either Commented Jun 1, 2016 at 21:54
  • @DavidCarlisle Yes, but the point is to fool the competition organisers in order to enter and they evidently believe a blue one to be paradigmatic.
    – cfr
    Commented Jan 18, 2019 at 3:01
35

In the package linearb, there is a Linear B ideogram called \BPhorse, which is clearly not a donkey, but a horse and looks like this:

A Linear B horse

\documentclass{minimal}
\usepackage{linearb}
\begin{document}
\textlinb{\BPhorse}
\end{document}
3
  • 4
    Apparently, I am too late for the party.
    – Roland
    Commented Jun 2, 2016 at 14:09
  • 1
    There is always time! :) Commented Jun 2, 2016 at 14:34
  • 1
    And you can also win a duck! Commented Jun 2, 2016 at 14:35
28

It's my donkey named... Lenny.

\documentclass{article}
\usepackage{stackengine,graphicx,scalerel}
\begin{document}
\savestack\eye{\rotatebox{90}{$^\circ\kern-2.5pt%
  \raisebox{1pt}{\smash{\scalebox{1}[.6]{\raisebox{3pt}{)}}}\kern.2pt%
  \scalebox{1.7}[1]{\scalebox{.5}[1.1]{$\smash{\vert}$}\kern-1.5pt$>$}}$}}
\savestack\nose{\raisebox{0pt}{\scalebox{.7}{..}}}
\savestack\mouth{\scalebox{1.00}[1]{\rotatebox{90}{(}}}
\scalebox{.97}[2]{\mbox{\textbackslash}}\kern-1.8pt\stackanchor[10pt]{\eye \eye}{%
  \stackon[1pt]{\mouth}{\nose}\,}\kern-3.5pt\scalebox{1.18}[2]{/}
\end{document}

enter image description here

7
  • 1
    It reminds of the Mari Lwyd, although that's a horse, of course.
    – cfr
    Commented Jun 2, 2016 at 20:49
  • 1
    Course, you couldn't really call her 'Lenny' in that case ....
    – cfr
    Commented Jun 2, 2016 at 22:09
  • @cfr Oh my. That bad, huh? Commented Jun 3, 2016 at 1:21
  • ;) Not at all. The Mari Lwyd is quite popular - in theory, if not in practice. Bit grim, maybe, but surely no worse than Halloween and probably rather less so. Something about the nostrils and the white, though .... I find this one a bit creepy. And the eye sockets ....
    – cfr
    Commented Jun 3, 2016 at 2:27
  • ooh this donkey looks very naughty, I like it! :) Commented Jun 3, 2016 at 10:48
18

A dounckey*

*to use the name @mickep gave this creature :)

\documentclass{standalone}
\usepackage{tikzducks}

\definecolor{skin}{RGB}{161,140,126}
\definecolor{bill}{RGB}{238,212,191}
\definecolor{hair}{RGB}{89,72,72}

\begin{document}

\begin{tikzpicture}
    \duck[body=skin,bill=bill,shorthair=hair]
    \node[skin,rotate=45,scale=3] at (1.7,1.55) {\textsf{s}};
    \fill[hair,rotate=45] (2.4,0.13) ellipse (0.15 and 0.07);
    \begin{scope}[yshift=1]
        \clip (0.3,2.2) circle (0.4);
    \fill[skin] (0.9,2.3) circle (0.4);
  \end{scope}
    \begin{scope}[yshift=1]
        \clip (0.3,2.2) circle (0.35);
    \fill[bill] (0.9,2.3) circle (0.35);
  \end{scope}
    \begin{scope}
        \clip (1.5,2.05) circle (0.4);
    \fill[skin] (1.0,2.35) circle (0.4);
  \end{scope}
    \begin{scope}
        \clip (1.5,2.05) circle (0.35);
    \fill[bill] (1.0,2.35) circle (0.35);
  \end{scope}  
\end{tikzpicture}   

\end{document}

enter image description here

15

Well well, what to say, I was meandering through the list of answers and found no ascii contributions ;-). Hence, for the sake of (my own) satisfaction,

\documentclass{article}
\usepackage{filecontents,listings,graphicx,varwidth}% http://ctan.org/pkg/{filecontents,listings,graphicx,varwidth}

\begin{filecontents*}{donkey.txt}
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWWMMMMMMMMMMMWWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMXddXMMMMMMMMM0oOWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNd'cKMMMMWWMMKc;OWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWOcokXMMMMMMWKl:kNMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMXod0KNMMMMMNkloOXWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWxo0KKWMMWN0ooOKXWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWklkK0KNWXOxccOKXNWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNOlokxk00Ooc:cxKXNWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNOolddokko:;:lx0KWWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWXOdcoookxl;:cok0KNWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNXK0xoc:oodxc,::cx0KNMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWXOolollc;oxdoclccoOKWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWNXXXKkdollddolldkdooodkKNWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWWXKkoccc::coooxdllddocccloxOXWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWN0Odoc:;,;:loooloddoodl::cc::lldOKWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWWX0xl::;;;:lodddolclollool:::c:::clodkKNMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWWXOxoc;,,:coxxdlllcccloollllcc:::::::loookXWWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNKkdolcccclxkxxdollcccccooolcc:::;;::::clodox0WMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWNKko::;;;cxOkkdoolcc:ccccloolc:;;;,,;:lloxxdoddd0WMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWNKkdl:;,,:ldxxddollcc::ccclloolc:;;:c::::ccokkkxdodKWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWN0dlc::ldxxkxddollollc::ccllloolccccldxo:,,',:okkdooxXMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNKOdc:;cdOOkddddolloooc::::clloddolcc::coxkkkO0kxkkolllxKWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWWNXKKKKXXXNNNWWWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMW0dlclodxxddooodoolooolc:;;:clodddolc:;;:ccodkOOOkkxolllcd0WMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWX0OxdoolcccllooooddxxkkkOOOO000KKXXXNNNWWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWXxlooddxddolooooooooolc:;;;;:oxxxdol:,,;,,;:cldddddolclllloOXWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNKOxolllllllc::::cccccc::cccccccccccclllooodxxkkO0KXXXNNWWMMMMMMMMMMMMMMMMMWWWNXXK00OOOkkkOOOkkdolooooollcclllllloollc:;;,,:oOOkdoc;,,,',,,;:cloooollllllookKWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWNKOdoloooooooollccccccccccc:::::::::::::::c:::::::ccccllloodxxkkOOOO0000OOOOkkxxddoollcc:cccccllllcccclllllcc::ccllccllc:;;,,,;lkOkxoc:;,''''',,,:cllllllooodxk0XWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWXOxoooooooooooollccccccccccllc::::::::::::::::::::::::::::::ccc::ccccccccccccccccllllllcc:cc::::ccc::::cccccccccc:::ccccc::;,,,,,;okkxoc::;,,''',;;;::cllloodxO0XNNWWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWKOxdddooooooollllllccccccccccc:ccc::::::::::::::::::::::;:::::::cccc::ccccccccccclllllllllllllccccccc:::::::::::ccccccccccc:;,,,''',:lxxoc::;,,,'''',:llllllodk0XXNXNNWWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWN0kddddddooooolllllllccccccccccc::ccc:ccc::::::::::::::::::::cccc:::clccccccccc:ccccllllllllllllllccccccc:::;:::::;::cccccc:::;;,,,'',,,,:ddlc;;,'''....,;cllodxk0XXXNNNNNNWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMN0xdooodddddooolllccclcccccclllllc:;::::ccccc:::::cccc:::::::::::cc::::cccc::::::cccccccccccccclloolllcccc::::;;;:::;;::::::::;;;;,,,,,,,''',cxkdl;'......';:cloxO0KKKXXKKKKKKNMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNOddooooddddddooollcccccccccclloolcc::;;:c:ccc::::cccc::::c:::::::::c::cccccc:::ccccccccccccccclclooolllllc::;:::;;;:;;;;:::;;;;;;;;;,,'''...,oXWWNKOl;'...'';:ldOKKKKKK0kkkxxx0NMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNOdoodddddddddooollllcccccllllcllollc:::::cccccccccccc::::::::ccc:::cc::ccccc::::::cccccccccccccccllolllllllc::;;;;;;;;;;:::::;:::;;;,,''....'dNWWMMMMWXOdc,'',:lxOKK0K0Okkd,,ccxNMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMW0dooldxddddoooooooollllccllllllllllllccccc::cccc::::::::::::::ccc:cccc:c::::::::::::::::cccccccccccllllllolccc::;;;:;;;;;:::::::::;;,'''...';kNMMMMMMMMMMMWKkdodxkOKOkkOkddl..,cxNMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNkolcd0kxddddddooooollllllllllllllccllllcc:::::c::::::::cccc::ccc::::ccccc:::::::::::::::cccccccccccccccllllcc::::;;;;::;;;:ccllc:;;,'''...'c0WWWMMMMMMMMMMWMMMMMWWNXOocodolc:,'c0WMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMXdlclKNOxdooddddoddooooooooollllllcccloolc:::ccc::::::ccccc:::ccccc:::c:cc::cc::::::::ccccclccccccccccccclllcc::::;;;;:::;;:cclll:;,,''...;xXMMMMMMMMMMMMMMMMMMMMMMMWXOl,,:::;,:ONMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMKdl:xWW0xxdoddoodddooooooollllllllccclloolcccccccccc::::::::::cccccc::ccc:::ccc::::::cccccccccccccccccccllllccc::::;;;;:c:;::cllc:;,'''',l0WMMMMMMMMMMMMMMMMMMMMMMMMMMWXkoodxxOXMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMKdc:kWWXkxxdddddddoolllllolllcllllcccllooolccc:::ccc:cc:::cccccc:cccccccc::cc:ccc::::cccccccccccccccclllllllllccc:::;;;:cc:::cll:;,'',,ckNWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMXxc;xWMWKkxxddddddollccloollllllllccllllllllcc:::::::ccccccc:::::cccccccccccc::::::::::::::::ccccccclllloollllllllllc:::ccc::ccc:,,,;cxXWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWOc,lKMMWXkddddxxdollclloollllllllllllllcllllcc::::;:cccccccccccccccccccccc:::::::::::::::::::cccccccccllollooolooollcccccccccc:;;;lkKWWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWXd;;dNMMMN0xdxxxddolllloolllllllllllooocccllllc:::;;:cccc:::ccccccccc:::cc:::::::::::::::::::cclllcccccloooddoooollllc:::ccc:::cld0WMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMW0l,,xNMMMWXkxxxddooolooollllllloollloolcccllllcc:::::ccc:::ccc::::cc:::::::::::;;;;;;;::::cccccccccccclooooooooolcllcc:::ccccclkXWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNk:''xWMMMMXOxxddoooooooooolllloooolooolc::cccllccc::::::::::::::::c:::::::::;;;;;;;;;;:::ccccc:::::ccloooodoolllccccccc::clloONMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWKl,.;KMMMMWXkxxdddoddooooooolloddoodxxdl:::;:ccccllcc:::::::::::::::::::::::;;;;;;;;;;:::cccc:::c::clloooooooollllcccc:::lldONMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWk;.;0MMMMMWKkkxdooooooooooollooddxk0K0koc:;;::::cclccc:::::::::::;;;;;;;;;;;;;::;;;;;:::ccccccclcclllllllooooollllc::::coxONMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNxlOWMMMMMMNOkkxdoolllllooooloodxk0XNNXK0kocc:;::::ccc::::::::::::::;;;;:::::::::::::::clllooooooolllllllloooolccc::cclxkOKWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWWMMMMMMMMWKOkxxdoollllloooooodkKXNNWWNNXK0kdocc::cccccclc:;;::c::ccccccccclloooolllooodxxxkOOkxdolllllllloolc;,;:coxO00XWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWXKOxxddoollllllooodk0XNWMMMWNNNXXX0OkxdoloooooolccllooodxxdxxxkkOO0000OOOOOO0KKKKXKkdolccclcclllc::::codkOOKNWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWNX0xdddoollllcloodk0XNWMMMMMMMWNXXXXXXKK0OOkkkOOOOOOO00KKKKXXXXNNNNNNNNXXK00KXXXNNKklc::;;::::::::codxkO00XWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWNXXKkdddoolllllodxk0KNMMMMMMMMMMMWNXXXXXNNNNNXXXXXXXXXNNNNNNNNNNNNNNNXXXXXKKKKKKXXX0xc::;;;;:::::cldkOOKNWWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNXXNX0dolllllllodxk0KNMMMMMMMMMMMMMMWNXKXXXXXXNNNNNNNNNNNNNNNNNNXXXXKKKKKKKKXXNNNNNNXOl::;;::::ccllxO0KXWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWK0XNN0dolllllloodk0XNWMMMMMMMMMMMMMMMMWWNXKKKKKXXXXXXXXXXXXXXKKK000KKKKXXNWWWWMMMMMMMXkdlcccccllood0XXXWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMW0O0XXXOdooooooodxO0KNMMMMMMMMMMMMMMMMMMMMMMWWWNXXXKKKKKKK0000OOO00KXNWWMMMMMMMMMMMMMMMWKkdollllllodOXXXNMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMW0xOKKX0xddoddddxkO0KNMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWWWWWWNNNNNNNNWWWMMMMMMMMMMMMMMMMMMMMNKOkxdllllloOKXXXNMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWOdx0KK0xlloodddxkkk0NWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWNKOkxolcllok0KX0KWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWOodO000kocloooodxxxkXMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWKOxdlcc:coxO000OXMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNOook0O0koccloooooddkXWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNOoccc:cccdk00OxOWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWKdldkOOOkoc:cooddoddxKWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWKdccclcccldO0OxxKMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM0ccddxxkkdc::cooooodxKWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWOoolllllclxOOkodXMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM0ooxxxxxocc::cloooox0WMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNkoolollcldkkdocxWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMXxoxkkxl:cccccloodx0WMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWKdollooccdxxolllOMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNOdxkxo:;,;:ccllodONMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWKxlcllllcloooc:coKMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMW0doddlc;;;:cllloxKWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMXxc:c::c:oxdol:;,oXMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMW0dlloodoc::cclloONMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMXd::::;;:xKkdl:;:kWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMW0dllodOKdcc:cc:l0MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWkc:::::l0NOddc:dXMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMKollodONOlcccc:lKMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWOc::ccoONXkxxc:kWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMKoclolxXXo:ccc:lKMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWOc:ccckNMXxxdc:kWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMXdloocdXWkllcc::xNMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNkc:::lKWMKdddllOWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNxlolcoKMXdccc:;c0WWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNkc::;dNMMKdddll0WMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNxodlcoKMW0lcc::;dNMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWKxc:;;kWMW0ddoco0WMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMKololld0WMNkll:;;cOWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNOc:::c0MMWOcllcckWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWOll::coOWMMKocc;;:dXMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMXo,;::oXMMM0c;:;;l0WMMWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWkc:;;cckNMMWk::;;:l0WMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMO;.,;;dXMMMW0oc;;;ldkKWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMKl::cccldONMKl;,;:coKWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMO;''';oKMMMMMWO:;;,',o0XNNWWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMW0olc;,;,,oXXd:;:;:co0WMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWOc,;:l0WWMMMWx'.'',cloodxxkKNMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWNXd'.'.,:odoccccc::ldkONMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWNx;:clkNWWMMXd;;cllclllodkKWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNo'..,:cccc:cloc,,;,',dNWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM0;''',dNMMMWWNKK0OOO00KNWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNOoooolodxOKXXOc'''';lxOOO0KNMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMKc..';:lk0KXXWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWWNNNWWMMMMK:.,;:lllooood0WMMWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWk,,;:looloddd0NWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWMMMMMMMMMWKOkxdddxkO0KNWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWWWKOkxddddxkO0XWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWWWWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWWWWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
\end{filecontents*}
\newsavebox{\asciiart}
\newcommand{\donkey}{\raisebox{.8\height}{\resizebox{1.5ex}{!}{\usebox{\asciiart}}}}

\begin{document}
\begin{lrbox}{\asciiart}
\begin{varwidth}{\maxdimen}
\noindent\lstinputlisting[basicstyle=\ttfamily]{donkey.txt}
\end{varwidth}
\end{lrbox}%

 \scalebox{50}{\donkey{}}

\end{document}

to get a nice beautiful donkey:

enter image description here

7

Fashionably late code golf version of this fellow.

enter image description here

\documentclass{standalone}
\begin{document}
E$\lor$
\end{document}
4
  • 2
    It's too late: I had to look at the URL to get this :(. Please don't use minimal for examples, though.
    – cfr
    Commented Jan 18, 2019 at 3:03
  • Just a little confused, how does that look like a donkey?
    – hola
    Commented Jan 22, 2019 at 11:22
  • 2
    It is just a symbolic representation of the name of a donkey well-known in children's literature. Or, it's just a bad pun. Whichever. Commented Jan 22, 2019 at 13:43
  • You have to ping @hola for the comment to be seen.
    – cfr
    Commented Oct 12, 2023 at 22:26

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .