現有浮動的背景顏色(例如,不定義新環境)?

現有浮動的背景顏色(例如,不定義新環境)?

我試圖讓我的所有圖形(包括標題)都以合適的顏色作為背景。

我已經找到了這些問題並給出了一些很好的答案:

但所有這些答案的共同點是它們定義了一些新的環境或命令,需要將其放入圖形中或完全替換圖形。

有沒有辦法把背景顏色放在後面現存的浮動而不必更改這些現有浮動的內容?

答案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,)。

相關內容