我正在写一篇硕士论文,论文中使用了一个长表。我遇到了与表格列表 (LoT) 中长表标题相关的问题。下面显示的表 4.1 是一个长表,不方便用于 LoT 的论文格式。我希望长表的格式与 LoT 中的其他表格相同。我通过设置解决了普通表格和图形的相同问题\usepackage[caption=false]{subfig}
。但是,它对长表不起作用。
表 3.5。标题.......
4.1 标题......
表 4.2。标题......
表 4.3。标题......
长表如下。提前感谢任何帮助。
\begin{center}
\begin{longtable}{ | c | p{3cm} | c | c | c |}
\caption{Basic properties of sensors during deployment.} \label{table:basic-property-deployment}
\\ \hline
\textbf{Sensors} & \textbf{Location} & \textbf{Threshold} & \textbf{Base Station} & \textbf{Resistance}\\ [6pt]
\hline
\endfirsthead
\multicolumn{5}{c}%
% \bigskip
{\tablename\ \thetable\ . Basic properties of sensors during deployment} \\
\hline
\textbf{Sensors} & \textbf{Location} & \textbf{Threshold} & \textbf{Base Station} & \textbf{Resistance}\\ [6pt]
\hline
\endhead
\hline \multicolumn{5}{r}{\textit{Continued on next page}} \\
\endfoot
\hline
\endlastfoot
ROWS
\end{longtable}
\end{center}
答案1
如果您发布一份完整的文档来显示所有已加载的软件包,它总是有帮助的,但我猜测 longtable toc 是由
\def\LT@c@ption#1[#2]#3{%
\LT@makecaption#1\fnum@table{#3}%
\def\@tempa{#2}%
\ifx\@tempa\@empty\else
{\let\\\space
\addcontentsline{lot}{table}{\protect\numberline{\thetable}{#2}}}%
\fi}
所以如果你有
\makeatletter
\def\LT@c@ption#1[#2]#3{%
\LT@makecaption#1\fnum@table{#3}%
\def\@tempa{#2}%
\ifx\@tempa\@empty\else
{\let\\\space
\addcontentsline{lot}{table}{\protect\numberline{Table \thetable.}{#2}}}%
\fi}
\makeatother
然后Table
会出现在目录中(或使用标题样式所使用的任何其他格式\addcontentsline
)
答案2
您可以在 .tex 文件的前奏中使用以下代码。它将同时更正longtable
s 的标题和 中的行list of tables
。(基于以下答案大卫·卡莱尔, 当然)。
\setlength\LTcapwidth{\textwidth}
\makeatletter
\def\LT@makecaption#1#2#3{%
\LT@mcol\LT@cols c{\hbox to\z@{\hss\parbox[t]\LTcapwidth{%
\vskip\abovecaptionskip
\centering{
\sbox\@tempboxa{#1{#2 }#3}%
\ifdim\wd\@tempboxa>\hsize
#1{#2. }#3%
\else
\hbox to\hsize{\hfil\box\@tempboxa\hfil}%
\fi
\endgraf\vskip\baselineskip}}%
\hss}}}
\makeatother
\makeatletter
\def\LT@c@ption#1[#2]#3{%
\LT@makecaption#1\fnum@table{#3}%
\def\@tempa{#2}%
\ifx\@tempa\@empty\else
{\let\\\space
\addcontentsline{lot}{table}{\protect\numberline{Table \thetable.}{\ignorespaces #2}\vspace\baselineskip}%
}%
\fi
}
\makeatother