14. 수식을 씁시다!14. 수식을 씁시다!
14. 수식을 씁시다!14. 수식을 씁시다!

14. 수식을 씁시다!

차례

을 지원하는 Notion

Notion은 여러 자료를 모아놓고 정리하는 데 탁월하다. 단순한 텍스트는 물론이고 이미지와 파일을 첨부할 수 있는 것은 기본이다. 여기에 더해 수학 블록이나 글 중간 수식 넣기를 이용하면 간단한 덧셈에서부터 복잡한 행렬이나 극한, 미분 등의 수식을 입력할 수 있기 때문에 수학이나 과학 논문을 쓰고 자료를 연구하시는 분들께 유용할 것이다.
Notion은 (레이텍, 혹은 라텍이라고 읽는다. 라텍쓰 라고 읽으시면 슬퍼요. 😓)이라는 마크업 언어로 수식을 처리한다. 1980년대에 개발된 언어로 사실상 업계 표준이 되었으며, 원래는 수식 뿐만 아니라 워드프로세서 조판 전체에 이용하기 위해 만들어진 언어가 이다. 수식을 표한하는 능력이 정말 뛰어나서 지금은 여러 프로그램에서 지원하고 있다.
Notion에서는 문법 중 문서의 레이아웃 관련 된 명령어를 덜어내고 오직 수식을 작성하는 데에 꼭 필요한 문법을 도입하였다. (내부적으로 Notion은 이라는 라이브러리를 사용한다.)
처음에는 굉장히 복잡하고 정신 없어 보이겠지만 만의 규칙에 익숙해지면 수식을 다루는 것이 점점 더 손에 익을 것이다.

1. 수식 넣기 - 수식 블록 vs 글 중간 수식

Notion에서 수식을 입력하는 방법은 크게 두 가지가 있다. 수식 블록을 사용하거나 글 중간에 수식을 넣는 방법이다.
 

방법 1: 수식 블록 만들기

키보드에서 /mathb 를 입력하면 수식 블럭이 하나 생긴다. 아래 처럼 생겼다.
저 블록에 수식을 입력하려면
  • 마우스로 위의 수식 블럭을 클릭하거나
  • 키보드로
    • 글자 편집 상태에서라면 Esc 키를 눌러서 블록 편집 상태로 바꾼 다음
    • 위쪽 방향키를 눌러서 방금 삽입한 수식 블록을 선택하고
    • Ctrl-Enter 키를 누르면 (※ macOS에서는 Cmd-Enter 키)
코드(스크립트)를 입력할 수 있는 편집창이 나타난다.
 

방법 2: 글 중간에 수식 넣기 🆕 ✨

Notion에서 글을 쓰는 중간에(inline) 처럼 수식을 표시할 수 있는 기능이다.
  • 글의 중간에 $$수식$$ 과 같이 $$로 수식 코드를 둘러싸거나
  • Ctrl-Shift-E (맥에서는 Cmd-Shift-E)를 입력하여 열리는 수식 편집기에 수식 코드를 입력한다.
💡
본문에 등장하는 기호는 $$\LaTeX$$$$\TeX$$로 입력하고 있다.
 

2. 초등학교

처음에는 간단한 수식부터 입력해보자. 코드 블록의 코드를 수학 블록이나 $$ $$ 사이에 입력하면 수식이 나타난다.
 

초1: 공백을 무시하는

 
1,2,3,4,5
 
1, 2, 3, 4, 5
 
 
1, 2, 3, 4, 5
1, 2, 3, 4, 5
💡
수식 코드를 입력할 때 줄을 바꾸려면 Shift-Enter를 누른다.
 
코드에서는 공백과 줄바꿈을 무시한다. 이 특성은 나중에 수식이 굉장히 복잡해질 때 진가를 발휘한다. 수식을 구성하는 여러 요소를 구분하기 위해서 공백과 줄바꿈을 쓰기 때문에 '공백을 무시한다'는 특성은 굉장히 중요하다. 물론 필요할 때는 공백을 무시하지 않게 만들 수도 있다.

초2: 곱하기는? 나누기는?

3 + 5
98 - 34
더하기, 빼기는 어렵지 않다. 근데 곱하기랑 나누기는?
7 * 9
이건 다분히 컴퓨터적인 표현이다. 우리가 즐겨 쓰는 곱하기()와 나누기() 기호는 어떻게 입력할까?
7 \times 9
에서 수식에 쓰이는 특별한 명령은 \ 기호로 시작한다.
곱하기는 \times 이다. 나누기는 \div 를 사용한다.
45 \div 9 = 5

