991

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.

Your nominations, please ...

8
  • 18
    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. Aug 8, 2010 at 8:53
  • 12
    I really like the microtype manual PDF. Since it's nicely using PDF features like layers and such to create an appealing document. Aug 15, 2010 at 14:46
  • 3
    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, 2010 at 2:18
  • 1
  • 3
    Most of the links given in answers lead to 404!
    – hola
    May 31, 2017 at 6:34

100 Answers 100

38

I wonder why nobody suggested the original works of Donald Knuth. To me they are beautiful examples of typesetting. As far as I know, his books and papers are typeset using TeX (vs. LaTeX), but for the sake of the topic, I guess, it doesn't matter.

Some examples:

  • The Art of Computer Programming (TAOCP)
  • The TeXbook
  • The METAFONTbook

The complete list of Knuth's publications as well as preliminary drafts of the TAOCP Vol 4a chapters (in post script files) can be found on his home page. The sources of the TaOCP book (tex files) are also available in peer-to-peer networks.

3
  • 4
    I have to agree with TAoCP (can’t speak for the rest). As for why nobody has posted them yet, I think the implied assumption in the question was that the source code is available so that one can see how the layout is produced. Jan 15, 2011 at 12:18
  • 3
    And Concrete Mathematcis.
    – Leo Liu
    Jan 30, 2011 at 5:14
  • 4
    @Konrad At least for »The TeXbook«, the source is available, although rendered uncompilable. Just google it.
    – FUZxxl
    Jun 27, 2011 at 18:44
38

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:

MWE

5
  • 4
    If I remember correctly, Trees, Maps, and Theorems does not use any hyphenation either.
    – Aditya
    Jun 18, 2014 at 22:34
  • 1
    @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, 2014 at 23:10
  • 4
    While impressive, I have to say that I'm not sure I entirely approve ;). What happens to allowing the author to concentrate on the content? Isn't the whole point that the content should not be deformed for the sake of formatting?! [Why do I think that I've said this to somebody before? If it is you, I do apologise.]
    – cfr
    Jan 3, 2015 at 3:11
  • 1
    @cfr I agree totally with you if the style is obtained "with a lot of textual rewritting", but the main point of the answer is that the author still can focus mainly on content with this simple trick. If the result worth is a separate issue, that IMHO depend of the type of document. Attract the reader's attention about the style could be a key objective or totally counterproductive.
    – Fran
    Jan 3, 2015 at 4:38
  • @Fran I really meant the original.
    – cfr
    Jan 3, 2015 at 13:49
38

OK, so here is one "from the Friends". I am a great admirer of typographic skill of Hans Hagen and Metafun manual is one of my favourites. Also available is Metafun manual source.

metafun manual example

35

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 https://tex.stackexchange.com/a/29154 and https://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!

timeline

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.

13
  • 4
    Cool! In my opinion it is begging for a condensed sans-serif font, something like PTSansNarrow.
    – percusse
    Dec 3, 2014 at 3:39
  • 1
    Well should you accumulate enough courage, it's on CTAN :)
    – percusse
    Dec 3, 2014 at 3:45
  • 1
    Neat! Reminds me in a way of Adams Synchronological Chart or Map of History, which is always fun to look at. (Requisite Wikipedia link.) Also, his was handdrawn --- (just a guess, but) I'm not sure who had the harder time....
    – jon
    Dec 3, 2014 at 4:58
  • 1
    @ClaudioFiandrino I'm not sure what you mean about going for a package. percusse is suggesting I change the font, which would require using a (different) package, but would also require redoing a whole bunch of fine-tuning of spacing. I'm not sure I can face that! (And it takes a loooooooooong time to compile so testing is painful.) ;)
    – cfr
    Dec 3, 2014 at 18:38
  • 1
    @cfr: A package might provide the basic macros to draw blocks and connections in relation to the timeline. The scope is to allow any other user to potentially replicate the chart. Dec 4, 2014 at 7:23
35

My two cents:

https://github.com/alexisflesch/nexus

It's a work in progress, but I'm quite satisfied with the result already. The little squares in the footers are clickable links to the corresponding chapters.

A big part of the code was borrowed to stackexchange contributors.

Title page and TOC One chapter

4
  • 3
    I'd say, it's too much colorful. Reducing them a little may make it easier to read (which is the main purpose).
    – hola
    May 31, 2017 at 6:30
  • I liked the title page very much. Could show me the necessary and sufficient codes for the title page only?
    – Maryà
    Jun 26, 2017 at 11:11
  • There is a titlepage.tex file on my GitHub ;)
    – Alexis
    Jun 26, 2017 at 11:29
  • 1
    The tabs on the bottom fail to work when loading the mhchem package
    – sab hoque
    Jun 23, 2019 at 13:17
33

Complete Source Code and Thesis

Since I've got four more exams on my plate there was no time to tidy up the code and the way the chapter headings are written, they prevent the use of tikzexternalize.

An image from my end-of-term-thesis and the .pdf above (sadly only two links can be posted as new user): enter image description here

It is mostly reverse engineered wherever I needed a solution for my ideas, but could have more easily been accomplished with classic thesis, I assume.

The data sctructure is from Matthias Posspiech's thesis template, but seems to have a good amount of redundant code in it. The headings are customized personally, while the chapter titles are a version from the Grande Orange Book (spelled correctly?).

Sadly I didn't get the full width floats right ;(

