일기:2024년 10월 1일
10월
벌써 10월이 되었다. 시간 참 빠르다. 바람이 많이 분다. 내일은 갑자기 날씨가 추워진다고 한다.
Hakyll과 증명 나무
Hakyll로 만든 정적 사이트에 증명 나무를 표시하려면 아래와 같이 해야 한다.
MathJax
templates/default.html
에 아래와 같은 코드를 넣어야 한다.1
<script id="MathJax-script" async
src="https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-mml-chtml.js">
</script>
이때 MathJax 버전 2는 안 되고 3을 써야 한다.
Pandoc
myblog.cabal
에 pandoc
의존성을 추가한다.
build-depends: hakyll,
pandoc
site.hs
상단에 아래 모듈을 임포트한다.
Text.Pandoc.Options
site.hs
파일 중간에 포스트를 처리하는 부분의 코드를 아래와 같이 변경한다.23
let readerOptions = defaultHakyllReaderOptions
= defaultHakyllWriterOptions
writerOptions = MathJax "" }
{ writerHTMLMathMethod $ pandocCompilerWith readerOptions writerOptions compile
각주 연습
이 문단에서는 마크다운 각주를 연습한다.4
각주 다음에 문장이 있을 때 각주는 어디에 표시될까?
정의 1.1.1 (탑다운)
자연수 \(n\)은 아래 조건을 만족할 때 집합 \(S\)에 속한다.
- \(n = 0\) 또는
- \(n - 3 \in S\)
정의 1.1.2 (바텀업)
\(S\)는 집합 \(N\)에 포함되고 아래 두 속성을 만족하는 가장 작은 집합이다.
- \(0 \in S\)
- 만약 \(n \in S\)라면 \(n + 3 \in S\)
정의 (추론 규칙)
\[ \begin{prooftree} \AxiomC{} \UnaryInfC{$0 \in S$} \end{prooftree} \]
\[ \begin{prooftree} \AxiomC{$n \in S$} \UnaryInfC{$(n+3) \in S$} \end{prooftree} \]
정의 1.1.3 (탑다운)
스킴 리스트는 아래 조건을 만족할 때 정수의 리스트이다.
- 빈 리스트이거나
car
가 정수이고cdr
이 정수 리스트인 짝이다.
정의 1.1.4 (바텀업)
정수 리스트 집합은 아래 두 속성을 만족하는 가장 작은 스킴 집합이다.
- \(() \in 정수리스트\)
- 만약 \(n \in 정수\)이고 \(l \in 정수리스트\)이면 \((n . l) \in 정수리스트\)이다.
정의 1.1.5 (추론 규칙)
\[ () \in 정수리스트 \]
\[ \begin{prooftree} \AXC{$n \in 정수$} \AXC{$l \in 정수리스트$} \BIC{$(n.l) \in 정수리스트$} \end{prooftree} \]
연습 문제 1.1.1
\[ \{3n + 2 | n \in N\} \]