我想知道是否有一些免费的解决方案可以在Microsoft Word文档(Office 2007)中以LaTeX方式键入数学公式?
我想知道是否有一些免费的解决方案可以在Microsoft Word文档(Office 2007)中以LaTeX方式键入数学公式?
Answers:
如果您运行的是Office 365版本1707或更高版本,则可以使用“公式编辑器”将LaTex转换为本机格式。请参阅此答案的第一部分。
在Office的早期版本中,公式编辑器可以理解某些LaTeX组件。但是,它随您建立方程式,因此您无法转换整个LaTeX方程式。如果正在运行,请参见此答案的第二部分:
将公式编辑器置于LaTeX模式。在“公式编辑器设计”功能区中,转到“ 转换”组,然后单击“ LaTeX”。
输入LaTeX。
打开“ 转换”下拉菜单,然后单击“ Current-Professional”。
LaTeX将被处理为公式编辑器的本机格式。
您还可以转换回LaTeX以编辑公式。
您必须使用下拉菜单,因为“ 转换”按钮不会在Linear和Professional之间自动切换。它保留最后使用的命令。
有一些限制。例如,Office 365公式编辑器不了解\ begin和\ end命令。请参阅Microsoft文档以获取示例和可能的解决方法:
很少有人意识到Word 2007中的内置方程式编辑器实际上了解LaTeX样式的方程式输入。只需插入一个新方程式,然后在其中键入LaTeX。键入时,Word将建立等式的图形表示。
一旦它出现在GUI中,您就不能再将其编辑为LaTeX。Word没有嵌入式TeX处理器-它只是在进行模式匹配,以将简单的LaTeX语法转换为本机方程式格式。因此,您不应该期望对超复杂LaTeX方程获得完美的保真度。但是,对于数学家以外的任何人来说,这已经足够了,并且比用鼠标单击元素要快得多。
Word 2007公式编辑器还具有线性公式输入格式,该格式相当直观,并且不需要熟悉LaTeX。例如,键入(a+b)/(c+d)
将产生格式正确的分数。
笔记:
即使您另存为.doc而不是.docx,许多科学杂志也不接受采用新公式格式的Word文档。
这不会把Word变成LaTeX。它只是方程本身,而没有别的。您甚至没有得到方程式编号。
在LaTeX中编写数学公式→在MathML代码中转换LaTeX公式→在Word中复制/粘贴MathML代码(粘贴后单击CTRL,然后单击T)。瞧!
让我们以这个公式为例:
这是上述公式的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.
现在打开一个编辑器,将上面的源代码放在这样的符号$$ $$之间:
<!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>
将文件另存为.html文件,然后使用Chrome之类的浏览器将其打开。
右键单击该公式,然后选择将MathML显示为→MathML代码。
<math xmlns="http://www.w3.org/1998/Math/MathML" display="block">
<mn>0</mn>
<mo>≤<!-- ≤ --></mo>
<munder>
<mo form="prefix" movablelimits="true">lim</mo>
<mrow class="MJX-TeXAtom-ORD">
<mi>n</mi>
<mo stretchy="false">→<!-- → --></mo>
<mi mathvariant="normal">∞<!-- ∞ --></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>≤<!-- ≤ --></mo>
<munder>
<mo form="prefix" movablelimits="true">lim</mo>
<mrow class="MJX-TeXAtom-ORD">
<mi>n</mi>
<mo stretchy="false">→<!-- → --></mo>
<mi mathvariant="normal">∞<!-- ∞ --></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">→<!-- → --></mo>
<mi mathvariant="normal">∞<!-- ∞ --></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">→<!-- → --></mo>
<mi mathvariant="normal">∞<!-- ∞ --></mi>
</mrow>
</munder>
<mfrac>
<mn>1</mn>
<mi>k</mi>
</mfrac>
<mo>=</mo>
<mn>0.</mn>
</math>
现在,在Word 2013(或2007)中复制/粘贴MathML代码,并依次单击CTRL,然后单击T(“ 粘贴选项:仅保留文本”),或转到粘贴的MathML代码末尾的小Ctrl图像,然后手动选择选项。
d \left((a+b)+\frac{1}{c}\right)
。)这是MathML的限制吗?
我已经根据答案创建了LatexToWordEquation。
这是一个单词插件。
我推送到Github的源代码。连结这里
如果您愿意,可以直接从此处下载安装程序。
注意:这是一个活动的下载链接,单击该链接将立即下载文件。
怎么做
与Word中的Latex相比,我更喜欢TeXsword(TeXsword下载)。它具有Word中Latex的所有功能,并提供了对方程式引用的处理。而且它不需要Internet连接,我认为这不是一项功能限制:MikeTeX毕竟不是那么大,并且在本地拥有LaTeX可以让您在旅行时键入文档。
它提供了Microsoft Word的宏,这些宏允许使用LaTeX输入以内联和显示模式创建方程式图像,而不必在本地计算机上安装任何软件。据我所知,这是Aurora和TexPoint等付费程序的唯一免费替代方案。
对于Office 2007,请转到Source Forge上Word项目页面中的Latex,然后单击Files下的Word 2007 。
Word中的LaTeX是GPL许可的工具,允许在Microsoft Word文档中使用方程式。该程序的客户端与说明一起在文档“ LaTeXinWord_v_0_3_1.docm”中作为VBA宏实现。因此,此文件包含源代码,实现和文档。
@Devid的回答很好,但是我在具体说明上有困难。这对我有用。通过复制MathML代码执行Devid的步骤。
然后,插入一个空白方程式。在Word 2013中,切换到“打印布局”视图(功能区上的“视图”选项卡)。在“插入”选项卡上,选择“方程式”。您将看到已Type equation here
选择。
在“主页”选项卡上,选择“粘贴”下拉菜单,然后选择“选择性粘贴”(或点击CTRLALTV)。选择Unformatted Unicode Text.
然后应如Devid的最后一张照片一样正确地填写等式。
还有一件事-在图中,“ lim”命令以斜体显示,而不是原始命令。要解决此问题,对于每个“ lim”,请将光标放在“ m”之后,然后单击Space以使Word根据其功能表检查“ lim”并调整格式。(然后删除创建的多余空间。)
我编写了用于生成MathML的工具,改进了代码格式Devid,并添加了一些易于编辑的功能。这是代码:
<!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>
<script src="http://code.jquery.com/jquery-latest.min.js" type="text/javascript"></script>
<script type="text/x-mathjax-config">
MathJax.Hub.Config({tex2jax: {inlineMath: [['$','$'], ['\\(','\\)']]}});
</script>
<script>
function SelectText(element) {
var doc = document
, text = doc.getElementById(element)
, range, selection
;
if (doc.body.createTextRange) {
range = document.body.createTextRange();
range.moveToElementText(text);
range.select();
} else if (window.getSelection) {
selection = window.getSelection();
range = document.createRange();
range.selectNodeContents(text);
selection.removeAllRanges();
selection.addRange(range);
}
}
$(document).ready(function(){
$("#latexContent").val("$$ $$");
$('#latexContent').bind('input propertychange', function() {
$("#myoutput").text($("#latexContent").val());
// MathJax.Hub.Queue(["TypeseTextt",MathJax.Hub,"myoutput"]);
MathJax.Hub.Typeset("myoutput")
});
$("#btnShowMathML").click(function(){
var con = $(".MJX_Assistive_MathML").html();
$("#myMathml").text(con);
SelectText("myMathml");
});
$("#btnClear").click(function(){
$("#latexContent").val("$$ $$");
$("#myoutput").html("<p style='color: grey; font-style: italic;'> The LaTeX will display here ! </p>");
$("#myMathml").text("");
});
});
</script>
</head>
<body>
<center>
<p> Enter LaTeX here! </p>
<textarea id="latexContent" rows="5" cols="100"> </textarea>
<button id="btnClear" type="button">clear</button>
<button id="btnShowMathML" type="button">Show The MathML</button> </br></br>
<span id="myoutput">
<p style="color: grey; font-style: italic;"> The LaTeX will display here ! </p>
</span> </br>
<span id="myMathml"> </span>
</center>
</body>
</html>
将MathML转换为Word时,请确保使用Ctrl + Alt + V键复制纯文本(或首先将其复制到记事本,然后将其复制到Word)。
Word中LaTeX的默认服务器似乎不再运行。如果您被迫使用Word(例如,与技术水平较低的人合作),那么我将按照Adam的建议使用TeXsword。您需要安装一个独立的MikTex发行版,但是如今这很容易安装。它可以与我的Word 2016一起使用。它看起来还不如真正的LaTeX文档好,但它比Word中的方程式编辑器更易于使用和更具延展性。
上面提到的答案是正确的,但是还有一个内置的快捷方式,它是自动数学运算的。这很像LaTeX。默认情况下,它是不活动的,但是您可以激活它,如果您要编写大型方程式,则非常有用。例如,如果您想输入H 2而不是只需要输入H_2等,那么还有更多选项可用,例如,插入符号(^)后的上标字符将转换为上标。该视频介绍了许多此类快捷方式,或者您可以简单地搜索“ 如何在Ms-Office中插入数学方程式(如LaTeX): YouTube上的提示和技巧 ”。
如果您打字很快,此方法将特别有用。而且,它将节省您的时间,而这些时间在键盘和鼠标之间切换以及在Word中搜索适当的选项时会浪费掉。