使用带有 fontspec 的打字机包

使用带有 fontspec 的打字机包

我想将该typewriter软件包与另一种字体一起使用。我尝试使用该fontspec软件包来实现这一点。我不介意使用 Latin Modern 字体。但是,字体的样式仍保留在软件包中typewriter,我只想在文档中的某些情况下使用该字体。有办法吗?

\documentclass{scrartcl}

\usepackage{lmodern}

\providecommand\ttgreyone{0.4}
\providecommand\ttgreytwo{0.5}
\providecommand\ttrotatebold{12}
\providecommand\ttdownbold{20000}
\providecommand\ttrightbold{35000}
\providecommand\ttdownshifttwo{20000}

\providecommand\ttrotatenormal{8}
\providecommand\ttrightnormal{20000}
\providecommand\ttdownnormal{20000}

\usepackage{typewriter}

\usepackage[normalem]{ulem}     

\usepackage{fontspec}
\usepackage{lipsum}

\setmainfont{EB Garamond}


\begin{document}
\lipsum[1-2]    
\end{document}

答案1

有点像占位符的答案。

字体是硬编码的。

一个非常快捷的破解方法,将其变成一个参数。无需fontspec接口。

在主 tex 文件中,执行以下操作:

\newcommand\xattfname{PT Serif} 
\usepackage{typewriter2a}

修改/重命名后需要进行三处更改typewriter2a.sty(将其保存在与主文件相同的位置)。注释掉的行是原始行。

%\font\cmuntt = file:cmuntt.otf at 12pt \cmuntt

\font\cmuntt = "\xattfname "  at 12pt \cmuntt

%              f.name = 'cmtt10x'
                    f.name = '\xattfname '

%              f.fonts = {{ name = 'file:cmuntt', size = size}}
              f.fonts = {{ name = '\xattfname ', size = size}}

然后回到主文件,执行:

\fontname\font
\lipsum[1-2]    

因此字体名称会打印在输出中。

我使用了 14pt:

蒂诺斯

PT 衬线字体

铁路

不适用于所有字体(仅适用于 NFSS 字体?)。

随机性可能需要调整。阅读这种长段文字可能会有点困难。

Linux Libertine G 的特写:

Linux 自由人 G

整体效果:可爱极了!

给论文读者送上一杯饮料!:)

相关内容