0% found this document useful (0 votes)
66 views5 pages

Decimal PDF

The decimal package provides functionality for typesetting the English-style raised decimal point in LaTeX documents. It makes the period (.) active in math mode to produce a raised dot, and redefines the \. command so that it produces a full stop in math mode but retains its usual function in text mode. This allows accurate reproduction of historical documents that used the traditional English typographical convention of a raised decimal point. The package is included in most TeX distributions and can be loaded with the \usepackage command.

Uploaded by

Flor B. Cabangon
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
66 views5 pages

Decimal PDF

The decimal package provides functionality for typesetting the English-style raised decimal point in LaTeX documents. It makes the period (.) active in math mode to produce a raised dot, and redefines the \. command so that it produces a full stop in math mode but retains its usual function in text mode. This allows accurate reproduction of historical documents that used the traditional English typographical convention of a raised decimal point. The package is included in most TeX distributions and can be loaded with the \usepackage command.

Uploaded by

Flor B. Cabangon
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 5

The ‘decimal’ package

(version 1·1)

A. Syropoulos ∗ and R. W. D. Nickalls †


June 1, 2011

Abstract
In traditional English typography the decimal point is printed as a raised dot.
The decimal package provides this functionality by making the full point,
or period ( . ) active in maths mode, and implementing the \cdot character
instead. In addition, the command \. is redefined in such a way that that
it produces a full point in math mode, but retains its usual functionality in
text mode.

1 Introduction
The decimal point (decimal separator) is variously implemented as a comma
(European), a full point (North American), or as a raised full point (English). While
the comma and full point have always been supported in electronic typesetting,
the English raised decimal point has been somewhat overlooked—until now. For a
nice history of the decimal fraction see the chapter on The invention of decimal
fractions and of logarithms in Scott1 (1960).

2 Typography
In Great Britain until about 1970 or so the decimal separator was typically imple-
mented as a raised dot (middle dot). For example, when currency decimalisation
was introduced in the UK in 1971, the recommended way of writing currency was
with a raised dot, as in £ 21·34. However, since then there has been a gradual
decline in the use of the raised point most probably owing to the fact that this glyph
was not generally available on electronic typewriters or computer wordprocessors.
While the raised dot does make occasional appearances in British newspapers, it
is, unfortunately, seldom seen nowadays even in British scientific journals.
∗ GreekTEX Friends, Xanthi, Greece. email: [email protected]
† (retired),
c/o Department of Anaesthesia, Nottingham University Hospitals, City Hospital
Campus, Nottingham, UK. email: [email protected] web: www.nickalls.org
1 Scott JF (1960). A history of mathematics (Taylor & Francis, London), pp 266.

1
A Syropoulos & RWD Nickalls The decimal package 2

This decline was highlighted relatively recently when the UK journal Nature
reprinted some 1953 articles as part of the 50th anniversary of the discovery of
the double helix. For example, one of the reprinted articles (Nature 2003; 421,
400–401) states that Franklin and Gosling2 mentioned the “. . . very strong reflexion
at 3·4 A . . . ”. Ironically, if this sentence were published in a journal in Britain
today the Ångström symbol would probably be typeset correctly but the decimal
point would most likely appear in the American ‘full point’ style as 3.4 Å.
The most pleasing position of the raised decimal point is level with the center
of the ‘equals’ sign, as shown by the expression x = 0·3456, and this is what the
decimal package implements. However, in old texts the practice was to place the
full point rather higher, as in 25.345. While this is a bit too high for visual comfort
nowadays, the reason for the original high position lies in the name used by metal
type-setters for the decimal point, namely a ‘turned’ full point, as mentioned in
the following extract from an 80 year-old Authors’ & Printers’ Dictionary.3
decimal fractions, no decimal can be plural, or take
verb in pl., however many figures it contains; (typ.)
print in figures. The decimal point in all cases to be
a full point turned.
But what is meant by a full point ‘turned’ ? The clue comes from the ‘turned
commas’ entry in the same dictionary, as follows.
turned commas (typ.), those used at the commence-
ment of a quotation, as these “, two apostrophes
being at the end.
If we use a turned comma to show the location a full point would occupy if ‘turned’
in the same way, we can see that the position is somewhat high, as in the decimal
fraction 2‘6. Swapping the turned comma for a similarly turned full point we
obtain 2.6, which shows the decimal point in essentially the position we observe
in older texts. All is now clear—by simply turning the metal block of the full
point through 180 deg the typesetter had access to a practical decimal point, albeit
slightly on the high side.

3 Usage
First load the decimal package (after the mathpazo and hyperref packages—see
Bugs section) using the preamble command
\usepackage{decimal}

2 RWD Nickalls says that he was drawn to this particular series of articles since he spent a year

