当我更改字体时字体大小也会改变吗?

当我更改字体时字体大小也会改变吗?

我目前使用的是\documentclass[12pt,oneside]{article},所以是 12pt 大小。但是,我决定使用

\usepackage{helvet}
\renewcommand{\familydefault}{\sfdefault}

字体突然变大了(虽然不确定具体多大,但我会附上图片以供比较。同样的分辨率,同样的章节大小,但正文明显变大了)。所以我的问题是,我该如何避免这种情况?

[ 在此处输入图片描述] [ 在此处输入图片描述]

答案1

Computer Modern-- 我所熟悉的所有 TeX 系统的默认 (serif) 字体 -- 并且Helvetica在几个类别中存在很大差异。其中包括 x 高度、上升高度、笔画粗细和紧凑度/浓缩度。

我从您的帖子中得知,您想要使两种字体的 x 高度相等。为此,请使用helvet选项加载包scaled=0.835。(我根据经验得出了 0.835 这个值。)

在此处输入图片描述

\documentclass[12pt,oneside]{article}

% scaled=0.835 to equate x-heights of Computer Modern and Helvetica
% scaled=0.935 to equate ascender heights of Computer Modern and Helvetica
\usepackage[scaled=0.835]{helvet} 
%%\renewcommand{\familydefault}{\sfdefault}

\begin{document}
xxx\textsf{xxx}xxx

Lorem ipsum dolor sit \textsf{Lorem ipsum dolor sit}

\end{document}

答案2

准备以下输入文件:

\documentclass[12pt]{article}

\usepackage{helvet}

\begin{document}

\newlength{\cmheight}
\newlength{\helvheight}

\settoheight\cmheight{x}
\settoheight\helvheight{\sffamily x}

\fpeval{round(\cmheight/\helvheight,5)}

\settoheight\cmheight{A}
\settoheight\helvheight{\sffamily A}

\fpeval{round(\cmheight/\helvheight,5)}

\end{document}

\usepackage{xfp}如果您没有运行最新的 LaTeX 版本,则可能需要此版本。

运行 LaTeX 后,你将获得

0.8272
0.9458

这些是您可能需要的两种情况的比例因子:在第一种情况下,Helvetica 的 x 高度将与 Computer Modern 相同;在第二种情况下,大写字母的高度将相同。

确实,Helvetica 中的 x 高度和大写字母高度的比例与 Computer Modern 不同。

现在让我们做几个实验。

第一个实验:相同的 x 高度

\documentclass[12pt]{article}

\usepackage[scaled=0.8272]{helvet}

\begin{document}

Abcdef\textsf{Abcdef}

x\textsf{x}

\end{document}

在此处输入图片描述

第二个实验:大写字母高度相同

\documentclass[12pt]{article}

\usepackage[scaled=0.9458]{helvet}

\begin{document}

Abcdef\textsf{Abcdef}

x\textsf{x}

\end{document}

在此处输入图片描述

结论

如果您想要 Helvetica 格式的整个文档,请在两个给定的界限之间决定您认为合适的缩放比例。

我可能会选择 0.94

相关内容