
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}
Antwort2
Beachten Sie, dass eine tabularx
Umgebung 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
\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 \parbox
mehrzeiligen 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 \strut
und .\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.