Skip to content

Polish a draft

Rewrite a LaTeX paper for clarity. Keeps math, citations, and structure intact. Outputs a reviewable diff.

What polish does

  • Reads your input .tex file (and any context files you attach).
  • Produces a revised draft that follows your instruction.
  • Runs a built-in critique pass that rereads its own output and revises it.

Polish is a workflow agent: it writes to disk and produces a diff. It does not chat, compile LaTeX, or verify citations.

When to use it

Use polish when the content is in place and the prose needs work.

  • Tighten loose paragraphs before submission.
  • Fix repetition, hedging, generic phrasing.
  • Improve flow between sentences and sections.

Don't use polish to add content, change math, or restructure sections. For those, use the Orchestrator or the research agent.

Run it from the CLI

sh
texra run polish \
  --input intro.tex \
  --instruction "Tighten prose. Preserve all math and citations."
texra run
$texra run polish --input intro.tex --instruction "Tighten prose. Preserve all math and citations."
  • r0 — first revision
  • r1 — critique-and-revise pass
.texra/runs/c4e19b07a52d/r1/intro.tex

Rounds stream as progress, then the path to the final revision prints on stdout — that printed path is the success signal.

Each round writes its output into the run's task storage, using the input filename as the document name:

.texra/runs/<run-id>/r0/intro.tex   # Round 0 — first revision
.texra/runs/<run-id>/r1/intro.tex   # Round 1 — critique-and-revise pass
.texra/runs/<run-id>/one folder per round
  • r0/intro.texfirst revision
  • r1/intro.texcritique pass · final

Both rounds reuse your input filename — r0/ holds the first revision, r1/ the critique-and-revise pass you usually keep.

To write the final revision next to your input instead:

sh
texra run polish --input intro.tex --output intro.polished.tex

Run it in VS Code

  1. Open intro.tex.
  2. Click the TeXRA icon in the activity bar.
  3. In the Input section, click Add files and pick intro.tex from the file picker.
  4. Pick polish as the agent. Pick a model.
  5. Type the instruction. Press Execute.
  6. When the run completes, open the diff from the Progress Board.

Same run, same history, same output files — whichever surface you used.

Reviewing the output

CLI — diff the rounds against your input:

sh
diff -u intro.tex .texra/runs/<run-id>/r0/intro.tex
diff -u .texra/runs/<run-id>/r0/intro.tex .texra/runs/<run-id>/r1/intro.tex

VS Code — the Progress Board shows side-by-side diffs and lets you accept the output back into the workspace.

draft.tex ↔ r0/draft.tex (Working Tree) — texra-sample
r0/draft.tex TeXRA
12\begin{abstract}
13We present an efficient method for the
14estimation of spectral gaps in random regular graphs.
15\end{abstract}
16
17\section{Preliminaries}
18Let $G$ be a $d$-regular graph.
draft.tex Previous draft
12\begin{abstract}
13We present a novel and efficient method for the
14estimation of spectral gaps in random regular graphs.
15\end{abstract}
16
17\section{Preliminaries}
18Let $G$ be a graph.

The Progress Board opens the polished round as a diff — accept each change back into your draft.

For a compiled PDF comparison (additions in blue, deletions in red), use the LaTeXdiff feature in the TeXRA panel. See LaTeX Diff.

How the critique pass works

After Round 0 produces a revision, polish re-prompts itself to check for common failure modes:

Round 1 — critique passrereads r0/intro.tex, then revises
  • Weakened editsreverts changes that dulled the original argument
  • Missing mathrestores equations or symbols dropped in Round 0
  • Notation before definitionflags a symbol used before it is introduced
  • Generic fillercuts empty phrasingprovides crucial insights into…
  • Out-of-scope changeskeeps edits inside your instruction

Round 1 rereads its own Round 0 output and scans for five regressions before revising again.

The result is written to r1/. Use Round 0 alone for fast iteration. Use Round 1 when the draft is close to final.

Limits

  • Operates on one revision per input file. For multi-file projects, list each file with --input or use the Orchestrator.
  • No tool access — polish cannot compile, search citations, or run code.
  • No new sections, equations, or references — polish only rewrites what is already there.

See also