在图编号和标点符号之间添加文字

在图编号和标点符号之间添加文字

我们使用以下定义自动获取图形编号

\renewcommand\thefigure{\@arabic\c@figure}
\def\fnum@figure{\figurename~\thefigure}

输出如下所示:

图 1. 标题

但是,我们需要在图号后插入文字“(在线颜色)”,如下所示:

图 1(在线颜色)。标题

为了实现这一点,我再次重新定义了命令

\def\fnum@figure{\figurename~\thefigure (Online color)}

我必须再次重置才能显示下一个字幕。

有人可以建议如何自动获得它吗?

答案1

这应该可以让你开始。我已经定义了一个新环境myfigure。如果你想

Figure 1 (Online color). Caption

使用myfigure否则使用figure

示例代码:

\documentclass{article}
\usepackage{caption}
\usepackage{graphicx}
\DeclareCaptionFormat{myformat}{#1 (Online color)#2#3}
\newenvironment{myfigure}%
{\captionsetup{format=myformat,labelsep=period}
\figure
}%
{\endfigure}%
\begin{document}
\listoffigures
  \begin{myfigure}[htb]
    \centering
    \includegraphics[width=4cm]{example-image-a}
    \caption[myfig1]{my caption here}
  \end{myfigure}

  \begin{figure}[htb]
    \centering
    \includegraphics[width=4cm]{example-image-b}
    \caption[myfig2]{my caption here}
  \end{figure}
\end{document}

在此处输入图片描述

进一步的调整留待分配。详情请参阅caption手册。

答案2

这是一个不同的解决方案,不需要额外的包。

只需发出命令\onlinecap 里面figure您想要修改标题的那些环境。

梅威瑟:

\documentclass{article}

\makeatletter
\renewcommand\thefigure{\@arabic\c@figure}
\renewcommand\fnum@figure{\figurename~\thefigure}
\newcommand\onlinecap{\renewcommand\fnum@figure{\figurename~\thefigure~(Online color)}}
\makeatother

\begin{document}

\begin{figure}[htbp]
  \caption{A}
\end{figure}

\begin{figure}[htbp]
  \onlinecap
  \caption{B}
\end{figure}

\begin{figure}[htbp]
  \caption{C}
\end{figure}

\end{document} 

输出:

在此处输入图片描述

如果您有多个标题,您可能需要一个命令来取消后续标题figure的效果。在这种情况下,您还可以在和之间插入另一行,该行定义了用于此目的的命令:\onlinecap\makeatletter\makeatother\offlinecap

\newcommand\offlinecap{\renewcommand\fnum@figure{\figurename~\thefigure}}

相关内容