Спасибо Годбык и Джуни за ответ на мой вопрос.
Проблема в том, что я не кодирую напрямую в LaTeX . Я пишу документацию в виде реструктурированного текста, и Sphinx выводит LaTeX файлы.
Но я нашел решение: я переопределяю среду figure для использования staticfigure из пакета flowfram :
\usepackage{flowfram}
\definecolor{MyGray}{rgb}{0.80,0.80,0.80}
\makeatletter\newenvironment{graybox}{%
\begin{lrbox}{\@tempboxa}\begin{minipage}{\columnwidth}}{\end{minipage}\end{lrbox}%
\colorbox{MyGray}{\usebox{\@tempboxa}}
}\makeatother
\makeatletter
\renewenvironment{notice}[2]{
\begin{graybox}
\bf\it
\def\py@noticetype{#1}
\par\strong{#2}
\csname py@noticestart@#1\endcsname
}
{
\csname py@noticeend@\py@noticetype\endcsname
\end{graybox}
}
\makeatother
\renewenvironment{figure}[6]{
\begin{staticfigure}
}{
\end{staticfigure}
}
PS: мне пришлось поставить 6 на количество аргументов при переопределении 'figure': если я не сделаю этого, он выведет некоторый htbp в pdf-файлы (я не LaTeX эксперт. это просто решение, которое я нашел для этой проблемы)