From claude-scholar
Automates arXiv submission preparation: cleans LaTeX source, optimizes bibliography, removes journal-specific content, builds a tarball, and extracts metadata for the submission form.
How this skill is triggered — by the user, by Claude, or both
Slash command
/claude-scholar:arxiv-prepThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Automate the tedious steps of preparing a LaTeX paper for arXiv upload. Creates a clean copy, removes cruft, verifies compilation, and produces a ready-to-upload tarball.
Automate the tedious steps of preparing a LaTeX paper for arXiv upload. Creates a clean copy, removes cruft, verifies compilation, and produces a ready-to-upload tarball.
presubmit-checks (content quality) — this skill handles packagingSame search logic as presubmit-checks:
paper/current/main.texpaper/main.texmain.tex**/*.tex with \begin{document}Identify the paper directory (parent of the main .tex file). All subsequent operations are relative to this directory.
Ask the user: "Want me to run the presubmit-checks first?" Skip if they say they already did.
Scan for separate supplement/appendix .tex files (e.g., supp.tex, appendix.tex, si.tex). If found, ask the user whether to:
\appendix (arXiv prefers single-PDF submissions)Grep for journal-specific language that should be removed for arXiv:
review, preprint mode toggles)Flag these and ask before changing.
Run bib_optimizer to remove unused citations and reorder entries to match their order of appearance in the text:
uvx bib_optimizer bibopt <main.tex> <references.bib> <references_cleaned.bib>
.bib (e.g., si.tex/supp.tex using si_references.bib), run bibopt separately for each:
uvx bib_optimizer bibopt <si.tex> <si_references.bib> <si_references_cleaned.bib>
.bib, run bibopt on each .tex file separately against the same .bib, then merge the two outputs (concatenate and deduplicate entries by cite key):
uvx bib_optimizer bibopt <main.tex> <references.bib> <references_main.bib>
uvx bib_optimizer bibopt <si.tex> <references.bib> <references_si.bib>
Then merge with bibtool (deduplicates by cite key):
bibtool -d references_main.bib references_si.bib -o references_cleaned.bib
If bibtool is not available, concatenate both files and manually remove any duplicate @type{key, entries (keep the first occurrence).\bibliography{...} command in each .tex file to point to the cleaned file..bib is never modified.If bib_optimizer is not available, skip this step — the .bib will still be handled in step 7.
uvx arxiv-latex-cleaner <paper-dir> --resize_images --im_size 500 --compress_pdf
This creates a <paper-dir>_arXiv/ directory with a cleaned copy. The original is untouched. The --compress_pdf flag reduces embedded PDF figure sizes, helping stay under arXiv's 50 MB limit.
If arxiv-latex-cleaner is not available, fall back to manual cleaning:
.git/, __pycache__/, .DS_Store% that aren't TeX directives).tex files not referenced by \input or \include_arXiv/Apply these fixes to the cleaned copy:
\typeout{get arXiv to do 4 passes} on the line after \end{document} — this ensures arXiv runs enough LaTeX passes to resolve all references.bbl exists: Check if a .bbl file exists. If not, compile with pdflatex + bibtex/biber to generate it. arXiv needs the .bbl, not the .bib.bib: If .bbl exists, ask the user whether to remove .bib files (reduces package size; arXiv uses .bbl directly).aux, .log, .out, .blg, .fls, .fdb_latexmk, .synctex.gz, .toc, .lof, .lot, .nav, .snm, .vrb. Do not use latexmk -CA here — it also removes .bbl, which arXiv needs.git/ if it exists in the copyRun in the _arXiv/ directory:
pdflatex -interaction=nonstopmode main.tex
pdflatex -interaction=nonstopmode main.tex
pdflatex -interaction=nonstopmode main.tex
(Three passes to resolve references.) Report:
! — these are blockersParse the .tex file to extract metadata for copy-paste into the arXiv submission form:
\title{...} — strip LaTeX commands, math mode, line breaks\begin{abstract}...\end{abstract} — strip LaTeX commands\author{...} — extract names, strip affiliations/footnotesPresent this in a clean, copy-pasteable format.
cd <paper-dir>_arXiv && tar -cvf ../arxiv-submission.tar *
.tar.gz — use gzip if close to the limitPresent:
arxiv-submission.tar at https://arxiv.org/submit_arXiv/ copy.bib, merging supplements)npx claudepluginhub yy/claude-scholar --plugin claude-scholarPackage a TeX/LaTeX project into a clean tarball or zip for arXiv upload: file selection, build-artifact exclusion, 00README generation, and archive validation.
Converts LaTeX academic papers between publisher formats (Springer, MDPI, IEEE). Automates content extraction, template injection, formatting fixes, and compilation.
Use this skill for "format manuscript", "prepare for submission", "journal formatting", "LaTeX template", "submission checklist", "format references", "BibTeX", "author guidelines", "page limits", "format for Nature", "format for IEEE", or when the user wants to format a manuscript for journal submission.