非浮动环境中的子字幕

非浮动环境中的子字幕

我有一个alltt环境,我想为其添加标题,有时还添加子标题,格式为:Example 1a: some description。但是,我只能实现:a: some description。我意识到使用浮动会更容易,但我需要环境能够跨越从一个页面到另一个页面。这是我目前所拥有的:

\documentclass{article}
\usepackage{newfloat}
\usepackage{caption}
\DeclareFloatingEnvironment[fileext=frm,placement={!ht},name=example] {example}
\DeclareCaptionSubType{example}
\usepackage{alltt}
\usepackage[english]{babel}
\usepackage{blindtext}

\begin{document}

\begin{alltt}
\blindtext
\end{alltt}
\captionof{subexample}{Some description}

\end{document}

答案1

\DeclareCaptionSubType{example}确实只提供了subexample相关example类型的类型,但没有提供其名称,这必须单独完成\captionsetup[subtype]{name=Example}(或选择除 之外的任何其他名称Example

subexample如果每一步都要重置计数器example\DeclareCaptionSetupType*{example}则使用。

aa: some description来自\thesubexample定义为\@nameuse{alph{subexample}},实际上与\alph{subexample}这里相同。

这里或许\renewcommand{\thesubexample}{\Alph{subexample}}会更好,但这只是个人品味的问题。

\documentclass{article}
\usepackage{newfloat}
\usepackage{caption}
\DeclareFloatingEnvironment[fileext=frm,placement={!ht},name=example]{example}
\DeclareCaptionSubType*{example}
\captionsetup[subexample]{name=Example}

\renewcommand{\thesubexample}{\theexample\alph{subexample}}

\usepackage{alltt}
\usepackage[english]{babel}
\usepackage{blindtext}

\begin{document}


\stepcounter{example}% Faking an already existing usage of `example` 
\begin{alltt}
\blindtext
\end{alltt}
\captionof{subexample}{Some description}

\end{document}

enter image description here

相关内容