diff --git a/tikz/family-tree/Makefile b/tikz/family-tree/Makefile new file mode 100644 index 0000000..d767536 --- /dev/null +++ b/tikz/family-tree/Makefile @@ -0,0 +1,31 @@ +SOURCE = family-tree +DELAY = 80 +DENSITY = 300 +WIDTH = 512 + +make: + pdflatex $(SOURCE).tex -output-format=pdf + make clean + +clean: + rm -rf $(TARGET) *.class *.html *.log *.aux *.data *.gnuplot + +gif: + pdfcrop $(SOURCE).pdf + convert -verbose -delay $(DELAY) -loop 0 -density $(DENSITY) $(SOURCE)-crop.pdf $(SOURCE).gif + make clean + +png: + make + make svg + inkscape $(SOURCE).svg -w $(WIDTH) --export-png=$(SOURCE).png + +transparentGif: + convert $(SOURCE).pdf -transparent white result.gif + make clean + +svg: + #inkscape $(SOURCE).pdf --export-plain-svg=$(SOURCE).svg + pdf2svg $(SOURCE).pdf $(SOURCE).svg + # Necessary, as pdf2svg does not always create valid svgs: + inkscape $(SOURCE).svg --export-plain-svg=$(SOURCE).svg diff --git a/tikz/family-tree/README.md b/tikz/family-tree/README.md new file mode 100644 index 0000000..8ea1134 --- /dev/null +++ b/tikz/family-tree/README.md @@ -0,0 +1,5 @@ +Example from [StackExchange](http://tex.stackexchange.com/a/47384/5645) + +Compiled example +---------------- +![Example](family-tree.png) diff --git a/tikz/family-tree/family-tree.png b/tikz/family-tree/family-tree.png new file mode 100644 index 0000000..c3b09af Binary files /dev/null and b/tikz/family-tree/family-tree.png differ diff --git a/tikz/family-tree/family-tree.tex b/tikz/family-tree/family-tree.tex new file mode 100644 index 0000000..360780a --- /dev/null +++ b/tikz/family-tree/family-tree.tex @@ -0,0 +1,35 @@ +\documentclass[varwidth=true, border=2pt]{standalone} +\usepackage{xcolor} +\usepackage{tikz} +\usetikzlibrary{trees} +\def\name#1{\hbox to 50pt{#1\rule{10pt}{0pt}}} +\begin{document} +\begin{tikzpicture}[ + man/.style={rectangle,draw,fill=gray!30}, + woman/.style={rectangle,draw,fill=gray!10}, + grandchild/.style={grow=down,xshift=1em,anchor=west, + edge from parent path={(\tikzparentnode.south) |- (\tikzchildnode.west)}}, + first/.style={level distance=6ex}, + second/.style={level distance=12ex}, + third/.style={level distance=18ex}, + level 1/.style={sibling distance=70pt}] + % Parents + \coordinate + child[grow=left] {node[man,anchor=east]{\name{Jim}}} + child[grow=right] {node[woman,anchor=west]{\name{Jane}}} + child[grow=down,level distance=0ex] + [edge from parent fork down] + % Children and grandchildren + child{node[man] {\name{Alfred}} + child[grandchild,first] {node[man]{\name{Joe}}} + child[grandchild,second] {node[woman]{\name{Heather}}} + child[grandchild,third] {node[woman] {\name{Barbara}}}} + child{node[woman] {\name{Berta}} + child[grandchild,first] {node[man]{\name{Howard}}}} + child {node[man] {\name{Charles}} + child[grandchild,first] {node[man]{\name{Howard}}}} + child {node[woman]{\name{Doris}} + child[grandchild,first] {node[man]{\name{Nick}}} + child[grandchild,second] {node[woman]{\name{Liz}}}}; +\end{tikzpicture} +\end{document}