我正在寻找一种方法来修改或替代文本中的警告/警报消息,类似于awesombox
包中的这个:
我需要做的是:
- 用外部加载的图像替换左侧的警告标志
- 使用双垂直线作为分隔符
在里面文档我发现可以用某种字体的符号替换图像,但没有提到使用外部加载的图像,也没有解释如何制作双线。
应该如何实现?
答案1
实现awesomebox
为表格(即表格),其中一列是图标,另一列是文本,中间是彩色垂直条。您可以在没有环境的情况下执行相同操作tabularx
。可以使用双线||
作为列分隔符来显示。
包含文本的列可以用作X
列分隔符,即“具有剩余可用宽度的段落列”。
要使图像与文本顶部对齐,可以使用包提供的align=t
选项。此外,为了改善警告框周围的垂直间距,我在顶部和底部添加了 12pt。\includegraphics
graphbox
梅威瑟:
\documentclass{article}
\usepackage{graphbox}
\usepackage{tabularx}
\newcommand{\customwarning}[1]{%
\vskip12pt
\begin{tabularx}{\textwidth}{p{2.5cm}||X}
\centering\includegraphics[align=t,width=2cm]{warningsign} & #1 \\
\end{tabularx}
\vskip12pt
}
\begin{document}
\customwarning{Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nam aliquet libero quis lectus elementum fermentum. Fusce aliquet augue sapien, non efficitur mi ornare sed. Morbi at dictum felis. Pellentesque tortor lacus, semper et neque vitae, egestas commodo nisl.}
Other text
\customwarning{This is a frog}
\end{document}
结果:
编辑:使用可选参数来指定图像(仅文件名或带有路径规范的图像)。
\documentclass{article}
\usepackage{graphbox}
\usepackage{tabularx}
% the default filename is 'warningsign', change this if you have a different default name
\newcommand{\customwarning}[2][warningsign]{%
\vskip12pt
\begin{tabularx}{\textwidth}{p{2.5cm}||X}
\centering\includegraphics[align=t,width=2cm]{#1} & #2 \\
\end{tabularx}
\vskip12pt
}
\begin{document}
% image given as argument
\customwarning[warningsign]{Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nam aliquet libero quis lectus elementum fermentum. Fusce aliquet augue sapien, non efficitur mi ornare sed. Morbi at dictum felis. Pellentesque tortor lacus, semper et neque vitae, egestas commodo nisl.}
Other text
% without argument, default value is used for the image name/location
\customwarning{This is a frog}
\end{document}
答案2
在...的帮助下tcolorbox
:
\documentclass{article}
\usepackage[most]{tcolorbox}
\usepackage[export]{adjustbox}
\usepackage{lipsum}
\newtcolorbox{myColorBox}{%
sidebyside,
sidebyside align=top,
lower separated=true,
lefthand width=2.5cm,
arc=0pt,
left=0pt,right=0pt,top=0pt,bottom=0pt,
colback=white,
enhanced,
segmentation style={draw=black,double distance=3pt,solid},
boxrule=0pt,
sidebyside gap=20pt,
width=\textwidth,
}
\newenvironment{MyBox}[1][example-image] % replace "example-image" with file name of default image
{\begin{myColorBox} \includegraphics[width=2.5cm,valign=t]{#1}\tcblower}
{\end{myColorBox}}
\begin{document}
\begin{MyBox} % omit optional argument for defautlt image
\lipsum[5]
\end{MyBox}
\begin{MyBox}[example-image-a] % use optional argument to insert non-default image
\lipsum[5]
\end{MyBox}
\lipsum[5]
\end{document}