ChatGPT 에 수식을 요청하는 올바른 방법 — 붙여넣기 전에 형식을 정한다
포스트
취소

ChatGPT 에 수식을 요청하는 올바른 방법 — 붙여넣기 전에 형식을 정한다

챗봇에게 수학 문제를 만들어 달라고 하고, 답변을 복사해 문서에 붙였습니다. 화면에서는 분수도 적분 기호도 깔끔했는데, 문서에서는 이렇게 들어와 있습니다.

1
[\lim_{x \to 2} \frac{x^2-4}{x-2}]

또는 이렇게 들어와 있기도 합니다.

1
( x^2 + y^2 = r^2 )

둘 다 원인은 같습니다. 채팅창은 마크다운을 렌더해서 보여 주는 화면이고, 우리가 복사하는 건 렌더된 결과이기 때문입니다. 그 과정에서 구분자의 백슬래시가 떨어져 나갑니다.

첫 번째는 되살릴 수 있고, 두 번째는 되살릴 수 없습니다. 이 차이가 요청 문장을 어떻게 써야 하는지를 결정합니다.

1. 답이 오기 전에 이미 결정됩니다

변환 도구를 쓰는 흐름은 보통 이렇습니다.

1
요청 → 답변 → 복사 → 붙여넣기 → 업로드 → 변환

이 중에서 실패가 확정되는 지점은 마지막이 아니라 첫 번째 입니다. 붙여넣은 뒤에는 이미 형식이 정해져 있어서, 그때 가서 할 수 있는 일은 손으로 고치는 것뿐입니다.

그래서 프롬프트에 형식을 못 박는 한 줄을 넣습니다. LaTeXFlow Scan 은 업로드 화면에 그 한 줄을 아예 적어 두었습니다.

Write every formula in LaTeX — $...$ for inline, $$...$$ for display. Never write math as plain text.

한국어로 쓸 때도 내용은 같습니다.

모든 수식을 LaTeX 으로 써 줘. 인라인은 $...$, 별도 줄에 크게 보여줄 식은 $$...$$ 로 감싸 줘. 수식을 말로 풀어 쓰지 말고 채팅 답변 안에 텍스트로 보여 줘.

이 문장이 왜 하필 이 형태인지가 이 글의 나머지입니다.

2. 읽을 수 있는 구분자와 요청해야 할 구분자는 다릅니다

여기가 가장 헷갈리는 지점입니다. 도구는 다섯 가지 구분자를 읽습니다. 그런데 챗봇에게 요청할 때 권하는 건 두 가지뿐 입니다. 목록이 서로 다른 게 실수가 아니라 의도입니다.

구분자도구가 읽나챗봇에게 요청할 만한가
$…$권장
$$…$$권장
\[…\]△ 백슬래시가 떨어져도 복구 가능
\(…\)권하지 않음
[ … ]✅ (bracket 모드)— 요청 대상이 아님, 복구용

두 목록의 범위가 다릅니다. 앞 열은 “문서에 이렇게 들어와 있으면 잡습니다” 이고, 뒤 열은 “채팅창을 거쳐 문서까지 살아서 도착할 가능성이 높습니다” 입니다.

3. 복사 경로에서 무엇이 살아남나

채팅창의 마크다운 렌더링을 통과할 때 구분자마다 운명이 갈립니다.

달러 기호는 그대로 살아남습니다.

1
$x^2$  →  $x^2$

$ 는 마크다운 문법이 아니라서 렌더러가 손대지 않습니다. 복사하면 있는 그대로 따라옵니다. 그래서 가장 안전합니다.

대괄호 구분자는 껍질을 잃지만 흔적이 남습니다.

1
\[E = mc^2\]  →  [E = mc^2]

바깥 백슬래시 두 개가 사라집니다. 하지만 대괄호는 남습니다. 도구의 bracket 모드가 이 자리를 보고 “대괄호 안에 LaTeX 기호가 있으면 수식으로 본다” 는 규칙으로 복구합니다. 웹에서는 이 모드가 기본으로 켜져 있습니다.

소괄호 구분자는 흔적조차 남지 않습니다.

1
\(a_i\)  →  ( a_i )

역시 백슬래시가 사라지는데, 남는 게 평범한 소괄호 입니다. 여기서 복구가 막힙니다. 대괄호와 달리 소괄호는 산문에서 너무 흔하게 쓰입니다.

“(단, 이때 n 은 자연수이다)” “(3 참조)” “(a, b)”

이런 것까지 수식으로 잡으면 오탐이 감당이 안 됩니다. 그래서 bracket 스캐너는 대괄호만 봅니다. 소괄호는 의도적으로 보지 않습니다.

정리하면 이렇습니다.

원래 형태복사 후복구
$…$$…$손실 없음
$$…$$$$…$$손실 없음
\[…\][…]bracket 모드가 복구
\(…\)( … )불가 — 영구 손실

그래서 프롬프트에 \(…\) 를 쓰라고 요청하면 안 됩니다. 도구가 못 읽어서가 아니라, 문서까지 도착하지 못해서 입니다.