2
  • 1
    It would be interesting to have the .pdf and even the source code to such thesis.
    – Manuel
    Jul 4, 2016 at 21:57
  • 2
    All uploaded. Excuse the messy coding, but I had to get it out until my deadline. Jul 5, 2016 at 13:35
32

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: CUStyle, first page

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 (or 480.pdf), 339.pdf (or 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).

31

I really like the documentation of Philipp Lehman. The Font Installation Guide was mentioned in the question, but I also think for a simpler article (rather than the book style) his package documentation is hard to beat aesthetically, e.g. biblatex's

In biblatex manual [was: Can I make a document that looks like this?], the author explains how to recreate this style (fonts and such).

31

I'd like to add our main project report, which was created the last semester at a 2-year technical college.

Main Report as pdf (OneDrive link)

Stripped-down example/template (needs XeLaTex)

(Note: This template bears some marks from being taken from a paper written under a constant time-pressure with multiple revisions, and was never meant to be shown off in public)

Here are some outtakes: Table of Contents Tables, math and figures Explanation of some parts

1
  • Sadly, your template link does not work for me (anymore). Any chance that you could update it / send me the template another way?
    – schtandard
    May 29, 2021 at 9:15
31

My humble contribution, using Memoir and EB Garamond.

% !TeX program = xelatex
\let\counterwithout\relax
\let\counterwithin\relax
\documentclass[a6paper,12pt,final]{memoir}
\usepackage[top=0.4in,bottom=0.3in,right=0.78in,left=0.78in]{geometry}
\usepackage{pdflscape}
\setlength{\parindent}{0pt}


%dark red defined as \h{}
\usepackage[svgnames]{xcolor}
\newcommand{\h}[1]{\textcolor{FireBrick}{#1}}
\definecolor{bblue}{rgb}{0.74,0.80,0.84}
\usepackage{psvectorian,fancyhdr,lipsum,multido}


%to open PDFs in full H-Fit
\usepackage[hidelinks,bookmarks=false]{hyperref}
\hypersetup{pdfstartview={XYZ null null 1.22}}
\usepackage{bbding}
\usepackage{lettrine}
\usepackage{fontspec}

\setmainfont[Ligatures={Required,Common,Contextual,Rare,Historic,TeX},Numbers=OldStyle,RawFeature={+ss05,+dlig,+hlig,+calt,+liga},ItalicFeatures={RawFeature={+cv04,+clig,+swsh,+calt,+liga,+hlig,+ss05},CharacterVariant=5:0}]{EB Garamond}


\usepackage{pgfornament}
\usepackage[final]{microtype}
\begin{document}
    \pagecolor{bblue}
    \thispagestyle{empty}
    \topskip0.01pt
    \large

    \begin{center}\Large
    \textsc{the paradox of}\\   \rput[r](-3pt,3pt){\psvectorian[width=2em, 
     color=Maroon]{102}} \textit{Epimenides}    \rput[l](0pt,3pt) 
     {\psvectorian[width=2em,mirror, color=Maroon]{102}}\\

        \large
    \end{center}
    \vskip.25cm

    \lettrine[loversize=0.3,
    lines=3,
    slope=-0.1em,
    nindent=5pt,
    lhang=0.35]{E}p\textsc{imenides} was a Cretan and a philosopher (600 
    \textsc{bc})
    who made an \emph{immortal} statement:

    \begin{quote}
        \emph{``All Cretans are liars.''}
    \end{quote} 

    but, Epimenides, was a Cretan and therefore, a liar. A statement by a liar, cannot be true and it meant, Cretans did \emph{not} lie, but spoke \emph{truth}.\\

    Now, if, Epimenides speaks \emph{truth,} then by his own statement, he, a Cretan, is a liar. Does Epimenides \emph{speak truth} or \emph{lie?}\h{\pgfornament[width=17pt]{1}}\hfil\\

    \begin{tiny}
        \begin{center}
            \textsc{typeset in latex by ajay kd}
        \end{center}
    \end{tiny}


    \vspace*{\fill}



\end{document}

Paradox of Epimenides

2
  • 4
    The spacing around the ornaments could be a little wider, but otherwise, nice! I especially like the way the lettrine hangs out into the margin.
    – ChrisS
    Oct 26, 2018 at 5:56
  • 5
    Very nice. Would be much better if you showed the code you used to produce this :) Oct 26, 2018 at 12:36
30

While writing it, I really liked my bachelor thesis Implementation of a Read Mapping Tool Based on the Pigeon-hole Principle, even though the margins (and some other things) were all wrong.

Looking back, I probably wouldn’t use such a heavy font again (Hoefler Text). But I still like the chapter headings a lot:

chapter heading

4
  • The font for the equation numbers does not look good enough. May 30, 2011 at 13:18
  • @xport Yup, that’s still using the Computer Modern font. May 30, 2011 at 13:27
  • 5
    They look nice, I'll create a memoir version of it for a later edition of my memoir chapter style showcase document
    – daleif
    Apr 20, 2012 at 12:08
  • @usr1234567 Thanks for pointing this out. I’ll try to find a copy of my thesis later and upload it somewhere else. Unfortunately my alma mater does not seem to archive undergrad theses (at least there’s nothing public facing). Feb 20, 2017 at 10:27
27

I wrote both my PhD thesis and presentation in LaTeX. Most images were directly created in LaTeX, using tikz/pgfplots.

A particularity of my template is that it features one page turning animation on each side (hourglass on the left and a glider on the right). Both animations were also generated using LaTeX.

The source code is available at GitHub.

Thesis

Presentation

3
  • Welcome and thank you for your contribution.
    – Johannes_B
    Jul 14, 2016 at 8:52
  • Your documents are very colourful. Some people are colourblind and might miss one of your points. Colorblind, links hard to see
    – Johannes_B
    Jul 14, 2016 at 8:53
  • Thank you for your comment, you are absolutely right. I did not think about that problem. However, since a lot of us print stuff black and white, I always tried to be redundant in the places colors are really important, e.g., the plots redundantly have colors and symbols to depict the same subjects. Jul 14, 2016 at 9:28
26

I made an abstract book for a conference on this webpage, using LuaLaTeX and TikZ, and automating the process from a database: Abstract Book

The book also has comment fields to add comments and save them on the PDF

Cover Abstract

4
  • 1
    Could you please share a copy of the template to me? (mauramz /AT/ gmail.com)
    – Mauramz
    Nov 19, 2015 at 23:46
  • 1
    Sorry, I will try to organise the files and send it to you when I have some free time
    – PerroNoob
    Dec 2, 2015 at 16:01
  • Nice work, I'm curious about how you're accessing the database and the whole automation. Have you considered sharing a GitHub repository, please? Apr 10, 2016 at 18:43
  • 2
    The access to the database is a long process, so it requires time to tidy up the files, maybe I will do that in the future. I created a repository with the LaTex style and how to generate the abstract book here github.com/davidcortesortuno/conference_style . Regards.
    – PerroNoob
    Apr 13, 2016 at 22:53
24

A Brief Introduction to Neural Networks is a beautiful one.

4
  • When I just found this thread, I was thinking of that exact same document. I would have added it if you hadn't. It also looks interestingly un-TeX-like I think.
    – Christian
    Apr 20, 2012 at 23:22
  • Sure, this is really marvellous. Except that the ToC doesn't fit into the design imho (it's pretty default too).
    – jmc
    May 29, 2012 at 19:41
  • ...2 inch margins. Does that count as padding? Jan 18, 2013 at 15:35
  • 5
    Nice document, but not that impressive. I see different figures using different font and font sizes (compare p.22 to p.38) and even font size larger font than that of the main text (p.22, p.63). Figures that overflow under the next column (p.40). Tables with rules that disappear around colored cells (p.41). Pages with 2-word widows (p.49). Paragraphs mixing - with -- where I would have used --- (p.59).
    – adl
    Jun 19, 2014 at 5:58
