我们使用以下定义自动获取图形编号
\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}}