并排对齐文本和 Tikz 图像

并排对齐文本和 Tikz 图像

我无法将文本对齐到 Tikz 图像的右侧。

\documentclass{article}
\usepackage{amsmath}
\usepackage{tikz}
\begin{document}
\paragraph
$
\begin{aligned}[t]
&I_\Delta=\left<x_1,y_1,z_1\right>\cap
\left<x_1,y_1,z_1\right>\cap\left<x_1,y_1,z_1\right>\cap\\
&\qquad \ \left<x_1,y_1,z_1\right>\cap\left<x_1,y_1,z_1\right>\cap\left<x_1,y_1,z_1\right>\cap\\
&\qquad ~ \left<x_1,y_1,z_1\right>\cap
\end{aligned}
$
\hfill
\begin{tikzpicture}
   \foreach \n/\x/\l/\p in
 {2112/{( 1.8  , 1.1)}/{$z_1$}/right,
  1122/{( 0.1, 2.7)}/{$x_1$}/above,
  1212/{(-1.9 , 1.4  )}/{$y_1$}/left,
  1221/{(-2.7  ,-0.5)}/{$z_2$}/left,
  2121/{( 1  ,-0.8  )}/{$y_2$}/right,
  2211/{(-0.9,-2  )}/{$x_2$}/below
 }
  \node[inner sep=2pt,circle,draw,fill,label={\p:\l}] (\n) at \x {};
\draw (1122) -- (1212) -- (1221) -- (2211) -- (2121) -- (2112) -- (1122);
\draw (1221) -- (2121) -- (1122) -- (1221);
\draw[dashed] (1212) -- (2211) -- (2112) -- (1212);
\end{tikzpicture}
\end{document}

答案1

您不需要 minipages,但您需要删除\paragraph,或将默认参数添加到\paragraph,即\paragraph{Heading}。并且您可能希望将其[baseline]作为垂直对齐环境的参数tikzpicture。如果您想对其进行微调,请使用baseline=<length>,其中<length>可以是正数或负数,例如length=2cm, 或length=-1cm

你在这里确实得到了一个过满的框,因为方程式+图表比文本块宽,所以我将图表缩小了一点scale=0.85

\documentclass{article}
\usepackage{amsmath}
\usepackage{tikz}
\begin{document}
\noindent$
\begin{aligned}[t]
&I_\Delta=\left<x_1,y_1,z_1\right>\cap
\left<x_1,y_1,z_1\right>\cap\left<x_1,y_1,z_1\right>\cap\\
&\qquad \ \left<x_1,y_1,z_1\right>\cap\left<x_1,y_1,z_1\right>\cap\left<x_1,y_1,z_1\right>\cap\\
&\qquad ~ \left<x_1,y_1,z_1\right>\cap
\end{aligned}
$
\hfill
\begin{tikzpicture}[baseline,scale=0.85]
   \foreach \n/\x/\l/\p in
 {2112/{( 1.8  , 1.1)}/{$z_1$}/right,
  1122/{( 0.1, 2.7)}/{$x_1$}/above,
  1212/{(-1.9 , 1.4  )}/{$y_1$}/left,
  1221/{(-2.7  ,-0.5)}/{$z_2$}/left,
  2121/{( 1  ,-0.8  )}/{$y_2$}/right,
  2211/{(-0.9,-2  )}/{$x_2$}/below
 }
  \node[inner sep=2pt,circle,draw,fill,label={\p:\l}] (\n) at \x {};
\draw (1122) -- (1212) -- (1221) -- (2211) -- (2121) -- (2112) -- (1122);
\draw (1221) -- (2121) -- (1122) -- (1221);
\draw[dashed] (1212) -- (2211) -- (2112) -- (1212);
\end{tikzpicture}
\end{document}

答案2

使用小页面:

\documentclass{article}
\usepackage[hmargin=2cm]{geometry}
\usepackage{amsmath}
\usepackage{tikz}
\begin{document}
\begin{minipage}{.5\linewidth}
    \begin{align}
        &I_\Delta=\left<x_1,y_1,z_1\right>\cap
        \left<x_1,y_1,z_1\right>\cap\left<x_1,y_1,z_1\right>\cap \\
        &\qquad \ \left<x_1,y_1,z_1\right>\cap\left<x_1,y_1,z_1\right>\cap\left<x_1,y_1,z_1\right>\cap \\
        &\qquad ~ \left<x_1,y_1,z_1\right>\cap
    \end{align}
\end{minipage}%
\begin{minipage}{.5\linewidth}
    \centering
    \begin{tikzpicture}
        \foreach \n/\x/\l/\p in{
            2112/{( 1.8  , 1.1)}/{$z_1$}/right,
            1122/{( 0.1, 2.7)}/{$x_1$}/above,
            1212/{(-1.9 , 1.4  )}/{$y_1$}/left,
            1221/{(-2.7  ,-0.5)}/{$z_2$}/left,
            2121/{( 1  ,-0.8  )}/{$y_2$}/right,
            2211/{(-0.9,-2  )}/{$x_2$}/below%
        }{
            \node[inner sep=2pt,circle,draw,fill,label={\p:\l}] (\n) at \x {};
        }
        \draw (1122) -- (1212) -- (1221) -- (2211) -- (2121) -- (2112) -- (1122);
        \draw (1221) -- (2121) -- (1122) -- (1221);
        \draw[dashed] (1212) -- (2211) -- (2112) -- (1212);
    \end{tikzpicture}
\end{minipage}
\end{document}

请注意我如何注释掉空格:一个在 foor 循环的头部,另一个在 minipages 之间。第一个空格导致错误,即密钥below 未知(因为尾随空格)。第二个空格会导致 minipages 之间出现换行符。

我减少了水平边距,因为否则它无法放在一行上。

相关内容