# Showcase of beautiful typography done in TeX & friends

If you were asked to show examples of beautifully typeset documents in TeX & friends, what would you suggest? Preferably documents available online (I'm aware I could go to a bookstore and find many such documents called 'books'). Extra bonus for documents whose LaTeX source is available.

This is not an idle question. Seeing great examples of any craft is both educational and inspiring, let alone explaining why we prefer TeX to Word or other text editors.

For instance, I like how Philipp Lehman's Font Installation Guide looks. I don't know enough LaTeX to realize how much customization was done, but the ToC looks polished.

-
Interestingly, the font installation guide probably doesn’t even have that many customizations, at least by the looks of it. Rather, the polished looks come from a very few choice adjustments. –  Konrad Rudolph Aug 8 '10 at 8:53
I really like the microtype manual PDF. Since it's nicely using PDF features like layers and such to create an appealing document. –  Johannes Schaub - litb Aug 15 '10 at 14:46
It seems to me that the font installation guide was set-up in a more elaborated way in previous versions. Am I missing something or confused with another document? –  pluton Oct 1 '10 at 2:18

Update: Template available under Stack Exchange TeX Blog and/or my PHD project website.

I wrote a German PHD thesis in LaTeX. In addition I used the beamer class to create the slides for the final presentation. Both PDF files can be found here (Bedienhaptik.de).

Thesis

The thesis was made using the koma class book and all the diagrams are made with pgfplots and tikz. I also used the hyperref package of course.

I used two colors (red, blue) in the document that are used for structure elements like section and headings and the colors are also used in diagrams.

The colors are:

• \definecolor[named]{myLayout_BasisFarbe_Main}{RGB}{0,26,153} (blue)
• \definecolor[named]{myLayout_BasisFarbe_Aux}{RGB}{174,49,54} (red)

I used sans serif fonts for captions (tables, figures) and in diagrams. I think this looks nicer.

Presentation

The presentation was naturally done with the beamer class in combination with tikz and pgfplots.

On slide 10 the presentation contains an animation (pgfplots and animate package).

In order to use the official university font (Helvetica Neue) I had to use LuaLaTeX. With the help of the community here I managed to work it out.

-
Hello. Thanks! I will post a blog (tex.blogoverflow.com) soon where I describe the key features. –  Manuel Kuehner Jul 24 '14 at 14:43

Perhaps a little off the track of beautiful document typography per se, but I often turn to the TikZ and PGF examples pages when I'm seeking inspiration or solutions re snazzy and relatively easy to produce vector graphics typography.

-

I'd like to add two new "styles of typography" which I created recently. The content is not exactly impressive but perhaps the typography is.

The first example document contains more of a regular "book style", with strong influence from the "tufte"-class, although I used somewhat different body text and captions. Here are the first four pages of the second chapter:

I also tried something more experimental. This more futuristic approach does not contain serifs, shows excessive use of notes in the margin, and it uses drop shadows for most figures. Also, I used a slightly less invasive colour pattern. Whatever, I just wanted to twist some rules. Here are some example pages (the real content has been substituted with sample text due to confidentiality issues):

-
Is there a way to get a template? Looks great! I prefer the first version. –  Manuel Kuehner Jan 2 at 12:44
Why don't you put it in a public space? I am interested in compiling it. :-) –  kiss my armpit Jan 3 at 3:46
@Everybody, I currently only have the source which is rather tedious to work with. I'll work on a class file and accompanying template and let you know when it's done. –  1010011010 Jan 3 at 22:34

Admittedly, you asked for LaTeX, not TeX, but the TeXbook is quite nice. Its source is freely available (but you are not allowed to compile it).

-

If I may be so bold to also plug my own project, here are some documents created with my TeX macro package "DocScape" (Warning: sometimes large downloads!)

budget plan of german federal state

Lighting Product Catalogue

Tools Product Catalogue

Touristic Catalogue

Games Catalogue

While these may not all be highest quality by the typographic standards usually applied to TeX documents (after all, all of them are generated from data bases), they might be stretching a bit the imagination what one would consider to be the typical TeX document :-)

-

