不使用 \caption 的表格标题

不使用 \caption 的表格标题

我想给表格添加标题。我遇到的情况如下

在此处输入图片描述

为了实现这一点,我认为我可以创建一个多行作为表格的第一行,其中包含标题。不幸的是,只有当标题不超过表格宽度时,这种方法才能正常工作:我的意思是,如果标题超出表格宽度,使用此方法,表格将被拉伸,如下所示

在此处输入图片描述

我该怎么做才能避免表格被拉伸?我不想使用 \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}

在此处输入图片描述

相关内容