share
TeX - LaTeXHow do I make my document look like it was written by a Cthulhu-worshipping madman?
[+585] [8] Canageek
[2011-09-24 21:01:33]
[ fonts typography fun ]
[ https://tex.stackexchange.com/questions/29402/how-do-i-make-my-document-look-like-it-was-written-by-a-cthulhu-worshipping-madm ]

I want to type up some spells from the RPG Call of Cthulhu [1] and give them to my players. I could just type them up in Word or LaTeX, but that seems too...neat. I'd like to make these things look like they were scrawled by a gibbering madman, unhinged by the horrors he has witnessed. Bonus points if you can add any traces of H. P. Lovecraft's Cthulhu Mythos.

Less poetically: Typefaces to make it look scrawled or handwritten, preferably with a quill or calligraphy pen. Ways to make the word spacing less regular (Abuse microtype in some way?) and ways to put in drop caps are the kind of things I'm looking for.

Bonus points if you can tell me how to typeset an elder sign.

Alright, editing this to be more specific:

(3) What exactly are you asking? Are you looking for a "horror" or "crazy" font? If so, check out webpages such as ffonts.net/Crazy.html, ffonts.net/Horror.html, and fonts.com/findfonts/searchresults.htm?kid=horror. - Mico
I didn't think I could use truetype or opentype fonts with PDFLaTeX? I was also looking for other typographic ideas to make it look less regular- change the spacing between words randomly for example, or vary the size of each letter sightly, or 'cant' the text at an angle. - Canageek
(3) ... and with XeLaTeX or LuaLaTeX and fontspec you can actually use any .otf or .ttf font in LaTeX. - Caramdir
(176) Is “use Comic Sans” a valid answer? - Caramdir
(1) To use truetype and opentype fonts, you'll have to switch to xe(la)tex or lua(la)tex. There is a font called punk that was written by Knuth himself; maybe it's available to LaTeX users too (in addition to "plain TeX" users)? Look into it. - Mico
Thanks Caramdir, I'll keep that in mind. Now what about dropcaps, calligraphy, and the rest? Any ideas? - Canageek
Mico: I've seen punk, not what I'm looking for. More 'written in an old tome 100 years ago in the writers blood'. I'll modify the question to be more specific. - Canageek
(250) Googling "crazy latex" did not return what I expected. - Benjamin
(5) @newusers,allothers: Please post only LaTeX related answers. Note that this site is a little stricter than stackoverflow or other SE sites and other answers will be deleted. Happy TeXing! - Martin Scharrer
(109) If you're not focusing entirely on LaTeX, you can d͔͖̗͇͒ͫ̒͒͝o̸̬̠̟͎̥̬̙ͥͨ͑̅͂̅ ̸͚̞̫͕͇̠̊́̔ͩͪ̏ś̥̋̇o̷̺ͩm̭̙̥̩̜ͩ̚e͌͌̈ ̖̙̪̯̣͎͒ͅa̡̖͊̄̆m̸̱̎̊̈ͭ͊ͅà̙̺̱̻͖͕̫̏͒̍̾̚z̎͐̔i̛̹̺̩̬n̼̙̩̣ͤͦ́ͬ͒ͩg̈́‌​͑ͥ҉̹͈ ̞̯̯̫̪̥̰̽̇t͎̹̲̆̽͂̂ͧ̑h̩̓͛i̵͈̰̗ͤͅṉ̘ͮͥ̆̄g̳͈͔̜͚̦̯͒̓͛͊ͦ͗̀s͒̑ͩ̉҉̯̮‌​̫̣͓̼ ͚̯͖̻̥͙̻͋̓ͯ̊̋w̮̤͕͖̲̐̒̂͗͋̓iͬ̉̽ṭ͎̹̜͙̮͑ͭ͋h̼͎̾ͬͫ͑̀ ̣͍͔̳ͬͥ̽̏̇͗ͧu̢̽̽ͨ̍̈́n̤͈̗̼̘͕̂ͪi͎͚c̜̪͕͍̭ͬͩ͞ͅo̲̫͆ͥ̑ͮ̂͑d̂̿͞e̮̙ͣ͌̐ͫ‌​̹̞!̣̪͇̫̝͗̅ͦ͛̕ͅ (Added as a comment since the question is protected.) Tool for generating such text is here: textozor.com/zalgo-text - Fake Name
(39) For extra fun, you could add some coffee stains, in case your madman fancies this noble beverage. - doncherry
@FakeName: With Xe/LuaLaTeX fontspec and a proper font that should also be doable in LaTeX. - Caramdir
(30) Epic question title is epic. - Paulo Cereda
(4) For inspiration do check my favourite SO question of all time stackoverflow.com/questions/1732348/… - nice flipping around with bold randomly which I think would help. - Kate Gregory
@Caramdir - Oh, I'm sure you could implement some unicode font effects in a LaTeX document. However, it is still not a LaTeX trick. - Fake Name
@FakeName you can still add answers, only <10 rep users can't - Tobias Kienzler
@Tobias Kienzler - No, I cannot. The 100 rep I have is from simply associating my account with my SE account. Apparently it does not count towards the rep required to post replies. Or there is a bug somewhere. - Fake Name
@FakeName ah, now the text reads "you must have earned more than 10 reputation on this site" maybe that has changed - Tobias Kienzler
(6) … aaand this question has garnered 66 upvotes. STOP (or continue until 666!) - Konrad Rudolph
(2) This must set a record for fastest 50+ voted question on this site! - Seamus
(1) How many badges did this question get you? - cmhughes
(5) 1 gold, 3 silver, 5 bronze, and almost 400 reputation. I'm stunned, and saddened that I don't have time to test out the solutions now due sudden other commitments. - Canageek
(1) Not sure how do-able this is in Tex, but the effects used on the accepted answer for this Stack Overflow question seem sort of elder-god-esque stackoverflow.com/questions/1732348/… - Angelo Genovese
@FakeName: You can do that with TeX accents. - Mechanical snail
Mechanical Snail; Why don't you write up an example doing that? - Canageek
@AngeloGenovese: This had already been mentioned Uand discussed subsequently) in an earlier comment: tex.stackexchange.com/questions/29402/… - doncherry
@Benjamin I love it when we outsmart large professional companies. - Zerium
(1) Just look at your local jurisdictions Tax legislation, that was compiled by a whole swarm of madmen/women. - Nicholas Hamilton
(1) Close voter, whoever you are, I don't think this question should get closed. The +370 score attests to the fact that the TeX.SE community sees value in it. - jub0bs
Currently the site textozor.com is down. But this is another option marlborotech.com/Zalgo.html - G al Cubo
But the question is how to implement this F̻̘̘̳̗͆̄o̟͙͞ń͙̗̝̬͔̘̫̏̈ͯͩ͗̾t̜̣͋̇͋͗ ̩̗̞̺̞͈̣̘͌̓ͧͣ̿ͬͮ̆͟ğ̺͋ͦ̅ͪͦe̡̘͔̠͛̿ͭͯ̾ͯ̈͢ǹ̺ͣ̑̚͠e̜͙̗̥͈̔̏͋̾͠r̶̷̼͚̤‌​͕̮͊ͧ̍̕ȃ̯̪̙̘͑̾t̵̵̡͖͎̠‌​̟̤̩̽̍̇ͧͤͦe̡̳̞͖̤͕̰͚͎̳‌​̋͊͐̾ͣ ͥ̈̔̈̑̈͘͜҉͈w̰̩͓̤̭̝̣̤̝ͣ̓̓͐ͩ̽i̶̟͖̘͓̬̓̄̄͌͐̚͘t̶͇̺̄̑̐̾̈ͤ̏ͧ͜h̨͇͈̦̞͊‌​̌̅ͦ ̞͇͚ͬ͆̔͊̇͝Z̨̻̠͎͖ͦͪͧ̉a̟̹̯̰͔̟̗̽̓̄l̓̅͛̏͋̚͘҉͓͔g̨̧̳̥̟͖̩̖̠̻̑̐͞ȏ̵̜̮͚‌​͉̮ͫ̐ͭͧ̆ in a LaTeX document - G al Cubo
[+470] [2011-09-25 10:45:22] doncherry [ACCEPTED]

