Microtype
似乎\lsstyle
会导致与数学模式相关的问题,这已经成为一些问题的主题(我必须承认我并不完全理解它)。
我正在处理一种看似与数学模式相关的行为,但甚至无法理解问题的“模式”。
在以下 MWE 中,后跟空格的命令\ecl{}
应在输出中产生空格。出于某种原因,如果它在之后调用\lsstyle
,它会不是在其上有以下空间第一的外观,但它做为那些人准备后那。我不明白这两种行为。有什么想法可以解释是什么原因导致的,以及如何解决它?
\documentclass{article}
\usepackage [%
letterspace=50% for \textls{} and {\lsstyle }
]
{microtype}
\newcommand\ecl[1]
{%
\textnormal{$\langle$#1$\rangle$}%
}
\begin {document}
\lsstyle
Some text
\ecl{A} B %the space after "\ecl{A}" is somehow "cancelled"
and more text
\ecl{A} B %that same space appears as expected
and more text
\end {document}
答案1
我没有追踪所有内容(在字母间距部分内使用嵌套字体更改和数学运算是不寻常的......)
但你可以添加一个框来阻止向前看
\documentclass{article}
\usepackage [%
letterspace=50% for \textls{text} and {\lsstyle }
]
{microtype}
\newcommand\ecl[1]
{%
\textnormal{$\langle$#1$\rangle$}\mbox{}%
}
\begin {document}
\lsstyle
Some text
\ecl{A} B %the space after "\ecl{A}" is somehow "cancelled"
and more text
\ecl{A} B %that same space appears as expected
and more text
\end {document}