Libre Office. Math

пятница, 22 июня 2012 г.
 Для генерирования формул, в состав офисного пакета Libre Office, входит приложение Math. Это средство интегрировано в остальные пакеты и позволяет наибрать формулы не покидая Writer или Impress. Принцип построения формул в LibreMath похож на то, что предлагает TeX, но обладает собственным синтаксисом и главное, позволяет сразу видеть конечный вариант набираемой формулы. Поверьте, это просто "небо и земля" по сравнению с "мышкотырканьем", предлагаемым MathType!

Пара слов о Math

Math имеет достаточно простой и интуитивный интерфейс. Большинство символов математических операций и элементов вынесены на специальную панель Элементы, позволяющую пользоваться мышью, для набора формул.
В первое время знакомства с программой, эта панель очень выручает, но со временем количество обращения к ней будет снижаться и вы перестанете отвлекаться на то, чтобы шевелить мышью.

К сожалению, графический интерфейс в Math не раскрывает полностью всех возможностей этого пакета. Я постараюсь осветить самые важные детали языка набора формул.

Греческие и специальные символы

Синтаксис Math, для вставки греческих символов очень удобен. Для добавления символа используется следующая маска: %<i><название символа>. Использование перед названием символа буквы i изменит шрифт вставляемого символа на курсив, написание название символа заглавными буквами сделает заглавным и сам вставляемый символ:
Функция вставки символов доступна и из графического интерфейса. На панели инструментов для этого существует кнопка Каталог , вызывающая палитру символов:

Управление шрифтом

Управление шрифтами происходит в диалоге Шрифты, вызываемом в Формат-Шрифты. Он достаточно прост и интуитивен, поэтому описывать его смысла нет. Единственное, что может показаться не очевидным, это вынесенный в отдельный диалог процесс управления размером шрифта: Формат-Кегли. И совсем не очевидным является решение задачи написание части формулы с отличающимися от общих настроек параметрами (например, распространенный способ обозначения векторов - писать их жирным, не наклонным шрифтом). Для управления шрифтом части формулы используются следующие инструкции:

  •  <n>italic <?> и <n>bold<?> позволяют включать курсивное и жирное написание соответственно. Дополнительная приставка n для italic и bold инвертирует действие инструкций, т.е. если italic включает режим курсива, для следующей за ней части формулы, то nitalic принудительно курсив отключает.  Обратите внимание, nitalic отменяет действие приставки i в написании греческих символов!

  • underline<?>, overstrike<?>, overline <?> применяют подчеркивание, зачеркивание и вставляют линию сверху текста соответственно.
  • font<font name><?> изменяет тип шрифта: Serif, Sans или Fixed.
  • size<font size><?> изменяет размер шрифта.
  • color<color name><?>  изменяет цвет шрифта (первым аргументом должно идти название цвета, к сожалению, полный перечень доступных цветов мне не известен, поделитесь, если знаете).

  • phantom<?> - делает часть формулы невидимой.

Скобки

Следующим достойным внимания аспектом, является расстановка скобок. Прежде всего, следует отметить, что скобки в Math делятся на масштабируемые и немасштабируемые. Разница между ними заключается в том, что первые скобки могут растягиваться на несколько строк, а вторые нет. Полный перечень доступных скобок и их кодов можно посмотреть  на странице помощи проекта.

Обращу лишь ваше внимание на то, как построить формулу с системой уравнений, объединенных одиночной фигурной скобкой (самому пришлось немного покопаться в поисках решения).

Прежде всего, кодом масштабируемых  фигурных скобок являются lbrace и rbrace (левая и правая соответственно). Для обрамления формулы в скобки используются коды left - для постановки скобки слева и right - для постановки скобки справа. Эти коды используются всегда в паре и опустить правую скобку нельзя. Но! Можно указать "никакую" скобку с кодом none.

