现有浮点数的背景颜色(例如,不定义新环境)?

现有浮点数的背景颜色(例如,不定义新环境)?

我正在尝试使我的所有图形(包括标题)都具有合适的颜色背景。

我已经找到了一些很好的答案来回答这些问题:

但所有这些答案的共同点是,它们定义了一些需要放入图形内部或完全替换图形的新环境或命令。

有没有办法把背景颜色放在后面现存的而不需要改变这些现有浮点数的内容?

答案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}

从这里开始,可以直接将不同的样式应用于不同的浮点数(例如table)。

相关内容