如何运行 `usepackage{times}` 同时保持 texttt 字体不变

如何运行 `usepackage{times}` 同时保持 texttt 字体不变

我想运行\usepackage{times}但保持texttt字体不变(默认的 CM Typewriter Text)。我该怎么做?

答案1

另一种方法是使用

\usepackage{times} % Or tgtermes, newtxtext, etc.

\renewcommand\ttdefault{cmtt}

在 LuaLaTeX 或 XeLaTeX 中,你可以执行以下操作:

\usepackage{unicode-math}

\defaultfontfeatures{Scale = MatchLowercase, Ligatures=TeX}
\setmainfont{TeX Gyre Termes}[Scale=1.0]
\setmonofont{Latin Modern Mono} % Or NewCMMono, CMU Typewriter Text, etc.
\setmathfont{TeX Gyre Termes Math}
% Also set the sans-serif font if desired.

答案2

当前(2020/03/25)版本的该包仅包含 32 行代码,其中四分之三 [!] 是注释行。八行非注释行如下:

\ProvidesPackage{times}%
[2020/03/25 PSNFSS-v9.3
(SPQR)
]
\renewcommand{\sfdefault}{phv}
\renewcommand{\rmdefault}{ptm}
\renewcommand{\ttdefault}{pcr}
\endinput

如果你想要做的只是将主文本(“roman”或“serif”)字体切换为 Times Roman 克隆,你可以执行

\renewcommand{\rmdefault}{ptm}

在文档的序言中。此外,如果你还想将文档的主要无衬线字体切换为 Helvetica,我实际上会不是建议您\renewcommand{\sfdefault}{phv}在文档的序言中运行,因为 Times Roman 和 Helvetica 的 x 高度非常不同。我的建议是运行

\usepackage[scaled=0.88]{helvet}

而是为了让两种字体的 x 高度彼此一致。


但实际上,我会并不真地建议您采用上述方法,主要是因为它没有解决如何设置与 Times Roman 文本字体在视觉上兼容的数学字体的问题。相反,我建议您运行

\usepackage[nott,helvratio=0.88]{newtxtext}
\usepackage{newtxmath}

在您的序言中。该nott选项指示包不切换到新的打字机字体。此外,如果您这样做不是想要用 Helvetica 替换默认的 sans-serif 字体,只需将选项替换helvratio=0.88nohelv

相关内容