word中mathtype公式變形問題解決方法
阿新 • • 發佈:2019-02-12
很多人都用第三方外掛在 Word 文件中新增、編輯公式,然而,這些人幾乎都會遇到同一個問題:公式為什麼自己變形了?這種變形還是隨機的,首先是時間上的隨機,一開始好好的,寫著寫著,過幾天再一看就不對勁了;其次是分佈上的隨機,一個文件中不是所有的公式都會變形,只有部分公式會變形;最後是方式上的隨機,每個公式形變方式都不同,有被拉長的,也有被壓扁的。 文章 [1] 的作者同時也給出了針對 MathType 的解決方案,就是利用 MathType 提供的“公式轉換”功能,具體的操作見文章 [1],本文不做詳述。本文給出一個相對通用的解決方案,可以自動還原形變的公式,而且何種公式編輯器都適用。
至於原因,我感覺可能是 Word 自己的原因,因為很多公式的外掛都會出現這個問題。文章 [1] 的作者也持同樣的觀點。
Our investigation reveals there's nothing you or MathType are doing to cause this; it's being caused by Word. This bug affects not only MathType equations in Word, but other embedded objects, such as charts and pictures. Below, we'll describe the process to fix the equation display ratio, and to minimize the possibility of it happening in the future.
首先放出一張圖,請強迫症暫時迴避。
看出什麼問題沒?倒數第二行的 略微變形了!最後一段第二行的 也變形了。什麼?你說我胡說?
Sub ResizeEquations()
For Each Field In ActiveDocument.Fields
If Trim(Field.Code) = "EMBED Equation.Ribbit" Then
With Field.InlineShape
.LockAspectRatio = msoFalse
.ScaleWidth = 100
.ScaleHeight = 100
End With
End If
Next Field
End Sub
執行程式碼,再來看看處理後的文件,對比之前的圖,是不是雲泥之別?
你說沒區別?出門左轉關注眼科學,再見。注意程式碼中的第三行,為了防止誤傷,我這裡添加了條件判斷,只會處理域程式碼是 EMBED Equation.Ribbit 的圖片。這個程式碼是外掛 Aurora 的域程式碼,MathType 的程式碼不同,如果你是 MathType 的使用者我建議你<s>直接使用“公式轉換”功能</s>先按 Alt +F9 檢視 MathType 公式的域程式碼,再將程式碼中的第三行改為:
If Trim(Field.Code) = "EMBED Equation.DSMT4" Then
好了,我萌下期再見。