我正在尝试在表格中垂直对齐 Fitch 样式的环境。我使用的包是惠誉代码如下塞林格·惠誉。这是我的代码:
\documentclass{article}
\usepackage{amsmath}
\usepackage{fitch}
\newcommand{\bsub}[2]{\boxed{#1}~{#2}}
\begin{document}
\newcommand{\peanoInduct}{
\begin{nd}
\have[~]{}{P(0)}
\open
\hypo[~]{}{\bsub{n}{P(n)}}
\have[~]{}{P(s(n))}
\close
\have[\triangleright]{}{\forall x: P(x)} \by{PI}{}
\end{nd}
}
\newcommand{\strongInduct}{
\begin{nd}
\open
\hypo[~]{}{\bsub{n}{\forall x: x < n \rightarrow P(x)}}
\have[~]{}{P(n)}
\close
\have[\triangleright]{}{\forall x: P(x)} \by{SI}{}
\end{nd}
}
\begin{tabular}{ll}
Peano Induction (PI) & Strong Induction (SI) \\
$ \peanoInduct $ & $ \strongInduct $
\end{tabular}
\end{document}
其结果是
我想让两个 Fitch 环境都与每个单元格的顶部对齐。这个问题的系统解决方案是什么?我尝试将选项makecell
应用于[t]
每个单元格,但徒劳无功。似乎惠誉系统正在内部使用array
。不使用表的方法是可以的。
编辑:
我找到了一个解决方案。我在里面[t]
向环境添加了选项array
\def
惠誉从
\def\nd*beginb{\begingroup\nd*reset\gdef\nd*stack{\nd*nil}\nd*push\nd*stack{\nd*t}%
\begin{array}{l@{\hspace{\nd*labelsep}}l@{\hspace{\nd*justsep}}l}}
\def\nd*resumeb{\begingroup\begin{array}{l@{\hspace{\nd*labelsep}}l@{\hspace{\nd*justsep}}l}}
\def\nd*endb{\end{array}\endgroup}
到
\def\nd*beginb{\begingroup\nd*reset\gdef\nd*stack{\nd*nil}\nd*push\nd*stack{\nd*t}%
\begin{array}[t]{l@{\hspace{\nd*labelsep}}l@{\hspace{\nd*justsep}}l}}
\def\nd*resumeb{\begingroup\begin{array}{l@{\hspace{\nd*labelsep}}l@{\hspace{\nd*justsep}}l}}
\def\nd*endb{\end{array}\endgroup}
我如何编辑样式文件以使此选项附加到环境中nd
,以便我可以为每种情况选择对齐方式?例如,
\begin{nd}[t]
contents
\end{nd}