Latex帶括號的多行公式問題(轉)

問題來源於需要。。。

事情是這樣的,一位同學在matlab下輸了一個很長的公式,不知道對不對,檢查了N遍,好像沒問題,可是結果不對,於是我用latex(x)命令輸出,就有了一長串latex數學表達式,放到latex中好直觀地檢查嘛(用mathematica是可以直接輸成通常的形式的,不過寫起來也是挺麻煩的,何況上了matlab這條賊船了,咱也沒辦法,忍着吧,沒有十全十美的)

好了,事情要是一帆風順就沒有這篇文章了,接下來問題來了:這實在是一個很長的公式,用latex輸出來只能看到半截……記得有時候會出現另半截在頁面外的情形(不知道哪裏得到的印象了),可是這次好像那半截直接不見了……

於是第一個問題產生了:爲什麼latex對公式不自動換行?

這個問題且先放下,我們現在知道它確實是不能自動換行的,我們就自個給它換吧。好吧,我們看看怎樣能將一個公式輸成多行。

其實方法挺多的,
比如這個:
/[
/begin{array}{c}
y =sin /left( x^2 + y^2 /right. //
/left. z^2 /right)
/end{array}
/]

 或這個, 可以對齊的:
 /begin{align}
 y & = & sin /left( x^2 +y^2 /right. //
  & & /left. z^2 /right)
 /end{align}
 
 問題的焦點是:我們不能讓一對括號在不同的兩行中,而我們得到的公式偏偏是這樣的,有幾個括號隔着老遠!用上面的方法實現,就是給每行給每個不成對的括號都配成對,這就是上面的/left.和/right.的作用了!但是看那個latex命令寫的公式源碼顯然比matlab中的公式還長,我這樣的懶人實在沒耐心,總想找一個能這樣做的方法,以爲latex中有這樣的方法,但是找來找去,好像是沒發現。
 
於是我們第二個問題來了,爲什麼latex不讓/left和/right的命令跨行呢?
以某種特殊表達方式實現應該是可以的,用一種特殊方式標識前後兩行實際上是在“一行”的,只是顯示不下而顯示到了下一行,和我們的文本自動換行一樣。

好了,整理一下,我們有這樣兩個問題:
1.爲什麼latex對公式不自動換行?
2.爲什麼latex不讓/left和/right的命令跨行?

對於第一個問題,我想可能是公式的自動換行太複雜?讓輸入者自己去決定什麼時候換行更經濟。
但是後面一個問題就不那麼好想了,這個東西其實讓我們的輸入麻煩了很多,一個一個的去看哪個括號和哪個括號是一對真的是很鬱悶的事,而實現這個功能確實應該不難。看到那些雜誌由於是兩列的排版,一個公式好幾行的情形常出現,不知道是怎麼解決的?

但願是我無知。

From:http://blog.sina.com.cn/s/blog_59cf67260100cnjd.html

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章