as a student of Ray Gosling in the then Physics Department at Guy’s Hospital Medical School,
London, in the 1960s.
3 Collins H (1921). Authors’ & Printers’ Dictionary: a guide for authors, editors, printers,

correctors of the press, compositors, and typists. With a full list of abbreviations. An attempt to
codify the best typographical practices of the present day. (pub: Humphrey Milford, London).
A Syropoulos & RWD Nickalls The decimal package 3

The decimal package will now operate globally to implement the English decimal
point wherever one types a fullpoint in math mode. For example the value 123·456 is
obtained by typing $123.456$. The correct positioning of the decimal is preserved
even when the smaller mathmode fonts are used, as shown in the following two
examples.
2·6
s
23·5621·23 j = ax2 + bx + c + cos(3π/4 + θ)
| {z }
−3·78

On those occasions when a true full point is required in math mode (e.g. at the
end of a series of equations) then this is implemented by typing \. For example

y = ax2 + bx + c.

is obtained by typing $y = ax^2 + bx +c\.$


Note: It is important to appreciate that there are mathmode commands which
include a full point as an integral part of the command, and in these cases one
must, of course, not use the \. command. A common situation where this arises is
in the typesetting of unbalanced vertical braces, in which case a full point is used
by one of the commands (\right.) to represent the absent brace. For example,
the structure 
x = −b/6
y = (4ac − b2 )/7
is typeset by the following code
\[
\left\{
\begin{array}{l}
\displaystyle x = -b/6 \\
\displaystyle y = (4ac - b^2)/7
\end{array}
\right.
\]

which uses the command \right. to balance the left brace command \left\{
before the array. Since the full point is part of the command there is no need to
use the \. command.
If we now add some punctuation to the above structure, say, a comma termi-
nating the first line and a full point to terminate the second line as follows,

x = −b/6,
y = (4ac − b2 )/3.

then we add the full point using the command \. as shown in the following code.
A Syropoulos & RWD Nickalls The decimal package 4

\[
\left\{
\begin{array}{l}
\displaystyle x = -b/6, \\
\displaystyle y = (4ac - b^2)/7\.
\end{array}
\right.
\]

Outside mathmode the command \. performs its usual function of placing a


dot above a character, for example the command \.{a} generates the ȧ character.

4 Installing the decimal package


The decimal package is included in the TEXLive distribution, and is likely to be
already installed if you have a fairly complete recent TEXLive installation. The
decimal package consists of the following files
decimal.ins
decimal.dtx
decimal.pdf (this file)
decimal.sty

Placing the files


• decimal.sty TEXLive typically places decimal.sty in the following direc-
tory
/usr/local/texlive/2010/texmf-dist/tex/latex/decimal/decimal.sty
Alternatively, one could place it in the user’s /texmf-local/ directory, for
example, something like
/usr/local/texlive/texmf-local/tex/latex/local/decimal/decimal.sty
which has the merit of not being overwritten by TEXLive.
• decimal.pdf
TEXLive typically places decimal.pdf in the /doc/ directory, for example
/usr/local/texlive/2010/texmf-dist/doc/latex/decimal/
Using this directory has the great advantage that the texdoc utility will then
display the pdf when you type the command htexdoc decimali.
Once the files have been placed, then update the TEX file database. On a Linux
system this is done by running the htexhashi command (as root).

5 Known bugs
Problems with the mathpazo and hyperref packages
We know of only two package-interaction problems as follows. The mathspazo
package effectively neutralises a previously loaded decimal package. If the decimal
A Syropoulos & RWD Nickalls The decimal package 5

package is loaded before the hyperref package, then LATEX fails, throwing out
multiple maths-related error messages
The work-around is simply to install the decimal package after these two
packages.

6 Version history
• May 2, 2005 — version 1·1
• July 12, 2003 — first release (version 1·0)

7 The Implementation
The code of the package is quite simple. Initially, we introduce a new command
which has the functionality of the \. command. Then we redefine the \. command
so that it produces a dot in math mode, while it retains its original functionality
in text mode.
1 h∗decimali
2 \let\peri@d\.
3 \def\.{\ifmmode\mbox{.}\else\expandafter\peri@d\fi}

One thing we need to do is to define a new math command which will yield a
\cdot without any leading or trailing white space.
4 \DeclareMathSymbol{\cd@t}{\mathord}{symbols}{"01}
Now, we are ready to change the mathcode of the period so that it produces the
desired result in math mode. Note that this “trick” is documented in the TEXbook
and in the book “Digital Typography Using LATEX,” Springer-Verlag New York,
ISBN 0-387-95217-9, 2003.
5 \mathcode‘\.="8000
6 {\catcode‘\.=\active%
7 \gdef.{\cd@t} }
8 h/decimali

You might also like