Skip to content

Latest commit

 

History

1 Commit

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

translate-paper

A Claude Code skill that translates English papers into Korean in full and rebuilds them as a PDF, keeping every figure, equation and table.

영어 논문을 요약이 아니라 전문 그대로 한국어로 옮겨, 원본처럼 읽히는 PDF로 만들어 주는 Claude Code 스킬이다.

요약본은 이미 수단이 많다. 이 스킬이 존재하는 이유는 전문을 그대로 읽고 싶을 때다. 그래서 목표가 두 가지로 좁혀진다.

  • 누락 없음. 도식·수식·표는 하나도 빠지면 안 된다. 취향이 아니라 검증 대상이고, verify.py가 추출 시점 개수와 최종 LaTeX 개수를 대조해 기계적으로 확인한다.
  • 읽히는 한국어. 기술 용어(attention, encoder, fine-tuning …)는 영어로 남긴다. 억지로 한글화하면 오히려 읽기 어렵다.

레이아웃은 원본과 다르다. 2단 조판을 흉내 내지 않고 가독성 좋은 1단으로 재배치하되, 텍스트 구조(섹션 계층·문단 나눔·리스트·강조)는 보존한다.

결과물

번역된 논문 1페이지 재조판된 결과 표

예시: Qwen3-ASR Technical Report — 도식 3개·표 9개·수식 1개를 모두 보존한 13쪽 번역본.

  • 기본: 한국어 전용 PDF
  • parallel 인자: 문단마다 영어 원문과 한국어 번역을 함께 싣는 대조본
  • 번역 범위: 본문 전체(references 앞까지). 부록은 건너뛴다.

요구사항

brew install tectonic     # LaTeX 엔진 (XeTeX 계열, 한글 네이티브)
brew install uv           # extract.py 의존성(lxml) 자동 설치
brew install poppler      # pdftotext / pdftoppm / pdfimages (검증·PDF 대체 경로)

tectonic은 첫 컴파일에서 패키지를 받아오느라 1분 넘게 걸릴 수 있다. 두 번째부터는 캐시되어 2초다.

한글 폰트는 NanumMyeongjo → Noto Serif CJK KR → Noto Serif KR → AppleMyungjo → Apple SD Gothic Neo 순으로 찾는다. 하나도 없어도 컴파일은 통과한다(영문은 Latin Modern이라 시스템 폰트가 필요 없다). macOS에는 대개 이미 있고, Linux는 fonts-nanum이면 된다.

설치

git clone https://github.com/TrainToGPB/translate-paper.git \
  ~/.claude/skills/translate-paper

Claude Code를 다시 열면 스킬 목록에 잡힌다.

사용

/translate-paper https://arxiv.org/abs/2601.21337
/translate-paper 2601.21337 parallel
/translate-paper ~/papers/some-paper.pdf

arXiv 링크(abs/pdf/html 어느 형태든)·arXiv id·로컬 PDF를 다 받는다. 결과는 ~/Downloads/paper-ko/<id>/out/paper_ko.pdf에 떨어진다. 경로를 하나 더 주면 그걸 출력 폴더로 쓴다.

동작 방식

fetch  →  extract  →  번역(sonnet ×N, 병렬)  →  조립·조판검수(sonnet)  →  verify  →  PDF
  1. fetch_paper.py — PDF를 받고, arXiv면 arxiv.org/html/{id}ar5iv 순으로 HTML 렌더를 찾는다. 도식은 <img>뿐 아니라 <object type="image/svg+xml">도 본다 (논문 대표 아키텍처 그림이 SVG인 경우가 많다). SVG는 cairosvg로 PDF 변환까지 한다.
  2. extract.py — LaTeXML HTML을 섹션별 Markdown으로 분해한다. 수식은 원본 LaTeX 그대로 가져온다(arXiv HTML이 alttext에 원본 소스를 담고 있다). 도식·표는 불투명한 블록으로 감싼다. 그래서 번역자는 산문만 건드리면 되고, 수식을 "번역"하다 망가뜨릴 일이 없다.
  3. 번역 — 섹션 파일마다 서브에이전트 하나. 규약은 references/translation-contract.md에 있다.
  4. 조립md2tex.py가 결정론적으로 LaTeX를 만들고, 서브에이전트는 실행·수리와 조판 검수(표가 잘렸는지, 열이 밀렸는지 PDF를 렌더해 눈으로 확인)를 맡는다.
  5. verify.py — 도식·수식·표 개수, 도식 파일 존재, PDF 안에 한글이 실제로 박혔는지, 그리고 표가 망가진 흔적이 있는지 확인한다.

설계 노트

왜 LaTeX 변환을 스크립트가 하는가. "수식·도식이 하나도 빠지면 안 된다"는 요구는 매번 지켜져야 한다. 서브에이전트가 표를 손으로 옮겨 적으면 33행짜리 표에서 행 하나가 조용히 빠져도 개수 검증을 통과한다. 그래서 변환은 결정론적으로 하고, 판단이 필요한 조판 문제만 서브에이전트에게 맡긴다.

개수 검증만으로는 부족하다. 실제로 겪은 사례 — LaTeXML은 머리글을 여러 줄로 쌓을 때 <td> 안에 <table>을 넣는데, 이 안쪽 행이 바깥 표의 행으로 끌려 올라오면 표가 무너진다. 개수는 그대로라 모든 검사를 통과한다. 그래서 verify.py는 "셀 하나만 채워진 행의 비율"도 본다 (정상 0.090.27 / 깨진 표 0.500.67).

표 폭을 먼저, 폰트는 나중에. 열 최소 폭을 먼저 확보한 뒤 거기 맞는 가장 큰 폰트를 고른다. 반대로 하면(비례 배분 후 정규화) 열이 최소 폭 아래로 눌려 글자가 옆 칸을 침범한다. 최소 폭은 줄바꿈 불가능한 최장 구간으로 잰다 — LaTeX는 하이픈에서도 끊고 kotex는 한글을 거의 아무 데서나 끊기 때문에, 단어 전체 길이로 잡으면 필요보다 훨씬 넓게 요구한다.

em dash는 전면 금지다. 원문이 썼더라도 남기지 않는다. 영어의 em dash는 삽입구·전환을 한 문장에서 처리하는 장치인데, 한국어는 쉼표·괄호·문장 분리로 해결한다. 그대로 옮기면 번역투가 가장 도드라진다.

한계

  • arXiv HTML이 없는 논문(대략 2023년 말 이전, 또는 arXiv가 아닌 곳)은 PDF에서 직접 뽑는 대체 경로를 탄다. 수식을 LaTeX 소스로 되살릴 방법이 없어 "하나도 안 빠짐"을 기계적으로 보장할 수 없다. 이 경우 스킬이 먼저 한계를 알리고, 결과 보고에도 명시한다.
  • 표의 시각적 병합(multirow/multicolumn 모양)은 재현하지 않는다. 셀 내용과 정렬은 보존하되 레이아웃은 다시 짠다.
  • 저자·소속·감사의 글은 번역하지 않는다. 사람 이름과 기관명은 원문이 정확하다.

구조

translate-paper/
├── SKILL.md                          # 오케스트레이션 (Claude가 읽는 본체)
├── assets/template.tex               # 한글 논문 템플릿
├── references/
│   ├── translation-contract.md       # 번역 규약 (서브에이전트가 읽음)
│   └── troubleshooting.md            # 컴파일 에러 · PDF 대체 경로 · 표 문제
└── scripts/
    ├── fetch_paper.py                # 원본 확보 + SVG→PDF
    ├── extract.py                    # HTML → 섹션별 md + manifest
    ├── md2tex.py                     # 번역본 → LaTeX
    ├── build.sh                      # tectonic 컴파일
    └── verify.py                     # 누락·파손 검증

About

영어 논문을 전문 그대로 한국어로 번역해 도식·수식·표를 보존한 PDF로 만드는 Claude Code 스킬

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages