微类型 \lsstyle 的行为令人费解

微类型 \lsstyle 的行为令人费解

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}

答案2

数学模式似乎存在问题。但是,您想要\textlangle\textrangle

\documentclass{article}
\usepackage[
  letterspace=50,
]{microtype}

\newcommand\ecl[1]{%
  \textnormal{\textlangle #1\textrangle}%
}

\begin{document}

\lsstyle

Some text \ecl{A} B and more text \ecl{A} B and more text

\end{document}

在此处输入图片描述

相关内容