ConTeXt 创建子图的方法是使用combination
。它们似乎支持标题或编号,但不能同时支持两者。
让我们考虑以下例子:
\useMPlibrary[dum]
\setupcombinations[alternative=text]
\starttext
\startplacefigure[title=Test]
\startcombination[2*2]
\startcontent\externalfigure[dummy][width=4cm,height=1cm]\stopcontent
\startcaption Test\stopcaption
\startcontent\externalfigure[dummy][width=4cm,height=1cm]\stopcontent
\startcaption Test\stopcaption
\startcontent\externalfigure[dummy][width=4cm,height=1cm]\stopcontent
\startcaption Test\stopcaption
\startcontent\externalfigure[dummy][width=4cm,height=1cm]\stopcontent
\startcaption Test\stopcaption
\stopcombination
\stopplacefigure
\stoptext
这会导致“子图”的标题没有编号
使用alternative=label
会破坏整体combination
,因为它将每个标题视为自己的图像,但将标签(a,b,c 等)附加到每个图像上。
我的目标是重现类似于subcaption
包在 LaTeX 中所做的操作:
\documentclass{scrartcl}
\usepackage{caption}
\usepackage{subcaption}
\usepackage{graphicx}
\begin{document}
\begin{figure}
\begin{subfigure}[c]{0.45\textwidth}
\includegraphics[width=\textwidth]{example-image}
\subcaption{Subfigure}
\end{subfigure}
\begin{subfigure}[c]{0.45\textwidth}
\includegraphics[width=\textwidth]{example-image}
\subcaption{Subfigure}
\end{subfigure}
\caption{Figure with subfigures}
\end{figure}
\end{document}
生产
如您所见,子图是自动标记/编号的图像。
问题:如何使combination
ConTeXt 中的标题自动编号?
答案1
这是一个(在我看来)不太 ConTeXy 的版本,根据以下建议实现子图编号亨利·孟克(看评论)。
\useMPlibrary[dum]
\setupcombinations[alternative=text]
\definefloat[subfigure][local=yes]
\setupcaption[subfigure][numberconversion=a]
\setuplabeltext[subfigure=]
\appendvalue{stopplacefigure}{\resetcounter[subfigure]}
\starttext
\startplacefigure[title=Test]
\startfloatcombination[2*2]
\startplacesubfigure[title=Test]
\externalfigure[dummy][width=4cm,height=1cm]
\stopplacesubfigure
\startplacesubfigure[title=Test]
\externalfigure[dummy][width=4cm,height=1cm]
\stopplacesubfigure
\startplacesubfigure[title=Test]
\externalfigure[dummy][width=4cm,height=1cm]
\stopplacesubfigure
\startplacesubfigure[title=Test]
\externalfigure[dummy][width=4cm,height=1cm]
\stopplacesubfigure
\stopfloatcombination
\stopplacefigure
\startplacefigure[title=Test]
\startfloatcombination[2*2]
\startplacesubfigure[title=Test]
\externalfigure[dummy][width=4cm,height=1cm]
\stopplacesubfigure
\startplacesubfigure[title=Test]
\externalfigure[dummy][width=4cm,height=1cm]
\stopplacesubfigure
\startplacesubfigure[title=Test]
\externalfigure[dummy][width=4cm,height=1cm]
\stopplacesubfigure
\startplacesubfigure[title=Test]
\externalfigure[dummy][width=4cm,height=1cm]
\stopplacesubfigure
\stopfloatcombination
\stopplacefigure
\stoptext