Q&A 마당은 텍 관련 질문/답변을 위해 만들었습니다.
- 로그인 없이 자유롭게 글을 읽고 쓸 수 있는 철학은 처음과 같이 계속됩니다.
- 질문 전에 아래를 읽어 보세요. 좋은 질문이 좋은 답을 받을 수 있는 좋은 방법입니다.
- 질문에 맞는 제목을 붙이세요. 질문의 내용과 관련없는 "고수님", "긴급질문", "도와주세요"와 같은 제목은 답이 잘 올라오지 않습니다. 이 게시판에 올라오는 모든 글은 질문입니다. 굳이 [질문], [Q]를 적으실 필요도 없습니다.
- 내용을 충실히 적어 주시고, 같은 상황을 재현할 수 있는 최소한의 예제가 같이 있어야 합니다.
- 최소 예제는 "Minimal working example"을 읽어 보세요.
- 파일을 첨부하실 때에는 가능한 압축하여 파일 크기를 줄여서 올려주시길 바랍니다.
- 개인적으로 사용하신 글꼴이 들어 있는 경우, preparefont.sty에 관한 답변을 참조하세요.
- 스팸 글을 막기 위하여 짧은 시간 내에 다시 글이 등록되는 IP를 막거나, 광고 글을 막기 위하여 금지어로 .com, .net 등을 설정하고 있습니다. 다소간의 불편함이 있으시더라도 양해 바랍니다.
- 금지어에서 stackexchange, stackoverflow, ctan, overleaf, , github, google.com, gmail.com, .org, .io, sil.org, wiki.com, tistory.com등은 해제하였습니다.
- MathJax를 이용한 수식조판을 사용하실 수 있습니다. 여기를 참조하세요.
- 사용하는 편집기는 CKeditor입니다.
- 편집기에서 [enter]를 누르면 <p> 태그가 들어가고, 문단으로 생각하고 한 줄을 비웁니다.
- 글줄만 바꾸려면 [shift-enter]를 누르면 <BR> 태그가 들어가므로 용도에 맞게 나누어 쓸 수 있습니다.
- 수식를 문서내에 삽입하시려면 에디터를 툴바에서 [소스]를 눌러 HTML로 입력할 수 있게 바꾸신 후 <pre> </pre> tag를 사용하셔서 <pre> 여러 줄의 수식 </pre>처럼 입력하시면 좋습니다.
tabular와 hline으로 inference rule 만들기
2018.01.25 15:19
제 전공 분야 논문에서 자주 언급되는 추론 규칙을 latex으로 작성할 때
1) tabular로 추론 규칙의 조건부를 층층히 쌓고
2) hline으로 결론부와 구분짓는 라인을 그은 다음
3) 맨 아래 층에 결론부를 작성합니다.
\newcommand{\ruleone}[3]{ {#1}\begin{tabular}{l}#2\\ \hline \mbox{#3} \end{tabular}} \newcommand{\ruletwo}[4]{ {#1}\begin{tabular}{l}#2\\ #3\\ \hline \mbox{#4} \end{tabular}}
모양이 다음과 같이 나옵니다.
이렇게 작성하면, 사용하는 클래스 파일(.cls)에서 hline의 수직 공백을 설정하는 경우
그 설정에 따라 위의 추론 규칙의 모양이 보기 싫게 벌어져 버리네요.
예를 들어 제가 사용하는 클래스 파일에 다음과 같이 hline이 설정되어 있습니다.
\def\hline{% FROM LATEX.LTX \noalign{\ifnum0=`}\fi \vskip 6\p@ \hrule \@height \arrayrulewidth \vskip 6\p@ \futurelet \reserved@a\@xhline}
추가로, 추론 규칙 이름 (Lam)이나 (App)의 위치가 일관성있게 붙지 않는 것도 보기에 좋지 않습니다.
(Lam)은 hline 바로 옆에 있지만 (App)은 hline보다 조금 위에 있지요.
제가 질문드리고 싶은 것은 다음과 같습니다.
1) 추론 규칙을 작성하는 더 좋은 방법이 있을면 추천 부탁드립니다.
2) 위의 방법이 최상이라고 생각하시면, 클래스 파일에 설정된 hline 수직 공백을 무효화 시키는 좋은 방법이 있으신지요?
감사합니다!!!
댓글 3
-
ano
2018.01.25 17:19
-
lazyswamp
2018.01.25 17:32
ebproof 문서를 빠르게 읽어보았는데, 제가 필요한 패키지 딱 맞네요.
제가 가지고 있는 문서를 ebproof 패키지 커맨드로 다시 작성해보면서 테스트 해보렵니다.
감사합니다!!!
-
lazyswamp
2018.02.02 13:24
ebproof 패키지에 사용에 대한 간단한 가이드를 이곳에 메모해놓습니다.
ebproof 패키지 최신 버전은 2018년 2월을 기준으로 2.0입니다. texlive를 설치하셨다면
이미 ebproof.sty가 설치되어 있을 것입니다만 혹시 낮은 버전이 설치되어 있는지 확인하시기 바랍니다.
버전이 중요한 이유는, 2.0 버전에서는 다음 latex 문서를 잘 컴파일 되어 첨부 파일과 같이 잘 나옵니다.
\documentclass{article}
\usepackage{ebproof}
\begin{document}
\begin{prooftree}
\hypo{ L \Downarrow_a \lambda^{b}{x}{N} }
\hypo{ M \Downarrow_a W }
\hypo{ N\{W/x\} \Downarrow_b V }
\infer3[Beta]{ L \ M \Downarrow_a V }
\end{prooftree}
\end{document}
저의 textlive 설치 환경의 경우 2016버전이었고 ebproof 패키지 버전이 1.5 (2015년에 완성된 버전)이었습니다.
이 버전에서는 \hypo 대신 \Hypo (h를 H로), \infer 대신 \Infer로 (i를 I로) 작성해야 합니다.
버전이 바뀌면서 ebproof 매크로 이름의 대소문자가 변경된 듯 합니다. ebproof.sty 파일을 열어서 확인해보니까 Hypo나 Infer 매크로 명을 볼 수 있었네요.
texlive manager를 실행해서 ebproof 패키지를 2.0으로 업데이트 할 수 있습니다.
사소한 내용이지만 메모를 남깁니다.
감사합니다!!
ebproof 패키지가 말씀하신 것과 비슷한 기능을 지원하는 것으로 보입니다.
> texdoc ebproof