Existe alguma incompatibilidade entre os pacotes breqn e subcaption

Existe alguma incompatibilidade entre os pacotes breqn e subcaption

Quando tento compor com ambos os pacotessubcaptionebreqn, Estou tendo o erro a seguir:

! Erro de legenda do pacote: O pacote `subcaption' não funciona corretamente (legenda) no modo de compatibilidade. Consulte a documentação do pacote de legenda para explicação. Digite H para ajuda imediata.... \begin{document}

No entanto, se eu desativar qualquer um dos pacotes, o documento poderá ser digitado.

Meu preâmbulo é o seguinte

\documentclass[a4paper]{article}
\usepackage[english]{babel}
\usepackage[utf8]{inputenc}
\usepackage{amsmath,amssymb}
\usepackage{lmodern}
\usepackage{graphicx}
\usepackage{float}
\graphicspath{{figures/}}
\includeonly{intro}
\usepackage{pstool}
\usepackage{epstopdf}
\usepackage{subcaption}
\usepackage{breqn}

\listfiles

\epstopdfDeclareGraphicsRule{.gif}{png}{.png}{%
 convert #1 \OutputFile
}
\AppendGraphicsExtensions{.gif}


\newcommand{\vect}[1]{\boldsymbol{#1}}
\newcommand{\vectornorm}[1]{\left|\left|#1\right|\right|}
\newcommand{\pic}[5]{
\begin{figure}[H]
\centering
\includegraphics[width=#2\textwidth]{#1} 
\caption[#3]{#4}
\label{#5}
\end{figure}
}

\title{\textbf{report\newline}}
\author{
\begin{tabular}{l c r}
First Middle Surname
\end{tabular}
}
\date{\today}

\setcounter{secnumdepth}{-1}


\begin{document}
\maketitle
\newpage
\begin{dmath}
x=5
\end{dmath}

\end{document}

Deixe-me saber se você deseja ver a lista de arquivos

Responder1

Sim, por um motivo que ainda não entendi, a combinação de floate breqnpacote é incompatível com o (sub)captionpacote:

\listfiles
\documentclass[a4paper]{article}
\usepackage{breqn}
\usepackage{float}
\usepackage{caption}

\begin{document}
A
\end{document}

emitirá o aviso

Package caption Warning: \caption will not be redefined since it's already
(caption)                redefined by a document class or package which is
(caption)                unknown to the caption package.

o que é obviamente um lixo, já que o captionpacote deve estar ciente da redefinição \captionfeita pelo floatpacote.

Como solução alternativa, pode-se salvar e restaurar a definição de \captionquando carregar o floatpacote:

\let\captionORI\caption
\usepackage{float}
\let\caption\captionORI

Contanto que o captionpacote seja usado, isso não deverá causar nenhum dano (mas será mais esperto que o teste de compatibilidade do captionpacote), já que o captionpacote será redefinido \captionde qualquer maneira mais tarde.

Farei exames adicionais no fim de semana e reportarei.

O assassinato foi divulgado (25/08/2012):

O breqnpacote redefine a macro do kernel LaTeX \@ifstarde uma forma que é incompatível com pelo menos uma macro definida pelo captionpacote. Como esta macro será usada para o teste de compatibilidade, este teste poderá falhar mesmo que nenhuma incompatibilidade esteja realmente presente. Vou consertar isso na próxima versão do captionpacote.

Atualização (09/01/2013):

A próxima versão 3.3 do captionpacote foi lançada onde esse bug foi corrigido. Obrigado pela sua paciência.

informação relacionada