我知道如何写所有符号,但我不知道如何制作矩形并像表格一样书写。我使用了这个网页:https://www.tablesgenerator.com/,但我不喜欢它展示证明的方式。
答案1
这是一个使用tabular
环境的解决方案。为了简化证明本身的代码,我定义了一些新命令。首先,一个以三列prooftabular
开头的环境:tabular
- 第一个自动显示证明的行号(您不必在里面写任何内容);
- 第二个自动处于数学模式,被认为用于证明步骤;
- 第三个是文本模式,被认为用于证明步骤的依据。
此环境可以单独使用来显示证明。但是,为了在角落添加带有符号的框,我定义了另外三个命令:
\hlineproofbox
用 添加框的水平线\cline{2-2}
。\proofboxed
在框中的单元格周围添加垂直线。它将相应单元格的内容作为参数。它只添加带有 的垂直线\multicolumn{1}{|...|}{...}
。\corner
在角落的上标中添加其参数。它应放在第一个 内\proofboxed{}
。
这三个命令的用处不大,因为它们的内容也可以直接放在表中。我只是觉得这样证明的代码更容易阅读。
无论如何,这里有一个完整的例子和你的证明。
\documentclass{article}
\usepackage{amsmath}
\usepackage{array}
\newcounter{proofrow}
\newenvironment{prooftabular}{%
\let\oldarraystretch\arraystretch
\renewcommand{\arraystretch}{1.5}
\begin{tabular}{%
@{\stepcounter{proofrow}\theproofrow}%
p{1em}@{}>{\(}l<{\)}>{\quad}l%
}
}{%
\end{tabular}
\renewcommand{\arraystretch}{\oldarraystretch}
}
\newcommand{\hlineproofbox}{\cline{2-2}}
\newcommand{\proofboxed}[1]{\multicolumn{1}{|>{\(}l<{\)}@{\ }|}{#1}}
\newcommand{\corner}[1]{\qquad {}^{#1}}
\begin{document}
\[
\forall x, P_1^1(x) \implies P_2^1(x), \forall x . P_2^1(x) \implies P_3^1(x) \vdash \forall x . P_1^1(x) \implies P_3^1(x)
\]
\begin{prooftabular}
& \forall x . P_1^1(x) \implies P_2^1(x) & Prem \\
& \forall x . P_2^1(x) \implies P_3^1(x) & Prem \\
\hlineproofbox
& \proofboxed{P_1^1(n) \implies P_2^1(n) \corner{/ \forall n}} & \(E \ \forall 1\) \\
& \proofboxed{P_2^1(n) \implies P_3^1(n)} & \(E \ \forall 2\) \\
& \proofboxed{P_1^1(n) \implies P_3^1(n)} & Teo \(\alpha \implies \beta, \beta \implies \gamma \vdash \alpha \implies \gamma\) \\
\hlineproofbox
& \forall x . P_1^1(x) \implies P_3^1(x) & \(\forall x . P_1^1(x) \implies P_2^1(x), \forall x . P_2^1(x) \implies P_3^1(x)\)
\end{prooftabular}
\end{document}
答案2
假设编写符号命令没有问题,那么您可以使用empheq
包在一些方程式周围制作一个框(为简单起见,两个),如下所示:
以及它的代码
\documentclass{article}
\usepackage{amsmath}
\usepackage{empheq}
\begin{document}
%
\begin{empheq}[box=\fbox]{align}
E=mc^2 \\
y=ax+b
\end{empheq}
%
\end{document}
当然,您可以添加星号{align*}
来删除方程的编号。
如果你想要方程式左侧编号,你可以使用[leqno]
类的article
选项,如下所示
一些方程式有编号,而其他方程式没有编号(使用\nonumber
),则代码可以是
\documentclass[leqno]{article}
\usepackage{amsmath}
\usepackage{empheq}
\begin{document}
%
\begin{empheq}[box=\fbox]{align}
E=mc^2 \\
y=ax+b \\
y_2 = ax+b \nonumber
\end{empheq}
%
\end{document}
嗯,这不是完美的答案。这只是一些我确信其他人可以改进的想法。