Minted и floatrow несовместимы

Minted и floatrow несовместимы

Я столкнулся с этим сообщением об ошибке при попытке использовать mintedпакет вместе с floatrowпакетом:

(/usr/share/texlive/texmf-dist/tex/latex/floatrow/floatrow.sty
Package: floatrow 2008/08/02 v0.3b floatrow: float package extension
! Package floatrow Error: Do not use float package with floatrow.
(floatrow) The latter will be skipped.
See the floatrow package documentation for explanation.
Type H <return> for immediate help.
...
l.33 \@namedef{[email protected]}{}\endinput}
This error message was generated by an \errmessage
command, so I can't give any explicit help.
Pretend that you're Hercule Poirot: Examine all clues,
and deduce the truth by order and method.

И я совсем не Эркюль Пуаро.
Мне приходится отбрасывать, floatrowчтобы mintedчто-то делать.

мвд:

\documentclass{report}
\usepackage{minted}
\usepackage{floatrow}
\begin{document}
Hi
\end{document}

решение1

Пакеты floatи floatrowнесовместимы друг с другом.

Однако, mintedhas \RequirePackage{float}в начале, так что это источник сообщения. Загрузка двух пакетов в обратном порядке, похоже, решает проблему, но это может привести к проблемам позже.

На самом деле, floatпакет, похоже, используется только для того, чтобы предоставить mintedfloat с [H]опцией, что в любом случае плохо. Другие функции, floatотносящиеся к for, mintedмогут быть получены с помощью newfloat, что не является несовместимым с floatrow.

Вам следует направить запрос на добавление функции разработчику minted, чтобы предоставить способ отключения загрузки float.

В то же время вы можете отключить его самостоятельно.

\documentclass{report}

% pretend to already have loaded float
\makeatletter 
\@namedef{[email protected]}{3000/12/31}
\makeatother

\usepackage[newfloat]{minted}
\usepackage{floatrow}

\begin{document}

Hi

\begin{figure}
\fcapside
  {\caption{...}\label{...}}
  {...}
\end{figure}

\end{document}

Связанный контент