我的 fbox 里有很多图形。不幸的是,默认的黑色对我的顾问来说太强烈了,我需要将默认边框颜色更改为更柔和的颜色。
我已经完成了研究,到目前为止,所有其他答案都建议通过以下方式解决问题不使用 fbox并切换到其他软件包。除非绝对必要,否则我会尽量避免这种情况。
fbox 包本身中肯定存在如此基本的选项吗?
答案1
答案2
不设置背景颜色,可以保存当前文字颜色,在\fbox
排版文字时应用该颜色,改变颜色以符合排版规则。
\documentclass{article}
\usepackage{xcolor}
\usepackage{etoolbox}
\makeatletter
\let\cfbox\fbox
\let\c@frameb@x\@frameb@x
\pretocmd{\cfbox}
{\leavevmode\begingroup\colorlet{currentcolor}{.}\color{red}}
{}{}
\patchcmd\cfbox{\@frameb@x}{\c@frameb@x}{}{}
\patchcmd{\c@frameb@x}
{\box\@tempboxa}
{\color{currentcolor}\box\@tempboxa}
{}{}
\apptocmd{\c@frameb@x}{\endgroup}{}{}
\makeatother
\begin{document}
text \cfbox{text} text
\fcolorbox{green}{blue}{text \cfbox{text} text}
\end{document}
我更喜欢使用与重新定义不同的命令\fbox
。如果您想要使用\fbox
,只需删除该\let\cfbox\fbox
行并在剩余位置更改\cfbox
为。\fbox