SonoraMat 1.0

Acessibilidade para Matemática

Atualizado em: 7 de junho de 2019, às 12:12


Como utilizar o Sonoramat?

  • A Linguagem de Entrada AsciiMath
  • Expressões matemáticas devem ser incluídas entre um par de delimitadores ` (acento grave), destacando-as do restante do texto.
    A descrição da linguagem de entrada AsciiMath pode ser encontrada na página web asciimath.org. Grande parte dos símbolos ali propostos está implementada.

  • Soletramento
  • Com exceção dos símbolos definidos pela especificação AsciiMath, como letras gregas e nomes de funções, que possuem significados pré-definidos e são traduzidos de acordo com as convenções da linguagem, os demais identificadores presentes nas expressões são soletrados.

    Para evitar o soletramento, basta antepor ao identificador o símbolo #:

    `tempo = 2` será lida “t-e-m-p-o igual a dois”;

    `#tempo = 2` será lida “tempo igual a dois”.

    Não é necessário antepor # aos símbolos definidos pela especificação AsciiMath:

    `Delta = 3` será lida “delta igual a três”

  • Constantes numéricas
  • São aceitos números inteiros e reais, estes em notação científica. Os caracteres . (ponto) ou , (vírgula) podem ser usados indistintamente para separar a parte inteira da parte fracionária. Na leitura, são transformados em , (vírgula) para facilitar o reconhecimento numérico por parte dos sintetizadores de voz. O expoente opcional (potência de 10) pode ser introduzido por E ou e

    Para evitar o soletramento, basta antepor ao identificador o símbolo #:

    `123` será lida “cento e vinte e três”;

    `123.45` será lida “cento e vinte e três vírgula quarenta e cinco”;

    `123,45e+2` será lida “cento e vinte e três vírgula quarenta e cinco”;

    `123.45E-2` será lida “cento e vinte e três vírgula quarenta e cinco vezes dez elevado a menos dois”;

  • Nivel de fluência
  • SonoraMat opera em 3 níveis de fluência

  • RAW: nível literal, em que os símbolos integrantes das expressões são lidos tais quais estão grafados;
  • BASIC: nível básico, em que algum processamento é feito sobre as expressões de modo a tentar melhorar a compreensão auditiva;
  • ADVANCED: nível avançado, um aprimoramento do nível básico.
  • A comutação entre os níveis é realizada por meio de 3 expressões especiais:

  • `~r`: comuta para o nível RAW
  • `~b`: comuta para o nível BASIC
  • `~a`: comuta para o nível ADVANCED

  • Uma vez comutado, o nível escolhido é válido até que surja outra expressão de comutação ou que se atinja o fim do documento.

    As expressões de comutação devem aparecer isoladas das demais e circundadas pelos delimitadores `.

    O contraste entre os níveis pode ser observado na sequência:

    `~r` `a * (b + c)` será lido “modo literal á vezes abre parênteses bê mais cê fecha”

    `~b` `a * (b + c)` será lido “modo básico á vezes a expressão bê mais cê”

    `~a` `a * (b + c)` será lido “modo básico á vezes a soma bê mais cê”

  • Desambiguação
  • É possível instruir o leitor acerca da semântica de alguns símbolos, evitando ambiguidades na leitura. Assim, na expressão `f(x) = x^2 – 1`, para indicar que f(x) significa a aplicação da função f a x, basta antepor o modificador ::f=função::, da seguinte maneira:

    `::f=função::f(x) = x^2 – 1`

    Uma vez introduzido, o modificador valerá para todas as expressões subsequentes no documento onde o identificador f for mencionado.
    O efeito poderá ser revertido, se desejado, com outro modificador:

    `::f=remove::`

    É possível aglutinar modificadores:

    `::f=função,g=função::f_1(x+y) = g_2(x-y)`

  • Derivadas
  • A grafia de derivadas segue a seguinte convenção (observe o agrupamento entre parênteses da ordem da derivada):

    `frac(dy)(dx)` será lida “dê ípsilon dê xís”;

    `frac(d^2y)(dx^2)` será lido “dê dois ípsilon dê xís dois”;

    `frac(d^(n)y)(dx^(n))` será lido “dê êne ípsilon dê xís êne”;

    `frac(d^(2n)y)(dx^(2n))` será lido “dê dois êne ípsilon dê xís dois êne”;

  • Agrupadores
  • Expressões podem ser envolvidas por ( ) ou [ ]. Nos modos básico e avançado, o agrupador não é lido. Se a leitura do agrupador for essencial, deve-se comutar para o modo literal. Assim, o par de expressões:

    `~r` `::f=funcao::Delta f(x_2,x_1) = frac([f(x_2)-f(x_1)])(x_2-x_1)`

    será lido: “Modo literal; delta éfe de xís índice dois, xís índice um igual a divisão, em cima: abre colchete éfe de xís índice dois menos éfe de xís índice um fécha, embaixo: xís índice dois menos xís índice um”.