expressões matemáticas em fóruns interativospa.mat.unb.br/downloads/artigo-publicacao.doc ·...
TRANSCRIPT
Expressões Matemáticas em Fóruns Interativos
Autores: Paulo Angelo Alves Resende – Aluno de Graduação da Universidade de BrasíliaGuy Grebot – Professor da Universidade de BrasíliaLeonardo Lazarte – Professor da Universidade de BrasíliaCelius Magalhães – Professor da Universidade de Brasília
Dados do autor responsável pela publicação:Nome: Paulo Angelo Alves ResendeEmail: [email protected]: 217-6146Fax: 217-6146
Resumo Indicativo em Português
Este trabalho apresenta uma solução para veiculação de expressões matemáticas
em ambientes interativos de aprendizagem na Internet. Esta solução é de fácil
implementação, e só exige familiaridade com o LaTeX, bastante usado na
comunidade matemática. É feita uma comparação com as alternativas disponíveis,
mostrando as vantagens e limitações da solução aqui proposta.
Abstract
We present a solution that allows showing mathematical expressions in interactive
learning environments on the Internet. It can be easily implemented, and the only
demand on the user is acquaintance with LaTeX, which is widely used on the
mathematical community. We compare this with other existing alternatives,
pointing out advantages and limitations of our proposal.
Palavras Chave
Expressões Matemáticas, Internet, Ensino a distância e Ambientes de
Aprendizagem
Keywords
Mathematical Expressions, Internet, Distance Learning, Learning Environments.
1 Introdução
Em 1978, a necessidade de gerar textos científicos de boa qualidade, levou
Donald Knuth à criação da linguagem de marcação de texto TeX[1]. Em 1985,
Leslie Lamport estendeu o TeX[1] com um conjunto de “macros”, criando assim o
LaTeX[2]. Com o advento da Internet, essas ferramentas se tornaram um padrão
para a veiculação de expressões matemáticas. Dessa forma, não há problema de
troca de documentos com notação matemática pela Internet. No entanto, a
veiculação interativa da simbologia matemática, em fóruns eletrônicos, por
exemplo, é problemática.
Neste contexto, o grande desafio é a criação de um mecanismo que facilite a
utilização dos símbolos matemáticos por meio dos caracteres disponíveis no
teclado. Esse mecanismo deve abranger a criação, veiculação, visualização e edição
da informação de forma interativa e compatível com os navegadores de Internet já
existentes.
A W3C (World Wide Web Consortium[3]) desenvolveu, em 1998, o
MathML (Mathematical Markup Language[4]) com o objetivo de permitir a
veiculação da simbologia matemática na Internet. No entanto, esse padrão não foi
amplamente adotado pelos programas de acesso à rede, fazendo com que o
MathML[4] fosse pouco difundido.
Além do padrão da W3C[3], foram desenvolvidas outras formas para
transmitir esse tipo de informação, cada qual com suas características, mas que nem
sempre atendem a determinadas situações como, no caso que nos interessa, em
ferramentas de ensino a distância.
Estudando as vantagens e desvantagens oferecidas por cada forma de
veiculação de expressões matemáticas, desenvolvemos uma forma simples para
veicular esta notação.
Esta solução abre um novo horizonte quanto à utilização da linguagem
científica na Internet pois dispensa a utilização de programas adicionais, “plug-ins”
e outras barreiras, que dificultam a implementação de sistemas de veiculação da
simbologia matemática.
Na próxima seção, apresentamos as formas de veiculação da linguagem
matemática atualmente disponíveis. As seções 3 e 4 descrevem a solução
encontrada expondo suas vantagens e, na seção 5, ela é comparada com as formas
citadas.
2 Formas Usuais de Veiculação
2.1 Veiculação Textual
Provavelmente, essa foi a primeira forma utilizada. Ela consiste em tentar
escrever a simbologia matemática com os caracteres disponíveis. Para a veiculação
de integrais, derivadas, raízes quadradas e outras expressões matemáticas, pode-se
fazer uso da sintaxe de diversas linguagens, como o Maple [5] e o LaTeX[2]. Por
exemplo, a expressão pode ser veiculada da seguinte forma:
Maple: Int(sqr(x+2))/2
LaTeX: \frac{\int{\sqrt{x+2}}}{2}
Essa forma, embora precária, ainda é utilizada devido à sua simplicidade.
Ela dispensa o uso de imagens e programas adicionais, necessitando, tão somente,
do teclado e de um editor de textos. Possui a desvantagem de exigir, de quem lê,
conhecimentos da sintaxe utilizada, além de desviar a atenção do leitor da
compreensão do conteúdo para a interpretação da sintaxe.
2.2 Veiculação por Meio de Arquivos em Formatos
Específicos
A veiculação por meio de arquivos em formatos específicos funciona através
da criação de documentos, por exemplo, em formatos como Word[6], PDF,
LaTeX[2], DVI, OpenOffice[7] ou outros.
Esta forma, no entanto, tem limitações de compatibilidade e praticidade: há
necessidade de um programa específico para criar-se um documento desses e de um
programa específico para visualizá-lo. Esse tipo de procedimento é claramente
inadequado para um fórum de discussão pela Internet.
2.3 Veiculação Utilizando MathML
O MathML[4], desenvolvido pela W3C[3], é bem conceituado devido à sua
estrutura técnica. Ele permite incorporar a notação matemática ao padrão HTML de
forma totalmente integrada. Segundo esse padrão, da mesma forma que o usuário
visualiza a página com suas tabelas e imagens no seu navegador, ele pode visualizar
as fórmulas matemáticas utilizando algumas fontes apropriadas. Como o usuário
visualiza tudo no seu navegador sem a necessidade de programas adicionais, evita-
se a utilização de arquivos em PDF, LaTeX[2] ou outros.
O único inconveniente, é que o MathML[4] não foi amplamente
implementado nos navegadores atualmente disponíveis, que precisam interpretar o
código em MathML[4] e criar o que o usuário deve ver. Teoricamente, diversos
navegadores já interpretam esse padrão, mas a maioria necessita de “plug-ins”. Os
únicos navegadores que suportam diretamente o MathML[4] são o Amaya[8], o
Mozilla[9] e o Netscape[10].
Portanto, o uso de MathML[4] obriga a utilização de determinados
navegadores, além do inconveniente de forçar os usuários a instalarem “plug-ins” e
novas fontes.
2.4 Veiculação Utilizando Java
Os “Java Applets” são pequenos programas que são executados nos próprios
navegadores. Eles permitem que uma determinada linguagem (ex. LaTeX[2]) possa
ser visualizada dinamicamente através de imagens. Um exemplo desses programas
é o HotEqn[11].
Apesar de muitos navegadores poderem executar os “Java Applets”, ainda
existem problemas de compatibilidade com alguns navegadores específicos em
determinadas plataformas, por exemplo, não existe máquina virtual java da Sun[12]
para Linux sobre a plataforma PowerPC. Outro ponto desfavorável é a necessidade
de recursos computacionais por parte dos usuários, já que esses programas são
executados localmente, e computadores com menos recursos podem ter problemas
ao executar esses programas.
2.5 Veiculação Utilizando HTML e Imagens
Essa forma de veiculação resolve todos os problemas relatados quanto à
visualização. A idéia básica é criar imagens com notação matemática e inseri-las no
navegador do usuário. Apesar de existirem navegadores que não permitem
visualizar imagens (ex. lynx), a grande maioria dos usuários consegue visualizar o
conteúdo diretamente no navegador sem a necessidade de “plug-ins”. A geração de
imagens pode ser feita por meio de vários programas, como o latex2html[13], que
gera uma página HTML com imagens para representar as expressões matemáticas.
Essa solução resolve o problema de visualização para conteúdos estáticos e
para quem dispõe do pacote específico (por exemplo, LaTeX), não sendo portanto
adequada para fóruns de ensino a distância.
3 Solução Utilizando Geração Dinâmica de Imagens
A solução proposta consiste em referenciar um programa hospedado em um
servidor Web como se fosse uma imagem. Esse programa, de fato, retorna uma
imagem gerada dinamicamente através das informações embutidas na referência.
Todo esse processo é transparente para o usuário.
Num fórum virtual é possível disponibilizar um conjunto de ícones de
símbolos matemáticos, de tal forma que o usuário não precise de conhecimentos
avançados da sintaxe da linguagem utilizada.
Ao escrever sua mensagem, o usuário insere a informação matemática na
linguagem LaTeX[2] entre os delimitadores “$”, utilizando ou não os ícones de
auxílio. No ato da visualização, essa informação é processada no servidor que a
substitui por imagens com os símbolos matemáticos. Essa mensagem, juntamente
com a informação matemática, fica armazenada no banco de dados de mensagens
do fórum, podendo ser recuperada a qualquer momento. Assim, alterações da
informação científica original podem ser efetuadas, agilizando a comunicação.
Este esquema foi implementado na ferramenta PhPBB[14], que é um
programa livre de criação de fóruns interativos. O PhPBB[14] faz parte do conjunto
de ferramentas utilizadas no ensino de Cálculo 1 do Departamento de Matemática
da Universidade de Brasília no endereço http://www.mat.unb.br.
4 Descrição Técnica da Solução
Em nossa implementação, foi necessário alterar as rotinas de visualização e
envio do fórum utilizado. Descrevemos a seguir o processo de envio e visualização
de um texto matemático:
1. O navegador do usuário acessa o fórum virtual
2. O usuário acessa o link de envio de mensagem
3. O formulário de envio de mensagens é apresentado
4. O usuário redige sua mensagem, inserindo a expressão matemática entre os
delimitadores “$”
5. O usuário submete as informações
6. Essa informação é salva em um banco de dados no servidor
7. Na visualização, o usuário, através do navegador, acessa o módulo do fórum
que deve apresentar a mensagem
8. A mensagem é recuperada no banco de dados e é apresentada no formato
HTML; as informações entre os delimitadores “$” são substituídas por uma
referência a uma imagem conforme o padrão HTML. Nessa referência há
uma variável, do tipo “GET” (RFC 2616), contendo a informação em
LaTeX[2]
9. Ao tentar carregar a imagem, o navegador aciona o programa que de fato
gerará a imagem a partir da variável embutida na referência
10. Esse programa cria, no servidor, um arquivo do tipo LaTeX[2] utilizando
um cabeçalho padrão, previamente criado, e o código em LaTeX[2] recebido
11. Após o arquivo ter sido criado, o programa executa uma rotina de conversão
de formatos, transformando o arquivo no formato LaTeX para uma imagem
do tipo “gif”, que é enviada ao navegador do usuário
Todo esse processo pode ser melhor visualizado no diagrama 1.
Diagrama 1
Na sub-rotina de conversão de formatos são utilizados, basicamente, três
programas auxiliares:
1. LaTeX[2] - Cria um arquivo no formato “dvi” a partir de um arquivo no
formato “LaTeX”;
2. DviPS[15] - Gera um arquivo no formato “eps” a partir do arquivo no
formato “dvi”;
3. ImageMagick[16] - Converte o formato “eps” para o formato de imagem
“gif”.
Esses programas são pré-requisitos na implementação dessa solução, devendo
estar instalados apenas no servidor, não havendo a necessidade de estarem
instalados no computador do usuário.
Em nosso trabalho, esse modelo de veiculação foi implementado através da
criação de um programa simples de geração dinâmica de imagens, escrito na
linguagem PHP [17], disponível no endereço http://pa.mat.unb.br/.
Foi necessário fazer algumas alterações na ferramenta de fórum PhPBB [14]
para que ela pudesse referenciar o programa de geração dinâmica de imagens na
visualização de mensagens com notação matemática. Como toda ferramenta de
fórum, o PhPBB[14], possui dois módulos: o de envio e tratamento das mensagens
e o de visualização. A solução é implementada no módulo de visualização que, no
PhPBB[14], é composto pelos arquivos:
• “includes/topic_review.php”
• “modcp.php”
• “posting.php”
• “privmsg.php”
• “search.php”
• “viewtopic.php”
A nossa alteração consiste em substituir o código entre os delimitadores “$” pela
referência “<img align=’center’ src=’http://pa.mat.unb.br/latex2gif/ latex2gif.php?
latex=CODIGO_EM_LATEX’>”. Com isso, quando o navegador acessa a
“imagem” referenciada, o programa “latex2gif.php” recupera a expressão
matemática em LaTeX “CODIGO_EM_LATEX” e faz a conversão para uma
imagem no formato “gif”.
Depois de concluído nosso trabalho, nos deparamos com a existência de duas
soluções alternativas que também geram imagens de forma dinâmica a partir de
código em LaTeX[2]. O programa “mimeTeX”[18], que apresenta uma qualidade
gráfica inferior, já que não utiliza o pacote padrão do LaTeX[2]. E o programa
“latexrender”[19] que é uma solução semelhante à nossa.
5 Comparação
Os ambientes acadêmicos virtuais oferecem diversas ferramentas de ensino
capazes de veicular informações científicas através das formas usuais citadas na
seção 2 deste trabalho. Entretanto, o problema atual de veiculação está nas
ferramentas que permitem uma maior interatividade por parte do usuário, tais como
os fóruns e bate-papos. Essas ferramentas precisam ser tais que:
1. Não exijam, por parte dos usuários, muitos requisitos computacionais.
2. Utilizem padrões da linguagem matemática já difundidos.
3. Implementam reversibilidade, ou seja, a possibilidade de recuperação das
fórmulas matemáticas originais para reedição.
O modelo proposto neste trabalho atende a todas essas necessidades devido às
seguintes características:
1. A informação é processada no servidor, e não no computador do usuário.
2. A linguagem padrão utilizada é o LaTeX[2], que é bem difundida no meio
acadêmico.
3. A informação original é preservada, pois é interpretada somente na
visualização.
As demais alternativas atendem as necessidades em determinadas situações, mas
para a implementação em ferramentas como fóruns e bate-papos, a forma
apresentada é a mais adequada, conforme mostrado na tabela 1.
Tabela 1: Comparação entre as diferentes formas de veiculação
Textual
Utilizando
Arquivos em
Formatos
Específicos
MathML JavaHTML e
ImagensmimeTeX
Geração
dinâmica de
Imagens
Exige poucos
recursos por
parte do
usuário
Sim Não Não Não Sim Sim Sim
Visualização
usual da
linguagem
matemática
Não Sim Sim Sim Sim Sim Sim
Compatibilidad
e total com os
navegadores
Sim Não Não Não Sim Sim Sim
Reversibilidade Sim Sim Sim Sim Não Sim Sim
Dispensa
programas
auxiliares na
criação
Sim Não Não Sim Não Sim Sim
Dispensa
programas
auxiliares na
visualização
Sim Não Sim Sim Sim Sim Sim
Utiliza o
LaTeX[2]
oficial
Não Sim Não Não Sim Não Sim
Oferece boa
apresentação
Não Sim Sim Sim Sim Não Sim
6 Conclusões
Neste trabalho foi apresentada uma forma de veiculação de expressões
matemáticas através da Internet que supera as deficiências das formas tradicionais
de veiculação sem a necessidade de maiores recursos computacionais por parte do
usuário.
Essa forma de veiculação da linguagem matemática traz a possibilidade de
novas implementações em plataformas de ensino a distância, além de facilitar a
utilização da linguagem científica na Internet como um todo. Pelo fato do programa
ficar alojado num servidor, ele pode ser utilizado pela comunidade apenas através
de referências às imagens incluídas no conteúdo veiculado. Devido à facilidade de
utilização e dos poucos requisitos computacionais, espera-se uma boa difusão desse
novo modelo. Esta forma já está implementada no fórum de cálculo do
Departamento de Matemática da Universidade de Brasília desde janeiro de 2003.
Referências
[1] KNUTH, D. E. The TeXbook. [S.l.]: Addison-Wesley,, 1984.
[2] KOPKA, H.; DALY, P. A Guide to LaTeX. [S.l.: s.n.], 1999.
[3] W3. http://www.w3.org.
[4] MATHML. http://www.w3.org/math.
[5] WATHERSOFT. Maple. http://www.maplesoft.com.
[6] WORD. http://www.microsoft.com.
[7] OPENOFFICE. http://www.openoffice.org.
[8] DVIPS. http://www.w3.org/Amaya.
[9] MOZILLA. http://www.mozilla.org/.
[10] NETSCAPE. http://www.netscape.com/.
[11] HOTEQN.
http://www.esr.ruhr-uni-bochum.de/VCLab/software/HotEqn/HotEqn.htm
l.
[12] SUN Microsystems. http://www.sun.com/.
[13] LATEX2HTML. http://www.latex2html.org.
[14] PHPBB. http://www.phpbb.org.
[15] DVIPS. http://www.radicaleye.com/dvips.html.
[16] IMAGEMAGICK. http://www.imagemagick.org/.
[17] PHP. http://www.php.net.
[18] MIMETEX. http://www.forkosh.com/mimetex.html.
[19] LATEXRENDER. http://www.mayer.dial.pipex.com/tex.htm.