三条堆叠的线分布不均匀

三条堆叠的线分布不均匀

我遇到了此堆栈的一些小间距故障,我想知道解决此问题的最佳方法:

\documentclass[11pt,letterpaper,twoside]{book}
\usepackage[T1]{fontenc}
\usepackage{lmodern}
\usepackage[total={6in,10in},left=1.5in,top=0.5in,includehead,includefoot]{geometry}
\usepackage{microtype}
\usepackage{amsmath}
\usepackage{amsfonts}
\usepackage{mathtools}
\usepackage{tensor}

\begin{document}

    \begin{equation}
        A_{\mu \nu \lambda} +
    \left[ \: \substack{
        \mu \; \rightarrow \; \lambda \\
        \nu \; \rightarrow \; \mu \\
        \lambda \; \rightarrow \; \nu
    } \: \right] +
    \left[ \: \substack{
        \mathstrut \smash{\mu \; \rightarrow \; \nu} \\
        \mathstrut \smash{\nu \; \rightarrow \; \lambda} \\
        \mathstrut \smash{\lambda \; \rightarrow \; \mu}
    } \: \right]
    \end{equation}

\end{document}

预览:

在此处输入图片描述

正如您在预览中看到的,第二部分具有可变的垂直间距(主要是因为拉姆达符号),我觉得它非常丑陋。我通过粉碎所有内容并添加幻影垂直空间(使用\mathstrut)来破解它(最后一部分)。但是有没有更好或更简单的方法来做到这一点?我怎样才能获得更好的结果?

答案1

我认为你滥用\substack机器,将它用在显然不适合使用的地方。

我建议您使用bmatrix环境或bsmallmatrix环境;如果您选择后者,请确保\mathstrut在所有行中也使用指令。

在此处输入图片描述

\documentclass[11pt,letterpaper,twoside]{book}
\usepackage[T1]{fontenc}
\usepackage{lmodern}
\usepackage[total={6in,10in},
   left=1.5in,top=0.5in,
   includehead,includefoot]{geometry}
\usepackage{microtype}
\usepackage{amsmath}
\usepackage{amsfonts}
\usepackage{mathtools}% for 'bsmallmatrix' env.
\usepackage{tensor}

\begin{document}
\begin{gather*}
%% Row 1: \left[ \substac{ ... } \right]
    A_{\mu \nu \lambda} +
    \left[ \: \substack{
        \mu \; \rightarrow \; \lambda \\
        \nu \; \rightarrow \; \mu \\
        \lambda \; \rightarrow \; \nu
    } \: \right] +
    \left[ \: \substack{
        \mathstrut \smash{\mu \; \rightarrow \; \nu} \\
        \mathstrut \smash{\nu \; \rightarrow \; \lambda} \\
        \mathstrut \smash{\lambda \; \rightarrow \; \mu}
    } \: \right]\\ 
%% Row 2: bmatrix environment
    A_{\mu \nu \lambda} +
    \begin{bmatrix}
        \mu \to \lambda \\
        \nu \to \mu \\
        \lambda \to \nu
    \end{bmatrix} +
    \begin{bmatrix}
        \mu \to \nu \\
        \nu \to \lambda \\
        \lambda \to \mu
    \end{bmatrix}\\ 
%% Row 3: bsmallmatrix environment
    A_{\mu \nu \lambda} +
    \begin{bsmallmatrix} 
        \mu \to \lambda \mathstrut\\
        \nu \to \mu \mathstrut\\
        \lambda \to \nu\mathstrut
    \end{bsmallmatrix} +
    \begin{bsmallmatrix}
        \mu \to \nu \mathstrut\\
        \nu \to \lambda \mathstrut\\
        \lambda \to \mu \mathstrut
    \end{bsmallmatrix}
\end{gather*}

\end{document}

答案2

您可以使用array条目所在的位置\scriptstyle

\documentclass[11pt]{article}
\usepackage{lmodern}
\usepackage{mathtools}
\usepackage{array}
\begin{document}
\[
\renewcommand{\arraystretch}{0.55}
A_{\mu \nu \lambda} +
\biggl[ \begin{array}{@{\,}>{\scriptstyle}c@{\,}}
    \mu \; \rightarrow \; \lambda \\
    \nu \; \rightarrow \; \mu \\
    \lambda \; \rightarrow \; \nu
\end{array} \biggr]
\]
\end{document}

答案3

您可以使用arrayin \scriptsize

\documentclass[11pt,letterpaper,twoside]{book}
\usepackage[T1]{fontenc}
\usepackage{lmodern}
\usepackage[total={6in,10in},left=1.5in,top=0.5in,includehead,includefoot]{geometry}
\usepackage{microtype}
\usepackage{amsmath}
\usepackage{amsfonts}
\usepackage{mathtools}
\usepackage{tensor}

\newenvironment{scriptarray}[2][c]
 {%
  \mathord{}% just to ensure this is used in math
  \hbox\bgroup\scriptsize$\begin{array}[#1]{#2}%
 }
 {%
  \end{array}$\egroup
 }

\begin{document}

\begin{equation}
A_{\mu \nu \lambda} +
  \left[ \begin{scriptarray}{@{}c@{}}
    \mu \rightarrow \lambda \\
    \nu \rightarrow \mu \\
    \lambda \rightarrow \nu
  \end{scriptarray} \right]
\end{equation}

\end{document}

在此处输入图片描述

相关内容