arXiv Paper Translator
Produce a source-faithful Chinese Markdown translation from the arXiv LaTeX package. Preserve the paper's structure and keep every figure near its original callout.
Non-negotiable rules
- Use the arXiv LaTeX source archive as the translation source. Do not translate from the abstract page, HTML rendering, or PDF unless source retrieval fails and the user explicitly approves a fallback.
- Use only
gpt-5.6-terraagents to translate or rewrite paper content. The coordinator may download, inspect, split, assemble, and validate, but must not translate missing prose itself. - Translate the complete scholarly content: title, abstract, headings, body, captions, tables, footnotes, appendices, acknowledgements, and author-provided supplementary text. Keep bibliography entries in their original language unless the user asks otherwise.
- Preserve math, citation keys, labels, code, identifiers, units, URLs, dataset/model names, and symbols exactly where translation would change meaning.
- Do not summarize, simplify, invent, silently omit, or repair scientific claims.
- Deliver one Markdown file plus a sibling
images/directory when the paper contains figures. Use relative image links so moving the output folder preserves rendering.
Workflow
1. Resolve the paper
For an arXiv URL or ID, extract the identifier, including an explicit version suffix when present.
For a title, search arXiv and match the normalized title and authors. If multiple plausible papers remain, ask the user which one before downloading. Never choose solely from a fuzzy title match.
Record the resolved ID, canonical URL, title, authors, and source version in the output metadata.
2. Download and prepare the source
Run:
python3 scripts/prepare_arxiv_source.py INPUT --output-dir OUTPUT_DIR
The script downloads the e-print archive, extracts it safely, detects the root TeX file, recursively expands \\input and \\include, inventories sections and figures, and writes source/, source_flattened.tex, marker-enriched translation_source.tex, and manifest.json.
Stop if the download is actually a PDF, HTML error page, or otherwise lacks usable TeX. Report the failure and ask whether to use a PDF fallback; do not silently switch sources.
3. Inspect before translation
Read manifest.json and the preamble of source_flattened.tex. Use translation_source.tex for chunking so section and figure markers travel with the exact source positions.
- Identify custom macros that carry semantic text or math.
- Identify appendix and supplementary boundaries.
- Resolve unresolved includes and figures from the source tree when possible.
- Treat generated plots, TikZ, PSTricks, or figures assembled from subfigures as special cases. Render them with an available LaTeX/PDF toolchain or preserve a clearly labeled source block if rendering is impossible.
Read translation-contract.md before creating translation chunks.
4. Materialize figures
Run:
python3 scripts/materialize_figures.py OUTPUT_DIR/manifest.json --output-dir OUTPUT_DIR/images
The script copies browser-supported images and converts PDF/EPS/PS figures when a supported local converter is available. Inspect conversion failures. Never substitute a different image.
5. Translate with GPT-5.6 Terra only
Split translation_source.tex at top-level section boundaries, keeping each figure/table/caption with its surrounding discussion. For oversized sections, split at subsection or paragraph boundaries. Do not split inside math, tables, algorithms, code blocks, lists, footnotes, or figure environments.
Spawn translation agents with exactly:
- model:
gpt-5.6-terra - fork_turns:
none - prompt: the translation contract, paper metadata, relevant macro definitions, the complete chunk, and required section/figure markers
Parallel Terra agents are allowed. Do not send a chunk to another model if Terra is unavailable. If delegation is unavailable, stop and explain that the required translation model cannot be guaranteed.
Require each agent to return only its translated Markdown fragment. Check boundary continuity. If content is missing or mistranslated, send the original source and flawed fragment back to a Terra agent for correction; do not patch translated prose with another model.
6. Assemble Markdown
Create paper-zh.md in source order. Begin with the Chinese title and a blockquote containing the original title, authors, arXiv ID/version, and canonical URL.
Use standard Markdown headings. Use $...$ and $$...$$ for math. Use Markdown tables only when readable; otherwise preserve the table as a fenced latex block preceded by a Chinese caption.
Before each translated section, preserve its inventory marker, for example <!-- section:S001 -->. At each original figure location, use:
<!-- figure:F001 -->

For multi-panel figures, keep panel labels and panel order. Translate the full caption and retain source credit or license text.
7. Validate and repair
Run:
python3 scripts/validate_translation.py OUTPUT_DIR/manifest.json OUTPUT_DIR/paper-zh.md
Fix every reported missing section marker, figure marker, missing local image, duplicate marker, or placeholder. Compare the final Markdown against source_flattened.tex in document order, especially appendices, captions, table notes, footnotes, and content after the bibliography.
Re-run validation until it passes. Then report the absolute Markdown path, image directory, arXiv ID/version, and any explicit limitations.
Failure policy
- If title resolution is ambiguous, ask for confirmation.
- If arXiv has no TeX source, ask before using PDF extraction.
- If a figure cannot be rendered, retain its exact source asset or source block, mark the limitation in place, and report it.
- If Terra is unavailable, do not translate with a fallback model.
- If the paper exceeds practical context limits, use more Terra chunks; do not truncate.