이 벗겨짐 자체의 메커니즘과 bracket 모드가 어떻게 복구하는지는 bracket-mode 시연 에서 화면과 함께 다뤘습니다.

4. 세 번째 실패 — 수식을 말로 풀어 쓰는 경우

구분자가 벗겨지는 것과는 성격이 다른 실패가 하나 더 있습니다. 챗봇이 수식을 문장으로 설명해 버리는 경우입니다.

1
n 이 1 부터 무한대까지 갈 때 1 을 n 제곱으로 나눈 것의 합

읽으면 뜻은 통합니다. 하지만 여기엔 감쌀 수식이 없습니다. 구분자를 붙일 대상 자체가 문장이라, $ 로 감싸 봐야 문장이 수식처럼 렌더되려다 깨질 뿐입니다.

이 경우는 앞의 두 실패보다 알아채기가 어렵습니다. 문서만 보면 멀쩡한 한국어 문장이라 “수식이 없다” 는 사실이 눈에 안 띕니다. 0 검출 화면의 후보 목록에도 잘 안 올라옵니다 — 후보 기준이 =, ^, _, \ 인데 풀어 쓴 문장에는 그중 아무것도 없기 때문입니다. (n=1 처럼 일부만 기호로 남아 있으면 후보로는 뜨지만, 카드를 열어도 감쌀 식이 없어 할 수 있는 일이 없습니다.)

도구가 안내하는 프롬프트의 마지막 문장이 정확히 이걸 막습니다.

Never write math as plain text.

한국어로 요청할 때도 이 한 마디를 빼지 마세요.

수식을 말로 풀어 쓰지 말고 LaTeX 기호로 써 줘.

받아야 하는 형태는 이쪽입니다.

1
$$\sum_{n=1}^{\infty} \frac{1}{n^2}$$

수식을 설명이 필요한 자리라면 둘 다 요청하는 것도 방법입니다.

각 문제에 LaTeX 수식을 먼저 쓰고, 그 아래 한 줄로 말로 된 설명을 붙여 줘.

이러면 변환 대상인 수식과 사람이 읽을 설명이 분리돼서, 도구가 수식만 정확히 집어냅니다.

5. 파일로 달라고 하면 안 되는 이유

한 단계 아낄 생각으로 “연습 문제 20개 만들어서 docx 파일로 줘” 라고 시키면 결과가 더 나빠집니다. 챗봇은 보기 좋게 만든다고 판단해서 수식을 워드 수식 개체 로 박아 넣습니다.

수식 개체는 글자가 아니라 문서 안의 별도 구조물이라, 구분자를 붙일 자리 자체가 없습니다. 이건 수식 개체와 텍스트의 차이 에서 자세히 다뤘습니다.

  • ❌ “…만들어서 docx 로 줘” → 수식 개체 (변환 불가)
  • ✅ “…채팅 답변 안에 텍스트로 보여 줘” → LaTeX 텍스트 (변환 가능)

붙여넣기 한 번을 아끼려다 처음부터 다시 물어야 합니다.

6. 이미 잘못 받은 답변 살리기

여기가 실전에서 제일 자주 필요한 부분입니다. 이미 긴 답변을 받았는데 형식이 틀렸을 때, 다시 만들어 달라고 하지 마세요. 다시 만들면 내용이 바뀝니다. 문제 20 개를 애써 골라 놨는데 다른 20 개가 오면 처음부터 검토해야 합니다.

대신 같은 내용을 다시 포맷해 달라 고 요청합니다.

방금 답변의 내용은 하나도 바꾸지 말고, 형식만 다시 써 줘. 모든 수식을 $...$ (인라인) 과 $$...$$ (디스플레이) 로 감싸 줘. 문제 번호와 순서, 지문은 그대로 유지해 줘.

포인트는 세 가지입니다.

  1. 내용 고정을 명시 — “내용은 바꾸지 말고” 를 빼면 슬쩍 다른 문제가 섞입니다.
  2. 구분자를 리터럴로 적기 — “LaTeX 으로” 만 쓰면 그때그때 다른 구분자가 나옵니다.
  3. 구조 유지를 명시 — 번호·순서가 바뀌면 앞서 검토한 게 무효가 됩니다.

수식이 유니코드 기호(∑, ∫, ½, ≤)로 나온 경우도 같은 방식으로 되돌립니다.

답변 안의 수학 기호를 유니코드 문자 대신 LaTeX 명령으로 바꿔 줘. 예: ∑ 는 \sum, ∫ 는 \int, ½ 는 \frac{1}{2}. 그리고 각 수식을 $...$ 로 감싸 줘.

7. 붙여넣을 때 — 서식 없이

답변을 복사해서 문서에 붙일 때는 서식 없이 텍스트만 붙이는 편이 낫습니다. 워드·Docs 모두 Ctrl + Shift + V 또는 붙여넣기 옵션의 텍스트만 유지 가 그 기능입니다.