Since there are very few "and friends" entries, let me point out to my PhD thesis Sequential decomposition of sequential dynamic teams: applications to real-time communication and networked control systems. It is, by no means, unique or beautifully typeset; but if one takes into consideration that I had to follows all the horrible typographic guidelines laid out by the university (margins, fonts, headings, interline spacing, and what not), I think that the result is rather pleasant.

The thesis is typeset using ConTeXt + LuaTeX (0.43). I think that it might be the first thesis typeset using LuaTeX. This was before ConTeXt was split into MkII and MkIV, and before LuaTeX had Opentype math font support.

I do use a rather unconventional style for typesetting multi-line equations with subscripts (see, for example, pages 27-29). Most of this was done manually (wrapped behind macros, of course). I also had to do some manual tweaking to get the bibliography just as I wanted it.

The ConTeXt source is available, although so much has changed in LuaTeX and ConTeXt MkIV in the last three years, that I doubt it will compile without some tweaks to the environment files.

-

The last document I opened that made me say "wow" was the elsarticle document class documentation.

The layout is highly nonstandard, and it wouldn't be suitable for most purposes, but it sure displays beautifully.

-
It's a matter of taste. River valley obviously wants to show off their latex skills and make something that looks completely unlike people's preconceptions of a latex-produced document. Which is fine. But I personally find this a very over-the-top format, distracting and not at all easy to read, so it fails my definition for 'beautiful typography', which to my mind should mostly get out of the way and let you read the document. –  Lev Bishop Aug 11 '10 at 2:35
While I agree with @Lev and @Leo that there are a lot of distracting elements (it’s (intentionally) more like a website than a print document), the main text body still has a very appealing format in my opinion. Also, I like everything that challenges preconceptions. –  Konrad Rudolph Aug 17 '10 at 12:17

The Latex Font Catalogue is a wonderful resource. For some reason it is missing the Zapfino font (as it is nonfree), which was packaged by Walter Schmidt.

-
Zapfino is a commercial font: quite an expensive one at that. The package just provides support for the font assuming you have the font files. It doesn’t contain the font files. –  frabjous Aug 8 '10 at 14:24

I think Lorenzo Pantieri's books and articles very nice. He uses his package ArsClassica and are written in italian.

At aprende matematicas (learn mathematics) you will find some mathematical books also written with LaTeX.

And at the Malaysian LaTeX User Group Blog there is a tutorial explaining how to design a not so boring book.

-
@xport: It works for me. The link to the pdf is aprendematematicas.org.mx/obras/L15.pdf but you can also try through scribd at scribd.com/doc/17909256/LaTeX2e-en-15-Sesiones –  Ignasi May 31 '11 at 7:00

not really as beautiful, but more careful.

To be publsihed at Holborn Project soon!

-

There are two templates for theses at CTU (Czech Technical University in Prague) and CU (Charles University in Prague). These templates provide remarkable design which differs from standard theses created by LaTeX. The first mentioned template is called CTUStyle and the second is CUStyle. The title page of a bachelor's thesis created by CUStyle is shown here:

Charles University is an ancient school so there is its logo created as Kings seal on the ribbon.

There are full examples of student's work. First two are from CTU (in English) and the third is from CU. 480.pdf, 339.pdf, mirek-bakalarka. The third one is available including source code.

Both templates are based on OPmac. Notice that students are able to use pure plainTeX + OPmac (no LaTeX were used).

-

One of the most interesting books typeset with TeX that I know, is "Trees, Maps, and Theorems" by Jean-Luc Doumont. It offers beautiful typography down to details such that each paragraph is typeset as a perfect rectangle (which means a lot of textual rewriting, so whether this is a good idea I leave open).

I agree with this answer from Frank Mittelbach that this format is nice, but I was exhausted just thinking about the hard work to obtain only this "detail". Write carefully a book and then rewrite it just to fit in rectangular paragraphs? What a nightmare!

But LaTeX can make automatically rectangular paragrahs with no/minimal rewriting. With two columns, a simple \parfillskip=0pt and some reasonable tuning of microtype options make wonders. The trick is so simple that struck me not to have seen this solution anywhere. However, it was already explained in the egreg's long time ago in Is there a tool that makes paragraphs into rectangles?).

