[Tex/LaTex] \colorbox{color}{text} without increasing the height and width of the cell in a table

boxescolordimensionstables

When using \colorbox{color}{text} to put background color for the text in a table, the text with background color seems to take more space and makes the respective cell higher and wider. Is there a way to use \colorbox{color}{text} in a table cell without affecting the dimension of the cell?

Best Answer

You need to set the value of \fboxsep to zero to remove the extra margin:

{\setlength{\fboxsep}{0pt}\colorbox{<color>}{<text>}}

You don't need the outer braces if it is the whole cell, however then I would use the macros of the colortbl or colortab packages. The new tabu package also provides a lot of new features for tables, including a lot of different color features, but it might be an effort to change to this package.


You can also use the adjustbox package for this:

\adjustbox{cframe=<color>}{<text>}

which draws a tight frame as well. It has also an extended syntax which allows to set the rule thickness, inner separation and outer margin:

\adjustbox{cframe=<color> <thickness> <inner sep> <outer margin>}{<text>}

The margin can be negative and if it is -(thickness+inner sep) the original size is kept, e.g.:

\adjustbox{cframe=blue {\fboxrule} {\fboxsep} {-\fboxrule-\fboxsep}}{<text>}

(The { } around the macros are there to preserve the space behind them.)

Related Question