Prepare your paper¶
1. Install¶
On macOS, run bash install.sh from the source checkout and confirm the plan.
Installation covers other platforms and the launcher path.
Run fledge doctor to exercise the installed tools with a tiny built-in document;
see setup diagnostics for the scope of that check.
2. Prepare your project¶
Replace the paths and the root filename:
fledge prepare /path/to/paper --main main.tex --output /path/to/submission
The input can also be a ZIP of the project. From Overleaf, download the project’s source as a ZIP and pass that file instead of the folder. Fledge compiles with your local TeX installation, which may be a different TeX Live release than the one Overleaf uses.
The output directory must not exist yet and must lie outside the project.
Fledge refuses to write anywhere else, so it never overwrites an earlier result
or ZIP; the same rule applies to report, preview and diagnostic paths. Add
--layout flat if the venue wants all files in one folder.
A successful run writes:
sources/: the prepared project files;submission.zip: those files, without a wrapper directory;manuscript.pdf: the PDF rebuilt from that ZIP;report.json: findings, changes and verification results.
Your original project is never changed, and unrelated files are left out of the
copy. To ship a file the build never reads, list it under
[package] include.
The terminal summarizes the included files, renames and compressed size. Add
--show-files for the full inventory, or --html-report review.html to keep a
report with file details and visual PDF differences when a comparison changes.
3. Read the result¶
A passing run ends like this:
Passed — selected preparation checks, visual/text preservation and fresh ZIP rebuild
0 errors, 0 warnings, 0 incomplete, 4 not applicable, 23 passed results
Document: main.tex
No issues found within this command's stated scope.
…
sources: /private/tmp/submission/sources
archive: /private/tmp/submission/submission.zip
pdf: /private/tmp/submission/manuscript.pdf
report: /private/tmp/submission/report.json
Not checked (needs your settings): anonymity, page limit, ZIP size limit, forbidden packages, strict font embedding, image resolution, 93 other opt-in checks. Set them in fledge.toml (start with fledge init --preset anonymous-review|arxiv|camera-ready); see https://nicolasschuler.github.io/fledge/configuration.html
The last line lists opt-in checks that did not run; step 4 below switches on
the useful ones. Not-applicable results are notes about checks outside this
run’s scope. One of them, TEX009, records that no generated main.bbl is
shipped. That matters only for services such as arXiv that compile without
running BibTeX or Biber; the arxiv preset turns it into a warning. Add
--show-passed to list these notes.
A blocked run lists what to fix, errors first. Here the citation key
knuth1948 is misspelled (output shortened):
Blocked — selected source, bibliography, privacy, isolated build and PDF checks
4 errors, 1 warning, 1 incomplete, 6 not applicable, 4 passed results
Document: main.tex
…
BIB101 Source citation coverage [ERROR / failed]
Where: main.tex: sections/results.tex:5 [bibliography coverage and fields]
Citation key 'knuth1948' has no entry in this root's inspected resources.
Next: Correct the citation key or declared bibliography resource, then compile to verify the
rendered citations. Resolve reported source uncertainty before claiming coverage.
…
3 checks did not run because baseline build failed: baseline PDF inspection, baseline configured PDF checks, select preparation inputs
The fix is to correct the key to knuth1984 in sections/results.tex and run
the command again. The other errors in this run (BLD001 undefined citation,
BLD002 undefined references) have the same cause and disappear with it, as
does the BIB102 warning that the entry is unused. Checks that depend on a
successful build are listed as not run rather than passed. One mistake often
produces several findings, so fix the one that names the cause and rerun before
working down the list. Troubleshooting explains the
findings new users meet most often, and fledge rule BIB101 explains any code.
A blocked run writes no output directory. Add --report /path/to/report.json
to keep its full report. In report.json, read outcome first, then each entry
in findings: its code, severity, status, path, line, message and
next_step. Reports and exit codes explains every outcome and
why a run that passed with warnings exits with code 1.
4. Add a preset for your venue¶
Once the basic run passes, switch on the checks that matter for where the paper
is going. Presets are starting points for an arxiv upload, an
anonymous-review submission or a camera-ready version:
fledge init --list
fledge init /path/to/paper --preset arxiv
fledge prepare /path/to/paper --main main.tex --output /path/to/submission-2
fledge init writes a commented fledge.toml into the project; edit its
placeholders, such as a page limit, with your venue’s current values. To try a
preset without writing a file, pass --preset arxiv to inspect, check or
prepare. See start from a preset.
Faster checks while you write¶
fledge inspect /path/to/paper --main main.tex checks sources and bibliography
in seconds without compiling, so it cannot see build or PDF problems.
fledge check adds the isolated build and PDF checks without packaging, and
prepare --dry-run previews requested changes without writing a bundle.
Copy the abstract into a submission form¶
fledge submission-text /path/to/paper --field abstract
This exports one line with supported LaTeX formatting removed. Omit --field
to preview the title, abstract and keywords with any interpretation issues.
Unknown macros and complex notation require review before export; see
submission text.
Next: configuration, preparation options or the offline example.