针对等号上下的公式,给两种方法:
1. 借助 extarrows 宏包的 \xlongequal
命令
% \usepackage{extarrows}
\[
A \xlongequal[r_2 - r_1]{\substack{\scalebox{0.7}{$r_4 + 2r_3$} \\[1ex]r_2 + r_1\\[1ex]}} B
\]
2. 使用 array
环境,不过还需要 mathtools 宏包:
% \usepackage{mathtools,extarrows}
\[
A \xlongequal[r_2 - r_1]{\scalebox{0.8}{$\begin{array}{c}
\scalebox{0.9}{$r_4 + 2r_3$}\\[0.5ex]
r_2 + r_1\\[0.5ex]
\end{array}$}} B
\]
此外,还可以使用 tikz 局部造符号,有兴趣可以自己试试。
个人猜测你遇到的「上下字体不统一」的原因是:
\xlongequal
的原生功能array
,其对行距和字体的大小控制不太相同对于「位置与内容呈现明显对偶关系」的内容, 最好 不要用不同的方式排版
事实上,最轻量级的amsamath
宏包即提供了\substack
的功能:
\documentclass{article}
\usepackage{newpxmath}% change the font t opalatino style
\usepackage{amsmath}
\usepackage{extarrows}
\begin{document}
\[
\begin{vmatrix}
1 & 1 & 1 & 1 \\
1 & 1 & 0 & -5 \\
-1 & 3 & 1 & 3 \\
2 & -4 & -1 & -3
\end{vmatrix}
\xlongequal[r_2-r_1]{\substack{r_4+2r_3\\[3pt]r_3+r_1}}
\begin{vmatrix}
1 & 1 & 1 & 1 \\
0 & 0 & -1 & -6 \\
0 & 4 & 2 & 4 \\
0 & 2 & 1 & 3
\end{vmatrix}
\]
\end{document}
另外,直接用vmatrix
环境比\left|
和\right|
更优雅....
这是代码:
=left| begin{matrix} 1& 1& 1& 1\ 1& 1& 0& -5\ -1& 3& 1& 3\ 2& -4& -1& -3\end{matrix} right|xlongequal[r_2-r_1]{begin{array}{c} r_4+2r_3\ r_3+r_1\end{array}}left| begin{matrix} 1& 1& 1& 1\ 0& 0& -1& -6\ 0& 4& 2& 4\ 0& 2& 1& 3\end{matrix} right|
@u7693 请注意markdown语法...同时作为原问题的复现代码,你不应该「评论」而应该「编辑」修改原问题...
当输入行内代码(如
\documentclass
)时请务必加上「一对单个反引号」,当输入一段代码时,请务必加上「一对三个反引号」....不然别人很难复制和查看...可以比较下面两段内容是否正确高亮的区别...
usepackage{amsmath}
usepackage{extarrows}
V.S.
还有一件事,MWE要求代码「完整、可编译」...
估计是他的
array
环境导致原先的 scriptstyle 变回了 textstyle。不是很想跑代码,就猜测一下了...