Цікаво, чи є якісь безкоштовні рішення для введення математичних формул способом LaTeX у документі Microsoft Word (Office 2007)?
Цікаво, чи є якісь безкоштовні рішення для введення математичних формул способом LaTeX у документі Microsoft Word (Office 2007)?
Відповіді:
Якщо ви використовуєте Office 365 версії 1707 або пізнішої версії, редактор рівнянь дозволяє конвертувати LaTex у початковий формат. Дивіться першу частину цієї відповіді.
У старих версіях Office редактор рівнянь може розуміти певні компоненти LaTeX. Однак воно будує рівняння по мірі руху, і ви не можете перетворити ціле рівняння LaTeX. Дивіться другу частину відповіді, якщо ви працюєте:
Переведіть редактор рівнянь у режим LaTeX. У стрічці « Дизайн редактора рівнянь» перейдіть до групи « Конверсії» та натисніть LaTeX .
Введіть LaTeX.
Відкрийте спадне меню Перетворити та натисніть Поточний - Професійний .
LaTeX буде оброблений у рідному форматі редактора рівнянь.
Ви також можете перетворити назад в LaTeX для редагування рівняння.
Вам потрібно скористатися спадною меню, оскільки кнопка Перетворити не перемикається автоматично між лінійним та професійним. Він зберігає останню використану команду.
Є деякі обмеження. Наприклад, редактор рівнянь Office 365 не розуміє команд \ start і \ end . Щоб отримати приклади та можливі вирішення, див. Документацію Microsoft:
Дуже мало хто розуміє, що вбудований редактор рівнянь у Word 2007 насправді розуміє запис рівняння в стилі LaTeX. Просто вставте нове рівняння і введіть у нього LaTeX. Під час введення Word створить графічне зображення рівняння.
Після появи в графічному інтерфейсі ви більше не можете редагувати його як LaTeX. У Word немає вбудованого процесора TeX - він просто робить узгодження шаблонів для перетворення простого синтаксису LaTeX у нативний формат рівняння. Тому не слід сподіватися на отримання ідеальної вірності для надскладних рівнянь LaTeX. Однак цього, мабуть, достатньо для когось, крім математика, і це набагато швидше, ніж клацання елементами мишею.
У редакторі рівнянь Word 2007 також є лінійний формат введення рівнянь, який є досить інтуїтивним і не потребує ознайомлення з LaTeX. Наприклад, введення тексту (a+b)/(c+d)
призведе до отримання добре відформатованого дробу.
Примітки:
Багато наукових журналів не прийматимуть документи Word із новим форматом рівнянь - навіть якщо ви збережете як .doc замість .docx.
Це не перетворює Word у LaTeX. Це просто роблять самі рівняння, і більше нічого. Ви навіть не отримуєте нумерацію рівнянь.
Запишіть свої математичні формули в LaTeX → Перетворіть формули LaTeX у код MathML → Скопіюйте / вставте код MathML у Word (після натискання пасти 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 Code.
<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>
Тепер скопіюйте / вставте код MathML у Word 2013 (або 2007) та натисніть послідовно, CTRLа потім T( Параметри вставки: збережіть лише текст ) або перейдіть до невеликого Ctrl-зображення в кінці вставленого коду MathML та виберіть параметр вручну.
d \left((a+b)+\frac{1}{c}\right)
.) Це обмеження MathML?
Я створив LatexToWordEquation на основі відповідей.
Це Word AddIn.
Вихідний код я підштовхнув до Github. Посилання тут
Якщо ви хочете, ви можете завантажити інсталятор прямо звідси .
Примітка. Це активне посилання для завантаження, яке негайно завантажить файл при натисканні на нього.
Як це зробити
Я віддаю перевагу TeXsword над Latex у Word ( завантаження TeXsword ). Він має всі функції латексу в Word, а також надає посилання на посилання рівнянь. І для нього не потрібне підключення до Інтернету, що я вважаю особливістю не обмеженням: зрештою, MikeTeX не настільки великий, а локальне використання LaTeX дозволяє вводити документ під час подорожі.
Ви можете використовувати латекс у Word .
Він надає макроси для Microsoft Word, які дозволяють використовувати вхід LaTeX для створення зображень рівнянь як в режимі вбудованого, так і в режимі відображення без необхідності встановлення будь-якого програмного забезпечення на локальному комп'ютері. Наскільки мені відомо, це єдина безкоштовна альтернатива платним програмам, таким як Aurora та TexPoint .
Для Office 2007 перейдіть на сторінку Latex у програмі Word на Source Forge та натисніть Word 2007 у розділі Файли .
LaTeX у Word - це ліцензований GPL інструмент, який дозволяє використовувати рівняння в документах Microsoft Word. На стороні клієнта програма реалізується як макроси VBA в документі "LaTeXinWord_v_0_3_1.docm" разом з інструкціями. Отже, цей файл містить вихідний код, реалізацію та документацію.
@ Відповідь Девіда відмінна, але у мене виникли труднощі з конкретними інструкціями. Ось що для мене спрацювало. Виконайте дії Девіда через копіювання коду MathML.
Потім вставити порожнє рівняння. У Word 2013 перейдіть до перегляду "Макет друку" (вкладка "Перегляд" на стрічці). На вкладці Вставка виберіть рівняння. Ви побачите Type equation here
вибраних.
На вкладці Домашня сторінка виберіть спадне меню Вставити, а потім спеціальна вставка (або просто натисніть CTRLALTV). Виберіть Unformatted Unicode Text.
Рівняння слід заповнити переважно правильно, як на останньому малюнку Девіда.
Ще одне - на малюнку команди «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 (або спочатку скопіюйте його в блокнот, потім скопіюйте його у слово).
Сервер за замовчуванням для LaTeX у Word, здається, більше не працює. Якщо ви змушені використовувати Word (наприклад, для співпраці з менш технічно орієнтованими), я б використовував TeXsword, як вже запропонував Адам. Вам потрібно буде встановити автономний дистрибутив MikTex , але це просто встановити в наші дні. Він працює з моїм Word 2016. Він досі не виглядає так добре, як справжній документ LaTeX, але він простіший у використанні та більш плавний, ніж редактор рівнянь у Word.
Відповідь, зазначена вище, є правильною, але є також вбудований ярлик, який є математичним авто правильним. Це дуже схоже на LaTeX. За замовчуванням його неактивне, але ви можете активувати його, і це дуже корисно, якщо ви хочете написати великі рівняння. Наприклад, якщо ви хочете ввести H 2, ніж вам просто потрібно ввести H_2 і т.д. Багато таких ярликів висвітлено у цьому відео або ви можете просто шукати як вставити математичне рівняння (наприклад, LaTeX) у програмі Ms-Office: Поради та рекомендації на youtube.
Цей спосіб буде особливо корисним, якщо ви швидко введете текст. Крім того, це заощадить ваш час, який втрачається під час перемикання між клавіатурою та мишею та пошуку потрібної опції словом.