定义具有所需属性的新环境

定义具有所需属性的新环境

我如何定义如下所示的环境?

在此处输入图片描述

因此有一个颜色环绕框和嵌入其中的图像。这是我目前所拥有的:

\newenvironment{rmd-details}[0]{\par\leftskip=2em\rightskip=2em}{\par\medskip}

这主要是占位符,只是为了确认所有.tex文件都已构建成某种东西。但这与我想要的样子相去甚远。

答案1

此解决方案使用\fboxminipage。我任意选择5pt作为边框。

我将图标放入固定宽度框中,类似于其\item工作原理。如果更改符号,宽度不会改变。

\documentclass{article}
\usepackage{xcolor}
\usepackage{fontawesome}
\usepackage{blindtext}% MWE only
%\usepackage{showframe}% MWE only

\newsavebox{\bulb}% bulb+gap=0.25in
\savebox{\bulb}{\makebox[0.25in][l]{\huge \faLightbulbO}}

\newsavebox{\rmdbox}
\newenvironment{rmd-details}{\fboxsep=5pt
  \begin{lrbox}{\rmdbox}
  \minipage[c]{\dimexpr \textwidth-2\fboxsep-2\fboxrule-\wd\bulb}}%
{\endminipage\end{lrbox}%
  \par\noindent\color{green}\fbox{\usebox\bulb\usebox\rmdbox}\par}
  
\begin{document}

\begin{rmd-details}
  \blindtext
\end{rmd-details}

\end{document}

演示

答案2

使用该软件包相对容易实现tcolorbox(正如 Ulrike Fischer 已经指出的那样):

\documentclass{article}
\usepackage{tcolorbox}
\tcbuselibrary{skins} 

\usepackage{fontawesome}

\newtcolorbox{rmd-details}{
    enhanced,
    sharp corners,
    colframe=green,
    colback=white,
    left=1cm,
    overlay={%
        \node at ([xshift=18pt]frame.west) {\Huge\faLightbulbO};
    },
}

\usepackage{lipsum}

\begin{document}

\lipsum[1]

\begin{rmd-details}
\lipsum[1]
\end{rmd-details}

\end{document}

在此处输入图片描述

甚至可以将这些盒子做成可打破的。但是,您需要先确定灯泡的位置……

相关内容