数学模式将表达式对齐得太远

数学模式将表达式对齐得太远

我试图在数学模式中允许以下表达式:

\begin{flalign*}
  \Gamma_1 ; x : T ; \Gamma_2 \vdash{}& x
  &&\Rightarrow T & \\
  \Gamma \vdash&{} \lambda(z : T).t
  &&\Rightarrow \forall(z : T) U, & \\
\end{flalign*}

它产生类似如下的文本:

Γ 1 ; x ∶ T ; Γ 2 ⊢ x                   ⇒ T
                Γ ⊢λ(z ∶ T ).t          ⇒ ∀(z ∶ T )U,

我的问题在于,它\Rightarrow与紧随其后的任何表达相距太远\vdash

我希望我能产生以下对齐结果:

Γ 1 ; x ∶ T ; Γ 2 ⊢ x           ⇒ T
                Γ ⊢ λ(z ∶ T ).t ⇒ ∀(z ∶ T )U,

请注意,\Rightarrow只能延伸到需要的长度,不能相距太远以形成单独的列。在互联网上搜索,有一些通过添加尾随 来向左对齐的示例&,但由于某种原因,它在我的例子中不起作用。您将如何解决这个问题?

答案1

像这样?我擅自将.第二行中的替换为\cdot我认为更合适的:

\documentclass{article}

\usepackage{mathtools, nccmath}

\begin{document}

Some text. Some more text. Some more text. Some more text. Some more text. Some more text. Some more text. Some more text.
\begin{fleqn}[\parindent]
\begin{alignat*}{2}
    \Gamma_1 ; x : T ; \Gamma_2 & \vdash{} x
  &&\Rightarrow T \\
  \Gamma & \vdash \lambda(z : T)\cdot t
  &&\Rightarrow \forall(z : T) U,
   \end{alignat*}
\end{fleqn}

\end{document} 

在此处输入图片描述

相关内容