(TeX은...) 책, 그 중에서도 특히 많은 수식이 있는 책을 아름답게 제작하기 위해서 개발하였다.
크누쓰는 미국 캘리포니아에 있는 스탠포드 대학의 컴퓨터 프로그래밍 명예교수(Emeritus Professor)이다. 크누쓰가
TeX의 첫번째 버전을 개발했던 것은 1978년으로서, 그의 저서 『컴퓨터 프로그래밍의 기술』(
The Art of Computer Programming)의 개정판을 준비하기 위해서였다. 이 발상은 곧 유명해졌고, 곧이어 그는 1982년에 두번째 판을 내놓았는데, 이것이 오늘날 우리가 쓰고 있는
TeX의 기초가 되었다.
그는
TeX을 만들기 위해서
문서화 프로그래밍(literate programming) 시스템을 개발하였다. 이
Literate Programming 언어(WEB)로 된
TeX 원본(소스)과 WEB 소스를 컴파일가능한 다른 언어로 변환할 수 있는 도구, 그리고 원본을 인쇄할 수 있는 도구를 무료로(free of charge) 제공하였다. 그러므로
TeX의 동작 방식은 누구라도 알 수 있게 되어 있다. 나아가 WEB 시스템은
TeX을 새로운 운영체제나 컴퓨터에 이식할 수 있는 메카니즘을 제공한다. 그리고 이 포팅을 신뢰할 수 있도록 크누쓰는
TeX 시스템의 확실성을 검증할 수 있는 테스트를 제공하였다.
TeX 및 그 문서들은 따라서 매우 이식성이 높다.
TeX은 일종의 매크로 언어 처리기이다. 그래서 사용자에게 상당히 높은 수준의 프로그래밍 능력을 요구한다. 이런 이유 때문에
TeX 자체는 다루기가 꽤 까다롭다. 그래서 크누쓰는
TeX 사용을 위한 매크로 패키지를 만들었다. 이것을
PlainTeX이라 부른다.
PlainTeX은
TeX을 실제로 이용하기 위한 최소한의 매크로 집합이며, 몇 가지 고수준 명령의 시험용 버전을 포함하고 있다. 이 가운데 후자는 그 자체로 사용될 것이라기보다는 명령을 작성하는 모델로 간주되어야 옳다. "
TeX으로 프로그래밍한다"고 말할 때는 대부분
PlainTeX 매크로를 가리키는 것이다.