Draft an academic paper in Markdown with Cursor

A writer used Cursor to help draft and revise papers in Markdown while pulling citations from Zotero and a BibTeX library.

Done with Cursor· Intermediate

What they did
They kept their paper in Markdown and inserted references with the Zotero citation picker and Better BibTeX. To help Cursor find possible sources, they maintained a broad BibTeX library that included abstracts. After editing, Pandoc produced a Word document, and a Lua script converted the placeholders into Zotero-native citations. Cursor mainly handled rewriting, cutting text, and adding new sentences.
How it went
The process only sped things up a little, because they still ended up reworking almost every line. Even so, they preferred the final result since the revision pass was less frustrating. Cursor could not open PDFs.
Tips
This approach is most useful if you already manage references in Zotero and do not mind doing substantial cleanup yourself. If your sources are PDFs, first turn them into Markdown with Marker or Datalab, or ask ChatGPT to summarize the important papers into .md files.

Try it yourself with Cursor

I’m drafting an academic paper about [topic] in a Markdown file at [file path]. Look through my bibliography at [bibtex path], suggest citations from it wherever a claim needs support, and point out any statement that lacks a matching source. Revise sentences only to improve clarity or length, and never make up references that are not already in my library. If a source is available only as a PDF, tell me to convert it or provide a Markdown summary first. Before any step that would submit, send, delete, or otherwise change something I can’t easily undo, pause and ask for approval. When you are done, check that the document exports cleanly to Word with Pandoc and report any issues.

Fill in the [brackets]. Agents can make mistakes, so review anything before it is sent, paid or deleted.

Get 3 agent uses like this every morning

With the day's top AI news. Free, and one click to unsubscribe.