23:34 

Пользовательский скрипт для отображения формул

Robot
Я одна, но всё же я есть. Я не могу сделать всё, но всё же могу сделать что-то. И я не откажусь сделать то немногое, что могу (c)
Дорогие друзья!

Как вы знаете, diary не позволяет встраивать свои скрипты в страницы. Именно из-за этого в сообществе (в отличие, например, от форума dxdy) не отображаются формулы. Поэтому нам приходится или выкладывать даже простейшие задания с помощью графических файлов, или мириться с записями вида "у=(е^cosх+3/х^2+х^2/3)^5 получилось ....= 5 (е^cosx+3/х^2+x^2/3)^4 * (e^cosx * (-sinx)-6/x+2x/3)".
Однако благодаря одному очень хорошему человеку (который почему-то из ложной скромности не хочет, чтобы его здесь называли=() мы теперь можем носить свои скрипты в кармане, то бишь в браузере. По крайней мере те из нас, которые пользуютcя FireFox, Оперой или Google Chrome.
Нужный скрипт - это адаптация для diary скрипта AsciiMathML, подробнее о котором можно прочесть здесь

Из существенных отличий от оригинального скрипта
1. оформление графики, а именно пара:
вместо agraph endagraph
2. Используется google для отрисовки TeX (в т.ч. и для Оперы)
3. Работает и в google chrome (просто кликнуть по ссылке и согласиться установить)
4. Если поставить на форум, то (за исключением графики) работает во всех броузерах. Графика не работает в iexplorer
5. При наведении мышки показывается альтернативный текст.
6. Добавлена совместимость с IE (тестировалось на IE 7 и 8)

Информацию по установке можно увидеть здесь asciimathml.narod2.ru/, однако я продублирую ее еще и в данном топике

Установка
Firefox
1) Установить аддон Greasemonkey: addons.mozilla.org/ru/firefox/addon/748 . Если при переходе по ссылке появляется сообщение об ошибке, то выполните поиск дополнения addons.mozilla.org/ru/firefox/search?q=Greasemo... . Вам нужно второе по порядку дополнение, с обезьяной. Нажмите "Добавить в Firefox"
2) установить sсript for Greasemonkey: asciimathml.narod2.ru/display-latex6.user.js
3) установить математические шрифты: www.mozilla.org/projects/mathml/fonts/
Для этого скачать для FF с этой страницы архив со шрифтами developer.mozilla.org/@api/deki/files/4719/=STI..., распаковать его, инструкция по установке шрифтов www.microsoft.com/typography/TrueTypeInstallWin...... или просто (в зависимости от операционной системы): выделить распакованные шрифты - правая кнопка - установить

Opera (проверялось на опере 10-й версии)
1) Создать папку для пользовательских скриптов (это может быть папка в Моих документах или в директории самой Оперы под названием, скажем, user scripts)
2) Перейти в настройки Оперы: Настройки = > Содержимое = > Включить Javasсript, Настроить Javasсript... - указать там папку для пользовательских скриптов
3) Установить пользовательский скрипт для оперы/User sсript for Opera: asciimathml.narod2.ru/display-latex6.user.js (right click and save to userscripts directory). Лично я просто открывала страничку со скриптом и сохраняла в папку с пользовательскими скриптами.

Internet Explorer
Добавлена совместимость с IE (тестировалось на IE 7 и 8). Для Internet Explorer нужно установить IE7Pro (взять здесь www.ie7pro.com/). Изменить конец имени скрипта в .ieuser.js (было .user.js). Скопировать его в подкаталог userscripts каталога установки IEPro. В настройках IEPro (IEPro Preferences) - Скрипты. Поставить галочку около AsciiMathML. Перезапустить IE.

Google Chrome
Удалить предыдущую версию скрипта (если она стояла) ( Инструменты = > Расширения), потом установить заново -просто кликнуть по ссылке и согласиться установить http://asciimathml.narod2.ru/display-latex6.user.js

Apple Safari
В пятой версии Apple Safari появилась поддержка расширений (Mac OS, Windows) ( grawl.ru/121 ) . После установки расширения NinjaKit ( d.hatena.ne.jp/os0x/20100612/1276330696 ), можно установить и проверить работу пользовательского скрипта
Установка:
Расширение NinjaKit: ss-o.net/safari/extension/NinjaKit.safariextz
Пользовательский скрипт: asciimathml.narod2.ru/display-latex6.user.js
В обоих случаях, в указанном порядке, кликнуть по ссылке и согласиться с установкой.

