在方程中使用颜色框时避免添加空格

在方程中使用颜色框时避免添加空格

当我在方程中使用 Colorbox 时,它会添加一些空格。例如

\documentclass[12pt]{article}
\usepackage{xcolor}

\begin{document}

\colorbox{yellow}{${a^2}+b^2=c^2$}
\colorbox{yellow}{$\colorbox{blue}{$a^2$}+b^2=c^2$}

\end{document}

第二个方程比第一个方程长(仅考虑数学符号)。有办法防止这种情况发生吗?请注意,我不介意方框的尺寸大于封闭的符号,并且如果不添加空格,方框可能会与未封闭的符号重叠。还请注意,我想避免手动添加负空格。

答案1

填充为\fboxsep

\documentclass[12pt]{article}
\usepackage{xcolor}

\fboxsep0pt

\begin{document}

\colorbox{yellow}{${a^2}+b^2=c^2$}

\colorbox{yellow}{$\colorbox{blue}{$a^2$}+b^2=c^2$}

\end{document}

或者也许你的意思是更像这样:

在此处输入图片描述

\documentclass[12pt]{article}
\usepackage{xcolor}



\def\mycolorbox#1#2{\kern-\fboxsep{\colorbox{#1}{#2}\kern-\fboxsep}}

\parskip\baselineskip

\begin{document}


a \mbox{${a^2}+b^2=c^2$} b

a \colorbox{yellow}{${a^2}+b^2=c^2$} b

{\fboxsep0pt a \colorbox{yellow}{$\colorbox{blue}{$a^2$}+b^2=c^2$} b}

a \mycolorbox{yellow}{$\mycolorbox{blue}{$a^2$}+b^2=c^2$} b

\end{document}

答案2

与戴维的回答略有不同,它显示了与原始方程的对齐以及一些不同的间距:

在此处输入图片描述

\documentclass[12pt]{article}
\usepackage{xcolor}% http://ctan.org/pkg/xcolor
\begin{document}
\colorbox{yellow!80}{${a^2}+b^2=c^2$} \par
{\setlength{\fboxsep}{0pt}
\colorbox{orange!50}{\setlength{\fboxsep}{3pt}$\colorbox{blue!30}{$a^2$}+b^2=c^2$}}

\colorbox{yellow!80}{${a^2}+b^2=c^2$} \par
{\setlength{\fboxsep}{0pt}
\colorbox{orange!50}{\setlength{\fboxsep}{3pt}$\colorbox{blue!30}{$a^2$}\hspace*{-\fboxsep}+b^2=c^2$\hspace*{\fboxsep}}}
\end{document}​

在这两个例子中,\fboxsep外部的\colorbox设置为0pt,让颜色设置结果 ( )a^2的高度。调整右端以纠正的损失。yellow!80\colorbox\fboxsep

默认值为\fboxsep3pt使用设置为 的空白\fboxsep比明确使用要好3pt

相关内容