# How to change the svmono class of Springer to use 12pt as font size

I want to change the svmono class of Springer in order to use 12pt as font size. I've been looking for in this foro (and others), but the answers didn't work.

svmono.cls has some hard-coded design choices; one of them is the use of 10pt settings. One way to acces 12pt settings is to make a copy of svmono.cls, rename it as mysvmono.cls, for example, and make the necessary changes in the copy.

To use the 12pt settings one can carefully use the definitions used in another class, for example article (which svmono is built upon); the necessary definitions are in the file size12.clo (under .../text/latex/base).

The lines that will need a change are

% no size changing allowed
\DeclareOption{11pt}{\OptionNotUsed}
\DeclareOption{12pt}{\OptionNotUsed}
% options for the article class
\def\@rticle@options{10pt,twoside}
% fleqn
\DeclareOption{fleqn}{\def\@rticle@options{10pt,twoside,fleqn}%


which should be replaced with

% no size changing allowed
%\DeclareOption{11pt}{\OptionNotUsed}
%\DeclareOption{12pt}{\OptionNotUsed}
% options for the article class
\def\@rticle@options{12pt,twoside}
% fleqn
\DeclareOption{fleqn}{\def\@rticle@options{12pt,twoside,fleqn}%


And the section under % fonts, sizes, and the like:

% fonts, sizes, and the like
\renewcommand\normalsize{%
\@setfontsize\normalsize\@xpt\@xiipt
\abovedisplayskip 10\p@ % \@plus2\p@ \@minus5\p@
\abovedisplayshortskip \z@ % \@plus3\p@
\belowdisplayshortskip 6\p@ %\@plus3\p@ \@minus3\p@
\belowdisplayskip \abovedisplayskip
\let\@listi\@listI}
\normalsize
\renewcommand\small{%
\@setfontsize\small{8.5}{10}%
\abovedisplayskip 8.5\p@ % \@plus3\p@ \@minus4\p@
\abovedisplayshortskip \z@ %\@plus2\p@
\belowdisplayshortskip 4\p@ %\@plus2\p@ \@minus2\p@
\def\@listi{\leftmargin\leftmargini
\parsep \z@ \@plus\p@ \@minus\p@
\topsep 6\p@ \@plus2\p@ \@minus4\p@
\itemsep\z@}%
\belowdisplayskip \abovedisplayskip
}
%
\let\footnotesize=\small
%
\renewcommand\Large{\@setfontsize\large{14}{16}}
\newcommand\LArge{\@setfontsize\Large{16}{18}}
\renewcommand\LARGE{\@setfontsize\LARGE{18}{20}}
%


which should be changed to

% fonts, sizes, and the like
% change to 12pt (GM: several lines)----start
\renewcommand\normalsize{%
\@setfontsize\normalsize\@xiipt{14.5}%
\abovedisplayskip 12\p@ \@plus3\p@ \@minus7\p@
\abovedisplayshortskip \z@ \@plus3\p@
\belowdisplayshortskip 6.5\p@ \@plus3.5\p@ \@minus3\p@
\belowdisplayskip \abovedisplayskip
\let\@listi\@listI}
\normalsize
\renewcommand\small{%
\@setfontsize\small\@xipt{13.6}%
\abovedisplayskip 11\p@ \@plus3\p@ \@minus6\p@
\abovedisplayshortskip \z@ \@plus3\p@
\belowdisplayshortskip 6.5\p@ \@plus3.5\p@ \@minus3\p@
\def\@listi{\leftmargin\leftmargini
\topsep 9\p@ \@plus3\p@ \@minus5\p@
\parsep 4.5\p@ \@plus2\p@ \@minus\p@
\itemsep \parsep}%
\belowdisplayskip \abovedisplayskip
}
\renewcommand\footnotesize{%
\@setfontsize\footnotesize\@xpt\@xiipt
\abovedisplayskip 10\p@ \@plus2\p@ \@minus5\p@
\abovedisplayshortskip \z@ \@plus3\p@
\belowdisplayshortskip 6\p@ \@plus3\p@ \@minus3\p@
\def\@listi{\leftmargin\leftmargini
\topsep 6\p@ \@plus2\p@ \@minus2\p@
\parsep 3\p@ \@plus2\p@ \@minus\p@
\itemsep \parsep}%
\belowdisplayskip \abovedisplayskip
}
\renewcommand\scriptsize{\@setfontsize\scriptsize\@viiipt{9.5}}
\renewcommand\tiny{\@setfontsize\tiny\@vipt\@viipt}
\renewcommand\large{\@setfontsize\large\@xivpt{18}}
\renewcommand\Large{\@setfontsize\Large\@xviipt{22}}
\renewcommand\LARGE{\@setfontsize\LARGE\@xxpt{25}}
\renewcommand\huge{\@setfontsize\huge\@xxvpt{30}}
\let\Huge=\huge
\newcommand\LArge{\@setfontsize\Large{18}{23.5}}
%


This new file must be saved in the local TDS directory, or somewhere else safe where TeX can find it.

The complete file mysvmono.cls with the modifications mentioned was too long to put it here directly.

• Gonzalo, do you know if there are some updates in this procedure? I mean, some easier way to change font size therein? – Sigur Jan 21 at 18:14

Are you sure you want that? Publisher's classes are designed to give a specific look and are not really designed for general options like choosing fonts. In particular in this case while it is possible to force the underlying article class to load 12pt fonts, all the headings and spacing specified in svmono are at fixed point sizes and do not adapt to 12pt.

Having said that you can do

\documentclass[my12pt]{svmono}

\begin{document}

a\showoutput
\end{document}


if you make a file svmy12pt.clo that looks like

\def\@rticle@options{12pt,twoside}


then the above document shows

...\hbox(5.16667+0.0)x336.0, glue set 315.12506fil
....\hbox(0.0+0.0)x15.0
....\OT1/cmr/m/n/12 a
....\penalty 10000
....\glue(\parfillskip) 0.0 plus 1.0fil
....\glue(\rightskip) 0.0


confirming 12pt is being used.

This is what I've done.

%%overrides svmono font settings and makes font appear larger
\mag1200
%%overrides svmono font settings and makes font appear larger
\documentclass{svmono}


Simply magnifies the pdf output so it appears 12pt without having to change the .cls file at all.

• previous post did not keep line returns. \mag1200 should be on a line by itself. R – Rachel Cohen Mar 4 at 20:50