804

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 ...

  • 16
    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
  • 9
    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
  • 2
    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
  • I just want to come and vote this up! – Daniel Jul 9 '13 at 20:37
  • 1
    Most of the links given in answers lead to 404! – pushpen.paul May 31 '17 at 6:34

88 Answers 88

13
  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

  • 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 '14 at 16:38
13

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!).

benchmark1 benchmark2

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.

  • 12
    The link does not work. – xport May 30 '11 at 18:29
  • Dunno. Works for me now. – Jim Hefferon Mar 1 '12 at 1:01
  • 2
    @JimHefferon: The link is still broken. – Werner Feb 27 '14 at 16:57
  • 1
    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 – Michael S Taylor Jul 22 '14 at 1:35
12

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/

12

I just picked these three from our archives.

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

Page from the transcription of Flaubert's manuscript, collating the notes to show the sequence of authorial progress

  • [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

Chapter 2 of Pinocchio (in Irish). This edition was typeset to fit exactly the page layout and numbering of all the other language versions, with the images added afterwards by the printer. The challenge was that the Irish language version contains many more words than any other version!

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

A page from the analysis of Bede's book, with an authorial requirement that the footnote contained a triangular arrany of numbers.

  • Any chance Pinocchio's adventures could be typeset using the 'eiad' characters ( irish alphabet to the uninitiated)... – Leeser Jan 23 '15 at 19:16
  • I don't see why not, but Yannis' decorative initial would probably be better replaced with a different one. The problem with that edition was that we were constrained to keep the same illustrations on the same pages in the same place as all the other language editions, which meant a lot of fiddling with point sizes of text to make it fall in the right places. I'd have to do the same with the eiad font. I'll have a look. edit I would of course have to check with the editor about copyright before I could actually distribute it. – Peter Flynn Jan 28 '15 at 23:06
12

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.

enter image description here

  • 1
    I love this explicit juxtaposition of the results. It speaks for itself! – Count Zero Sep 14 '11 at 20:54
  • Indeed, with a good use of interline spacing, I think that World could do in this case a good job too. – projetmbc Jun 15 '14 at 10:11
  • 1
    @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 '15 at 3:18
11

While studying engineering mechanics I’ve come across a beautiful integral combination chart (german “Koppeltafel”) that is used to calculate the integral of two given functions multiplied. Sadly it was a bad quality scan. So I rebuilt the whole thing with lots of attention to detail in the math and the drawings and using accurate graphs. The LaTeX / TikZ code is approx. 1000 lines long and at some points I even use custom symbols embedded as pdf files (e.g. the \ell is customized).

PDF download here

integrals combination chart

9

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

9

A poster about "Automata and Computability" for my students. It's in Dutch thus most people wont understand that much about it. It is an A0 poster, something most WYSIWIG magic will never achieve to edit conveniently.

poster on automata and computibility

pdf and tex are available. Feel free to fork/issue/pull request.

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

A physical copy is hanging in my office.

Using the same package, this poster - about Graph theory and Combinatorial Optimization - was made (still in beta):

poster graph theory and combinatorial optimization

(pdf)

  • The pdf file contains 0 bytes. – Marcel Korpel Nov 19 '14 at 1:09
  • Fixed, a cron script normally compiles the poster each day (to synchronize updates), but apparently, something went wrong this time. – Willem Van Onsem Nov 19 '14 at 2:02
  • Thanks. BTW, I looked at other posters (which are very nice) in your git repository and ‘Fundamentals of Computer Science’ is rather empty. Is it not finished (yet)? – Marcel Korpel Nov 19 '14 at 11:54
  • 1
    The pdf is still 0 bytes. – Sverre May 21 '15 at 12:37
  • 2
    @Willem Van Onsem: "This account has been disabled" – lblb Mar 22 '17 at 17:00
9

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.

example

9

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

CV

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?

8

(Pentagonal tiling)

I draw 15 type of pentagonal tiling.

\documentclass{report}
\usepackage{tikz}
\usetikzlibrary{calc}

\begin{document}

\begin{tikzpicture}[line join=round,scale=1.1]
\foreach \x in {0,3,6,9,12,15} 
    \draw[line width=1pt,pink] (0,\x) -- (9,\x);
\foreach \x in {0,3,6,9}
    \draw[line width=1pt,pink] (\x,0) -- (\x,15);
\draw[line width=1pt,pink] (0,0) -- (9,0) -- (9,15) -- (0,15) -- cycle;  

\foreach \x in {0,3,6} 
  \foreach \y in {3,6,...,15}
  \draw[pink,line width=1pt] (\x,\y-.3) rectangle (\x+.3,\y);


\draw[pink,line width=1pt] (.15,2.85)  node {\tiny $1$}; 
\draw[pink,line width=1pt] (3.15,2.85)  node {\tiny $2$}; 
\draw[pink,line width=1pt] (6.15,2.85)  node {\tiny $3$}; 


\draw[pink,line width=1pt] (.15,5.85)  node {\tiny $4$}; 
\draw[pink,line width=1pt] (3.15,5.85)  node {\tiny $5$}; 
\draw[pink,line width=1pt] (6.15,5.85)  node {\tiny $6$}; 

\draw[pink,line width=1pt] (.15,8.85)  node {\tiny $7$}; 
\draw[pink,line width=1pt] (3.15,8.85)  node {\tiny $8$}; 
\draw[pink,line width=1pt] (6.15,8.85)  node {\tiny $9$};

\draw[pink,line width=1pt] (.15,11.85)  node {\tiny $10$}; 
\draw[pink,line width=1pt] (3.15,11.85)  node {\tiny $11$}; 
\draw[pink,line width=1pt] (6.15,11.85)  node {\tiny $12$};

\draw[pink,line width=1pt] (.15,14.85)  node {\tiny $13$}; 
\draw[pink,line width=1pt] (3.15,14.85)  node {\tiny $14$}; 
\draw[pink,line width=1pt] (6.15,14.85)  node {\tiny $15$};


    \draw (1.5,1.5) node {
%%%%%%Pentagon Type 1
\begin{tikzpicture}[line join=round,line width=1.2pt,scale=.5]
\begin{tiny}
\draw (0,0) coordinate (A) node[below] {$A$};
\draw ($ (A) + (15:27mm) $) coordinate (B) node[right] {$B$};
\draw ($(B)!26mm!-67:(A)$) coordinate (C) node[above] {$C$};
\draw ($(C)!11mm!-113:(B)$) coordinate (D) node [left] {$D$};
\draw ($(D)!17mm!-125:(C)$) coordinate (E) node [left] {$E$};

\draw[fill=yellow!20,yellow!20] (A) -- (B) -- (C) -- (D) -- (E) -- cycle;


\draw [pink] (A) -- (B) node[pos=.5,below] {$b$};
\draw [blue](B) -- (C) node[pos=.5,above right] {$c$};
\draw [green](C) -- (D) node[pos=.5,above] {$d$};
\draw (D) -- (E) node[pos=.5,left] {$e$};
\draw[red](E) -- (A) node[pos=.5,below left] {$a$};

\draw[fill] (A) circle (.6pt); 
\draw[fill] (B) circle (.6pt);
\draw[fill] (C) circle (.6pt);
\draw[fill] (D) circle (.6pt);
\draw[fill] (E) circle (.6pt);


\draw (1,-.9) node{$\widehat{B}+\widehat{C}=180^\circ$};
\draw (1,-1.5) node{$\widehat{A}+\widehat{D}+\widehat{E}=360^\circ$};
\end{tiny}


\end{tikzpicture}    
    };

\draw (4.5,1.5) node {%
%%%%%%Pentagon Type 2
\begin{tikzpicture}[line join=round,line width=1.2pt,scale=.5]
\begin{tiny}
\draw (0,0) coordinate (A) node[below] {$A$};
\draw ($ (A) + (25:15mm) $) coordinate (B) node[right] {$B$};
\draw ($(B)!14mm!-120:(A)$) coordinate (C) node[above] {$C$};
\draw ($(C)!30mm!-95:(B)$) coordinate (D) node [left] {$D$};
\draw ($(D)!14mm!-60:(C)$) coordinate (E) node [left] {$E$};

\draw[fill=yellow!20,yellow!20] (A) -- (B) -- (C) -- (D) -- (E) -- cycle;


\draw [pink] (A) -- (B) node[pos=.5,below] {$b$};
\draw [blue](B) -- (C) node[pos=.5,right] {$c$};
\draw [green](C) -- (D) node[pos=.5,above] {$d$};
\draw [blue](D) -- (E) node[pos=.5,left] {$e$};
\draw[red](E) -- (A) node[pos=.5,below left] {$a$};

\draw[fill] (A) circle (.6pt); 
\draw[fill] (B) circle (.6pt);
\draw[fill] (C) circle (.6pt);
\draw[fill] (D) circle (.6pt);
\draw[fill] (E) circle (.6pt);


\draw (.4,-.9) node{$c=e$};
\draw (.4,-1.5) node{$\widehat{B}+\widehat{D}=180^\circ$};
\end{tiny}


\end{tikzpicture}
};
\draw (7.5,1.5) node {%
%%%%%%Pentagon Type 3
\begin{tikzpicture}[line join=round,line width=1.2pt,scale=.5]
\begin{tiny}
\draw (0,0) coordinate (A) node[below] {$A$};
\draw ($ (A) + (-18:24mm) $) coordinate (B) node[below] {$B$};
\draw ($(B)!8mm!-105:(A)$) coordinate (C) node[right] {$C$};
\draw ($(C)!26mm!-120:(B)$) coordinate (D) node [above] {$D$};
\draw ($(D)!18mm!-120:(C)$) coordinate (E) node [left] {$E$};

\draw ($(C)!8mm!-120:(B)$) coordinate (BC);



\draw[fill=yellow!20,yellow!20] (A) -- (B) -- (C) -- (D) -- (E) -- cycle;


\draw [pink] (A) -- (B) node[pos=.5,below] {$b$};
\draw [blue](B) -- (C) node[pos=.5,below right] {$c$};
\draw [green](C) -- (D) node[pos=.5,above right] {$d$};
\draw (D) -- (E) node[pos=.5,above] {$e$};
\draw[pink](E) -- (A) node[pos=.5,below left] {$a$};

\draw[blue] (C) -- (BC);
\draw (D) -- (BC);

\draw[fill] (A) circle (.6pt); 
\draw[fill] (B) circle (.6pt);
\draw[fill] (C) circle (.6pt);
\draw[fill] (D) circle (.6pt);
\draw[fill] (E) circle (.6pt);

\draw[fill] (BC) circle (.6pt);

\draw (1,-1.5) node{$a=b,\;d=c+e$};
\draw (1,-2.2) node{$\widehat{A}=\widehat{C}=\widehat{D}=120^\circ$};
\end{tiny}


\end{tikzpicture}
};


\draw (1.5,4.5) node {%
%%%%%%Pentagon Type 4
\begin{tikzpicture}[line join=round,line width=1.2pt,scale=.5]
\begin{tiny}
\draw (0,0) coordinate (A) node[left] {$A$};
\draw ($ (A) + (-90:11mm) $) coordinate (B) node[below] {$B$};
\draw ($(B)!11mm!-90:(A)$) coordinate (C) node[below] {$C$};
\draw ($(C)!22mm!-140:(B)$) coordinate (D) node [right] {$D$};
\draw ($(D)!22mm!-90:(C)$) coordinate (E) node [above] {$E$};

\draw[fill=yellow!20,yellow!20] (A) -- (B) -- (C) -- (D) -- (E) -- cycle;


\draw [pink] (A) -- (B) node[pos=.5,left] {$b$};
\draw [pink] (B) -- (C) node[pos=.5,below] {$c$};
\draw [blue] (C) -- (D) node[pos=.5,below right] {$d$};
\draw [blue] (D) -- (E) node[pos=.5,above right] {$e$};
\draw   (E) -- (A) node[pos=.5,left] {$a$};

\draw[fill] (A) circle (.6pt); 
\draw[fill] (B) circle (.6pt);
\draw[fill] (C) circle (.6pt);
\draw[fill] (D) circle (.6pt);
\draw[fill] (E) circle (.6pt);


\draw (1,-1.9) node{$b=c,\;d=e$};
\draw (1,-2.5) node{$\widehat{B}=\widehat{D}=90^\circ$};
\end{tiny}


\end{tikzpicture}
};
\draw (4.5,4.5) node {%
%%%%%%Pentagon Type 5
\begin{tikzpicture}[line join=round,line width=1.2pt,scale=.5]
\begin{tiny}
\draw (0,0) coordinate (A) node[below] {$A$};
\draw ($ (A) + (0:29mm) $) coordinate (B) node[below] {$B$};
\draw ($(B)!7mm!-120:(A)$) coordinate (C) node[right] {$C$};
\draw ($(C)!15mm!-135:(B)$) coordinate (D) node [right] {$D$};
\draw ($(D)!15mm!-120:(C)$) coordinate (E) node [above] {$E$};

\draw[fill=yellow!20,yellow!20] (A) -- (B) -- (C) -- (D) -- (E) -- cycle;


\draw [pink] (A) -- (B) node[pos=.5,below] {$b$};
\draw (B) -- (C) node[pos=.5,below right] {$c$};
\draw [blue](C) -- (D) node[pos=.5,right] {$d$};
\draw [blue](D) -- (E) node[pos=.5,above] {$e$};
\draw[pink](E) -- (A) node[pos=.5,left] {$a$};

\draw[fill] (A) circle (.6pt); 
\draw[fill] (B) circle (.6pt);
\draw[fill] (C) circle (.6pt);
\draw[fill] (D) circle (.6pt);
\draw[fill] (E) circle (.6pt);


\draw (1.2,-.9) node{$a=b,\;d=e$};
\draw (1.2,-1.5) node{$\widehat{A}=60^\circ,\;\widehat{D}=120^\circ$};
\end{tiny}


\end{tikzpicture}
};
\draw (7.5,4.5) node {%
%%%%%%Pentagon Type 6
\begin{tikzpicture}[line join=round,line width=1.2pt,scale=.6]
\begin{tiny}
\draw (0,0) coordinate (A) node[below] {$A$};
\draw ($ (A) + (0:22mm) $) coordinate (B) node[below] {$B$};
\draw ($(B)!22mm!-40:(A)$) coordinate (C) node[above] {$C$};
\draw ($(C)!9mm!-125:(B)$) coordinate (D) node [above] {$D$};
\draw ($(D)!9mm!-140:(C)$) coordinate (E) node [left] {$E$};

\draw[fill=yellow!20,yellow!20] (A) -- (B) -- (C) -- (D) -- (E) -- cycle;


\draw [pink] (A) -- (B) node[pos=.5,below] {$b$};
\draw [blue](B) -- (C) node[pos=.5,above right] {$c$};
\draw [blue](C) -- (D) node[pos=.5,above] {$d$};
\draw [pink](D) -- (E) node[pos=.5,left] {$e$};
\draw[pink](E) -- (A) node[pos=.5,below left] {$a$};

\draw[fill] (A) circle (.6pt); 
\draw[fill] (B) circle (.6pt);
\draw[fill] (C) circle (.6pt);
\draw[fill] (D) circle (.6pt);
\draw[fill] (E) circle (.6pt);


\draw (.8,-.9) node{$a=d=e,\;b=c$};
\draw (.8,-1.5) node{$\widehat{B}+\widehat{D}=180^\circ,\;2\widehat{B}=\widehat{E}$};
\end{tiny}


\end{tikzpicture}

};


\draw (1.5,7.5) node {%
%%%%%%Pentagon Type 7
\begin{tikzpicture}[line join=round,line width=1.2pt,scale=.5]
\begin{tiny}
\draw (0,0) coordinate (A) node[below] {$A$};
\draw ($ (A) + (0:17mm) $) coordinate (B) node[below] {$B$};
\draw ($(B)!17mm!-140:(A)$) coordinate (C) node[right] {$C$};
\draw ($(C)!17mm!-135:(B)$) coordinate (D) node [above] {$D$};
\draw ($(D)!17mm!-90:(C)$) coordinate (E) node [above] {$E$};

\draw[fill=yellow!20,yellow!20] (A) -- (B) -- (C) -- (D) -- (E) -- cycle;


\draw [pink] (A) -- (B) node[pos=.5,below] {$b$};
\draw [pink](B) -- (C) node[pos=.5,below right] {$c$};
\draw [pink](C) -- (D) node[pos=.5,right] {$d$};
\draw [pink](D) -- (E) node[pos=.5,above] {$e$};
\draw[blue](E) -- (A) node[pos=.5,left] {$a$};

\draw[fill] (A) circle (.6pt); 
\draw[fill] (B) circle (.6pt);
\draw[fill] (C) circle (.6pt);
\draw[fill] (D) circle (.6pt);
\draw[fill] (E) circle (.6pt);


\draw (1,-.9) node{$b=c=d=e$};
\draw (1,-1.6) node{$\widehat{B}+2\widehat{E}=2\widehat{C}+\widehat{D}=360^\circ$};
\end{tiny}


\end{tikzpicture}
};
\draw (4.5,7.5) node {%
%%%%%%Pentagon Type 8
\begin{tikzpicture}[line join=round,line width=1.2pt,scale=.4]
\begin{tiny}
\draw (0,0) coordinate (A) node[below] {$A$};
\draw ($ (A) + (0:22mm) $) coordinate (B) node[below] {$B$};
\draw ($(B)!22mm!-110:(A)$) coordinate (C) node[right] {$C$};
\draw ($(C)!22mm!-140:(B)$) coordinate (D) node [above] {$D$};
\draw ($(D)!22mm!-70:(C)$) coordinate (E) node [left] {$E$};

\draw[fill=yellow!20,yellow!20] (A) -- (B) -- (C) -- (D) -- (E) -- cycle;


\draw [pink] (A) -- (B) node[pos=.5,below] {$b$};
\draw [pink](B) -- (C) node[pos=.5,right] {$c$};
\draw [pink](C) -- (D) node[pos=.5,right] {$d$};
\draw [pink](D) -- (E) node[pos=.5,above left] {$e$};
\draw[blue](E) -- (A) node[pos=.5,left] {$a$};

\draw[fill] (A) circle (.6pt); 
\draw[fill] (B) circle (.6pt);
\draw[fill] (C) circle (.6pt);
\draw[fill] (D) circle (.6pt);
\draw[fill] (E) circle (.6pt);


\draw (1,-.9) node{$b=c=d=e$};
\draw (1,-1.6) node{$2\widehat{B}+\widehat{C}=\widehat{D}+2\widehat{E}=360^\circ$};
\end{tiny}


\end{tikzpicture}
};
\draw (7.5,7.5) node {%
%%%%%%Pentagon Type 9
\begin{tikzpicture}[line join=round,line width=1.2pt,scale=.4]
\begin{tiny}
\draw (0,0) coordinate (A) node[below] {$A$};
\draw ($ (A) + (0:25mm) $) coordinate (B) node[below] {$B$};
\draw ($(B)!25mm!-75:(A)$) coordinate (C) node[right] {$C$};
\draw ($(C)!25mm!-150:(B)$) coordinate (D) node [above] {$D$};
\draw ($(D)!25mm!-60:(C)$) coordinate (E) node [left] {$E$};

\draw[fill=yellow!20,yellow!20] (A) -- (B) -- (C) -- (D) -- (E) -- cycle;


\draw [pink] (A) -- (B) node[pos=.5,below] {$b$};
\draw [pink](B) -- (C) node[pos=.5,right] {$c$};
\draw [pink](C) -- (D) node[pos=.5,above right] {$d$};
\draw [pink](D) -- (E) node[pos=.5,left] {$e$};
\draw[blue](E) -- (A) node[pos=.5,left] {$a$};

\draw[fill] (A) circle (.6pt); 
\draw[fill] (B) circle (.6pt);
\draw[fill] (C) circle (.6pt);
\draw[fill] (D) circle (.6pt);
\draw[fill] (E) circle (.6pt);


\draw (1,-1) node{$b=c=d=e$};
\draw (1,-1.7) node{$2\widehat{A}+\widehat{C}=\widehat{D}+2\widehat{E}=360^\circ$};
\end{tiny}


\end{tikzpicture}
};


\draw (1.5,10.5) node {%
%%%%%%Pentagon Type 10
\begin{tikzpicture}[line join=round,line width=1.2pt,scale=.5]
\begin{tiny}
\draw (0,0) coordinate (A) node[below] {$A$};
\draw ($ (A) + (0:29.9mm) $) coordinate (B) node[below] {$B$};
\draw ($(B)!6mm!-110:(A)$) coordinate (C) node[right] {$C$};
\draw ($(C)!18mm!-125:(B)$) coordinate (D) node [right] {$D$};
\draw ($(D)!23mm!-145:(C)$) coordinate (E) node [above] {$E$};

\draw ($ (A) + (0:23mm) $) coordinate (AA);
\draw ($(A) + (90:6mm)$) coordinate (EE);

\draw[fill=yellow!20,yellow!20] (A) -- (B) -- (C) -- (D) -- (E) -- cycle;


\draw [pink] (A) -- (B) node[pos=.5,below] {$b$};
\draw [blue](B) -- (C) node[pos=.5,below right] {$c$};
\draw [pink](C) -- (D) node[pos=.5,right] {$d$};
\draw [pink](D) -- (E) node[pos=.5,above] {$e$};
\draw[white](E) -- (A) node[pos=.5,left] {\color{pink} $a$};


\draw[pink] (A) -- (AA);
\draw[blue] (B) -- (AA);
\draw (C) -- (D); 
\draw[pink] (D) -- (E);
\draw[pink] (E) -- (EE); 
\draw[blue] (A) -- (EE);

\draw[fill] (A) circle (.6pt); 
\draw[fill] (B) circle (.6pt);
\draw[fill] (C) circle (.6pt);
\draw[fill] (D) circle (.6pt);
\draw[fill] (E) circle (.6pt);

\draw[fill] (AA) circle (.6pt);
\draw[fill] (EE) circle (.6pt);

\draw (1.3,-.9) node{$a=b=c+e$};
\draw (1.3,-1.55) node{$\widehat{A}=90^\circ,\;\widehat{B}+\widehat{E}=180^\circ$};
\draw (1.3,-2.2) node{
$\widehat{B}+2\widehat{C}=360^\circ$};
\end{tiny}


\end{tikzpicture}

};
\draw (4.5,10.5) node {%
%%%%%%Pentagon Type 11
\begin{tikzpicture}[line join=round,line width=1.2pt,scale=.7]
\begin{tiny}
\draw (0,0) coordinate (A) node[below] {$A$};
\draw ($ (A) + (0:23.4mm) $) coordinate (B) node[below] {$B$};
\draw ($(B)!9mm!-150:(A)$) coordinate (C) node[right] {$C$};
\draw ($(C)!18mm!-60:(B)$) coordinate (D) node [above] {$D$};
\draw ($(D)!18mm!-120:(C)$) coordinate (E) node [above] {$E$};


\draw ($(C)!9mm!-60:(B)$) coordinate (CC);
\draw ($(CC)!4.5mm!0:(D)$ ) coordinate (CCC);
\draw ($(D)!4.5mm!0:(E)$) coordinate (DD);
\draw ($(DD)!4.5mm!0:(E)$) coordinate (DDD);



\draw[fill=yellow!20,yellow!20] (A) -- (B) -- (C) -- (D) -- (E) -- cycle;


\draw (A) -- (B) node[pos=.5,below] {$b$};
\draw [pink](B) -- (C) node[pos=.5,below right] {$c$};
\draw [pink](C) -- (D) node[pos=.5,above] {$d$};
\draw [pink](D) -- (E) node[pos=.5,above] {$e$};
\draw[blue](E) -- (A) node[pos=.5,left] {$a$};


\draw[blue] (D) -- (DD);
\draw[blue] (DDD) -- (DD);
\draw[blue] (CC) -- (CCC);
\draw[blue] (CCC) -- (D);


\draw[fill] (A) circle (.6pt); 
\draw[fill] (B) circle (.6pt);
\draw[fill] (C) circle (.6pt);
\draw[fill] (D) circle (.6pt);
\draw[fill] (E) circle (.6pt);






\draw[fill] (CC) circle (.6pt);
\draw[fill] (CCC) circle (.6pt);
\draw[fill] (DD) circle (.6pt);
\draw[fill] (DDD) circle (.6pt); 



\draw (1.5,-.8) node {$2a+c=d=e$ };
\draw (1.5,-1.45) node {$\widehat{A}=90^\circ,\;2\widehat{B}+\widehat{C}=360^\circ$};
\draw (1.5,-2.1) node {$\widehat{C}+\widehat{E}=180^\circ$};
\end{tiny}


\end{tikzpicture}
};
\draw (7.5,10.5) node {%
%%%%%%Pentagon Type 12
\begin{tikzpicture}[line join=round,line width=1.2pt,scale=.6]
\begin{tiny}
\draw (0,0) coordinate (A) node[below] {$A$};
\draw ($ (A) + (0:15mm) $) coordinate (B) node[below] {$B$};
\draw ($(B)!17mm!-155:(A)$) coordinate (C) node[right] {$C$};
\draw ($(C)!26mm!-50:(B)$) coordinate (D) node [above] {$D$};
\draw ($(D)!9mm!-115:(C)$) coordinate (E) node [left] {$E$};

\draw ($(C)!17mm! 0:(D)$) coordinate (CC);


\draw[fill=yellow!20,yellow!20] (A) -- (B) -- (C) -- (D) -- (E) -- cycle;


\draw  (A) -- (B) node[pos=.5,below] {$b$};
\draw [pink](B) -- (C) node[pos=.5,below] {$c$};
\draw [pink](C) -- (D) node[pos=.5,above] {$d$};
\draw [pink](D) -- (E) node[pos=.5,above left] {$e$};
\draw[green](E) -- (A) node[pos=.5,left] {$a$};

\draw[pink] (C) -- (CC);
\draw[blue] (CC) -- (D);
\draw[blue] (D) -- (E);


\draw[fill] (A) circle (.6pt); 
\draw[fill] (B) circle (.6pt);
\draw[fill] (C) circle (.6pt);
\draw[fill] (D) circle (.6pt);
\draw[fill] (E) circle (.6pt);

\draw[fill] (CC) circle (.6pt);

\draw (1.4,-.9) node{$2a=d=c+e$};
\draw (1.4,-1.55) node{$\widehat{A}=90^\circ,\;2\widehat{B}+\widehat{C}=360^\circ$}; 
\draw (1.4,-2.2) node{$\widehat{C}+\widehat{E}=180^\circ$};
\end{tiny}


\end{tikzpicture}
};


\draw (1.5,13.5) node {%
%%%%%%Pentagon Type 13
\begin{tikzpicture}[line join=round,line width=1.2pt,scale=.6]
\begin{tiny}
\draw (0,0) coordinate (A) node[below] {$A$};
\draw ($ (A) + (0:25mm) $) coordinate (B) node[below] {$B$};
\draw ($(B)!4.5mm!-90:(A)$) coordinate (C) node[above] {$C$};
\draw ($(C)!24mm!-120:(B)$) coordinate (D) node [above] {$D$};
\draw ($(D)!12mm!-120:(C)$) coordinate (E) node [left] {$E$};

\draw ($(C)!12mm!0:(D)$) coordinate (CC);

\draw[fill=yellow!20,yellow!20] (A) -- (B) -- (C) -- (D) -- (E) -- cycle;


\draw  (A) -- (B) node[pos=.5,below] {$b$};
\draw [blue](B) -- (C) node[pos=.5,right] {$c$};
\draw [pink](C) -- (D) node[pos=.5,above] {$d$};
\draw [pink](D) -- (E) node[pos=.5,above] {$e$};
\draw[pink](E) -- (A) node[pos=.5,below left] {$a$};

\draw[fill] (A) circle (.6pt); 
\draw[fill] (B) circle (.6pt);
\draw[fill] (C) circle (.6pt);
\draw[fill] (D) circle (.6pt);
\draw[fill] (E) circle (.6pt);

\draw[fill] (CC) circle (.6pt);

\draw (1,-.9) node{$d=2a=2e$};
\draw (1,-1.55) node{$\widehat{B}=\widehat{E}=90^\circ$};
\draw (1,-2.2) node{$2\widehat{A}+\widehat{D}=360^\circ$};
\end{tiny}


\end{tikzpicture}
};
\draw (4.5,13.5) node {%
%%%%%%Pentagon Type 14
\begin{tikzpicture}[line join=round,line width=1.2pt,scale=.6]
\begin{tiny}
\draw (0,0) coordinate (A) node[below] {$A$};
\draw ($ (A) + (0:24.3mm) $) coordinate (B) node[below] {$B$};
\draw ($(B)!9mm!-145.34:(A)$) coordinate (C) node[right] {$C$};
\draw ($(C)!18mm!-69.32:(B)$) coordinate (D) node [above] {$D$};
\draw ($(D)!18mm!-124.66:(C)$) coordinate (E) node [left] {$E$};

\draw[fill=yellow!20,yellow!20] (A) -- (B) -- (C) -- (D) -- (E) -- cycle;

\draw ($(E)!9mm!0:(D)$) coordinate (EE);
\draw ($(D)!9mm!0:(C)$) coordinate (DD);

\draw (A) -- (B) node[pos=.5,below] {$b$};
\draw [pink](B) -- (C) node[pos=.5,below right] {$c$};
\draw [pink](C) -- (D) node[pos=.5,above] {$d$};
\draw [pink](D) -- (E) node[pos=.5,above] {$e$};
\draw[blue](E) -- (A) node[pos=.5,left] {$a$};

\draw[fill] (A) circle (.6pt); 
\draw[fill] (B) circle (.6pt);
\draw[fill] (C) circle (.6pt);
\draw[fill] (D) circle (.6pt);
\draw[fill] (E) circle (.6pt);

\draw[fill] (EE) circle (.6pt);
\draw[fill] (DD) circle (.6pt);


\draw (1.4,-.9) node{$2a=2c=d=e,\,\widehat{A}=90^\circ$};
\draw (1.4,-1.55) node{$\widehat{B}\simeq 145.34^\circ,\, 
\widehat{C}\simeq 69.32^\circ$};
\draw (1.4,-2.2) node{$
 \widehat{D}\simeq 124.66^\circ,\, 
\widehat{E}\simeq 110.68^\circ$
%%(2\widehat{B}+\widehat{C}=360^\circ,\; \widehat{C}+\widehat{E}=180^\circ)
};
\end{tiny}


\end{tikzpicture}
};
\draw (7.5,13.5) node {%
%%%%%%Pentagon Type 15
\begin{tikzpicture}[line join=round,line width=1.2pt,scale=.6]
\begin{tiny}
\draw (0,0) coordinate (A) node[below] {$A$};
\draw ($ (A) + (0:21mm) $) coordinate (B) node[below] {$B$};
\draw ($(B)!10.5mm!-60:(A)$) coordinate (C) node[right] {$C$};
\draw ($(C)!21mm!-135:(B)$) coordinate (D) node [above] {$D$};
\draw ($(D)!10.5mm!-105:(C)$) coordinate (E) node [left] {$E$};

\draw ($(A)!10.5mm!0:(B)$) coordinate (AA);


\draw[fill=yellow!20,yellow!20] (A) -- (B) -- (C) -- (D) -- (E) -- cycle;


\draw [pink] (A) -- (B) node[pos=.5,below] {$b$};
\draw [pink](B) -- (C) node[pos=.5,right] {$c$};
\draw [blue](C) -- (D) node[pos=.5,above] {$d$};
\draw [pink](D) -- (E) node[pos=.5,left] {$e$};
\draw[pink](E) -- (A) node[pos=.5,below left] {$a$};

\draw[fill] (A) circle (.6pt); 
\draw[fill] (B) circle (.6pt);
\draw[fill] (C) circle (.6pt);
\draw[fill] (D) circle (.6pt);
\draw[fill] (E) circle (.6pt);

\draw[fill] (AA) circle (.6pt);

\draw (.7,-.9) node{$a=c=e,\;b=2a$};
\draw (.7,-1.55) node{$
\widehat{E}=90^\circ,
\widehat{A}=150^\circ,
\widehat{B}=60^\circ$};
\draw (.7,-2.2) node{$
\widehat{C}=135^\circ,\;\widehat{D}=105^\circ$};
\end{tiny}
\end{tikzpicture}
};    
\end{tikzpicture}

\end{document}

enter image description here

8

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

7

A page from class notes I used to teach differential equations. Figure created with pgfplots. Colors are easily matched with color definitions. Done with a humble experience/knowledge in LaTeX. Pure LaTeX greatness!

class notes

  • 1
    Nice! Is the source available? – Paul Gessler Mar 30 '15 at 11:51
  • For 'pgfplots'? – jak123 Mar 30 '15 at 13:26
7

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

example1 example2

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

  • That is indeed so much color. Hm. – henry Nov 30 '18 at 8:23
7

A few years ago I struggled with the problem of annotating Byron's comic masterpiece "Don Juan". I finally managed to torture the Memoir class sufficiently to produce the attached. Beautiful? The only reason I claim your attention is because I've never seen an adequate annotation of extended verse (in terra-rima stanzas or in any other format). My objective was, once, to emulate the fabulous Isaac Asimov annotation (Doubleday, 1972. Illus. Milton Glaser). But, in a way, I'm content that wonderful work remains non-pareil. enter image description here enter image description here

The annotated Canto III (pdf, 2.1mb) is here

6

Here's an example from a series of posters I designed, displaying quotes about science. The posters all have the same basic design and are to be printed on A3 paper.

Poster

  • Interesting quote! is there a link to the source/list of quotes? – Tássio Sep 29 '17 at 14:52
5

I am a member of the National University of Singapore Astronomical Society, and we hold competitions for secondary and pre-university students. I typeset the exam papers for this year's iteration. The preamble is admittedly extremely messy, with plenty of possibly unnecessary code, but the product looks good. The exam class was used to great effect.

Nearly every single diagram was hand-coded in separate .tikz files, compiled and imported in; I am especially pleased with the diagrams for the bielliptical transfer and orbital parameters: enter image description here

enter image description here

3

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

  • Very nice, but I can't find the LaTeX package anywhere in the site. – Hugo Sereno Ferreira Feb 7 '11 at 1:00
  • 1
    I don't like the design of the journal: The font is harder to read and misses good sans-serif variant, moreover e.g. the usage of italics in section headers makes the font significantly inconsistent. Generally, I think that unwise changes of the font faces does not make the design any better. (This is just my opinion, I don't say that someone made a wrong template, I just point out some issues I see there.) – yo' Jul 4 '12 at 9:49
