仍然想在 XeLaTeX 中使用“ptm”

仍然想在 XeLaTeX 中使用“ptm”

我在我的文档中使用 XeLaTeX 排版中文字体。(所以 XeLaTeX 是唯一适合我的方式。)我想使用 LaTex 原版ptm字体排版所有英文文本。

我知道有一种简单的方法可以Times在 XeLaTeX 中使用相关字体,例如\setmainfont{Times New Roman}。但是这样,连字就不起作用了,即使使用:

\defaultfontfeatures{Ligatures=TeX}
\setmainfont{Times New Roman}

无论如何,我仍然想使用原始ptm字体,而不是Times New Roman。如果仔细观察,仍然会发现一些本质的设计差异。我更喜欢ptm。那么我该如何使用ptm

我发现

\DeclareFixedFont{\PTMtext}{OT1}{ptm}{m}{n}{12pt}
\PTMtext{blah blah}

可以工作,但只影响一小部分区域,例如,无法在section标题或数学内联模式下工作,例如$a=0 \text{if needed}$,其中“如果需要”仍然有效lmr。并且\renewcommand{\rmdefault}{ptm}也不起作用。

答案1

只需进行视觉比较,即可看到它ptm与使用 TeX Gyre Termes 获得的结果完全相同。

\documentclass{article}
\usepackage{amsmath}

\usepackage{fontspec}

\setmainfont{TeX Gyre Termes}
\newfontfamily{\OTIMES}{Times New Roman}

\def\fn"#1/#2"{#1}%

\begin{document}

{\OTIMES abcdefghijklmnopqrstuvwxyzfifl \expandafter\fn\fontname\font}

abcdefghijklmnopqrstuvwxyzfifl \expandafter\fn\fontname\font

{\fontencoding{OT1}\fontfamily{ptm}\selectfont
abcdefghijklmnopqrstuvwxyzfifl \fontname\font}

{\OTIMES ABCDEFGHIJKLMNOPQRSTUVWXYZ \expandafter\fn\fontname\font}

ABCDEFGHIJKLMNOPQRSTUVWXYZ \expandafter\fn\fontname\font

{\fontencoding{OT1}\fontfamily{ptm}\selectfont
ABCDEFGHIJKLMNOPQRSTUVWXYZ \fontname\font}

\itshape

{\OTIMES abcdefghijklmnopqrstuvwxyzfifl \expandafter\fn\fontname\font}

abcdefghijklmnopqrstuvwxyzfifl \expandafter\fn\fontname\font

{\fontencoding{OT1}\fontfamily{ptm}\selectfont
abcdefghijklmnopqrstuvwxyzfifl \fontname\font}

{\OTIMES ABCDEFGHIJKLMNOPQRSTUVWXYZ \expandafter\fn\fontname\font}

ABCDEFGHIJKLMNOPQRSTUVWXYZ \expandafter\fn\fontname\font

{\fontencoding{OT1}\fontfamily{ptm}\selectfont
ABCDEFGHIJKLMNOPQRSTUVWXYZ \fontname\font}

\end{document}

在此处输入图片描述

如您所见,TeX Gyre Termes 中的斜体字体也匹配ptm,尽管字距调整略有不同。

答案2

定义自己的字体。如果您使用 KOMA-Script 类之一,则可以轻松使用 Times 定义标题。

\documentclass{article}
\usepackage{amsmath}
\usepackage{unicode-math}
%\setmainfont{what ever you want}
\newfontface\Times{Times New Roman MT Std}% I have only this otf version
\begin{document}
Latin Modern

{\Times $a=0 \text{ if needed}$}

\section{LatinModern}
\subsection{\Times Times New Roman} 
foo \Times foo
\end{document}

相关内容