Skip to content

PaperReader v2.1.8

Choose a tag to compare

@github-actions github-actions released this 12 Sep 06:58
· 7 commits to main since this release

PaperReader v2.1.8

📖 Read the User Guide (中文) before downloading — installation, first-run setup, and usage. 中文发布说明

PaperReader v2.1.8 aligns the LaTeX pipeline with the PDF pipeline: multi-file TeX projects are translated in full, translation reports per-chunk progress, and failures resume from a checkpoint instead of starting over.

What's new

  • Multi-file TeX projects are translated in full. Uploaded arXiv packages are flattened before translation — \input/\include files are inlined recursively (commented-out includes and unreadable targets left untouched). Previously only the main .tex file was read, so a paper like SafeMCP whose prose lives in sections/*.tex compiled a "translated" PDF that was still entirely English.
  • LaTeX translation now reports per-chunk progress and persists a checkpoint, matching the PDF pipeline. The progress label shows "翻译 n/m 个片段" while running, each finished chunk is written to translation-checkpoint.json immediately, and a failed run retries only the missing chunks — the original TeX is not recompiled and finished chunks are not re-translated. Placeholder tokens restore by key, so the reordering a Chinese word order produces is accepted while a lost citation still fails validation.
  • Body comments are stripped before translation, and comment-only lines are removed entirely. Commented-out draft text never renders in the compiled PDF, but it was previously chunked and sent to the LLM; when a model dropped the citation placeholders embedded in those drafts, chunk validation failed and the whole translation died. Comment-only lines are deleted rather than blanked — a blank line inside a tcolorbox option block is a \par, which kills pgfkeys.
  • Environment commands are protected like math. \begin{...}/\end{...} ride through translation as validated placeholder tokens, so a model can no longer silently drop an environment opener and leave every later \end mispaired (observed with figure* and custom tcolorbox environments).
  • Venue styles compile under XeLaTeX. Styles such as aaai2027.sty load iftex and abort with \RequirePDFTeX, and some also call the pdfTeX-only \pdfinfo primitive; the translated preamble loads the engine tests first, disarms the gate, and provides a no-op \pdfinfo. The CJK font setup now loads right after \documentclass — before venue font packages — because newtxtext breaks fontspec font-name resolution for fonts declared after it. psnfss Times packages (times, mathptmx, txfonts), whose Type1 metrics trigger XeTeXglyph errors, are swapped for the visually equivalent newtxtext.
  • Deterministic repairs for model-emitted faults: stray closing braces (\url{https://...}.}) are deleted, bare text-mode underscores (user_instruction for source user\_instruction) are escaped outside math and command arguments, and a reflowed line starting with [ directly after \\ no longer parses as a spacing argument. alignedat environments no longer trigger the bare-& preflight advisory.

Also in this release

  • Bibliography sections are not translated on the PDF pipeline: everything after a References/Bibliography heading (and MinerU reference_list blocks) stays English, which keeps references searchable and cuts the translation budget.
  • Consistent terminology. Each document gets one best-effort terminology pass: the paper title and a glossary of recurring terms are injected into every translation batch, so the same term renders the same way in the abstract and the conclusion. Any failure of this pass is silent and non-blocking.
  • Startup self-healing is verified end to end: a document left in processing by an application exit is marked a retryable failure on the next start and resumes from its chunk checkpoint via "retry from here".
  • Uploads stream to disk in 1 MiB chunks instead of reading the whole file into memory.
  • A missing API key raises instead of returning an error string that could flow downstream as if it were a translation.
  • The Nougat-era "Problem 1/2" heading repair, which ran on every PDF and only fit a specific coursework layout, was removed.

Compatibility

Backward-compatible release with no database or data migration. TeX Live with latexmk and XeLaTeX remains required for translated PDF generation.

Version and artifacts

  • Frontend and API version: 2.1.8.
  • Release tag: v2.1.8.
  • Windows artifact: PaperReader-v2.1.8-Windows-x64.zip.
  • macOS artifact: PaperReader-v2.1.8-macOS-arm64.dmg.

Verification

  • DreamGuard.tar.gz (AAAI 2027 style, 77 KB main file + appendix) translated end to end: 20/20 chunks with per-chunk progress; the translated PDF compiled under XeLaTeX past the style's pdfTeX gate with zero missing glyphs and 11,940 extractable Chinese characters across 14 pages.
  • SafeMCP.tar.gz (5.8 KB main file, ~195 KB of prose in sections/*.tex) translated end to end after flattening; 23 pages with 15,787 extractable Chinese characters and zero missing glyphs, versus the untranslated English output of previous versions. A run killed mid-translation was marked retryable by the startup sweep and finished from its checkpoint after a manual retry.
  • Backend regression suite (181 tests) and the frontend production build passed.