초3: 분수도 쓰고 한글도 쓰고

 
\frac{1}{2}=\frac{2}{4} \\ \text{나는 약분이 싫어!}
코드에서 Shift-Enter 키로 줄을 바꾸어도 수식의 줄이 바뀌지 않는다. 줄을 바꿀 대는 \\ 기호를 사용한다.
분수는 \frac{분자}{분모} 꼴로 쓴다. '분자를 먼저 쓴다'는 점을 꼭 기억하자.
한글을 비롯한 일반적인 텍스트를 나타내려면 \text{글줄} 꼴로 적는다. 당연하지만 \text{ }에 있는 글자는 공백을 무시하지 않고 다 처리한다.
$$수식$$을 사용하여 글 중간에 분수를 써 보면 예쁘게 높이를 맞추어 준다. 이런 식이다. 작은 분수가 괜히 귀엽게 보인다. 😄
Notion이 사용하는 수식 출력 글꼴이 예쁘기 때문에, 특히 한글을 쓸 대 $$\text{글줄}$$ 처럼 입력하면 글 중간에 을 넣을 수 있다.
{1 \over 2} = {4 \over 2}
{분자 \over 분모} 형태로 분수를 나타낼 수도 있다. 편한 것을 선택하면 되겠다.
 

초4: 의미 있는 단위로 묶어주는 { }

\frac{1}{2} \times \frac{2}{3} = \frac{1 \times 2}{2 \times 3} = \frac{2}{6} = \frac{1}{3}
{ }는 하나의 숫자부터 여러 개의 수식까지 의미가 있으면 이를 한데 묶어주는 기호이다. 이렇게 복잡한 수식은 한 줄로 쓰는 것보다 Shift-Enter 키로 적당하게 줄을 바꾸어주면 훨씬 알아보기 편하다. 위에서는 =을 단위로 줄을 바꾸어보았다.
위의 수식을 약분해보자...
\frac{1}{2} \times \frac{2}{3} = \frac{1 \times \cancel{2}} {\cancel{2} \times 3} = \frac{1}{3}
숫자에 줄을 그어서 소거하려면 \cancel{ }을 쓴다. $$\cancel{2}$$ 처럼 나타난다.
복잡한 수식일 수록 적당히 빈 칸을 섞어주고 줄을 바꾸어서 보기 편하게 만들어주면 훨씬 읽고 쓰기 편하다.
 

초5: 윗첨자 아랫첨자

수식에서 제곱을 표시하거나 화학식을 만들려면 첨자가 꼭 필요하다. 에서 2에 해당하는 문자를 윗첨자라 하고, 에서의 a를 아랫첨자라고 한다.
 
ax^2 + x^2 + 6x = 0
\mathrm{ 2H_2O \rightarrow 2H_2 + O_2 }
윗첨자는 ^, 아랫첨자는 _을 사용한다. 화학식은 기울임꼴로 쓰지 않기 때문에 로마자 정자로 표시하기 위해서 \mathrm{ }로 전체 식을 묶어준다.
\text{과산화 이온은 } \mathrm{ O_2^{\ 2-} } \text{입니다.}
반 칸 하나를 띄어주려면 \ 처럼 '\' 뒤에 빈 칸 하나를 덧붙이거나 \, 기호를 사용한다. 이온식에서는 위첨자와 아래첨자를 같은 위치에 쓰는 경우가 잘 없으니까 빈 칸을 두었다.
물론 이렇게 코드만으로 화학식을 입력할 수 있지만 \ce\pu 확장 기능을 이용하면 더 쉽게 화학식을 표시할 수 있다. 자세한 것은
🧪
18. 화학식을 씁시다!
페이지를 참고하자.
 
2^{n+1} + 2^{{1 \over 2}}=?
첨자가 두 개 이상의 문자로 이루어져 있다면 { }로 묵는다.
 

초6: 괄호 제대로 사용하기

간단한 수식일 때는 키보드에서 입력할 수 있는 괄호들을 쓰는 것도 나쁘지 않다.
x = 3 \times (4 + 5)
하지만 키보드에서 쓰는 괄호를 분수식에 사용하면 문제가 생긴다.
3 \times (\frac{1}{2} + \frac{2}{3})
괄호를 예쁘게 만들어주려면 키보드에서 입력하는 괄호 앞에 \left\right를 덧붙여준다.
3 \times \left(\frac{1}{2} + \frac{2}{3}\right)
 

3. 중학교

이제 수식의 본격적인 표현이 시작된다. 중학교... 수포자의 헬게이트가 열리는 안타까운 그 지점...

중1: 집합과 명제

수학 책의 앞부분에 호기롭게 적힌 메모들... 그리고 뒤로 갈수록 마치 새 책인 양 깨끗한 페이지... 집합부터 시작해보자.
 
