Solución para el problema del plugin de LaTeX

Ciertos problemas con la conexión y alguna otra cosa (ya os contaré) han hecho que esta semana sea imposible escribir el habitual artículo de los lunes. Os dejo en su lugar una solución al problema del plugin de \LaTeX.

Como ya comenté el otro día Jazztel ha bloqueado cierto rango de IP’s de WordPress.com. Como el plugin de \LaTeX que usamos en Gaussianos toma las fórmulas de allí los usuarios de esta compañía no las veían.

Teniendo en cuenta que mucha gente ha descargado este plugin (tenéis un enlace en la parte superior del blog, concretamente éste) y lo utilizan en sus blogs voy a comentar la solución que le he dado yo al tema. Básicamente es cambiar de servidor para tomar las imágenes. En Gaussianos no ha habido ningún problema (al menos yo no he tenido ninguno y nadie me ha comentado nada), por lo que supongo que os funcionará a todos. Ahí va (sigo poniendo el código como una imagen porque no me deja ponerlo como texto ni con la etiqueta code. ¿Alguien sabe cómo hacerlo?):

Buscad lo siguiente:

Imágenes de WordPress.com

y cambiadlo por este código:

Imágenes de Codecogs

Con esto el problema está resuelto y las fórmulas vuelven a aparecer.

Autor: gaussianos

8 Comentarios

  1. El problema para escribir código está en que WordPress gestiona mal los caracteres < y >. Y en algunas situaciones tambien el caracter &. Se puede arreglar cambiando los siguientes caracteres del texto a escribir así:

    < = &lt;
    > = &gt;
    & = &amp;

    Por ejemplo:

    return "<img style=\"border:0px;vertical-align:middle;\" src='http://www.codecogs.com/eq.latex?".html_entity_decode($formula_text, ENT_NOQUOTES, 'UTF-8')."' alt=\"$formula_text\" />";

    Publica una respuesta
  2. Hola.

    He descargado el plugin de Latex de vuestra página y he de felicitaros por lo bien que va.

    Sin embargo tengo un problemilla. Como comenta Sive arriba, wordpress gestiona mal caracteres del estilo de < , > y & . En realidad tiene una herramienta de formateo que cambia todos los caracteres “extraños” a su codificación HTML (por lo que pude ver se encuentra en wp-includes/formatting.php).

    El caso es que a mí me perjudica porque ciertos códigos Latex no van bien debido a eso. Por ejemplo las matrices:

    \begin{pmatrix}x-d_x & y-d_y & z-d_z\\v_x & v_y & v_z\end{pmatrix}

    WordPress cambia todos los amperstands por & amp; o & #038; y de este modo el código deja de ser válido, apareciendo la dichosa “Formula does not parse”.

    Me he permitido escribir el código en este comentario para ver como iba en vuestra web. Y veo que a vosotros os sale perfectamente:

     \begin{pmatrix}x-d_x & y-d_y & z-d_z\\v_x & v_y & v_z\end{pmatrix}

    Os aseguro que ya no sé qué hacer. ¿Como lo habeis conseguido? ¿se trata de un plugin que quizás no tenga? ¿Habeis tocado el archivo formatting.php para evitar que wordpress haga la conversión de las & ?

    Tengo la última versión de WordPress, la 2.7.1, y el único plugin que tiene activado es el vuestro (la he dejado totalmente vacía para ver si encontraba el modo de hacerlo), así que el problema no está en editores ni WYSIWYG.

    Tampoco es un problema de bloqueo de IP´s porque otras ecuaciones las veo sin problemas.

    He observado que el código que guarda en la base de datos es el correcto, sin ningún tipo de formateo, con lo cual el cambio lo hace a la hora de mostrarlo en pantalla…y ahí me quedé.

    Os agradecería mucho cualquier ayuda que pudierais prestarme, o quizás indicaciones hacia otras páginas donde comenten el problema.

    Recibid un cordial saludo.

    Publica una respuesta
  3. Hola de nuevo.

    Quería deciros que he conseguido solucionar el problema. Por si a alguien le ocurriese lo mismo dejo aquí la solución.

    En principio haciendo el cambio que proponeis arriba funciona, pero si alguien quiere seguir utilizando las fuentes de wordpress hay que modificar un pelín el plugin.

    En la línea 25 reemplazar:

    return “<img style=\”border:0px;vertical-align:middle;\” src=’http://l.wordpress.com/latex.php?latex=”.urlencode($formula_text).”&bg=”.$this->bgColor.”&fg=”.$this->frontColor.”‘ alt=\”$formula_text\” />”;

    Por

    return “< img style=\”border:0px;vertical-align:middle;\” src=’http://l.wordpress.com/latex.php?latex=”.urlencode(html_entity_decode($formula_text, ENT_NOQUOTES, ‘UTF-8’)).”&bg=”.$this->bgColor.”&fg=”.$this->frontColor.”‘ alt=\”$formula_text\” /> “;

    La función html_entity_decode()transforma las entidades HTML en los símbolos correspondientes (& amp; por &, y así sucesivamente).De este modo el código llega “limpio” a la página.

    Nada más, un saludo y que sepais que habeis ganado un lector incondicional.

    Publica una respuesta
  4. Buenas Pablo. Me alegro de que el plugin te sea útil y de que hayas solucionado el tema. Siento no haberte contestado antes.

    Nos seguimos viendo por aquí.

    Publica una respuesta
  5. Hola, tengo un problema con el plugin wp-latex. Uso wordpress y el tema Mimbo.

    Las fórmulas se construyen bien pero siempre se presentan como párrafo nuevo alineado a la izquierda :

    Esto es un ejemplo \LaTeX que aquí se ve bien pero en mis post se vé en tres líneas.

    Gracias por toda ayuda.

    Publica una respuesta
  6. 2+\left ( 5-3 \right )*\sqrt[2]{5}

    (es solo una prueba, ya que estoy intentando utilizar latex por primera vez. perdón la molestia)

    Publica una respuesta

Trackbacks/Pingbacks

  1. Bitacoras.com - Información Bitacoras.com... Valora en Bitacoras.com: Ciertos problemas con la conexión y alguna otra cosa (ya os contaré) han hecho…

Puedes utilizar código LaTeX para insertar fórmulas en los comentarios. Sólo tienes que escribir
[latex]código-latex-que-quieras-insertar[/latex]
o
$latex código-latex-que-quieras-insertar$.

Si tienes alguna duda sobre cómo escribir algún símbolo puede ayudarte la Wikipedia.

Y si los símbolos < y > te dan problemas al escribir en LaTeX te recomiendo que uses los códigos html & lt; y & gt; (sin los espacios) respectivamente.

Envía un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *