Markdown에 수식과 다이어그램 넣기
기술 문서에는 수식과 흐름도가 자주 들어갑니다. Markdown에 글자로 적어 두면 변환할 때 그림으로 그려져 HTML 파일 안에 들어갑니다. 받는 사람에게는 별도 프로그램도 인터넷도 필요 없습니다.
수식 쓰는 법
LaTeX 수식 문법을 그대로 씁니다. 문장 안의 수식과 따로 줄을 차지하는 수식 모두 두 가지 표기를 지원합니다.
| 종류 | 표기 |
|---|---|
| 문장 안 수식 | $E = mc^2$ 또는 \(E = mc^2\) |
| 따로 줄을 차지하는 수식 | $$ ... $$ 또는 \[ ... \] |
| GitHub 방식 | 코드 블록의 언어를 math로 지정 |
여러 줄 수식은 다음처럼 씁니다.
$$
\begin{aligned}
y &= (x + 1)^2 \\
&= x^2 + 2x + 1
\end{aligned}
$$
ChatGPT는 수식을 \( \)와 \[ \]로 쓰는 경우가 많은데, 고치지 않고 그대로 넣어도 됩니다.
수식이 잘 안 될 때
- 달러 기호가 글자로 보입니다. 여는 $ 바로 뒤와 닫는 $ 바로 앞에 공백이 있으면 수식으로 보지 않습니다.
$ x $가 아니라$x$로 쓰세요. - 금액이 수식이 됩니다. $5와 $10 같은 표현은 수식이 되지 않게 규칙을 두었지만, 드물게 예외가 있습니다. 글자 달러는
\$로 쓰면 확실합니다. - 빨간 글자로 나옵니다. 수식 문법 오류입니다. 확인할 점에 해당 수식이 표시됩니다. 괄호 짝을 먼저 살펴보세요.
- 지원하지 않는 명령입니다. KaTeX는 LaTeX의 수식 부분 중 널리 쓰는 기능을 지원하며,
\newcommand로 만든 복잡한 매크로나 일부 패키지 명령은 동작하지 않을 수 있습니다.
다이어그램 쓰는 법
코드 블록의 언어를 mermaid로 지정하면 글로 적은 구조가 그림이 됩니다. 그림 도구를 열지 않아도 되고, 내용을 고칠 때 글자만 바꾸면 됩니다.
```mermaid
flowchart LR
A[센서 입력] --> B[전처리]
B --> C{이상값?}
C -- 예 --> D[제거]
C -- 아니요 --> E[모델 실행]
```
흐름도(flowchart) 외에 순서도(sequenceDiagram), 상태도(stateDiagram-v2), 클래스도(classDiagram), 간트 차트(gantt) 등을 쓸 수 있습니다.
다이어그램 요령
- 방향을 정합니다.
LR은 왼쪽에서 오른쪽,TD는 위에서 아래입니다. 본문 폭이 정해져 있으니 단계가 많으면 TD가 읽기 좋습니다. - 문장 부호가 있는 글은 따옴표로 감쌉니다. 괄호나 콜론이 든 글자는 문법과 충돌할 수 있습니다.
A["입력 (센서)"]처럼 쓰세요. - 한 그림에 다 넣지 않습니다. 칸이 많아지면 글자가 작아집니다. 넓은 그림은 가로 스크롤이 생기므로 둘로 나누는 편이 낫습니다.
- 문법 오류는 코드로 남습니다. 그림을 그리지 못하면 원문을 코드로 넣고 확인할 점에 이유를 표시합니다.
결과 파일 크기
수식이 있는 문서에는 수식 글꼴이 함께 들어가 파일이 약 370KB 커집니다. 수식 전용 글꼴을 파일 안에 담아 어디서나 같은 모양으로 보이게 하기 위해서입니다. 수식이 없는 문서에는 들어가지 않습니다. 다이어그램은 실행 프로그램 없이 그림(SVG)만 들어가므로 크기 부담이 작습니다. 다이어그램 프로그램은 작업 화면에서 처음 쓸 때 한 번 받습니다.
어두운 화면에서는
수식은 글자색을 따라가므로 어두운 화면에서도 그대로 잘 보입니다. 다이어그램은 색을 보장하기 위해 항상 흰 바탕 상자 안에 그립니다.
함께 보면 좋은 글
- Markdown을 목차 있는 HTML로 만드는 방법긴 Markdown 문서를 왼쪽 목차가 달린 HTML 파일로 만들 때 제목 구조를 잡는 법, 번호를 쓰는 법, 목차 깊이를 정하는 법과 공유 전에 확인할 점을 정리했습니다..
- Markdown 머리말로 작성일과 소개문 넣기YAML 머리말(front matter)로 문서 제목, 소개문, 대상, 작성일을 넣는 방법입니다.
- Markdown 이미지가 HTML에서 깨질 때Markdown을 HTML로 바꾸면 이미지가 깨지는 이유와, 이미지를 파일 안에 넣는 방법, 파일 크기를 줄이는 요령, 띄어쓰기 경로 같은 함정을 정리했습니다..