Если вы все правильно сделали, то все, что ниже будет уже не набором непонятных символов, а вполне нормальными формулами и графиками, то есть будет выглядеть в FF так:

Подробнее о графике можно почитать здесь:
mathcs.chapman.edu/~jipsen/math/index.php/ASCII...
math.chapman.edu/~jipsen/asciencepad/asciencepa...
www1.chapman.edu/~jipsen/svg/asciisvgeditor.htm...

* ASCIIMath
`x^2+y_1+z_12^34`

`d/dxf(x)=lim_(h->0)(f(x+h)-f(x))/h`

`[[a,b],[c,d]]((n),(k))`

`x/x={(1,if x!=0),(text{undefined},if x=0):}`

`hat(ab) bar(xy) ulA vec v dotx ddot y`

* LaTeXMath
$\diagup X\ind Y \tilde{A} \varnothing \R$

$A = \left(\begin{array}{c c c}1-x & 0 & 0 \\ 0 & 1-x & 0 \\ 0 & 0 & 1-x \end{array}\right)$

$\sum a_i + \sum_{i=0}^{+\infty} b_i$

$f(x) = \left\{\begin{array}{l l} x^2 \sin \frac1x & \textrm{if } x \ne 0, \\ 0 & \textrm{if } x = 0 . \end{array}\right.$

$\displaystyle{ \lim_{x\to\infty} f(x) = k \choose r + \frac ab \sum_{n=1}^{+\infty} a_n + \left\{ \frac{1}{13} \sum_{n=1}^{+\infty} b_n \right\} }$
* AutoMath
amath
Example: Solving the quadratic equation.
Suppose a x^2+b x+c=0 and a!=0. We first divide by \a to get x^2+b/a x+c/a=0.

Then we complete the square and obtain x^2+b/a x+(b/(2a))^2-(b/(2a))^2+c/a=0. The first three terms factor to give (x+b/(2a))^2=(b^2)/(4a^2)-c/a. Now we take square roots on both sides and get x+b/(2a)=+-sqrt((b^2)/(4a^2)-c/a).

Finally we move the b/(2a) to the right and simplify to get the two solutions: x_(1,2)=(-b+-sqrt(b^2-4a c))/(2a)
endamath
* Pictures
plot(sin(x))

width=300; height=200; xmin=-5; xmax=5; xscl=1;axes();plot((x-2)*(x-1)*x*(x+1)*(x+2)/2,-2.5,2.5);


Данный скрипт поддерживает и ASCIIMath (для этого формулы нужно обрамлять одинарными кавычками, которые находятся на клавише с буквой Ё), и LaTeXMath (для отображения формул их надо обрамлять знаками и использовать TeXовскую нотацию).
В сообществе желательно использовать первый способ записи формул, как более интуитивно понятный.

Если у кого-то будут вопросы или проблемы, отписывайтесь в комментах.

Дорогие члены сообщества!

Я понимаю, что некоторым лень, другие боятся всего нового и т.д., и т.п. Но поверьте - все это не так уж страшно и занимает всего 5 минут, а зато вы сможете видеть формулы (если, конечно, не забудете поставить их в одинарные кавычки) в их нормальном отображении.
Впоследствии, наверное, это станет даже требованием к оформлению постов, по крайней мере по отношению к простейшим формулам ( дроби, возведение в степень, логарифмы, интегралы, пределы).

Краткий HELP по набору формул, составленный La Balance

Подробный HELP по набору формул, составленный _nobody

Ссылки на этот пост и на хэлп по набору формул помещены в эпиграф.

От имени сообщества и от себя лично благодарю человека, который очень много над этим работал.

UPD. 04.04.2010
Скрипт обновлен. asciimathml.narod2.ru/display-latex6.user.js
1)Исправлено отображение символов.
2)Изменены охватываемые адреса, что позволяет отображать формулы и у платников, и у бета-тестеров (это касается и предпросмотра).
3)Если требуется отображение формул в своем дневнике (в т.ч. в Избранном), то нужно добавить адрес http://*.diary.ru/~имясвоегодневника/* . (в FF: в настройках Greasemonkey = > Управление скриптами.. = > AsciiMathML, в других браузерах: в начале файла перечень адресов, по которым работает скрипт. Для этого открыть данный файл .js в Блокноте или любом другом редакторе, поддерживающем unicode).
4)Добавлена совместимость с IE (тестировалось на IE 7 и 8). Для Internet Explorer нужно установить IE7Pro (взять здесь www.ie7pro.com/). Изменить конец имени скрипта в .ieuser.js (было .user.js). Скопировать его в подкаталог userscripts каталога установки IEPro. В настройках IEPro (IEPro Preferences) - Скрипты. Поставить галочку около AsciiMathML. Перезапустить IE.
При обновлении скрипта в Google Chrome удалить предыдущую версию скрипта (Настройки = > Расширения ), потом установить заново
запись создана: 03.04.2010 в 19:34