24
+100

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.

example pages

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.

0
23

I would like also to show something, which isn't that sophisticated but I believe it's a nice way to make simple but fancy covers with spine and flaps. I hope you find it usefull. What it's going to follow is some covers I made for my thesis using zwpagelayout package which can fe found here and pgfornaments which can be found here

The preamble is the following

\documentclass{article}
\usepackage{pgfornament}
\usepackage[english,greek]{babel}
\usepackage[iso-8859-7]{inputenc}
\usepackage{kerkis}
\usepackage[pdftex]{graphicx}
\pagestyle{empty}
\usepackage{xcolor}
\usepackage{tikz}
\usetikzlibrary{decorations.fractals}
\usepackage{multicol}
%^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
\usepackage[papersize={,297mm}, strictheight=false,topmargin=0mm, botmargin, flap=50mm, textwidth=209mm, spine=13mm, cropmarks, cropframe, croptitle=Εξώφυλλο Διπλωματικής]{zwpagelayout}
\usepackage{rotating}
 %^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
\linespread{1}
\begin{document}
%There goes the code!
\end{document}

The following lines contain code for four covers as well as the output of each code. Each code is placed between begin{document} and end{document} in the aforementioned preamble.

First Cover

Code

\hbox to \textwidth{%
\vbox to \textheight{\hsize \CropFlap \centering \textcolor{white}{Front Flap}
}\hss
\vbox to \textheight{\hsize \UserWidth \vfill \leavevmode \textcolor{white}{ISBN+EAN}}\hss
\vbox to \textheight{\hsize \CropSpine \vfill
\begin{sideways}\hspace{-10cm}Αθανάσιος Ν. Σταματόπουλος \hspace{5cm}{\Large Μελέτη     Ανιχνευτή \latintext{MicroMEGAS}}  \end{sideways}\vfill}\hss
\vbox to \textheight{\hsize \UserWidth \vspace{1cm} 
\setlength{\unitlength}{1cm}
\begin{picture}(20,27)

\put(0.7,1){\pgfornament[width=1cm]{25}}
\put(1.7,1){\pgfornament[width=1cm]{25}}
\put(0.7,2){\pgfornament[width=1cm]{25}}
\put(1.7,2){\pgfornament[width=1cm]{25}}
\put(0.7,3){\pgfornament[width=1cm]{25}}
\put(1.7,3){\pgfornament[width=1cm]{25}}
\put(0.7,4){\pgfornament[width=1cm]{25}}
\put(1.7,4){\pgfornament[width=1cm]{25}}
\put(0.7,5){\pgfornament[width=1cm]{25}}
\put(1.7,5){\pgfornament[width=1cm]{25}}
\put(0.7,6){\pgfornament[width=1cm]{25}}
\put(1.7,6){\pgfornament[width=1cm]{25}}
\put(0.7,7){\pgfornament[width=1cm]{25}}
\put(1.7,7){\pgfornament[width=1cm]{25}}
\put(0.7,8){\pgfornament[width=1cm]{25}}
\put(1.7,8){\pgfornament[width=1cm]{25}}
\put(0.7,9){\pgfornament[width=1cm]{25}}
\put(1.7,9){\pgfornament[width=1cm]{25}}
\put(0.7,10){\pgfornament[width=1cm]{25}}
\put(1.7,10){\pgfornament[width=1cm]{25}}
\put(0.7,11){\pgfornament[width=1cm]{25}}
\put(1.7,11){\pgfornament[width=1cm]{25}}
\put(0.7,12){\pgfornament[width=1cm]{25}}
\put(1.7,12){\pgfornament[width=1cm]{25}}
\put(0.7,13){\pgfornament[width=1cm]{25}}
\put(1.7,13){\pgfornament[width=1cm]{25}}
\put(0.7,14){\pgfornament[width=1cm]{25}}
\put(1.7,14){\pgfornament[width=1cm]{25}}
\put(0.7,15){\pgfornament[width=1cm]{25}}
\put(1.7,15){\pgfornament[width=1cm]{25}}
\put(0.7,16){\pgfornament[width=1cm]{25}}
\put(1.7,16){\pgfornament[width=1cm]{25}}
\put(0.7,17){\pgfornament[width=1cm]{25}}
\put(1.7,17){\pgfornament[width=1cm]{25}}
\put(0.7,18){\pgfornament[width=1cm]{25}}
\put(1.7,18){\pgfornament[width=1cm]{25}}
\put(0.7,19){\pgfornament[width=1cm]{25}}
\put(1.7,19){\pgfornament[width=1cm]{25}}
\put(0.7,20){\pgfornament[width=1cm]{25}}
\put(1.7,20){\pgfornament[width=1cm]{25}}
\put(0.7,21){\pgfornament[width=1cm]{25}}
\put(1.7,21){\pgfornament[width=1cm]{25}}
\put(0.7,22){\pgfornament[width=1cm]{25}}
\put(1.7,22){\pgfornament[width=1cm]{25}}
\put(0.7,23){\pgfornament[width=1cm]{25}}
\put(1.7,23){\pgfornament[width=1cm]{25}}
\put(0.7,24){\pgfornament[width=1cm]{25}}
\put(1.7,24){\pgfornament[width=1cm]{25}}
\put(0.7,25){\pgfornament[width=1cm]{25}}
\put(1.7,25){\pgfornament[width=1cm]{25}}
\put(0.7,26){\pgfornament[width=1cm]{25}}
\put(1.7,26){\pgfornament[width=1cm]{25}}
%-----------------------------------------------------------
\put(3.4,23){\includegraphics[width=3.3cm]{ntua-logo}}
\put(7.1,25.4) {{\Large Εθνικό Μετσόβιο Πολυτεχνείο}}
\put(7.1,24.9) {{\Large Σχολή Εφαρμοσμένων Μαθηματικών\&Φυσικών Επιστημών}}
\put(7.1,24.4) {{\Large Τομέας Φυσικής}}
\put(7.1,23.9) {{\Large Εργαστήριο Πειραματικής Φυσικής Υψηλών Ενεργειών}}
\put(6,14){{\huge Μελέτη ανιχνευτή \latintext{MicroMEGAS}}}
\put(7.5,7.5){{\Large Σταματόπουλος Ν. Αθανάσιος}}
\put(9,1.5){{\Large Οκτώβριος 2012}}
\end{picture}}\hss
\vbox to \textheight{\hsize \CropFlap \textcolor{white}{Back Flap}
}}

