[an error occurred while processing this directive]

This page describes another way to make A0 posters using LaTeX.

So you have had a crack at making a poster in LaTeX, but come away feeling that your creative spirit was held back by the edposter style file. Well this page may just be for you.

This document assumes you know the basics of LaTeX, and assumes you know about making simple A0 posters in LaTeX as described here. We use the pstricks package to layout graphical objects, knowing a little about this package will be an advantage, although you should be able to follow the examples without any prior knowledge. Having pstricks documentation handy as a reference will prove usefull once you try to design your own poster.

The Canvas

Instead of starting with a fixed three column format, this time we start with an empty canvas, or more precisely a pspicture environment.

\begin{pspicture}(0,0)(78,105)
  \psframe[linecolor=bg2,framearc=0.1,linewidth=2mm](-1.5,-7.2)(78,104.6)
  .
  .
  .
\end{pspicture}

This gives us a canvas 78cm by 105cm to play with. The \psframe command draws a frame around the edge of the canvas. If you don't want it, don't include this line.

We place things in the frame with the \rput command.

\rput[tr]{90}(25,80){\hello}

The coordinate arguments are where we wish to place our object in the picture and the final argument is object we wish to place. In this case it is \hello which we will define in a moment.

The first two arguments are optional. The first specifies which bit of the object being placed actually goes at the coordinates specified. In the above example the top right corner is placed at x=25, y=80.

The second argument allows us to rotate the object. In this case it is rotated through 90 degrees. If everything we place on the poster is rotated through 90 degrees, we can make a landscape poster without needing a landscape mode!

\newcommand{\hello}{%
  \begin{cbox}[Hello]{}
    \parbox{13cm}{HhHhHhHhHhHh EeEeEeEeEeEeEeEe LlLlLlLlLlLl
      LlLlLlLlLlLl OoOoOoOoOoOo HhHhHhHhHhHh EeEeEeEeEeEeEeEe
      LlLlLlLlLlLl LlLlLlLlLlLl OoOoOoOoOoOo HhHhHhHhHhHh
      EeEeEeEeEeEeEeEe LlLlLlLlLlLl LlLlLlLlLlLl OoOoOoOoOoOo }
  \end{cbox}
}

To define \hello. We have used the cbox environment, which is defined in posterbox.sty which is available from the bottom of this page.

cbox formats its contents in a pretty box with a title at the bottom right. The content in this case is lots of letters from `hello'. The content is formatted using normal LaTeX rules, so a \parbox is used to format the paragraph with a width of 13cm.

The result looks like this:

.tex

Going further

So far we have placed one simple object on the page. We now look at making slightly more complex objects from simple ones.

First we define \world to go with \hello:

\newcommand{\world}{%
  \begin{cbox}[World]{}
    \parbox{13cm}{WwWwWwWwWwWw OoOoOoOoOoOo RrRrRrRrRrRr LlLlLlLlLlLl
      DdDdDdDdDdDd WwWwWwWwWwWw OoOoOoOoOoOo RrRrRrRrRrRr LlLlLlLlLlLl
      DdDdDdDdDdDd WwWwWwWwWwWw OoOoOoOoOoOo RrRrRrRrRrRr LlLlLlLlLlLl
      DdDdDdDdDdDd}
  \end{cbox}
}

And now we combine \hello and \world into a \helloworld object.

\newcommand{\helloworld}{%
  \begin{pspicture}(0,0)(0,0)
    \psframe[fillstyle=solid,fillcolor=bg1,linestyle=none,
             framearc=0.01](0,0)(27,-35)
    \rput[Br]{90}(0,0){\bigtitle{Hello World}}
    \psframe[fillstyle=solid,fillcolor=white,linestyle=solid](2,-2)(21,-33)
    \rput[tl](1.3,-3){\hello}
    \rput[tl](1.3,-18.5){\world}
  \end{pspicture}
}

Here we have a pspicture environment with no size. Having no size just means that LaTeX will not allocate any space for it on the page. This is fine as we are going to place it on our page in space we have already allocated with our page-size picture. Think of this new picture of a way of grouping a few things together so that we can move them around as a single object.

We first draw a solid box 27 by 35 (the y-coordinates are negative so that the origin is at the top left of this group), and then place a title along the left edge, with its bottom right hand corner at the origin.

Next we draw a solid white box over the center of the first box, this time with an outline. We then place the \hello and \world objects on top of this box, one above the other.

Finally we add this to the page, by replacing our original

\rput[tr]{90}(25,80){\hello}
with
\rput[tr]{90}(25,60){\helloworld}

The result can be seen here:

.tex

The outer frame sizes are designed to fit around the size of the two cboxes in the above example. The exact numbers were worked out through trial and error.

Some Contrast

The colours that cbox uses are defined in the style file. For some contrast, we can redefine them temporarily. The following box is constructed in the same way as the previous box (with the same interal meterial in fact) but with different colours.

\newcommand{\contrast}{%
  \definecolor{coolcol}{rgb}{0.3,0.6,0.9}
  \definecolor{titlecol}{rgb}{1,1,1}
  \definecolor{textcol}{rgb}{0.3,0.6,0.9}
  \begin{pspicture}(0,0)(0,0)
    \psframe[fillstyle=solid,fillcolor=bg1,linestyle=none,
             framearc=0.01](0,0)(23,-35)
    \rput[Br]{90}(0,0){\bigtitle{Contrast}}
    \psframe[fillstyle=solid,fillcolor=white,linestyle=solid](2,-2)(21,-33)
    \rput[tl](1.3,-3){\hello}
    \rput[tl](1.3,-18.5){\world}
  \end{pspicture}
}

We can also simply add a title to our poster:

\newcommand{\postertitle}{%
 \begin{tabular}{c}
   {\VeryHuge \bfseries My Hello World Poster} \\
   {\Large \itshape Rob Clark 2003}
 \end{tabular}
}

And add the following to the top level picture:

\rput[t]{90}(5,52){\postertitle}
\rput[tr]{90}(25,30){\contrast}

This then gives us our first completed poster:

.tex

It obviously needs a bit of work, but it should give you a few ideas about designing your own posters in a less restrictive way. At some point I'll write the code to automatically create the outer boxes the right size, but as having to do the layout yourself gives you a better idea of what you can do, I've left them as is now.

You can basically put anything anywhere using rput, but will find it easier to move things around later if you build complex objects out of simple objects as shown.

Files

The LaTeX style files for these example are available here. You also may need the a0 stuff from the simple tutorial files, available here.