서식째로 붙이면 채팅창의 코드 블록 스타일, 배경색, 글꼴이 따라 들어옵니다. 감지 자체에는 영향이 없지만 — 도구는 문단의 글자만 이어 붙여 읽습니다 — 나중에 문서를 정리할 때 손이 갑니다.

한 가지 더. 붙여넣은 뒤 수식이 여러 문단으로 쪼개졌는지 확인해 보세요. 디스플레이 수식이

1
2
3
$$
\int_0^1 x^2\,dx
$$

이렇게 세 줄로 들어오면 도구 입장에서는 서로 다른 문단 셋이라 짝이 지어지지 않습니다. 한 줄로 합치면 해결됩니다.

8. 형식이 맞았는지 확인하는 법

프롬프트를 잘 썼는지는 감으로 알기 어렵습니다. 확인은 도구가 해 줍니다. 파일을 올리면 화면 위에 이 줄이 뜹니다.

1
Scanned 84 paragraphs · 61 equations found
  • 감지 수가 눈으로 세는 수식 수와 비슷하다 → 형식이 맞았습니다.
  • 0 이다 → 구분자가 아예 없거나 수식 개체입니다. 6절의 재요청으로 돌아갑니다.
  • 눈으로 세는 것보다 적다 → 일부만 감싸졌습니다. 어느 형식이 빠졌는지 보고 그 부분만 다시 요청합니다.

이 확인을 문제 20 개를 다 만들기 전에 한 번 해 보는 것을 권합니다. 챗봇에게 문제 두세 개만 먼저 뽑아 달라고 해서 붙여넣고 올려 봅니다. 형식이 통과하면 같은 대화에서 나머지를 이어 요청하면 됩니다. 형식이 틀렸다면 20 개가 아니라 3 개만 버리면 됩니다.

9. 챗봇마다 기본값이 다릅니다

요청 없이 그냥 물어보면 챗봇마다 다른 형식으로 답합니다. 관측되는 경향은 이렇습니다.

  • ChatGPT — 디스플레이 수식이 [ … ] 로 도착하는 경우가 잦습니다. 원래 \[ … \] 였다가 백슬래시를 잃은 자리입니다. bracket 모드가 바로 이 경우를 위해 있습니다.
  • Gemini$$ … $$ 가 그대로 오는 경우가 많습니다. 달러 기호는 벗겨지지 않으니 대체로 그대로 잡힙니다.

다만 이건 경향이지 보장이 아닙니다. 같은 서비스라도 대화 맥락과 시점에 따라 달라집니다. 형식을 명시하는 한 줄을 넣는 게 여전히 가장 확실합니다.

10. 자주 묻는 질문

bracket 모드가 있으면 그냥 대괄호로 받아도 되지 않나요. 대체로 됩니다. 다만 bracket 모드는 휴리스틱이라 완벽하지 않습니다. 대괄호 안에 \, ^, _, = 중 하나도 없는 식 — 예를 들어 구간 표기 [1,5] — 은 잡히지 않고, 반대로 문서에 대괄호가 많으면 엉뚱한 자리가 잡힐 수 있습니다. 달러 기호로 받으면 이런 판정 자체가 필요 없습니다.

프롬프트에 구분자를 적었는데도 안 지켜집니다. 답변이 길어질수록 후반부에서 형식이 흐트러지는 경향이 있습니다. 한 번에 20 개보다 5 개씩 네 번이 결과가 낫습니다. 8절의 소량 확인이 여기서도 도움이 됩니다.

수식만 있는 게 아니라 표도 있습니다. 표 안의 수식도 스캔됩니다. 마크다운 표로 받아서 문서에 붙이면 표 구조가 깨질 수 있으니, 표가 필요하면 문서에서 표를 먼저 만들고 셀 안에 수식만 붙여 넣는 편이 안전합니다.

애드온에서도 같은가요. Google Docs 애드온(Extensions → LatexFlow → Open Equation Panel)도 같은 네 가지 구분자를 읽습니다. 다만 bracket 모드 체크박스가 기본 꺼짐 이라, 대괄호로 도착한 수식을 잡으려면 켜 주셔야 합니다.

11. 정리

  • 변환 성공 여부는 붙여넣은 뒤가 아니라 요청 문장에서 결정됩니다.
  • 채팅창을 통과하며 $…$ 는 그대로, \[…\] 는 대괄호만, \(…\) 는 흔적 없이 사라집니다.
  • 그래서 요청할 때는 달러 기호 두 종류 만 못 박습니다. 도구가 읽는 목록과 요청할 목록은 범위가 다릅니다.
  • 파일로 달라고 하면 수식 개체가 되어 변환이 막힙니다. 채팅 답변 안에 텍스트로 받습니다.
  • 이미 받은 답변은 재생성이 아니라 재포맷 으로 살립니다.
  • 소량으로 먼저 올려 스캔 줄을 확인한 뒤 본 작업에 들어갑니다.
이 기사는 저작권자의 CC BY 4.0 라이센스를 따릅니다.

Word 수식 편집기로 넣은 수식이 왜 안 읽히나 — 수식 개체와 텍스트의 차이

-