Переход на СПО в научной среде: боремся с формулами
Содержание:
1. Текущее положение дел;
2. Ищем замену;
3.Боремся с формулами (Вы читаете данный раздел).
Пользователь, переходящий с MS Office на LibreOffice, вполне резонно ожидает, что LibreOffice Math будет более-менее похож на привычный Equation Editor или на его более продвинутый аналог MathType. Однако LibreOffice Math неприятно поражает новичка совершенно непродуманным и неудобным интерфейсом. Простое внешнее сравнение с MathType показывает пропасть, лежащую между этими программами (см. рис. ниже). В LibreOffice Math нужно либо осваивать довольно сложный синтаксис а-ля LaTeX, либо пользоваться крайне неудобным визуальным редактором, за которым все равно приходится постоянно «подчищать» код в текстовом окне. Реализация интерфейса Math не выдерживает критики. Палитра символов сделана в виде неудобного отдельного окна, а не в виде обычной «плавающей» панели инструментов. Греческие буквы почему-то вставляются из отдельного диалога, а не из той же палитры (где их долго и безуспешно ищут все без исключения новички). Иконки палитры выглядят просто кошмарно (такое впечатление, что символы нарисовали вручную и отсканировали).

Интерфейсы LibreOffice Math 3.3.2 (слева) и MathType 6.0 (справа). По удобству использования и продуманности интерфейса LibreOffice Math на порядок уступает своему проприетарному конкуренту
Первым недостатком в LibreOffice Math является то, что в программе нет функции сделать снимок готового результата и переслать его своим коллегам. Впрочем скриншот на маке (http://joxi.ru/tour/mac), windows или linux очень просто сделать при помощи программы Joxi и ей подобных!
Вторым большим минусом является и то, что вместо полного разделения визуального и текстового режимов редактирования в Math реализована какая-то «гремучая смесь». Мышью можно визуально установить курсор в нужную точку, но с клавиатуры его можно двигать только в текстовом окне. Выбор сложных конструкций - скажем, знака интеграла - из визуальной палитры вставляет в текст заполнители «», которые надо заменить нужными выражениями. Заполнитель должен заменяться только полностью, но при этом программа зачем-то позволяет редактировать его отдельные символы. Если удалить заполнитель не полностью, то может нарушиться интерпретация всей строки. Например, строка:
дает формулу:

но стоит случайно оставить знак «>» из заполнителя верхнего предела, как получается абракадабра со сдвигом всего форматирования:

В большой «многоэтажной» формуле такую ошибку найти довольно сложно. Что помешало разработчикам интерпретировать последовательность «» как один символ при редактировании, совершенно непонятно.
Пределы интегрирования в Math нужно вставлять отдельно от самого интеграла и обязательно сразу за ним, до заполнителя подынтегрального выражения. Если «промахнуться» и вместо:
написать:
(пределы вставились не до, а после икса), то вместо:

получится нечто непонятное:

В MathType этот момент реализован гораздо логичнее: на палитре есть отдельные символы для интегралов без пределов и с пределами. Одним словом, в LibreOffice Math проявились все недостатки как WYSIWYG-редактора так и LaTeX-подобного языка разметки без присущих им достоинств.
Набор формул - это только часть проблемы. Их нужно еще и нумеровать, расставлять перекрестные ссылки... С помощью MathType номера формул вставляются одним щелчком, а перекрестные ссылки - двумя (щелчок по кнопке на панели инструментов и двойной щелчок на номере нужной формулы). В LibreOffice все куда сложнее. Чтобы понять, как правильно вставить нумерованную формулу, приходится обращаться к документации и форумам OpenOffice.org, которые дают следующий рецепт (мягко говоря, нетривиальный). Для вставки номера формулы нужно выполнить Insert — Fields — Other, выбрать из списка Variables «Number Range», установить тип переменной Text и щелкнуть Insert. Чтобы вставить перекрестную ссылку на формулу, нужно выполнить Insert — Cross Reference, выбрать тип Text и выбрать из списка нужный номер формулы. К сожалению, эта процедура не работает, как надо: номер формулы вставляется в текст, но в списке перекрестных ссылок он не появляется. Единственное работающее решение, которое я нашел, - набрать в тексте «fn» и нажать F3. Появится вот такой шаблон нумерованной формулы:
Из этого шаблона можно скопировать номер формулы и вставить его куда нужно. Перекрестные ссылки на такой номер почему-то работают нормально, но назвать все эти манипуляции иначе как «танцами с бубном» я не могу.
Попытки пользователей набирать в LibreOffice тексты с формулами успехом не увенчались. Многие попросту не смогли запомнить «магические» манипуляции, необходимые для вставки формул и ссылок на них, а у тех, кто их освоил, постоянно возникали дополнительные проблемы. Скажем, в Math нельзя выделить часть формулы цветом, что бывает очень полезно для презентаций.
Следующая серьезная проблема возникает при необходимости совместного редактирования документов с формулами.
Практически наверняка никто из ваших коллег не пользуется LibreOffice, поэтому обмениваться файлами поневоле приходится в формате MS Word. В принципе LibreOffice умеет отображать формулы, созданные в Equation Editor и MathType, и даже конвертировать их в объекты LibreOffice Math, но на практике при этом получается примерно такая абракадабра:
При попытке редактирования такой формулы выскакивает предельно неинформативное сообщение «General Error». Соответствующий баг для OpenOffice.org датирован 2008 годом (http://openoffice.org/bugzilla/show bug.cgi?id=92203), а первые упоминания о проблеме на форумах OpenOffice появились еще в 2005 году, но за 6 лет (!) за исправление этой проблемы никто даже не брался.
Самое обидное, что проблема с отображением по сути пустяковая и заключается всего-навсего в неправильно указанных кодах символов шрифта Open Symbol.
Можно, конечно, сказать, что мы требуем слишком многого, поскольку формат doc закрыт, а сторонние проприетарные дополнения вроде MathType и вовсе не обязаны поддерживаться в LibreOffice. Однако давайте посмотрим правде в глаза - свободный офис может составить серьезную конкуренцию MS Office только в том случае, когда присланные по почте doc-файлы или свои же старые статьи в этом формате можно будет как минимум нормально прочитать. В нашем случае это не так и переход на LibreOffice оказывается невозможным.
1. Текущее положение дел;
2. Ищем замену;
3.
Пользователь, переходящий с MS Office на LibreOffice, вполне резонно ожидает, что LibreOffice Math будет более-менее похож на привычный Equation Editor или на его более продвинутый аналог MathType. Однако LibreOffice Math неприятно поражает новичка совершенно непродуманным и неудобным интерфейсом. Простое внешнее сравнение с MathType показывает пропасть, лежащую между этими программами (см. рис. ниже). В LibreOffice Math нужно либо осваивать довольно сложный синтаксис а-ля LaTeX, либо пользоваться крайне неудобным визуальным редактором, за которым все равно приходится постоянно «подчищать» код в текстовом окне. Реализация интерфейса Math не выдерживает критики. Палитра символов сделана в виде неудобного отдельного окна, а не в виде обычной «плавающей» панели инструментов. Греческие буквы почему-то вставляются из отдельного диалога, а не из той же палитры (где их долго и безуспешно ищут все без исключения новички). Иконки палитры выглядят просто кошмарно (такое впечатление, что символы нарисовали вручную и отсканировали).
Интерфейсы LibreOffice Math 3.3.2 (слева) и MathType 6.0 (справа). По удобству использования и продуманности интерфейса LibreOffice Math на порядок уступает своему проприетарному конкуренту
Первым недостатком в LibreOffice Math является то, что в программе нет функции сделать снимок готового результата и переслать его своим коллегам. Впрочем скриншот на маке (http://joxi.ru/tour/mac), windows или linux очень просто сделать при помощи программы Joxi и ей подобных!
Вторым большим минусом является и то, что вместо полного разделения визуального и текстового режимов редактирования в Math реализована какая-то «гремучая смесь». Мышью можно визуально установить курсор в нужную точку, но с клавиатуры его можно двигать только в текстовом окне. Выбор сложных конструкций - скажем, знака интеграла - из визуальной палитры вставляет в текст заполнители «», которые надо заменить нужными выражениями. Заполнитель должен заменяться только полностью, но при этом программа зачем-то позволяет редактировать его отдельные символы. Если удалить заполнитель не полностью, то может нарушиться интерпретация всей строки. Например, строка:
int from{1} to{10} nroot{3}{z}
дает формулу:

но стоит случайно оставить знак «>» из заполнителя верхнего предела, как получается абракадабра со сдвигом всего форматирования:
int from{1>} to{10} nroot{3}{z}

В большой «многоэтажной» формуле такую ошибку найти довольно сложно. Что помешало разработчикам интерпретировать последовательность «» как один символ при редактировании, совершенно непонятно.
Пределы интегрирования в Math нужно вставлять отдельно от самого интеграла и обязательно сразу за ним, до заполнителя подынтегрального выражения. Если «промахнуться» и вместо:
int from{1} to{10} x
написать:
int x from{1} to{10}
(пределы вставились не до, а после икса), то вместо:

получится нечто непонятное:

В MathType этот момент реализован гораздо логичнее: на палитре есть отдельные символы для интегралов без пределов и с пределами. Одним словом, в LibreOffice Math проявились все недостатки как WYSIWYG-редактора так и LaTeX-подобного языка разметки без присущих им достоинств.
Набор формул - это только часть проблемы. Их нужно еще и нумеровать, расставлять перекрестные ссылки... С помощью MathType номера формул вставляются одним щелчком, а перекрестные ссылки - двумя (щелчок по кнопке на панели инструментов и двойной щелчок на номере нужной формулы). В LibreOffice все куда сложнее. Чтобы понять, как правильно вставить нумерованную формулу, приходится обращаться к документации и форумам OpenOffice.org, которые дают следующий рецепт (мягко говоря, нетривиальный). Для вставки номера формулы нужно выполнить Insert — Fields — Other, выбрать из списка Variables «Number Range», установить тип переменной Text и щелкнуть Insert. Чтобы вставить перекрестную ссылку на формулу, нужно выполнить Insert — Cross Reference, выбрать тип Text и выбрать из списка нужный номер формулы. К сожалению, эта процедура не работает, как надо: номер формулы вставляется в текст, но в списке перекрестных ссылок он не появляется. Единственное работающее решение, которое я нашел, - набрать в тексте «fn» и нажать F3. Появится вот такой шаблон нумерованной формулы:
E=mc2
Из этого шаблона можно скопировать номер формулы и вставить его куда нужно. Перекрестные ссылки на такой номер почему-то работают нормально, но назвать все эти манипуляции иначе как «танцами с бубном» я не могу.
Попытки пользователей набирать в LibreOffice тексты с формулами успехом не увенчались. Многие попросту не смогли запомнить «магические» манипуляции, необходимые для вставки формул и ссылок на них, а у тех, кто их освоил, постоянно возникали дополнительные проблемы. Скажем, в Math нельзя выделить часть формулы цветом, что бывает очень полезно для презентаций.
Следующая серьезная проблема возникает при необходимости совместного редактирования документов с формулами.
Практически наверняка никто из ваших коллег не пользуется LibreOffice, поэтому обмениваться файлами поневоле приходится в формате MS Word. В принципе LibreOffice умеет отображать формулы, созданные в Equation Editor и MathType, и даже конвертировать их в объекты LibreOffice Math, но на практике при этом получается примерно такая абракадабра:
При попытке редактирования такой формулы выскакивает предельно неинформативное сообщение «General Error». Соответствующий баг для OpenOffice.org датирован 2008 годом (http://openoffice.org/bugzilla/show bug.cgi?id=92203), а первые упоминания о проблеме на форумах OpenOffice появились еще в 2005 году, но за 6 лет (!) за исправление этой проблемы никто даже не брался.
Самое обидное, что проблема с отображением по сути пустяковая и заключается всего-навсего в неправильно указанных кодах символов шрифта Open Symbol.
Можно, конечно, сказать, что мы требуем слишком многого, поскольку формат doc закрыт, а сторонние проприетарные дополнения вроде MathType и вовсе не обязаны поддерживаться в LibreOffice. Однако давайте посмотрим правде в глаза - свободный офис может составить серьезную конкуренцию MS Office только в том случае, когда присланные по почте doc-файлы или свои же старые статьи в этом формате можно будет как минимум нормально прочитать. В нашем случае это не так и переход на LibreOffice оказывается невозможным.