POOOLING FOREST
개발자가 LaTeX로 완벽한 기술 문서를 만드는 방법 (오픈소스 활용기) - 8년차 개발자가 소개하는 LaTeX 오픈소스 활용 가이드. 마크다운의 한계를 넘어 고품질 기술 서적과 수식이
Engineering & Tech

개발자가 LaTeX로 완벽한 기술 문서를 만드는 방법 (오픈소스 활용기)

8년차 개발자가 소개하는 LaTeX 오픈소스 활용 가이드. 마크다운의 한계를 넘어 고품질 기술 서적과 수식이 가득한 문서를 자동화하고 조판하는 방법을 공유합니다.

김영태

테크리드

안녕하세요, 풀링포레스트의 8년차 개발자 김테크입니다.

여러분은 기술 문서나 복잡한 노트를 정리할 때 어떤 도구를 쓰시나요? 보통은 간편한 마크다운(Markdown)이나 노션을 많이 쓰실 겁니다. 저도 평소에는 그렇습니다. 하지만 가끔은 수식이 잔뜩 들어간 논문급 퀄리티의 PDF나, 정말 서점에서 파는 책처럼 깔끔하게 제본된 기술 서적을 만들어보고 싶다는 욕심이 생길 때가 있습니다. 그럴 때마다 개발자들이 꺼내 드는 비장의 무기가 바로 LaTeX입니다. 오늘은 "이 책을 LaTeX로 똑같이 만드는 법"이라는 아주 흥미로운 오픈소스 프로젝트를 분석하며, 우리 같은 개발자가 어떻게 고품질 문서를 자동화할 수 있는지 이야기해보려 합니다.

이 프로젝트는 단순히 LaTeX 문법을 나열한 튜토리얼이 아닙니다. 제목 그대로 "지금 보고 있는 이 책을 어떻게 LaTeX로 구현했는지"를 처음부터 끝까지 보여주는 실전 가이드입니다. 보통 우리가 새로운 프로그래밍 언어를 배울 때 "Hello World"부터 찍어보지만, 이 프로젝트는 완성된 애플리케이션의 소스 코드를 통째로 뜯어보는 것과 같습니다. 파일 구조를 살펴보면 main.tex를 중심으로 챕터별로 파일이 나뉘어 있고, 표지부터 참고문헌까지 책 한 권을 만드는 모든 과정이 담겨 있습니다.

사실 백엔드 개발자인 저에게도 LaTeX는 진입 장벽이 꽤 높습니다. 환경 설정부터 막히고, 컴파일 에러가 나면 원인을 찾기도 힘들죠. 하지만 이 저장소의 구성을 보면 그런 두려움이 조금 사라집니다. 설치 가이드인 ch0_install.tex부터 시작해서 기본 구조 잡기, 텍스트 서식, 그리고 개발자들이 가장 어려워하는 수식 입력(maths_writing)까지 단계별로 코드가 준비되어 있습니다. 마치 잘 짜인 프레임워크의 보일러플레이트 코드를 보는 느낌입니다. 구조가 잡혀 있으니, 우리는 그 안의 내용만 바꾸면 바로 나만의 책이 되는 셈입니다.

특히 눈여겨볼 만한 부분은 그래프와 도형을 그리는 TikZ 파트입니다. 저장소 내의 ch8_tikz_plot.tex 파일을 보면, 외부 이미지를 캡처해서 넣는 게 아니라 코드로 그래프를 그리는 방법을 상세히 알려줍니다. 이게 왜 중요하냐면, 코드로 그려진 그래프는 확대해도 깨지지 않는 벡터 그래픽이며, 데이터가 바뀌면 코드 몇 줄만 고치면 그래프가 다시 그려지기 때문입니다. 유지보수성 측면에서 캡처 이미지와는 비교가 안 되죠. 또한 mymacros.sty 같은 스타일 파일에서 자주 쓰는 명령어를 함수처럼 정의해두는 방식은, 우리 개발자들이 공통 모듈을 분리하여 재사용성을 높이는 것과 정확히 같은 원리라 더 반갑게 느껴집니다.

그럼 이걸 실무에서 어떻게 활용하면 좋을까요? 제 경험상 처음부터 빈 화면에 명령어를 치기보다는, 이 프로젝트를 클론 받아서 main.tex를 컴파일해보는 것부터 시작하는 게 좋습니다. 처음에는 한글 폰트 설정 때문에 애를 먹을 수도 있습니다. LaTeX는 기본적으로 영문 중심이라 한글 패키지를 추가해야 하는데, 이 프로젝트의 구조가 워낙 직관적이라 어디에 설정을 추가해야 할지 금방 감이 오실 겁니다. front_matter.tex나 메인 설정 파일의 헤더 부분만 조금 손보면 훌륭한 한글 기술 문서를 만들 수 있습니다.

기술 블로그를 운영하거나 사내에서 기술 백서, 혹은 복잡한 수식이 들어가는 보고서를 작성해야 할 때 마크다운만으로는 표현의 한계를 느꼈다면 이번 기회에 LaTeX에 도전해보시는 건 어떨까요? 내가 쓴 텍스트 코드가 아름다운 문서로 조판되어 나오는 그 희열은, 마치 복잡한 리팩토링을 끝내고 테스트가 전부 통과했을 때의 기분과 비슷하답니다. 이 오픈소스가 여러분의 지식을 더 멋지게 포장해주는 좋은 도구가 되길 바랍니다.

오늘도 읽어주셔서 감사합니다. 깔끔한 문서 작성을 위한 여러분만의 팁이 있다면 언제든 공유해 주세요.

지금 읽으신 내용, 귀사에 적용해보고 싶으신가요?

상황과 목표를 알려주시면 가능한 옵션과 현실적인 도입 경로를 제안해드립니다.