The solution is not always perfect, specially in one column. The badness concentrated in the last line of some paragraphs could be nicely scattered in the whole paragraph using \emergencystretch in many cases (explained also in the egreg's answer), but sometimes the best solution is still add or remove some words.

Nevertheless, even without \emergencystretch one can write the whole Lore Ipsum in two columns with \lipsum[1-150] (22 pages) and obtain 150 paragraphs nicely formatted. So, you can also impress to your readers without working hard:

-
If I remember correctly, Trees, Maps, and Theorems does not use any hyphenation either. –  Aditya Jun 18 '14 at 22:34
@Aditya, Yes. Preventing the hyphenation, for example with \usepackage[none]{hyphenat}, certainly add much more badness but still the automatic format with this trick is decent for many paragraphs, al least for a document as the showed above. –  Fran Jun 18 '14 at 23:10

This is only somewhat related, but Springer lets you search their journals for strings of latex. This can help you understand how to format certain commands (and decide whether it is done well or not): http://www.latexsearch.com/

-

Shameless plug for my own thesis Learning from Samples Using Coherent Lower Previsions, done with memoir, biblatex, a host of smaller packages, and custom hacking too horrible to share (Its the layout example that counts).

-

Here's another shameless plug for one's own thesis: Narrowband CARS spectroscopy in the molecular fingerprint region

Here's some of the typographically relevant code I used, plus the code for the abstract page: http://pastebin.com/JWFjbZ1q

-

Some of you may be interested in Cours d’analyse although it is far from being as fancy as some of documents already mentioned. It is a bit too dense and comments are welcome. The final code is probably very nasty. Anyway.

-

I dedicated quite a bit of time to the typesetting of my Master's thesis. Therefore I am more than happy to share it with you.

https://www.politesi.polimi.it/bitstream/10589/92341/1/2014_04_Colombo.pdf

-

I'm not sure this is exactly 'beautiful typography'. It is a TiKZ picture. However, somebody urged me to publish it a while ago and this is the first place I've seen where it might almost belong.

It originally began as a result of seeing Claudio Fiandrino's answer but Claudio is in no way responsible for my subsequent mangling!

I modified some code from http://tex.stackexchange.com/a/29154 and http://tex.stackexchange.com/a/41628, but the timeline is also based on ideas and techniques which I learnt from other questions and answers here. I am sorry that I cannot acknowledge everybody from whom I have learnt. If I have failed to acknowledge you, do let me know!

It isn't possible to post a very large image here without its being converted to JPG. However, PDF is available here and can be zoomed to inspect the details.

-
Cool! In my opinion it is begging for a condensed sans-serif font, something like PTSansNarrow. –  percusse Dec 3 '14 at 3:39
Well should you accumulate enough courage, it's on CTAN :) –  percusse Dec 3 '14 at 3:45

1 - I would not say that it is very nice but probably interesting in terms of coding Light and matter

2 - This one is very nice but with no sources motionmountain

-
+1 for the second link. –  xport May 30 '11 at 18:35

I just picked these three from our archives.

• Matthew Mac Namara, La Textualisation de Madame Bovary, Rodopi, New York, 2004, 9042009845

• [Carlo Collodi], Éachtra Phinocchio, tr. Pádraig Ó Buachalla, ed Seán Ó Suilleabháin ⁊ Dáibhí Ó Cróinín, Random House / Coiste Litriochta Mhuscrai, 2nd ed, 2003, 0954455401

• Seán Connolly, Bede: On The Temple, Liverpool University Press, 1995, B001DP4V3S

-

A good comparison of MS Word vs. LaTex was done by Matthias Mühlich who wrote twice the same text (without any formula or table or anything one expects LaTex to shine) in both formats and converted them to pdf.

Just print out 1 and 2, and decide for yourself.

-
I love this explicit juxtaposition of the results. It speaks for itself! –  Count Zero Sep 14 '11 at 20:54
@projetmbc Could do, yes. But isn't part of the point what the default looks like? I'm guessing that the LaTeX version is not far from default - presumably babel or something must be loaded with German hyphenation, and it is using type1 fonts rather than the defaults, but I doubt there is much by way of tweaking line spacing going on. And it is not just the line spacing - it is also the line breaks and lack of hyphenation in the Word version. But I would for sure be interested to see what this looks like with Word's current defaults. (At least the font would differ.) –  cfr Jan 3 at 3:18

The handbook for the memoir class showcases quite a few different layouts, some of which I would call quite beautiful.

-

I think this list shoul definitely include The Not So Short Introduction to LaTeX 2e. It is the book with which I started to learn LaTeX. It has no bells and whistles, but a very clean and pleasant layout, which is the philosophy of LaTeX. If I wanted to show off fonts and fancy pictures I would probably rather go for a document created in Adobe InDesign.

-

If you were asked to show examples of beautifully typeset documents in LaTeX, what would you suggest?

This is my rendering of a long-ago torture test of technical text (say that three times fast!).

I think the technical material came out fine-looking, certainly up to anyone's professional standards, but the biggest point for me is that getting LaTeX to do it was straightforward.

Personally, when I was first shown some of the wonderful things that TeX could put out I was amazed at what other people could do. But when I saw the original version of this document in the AMS Notices then I was delighted at what I could do. :-)

Preferably documents available online ... Extra bonus for documents whose LaTeX source is available.

Yes, in the same directory.

-
The link does not work. –  xport May 30 '11 at 18:29
The following link seems to have the document, plus a zip of the source. I'm on an iPad so couldn't check the source. joshua.smcvt.edu/bcs –  Mike Taylor Jul 22 '14 at 1:35

For a project I had to typeset a text conversation between two people. I ended up writing a class that recreates the look and feel of the Kik messenger app.

Source of the class file:

% kik-android.cls
%   by Brian Jacobs.
%   April 11, 2015
%
% This document class emulates the user interface of the Kik messaging
% application running on an android Moto X.

\ProvidesClass{kik-android}
\makeatletter

\usepackage{varwidth}
\usepackage{fontspec}
\usepackage{tikz}
\usetikzlibrary{calc}

% because I'm not actually using it for much of anything

% Set up the page so that it matches phone size.
\usepackage[top=.55in,         bottom=.55in,
right=.015in,      left=.015in,
paperwidth=2.308in,paperheight=4.103in]{geometry}

% Style the page
\pagestyle{empty}
\setmainfont{DroidSans}
\setlength{\parindent}{0pt}

% Color Definitions
\usepackage{xcolor}
\definecolor{backgroundgray}{RGB}{238,238,238}
\definecolor{linegray}{RGB}{212,212,212}
\definecolor{circgray}{RGB}{199,199,199}
\definecolor{circdarkgray}{RGB}{117,117,117}
\definecolor{arrowgray}{RGB}{107,107,107}
\definecolor{msggreen}{RGB}{185,224,97}
\definecolor{androidgray}{RGB}{191,191,191}
\definecolor{repwiregreen}{RGB}{71,146,53}
\definecolor{kikblue}{RGB}{103,142,233}
\definecolor{kiktimepalegray}{RGB}{158,169,184}
\definecolor{kiktimedarkgray}{RGB}{122,133,151}

% Customization Flags
\def\@hours{12}
\def\@minutes{11}
\def\@partnerName{Sample Name}

% Macros to draw the background
\def\@statusbar#1{
\def\c{androidgray}
\fill[\c]
let \p1 = (current page.north east) in
(\x1 - .42in - #1in, \y1 - 0.0415in - #1in) rectangle (\x1 - .43in -#1in, \y1 - 0.1409 in);
}

% Background Macro
\def\@drawBackground{
\begin{tikzpicture}[remember picture, overlay]
% Background
\fill[backgroundgray] (current page.north east) rectangle (current page.south west);
\fill[black]
let \p1 = (current page.north east) in
let \p2 = (current page.north west) in
(\x1,\y1) rectangle (\x2,\y2 - 0.1667in);
\fill[black]
let \p1 = (current page.south east) in
let \p2 = (current page.south west) in
(\x1,\y1) rectangle (\x2,\y2 + 0.3141in);
\fill[white]
let \p1 = (current page.north east) in
let \p2 = (current page.north west) in
(\x1,\y1 - 0.1667in) rectangle (\x2,\y2 - .5289in);
\draw[thick,linegray]
let \p1 = (current page.north east) in
let \p2 = (current page.north west) in
(\x1,\y1 - .5289in) -- (\x2,\y2 - .5289in);
\fill[white]
let \p1 = (current page.south east) in
let \p2 = (current page.south west) in
(\x1,\y1 + 0.3141in) rectangle (\x2,\y2 + .6090in);
\draw[thick,linegray]
let \p1 = (current page.south east) in
let \p2 = (current page.south west) in
(\x1,\y1 + .6090in) -- (\x2,\y2 + .6090in);

% Kik Top bar decorations
% Circles
\fill[circgray]
let \p1 = (current page.north east) in
(\x1 -.1987in,\y1-.359in) circle (0.04065in);
\fill[circdarkgray]
let \p1 = (current page.north east) in
(\x1 -.15805in,\y1-.31835in) circle (0.04065in);

% Name
\draw
let \p1 = (current page.north west) in
(\x1 + .4647in, \y1 - .3481in) node[anchor=west] {\@partnerName};

% Arrow
\draw[thick,circdarkgray]
let \p1 = (current page.north west) in
(\x1 + .1314in, \y1 - .3397in) -- (\x1 + .2179in , \y1 - .3397in);
\draw[thick,circdarkgray]
let \p1 = (current page.north west) in
(\x1 + .1795in, \y1 - .2981in) -- (\x1 + .1314in, \y1 - .3397in) --
(\x1 + .1795in, \y1 - .3846in);

% Kik Bottom Bar Decorations
% Type a message...
\draw
let \p1 = (current page.south west) in
(\x1 + .3141in, \y1 + .5524in) node[anchor=north west,scale=.85] {\color{androidgray}Type a message...};

% Plus
\draw[thick, androidgray]
let \p1 = (current page.south west) in
(\x1 + .1538in, \y1 + .5321in) -- (\x1 + .1538in,\y1 + .4135in);
\draw[thick, androidgray]
let \p1 = (current page.south west) in
(\x1 + .0906in, \y1 + .4728in) -- (\x1 + .2088in, \y1 + .4728in);

% Android Top Bar Decorations
% Time
\draw
let \p1 = (current page.north east) in
(\x1,\y1-0.01in) node[anchor=north east,scale=0.75] {\color{androidgray}\@hours:\@minutes};

% Republic Wireless
\draw[very thick,repwiregreen]
let \p1 = (current page.north west) in
(\x1 + .0701in, \y1 - .0801in) to[bend left=90] (\x1 + .1603in, \y1 - .0801in);

% Battery Indicator
\fill[androidgray]
let \p1 = (current page.north east) in
(\x1 - .3974in, \y1 - .1406in) rectangle (\x1 - .3213in,\y1 - .0509in);
\fill[androidgray]
let \p1 = (current page.north east) in
(\x1 - .3784in, \y1 - .0515in) rectangle (\x1 - .3403in,\y1 - .0379in);

% Status Bars
\@statusbar{0}
\@statusbar{.02}
\@statusbar{.04}
\@statusbar{.06}
\@statusbar{.08}

% Android Bottom Bar Decorations
% Home
\draw[very thick,androidgray]
let \p1 = (current page.south) in
(\x1 - .1186in, \y1 + .08974in) -- (\x1 + .1186in, \y1 + .08974in) --
(\x1 + .1186in, \y1 + .1795in)  -- (\x1, \y1 + .2115in) --
(\x1 - .1186in, \y1 + .1795in) -- cycle;

% Pages
\draw[very thick,androidgray]
let \p1 = (current page.south east) in
(\x1 - .4391in, \y1 + .1058in) rectangle (\x1 - .6026in, \y1 + .1795in);
\draw[very thick,androidgray]
let \p1 = (current page.south east) in
(\x1 - .3974in, \y1 + .1346in) -- (\x1 - .3974in, \y1 + .2219in) --
(\x1 - .5545in, \y1 + .2219in);

% Back arrow
\draw[very thick,androidgray]
let \p1 = (current page.south west) in
(\x1 + .4199in, \y1 + 0.1635in) -- (\x1 + .5833in, \y1 + 0.1635in) to[bend left=90]
(\x1 + .5833in, \y1 + .0993in) -- (\x1 + .5032in, \y1 + .0993in);
\draw[very thick,androidgray]
let \p1 = (current page.south west) in
(\x1 + .4487in, \y1 + .1987in) -- (\x1 + .4199in, \y1 + .1635in) -- (\x1 + .4487in, \y1 + .1282in);

\end{tikzpicture}
}

