有什么方法可以把求和运算符完整地注释成商吗?

有什么方法可以把求和运算符完整地注释成商吗?

早上好,我正在使用文字方程工具,当在商的分子中写入求和运算符时,它会紧凑地应用它,而不是像图中所示的那样:

在此处输入图片描述

有没有办法将其合并,使得使用 \ sum_(i = 0)^\infty 选项,求和运算符可以完整地而不是紧凑地显示其表达式?

在此处输入图片描述

感谢您的合作!

答案1

我能想到的最好的办法是使用一个矩阵来表示分数,在分子下面加一个下划线来模拟除法线。困难在于如何让“=”与下划线对齐。

此外,方程式必须采用“显示”格式。下面的方法在这里有效,但 vphantom(x/x) 是任意的间距 - 也许你有更好的主意。

顺便说一下,我使用 \ldiv 按照您显示的方式布置 a_0/(1-b_l),否则 Word 会使用水平分割条进行布置。

\matrix(\vphantom(x/x)@y_t =) \matrix( \underbar ( a_0\ldiv\begin 1-b_1 \end + \sum_(i=0)^\infty \naryand \begin b_1^i \epsilon_(t-i) \end  )  @ 1-b_2 L ) 

我有一段代码可以帮助从上述类型的线性格式开始插入此类内容。这并不是特别好,因为公式编辑器 UI 的编写方式似乎阻止了粘贴文本然后构建文本的尝试,而且 OMath 对象模型和 MML 都不太好用。

即使使用此功能,也需要您在 Word 中启用“开发人员”选项卡,并知道如何安装 VBA 宏。此外,由于宏使用 SendKeys,因此您不能像平常一样从 VBA 编辑器运行宏。您需要做的是

  • 在 Word 文档中插入新公式
  • 选择其中的文本
  • 单击 Word 中的“开发人员”选项卡
  • 点击按钮
  • 选择类型方程并点击跑步

代码:

Sub typeEquation()
Dim c As String
Dim i As Long
Dim m As OMath
Dim s As String
Dim t As String
Dim u As String
s = "\matrix(\vphantom(x/x)@y_t =) \matrix( \underbar ( a_0\ldiv\begin 1-b_1 \end + \sum_(i=0)^\infty \naryand \begin b_1^i \epsilon_(t-i) \end  )  @ 1-b_2 L ) "
Set m = Selection.OMaths(1)
u = ""
For i = 1 To Len(s)
  c = Mid(s, i, 1)
  Select Case c
  Case "+", "^", "%", "~", "(", ")", "[", "]" ' what about "{"  and "}" ?
    t = "{" & c & "}"
  Case Else
    t = c
  End Select
  u = u & t
  VBA.SendKeys t
  DoEvents
Next
Debug.Print u
End Sub

最初,我构建了想要发送的字符串,并在一个 SendKeys 语句中发送了整个字符串,但事实证明这并不可靠 - 我认为可能存在时间问题,BuildUp 仍在工作并且无法正常运行。不确定。

相关内容