在 Microsoft Word 中以 LaTeX 方式键入数学公式?

Tim*_*Tim 101 latex worksheet-function microsoft-word

我想知道是否有一些免费的解决方案可以在 Microsoft Word 文档(Office 2007)中以 LaTeX 方式输入数学公式?

tao*_*yue 101

如果您运行的是 Office 365 版本 1707 或更高版本,则公式编辑器允许您将 LaTex 转换为本机格式。请参阅此答案的第一部分。

在旧版本的 Office 中,公式编辑器可以理解某些 LaTeX 组件。但是,它会在您进行时构建方程,并且您无法转换整个 LaTeX 方程。如果您正在运行,请参阅此答案的第二部分:

  • WinWord 2007、2010、2013 和 2016
  • MacWord 2011 和 2016

在 Office 365 版本 1707 或更高版本上

  1. 将公式编辑器置于 LaTeX 模式。在方程式编辑器设计功能区中,转到转换组并单击LaTeX

    公式编辑器-设计功能区上的转换组

  2. 键入 LaTeX。

    输入LaTeX方程后

  3. 打开转换下拉菜单,然后单击Current-Professional

    转换菜单,当前 - 专业

  4. LaTeX 将被处理为方程式编辑器的原生格式。

    结果方程

您还可以转换回 LaTeX 以编辑方程。

  1. 打开Convert下拉菜单,然后单击Current - Linear
  2. 方程被转换回 LaTeX 格式。注意:这不是您最初的 LaTeX 源,因为它已经通过公式编辑器的内部格式来回传输。
  3. 打开转换下拉菜单,然后单击Current - Professional

您必须使用下拉菜单,因为转换按钮不会在 Linear 和 Professional 之间自动切换。它保留上次使用的命令。

有一些限制。例如,Office 365 公式编辑器无法识别\begin\end命令。有关示例和可能的解决方法,请参阅 Microsoft 文档:


在 Office 2007-2016 上(Mac Office 2011-2016)

很少有人意识到 Word 2007 中的内置方程编辑器实际上可以理解 LaTeX 风格的方程输入。只需插入一个新方程,然后在其中键入 LaTeX。在您键入时,Word 将建立方程的图形表示。

Word 2007 及更高版本中的 LaTeX 式方程项

一旦它出现在 GUI 中,您就不能再将它编辑为 LaTeX。Word 没有嵌入式 TeX 处理器——它只是进行模式匹配以将简单的 LaTeX 语法转换为原生方程格式。因此,您不应期望对超复杂的 LaTeX 方程获得完美的保真度。但是,对于数学家以外的任何人来说,这可能已经足够了,而且比用鼠标单击元素快得多。

Word 2007 方程编辑器也有线性方程输入格式,相当直观,不需要熟悉 LaTeX。例如,输入(a+b)/(c+d)将产生格式良好的分数。

Word 2007 及更高版本中的线性方程项

笔记:

  1. 许多科学期刊不会接受具有新公式格式的 Word 文档——即使您保存为 .doc 而不是 .docx。

  2. 这不会将 Word 变成 LaTeX。它只是自己做方程,没有别的。你甚至没有得到方程编号。

  • 关键是 LaTeX *style*,像往常一样,ms 有自己的“最佳”做事方式。+1 为帖子,如果你被单词卡住了,它确实会让你更容易。 (4认同)
  • Office 365 版本只适用于 word 不适用于 ppt (3认同)
  • 嗨,我不确定我做得对。我尝试对分数使用乳胶样式:\frac{}{} 但它在方程字段中不起作用。 (2认同)

Dev*_*vid 35

用 LaTeX 写你的数学公式?在 MathML 代码中转换 LaTeX 公式?在 Word 中复制/粘贴 MathML 代码(粘贴后单击CTRL,然后单击T)。瞧!


例子:

让我们以这个公式为例: 用 LaTeX 编写的公式

这是来自上述公式的 LaTeX 源代码:

0 \leq \lim_{n\to \infty}\frac{n!}{(2n)!} \leq \lim_{n\to \infty} \frac{n!}{(n!)^2} = \lim_{k \to \infty, k = n!}\frac{k}{k^2} = \lim_{k \to \infty}\frac{1}{k} = 0.
Run Code Online (Sandbox Code Playgroud)

现在打开一个编辑器并将上面的源代码放在符号$$ $$之间,如下所示:

<!DOCTYPE html>
<html>
<head>
    <script type="text/javascript" src="http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script>
    <title>tex texample</title>
</head>
<body>
    $$ 0 \leq \lim_{n\to \infty}\frac{n!}{(2n)!} \leq \lim_{n\to \infty} \frac{n!}{(n!)^2} = \lim_{k \to \infty, k = n!}\frac{k}{k^2} = \lim_{k \to \infty}\frac{1}{k} = 0.$$
</body>
</html>
Run Code Online (Sandbox Code Playgroud)

将文件另存为 .html 文件并使用 Chrome 等浏览器打开它。

右键单击公式并选择 Show MathML As ? 数学代码。

<math xmlns="http://www.w3.org/1998/Math/MathML" display="block">
  <mn>0</mn>
  <mo>&#x2264;<!-- ? --></mo>
  <munder>
    <mo form="prefix" movablelimits="true">lim</mo>
    <mrow class="MJX-TeXAtom-ORD">
      <mi>n</mi>
      <mo stretchy="false">&#x2192;<!-- ? --></mo>
      <mi mathvariant="normal">&#x221E;<!-- ? --></mi>
    </mrow>
  </munder>
  <mfrac>
    <mrow>
      <mi>n</mi>
      <mo>!</mo>
    </mrow>
    <mrow>
      <mo stretchy="false">(</mo>
      <mn>2</mn>
      <mi>n</mi>
      <mo stretchy="false">)</mo>
      <mo>!</mo>
    </mrow>
  </mfrac>
  <mo>&#x2264;<!-- ? --></mo>
  <munder>
    <mo form="prefix" movablelimits="true">lim</mo>
    <mrow class="MJX-TeXAtom-ORD">
      <mi>n</mi>
      <mo stretchy="false">&#x2192;<!-- ? --></mo>
      <mi mathvariant="normal">&#x221E;<!-- ? --></mi>
    </mrow>
  </munder>
  <mfrac>
    <mrow>
      <mi>n</mi>
      <mo>!</mo>
    </mrow>
    <mrow>
      <mo stretchy="false">(</mo>
      <mi>n</mi>
      <mo>!</mo>
      <msup>
        <mo stretchy="false">)</mo>
        <mn>2</mn>
      </msup>
    </mrow>
  </mfrac>
  <mo>=</mo>
  <munder>
    <mo form="prefix" movablelimits="true">lim</mo>
    <mrow class="MJX-TeXAtom-ORD">
      <mi>k</mi>
      <mo stretchy="false">&#x2192;<!-- ? --></mo>
      <mi mathvariant="normal">&#x221E;<!-- ? --></mi>
      <mo>,</mo>
      <mi>k</mi>
      <mo>=</mo>
      <mi>n</mi>
      <mo>!</mo>
    </mrow>
  </munder>
  <mfrac>
    <mi>k</mi>
    <msup>
      <mi>k</mi>
      <mn>2</mn>
    </msup>
  </mfrac>
  <mo>=</mo>
  <munder>
    <mo form="prefix" movablelimits="true">lim</mo>
    <mrow class="MJX-TeXAtom-ORD">
      <mi>k</mi>
      <mo stretchy="false">&#x2192;<!-- ? --></mo>
      <mi mathvariant="normal">&#x221E;<!-- ? --></mi>
    </mrow>
  </munder>
  <mfrac>
    <mn>1</mn>
    <mi>k</mi>
  </mfrac>
  <mo>=</mo>
  <mn>0.</mn>
</math>
Run Code Online (Sandbox Code Playgroud)

现在,复制/粘贴MATHML代码在Word 2013(或2007)中,依次单击CTRL,然后T粘贴选项:仅保留文本)或去小Ctrl键图像在你粘贴MATHML代码的结束和手动选择的选项。

这是公式在 Word 2013 中的显示方式:


Ale*_*lli 11

我根据答案创建了LatexToWordEquation

它是一个 Word 插件。

我已经推送到 Github 的源代码。链接在这里

如果您愿意,可以直接从这里下载安装程序。
注意:这是一个有效的下载链接,当您单击它时将立即下载该文件。

怎么做

  • 欢迎使用超级用户。人们具有安全意识,并且在单击链接立即下载未知文件时会感到担忧。在实时下载链接上包含一个通知是个好主意。顺便说一句,读者可能不愿意下载未知文件,尤其是来自新用户的文件。因此,如果链接没有得到太多操作,请不要将其视为个人。无论如何,感谢您尝试帮助解决这个问题。 (5认同)
  • 我在 Word 2016 中对其进行了测试。不幸的是,按下按钮没有任何作用。我是否需要安装任何东西才能使此解决方案起作用? (3认同)
  • 看起来不错。但也不适合我。 (2认同)

cxw*_*cxw 7

@Devid 的回答非常好,但我对具体说明有困难。这对我有用。通过复制 MathML 代码执行 Devid 的步骤。

然后,插入一个空白方程。在 Word 2013 中,切换到“打印版式”视图(功能区上的“视图”选项卡)。在插入选项卡上,选择方程式。你会看到Type equation here被选中。

在“主页”选项卡上,选择“粘贴”下拉菜单,然后选择“选择性粘贴”(或直接点击CTRLALTV)。选择Unformatted Unicode Text. 方程应该大部分正确填写,如 Devid 的最后一张图片。

还有一件事 - 在图片中,“lim”命令是斜体的,它们不是原始的。为了解决这个问题,对于每个“lim”,将光标放在“m”之后,然后点击Space,使 Word 根据其功能表检查“lim”并调整格式。(然后删除创建的额外空间。)


Ada*_*ski 5

在 Word 中,我更喜欢 TeXsword 而不是 Latex(TeXsword 下载)。它具有 Word 中 Latex 的所有功能,还提供了对等式引用的处理。而且它不需要互联网连接,我认为这是一项功能而不是限制:毕竟 MikeTeX 并没有那么大,并且在本地安装 LaTeX 可以让您在旅行时输入文档。


Meh*_*lar 4

您可以在 Word 中使用 Latex

它为 Microsoft Word 提供宏,允许使用 LaTeX 输入以内联和显示模式创建方程图像,而无需在本地计算机上安装任何软件。据我所知,这是AuroraTexPoint等付费程序的唯一免费替代方案。

对于 Office 2007,请转至Source Forge 上Word 项目页面中的 Latex,然后单击Files下的 Word 2007 。

Word 中的 LaTeX 是一种 GPL 许可的工具,允许在 Microsoft Word 文档中使用方程式。该程序的客户端在文档“LaTeXinWord_v_0_3_1.docm”中以 VBA 宏以及指令的形式实现。因此,该文件包含源代码、实现和文档。