3

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.

  • Is there any reason to believe this was produced with TeX? – cfr Jan 3 '15 at 3:02
  • The editors say so in the book's colophon, which unfortunately is not available in google books anymore (by the time I posted it, the whole book was available). There's another pocket book from the same collection (a collection of short stories by Ryūnosuke Akutagawa) available at download.uol.com.br/diversao/…. The chief editor was very active in the old brazilian tex mailing list (TeX-BR) also. – henrique Jan 3 '15 at 21:00
  • Interesting. Thanks for replying. I just couldn't tell from what the link showed me which was basically the front cover! – cfr Jan 3 '15 at 22:10
3

Easy. The TeX showcase from the TeX Users' Group.

3

Is this the shameless plug place? Ok then! Here's my PhD thesis which, 4+ years later, I am still happy with the way it turned out. Style is available here. It's an amalgamation of different things I got off the interwebs and tweaked when procrastinating.

  • would you please give us a template or part of the code you used in your Thesis. I looks really nice. – Mauramz Feb 12 '15 at 18:45
  • 1
    Overall is a nice design, but I think you have been too brave using illuminated capitals at start of chapters in a computer science thesis! I beat that this was a bit controversial with your advisor ;) – TeXtnik Feb 13 '15 at 11:44
  • 1
    @zunbeltz Not really. Even the examiners were pretty pleased with it aesthetically (as well as content wise!). – Yehia Feb 13 '15 at 14:14
  • @Yehia Good for you! Maybe I will try to use them in my tech reports ;) – TeXtnik Feb 13 '15 at 20:15
