CorTeX 문서CorTeX 열기
CorTeX 열기
전체 문서 보기

“Undefined control sequence” 오류 고치기

알 수 없는 명령의 원인이 오타, 빠진 패키지, 사용할 수 없는 정의, 범위 오류 중 무엇인지 추적합니다.

이 문서의 내용

Undefined control sequence는 LaTeX가 방금 읽은 명령을 모른다는 뜻입니다. 흔한 원인은 철자 오류, 불러오지 않은 패키지, 정의보다 먼저 사용한 프로젝트 매크로, 범위 밖으로 나간 정의입니다.

알 수 없는 토큰 식별하기#

문제를 열고 첫 오류를 확인하세요. 컴파일 문맥은 보통 보고된 줄이나 그 직후의 명령을 보여 줍니다. 프리앰블을 바꾸기 전에 철자와 대소문자를 확인합니다.

The domain is \(\mathbb{R}\). % Error unless a package defines \mathbb
The estimate is \(\alhpa\).   % Typo: the command is \alpha
The domain is \(\R\).         % Error unless the project defines \R

프로젝트에서 해당 명령을 검색하세요. 정의로 이동을 사용하면 프로젝트의 다른 파일에 있는 명령 정의도 확인할 수 있습니다. 논문이나 템플릿에서 가져온 명령이라면 이름만으로 추측하지 말고 그 명령을 도입한 소스를 확인하세요.

원인에 맞는 수정 적용하기#

문서화된 패키지 명령이라면 해당 명령을 제공하는 패키지를 프리앰블에서 한 번 불러옵니다. 프로젝트에서 만든 약식 명령이라면 사용 전에 정의하세요.

LaTeX 소스
\documentclass{article}
\usepackage{amssymb}
\newcommand{\R}{\mathbb{R}}
\begin{document}
The function maps \(\R\) to \(\R\).
\end{document}
컴파일 결과
CorTeX에서 열기

이름이 이미 존재하면 안 될 때 \newcommand를 사용합니다. 그룹이나 환경 안에 둔 정의는 닫는 중괄호나 \end에서 적용이 끝날 수 있습니다. 문서 전체 정의는 주 프리앰블로 옮기세요. 정의가 macros.tex에 있다면 주 문서가 처음 사용하기 전에 그 파일을 불러오는지 확인합니다.

추측으로 패키지 불러오지 않기#

오류가 사라질 때까지 관련 없는 패키지를 추가하지 마세요. 패키지는 다른 명령, 옵션, 간격, 템플릿 동작을 바꿀 수 있습니다. 패키지 또는 학술지 문서에서 명령을 찾고 선택한 TeX Live 스냅샷에 패키지가 있는지 확인한 뒤 그 명령을 제공하는 패키지만 불러오세요.

정의하는 파일, .sty, .cls를 불러올 수 없다면 먼저 파일을 찾을 수 없음 오류를 고칩니다. 명령이 다른 엔진이나 클래스에서만 조건부로 만들어진다면 필요한 엔진·클래스를 선택하거나 지원되는 대안을 사용하세요. 템플릿의 내부 정의를 복사하지 마세요.

수정 하나를 한 뒤 다시 컴파일합니다. 첫 오류만 달라지는 것이 아니라 원래 명령이 해결되고 PDF에서 의도한 표기가 사용되면 성공입니다. 서로 관련 없는 실패가 여러 개라면 LaTeX 컴파일 문제 해결하기로 돌아가 현재의 첫 오류부터 계속 처리하세요.