Mathjax как скопировать в word
Let's say I have a (comparatively) lovely-looking document in LaTeX, full of lovingly typeset, (relatively) complex equations.
Now, let's say some barbarians come along one day and decide that the document has to be put into Microsoft Word (2007).
. after the usual mourning period associated with such events, let's say I value my job (more specifically, the bread it provides) enough to get all the text and tables formatted and references organised into the Word document. –. related questions here and here–
Now I'm looking at the equations with fear and dread.
One option of course is to just lift screenshots from the original document, but this is painstaking if I need to refer to parts of the equation in the text. Also, I might need to edit equations on the fly.
Anyone know of a free application which allows embedding LaTeX math into MS Word?
I've looked at Aurora and TexPoint which do roughly what I want. they build LaTeX images from source and embed them into the Word document, allowing to edit the source later. but both are commerical.
. any help in these troubling times will be greatly appreciated.
EDIT: Just a note that Aurora offers a 30-day free trial and is working out really nicely. but still, it's not free. Might be a good solution for those with short-term needs, or money.
I'm not sure, but Pandoc might help you. It doesn't support MSOffice format out of the box, but I know it can export to RTF or ODT, so you could use OpenOffice/LibreOffice to save them to the proper doc/docx format.
Word 2007 has better math typesetting than LaTeX, so there's no need to embed anything. Press Alt+= and have fun.
@Philipp: "better than TeX" is a very blatant assertion, it has some nice features but nothing ground breaking and it has its share of problems too.
@Khaled, a few reasons: (1) I already have the equations in TeX from an existing document, (2) I can do new equations the way I like them much quicker in TeX than Word, (3) I'm don't want to invest time figuring out Word's way of doing things for a (hopefully) once-off job. ;)
16 Answers 16
You should be able to cut and paste mathematics from your web browser to Word (or any of the Micorsoft Office suite). Unfortunately at present you have to make a small edit but any text editor will do for that.
Make a small html file that looks like
View that in a web browser and select "show MathML as/MathML Code" from the right menu:
Select the MathML text from the popup window.
Normally you can paste MathML in to word but for various reasons you need to give Word a hint in this case, so first paste it into a text editor and add the line
Then cut out the edited text and paste it into Word (any version since 2007).
Note the result is a fully editable Word Math Zone, using scalable fonts, not an image.
I used MathJax in a web browser for the initial TeX to MathML conversion as it is the easiest to set up, there are other alternatives. Also, to make it simple, I described the process in terms of cutting and pasting, which works well for one or two expressions but clearly not if you are converting thousands, however the process can be automated in various ways.
This solution should work for most cases. I tried with $$c_(x,z)$$, using both one-click and the detailed method by David. For David's method, the version observed in the web browser is correct. However, in both the cases, final version in MS word has an extra subscript which is empty. If I try a simplified version, $$c_(x,z)$$, it works. So, for complex examples, it may not give expected results. Anyway, the solution is very helpful, thanks!\!_Y>
If you're going completely free/open source, then I guess dropping MS Word for something like OpenOffice Writer might also be considered. For this, there's OOoLaTeX. From the OOoLaTeX SourceForge project webpage:
OOoLatex is a set of macros designed to bring the power of LaTeX into OpenOffice. It contains two main modules: the first one, Equation , allows to insert LaTeX equations into Writer and Impress documents as png or emf images while the second one, Expand , can be used for simpler equations to expand LaTeX code into appropriated symbol characters and insert them as regular text.
This should work as a cross-platform alternative.
Back to MS Word, a number of work-arounds exist using MS Powerpoint. Copy-and-paste the resulting equation (from Powerpoint) across the Office Suite.
The first is via TeX4PPT. The maintainer(s) suggest it provides an alternative to TeXPoint that is faster:
TeX4PPT is designed following the philosophy of TeXPoint, to enable PowerPoint to typeset sentences and equations using the power of TeX. It differs from TeXPoint in that it uses a native DVI to PowerPoint converter, providing extremely fast conversion. Additionally, the result is set using native truetype fonts under windows, providing the highest fidelity.
TeX4PPT seems to be a little lagging in up-to-date support, since "a compatible version for PP2007 will be forthcoming" (from the website).
The second is via Iguanatex. From the homepage:
IguanaTex is a PowerPoint plug-in which allows you to insert LaTeX equations into your PowerPoint presentation. It is distributed completely for free.
The third is via MyTeXPoint. From the homepage:
Free simplified version of TeXPoint. Partly compatible with the original TeXPoint. It has integrated screenshot tool to copy equations and pictures right from the screen. Supports Microsoft Powerpoint (tested with version 2007 and 2005). Compatible with Microsoft Office 2010.
If you're stuck with an old version of MS Word (for whatever reason), older - free - versions of TeXPoint still exist. I haven't tested any of the choices listed below, but it's worth a shot:
The last version of TeXPoint (v1.5.4) apparently works for all versions, but it is much older the current, non-free version (v3.3.1), so it probably doesn't provide the latest functionality.
For a complete list of formula editors across many platforms and compatibility criteria (including compatibility with TeX), consider viewing the Wikipedia entry on formula editors.
Подскажите способ конвертации mathjax в word (pdf)
Последний раз редактировалось gevaraweb 12.03.2019, 15:52, всего редактировалось 1 раз.
Добрый вечер!
Может кто-то сталкивался. Есть веб-страница с текстом и формулами, набранными в mathjax .
Подскажите способ конвертации (быстрый) страницы в word или pdf?
Формулы mathjax можно перевести в mathml (хотя умею только по одной формуле, а если их много?). Может, тогда есть способ перевести формулы mathml в редактор (сразу все) .
Последний раз редактировалось arseniiv 12.03.2019, 18:58, всего редактировалось 2 раз(а).
Pandoc? Там и в doc должна быть конвертация, и в pdf, и на входе html, использующий MathJax, он должен бы понимать (Markdown + MathJax понимает, я конвертировал им их в html).
-- Вт мар 12, 2019 20:58:25 --
Да, для pdf там понадобится что-то из перечисленных на той странице программ, а doc я неправильно сказал — docx поддерживает.
Последний раз редактировалось Red_Herring 13.03.2019, 05:00, всего редактировалось 1 раз.
в pdf все просто: распечатать страницу в pdf (но формулы станут "вложенной графикой")
Pandoc
? Там и в doc должна быть конвертация, и в pdf, и на входе html, использующий MathJax, он должен бы понимать (Markdown + MathJax понимает, я конвертировал им их в html).
Я боюсь, что pandoc понимает --mathjax только при переходе к html, а не наоборот. Если бы мне хотелось превратить html с кучей формул MJ во что нибудь, при этом возможно "быстро" , но прежде всего "качественно",то превратил бы я его в Markdown (что я и делаю обычно с помощью pandoc), затем в LaTeX , тут уже "вручную но скопом", т.е. с помощью "replace all" и "regular expressions", а дальше например tex4ht (это часть tex). Тут надо понимать, что html сам по себе не задуман как исходный формат, а tex как конечный , а скорее наоборот (а с MSW слово "задуман" выглядит издевательством).
PS. Я сделал свой online textbook в markdown+mathjax , с конверсией в html+mathjax, но даже из markdown+mathjax в приличный tex нужна работа, т.ч. я потратил достаточно много времени несколько лет назад, и м.б. проделаю этим летом с тем, чтобы учесть все улучшения. Но тут и такой фактор: html это много страниц, а pdf это один документ. В любом случае ключевой вопрос: "Чаво надо? Быстро али качественно?"
PPS. Стоит помнить, что бывают вебстраницы, написанные людьми, а бывают написанные всякими visual editor, и там такой *** код (то же относится иногда к tex файлам)
Хм, действительно, пока вполне сойдет, благодарю. Главное, чтобы студенты могли распечатать свои срс (так они у меня домашку будут делать). Придется сделать, конечно, отдельную страницу, с хорошими полями, где выводятся задания и их решения, что решаемо, так как все хранится в бд.
Может, вам тоже стоит использовать бд для хранения отдельных глав. Потом автоматом их склеиваете и репласите (если конечно я правильно понял проблему). Немножко будет легче )
Может, вам тоже стоит использовать бд для хранения отдельных глав. Потом автоматом их склеиваете и репласите (если конечно я правильно понял проблему). Немножко будет легче )
Предлагаю добавить рендеринг формул в MathJax. Пусть не дефолтно, но хотя бы выбираемое в настройках (как в Википедии, например).
Ну хотя бы масштабирование без потери качества, удобный зум (если нужно прочесть мелкие формулы), можно использовать в заголовках тем, можно быстро посмотреть LaTeX код.
Десятки мелких картинок, перемешенных с текстом -- это ужасно. На том же math.se можно посмотреть, как всё выглядит цельно и красиво.
MathJax работает на большинстве не совсем допотопных браузерах и платформах.
Последний раз редактировалось lena7 12.08.2013, 22:01, всего редактировалось 3 раз(а).
Он не произвольными шрифтами работает (об этом лучше в оф. документации почитать). А те, с которыми работает -- подавно UTF-8 включают. Кстати, локальная установка шрифтов не требуется.
Это я набрала в форме ответа на math.se.
Последний раз редактировалось Denis Russkih 13.08.2013, 16:31, всего редактировалось 1 раз.
Xaositect
А картинки как копировать?
Последний раз редактировалось arseniiv 13.08.2013, 18:46, всего редактировалось 1 раз.
Если добавлять MathJax как вариант отображения, надо каким-то образом сохранить картинки в тех местах, где он бессилен, иначе пользователи с выбранным им не смогут видеть то же, что остальные с текущим отображением.
-- Вт авг 13, 2013 21:46:32 --
MathJax — хорошая вещь, но когда он стоит с самого начала. Тогда никто не использовал бы то, чего в нём сейчас нет.
Последний раз редактировалось Red_Herring 15.02.2014, 21:00, всего редактировалось 1 раз.
Какие преимущества MathJax?
1) Лучшее качество формул
2) TeX который на форуме рассматривает каждый математический анзатц отдельно. Ср:
но если я попытаюсь использовать макро в другом анзатце
то получу
Поэтому вводить макро не очень осмысленно. И автоматическая нумерация формул "летит" т.к. начинается по новой
3) В форумном TeX \label -- \ref механизм не работает даже внутри того же анзатца
О преимуществах форумного TeX и как я подключил MathJax к своему SMF форуму -- в другой раз
Преимущества форумного ТеХ:
1. Работает \intertext:
В MJ \intertext не работает, и по объяснению Davide Cervone (создателя MJ и предшествующего ему jsMath) он не знает как его сделать, потому что внутренний движок MJ--MathMl, а там такого нет
2. Tikz: MJ принципиально поддерживает только формулы. На мой взгляд, это не очень большой недостаток, т.к. Tikz здесь поддерживается не полностью, и всегда можно используя полный tikz/pgf с библиотеками, а также с кучей пакетов от разных авторов, надстроенных над tikz/pgf, а также с gnuplot построить картинку в pdf, обрезать ее с pdfcrop, перевести в png и добавить как attachment
Как установить MathJax? Это зависит, куда: на простую веб страницу, mediawiki, wordpress или форум.
Открыть Sources/Subs.php, найти
Разумеется, конфигурацию можно изменить.
Побочный эффект: на Firefox и подобных перестает работать Preview (но если можно редактировать посты, это не страшно).
Ещё один аргумент в пользу MathJax. Сейчас всё больше пользователей читают сайт с мобильных устройств, у которых имеется тенденция к увеличению разрешения экрана. Соответственно, картинки фиксированного размера на маленьких экранах с большим расширением выглядят комично малыми. Вот что вижу я на своём Nexus 5 (разрешение 1920x1080 при экране 5'', для сравнения такое же разрешение имеет мой 24''-монитор):
Интересно, есть ли какие-нибудь бесплатные решения для ввода математических формул способом LaTeX в документе Microsoft Word (Office 2007)?
Внутренний писатель формул не работает для вас? Это очень удобно, когда я делаю интегралы и / или суммирования.
@NN Я не могу ответить за Тима, но, к сожалению, я должен написать статью в Word. Не использовал программное обеспечение в течение последних 9 лет .
Если вы используете Office 365 версии 1707 или более поздней, редактор формул позволяет вам конвертировать LaTex в собственный формат. Смотрите первую часть этого ответа.
В более старых версиях Office редактор формул может понимать некоторые компоненты LaTeX. Тем не менее, он строит уравнение на ходу, и вы не можете преобразовать полное уравнение LaTeX. Смотрите вторую часть этого ответа, если вы работаете:
- WinWord 2007, 2010, 2013 и 2016
- MacWord 2011 и 2016
Переведите редактор уравнений в режим LaTeX. На ленте « Дизайн редактора формул» перейдите в группу « Конверсии » и нажмите « LaTeX» .
Откройте раскрывающееся меню « Преобразовать» и нажмите « Текущий - Профессиональный» .
LaTeX будет преобразован в собственный формат редактора формул.
Вы также можете конвертировать обратно в LaTeX для редактирования уравнения.
- Откройте раскрывающееся меню « Преобразовать» и нажмите « Текущий» - «Линейный» .
- Уравнение конвертируется обратно в формат LaTeX. Примечание: это не ваш исходный источник LaTeX, потому что он был обработан с помощью внутреннего формата редактора формул.
- Откройте раскрывающееся меню « Преобразовать» и нажмите « Текущий - Профессиональный» .
Вы должны использовать выпадающее меню, потому что кнопка Convert не переключается автоматически между Linear и Professional. Он сохраняет последнюю использованную команду.
Есть некоторые ограничения. Например, редактор уравнений Office 365 не понимает команды \ begin и \ 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 , как обычно у ms свой собственный «лучший» способ работы. +1 за пост, это облегчает, если вы застряли в слове.
Привет, я не уверен, что делаю все правильно. Я пытаюсь использовать латексный стиль для дроби: \ frac <> <>, но это не работает в поле уравнения.
Напишите свои математические формулы в LaTeX → Преобразуйте формулы LaTeX в MathML-код → Скопируйте / вставьте MathML-код в Word (после вставки нажмите, CTRL а затем T ). Вуаля!
ПРИМЕР:
Давайте возьмем для примера эту формулу:
Это исходный код LaTeX из приведенной выше формулы:
Теперь откройте редактор и поместите приведенный выше исходный код между знаками $$ $$ следующим образом:
Сохраните файл как файл .html и откройте его в браузере, таком как Chrome.
Щелкните правой кнопкой мыши формулу и выберите «Показать MathML как» → «Код MathML».
Теперь скопируйте / вставьте код MathML в Word 2013 (или 2007) и последовательно нажмите CTRL и затем T (« Параметры вставки: сохранить только текст» ) или перейдите к небольшому изображению Ctrl в конце вставленного кода MathML и выберите параметр вручную.
Вот как выглядит формула в конце в Word 2013:
Кажется, что высота скобок становится все одинаковой после конвертации. (Рассмотрим что-то вроде d \left((a+b)+\frac<1>\right) .) Это ограничение MathML?1>
Это лучший ответ, потому что все формулы латекса могут быть вместе в одном файле HTML. У вас есть возможность легко изменить формулу латекса в Notepad ++, изменить ее при необходимости и вручную скопировать / вставить версию MathML из документа Chrome в Word. Проблема с Microsoft заключается в том, что она не может принять вставку / копию уравнения латекса.
Исходный код, который я отправил на Github. Ссылка здесь
Если вы предпочитаете, вы можете скачать установщик прямо здесь .
Примечание. Это активная ссылка для загрузки, которая сразу же загружает файл при нажатии на него.
Как это сделать
Я проверял это в Word 2016. К сожалению, нажатие кнопки ничего не делает. Нужно ли что-то устанавливать, чтобы это решение работало?
Я предпочитаю TeXsword, а не латекс в Word ( загрузка TeXsword ). Он имеет все возможности Latex в Word, а также обеспечивает обработку ссылок на уравнения. И для этого не требуется подключение к Интернету, которое я считаю функцией, а не ограничением: MikeTeX не так уж и велик, а наличие локального LaTeX позволяет печатать документ во время путешествия.
У нас в компании уже давно внедрена система стимулирования сотрудников (KPI) на базе «Redmine», совмещающая функции расчета ЗП. Расскажу о ней в двух словах.
У каждой должности есть какой-то оклад, сотрудник, занимающий должность, может славно поработать и умножить свой оклад на коэффициент результативности, который вычисляется на основе кучки показателей настроенных для его должности. Коэффициент результативности может быть как больше, так и меньше единицы. Таким образом, моделируя показатели, можно стимулировать сотрудников определенных должностей работать в определенном направлении.
Все это может выглядеть примерно вот так:
Со временем, мы пришли к выводу, что оклад у некоторых должностей тоже должен меняться в зависимости от различных показателей. Например, у руководителей аптек, базовый оклад должен зависеть от денежного оборота аптеки. Причем, зависимость эта может быть различной!
Важная особенность, которую всегда нужно учитывать при внедрении KPI – это прозрачность! Сотрудник всегда должен знать, почему он получил именно такую ЗП, где он недоработал, почему показатель посчитался именно так.
Поэтому, возникла необходимость помимо расчета базового оклада еще и продемонстрировать, как вычислялся оклад.
Latex и MathML
На данный момент существуют два основных стандарта для отображения формул в браузере: Latex и MathML
Я мучительно долго выбирал, какую из технологий использовать. В результате сделал несколько выводов. Надеюсь, они будут полезны сообществу.
Основное преимущество Latex в лаконичности записи. В остальном, по моему мнению, данный формат уступает MathML.
Например, запись формулы в Latex выглядит вот так:
В MathML то же самое записалось бы гораздо более громоздко:
MathML – это ХМL в чистом виде, от сюда более простой парсинг для собственных нужд, в случае необходимости.
MathML показался более понятный и быстро осваиваемым форматом. Хотя это мнение индивидуальное и спорное.
MathML поддерживается большинством современных браузеров, кроме Chrome, который отказался от поддержки данного формата, сославшись на библиотеку MathJax. Это значит, что в Firefox, например, не нужно подключать дополнительные библиотеки, браузер распарсит и отобразит формулу указанную выше без помощи сторонних библиотек.
«MathML» позволяет дополнить формулу кучкой полезных дополнений. Нам, например, жизненно необходимо было получить всплывающую подсказку к определенным значениям формулы, что бы сотрудник видел, откуда появилось данное значение. Для этого в MathML есть тег maction:
В результате при наведении на значение, пользователю покажется всплывающая подсказка:
MathJax
MathML хорош, но к сожалению, он не поддерживается всеми браузерами. Есть библиотека MathJax, которая позволяет парсить MathML в HTML, SVG и т.д. Она же, кстати, парсит отвергнутый мною Latex.
Библиотека неплохо справляется с парсингом формул, но имеет недостатки.
Самый большой, на мой взгляд, ее объем – 32.9 Mb в сжатом виде. Конечно не все будет отдаваться клиенту при отрисовке формулы, но сам по себе такой объем js-библиотеки, напрягает. Нам, например, нужно было раздавать ее внешним клиентам.
Изначально подключив всю библиотеку и реализовав задачу, я наугад выбросил из нее кучу папок. Методом «тыка», проверив, что ничего не сломалось. Размер сократился до 16 Mb. В основном выкидывал папки со шрифтами и лишними форматами вывода (например, SVG).
Грамотной документации по уменьшению объема библиотеки не нашел.
Библиотека достаточно тяжелая в освоении. Я долго ковырялся, в ней отключая ненужные фишки. Перечислю полезные конфигурационные настройки, которые оказались полезными:
Во-первых, у нас каждая формула открывается в отдельном окошке, которое грузится асинхронно (через AJAX). Следовательно, нет необходимости грузить библиотеку, когда пользователь не кликнул на ссылке. Примерно вот так это выглядит:
При динамическом подключении библиотеки возникали проблем с рендерингом формулы. Формула рендерилась лишь в том случае, когда библиотек подгружалась в первые, при повторном клике и открытие окошка, формула не рендерилась. Помогла конструкция, которая принудительно запускала рендеринг формул на странице:
Рендеринг формулы происходит не мгновенно, поэтому пользователю лучше показать прелоадер, для этого есть конструкция:
Иногда полезно увеличить масштаб:
Если после рендеринга формулы необходимо запустить какой-то дополнительный javascript, то можно воспользоваться конструкцией:
Для отключения дополнительного меню, которое можно вызвать правым кликом мыши, и отключения зума формулы:
Две формулы, а не одна
Меня до последнего не покидала мысль парсинга математической формулы по которой собственно будет производиться расчет в MathML формат. То-есть в базе данных я хотел сохранять одну формулу вида:
А mathml-конструкцию получать из исходной формулы:
В результате, сделалал вывод, что это до невозможности сложно и не всегда оправданно. В mathml-формуле может быть куча елементов, которые невозможно хранить в обычной формуле, например, всплывающие подсказки, выделения шрифта цветом и т.д. На текущий момент сохраняем в базе две формулы, одну для непосредственного расчета значения, а другую для отображения пользователю системы расчета.
Я стараюсь писать статьи после того, как столкнувшись со сложностями не нашел понятного и быстрого решения своих проблем. Думаю, моя специфическая статья будет кому-то полезной.
Читайте также: