我尝试在用破折号分隔的图形标题中引用多个子图。例如,图形的标题应如下所示:
图 1。这是一张图。(a)第一张图。(b)第二张图。(ce)其余图。
当我尝试使用\labelcref
图形时,数字仍然出现:
图 1。这是一张图。(a)第一张图。(b)第二张图。1(c)至 1(e)其余图。
我怎样才能删除数字和标签并只保留字母?
解决方案这里对我来说不起作用,因为有多个无法识别的命令错误,而且太复杂。
\documentclass{article}
\usepackage{subfigure}
\usepackage{epsfig}
\usepackage{cleveref}
\begin{document}
\begin{figure}
\centering
\setcounter{subfigure}{0}
\subfigure[]{\includegraphics{fig1}\label{fig1}}
\subfigure[]{\includegraphics{fig2}\label{fig2}}
\subfigure[]{\includegraphics{fig3}\label{fig3}}
\subfigure[]{\includegraphics{fig4}\label{fig4}}
\subfigure[]{\includegraphics{fig5}\label{fig5}}
\caption{
This is a figure.
\cref{fig1} first figure,
\cref{fig2} second figure,
and \labelcref{fig3,fig4,fig5} rest of figures.
}
\end{figure}
\end{document}
但我希望它看起来像:
图 1。这是一张图。(a)第一张图。(b)第二张图。(ce)其余图。
答案1
在以下示例中,subcaption
将加载包而不是subfigure
,并将epsfig
其替换为graphicx
。的最新版本graphicx
可以自动处理 eps 图形。此外,
\subfloat
用来代替,\subfigure
因为subcaption
后者定义为环境,- 选项
labelsep=none
用于将子图的标题居中(因为它的标题为空),并且 - 选项
subrefformat=parens
用于制作\subref{fig1}
产品(a)
而不仅仅是a
。
最后,mwe
由于我没有图像文件fig1
,,,fig1
...,所以使用包提供的虚拟图像。
\documentclass{article}
\usepackage{graphicx}
\usepackage{subcaption}
%\usepackage{hyperref}
\usepackage{cleveref}
\captionsetup[sub]{labelsep=none, subrefformat=parens}
\crefrangelabelformat{subfigure}
{(#3\crefstripprefix{#2}{#1}#4--#5\crefstripprefix{#1}{#2}#6)}
\begin{document}
\begin{figure}
\centering
\subfloat[\label{fig1}]{\includegraphics[width=3cm]{example-image-a}}\quad
\subfloat[\label{fig2}]{\includegraphics[width=3cm]{example-image-b}}\quad
\subfloat[\label{fig3}]{\includegraphics[width=3cm]{example-image-c}}\\
\subfloat[\label{fig4}]{\includegraphics[width=3cm]{example-image-a}}\quad
\subfloat[\label{fig5}]{\includegraphics[width=3cm]{example-image-b}}
\caption{%
This is a figure.
\subref{fig1} first figure,
\subref{fig2} second figure,
and \labelcref{fig3,fig4,fig5} rest of figures.
}
\end{figure}
\end{document}
如果您更喜欢\labelcref
fromcleveref
而不是\subref
from subcaption
,请参阅问题的答案结合 cleveref 和 subref。