A = {1, 2, 3}
어라? 왜 중괄호가 안 나타날까? { }에서 수식에 의미가 있는 부분을 묶어주는 기호이기 때문이다. 그래서 중괄호 자체를 나타내려면 \ 기호를 덧붙여서 \{\}처럼 써야 한다. 이렇게...
 
A = \{1, 2, 3\}
 
분수가 원소에 속해 있으면 \left, \right 를 이용해서 표시한다. \cdots는 가운대점 세 개이다.
B = \left\{ \frac{1}{2}, \frac{1}{3}, \frac{1}{4} \cdots \right\}
집합에서 즐겨 사용하는 기호들도 물론 다 나타낼 수 있다.
(A \cup B) \cap (A \cup B)^C \neq \empty \\ a \in A,\ b \not\in B
부분 집합 기호도 당연히 준비되어 있다.
B \subset (A \cup B) \\ A \supseteq A
집합과 더불어 명제를 나타낼 때도 화살표를 사용할 수 있다.
p \rightarrow q, q \nrightarrow p, q \Rightarrow q, p \leftrightarrow q
부정과 대우를 나타낼 수도 있다.
 
\neg (\neg p) \Leftrightarrow p
\rightarrow와 같이 소문자로 쓰면 가 되고, \Rightarrow가 된다. 대문자와 소문자는 큰 의미가 있다.
 

중2: 방정식과 부등식

지금까지 설명한 방법을 이용하면 기본적으로 방정식은 쉽게 표기할 수 있다.
ax^2 + (a + b)x + ab = 0
연립방정식은 다음처럼 나타내면 된다.
\begin{cases} ax + by = p \\ cx + dy = q \end{cases}
\begin{cases}\end{cases} 사이에 필요한 수식을 적으면 된다. 줄바꿈은 앞에서 설명한 \\ 기호를 사용한다. 수식 코드에도 줄을 바꾸어서 표현하면 훨씬 이해하기 쉬운 모양으로 코드를 쓸 수 있다.
 
\begin{cases} -3x \leq 6 \\ x + 4 < 9 \end{cases}
'작거나 같다'가 \leq라면 '크거나 같다'는 \geq겠지?
3 \geq x \geq 1 (x \ngeq 5, x \neq 0)
\ngeq, \neq\not\geq, \not\eq로 쓸 수도 있다.
 

중3: 루트

루트 기호는 어디까지가 루트 안에 있는지 { }를 이용해서 정확하게 지정해야 한다.
\sqrt{2}, \sqrt[n]{3}, \sqrt[3]{x^3 + y^3 \over 2}
근의 공식을 한 번 써볼까? (물론 이건 고등학교에 올라가야 알 수 있는 것이지만... 헐! 요즘은 중3때 이걸 배운단다. 신기하네...)
x = \frac{-b \pm \sqrt{b^2-4ac}} {2a} \ (단,\ a \neq 0, \ b^2-4ac \geq 0)
+와 -가 합쳐진 'plus-minus' 기호()는 \pm을 쓴다. 빈 칸을 무시하는 이지만 \ 처럼 쓰면 빈 칸 하나를 표시할 수 있다.

고등학교

여기까지만 해도 어느 정도 수식 표현이 가능할 것이다. 하지만 아직 다루지 않은 내용이 있다. LaTeX는 참으로 신비하다.

고1: 여러 가지 도형 기호

LaTeX는 충실하게 여러 가지 도형 기호를 표현할 수 있다.
\triangle ABC \sim \triangle DEF \\ \bigcirc A \equiv \bigcirc B \\ \square ABCD \equiv \square HIJK
삼각형, 사각형, 원을 나타낼 수 있다. 닮음은 \sim을, 합동은 \equiv를 시용한다.
그런데, 수학 블록은 모든 수식을 가운데 정렬로 배치한다. 이걸 깔끔하게(?) 왼쪽 정렬로 맞출 수는 없을까? 물론 가능하다.
\begin{aligned} &\triangle ABC \sim \triangle DEF \\ &\bigcirc A \equiv \bigcirc B \\ &\square ABCD \equiv \square HIJK \end{aligned}
 
연립 방정식과 비슷한 느낌으로 \begin{aligned}\end{aligned} 사이에 수식 코드를 쓴다. 그리고 정렬의 기준점을 잡아주기 위해서 & 를 사용한다. (음, 근데 왜 가운데 정렬보다 안 깔끔해보이지?)
 
 
\angle D = 45\degree, \perp P
각도를 나타낼 때는 \degree를 쓰면 된다.
\sin A, \cos B, \tan C, \arctan D, \sinh X, \cosh Y, \tanh Z
각종 삼각함수는 로만체 글꼴로 표시되어 있다.
 

