4

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.

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

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

2
  • This certainly accomplishes what I want to do, but I'm afraid this might behave unpredictably with some of my content. I also think It is a bit excessive to use tikz just for jumping down to a height on the page in a collumn. Is there really no simpler way?
    – Delta t
    Jul 28 '14 at 16:44
  • @Deltat There may well be a better "standard" way of doing this but I don't know of it...if there is hopefully some one else will give it as an answer. I think that the tikz approach will be quite robust, especially if you put a minipage inside the \vbox. There should also be a better way of specifying the placement of the nodes - I thought that putting anchor=north west would allow me to place the nodes according to the position of their top left corner but this didn't work...
    – user30471
    Jul 28 '14 at 23:09

This site is temporarily in read only mode and not accepting new answers.

Not the answer you're looking for? Browse other questions tagged .