@темы: Сообщество

Комментарии
2010-04-04 в 08:24 

Слушатель
Don't stop the music.
Тестирую:

`(x^2 + 5x - 3)/(5x + root(3)(125))`

`sin(alpha + beta) = sin(alpha) * cos(beta) + cos(alpha) * sin(beta)`

`int_a^bf(x)dx`

`lim_(x -> 0)(sinx) / (x) = 1`

`e -= lim_(n -> oo)(1 + 1 / n)^n`

`(x + y)^n =\sum_{i=0}^n((n), (i))x^{n - i} \cdot y^i`

`A = B iff A sube B and B sube A`

`((1, 2, 3), (1, 2, 3)) * ((1, 1), (1, 2), (1, 3)) = ((6, 14), (6, 14))`

`NN sub ZZ sub QQ sub RR sub CC`

`n! ={(1, if n = 0), (n * (n - 1)!, if n > 0) :}`

`AAn in NN EEm in NN m > n`

`X ~ Geo(p) -= P(X = k) = (1 - p) ^ (k - 1) * p`

*Проблемы в отображении символа iff (тогда и только тогда) и символов отношения вложенности множеств.

2010-04-04 в 09:23 

true-devil
`NN subset RR`, `NN subseteq RR`, `X sim Geom(p)`

2010-04-04 в 10:28 

leurc
это называется мартышкин труд..."бета-тестеры", ололо...
чо, риальни до админа никак не добраться? делов там на 5 мин.


Интересно, у Мурата наступил период весеннего обострения или ему нечего делать? :lol:

2010-04-04 в 12:41 

Robot
Я одна, но всё же я есть. Я не могу сделать всё, но всё же могу сделать что-то. И я не откажусь сделать то немногое, что могу (c)
Чудеснов
А что такое гитхаб?

Гость
Дело в том, что даже если добраться до админа,, не факт, что будет все как нужно
например, на некоторых форумах IE8 без установленного плагина MathPlayer отображает некорректно даже текст, обрамленный одинарными кавычками (например, пропадают вообще символы ^), это вообще недопустимо

2010-04-04 в 14:24 

молодой динамично развивающийся
Гость это каких, интересно, дел - на 5 минут?

2010-04-05 в 20:30 

Garryncha
Холодно. Пью.
2010-04-05 в 20:30 

Garryncha
Холодно. Пью.
`2+2`

2010-04-05 в 20:35 

Garryncha
Холодно. Пью.
Что нужно делать, чтобы синие значки были видны и через френдленту?
Что нужно делать, чтобы синие значки были видны при разворачивании MORE?
Что нужно делать, чтобы синие значки были видны, когда текст обрамляешь одинарными кавычками ("ё")?
Бразуер IE8.
Часть формул вижу на странице в синих значках, часть — нет, в обрамлении ``.

2010-04-05 в 21:05 

Что нужно делать, чтобы синие значки были видны и через френдленту?

Если требуется отображение формул в своем дневнике (в т.ч. в Избранном), то нужно добавить адрес http://*.diary.ru/~имясвоегодневника/* . (в FF: в настройках Greasemonkey = > Управление скриптами.. = > AsciiMathML, в других браузерах: в начале файла скрипта перечень адресов, по которым работает скрипт.

Что нужно делать, чтобы синие значки были видны при разворачивании MORE?

