在框周围添加空白

在框周围添加空白

我想在一个框中放置一些文本,\fcolorbox{red}{gray}{text} 但框周围有一个(不可见的)空间。这样,如果我把这样的框放在一起,它们之间就会有一个小空间。这样,如果我把两个这样的框放在一起,\frac{}{}它们和分数线之间就会有一些空间。最短的方法是怎样的?

答案1

adjustbox包提供\marginbox{<value(s)>}{<content>}添加边距的功能,即内容的所有站点周围的空白。您可以为所有站点提供一个值,为左/右和上/下提供两个值,或为左、下、右和上提供四个值。值必须用空格分隔。

例子:

\usepackage{adjustbox}
% ...

\marginbox{1pt}{\fcolorbox{blue}{red}{text}}% Adds 1sp space around the box

\marginbox{1pt 0pt}{\fcolorbox{blue}{red}{text}}% Adds 1sp space to the left and right of the box

\marginbox{1pt 0pt 2pt 0pt}{\fcolorbox{blue}{red}{text}}% Adds 1sp space to the left and 2pt to the right of the box

同一包中还有margin的键。它还提供了(背景颜色)和(彩色边框),可以用作 的替代品(但您仍需要加载)。\adjustbox{<key=value,...>}{<content>}bgcolorcfbox\fcolorboxxcolor

\documentclass{article}
\usepackage{xcolor}
\usepackage{adjustbox}

\newcommand{\mybox}{\adjustbox{cfbox=blue,bgcolor=red,margin=1pt}}

\begin{document}

\fcolorbox{red}{green}{text}\fcolorbox{blue}{red}{text}

\adjustbox{cfbox=red,bgcolor=green,margin=1pt}{text}\mybox{text}

\end{document}

Result

答案2

\DeclareRobustCommand{\roybox}[3]{%
  \ifdim\lastkern=1sp\,\fi\fcolorbox{#1}{#2}{#3}\kern1sp}

现在你可以看到区别了:

\fcolorbox{red}{green}{text}\fcolorbox{blue}{red}{text}

\roybox{red}{green}{text}\roybox{blue}{red}{text}

enter image description here

如果该框后面没有另一个类似的框,则宏插入的小间距将是不引人注意的(它是可能的最小宽度,小于可见光的波长):在这种情况下,它将变成一个很窄的空间\,

我不认为分数有什么问题。

相关内容