公式末尾的上下文感知點

公式末尾的上下文感知點

amsmath定義\dots哪一個進行前瞻,並根據下一個標記使用不同的點(基本上是否垂直居中)。看amsmath 中的神奇 \dots 如何運作?

然而,正因為如此(至少,這是我的理解),當點是在最後公式的:

\documentclass{article}
\usepackage{amsmath}
\begin{document}

\[ x + \dots + x + \dots \]

\end{document}

mwe.jpg

現在,使用時這並不是什麼大問題,+因為我可以直接使用\dotsb.然而,自訂命令也可以成為「點感知」:

\documentclass{article}
\usepackage{amsmath}
\begin{document}

\newcommand*\myop{\DOTSB\rightarrow}

\[ x \myop \dots \myop x \myop \dots \]

\end{document}

在這種情況下,我希望最後一個\dots能夠根據 的定義自動調整自身\myop。如何才能做到這一點?

我不一定期望\dots「記住」之前發生的事情(儘管這會很好),可以透過在點後重複運算子來給出某種提示:

\[ x \myop \dots \myop x \myop \dots \hint\myop \]

編輯:或者更好:

\[ x \myop \dots \myop x \myop \dotsfor{\myop} \]

也許可以使用查看其參數的第一個標記的前瞻宏?雖然這不僅僅是前瞻,但其餘的論證應該被丟棄。

答案1

這似乎沒有在任何現成的文檔中得到解釋,但是有 中的解釋德州的快樂(ams-tex 手冊)這是首次定義點變化的地方。從第156頁開始:

因此,當您\dots在數學模式下使用時,要排版的特定類型的點由公式中的下一個符號的樣式和下一個符號決定。不幸的是,在一種情況下該方案會失敗,即當 不是任何下一個符號。如果您輸入[\dots在公式末尾顯示的範例],則\dots不能期望知道您想要哪種類型的點 - 它只能向前看,並且無法知道在它之前輸入的符號 - 並且\dots只是\dotso 在所有這些情況下進行選擇。因此,當公式以點結尾時,正確的做法是告訴 AMS-TeX 它應該使用哪種類型的點。

在創建 ams-tex 時,我們仔細考慮了這個問題,並且邊緣情況難以預測,無法考慮。

我認為雙宏方法是您最好的選擇:\myopand \myopdots(或其他可能更短的第二個名稱);如果您需要更改,可以輕鬆在文件中找到。

編輯:正如 @Zarko 在評論中指出的那樣,\dotsm(對於“乘法點”)是合適的,\dotsb(“帶有二元運算符/關係的點”)也是合適的。雙方都決心\cdots.

相關內容