如何将 Springer 的 svmono 类更改为使用 12pt 作为字体大小

如何将 Springer 的 svmono 类更改为使用 12pt 作为字体大小

我想更改 Springer 的 svmono 类,以便使用 12pt 作为字体大小。我一直在这个论坛(和其他论坛)中寻找答案,但没有找到答案。

答案1

svmono.cls有一些硬编码的设计选择;其中之一就是设置的使用10pt。访问12pt设置的一种方法是复制svmono.cls,将其mysvmono.cls重命名为 ,然后在副本中进行必要的更改。

要使用这些12pt设置,可以小心使用另一个类中使用的定义,例如articlesvmono构建于其上);必要的定义在文件中size12.clo(在 下.../text/latex/base)。

需要改变的线路是

% 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}%

应该替换为

% 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}%

以及以下部分% 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}}
%

应改为

% 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}}
%

这个新文件必须保存在本地 TDS 目录中,或者 TeX 可以找到的其他安全的地方。

提到修改的完整文件mysvmono.cls太长,无法直接放在这里。

答案2

您确定要这样做吗?Publisher 的类旨在提供特定的外观,而并非真正为选择字体等一般选项而设计。特别是在这种情况下,虽然可以强制底层类article加载 12pt 字体,但指定的所有标题和间距svmono都是固定点大小,不适应 12pt。

话虽如此,你可以这样做

\documentclass[my12pt]{svmono}

\begin{document}

a\showoutput
\end{document}

如果你创建一个svmy12pt.clo如下文件

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

然后上面的文件显示

...\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

确认正在使用 12pt。

答案3

这就是我所做的。

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

只需放大 pdf 输出,使其显示为 12pt,而无需更改文件.cls

相关内容