Skip to content

Instantly share code, notes, and snippets.

@seungwonpark
Created October 21, 2018 20:13
Show Gist options
  • Save seungwonpark/a06d8a3e5918917e25af38457a9fd4f8 to your computer and use it in GitHub Desktop.
Save seungwonpark/a06d8a3e5918917e25af38457a9fd4f8 to your computer and use it in GitHub Desktop.
Hasse diagram
\documentclass{standalone}
\usepackage{tikz}
\usepackage{amsmath,amssymb}
\usepackage{pgffor}
\usepackage{ifthen}
\begin{document}
\begin{tikzpicture}
\node(zero) at (1,0) {$ \phi $};
\foreach \i/\ii in {1/a,2.5/b,4/c,5.5/d}{
\node(\ii) at (\i, 1) {$ \left\{ \ii \right\} $};
}
\foreach \i/\ii/\iii in {1/a/b, 2/a/c, 3/a/d, 4/b/c, 5/b/d, 6/c/d}{
\node(\ii-\iii) at (\i, 3) {$ \left\{ \ii, \iii \right\} $};
\node(\iii-\ii) at (\i, 3) {};
}
\node(abcd) at (1, 7) {$ \left\{ a,b,c,d \right\} $};
\foreach \i/\ii/\iii/\iv in {1/a/b/c, 2.5/a/b/d, 4/a/c/d, 5.5/b/c/d}{
\node(\ii-\iii-\iv) at (\i, 5) {$ \left\{ \ii, \iii, \iv \right\} $};
\draw (abcd) -- (\ii-\iii-\iv);
}
\foreach \i in {a,b,c,d}{
\draw (zero) -- (\i);
}
\foreach \i in {a,b,c,d}{
\foreach \ii in {a,b,c,d}{
\ifthenelse{\equal{\i}{\ii}}
{}
{
\draw (\i) -- (\i-\ii);
}
}
}
\draw (a-b) -- (a-b-c);
\draw (a-c) -- (a-b-c);
\draw (b-c) -- (a-b-c);
\draw (a-b) -- (a-b-d);
\draw (a-d) -- (a-b-d);
\draw (b-d) -- (a-b-d);
\draw (a-c) -- (a-c-d);
\draw (a-d) -- (a-c-d);
\draw (c-d) -- (a-c-d);
\draw (b-c) -- (b-c-d);
\draw (b-d) -- (b-c-d);
\draw (c-d) -- (b-c-d);
\end{tikzpicture}
\end{document}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment