
Parece un problema fácil, pero en realidad soy un novato en LaTeX y no puedo encontrar una solución ni siquiera con algunas preguntas de control de calidad que encontré en este foro. ¿Puedes ayudarme? Como muestra la imagen, la tabla es más ancha que la columna de texto y choca con la otra columna. Entiendo que el texto de la tabla es demasiado largo, pero ¿hay alguna forma sencilla de forzar que la tabla tenga el mismo ancho que el texto y ajustar el texto en dos líneas en la misma fila de la tabla sin utilizar paquetes diferentes?
\usepackage[table]{hypcap}
\begin{table}[ht]
\centering
\renewcommand{\arraystretch}{1.8}
\begin{tabular}{c|c|c|l}
Parameter & Value & Units & Description\\
\toprule \midrule
E & 200 & GPa & Young's modulus\\
$f_{c}$ & 30 & MPa & Ultimate compressive strength\\
$\varepsilon_{t0}$ & 805 $\cdot 10^{-4}$ & - & Initial threshold of damage for $\varepsilon_t$\\
\hline
\end{tabular}
\caption{a}
\end{table}
Respuesta1
Sin un paquete diferente, no sé cómo hacer esto automáticamente (pero agregué el paquete que faltapestañasde su código para poder utilizar \toprule
y \midrule
de su código).
Puede utilizar la p{<length>}
especificación de columna para darle un ancho a su última columna. Necesitas encontrar el valor de la longitud con pruebas y errores (en este código, amplié el tamaño desde 2 cm hasta obtener unhbox demasiado llenoadvertencia; en este ejemplo particular, recibí una advertencia con el valor 2.5cm
, pero no con el valor 2.49cm
).
he eliminado elhipcappaquete, no relevante aquí, y agregadolabiospara llenar la página con texto.
En este código, también agregué explícitamente el letterpaper
formato de papel en la clase de documento, porque el valor a usar para la p
columna de tipo depende del ancho de la página y, de forma predeterminada, para algunos usuarios europeos, es el a4paper
formato cuando no hay ningún formato de papel. dado explícitamente.
\documentclass[10pt,twocolumn]{article}
\usepackage{lipsum}
\usepackage{booktabs}
\begin{document}
\lipsum[1-7]
\begin{table}[ht]
\centering
\renewcommand{\arraystretch}{1.8}
\begin{tabular}{c|c|c|p{2.49cm}}
Parameter & Value & Units & Description\\
\toprule \midrule
E & 200 & GPa & Young's modulus\\
$f_{c}$ & 30 & MPa & Ultimate compressive strength\\
$\varepsilon_{t0}$ & 805 $\cdot 10^{-4}$ & - & Initial threshold of damage for $\varepsilon_t$\\
\hline
\end{tabular}
\caption{a}
\end{table}
\lipsum[8-14]
\end{document}
Respuesta2
- ¡Bienvenido a TeX:SE!
- Por favor, la próxima vez proporcione el fragmento de código MWE (ejemplo de trabajo mínimo). Ahora teníamos que adivinar sobre la clase de documento y (por ella) el diseño de página definido. Ambos influyen en el formato de la tabla.
- Para su tabla , emplearía
tabularray
el paquete con bibliotecas/paquetesbooktabs
y :siunitx
ragged2e
\documentclass[twocolumn]{article}
\usepackage{lipsum}
\usepackage{ragged2e}
\usepackage{xcolor}
\usepackage{tabularray}
\UseTblrLibrary{booktabs, siunitx}
\begin{document}
\lipsum[1]
\begin{table}[ht]
\begin{tblr}{
colsep=3pt,
colspec={@{} c Q[c,si={table-format=3.0}] Q[c,si] X[j, appto=\RaggedRight] @{}},
cell{3-Z}{1} = {mode=math},
cell{1,Z}{2,3} = {guard}
}
\toprule
Parameter & Value & Units & Description\\
\midrule
E & 200 & \unit{\giga\pascal}
& Young's modulus\\
f_{c} & 30 & \unit{\mega\pascal}
& Ultimate compressive strength\\
\varepsilon_{t_0}
& \num{805E-4}
& -- & Initial threshold of damage for $\varepsilon_t$ \\
\bottomrule
\end{tblr}
\caption{a}
\label{tab:?}
\end{table}
\lipsum[2-6]
\end{document}