# What does \p@ mean in some code?

I have found the source code within octavo.dtx (from the octavo package) and it has some parts called \p@. I have searched throughout the document, but cannot understand what this is defined as or what it does and it is too short a term to do a Web search. Is this specific to the document or common to TeX? Here is a portion of the code:

\if@titlepage

\newcommand\maketitle{\begin{titlepage}%

\let\footnotesize\small

\let\footnoterule\relax

\let\footnote\thanks

%    \end{macrocode}

%    The title itself is centered vertically, with a little offset brought by

%    a |\vskip|.

%    \begin{macrocode}

\null\vfil

\vskip 60\p@

%    \end{macrocode}

• What does the \p@ do?
-
This is also explained in the macros2e document mentioned and linked by my answer to the related Documentation reference for LaTeX internal commands? question. – Martin Scharrer Dec 18 '11 at 10:32

This is abbreviated notation for a 1pt dimension, as included in latex.ltx and therefore common to all LaTeX documents:

\newdimen\p@ \p@=1pt % this saves macro space and time
\newdimen\z@ \z@=0pt % can be used both for 0pt and 0


As such, you can use it in calculation with dimensions, such that 60\p@ translates to 60 times 1pt, or 60pt. In a similar fashion, \z@ provides a 0pt dimension.

Using

\makeatletter
\show\p@
\makeatother


yields

\p@=\dimen11


indicating that it is a TeX dimension (number 11). Consequently, issuing \showthe\p@ yields 1.0pt in your .log.

-
Perhaps it should be added that these shorthands are from the days when space and speed was much more limited than it is today and using them gives some tiny advantage in both dimensions. However, these days I would recomment for newly designed class files to use explicit dimensions for better readability. – Frank Mittelbach Dec 18 '11 at 8:37
@FrankMittelbach: Welcome to TeX.SX, Frank! What took you so long? :) Yes, it shows the longevity of the code. – Werner Dec 18 '11 at 15:23
simply the fact that my day has only 24 hours and no posting ever told me how to double it - if you know the answer to THAT then ... – Frank Mittelbach Dec 18 '11 at 18:31