Κυριακή, 8 Μαρτίου 2020

Οικογένεια Bach


Η εικόνα αυτή κατασκευάστηκε με XeLaTeX και TiKz. Παραθέτω το Πρελούδιο μαζί με τον κώδικα, για όποιον ενδιαφέρεται:

\documentclass[12pt,a3paper,landscape,table,usenames, dvipsnames]{article}

% FONTS
\usepackage[upright]{fourier} % set math font
\usepackage[no-math]{fontspec} % to load non-Latex fonts (keeping math font)
\setmainfont[Kerning=On,Mapping=tex-text]{Alfios} % fontspec reverts to CM, so reset to Minion Pro
\usepackage{pifont}

% CHANGE FONT LOCALLY
\newfontfamily\MG[Ligatures=TeX]{_P22MorrisGolden-Regular} % Change Font to Alexander

% PACKAGE {geometry}: cus­tomize Page Lay­out
\usepackage[margin=1in]{geometry}

\usepackage[Greek,Latin]{ucharclasses}

% PACKAGE {xltxtra}: to type­set Greek lan­guage doc­u­ments
\usepackage{xltxtra,xgreek}

\setTransitionsForGreek{\setlanguage{greek}}{\setlanguage{american}} % Instead of american, any other language can be used

% (3) PACKAGE {amsmath}: enhancements for Maths
\usepackage{amsmath}
\newcommand{\Mod}[1]{\ (\mathrm{mod}\ #1)} % Modulo

\usepackage{fancyhdr}
\setlength{\headheight}{15pt}

\pagestyle{fancy}
\renewcommand{\sectionmark}[1]{ \markright{#1} }

\fancyhf{}
\fancyhead[LE,RO]{ \color{gray}\mypc{\thepage} }
\fancyhead[RE]{ \color{gray}\mypc{\nouppercase{\leftmark}} }
\fancyhead[LO]{ \color{gray}\mypc{\nouppercase{\rightmark}} }

\fancypagestyle{plain}{ %
  \fancyhf{} % remove everything
  \renewcommand{\headrulewidth}{0pt} % remove lines as well
  \renewcommand{\footrulewidth}{0pt}
}

% PACKAGE {xcolor}: gives ac­cess to sev­eral kinds of color tints, shades, tones, and mixes of ar­bi­trary col­ors
\usepackage[table]{xcolor}

% Definitions of Header Colors
\definecolor{chapter}{RGB}{88,110,117}
\definecolor{sec}{RGB}{41,72,125}
\definecolor{sub}{RGB}{54,88,153}
\definecolor{ssub}{RGB}{137,143,156}
\definecolor{def}{RGB}{66,103,178}
\definecolor{proof}{RGB}{95,110,116}

% TikZ
\usepackage{pgfplots}
\usetikzlibrary{angles}
\usetikzlibrary{backgrounds}
\usetikzlibrary{calc}
\pgfplotsset{compat=newest}
\usetikzlibrary{intersections}
\usetikzlibrary{matrix}
\usetikzlibrary{patterns}
\usepgfplotslibrary{polar}
\usetikzlibrary{quotes}
\usepgflibrary{shapes.geometric}
\usetikzlibrary{through}
\tikzset{>=latex}
\usetikzlibrary{shadows.blur}
\usetikzlibrary{shapes,shadows,arrows}

% END OF PRELUDE

\begin{document}
\pagestyle{empty}

\begin{center}
\color{Bittersweet}{\huge \MG{Bach Family}}
\end{center}

\tikzstyle{decision} = [diamond, draw, fill=blue!20,
    text width=4.5em, text badly centered, node distance=3cm, inner sep=0pt]
%\tikzstyle{block} = [rectangle, draw, fill=blue!10, text width=5em, text centered, rounded corners, minimum height=3em, node distance=5em]
\tikzstyle{block} = [rectangle, draw, shading=radial, inner color=white, outer color=OliveGreen!10!, drop shadow, text width=5em, text centered, rounded corners, minimum height=3em, node distance=5em]
\tikzstyle{line} = [draw, -latex']
\tikzstyle{cloud} = [draw, ellipse,fill=red!20, node distance=3cm,
    minimum height=2em]

\begin{figure}[h!]
\centering

\begin{tikzpicture}

% NODES
\node [block, inner color=white, outer color=yellow!40!] (?) {?};
\node [block, below of=?, yshift=-3em, xshift=-8em, yshift=3em] (Veit) {Veit \\ {\footnotesize (+c.1577/1619)}};
\node [block, below of=?, yshift=-3em, xshift=8em, yshift=3em] (Hans) {Hans \\ {\footnotesize (c.1520-c.1580)}};

% Hans Sons
\node [block, text width=1em, inner color=white, outer color=gray!30!, below of=Hans] (H1) {?};
\node [block, text width=1em, inner color=white, outer color=gray!30!, below of=Hans, xshift=-6em] (H2) {?};
\node [block, text width=1em, inner color=white, outer color=gray!30!, below of=Hans, xshift=6em] (H3) {?};

\node [block, below of=Veit, xshift=-4em] (Lips) {Lips \\ {\footnotesize (c.1552-1620)}};

% Lips Sons
\node [block, text width=1em, inner color=white, outer color=gray!30!, left of=Lips, xshift=-10em] (V1) {?};
\node [block, text width=1em, inner color=white, outer color=gray!30!, above of=V1] (V2) {?};
\node [block, text width=1em, inner color=white, outer color=gray!30!, below of=V1] (V3) {?};

\node [block, below of=Veit, xshift=4em] (Johannes) {Johannes \\ {\footnotesize (c.1550-1626)}};

% Johannes Sons
\node [block, below of=Johannes, xshift=-12em, yshift=-10] (Heinrich) {Heinrich \\ {\footnotesize (1615-1692)}};
\node [block, below of=Johannes, yshift=-11] (C) {Christoph \\ {\footnotesize (1613-1661)}};
\node [block, below of=Johannes, xshift=280, yshift=20] (J) {Johann \\ {\footnotesize (1604-1673)}};

% Heinrich Sons
\node [block, below of=Heinrich, xshift=-7em] (JC1) {Johann Christoph \\ {\footnotesize (1642-1703)}};
\node [block, below of=JC1, yshift=-10] (JN) {Johann Nikolaus \\ {\footnotesize (1669-1753)}};
\node [block, below of=Heinrich] (JM) {Johann Michael \\ {\footnotesize (1648-1694)}};
\node [block, below of=Heinrich, xshift=7em] (JG) {Johann Günter \\ {\footnotesize (1653-1683)}};

% Maria Barbara
\node [block, shading=radial, inner color=white, outer color=Dandelion!20!, below of=JM, yshift=-10] (MB) {Maria Barbara \\ {\footnotesize (1684-1720)}};

% Christoph Sons
\node [block, below of=C, xshift=7em] (GC) {Georg Christoph \\ {\footnotesize (1642-1697)}};
\node [block, below of=C, xshift=14em] (JC2) {Johann Christoph \\ {\footnotesize (1645-1693)}};
\node [block, below of=C, xshift=21em] (JA) {Johann Ambrosius \\ {\footnotesize (1645-1695)}};

% Johann Sons
\node [block, text width=1em, inner color=white, outer color=gray!30!, right of=J, xshift=1em] (J2) {?};
\node [block, text width=1em, inner color=white, outer color=gray!30!, above of=J2, yshift=-10] (J1) {?};
\node [block, text width=1em, inner color=white, outer color=gray!30!, below of=J2, yshift=10] (J3) {?};

% Johann Ambrosius Sons
\node [block, shading=radial, inner color=white, outer color=red!20!, below of=JA, yshift=-20] (JSB) {\textbf{Johann Sebastian} \\ {\footnotesize (1685-1750)}};
\node [block, shading=radial, inner color=white, outer color=Dandelion!20!, right of=JSB, xshift=30] (AM) {Anna Magdalena Wilke \\ {\footnotesize (1701-1760)}};
\node [block, left of=JSB, xshift=-30] (JC3) {Johann Christoph \\ {\footnotesize (1671-1721)}};
\node [block, left of=JC3, xshift=-30] (JB) {Johann Balthasar \\ {\footnotesize (1673-1791)}};
\node [block, left of=JB, xshift=-30] (JJ) {Johann Jacob \\ {\footnotesize (1682-1722)}};

% Johann Christoph Sons
\node [block, text width=1em, inner color=white, outer color=gray!30!, below of=JC3, xshift=2em] (JCS2) {?};
\node [block, text width=1em, inner color=white, outer color=gray!30!, below of=JC3, xshift=-2em] (JCS1) {?};

% Johann Sebastian Sons
\node [block, shading=radial, inner color=white, outer color=blue!15!, below of=JJ, yshift=-80] (WF) {\textbf{Wilhelm Friedemann} \\ {\footnotesize (1710-1784)}};
\node [block, shading=radial, inner color=white, outer color=blue!15!, below of=JB, yshift=-80] (CPE) {\textbf{Carl Philipp Emanuel} \\ {\footnotesize (1714-1788)}};
\node [block, below of=JC3, yshift=-80] (JGB) {Johann Gottfried Bernhard \\ {\footnotesize (1715-1739)}};
\node [block, below of=JSB, yshift=-80] (GH) {Georg Heinrich \\ {\footnotesize (1724-1763)}};
\node [block, below of=JSB, yshift=-80, xshift=90] (JCF) {Johann Christoph Friedrich \\ {\footnotesize (1732-1795)}};
\node [block, shading=radial, inner color=white, outer color=blue!15!, below of=JSB, yshift=-80, xshift=180] (JC4) {\textbf{Johann Christian} \\ {\footnotesize (1735-1782)}};

% Carl Philipp Emanuel Son
\node [block, below of=CPE, yshift=-20] (JSBP) {Johann Sebastian (painter) \\ {\footnotesize (1748–1778)}};

% Johann Christoph Friedrich Son
\node [block, below of=JCF, yshift=-20] (WFE) {Wilhelm Friedrich Ernst \\ {\footnotesize (1759–1845)}};

% -------------------------------------------------------
% Draw edges
% \path [line] (?) -- (Veit);
\path [line] (?) -| (Veit);

\path [line] (?) -| (Hans);

\path [line] (Hans) -- (H1);
\path [line] (Hans) -- (H2);
\path [line] (Hans) -- (H3);

\path [line] (Lips) -- (V1);
\path [line] (V1) -- (V2);
\path [line] (V1) -- (V3);
\path [line] (Veit) -- (Lips);
\path [line] (Veit) -- (Johannes);

% Johannes Sons
\path [line] (Johannes) -- (Heinrich);
\path [line] (Johannes) -- (C);
\path [line] (Johannes) |- (J);

% Heinrich Sons
\path [line] (Heinrich) -| (JC1);
\path [line] (Heinrich) -- (JM);
\path [line] (Heinrich) -| (JG);
\path [line] (JC1) -- (JN);
\path [line] (JM) -- (MB);

% Christoph Sons
\path [line] (C) -| (GC);
\path [line] (C) -| (JC2);
\path [line] (C) -| (JA);

% Johann Sons
\path [line] (J) -- (J2);
\path [line] (J) |- (J1);
\path [line] (J) |- (J3);

% Johann Ambrosius Sons
\path [line] (JA) -- (JSB);
\path [line] (JA.south) -- ++(0,0) -- ++(0,-.5) -|  (JC3.north);
\path [line] (JA.south) -- ++(0,0) -- ++(0,-.5) -|  (JB.north);
\path [line] (JA.south) -- ++(0,0) -- ++(0,-.5) -|  (JJ.north);

% Johann Christoph Sons
\path [line] (JC3) -- (JCS1);
\path [line] (JC3) -- (JCS2);

% Johann Sebastian Sons
\path [line] (JSB) -- (GH);
\path [line] (JSB.south) -- ++(0,0) -- ++(0,-2.2) -|  (WF.north);
\path [line] (JSB.south) -- ++(0,0) -- ++(0,-2.2) -|  (CPE.north);
\path [line] (JSB.south) -- ++(0,0) -- ++(0,-2.2) -|  (JGB.north);
\path [line] (JSB.south) -- ++(0,0) -- ++(0,-2.2) -|  (JCF.north);
\path [line] (JSB.south) -- ++(0,0) -- ++(0,-2.2) -|  (JC4.north);

% Carl Philipp Emanuel Son
\path [line] (CPE) -- (JSBP);

% Johann Christoph Friedrich Son
\path [line] (JCF) -- (WFE);

\end{tikzpicture}
\end{figure}

\begin{center}
© 3euk1L4 • 2020
\end{center}


\end{document}

Δεν υπάρχουν σχόλια: