14 de ago de 2007

Latex e Moodle


ATENÇÃO (informação de 27/11/2014)
Devido a descontinuidade do latexrender, sugiro a instação do latexrender-ng, desenvolvido pelo Prof. Dr. Waldeck Schützer que ainda tem suporte.

http://latexrender-ng.sourceforge.net/

___________________________________


O Moodle é um Sistema de Gerenciamento de Cursos (SGC) que contribui para a Educação a Distância (EaD). O Mimetex é o filtro padrão do Moodle que interpreta algumas fórmulas matemáticas do Latex. Porém, ainda existem limitações para o mesmo, e como uma solução completa, tem-se o LatexRender.

Para escrever-se uma fórmula, utiliza-se as tags [tex]...[/tex]

Apresenta-se aqui um breve tutorial para a instalação do LatexRender no Moodle em um servidor Linux (com Apache, PHP e MySQL). Ressalta-se que o procedimento foi testado no Moodle 1.6.3, o que pode sofrer algumas alterações para as versões posteriores.

Requisitos do sistema

  • Instalar os seguintes pacotes: etex-base imagemagick gs-common;
  • Servidor Linux com Moodle já instalado;
  • Tetex (Latex)

Parte 1 - Procedimentos de cópia de arquivos

  1. Há um diretório no ../moodle (de instalação do mesmo) em que há uma pasta denominada filter (../moodle/filter/)
  2. Vá até a homepage do LatexRender e baixe o arquivo latexrender.zip
  3. Antes dos próximos passos, recomenda-se realizar um backup da pasta ../moodle
  4. Crie uma pasta denominada latexrender em ../moodle/filter/ .Descompacte o arquivo latexrender.zip na pasta criada.
  5. Copie os arquivos latex.php, class.latexrender.php e latexcode.php para ../moodle/filter/latexrender
  6. Crie um diretório denominado latexrender em ../moodledata/filter (o moodledata depende de cada instalação do Moodle). Crie duas pastas: tmp e pictures; e atribua para leitura e escrita em ambas (chmod 777).
  7. Baixar o arquivo latexrender_moodle.zip. Descompacte e extraia o arquivo latexrender.php para a pasta ../moodle/lang/pt-br (no caso do português brasileiro). Copie os arquivos filter.php e pix.php para a pasta ../moodle/filter/latexrender

Parte 2 - Modificando parâmetros

Para esta etapa, considere o caminho do seu servidor até o ../moodle e o ../moodledata. Para os arquivos a seguir, utilizamos o path do nosso servidor Moodle que está configurado em:

(nosso moodledata): /home/moodle/moodledata
(nosso moodle): /srv/www/htdocs/moodle

Arquivo latex.php

Ajustar os seguintes parâmetros:

$latexrender_path = "/home/moodle/moodledata/filter/latexrender";
$latexrender_path_http = “/moodle/filter/latexrender”;

include_once("class.latexrender.php");

$latex = new LatexRender($latexrender_path."/pictures",$latexrender_path_http."/pix.php",$latexrender_path."/tmp");

Arquivo class.latexrender.php

Estes parâmetros dependem da localização da instalação do Latex, ImageMagick e do Ghostscript. No nosso servidor, indicamos o caminho dos programas:

var $_latex_path = "/usr/bin/latex";
var $_dvips_path = "/usr/bin/dvips";
var $_convert_path = "/usr/bin/convert";
var $_identify_path= "/usr/bin/identify";

Esses parâmetros podem mudar conforme o local de instalação do latex, dvips, convert e identify.

Arquivo filter.php

Para modificar a resolução tipográfica recomendamos ler o arquivo README do latexrender.zip

Neste arquivo pode-se modificar o cache das imagens geradas:

Para ativar o cache: $cachefiles = 1 (melhora a performance do Moodle)
Para desativar o cache é só comentar com: #$cachefiles = 1
(obs: não utilizar em nenhuma hipótese o comando $cachefiles = 0)

E pronto !!!

Parte 3 - Ativando o LatexRender no Moodle

Após a conclusão das etapas anteriores, teremos que ativar o filtro LatexRender. Para isso entre no Moodle como root e vá em administração/configurações/filtros e ative o LatexRender

Agora, recomenda-se reiniciar o serviço do apache.

Como um primeiro teste, insira os comandos abaixo em algum formulário HTML do Moodle (Fórum, Material HTML, etc..)

[tex]x=\frac{-b\pm\sqrt{b^2-4ac}}{2a}[/tex]

Se a fórmula aparecer, está tudo ok.
Aguarde alguns instantes, pois em alguns servidores, o cache do Moodle pode estar com um delay maior.


Sites recomendados


