짧은 괘선에도 첨부되는 여백을 어떻게 그리나요?

짧은 괘선에도 첨부되는 여백을 어떻게 그리나요?

저는 논리 할당 작업을 하고 있는데 LaTeX를 사용하기로 되어 있습니다. 과제에서 아래와 같은 내용을 작성해야 하는 경우가 종종 있습니다. 표시된 표를 수행하는 방법을 알고 있지만 막대는 아닙니다. 특히 인라인 교정본이 있는 경우에는 더욱 그렇습니다. 또한, 건물이 여러 개인 경우에는 어떻게 해야 합니까? 당신의 도움을 주셔서 감사합니다!

(P -> (Q ^ R)) ┠ (P -> R)의 논리적 증명

답변1

제공된 myproof환경 내에서는 \z수직 막대를 사용하고 \z*수직 막대는 수평 발을 사용합니다. myproof에 대한 들여쓰기를 제공하는 선택적 인수입니다 \reason.

\par내가 환경을 재정의하기 때문에 당신은~ 해야 하다증명 단계 사이에 정확히 하나의 빈 줄을 사용하십시오.

\documentclass{article}
\usepackage{tabto}
\def\zz{1.8\dimexpr}
\makeatletter
\newcommand\z{\@ifstar{\zstar}{\znostar}}
\makeatother
\newcommand\zstar{\makebox[1em][l]{%
  \smash{\rule[-\dimexpr2pt+\zz\dp\strutbox]{.5pt}{\zz\baselineskip}%
    \rlap{\rule[-\zz.9\dp\strutbox]{14pt}{.5pt}}}}\ignorespaces}
\newcommand\znostar{\makebox[1em][l]{%
  \smash{\rule[-\dimexpr2pt+\zz\dp\strutbox]{.5pt}{\zz\baselineskip}}}%
  \ignorespaces}
\let\svpar\par
\newcounter{proofline}
\newenvironment{myproof}[1][1.8in]{%
   \setcounter{proofline}{0}%
   \parskip0.8\baselineskip
   \def\reason{\tabto{#1}}%
   \def\par{\stepcounter{proofline}%
   \svpar\noindent\makebox[1.5em][l]{\theproofline}}%
   \par\ignorespaces
  }
  {\let\par\svpar
   \par\noindent
   \ignorespacesafterend
  }
\begin{document}
\noindent Before
\begin{myproof}
\z* $(P\rightarrow(Q\wedge R))$ \reason Premise

\z\z* $P$ \reason Assumption

\z\z $(Q\wedge R)$ \reason 1,2 $\rightarrow$E

\z\z $R$ \reason 3 $\wedge$E

\z $(P\rightarrow R)$ \reason 2-4 $\rightarrow$I
\end{myproof}
After

\noindent parskip was restored
\end{document}

여기에 이미지 설명을 입력하세요

관련 정보