Да, просто замени весь шаблон на этот:
|

22.06.2012, 18:56
|
 |
Профессор
|
|
Регистрация: 22.06.2012
Сообщений: 168
|
|
|
Редактор математических формул для форума 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}
& & & \\
& & & \\
& & &
\end{pmatrix} |
Как видно, ячейки разделяются символом &, а строки - \\.
Скобки имеют вид:
- круглые \begin{pmatrix}\end{pmatrix}
- прямые \begin{vmatrix}\end{vmatrix}
- квадратные \begin{bmatrix}\end{bmatrix}
- двойные прямые \begin{Vmatrix}\end{Vmatrix}
Последний раз редактировалось Demath, 22.06.2012 в 19:06.
|
|

23.06.2012, 01:24
|
 |
Матрос
|
|
Регистрация: 03.04.2008
Сообщений: 6,246
|
|
Вы просите готовый скрипт с нуля.
Это работа, и за нее обычно платят деньги.
Для таких сообщений предназначен раздел форума "Работа".
Если вы все же хотите, чтобы вам помогли - приложите какие-то усилия сами и задавайте вопросы по ходу дела.
|
|

26.06.2012, 20:25
|
 |
Профессор
|
|
Регистрация: 22.06.2012
Сообщений: 168
|
|
|
Сколько это будет примерно стоить?
Вообще, нужна только форма для ввода матриц, остальную часть редактора сделал и оформил.
Последний раз редактировалось Demath, 26.06.2012 в 20:37.
|
|

26.06.2012, 23:37
|
 |
Матрос
|
|
Регистрация: 03.04.2008
Сообщений: 6,246
|
|
|
50WMZ
|
|

02.07.2012, 01:54
|
 |
Профессор
|
|
Регистрация: 22.06.2012
Сообщений: 168
|
|
Почитал учебничек на этом сайте и, вроде бы, получилось  сделать основную часть 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-код с нуля пишу.
Последний раз редактировалось Demath, 04.07.2012 в 00:33.
Причина: Убрал код в спойлер
|
|

02.07.2012, 02:10
|
|
без статуса
|
|
Регистрация: 25.05.2012
Сообщений: 8,219
|
|
|
Сообщение от Demath
|
|
Не догнал, как сделать выбор типа скобок для матрицы.
|
Изобразите эскиз
|
Сообщение от Demath
|
|
ак отменить удаление ранее набранного текста в <textarea> при вводе (нажатии Вставить)?
|
Поясните подробней - стереть всё ?
|
|

02.07.2012, 02:17
|
 |
Профессор
|
|
Регистрация: 22.06.2012
Сообщений: 168
|
|
Сообщение от Deff
|
|
Поясните подробней - стереть всё ?
|
Когда набираю какой-либо текст в <textarea>, а затем добавляю матрицу (нажимаю кнопку "Вставить"), то весь ранее набранный текст стирается и остаётся только матрица 
|
|

02.07.2012, 02:50
|
|
без статуса
|
|
Регистрация: 25.05.2012
Сообщений: 8,219
|
|
[ 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>
Последний раз редактировалось Deff, 02.07.2012 в 03:29.
|
|

02.07.2012, 03:39
|
 |
Профессор
|
|
Регистрация: 22.06.2012
Сообщений: 168
|
|
Спасибо за реальную помощь!
Если возможно, подскажите, пожалуйста, что ещё "прикрутить", чтобы матрица вставлялась в текущее положение курсора?
То есть чтобы текст, идущий после матрицы, переносился вместе с ней.
|
|
|
|