So IEEE wants PDFs that appear on IEEExplore to have two properties:
- all fonts are embedded
- the compatibility level is 1.4
Seems simple, right? Except that their instructions for PDF Express are for those who use Adobe Distiller, which I don’t have. You’d think there would be a simple workaround, but no…
This post suggests using ps2pdf
command line options, which works if all of your figures are in EPS, but not if you have PDF or JPG figures. Daniel Lemire suggests converting the PDF to PS and then back to PDF.
That didn’t really work for me — I alternately got errors saying they wanted Adobe version 5 or higher (corresponding to compatibility level 1.4) or that fonts were not embedded. I blame Mac OS. On the 10th attempt at uploading, I finally got it to work. Here’s what I did:
- Generate the PDF however you like (command line or TeXShop)
- Open the PDF in Preview, duplicate, and save a copy. This will embed the fonts but make the PDF version 1.3 or something. Say the file is called
copy.pdf
. - In a terminal, run
pdf2ps copy.pdf
to generate copy.ps. This will create a PS file with the fonts embedded. - Run
pdf2ps14 -dEmbedAllFonts=true copy.ps
to generate a new version ofcopy.pdf
that is both 1.4 and has fonts.
This is dumb. I wasted about an hour on this idiocy and still don’t understand why it’s such a pain. It seems that on a Mac, dvips
does not embed fonts properly by default, and pdflatex
also cuts corners. Furthermore, it doesn’t seem like one can pass command line options (and make them default in TexShop) to automate this process.
I am sure there are better ways of doing this, but for the time being, this at least works.
pdflatex will embed fonts. You can use \pdfminorversion=4 to set the PDF version to 1.4. You can run pdffonts on the pdf to check that your fonts are embedded and subset.
You shouldn’t need to convert anything to postscript.
I guess my issue was that I couldn’t figure out that option because I’m not a LaTeX master as you are. But this is good to know!
Oh, it occurs to me that TeX Live has setting for whether or not the standard fonts should be embedded.
sudo updmap-sys –setoption pdftexDownloadBase14=true
There’s an analogous option dvipsDownloadBase35.
I’d second Steve’s suggestion of using pdflatex—even if your document contains eps figure! Pdflatex converts e[s figures to pdf on the fly.
Is that by default? I’ve had it two issues before : one where it messes up bounding boxes on my eps figures, and one where it just refused to convert and threw an error every time the included file was .eps. Perhaps it’s because I omit the extension in my \includegraphics commands? In any case, the default behavior of pdflatex was not doing it.
I’m a miktex on a pc person, but I need to use the epstopdf package for on the fly conversion. It does seem to work fine and preserve bounding boxes how ever it ight secretly be doing the conversion. I also omit extensions in \includegraphics.
It is the default in TeXLive 2011, at least. I tried with the following minimal example (where the current directory has image.eps file)
This loads
/usr/share/texmf-dist/tex/latex/latexconfig/epstopdf-sys.cfg
, which in turn calls repstopdf (a restricted version of epstopdf that is part of texlive package), which in turn creates “image-eps-converted-to.pdf” file and loads it.I don’t know about setting the font version. But on a mac, if you open your PDF in preview and then explicitly save it again, it’s saved with fonts embedded.
Right, that’s my hack to include fonts (which worked in the past) but somehow it would then also save it to 1.3, which PDFexpress choked on.
Pingback: Preparing PDF files for IEEE eXpress on Mac | Dr. Chi-Sheng Shih's Web Site