让公式模式中的字符(下标)占据相同的宽度

让公式模式中的字符(下标)占据相同的宽度

有没有办法让公式模式中的特定字母具有相同的宽度?我可以\texttt{}在对齐环境之外使用该命令,但不能在数学模式下使用。例如,下面的脚本生成以下内容

\documentclass{article}
\usepackage{tabularx}
\usepackage{booktabs}
\usepackage{graphicx}
\usepackage{amsmath}

\begin{document}

\begin{align}
    \hat{y}^t &= \alpha^t_{l,\text{h}}\hat{y}^t \odot m_l + \textstyle\sum_{i} \alpha^t_{l,i}\hat{y}^t_{l,i} \odot (1 - m_l) \\
    \hat{y}^t &= \alpha^t_{r,\text{h}}\hat{y}^t \odot m_r + \textstyle\sum_{i} \alpha^t_{r,i}\hat{y}^t_{r,i} \odot (1 - m_r)
\end{align}

\noindent
\texttt{your text - IN CAPITALS}\\
\texttt{lrlr text - IN CAPITALS}

\end{document}

在此处输入图片描述

我有很多这样的方程式需要按顺序计算和读取,我认为如果至少可以让特定字母占据相同的宽度会更好。在上面的例子中,我希望下标l具有r相同的宽度,或者让字母l有额外的填充以匹配字母r占用的总宽度。我不能使用它们的大写字母。

答案1

我认为最好对齐运算符,而不是通过强制相同宽度的字符来获得“意外”对齐。

我还将文本样式限制为总和而不是表达式的其余部分。

在此处输入图片描述

\documentclass{article}
\usepackage{tabularx}
\usepackage{booktabs}
\usepackage{graphicx}
\usepackage{amsmath}

\begin{document}

\begin{alignat}{4}
    \hat{y}^t &= \alpha^t_{l,\text{h}}\hat{y}^t &&\odot m_l &&+ \mathop{\textstyle\sum_{i}} \alpha^t_{l,i}\hat{y}^t_{l,i} &&\odot (1 - m_l) \\
    \hat{y}^t &= \alpha^t_{r,\text{h}}\hat{y}^t &&\odot m_r &&+ \mathop{\textstyle\sum_{i}} \alpha^t_{r,i}\hat{y}^t_{r,i} &&\odot (1 - m_r)
\end{alignat}

\noindent
\texttt{your text - IN CAPITALS}\\
\texttt{lrlr text - IN CAPITALS}

\end{document}

答案2

我同意大卫·卡莱尔的观点XY 问题。

但是,这里有一些 X 问题的答案。\texttt如果您使用,该命令也可以在数学模式下工作amsmath,几乎所有的数学试卷都使用。该unicode-math包还提供了\symttUnicode 数学打字机字母表。(请注意,两者都不应该与普通变量同义。)最后,您可以计算下标的最大宽度,并将 a 放在\scriptstyle ia 内,\mbox其宽度与最宽的下标相同。

相关内容