LaTex 中的表格条件列表

LaTex 中的表格条件列表

可以使用命令获取表格列表。我想知道如果文档不包含任何表格,listoftables如何跳过输出。谢谢listoftables

\documentclass[11pt]{article}

\begin{document}

\tableofcontents
\listoftables

\clearpage

\section{Dummy section 1}


\begin{table}[ht]
\caption{Dummy table 1}
\begin{center}
\begin{tabular}{|c|c|}

\end{tabular}
\end{center}
\label{tab:dum1}
\end{table}


\end{document}

答案1

一种可能的方法是使用表计数器

\ifnum\value{table} > 0 \listoftables \fi单独使用是行不通的,因为在处理阶段不知道桌子的数量。使用totcounter包可以记录桌子的总数(写入文件.aux(因此最终在第二次运行中知道)。但是,由于桌子计数器可能在chaptersection计数器的重置列表中(取决于其他设置),(总)桌子计数器的值可能为零。因此我使用了(我的 ;-))assoccnt包,它以不同的方式计算桌子的数量。

\documentclass[11pt]{article}
\usepackage{assoccnt}
\usepackage{totcount}

\newtotcounter{tottables}
\DeclareAssociatedCounters{table}{tottables}
\begin{document}

\tableofcontents
\ifnum\totvalue{tottables} > 0 
\listoftables
\fi

\IfFileExists{\jobname.lot}{%
 \listoftables
}{%
 % Does not exist
}

\clearpage

\section{Dummy section 1}


\begin{table}[ht]
%\caption{Dummy table 1}
\centering
\begin{tabular}{|c|c|}

\end{tabular}

\label{tab:dum1}
\end{table}


\end{document}

相关内容