Take the 2-minute tour ×
TeX - LaTeX Stack Exchange is a question and answer site for users of TeX, LaTeX, ConTeXt, and related typesetting systems. It's 100% free, no registration required.

I am trying to create a 2 x 2 table with centered headings. The row headings need to be rotated as shown below (mocked-up in another program). The cells are supposed to be 1in tall and 1.4in wide.

Example to table

What I get instead is the following. The height of the parbox seems to have been added to the cell height. I have tried correcting this with \raisebox and \strut and \rule to no avail:

Example of table

My code currently looks like this:

\begin{supertabular}{c | p{1.4in} | p{1.4in} |}
    \multicolumn{1}{c}{} & \multicolumn{1}{c}{\centering Full} & \multicolumn{1}{c}{\centering Partial} \\
    \cline{2-3}
    \raisebox{-1in}[0in][0in]{\rotatebox{90}{\parbox[c]{1in}{\centering Shutdown}}} & {Pellentesque enim mi, ornare in blandit quis, dignissim ut velit. Etiam tempus tortor quam.} & {Lorem ipsum dolor sit amet, consectetur adipiscing elit. Proin a lorem sed dui aliquam feugiat eget at arcu.} \\[1in]
    \cline{2-3}
    \raisebox{-1in}[0in][0in]{\rotatebox{90}{\parbox[c]{1in}{\centering Active}}} & {Pellentesque convallis scelerisque libero, eu gravida metus porttitor nec. Nulla facilisi.} & {Sed auctor nibh at purus mattis porta. Nunc vitae ante lacus.} \\[1in]
    \cline{2-3}
\end{supertabular}
share|improve this question
    
Thanks for the edit Lionel. –  Neil Steiner Nov 19 '12 at 21:11
    
Welcome to TeX.sx! A tip: If you indent lines by 4 spaces or enclose words in backticks `, they'll be marked as code, as can be seen in my edit. You can also highlight the code and click the "code" button (with "{}" on it). –  Guido Nov 19 '12 at 21:23
    
@Guido. Noted. Thank you. –  Neil Steiner Nov 19 '12 at 21:38
1  
@NeilSteiner You're welcome. It does not solve your problem, but for your information, the command \\[1in] will add a 1 inch space between the 2 rows of your table, as you can see on your attempt –  Lionel MANSUY Nov 19 '12 at 21:47
add comment

1 Answer

Thanks to Lionel's comment, and some extra digging, I found that the following works:

\newlength{\height}
\setlength{\height}{1in}
\newlength{\pointsevenbaselineskip}
\setlength{\pointsevenbaselineskip}{0.7\baselineskip}

\begin{supertabular}{c @{\rule[-\height+\pointsevenbaselineskip]{0pt}{\height}~} | p{1.4in} | p{1.4in} |}
    \multicolumn{1}{c}{} & \multicolumn{1}{c}{\centering Full} & \multicolumn{1}{c}{\centering Partial} \\
    \cline{2-3}
    \raisebox{-\height+\pointsevenbaselineskip}[0in][0in]{\rotatebox{90}{\parbox[c]{\height}{\centering Shutdown}}} 
        & \small{Pellentesque enim mi, ornare in blandit quis, dignissim ut velit. Etiam tempus tortor quam.} 
        & \small{Lorem ipsum dolor sit amet, consectetur adipiscing elit. Proin a lorem sed dui aliquam feugiat eget at arcu.} \\
    \cline{2-3}
    \raisebox{-\height+\pointsevenbaselineskip}[0in][0in]{\rotatebox{90}{\parbox[c]{\height}{\centering Active}}}
        & \small{Pellentesque convallis scelerisque libero, eu gravida metus porttitor nec. Nulla facilisi.} 
        & \small{Sed auctor nibh at purus mattis porta. Nunc vitae ante lacus.} \\
    \cline{2-3}
\end{supertabular}

I'm not sure why even with the calc package, -\height+\pointsevenbaselineskip works, but -\height+0.7\baselineskip does not.

This approach is non-ideal if the row height isn't fixed (mine isn't, despite the way I posed the question), but I can \setlength{\height}{...} on a per-row basis if necessary. If someone can offer a better solution, particularly if it provides a way to infer the cell height and center automatically, I'll be happy to accept it.

share|improve this answer
1  
Would it be helpul: tex.stackexchange.com/questions/52389/… ? –  maria Nov 20 '12 at 0:38
    
@maria, thanks for the suggestion. I just tried that, but it doesn't vertically center the heading with respect to the cell parbox, so it doesn't help my situation. –  Neil Steiner Nov 20 '12 at 16:44
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

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