使用用户定义的“myCaption”时图形编号(通过“\ref{fig-label-name}”)

使用用户定义的“myCaption”时图形编号(通过“\ref{fig-label-name}”)

我想更改的字体Figure和标题文本。

我尝试了caption软件包。但是\usepackage[labelfont=bf,font=it]{caption}引发了一个错误Command \caption@ContinuedFloat already defined.

然后我只需定义我的快速而肮脏的\myCaption\newcommand{\myCaption}[1]{\textbf{\caption{\textnormal{\textit{#1}}}}}

但我注意到图形编号(通过\ref)有点像章节编号而不是之后的数字Figure

编辑添加一个例子,它会引发错误! LaTeX Error: Command \caption@ContinuedFloat already defined

\documentclass[10pt]{book}

%%%%%% other packages in my doc %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

\usepackage{amssymb, amstext, amsmath}
\usepackage{tikz}
\usepackage{pgfplots} % only 4 figure caroleError

%\usepackage{subfig}
\usepackage[caption=false]{subfig}

% for landscape figure
\usepackage{rotating}
\usepackage{color}
%\usepackage{minipage}
\usepackage{todonotes}
%\usepackage{xparse}
%\usepackage{fontspec,xltxtra,xunicode}
\usepackage{docmute}

\usepackage{here}
\usepackage{float}
%\usepackage{hliFigure}
\usepackage{csquotes}

\usepackage{afterpage}

% end
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

%% for this minimum example:
% expand \figure to multi pages
\makeatletter
\renewenvironment{figure}[1][]{%
  \def\@captype{figure}%
  \par\nobreak\begin{center}\nobreak}
 {\par\nobreak\end{center}}
\makeatother

\usepackage{graphicx}
\usepackage[labelfont=bf,font=it]{caption}

\usepackage[caption=false]{subfig}

\begin{document}


\begin{figure}\centering
    \subfloat[]{\label{}\includegraphics[width=0.95\linewidth{linux_penguin.jpg}}\\
    \subfloat[]{\label{}\includegraphics[width=0.95\linewidth]{linux_penguin.jpg}}\\
    \subfloat[]{\label{}\includegraphics[width=0.95\linewidth]{linux_penguin.jpg}}\\
    \subfloat[]{\label{}\includegraphics[width=0.95\linewidth]{linux_penguin.jpg}}\\
    \caption{many figures}
    \label{}
\end{figure}


\end{document}

答案1

我只知道一种情况会导致错误Command \caption@ContinuedFloat already defined

\documentclass{report}
\usepackage[caption=false]{subfig}
\usepackage{caption}
\begin{document}
A
\end{document}

发生这种情况:subfig包加载时带有选项caption=false,这意味着“不,我真的不想使用 caption 包”。之后包caption被加载,导致错误,因为subfig包已经定义了一些命令,这些命令对于没有包的子图支持是必需的caption

解决方案很简单:请决定是否要使用该caption软件包,是或否。(尤其是不要像我的示例文档中所述那样“否和是”。)

现在进入第 2 部分,“章节编号而不是图后编号”问题:

\label必须与 放在同一个组中\caption,因此{\caption{...}}\label{...}失败。但这是您在 的定义中所做的\myCaption\caption命令在 中排版\textbf{...},而\label不是。因此\ref注定会在这里失败,而是为您提供对最后一个标签命令(例如 )的引用\section

相关内容