看起来是个简单的问题,但我真的是 LaTeX 新手,即使找到了这个论坛上的一些问答,也无法找到解决方案。你能帮忙吗?如图所示,表格比文本列宽,并与另一列相撞。我知道表格中的文本太长,但是有没有一种简单的方法可以强制表格与文本宽度相同,并将文本换行到同一表格行中的两行,而无需使用不同的包?
\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}
答案1
如果没有其他包,我不知道如何自动执行此操作(但我已经添加了缺失的包书签从您的代码中获取以便使用\toprule
和\midrule
从您的代码中获取)。
您可以使用p{<length>}
列规范为最后一列指定宽度。您需要反复试验才能找到长度值(在此代码中,我将尺寸从 2cm 扩大到水平盒溢出警告;在这个特定的例子中,我收到了带有值的警告2.5cm
,但没有收到带有值的警告2.49cm
。
我已经删除了氢化物包,与此无关,并添加利普萨姆用于用文本填充页面。
在此代码中,我还在文档类中明确添加了letterpaper
纸张格式,因为类型列使用的值p
取决于页面的宽度,并且对于一些欧洲用户来说,默认情况下,它是a4paper
没有明确给出纸张格式时的格式。
\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}
答案2
- 欢迎来到 TeX:SE!
- 下次请提供 MWE(最小工作示例)的代码片段。现在我们必须猜测文档类和(由它)定义的页面布局。两者都会影响表格格式
- 对于您的表格,我将使用带有
tabularray
库/包的包booktabs
,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}