2010-05-27 298 views
4

關於困擾我的乳膠的小問題。當一個人在數學模式寫入有沒有辦法重寫LaTeX有關雙下標和上標的錯誤?

a^b^c, a_b_c 

a'^b 

,乳膠給出錯誤信息抱怨多個超級/下標。在替換包含super /下標的字符串或使用撇號'後,這特別惱人。

有沒有辦法覆蓋的錯誤,並有簡單的LaTeX輸出

a^{bc} a_{bc} {a'}^b 

等等?

回答

3

這是你真的應該被警告,並且必須按照你想要的方式放置大括號的情況之一 - 或者寫一些沒有雙子/上標的東西,如果這就是你的意思。一般來說,當你使用上標來表示指數,而不是索引時,a^b^c = a^{b^c},所以你描述的輸出在某些情況下肯定是不正確的。當然,如果他們是上標指數,你可能意味着a^{bc},但LaTeX怎麼知道?而對於下標,如果你真的意思是a_{n_k},而不是a_{nk}? (即雙重索引與一系列索引)

(當然,如果這個作爲替代品的一部分出現,您可能會想出一種方法將其作爲替代品的一部分進行修復。)

+2

好一點 - 這是真的,在公式求冪在操作順序可笑的規則。 但在LaTeX中,慣例是隻有^符號後面的第一個字符被讀作上標(除非有反斜線或{}),所以解釋^ b^c的邏輯方法是獨立處理^ c從^ b作爲一階上標。 因此,雖然錯誤消息背後的警告是可以理解的,但是有沒有辦法讓LaTeX忽略這些特定的「錯誤」並以這種方式解釋它們? – 2010-05-27 12:38:11

+1

@Dmitry:不,我不這麼認爲。而你的推理並不完全。使用單個規則更準確:只有'^'後的第一個*組被放置在上標中。這意味着真正的問題是'^'的結合性;你可以先輕鬆綁定'b^c'。我在回答中想要傳達的是,有太多的含糊之處,以至於語言永遠不會以這種或那種方式強迫它。同時抑制警告是一回事,這是一個錯誤信息。 LaTeX只需要語法清晰,無論好壞。 – Cascabel 2010-05-27 13:16:53

+0

@Dmitry:我同意Dmity的推理。乳膠沒有表達的概念,相反,它具有處理輸入的眼睛 - 嘴 - 胃隱喻,德米特里的建議可以很好地運作。 – 2010-05-27 17:26:07

4

下面是什麼,你希望

\catcode`\^ = 13 \def^#1{\sp{#1}{}} 
\catcode`\_ = 13 \def_#1{\sb{#1}{}} 
相關問題