In the definition of \ressubheading
, you may want to replace the tabular*
environment and the l
and r
column types with a tabularx
environment and raggedright and raggedleft variants of the X
column type.
Note that X
-type columns are all equally wide by default; if you want to change that, say to make the left-hand column a bit wider than the right-hand column, check out the instructions in the user guide of the tabularx
package.
Since it looks like you want the table to occupy the full width of the text block, I have two additional recommendations. First, don't use a fixed width -- such as 6.5in
-- for the tabular[x*]
environment. Instead, set the environment's width to \textwidth
; that way, its width will be determined by LaTeX automatically. (This is particularly useful if \textwidth
is not equal to 6.5in
...) Second, use \noindent
prior to \begin{tabular[x*]}
-- especially if \parindent
is non-zero in your document.
\documentclass[letterpaper,11pt]{article}
\usepackage[margin=1in]{geometry} % choose page margins here
\usepackage{tabularx,ragged2e}
\newcolumntype{L}{>{\RaggedRight\arraybackslash}X}
\newcolumntype{R}{>{\RaggedLeft\arraybackslash}X}
\newcommand{\ressubheading}[4]{%
\noindent
\begin{tabularx}{\textwidth}{@{}LR@{}}
\textbf{#1} & #2 \\
\textit{#3} & \textit{#4} \\
\end{tabularx}%% \vspace{-6pt} % is \vspace macro needed?
}
\usepackage{lipsum} % for filler text
\begin{document}
\ressubheading{A very long piece of text that I wish to break over two lines goes here}%
{Some other reasonably long piece of text}{Less text}{Less text}
\medskip
\lipsum[1] % filler text
\end{document}