고2: 두 줄 이상의 수식

분수 역시 두 줄 이상으로 구성된 수식인데, LaTeX에서는 더 다양한 꼴을 제공하고 있다. (여기서부터는 점점 나의 이해를 넘어가는 분야이다... 머리가 아파온다.)
{n \choose k} + {n \choose k+1} = {n+1 \choose k+1}
이항계수는 위와 같이 \choose 를 사용해서 나타낸다. 도대체 위의 식은 무슨 의미인가요... ㅠㅠ
시그마와 이항계수를 이용하여 '피보너치 수열'을 나타낼 수 있다.
\sum_{k=0}^{\lfloor k=2 \rfloor} {n-k \choose k} = F(n+1)
위와 같이 \sum_{아래쪽}적분 ^{위쪽}가운데 형식으로 써주면 시그마를 쓸 수 있다.
\lfloor\rfloor는 내림수이고, \lceil\rceil 은 올림수이다.
\prod_{i=1}^N x_i
시그마와 마찬가지로 곱집합은 \prod를 사용하여 나타낼 수 있다. 일단 이 형식이 손에 붙으면 금방 적용이 가능하다.
극한도...
\lim_{n \to \infty}x_n
적분도
\int_{-N}^{N} e^x\, dx
⚠️
Oct 1, 2022 현재 일부 수식이 ‘인라인 수학 공식’에서 제대로 표시되지 않는 문제가 있습니다. 일반 ‘수학 공식 블록’에서는 제대로 동작합니다. 노션 측에 수정을 건의하겠습니다. 보기)
김수현 님께서 위의 문제를 해결할 수 있는 방법을 알려주셨습니다. $$\lim\limits_{n\to\infty}x_n$$ 처럼 작성하면 아래처럼 깔끔하게 처리됩니다.
수정한 보기)
적분 등은 어떻게 적용해야 하는지 조금 더 공부한 뒤 업데이트하겠습니다.
 
 
수식의 꼴을 알고 있기만 하면 입력할 수 있다. 물론 수식의 꼴을 아는 것과 의미를 이해하는 것은 좀 다르지만...
행렬은 다음과 같이 나타낼 수 있다.
A = \begin{pmatrix} x & y \\ z & v \end{pmatrix}
`\begin{aligned} ... \end{aligned}에서 설명한 것처럼 & 기호는 줄을 맞추기 위해서 쓰는 기호이다. 각각의 요소가 서로 다른 길이로 되어 있을 때 &를 기준으로 쉽게 줄을 맞출 수 있다.
 
B = \begin{vmatrix} x & y+10 \\ z+20 & v \end{vmatrix}
줄 바꿈과 공백을 사용해서 수식코드의 꼴을 잡아주면 훨씬 쉽게 읽을 수 있는 수식이 된다. (정말 이렇게 보면 가 어엿한 마크업 언어임이 분명해보인다.)
 
 

고3: 첨자의 마왕

마지막으로 왼쪽, 오른쪽, 위, 아래에 모두 첨자를 붙이는 방식을 알아보자. 사실 이것도 무슨 뜻인지 이해가 안 된다.
\underset{y} {\overset{x} {_{c}^{a} Z_{d}^{b}} }
 

은 위대하다

1980년대에 컴퓨터로 무엇이든 하고 싶었던 그 때, 키보드에서 입력할 수 없는 복잡한 수식을 어떻게 나타낼 수 있을지 고민한 '수학 덕후'들 덕분에 우리는 굉장히 편하게 수식을 다룰 수 있게 되었다. 무엇보다 내 눈앞에서 Notion에 아름다은(!) 수식이 펼쳐져 있다는 게 신기할 따름이다. 특히 지난 Jun 10, 2020 부터 글 중간에 수식을 자유롭게 쓸 수 있게 되면서 시중에 나와 있는 워드 프로세스보다 훨씬 수식 다루기가 편리해 졌다. 코드를 조금만 공부하면 수학 문제를 내야 하는 선생님이나, 이공계 학생들 뿐만 아니라 논문을 위해 자료를 준비하는 많은 사람들이 편리하게 Notion을 쓸 수 있으리라 생각한다. 아울러 \ce\pu를 통하여 이제 화학식 까지 쓸 수 있게 되니 과학 전반에 걸쳐서 더욱 더 편리한 도구가 되었다.. (
🧪
18. 화학식을 씁시다!
참고).
이번 기회에 기초부터 다시금 수학을 배워고싶은 마음이 생겼다. 물론 홍OO 아저씨가 쓰신 O석 책은 치워두겠다... 트라우마가 심해서... → 그래서 <수학 리부트>라는 책이 나와버렸다!

참고 자료