5

Edited version of question

I have to produce a series of documents that need to be printed without scaling. The target users are likely to have low-level computer skills and will overlook instructions like: When printing, choose Paper Handling > Page Scaling > None.

Can I get LaTeX to embed the relevant code directly into the pdf?


Original version of question

Using geometry.sty, I have specified the margin of this document to have two text blocks with the following offsets, in landscape:

  • left margin = 0.75 inches
  • space between text blocks = 1.5 inches
  • right margin = 0.75 inches

The paper size is 8.5 x 11 inches = US letter. Yet, when colleagues in the US print the document (single sided, or double sided with long-edge binding), the results are very variable:

  • p4-p1: left=1, mid=0.94, right=0.75

    p2-p3: left=0.69, mid=0.94, right=1.125 (inches)

  • p4-p1: left=0.63, mid=0.97, right=0.75

    p2-p3: left=0.69, mid=0.97, right=0.69 (inches)

  • on an old single sided printer:

    left=0.81, mid=0.94, right=0.81 (inches)

It looks like different viewers and/or printers are tampering with my dimensions. Is there some way to avoid this?

9
  • 3
    I think it would be helpful if you provided the actual code to do produce this document rather than describing it. And perhaps some info on the printers that were used. Without more details it is going to be difficult for others to help you with this. Oct 25, 2012 at 8:07
  • Regarding your note about your other profile on English Language & Usage: You should ask a moderator to merge your accounts, either by posting a question on TeX - LaTeX Meta or by flagging one of your posts for moderator attention and describing your situation there.
    – doncherry
    Oct 25, 2012 at 8:13
  • How are you sending the document to print? If you send it as a PDF it's very unlikely to be a TeX issue. If you send it as a TeX file then the issue is likely to be some error when the printshop compiles the file, which could be due to different package versions.
    – Jörg
    Oct 25, 2012 at 9:38
  • 2
    if printing from acrobat make sure the "page scaling` option is set to none otherwise it will scale the text to fit the page as it sees fit not respecting your margins. Oct 25, 2012 at 12:18
  • @DavidCarlisle One would hope that a professional print shop knows how to print a PDF ;-)
    – Jörg
    Oct 25, 2012 at 12:55

2 Answers 2

9

This is indeed a pernicious problem. Practically every LaTeX document I see printed around the Math department here has been shrunk to fit within some margins. So everything is shrunk, fonts are too small, and margins are too big. This is absurd, of course, since the margins are already quite large. Apparently this is just what everyone thinks LaTeX looks like!

According to Adobe Reader's help (quoted here), "A PDF can contain a set of print presets, a group of document-specific values that is used to set basic print options. By creating a print preset for a document, you can avoid manually setting certain options in the Print dialog box each time you print the document. It’s best to define print settings for a PDF at the time that you create it..."

This answer by Boris suggests that hyperref has the (not well documented) ability to do this. Add to your preamble:

\usepackage{hyperref}
\hypersetup{pdfprintscaling=None}

As Kurt Pfeifle notes, this only affects the default setting shown in the print dialog of compliant viewers, which can still be changed by the user. However, in the typical case you describe, people are likely to accept the defaults.

I can confirm that this works with hyperref 6.82g and Adobe Reader 9.5.5 on a Mac.

2
3

After having visited a variety of Abobe and related forums, the answer seems to be: no, you can't embed code in the pdf that will override all, or even most, printer's default settings :-(

0

You must log in to answer this question.

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