这是原始问题:有没有办法将 13pt 用作回忆录文档类的主文档字体大小?
我需要一个回忆录中字体大小为 13pt 的文档,因为 12pt 太小,而 14pt 太大......
但是回忆录中没有 13pt 标准字体大小.....我第一次不熟练的尝试是包含该包\usepackage[fontsize=13pt]{scrextend}
......
但正如一些人在这里告诉我的那样...这可能会导致后续的后果,而且很难诊断和解决。不过,我正在编辑的书的作者非常喜欢上述软件包提供的字体大小...
作为第二次尝试,我创建了一个mem13.clo
文件,它基本上是用于回忆录的新字体大小 13pt......并且它包括 12pt 和 14pt 字体大小的平均值......已将其放入C:\Users\Adriano\AppData\Local\Programs\MiKTeX 2.9\tex\latex\memoir
。
这是代码:
%% This is file `mem13.clo', generated as a convex
%% combination of mem12.clo and mem14.clo
%%
%% This work may be distributed and/or modified under
%% the conditions of the LaTeX Project Public License,
%% either version 1.3 of this license or (at your
%% option) any later version.
%% The latest version of the license is in
%% http://www.latex-project.org/lppl.txt
%% and version 1.3 or later is part of all distributions
%% of LaTeX version 2003/06/01 or later.
%%
%% This work has the LPPL maintenance status "maintained".
%%
\ProvidesFile{mem13.clo}%
[2016/05/17 v0.01 memoir class 13pt size option]
\renewcommand{\normalsize}{%
\@setfontsize\normalsize{13.2}{16.0}%
\abovedisplayskip 13.2\p@ \@plus3\p@ \@minus7.5\p@
\abovedisplayshortskip \z@ \@plus3\p@
\belowdisplayshortskip 6.75\p@ \@plus3.5\p@ \@minus3\p@
\belowdisplayskip \abovedisplayskip
\let\@listi\@listI}
\normalsize
\newcommand{\small}{%
\@setfontsize\small\@xiipt{14.0}%
\abovedisplayskip 11.5\p@ \@plus3\p@ \@minus6\p@
\abovedisplayshortskip \z@ \@plus3\p@
\belowdisplayshortskip 6.5\p@ \@plus3.5\p@ \@minus3\p@
\def\@listi{\leftmargin\leftmargini
\topsep 10\p@ \@plus3.5\p@ \@minus5.5\p@
\parsep 5.25\p@ \@plus2.5\p@ \@minus\p@
\itemsep \parsep
%% \itemindent\z@
}%
\belowdisplayskip \abovedisplayskip
}
\newcommand{\footnotesize}{%
\@setfontsize\footnotesize\@xipt\@xiipt
\abovedisplayskip 10.5\p@ \@plus2.5\p@ \@minus5.5\p@
\abovedisplayshortskip \z@ \@plus3\p@
\belowdisplayshortskip 6.25\p@ \@plus3.25\p@ \@minus3\p@
\def\@listi{\leftmargin\leftmargini
\topsep 6.25\p@ \@plus2.75\p@ \@minus2.5\p@
\parsep 3.5\p@ \@plus2.5\p@ \@minus\p@
\itemsep \parsep
%% \itemindent\z@
}%
\belowdisplayskip \abovedisplayskip
}
\newcommand*{\miniscule}{\@setfontsize\miniscule\@viiipt{8.8}}
\newcommand*{\tiny}{\@setfontsize\tiny\@ixpt{10}}
\newcommand*{\scriptsize}{\@setfontsize\scriptsize\@xpt\@xipt}
\newcommand*{\large}{\@setfontsize\large{14.5}{20}}
\newcommand*{\Large}{\@setfontsize\Large{18.5}{23.5}}
\newcommand*{\LARGE}{\@setfontsize\LARGE{22}{27}}
\newcommand*{\huge}{\@setfontsize\huge{27}{33}}
\ifextrafontsizes
\newcommand*{\Huge}{\@setfontsize\Huge{33}{40}}
\newcommand*{\HUGE}{\@setfontsize\HUGE{40}{48}}
\else
\let\Huge=\huge
\let\HUGE=\huge
\fi
\setlength{\onelineskip}{16\p@}
\if@twocolumn
\setlength\parindent{1em}
\else
\setlength\parindent{1.5em}
\fi
\setlength\smallskipamount{3\p@ \@plus 1\p@ \@minus 1\p@}
\setlength\medskipamount{6\p@ \@plus 2\p@ \@minus 2\p@}
\setlength\bigskipamount{12\p@ \@plus 4\p@ \@minus 4\p@}
\setlength\headheight{16\p@}
\setlength\headsep{.3in}
\setlength\topskip{13.2\p@}
\setlength\footskip{33\p@}
\setlength\maxdepth{.5\topskip}
\setlength\@maxdepth\maxdepth
\setlength\footnotesep{9\p@}
\setlength{\skip\footins}{11.9\p@ \@plus 4\p@ \@minus 2\p@}
\setlength\floatsep {13.2\p@ \@plus 2\p@ \@minus 2\p@}
\setlength\textfloatsep{20\p@ \@plus 2\p@ \@minus 4\p@}
\setlength\intextsep {14\p@ \@plus 4\p@ \@minus 4\p@}
\setlength\dblfloatsep {14\p@ \@plus 2\p@ \@minus 4\p@}
\setlength\dbltextfloatsep{20\p@ \@plus 2\p@ \@minus 4\p@}
\setlength\@fptop{0\p@ \@plus 1fil}
\setlength\@fpsep{10\p@ \@plus 2fil}
\setlength\@fpbot{0\p@ \@plus 1fil}
\setlength\@dblfptop{0\p@ \@plus 1fil}
\setlength\@dblfpsep{10\p@ \@plus 2fil}
\setlength\@dblfpbot{0\p@ \@plus 1fil}
\setlength\lxvchars{372\p@} % standard 390pt
\setlength\xlvchars{264\p@} %
\if@twocolumn
\setlength\marginparsep{10\p@}
\else
\setlength\marginparsep{7\p@}
\fi
\setlength{\marginparpush}{7\p@}
\endinput
%%
%% End of file `mem13.clo'.
结果就是这样...
正如您所见...所谓的 13pt 比 12pt 要小...我的问题是...
有没有办法将字体大小设置为与包mem13.clo
中使用的字体大小相同\usepackage[fontsize=13pt]{scrextend}
?因为作者真的很喜欢这个字体大小,他愿意保持这种大小。
答案1
这有点令人困惑。请记住,类选项不是动态的,因此由于13pt
没有硬编码到类中,因此memoir
无法识别它。相反,我们需要使用提供的接口(回忆录手册中的第 3-4 页)。
首先,您需要将文件mem13.clo
放在 LaTeX 可以找到的地方。为了进行测试,最简单的方法是将其放在与.tex
文件相同的文件夹中。如果放在其他地方,那么正如 Mico 在评论中所说,您需要更新文件名数据库。
其次,我们需要使用*pt
选项来告诉memoir
使用用户定义的字体大小文件,该文件的名称必须在 BEFORE 之前声明\documentclass
,因为将其放在之后\documentclass
就太晚了(在加载时类可能会发出类似的宏\normalsize
或)。\normalfont
这有效:
\newcommand*{\anyptfilebase}{mem}
\newcommand*{\anyptsize}{13}
\documentclass[a4paper,*pt]{memoir}
\begin{document}
test
\end{document}
我mem13.clo
在当前目录中,在日志中我可以找到 tell-tell
(./mem13.clo)
表示它已加载。
是的,界面有点笨重,但这是因为我们需要在正确的时间由类加载 clo。此外,memoir
不支持key=value
类选项