当我在方程中使用 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
默认值为\fboxsep
。3pt
使用设置为 的空白\fboxsep
比明确使用要好3pt
。