I've been trying to customize the tableofcontents and sections to my own liking in the amsart class, but a lot (if not all) of the packages for either of these two functions are incompatible with amsart. At the suggestion of a few here, I've decided to switch to the article class, which easily let me change them to my heart's content. However, I'm a huge fan of amsart's font sizes and headings, and I'd like to emulate that style in the article class. I've managed to mimic the headings using fancyhdr but I'm at a loss for emulating the font sizes.

Wikibooks here shows the specific differences in the font sizes between article and amsart. For the lazy

I was wondering how I could alter each of article's font sizes (e.g. \tiny to \Huge) to match the absolute point sizes of amsart's. Perhaps some type of \renewcommand{\tiny}{\fontsize{7.33325}} macro?


I have put the stuff for the font sizes of the class amsart in a separate package amssizes:

\ProvidesPackage{amssizes}[2012/09/11 v1.0 Font size stuff from class amsart]

  \count@\@currsizeindex \advance\count@#1\relax
  \ifnum\count@<\z@ \count@\z@ \else\ifnum\count@>12 \count@12 \fi\fi
  \bigskipamount.7\baselineskip plus.7\baselineskip
  \medskipamount\bigskipamount \divide\medskipamount\tw@
  \smallskipamount\medskipamount \divide\smallskipamount\tw@
  \belowdisplayskip \abovedisplayskip
  \advance\belowdisplayshortskip 1\smallskipamount
  \jot\baselineskip \divide\jot 4 \relax
\renewcommand\normalsize{\@xsetfontsize\normalsize 6%
  \@adjustvertspacing \let\@listi\@listI}
\DeclareRobustCommand{\Tiny}{\@xsetfontsize\Tiny 1}
\DeclareRobustCommand{\tiny}{\@xsetfontsize\tiny 2}
\DeclareRobustCommand{\SMALL}{\@xsetfontsize\SMALL 3}
\DeclareRobustCommand{\Small}{\@xsetfontsize\Small 4%
  \def\@listi{\topsep\smallskipamount \parsep\z@skip \itemsep\z@skip
    \labelwidth=\leftmargini \advance\labelwidth-\labelsep
\DeclareRobustCommand{\small}{\@xsetfontsize\small 5\@adjustvertspacing}
\DeclareRobustCommand{\large}{\@xsetfontsize\large 7\@adjustvertspacing}
\DeclareRobustCommand{\Large}{\@xsetfontsize\Large 8\@adjustvertspacing}
\DeclareRobustCommand{\LARGE}{\@xsetfontsize\LARGE 9}

    \or{10}{12}% normalsize
    \or{\@xipt}{13}% normalsize
    \or{\@xiipt}{14}% normalsize
    \or{8}{10}% normalsize
    \or{9}{11}% normalsize

The package sets the sizes for the standard size commands. Additionally:

  • Macros \larger and \smaller are available.

  • Size command \Tiny is added to the standard commands.

  • The different font sizes are:

    • \Tiny
    • \tiny
    • \SMALL (\scriptsize)
    • \small (\footnotesize)
    • \normalsize
    • \large
    • \Large
    • \LARGE
    • \huge
    • \Huge

\sriptsize and \footnotesize are defined as \SMALL and \small. That allows an easy redefinition of the size.





  \texttt{\textbackslash #1} &
    \csname #1\endcsname
  \f@size pt\\
\texttt{\textbackslash @mainsize} & \texttt{\@mainsize}pt \\


Font sizes for 11pt

  • Thanks for the help! Is there a difference between using amssizes as a package and use it as a .tex file for \input? (enclosing the document with \makeatletter, etc. of course) I'd like the option of sharing my document with others without the hassle of forcing them to install a new package; a lone .tex file which is already \input'd into the preamble would be simpler. Sep 11 '12 at 19:02
  • \usepackage supports global and local options. The size options are important here. The 11pt can also be given as global option here. Also there is no difference in installing a .tex or .sty file. They can both put in the current directory or installed in a TDS/texmf tree (below TDS:tex/latex/). Sep 11 '12 at 19:17

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.