subcaption 套件出現問題 - 未定義指令

subcaption 套件出現問題 - 未定義指令

caption我目前正在編寫自己的文件類(這很受書籍類的啟發),並且在使用和套件時遇到問題subcaption

這是我的課程的一部分強調文字:

\RequirePackage{caption}
\RequirePackage{subcaption}

\newcounter{figure}

\newenvironment{figure}{%
    \@float{figure}%
}
{\end@float}

\renewcommand\thefigure{%
    \@arabic\c@figure%
}

\renewcommand\thesubfigure{%
    \arabic{subfigure}%
}

\newcommand\figurename{Fig}

\def\fps@figure{tbp}
\def\ftype@figure{1}
\def\ext@figure{lof}
\def\fnum@figure{\figurename\nobreakspace\thefigure}

\DeclareCaptionLabelFormat{format}{\textbf{\textsc{#1.~#2. -- }}}

\captionsetup[figure]{
    name={Fig},
    labelsep=none,
    labelformat=format,
    textformat=simple,
    justification=justified,
    singlelinecheck=true,
    font=footnotesize,
    textfont=it,
    position=bottom,
}

\captionsetup[subfigure]{
    name={Fig},
    labelsep=none,
    labelformat=format,
    textformat=simple,
    justification=justified,
    singlelinecheck=true,
    font=footnotesize,
    textfont=it,
    position=bottom,
}

對於簡單的數字來說,沒問題,一切都很順利。但是當我嘗試插入子圖時,我收到有關文檔類別的以下錯誤:

Command \thesubfigure undefined

你知道這個錯誤是從哪裡來的嗎?我已經閱讀了這兩個包的文檔,但我不是很先進。 。 。

這是我第一次編寫自己的文檔類,它與 LaTeX 的“經典”使用有很大不同,所以如果我的類是臨時工作,請原諒。謝謝

PS:這是文檔類別的連結:我的類別.cls

圖形環境定義在第 382 到 410 行,標題定義在第 452 到 510 行。

這是 .tex 檔的連結:測試文件

答案1

  • 載入時,如果定義了計數器,subcaption它會自動呼叫。\DeclareCaptionSubType{figure}figure
  • 裡面\DeclareCaptionSubType{figure}
    • 命令\ext@figure被擴充。 (實際上這發生在 的擴展內部\caption@@@@declaresublistentry,在 中定義caption3.sty
    • 定義了新的計數器,因此定義了subfigure相應的命令。\thesubfigure

對於 counter table,類似的事情也會發生。

所以關鍵是在呼叫之前提供計數器<float type>和命令。\ext@<float type>\DeclareCaptionSubType[*]{<float type>}

一個完整的例子

\documentclass{minimal}

\newcounter{figure}
\newcounter{table}

\makeatletter
\def\ext@figure{lof}
\def\ext@table {lot}
\makeatother

\RequirePackage{subcaption}

\renewcommand{\thesubfigure}{...}
\renewcommand{\thesubtable} {...}

\begin{document}
abc
\end{document}

相關內容