Zentrieren oder „Eingeben“ (in der rechten Spalte) innerhalb einer zwei- (oder mehr-)spaltigen Übersetzungstabelle ist nicht möglich

Zentrieren oder „Eingeben“ (in der rechten Spalte) innerhalb einer zwei- (oder mehr-)spaltigen Übersetzungstabelle ist nicht möglich

Dieser Artikel ist eine Fortsetzung meines alten Beitrags:Zeichnen einer vertikalen Linie innerhalb einer Tabelle oder innerhalb des parallelen Pakets (und wie man parallel erweitert, um mehr als 2 Spalten zu haben.

Dennoch scheint es unmöglich,

  • zentrierter Text in der rechten Spalte
  • mehrere Textzeilen innerhalb desselben "Eintrags" in der rechten Spalte

Die Probleme werden im folgenden Codeausschnitt ausgedrückt:

\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}

Antwort1

Da Sie die Vertikale in einer Spalte manuell erweitern, bin ich mir nicht sicher, wie ich den Vorgang in der anderen automatisieren kann. Aber wenn Sie mit manuellen Eingriffen leben können, sollten Sie in der Lage sein, das gewünschte vertikale Layout zu erreichen, indem Sie \filllines{}manuell Leerzeilen einfügen.

BEARBEITET, um eine horizontale Zentrierung in den Zellen B, D, F und der unteren rechten Zelle zu erreichen. Damit \centeringwirksam wird, \parmuss ein wirksam werden. Dies kann in den letzten beiden Fällen mit erfolgen {\centering...\par}, aber da die Zellen „B“ und „F“ eine einzelne Zeile sind, musste ich es mit erreichen \hfil...\hfill, damit nicht \pareine unerwünschte leere Zeile erzeugt wird.

Um auf den Kommentar des OP zu antworten, wie ich Zelle „D“ vertikal zentriert habe: Der Schlüssel bestand darin, Zelle „C“ zu einer einzelnen Zelle zu machen, während das MWE des OP Zelle „C“ aus zwei einzelnen Zellen zusammensetzt.

\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}

Bildbeschreibung hier eingeben

verwandte Informationen