(Improved answer thanks to Bruno's help on his code)

I've implemented some of the things I mentioned in my earlier answer [1], but I felt this was different enough to get a separate answer.

Once again, tex.sx provided me with a couple of things I needed for this. Bruno Le Floch [2] wrote some code that rotates arguments at a random angle [3] and helped shortening it for this answer. Martin Scharrer [4] showed how to execute a command for every word [5]. Thanks to both of them.

Starting at the top of the code, here's what I did to change the design:

  • default font size 17 via extarticle [6] document class
  • double line spacing [7]
  • define a command \eldersign that inserts an elder sign, sized in relation to the current font size. You need to find an elder sign that you can use, I put in the placeholder eldersignimagefile. I recommend using a PNG image or some other format providing background transparency.
  • change the default font to Teen Spirit [8] – you can use any font you like, there certainly are better ones on the Internet. Use them with XeLaTeX and fontspec, as I described in my other answer. (I haven't tested Bruno's and Martin's code with XeLaTeX though.) With a different font, you might want to choose a different font size and different rotation angles.
  • remove page number
  • free parchment background image [9] that I found at http://www.alfredom.com/art/free-6.htm, here named backgroundimagefile
  • centered everything
  • changed the text color to MidnightBlue (svgnames color scheme)

Whenever you want to typeset text crazily, you have to pass it as an argument to \cthulhu. For an elder sign, just use \eldersign. You might want to adapt your image to suit the text color.

DISCLAIMER

This is just hacked together and you will very likely run into problems once you start using it more extensively. Take it as inspiration. It was fun for me putting it together. Feel free to make suggestions on how to improve this.

\documentclass[17pt]{extarticle}% This is a document class providing more font size options

\usepackage[svgnames]{xcolor}
\usepackage{graphicx}
\usepackage{emerald}% font package
\usepackage[doublespacing]{setspace}% line spacing
\usepackage[T1]{fontenc}
\usepackage{wallpaper}

% thanks to Bruno Le Floch: https://tex.stackexchange.com/q/9331/4012
% and in his comments to https://tex.stackexchange.com/a/29458/4012
\usepackage{rotating}
\usepackage[first=-6,last=6]{lcg}% you can play around with these values
\makeatletter
\newcommand{\globalrand}{\rand\global\cr@nd\cr@nd}
\makeatother

\newcommand{\randomrotation}[1]{\globalrand\turnbox{\value{rand}}{#1}\phantom{#1}}

% thanks to Martin Scharrer: https://tex.stackexchange.com/q/11598/4012
\makeatletter
\def\cthulhu#1{%
    \@cthulhu#1 \@empty
}
\def\@cthulhu#1 #2{%
   \randomrotation{#1}\space
   \ifx #2\@empty\else
    \expandafter\@cthulhu
   \fi
   #2%
}
\makeatother
% ----------

\newcommand{\eldersign}{\raisebox{-.5\height}{\includegraphics[height=3ex]{eldersignimagefile}}}

\renewcommand*{\rmdefault}{fts}

\begin{document}\pagestyle{empty}\CenterWallPaper{}{backgroundimagefile}

\centering% that madman wouldn't justify his writings
\color{MidnightBlue}% my pick for "looks like ink"

\cthulhu{Hello, I am crazy. I am a Cthulhu worshipping gibbering madman, unhinged by
the horrors I have witnessed. I am a Cthulhu worshipping gibbering madman, unhinged by
the horrors I have witnessed. I am a Cthulhu worshipping gibbering madman, unhinged by 
the horrors I have witnessed. I am a Cthulhu worshipping gibbering madman, unhinged by 
the horrors I have witnessed. I am a Cthulhu worshipping gibbering madman, unhinged by 
the horrors I have witnessed.} \eldersign

\end{document}

picture of the output

On the other points you mentioned: I don't think Dropcaps would look good here; they convey something of a plannedness which wouldn't be in the style of my madman. As for font size changes and random word spacing, I don't know how to do that automarandomly.

[1] https://tex.stackexchange.com/a/29406/4012
[2] https://tex.stackexchange.com/users/2707/bruno-le-floch
[3] https://tex.stackexchange.com/q/9331/4012
[4] https://tex.stackexchange.com/users/2975/martin-scharrer
[5] https://tex.stackexchange.com/q/11598/4012
[6] http://ctan.org/pkg/extsizes
[7] http://www.ctan.org/pkg/setspace
[8] http://www.tug.dk/FontCatalogue/teenspirit/
[9] http://www.alfredom.com/i/zip/parchemin_6.zip

(33) WOW, that looks perfect. I might muck about with the font and such, but that looks far better than I had hoped! I think you are right on the drop caps for this purpose, I'll find an excuse to use them another time. - Canageek
@Canageek: Absolutely, dropcaps are fun. As for the font, I just picked one that was available as a package so that the code would be compilable for everybody. In your specific case, you're probably best off finding the perfect font somewhere on the Internet and using it with XeLaTeX and fontspec. - doncherry
Wow... never seen a Latex guru before :) Way to go! - Legend
"you will very likely run into problems once you start using it more extensively" - I agree, although given the context, I'm pretty sure that "problems with TeX" would be the least of my worries there ;) - Piskvor left the building
You could also try using one of the techniques from the answers to this question to additionally apply a random rotation/transformation to each letter. - ESultanik
(1) You don't really need the whole \easteregg command. Something like \newcommand{\randomrotation}[1] {\globalrand \rescalebox{\value{rand}} {\globalrand \turnbox{\value{rand}}{#1}\protect\phantom{#1}}} should be enough (not sure about the rescalebox part, but something like this ought to work). - Bruno Le Floch
(1) @BrunoLeFloch: Thanks for the suggestion. Unfortunately, I don't know enough LaTeX to understand how your code works, thus I haven't been able to incorporate your suggestion in my solution without getting numerous errors. It'd be great if you could say what exactly I have to replace with with what else in order for the document to compile and to work. - doncherry
(1) \newcommand{\randomrotation}{}\easteregg\randomrotation => \newcommand{\randomrotation}[1]{\globalrand\turnbox{\value{r‌​and}}{#1}}. Maybe you'll need to \protect either \globalrand or \turnbox, I don't remember why I had that in my original code. I think the rescaling requires more work, that was probably the cause of many errors. - Bruno Le Floch
Arrggg, of course you'd chose a font that isn't in TeXLive. Alright, so if I take your code, then the font above, then try this 'LuaTeX' thing.... - Canageek
Thanks for your work everyone: I've posted an example of what I'm going to be using it for on my blog: canageek.wordpress.com/2011/09/28/summon-invisible-servent I hope TeXLive gets Emerald in it soon, as those would be some awesome fonts to use. - Canageek
@BrunoLeFloch: Unfortunately, your replacement suggestion doesn't work, no matter whether I \protect neither, both or either one of \globalrand or \turnbox -- everything results in two lines with multiple layers of text on top of each other. - doncherry
(1) @doncherry: Sorry, I can't think straight, I forgot \phantom. Let me try once more: \newcommand{\randomrotation}[1]{\globalrand\turnbox{\value{r‌​and}}{#1}\phantom{#1‌​}}. If I'm wrong again, I give up :). - Bruno Le Floch
@BrunoLeFloch: Yes, that did it, thanks a lot :). I updated my answer accordingly. - doncherry
@doncherry: Is the emerald package freely available? It is not part of TeXLive2011. - Sony
@Sony: emerald is freely available from CTAN, but it is indeed not in TeX Live, so you'll have to install it manually. - doncherry
(1) This would be even better with a little character jitter.. - naught101
(24) Also, this should be turned into a document class, and included in default latex distributions. I'm very tempted to apply this to my thesis. The content wouldn't be entirely unsuitable... - naught101
(1) I used this to make a programming exam! - wsaleem
1
[+155] [2011-09-24 21:26:50] Alan Munn

Going straight to the source, the H.P. Lovecraft Society [1] offers a number of fonts (some free, some for sale), including Lovecraft Cursive (unfortunately not part of the free set). The whole set of 50 fonts is available for $35.00 and contains more than 80 beautifully rendered digital props.

A quick Google search for "free handwriting fonts" finds this site: Fontspace [2], and the following font Signerica [3] looks like it might meet your needs. Compile with XeLateX or LuaLateX:

\documentclass[12pt]{article}
\usepackage{fontspec}
\setmainfont{Signerica Medium}
\begin{document}
Some text written by a crazed madman.
\end{document}

output of code

Since I have no idea what an elder sign is, I guess I don't get any bonus points.

[1] https://store.hplhs.org/collections/games-props/products/hplhs-font-and-prop-combo
[2] http://www.fontspace.com/category/handwriting
[3] http://www.fontspace.com/m%C3%A5ns-greb%C3%A4ck/signerica-fat

(3) en.wikipedia.org/wiki/Elder_Sign The version on the left is used to end articles in at least one Cthulhu magazine, and I was hoping I wasn't the only Lovecraft/gaming fan to use LaTeX- I've already got a package to typeset dice. - Canageek
(1) Thank you as well for the first link- HPLHS-Blackletter looks quite interesting for future use. - Canageek
(30) That is a very calm, professional, psychopath handwriting. Mad, angry but disciplined! :) - percusse
(14) @percusse The scariest kind. May also write drug prescriptions. - Alan Munn
(5) "HPLHS-Blackletter is an irregular hand-drawn textura font based on the lettering of French heraldic engraver Charles Demengeot. It is appropriate for old occult tomes where you want a written-by-insane-monks kind of feeling. Available for FREE in the HPLHS font pack." - Joe Corneli
(1) The font store contains H.P> Lovecraft's own script - Sardathrion - against SE abuse
2
[+128] [2011-09-26 11:37:34] Paulo Cereda

My humble attempt (thanks to xelatex):

My code to question #29402 on TeX.SX [1]

I'm sorry, friends. TeX.SX seems to forbid answers with more than 30,000 characters. Mine was 50,138 - say again?! - so I had to paste the code on GitHub. Just because it was a TikZ-Cthulhu... :-P

The output:

output

I used the following font: YouMurderer BB [2]

[1] https://gist.github.com/1242061
[2] http://www.fontspace.com/blambot/youmurderer-bb

(6) What did you use to produce the TikZ code?? (I'm assuming that you didn't type that all yourself) - Bruno Le Floch
(38) @Bruno: You are right. :-) First, I looked for a nice "cthulhu" raster linear drawing. Then I used a tool called potrace to transform it into a vector format. I got a nice cthulhu.eps file from the original image. Then I imported the eps file in inkscape and used a plugin called inkscape2tikz for exporting all paths as TikZ/PGF paths. It generates a big code. :-) - Paulo Cereda
3
[+105] [2012-04-10 19:39:49] Andrew Stacey