Настройка MORE (diary) - скрытая часть грузится одновременно со страницей

Что нужно делать, чтобы синие значки были видны, когда текст обрамляешь одинарными кавычками ("ё")?

Неясен вопрос. Обрамление одиночными кавычками, которые находятся на клавише ё

Бразуер IE8. Часть формул вижу на странице в синих значках, часть — нет, в обрамлении .

В обрамлении чего?

URL
2010-04-05 в 21:05 

Robot
Я одна, но всё же я есть. Я не могу сделать всё, но всё же могу сделать что-то. И я не откажусь сделать то немногое, что могу (c)
Garryncha
Вот лично у меня IE7 (то есть вообще-то я др. браузерами пользуюсь, но проверяла и на ИЕ) и я вижу две твои пробы нормально.

И вообще все на странице (кроме графики) отображается нормально. Но графика в ие и не должна отображаться

А ты все делал по инструкции? (см. апдейт) (учти, что прописано действие только для сообщества)

Насчет тега море
Лично у меня стоит скрытая часть подгружается динамически
Но вообще лучше ставить - загружать вместе с страницей
Попробуй

Чтобы в Избранном было видны, нужно добавить в скрипт один адрес. Там выше написано http://*.diary.ru/~имясвоегодневника/*
Правда, я добавляю, но у меня тоже не видно((
Диана делала, надо у нее спросить.

2010-04-05 в 21:13 

Дилетант
На плечах гигантов, на спинах электронов
Robot
У меня в FF отлично видно абсолютно отовсюду!
Это видимо в компенсацию за Оперу ))))

2010-04-05 в 21:14 

Дилетант
На плечах гигантов, на спинах электронов
Там надо просто вот так вставить: http://*.diary.ru/*
Такая маска позволяет видеть отовсюду.

2010-04-05 в 21:15 

Robot
Я одна, но всё же я есть. Я не могу сделать всё, но всё же могу сделать что-то. И я не откажусь сделать то немногое, что могу (c)
Garryncha
На страницах комментов действие тега more вообще никак не должно влиять.
Проблемы были, когда создаешь новую запись - так вот если там ставишь тег море, то при наличии динамической подзагрузки содержимого - формулы не отображались, только если скрытая часть грузится со страницей все работало
Но в комментах, что так, что сяк должно работать.
Гость В обрамлении чего?
Там стоят две подрят одинарные кавычки (еще Чудеснов говорил, что наличие их обрабатывается неадекватно
В ff вообще не видно, в других браузерах - как картинка с крестиком.

2010-04-05 в 21:17 

Дилетант , такая маска замедляет вывод всех страниц во всех дневниках и сообществах

URL
2010-04-05 в 21:17 

Quod erat demonstrandum
Там надо просто вот так вставить: http://*.diary.ru/*
Ага, я так и делала)

2010-04-05 в 21:19 

ще Чудеснов говорил, что наличие их обрабатывается неадекватно
Умный человек этот Чудеснов. Не ставьте две кавычки подряд

URL
2010-04-05 в 21:19 

Robot
Я одна, но всё же я есть. Я не могу сделать всё, но всё же могу сделать что-то. И я не откажусь сделать то немногое, что могу (c)
Дилетант
А include не надо?
И зачем его всюду грузить, как я поняла, достаточно адрес выше (для тех, у кого дневник)

2010-04-05 в 21:20 

