I'm trying to draw this picture in Latex:


I'm using the "Tikz" package, and everything I've tried will not allow me to label the vertices as (0, 0, 1) [for example]. I've used "Math mode", "L = $(0,0,1)$" and "bend right," but nothing seems to be working. What else can I try?

  • Show us what have you done so far, so we can continue from there :) – Phelype Oleinik Feb 23 '18 at 22:04
  • Your question leaves all the effort to our community, even typing the essentials of a TeX document such as \documentclass{}...\begin{document} etc. As it is, most of our users will be very reluctant to touch your question, and you are left to the mercy of our procrastination team who are very few in number and very picky about selecting questions. You can improve your question by adding a minimal working example (MWE) that more users can copy/paste onto their systems to work on. If no hero takes the challenge we might have to close your question – Stefan Pinnow Feb 23 '18 at 22:05

\begin{tikzpicture}[dot/.style={draw,circle,fill,inner sep=1.5pt},line width=.7pt]
\node (o)[dot]{} node[below right=0pt and 8pt]{(1,1,1)};
\foreach \i in {-30,90,210}{
  \node (\i) at (\i:3cm) [dot] {};
  \node (r\i) at (\i+60:1.5cm) [dot] {};
\draw (-30) to[bend right=20]node[right]{(0,1,1)}(90)node[above]{(0,0,1)}
      (90)  to[bend right=20] node[left]{(1,0,1)} (210)node[below left]{(1,0,0)} 
      (210) to[bend right=20]node[below]{(1,1,0)} (-30)node[below right]{(0,1,0)}    
      (r-30) to[bend right=20] (210)
      (r90)  to[bend right=20] (-30)
      (r210) to[bend right=20] (90)
      (r-30) -- (o)
      (r90)  -- (o)
      (r210) -- (o);


enter image description here


as starting point:

enter image description here

\documentclass[tikz, margin=3mm]{standalone}
\usetikzlibrary{positioning, quotes}

         auto = right,
node distance = 43.3mm and 50mm,
   dot/.style = {circle, fill, minimum size=2mm, inner sep=0pt}
  \node (a) [dot,label=below:{$(0,1,0)$}] {};
  \node (b) [dot,label=below:{$(0,1,0)$}, right=of a] {};
    \draw   (a) to [bend right=15, "{$(1,1,0)$}"]   (b);

This is an attempt to efficiently draw the lines and put the labels.

 \foreach \i in {0,1}{
 \foreach \j in {0,1}{
 \foreach \k in {0,1}{
 \node[circle,draw,minimum width=4pt,fill,scale=0.6] (m\i\j\k) at 
 \node at ($(m\i\j\k)+(0,\X)$)  {(\i,\j,\k)};
 \draw[bend right] (m100.center) to (m010.center) to (m001.center) to (m100.center);
 \draw[bend left] (m100.center) to (m011.center)  (m010.center) to (m101.center) (m001.center) to (m110.center);
 \foreach \X in {m110,m101,m011} \draw (\X.center) to (m111.center);

enter image description here

The usual weight diagram of the adjoint of G_2 is easier to draw...


...and a solution with a TikZ matrix:

\usetikzlibrary{matrix, positioning}

\begin{tikzpicture}[every path/.style={very thick}]
        matrix of nodes,
        column sep=40pt,
        row sep=50pt,
        nodes={circle, draw, fill, inner sep=2pt}
        ] (m) {
                   &[-10pt]     & |(n001)|{} &            &[-10pt]    \\
                   & |(n101)|{} &            & |(n011)|{}             \\[-20pt]
                   &            & |(n111)|{}                          \\
        |(n100)|{} &            & |(n110)|{} &            & |(n010)|{}\\
    \draw (n001) node[above=8pt]{(0,0,1)} to[bend left=20] (n110) node[below=24pt]{(1,1,0)}
        (n001) to[bend left=30] (n010) node[below right=4pt and 6pt]{(0,1,0)}
        (n001) to[bend right=30] (n100) node[below left=4pt and 6pt]{(1,0,0)}
        (n100) to[bend right=20] (n010)
        (n011) node[above right=2pt and 10pt]{(0,1,1)} to[bend right=20] (n100) 
        (n101) node[above left=2pt and 10pt]{(1,0,1)} to[bend right=20] (n010)
        (n111) node[below right=2pt and 12pt]{(1,1,1)} -- (n011)
        (n111) -- (n110)
        (n111) -- (n101)

enter image description here

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.