76

arXiv is smart enough to detect whether your PDF is generated by LaTeX. If it is, arXiv asks for the sources of the PDF instead of the PDF file itself. This is really annoying and inconvenient.

I ask a way to fool the arXiv and avoid PDFs being detected as generated by LaTeX (even if they were indeed).

I have tried this: http://www.hrstc.org/node/62: "create a pdf from word and then simply insert pages from your article, and delete the word's page".

And it did not work.

13
  • 15
    What's wrong with uploading the sources? It's much better from an archival point of view.
    – Alex
    Jun 22, 2014 at 18:40
  • 21
    @Alex The arXiv doesn't always have the most up to date versions of packages, meaning that a document using new features might not compile. So it's not necessarily about not uploading the sources, but ensuring that the arXiv doesn't actually try to compile those sources. Jun 22, 2014 at 19:34
  • 8
    @Alex From my point of view, it is much more convenient by just uploading the pdf rather than the source. arXiv lets me feel word is better than latex. That is it. Jun 22, 2014 at 20:58
  • 19
    @Alex Some of us think that publishers are as outdated as LaTeX 2.09 ... Seriously, once a publisher agrees to publish my paper then I'll downgrade it (and I have done this: I downgraded one paper from TikZ to xy). Before that, I'm not going to anticipate something that might not happen and so I'll take advantage of the latest features to make my paper as nice to read as possible. Jun 22, 2014 at 21:28
  • 4
    I would appreciate to know how to upload PDF files directly to arXiv for the simple reason that my PDF files are created by omega or luatex and contain special fonts. If arXiv wants us to upload TeX code then it must give us the means to compile this code. If it doesn't, then it is clearly arXiv's fault. Twice already I had to ask for special permission to upload a PDF, permission was granted but I find it unacceptable to have to beg for a PDF file to be accepted and to have to justify why it is necessary. If somebody knows how the arXiv filter works, please let me know!
    – yannis
    Feb 28, 2016 at 22:06

11 Answers 11

40

Update 2018-11-26: According to the comment from Andrew MacFie, this method no longer works: the arXiv have put in place a check specifically for this. Whether or not they have solved the underlying problem, I have no idea. Whether or not a variation of this solution would work, I have no idea.


I strongly advise uploading the source code to the arXiv for archival purposes. Once the document itself is made public, there is no reason I can think of for not making the source code public. That said, there can be reasons for avoiding the arXiv's own compiler if it doesn't have up to date versions of packages that you use and, for example, uploading the entirety of TikZ/PGF with your document seems a little excessive. (NB For TikZ/PGF specifically, the external library is a big help here.)

Include a PDF copy of the article with your submission (with a slightly modified filename), and at the top of the document put the following (suitably edited):

\documentclass[a4paper]{article}
\pdfoutput=1
\usepackage{hyperref}
\hypersetup{
  pdfinfo={
    Title={Your Title Here},
    Author={Your Name Here},
    Subject={If you want to put something here, do so},
    Keywords={Add some keywords if you feel so inclined}
  }
}
\usepackage{pdfpages}

\begin{document}
\includepdf[pages=1-last]{the_real_article.pdf}
\end{document}

<rest of source code goes here>

I think that to comply with the spirit of the arXiv, in that you're making stuff generally available, then if you are doing this then you should go the extra mile and include something like the list of packages used with their versions so that someone who downloads the source will know what they need in order to compile it.

I can attest to the fact that this has worked in the past.