Дилетант
На плечах гигантов, на спинах электронов
Гость
такая маска замедляет вывод всех страниц во всех дневниках и сообществах
У меня такой дурацкий интернет, что это очень трудно заметить (
Но на будущее учту. Спасибо.

2010-04-05 в 21:22 

Дилетант
На плечах гигантов, на спинах электронов
Robot
А include не надо?
А куда его?
Я про FF говорила.
А Опера у меня ни в каком виде не хочет...

2010-04-05 в 21:24 

Quod erat demonstrandum
Robot
А include не надо?
Ты открой редактировать скрипт для Оперы и ничего не трогай, только вместо какого-нибудь адреса напиши этот. Include и все прочее остается.

2010-04-05 в 21:26 

Robot
Я одна, но всё же я есть. Я не могу сделать всё, но всё же могу сделать что-то. И я не откажусь сделать то немногое, что могу (c)
Дилетант
Ну, я просто хотела новый добавить - там перед каждым (или после каждого) идет
// @include http://*.diary.ru/*
И вот когда я добавляла через Избранное видно не было, а когда заменила адрес сообщества на http://*.diary.ru/* тогда заработало
Сейчас вижу
Речь идет об ИЕ

2010-04-05 в 21:29 

Robot
Я одна, но всё же я есть. Я не могу сделать всё, но всё же могу сделать что-то. И я не откажусь сделать то немногое, что могу (c)
Диана Шипилова
Я так и сделала
Но ты слышала, что сказал Гость?
Зачем скрипт использовать на всех страницах?
Лучше сообщество+ свой дневник - тогда будет и в Избранном.
Тогда надо точную строчку, которую добавлять надо

2010-04-05 в 21:31 

Quod erat demonstrandum
Robot
Я не знала, что это замедляет работу (честно говоря, не заметила пока), а все сразу добавить проще...

2010-04-05 в 21:34 

Garryncha
Холодно. Пью.
Гость, Robot, сейчас вижу свои пробы, как и другие записи, выделенные одинарными кавычками. Раньше не видел те, которые были выделены одинарными кавычками, а видел другие, видимо, выделенные долларами.
MORE сейчас тоже нормально открывает синие значки.
Две одинарные кавычки подряд показываются красным крестиком, т.е. как рисунок, которого нет.
Сделал, как вы сказали, для отображения синих знаков через Избранное, и получилось.
Спасибо!
И отдельно спасибо создателю скрипта и La Balance за help к нему!
Планируется ли поддержка графики для IE?
Планируется ли обработка двух подряд идущих одинарных кавычек?

2010-04-05 в 21:38 

Garryncha
Планируется ли обработка двух подряд идущих одинарных кавычек?
Исходный код у Вас в руках )
Планируется ли поддержка графики для IE?
Adobe прекратил развитие своего плагина SVG для ИЕ. Другие средства поддержки не были найдены. Найдете - дайте знать. Включить дело 1 минуты.

URL
2010-04-05 в 21:40 

Garryncha
Холодно. Пью.
Robot, понял, что MORE в комментах не влияет на отображение синих знаков.
А как сделать, чтобы и в записях с MORE синие знаки отображались?

2010-04-05 в 21:45 

Robot
Я одна, но всё же я есть. Я не могу сделать всё, но всё же могу сделать что-то. И я не откажусь сделать то немногое, что могу (c)
Garryncha А как сделать, чтобы и в записях с MORE синие знаки отображались?
Поставить Настройка MORE (diary) - скрытая часть грузится одновременно со страницей
Но у кого подгружается динамически - видеть это не будут.
А зачем тебе это?
Ты посты что ли с формулами хочешь писать?
Лучше не скрывай тегом море тогда - я вот опубликовала запись без море, чтобы не было проблем.

И зачем тебе две одинарные кавычки обрабатывать?
Ты уж поставь между ними что-то, а то смысл?))

2010-04-05 в 21:45 

Garryncha
Холодно. Пью.
Гость, а средства поддержки чего нужны?:-)
Ага, я подожду, пока кто-нибудь не сделает обработку, не так сильно надо, а пока буду терпеть и не ставить вот так ``.:-)

2010-04-05 в 21:50 

Garryncha
Холодно. Пью.
Robot, зачем ты задаёшь такие вопросы: зачем тебе то, зачем тебе это?:-) Я хочу так делать, и всё, может быть, меня это развлекает.:-) Может быть, потом это понадобится, может быть, если я опечатаюсь с кавычками, не хочу крестики видеть и т.д. — какая разница, если мне это работу облегчит.
Понятно, что автор скрипта уже сделал полезное для всех дело на общественных началах, и хочет будет дальше делать, а не хочет — не будет. :-)

2010-04-05 в 21:54 

Robot
Я одна, но всё же я есть. Я не могу сделать всё, но всё же могу сделать что-то. И я не откажусь сделать то немногое, что могу (c)
Garryncha я подожду, пока кто-нибудь не сделает обработку
Видишь ли, возможно все так будут рассуждать, поэтому это никогда не появится=(

   

Не решается алгебра/высшая математика?.. ПОМОЖЕМ!

главная