Este artigo é uma continuação do meu antigo post:Desenhar uma linha vertical dentro de um pacote tabular ou paralelo (e como expandir o paralelo para ter mais de 2 colunas.
Ainda assim, parece impossível ter
- texto centralizado na coluna da direita
- múltiplas linhas de texto dentro da mesma "entrada" na coluna da direita
Os problemas são expressos no seguinte trecho de código:
\documentclass{article}
\newlength\svparskip
\newlength\delfix
\delfix1.3pt
\newlength\colwidth
\setlength\colwidth{\dimexpr.5\textwidth-2\tabcolsep}
\newlength\splitcolwidth
\setlength\splitcolwidth{\dimexpr.25\textwidth-2\tabcolsep}
\newenvironment{partabular}
{\par\svparskip=\parskip\relax\vspace{\delfix}}
{\vspace{\delfix}\parskip=\svparskip\relax}
\newenvironment{nextentry}
{\parskip-\delfix\par\noindent\begin{tabular*}{\textwidth}[t]
{|p{\colwidth}|p{\colwidth}|}\hline}{\hline\end{tabular*}\par}
\def\filllines#1{\vspace{\dimexpr#1\ht\strutbox+#1\dp\strutbox}}
\begin{document}
\begin{partabular}
\begin{nextentry}
\centering{\textbf{$(A)$ some text i can center}} & {\centering{\textbf{$(B)$ some text i can't center}}} \\\hline
$(C)$ some text here and then enter \\ and have some more text below \\ which is possible & $(D)$ \textbf{some text here but then enter} \\ \textbf{and have some more text below} \\ \textbf{isn't possible + the vertical lines on the right get distorted ...} \\
\end{nextentry}
\begin{nextentry}
$(E)$ & $(F)$ \\\hline
\begin{tabular}[t]{@{}p{\splitcolwidth}|p{\splitcolwidth}@{}}
$(H)_1$ \filllines{6}& $(H)_2$
\end{tabular}
& \vspace{1cm} Thanks for any help in advance! :) \\
\end{nextentry}
\end{partabular}
\end{document}
Responder1
Como você estende manualmente a vertical em uma coluna, não sei como automatizar o processo na outra. Mas se você consegue conviver com a intervenção manual, deverá conseguir obter o layout vertical desejado, \filllines{}
inserindo manualmente linhas em branco.
EDITADO para obter centralização horizontal nas células B, D, F e na célula inferior direita. Para que \centering
entre em vigor, um \par
deve entrar em vigor. Isso pode ser feito {\centering...\par}
nos dois últimos casos, mas como as células "B" e "F" são uma única linha, tive que fazer isso com \hfil...\hfill
, para não \par
produzir uma linha em branco indesejada.
Para responder ao comentário do OP sobre como centralizei verticalmente a célula "D", a chave era tornar a célula "C" uma única célula, enquanto o MWE do OP compõe a célula "C" como duas células únicas.
\documentclass{article}
\newlength\svparskip
\newlength\delfix
\delfix1.3pt
\newlength\colwidth
\setlength\colwidth{\dimexpr.5\textwidth-2\tabcolsep}
\newlength\splitcolwidth
\setlength\splitcolwidth{\dimexpr.25\textwidth-2\tabcolsep}
\newenvironment{partabular}
{\par\svparskip=\parskip\relax\vspace{\delfix}}
{\vspace{\delfix}\parskip=\svparskip\relax}
\newenvironment{nextentry}
{\parskip-\delfix\par\noindent\begin{tabular*}{\textwidth}[t]
{|p{\colwidth}|p{\colwidth}|}\hline}{\hline\end{tabular*}\par}
\def\filllines#1{\vspace{\dimexpr#1\ht\strutbox+#1\dp\strutbox}}
\begin{document}
\begin{partabular}
\begin{nextentry}
\centering{\textbf{$(A)$ some text i can center}}
& \hfil\bfseries$(B)$ some text i can't center\hfill\\ \hline
$(C)$ some text here and then enter and have some more text below which is possible\bfseries\par\bigskip
and have some more text below
isn't possible + the vertical lines on the right get distorted ...
& \filllines{2.5}{\centering$(D)$ \bfseries text here but then enter\par}
\filllines{2} \\
\end{nextentry}
\begin{nextentry}
$(E)$ & \hfil$(F)$\hfill \\\hline
\begin{tabular}[t]{@{}p{\splitcolwidth}|p{\splitcolwidth}@{}}
$(H)_1$ \filllines{6}& $(H)_2$
\end{tabular}
& \filllines{2.5} {\centering Thanks for any help in advance! :)\par} \\
\end{nextentry}
\end{partabular}
\end{document}