O objeto global neo agrupa a API por assunto. Todas as funções são síncronas e lançam exceções em caso de erro. As que tocam o disco só aceitam caminhos dentro das pastas liberadas . Nos exemplos, C:/Equacoes representa uma pasta liberada.
Dica Referência completa
A apostila do NeoScript, com parâmetros, retorno, erros e um exemplo para cada função, abre pelo botão Documentação da tela do NeoScript, pelo comando neoscript docs --formato html e pelas ferramentas neoscript_docs_* do servidor MCP. Ela é gerada da mesma fonte que o programa e nunca fica desatualizada.
Equação#
Função
O que faz
neo.equacao.latex()
devolve o LaTeX da equação da aba atual
neo.equacao.mathml()
devolve o MathML da equação da aba atual
neo.equacao.definir(texto)
troca toda a equação por LaTeX ou MathML (um passo de desfazer)
neo.equacao.limpar()
esvazia a equação
neo.equacao.vazia()
diz se a equação está vazia
neo.equacao.selecionarTudo()
seleciona toda a equação (útil antes de neo.cor)
neo.equacao.medidas()
mede a equação em pontos tipográficos
Edição#
Função
O que faz
neo.inserir(texto)
insere no cursor LaTeX, um item da paleta ("m:fracao"), um símbolo ou uma matriz
neo.digitar(texto)
digita caractere por caractere, como no teclado
neo.tecla(nome, vezes?)
aperta uma tecla de navegação ou edição ("direita", "esquerda"…)
neo.desfazer() / neo.refazer()
desfaz e refaz
neo.estilo(nome)
escolhe o estilo de digitação
neo.cor(cor)
pinta a seleção ou o que for digitado a seguir; null remove
neo.corCmyk(c, m, y, k)
o mesmo em CMYK, cada tinta de 0 a 100
neo.corEmTudo(valor?)
liga ou desliga a cor em traços de fração, parênteses e radicais
neo.matriz.inserir(linhas, colunas, delimitador?, alinhamento?)
insere uma matriz
neo.matriz.editar(op)
edita a matriz onde está o cursor
Exportar e converter#
Função
O que faz
neo.exportar(formato, caminho, opcoes?)
grava a equação em "eps", "svg", "png", "mathml" ou "latex"; { dpi, fundoBranco } no PNG
neo.converter.latexParaMathml(texto)
LaTeX para MathML, sem mexer no editor
neo.converter.mathmlParaLatex(texto)
MathML para LaTeX
neo.converter.arquivos(tipo, entrada, saida, opcoes?)
converte arquivos e pastas entre os tipos que a Neo entende, num arquivo ou numa pasta
neo.lote(pasta, formato?, opcoes?)
converte todas as fórmulas de uma pasta para EPS, SVG ou PNG
neo.lote.estilizar(pasta, opcoes)
estilo em lote ; sem aplicar: true só simula
neo.lote.desfazer(pasta, opcoes?)
restaura os originais do último backup
neo.lote.backups(pasta)
lista os backups do estilo em lote
neo.docx(arquivo, saida, formato?)
extrai as equações de um .docx
Abas#
Função
O que faz
neo.abas.listar()
lista as abas abertas
neo.abas.atual() / neo.abas.total()
aba em foco e quantidade
neo.abas.nova()
abre uma aba vazia, que passa a ser a atual
neo.abas.escolher(indice)
muda de aba
neo.abas.fechar(indice?)
fecha uma aba (a última é só esvaziada)
Arquivos#
Função
O que faz
neo.arquivo.abrir(caminho)
abre uma equação na aba atual
neo.arquivo.salvar(caminho?)
salva a equação como EPS
neo.arquivo.inspecionar(caminho)
lê um EPS, SVG ou PNG do NeoMath sem abrir
neo.arquivo.ler(caminho) / neo.arquivo.escrever(caminho, conteudo, anexar?)
lê e grava arquivos de texto
neo.arquivo.existe(caminho) / neo.arquivo.listar(pasta)
consulta e lista
neo.arquivo.criarPasta(pasta) / neo.arquivo.apagar(caminho)
cria pastas; apaga arquivos (nunca pastas)
Preferências, OCR e interface#
Função
O que faz
neo.preferencias.listar() / atual() / definir(nomeOuIndice)
escolhe a preferência de estilo
neo.preferencias.carregar(caminho)
carrega um estilo de um arquivo
neo.ocr.reconhecer(imagem)
reconhece a equação de uma imagem e devolve o LaTeX (só no aplicativo)
neo.ocr.inserir(imagem)
reconhece e insere no cursor (só no aplicativo)
neo.acao(nome)
dispara uma ação da interface pelo mesmo caminho do menu
neo.mensagem(texto, titulo?)
mostra uma mensagem (no terminal, vai para stderr)
neo.esperar(ms)
pausa respeitando o botão Parar
neo.versao, neo.script.nome, neo.script.pasta, neo.permissoes()
informações do ambiente
Química#
O grupo neo.quimica trabalha com química. A estrutura entra como texto: um SMILES ou o conteúdo de um CML, MOL, SDF ou CDML.
Função
O que faz
ler, propriedades, formula, massa
resumo, fórmula de Hill, massa molar, contagens e composição
layout
desenho 2D (coordenadas, anéis, cunhas)
converter(entrada, destino) / exportar(entrada, destino, caminho)
SMILES, CML, MOL, SDF, JSON, SVG e PNG
verificar, explicar, descrever
valência, partes desconectadas, regras usadas e descrição acessível
relatorio(entrada, opcoes?)
relatório em Markdown para trabalhos escolares
abrir(caminho), lote(pasta, formato)
arquivos de estruturas e pastas inteiras
inserirFormula(entrada)
insere a fórmula (C₂H₆O) na equação da aba
reacao.ler, reacao.converter, reacao.exportar
esquemas de reação em texto (2H2 + O2 -> 2H2O)
elemento(consulta), tabelaPeriodica()
dados dos 118 elementos
catalogo.listar, pesquisar, estrutura, inserir
catálogo de estruturas prontas
Exemplos#
Exportar uma tabela de equações#
JavaScriptCopiar const pasta = "C:/Equacoes" ;
const formulas = {
pitagoras : "a^2+b^2=c^2" ,
bhaskara : "x=\\frac{-b\\pm\\sqrt{b^2-4ac}}{2a}" ,
euler : "e^{i\\pi}+1=0"
};
for ( const nome in formulas) {
neo . abas .nova ();
neo . equacao .definir (formulas[nome]);
neo .exportar ( "svg" , pasta + "/" + nome + ".svg" );
neo .exportar ( "png" , pasta + "/" + nome + ".png" , { dpi : 300 , fundoBranco : true });
}
console .log ( "pronto:" , neo . abas .total () , "abas" );
Converter uma pasta inteira#
JavaScriptCopiar const r = neo .lote ( "C:/Equacoes/formulas" , "eps" , { saida : "C:/Equacoes/eps" });
console .log ( r .ok + " de " + r .total + " convertidas" );
r . falhas .forEach (f => console .warn ( f .nome + ": " + f .erro));
Tratar erros#
JavaScriptCopiar try {
neo . equacao .definir ( "\\frac{" );
} catch (e) {
console .warn ( "não consegui ler:" , e .message);
}
Química#
JavaScriptCopiar const p = neo . quimica .propriedades ( "CC(=O)Oc1ccccc1C(=O)O" );
console .log ( p .formula , p .massaMolar);
neo . quimica .exportar ( "c1ccccc1O" , "png" , "C:/Quimica/fenol" , { dpi : 150 , fundoBranco : true });
O que existe no JavaScript#
Existe tudo do JavaScript padrão (Math, JSON, Date, RegExp, Map, Set, classes, Promise e async/await dentro de funções). Não existem import, require, fetch, XMLHttpRequest, WebSocket, process, window e document, nem await no nível de topo. O valor da última expressão do script é devolvido como resultado.