我一直在使用来自amsmath的通用amsmath环境,并且在从+标志的两边放置&标志时注意到了奇怪的kerning行为。即假定以下代码及其为我生成的结果:
\documentclass{article}
\usepackage{amsmath}
\begin{document}
\begin{align}
a&+b\\
a+&b
\end{align}
\end{document}

这是个虫子吗?如果这是有意的行为,请你解释一下为什么在这些情况下的分类是不同的?
尽管如此,我正在使用TexStudio 4.0.1和MikTex (控制台版本4.8,所有在8月22日24日更新的包)来生成代码的输出。
发布于 2022-08-25 17:48:50
我想一切都如期而至。符号和字符定义了左列和右列之间的边界,而左列和右列分别对齐。左边的东西都是向左推的,右边的东西都是向右推的。
考虑一下代码
\documentclass{article}
\usepackage{amsmath}
\setlength\fboxsep{0pt}
\begin{document}
\begin{align}
\boxed{a} \clap{\rule[-3pt]{0.4pt}{12pt}}& + b\\
a + \clap{\rule[-3pt]{0.4pt}{12pt}}& \boxed{b}
\end{align}
\end{document}

两根柱子之间有完美的隔开。额外的间距来自于+是一个运算符,所以LaTeX确实在它周围添加了额外的间距。
在您的代码中,还有另一个问题。放置在操作员右边的符号取消了它作为操作员的状态。其结果是它正在失去预期的间距;同样的情况也会发生在=上。在操作符和&之间添加任何内容,恢复其状态。因此,{}放在&之前是最简单的解决方案。
\documentclass{article}
\usepackage{amsmath}
\begin{document}
\begin{align}
a & + b \\
a + {}& b
\end{align}
\end{document}https://stackoverflow.com/questions/73470859
复制相似问题