我正在使用xelatex
和fontspec
:
我尝试过类似的事情:
\setmonofont[Mapping=tex-text, CharacterWidth=Proportional]{Latin Modern Mono}
但这不存在(?)。
如何将单声道字体设置为 Latin Modern Mono Proportional(拉丁现代字体中存在的字体)?
答案1
答案2
免责声明:我是下面讨论的包的作者。
这并没有回答这个问题。相反,它回答了一个相关的问题,即如何使用 pdfLaTeX 或 LaTeX 完成同样的事情。
我认为这是合理的,因为当人们询问如何使用字体时,即使他们明确表示不能使用 Xe/LuaTeX,爱好者也会经常回答使用这些引擎,以显示另一边的草有多么绿。
尽管如此,如果David Moles 尚未跟进 我发表的评论问如何使用 pdfTeX 轻松实现这一点在这种情况下,我并不是说别人家的草更绿,而只是说别人家的草同样绿,或者绿到人们合理想要的程度,额外的绿化对于要求来说是完全多余的。
核心案例有两种:
您希望将可变宽度设置为文档的默认打字机系列,并在需要时选择切换到等宽;
您希望将等宽作为默认设置,并可选择切换到可变宽度。
为了第一,
\usepackage{cfr-lm}
将会执行此操作。然后打字机文本将默认使用可变宽度。
{\tmstyle
...
}
将切换到等宽,而
\texttm{...}
将以等宽排版其参数。
对于第二种情况,使用
\usepackage[tt=monowidth]{cfr-lm}
进而
{\tvstyle
...
}
和
\texttv{...}
宽度可变。
例如,
\documentclass{article}
% \usepackage[tt=monowidth]{cfr-lm}% monowidth as default
\usepackage{cfr-lm}
\begin{document}
\texttt{This typewriter text is variable width by default.}
{\tmstyle
This typewriter text is now monowidth.
This could also be set as the document's default using the relevant package option.
Then you'd use \verb|\tvstyle| to switch to variable width.}
\texttm{This typewriter text is also monowidth.}
\texttt{If the default was monowidth \textbackslash texttv\{\dots\} would produce variable width text like this.}
\end{document}
生产
cfr-lm
旨在提供
拉丁现代字体系列中的所有字体,只要这些字体本身属于 type1 格式的字体;
这些字体支持的所有字体功能,只要这些功能是可行的并且对 pdfTeX 有意义;
通过包选项和/或扩展的字体开关和字体文本命令方便地访问各种字体和功能;
支持在同一文档中使用多种不同的字体和功能。
请注意,最后一点并不意味着过度使用此功能是印刷方面的明智之举。它只是意味着,如果你想无视印刷圣人的古老智慧,使用 4 种不同的数字样式、2 种不同的打字机样式、2 种不同的斜体、2 种不同的无衬线字体样式、斜体小写字母、多种粗细/宽度、Dunhill 等,那么从技术上讲,没有什么可以阻止你这样做。