I recently had occasion to want to have paths in TikZ that corresponded to characters in some font, so I figured out a process whereby I could convert a font to a family of PGF paths which could then be used in TikZ pictures as node shapes. This allows for fancy font effects and doing things to letters that are a little .. unusual. Out of pure curiosity, I tried putting the random steps decoration on the letters and the effect reminded me of this question.

So here's the cheery sticker that any self-respecting madman would have above his or her workplace:

madman bumper sticker

Believe it or not, the font used there is the famous STIX font. Not sure the original designers would approve, though. It is also properly kerned and the lines are automatically broken (though I didn't try to implement any fancy line-breaking algorithm).

Here's the code that produced that:

\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{shapes.letters,positioning,decorations.pathmorphing}

\pgfmathsetmacro{\emcm}{1em/1cm}
\tikzset{
  letter/.cd,
  load font={stikz}{normal},
  size=4,
  encoding=name,
}

\begin{document}
\madman[transform canvas={scale=\emcm/2},letter/sentence width=4\textwidth]{%
Just because I{quotesingle}m a crazed madman doesn{quotesingle}t mean I have to work here{comma} but it helps{period}%
}
\end{document}

The astute who know their PGF manual well will already know that the library shapes.letters is not on the official list. You can get it from the TeX-SX Launchpad [1] site: run tex pgflibraryshapes.letters.dtx to generate the library. You also need the file stikz-normal-paths.tex.

(The user commands might change - this is a new library.)

[1] https://launchpad.net/tex-sx

(5) Very nice! May we have some documentation, pretty please? - Martin Schröder
4
[+59] [2013-03-11 01:58:53] Steven B. Segletes

The four fonts are, respectively, Zothique Demo, Zombified, Arthur, and Daemonesque. I provide a secondary zoom on the Daemonesque, which looks to have been constructed by H. Bosch himself.

I see that the fonts are currently available at the following sites:

http://www.urbanfonts.com/fonts/Zothique_Demo.htm

http://www.fontspace.com/sinister-fonts/zombified

http://fontparadise.com/fonts.php?SearchFor=arthur&type=search [1]

http://fontparadise.com/fonts.php?SearchFor=daemonesque&type=search [2]

However, when I downloaded them years ago, I had acquired Zothique Demo and Zombified at a this site, which is no longer in business:

http://fonts.lordkyl.net/fonts.php?category=34

enter image description here

enter image description here

[1] http://fontparadise.com/fonts.php?SearchFor=arthur&type=search
[2] http://fontparadise.com/fonts.php?SearchFor=daemonesque&type=search

(18) I am a Cthulu [sic] worshipping madman, which accounts for my inability to spell. - Steven B. Segletes
5
[+32] [2011-09-24 21:31:08] Mico

If you want to dabble with Knuth's own punk font, check out this file [1] for a demonstration based on an opentype (re)implementation, called punknova, of what is probably Knuth's most-ignored (or most-disregarded?!) font. :-)

