11

I'm creating a CV and I'm rather specific about my layout.

I want a constant header on each page. On the left side of the page I want a column containing my personal presentation. It starts with a picture and my personal letter follows. If it doesn't fit on the first page I want it to continue on the following pages.

To the right of the column is my actual CV area, where I write about previous jobs, educations etc in a structured manner. That part also continues on following pages until everything has been included. For clearity I've create a picture of the layout which is mostly correct, the only exception is that I don't want a ragged right:

Desired CV layout

I've used quite a bit of LaTeX but I don't know how to realize this layout. I am not tied to LaTeX, as long as it is TeX based I'm happy. Perhaps it's easier with ConTeX? Or even plain TeX?

I have considered using Scribus and having rendered frames containing LaTeX output. It will become a bit messy as I'll have to cut and paste manually at the page start & break.

Werner
  • 603,163
Deleted
  • 213
  • Hi Kent, Welcome to TeX.SE! Have you looked at the longtable package? Or else parchunks from the parcolumn package? – cmhughes Dec 02 '12 at 22:55
  • @cmhughes: Thanks! I have used longtable, but it was quite a while ago. I'll look into the suggested packages and post an answer if I find a good way and no one beats me to it. – Deleted Dec 02 '12 at 23:52
  • @Werner: Thanks for the tip! I'll check flowfram out and post an answer if I find a good way and no one beats me to it. – Deleted Dec 02 '12 at 23:53
  • What should happen on the second page if the left column doesn't fit in the first page but occupies just a small amount of space on the following page? Should the blanck space below it be filled with the contents of the other column? – Mafra Dec 03 '12 at 03:08
  • @Mafra: I'm not sure. My initial thought was that it would look best if the contents of the other column would get more space. But if that's hard I think it would look good anyway. – Deleted Dec 03 '12 at 04:25

1 Answers1

10

My initial thought was to use flowfram. It's definitely doable, but I don't think it's the best way to do it. Regardless, here's a solution using flowfram:

enter image description here

\documentclass{article}
\usepackage[margin=1in]{geometry}% http://ctan.org/pkg/geometry
\usepackage[draft]{flowfram}% http://ctan.org/pkg/flowfram
\usepackage{graphicx,lipsum}% http://ctan.org/pkg/{graphicx,lipsum}

% First page setup \newstaticframe{\textwidth}{0.1\textheight} {0pt}{.9\textheight}[headertext] \newdynamicframe[1]{0.30\textwidth}{0.85\textheight} {0pt}{0pt}[leftcolumn1] \newdynamicframe[2]{0.30\textwidth}{0.85\textheight} {0pt}{0pt}[leftcolumn2] \newdynamicframe[3]{0.30\textwidth}{0.85\textheight} {0pt}{0pt}[leftcolumn3] \newflowframe{0.65\textwidth}{0.85\textheight} {0.35\textwidth}{0pt}[rightcolumn]

\begin{document}

\begin{staticcontents}{headertext} This is your header text. This is your header text. This is your header text. This is your header text. This is your header text. This is your header text. This is your header text. This is your header text. This is your header text. \end{staticcontents}

\begin{dynamiccontents}{leftcolumn1} \centering\includegraphics[width=.8\linewidth]{example-image-a}\par\bigskip \raggedright Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Ut purus elit, vestibulum ut, placerat ac, adipiscing vitae, felis. Curabitur dictum gravida mauris. Nam arcu libero, nonummy eget, consectetuer id, vulputate a, magna. Donec vehicula augue eu neque. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Mauris ut leo. Cras viverra metus rhoncus sem. Nulla et lectus vestibulum urna fringilla ultrices. Phasellus eu tellus sit amet tortor gravida placerat. Integer sapien est, iaculis in, pretium quis, viverra ac, nunc. Praesent eget sem vel leo ultrices bibendum. Aenean faucibus. Morbi dolor nulla, malesuada eu, pulvinar at, mollis ac, nulla. Curabitur auctor semper nulla. Donec varius orci eget risus. Duis nibh mi, congue eu, accumsan eleifend, sagittis quis, diam. Duis eget orci sit amet orci dignissim rutrum. Nam dui ligula, fringilla a, euismod sodales, sollicitudin vel, wisi. Morbi auctor lorem non justo. Nam lacus libero, pretium at, lobortis vitae, ultricies et, tellus. \continueonframe[\textit{\small \ldots continued}]{leftcolumn2} \raggedright Donec aliquet, tortor sed accumsan bibendum, erat ligula aliquet magna, vitae ornare odio metus a mi. Morbi ac orci et nisl hendrerit mollis. Suspendisse ut massa. Cras nec ante. Pellentesque a nulla. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Aliquam tincidunt urna. Nulla ullamcorper vestibulum turpis. Pellentesque cursus luctus mauris. Nulla malesuada porttitor diam. Donec felis erat, congue non, volutpat at, tincidunt tristique, libero. Vivamus viverra fermentum felis. Donec nonummy pellentesque ante. Phasellus adipiscing semper elit. Proin fermentum massa ac quam. Sed diam turpis, molestie vitae, placerat a, molestie nec, leo. Maece- nas lacinia. Nam ipsum ligula, eleifend at, accumsan nec, suscipit a, ipsum. Morbi blandit ligula feugiat magna. Nunc eleifend consequat lorem. Sed lacinia nulla vitae enim. Pellentesque tincidunt purus vel magna. Integer non enim. Praesent euismod nunc eu purus. Donec bibendum quam in tellus. Nullam cursus pulvinar lectus. Donec et mi. Nam vulpu- tate metus eu enim. Vestibulum pellentesque felis eu massa.\par \end{dynamiccontents}

\section{Some heading}\lipsum[1] \section{Some heading}\lipsum[2] \section{Some heading}\lipsum[3] \section{Some heading}\lipsum[4] \section{Some heading}\lipsum[5]

\end{document}

The header is set in a staticframe, while the left-hand column is a set of dynamicframes. The actual "structured manner" contents is contained with a regular flowframe. A manual break is decided for the "personal presentation" to flow from one page to the next. Note the use of \par to "finish" the last paragraph and obtain a \raggedright setting.

I've used geometry to increase the text block while also activating the draft package option for flowfram to show the grid layout.

An additional reference for flowfram usage: Three-columns text with figures of 2\columnwidth

Werner
  • 603,163
  • Is there a similar way to do the same but left column independent? It looks really nice the flowfram package. – JnxF Dec 06 '12 at 00:27
  • @JnxF: Please elaborate on what you mean by "left column independent". – Werner Dec 06 '12 at 00:31
  • Exactly the same of that example but the left column "resets" every page jump, so I have a continuous right column wider and one in the left side I have contents that I can fill or not in the pages I want, so there's no continuity between pages. – JnxF Dec 06 '12 at 13:22
  • 1
    @Werner says: "I don't think [flowfram]'s the best way to do it." What do you think is the best way to do it? – mforbes May 23 '13 at 00:05
  • @Werner: What would be a better way then? Thanks! – Julien-L Jan 07 '15 at 20:05
  • 1
    @Julien-L: It depends on the presentation. As-is it seems to do fine, since there's no connection between the left (thin) and right (thick) columns. If you want some cooperation between the two (that is, left/right column starts some text at the same height as the right/left), then flowfram would not work well. Then one would use something like paracol (maybe). – Werner Jan 07 '15 at 20:10