11 comentários:

  1. Prezado Jean.

    Conforme já discuti com o colega, estou pesquisando, no meu pós-doutorado, a qeustão da matemática no Moodle. No momento estou construindo um modulo semelhante ao programa Mathtype. Na Revisão Bibliográfica estou mostrando como o Mathtype pode se usado com o Moodle. Verifiquei a necessidade de ativar o filtro tex no Moodle. Ao ativar apareceram as linhas:
    \usepackage[latin1]{inputenc]
    \usepackage{amsmath}
    \usepackage{amsfonts}
    \requirePackage{amsmath,amssymb,latexsym}
    Tenho dúvida se são apenas estes comandos. Você pode tirar esta dúvida?

    ResponderExcluir
  2. Prezado Jean. Será que você pode tirar a seguinte dúvida?
    Necessito ativar o filtro do TeX para que ao colar e salvar a equação
    \ [d = \sqrt {\left({x_2-x_1}\right)^2+\left({y_2-y_1} \right)^2}\], no Moodle. Apareça a equação de “fato”. Isso não está acontecendo.
    Fui em Filtros, Anotações TeX. O símbolo do olho de ativação apareceu. Quando clico em Configurações aparece:
    Configurações do Renderer Látex.
    \usepackage[latin1]{inputenc}
    \usepackage{amsmath}
    \usepackage{amsfonts}
    \RequirePackage{amsmath,amssymb,latexsym}
    Ocorre que: caminho binário Látex e o Caminho do Binário Dvips (/use/Bin/latex e /use/Bin/dvips), estão marcados com um X em vermelho. Só o Caminho do binário Convert (/use/Bin/convert) está marcado com um “v” verde.

    Será que os caminhos marcados em X deveriam está maracados em (V) verde?

    ResponderExcluir
  3. Ademir.
    Quanto a sua primeira pergunta:
    Me parece que o problema está no preâmbulo. Uma tentativa é retirá-lo e testar. Em alguns moodles esses comandos dão conflitos.

    Quanto a segunda:
    Deve ser Linux seu servidor certo? Se for, o que deve estar causando o erro (X vermelho) é o "Bin" maiúsculo. Troque para "bin" e veja se o "V verde" aparece.

    []s
    Jean

    ResponderExcluir
  4. Ola "ORIENTACOES.." não sei se vc resolvel seu probleminha ...mas a sua formula \[d = \sqrt {\left({x_2-x_1}\right)^2+\left({y_2-y_1} \right)^2}\] deveria ficar entre [tex] e [/tex]: Assim:

    [tex]\[d = \sqrt {\left({x_2-x_1}\right)^2+\left({y_2-y_1} \right)^2}\][/tex]. Verifique tambem o caminho de /usr/bin/latex p/ ver se existem. Na minha distro caminho é outro.

    ResponderExcluir
  5. Caro Prof. Piton,

    Tenho uma pequena dúvida quanto a copiar os arquivos latex.php, class.latexrender.php e latexcode.php para modificar. Na minha instalação Ubuntu 8.04 há várias versões, pelo menos dos dois primeiros, cada uma no seu directório. Qual devo usar como referência, para copiar e alterar?
    Obrigado pela atenção.

    JJ Costa

    ResponderExcluir
  6. Caro JJ Costa

    Pelo o que entendi você deve ter feito a instalação pelo apt-get (synaptic)? Como seu ubuntu é 8.04, recomendo que pegue a versão dos arquivos com a data de criação mais recente.

    Jean

    ResponderExcluir
  7. Caro Prof. Jean,
    você sabe como escrever a função sen(x) no Moodle de forma que ela seja tratada como uma função? Por exemplo, o comando $$\cos x$$ escreve a função cosseno, $$\sin x$$ escreve seno mas em inglês. Como fazer para escrever a função seno em português?
    Tentei \operatorname{sen} mas não tive sucesso...

    Dede já agradeço,
    Leandro Sebben Bellicanta.

    ResponderExcluir
    Respostas
    1. Leandro

      A saída que conheço é apenas com permissão de administrador, que é alterando o prêambulo do filtro TeX e acrescentando os pacotes brazilian, para mudar de idioma globalmente.

      Jean

      Excluir
  8. Olá Prof. Jean.
    Você conhece alguma maneira de fazer com que as fórmulas escritas em latex no moodle não fiquem tão desproporcionais em relação ao texto?

    Desde já agradeço,
    Leandro.

    ResponderExcluir
    Respostas
    1. Leandro

      Isso tem sido o maior desafio do filtro, pois ele gera uma fórmula-imagem. Isso quer dizer que pode-se forçar manualmente o alinhamento de cada fórmula (pelo recurso imagem), mas até o momento desconheço uma forma mais "automática" de alinhar o texto.
      Jean

      Excluir