浮动颜色背景

浮动颜色背景

这是我创建信息框的代码:

\documentclass{article}

\usepackage{float}
\usepackage{blindtext}


\floatstyle{ruled} 
\newfloat{InfoBox}{h}{}


\begin{document}

\begin{InfoBox}
\vspace{0.5cm}
\textbf{Point 1} \blindtext

\medskip
\textbf{Point 2} \blindtext

\medskip
\textbf{Point 3} \blindtext
\vspace{0.5cm}
\caption{This a caption}
\end{InfoBox}

\end{document}

如何在包含正文的两行之间添加背景颜色?提前致谢!

答案1

以下是基于此的解决方案:如何突出显示整个段落?

机制

float我使用与包中创建“ruled”样式相同的方法创建了一个新的浮动样式。然后我使用该framed包及其snugshade环境创建了颜色框。

它看起来像这样:

在此处输入图片描述

代码

\documentclass{article}

% Mandatory package
\usepackage{float}
\usepackage{xcolor}
\usepackage{framed}

% To change the color
\colorlet{shadecolor}{yellow!20}
%\colorlet{shadecolor}{blue!20}

% For test only
\usepackage{blindtext}

\renewcommand*{\OuterFrameSep}{0pt}

% Creation of a new floatstyle 'toto'
\makeatletter
    \newcommand\floatc@toto[2]{{\@fs@cfont #1} #2\par}
    \newcommand\fs@toto{%
        \def\@fs@cfont{\bfseries}\let\@fs@capt\floatc@toto
        \def\@fs@pre{\hrule height.8pt depth0pt \kern2pt}%
        \def\@fs@mid{%
            \kern2pt\hrule\kern2pt
            \begin{snugshade}
        }%
        \def\@fs@post{%
            \end{snugshade}
            \kern2pt\hrule\relax
        }%
        \let\@fs@iftopcapt\iftrue}
\makeatother

\floatstyle{toto} 
\newfloat{InfoBox}{h}{}


\begin{document}

    \begin{InfoBox}
        \vspace{0.5cm}
        \textbf{Point 1} \blindtext

        \medskip
        \textbf{Point 2} \blindtext

        \medskip
        \textbf{Point 3} \blindtext
        \vspace{0.5cm}
        \caption{This a caption}
    \end{InfoBox}

\end{document}

相关内容