
Когда я пытаюсь набрать текст с помощью обоих пакетовsubcaption
иbreqn
, я получаю следующую ошибку:
! Ошибка заголовка пакета: пакет `subcaption' работает неправильно (caption) в режиме совместимости. Объяснение см. в документации по пакету caption. Введите H для немедленной помощи... \begin{document}
Однако если я деактивирую любой из пакетов, документ можно будет набрать.
Моя преамбула такова:
\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}
Дайте мне знать, если вы хотите увидеть список файлов
решение1
Да, по непонятной мне пока причине комбинация float
и breqn
пакета несовместима с (sub)caption
пакетом:
\listfiles
\documentclass[a4paper]{article}
\usepackage{breqn}
\usepackage{float}
\usepackage{caption}
\begin{document}
A
\end{document}
вынесет предупреждение
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.
что, очевидно, является чепухой, поскольку caption
пакет должен знать о переопределении \caption
done пакетом float
.
В качестве обходного пути можно сохранить и восстановить определение \caption
при загрузке float
пакета:
\let\captionORI\caption
\usepackage{float}
\let\caption\captionORI
Пока caption
пакет используется, это не должно нанести никакого вреда (но перехитрить тест на совместимость пакета caption
), поскольку caption
пакет в любом случае будет переопределен \caption
позже.
Я проведу дополнительное обследование на выходных и сообщу результаты.
Убийство раскрыто (2012-08-25):
Пакет breqn
переопределяет макрос ядра LaTeX \@ifstar
таким образом, что он несовместим по крайней мере с одним макросом, определенным пакетом caption
. Поскольку этот макрос будет использоваться для теста совместимости, этот тест может не пройти, даже если на самом деле нет несовместимости. Я исправлю это в следующем выпуске пакета caption
.
Обновление (09.01.2013):
Вышел следующий релиз 3.3 пакета, caption
в котором эта ошибка была исправлена. Спасибо за терпение.