[Tex/LaTex] Multi-column spacing of many equation-like environments

logicspacing

I suppose I have a pretty simple question. I want to write down a logic inference system. A good example can be found on page 9 in this document:

enter image description here

What environment would you advise me to use to get a similar effect? In particular I would like to get nice multicolumn alignment (like in a table) and some standard spacing around every element. I don't care particularly about the border around the whole thing.

I tried using tabular however it produces too little spacing. This probably could be fixed, but feels like a hack.

EDIT: I think I might have been misunderstood. I don not ask how to write down inference rules themselves. I already know how to do it and I use bussproofs package for that. What I need is a way to put all those rules that I have in one table with nice spacing in it. Therefore I ask about an environment that would be suitable for something like that.

EDIT(2): Ok, If someone thinks that tabular is the right approach, could you please tell me how to add some padding (margin) to all of the cells – both horizontal and vertical. I realize this might be a trivial question, however I have just spent half an hour looking for an answer.

Best Answer

Skipping over minor details, this may be accomplished with a tabular:

\usepackage{array}
\newcolumntype{C}{>{$\displaystyle}c<{$}}
\newcommand{\onecol}[1]{\multicolumn{2}{C}{#1}}

The above code should go in the preamble. Then the big thing can be set by

\begin{figure}
\centering
\renewcommand{\arraystretch}{2} % adjust here for interrow spacing
\begin{tabular}{CC}
\onecol{Formula for first line} \\
\onecol{Formula for second line} \\
\onecol{Formula for third line} \\
Left formula & right formula (row 4)\\
Left formula & right formula (row 5)\\
...
\end{tabular}
\caption{Sequent calculus formulation}\label{fig:seqcalc}
\end{figure}

Instead of setting \arraystretch you can define

\newcommand\mystrut{\vrule width 0pt height 24pt depth 24pt}

and insert \mystrut in a cell in each row but the first and the last. Adjust the dimensions to suit.

Related Question