Texinfo

Texinfo(텍스인포)는 자유 소프트웨어 재단(FSF)에서 개발한 하이퍼텍스트 기반 문서화 시스템이다. GNU 프로젝트의 소프트웨어와 매뉴얼을 작성하기 위해 고안되었으며, 하나의 소스 파일(.texi 또는 .txi)에서 여러 형식의 출력물(텍스트, HTML, PDF, Info 파일 등)을 생성할 수 있도록 설계되었다.

역사
Texinfo는 1980년대 후반에 리처드 스톨만(Richard Stallman)과 다수의 기여자들에 의해 시작되었다. 초기 목표는 GNU 매뉴얼을 일관된 형식으로 관리하고, 다양한 배포 매체에 맞춰 자동 변환할 수 있는 도구를 제공하는 것이었다. 첫 번째 공식 버전은 1991년에 발표되었으며, 이후 GNU 프로젝트의 표준 문서 형식으로 자리잡았다.

구조와 문법
Texinfo는 LaTeX과 Info 문서 형식의 요소를 결합한 마크업 언어이다. 주요 구문 요소는 다음과 같다.

  • @node : 문서 내 섹션 간의 이동을 정의하는 노드 선언.
  • @section, @subsection 등 : 계층적인 섹션 구분.
  • @code, @kbd, @file 등 : 코드, 키 입력, 파일 이름 등을 강조하는 인라인 명령.
  • @example, @lisp 등 : 여러 줄에 걸친 예제 블록.

Texinfo 문서는 구조적인 트리 형태로 저장되며, 이를 기반으로 다양한 출력 포맷을 생성한다.

주요 도구

  • makeinfo : Texinfo 소스 파일을 GNU Info 파일(.info)로 변환한다.
  • texi2pdf : Texinfo 파일을 PDF 문서로 변환한다(내부적으로 texpdftex를 이용).
  • texi2html : HTML 형식으로 변환한다.
  • texi2dvi, texi2ps 등 : DVI, PostScript 출력도 지원한다.

활용 사례
GNU 프로젝트의 핵심 소프트웨어는 대부분 Texinfo를 사용해 매뉴얼을 작성한다. 대표적인 예로 GNU Bash, GNU Coreutils, GNU Emacs 등이 있다. 또한, 다양한 오픈소스 프로젝트가 자체 문서 체계로 Texinfo를 채택하거나, 기존 매뉴얼을 이식하기도 한다.

표준화와 호환성
Texinfo는 GNU 프로젝트 외에도 일부 리눅스 배포판과 문서 패키징 시스템에서 지원된다. Debian, Fedora 등은 Info 매뉴얼을 기본 문서 형식으로 제공하며, info 명령어를 통해 터미널 기반 탐색이 가능하다.

관련 파일 확장자

  • .texi 또는 .texinfo : 원본 Texinfo 소스 파일.
  • .info : makeinfo가 생성한 바이너리 형태의 Info 문서.

제한점
Texinfo는 문서 구조와 마크업에 특화된 반면, 최신 웹 문서에 필요한 CSS 스타일링이나 동적 인터랙션을 직접 지원하지 않는다. 따라서 웹 친화적인 문서를 작성하려면 HTML 변환 후 추가 편집이 필요할 수 있다.

참고 문헌

  • GNU Texinfo Manual (공식 문서)
  • “Texinfo: The GNU Documentation Format” – Richard Stallman 등 (공식 발표 자료)

위 내용은 신뢰할 수 있는 공개 자료와 GNU 프로젝트의 공식 문서를 기반으로 작성되었으며, 현재까지 확인된 정보에 한한다.

둘러보기

더 찾아볼 만한 주제