22
  • 3
    This didn't work for me -- the processing proclaimed success but I ended up with a blank one-page document. Still trying to get my submission working... Feb 6, 2015 at 23:49
  • 8
    add \pdfoutput=1 in the second line Jun 11, 2015 at 14:53
  • 3
    Note that you lose all hyperref (linking) information when using this approach. PAX is a program designed to help with this, but it didn't work for me. Aug 4, 2015 at 16:03
  • 4
    @JoshuaGrochow Simple: remove all comments before uploading. You can do that with a straightforward script - assuming you haven't changed the catcode of %. After all, comments don't affect the output so it is completely safe to remove them. (To forestall nitpickers: the script should do s/%.*/%/gm if I have my modifiers right.) Nov 26, 2015 at 18:31
  • 2
    @LoopSpace: I knew that. The point is that this requires you to add another step to your workflow ("Ah, shoot, I forgot to remove comments before uploading! Let me do that now and re-upload..." - or worse, figure it out after it's already appeared on the arXiv). And if it's not you but collaborators, you may have to help your collaborator setup that script. You'd really rather just upload the PDF and not have to worry about comments in your source. Nov 26, 2015 at 18:50
18

The solution is simple. Open your PDF using some PDF viewer/editor. For instance using Foxit Reader. Then print the file using a virtual printer, for example Foxit PDF printer. The printed version of your PDF would be image-based. However, to increase the quality you can choose a higher resolution, such as 300 dpi. The printed PDF file can be easily uploaded into arXiv.org.

4
  • 1
    For some reason most pdf readers don't allow you to print to pdf anymore.
    – dorien
    Dec 1, 2018 at 3:30
  • There are a lot of free Print2PDF software you can install that integrate with your computer as a virtual printer. For example, CutePDF, Win2PDF, CUPs-PDF and a lot more.
    – NKN
    Dec 7, 2018 at 15:50
  • 1
    I have tried this technique, but am getting the message that my submission is on hold because the output from pdf to text conversion was too small to allow further processing. I have printed to PDF virtually, but seems to be some issue with the resolution?
    – Tom
    Jul 19, 2019 at 5:28
  • The size of my .pdf file has increased 100x with this solution and I get the error message: Total submission size 100862.70 KB exceeds maximum allowed size 50000 KB Mar 26, 2021 at 17:29
14

Since several other methods didn't work (e.g. resetting the PDF producer metadata via hyperref or a PDF editor, or trying a Print As PDF hack through a web browser or Google Drive), here's a simple one that's worked for me in Nov 2019. It's specific to command-line users, though, but that also means that it can be conveniently automated as part of your document build process.

Just process your PDF to Postscript with pdf2ps, and then back again with ps2pdf:

pdf2ps mydoc.pdf
ps2pdf mydoc.ps

That's it.

This seems to reset enough that arXiv doesn't detect the TeX origin of the document, but I don't see any significant detriment to the output. In particular I wanted to upload in this form for a special document -- not a paper, but of interest to the arXiv community -- where I was using custom fonts and XeLaTeX, and those fonts were preserved by the PDF/PS/PDF round-trip.

Here's a sample Makefile to automate this along with the rest of the build (for a simple 2-pass, standalone XeLaTeX compilation):

.PHONY = all clean
BASENAME = mydoc

all: $(BASENAME).pdf $(BASENAME)-arxiv.pdf

clean:
    rm -f $(BASENAME).pdf $(BASENAME).aux $(BASENAME).log $(BASENAME).out $(BASENAME)-arxiv.*

$(BASENAME).pdf: $(BASENAME).tex
    xelatex $< && xelatex $<

$(BASENAME)-arxiv.pdf: $(BASENAME).pdf
    cp $< $@ && pdf2ps $@ && ps2pdf $(@:.pdf=.ps) && rm *.ps

Needless to say -- I hope -- this is to be used for exceptional cases where you really want/need features unsupported by arXiv's AutoTeX processing.

It would be nice if it were possible to also provide the source without it being compiled, but my attempt to include the .tex file in the anc subdirectory for ancillary material itself led to a processing error, because currently "Please note that ancillary files are not supported with PDF submissions at this time." on https://arxiv.org/help/ancillary_files . This may be fixed by the time you're reading this.

4
  • it's 2020, and it didn't work for me yet.
    – JWL
    May 9, 2020 at 15:04
  • does not work for me either, and in addition, kills all hyperlinks (URLs, references, etc.)
    – Antoine
    May 16, 2020 at 10:16
  • 1
    arXiv seem to have guarded against it now. Annoying, since imho there are valid reasons to post rendered PDFs... but it's their platform, their rules May 16, 2020 at 13:22
  • I disagree that this does not cause a detriment to the output -- it removes all the hyperlinks!
    – E.P.
    Jul 30, 2020 at 10:38
9

Arxiv detected my PDF (made using MS Word!) to be sourced from a TEX file and kept asking me to upload the source file and kept rejecting my PDF submission. Eventually I figured out that MS Word 2016 uses a number of TEX identifiers in their equation editor which gets flagged by Arxiv. After scouring the internet for fixes with no success, I serendipitously found out that if you save your Word manuscript in 'Word 97-2003' format, it removes those TEX identifiers and converts all equations to images. You can then safely Save As PDF and upload to Arxiv without any red flags.

3
  • 4
    Excuse me. Is it a comment or an answer?
    – Sebastiano
    Jan 4, 2019 at 22:13
  • 5
    @Sebastiano To me this sounds like a valid answer.
    – user121799
    Jan 4, 2019 at 22:45
  • @marmot My question was only to understand as to apply the answer of the OP. My best regards.
    – Sebastiano
    Jan 5, 2019 at 12:57
4

November 2021: arXiv accepted my xelatex-generated PDF after:

exiftool -all:all= -overwrite_original FILE.pdf

From: https://stackoverflow.com/questions/60738960/remove-pdf-metadata-removing-complete-pdf-metadata

3
  • This works perfectly! I just uploaded my pre-print paper on arxiv.org
    – KOF
    Jun 22, 2022 at 20:29
  • 2
    August 2022 XuaLaTex pdf: does not work was detected even though all pdf metadata was stripped.
    – GJacobs
    Sep 6, 2022 at 13:15
  • April 2023 pdfLaTex does not work after removing all pdf metadata.
    – whyisyoung
    Apr 26 at 20:52
3

The Arxiv LaTeX compiler is a pain in the ass and never compiled my paper correctly. That is the reason why I wanted to upload my own PDF w/o source.

Arxiv is identifying the LaTeX pdf based on some meta information and based on the embedded fonts.

Following these steps, I tricked the pdf check:

1) Create an empty pdf, such as with Word. Insert your Latex PDF into the Word-generated PDF. I used Mac Preview. Any other software such as Adobe Acrobat would work too.

2) Open your generated pdf with Adobe Acrobat. Go to: File > Save > Save as Other > Optimized PDF... > Fonts > unembed the troubling fonts (CMR10 & rsfs10). If this did not work, try to also remove other fonts.

(worked on 18th of August 2019)

2

This worked for me 06 November 2019.

For people who do not have access to the paying Adobe Acrobat functions:

  1. Convert your pdf to a .docx or similar. I used this one, maybe there are some better options.
  2. Use MS Word or equivalent and check the file (I noticed this conversion wreaks havoc on .eps images) and replace them with .png or similar where necessary.
  3. Export as .pdf with MS Word or the program you are using.

I really hope they at some point either make their auto-compiler more user-friendly or at least make the generated error messages more informative. I tried all the tips I could find on this site and really wanted to upload it as .tex but nothing seemed to work. The help desk was also no help at all.

2
  • 2
    This wrecked havoc on my equations unfortunately
    – Tom
    Jun 28, 2020 at 20:24
  • Yes, it also messed up my .eps figures which I had to change to png. Generally it is still a pain.
    – Maarten
    Jun 30, 2020 at 4:23
2

This worked for me today, June 2022.

Apparently, arxiv is smart enough to detect when you are importing the entire PDF using pdfpages as in here https://tex.stackexchange.com/a/186206/272006. However, you are free to import ypur PDF file, page by page, using graphicx and its \includegraphics command. I would speculate that this approach would be harder for arxiv to guard against for a few reasons:

  • correct LaTeX source is being uploaded, and detecting issues in it is not as easy as looking for TeX macros in PDF
  • \includegraphics is a legitimate command, used by almost any submission, so flagging the submission for just using it is impractical
  • even if arxiv detects the for-loop (which is also a legitimate command), one is free to simply regenerate include statements and even obfuscate them

The code is below and here is its explanation and advantages:

  • I tested it myself (for a 173 pages thesis), arxiv has accepted the submission and PDF looks correct
  • it preserves internal and external PDF links if you use PAX
  • it generates a generic PDF document from the file you supply for any number of pages
  • it does not produce any extra blank pages
  • it produces the .blg file that arxiv uses for better biblipgraphy processing

To preserve links, follow the PAX approach (arxiv works correctly with it, and why wouldn't it, pax file is simply a map that is read by the pax package). Install PAX using their instructions, or use one in my (large) docker image (the perl script is in the root). At the end of installation you should have pdfannotextractor.pl script, and you should be able to generate the .pax file with pdfannotextractor.pl path/to/file.pdf, the file will be at path/to/file.pax. If the .pax is in the same directory and the same name as the PDF, pax package will pick it up, and links will magically work.

To generate .blg file, it is enough to load biblatex, load you .bib file and use \nocite{*} command.

Also, because we place an image to fit the page entirely, LaTeX reasonably assumes that the image does not fit and places it on the next page, resulting in an extra first blank page. \vspace*{-4ex} hack seems to fix it without a negative effect on the included image.

Finally, I do support the arxiv idea of generating PDF from source, although, possibly not as such a strict requirement. In my case the thesis document was so complex and it relied on newer TeX distribution, that I simply couldn't compile it using arxiv engine. Please, use this hack wisely.

% cSpell:disable

\documentclass[letter]{report}

\usepackage{graphicx}
\usepackage{pgffor}
\usepackage[margin=0in]{geometry} % remove all margins
\usepackage{pax} % process .pax file to bring back internal links

\newcounter{pdfpages}
\newcommand*{\getpdfpages}[1]{%
    \begingroup
        \sbox0{%
            \includegraphics{#1}%%
            \setcounter{pdfpages}{\pdflastximagepages}%
        }%
    \endgroup
}

\usepackage[hidelinks]{hyperref} % remove ugly link borders

% Add metadata to resulting file.
\hypersetup{
    pdfauthor   = {Dmytro Bogatov <[email protected]>},
    pdftitle    = {Secure and Efficient Query Processing in Outsourced Databases},
    pdfsubject  = {Doctoral Dissertation},
    pdfkeywords = {OPE, ORE, Range Query Protocols, Epsolute, kNN},
    pdfcreator  = {LaTeX with hyperref package},
    pdfproducer = {dvips + ps2pdf}
}

% Adapt to your case.
\usepackage[
    backend=biber,
    style=alphabetic,
    giveninits=false,
    sorting=nyt,
    maxbibnames=1000,
    maxalphanames=4
]{biblatex}

\bibliography{bibfile}

\begin{document}

    % This is to remove the first blank page. Feel free to improve.
    \vspace*{-4ex}

    \getpdfpages{file}
    \foreach\x in {1,...,\value{pdfpages}} { % chktex 11
        \begin{center}
            \includegraphics[width=\paperwidth,keepaspectratio,page=\x]{file}
        \end{center}
    }

    % This is to generate all the citations from your bib-file to *.blg.
    \nocite{*}

\end{document}
1
1

The best way to do is to upload PDF to the google docs and then issue print command and then save the file as PDF. Then upload this new PDF on the arxiv. This works as on 7 august 2019 and if you want to know more, read the documentation on https://arxiv.org/help/submit_pdf

3
  • 2
    If you want to feed google with all datas do it; I think it is better to omit this doing as possible as you can do ... And there are other answers with valid ways to this question.
    – Mensch
    Aug 7, 2019 at 17:14
  • I tried this, but the import to GDocs resets the custom fonts etc. which was my reason for wanting to exceptionally submit this (not a normal paper) as PDF rather than TeX sources. Trying a print-as-PDF from the original as viewed in a browser doesn't seem to overwrite enough information to bypass arXiv's tests. Nov 7, 2019 at 11:48
  • 1
    I tried this and it did not work for me either.
    – Tom
    Jan 6, 2020 at 17:29
0

I just found the way to do it (Worked 2023-07-27). Using Foxit Reader (free version) in Windows. Open your PDF file, Ctrl+P to print, Select the mode name "Microsoft Print to PDF". Select the path to save new PDF file. Upload this PDF file to arXiv.

-1

It is super easy if you have Adobe Acrobat XI Pro (try it with other versions). In Adobe Acrobat XI Pro, go to "Create" --> "Combine Files into a Single PDF" --> upload your Latex-generated .pdf file and combine this .pdf file, then save it. Thats it. (worked on 6th of August 2020)

The good thing about this approach that the quality of the original Latex-generated .pdf file is not altered compared to other approaches, which require uploading the file to google then downloading it again.

3
  • Welcome to TeX.SE!
    – Mensch
    Aug 6, 2020 at 9:04
  • 2
    This fails for me Aug 18, 2020 at 19:47
  • @GeorgHeiler, Oh I am sorry to hear that.
    – albert
    Sep 7, 2020 at 7:41

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .