LaTeX project checklist before submission

19 checks, in the order worth doing them. Each says how to carry it out, so the list works by hand. Every item is tagged with what settles it: 10can be answered by reading the project’s source, several need a build, and a few need you. Leave the compile section until last and run it on a clean build — it is the part nothing else can do for you.

The project itself

Everything downstream assumes the project is complete and the right file is the root.

  • The root document is the one you think it is

    Source

    Confirm which file carries \documentclass and the \begin{document}. Projects accumulate abandoned roots — main.tex, thesis.tex, draft_final.tex — and checking the wrong one is a wasted afternoon.

  • Every included file is present

    Source

    Follow each \input and \include and confirm the file exists at that path. A chapter that silently vanished from an archive is missing from the PDF too.

  • The bibliography files are declared and present

    Source

    Find every \bibliography or \addbibresource and check the files resolve. A renamed .bib is the fastest way to lose every citation at once.

  • Nothing depends on files outside the project directory

    Source

    Absolute paths and references to a figure sitting on your desktop work on your machine and nowhere else. This matters the moment anyone else builds it.

Citations

Undefined citations are warnings, not errors, so nothing stops you submitting with them.

  • Every cited key exists in the bibliography

    Source

    Compare the keys your project requests against the keys your .bib defines. The full method is in the citations guide.

  • No key is defined twice

    Source

    Sort the entry keys and look for adjacent duplicates — common after merging exports from a reference manager.

  • Uncited entries are uncited on purpose

    Source

    Resolve crossref parents first, then check what is left. Some styles omit uncited entries entirely, so a reference you meant to include can simply disappear.

Cross-references

The class of error that produces two question marks in a printed thesis.

  • Every reference resolves to a label

    Source

    Compare across the whole project, including the \eqref, \pageref, \autoref and \cref families, not just \ref.

  • No label is defined twice

    Source

    Duplicates resolve silently to the last definition, so the reference is wrong rather than broken.

  • Labels sit after their captions

    You

    Inside a float, a \label before the \caption picks up the previous number. It resolves cleanly and points at the wrong thing.

The document as a piece of work

The requirements that come from your department rather than from TeX.

  • The word count is measured the way your rules define it

    Source

    Count the visible text of the expanded project, not the source — and check whether your rules exclude the bibliography, captions, footnotes or appendices.

  • Required sections and front matter are present

    You

    Abstract, declaration, acknowledgements, contents, references. Check against your institution's submission rules rather than the template you started from.

  • Figures and tables are all referred to in the text

    You

    An unreferenced float reads as decoration, and in some disciplines it is a formal problem.

Compile, and read the log

The section nothing static replaces. Do this last, on a clean build, and read the log rather than the PDF.

  • It builds from clean

    Compile

    Delete the .aux, .bbl, .bcf, .blg and .out files and build again. Stale auxiliary files hide missing bibliography entries and resolve references that no longer exist.

  • You ran enough passes

    Compile

    Cross-references and citations settle over multiple runs with the bibliography tool in between. A latexmk run, or the manual sequence, avoids reading warnings that would have gone away.

  • The log has no undefined citations or references left

    Compile

    Search the log for undefined-reference, undefined-citation and multiply-defined warnings. This is the authoritative list, and it comes from the engine rather than from any checker.

  • Overfull boxes are dealt with or accepted

    Compile

    Overfull \hbox warnings mean text running into the margin. Not all matter; the ones on the page you are about to print do.

  • It builds with the engine your department expects

    Compile

    pdflatex, xelatex and lualatex differ on fonts and encoding. If a submission specifies one, build with that one rather than assuming yours transfers.

  • You have read the PDF you are actually submitting

    You

    Open the final file and check float placement, page breaks, that every figure appears, and that cross-reference numbers point where you meant. Nothing else finds a figure that landed three pages from its discussion.

Which of these can be automated

Everything tagged Sourceis decidable by reading the project, and StudyRef does those: it resolves the root document and the include graph, then reports citation keys with no entry, duplicate and case-mismatched keys, unused entries with crossref parents resolved first, missing and duplicate labels, and a word count taken from the expanded project’s visible text. If the project is incomplete or its structure could not be determined, the report says the analysis was incomplete and why, rather than returning a clean result with a hole in it.

Everything tagged Compile stays with your build. TeX has to run for those answers to exist, and no amount of reading the source substitutes for it. The items tagged You are judgement — whether the figure numbering makes sense, whether the front matter is what your department asked for.

Clear the source-level items in one pass

Upload the project as a .zip, including the bibliography files. Requires an account on a paid plan.

If an item needs more detail