5

I had this code produce the following document. I wanted to align a few things.
Particularly under the "degree sequence" heading:

\documentclass[varwidth,margin=2mm]{standalone}
\usepackage{amsmath,tikz}
\begin{document}
    \begin{center}
        \begin{tikzpicture}
            %%%%% SNIP %%%%%
        \end{tikzpicture}\\
        \rule[0cm]{200pt}{0.5pt}\\
        \begin{math}
            $degree sequence$\\
            $e=\{2,2,2,2,2\}\ \ \ \ \ \ \ \ \ \ \ \ c=\{2,2,2,2,2\}$\\
            \delta(e)=2\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \delta(c)=2\\
            \Delta(e)=2\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \Delta(c)=2\\
            \rule[0cm]{200pt}{0.5pt}\\
            \alpha(e_{1})=c_{1},\ \ \alpha(e_{2})=c_{3},\\
            \alpha(e_{3})=c_{5},\ \ \alpha(e_{4})=c_{2},\\
            \alpha(e_{5})=c_{4},\ \ \alpha(e_{1})=c_{1},\\
            \rule[0cm]{200pt}{0.5pt}\\
            $e_{1}\to{}e_{2}\to{} e_{3}\to{}e_{4}\to{}
            e_{5}\to{}e_{1}\\
            $c_{1}\to{}c_{3}\to{} c_{5}\to{}c_{2}\to{}
            c_{4}\to{}c_{1}\\
            \rule[0cm]{200pt}{0.5pt}\\
        \end{math}    
    \end{center}
\end{document}

enter image description here


So I tried to use the align package to align it, butit kind of sent everything out of wack:

\documentclass[varwidth,margin=2mm]{standalone}
\usepackage{amsmath,tikz}
\begin{document}
    \begin{center}
        \begin{tikzpicture}
            %%%%% SNIP %%%%%
        \end{tikzpicture}\\
        \rule[0cm]{200pt}{0.5pt}\\
            degree sequence\\
            e = \{2,2,2,2,2,2\} c = \{2,2,2,2,2,2\}\\
        \begin{align*}
            \delta(e) & = 2 & \delta(c) & = 2\\
            \Delta(e) & = 2 & \Delta(c) & = 2\\
        \end{align*}
        \begin{math}
            \rule[0cm]{200pt}{0.5pt}\\
            \alpha(e_{1})=c_{1},\ \ \alpha(e_{2})=c_{3},\\
            \alpha(e_{3})=c_{5},\ \ \alpha(e_{4})=c_{2},\\
            \alpha(e_{5})=c_{4},\ \ \alpha(e_{1})=c_{1},\\
            \rule[0cm]{200pt}{0.5pt}\\
            $e_{1}\to{}e_{2}\to{} e_{3}\to{}e_{4}\to{}
            e_{5}\to{}e_{1}\\
            $c_{1}\to{}c_{3}\to{} c_{5}\to{}c_{2}\to{}
            c_{4}\to{}c_{1}\\
            \rule[0cm]{200pt}{0.5pt}\\
        \end{math}    
    \end{center}
\end{document}

enter image description here


