使用 fontspec 时更改默认字体大小

使用 fontspec 时更改默认字体大小

我想将主字体大小(即,所有非标题或具有明确字体大小的其他文本)设置为特定字体大小,在本例中为9.5pt

我无法使用默认的软件包选项。我也无法\fontsize{9.5pt}{9.5pt}\selectfont在文档开头使用,因为 latex (xelatex 3.1415926-2.4-0.9998 (MiKTeX 2.9)) 选择了除设置的字体之外的其他字体\setmainfont

有什么简单的方法可以设置默认字体大小,类似于\setmainfontfontspec 的命令?

我没有关于 fontspec 的版本信息。

答案1

我看不出缩放主字体有什么问题:

\documentclass{article}
\usepackage{fontspec}
\setmainfont[Ligatures=TeX,Scale=0.95]{Linux Libertine O}

\usepackage{blindtext}

\linespread{0.95833} % 11.5/12

\begin{document}
\blinddocument
\end{document}

\Large将获得 13.4pt 而不是 14pt;这似乎没有太大区别(而且我认为它甚至更好)。\Huge字体将是 24pt 而不是 25pt。

在此处输入图片描述

这可以通过适当的\DeclareMathSizes命令进行补充,其中最后三个参数按 95% 缩放:

\DeclareMathSizes{5}{4.75}{4.75}{4.75}
\DeclareMathSizes{6}{5.7}{4.75}{4.75}
\DeclareMathSizes{7}{6.65}{4.75}{4.75}
\DeclareMathSizes{8}{7.6}{5.7}{4.75}
\DeclareMathSizes{9}{8.55}{5.7}{4.75}
\DeclareMathSizes{\@xpt}{9.5}{6.65}{4.75}
\DeclareMathSizes{\@xipt}{10.4}{7.6}{5.7}
\DeclareMathSizes{\@xiipt}{11.4}{7.6}{5.7}
\DeclareMathSizes{\@xivpt}{13.68}{9.5}{6.65}
\DeclareMathSizes{\@xviipt}{16.42}{11.4}{9.5}
\DeclareMathSizes{\@xxpt}{19.7}{13.68}{11.4}
\DeclareMathSizes{\@xxvpt}{23.64}{19.7}{16.42}

答案2

不幸的是,做到这一点的唯一方法(也许不使用 KOMA 包)是重新定义\normalsize

\makeatletter
\renewcommand\normalsize{%
\@setfontsize\normalsize{9.5pt}{11.5pt}% Will look incredibly crabbed if line height is too small
\abovedisplayskip 10\p@ \@plus2\p@ \@minus5\p@%
\abovedisplayshortskip \z@ \@plus2\p@%
\belowdisplayshortskip 5\p@ \@plus2\p@ \@minus3\p@%
\belowdisplayskip \abovedisplayskip%
\let\@listi\@listI%
}
\normalsize  
\makeatother

代码改编自:http://wiki.lyx.org/FAQ/ChangeFontUsingLatex

答案3

如果你有能力使用不同的类别,那么 Koma-Script 类别将在尺寸方面给你更多的灵活性:

\documentclass[fontsize=11.5pt]{scrartcl}

这样做的额外好处是它适用于文档中的所有字体(tt 等),而不需要单独缩放。

相关内容