如何在不改变字体的情况下缩放 fontspec 中的字体?

如何在不改变字体的情况下缩放 fontspec 中的字体?

我正在尝试更改文档中的默认字体大小。我正在使用fontspecXeLaTeX 中的包。这似乎可以使用来实现\defaultfontfeatures{Scale=2.5},但这只有在我添加命令后才会生效\setmainfont{...}。问题是我不想更改主字体。如何在不明确选择字体的情况下缩放字体?有趣的是,即使常规文本没有显示,我的文档的数学模式部分也会显示为缩放。我假设包unicode-math必须在这之后选择字体,但这并不明确。任何有关这方面的建议都将不胜感激。

\documentclass{article}

\usepackage{fontspec}
\usepackage{unicode-math}
\defaultfontfeatures{Scale=2.5}
\linespread{3}
%\setmainfont{...} %%Putting the name of a font in this command makes it do what I want, but I don't want to specify a font.

\begin{document}

A physical dipole has a separation $\symbf{d}$ between two charges $\pm q$ and a dipole moment $\symbf{p}$:
$$\symbf{p}\equiv q\symbf{d}$$

\end{document}

答案1

\renewcommand{\normalsize}{\fontsize{42}{46}\selectfont}在序言中:在此处输入图片描述

希望这就是你想要的

答案2

不确定这是否正是您想要的,但由于类参数,这些Koma-Script类允许您选择您喜欢的任何(绝对)字体大小。例如,对于它们的类(相当于通常的类):fontsizescrartclarticle

\documentclass[fontsize=25pt]{scrartcl}

\usepackage{fontspec}
\usepackage{unicode-math}
%\defaultfontfeatures{Scale=2.5}
\linespread{3}
%\setmainfont{...} %%Putting the name of a font in this command makes it do what I want, but I don't want to specify a font.

\begin{document}

A physical dipole has a separation $\symbf{d}$ between two charges $\pm q$ and a dipole moment $\symbf{p}$:
\[\symbf{p}\equiv q\symbf{d}\]

\end{document}

在此处输入图片描述

答案3

一种普遍适用的方法(不涉及数学)是以setmainfont不改变任何东西的方式使用。似乎\setmainfont设置了某种标志,需要被看到\addfontfeatures。以下 MWE 在 XeLaTeX 和 LuaLaTeX 中有效。它用于\setmainfont回显此时您的默认字体;如果您没有选择,它会回显 Latin Modern Roman,即标准默认值:

\documentclass{article}
\usepackage{fontspec}
\defaultfontfeatures{Scale=2.5}
\usepackage{xifthen}
\usepackage{ifxetex}
\ifxetex
  \ifthenelse{\equal{\rmdefault}{lmr}}{
    \setmainfont{lmroman12-regular.otf} % can be improved
  }{}
\else
  \ifthenelse{\equal{\rmdefault}{lmr}}{
    \setmainfont{Latin Modern Roman}
  }{}
\fi
\begin{document}
Hello!\par
\rmdefault
\end{document}

LuaLaTeX 可以通过字体系列名称找到 Latin Modern Roman,但在许多情况下 XeLaTeX 只能通过字体文件名找到它。标记为“可以改进”的行是您将粗体和斜体的字体文件名添加为主字体的选项fontspec

相关内容