我有两个与在 LaTeX 中创建表格相关的问题。我的第一个问题是我无法限制表格的宽度以防止其超出边距。这是我的代码
\begin{center}
\begin{tabular}{@{}ll>{$}r<{$}@{}} \toprule
\multicolumn{2}{c}{FOFDM parameters}\\\cmidrule(r){1-2}
Parameter& Value &\textrm{Detail}\\\midrule
FOFDM\textunderscore NumberOfSubcarriers & $24$ & Number\ of\ subcarriers\\
FOFDM\textunderscore NumberOfSymbolsInTime & $14$ & Number\ FOFDM\ symbols\ in\ time\\
FOFDM\textunderscore SubcarrierSpacing & $15\times 10^3$ & Subcarrier\ spacing (Hz)\\
FOFDM\textunderscore CyclicPrefixLength & $0$ & Length\ of\ the\ cyclic\ prefix\ (s)\\
FOFDM\textunderscore FilterLengthTX & $0.2\times \frac{1}{FOFDM\textunderscore SubcarrierSpacing}$ &Length\ at\ the\ transmitter\ filter\ (s)\\
FOFDM\textunderscore FilterLengthRX & $0.2\times \frac{1}{FOFDM\textunderscore SubcarrierSpacing}$ &Length\ at\ the\ receiver\ filter\ (s)\\
%\caption{Configuration of the simulation}
%\label{FOFDMConfig}
\hline
\end{tabular}
\end{center}
\hfill
我的第二个问题是 \caption{} 和 \label{} 似乎不起作用,并且在编译时出现此错误:
! LaTeX Error: \caption outside float.See the LaTeX manual or LaTeX Companion for explanation.Type H <return> for immediate help.... \caption
谢谢你的帮助
答案1
在带有标题的编号表格上下文中,命令 \caption{} 旨在在table
浮动环境中使用。标签用于引用该标题,因此它应该位于紧随其后的 caption 参数内,但无论如何也要位于表格环境中并在任何其他标题之前。
有一些包使用没有浮点数的标题:caption
但capt-of
通常对编号表格和图形最方便的是使用浮点数。
关于表格的宽度,首先要理解的是r
,、c
和l
列不能分隔文本,因此每列的宽度主要是该列最长文本的长度。要允许换行,您可以使用列作为p{5cm}
或p{5em}
,或者更好的是,使用相对长度(例如p{0.2\linewidth}
)。或者,您也可以使用包使用m
和列。b
array
使用固定宽度列将整个表格的宽度固定为文本宽度并非易事,因为您必须考虑列分隔符 ( \tabcolsep
) 的宽度,以及(但愿不是)垂直规则的宽度。使用tabular*
、tabularx
或tabulary
环境可以大大简化此过程,在这些环境中,您可以简单地设置整个表格的宽度。此站点中有很多使用这三种环境的示例。哪种更好主要取决于表格类型,但值得注意的是,这些解决方案中的任何一种都无法更好地适应某些表格,而无法创造奇迹,因此通常建议仔细重新设计表格,如果这还不够,请使用较小的字体大小或横向页面等。使用 的示例tabulary
:
\documentclass[11pt]{article}
\usepackage{booktabs,array,tabulary}
\begin{document}
\begin{table}
\caption{Configuration of the simulation}
\label{FOFDMConfig}
\small\extrarowheight1ex
\begin{tabulary}{\linewidth}{@{}lcL@{}}\toprule
FOFDM\textunderscore Parameter& Value &\textrm{Detail}\\\midrule
NumberOfSubcarriers & $24$ & Number\ of\ subcarriers\\
NumberOfSymbolsInTime & $14$ & Number\ FOFDM\ symbols\ in\ time\\
SubcarrierSpacing & $15\times 10^3$ & Subcarrier\ spacing (Hz)\\
CyclicPrefixLength & $0$ & Length\ of\ the\ cyclic\ prefix\ (s)\\
FilterLengthTX & $0.2\times \frac{1}{FOFDM\textunderscore SubcarrierSpacing}$ &Length at the transmitter filter (s)\\
FilterLengthRX & $0.2\times \frac{1}{FOFDM\textunderscore SubcarrierSpacing}$ &Length at the receiver filter (s)\\\bottomrule
\end{tabulary}
\end{table}
\end{document}