align
我有一个在类似环境中使用的盒装方程empheq
:
\documentclass[12pt,a4paper]{article}
\usepackage[latin1]{inputenc}
\usepackage{amsmath,amsfonts,amssymb}
\usepackage{empheq}
\begin{document}
\begin{empheq}[box=\fbox]{align}
M &=
\begin{bmatrix}
a+b+c+d+e+f+g+h+i & a+b+c+d+e+f+g+h \\
a+b+c+d+e+f+g+h & a+b+c+d+e+f+g+h+i
\end{bmatrix}
\nonumber\\
&\hspace{4em} +
\begin{bmatrix}
a+b+c & 0 \\
0 & a+b+c
\end{bmatrix}
\end{empheq}
\end{document}
我想让公式编号和方框公式之间的垂直间距更小一些。该怎么做?
可以empheq
通过以下建议更改文档中的所有环境:使用 empheq 改变间距行为或者empheq 的间距错误,但我只想针对一个特定方程执行此操作。
答案1
您的方框方程溢出到边距中。实际上,如果您使用geometry
,以便获得合适的外边距,并medmath
使用 中的命令nccmath
,则方程编号将没有垂直间距。此命令以“中等大小”(约 的 80% \display style
)准备其参数,您甚至可以将方程放在 中,这比长方程\widefbox
看起来更美观。\fbox
这是一个代码,有 3 种放置方程编号的方法。我将您的输入编码更改为utf8
,更易于移植。加载amsmath
是不必要的,因为empheq
它:
\documentclass[12pt,a4paper]{article}
\usepackage[utf8]{inputenc}
\usepackage{geometry} %
\usepackage{xcolor}%
\usepackage{amsfonts,amssymb}
\usepackage{empheq, nccmath}
\newcommand*\widefbox[1]{{\setlength\fboxsep{10pt}\fbox{\hspace{0.5em}#1\hspace{0.5em}}}}
\begin{document}
\begin{empheq}[box=\color{red}\widefbox]{equation}
M =\!\begin{aligned}[t]
\medmath{\begin{bmatrix}
a+b+c+d+e+f+g+h+i & a+b+c+d+e+f+g+h \\
a+b+c+d+e+f+g+h & a+b+c+d+e+f+g+h+i
\end{bmatrix}} & \\
+ \medmath{\begin{bmatrix}
a+b+c & 0 \\
0 & a+b+c
\end{bmatrix}} &
\end{aligned}
\end{empheq}
\begin{empheq}[box=\widefbox]{equation}
\begin{aligned}
M =\medmath{\begin{bmatrix}
a+b+c+d+e+f+g+h+i & a+b+c+d+e+f+g+h \\
a+b+c+d+e+f+g+h & a+b+c+d+e+f+g+h+i
\end{bmatrix}} & \\
+ \medmath{\begin{bmatrix}
a+b+c & 0 \\
0 & a+b+c
\end{bmatrix}} &
\end{aligned}
\end{empheq}
\begin{empheq}[box=\widefbox]{align}
M = \medmath{\begin{bmatrix}
a+b+c+d+e+f+g+h+i & a+b+c+d+e+f+g+h \\
a+b+c+d+e+f+g+h & a+b+c+d+e+f+g+h+i
\end{bmatrix}} &\notag \\
+ \medmath{\begin{bmatrix}
a+b+c & 0 \\
0 & a+b+c
\end{bmatrix}} &
\end{empheq}
\end{document}