Ausrichten eines mehrzeiligen Ausdrucks in einer Tabelle

Ausrichten eines mehrzeiligen Ausdrucks in einer Tabelle

Ich bin kurz davor, dies richtig auszurichten, aber die Zelle ganz rechts ist bündig mit der obersten Linie, während die Zellen ganz links und in der Mitte einen kleinen vertikalen Abstand aufweisen. Ich versuche, die Ausrichtung einheitlich zu gestalten (entweder den vertikalen Abstand entfernen oder sie über die gesamte Zeile hinweg einheitlich gestalten).

Ich habe es verwendet, \parbox{}um zuzulassen, dass der mehrzeilige Ausdruck in der Tabelle enthalten und horizontal ausgerichtet ist.

\begin{table}[h]
\caption{Title of Table.}
\begin{tabularx}{\linewidth}{p{1.4cm} p{6.9cm} p{6.8cm}} 
\toprule
Head1 & Head2 & Head3 \\
\midrule
text   & text text text text &  \parbox{6.8cm}{$BZ, CY, CX, BZ, BX, AY, AZ, \\ CY, CZ, \ldots$ } \\
\bottomrule
\end{tabularx}
\end{table}

Falls dies wichtig ist, habe ich in meiner Präambel für APA-formatierte Tabellen außerdem Folgendes aufgeführt.

\DeclareCaptionLabelSeparator*{spaced}{\\[2ex]}
\captionsetup[table]{textfont=it,format=plain,justification=justified,
  singlelinecheck=false,labelsep=spaced,skip=0pt}
\captionsetup[figure]{labelsep=period,labelfont=it,justification=justified,
  singlelinecheck=false,font=doublespacing}

Antwort1

Es ist nicht ganz klar, was Sie erreichen möchten. Sie sollten ein vollständiges Minimalbeispiel angeben.

Wie auch immer, mit tabularray:

\documentclass{article}
\usepackage{tabularray}
\UseTblrLibrary{booktabs} 
\usepackage{caption}
\DeclareCaptionLabelSeparator*{spaced}{\\[2ex]}
\captionsetup[table]{textfont=it,format=plain,justification=justified,
    singlelinecheck=false,labelsep=spaced,skip=0pt}
\captionsetup[figure]{labelsep=period,labelfont=it,justification=justified,
    singlelinecheck=false,font=doublespacing}

\begin{document}
    \begin{table}[h]
        \caption{Title of Table.}
        \begin{tblr}{colspec={Q[1.4cm]Q[6.9cm]X[mode=math]}} 
            \toprule
            Head1 & Head2 & Head3 \\
            \midrule
            text   & text text text text & {BZ, CY, CX, \\ BZ, BX, AY,\\ AZ, CY, CZ, \ldots} \\
            \bottomrule
        \end{tblr}
    \end{table}
\end{document}

Bildbeschreibung hier eingeben

Antwort2

Beachten Sie, dass eine tabularxUmgebung die Verwendung einer X-Spalte erfordert, um ordnungsgemäß zu funktionieren. Ohne eine solche können Sie genauso gut eine normale verwenden tabular. Zweitens, und das möchten Sie ändern, ist eine Liste von Inline-Mathematikelementen nicht um herum umbrechbar ,. Sie müssen ändern, wie dies verwaltet wird, indem Sie Inhalte von (sagen wir) verwenden.„Zeilenumbruch bei , im Inline-Mathematikmodus zulassen“ unterbricht Zitate:

\documentclass{article}

\usepackage{tabularx,booktabs}

% https://tex.stackexchange.com/a/19100/5764
\mathchardef\breakingcomma\mathcode`\,
{\catcode`,=\active
  \gdef,{\breakingcomma\discretionary{}{}{}}
}
\newcommand{\mathlist}[1]{\mathcode`\,=\string"8000 #1}

\begin{document}

\begin{table}
  \caption{Table caption}
  \begin{tabularx}{\linewidth}{ p{14mm} p{69mm} X } 
    \toprule
    Head1 & Head2 & Head3 \\
    \midrule
    text & text text text text & $\mathlist{BZ, CY, CX, BZ, BX, AY, AZ, CY, CZ, \ldots}$ \\
    \bottomrule
  \end{tabularx}
\end{table}

\end{document}

Antwort3

https://tex.stackexchange.com/a/467445/197451

Bildbeschreibung hier eingeben

\documentclass{article}
\usepackage{tabularx}
\usepackage{booktabs}
\usepackage{multirow}

\newcolumntype{C}{>{\centering\arraybackslash}X}
\renewcommand\tabularxcolumn[1]{m{#1}}

\begin{document}
    \begin{table}[h]
        \caption{Title of Table.}
\setlength{\extrarowheight}{2pt}
        \begin{tabularx}{\linewidth}{ccC} 
            \toprule
            Head1 & Head2 & Head3 \\
            \midrule
            text   & text text text text &{{\parbox{3cm}{$BZ, CY, CX, BZ, BX,\\ AY, 
            AZ, CY, CZ, \ldots$ }}} \\
            \bottomrule
        \end{tabularx}
    \end{table}
    \begin{table}[h]
                \caption{Title of Table.}
        \begin{tabularx}{\textwidth}{ccC} 
            \toprule
            Head1 & Head2 & Head3 \\
            \midrule
            text   & text text text text &  {{$BZ, CY, CX, BZ, BX, AY, AZ, CY, CZ, 
            \ldots$ }} \\
            \bottomrule
        \end{tabularx}
    \end{table}
\end{document} 

Antwort4

Die Grundlinie einer \parboxmehrzeiligen Textbox ist die Grundlinie der untersten Zeile, wodurch die gesamte Box über die Grundlinie hinausragt. Eine solche Box ist nicht an der Grundlinie ausgerichtet, sondern oben, sodass sie im Vergleich zur obigen Regel bündig erscheint.

Die Lösung besteht darin, in der ersten Textzeile eine „Strebe“ einzufügen, sodass die (imaginäre) Grundlinie der obersten Zeile mit den Grundlinien in den anderen Spalten übereinstimmt. Plain TeX bietet hierfür die Makros \strutund .\mathstrut

text & \strut text text text text &
$\mathlist{\mathstrut BZ, CY, CX, BZ, BX, AY, AZ, CY, CZ, \ldots}$ \\

Siehe auchIdentischer Abstand der Inferenzlinien bei Bussproofs.

verwandte Informationen