I am creating a very simple table with three columns and one row. The alignment and content of each column is as follows:
- Col. 1 - (H) center, (V) middle, single character
- Col. 2 - (H) left, (V) top, multiple lines w/ breaks
- Col. 3 - (H) left, (V) top, wrapping text string
It seems like a simple task. I've looked through countless questions, here and elsewhere, and I can't seem to find a way to do this. Here are a couple things I've tried:
Attempt 1
The only thing this needs is a way to vertically-center the first column. Modifying this code would be my first choice, because it's very simple.
\documentclass{article}
\usepackage{lipsum}
\usepackage{array}
\begin{document}
\begin{tabular}{|>{\centering\arraybackslash}p{0.5in}|p{2in}|p{2in}|}
\hline
A &
Line 1 \newline Line 2 \newline Line 3 \newline Line 4 &
\lipsum*[75] \\
\hline
\end{tabular}
\end{document}
Attempt 2
Same as above, except the last column is inside a \parbox
. This makes the first column vertically-centered as desired, but the adjusted baseline causes the second column to start halfway down the cell.
\documentclass{article}
\usepackage{lipsum}
\usepackage{array}
\begin{document}
\begin{tabular}{|>{\centering\arraybackslash}p{0.5in}|p{2in}|p{2in}|}
\hline
A &
Line 1 \newline Line 2 \newline Line 3 \newline Line 4 &
\parbox{2in}{\lipsum*[75]} \\
\hline
\end{tabular}
\end{document}
Attempt 3
Creating a table with several rows and \multirow
works to align the first column, but it won't allow the text to wrap in the third.
\documentclass{article}
\usepackage{lipsum}
\usepackage{array}
\usepackage{multirow}
\begin{document}
\begin{tabular}{|>{\centering\arraybackslash}p{0.5in}|p{2in}|p{2in}|}
\hline
\multirow{4}{*}{A} & Line 1 & \multirow{4}{*}{\lipsum*[75]} \\
& Line 2 & \\
& Line 3 & \\
& Line 4 & \\
\hline
\end{tabular}
\end{document}
Any suggestions? I'm looking for a simple method with limited use of extra packages. This code will be compiled and run server-side on a fairly large scale, so the fewer dependencies, the better.