添加 ToC 可防止使用自定义 LoF

添加 ToC 可防止使用自定义 LoF

我正在尝试创建具有以下结构的文档:

  • 前言(封面等)
  • ToC(常规,无定制)
  • 文本
  • LoF(定制)
  • 人物

问题:如果我添加目录,自定义图表列表将失去所有自定义设置(包括章节名称)。如果我删除目录,自定义 LoF 将按预期生成。

这是一个 MWE:

%%%---- preamble
\documentclass[a4paper,11pt,oneside,draft]{article}
\usepackage[pdftex]{color,graphicx}
\usepackage{graphicx}
\usepackage{fancyhdr}

\usepackage[labelfont=bf,justification=raggedleft,singlelinecheck=false,labelsep=period,figurename=Doc.,figurewithin=section,font=normal]{caption}
\usepackage{tocloft}
\usepackage{secdot}
\sectiondot{section}

\usepackage{sectsty}
\sectionfont{\centering}
\subsectionfont{\centering}
\subsubsectionfont{\centering}

\usepackage[pdftex]{hyperref}
\usepackage{doi}


%%%---- document
\begin{document}


%%%---- regular ToC
% \begin{small}\tableofcontents\end{small}


%%%---- main text
\section{sec1} 
some text...



%%%---- custom LoF
\cleardoublepage
\pagestyle{empty}
\setlength{\parskip}{1.2em}
\cftpagenumbersoff{chapter}
\cftpagenumbersoff{section}
\cftpagenumbersoff{subsection}
\cftpagenumbersoff{subsubsection}
\cftpagenumbersoff{figure}
\renewcommand{\cftdotsep}{\cftnodots}
\renewcommand{\cftsecafterpnum}{\vspace*{0.5\baselineskip}}
\renewcommand{\cftsubsecafterpnum}{\vspace*{0.25\baselineskip}}
\renewcommand{\cftsubsubsecafterpnum}{\vspace*{0.25\baselineskip}}
\setlength{\cftbeforesubsecskip}{8pt}
\setlength{\cftbeforesubsubsecskip}{8pt}
\setlength{\cftsubsubsecindent}{\cftsubsecindent}
\renewcommand{\cftfignumwidth}{2cm}
\renewcommand{\cftfigfont}{}
\renewcommand{\cftfigpresnum}{Doc. }

\setlength{\cftafterloftitleskip}{8pt}
\begin{small}\listoffigures\end{small}

\pagestyle{empty}
\cleardoublepage
\setlength{\voffset}{-1cm}
\renewcommand{\floatsep}{0.5cm}
\addtocontents{toc}{\protect\setcounter{tocdepth}{0}}


%%%---- figures
\setcounter{section}{0}

\section{sec1}
\addcontentsline{lof}{section}{\protect\numberline{\textbf{\thesection.}} {sec1}}

\begin{figure}[!h]
\caption{fig caption}
% \includegraphics[height=0.99\textheight,keepaspectratio]{*.png}
\label{fig_label}
\end{figure}


\end{document}

因此,插入目录后,我似乎需要做些事情,但我不知道该做什么。任何帮助都非常感谢。

相关内容