
Я так близок к тому, чтобы выровнять это правильно, но самая правая ячейка находится вровень с верхней линейкой, тогда как самая левая и центральная ячейки имеют небольшое количество вертикального пространства. Я пытаюсь сделать выравнивание равномерным (либо убрать вертикальное пространство, либо сделать его одинаковым по всей строке).
Я использовал \parbox{}
возможность помещать многострочное выражение в таблицу и выравнивать его по горизонтали.
\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}
Также, если это важно, в моей преамбуле к таблицам в формате APA есть следующее.
\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}
решение1
Не очень понятно, чего вы хотите добиться, вам следует привести полный минимальный пример.
В любом случае, с 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}
решение2
Обратите внимание, что для правильной работы tabularx
окружения требуется использование -column . Без него вы можете просто использовать обычный . Во-вторых, и то, что вы хотите изменить, список встроенных математических элементов не может быть разорван вокруг . Вам придется изменить способ управления этим, используя содержимое из (скажем)X
tabular
,
«Разрешение переноса строки на «,» в режиме встроенных математических вычислений» приводит к разрыву цитат:
\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}
решение3
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}
решение4
Базовая линия \parbox
с несколькими строками текста в нем является базовой линией его самой нижней строки, что дает всему блоку чрезмерную высоту над базовой линией. Такой блок не выравнивается по базовой линии, а по верху, из-за чего он выглядит вровень с правилом выше.
Решение состоит в том, чтобы включить "распорку" в первую строку текста, чтобы (воображаемая) базовая линия ее самой верхней строки совпадала с базовыми линиями в других столбцах. Plain TeX предлагает макросы \strut
и \mathstrut
для этого.
text & \strut text text text text &
$\mathlist{\mathstrut BZ, CY, CX, BZ, BX, AY, AZ, CY, CZ, \ldots}$ \\
Смотрите такжеИдентичный интервал между линиями вывода с Bussproofs.