我想给表格添加标题。我遇到的情况如下
为了实现这一点,我认为我可以创建一个多行作为表格的第一行,其中包含标题。不幸的是,只有当标题不超过表格宽度时,这种方法才能正常工作:我的意思是,如果标题超出表格宽度,使用此方法,表格将被拉伸,如下所示
我该怎么做才能避免表格被拉伸?我不想使用 \caption 方法,因为我会得到类似“表 1.1:TABLE_TITLE”的内容,而我不想这样。我将在下面保留我为这两个表格写下的代码
\documentclass{article}
\begin{document}
\renewcommand{\arraystretch}{1.5}
\centering
\begin{tabular}{*{3}{|c}|}
\multicolumn{3}{c}{TABLE\_TILE}\\
\hline
Field0 & Field1 & Filed2\\
\hline
value00 & value01 & value02\\
value10 & value11 & value12\\
value20 & value21 & value22\\
\hline
\end{tabular}
\\\vspace{1cm}
\begin{tabular}{*{3}{|c}|}
\multicolumn{3}{c}{A\_VERY\_VERY\_VERY\_LONG\_TABLE\_TILE}\\
\hline
Field0 & Field1 & Filed2\\
\hline
value00 & value01 & value02\\
value10 & value11 & value12\\
value20 & value21 & value22\\
\hline
\end{tabular}
\end{document}
答案1
\caption*
包中定义的一些使用命令的示例caption
:
\documentclass{article}
\usepackage{ragged2e}
\usepackage{caption}
\captionsetup[table]{font=sc,justification=RaggedRight}
\usepackage{threeparttable}
\usepackage{lipsum}
\begin{document}
\begin{table}[ht]
\renewcommand{\arraystretch}{1.2}
\centering
\caption*{TABLE TILE}
\begin{tabular}{*{3}{|c}|}
\hline
Field 0 & Field 1 & Filed 2 \\
\hline
value 00 & value 01 & value 02\\
value 10 & value 11 & value 12\\
value 20 & value 21 & value 22\\
\hline
\end{tabular}
\end{table}
\begin{table}[ht]
\renewcommand{\arraystretch}{1.2}
\centering
\caption*{\lipsum[1][1-2]}
\begin{tabular}{*{3}{|c}|}
\hline
Field 0 & Field 1 & Filed 2 \\
\hline
value 00 & value 01 & value 02\\
value 10 & value 11 & value 12\\
value 20 & value 21 & value 22\\
\hline
\end{tabular}
\end{table}
Caption used in the \verb+threeparttable+:
\begin{table}[ht]
\renewcommand{\arraystretch}{1.2}
\centering
\begin{threeparttable}
\caption*{\lipsum[1][3-4]}
\begin{tabular}{*{3}{|c}|}
\hline
Field 0 & Field 1 & Filed 2 \\
\hline
value 00 & value 01 & value 02\\
value 10 & value 11 & value 12\\
value 20 & value 21 & value 22\\
\hline
\end{tabular}
\end{threeparttable}
\end{table}
\end{document}
在上面的例子中,caption
不会干扰表格宽度,也没有标记标题Table ...
:
编辑: 作为对您的评论的回应。
使用标题有很多好处:
- 如果您不喜欢默认设置,您可以定义标题属性,只需一次,如上例所示。
- 无需任何设置即可工作。
- 命令
\caption
是为写标题而定义的,为什么不使用它? - 对于标题,使用包
caption
(或其他包),您可以简单地定义字体大小、字体形状和系列、格式、标题前后的空间等属性。 - 在标准版本(带有标题标签和编号)中,它们可以在文本中简单引用并收集在图表列表中。
- 所有其他解决方案(应作为标题)均未启用此功能。
- 如果您不喜欢标题,那就不要写。在表格之前或之后插入纯文本,或者坚持使用您问题中显示的方法。
答案2
将标题留在表格外面。
\documentclass{article}
\begin{document}
\begin{center}
TABLE\_TILE
\smallskip
\begin{tabular}{*{3}{|c}|}
\hline
Field0 & Field1 & Field2\\
\hline
value00 & value01 & value02\\
value10 & value11 & value12\\
value20 & value21 & value22\\
\hline
\end{tabular}
\bigskip
A\_VERY\_VERY\_VERY\_LONG\_TABLE\_TILE
\smallskip
\begin{tabular}{*{3}{|c}|}
\hline
Field0 & Field1 & Field2\\
\hline
value00 & value01 & value02\\
value10 & value11 & value12\\
value20 & value21 & value22\\
\hline
\end{tabular}
\end{center}
\end{document}