我遇到了一个问题,我需要在图表列表中添加前缀,但幸运的是我找到了这解决方案。我使用这个fancyhdr
包,所以我需要tocloft
带有title
选项的包。我只将它用于我的符号和方程式列表。但还不错,因为我使用了“Mico”的代码(同一线程):
\usepackage{etoolbox}
\makeatletter
\patchcmd{\@caption}{\csname the#1\endcsname}{\csname fnum@#1\endcsname:}{}{}
\renewcommand*\l@figure{\@dottedtocline{1}{1.5em}{4.5em}} % default for 3rd arg: 2.3em
\let\l@table\l@figure % as in article.cls
\makeatother
它基本上可以工作,但是列表会显示所有图形/表格,甚至是隐藏的图形/表格\caption[]{example}
:
这是一个我无法解决的大问题。我是 LaTeX 初学者,但我认为\patchcdm
只需要一个条件?!有什么想法吗?
编辑 1:添加示例
\documentclass{article}
\usepackage{etoolbox}
\makeatletter
\patchcmd{\@caption}{\csname the#1\endcsname}{\csname fnum@#1\endcsname:}{}{}
\renewcommand*\l@figure{\@dottedtocline{1}{1.5em}{4.5em}} % default for 3rd arg: 2.3em
\let\l@table\l@figure % as in article.cls
\makeatother
\begin{document}
\listoffigures
\listoftables
\begin{figure}[h]
\caption{list this figure}
\centering show
\end{figure}
\begin{figure}[h]
\caption[]{don't list this figure}
\centering hide
\end{figure}
\begin{table}[h]
\caption[]{don't list this table}
\centering hide
\end{table}
\begin{table}[h]
\caption{list this table}
\centering show
\end{table}
\end{document}