我想在一个框中放置一些文本,\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>}
bgcolor
cfbox
\fcolorbox
xcolor
\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}
答案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}
如果该框后面没有另一个类似的框,则宏插入的小间距将是不引人注意的(它是可能的最小宽度,小于可见光的波长):在这种情况下,它将变成一个很窄的空间\,
。
我不认为分数有什么问题。