是否可以backgroundcolor
在mdframed
包中明确设置选项,以便背景保持透明(或者说“空”)?
它可能是
\begin{mdframed}[backgrouncolor = ***]
Test
\end{mdframed}
使用***
= no color
,empty
,{}
但这些都不起作用。
是否可以在 mdframed 的选项中明确将颜色设置为透明/无?
编辑
更明确地说,是否存在***
这样的值
\begin{mdframed}[backgrouncolor = ***]
Test
\end{mdframed}
和
% assuming no global options have been set
\begin{mdframed}
Test
\end{mdframed}
是等价的吗?
答案1
我不确定我是否理解了这个问题,因此我提出三种可能的答案:
第一个选项:
您可以使用\mdfsetup
来定义全局设置:
\documentclass{article}
\usepackage[framemethod=tikz]{mdframed}
\mdfsetup{backgroundcolor=red!20}
\begin{document}
\begin{mdframed}
test
\end{mdframed}
\end{document}
第二种选择:
默认情况下,在初始配置中,mdframed
将背景颜色设置为white
,因此
\begin{mdframed}[backgroundcolor=white]
test
\end{mdframed}
和
\begin{mdframed}
test
\end{mdframed}
是等效的;请注意,默认背景颜色并不是真正透明的,它是白色的,并且没有预定义的键来设置背景颜色的不透明度(有关使用透明度问题的解决方案,tcolorbox
请参见下面的第三个选项)。
一个例子:
\documentclass{article}
\usepackage[framemethod=tikz]{mdframed}
\begin{document}
\begin{mdframed}[backgroundcolor=white]
test
\end{mdframed}
\begin{mdframed}
test
\end{mdframed}
\end{document}
是等效的。
第三种选择:
我不记得mdframed
提供了设置背景不透明度的方法(但我可能错了)。使用tcolorbox
您可以使用 来控制背景和/或框架的不透明度opacityframe=<value>
(opacityback=<value>
表示0
完全透明,1
表示不透明);一个小例子(\pagecolor{cyan!10}
仅用于使不透明度效果可见):
\documentclass{article}
\usepackage{tcolorbox}
\pagecolor{cyan!10}
\begin{document}
\begin{tcolorbox}[
standard jigsaw,
opacityframe=0.5,
opacityback=0.2
]
test
\end{tcolorbox}
\end{document}
答案2
简单而“非法”的解决方案
您必须使用backgroundcolor = none
。这是一个“非法解决方案”,因为none
不存在。因此,backgroundcolor = none
与...相同backgroundcolor = frogs
...
\documentclass{article}
\usepackage[framemethod=tikz]{mdframed}
\begin{document}
\pagecolor{yellow}
\begin{mdframed}[backgroundcolor = none]
Test
\end{mdframed}
\end{document}
复杂而“合法”的解决方案
\documentclass{article}
\usepackage[framemethod=tikz]{mdframed}
\begin{document}
\pagecolor{yellow}
\begin{mdframed}[apptotikzsetting={%
\tikzset{mdfbackground/.append style={fill=red,fill opacity=0}}}]
Test
\end{mdframed}
\end{document}