수식
마크다운은 LaTeX 문법을 사용하여 수식을 임베드하는 것을 지원하여, 기술 문서, 학술 논문 및 교재에 전문적인 수학 표현 기능을 제공합니다.
기본 LaTeX 수식 문법
인라인 수식
단일 달러 기호 $
를 사용하여 수식을 감쌉니다:
이것은 인라인 수식입니다: $E = mc^2$, 이것은 아인슈타인의 질량-에너지 방정식입니다.
원의 넓이는 $A = \pi r^2$이며, 여기서 $r$은 반지름입니다.
이차방정식의 해: $x = \frac{-b \pm \sqrt{b^2 - 4ac}}{2a}$
렌더링 결과:
이것은 인라인 수식입니다: $E = mc^2$, 이것은 아인슈타인의 질량-에너지 방정식입니다.
원의 넓이는 $A = \pi r^2$이며, 여기서 $r$은 반지름입니다.
이차방정식의 해: $x = \frac{-b \pm \sqrt{b^2 - 4ac}}{2a}$
블록 수식
이중 달러 기호 $$
를 사용하여 수식을 감싸면 별도의 가운데 정렬된 줄에 표시됩니다:
$$
\int_{-\infty}^{\infty} e^{-x^2} dx = \sqrt{\pi}
$$
$$
\sum_{n=1}^{\infty} \frac{1}{n^2} = \frac{\pi^2}{6}
$$
$$
\lim_{x \to 0} \frac{\sin x}{x} = 1
$$
렌더링 결과:
$$ \int_{-\infty}^{\infty} e^{-x^2} dx = \sqrt{\pi} $$
$$ \sum_{n=1}^{\infty} \frac{1}{n^2} = \frac{\pi^2}{6} $$
$$ \lim_{x \to 0} \frac{\sin x}{x} = 1 $$
기본 수학 요소
위첨자와 아래첨자
<!-- 위첨자 -->
$x^2$, $e^{i\pi}$, $2^{10}$
<!-- 아래첨자 -->
$x_1$, $a_{ij}$, $\log_2 n$
<!-- 조합 -->
$x_1^2$, $a_{i,j}^{(k)}$, $\sum_{i=1}^n x_i^2$
렌더링 결과:
$x^2$, $e^{i\pi}$, $2^{10}$
$x_1$, $a_{ij}$, $\log_2 n$
$x_1^2$, $a_{i,j}^{(k)}$, $\sum_{i=1}^n x_i^2$
분수
<!-- 기본 분수 -->
$\frac{1}{2}$, $\frac{a}{b}$, $\frac{x+y}{x-y}$
<!-- 연분수 -->
$\frac{1}{1 + \frac{1}{2 + \frac{1}{3 + \cdots}}}$
<!-- 복잡한 분수 -->
$\frac{\partial^2 f}{\partial x^2}$, $\frac{d}{dx}\left(\frac{1}{x}\right)$
렌더링 결과:
$\frac{1}{2}$, $\frac{a}{b}$, $\frac{x+y}{x-y}$
$\frac{1}{1 + \frac{1}{2 + \frac{1}{3 + \cdots}}}$
$\frac{\partial^2 f}{\partial x^2}$, $\frac{d}{dx}\left(\frac{1}{x}\right)$
제곱근
<!-- 제곱근 -->
$\sqrt{2}$, $\sqrt{x^2 + y^2}$
<!-- n제곱근 -->
$\sqrt[3]{8}$, $\sqrt[n]{x}$
<!-- 복잡한 근 -->
$\sqrt{\frac{a}{b}}$, $\sqrt{1 + \sqrt{1 + \sqrt{1 + \cdots}}}$
렌더링 결과:
$\sqrt{2}$, $\sqrt{x^2 + y^2}$
$\sqrt[3]{8}$, $\sqrt[n]{x}$
$\sqrt{\frac{a}{b}}$, $\sqrt{1 + \sqrt{1 + \sqrt{1 + \cdots}}}$
기호와 연산자
그리스 문자
<!-- 소문자 그리스 문자 -->
$\alpha$, $\beta$, $\gamma$, $\delta$, $\epsilon$, $\zeta$, $\eta$, $\theta$
$\iota$, $\kappa$, $\lambda$, $\mu$, $\nu$, $\xi$, $\pi$, $\rho$
$\sigma$, $\tau$, $\upsilon$, $\phi$, $\chi$, $\psi$, $\omega$
<!-- 대문자 그리스 문자 -->
$\Alpha$, $\Beta$, $\Gamma$, $\Delta$, $\Epsilon$, $\Zeta$, $\Eta$, $\Theta$
$\Lambda$, $\Xi$, $\Pi$, $\Sigma$, $\Phi$, $\Psi$, $\Omega$
렌더링 결과:
$\alpha$, $\beta$, $\gamma$, $\delta$, $\epsilon$, $\zeta$, $\eta$, $\theta$
$\iota$, $\kappa$, $\lambda$, $\mu$, $\nu$, $\xi$, $\pi$, $\rho$
$\sigma$, $\tau$, $\upsilon$, $\phi$, $\chi$, $\psi$, $\omega$
$\Alpha$, $\Beta$, $\Gamma$, $\Delta$, $\Epsilon$, $\Zeta$, $\Eta$, $\Theta$
$\Lambda$, $\Xi$, $\Pi$, $\Sigma$, $\Phi$, $\Psi$, $\Omega$
연산자
<!-- 기본 연산 -->
$+$, $-$, $\times$, $\div$, $\pm$, $\mp$
<!-- 관계 연산 -->
$=$, $\neq$, $<$, $>$, $\leq$, $\geq$, $\ll$, $\gg$
<!-- 논리 연산 -->
$\land$, $\lor$, $\lnot$, $\implies$, $\iff$
<!-- 집합 연산 -->
$\in$, $\notin$, $\subset$, $\supset$, $\cup$, $\cap$, $\emptyset$
<!-- 기타 기호 -->
$\infty$, $\partial$, $\nabla$, $\propto$, $\approx$, $\equiv$
렌더링 결과:
$+$, $-$, $\times$, $\div$, $\pm$, $\mp$
$=$, $\neq$, $<$, $>$, $\leq$, $\geq$, $\ll$, $\gg$
$\land$, $\lor$, $\lnot$, $\implies$, $\iff$
$\in$, $\notin$, $\subset$, $\supset$, $\cup$, $\cap$, $\emptyset$
$\infty$, $\partial$, $\nabla$, $\propto$, $\approx$, $\equiv$
고급 수학 구조
합과 적분
<!-- 합 -->
$$\sum_{i=1}^{n} i = \frac{n(n+1)}{2}$$
$$\sum_{k=0}^{\infty} \frac{x^k}{k!} = e^x$$
<!-- 적분 -->
$$\int_a^b f(x) dx$$
$$\oint_C \mathbf{F} \cdot d\mathbf{r}$$
$$\iint_D f(x,y) \, dx \, dy$$
$$\iiint_V f(x,y,z) \, dx \, dy \, dz$$
<!-- 극한 -->
$$\lim_{n \to \infty} \left(1 + \frac{1}{n}\right)^n = e$$
$$\lim_{x \to 0^+} \frac{1}{x} = +\infty$$
렌더링 결과:
$$\sum_{i=1}^{n} i = \frac{n(n+1)}{2}$$
$$\sum_{k=0}^{\infty} \frac{x^k}{k!} = e^x$$
$$\int_a^b f(x) dx$$
$$\oint_C \mathbf{F} \cdot d\mathbf{r}$$
$$\iint_D f(x,y) , dx , dy$$
$$\iiint_V f(x,y,z) , dx , dy , dz$$
$$\lim_{n \to \infty} \left(1 + \frac{1}{n}\right)^n = e$$
$$\lim_{x \to 0^+} \frac{1}{x} = +\infty$$
행렬과 행렬식
<!-- 기본 행렬 -->
$$
\begin{matrix}
a & b \\
c & d
\end{matrix}
$$
<!-- 괄호가 있는 행렬 -->
$$
\begin{pmatrix}
1 & 2 & 3 \\
4 & 5 & 6 \\
7 & 8 & 9
\end{pmatrix}
$$
<!-- 행렬식 -->
$$
\begin{vmatrix}
a & b \\
c & d
\end{vmatrix} = ad - bc
$$
<!-- 연립방정식 -->
$$
\begin{cases}
x + y = 1 \\
2x - y = 0
\end{cases}
$$
<!-- 큰 행렬 -->
$$
\begin{bmatrix}
1 & 0 & \cdots & 0 \\
0 & 1 & \cdots & 0 \\
\vdots & \vdots & \ddots & \vdots \\
0 & 0 & \cdots & 1
\end{bmatrix}
$$
렌더링 결과:
$$ \begin{matrix} a & b \ c & d \end{matrix} $$
$$ \begin{pmatrix} 1 & 2 & 3 \ 4 & 5 & 6 \ 7 & 8 & 9 \end{pmatrix} $$
$$ \begin{vmatrix} a & b \ c & d \end{vmatrix} = ad - bc $$
$$ \begin{cases} x + y = 1 \ 2x - y = 0 \end{cases} $$
$$ \begin{bmatrix} 1 & 0 & \cdots & 0 \ 0 & 1 & \cdots & 0 \ \vdots & \vdots & \ddots & \vdots \ 0 & 0 & \cdots & 1 \end{bmatrix} $$
다행 수식
<!-- 정렬된 다행 수식 -->
$$
\begin{align}
f(x) &= ax^2 + bx + c \\
&= a(x^2 + \frac{b}{a}x) + c \\
&= a(x + \frac{b}{2a})^2 + c - \frac{b^2}{4a}
\end{align}
$$
<!-- 구간별 경우 -->
$$
f(x) = \begin{cases}
x^2 & \text{if } x \geq 0 \\
-x^2 & \text{if } x < 0
\end{cases}
$$
<!-- 번호가 매겨진 수식 -->
$$
E = mc^2 \tag{1}
$$
$$
F = ma \tag{2}
$$
렌더링 결과:
$$ \begin{align} f(x) &= ax^2 + bx + c \ &= a(x^2 + \frac{b}{a}x) + c \ &= a(x + \frac{b}{2a})^2 + c - \frac{b^2}{4a} \end{align} $$
$$ f(x) = \begin{cases} x^2 & \text{if } x \geq 0 \ -x^2 & \text{if } x < 0 \end{cases} $$
$$ E = mc^2 \tag{1} $$
$$ F = ma \tag{2} $$
글꼴과 스타일
수학 글꼴
<!-- 굵게 -->
$\mathbf{A}$, $\mathbf{x}$, $\boldsymbol{\alpha}$
<!-- 기울임꼴 (기본값) -->
$A$, $x$, $\alpha$
<!-- 칠판 굵게 -->
$\mathbb{R}$, $\mathbb{C}$, $\mathbb{N}$, $\mathbb{Z}$, $\mathbb{Q}$
<!-- 필기체 -->
$\mathcal{A}$, $\mathcal{B}$, $\mathcal{F}$, $\mathcal{L}$
<!-- 스크립트 -->
$\mathscr{A}$, $\mathscr{B}$, $\mathscr{F}$, $\mathscr{L}$
<!-- 고정폭 -->
$\mathtt{text}$, $\mathtt{ABC}$
<!-- 로마체 -->
$\mathrm{d}x$, $\mathrm{sin}$, $\mathrm{cos}$
렌더링 결과:
$\mathbf{A}$, $\mathbf{x}$, $\boldsymbol{\alpha}$
$A$, $x$, $\alpha$
$\mathbb{R}$, $\mathbb{C}$, $\mathbb{N}$, $\mathbb{Z}$, $\mathbb{Q}$
$\mathcal{A}$, $\mathcal{B}$, $\mathcal{F}$, $\mathcal{L}$
$\mathscr{A}$, $\mathscr{B}$, $\mathscr{F}$, $\mathscr{L}$
$\mathtt{text}$, $\mathtt{ABC}$
$\mathrm{d}x$, $\mathrm{sin}$, $\mathrm{cos}$
크기 제어
<!-- 다양한 크기 -->
$\tiny{tiny}$ $\small{small}$ $\normalsize{normal}$ $\large{large}$ $\Large{Large}$ $\LARGE{LARGE}$ $\huge{huge}$
<!-- 수식에서 사용 -->
$$\Large \sum_{i=1}^{n} \small x_i = \normalsize X$$
렌더링 결과:
$\tiny{tiny}$ $\small{small}$ $\normalsize{normal}$ $\large{large}$ $\Large{Large}$ $\LARGE{LARGE}$ $\huge{huge}$
$$\Large \sum_{i=1}^{n} \small x_i = \normalsize X$$
특수 기호와 표시
화살표
<!-- 단일 화살표 -->
$\leftarrow$, $\rightarrow$, $\uparrow$, $\downarrow$
<!-- 이중 화살표 -->
$\leftrightarrow$, $\updownarrow$
<!-- 긴 화살표 -->
$\longleftarrow$, $\longrightarrow$, $\longleftrightarrow$
<!-- 이중선 화살표 -->
$\Leftarrow$, $\Rightarrow$, $\Leftrightarrow$
<!-- 특수 화살표 -->
$\mapsto$, $\to$, $\gets$, $\hookrightarrow$, $\leadsto$
렌더링 결과:
$\leftarrow$, $\rightarrow$, $\uparrow$, $\downarrow$
$\leftrightarrow$, $\updownarrow$
$\longleftarrow$, $\longrightarrow$, $\longleftrightarrow$
$\Leftarrow$, $\Rightarrow$, $\Leftrightarrow$
$\mapsto$, $\to$, $\gets$, $\hookrightarrow$, $\leadsto$
위첨자와 장식
<!-- 모자 -->
$\hat{a}$, $\widehat{abc}$
<!-- 물결표 -->
$\tilde{a}$, $\widetilde{abc}$
<!-- 윗줄 -->
$\bar{a}$, $\overline{abc}$
<!-- 밑줄 -->
$\underline{abc}$
<!-- 벡터 화살표 -->
$\vec{a}$, $\overrightarrow{AB}$
<!-- 점 -->
$\dot{a}$, $\ddot{a}$, $\dddot{a}$
렌더링 결과:
$\hat{a}$, $\widehat{abc}$
$\tilde{a}$, $\widetilde{abc}$
$\bar{a}$, $\overline{abc}$
$\underline{abc}$
$\vec{a}$, $\overrightarrow{AB}$
$\dot{a}$, $\ddot{a}$, $\dddot{a}$
복잡한 수식 예제
물리학 공식
<!-- 슈뢰딩거 방정식 -->
$$i\hbar\frac{\partial}{\partial t}\Psi(\mathbf{r},t) = \hat{H}\Psi(\mathbf{r},t)$$
<!-- 맥스웰 방정식 -->
$$
\begin{align}
\nabla \cdot \mathbf{E} &= \frac{\rho}{\epsilon_0} \\
\nabla \cdot \mathbf{B} &= 0 \\
\nabla \times \mathbf{E} &= -\frac{\partial \mathbf{B}}{\partial t} \\
\nabla \times \mathbf{B} &= \mu_0\mathbf{J} + \mu_0\epsilon_0\frac{\partial \mathbf{E}}{\partial t}
\end{align}
$$
<!-- 로렌츠 변환 -->
$$
\begin{pmatrix}
ct' \\
x' \\
y' \\
z'
\end{pmatrix} =
\begin{pmatrix}
\gamma & -\gamma v/c & 0 & 0 \\
-\gamma v/c & \gamma & 0 & 0 \\
0 & 0 & 1 & 0 \\
0 & 0 & 0 & 1
\end{pmatrix}
\begin{pmatrix}
ct \\
x \\
y \\
z
\end{pmatrix}
$$
렌더링 결과:
$$i\hbar\frac{\partial}{\partial t}\Psi(\mathbf{r},t) = \hat{H}\Psi(\mathbf{r},t)$$
$$ \begin{align} \nabla \cdot \mathbf{E} &= \frac{\rho}{\epsilon_0} \ \nabla \cdot \mathbf{B} &= 0 \ \nabla \times \mathbf{E} &= -\frac{\partial \mathbf{B}}{\partial t} \ \nabla \times \mathbf{B} &= \mu_0\mathbf{J} + \mu_0\epsilon_0\frac{\partial \mathbf{E}}{\partial t} \end{align} $$
$$ \begin{pmatrix} ct' \ x' \ y' \ z' \end{pmatrix} = \begin{pmatrix} \gamma & -\gamma v/c & 0 & 0 \ -\gamma v/c & \gamma & 0 & 0 \ 0 & 0 & 1 & 0 \ 0 & 0 & 0 & 1 \end{pmatrix} \begin{pmatrix} ct \ x \ y \ z \end{pmatrix} $$
수학 정리
<!-- 푸리에 변환 -->
$$\mathcal{F}\{f(t)\} = F(\omega) = \int_{-\infty}^{\infty} f(t) e^{-i\omega t} dt$$
<!-- 테일러 전개 -->
$$f(x) = \sum_{n=0}^{\infty} \frac{f^{(n)}(a)}{n!}(x-a)^n$$
<!-- 오일러 공식 -->
$$e^{i\theta} = \cos\theta + i\sin\theta$$
<!-- 가우스 적분 -->
$$\int_{-\infty}^{\infty} e^{-ax^2} dx = \sqrt{\frac{\pi}{a}} \quad (a > 0)$$
<!-- 베이즈 정리 -->
$$P(A|B) = \frac{P(B|A)P(A)}{P(B)}$$
렌더링 결과:
$$\mathcal{F}{f(t)} = F(\omega) = \int_{-\infty}^{\infty} f(t) e^{-i\omega t} dt$$
$$f(x) = \sum_{n=0}^{\infty} \frac{f^{(n)}(a)}{n!}(x-a)^n$$
$$e^{i\theta} = \cos\theta + i\sin\theta$$
$$\int_{-\infty}^{\infty} e^{-ax^2} dx = \sqrt{\frac{\pi}{a}} \quad (a > 0)$$
$$P(A|B) = \frac{P(B|A)P(A)}{P(B)}$$
알고리즘 복잡도
<!-- 시간 복잡도 -->
$$O(1) < O(\log n) < O(n) < O(n \log n) < O(n^2) < O(2^n) < O(n!)$$
<!-- 점화 관계 -->
$$T(n) = \begin{cases}
1 & \text{if } n = 1 \\
2T(n/2) + O(n) & \text{if } n > 1
\end{cases}$$
<!-- 마스터 정리 -->
$$T(n) = aT(n/b) + f(n)$$
여기서 $a \geq 1$, $b > 1$, $f(n)$은 점근적으로 양의 함수입니다.
렌더링 결과:
$$O(1) < O(\log n) < O(n) < O(n \log n) < O(n^2) < O(2^n) < O(n!)$$
$$T(n) = \begin{cases} 1 & \text{if } n = 1 \ 2T(n/2) + O(n) & \text{if } n > 1 \end{cases}$$
$$T(n) = aT(n/b) + f(n)$$ 여기서 $a \geq 1$, $b > 1$, $f(n)$은 점근적으로 양의 함수입니다.
수식 모범 사례
작성 제안
✅ 권장사항:
1. **의미론적 명령어 사용**:
- `sin`, `cos`, `log` 대신 `\sin`, `\cos`, `\log` 사용
- 미분에는 `\mathrm{d}x` 사용
2. **적절한 간격 유지**:
- 연산자 주변에 적절한 공간 추가: `\,` (얇은 공간), `\;` (중간 공간), `\quad` (큰 공간)
3. **일치하는 괄호 사용**:
- 자동 크기 조정: `\left(\right)`, `\left[\right]`, `\left\{\right\}`
4. **수식 정렬**:
- 등호를 정렬하려면 `align` 환경 사용
- 정렬점을 표시하려면 `&` 사용
❌ 피해야 할 것:
1. 긴 수식을 줄바꿈하지 않기
2. 필요한 괄호 누락
3. 일관성 없는 기호 사용
4. 문법 오류 검사 무시
일반적인 오류 수정
<!-- ❌ 잘못된 예 -->
$sin(x)$, $log(x)$, $max(a,b)$
<!-- ✅ 올바른 예 -->
$\sin(x)$, $\log(x)$, $\max(a,b)$
<!-- ❌ 잘못된 예 -->
$(\frac{a}{b})$
<!-- ✅ 올바른 예 -->
$\left(\frac{a}{b}\right)$
<!-- ❌ 잘못된 예 -->
$x=1+2+3+...+n$
<!-- ✅ 올바른 예 -->
$x = 1 + 2 + 3 + \cdots + n$
접근성 고려사항
수식 접근성을 향상시키려면:
1. **텍스트 설명 추가**:
$$E = mc^2$$
> 이것은 아인슈타인의 질량-에너지 방정식으로, 에너지는 질량에 빛의 속도의 제곱을 곱한 것과 같다는 의미입니다.
2. **대안 텍스트 사용**:
복잡한 수식 뒤에 단순화된 설명 추가
3. **색상만으로 구분하지 않기**:
개념을 구분하려면 다른 기호나 스타일 사용
4. **수식을 간결하게 유지**:
복잡한 수식을 여러 단계로 나누기
지원되는 수식 환경
마크다운 프로세서 지원
프로세서 | 수식 지원 | 문법 | 설정 |
---|---|---|---|
GitHub | ✅ | $...$ , $$...$$ | 자동 |
GitLab | ✅ | $...$ , $$...$$ | 활성화 필요 |
VitePress | ✅ | $...$ , $$...$$ | 플러그인 설정 |
Jekyll | ✅ | $...$ , $$...$$ | MathJax/KaTeX |
Hugo | ✅ | $...$ , $$...$$ | 테마 지원 |
VitePress 설정 예제
// .vitepress/config.js
export default {
markdown: {
math: true
}
}
렌더링 엔진
일반적인 수식 렌더링 엔진:
1. **MathJax**:
- 가장 완전하며, 전체 LaTeX 지원
- 높은 렌더링 품질이지만 로딩이 느림
2. **KaTeX**:
- 빠른 렌더링
- 일반적인 수학 문법 지원
- 작은 크기
3. **MathML**:
- 브라우저 네이티브 지원
- 복잡한 문법, 보통 자동 생성됨
관련 문법
도구 및 리소스
온라인 에디터
- LaTeX Live: LaTeX 수식의 실시간 미리보기
- MathJax Demo: MathJax 렌더링 테스트
- KaTeX Demo: KaTeX 수식 테스트
- Desmos: 그래픽 수학 표현
수식 편집 도구
- MathType: 전문 수식 편집기
- LaTeX Workshop (VS Code): LaTeX 작성 플러그인
- MathQuill: 시각적 수학 편집기
- Wiris: 온라인 수식 편집기
참조 리소스
- LaTeX Math Symbols: 수학 기호 참조표
- Detexify: 손글씨 LaTeX 기호 인식
- MathJax Documentation: 공식 문서
- KaTeX Supported Functions: 지원되는 함수 목록
수식 문법을 숙지하면 기술 문서에서 복잡한 수학 개념과 공식을 우아하게 표현할 수 있습니다.