Ask AI to Review Paper Structure Without Rewriting the Text
When a request for a structure review comes back as rewritten prose, the requested output may have left room for replacement text. Ask instead for a checklist containing a problem, its location, and the evidence. That makes the boundary between review and editing explicit.
Define Checks That Can Be Verified in the Source
“Check the structure” is too vague. List the specific checks first:
| Check | Evidence | Log coverage |
|---|---|---|
| Skipped heading levels | Sequence of \section and \subsection commands | Usually no warning |
| References without targets | Each \ref has a matching label | May report an undefined reference |
| Labels that are never referenced | Search references to each label | No warning; not automatically an error |
| Duplicate labels | Each name is defined only once | May report a multiply-defined label |
| Matched environments | Corresponding \begin and \end | Environment errors |
| Unexpected float placement | Figure/table position and numbering in the PDF | Requires visual inspection |
Several checks do not affect compilation. Use source searches and the PDF rather than relying on the log alone.
Specify the Output, Not Just “Do Not Edit”
A fixed output format is more concrete than a broad prohibition. Request only the three fields—problem, location, evidence—with no replacement prose:
Review only the structure of the supplied source. Do not edit files or return rewritten prose.
Return a Markdown table with exactly: Problem, Location, Evidence.
Use file paths and labels for locations; mark unverifiable items for human review.
Separate compilation errors, formatting issues, and content judgments.
Do not classify an unreferenced label as an error by itself.
If you decide to fix one item, make it a separate request containing only the relevant scope.
Give Locations That Can Be Reconciled
A useful location includes the filename, label, and heading. “The Convergence section” can identify several places in a multi-file project.
Use source that already compiles, so syntax errors do not get mixed into the structural review. This sample contains two deliberately unreferenced subsection labels:
\documentclass[11pt]{article}
\begin{document}
\section{Method}\label{sec:method}
See Section~\ref{sec:method}.
\subsection{Convergence}\label{sec:convergence}
This subsection has a label that is not referenced elsewhere.
\subsection{Rate}\label{sec:rate}
This label is also unreferenced.
\end{document}
sec:convergence and sec:rate are not referenced with \ref. That does not produce a warning, and it is not inherently wrong. Whether a reference is needed is a content decision.
Separate Verifiable Findings from Content Judgments
A missing target can be checked against source. “This argument is disconnected” or “the conclusion needs another experiment” requires reading and research judgment. AI should not present those as mechanically verified facts.
Check findings with specific locations against the source; assess interpretive suggestions yourself.
After Fixes, Reconcile the Checklist
Compile the complete document. Search the targets of each reference, then inspect floats on their actual PDF pages. Let repeat compilation passes finish before treating a temporary reference warning as persistent.
| Message | Cause | Action |
|---|---|---|
Reference 'eq:x' undefined | Target is absent | Restore the label or correct the reference |
Label 'sec:x' multiply defined | Duplicate definitions | Keep one name and rename the other |
\begin{document} ended by \end{equation} | Mismatched environments | Check the environment boundaries |
There were undefined references. | Missing targets or information not yet resolved | Wait for processing, then investigate remaining targets |
Related: pinpointing an edit, safer AI changes, and project organization.
Takeaways
- Define source-verifiable checks.
- Request a checklist, not replacement text.
- Use paths and labels as coordinates.
- Keep content judgments separate from structural findings.
Apply confirmed changes in EasyLaTeX, compile, and compare the result with the checklist.