使用 PDFLaTeX 更改单色字体

使用 PDFLaTeX 更改单色字体

我想将默认单字体(与 和\texttt{}一起使用\url{})更改为“CMU 打字机文本可变宽度”,而不触及默认主字体。

我可以做到

\usepackage{fontspec}
\setmonofont[Scale=.935]{CMU Typewriter Text Variable Width}

fontspec迫使我将编译器更改为 XeLaTeX 或 LuaLaTeX,我不喜欢它们,因为它们会忽略\oldstylenums{}

有什么解决方法吗?

答案1

cfr-lm提供拉丁现代字体的所有四种数字系列以及可变和等宽打字机的访问权限。还提供直立斜体和斜体小写字母的访问权限。

拉丁现代的变奏

您可以选择默认样式。您还可以根据需要在图形和打字机样式之间切换。

但是,在准备此示例时,我发现包中有一个未声明的依赖项,因此您需要先加载ifthen。 (我想加载了这么多东西,尽管使用了多年,ifthen但我从未注意到。)cfr-lm

\documentclass{article}
\usepackage{ifthen}
\usepackage[rm={lining},sf={lining},tt={tabular,lining,monowidth}]{cfr-lm}
% \usepackage[rm={lining},sf={lining},tt={proportional,lining,variable}]{cfr-lm}
\begin{document}
  one two three four five 0123456789
  
  \texttt{one two three four five 0123456789}

  % select variable typewriter with proportional lining figures when 
  % monowidth with tabular lining is default
  \texttv{\textpl{one two three four five 0123456789}}

\end{document}

编辑

如果您想要使用字体\texttm产生的轻型、压缩的等宽打字机,请在加载后将以下行添加到您的序言中cfr-lm

\DeclareTextFontCommand\texttm{\tmstyle\lgweight\cdwidth}

然后\texttm{Hello world!}会产生

轻型、紧凑型、等宽拉丁现代打字机

编辑 编辑

我无法确定这是否会改变您的参考书目样式对 URL 的处理方式,因为我对您的设置一无所知。但是,以下结果是使用等宽、轻型、压缩的拉丁现代打字机对 URL 进行排版,例如\url{*<URL>*}

\documentclass{article}
\usepackage{ifthen}
\usepackage[rm={lining},sf={lining},tt={proportional,lining,monowidth}]{cfr-lm}% 
\usepackage{hyperref}
\makeatletter
\DeclareRobustCommand{\tmlcstyle}{%       monowidth, light, condensed typewriter
  \tmstyle\lgweight\cdwidth}
% \DeclareTextFontCommand\texttmlc{\tmlcstyle}% create a new command
\DeclareTextFontCommand\texttm{\tmlcstyle}% overwrite the package's \texttm
\def\url@tmlcstyle{%
 \@ifundefined{selectfont}{\def\UrlFont{\tt}}{\def\UrlFont{\tmlcstyle}}}
\makeatother
\urlstyle{tmlc}

\begin{document}
  one two three four five 0123456789
  
  \texttt{one two three four five 0123456789}

  % select variable typewriter with proportional lining figures when 
  % monowidth with tabular lining is default
  \texttv{\textpl{one two three four five 0123456789}}
  
  \texttm{Hello world!}
  
  \url{https://tex.stackexchange.com}
  

\end{document}

使用拉丁现代打字机等宽轻型压缩的 URL

相比之下,以下是使用ttURL 样式的结果:

使用标准拉丁现代打字机输入 URL

答案2

如果使用 pdftex,您可以使用原始的拉丁现代变量打字机。

在此处输入图片描述

\documentclass{article}


\begin{document}

One two three four five six.

{\ttfamily One two three four five six.}

{\fontfamily{lmvtt}\selectfont One two three four five six.}

\end{document}

相关内容