我需要aligned
以脚本样式排版环境。\scriptsize
在环境之外设置是可行的,但编译器会抱怨:
Command \scriptsize invalid in math mode ...
在环境外部使用\scriptstyle
不会产生任何效果,在环境内部使用只会对内容紧随其后的元素产生影响。
我怎样才能排版一个数学模式环境,例如aligned
,使用scriptstyle
正确?
这是一个我想修复(避免\scriptsize
)的示例:
\documentclass{amsart}
\usepackage{mathtools}
\begin{document}
\begin{multline*}
\begin{pmatrix*}[r]
1&2&2\\
1&2&-1\\
-1&1&4
\end{pmatrix*}X
=\begin{pmatrix*}[r]
1&0&0\\
0&1&0\\
0&0&1
\end{pmatrix*}\\
\underset{\scriptsize
\begin{aligned}
L_2&\leftarrow L_2 - L_1\\
L_3&\leftarrow L_3 + L_1
\end{aligned}}{\Leftrightarrow}
\begin{pmatrix*}[r]
1&2&2\\
0&0&-3\\
0&3&6
\end{pmatrix*}X
=\begin{pmatrix*}[r]
1&0&0\\
-1&1&0\\
1&0&1
\end{pmatrix*}\\
\underset{\scriptsize
\begin{aligned}
L_3&\leftarrow L_3 + 2L_2
\end{aligned}}{\Leftrightarrow}
\begin{pmatrix*}[r]
1&2&2\\
0&0&-3\\
0&3&0
\end{pmatrix*}X
=\begin{pmatrix*}[r]
1&0&0\\
-1&1&0\\
-1&2&1
\end{pmatrix*}\\
\underset{\scriptsize
\begin{aligned}
L_2&\leftarrow (-1/3)L_2\\
L_3&\leftarrow (1/3)L_3
\end{aligned}}{\Leftrightarrow}
\begin{pmatrix*}[r]
1&2&2\\
0&0&1\\
0&1&0
\end{pmatrix*}X
=\begin{pmatrix*}[r]
1&0&0\\
1/3&-1/3&0\\
-1/3&2/3&1/3
\end{pmatrix*}\\
\underset{\scriptsize
\begin{aligned}
L_1&\leftarrow L_1 - 2L_2 - 2L_3
\end{aligned}}{\Leftrightarrow}
\begin{pmatrix*}[r]
1&0&0\\
0&0&1\\
0&1&0
\end{pmatrix*}X
=\begin{pmatrix*}[r]
1&-2/3&-2/3\\
1/3&-1/3&0\\
-1/3&2/3&1/3
\end{pmatrix*}\\
\underset{\scriptsize
\begin{aligned}
L_2&\leftrightarrow L_3
\end{aligned}}{\Leftrightarrow}
\begin{pmatrix*}[r]
1&0&0\\
0&1&0\\
0&0&1
\end{pmatrix*}X
=\begin{pmatrix*}[r]
1&-2/3&-2/3\\
-1/3&2/3&1/3\\
1/3&-1/3&0
\end{pmatrix*}
\end{multline*}
\end{document}
答案1
有以下可能性:
\documentclass{article}
\usepackage{amsmath}
\makeatletter
\newenvironment{scriptaligned}[1][c]
{\,\hbox\bgroup
\fontsize{\sf@size}{\dimexpr\sf@size pt+1pt}\selectfont
$\!\aligned[#1]}
{\endaligned$\egroup}
\makeatother
\begin{document}
$x\begin{scriptaligned}a&=b\\c&=d\end{scriptaligned}$\qquad
$x\begin{scriptaligned}[t]a&=b\\c&=d\end{scriptaligned}$\qquad
$x\begin{scriptaligned}[b]a&=b\\c&=d\end{scriptaligned}$
\LARGE
$x\begin{scriptaligned}a&=b\\c&=d\end{scriptaligned}$\qquad
$x\begin{scriptaligned}[t]a&=b\\c&=d\end{scriptaligned}$\qquad
$x\begin{scriptaligned}[b]a&=b\\c&=d\end{scriptaligned}$
\end{document}
然而,对于您所想的简单应用程序来说,subarray
这就足够了,而且更简单。
\documentclass{amsart}
\usepackage{mathtools}
\newcommand{\rowop}[1]{%
\underset{\begin{subarray}{l}#1\end{subarray}}{\Leftrightarrow}%
}
\begin{document}
\begin{multline*}
\begin{pmatrix*}[r]
1&2&2\\
1&2&-1\\
-1&1&4
\end{pmatrix*}X
=\begin{pmatrix*}[r]
1&0&0\\
0&1&0\\
0&0&1
\end{pmatrix*}\\
\rowop{L_2\leftarrow L_2 - L_1 \\ L_3\leftarrow L_3 + L_1}
\begin{pmatrix*}[r]
1&2&2\\
0&0&-3\\
0&3&6
\end{pmatrix*}X
=\begin{pmatrix*}[r]
1&0&0\\
-1&1&0\\
1&0&1
\end{pmatrix*}\\
\rowop{L_3\leftarrow L_3 + 2L_2}
\begin{pmatrix*}[r]
1&2&2\\
0&0&-3\\
0&3&0
\end{pmatrix*}X
=\begin{pmatrix*}[r]
1&0&0\\
-1&1&0\\
-1&2&1
\end{pmatrix*}\\
\rowop{L_2\leftarrow (-1/3)L_2 \\ L_3\leftarrow (1/3)L_3}
\begin{pmatrix*}[r]
1&2&2\\
0&0&1\\
0&1&0
\end{pmatrix*}X
=\begin{pmatrix*}[r]
1&0&0\\
1/3&-1/3&0\\
-1/3&2/3&1/3
\end{pmatrix*}\\
\rowop{L_1\leftarrow L_1 - 2L_2 - 2L_3}
\begin{pmatrix*}[r]
1&0&0\\
0&0&1\\
0&1&0
\end{pmatrix*}X
=\begin{pmatrix*}[r]
1&-2/3&-2/3\\
1/3&-1/3&0\\
-1/3&2/3&1/3
\end{pmatrix*}\\
\rowop{L_2\leftrightarrow L_3}
\begin{pmatrix*}[r]
1&0&0\\
0&1&0\\
0&0&1
\end{pmatrix*}X
=\begin{pmatrix*}[r]
1&-2/3&-2/3\\
-1/3&2/3&1/3\\
1/3&-1/3&0
\end{pmatrix*}
\end{multline*}
\end{document}