将子图更改为子标题

将子图更改为子标题

我有一个cls使用该包的文件,其中包含以下几行subfigure

\RequirePackage[FIGBOTCAP,TABBOTCAP]{subfigure}
\RequirePackage[subfigure]{tocloft}

\setlength{\cftbeforetoctitleskip}{0pt}
\renewcommand{\cftloftitlefont}{\large \arial \bfseries}
\setlength{\cftbeforeloftitleskip}{0pt}
\renewcommand{\cftlottitlefont}{\large \arial \bfseries}
\setlength{\cftbeforelottitleskip}{0pt}
\renewcommand{\cftdot}{}
\renewcommand{\cftsecfont}{}
\setlength{\cftbeforesecskip}{\parskip}
%\setlength{\cftbeforesecskip}{0pt}
\setlength{\cftbeforesubsecskip}{0pt}
\setlength{\cftchapnumwidth}{1.9em}
\setlength{\cftsecnumwidth}{2.5em}
\setlength{\cftsubsecnumwidth}{3.1em}
\setlength{\cftsubsubsecnumwidth}{3.7em}
\setlength{\cftfignumwidth}{3.0em}
\renewcommand{\cftchapindent}{0pt}
\renewcommand{\cftsecindent}{0pt}
\renewcommand{\cftsubsecindent}{0pt}
\renewcommand{\cftsubsubsecindent}{0pt}
\renewcommand{\cftchapfont}{\arial}
\renewcommand{\cftsecfont}{\arial}
\renewcommand{\cftsubsecfont}{\arial}
\renewcommand{\cftsubsubsecfont}{\arial}
\renewcommand{\cftfigfont}{\arial}
\renewcommand{\cfttabfont}{\arial}

\renewcommand{\thesubfigure}{\thefigure (\alph{subfigure})}
\renewcommand{\@thesubfigure}{\thesubfigure:\space}
\renewcommand{\p@subfigure}{}
\renewcommand{\cfttoctitlefont}{\large \arial \bfseries}

我想将其换成subcaption包裹。

谢谢建议。

答案1

我通过以下方法解决了这个问题:

\RequirePackage[titles]{tocloft}

代替

\RequirePackage[FIGBOTCAP,TABBOTCAP]{subfigure}
\RequirePackage[subfigure]{tocloft}

这是为什么?

仅在使用该包时才需要subfigure选项。如果不是这种情况,就像这里一样,应该使用默认选项(请参阅tocloftsubfiguretoclofttitlestocloft文档subcaption)。这样一来,和之间就不再有冲突了subfigure,并且可以毫无困难地使用前一个包。

以下部分专门用于更改标签格式。由于我不需要它,所以我只是发表评论。(我希望知道如何修改它subcaption!)

%\renewcommand{\thesubfigure}{\thefigure (\alph{subfigure})}
%\renewcommand{\@thesubfigure}{\thesubfigure:\space}
%\renewcommand{\p@subfigure}{}
%\renewcommand{\cfttoctitlefont}{\large \arial \bfseries}

以及其余的一切

\setlength{\cftbeforetoctitleskip}{0pt}
\renewcommand{\cftloftitlefont}{\large \arial \bfseries}
\setlength{\cftbeforeloftitleskip}{0pt}
\renewcommand{\cftlottitlefont}{\large \arial \bfseries}
\setlength{\cftbeforelottitleskip}{0pt}
\renewcommand{\cftdot}{}
\renewcommand{\cftsecfont}{}
\setlength{\cftbeforesecskip}{\parskip}
%\setlength{\cftbeforesecskip}{0pt}
\setlength{\cftbeforesubsecskip}{0pt}
\setlength{\cftchapnumwidth}{1.9em}
\setlength{\cftsecnumwidth}{2.5em}
\setlength{\cftsubsecnumwidth}{3.1em}
\setlength{\cftsubsubsecnumwidth}{3.7em}
\setlength{\cftfignumwidth}{3.0em}
\renewcommand{\cftchapindent}{0pt}
\renewcommand{\cftsecindent}{0pt}
\renewcommand{\cftsubsecindent}{0pt}
\renewcommand{\cftsubsubsecindent}{0pt}
\renewcommand{\cftchapfont}{\arial}
\renewcommand{\cftsecfont}{\arial}
\renewcommand{\cftsubsecfont}{\arial}
\renewcommand{\cftsubsubsecfont}{\arial}
\renewcommand{\cftfigfont}{\arial}
\renewcommand{\cfttabfont}{\arial}

工作正常!

相关内容