Между кодами left и right код переноса на новую строку newline не работает. Здесь, для размещения выражений на нескольких строчках, используется код stack{<?> # <?> # <?>}.

Последним важным нюансом является следующий момент: поумолчанию, выражения будут выравнены по центру, и более короткие выражения не будут прижаты к скобке. Чтобы это исправить, следует использовать код  alignl, выравнивающий следующее за ним выражение по левому краю.

Небольшой FAQ

Q: Во Writer отвлекаться на вставку формулы через меню не очень удобно. Можно ли упростить процесс создания формулы?

A: Вставлять каждый раз пустую формулу не обязательно. Можно набирать формулу непосредственно в самом текст, после чего выделить набранное и выполнить  
Вставка - Объект - Формула Math.

Q: Есть ли горячая клавиша для вставки формулы во Writer?

A: Поумолчанию, для вставки формулы горячих клавиш не предусмотрен. Но задать комбинацию самостоятельно очень просто: Сервис-Настройка-Клавиатура.

Q: Как вставить формулу в соответствии с ГОСТом?
Выдержка из ГОСТ 7.32-2001

A: Для размещения формул в тексте согласно ГОСТу,  в Writer есть комбинация клавиш fn{F3}, автоматически вставляющая невидимую таблицу, в которой в первой ячейке располагается формула, а во второй, прижавшись к правому краю, номер формулы в круглых скобках. Причем номер формулы может автоматически  обновляться в соответствии с количеством формул вставленных в документе ранее.

Q: После нескольких правок формулы в таблице, начинает увеличиваться пустое пространство после формулы. Как с этим бороться?

A: Судя по всему это баг. Самый простой способ лечения - вырезать формулу (Ctrl+x) и ставить ее заново (Ctrl+v).

Q: Как вставить в формулу вертикальную черту? Почему она заменяется на V?

A: Это символ логического ИЛИ. Не самое удачное решение, на мой взгляд, т.к. использование вертикальной черты часто бывает необходимым. Тем не менее, проблема решается через вставку специального символа из диалога Символы. К сожалению, вертикальной черты нет в наборе специальных символов поумолчанию и добавлять ее надо вручную. Выберите в выпадающем списке Специальный, нажмите Изменить и добавьте символ с кодом %Ux2223.
UPD: В комментариях предложили более простое решение:
Часто бывает необходимо также вставить и знак процента. Чтобы либр не заменял их, эти символы можно заключить в кавычки, например так "|"

Q: Как указать пределы для интеграла/суммы/произведения?
 
A: Указания границ для интегралов, сумм и произведений несколько разнятся. В частности, для суммы предусмотрен специальный синтаксис from{<?>} to{<?>} <?>  позволяющий указать пределы. Но он не пригоден для использования в интегралах и произведениях. Гораздо удобнее придерживаться унифицированного подхода и использовать верхний индекс csup {<?>} и нижний индекс csub {<?>}.





Что еще почитать:


  1. LibreOffice Help | Атрибуты
  2. LibreOffice Help | Скобки
  3. LibreOffice Help | Форматирование
  4. ГОСТ 7.32-2001
UPD:исчерпывающую информацию по данному вопросу теперь можно найти здесь: https://wiki.documentfoundation.org/images/2/25/RU_Tutorial_LibreOffice_Math.pdf

8 комментариев :

  1. Я бы хотел доплнить вопрос про вертикальную черту. Часто бывает необходимо также вставить и знак процента. Чтобы либр не заменял их, эти символы можно заключить в кавычки, например так "|"

    ОтветитьУдалить
  2. Вот материал по вставке форумул в LibreOffice http://linexp.ru/sravnitelnyy-obzor-nabora-formul-v-mso-i-libreoffice

    ОтветитьУдалить
  3. Я НАШЕЛ СИМВОЛ "ТЕЛЕФОН" И ХОЧУ ПОСТАВИТЬ В OFFICE WRITER но я не могу это сделать(( , поскажите как эту символ "ТЕЛЕФОН" вставить writer,.

    ОтветитьУдалить
  4. Здесь опубликован списко команд и приемов LibreOffice Math
    https://wiki.documentfoundation.org/RU/Math

    ОтветитьУдалить
  5. Татьяна Гривко15 июля 2013 г., 16:23

    Подскажите, пожалуйста, как так сделать, чтоб открывающаяся скобка была квадратной, а закрывающаяся круглой и наоборот.

    например, (-3; 10] - интервал для переменной

    ОтветитьУдалить
  6. Татьяна Гривко15 июля 2013 г., 16:33

    я нашла! Нужно вводить скобку как одиночную: \( \]

    ОтветитьУдалить
  7. Пожалуйста, помогите - голову сломать можно. Не могу найти знак угла ни в Math, ни в символах.

    ОтветитьУдалить

Ваше мнение мне искренне интересно. Смелее!

Технологии Blogger.