Guidedog 설명서 0.2.0
언어
이 페이지의 내용
Guidedog / 문서 0.2.0

수학과 증명

관계를 살피기 쉬워질 때 수식을 쓴다. 기호를 먼저 정의하고 필요한 단위를 밝힌다. 수식은 설명을 돕는 것이며 대신하지 않는다.

인라인 수식과 독립 수식

짧은 수식은 math 역할, 독립 수식은 math 지시문을 쓴다. 두 대상이 모두 이해하는 공통 LaTeX 수학 부분집합을 사용한다.

A side of length :math:`s` encloses area :math:`s^2`.

.. math::
   :label: area-square

   A = s^2

The relation is :eq:`area-square`.

한 변의 길이가 \(s\)인 정사각형의 넓이는 \(s^2\)이다.

(1)\[A = s^2\]

관계식은 (1)다. Guidedog은 레이블 수식에 안정적인 대상을 준다. HTML은 MathJax 마크업을, PDF는 지원 LaTeX 부분집합을 Typst 수학으로 변환한다. 미지원 PDF 명령은 보고하며 임의 LaTeX 패키지는 실행하지 않는다.

간단한 증명

계상된 바이트를 \(U\), 한도를 \(B\), 요청량을 \(n\)이라 하자. 모두 음수가 아니고 \(U \le B\)라 가정한다.

허용 규칙. 다음 조건이 성립할 때만 요청을 허용한다.

(2)\[n \le B - U.\]

명제. 허용된 요청은 \(U + n \le B\)를 유지한다.

증명. (2) 양변에 \(U\)를 더하면 \(U+n \le B\)다. 구현은 뺄셈 형태를 검사하며 정수 오버플로가 가능한 \(U+n\)을 먼저 계산하지 않는다. 증명과 연산 순서가 일치한다.

경계. 이는 계상된 호스트 공간을 다룬다. 별도 Typst 컴파일러의 내부 할당을 제한하지 않는다. 증명은 밝힌 경계 안에서만 유효하다.

HTML 설정

이 프로젝트는 MathJax 3.2.2와 SVG 글꼴 데이터를 포함하며 수식이 있는 페이지에서만 불러온다. 빌드 뒤 오프라인에서도 읽을 수 있고 그림 스크립트나 웹 글꼴 서비스가 필요 없다.

사용자 프로젝트는 기본적으로 CDN의 MathJax를 사용한다. 로컬 사본을 제공하려면 _static에 넣고 다음을 설정한다.

html_static_path = ["_static"]
mathjax_path = "_static/tex-svg-full.js"

웹 수식 조판에는 JavaScript가 필요하며 없으면 소스를 보여 준다. PDF 수식에는 브라우저 JavaScript가 필요 없다. MathJax 구성 요소 계약을 참고한다.