Редактор математических формул для форума phpBB
Помогите доделать редактор для ввода математических формул (LaTeX) для форума на phpBB_3.
Делаю по аналогии со смайлами в phpbb_3, то есть при нажатии на картинку с формулой в форму ответа вставляется её LaTeX-код. Например, неопределённый интеграл <a href="#" onclick="insert_text('\\int', true); return false;" style="display:block; width: 30px; height: 70px; cursor: pointer;"> <img src="/indefinite_integral.png" title="Неопределённый интеграл" /> </a> Но для матриц разумно сделать форму ввода, что-то типа такого _______________________________________________ Выберите тип скобок и введите число строк и колонок __(A)__|A|__[A]__ǁAǁ___Строки_ n __Колонки_ k __ _______________________________________________ Например, если пользователь выберет (A) и введёт n=3 и k=4, то в форму ответа вставится LaTeX-код Код:
\begin{pmatrix} Скобки имеют вид: - круглые \begin{pmatrix}\end{pmatrix} - прямые \begin{vmatrix}\end{vmatrix} - квадратные \begin{bmatrix}\end{bmatrix} - двойные прямые \begin{Vmatrix}\end{Vmatrix} |
Вы просите готовый скрипт с нуля.
Это работа, и за нее обычно платят деньги. Для таких сообщений предназначен раздел форума "Работа". Если вы все же хотите, чтобы вам помогли - приложите какие-то усилия сами и задавайте вопросы по ходу дела. |
Сколько это будет примерно стоить?
Вообще, нужна только форма для ввода матриц, остальную часть редактора сделал и оформил. |
50WMZ
|
Почитал учебничек на этом сайте и, вроде бы, получилось :-? сделать основную часть js-кода. Не догнал, как сделать выбор типа скобок для матрицы.
Как отменить удаление ранее набранного текста в <textarea> при вводе (нажатии Вставить)? Вот код: <html> <head> <style> form {padding-left: 100px;} caption {margin-bottom: 10px; font: bold 18px Calibri;} td {width: 125px; padding: 0px; vertical-align: middle; background-color: #f3f3f3; font: 14px Arial; height: 38px;} input.rows, input.cols {width: 20px; color: blue;} textarea {padding:10px; width:380px; height:150px;} </style> <script language="JavaScript"> <!-- function LatexMatrix(r,c,output) { var i,j; if (r.value == "" || c.value == "" ) {r.value = 2; c.value = 2;} output.value = "\\begin\{pmatrix\}\n"; for (i=1; i<=r.value-1; i++) {for (j=1; j<=c.value-1; j++) {output.value += "\ 1\ \&";} output.value += "\ 1\ \\\\\n";} for (j=1; j<=c.value-1; j++) {output.value += "\ 1\ \&";} output.value += "\ 1\ \n\\end\{pmatrix\}\n\n\[Замените\ 1\ нужными\ значениями\]"; } // --> </script> </head> <body> <form name="matrix"> <table> <caption>Введите числа строк и столбцов матрицы</caption> <tr> <td> Строки <b>i =</b> <input name="cols1" maxlength="1" type="text" class="rows"></td> <td> Столбцы <b>j =</b> <input name="rows1" maxlength="1" type="text" class="cols"></td> <td align="center"> <input value="Вставить" onclick="LatexMatrix(cols1,rows1,matrix)" name="button" type="button" style="cursor: pointer;"> </td> </tr> </table> <textarea name="matrix" placeholder="Здесь появится LaTeX-код матрицы"></textarea> </form> </body> </html> P.S. Сильно не ругайте: первый раз js-код с нуля пишу. |
Цитата:
Цитата:
|
Цитата:
|
[HTML run]
<html> <head> <style> form {padding-left: 100px;} caption {margin-bottom: 10px; font: bold 18px Calibri;} td {width: 125px; padding: 0px; vertical-align: middle; background-color: #f3f3f3; font: 14px Arial; height: 38px;} input.rows, input.cols {width: 20px; color: blue;} textarea {padding:10px; width:380px; height:150px;} </style> <script language="JavaScript"> <!-- function LatexMatrix(r,c,output) { var i,j; if (r.value == "" || c.value == "" ) {r.value = 2; c.value = 2;} var a = ''; if(output.value!='') a = '\n'; output.value += a + "\\begin\{pmatrix\}\n"; for (i=1; i<=r.value-1; i++) {for (j=1; j<=c.value-1; j++) {output.value += "\ 1\ \&";} output.value += "\ 1\ \\\\\n";} for (j=1; j<=c.value-1; j++) {output.value += "\ 1\ \&";} output.value += "\ 1\ \n\\end\{pmatrix\}\n\n\[Замените\ 1\ нужными\ значениями\]"; } // --> </script> </head> <body> <form name="matrix"> <table> <caption>Введите числа строк и столбцов матрицы</caption> <tr> <td> Строки <b>i =</b> <input name="cols1" maxlength="1" type="text" class="rows"></td> <td> Столбцы <b>j =</b> <input name="rows1" maxlength="1" type="text" class="cols"></td> <td align="center"> <input value="Вставить" onclick="LatexMatrix(cols1,rows1,matrix)" name="button" type="button" style="cursor: pointer;"> </td> </tr> </table> <textarea name="matrix" placeholder="Здесь появится LaTeX-код матрицы"></textarea> </form> </body> </html> |
Спасибо за реальную помощь! :thanks:
Если возможно, подскажите, пожалуйста, что ещё "прикрутить", чтобы матрица вставлялась в текущее положение курсора? То есть чтобы текст, идущий после матрицы, переносился вместе с ней. |
Demath,
Хм - ну ежели разберетесь ... то вот стандартный девайс на phpBB форумах http://javascript.ru/forum/css-html-...tml#post185398 пост 2 в спойлере |
Часовой пояс GMT +3, время: 07:46. |