All Projects → djsutherland → Arxiv Collector

djsutherland / Arxiv Collector

Licence: bsd-3-clause
A little Python script to collect LaTeX sources for upload to the arXiv.

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to Arxiv Collector

Arxiv Style
A Latex style and template for paper preprints (based on NIPS style)
Stars: ✭ 497 (+177.65%)
Mutual labels:  latex, arxiv
Arxiv Vanity
Renders papers from arXiv as responsive web pages so you don't have to squint at a PDF.
Stars: ✭ 1,190 (+564.8%)
Mutual labels:  latex, arxiv
Engrafo
Convert LaTeX documents into beautiful responsive web pages using LaTeXML.
Stars: ✭ 717 (+300.56%)
Mutual labels:  latex, arxiv
Scihub2pdf
Downloads pdfs via a DOI number, article title or a bibtex file, using the database of libgen(sci-hub) , arxiv
Stars: ✭ 120 (-32.96%)
Mutual labels:  latex, arxiv
Arxiv Equations
🚀 Provides equations in latex format from arxiv paper.
Stars: ✭ 23 (-87.15%)
Mutual labels:  latex, arxiv
Arxiv Latex Cleaner
arXiv LaTeX Cleaner: Easily clean the LaTeX code of your paper to submit to arXiv
Stars: ✭ 2,689 (+1402.23%)
Mutual labels:  latex, arxiv
Flutter tex
A Flutter Package to render Mathematics, Physics and Chemistry Equations based on LaTeX
Stars: ✭ 161 (-10.06%)
Mutual labels:  latex
Betterposter Latex Template
LaTeX Template for Mike Morrison's #betterposter
Stars: ✭ 171 (-4.47%)
Mutual labels:  latex
Zotero Better Bibtex
Make Zotero effective for us LaTeX holdouts
Stars: ✭ 2,336 (+1205.03%)
Mutual labels:  latex
Texsoup
fault-tolerant Python3 package for searching, navigating, and modifying LaTeX documents
Stars: ✭ 157 (-12.29%)
Mutual labels:  latex
Latex Css
LaTeX.css is a CSS library that makes your website look like a LaTeX document
Stars: ✭ 2,216 (+1137.99%)
Mutual labels:  latex
Scienceplots
Matplotlib styles for scientific plotting
Stars: ✭ 2,937 (+1540.78%)
Mutual labels:  latex
Sjtuthesis
上海交通大学 XeLaTeX 学位论文及课程论文模板 | Shanghai Jiao Tong University XeLaTeX Thesis Template
Stars: ✭ 2,376 (+1227.37%)
Mutual labels:  latex
Ucasthesis
**国科大新版标准** 中国科学院大学学位论文模板,目前遵守2018国科大指导标准。 a LaTeX template for UCAS.
Stars: ✭ 166 (-7.26%)
Mutual labels:  latex
Resumake.io
📝 A website for automatically generating elegant LaTeX resumes.
Stars: ✭ 2,277 (+1172.07%)
Mutual labels:  latex
Hust Homeworks
HUST Homeworks(Course design / Reports / Labs / etc. )
Stars: ✭ 162 (-9.5%)
Mutual labels:  latex
Paper2remarkable
Fetch an academic paper or web article and send it to the reMarkable tablet with a single command
Stars: ✭ 177 (-1.12%)
Mutual labels:  arxiv
Writetex
An Inkscape extension: Latex/Tex editor for Inkscape
Stars: ✭ 157 (-12.29%)
Mutual labels:  latex
Travis Ci Latex Pdf
Travis CI and deployment service to build PDF from LaTeX document.
Stars: ✭ 170 (-5.03%)
Mutual labels:  latex
Tably
Python command-line script for converting .csv data to LaTeX tables
Stars: ✭ 173 (-3.35%)
Mutual labels:  latex

A small script to collect your LaTeX files for submission to the arXiv. Particularly useful if you use biblatex, and you can use it directly on Overleaf.

Usage

Install with pip install arxiv-collector or conda install -c conda-forge arxiv-collector – or just download arxiv_collector.py, it's a stand-alone script with no dependencies. Works with any reasonable version of Python 3, or 2.7 if you really must.

Use with arxiv-collector from your project's main directory, or arxiv-collector file.tex if you have more than one .tex file and it can't guess correctly which one to use; arxiv-collector --help for more.

Main features:

  • By default, strips potentially-embarrassing comments from your uploaded .tex files. (Use --no-strip-comments to turn this off; it's based on a regular expression, and it's definitely possible for it to screw up, especially if you use % in a verbatim block or something.)

  • Includes the necessary parts of any system package you tell it to upload. By default, this includes biblatex (if you use it) to avoid errors like

Package biblatex Warning: File '.bbl' is wrong format version

  • Only uploads things you actually use: if you have an image you're not including anymore or whatever, doesn't upload it.

Requirements:

  • A working installation of latexmk, on your PATH. (This is used to make the .bbl file and to track which files are used.)
    • If you have working TeX and Perl installations, you likely already have latexmk even if you don't use it. If you don't, you can either install it the "normal" way (tmlgr install latexmk, apt-get install latexmk, ...), or just grab the script with arxiv-collector --get-latexmk path/to/output/latexmk.
    • If latexmk isn't on your PATH for whatever reason, add --latexmk ./path/to/latexmk to your arxiv-collector call.
    • NOTE: latexmk version 4.63b has broken dependency tracking, which means arxiv-collector won't work with it. You can either update it with your package manager, or you can get a working version, e.g. 4.64a, with arxiv-collector --get-latexmk path/to/output/latexmk, and either put it in e.g. ~/bin or pass --latexmk to your arxiv-collector invocations.

Caveats

The script may or may not work if you do something weird with your project layout / etc; always check that the arXiv output pdf looks right. Let me know if you run into any problems, including a copy of the not-working project if possible.

In particular, if you include figures or other files with absolute paths (\includegraphics{/home/me/wow.png} instead of \includegraphics{../wow.png}), the script will think it's a system file and not include it by default. You can hack it with --include-packages to include any directory name in the path.

Using directly on Overleaf

It's easy to set up Overleaf to run the script on each compilation, so that you're always ready to upload to arXiv at a moment's notice! (You can of course comment out or remove the lines below after running it once, but it shouldn't add much overhead to just do it every time.)

First, add arxiv_collector.py to your project. You can do "New file", "From external url", then put in https://raw.githubusercontent.com/djsutherland/arxiv-collector/master/arxiv_collector.py.

Now, add a file called .latexmkrc if you don't have one already. This is a control file that tells latexmk how to compile your project (which is what Overleaf uses behind the scenes). If you use something slightly complicated like an index or a glossary, you might need to add in Overleaf's default settings file, which this will override, but for 95% of projects you don't need to worry about this.

Add to the .latexmkrc file (whether you're starting from blank or from Overleaf's default, doesn't matter) the following contents:

$dependents_list = 1;
$deps_file = ".deps";

END {
  system("python arxiv_collector.py --latexmk-deps $deps_file");
}

Now, after you compile, you can download arxiv.tar.gz by clicking on the blue page icon to the right of the big green Recompile button ("Logs and output files"), clicking on "Other logs & files", then choosing arxiv.tar.gz. Upload that file to the arXiv, and you should be good!

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].