
我有一個如下圖的定理:
現在我想打破 (A....D) 數學表達式。問題是,我沒有從解決方案中做任何事情這答案有幫助(因為可能人們會引導我找到該答案),即:
- 將數學表達式分解為用逗號分隔的兩個不同的數學表達式沒有任何作用,如果我添加一個
\\
它會破壞表達式,但它看起來很難看,因為第二行的部分沒有正確對齊到右側 \allowbreak
什麼也沒做添加
\makeatletter \def\old@comma{,} \catcode`\,=13 \def,{% \ifmmode% \old@comma\discretionary{}{}{}% \else% \old@comma% \fi% } \makeatother
導致錯誤,因為我使用的是 TikZ,其中一些參數用逗號分隔。
請問有人知道其他解決方案嗎?
答案1
因為看起來解決方案來自在內聯數學模式下允許在“,”處換行嗎?對您有用,只是它會在其他地方引起問題,您可以將逗號字元的重新定義限制在您遇到此問題的段落中,方法是將其括在大括號組中。這裡我只對第二段應用了這個重新定義,你可以看到這個重新定義是本地的。
筆記:
showframe
套餐僅用於顯示邊距。
代碼:
\documentclass{article}
\usepackage{showframe}
\begin{document}
Here is some very long text followed by a very long equation like $a,b,c,d,e,f,g,h,i,j,k,l$ etc
{
\def\OldComma{,}
\catcode`\,=13
\def,{%
\ifmmode%
\OldComma\discretionary{}{}{}%
\else%
\OldComma%
\fi%
}%
Here is some very long text followed by a very long equation like $a,b,c,d,e,f,g,h,i,j,k,l$ etc.%
}
Here is some very long text followed by a very long equation like $a,b,c,d,e,f,g,h,i,j,k,l$ etc
\end{document}
答案2
如果沒有一個最小的例子(實際上是獨立運行的),人們只能猜測,但我懷疑你使用了\left( A ... \right)
.如果是這種情況,那麼無論你嘗試什麼,都不會破壞,因為\left
/\right
構造將產生一個牢不可破的子公式。
在這種情況下,唯一的解決方案是不使用\left
/ \right
but \bigl
and \bigr
(或\biggl
或任何您需要的括號大小)。然後\allowbreak
裡面應該可以工作。
答案3
在逗號後面加上\penalty 0
(在零後面留一個空格)您想要中斷的位置。這將添加一個合適的斷點。
然而,這確實應該是最後的手段。嘗試修改該段落以更好地適應公式。