答案1
如果您尝试下面的代码,您将得到与您的示例非常相似的结果,虽然我可能误解了一些符号,但您会理解它的本质。
从您的问题来看,我认为您希望有一个标准程序来以一致的方式处理大型项目。
我会告诉你我的食谱,因为重要的是如何完成了。
1 这很明显:使用表格
2 在 Excel 中创建表格。(这很重要,不要直接使用 LaTeX 代码,稍后您将了解原因)。
3 使用 Excel2laTex 插件。 https://www.ctan.org/tex-archive/support/excel2latex
- 取消选中书签包和转换 $^_\ 选项
5 复制到剪贴板并将其粘贴到包含一组所需包的裸 LaTeX 文档中。
- 编译。
7 纠正错误或进行更改,然后转至 Excel 并返回至 LaTeX。这种方式可以快速获得反馈,而无需了解软件包的细节(大多数情况下)。
\documentclass{article}
\usepackage{multirow}
\usepackage{bigstrut}
\begin{document}
% Table generated by Excel2LaTeX from sheet 'Sheet1'
\begin{table}[htbp]
\centering
\caption{Add caption}
\begin{tabular}{lrlrrl}
(1) & & $P\rightarrow Q$ & & & $\mathbf{P}$ \\
(2) & & $ \rightharpoondown T$ & & & $\mathbf{P}$ \\
(3) & & $Q \rightarrow T$ & & & $\mathbf{P}$ \\
(4) & & $S\vee W\rightarrow Q$ & & & $\mathbf{P}$ \\
(5) & & \multicolumn{1}{r|}{} & \multicolumn{1}{l}{$P\vee (R\wedge S)$} & & $\mathbf{H}$ \bigstrut[b]\\
\cline{4-5} (6) & & \multicolumn{1}{r|}{} & \multicolumn{1}{r|}{} & \multicolumn{1}{l}{$P$} & $\mathbf{H}$ \bigstrut\\
\cline{5-5} (7) & & \multicolumn{1}{r|}{} & \multicolumn{1}{r|}{} & \multicolumn{1}{l}{$Q$} & $\mathbf{I}\rightarrow 1, 6$ \bigstrut[t]\\
& & \multicolumn{1}{r|}{} & & & \\
(8) & & \multicolumn{1}{r|}{} & \multicolumn{1}{r|}{} & \multicolumn{1}{l}{$R\wedge S$} & $\mathbf{H}$ \bigstrut[b]\\
\cline{5-5} (9) & & \multicolumn{1}{r|}{} & \multicolumn{1}{r|}{} & \multicolumn{1}{l}{$S$} & $\mathbf{H} \wedge 8$ \bigstrut[t]\\
(10) & & \multicolumn{1}{r|}{} & \multicolumn{1}{r|}{} & \multicolumn{1}{l}{$S\vee W$} & $\mathbf{I} \vee 9$ \\
(11) & & \multicolumn{1}{r|}{} & \multicolumn{1}{r|}{} & \multicolumn{1}{l}{$Q$} & $\mathbf{E} \rightarrow 4, 10$ \\
(12) & & \multicolumn{1}{r|}{} & \multicolumn{1}{l}{$Q$} & & $\mathbf{E} \vee 5,7,11$ \\
(13) & & \multicolumn{1}{r|}{} & \multicolumn{1}{l}{$T$} & & $\mathbf{E} \rightarrow 3. 12$ \\
(14) & & \multicolumn{1}{r|}{} & \multicolumn{1}{l}{$ \rightharpoondown T$} & & $\mathbf{it}\; 2$ \\
(15) & & $ \rightharpoondown(P\vee (R \wedge S))$ & & & $\mathbf{I} \rightarrow 5,13,14$ \\
\end{tabular}%
\label{tab:addlabel}%
\end{table}%
\end{document}
总共花费时间:30 分钟写表格,5 分钟获取结果。
我遗漏了一些错误,请尝试使用所述步骤自行更正,而不是编辑 LaTeX 代码。请在下面的更新中回答。
更新更正后的代码,使用相同的程序生成。
\documentclass{article}
\usepackage{multirow}
\usepackage{bigstrut}
\begin{document}
% Table generated by Excel2LaTeX from sheet 'correct'
\begin{table}[htbp]
\centering
\caption{Add caption}
\begin{tabular}{lrlrrl}
(1) & & $P\rightarrow Q$ & & & $\mathbf{P}$ \\
(2) & & $ \neg T$ & & & $\mathbf{P}$ \\
(3) & & $Q \rightarrow T$ & & & $\mathbf{P}$ \\
(4) & & $S\vee W\rightarrow Q$ & & & $\mathbf{P}$ \\
(5) & & \multicolumn{1}{r|}{} & \multicolumn{1}{l}{$P\vee (R\wedge S)$} & & $\mathbf{H}$ \bigstrut[b]\\
\cline{4-5} (6) & & \multicolumn{1}{r|}{} & \multicolumn{1}{r|}{} & \multicolumn{1}{l}{$P$} & $\mathbf{H}$ \bigstrut\\
\cline{5-5} (7) & & \multicolumn{1}{r|}{} & \multicolumn{1}{r|}{} & \multicolumn{1}{l}{$Q$} & $\mathbf{E}\rightarrow 1, 6$ \bigstrut[t]\\
& & \multicolumn{1}{r|}{} & & & \\
(8) & & \multicolumn{1}{r|}{} & \multicolumn{1}{r|}{} & \multicolumn{1}{l}{$R\wedge S$} & $\mathbf{H}$ \bigstrut[b]\\
\cline{5-5} (9) & & \multicolumn{1}{r|}{} & \multicolumn{1}{r|}{} & \multicolumn{1}{l}{$S$} & $\mathbf{E} \wedge 8$ \bigstrut[t]\\
(10) & & \multicolumn{1}{r|}{} & \multicolumn{1}{r|}{} & \multicolumn{1}{l}{$S\vee W$} & $\mathbf{I} \vee 9$ \\
(11) & & \multicolumn{1}{r|}{} & \multicolumn{1}{r|}{} & \multicolumn{1}{l}{$Q$} & $\mathbf{E} \rightarrow 4, 10$ \\
(12) & & \multicolumn{1}{r|}{} & \multicolumn{1}{l}{$Q$} & & $\mathbf{E} \vee 5,7,11$ \\
(13) & & \multicolumn{1}{r|}{} & \multicolumn{1}{l}{$T$} & & $\mathbf{E} \rightarrow 3, 12$ \\
(14) & & \multicolumn{1}{r|}{} & \multicolumn{1}{l}{$ \neg T$} & & $\mathbf{it} \; 2$ \\
(15) & & $ \neg (P\vee (R \wedge S))$ & & & $\mathbf{I} \neg\; 5,13,14$ \\
\end{tabular}%
\label{tab:addlabel}%
\end{table}%
\end{document}
答案2
第三和第四列似乎设置为固定宽度。
下面的代码设置表格没有列间距,在需要的地方手动添加(第一列和第二列之间,第二列和第三列之间)。
定义了一个辅助宏来简化我们需要垂直线的单元格的输入。我选择这个宏\bl
的原因不明。
狭窄的空间\,
是为了将术语稍微移离垂直线。
\documentclass{article}
\usepackage{amsmath}
\usepackage{array}
\begin{document}
\begin{flushleft}
\newcommand{\bl}[1]{\multicolumn{1}{|>{$}wl{6em}<{$}}{\,#1}} % ad hoc for the table
\renewcommand{\arraystretch}{1.2} % some more air to the table
\setlength{\tabcolsep}{0pt}
\begin{tabular}{
r % first column aligned on the right
@{\hspace{3em}} % padding
>{$}l<{$} % left aligned math column
@{\hspace{0.5em}}
>{$}wl{6em}<{$} % left aligned math column (fixed width)
>{$}wl{6em}<{$} % left aligned math column (fixed width)
@{}
l % left aligned normal column
}
(1) & P\to Q & & & \textbf{P} \\
(2) & \lnot T & & & \textbf{P} \\
(3) & Q\to T & & & \textbf{P} \\
(4) & S\lor W \to Q & & & \textbf{P} \\
(5) & & \bl{P\lor(R\land S)} & & \textbf{H} \\
\cline{3-4}
(6) & & \bl{} & \bl{P} & \textbf{H} \\
\cline{4-4}
(7) & & \bl{} & \bl{Q} & \textbf{E}$\to$ 1, 6 \\
& & \bl{} \\
(8) & & \bl{} & \bl{R\land S} & \textbf{H} \\
\cline{4-4}
(9) & & \bl{} & \bl{S} & \textbf{E}$\land$ 8 \\
(10) & & \bl{} & \bl{S\lor W} & \textbf{I}$\lor$ 9 \\
(11) & & \bl{} & \bl{Q} & \textbf{E}$\to$ 4, 10 \\
(12) & & \bl{Q} & & \textbf{E}$\lor$ 5, 7, 11 \\
(13) & & \bl{T} & & \textbf{E}$\to$ 3, 12 \\
(14) & & \bl{\lnot T} & & \textbf{it} 12 \\
(15) & \lnot(P\lor(R\land S)) & & & \textbf{I}$\lnot$ 5, 13, 14
\end{tabular}
\end{flushleft}
\end{document}
不算简单,但也不算太难。