% Make the background appear on every page
\usepackage{everypage}

% Commands for use by the user.
\def\setPartnerName#1{
\def\@partnerName{#1}
}

\def\setPartnerPic#1{
\def\@partnerPic{#1}
}

\def\setHours#1{
\def\@hours{#1}
}

\def\setMinutes#1{
\def\@minutes{#1}
}

\def\me#1{
\hphantom{.}\hfill\begin{tikzpicture}
\draw (0,0) node[anchor=north east,rectangle,rounded corners=2,fill=msggreen, scale=0.75,draw=circgray] {
\hspace{.1in}\begin{varwidth}{1.5in}
\vphantom{.}
\raggedright #1\\
\tiny \color{msggreen}.
\end{varwidth}
\hspace{.1in}
};
\fill[msggreen] (-0.01in,-0.06in) -- (0.06in,-0.12in) -- (-0.01in,-0.18in) -- cycle;
\draw[circgray] (0,-0.06in) -- (0.06in,-0.12in) -- (0in,-0.18in);
\end{tikzpicture}
\vspace{.05in}\\
}

\def\you#1{
\begin{tikzpicture}
\ifdefined\@partnerPic
\draw (-.6,-.3) node[scale=1.825,circle, path picture={
\node at (path picture bounding box.center){
\includegraphics[width=.24in]{\@partnerPic}
};
}
] {};
\else\fill[black] (-.6,-.3) circle (.12in);\fi
\draw (0,0) node[anchor=north west,rectangle,rounded corners=2,fill=white, scale=0.75,draw=linegray] {
\hspace{.1in}\begin{varwidth}[c]{1.5in}
\vphantom{.}
\raggedright #1\\
\tiny \color{white}.
\end{varwidth}
\hspace{.1in}
};
\fill[white] (0.01in,-0.06in) -- (-0.06in,-0.12in) -- (0.01in,-0.18in) -- cycle;
\draw[linegray] (0,-0.06in) -- (-0.06in,-0.12in) -- (0in,-0.18in);
\end{tikzpicture}
\vspace{.05in}\\
}

\def\time#1#2{
\hphantom{.}\hfil\begin{tikzpicture}
\draw (0,0) node[scale=.65] {\color{kiktimepalegray}#1 \color{kiktimedarkgray}@ #2};
\end{tikzpicture}\hfil\\
}

\makeatother


Source for the conversation:

\documentclass{kik-android}

\setPartnerName{Dave Johnson}
\setPartnerPic{Man.jpg}
\setHours{12}
\setMinutes{11}

\begin{document}
\you{Knock knock}
\me{Who's there?}
\you{Canoe}
\me{Canoe who?}
\you{Canoe help me with my homework?}
\time{Fri}{12:03 PM}
\you{...please. I'm gonna fail calculus. :-(}
\me{...}
\end{document}

-

...and for a great example of TeX typesetting in an open access scholarly journal, check out the Australasian Journal of Logic.

-

I found the pocket books from the brazilian publisher "Hedra" to be very beautiful. For example, Conrad's Heart of Darkness translation. However, there's no source.

-

I like to get ideas form http://data.imf.au.dk/system/latex/bog/version3/beta/ltxb-2011-09-13-20-10.pdf

Although it's in Danish and sometimes maybe a bit too colorful or crowded, I really like what he has done.

-

I had to make a large poster for a conference and I used the style file baposter (link) to do it. Here's a preview:

The options look like:

\begin{poster}%
% Poster Options
{
% Show grid to help with alignment
grid=no,
% Column spacing
colspacing=1em,
% Color style
bgColorOne=lighteryellow,
bgColorTwo=lightestyellow,
borderColor=reddishyellow,
boxColorOne=lightyellow,
boxColorTwo=lighteryellow,
% Format of textbox
%textborder=roundedleft,
textborder =rounded,
%  textborder=rectangle,
eyecatcher=no,
background=plain,
linewidth=2pt
}


You place the boxes using relative coordinates such as below contribution (where contribution is the name of a box). Here's a example:

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

In order to make typesetting more conveniently, I wrote a package called preziposters, although it is still under development.