2

I am trying to vertically align a row heading with a table inside the row. But no matter what I do, the heading remains in the center. I tried using p{'width'}, but that had no change.

\documentclass{article}

\begin{document}

    \begin{tabular}{@{}l l}
        \Large{Row Heading 1} & Some text that can span the entire page. \vspace{6pt} \\
        \Large{Row Heading 2} & \begin{tabular}{@{}l l}
        {Column heading 1} & \hspace{1in} {Column Heading 2} \\
        \small{Column data} & \hspace{1in} \small{Column data} \\
        \small{Column data} & \hspace{1in} \small{Column data} \\
        \\
        {Column heading 3} & \hspace{1in} {Column heading 4} \\
        \small{Column data} & \hspace{1in} \small{Column data} \\
        \small{Column data} & \hspace{1in} \small{Column data} \\
        \end{tabular}
    \end{tabular}

\end{document}

enter image description here

  • Welcome to TeX.SX. On this site, questions should include a "Minimal Working Example" (MWE) that starts with \documentclass, includes all relevant \usepackage commands, ends with \end{document} and compiles without errors, even if it does not produce your desired output. – Sandy G Mar 1 at 3:12
  • @SandyG I edited my question so the code was a MWE. – Jacob Bischoff Mar 1 at 3:41
1

If your objective is to align "Row Heading 2" with the top row of the "inner" tabular environment, you should change the setup of the inner tabular from

\begin{tabular}{@{}l l}

to

\begin{tabular}[t]{@{}l l}  % [t] for "top alignment".

Here's a cleaned-up version of your example code. Note that \Large and \small are switches, i.e., they don't take arguments. I've also replaced \vspace{6pt} \\ with the more idiomatic expression \\[6pt], and I've gotten rid of the six \hspace{1in} directives by making the inter-column spacing a part of the definition of the inner tabular environment.

enter image description here

\documentclass{article}
\usepackage{tabularx} % for 'tabularx' environment
\begin{document}

\noindent
\begin{tabularx}{\textwidth}{@{}l X@{}}
\Large Row Heading 1 & Some text that can span the entire page. \\[6pt]
\Large Row Heading 2  & 
\begin{tabular}[t]{@{} l @{\hspace{1in}} l @{}}
   Column heading 1    & Column heading 2\\
   \small Column data  & Column data     \\
   \small Column data  & Column data     \\
   \\ % empty row
   Column heading 3   & Column heading 4   \\
   \small Column data & \small Column data \\
   \small Column data & \small Column data \\
\end{tabular}
\end{tabularx}
\end{document}

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.