If you want to stick with something that can be processed by "ordinary" (i.e., pdf-) latex, as opposed to xelatex and lualatex, check out http://www.ctan.org/pkg/punk-latex for some details.

That said, I have no knowledge whatsoever of Cthulhu, and hence I have no idea if punk is even remotely akin to what you may be looking for! :-)

[1] http://mirrors.ctan.org/fonts/punknova/documentation/sample.pdf

6
[+23] [2011-09-24 21:33:53] doncherry
% Compile with XeLaTeX
\documentclass{article}

\usepackage{fontspec}

\setmainfont{Comic Sans MS}

\begin{document}

I'm a Cthulhu worshipping gibbering madman, unhinged by the horrors I have witnessed.

\end{document}

On a more serious note, you can find a number of fonts to consider at The LaTeX Font Catalogue, Calligraphical and Handwritten fonts [1]. If they don't seem crazy enough, you can get any font you like anywhere on the Internet, e.g. at the pages Mico recommended, and use them with XeLaTeX, just like in my above sample.

For really basic irregular word spacing, you could use "manual" spaces like ~ and \,, but there certainly are automated and more sophisticated ways of doing that.

For drop caps, use the package lettrine [2]. Special initial fonts are at the Font Calalogoue [3], too.

The elder sign is probably best included as an image, using the package graphicx. If you specify the image width or height using em (width) or ex (height) as a unit, the image will be sized relatively to the current font size.

[1] http://www.tug.dk/FontCatalogue/calligraphicalfonts.html
[2] http://www.ctan.org/pkg/lettrine
[3] http://www.tug.dk/FontCatalogue/otherfonts.html#initials

Just seeing that pretty much all my ideas have already been discussed in the comments while I was writing up my answer ... :( - doncherry
You are the first one to suggest anything related to drop caps. - Canageek
(1) If you use a Unicode-based TeX engine, you can additionally take advantage of a number of space characters (about 10) with varying widths, e.g. en space, three-per-em space, thin space etc. (I'm not saying that you can type these with Unicode only.) You could, for example, from time to time insert a hair space or thin space inside a word and then probably protect this word with e.g. \mbox. More on Unicode spaces: http://en.wikipedia.org/wiki/Space_(punctuation)#Spaces_in_U‌​nicode - jemp
7
[+7] [2014-04-23 16:48:44] mabartibin

For really crazy writing, I suggest The Written Word [1]. Or its companion The Printed Word [2]

[1] http://www.myfonts.com/fonts/letterror/the-written-word/
[2] http://www.myfonts.com/fonts/letterror/the-printed-word/

(2) Yeah, but I don't think you could still read it.... - Canageek
8