在特定字符上使用 helvetica 设置突出部分

在特定字符上使用 helvetica 设置突出部分

我正在使用该软件包中的 Helvetica 字体的文档helvet。我希望破折号不会突出到左边距。但是,当我使用时,SetProtrusion突出部分被完全禁用:

\documentclass{article}
\usepackage{showframe}

\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{lmodern}
\usepackage[scaled]{helvet}
  \renewcommand{\familydefault}{\sfdefault}

\usepackage{microtype}
% \LoadMicrotypeFile{helvet}

\usepackage{lipsum}
\begin{document}

Quisque ullamcorper placerat ipsum. Cras nibh. Morbi a vel justo x  --- test --- a --- ullamcorper placerat ipsum. Cras nibh. Morbi vel justo vitae

\lipsum
\end{document}

编辑:也就是说,如果我添加

\SetProtrusion{encoding = T1}{\textendash = {0,}, \textemdash = {0,}}

以下\usepackage{microtype}

从下面的答案修改(即部分覆盖)特定字符的微类型的字符凸出设置并看着手册第 5.7 节我认为我需要创建一个文件mt-helvet.cfg。我尝试将microtype.cfg文件保存为mt-helvet.cfg工作目录中的文件,将虚线的所有突出设置更改为左边距为 0;但是,当我使用 编译文档时,\LoadMicrotypeFile{helvet}我得到的文档根本没有突出部分(即与未加载相同microtype)。

答案1

首先,你不应该将字体特定的配置文件建立在全球的配置文件microtype.cfg,该文件不应被加载两次(这就是您收到所有警告的原因)。其次,配置文件的名称应该是mt-phv.cfg(即 Helvetica 字体的名称),而不是mt-helvet.cfg(即软件包名称)。但第三,创建字体特定的配置文件无论如何都是可选的,首先,直接在序言中更改设置可能更容易。

首先,您需要找出 Helvetica 实际使用的设置。如果您使用microtypeverbose选项加载,您会在log文件中找到以下内容(靠近末尾):

Package microtype Info: Setting up font `T1/phv/m/n/10' on input line 14.
Package microtype Info: ... Loading protrusion list `T1-default'.

现在您知道要更改设置T1-default(这些设置是通用的,因为不存在针对 Helvetica 的特定设置)。这些设置在 中定义microtype.cfg,并且始终由包加载;因此,您不需要加载任何其他文件,但可以立即更改设置:

\SetProtrusion
   [ name     = T1-phv,      % the name is optional
     load     = T1-default ] % first load `T1-default` settings
   { encoding = T1,
     family   = phv }        % use for Helvetica family
   {
     \textendash = {0, }, \textemdash = {0, }  % cancel out left protrusion
   }

如果您不想让您的序言杂乱无章,您也可以将上述内容放在一个文件中mt-phv.cfg,然后该文件将自动加载,但正如我所说,这是可选的。

相关内容