我正在使用 microtype 和 XCharter 字体。我必须在 en-dash 周围添加一些空格,这样效果很好。现在我引入了一些 em-dash,'---'
但这些由 pdflatex 呈现为短破折号后接破折号。
\documentclass{article}
\usepackage{XCharter}
\usepackage[kerning]{microtype}
\DeclareMicrotypeAlias{XCharter-TLF}{bch} %% made XCharter equal to Bitstream Charter for mycrotype
\SetExtraKerning[unit=space] %% add some space around en-dash
{encoding={T1}, family={bch}, series={*}, size={normalsize}}
{\textendash={300,300}}
\begin{document}
em-dash --- en-dash -- the end
\end{document}
如果我删除该\SetExtraKerning
指令或将所有内容更改'---'
为\textemdash{}
一切正常,但不应将“---”解释为\textemdash
前微类型处理?我这里做错了什么?
答案1
我见过对这个问题的描述在其他地方之前,似乎由于系统中处理的顺序,字距调整在 TeX 转换---
或--
转换为适当的破折号之前应用。我不是专家,但我可以想象,这会microtype
在某个地方挂接到系统中,并且目前只有那个地方是可能的,或者只是被选中了。
\textemdash{}
或者\textendash{}
解决这个问题。花括号是为了防止命令占用后面的空格:\textendash word
会产生“–word”。