[Tex/LaTex] Dividing page into equally sized sections, vertically and horizontally

columnshorizontal alignmentminipagevertical alignment

I am the editor of a student-paper for mathematicians and physicists, which is made entirely through LaTeX.

Right now I need to make a page with several different sections, a lot like the ad-pages of regular newspapers, but don't have the faintest idea of where to start getting this to work.

My main problem is that I want to make the horizontal seperators line up across columns, which I don't know how to do. I already use the multicols package almost throughout the newspaper, but that only takes care of vertical separators.

Is there perhaps a way to jump down to a fixed height on the page? something like

\vspace{*go down to the 1/4 mark of the page-height*}

or an even more convenient solution that works without multicols (minipage perhaps? I don't really know that much about it unfortunately)?

The below is what I'm looking for. Having something like the left would be okay, but if I had the freedom demonstrated in the right one instead, that would be ideal. If there is any way to frame the individual boxes also, I would be oh so very happy.

_____________       _____________
|     |     |       |     |     |
|_____|_____|       |_____|     |
|     |     |   /   |     |_____|
|_____|_____|       |_____|     |
|     |     |       |     |     |
|_____|_____|       |_____|_____|

Best Answer

Edit There may well be a better way of doing this but here's a solution using tikz. It turns out be easier to anchor the nodes at the south west corner.

\documentclass{article}
\usepackage{tikz}
\usepackage{lipsum}

\begin{document}

\begin{tikzpicture}[scale=\textwidth/15.2cm,
                    every node/.style={anchor=south west, rectangle,rounded corners}]
  \node at (0,0) [draw,text width=0.5\textwidth] {
     \vbox to 0.3\textheight{\lipsum[66]}
  };
  \node at (0,7.7) [draw,text width=0.5\textwidth] {
     \vbox to 0.3\textheight{\lipsum[75]}
  };
  \node at (0,15.4) [draw,text width=0.5\textwidth] {
     \vbox to 0.3\textheight{\lipsum[66]}
  };
  \node at (8,0) [draw,text width=0.5\textwidth] {
     \vbox to 0.46\textheight{\lipsum[75]}
  };
  \node at (8,11.5) [draw,text width=0.5\textwidth] {
     \vbox to 0.46\textheight{\lipsum[66]}
  };
\end{tikzpicture}

\end{document}

I think that this should be quite robust, especially if you put your content inside a minipge evironment. Here's the output:

enter image description here

Here's a more simplistic approach for the first equally spaced layout.

\documentclass{article}
\usepackage{multirow}
\usepackage{tabularx}
\usepackage{lipsum}
\begin{document}

\begin{tabularx}{\textwidth}{|X|X|}\hline
  \vbox to 0.3\textheight{\lipsum[66]}
& \vbox to 0.3\textheight{\lipsum[75]} \\ \hline
  \vbox to 0.3\textheight{\lipsum[66]}
& \vbox to 0.3\textheight{\lipsum[75]} \\ \hline
  \vbox to 0.3\textheight{\lipsum[66]}
& \vbox to 0.3\textheight{\lipsum[75]} \\ \hline
\end{tabularx}

\end{document}

This produces:

enter image description here