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:

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.

@Seamus This is not a duplicate of the mentioned question - I already know how to produce rules and inferences. I just want to align them together in one table to form a inference system.
–
julkiewiczFeb 17 '12 at 16:33

@julkiewicz that should be made clearer in the question. Make sure it is understood you are talking about the alignment and spacing between the inferences not the alignment and spacing of the inferences themselves.
–
SeamusFeb 17 '12 at 16:35

@percusse Yes, I would like to align the contents of the two columns and maintain some spacing between the rules.
–
julkiewiczFeb 17 '12 at 16:36

Should \onecol maybe be defined as \newcommand{\onecol}[1]{\multicol{1}{C}{#1}} -- say, to help generate a intelligible error message if \onecol is called without an argument...?
–
MicoFeb 17 '12 at 18:12

It actually seems to me that you should use some of the amsmath environments : gather, aligned, and gathered. I am typing from my phone right now so an example is difficult (I will update later) but you probably want something like this :

When you want a two-column set of formulas (with.each column centered) use an aligned with a gathered for each column. For a single column just use gathered. Put the whole thing in a gather so that the sets are collectively centered and you should get what the example shows.

You tabular column specification will determine the space between the two-column entries:

\begin{tabular}{C@{\quad}C}

will insert \quad between the widest elements in either column. To visualize the gap , you could use C@{}|@{\quad}|@{}C:

An \arraystretch of 2.5 seems sufficient to spread out the expressions within the tabular.

\frac centres its contents with respect to the math axis, so there's no need to fiddle around with vertical adjustment in placing contents on the right.

\frac is also supplied with a \strut in the numerator and denominator for spacing considerations. Alternatively, use \mystrut as defined in @egreg's answer. For convenience, everything is used in a macro \seq that takes, as arguments, the same configuration as \frac.

That's awesome, many thanks! Indeed I ended up using tabular as suggested by egreg. When the time comes for a general clean-up of my work, I will look into the suggestions that you gave here.
–
julkiewiczFeb 17 '12 at 21:23