我喜欢画一个\fbox{..}
彩色的。xcolor
包装里有
\fcolorbox{<frame color>}{<background color>}{<text>}
但这迫使我设置背景颜色。我喜欢背景根本不填充,而只是用颜色绘制框架。将其设置为纸张颜色(通常为白色)是一种解决方法,但不适用于阴影背景。
是否有另一个宏可以用于此或是否可以将<background color>
其设置为透明或忽略?
PS:我喜欢不使用像 TikZ 或 PSTricks 这样大的东西来做到这一点。这实际上是在包中使用,不应该强迫用户也加载这些包。
答案1
设置框架框之前的颜色并将其重置为框架框内部和之后的正常文本颜色是否适合您的应用程序?
\documentclass{article}
\usepackage{xcolor}
\begin{document}
\newcommand{\cfbox}[2]{%
\colorlet{currentcolor}{.}%
{\color{#1}%
\fbox{\color{currentcolor}#2}}%
}
\cfbox{red}{In red box} Normal black text
\color{blue} A paragraph with blue text and \cfbox{orange}{some words} in an orange box.
\end{document}
答案2
与此同时,我将此功能构建到我的adjustbox
包中。它包含在 2011/08/07 的 v0.5 中。只需使用密钥cfbox=<color>
,它还具有手册中解释的更多潜在参数。
您还可以为其定义一个快捷方式宏。我在这里使用 Jake 的示例文本以便于比较:
\documentclass{article}
\usepackage{xcolor}
\usepackage{adjustbox}[2011/08/07]
\begin{document}
\newcommand{\cfbox}[1]{%
\adjustbox{cfbox=#1}%
}
\cfbox{red}{In red box} Normal black text
\color{blue} A paragraph with blue text and \cfbox{orange}{some words} in an orange box.
\end{document}
答案3
\documentclass{minimal}
\usepackage{xcolor}
\pagecolor{yellow!20}
\newcommand{\mybox}[2]{{\color{#1}\fbox{\normalcolor#2}}}
\begin{document}
\mybox{blue}{Enclosed by a blue box} Return to the normal color
\end{document}