
Estoy muy cerca de alinear esto correctamente, pero la celda de la derecha está al ras de la regla superior, mientras que las celdas de la izquierda y del centro tienen una pequeña cantidad de espacio vertical. Estoy tratando de hacer que la alineación sea uniforme (eliminar el espacio vertical o hacer que sea consistente en toda la fila).
Solía \parbox{}
permitir que la expresión multilínea estuviera contenida dentro de la tabla y alineada horizontalmente dentro de ella.
\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}
Además, en caso de que esto sea importante, tengo lo siguiente en mi preámbulo para tablas con formato 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}
Respuesta1
No está muy claro lo que quiere lograr; debe proporcionar un ejemplo mínimo completo.
De todos modos, con 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}
Respuesta2
Tenga en cuenta que un tabularx
entorno requiere el uso de una X
columna para funcionar correctamente. Sin uno, también puedes usar uno normal tabular
. En segundo lugar, y lo que busca cambiar, una lista de elementos matemáticos en línea no se puede dividir ,
. Tendrás que cambiar la forma en que se administra usando contenido de (digamos)"Permitir saltos de línea en ',' en modo matemático en línea" rompe las citas:
\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}
Respuesta3
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}
Respuesta4
La línea base de un cuadro \parbox
con varias líneas de texto es la línea base de su fila más inferior, lo que le da a todo el cuadro una altura excesiva por encima de la línea base. Un cuadro de este tipo no está alineado en la línea de base sino en la parte superior, lo que hace que parezca alineado con la regla anterior.
La solución es incluir un "puntal" en su primera línea de texto para que la línea de base (imaginaria) de su fila superior se alinee con las líneas de base de las otras columnas. Plain TeX ofrece las macros \strut
y \mathstrut
para esto.
text & \strut text text text text &
$\mathlist{\mathstrut BZ, CY, CX, BZ, BX, AY, AZ, CY, CZ, \ldots}$ \\
Ver tambiénEspaciado idéntico de líneas de inferencia con Bussproofs.