我不知道如何创建包含大量公式的复杂乳胶图形

我不知道如何创建包含大量公式的复杂乳胶图形

为了练习,我尝试模仿我在一篇论文中找到的图形。它看起来像这样:

我希望它看起来像这样

现在,我所拥有的是这样的:

在此处输入图片描述

我想我成功地使用表格将两个块放在了右上角。第一列是名称,第二列是变量名称,第三列是 ::==,最后一列是案例。

但是,我不知道该怎么做其他的事情。

  • 如何添加“一致性”、“表达式类型”等标题?
  • 如何添加与标题在同一行但右对齐的小框?
  • 如何让一致性行上的公式看起来不全都混杂在一起?
  • 我怎样才能让我的表格不溢出边距呢?

这是我当前的 Latex 代码:

\newcommand{\LABELS}{
\begin{tabular}{l l c l}
Blame labels & $\ell$ \\
Base types   & $B$ & $::=$ & \<int> $|$ \<bool> \\
Types        & $T$ & $::=$ & $B$ $|$ $T -> T$ $|$ $\star$
\end{tabular}
}

\newcommand{\VALUES}{
\begin{tabular}{l l c l}
Constants
  & $k$ & $::=$
  & \<true> $|$ \<false> $|$ 0 $|$ $\dots$ \\

Expressions
  & $e$ &  ::= 
  & $k$ $|$ $x$ $|$ $\lambda x:T.e$ $|$ $(e\;e)^\ell$ \\

\end{tabular}
}

\newcommand{\RULES}{
\inference*{ \\  }{ \star \sim T }

\inference*{ \\  }{ T \sim \star }

\inference*{ A \sim B \\  }{ $\ldots$ }

}

\begin{figure}[H]
\begin{tabular}{l l}
\LABELS & \VALUES \\
\RULES
\end{tabular}   
\end{figure}

\inference\<...>宏来自semantic包。无论如何,我真正想弄清楚的是整体布局 - 公式本身并不那么重要。

相关内容