
기호는 다 쓸 줄 알지만 직사각형을 만들어 표처럼 쓸 줄은 모르겠어요. 나는 이 웹페이지를 사용했습니다: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
패키지를 사용하여 다음과 같이 일부 방정식(단순화를 위해 2개) 주위에 상자를 만들 수 있습니다.
그리고 그 코드
\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}
글쎄, 그것은 완벽한 대답이 아닙니다. 다른 사람들이 개선할 수 있다고 확신하는 몇 가지 아이디어일 뿐입니다.