So far I've only seen the front end work in a one-cell-below-the-other manner, so I am probably not expecting much of this question, but here it goes.

Is there any way to create a document with text arranged in columns? Perhaps a way to create a cell with two (or more) inline cells with fixed locations that grow as you type? Any ideas?


Check MakeBilateralCells.m in the directory $InstallationDirectory\Mathematica\8 .0\AddOns\Applications\AuthorTools


This package has been around since Version 4.

Haven't checked/test all features, but the basic functions seems to work with Version 8.0.4.

Some examples:


pastes a template that you can edit:

enter image description here

Open another notebook (Untitled-5 on the left in the screenshot) and evaluate an expression (say Plot something).

In your input notebook (Untitled-4 in my example), evaluate


to get the list of open notebooks:

open notebooks

Your screen now looks like:

two notebooks -1

Select the first cell group in the target notebook. Go back to the input notebook and evaluate the folowing:


The fist cell group in the target notebook now becomes:

blc in the target notebook

two notebooks

  • $\begingroup$ Checking it out $\endgroup$ – Rojo Feb 9 '12 at 3:02
  • $\begingroup$ Can you explain exactly how to use the MakeBilateral function from that add-on? I found the (buried) docs in AuthorToolsGuide.nb (there seems to be no link to AuthorTools help in the Documentation Center!). I loaded AuthorTools. I created a new notebook with a text cell followed by an Input-Output cell pair. In another notebook I created a nb object for that notebook. Then in that other notebook I evaluated MakeBilateral[nb], but nothing seems to happen; I tried the same thing in the target notebook itself, but again nothing happens. Does this really work with Mathematica 8 and, if so, how? $\endgroup$ – murray Feb 9 '12 at 20:25
  • $\begingroup$ @murray, I just edited my post. It has been several years since last time I used this package. But (based on limited tests) it seems to work in Version 8. $\endgroup$ – kglr Feb 9 '12 at 22:59
  • $\begingroup$ Then I guess my problem is I don't know how to do the following programmatically from another ("control") notebook for which I already have a Notebook token nb: for the target notebook, make several consecutive Text/Input-Output cell pairs bilateral (including how to do it for the entire target notebook). I tried MakeBilateral[SelectionMove[nb, All, Notebook]] but that didn't work. $\endgroup$ – murray Feb 10 '12 at 15:00
  • $\begingroup$ @murray, I also run into similar glithches with some functions in the package (like selecting multiple cell groups and making them bilateral puts only the first cell on the left, and the rest on the right cell). Given that the package has not been touched since 2004, some issues are to be expected.I will look into code to see if I can figure out a way that works. $\endgroup$ – kglr Feb 11 '12 at 3:15

Well, there's the Column command:

x^Range[5] // Column

enter image description here

You may also want to have a look at its siblings, Row and Grid:

x^Range[5] // Row

enter image description here

Table[x^(i j), {i, 5}, {j, 5}] // Grid

enter image description here

  • $\begingroup$ Row, Grid, and Table are entirely different creatures -- for different purposes. MakeBilateral is to make documents or parts of documents like the style of Wolfram's old printed "The Mathematica Book", with explanatory text alongside Input/Output cell pairs. That style is quite effective when the Input/Output lines are not too long, and it makes the combination of annotation and code stand out. Trying to do that with Grid, etc., would take a lot of work to massage the result to imitate what MakeBilateral does. $\endgroup$ – murray Feb 11 '12 at 17:01

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.