\DeclareCaptionLabelFormat 不起作用

\DeclareCaptionLabelFormat 不起作用

我正在尝试创建一个名为 的自定义环境graph,并在冒号前为标签加下划线。这是我所拥有的:

\documentclass{article}

\usepackage{caption}
\usepackage{float}
\usepackage{ulem}

\floatstyle{plaintop}
\newfloat{graph}{tbph}{log}
\floatname{graph}{Graph}

\DeclareCaptionLabelFormat{test}{\uline{#1 #2}}
\captionsetup[graph]{labelformat=test}

\begin{document}
    \begin{graph}[h]
    \caption{Testing}
    \end{graph}
\end{document}

问题是浮点名称“Graph”完全消​​失,只剩下“1:Testing”。我该如何解决这个问题?

答案1

如果您使用 执行此操作floatrow,则它会起作用。警告:float与 不兼容floatrow

\documentclass{article}

\usepackage{floatrow}
\usepackage{ulem}

\DeclareNewFloatType{graph}%
{placement=tbph,fileext=gph,name=Graph}

\usepackage{caption}
\DeclareCaptionLabelFormat{test}{\uline{#1 #2}}
\captionsetup[graph]{labelformat=test}

\begin{document}

    \begin{graph}[h]
    \caption{Testing}
    \end{graph}

\end{document} 

在此处输入图片描述

答案2

显然,\newfloat无法定义\graphname

\documentclass{article}

\usepackage{float}
\usepackage{caption}
\usepackage[normalem]{ulem} % <----

\floatstyle{plaintop}
\newfloat{graph}{tbph}{loh} % <----
\floatname{graph}{Graph}
\newcommand{\graphname}{Graph}% <----

\DeclareCaptionLabelFormat{test}{\uline{#1 #2}}
\captionsetup[graph]{labelformat=test}

\begin{document}

\begin{graph}[h]
\caption{Testing}
\end{graph}

\end{document}

在此处输入图片描述

我改变了新浮点类型的扩展名,但使用log似乎不是一个好主意,因为这与 TeX 生成的标准日志文件冲突。

我还建议使用该选项normalem,以避免斜体呈现为下划线。

相关内容