Hi,
My answer may come a bit late for you, however it may benefit others.
1. I don't know any answer to your first question. It looks to me more of a presentation problem
. It is the PDF viewer's job to arrange pages (ie: one after the other). Pages are usually displayed from top to bottom. Some viewers (like Evince for example) can display a "dual" view, like when reading a book. So you would get
-- ee
a1 a2
b1 b2
...
if you had only two columns and not four. 'ee' is an empty page that fills the place of the first page, which is odd (a real page in a book is made of an odd, then an even page).
2. One possible answer to your second question is to use PDFjam. It is a shell-script interface to the "pdfpages" LaTeX package. Google for the URL, the forum doesn't allow me to put it here because it's my first post.
The quick fix to your problem is:
Code:
$ pdfjam --suffix nup --nup 4x3 --no-landscape a1.pdf a2.pdf a3.pdf [...]
This will arrange your original documents on ONE page of 3 rows x 4 columns. You can experiment with and without landscape (--landscape).
PDFjam's behaviour can be customised through parameters (look at the source code to understand them, the man page is quite light). This is useful for other PDF operations too (join, n-up join, split, n-split, flip, reflect etc.).
Then there is the alternate version of using PDF and PS manipulating libraries in a more generic programming language, as chrism01 suggested. Or the hard-core one where you learn directly PostScript and PDF, edit by hand the documents, and then use Ghostscript to generate the result.
Hope this helps!