3

Philip A. Ebert and Marcus Rossberg's translation of Frege's Grundgesetze der Arithmetik features some of the most complex notation devised. The TeX source is not available, but one can view much of the work on the "preview" link at the OUP page for the book.

Edited by Ben McKay: Here is a little sample (which won't give us copyright problems, as it is fair use): enter image description here

  • Could you please add an image? – user156344 Dec 4 '18 at 16:43
  • I have included a link for the interested reader, copying an image from there might have copyright implication, so I have not done so. – J.J. Green Dec 4 '18 at 16:58
  • 2
    I think one or two pages would probably be fine? Those proof trees seem fancy. – Circumscribe Jan 15 at 9:25
2

How about sesamath's book class ?https://www.ctan.org/tex-archive/macros/latex/contrib/sesamanuel

Available with texdoc sesamath on distributions such as TeX Live

2

We recently created a LaTeX package for the Physics branch of my student union (at KTH, the Royal Institute of Technology in Stockholm, Sweden) that allows anyone to typeset a document in compliance with our graphical profile. The code is quite messy, but except for the implementation listing at the end (which will change when we move to dtx deployment in the next release) I'm quite happy with the output it produces.

fstil.pdf

Both the package code, the examples and the output pdf are available on Github.

2

This is a preprint of an article I am working on, which makes use of the wonderful (but sadly defunct) tufte-latex and its tufte-handout class, together with the pgfpages package. It's rather simplistic, but given the few modifications made, the result is quite nice and clean. Just wanted to post this an example of what can be achieved without being a LaTeX templating guru, but still looks distinguishably different from the standard templates, thanks to the great work of others.

The article is available on github if anyone wants to dive into the code.

First page Second page Third page

  • I am not fond of Tufte's use of margin figures. The reader may find it difficult to know in what order to read the material. I prefer to put the illustrations into the flow of the text as much as possible. Your example doesn't suffer from this problem, but most people who follow Tufte have that problem. – Benjamin McKay Jan 31 at 20:29
  • @BenjaminMcKay: how does that differ from standard LaTeX's floats, though? If the figure is labeled Figure n, and you refer to it as such in the text, I fail to see the problem. The output looks absolutely beautiful, but I wonder if the lines are on grid. – morbusg Jan 31 at 22:37
  • I edited the post and added a link to the github page where the code for the article can be found. – Lars Rönnbäck Feb 1 at 1:58
  • @morbusg: I agree; LaTeX's floats give a similar problem, but Tufte's style encourages large numbers of margin figures. Large numbers of floats would have the same problem, but people usually don't have very many floats. – Benjamin McKay Feb 1 at 11:45
1

I'd like to add Leon Harkleroad's The Math Behind The Music, an impressive example of fine page layout.

  • 16
    Could you please add an image? – Martin Thoma Jul 18 '13 at 10:26
0

An example of combining 4 graphs from different datasheets results in this:

enter image description here

If there is any interest in it, I will post de tex file.

-4
\PassOptionsToPackage{dvipsnames,table,svgnames,xcdraw,showerrors}{xcolor}
\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage{xcolor}  % Allows the definition of hex colors}
\usepackage{pst-blur}
\usepackage{pst-circ}
\usepackage{pst-tree}
\usepackage{fp}
\usepackage{hyperref}
\usepackage{geometry}
\geometry{paper=a4paper,left=25mm,right=25mm,top=5mm,bottom=15mm,includeheadfoot}

