Preventing newline from left column from forcing a newline in the right column
The multirow
package can help you here.
If you rather want to set manual line-breaks, you can just explicitly divide the text across the first column, i.e.
\begin{tabular}{L!{\VRule}R}
June 2012 -- & {\bf Pixel Pusher at Vandalay Industries} \\
present & \lipsum[66]\vspace{5pt} \\
Sept. 2011 -- & {\bf Intern Pixel Pusher at Vandalay Industries} \\
Apr. 2012 & \lipsum*[66] \\
\end{tabular}
Code
\documentclass[10pt]{article}
\usepackage[margin=3cm]{geometry}
\usepackage{xcolor,array,lipsum,multirow}
\definecolor{lightgray}{gray}{0.8}
\newcolumntype{L}{>{\raggedleft}p{0.14\textwidth}}
\newcolumntype{R}{p{0.8\textwidth}}
\newcommand\VRule{\color{lightgray}\vrule width 0.5pt}
\begin{document}
\section*{Professional Experience (Orig)}
\begin{tabular}{L!{\VRule}R}
June 2012 -- present & {\bf Pixel Pusher at Vandalay Industries} \\
& \lipsum[66]\vspace{5pt} \\
Sept. 2011 -- Apr. 2012 & {\bf Intern Pixel Pusher at Vandalay Industries} \\
& \lipsum[66] \\
\end{tabular}
\section*{Professional Experience (multirow)}
\begin{tabular}{L!{\VRule}R}
\multirow{2}{\linewidth}{\raggedleft June~2012 -- present} & {\bfseries Pixel Pusher at Vandalay Industries} \\
& \lipsum[66]\vspace{5pt} \\
\multirow{2}{\linewidth}{\raggedleft Sept.~2011 -- Apr.~2012} & {\bfseries Intern Pixel Pusher at Vandalay Industries} \\
& \lipsum*[66]
\end{tabular}
\end{document}
Output
No \multirow
nor nested tabular
environments:
\documentclass[10pt]{article}
\usepackage[margin=3cm]{geometry}
\usepackage{xcolor,array,lipsum,collcell}
\definecolor{lightgray}{gray}{0.8}
\newcolumntype{L}{>{\collectcell\MyDates}l<{\endcollectcell}}
\newcommand{\MyDates}[1]{\parbox[t][0pt]{.14\textwidth}{\raggedleft#1}}
\newcolumntype{R}{p{0.8\textwidth}}
\newcommand\VRule{\color{lightgray}\vrule width 0.5pt}
\begin{document}
\section*{Professional Experience}
\begin{tabular}{L!{\VRule}R}
June~2012 -- present & \bfseries Pixel Pusher at Vandalay Industries \\
& \lipsum[66] \\[5pt]
Sept.~2011 -- Apr.~2012 & \bfseries Intern Pixel Pusher at Vandalay Industries \\
& \lipsum*[66]
\end{tabular}
\end{document}
Just ensure that the right column cell has at least two lines, which should be fairly simple to do.
The trick is to convince TeX that the left column cells have no depth under the baseline: the contents is absorbed by means of Martin Scharrer's collcell
and put into a \parbox
that we give vertical size zero.
Of course there's an easier solution:
\begin{tabular}{>{\raggedleft}p{0.14\textwidth}!{\VRule}p{0.8\textwidth}}
June~2012 -- present &
\textbf{Pixel Pusher at Vandalay Industries}\newline
\lipsum[66]
\\[5pt]
Sept.~2011 -- Apr.~2012 &
\textbf{Intern Pixel Pusher at Vandalay Industries}\newline
\lipsum*[66]
\end{tabular}
(Use Werner's method for getting the full line width.)
How about some nestedness (that must be a neologism in this context) of tabular
s:
\documentclass{article}
\usepackage{lipsum,xcolor,array}
\definecolor{lightgray}{gray}{0.8}
\newcolumntype{L}{>{\raggedleft}p{\dimexpr0.2\textwidth-2\tabcolsep-0.25pt}}
\newcolumntype{R}{p{\dimexpr0.8\textwidth-2\tabcolsep-0.25pt}}
\newcommand\VRule{\color{lightgray}\vrule width 0.5pt}
\begin{document}
\section*{Professional Experience}
\noindent
\begin{tabular}{L!{\VRule}R}
June 2012 -- present & \begin{tabular}[t]{@{}R@{}}
\textbf{Pixel Pusher at Vandalay Industries} \\
\lipsum[66]
\end{tabular} \\[\bigskipamount]
Sept. 2011 -- Apr. 2012 & \begin{tabular}[t]{@{}R@{}}
\textbf{Intern Pixel Pusher at Vandalay Industries} \\
\lipsum[66]
\end{tabular}
\end{tabular}
\end{document}
Some modifications to your code include:
- Using the font changing macro
\textbf
rather than\bf
(an old school switch). See Does it matter if I use\textit
or\it
,\bfseries
or\bf
, etc and Will two-letter font style commands (\bf
,\it
, …) ever be resurrected in LaTeX?; [t]
op-aligning the righttabular
with the left column entry;- Making the width of the
tabular
fit exactly within the page boundary by removing the appropriate amount of space from the desired column widths; - Removing the inter-column space by using a column specifier
@{}
.