Я пытаюсь сделать фон всех моих рисунков (включая подписи) приличного цвета.
Я уже нашел эти вопросы с некоторыми хорошими ответами:
- Как установить цвет фона окружения фигуры?
- Цветная рамка с закругленными углами вокруг фигуры
- Цветовые рамки фона вокруг всего рисунка в LaTeX
Но все эти ответы объединяет то, что они определяют некоторые новые среды или команды, которые необходимо поместить внутрь фигур или полностью заменить фигуры.
Есть ли способ поставить цвет фона позади?существующийпоплавки без необходимости изменять содержимое этих существующих поплавков?
решение1
\documentclass{article}
\makeatletter
\def\foo#1\normalcolor\vbox\bgroup#2!!{%
\def\@xfloat ##1[##2]{#1%
\normalcolor
\hbox\bgroup{\color{yellow}\leaders\vrule\hskip\columnwidth\hskip-\columnwidth}%
\vbox \bgroup\aftergroup\egroup
#2}}
\expandafter\foo\@xfloat{#1}[#2]!!
\makeatother
\usepackage{color}
\begin{document}
\begin{figure}
a\\b\\c
\caption{yes no}
\end{figure}
one two three
\end{document}
решение2
Вот элементарная реализация с использованиемmdframed
который переопределяет figure
среду (следовательно, не адаптируя использование figure
в вашем документе):
\documentclass{article}
\usepackage{lipsum,mdframed,xcolor}% http://ctan.org/pkg/{lipsum,mdframed,xcolor}
\let\oldfigure\figure% Store old figure environment start
\let\endoldfigure\endfigure% Store old figure environment end
\renewenvironment{figure}[1][htbp]% Redefine figure
{\oldfigure[#1]\mdframed[backgroundcolor=blue!15]}
{\endmdframed\endoldfigure}
\begin{document}
\lipsum[1]
\begin{figure}[ht]
\centering\includegraphics{example-image-a}
\caption{This is a figure}
\end{figure}
\lipsum[2]
\end{document}
Отсюда можно было бы легко применить другой стиль к другому float (например table
, ).