\xdefinecolor{dunkelgrau}{rgb}{0.8,0.8,0.8}
\xdefinecolor{hellgrau}{rgb}{0.95,0.95,0.95}

                \def\PSBB#1#2{\begin{pspicture}(#2,0.40)%
                \psTextFrame[blur=true, shadow=true,fillcolor=hellgrau,fillstyle=solid,linecolor=black,framearc=0.3](0,0)(#2,0.40){%
                    \shortstack{\tiny{#1}}}\end{pspicture}
                    }%
                %
                % \def\psedge{\ncdiag[armA=0cm,angleB=180,armB=1cm]}
                \def\PSBF#1#2#3{\begin{pspicture}(#2,0.40)%
                \psTextFrame[blur=true, blursteps=50, shadow=true,fillcolor=#3,fillstyle=solid,linecolor=black,framearc=0.3](0,0)(#2,0.40){%
                    \shortstack{\tiny{#1}}}\end{pspicture}
                    }%


\parindent=0pt
% \usepackage{syntonly} \syntaxonly
\begin{document}
\tableofcontents
\section{morewrites}
\label{sec:morewrites}
\begin{itemize}
\item Parent: None
\item Children: expl3, primargs, atbegshi
\end{itemize}
\multido{\r=100+-5}{1}
{
    \begin{pspicture}(9,-2.0)(26,1.85)
        \rput(30.25,0.5){%
            \begin{pspicture*}(9,-2.0)(26,1.85)
            %
            % \xdefinecolor{treedesigncolor}{rgb}{1,0,0}
                %
                % \xdefinecolor{treelightgrey}{RGB}{0,191,255}
                %
                \FPset\armAsepvalue{0.35}
                \FPset\armBsepvalue{0.35}
                \FPset\angelAvalue{180}
                \FPset\angelBvalue{180}
                %
                %armAsepvalue
                \FPset\armAsepvalue{0.45}
                \FPset\armBsepvalue{0.45}
                \FPset\angelAvalue{180}
                \FPset\angelBvalue{180}
                %
                \FPset\rootlevelsep{1.2}
                \FPset\onelevelsepv{0.9}
                \FPset\twolevelsepv{0.5}
                \FPset\threelevelsepv{0.0}
                \FPset\fourlevelsepv{0.0}
                \FPset\fivelevelsepv{-0.5}
                \FPset\sixlevelsepv{0.4}
                \FPset\sevenlevelsepv{0.4}
                \FPset\distfactor{0.5}
                \FPset\defaultsz{2.85}
                \FPset\levelzero{2.25}
                \FPset\levelzerob{3.05}
                \FPset\rootlevelsepva{4.05}
                % \FPset\rootlevelsepva{0.0}
                \FPset\onelevelsepva{3.65}
                \FPset\twolevelsepva{3.65}
                \FPset\threelevelsepva{3.65}
                \FPset\fourlevelsepva{3.65}
                \FPset\fivelevelsepva{3.65}
                \FPset\sixlevelsepva{3.65}
                \FPset\levelone{2.85}
                \FPset\leveloneb{3.05}
                \FPset\leveltwo{3.45}
                \FPset\leveltwob{2.55}
                \FPset\levelthree{4.75}
                \FPset\levelthreeb{4.25}
                \FPset\levelfour{5.55}
                \FPset\levelfourb{2.05}
                \FPset\levelfive{3.65}
                \FPset\levelsix{3.05}
                \FPset\levelseven{2.55}
                \FPset\leveleight{7.65}
                \FPset\levelfiveb{2.35}
                %
                \FPset\levelonestamp{3.75}
                \FPset\leveltwostamp{3.25}
                \FPset\levelthreestamp{3.25}
                \FPset\levelfourstamp{3.25}
                %
                %onelevelsepastamp
                \FPset\onelevelsepastampA{4.85}
                \FPset\twolevelsepastampA{7.85}
                %
                \FPset\onelevelsepastamp{4.85}
                \FPset\twolevelsepastamp{7.85}
                \FPset\threelevelsepastamp{9.85}
                %
                \FPupn{onelevelsepastamp}{levelonestamp 2 + 2 round}
                \FPupn{twolevelsepastamp}{leveltwostamp 2 + 2 round}
                %
                %
                \FPupn{twolevelsepastampt}{twolevelsepastamp 5.5 + 2 round}
                \FPupn{armAsepvaluet}{armAsepvalue 5.5 + 2 round}
                %
                \FPupn{rootlevelsepa}{rootlevelsep distfactor + 2 round}
                \FPupn{defaultsza}{defaultsz 1.15 + distfactor + 2 round}
                \FPupn{onelevelsep}{rootlevelsep onelevelsepv - neg 2 round}
                \FPupn{onelevelsepa}{levelone onelevelsep + armAsepvalue + armBsepvalue + distfactor + 2 round}
                %
                \FPupn{twolevelsep}{onelevelsep twolevelsepv  - neg 2 round}
                \FPupn{twolevelsepa}{leveltwo twolevelsep + armAsepvalue + armBsepvalue + distfactor + 2 round}
                % \FPset\signsz{3.05}
                %
                \FPupn{threelevelsep}{twolevelsep threelevelsepv  - neg 2 round}
                \FPupn{threelevelsepa}{levelthree threelevelsep + armAsepvalue + armBsepvalue + distfactor + 2 round}
                %
                \FPupn{fourlevelsep}{threelevelsep fourlevelsepv  - neg 2 round}
                \FPupn{fourlevelsepa}{levelfour fourlevelsep + armAsepvalue + armBsepvalue + distfactor + 2 round}
                %
                %
                \FPupn{fivelevelsep}{fourlevelsep fivelevelsepv  - neg 2 round}
                \FPupn{fivelevelsepa}{levelfive fivelevelsep + armAsepvalue + armBsepvalue + distfactor + 2 round}
                %
                % A3
                \FPupn{sixlevelsep}{fivelevelsep sixlevelsepv  - neg 2 round}
                \FPupn{sixlevelsepa}{levelsix sixlevelsep + armAsepvalue + armBsepvalue + distfactor + 2 round}
                %
                %
                %
                \FPupn{sevenlevelsep}{sixlevelsep sevenlevelsepv  - neg 2 round}
                \FPupn{sevenlevelsepa}{levelseven sevenlevelsep + armAsepvalue + armBsepvalue + distfactor + 2 round}
                %
                % Second Rootnode
                \FPupn{rootlevelsepaa}{rootlevelsepva distfactor + 2 round}
                \FPupn{onelevelsepaaa}{rootlevelsepva onelevelsepva - neg 2 round}
                \FPupn{onelevelsepaab}{leveloneb onelevelsepaaa + armAsepvalue + armBsepvalue + distfactor + 2 round}
                % \onelevelsepaab
                %
                %
                \FPupn{twolevelsepaaa}{onelevelsepva twolevelsepva - neg 2 round}
                \FPupn{twolevelsepaab}{leveltwob twolevelsepaaa + armAsepvalue + armBsepvalue + distfactor + 2 round}
                %
                %
                %
                \FPupn{threelevelsepaaa}{twolevelsepva threelevelsepva - neg 2 round}
                \FPupn{threelevelsepaab}{levelthreeb threelevelsepaaa + armAsepvalue + armBsepvalue + distfactor + 2 round}
                %
                \FPupn{fourlevelsepaaa}{threelevelsepva fourlevelsepva - neg 2 round}
                \FPupn{fourlevelsepaab}{levelfourb fourlevelsepaaa + armAsepvalue + armBsepvalue + distfactor + 2 round}
                %
                %
                \def\psedge{\ncdiag[armA=\armAsepvalue cm,angleB=\angelBvalue,armB=\armBsepvalue cm]}
                \pstree[treemode=R,levelsep=\onelevelsepastamp cm,treesep=0.15cm]{\Tr[ref=lc]{%
                    \PSBB{\nameref{sec:morewrites}.sty [2013/01/08] 0.2e}{\levelonestamp}\pnode(0,0.20){morewrites}{}}}
                        {
                        \def\pspred{morewrites}%
                            \pstree[treemode=R,levelsep=\twolevelsepastamp cm,treesep=0.15cm]{\Tr[ref=lc]{%
                                \PSBB{\textbf{R} expl3.sty [2012/08/14]}{\leveltwostamp}\pnode(0,0.20){expl3}{}}}%
                                    {%
                                    % \def\pspred{expl3}\Tr[ref=lc]{\PSBB{Tätigkeit}{\levelthreestamp}}
                                    % \def\pspred{expl3}\Tr[ref=lc]{\PSBB{Rechtsform}{\levelthreestamp}}
                                    % \def\pspred{expl3}\Tr[ref=lc]{\PSBB{Eintragung}{\levelthreestamp}}
                                    % \def\pspred{expl3}\Tr[ref=lc]{\PSBB{Normative Kraft der Zeit}{\levelthreestamp}}
                                    }%
                        %
                        \def\pspred{morewrites}%
                            \pstree[treemode=R,levelsep=\twolevelsepastamp cm,treesep=0.15cm]{\Tr[ref=lc]{%
                                \PSBB{\textbf{R} primargs.sty [2013/01/08]}{\leveltwostamp}\pnode(0,0.20){primeargs}{}}}%
                                    {%
                                    \def\pspred{primeargs}\Tr[ref=lc]{\PSBB{expl3.sty [2012/08/14]}{\levelthreestamp}}
                                    % \def\pspred{primeargs}\Tr[ref=lc]{\PSBB{Rechtsform}{\levelthreestamp}}
                                    % \def\pspred{primeargs}\Tr[ref=lc]{\PSBB{Eintragung}{\levelthreestamp}}
                                    %
                                    }%
                        %[2010/04/08
                        \def\pspred{morewrites}%
                            \pstree[treemode=R,levelsep=\twolevelsepastamp cm,treesep=0.15cm]{\Tr[ref=lc]{%
                                \PSBB{\textbf{O} atbegshi.sty [2011/10/05]}{\leveltwostamp}\pnode(0,0.20){atbegshi}{}}}%
                                    {%
                                    \def\pspred{atbegshi}\Tr[ref=lc]{\PSBB{infwarerr.sty [2007/09/09]}{\levelthreestamp}}
                                    \def\pspred{atbegshi}\Tr[ref=lc]{\PSBB{\nameref{subsec:ltxcmds}.sty \textcolor{red}{[2010/03/01]}}{\levelthreestamp}}
                                    \def\pspred{atbegshi}\Tr[ref=lc]{\PSBB{\nameref{subsec:ifpdf}.sty \textcolor{red}{[2011/01/30]}}{\levelthreestamp}}
                                    %[2011/01/30]
                                    }%
                                    % \def\pspred{morewrites}%
                            % \pstree[treemode=R,levelsep=\twolevelsepastamp cm,treesep=0.15cm]{\Tr[ref=lc]{%
                                % \PSBF{Schuldrecht}{\leveltwostamp}{Cyan}{}}}{}
                        %
                        % \def\pspred{morewrites}
                            % \pstree[treemode=R,levelsep=\twolevelsepastamp cm,treesep=0.15cm]{\Tr[ref=lc]{%
                                % \PSBB{Familienrecht}{\leveltwostamp}{}}}{}
                        %
                        % \def\psedge{\ncdiag[armA=\armAsepvalue cm,angleB=\angelBvalue,armB=\armBsepvalue cm]}
                        %
                        % \def\pspred{morewrites}
                            % \pstree[treemode=R,levelsep=\twolevelsepastamp cm,treesep=0.15cm]{\Tr[ref=lc]{%
                                % \PSBB{Erbrecht}{\leveltwostamp}{}}}{}%
                        %
                        }
            \end{pspicture*}
        }
    \end{pspicture}
}
\subsection{ltxcmds}
\label{subsec:ltxcmds}
\begin{itemize}
\item Parent: atbegshi
\item Children: eolgrab
\end{itemize}
\multido{\r=100+-5}{1}
{
    \begin{pspicture}(9,-0.67)(26,1.85)
        \rput(30.25,0.75){%
            \begin{pspicture*}(9,-0.67)(26,1.85)
            %
            % \xdefinecolor{treedesigncolor}{rgb}{1,0,0}
                %
                % \xdefinecolor{treelightgrey}{RGB}{0,191,255}
                %
                \FPset\armAsepvalue{0.35}
                \FPset\armBsepvalue{0.35}
                \FPset\angelAvalue{180}
                \FPset\angelBvalue{180}
                %
                %armAsepvalue
                \FPset\armAsepvalue{0.45}
                \FPset\armBsepvalue{0.45}
                \FPset\angelAvalue{180}
                \FPset\angelBvalue{180}
                %
                \FPset\rootlevelsep{1.2}
                \FPset\onelevelsepv{0.9}
                \FPset\twolevelsepv{0.5}
                \FPset\threelevelsepv{0.0}
                \FPset\fourlevelsepv{0.0}
                \FPset\fivelevelsepv{-0.5}
                \FPset\sixlevelsepv{0.4}
                \FPset\sevenlevelsepv{0.4}
                \FPset\distfactor{0.5}
                \FPset\defaultsz{2.85}
                \FPset\levelzero{2.25}
                \FPset\levelzerob{3.05}
                \FPset\rootlevelsepva{4.05}
                % \FPset\rootlevelsepva{0.0}
                \FPset\onelevelsepva{3.65}
                \FPset\twolevelsepva{3.65}
                \FPset\threelevelsepva{3.65}
                \FPset\fourlevelsepva{3.65}
                \FPset\fivelevelsepva{3.65}
                \FPset\sixlevelsepva{3.65}
                \FPset\levelone{2.85}
                \FPset\leveloneb{3.05}
                \FPset\leveltwo{3.45}
                \FPset\leveltwob{2.55}
                \FPset\levelthree{4.75}
                \FPset\levelthreeb{4.25}
                \FPset\levelfour{5.55}
                \FPset\levelfourb{2.05}
                \FPset\levelfive{3.65}
                \FPset\levelsix{3.05}
                \FPset\levelseven{2.55}
                \FPset\leveleight{7.65}
                \FPset\levelfiveb{2.35}
                %
                \FPset\levelonestamp{3.75}
                \FPset\leveltwostamp{3.25}
                \FPset\levelthreestamp{3.25}
                \FPset\levelfourstamp{3.25}
                %
                %onelevelsepastamp
                \FPset\onelevelsepastampA{4.85}
                \FPset\twolevelsepastampA{7.85}
                %
                \FPset\onelevelsepastamp{4.85}
                \FPset\twolevelsepastamp{7.85}
                \FPset\threelevelsepastamp{9.85}
                %
                \FPupn{onelevelsepastamp}{levelonestamp 2 + 2 round}
                \FPupn{twolevelsepastamp}{leveltwostamp 2 + 2 round}
                %
                %
                \FPupn{twolevelsepastampt}{twolevelsepastamp 5.5 + 2 round}
                \FPupn{armAsepvaluet}{armAsepvalue 5.5 + 2 round}
                %
                \FPupn{rootlevelsepa}{rootlevelsep distfactor + 2 round}
                \FPupn{defaultsza}{defaultsz 1.15 + distfactor + 2 round}
                \FPupn{onelevelsep}{rootlevelsep onelevelsepv - neg 2 round}
                \FPupn{onelevelsepa}{levelone onelevelsep + armAsepvalue + armBsepvalue + distfactor + 2 round}
                %
                \FPupn{twolevelsep}{onelevelsep twolevelsepv  - neg 2 round}
                \FPupn{twolevelsepa}{leveltwo twolevelsep + armAsepvalue + armBsepvalue + distfactor + 2 round}
                % \FPset\signsz{3.05}
                %
                \FPupn{threelevelsep}{twolevelsep threelevelsepv  - neg 2 round}
                \FPupn{threelevelsepa}{levelthree threelevelsep + armAsepvalue + armBsepvalue + distfactor + 2 round}
                %
                \FPupn{fourlevelsep}{threelevelsep fourlevelsepv  - neg 2 round}
                \FPupn{fourlevelsepa}{levelfour fourlevelsep + armAsepvalue + armBsepvalue + distfactor + 2 round}
                %
                %
                \FPupn{fivelevelsep}{fourlevelsep fivelevelsepv  - neg 2 round}
                \FPupn{fivelevelsepa}{levelfive fivelevelsep + armAsepvalue + armBsepvalue + distfactor + 2 round}
                %
                % A3
                \FPupn{sixlevelsep}{fivelevelsep sixlevelsepv  - neg 2 round}
                \FPupn{sixlevelsepa}{levelsix sixlevelsep + armAsepvalue + armBsepvalue + distfactor + 2 round}
                %
                %
                %
                \FPupn{sevenlevelsep}{sixlevelsep sevenlevelsepv  - neg 2 round}
                \FPupn{sevenlevelsepa}{levelseven sevenlevelsep + armAsepvalue + armBsepvalue + distfactor + 2 round}
                %
                % Second Rootnode
                \FPupn{rootlevelsepaa}{rootlevelsepva distfactor + 2 round}
                \FPupn{onelevelsepaaa}{rootlevelsepva onelevelsepva - neg 2 round}
                \FPupn{onelevelsepaab}{leveloneb onelevelsepaaa + armAsepvalue + armBsepvalue + distfactor + 2 round}
                % \onelevelsepaab
                %
                %
                \FPupn{twolevelsepaaa}{onelevelsepva twolevelsepva - neg 2 round}
                \FPupn{twolevelsepaab}{leveltwob twolevelsepaaa + armAsepvalue + armBsepvalue + distfactor + 2 round}
                %
                %
                %
                \FPupn{threelevelsepaaa}{twolevelsepva threelevelsepva - neg 2 round}
                \FPupn{threelevelsepaab}{levelthreeb threelevelsepaaa + armAsepvalue + armBsepvalue + distfactor + 2 round}
                %
                \FPupn{fourlevelsepaaa}{threelevelsepva fourlevelsepva - neg 2 round}
                \FPupn{fourlevelsepaab}{levelfourb fourlevelsepaaa + armAsepvalue + armBsepvalue + distfactor + 2 round}
                %
                %\RequirePackage{eolgrab}[2011/01/12]%
                %
                \def\psedge{\ncdiag[armA=\armAsepvalue cm,angleB=\angelBvalue,armB=\armBsepvalue cm]}
                \pstree[treemode=R,levelsep=\onelevelsepastamp cm,treesep=0.15cm]{\Tr[ref=lc]{%
                    \PSBB{\nameref{subsec:ltxcmds}.sty \textcolor{red}{\rnode{B}{[2010/03/01]}}}{\levelonestamp}\pnode(0,0.20){ltxcmds}{}}}
                        {
                        \def\pspred{ltxcmds}%
                            \pstree[treemode=R,levelsep=\twolevelsepastamp cm,treesep=0.15cm]{\Tr[ref=lc]{%
                                \PSBB{\textbf{R} eolgrab.sty [2011/01/12]}{\leveltwostamp}\pnode(0,0.20){eolgrab}{}}}%
                                    {%
                                    \def\pspred{eolgrab}\Tr[ref=lc]{\PSBB{\textbf{R} \nameref{subsec:ltxcmds}.sty \textcolor{red}{\rnode{A}{[2010/12/04]}}}{\levelthreestamp}}
                                    \def\pspred{eolgrab}\Tr[ref=lc]{\PSBB{\textbf{R} infwarerr.sty \textcolor{red}{[2010/04/08]}}{\levelthreestamp}}
                                    % \def\pspred{expl3}\Tr[ref=lc]{\PSBB{Eintragung}{\levelthreestamp}}
                                    % \def\pspred{expl3}\Tr[ref=lc]{\PSBB{Normative Kraft der Zeit}{\levelthreestamp}}
                                    }%[2010/04/08]
                        %  \RequirePackage{ltxcmds}[2010/12/04]%
  % \RequirePackage{infwarerr}[2010/04/08]%
                        %
                                    % \def\pspred{morewrites}%
                            % \pstree[treemode=R,levelsep=\twolevelsepastamp cm,treesep=0.15cm]{\Tr[ref=lc]{%
                                % \PSBF{Schuldrecht}{\leveltwostamp}{Cyan}{}}}{}
                        %
                        % \def\pspred{morewrites}
                            % \pstree[treemode=R,levelsep=\twolevelsepastamp cm,treesep=0.15cm]{\Tr[ref=lc]{%
                                % \PSBB{Familienrecht}{\leveltwostamp}{}}}{}
                        %
                        % \def\psedge{\ncdiag[armA=\armAsepvalue cm,angleB=\angelBvalue,armB=\armBsepvalue cm]}
                        %
                        % \def\pspred{morewrites}
                            % \pstree[treemode=R,levelsep=\twolevelsepastamp cm,treesep=0.15cm]{\Tr[ref=lc]{%
                                % \PSBB{Erbrecht}{\leveltwostamp}{}}}{}%
                        %
                        }
                        \nccurve[angleB=135,angleA=50,linecolor=red]{<->}{A}{B}
                        % \ncbar[angleB=90,offsetA=-4pt]{<->}{A}{B}
                        % \pccurve[angleB=135,angleA=50]{<->}{A}{B}
            \end{pspicture*}
        }
    \end{pspicture}
}
\subsection{ifpdf}
\label{subsec:ifpdf}
\begin{itemize}
\item Parent: atbegshi
\item Children: ifluatex
\end{itemize}
\multido{\r=100+-5}{1}
{
    \begin{pspicture}(9,-0.27)(26,0.85)
        \rput(29.25,0.75){%
            \begin{pspicture*}(9,-0.27)(26,0.85)
            %
            % \xdefinecolor{treedesigncolor}{rgb}{1,0,0}
                %
                % \xdefinecolor{treelightgrey}{RGB}{0,191,255}
                %
                \FPset\armAsepvalue{0.35}
                \FPset\armBsepvalue{0.35}
                \FPset\angelAvalue{180}
                \FPset\angelBvalue{180}
                %
                %armAsepvalue
                \FPset\armAsepvalue{0.45}
                \FPset\armBsepvalue{0.45}
                \FPset\angelAvalue{180}
                \FPset\angelBvalue{180}
                %
                \FPset\rootlevelsep{1.2}
                \FPset\onelevelsepv{0.9}
                \FPset\twolevelsepv{0.5}
                \FPset\threelevelsepv{0.0}
                \FPset\fourlevelsepv{0.0}
                \FPset\fivelevelsepv{-0.5}
                \FPset\sixlevelsepv{0.4}
                \FPset\sevenlevelsepv{0.4}
                \FPset\distfactor{0.5}
                \FPset\defaultsz{2.85}
                \FPset\levelzero{2.25}
                \FPset\levelzerob{3.05}
                \FPset\rootlevelsepva{4.05}
                % \FPset\rootlevelsepva{0.0}
                \FPset\onelevelsepva{3.65}
                \FPset\twolevelsepva{3.65}
                \FPset\threelevelsepva{3.65}
                \FPset\fourlevelsepva{3.65}
                \FPset\fivelevelsepva{3.65}
                \FPset\sixlevelsepva{3.65}
                \FPset\levelone{2.85}
                \FPset\leveloneb{3.05}
                \FPset\leveltwo{3.45}
                \FPset\leveltwob{2.55}
                \FPset\levelthree{4.75}
                \FPset\levelthreeb{4.25}
                \FPset\levelfour{5.55}
                \FPset\levelfourb{2.05}
                \FPset\levelfive{3.65}
                \FPset\levelsix{3.05}
                \FPset\levelseven{2.55}
                \FPset\leveleight{7.65}
                \FPset\levelfiveb{2.35}
                %
                \FPset\levelonestamp{3.75}
                \FPset\leveltwostamp{3.25}
                \FPset\levelthreestamp{3.25}
                \FPset\levelfourstamp{3.25}
                %
                %onelevelsepastamp
                \FPset\onelevelsepastampA{4.85}
                \FPset\twolevelsepastampA{7.85}
                %
                \FPset\onelevelsepastamp{4.85}
                \FPset\twolevelsepastamp{7.85}
                \FPset\threelevelsepastamp{9.85}
                %
                \FPupn{onelevelsepastamp}{levelonestamp 2 + 2 round}
                \FPupn{twolevelsepastamp}{leveltwostamp 2 + 2 round}
                %
                %
                \FPupn{twolevelsepastampt}{twolevelsepastamp 5.5 + 2 round}
                \FPupn{armAsepvaluet}{armAsepvalue 5.5 + 2 round}
                %
                \FPupn{rootlevelsepa}{rootlevelsep distfactor + 2 round}
                \FPupn{defaultsza}{defaultsz 1.15 + distfactor + 2 round}
                \FPupn{onelevelsep}{rootlevelsep onelevelsepv - neg 2 round}
                \FPupn{onelevelsepa}{levelone onelevelsep + armAsepvalue + armBsepvalue + distfactor + 2 round}
                %
                \FPupn{twolevelsep}{onelevelsep twolevelsepv  - neg 2 round}
                \FPupn{twolevelsepa}{leveltwo twolevelsep + armAsepvalue + armBsepvalue + distfactor + 2 round}
                % \FPset\signsz{3.05}
                %
                \FPupn{threelevelsep}{twolevelsep threelevelsepv  - neg 2 round}
                \FPupn{threelevelsepa}{levelthree threelevelsep + armAsepvalue + armBsepvalue + distfactor + 2 round}
                %
                \FPupn{fourlevelsep}{threelevelsep fourlevelsepv  - neg 2 round}
                \FPupn{fourlevelsepa}{levelfour fourlevelsep + armAsepvalue + armBsepvalue + distfactor + 2 round}
                %
                %
                \FPupn{fivelevelsep}{fourlevelsep fivelevelsepv  - neg 2 round}
                \FPupn{fivelevelsepa}{levelfive fivelevelsep + armAsepvalue + armBsepvalue + distfactor + 2 round}
                %
                % A3
                \FPupn{sixlevelsep}{fivelevelsep sixlevelsepv  - neg 2 round}
                \FPupn{sixlevelsepa}{levelsix sixlevelsep + armAsepvalue + armBsepvalue + distfactor + 2 round}
                %
                %
                %
                \FPupn{sevenlevelsep}{sixlevelsep sevenlevelsepv  - neg 2 round}
                \FPupn{sevenlevelsepa}{levelseven sevenlevelsep + armAsepvalue + armBsepvalue + distfactor + 2 round}
                %
                % Second Rootnode
                \FPupn{rootlevelsepaa}{rootlevelsepva distfactor + 2 round}
                \FPupn{onelevelsepaaa}{rootlevelsepva onelevelsepva - neg 2 round}
                \FPupn{onelevelsepaab}{leveloneb onelevelsepaaa + armAsepvalue + armBsepvalue + distfactor + 2 round}
                % \onelevelsepaab
                %
                %
                \FPupn{twolevelsepaaa}{onelevelsepva twolevelsepva - neg 2 round}
                \FPupn{twolevelsepaab}{leveltwob twolevelsepaaa + armAsepvalue + armBsepvalue + distfactor + 2 round}
                %
                %
                %
                \FPupn{threelevelsepaaa}{twolevelsepva threelevelsepva - neg 2 round}
                \FPupn{threelevelsepaab}{levelthreeb threelevelsepaaa + armAsepvalue + armBsepvalue + distfactor + 2 round}
                %
                \FPupn{fourlevelsepaaa}{threelevelsepva fourlevelsepva - neg 2 round}
                \FPupn{fourlevelsepaab}{levelfourb fourlevelsepaaa + armAsepvalue + armBsepvalue + distfactor + 2 round}
                %
                %\RequirePackage{eolgrab}[2011/01/12]%
                %
                \def\psedge{\ncdiag[armA=\armAsepvalue cm,angleB=\angelBvalue,armB=\armBsepvalue cm]}
                \pstree[treemode=R,levelsep=\onelevelsepastamp cm,treesep=0.15cm]{\Tr[ref=lc]{%
                    \PSBB{\nameref{subsec:ifpdf}.sty [2011/01/30] v2.3}{\levelonestamp}\pnode(0,0.20){ifpdf}{}}}
                        {
                        \def\pspred{ifpdf}%
                            \pstree[treemode=R,levelsep=\twolevelsepastamp cm,treesep=0.15cm]{\Tr[ref=lc]{%
                                \PSBB{\textbf{O} ifluatex [2009/04/10]}{\leveltwostamp}\pnode(0,0.20){ifluatex}{}}}%
                                    {%
                                    % \def\pspred{expl3}\Tr[ref=lc]{\PSBB{Tätigkeit}{\levelthreestamp}}
                                    % \def\pspred{expl3}\Tr[ref=lc]{\PSBB{Rechtsform}{\levelthreestamp}}
                                    % \def\pspred{expl3}\Tr[ref=lc]{\PSBB{Eintragung}{\levelthreestamp}}
                                    % \def\pspred{expl3}\Tr[ref=lc]{\PSBB{Normative Kraft der Zeit}{\levelthreestamp}}
                                    }%
                        %
                        %
                                    % \def\pspred{morewrites}%
                            % \pstree[treemode=R,levelsep=\twolevelsepastamp cm,treesep=0.15cm]{\Tr[ref=lc]{%
                                % \PSBF{Schuldrecht}{\leveltwostamp}{Cyan}{}}}{}
                        %
                        % \def\pspred{morewrites}
                            % \pstree[treemode=R,levelsep=\twolevelsepastamp cm,treesep=0.15cm]{\Tr[ref=lc]{%
                                % \PSBB{Familienrecht}{\leveltwostamp}{}}}{}
                        %
                        % \def\psedge{\ncdiag[armA=\armAsepvalue cm,angleB=\angelBvalue,armB=\armBsepvalue cm]}
                        %
                        % \def\pspred{morewrites}
                            % \pstree[treemode=R,levelsep=\twolevelsepastamp cm,treesep=0.15cm]{\Tr[ref=lc]{%
                                % \PSBB{Erbrecht}{\leveltwostamp}{}}}{}%
                        %
                        }
            \end{pspicture*}
        }
    \end{pspicture}
}           
\end{document}

compile with latex -> dvips -> ps2pdf but this example is maybe not worth to publish, delete if you want. /2 threadowner

enter image description here

  • Care to post the output of your example as an image? Some people aren't that fluent in tex to immediately get your post. – Dohn Joe Feb 15 '16 at 10:28

Your Answer

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

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