Output

Second Cover

Code

\hbox to \textwidth{%
\vbox to \textheight{\hsize \CropFlap \centering
\textcolor{white}{Back flap}\vfill}\hss
\vbox to \textheight{\hsize \UserWidth \vfill \leavevmode \textcolor{white}{ISBN+EAN}}\hss
\vbox to \textheight{\hsize \CropSpine \vfill
\begin{sideways}\hspace{-10cm}Αθανάσιος Ν. Σταματόπουλος \hspace{5cm}{\Large Μελέτη     Ανιχνευτή \latintext{MicroMEGAS}}  \end{sideways}\vfill}\hss
\vbox to \textheight{\hsize \UserWidth \vspace{1cm} 
\setlength{\unitlength}{1cm}
\begin{picture}(20,27)


\put(0.7,1){\pgfornament[width=1cm]{25}}
\put(1.7,1){\pgfornament[width=1cm]{25}}
\put(0.7,2){\pgfornament[width=1cm]{25}}
\put(1.7,2){\pgfornament[width=1cm]{25}}
\put(0.7,3){\pgfornament[width=1cm]{25}}
\put(1.7,3){\pgfornament[width=1cm]{25}}
\put(0.7,4){\pgfornament[width=1cm]{25}}
\put(1.7,4){\pgfornament[width=1cm]{25}}
\put(0.7,5){\pgfornament[width=1cm]{25}}
\put(1.7,5){\pgfornament[width=1cm]{25}}
\put(0.7,6){\pgfornament[width=1cm]{25}}
\put(1.7,6){\pgfornament[width=1cm]{25}}
\put(0.7,7){\pgfornament[width=1cm]{25}}
\put(1.7,7){\pgfornament[width=1cm]{25}}
\put(0.7,8){\pgfornament[width=1cm]{25}}
\put(1.7,8){\pgfornament[width=1cm]{25}}
\put(0.7,9){\pgfornament[width=1cm]{25}}
\put(1.7,9){\pgfornament[width=1cm]{25}}
\put(0.7,10){\pgfornament[width=1cm]{25}}
\put(1.7,10){\pgfornament[width=1cm]{25}}
\put(0.7,11){\pgfornament[width=1cm]{25}}
\put(1.7,11){\pgfornament[width=1cm]{25}}
\put(0.7,12){\pgfornament[width=1cm]{25}}
\put(1.7,12){\pgfornament[width=1cm]{25}}
\put(0.7,13){\pgfornament[width=1cm]{25}}
\put(1.7,13){\pgfornament[width=1cm]{25}}
\put(0.7,14){\pgfornament[width=1cm]{25}}
\put(1.7,14){\pgfornament[width=1cm]{25}}
\put(0.7,15){\pgfornament[width=1cm]{25}}
\put(1.7,15){\pgfornament[width=1cm]{25}}
\put(0.7,16){\pgfornament[width=1cm]{25}}
\put(1.7,16){\pgfornament[width=1cm]{25}}
\put(0.7,17){\pgfornament[width=1cm]{25}}
\put(1.7,17){\pgfornament[width=1cm]{25}}
\put(0.7,18){\pgfornament[width=1cm]{25}}
\put(1.7,18){\pgfornament[width=1cm]{25}}
\put(0.7,19){\pgfornament[width=1cm]{25}}
\put(1.7,19){\pgfornament[width=1cm]{25}}
\put(0.7,20){\pgfornament[width=1cm]{25}}
\put(1.7,20){\pgfornament[width=1cm]{25}}
\put(0.7,21){\pgfornament[width=1cm]{25}}
\put(1.7,21){\pgfornament[width=1cm]{25}}
\put(0.7,22){\pgfornament[width=1cm]{25}}
\put(1.7,22){\pgfornament[width=1cm]{25}}
\put(0.7,23){\pgfornament[width=1cm]{25}}
\put(1.7,23){\pgfornament[width=1cm]{25}}
\put(0.7,24){\pgfornament[width=1cm]{25}}
\put(1.7,24){\pgfornament[width=1cm]{25}}
\put(0.7,25){\pgfornament[width=1cm]{25}}
\put(1.7,25){\pgfornament[width=1cm]{25}}
\put(0.7,26){\pgfornament[width=1cm]{25}}
\put(1.7,26){\pgfornament[width=1cm]{25}}
%-----------------------------------------------------------
\put(9.5,23){\includegraphics[width=3.3cm]{ntua-logo}}
\put(8,22) {{\Large Εθνικό Μετσόβιο Πολυτεχνείο}}
\put(5,21.5) {{\Large Σχολή Εφαρμοσμένων Μαθηματικών\&Φυσικών Επιστημών}}
\put(9.5,21) {{\Large Τομέας Φυσικής}}
\put(5.5,20.5) {{\Large Εργαστήριο Πειραματικής Φυσικής Υψηλών Ενεργειών}}
\put(6,14){{\huge Μελέτη ανιχνευτή \latintext{MicroMEGAS}}}
\put(7.5,7.5){{\Large Σταματόπουλος Ν. Αθανάσιος}}
\put(9,1.5){{\Large Οκτώβριος 2012}}
\end{picture}}\hss
\vbox to \textheight{\hsize \CropFlap \centering
\textcolor{white}{Front flap}\vfill}}

