Es de especial utilidad para foros educacionales, matemáticos y universitarios.
El MOD instala un editor latex en la página de posteo. Se ve de la siguiente forma:



Esto te permite postear en tu foro fórmulas matemáticas, resolución de ejercicios de física, química, y muchas otras... ejemplos:


Y además, incluyo un tutorial que hicimos tiempo atrás con otra persona, para que los usuarios puedan aprender más sobre LaTeX.
Pasos a seguir:
1) Descargar y subir archivos
Descarga el siguiente adjunto:
y los archivos que trae, debes subirlos a estas rutas
- latex.php > Subirlo a la raíz del foro (donde esta memberlist.php, search.php, etc... donde comienza tu foro).
- La carpeta "/latex/" (que tiene imagenes dentro) > debes subirla tal cual (toda la carpeta con su contenido) a la carpeta /images/ del foro.
- latex_body.html y latex_gen.html > Estos 2 archivos los subes a la carpeta "template" de tu estilo (prosilver, subsilver2, el que sea).
Ahora toca editar algunos archivos... va a depender del estilo que uses
> Edicion para prosilver (y otros estilos que se basen en este)
- En el archivo editor.js
Ir al final del archivo, y agregar en una nueva línea:Código: Seleccionar todo
/** * Generador de url para Latex, por Mitch */ function genurlmitch(texto){ var espacio = " "; var rempespacio = '\\ '; var1 = texto.split('%').join('%25'); var1 = var1.replace(/\s*[\r\n][\r\n \t]*/g, '\\\\'); var1 = var1.split(espacio).join(rempespacio); var1 = var1.split(espacio).join('%20'); var1 = var1.split('!').join('%21'); var1 = var1.split('#').join('%23'); var1 = var1.split('$').join('%24'); var1 = var1.split('&').join('%26'); var1 = var1.split('(').join('%28'); var1 = var1.split(')').join('%29'); var1 = var1.split('*').join('%2A'); var1 = var1.split('+').join('%2B'); var1 = var1.split('-').join('%2D'); var1 = var1.split(',').join('%2C'); var1 = var1.split('/').join('%2F'); var1 = var1.split(':').join('%3A'); var1 = var1.split(';').join('%3B'); var1 = var1.split('<').join('%3C'); var1 = var1.split('=').join('%3D'); var1 = var1.split('>').join('%3E'); var1 = var1.split('?').join('%3F'); var1 = var1.split('@').join('%40'); var1 = var1.split('[').join('%5B'); var1 = var1.split('\\').join('%5C'); var1 = var1.split(']').join('%5D'); var1 = var1.split('^').join('%5E'); var1 = var1.split('_').join('%5F'); var1 = var1.split('{').join('%7B'); var1 = var1.split('|').join('%7C'); var1 = var1.split('}').join('%7D'); var1 = var1.split('~').join('%7E'); var1 = var1.split('¡').join('%A1'); var1 = var1.split('©').join('%A9'); var1 = var1.split('±').join('%B1'); var1 = var1.split('²').join('%B2'); var1 = var1.split('³').join('%B3'); var1 = var1.split('¿').join('%BF'); var1 = var1.split('ß').join('%DF'); var1 = var1.split('Ø').join('%D8'); var1 = var1.split('Þ').join('%DE'); var1 = var1.split('ø').join('%F8'); var1 = var1.split('\"').join('%22'); var1 = var1.split('\'').join('%27'); var salida = ['http://www.texify.com/img/%5CLARGE%5C%21',var1,'.gif']; var salida2 = salida.join(""); return salida2; } function latexurlmitch(){ var s1 = document.getElementById('cadena1'); // Obtenemos el valor del area de texto texto1 = document.getElementById('texto').value; // Cambiamos su valor s1.value = genurlmitch(texto1); } function imgpostlatex() { var prev = document.getElementById('texto').value; if (prev == "") { alert("Debes escribir una fórmula"); return (false); } else { var s1 = document.getElementById('cadena1').value; var1 = '[img]'; var2 = '[/img]'; var salida = ['[img]',s1,'[/img]']; var salida2 = salida.join(""); insert_text(salida2, true); } } function latexajax(){ var prev = document.getElementById('texto').value; if (prev == "") { alert("Debes escribir una fórmula"); return (false); } else { var s1 = document.getElementById('cadena1').value; setTimeout("latexajax2(document.getElementById('cadena1').value)", 1000) document.getElementById('latexprev').src = './images/latex/ajaxloader.gif'; } } function latexajax2(s1){ document.getElementById('latexprev').src = s1; } function prevlatex() { var prev = document.getElementById('texto').value; if (prev == "") { alert("Debes escribir una fórmula"); return (false); } else { var s1 = document.getElementById('cadena1').value; window.open(s1, this.target, 'toolbar=yes, location=yes, status=yes, menubar=yes, scrollbars=yes, resizable=yes, width=500, height=400'); } } function BBClatex(text, spaces) { var textarea = document.getElementById('texto'); if (!isNaN(textarea.selectionStart)) { var sel_start = textarea.selectionStart; var sel_end = textarea.selectionEnd; mozWrap(textarea, text, '') textarea.selectionStart = sel_start + text.length; textarea.selectionEnd = sel_end + text.length; } else if (textarea.createTextRange && textarea.caretPos) { if (baseHeight != textarea.caretPos.boundingHeight) { textarea.focus(); storeCaret2(textarea); } var caret_pos = textarea.caretPos; caret_pos.text = caret_pos.text.charAt(caret_pos.text.length - 1) == ' ' ? caret_pos.text + text + ' ' : caret_pos.text + text; } else { textarea.value = textarea.value + text; } } function storeCaret2(textEl) { if (textEl.createTextRange) { textEl.caretPos = document.selection.createRange().duplicate(); } }
- En el archivo posting_editor.html
Buscar:Agregar despues (nueva linea):Código: Seleccionar todo
</textarea>
Código: Seleccionar todo
<br><!-- INCLUDE latexgen.html -->
> Edicion para subsilver2 (y otros estilos que se basen en este)
- En el archivo editor.js
Ir al final del archivo, y agregar en una nueva línea:Código: Seleccionar todo
/** * Generador de url para Latex, por Mitch */ function genurlmitch(texto){ var espacio = " "; var rempespacio = '\\ '; var1 = texto.split('%').join('%25'); var1 = var1.replace(/\s*[\r\n][\r\n \t]*/g, '\\\\'); var1 = var1.split(espacio).join(rempespacio); var1 = var1.split(espacio).join('%20'); var1 = var1.split('!').join('%21'); var1 = var1.split('#').join('%23'); var1 = var1.split('$').join('%24'); var1 = var1.split('&').join('%26'); var1 = var1.split('(').join('%28'); var1 = var1.split(')').join('%29'); var1 = var1.split('*').join('%2A'); var1 = var1.split('+').join('%2B'); var1 = var1.split('-').join('%2D'); var1 = var1.split(',').join('%2C'); var1 = var1.split('/').join('%2F'); var1 = var1.split(':').join('%3A'); var1 = var1.split(';').join('%3B'); var1 = var1.split('<').join('%3C'); var1 = var1.split('=').join('%3D'); var1 = var1.split('>').join('%3E'); var1 = var1.split('?').join('%3F'); var1 = var1.split('@').join('%40'); var1 = var1.split('[').join('%5B'); var1 = var1.split('\\').join('%5C'); var1 = var1.split(']').join('%5D'); var1 = var1.split('^').join('%5E'); var1 = var1.split('_').join('%5F'); var1 = var1.split('{').join('%7B'); var1 = var1.split('|').join('%7C'); var1 = var1.split('}').join('%7D'); var1 = var1.split('~').join('%7E'); var1 = var1.split('¡').join('%A1'); var1 = var1.split('©').join('%A9'); var1 = var1.split('±').join('%B1'); var1 = var1.split('²').join('%B2'); var1 = var1.split('³').join('%B3'); var1 = var1.split('¿').join('%BF'); var1 = var1.split('ß').join('%DF'); var1 = var1.split('Ø').join('%D8'); var1 = var1.split('Þ').join('%DE'); var1 = var1.split('ø').join('%F8'); var1 = var1.split('\"').join('%22'); var1 = var1.split('\'').join('%27'); var salida = ['http://www.texify.com/img/%5CLARGE%5C%21',var1,'.gif']; var salida2 = salida.join(""); return salida2; } function latexurlmitch(){ var s1 = document.getElementById('cadena1'); // Obtenemos el valor del area de texto texto1 = document.getElementById('texto').value; // Cambiamos su valor s1.value = genurlmitch(texto1); } function imgpostlatex() { var prev = document.getElementById('texto').value; if (prev == "") { alert("Debes escribir una fórmula"); return (false); } else { var s1 = document.getElementById('cadena1').value; var1 = '[img]'; var2 = '[/img]'; var salida = ['[img]',s1,'[/img]']; var salida2 = salida.join(""); insert_text(salida2, true); } } function latexajax(){ var prev = document.getElementById('texto').value; if (prev == "") { alert("Debes escribir una fórmula"); return (false); } else { var s1 = document.getElementById('cadena1').value; setTimeout("latexajax2(document.getElementById('cadena1').value)", 1000) document.getElementById('latexprev').src = './images/latex/ajaxloader.gif'; } } function latexajax2(s1){ document.getElementById('latexprev').src = s1; } function prevlatex() { var prev = document.getElementById('texto').value; if (prev == "") { alert("Debes escribir una fórmula"); return (false); } else { var s1 = document.getElementById('cadena1').value; window.open(s1, this.target, 'toolbar=yes, location=yes, status=yes, menubar=yes, scrollbars=yes, resizable=yes, width=500, height=400'); } } function BBClatex(text, spaces) { var textarea = document.getElementById('texto'); if (!isNaN(textarea.selectionStart)) { var sel_start = textarea.selectionStart; var sel_end = textarea.selectionEnd; mozWrap(textarea, text, '') textarea.selectionStart = sel_start + text.length; textarea.selectionEnd = sel_end + text.length; } else if (textarea.createTextRange && textarea.caretPos) { if (baseHeight != textarea.caretPos.boundingHeight) { textarea.focus(); storeCaret2(textarea); } var caret_pos = textarea.caretPos; caret_pos.text = caret_pos.text.charAt(caret_pos.text.length - 1) == ' ' ? caret_pos.text + text + ' ' : caret_pos.text + text; } else { textarea.value = textarea.value + text; } } function storeCaret2(textEl) { if (textEl.createTextRange) { textEl.caretPos = document.selection.createRange().duplicate(); } }
- En el archivo posting_body.html
Buscar:Reemplazar por:Código: Seleccionar todo
<td valign="top" style="width: 100%;"><textarea name="message" rows="15" cols="76" tabindex="3" onselect="storeCaret(this);" onclick="storeCaret(this);" onkeyup="storeCaret(this);" style="width: 98%;">{MESSAGE}</textarea></td>
Código: Seleccionar todo
<td valign="top" style="width: 100%;"><textarea name="message" rows="15" cols="76" tabindex="3" onselect="storeCaret(this);" onclick="storeCaret(this);" onkeyup="storeCaret(this);" style="width: 98%;">{MESSAGE}</textarea> <br><!-- INCLUDE latexgen.html --> </td>
Y listo... Limpias el caché de tu foro (boton Limpiar cache del índice del administrador) y deberías poder ver y usar el MOD.
(Si no se agregara el código al post o no se formara la fórmula, presiona las teclas CONTROL+F5 para actualizar el caché de tu navegador)
Errores? Comentarios? en este tema

salu2