Is there a way around this or am I stuck with it. I know it's only a minor thing, but it would be nice to have more control.

  • align is not a package and could you please elaborate on how you compile your codes? When I run pdflatex on the first one, I receive errors. – marmot Mar 24 at 20:54
  • please make your mwe compilable. it has many errors (There's no line to end) – Zarko Mar 24 at 20:54
  • @mormot I used overleaf to compile it. Here's a read only link: overleaf.com/read/qprgxcqtmppf and here's one anybody can edit: overleaf.com/2177493499cghwsymwvdst – tjt263 Mar 24 at 21:10
  • @Zarko If you see errors that you know how to fix, you're welcome to. I'm pretty new to LaTeX and I've done my best. If it has errors, I don't know how to fix them. – tjt263 Mar 24 at 21:14
  • @DavidCarlisle It was the only way I could think of to do it, without ending and beginning and dropping the indent back and forth for two words seemed like an annoyance. But it works is the main thing. It's not really the issue I'm trying to solve. – tjt263 Mar 24 at 21:19
4

You want to use tabular:

\documentclass[margin=6]{standalone}
\usepackage{amsmath,tikz,booktabs}

\begin{document}

\begin{tabular}{cc}
\begin{tikzpicture}
\draw (0,0)--(1,1);
\end{tikzpicture}
&
\begin{tikzpicture}
\draw (0,0)--(1,1);
\end{tikzpicture}
\\
\midrule
\multicolumn{2}{c}{degree sequence}\\
$\begin{aligned}
& e=\{2,2,2,2,2\} \\
& \delta(e)=2 \\
& \Delta(e)=2 \\
\end{aligned}$ &
$\begin{aligned}
& c=\{2,2,2,2,2\} \\
& \delta(c)=2 \\
& \Delta(c)=2
\end{aligned}$ \\
\midrule
\multicolumn{2}{c}{%
  $\begin{aligned}
  \alpha(e_{1})&=c_{1}, & \alpha(e_{2})&=c_{3},\\
  \alpha(e_{3})&=c_{5}, & \alpha(e_{4})&=c_{2},\\
  \alpha(e_{5})&=c_{4}, & \alpha(e_{1})&=c_{1},
  \end{aligned}$%
} \\
\midrule
\multicolumn{2}{c}{%
  $\begin{array}{@{} c *{5}{@{} >{{}}c<{{}} @{} c @{}} }
  e_{1} & \to & e_{2} & \to & e_{3} & \to & e_{4} & \to & e_{5} & \to & e_{1} \\
  c_{1} & \to & c_{3} & \to & c_{5} & \to & c_{2} & \to & c_{4} & \to & c_{1}
  \end{array}$%
} \\
\bottomrule[\lightrulewidth]
\end{tabular}

\end{document}

enter image description here

With a different alignment for the “degree sequence” block:

\documentclass[margin=6]{standalone}
\usepackage{amsmath,tikz,booktabs,array}

\begin{document}

\begin{tabular}{cc}
\begin{tikzpicture}
\draw (0,0)--(1,1);
\end{tikzpicture}
&
\begin{tikzpicture}
\draw (0,0)--(1,1);
\end{tikzpicture}
\\
\midrule
\multicolumn{2}{c}{degree sequence}\\
$\begin{gathered}
  e=\{2,2,2,2,2\} \\
  \begin{aligned}
  \delta(e)&=2 \\
  \Delta(e)&=2
  \end{aligned}
\end{gathered}$ &
$\begin{gathered}
  c=\{2,2,2,2,2\} \\
  \begin{aligned}
  \delta(c)&=2 \\
  \Delta(c)&=2
  \end{aligned}
\end{gathered}$ \\
\midrule
\multicolumn{2}{c}{%
  $\begin{aligned}
  \alpha(e_{1})&=c_{1}, & \alpha(e_{2})&=c_{3},\\
  \alpha(e_{3})&=c_{5}, & \alpha(e_{4})&=c_{2},\\
  \alpha(e_{5})&=c_{4}, & \alpha(e_{1})&=c_{1},
  \end{aligned}$%
} \\
\midrule
\multicolumn{2}{c}{%
  $\begin{array}{@{} c *{5}{@{} >{{}}c<{{}} @{} c @{}} }
  e_{1} & \to & e_{2} & \to & e_{3} & \to & e_{4} & \to & e_{5} & \to & e_{1} \\
  c_{1} & \to & c_{3} & \to & c_{5} & \to & c_{2} & \to & c_{4} & \to & c_{1}
  \end{array}$%
} \\
\bottomrule[\lightrulewidth]
\end{tabular}

\end{document}

enter image description here

  • thanks, i really appreciate having this alternative. i like how you reduced the whitespace too. – tjt263 Mar 24 at 21:25
  • I just noticed it doesn't actually line it up perfectly. Probably because the glyphs aren't a fixed width. Still looks pretty good though. – tjt263 Mar 24 at 21:57
  • @tjt263 I guess you were referring to the bottom lines: fixed. – egreg Mar 24 at 22:18
  • I didn't notice that one. I meant the δ(e)=2, Δ(e)=2, etc. That's the part I was trying to align mostly. It's still pretty good. Better looking than what I had. – tjt263 Mar 24 at 23:10
  • @tjt263 I added a different version. – egreg Mar 24 at 23:16
3

align and alignat allow you to align. And you can put things in a node which has the same width as the figure.

\documentclass[tikz,margin=2mm]{standalone}
\usetikzlibrary{positioning,calc}
\usepackage{amsmath}
\begin{document}
\begin{tikzpicture}[Bullet/.style={circle,draw,fill=black,scale=0.75}]
\begin{scope}[local bounding box=top]
\begin{scope}[local bounding box=left]
 \node[Bullet,label=left :{$e_1$}] (E1) at (0,2) {} ;
 \node[Bullet,label=above:{$e_2$}] (E2) at (1,3) {} ;
 \node[Bullet,label=right:{$e_3$}] (E3) at (2,2) {} ;
 \node[Bullet,label=right:{$e_4$}] (E4) at (2,0) {} ;
 \node[Bullet,label=left :{$e_5$}] (E5) at (0,0) {} ;
 \draw[thick] (E1)--(E2)--(E3)--(E4)--(E5)--(E1) {} ;
\end{scope}
 \begin{scope}[local bounding box=right,xshift=4cm]
 \node[Bullet,label=left :{$c_1$}] (C1) at (0,2) {} ;
 \node[Bullet,label=above:{$c_2$}] (C2) at (1,3) {} ;
 \node[Bullet,label=right:{$c_3$}] (C3) at (2,2) {} ;
 \node[Bullet,label=right:{$c_4$}] (C4) at (2,0) {} ;
 \node[Bullet,label=left :{$c_5$}] (C5) at (0,0) {} ;
 \draw[thick] (C1)--(C3)--(C5)--(C2)--(C4)--(C1) {} ;
\end{scope}
\end{scope}
\path let \p1=($(top.east)-(top.west)$) in
node[below=of top,align=center,text width=\x1]{
\rule[0cm]{\x1}{0.5pt}
degree sequence
\begin{alignat*}{2}
 e&=\{2,2,2,2,2\}& c&=\{2,2,2,2,2\}\\
 \delta(e)&=2 &\delta(c)&=2\\
 \Delta(e)&=2&\Delta(c)&=2
\end{alignat*}
\rule[0cm]{\x1}{0.5pt}
\begin{alignat*}{2}
 \alpha(e_{1})&=c_{1},\quad&\alpha(e_{2})&=c_{3},\\
 \alpha(e_{3})&=c_{5},&\alpha(e_{4})&=c_{2},\\
 \alpha(e_{5})&=c_{4},&\alpha(e_{1})&=c_{1},
\end{alignat*}
\rule[0cm]{\x1}{0.5pt}
\begin{align*}
e_{1}&\to{}e_{2}\to{} e_{3}\to{}e_{4}\to{}
            e_{5}\to{}e_{1}\\
            c_{1}&\to{}c_{3}\to{} c_{5}\to{}c_{2}\to{}
            c_{4}\to{}c_{1}
\end{align*}
\rule[0cm]{\x1}{0.5pt}};
\end{tikzpicture}
\end{document}

enter image description here

  • very nice, thankyou – tjt263 Mar 24 at 21:22
3

with use of nested array:

\documentclass[margin=2mm]{standalone}
\usepackage{amsmath,animate}
\usepackage{graphicx}
\usepackage{booktabs}
\usepackage{tikz}

\begin{document}
$
\begin{array}{@{}c @{}}
\begin{array}{cc}
\tikz\node[draw]{\includegraphics[width=31mm]{example-image-duck}};
                    & \tikz\node[draw]{\includegraphics[width=31mm]{example-image-duck}};\\
   \midrule
\multicolumn{2}{c}{$degree sequence$}               \\[1ex]
e =\{2,2,2,2,2\}    & c =\{2,2,2,2,2\}              \\
\delta(e)=2         & \delta(c)=2                   \\
\Delta(e)=2         & \Delta(c)=2                   \\
        \end{array}                                 \\    
    \midrule
\alpha(e_{1})=c_{1},\quad   \alpha(e_{2})=c_{3},    \\
\alpha(e_{3})=c_{5},\quad   \alpha(e_{4})=c_{2},    \\
\alpha(e_{5})=c_{4},\quad   \alpha(e_{1})=c_{1},    \\
    \midrule
e_{1}\to e_{2}\to e_{3}\to e_{4}\to e_{5}\to e_{1}  \\
c_{1}\to c_{3}\to c_{5}\to c_{2}\to c_{4}\to c_{1}  \\
    \midrule
\end{array}
$
\end{document}

instead your tikzpicture code i use example image.

enter image description here

  • +1 for a pretty good answer. +100 for the duck. – tjt263 Mar 24 at 23:16

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.