Choose how to bring corrections into the editor:
Example loads the sample document and sample corrections so you can see how highlights look without calling the API.
Paste a JSON object of the form {"corrections": [{ "original": "...", "corrected": "...", "explanation": "...", "type": "grammar" }]}
generated by ChatGPT or another model for this exact document.
Use Validate to check alignment without applying changes.
Tip: if JSON import fails, try the Unstructured Comments import, or regenerate JSON in two steps: (1) ask for a table with columns [original sentence, comment, correction], then (2) turn that table into the JSON shape above.
Prompt examples:
grammar |
fact-checker |
generic |
check-everything |
translate comments → JSON (full) |
translate comments → JSON (lite)
Example JSON you can paste: sample_comments.json
corrections: array, ordered as they appear in the document.original: required string; exact text to anchor (escape backslashes as \\).corrected: required string unless type is "comment".explanation: optional short note shown in the popover.type: optional; grammar | style | comment.$...$), and macros; JSON still needs \\ for backslashes.{
"corrections": [
{
"original": "We prove that $f(x) = x^{2}$ {see Appendix A}.",
"corrected": "We prove that $f(x)=x^{2}$\\, (see Appendix A).",
"explanation": "Tighten math-mode spacing and keep braces literal.",
"type": "grammar"
},
{
"original": "Let \\alpha_n denote the sequence in \\mathcal{F}.",
"corrected": "Let $\\alpha_n$ denote the sequence in \\mathcal{F}.",
"explanation": "LaTeX macros stay escaped (\\\\alpha_n, \\\\mathcal).",
"type": "style"
}
]
}
original strings; applied to validation and import.Paste unstructured review comments here. We will convert them into structured corrections for the current document.
Template: prompt_import_comments.md
Example: example-unstructured-comments.md
Describe the specific statement, lemma, proof step, or derivation to audit. This run produces a deep audit report and structured, anchored suggestions.
Review or customize the deep audit prompt. Custom edits are stored locally.
Reference file: input/deep_audit_target.md
Describe the edits you want. Be specific about scope, tone, and constraints. Preserve meaning unless you request a rewrite. Start from a preset if helpful.
Tip: attach supporting files and enable Web/Python tools in the menu if you want the model to use them.
Run history can store prompts/responses locally (IndexedDB) so they can be reviewed or downloaded later.
Selections include a small read-only context window. You can optionally add the full document as an extra read-only context message (costly). Full-document runs include the LaTeX preamble.
Models: OpenAI (default), OpenRouter (supports custom model ids like openai/gpt-5.2), and Gemini. Tools (web/python) are OpenAI-only; supporting files are sent only with OpenAI.
Created by Kevin Bryan (University of Toronto). Revised by Stephan Lauermann.
kevinbryanecon.com | alldayta.com | kevin.bryan@rotman.utoronto.ca
Upload a new document for editing. This replaces the current document.
Drag and drop a .tex or .txt file here
or
Drag and drop supporting files here
or
Include the full document as additional context for this run?
Local context always includes ±1000 characters around each selection.
You can explore Modern Editor without an API key. Try the offline example, add a key, or import JSON corrections.