17

Introduction

TeX point (1 pt in TeX) equals 1/72.27 in (= 2540/7227 mm ≈ 0.35145980351 mm). Quoting part of Traditional American point system section from Wikipedia's Point (typography) entry:

In 1886, the Fifteenth Meeting of the Type Founders Association of the United States approved the so-called Johnson pica be adopted as the official standard. This makes the traditional American printer’s foot measure 11.952 inches (303.6 mm), or 303.5808 mm exactly, giving a point size of approximately 1⁄72.27 of an inch, or 0.3515 mm.

This is the size of the point in the TeX computer typesetting system by Donald Knuth, which predates PostScript slightly. Thus the latter unit is sometimes called the TeX point.

PostScript point (1 bp in TeX) equals 1/72 in (= 127/360 mm = 0.352(7) mm). It is commonly used unit in DTP nowadays.

Didot point (1 dd in TeX, where it equals 1238/1157pt = 3144520/8361639 mm ≈ 0.37606502744 mm) is other unit that AFAIK doesn't have one (used everywhere) definition. Historically it is 1/864 of pied de roi (the king's foot; French Royal foot, defined in 1799 as 9000/27706 m), i.e. 125/332472 m = 15625/41559 mm (= 3^(-1)×5^6×7^(-1)×1979^(-1) mm), but in practice becoming 0.3759715104 mm (i.e. slightly more). Other definitions:

  • 1/72 of a French Royal inch (27.07 mm) = 2707/7200 mm = 0.37597(2) mm,
  • definition used by Hermann Berthold and others: 0.376 mm,
  • defined in 1879: 1/2660 m = 0.(375939849624060150) mm,
  • German Didot point defined in 1954: 0.376065 mm,
  • defined in 1973 by EU: 3/8 mm = 0.375 mm.

Beyond points there are:

  • pica (1 pc in TeX, where it equals 12pt) = 1/72 ft = 1/6 in = 12 points,
  • cicero (1 cc in TeX, where it equals 12dd), also called French pica = 1/72 FRft = 1/6 FRin = 12 Didot points,
  • and other point-related units, thankfully not available in TeX.

As you can see, subject of measurement in typography is not that easy. I only tried to give some basic information.

Question

Is it possible to redefine globally in TeX basic units of measure like pt (e.g. as 1/72in) and dd (e.g. as 0.376mm)? If yes, can you show how and explain why such fixes are (usually?) not performed in Europe? Maybe they deserve their own package?

Supplementary question

Where is pt (and other units available in TeX) hardcoded within TeX or other parts of TeX toolchain?

(I tried to quickly grep \<pt\> in svn://tug.org/texlive/trunk/Build/source/texk/web2c, but somehow did not recognized sought part in results.)

7
  • units is a wrong tag here (cannot create one myself), it should be new one: units-of-measure, that could be applied also to What are the various units (ex, in, pt, etc.) expressed in mm? for instance.
    – przemoc
    Commented Jun 28, 2011 at 1:01
  • BTW You can perform basic unit conversions using calculator built-in in Google Search. There are TeX point, PS point and Didot point (defined as 1/72 FRin = 2707/7200 mm) too!
    – przemoc
    Commented Jun 28, 2011 at 1:04
  • Added supplementary question, which is related here.
    – przemoc
    Commented Jun 28, 2011 at 7:30
  • I would say it is pretty hardcoded, not just as one single constant, but probably also as part of other values which depend on the 72.27 value. If you plan to modify TeX and recompile it by yourself: Good Look! Commented Jun 28, 2011 at 8:05
  • 1
    Extra note: I would not call the change of 'pt' to mean 'bp' a 'fix'. It is more a question of: do we want to conform to an actual typesetting standard, or to Adobe's simplification thereof. Commented Jun 28, 2011 at 9:55

2 Answers 2

17

The answer is simply: no, you cannot change the meaning of pt, dd, et cetera.

The only unit you can change is the pdftex extension unit px, which can be altered by setting \pdfpxdimen.

The supplementary question: TeX actually calculates in units of 1/65536 'pt'. As a result, the distance pt is never explicitly defined as a physical unit until it is implicitly converted into one at the final output stage. In DVI (either original TeX or pdftex/xetex/luatex in DVI mode), this is not easy to change at all, because the code assumes a one-on-one relationship between its own units and the DVI units.

In pdftex's PDF mode it is somewhat easier because a correction is needed there anyway. You should look at the functions divide_scaled() and round_xn_over_d(), but (of course) you will not need them where they are now, and on the other hand you may need the inverse of those functions in places where they are now not. All in all, this sounds like a mad undertaking to me.

The other units are quite a lot easier: all are declared relative to pt. Search for set_conversion in tex.web, and by adjusting the fractions that are specified there, you can change their behaviour throughout.

1
  • 1
    Thank you for your answer and especially for interesting details about TeX and its tool-chain internals regarding pt.
    – przemoc
    Commented Jun 28, 2011 at 10:11
3

You can use scale factor 72.27/72 in the beginning of your main file.

\mag = 1004
1
  • 4
    Interesting idea, but then you have to remember to add true into various settings, otherwise you are possibly scaling everything including the page size (and you still get a tiny bit of deviation, since 1004*72 = 72.288, not exactly 72.27). Commented Jun 28, 2011 at 11:09

You must log in to answer this question.

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