Output

Third Cover

Code

\hbox to \textwidth{%
\vbox to \textheight{\hsize \CropFlap 
\vspace{20.5cm} \begin{tikzpicture}\draw[color=gray!50,fill=gray!50] (0,0) rectangle     (5,-2);\end{tikzpicture}\vfill}\hss
\vbox to \textheight{\hsize \UserWidth \vspace{20.5cm}     \begin{tikzpicture}\draw[color=gray!50,fill=gray!50] (-2,0) rectangle     (30,-2);\end{tikzpicture}}\hss
\vbox to \textheight{\hsize \CropSpine \vfill
\begin{sideways}\hspace{-10cm}Αθανάσιος Ν. Σταματόπουλος  \hspace{5cm}{\Large Μελέτη     Ανιχνευτή \latintext{MicroMEGAS}}  \end{sideways}\vfill}\hss
\vbox to \textheight{\hsize \UserWidth \vspace{1cm} \line(1,0){40}{} \Large Σταματόπουλος     Ν. Αθανάσιος \line(1,0){320}\\ \setlength{\unitlength}{1cm}\begin{picture}(27,17)
\put(1,7){\includegraphics[width=3.5cm]{ntua-logo}}
\put (5.5,9.5){\Large Εθνικό Μετσόβιο Πολυτεχνείο}
\put (5.5,9){\Large Σχολή Εφαρμοσμένων Μαθηματικών\&Φυσικών Επιστημών}
\put (5.5,8.5) {\Large Τομέας Φυσικής}
\put (5.5,8) {\Large Εργαστήριο Πειραματικής Φυσικής Υψηλών Ενεργειών}
\put (1,1) {\huge Μελέτη ανιχνευτή \latintext{MicroMEGAS}}\end{picture}
\begin{tikzpicture}
\draw[color=white,opacity=1] (0,2) -- (10,2);
\draw[color=gray!50,fill=gray!50] (0,0) rectangle (25,-2);
\node at (3,-6) {\large Οκτώβριος 2012};
\end{tikzpicture}
}\hss
\vbox to \textheight{\hsize \CropFlap \vspace{20.5cm}     \begin{tikzpicture}\draw[color=gray!50,fill=gray!50] (0,0) rectangle     (4.5,-2);\end{tikzpicture}\vfill}}

Output

Fourth Cover

Code

 \hbox to \textwidth{%
 \vbox to \textheight{\hsize \CropFlap 
 \vspace{20.5cm} \begin{tikzpicture}\draw[color=red,fill=red] (0,0) rectangle     (5,-2);\end{tikzpicture}\vfill}\hss
\vbox to \textheight{\hsize \UserWidth \vspace{20.5cm}     \begin{tikzpicture}\draw[color=red,fill=red] (-2,0) rectangle     (30,-2);\end{tikzpicture}}\hss
\vbox to \textheight{\hsize \CropSpine \vfill
\begin{sideways}\hspace{-10cm}\textcolor{blue}{Αθανάσιος Ν. Σταματόπουλος}  \hspace{5cm}    {\Large \textcolor{blue}{Μελέτη Ανιχνευτή \latintext{MicroMEGAS}}}      \end{sideways}\vfill}\hss
\vbox to \textheight{\hsize \UserWidth \vspace{1cm} \begin{tikzpicture}\draw[red,very     thick] (0,0) --(3,0); \node at (6.3,0) {\Large Σταματόπουλος Ν. Αθανάσιος}; \draw[red,very     thick] (9.6,0) -- (20,0); \end{tikzpicture}\\ \setlength{\unitlength}{1cm}\begin{picture}    (27,17)
\put(1,7){\includegraphics[width=3.5cm]{ntua-logo}}
\put (5.5,9.5){\Large Εθνικό Μετσόβιο Πολυτεχνείο}
\put (5.5,9){\Large Σχολή Εφαρμοσμένων Μαθηματικών\&Φυσικών Επιστημών}
\put (5.5,8.5) {\Large Τομέας Φυσικής}
\put (5.5,8) {\Large Εργαστήριο Πειραματικής Φυσικής Υψηλών Ενεργειών}
\put (1,1) {\huge Μελέτη ανιχνευτή \latintext{MicroMEGAS}}\end{picture}
\begin{tikzpicture}
\draw[color=white,opacity=1] (0,2) -- (10,2);
\draw[color=red,fill=red] (0,0.2) rectangle (25,-1.8);
\node at (3,-6) {\large Οκτώβριος 2012};
\end{tikzpicture}
}\hss
\vbox to \textheight{\hsize \CropFlap \vspace{20.5cm}     \begin{tikzpicture}\draw[color=red,fill=red] (0,0) rectangle     (4.5,-2);\end{tikzpicture}\vfill}}

Output

1
  • 4
    you should read about the \foreach command, it enables you to use for loops in an easy way (even outside a tikzpicture environment). See section 44 of the pgfmanual. Jan 28, 2013 at 23:28
22

I know two nice repositories (the last one has already been listed here):

  1. Dario Taraborelli shows some of the elegant and beautiful features of LaTeX.
  2. There is the TeX Showcase, edited by Gerben Wierda, which contains examples of what you can do with LaTeX. Most, if not all, of these examples are of exceptionally high quality.
1
  • Tex Showcase! I saw, and was impressed by that years ago, and wanted to refer to it again some time ago and couldn't find it. +1, thanks. Oct 25, 2010 at 11:40
22

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.

The source file, texbook.tex, starts with the following code.

% This manual is copyright (C) 1984 by the American Mathematical Society.
% All rights are reserved!
% The file is distributed only for people to see its examples of TeX input,
% not for use in the preparation of books like The TeXbook.
% Permission for any other use of this file must be obtained in writing
% from the copyright holder and also from the publisher (Addison-Wesley).
\loop\iftrue
  \errmessage{This manual is copyrighted and should not be TeXed}\repeat
2
  • 2
    What do you mean by 'not allowed to compile'?
    – hola
    May 31, 2017 at 6:28
  • @pushpen.paul, I updated the answer to address your question.
    – TH.
    Jun 5, 2017 at 18:15
21

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.

1
  • I'm not sure I think there is such a thing as "vector graphics typography", but +1, I do agree that these examples are good: the intergration of PGF into Latex, like the integration of Metapost into Context, does help with the visual organisation of content, and can help typography. Aug 10, 2010 at 7:24
21

The articles from the online journal 'Semantics & Pragmatics' seem to come out very well.

example pages

1
  • 1
    Nice example of Lucida fonts.
    – Lev Bishop
    Aug 15, 2010 at 3:18
21

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.

L15 pdf

5
19

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

screenshot

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

18

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.

3
  • 20
    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, 2010 at 2:35
  • 1
    I agree with Lev. It is more like a poster.
    – Leo Liu
    Aug 11, 2010 at 6:58
  • 5
    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. Aug 17, 2010 at 12:17
16

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.

1
  • 8
    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, 2010 at 14:24
16

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

Camping Guide (sorry, no direct download link)

Games Catalogue

Newsletter

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 :-)

9
  • So how many light years does it take to compile that Erco catalogue? :)
    – percusse
    Mar 30, 2012 at 22:16
  • LOL In fact they moved more or less entirely to LED technology by now, so their light has to be measured in decades rather than years (you won't believe how much product knowledge one picks up working on such a project ;-) Mar 30, 2012 at 22:19
  • I really like the Asia catalogue! Is it completely automatically generated? Wow!
    – Jake
    Mar 30, 2012 at 22:51
  • @jake Well there may be a couple of pages (intro & such) which are not based on database content which have been made by hand and included. But the country and region intros (with the maps) are generated. Mar 30, 2012 at 23:09
  • 1
    Most of the links give 404. Is it possible to fix the broken links? May 21, 2015 at 18:30
16

not really as beautiful, but more careful.

To be publsihed at Holborn Project soon!

spread2

spread1

1
  • 1
    Where can I find this template above?
    – domi
    Feb 9, 2019 at 18:15
16

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 (It’s the layout example that counts).

screenshot

5
  • Speaking of plugs, here's my own too, typesetted in XeTeX. Oct 1, 2011 at 10:55
  • I really like what you did with it, specially the arrow cues to look at recto/verso pages. Care to share how you did it? Or even better, the source code (I'm sure I've done worse things :) Jul 31, 2013 at 20:58
  • 1
    @AlbertoMiranda: I used varioref (it badly interacts with other packages, sadly enough). The basic thing to do is \renewcommand*{\reftextcurrent}{\unskip}, \renewcommand*{\reftextbefore}{\unskip$_\curvearrowleft$}, \renewcommand*{\reftextfacebefore}{\unskip}, and \renewcommand*{\reftextfaraway}[1]{\unskip\textsubscript{\reallythepageref{#1}}}, and furthermore \newcommand*{\reallythepageref}[1]{\hyperref{\getrefbykeydefault{#1}{url}{}}{page}{\getpagerefnumber{#1}}{\pageref*{#1}}} using hyperref and refcount (don't remember why).
    – equaeghe
    Aug 2, 2013 at 9:54
  • I also like what you did! How did you flow the text around figures when they are too wide to be fully put in the margin, like on page 46 or 90? How did you position those images? Dec 16, 2014 at 23:53
  • @MarcelKorpel Also with wrapfigure; it allows you to extend into the margin: \begin{wrapfigure}{o}[\headextend]{0pt}<content>\end{wrapfigure}, where \headextend is appropriately defined. I advise you to read the wrapfigure documentation (in the style file) and play with it a bit to get to know it.
    – equaeghe
    Dec 19, 2014 at 15:06
16
  1. I would not say that it is very nice but probably interesting in terms of coding Light and matter

LM1 LM2 LM3


  1. This one is very nice but with no sources motionmountain

MM1 MM2 MM3

1
  • Ad.2: an attempt to reproduce the way the table of contents is built in the Motion Mountain books can be found in this thread. Despite the presented source code is based on 'article' class, it compiles to something very similar in looks and functionality, including clickable hyperlinks and justified paragraphs. You will also enjoy the fact that unlike the original, the linked solution actually recognizes three levels of section depths.
    – bartek
    Nov 17, 2014 at 16:38
16

Just finished writing my PhD thesis, which is written using the memoir class and all figures are drawn using TikZ. The PDF is available on http://kth.diva-portal.org/smash/get/diva2:1185339/FULLTEXT03.pdf, and the source code is freely available on https://github.com/gablin/ghb-thesis.

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

16

This will look narcissistic for sure, but here's the current version of my curriculum vitae. It's basically a single full-page tikzpicture, compiled with XeLaTeX. Lots of randomized coordinates here and there (I got slightly influenced by the interface of the game Persona 5).

screenshot of the document

I recreated the union jack by hand for fun (you can choose between 1:2 and 3:5 ratios and the width of the stripes and stuff remains correct):

\newcommand{\unionjack}{%
    \begingroup%
        \def\urationum{3}%
        \def\uratioden{5}%
        \def\uheight{2ex}%
        \definecolor{ublue}{RGB}{0, 39, 118}%
        \definecolor{ured}{RGB}{198, 12, 48}%
        \colorlet{uwhite}{white}%
        \begin{tikzpicture}[
                    draw = none,
                    line width = 0pt
                ]
            \coordinate (sw) at (0, 0);
            \coordinate (nw) at (0, \uheight);
            \coordinate (ne) at (\uheight * \uratioden / \urationum, \uheight);
            \coordinate (se) at (\uheight * \uratioden / \urationum, 0);
            \clip (sw) rectangle (ne);
            \fill[ublue] (sw) rectangle (ne);
            %
            \coordinate (nwsebegtop) at ($(nw)!\uheight / 10!90:(se)$);
            \coordinate (nwsebegbot) at ($(nw)!\uheight / 10!-90:(se)$);
            \coordinate (nwseendtop) at ($(se)!\uheight / 10!-90:(nw)$);
            \coordinate (nwseendbot) at ($(se)!\uheight / 10!90:(nw)$);
            \fill[uwhite]
                (nwsebegtop) -- (nwsebegbot) -- (nwseendbot)
                -- (nwseendtop) -- cycle;
            \coordinate (swnebegtop) at ($(sw)!\uheight / 10!90:(ne)$);
            \coordinate (swnebegbot) at ($(sw)!\uheight / 10!-90:(ne)$);
            \coordinate (swneendtop) at ($(ne)!\uheight / 10!-90:(sw)$);
            \coordinate (swneendbot) at ($(ne)!\uheight / 10!90:(sw)$);
            \fill[uwhite]
                (swnebegtop) -- (swnebegbot) -- (swneendbot)
                -- (swneendtop) -- cycle;
            %
            \begin{scope}
                \clip (nw) -- (ne) -- (sw) -- cycle;
                \coordinate (nwsebegtopred) at (nw);
                \coordinate (nwsebegbotred) at ($(nw)!\uheight / 30 * 2!-90:(se)$);
                \coordinate (nwseendtopred) at (se);
                \coordinate (nwseendbotred) at ($(se)!\uheight / 30 * 2!90:(nw)$);
                \fill[ured]
                    (nwsebegtopred) -- (nwsebegbotred) -- (nwseendbotred)
                    -- (nwseendtopred) -- cycle;
            \end{scope}
            \begin{scope}
                \clip (sw) -- (se) -- (ne) -- cycle;
                \coordinate (nwsebegtopred) at ($(nw)!\uheight / 30 * 2!90:(se)$);
                \coordinate (nwsebegbotred) at (nw);
                \coordinate (nwseendtopred) at ($(se)!\uheight / 30 * 2!-90:(nw)$);
                \coordinate (nwseendbotred) at (se);
                \fill[ured]
                    (nwsebegtopred) -- (nwsebegbotred) -- (nwseendbotred)
                    -- (nwseendtopred) -- cycle;
            \end{scope}
            \begin{scope}
                \clip (sw) -- (se) -- (nw) -- cycle;
                \coordinate (swnebegtopred) at (sw);
                \coordinate (swnebegbotred) at ($(sw)!\uheight / 30 * 2!-90:(ne)$);
                \coordinate (swneendtopred) at (ne);
                \coordinate (swneendbotred) at ($(ne)!\uheight / 30 * 2!90:(sw)$);
                \fill[ured]
                    (swnebegtopred) -- (swnebegbotred) -- (swneendbotred)
                    -- (swneendtopred) -- cycle;
            \end{scope}
            \begin{scope}
                \clip (nw) -- (se) -- (ne) -- cycle;
                \coordinate (swnebegtopred) at ($(sw)!\uheight / 30 * 2!90:(ne)$);
                \coordinate (swnebegbotred) at (sw);
                \coordinate (swneendtopred) at ($(ne)!\uheight / 30 * 2!-90:(sw)$);
                \coordinate (swneendbotred) at (ne);
                \fill[ured]
                    (swnebegtopred) -- (swnebegbotred) -- (swneendbotred)
                    -- (swneendtopred) -- cycle;
            \end{scope}
            %
            \coordinate (n) at ($(nw)!0.5!(ne)$);
            \coordinate (s) at ($(sw)!0.5!(se)$);
            \fill[uwhite]
                ($(nw)!1/3!(sw)$) -- ($(ne)!1/3!(se)$)
                -- ($(se)!1/3!(ne)$) -- ($(sw)!1/3!(nw)$) -- cycle;
            \fill[uwhite]
                ($(s)!\uheight / 6!90:(n)$)
                -- ($(s)!\uheight / 6!-90:(n)$)
                -- ($(n)!\uheight / 6!90:(s)$)
                -- ($(n)!\uheight / 6!-90:(s)$)
                -- cycle;
            \fill[ured]
                ($(nw)!2/5!(sw)$) -- ($(ne)!2/5!(se)$)
                -- ($(se)!2/5!(ne)$) -- ($(sw)!2/5!(nw)$) -- cycle;
            \fill[ured]
                ($(s)!\uheight / 10!90:(n)$)
                -- ($(s)!\uheight / 10!-90:(n)$)
                -- ($(n)!\uheight / 10!90:(s)$)
                -- ($(n)!\uheight / 10!-90:(s)$)
                -- cycle;
        \end{tikzpicture}%
    \endgroup%
}

The weird fuzziness of the header's background was obtained by mistake, by asking for random steps as a decoration (decorate, decoration = {random steps, segment length = 2pt, amplitude = 1.5pt}) and setting rounded corners to a high value (8pt, which is far more than the length of the steps). I liked the result and kept it after a few tweaks.

The lists' bullets are two circles filled in an even / odd fashion:

\newcommand{\bulcircsz}{0.65ex}
\renewcommand{\labelitemi}{%
    \begin{tikzpicture}
        \fill[
            even odd rule,
            lighter!75
        ]
            (0, 0) circle (\bulcircsz)
            (\bulcircsz*0.525, \bulcircsz*0.45) circle (\bulcircsz);
    \end{tikzpicture}%
}

And here's the code for the stars (this is far from perfect, though):

\newcommand{\starwidth}{1em}
% Maximal number of stars.
\newcommand{\starnumber}{3}

% Stars with #1 filled.
\newcommand*{\stars}[1]{%
    \begin{tikzpicture}[
                scale = 1,
                x = \starwidth,
                y = \starwidth,
                every node/.style = {
                    draw = maincolour,
                    line width = 0.75pt,
                    star,
                    star points = 5,
                    star point ratio = 2,
                    minimum width = \starwidth * 0.95,
                    text width = 0pt,
                    inner sep = 0pt,
                    rounded corners = 0.5pt,
                    anchor = center
                },
                baseline = {([yshift = 0.15ex] current bounding box.south)}
            ]
        \foreach \k in {1, ..., \starnumber}
            \node (s\k) at (\k, 0) {};
        \clip (current bounding box.south west) rectangle (#1 + 0.5, 0.5);
        \foreach \k in {1, ..., \starnumber}
            \node[fill = maincolour!50] at (\k, 0) {};
    \end{tikzpicture}%
}

Damn, my post is long. Is there no way to put stuff (especially code) in a little “spoiler” thingy?

You must log in to answer this question.

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