答案1
或者,是否有专门用于此的包?
是的,我相信埃布洛夫确实符合要求。
\documentclass{article}
\usepackage{ebproof}
\usepackage{mathtools}
\usepackage{amssymb}
\begin{document}
\begin{prooftree}
\hypo{&P(1)}
\infer[no rule]1{&P(2)}
\infer[no rule]1{&\forall n \in \mathbf{N} ((P(n) \land P(n+1) \implies P(n+2))}
\infer1{& \therefore \forall n \in \mathbf{N} (P(n))}
\end{prooftree}
\end{document}
字符&
在这里调整对齐,不需要明确声明数学环境,并且包足够灵活,可以适应多种变化。
附注:你可以得到因此符号使用其他技术。
答案2
由于所有材料都处于数学模式,因此您应该使用具有array
单个类型列的环境l
,而不是tabular
环境。
\documentclass{article}
\usepackage{amssymb,booktabs}
\let\implies\Rightarrow % ? -- maybe '\rightarrow'?
\newcommand\N{\mathbb{N}}
\begin{document}
\noindent
$\begin{array}{@{}l@{}} % "@{}" suppresses whitespace padding
P(1) \\
P(2) \\
\forall n \in \N \bigl((P(n) \land P(n+1) \implies P(n+2)\bigr) \\
\midrule % for a well-spaced horizontal rule
\therefore\forall n \in \N (P(n))
\end{array}$
\end{document}
答案3
几乎相同的解决方案,但在显示模式下。我建议使用booktabs
水平规则,这样你就会有更好的垂直间距:
\documentclass{article}
\usepackage{mathtools, amssymb}%
\usepackage{booktabs}
\newcommand\NN{\mathbf{N}}
\begin{document}
\[ \begin{array}{l}
P(1) \\
P(1) \\
\forall n \in \NN,\bigl(P(n) \land P(n+1) \implies P(n+2)\bigr) \\
\midrule
\therefore\forall n \in \NN (P(n))
\end{array} \]
\end{document}