如何绘制彩色框架而不填充背景?

如何绘制彩色框架而不填充背景?

我喜欢画一个\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}

在此处输入图片描述

答案4

另一个没有特别优势的选项,除非 1)您已经加载colortbl并且 2)您不关心结果是否与 100% 相同fbox

\documentclass[]{article}
\usepackage{colortbl}
\begin{document}

text 1
\begin{tabular}{|c|}
\arrayrulecolor{red}\hline text2 \\\hline 
\end{tabular} \fbox{text3} text4 \\
text text text

\end{document}

箱状

相关内容