При наборе формул в предыдущей версии Moodle выражения, ограниченные знаками \( \), воспринимались как формулы. В новой версии они не преобразовывабтся в формулы. Весь формульный материал курса был набран посредством таких знаков, не хотелось бы менять по всему курсу знаки \(\) на двойные доллары $$. Подскажите, есть ли возможность сделать так, чтобы вновь выражения с \( \) воспринимались как формулы?
Проще сдампить базу/таблицу, заменить все \\ на $$ и залить назад.
А можно подправить фильтр. двух исправлений будет достаточно.
после "!strstr($text,'$$')" вставить " and !strstr($text,'\\')" и в длинном RE после "|\$\$(.+?)\$\$|"
вставить "\\\\(.+?)\\\\|"
PS А что у вас за версия moodle ?
Можно без дампа просто выполнить команду адрес_сайта/admin/tool/replace/index.php и заменить \( и \) на $$
Спасибо большое за ответы!!! Версия 2.5.1. Простите, пожалуйста, я не очень хорошо владею возможностями moodle: как выполнить команду адрес_сайта/admin/tool/replace/index.php (где находится раздел, предназначенный для внесения команд. Или может причина в том, что я - преподаватель, может быть, для этого нужны права администратора?.
Естественно, эта возможность есть только у администраторов.
Администратор должен набрать эту команду в адресной строке браузера и потом прописать что чем менять.
Спасибо огромное за ответы! Глобальная замена символов - это, действительно, отличное решение. Однако, к сожалению, администратор сказал, что это приведет, возможно, к замене ненужных символов (т.е. там, где не нужно преобразовывать формулы) в других курсах. Не подскажете, как быть в такой ситуации?
сделать бекапы курсов с формулами и в них исправить \( \) на $$ $$. Потом восстановить из исправленного бекапа.
Вопрос только в числе курсов.
Действительно, не исключено, что комбинации символов \( встречаются еще где то, помимо формул, а предлагаемая команда заменяет все, неглядя.
Тогда лучше воспользоваться программой phpMyAdmin. С ее помощью можно искать те же комбинации символов и заменять их по одному, где это действительно нужно. Копию базы данных перед этим сделать не помешает, разумеется.
Спасибо! Но, к сожалению, это нереально. Формул очень много и просить администратора о замене поштучно мне неудобно. А нельзя ли провести замену лишь в рамках одного моего курса, чтоб не затрагивать остальные?
так сделать бекап своего курса, исправить (в обычном редакторе) и восстановить назад.
бекап - это zip-архив. Распаковать его, исправить все что нужно, запаковать назад и после чего восстановить.
Огромное спасибо! Хотя бэкап делать не хотелось (поскольку тогда все данные о пользователях и результаты было бы утрачено), Ваше решение натолкнуло меня на мысль о том, чтобы сделать экспорт тестовых вопросов в формате moodlexml, сделать замену и єкспортировать в moodle замененный файл. Решение найдено. Спасибо всем за помощь!!!
Тогда, конечно, делайте так, как говорит Виталий: восстановите ваш курс на локальной машине, исправьте любым способом и загрузите обратно.