I have used the method of Ad Tikz filled rectangle that serves as background of block text in original document, with many thanks to @marmot, where gradient-color and rounded corners can be used.
However, when I add figures with white colors in it, the white color will be replaced by the colorbox, because of blend mode = multiply
. How can I keep it white of any original color?
The code is
\documentclass{article}
\usepackage{tikz}
\usepackage{refcount}
\usetikzlibrary{backgrounds,calc}
\usepackage{tikzpagenodes}
\usepackage{lipsum}
\tikzset{SimpleBox/.style={draw,red,thick,fill=blue,fill opacity=0.3,rounded
corners}}
\usepackage{float}
\newcounter{tmp}
\newcommand{\StartBox}[1][]{%
\stepcounter{tmp}%from https://tex.stackexchange.com/a/52579/121799
\tikz[remember picture,overlay, baseline=(Begin.base)]{%
\node[anchor=base,inner sep=0pt,outer sep=0pt] (Begin) {\strut};}
\label{a\thetmp}%
\ifnum\getpagerefnumber{a\thetmp}=\getpagerefnumber{b\thetmp} \else
\begin{tikzpicture}[overlay, remember picture]
\path (current page text area.north west) -- (current page text area.south west)
node(WestLine)[left]{};
\path (current page text area.north east) -- (current page text area.south east)
node(EastLine)[right]{};
\begin{scope}[on background layer,blend mode=multiply]
\draw[SimpleBox,#1] ($(current page text area.south-|WestLine)-(0,2pt)$)
-- (Begin.north-|WestLine) -- (Begin.north-|EastLine)
-- ($(current page text area.south-|EastLine)-(0,2pt)$);
\end{scope}
\end{tikzpicture}%
\fi%
}
\newcommand{\EndBox}[1][]{%
\tikz[remember picture,overlay, baseline=(End.base)]{%
\node[anchor=base,inner sep=0pt,outer sep=0pt] (End) {\strut};}%
\label{b\thetmp}
\ifnum\getpagerefnumber{a\thetmp}=\getpagerefnumber{b\thetmp}
\begin{tikzpicture}[overlay,remember picture]
\path (current page text area.north west) -- (current page text area.south west)
node(WestLine)[left]{};
\path (current page text area.north east) -- (current page text area.south east)
node(EastLine)[right]{};
\begin{scope}[on background layer,blend mode=multiply]
\draw[SimpleBox,#1] (Begin.north-|WestLine) rectangle (End.south-|EastLine);
\end{scope}
\end{tikzpicture}
\else
\begin{tikzpicture}[overlay,remember picture]
\path (current page text area.north west) -- (current page text area.south west)
node(WestLine)[left]{};
\path (current page text area.north east) -- (current page text area.south east)
node(EastLine)[right]{};
\begin{scope}[on background layer,blend mode=multiply]
\draw[SimpleBox,#1] ($(current page text area.north-|WestLine)+(0,2pt)$)
-- (End.south-|WestLine) -- (End.south-|EastLine)
-- ($(current page text area.north-|EastLine)-(0,2pt)$);
\end{scope}
\end{tikzpicture}
\fi
}
\newcommand{\SimpleBox}[2][]{%
\StartBox[#1]%
#2\EndBox[#1]}
\begin{document}
My original picture outside the box:
\begin{figure}[H]
\centering
\includegraphics[scale=0.1]{tex_exchange.png}
\end{figure}
\SimpleBox{My original picture inside the box:
\begin{figure}[H]
\centering
\includegraphics[scale=0.1]{tex_exchange.png}
\end{figure}}
\SimpleBox{Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed a leo ut
erat luctus scelerisque. Suspendisse auctor mauris sit amet fringilla
hendrerit. Maecenas eu tortor eu diam fringilla scelerisque sit amet eget enim.
Nam vitae bibendum erat, sit amet scelerisque felis. Suspendisse placerat
vitae velit pharetra lobortis et marmottae. Donec ut erat a erat porta aliquet. Nulla eget
augue sem. Proin orci neque, eleifend id eleifend id, venenatis sit amet diam.
Mauris lacus est, cursus eget sapien at, pharetra lobortis ante. Proin
tempus ipsum tellus, ut ultricies magna congue nec. Vestibulum ante ipsum primis
in faucibus orci luctus et ultrices posuere cubilia Curae; Suspendisse potenti.
In posuere dapibus urna, vitae euismod magna iaculis at. Pellentesque pretium,
lorem ut vehicula egestas, velit dolor porta nunc, id interdum ipsum purus vel
dolor.}
\lipsum[2]
\tikzset{SimpleBox/.style={draw,blue,thick,fill=red,fill opacity=0.3}}
\SimpleBox{\lipsum[3]}
\lipsum[4]
\SimpleBox[draw=yellow,fill=yellow]{Wanna yellow?}
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed a leo ut
erat luctus scelerisque. Suspendisse auctor mauris sit amet fringilla
hendrerit. Maecenas eu tortor eu diam fringilla scelerisque sit amet eget enim.
Nam vitae bibendum erat, sit amet scelerisque felis. Suspendisse placerat
vitae velit pharetra lobortis et marmottae. Donec ut erat a erat porta aliquet. Nulla eget
augue sem.
\SimpleBox{Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed a leo ut
erat luctus scelerisque. Suspendisse auctor mauris sit amet fringilla
hendrerit. Maecenas eu tortor eu diam fringilla scelerisque sit amet eget enim.
Nam vitae bibendum erat, sit amet scelerisque felis. Suspendisse placerat
vitae velit pharetra lobortis et marmottae. Donec ut erat a erat porta aliquet. Nulla eget
augue sem. Proin orci neque, eleifend id eleifend id, venenatis sit amet diam.
Mauris lacus est, cursus eget sapien at, pharetra lobortis ante. Proin
tempus ipsum tellus, ut ultricies magna congue nec. Vestibulum ante ipsum primis
in faucibus orci luctus et ultrices posuere cubilia Curae; Suspendisse potenti.
In posuere dapibus urna, vitae euismod magna iaculis at. Pellentesque pretium,
lorem ut vehicula egestas, velit dolor porta nunc, id interdum ipsum purus vel
dolor.}
\end{document}