El objeto global neo agrupa la API por tema. Todas las funciones son síncronas y lanzan excepciones en caso de error. Las que tocan el disco solo aceptan rutas dentro de las carpetas permitidas . En los ejemplos, C:/Equacoes representa una carpeta que permitiste.
Ecuación#
Función
Qué hace
neo.equacao.latex()
devuelve el LaTeX de la ecuación de la pestaña actual
neo.equacao.mathml()
devuelve el MathML de la ecuación de la pestaña actual
neo.equacao.definir(texto)
reemplaza toda la ecuación por LaTeX o MathML (un paso de deshacer)
neo.equacao.limpar()
vacía la ecuación
neo.equacao.vazia()
dice si la ecuación está vacía
neo.equacao.selecionarTudo()
selecciona toda la ecuación (útil antes de neo.cor)
neo.equacao.medidas()
mide la ecuación en puntos tipográficos
Edición#
Función
Qué hace
neo.inserir(texto)
inserta en el cursor LaTeX, un elemento de la paleta ("m:fracao"), un símbolo o una matriz
neo.digitar(texto)
escribe carácter por carácter, como el teclado
neo.tecla(nome, vezes?)
pulsa una tecla de navegación o edición ("direita", "esquerda"…)
neo.desfazer() / neo.refazer()
deshacer y rehacer
neo.estilo(nome)
elige el estilo de escritura
neo.cor(cor)
pinta la selección o lo que se escriba a continuación; null quita
neo.corCmyk(c, m, y, k)
lo mismo en CMYK, cada tinta de 0 a 100
neo.corEmTudo(valor?)
activa o desactiva el color en barras de fracción, paréntesis y radicales
neo.matriz.inserir(linhas, colunas, delimitador?, alinhamento?)
inserta una matriz
neo.matriz.editar(op)
edita la matriz donde está el cursor
Exportar y convertir#
Función
Qué hace
neo.exportar(formato, caminho, opcoes?)
escribe la ecuación en "eps", "svg", "png", "mathml" o "latex"; { dpi, fundoBranco } en PNG
neo.converter.latexParaMathml(texto)
LaTeX a MathML, sin tocar el editor
neo.converter.mathmlParaLatex(texto)
MathML a LaTeX
neo.converter.arquivos(tipo, entrada, saida, opcoes?)
convierte archivos y carpetas entre los tipos que Neo entiende, en un archivo o en una carpeta
neo.lote(pasta, formato?, opcoes?)
convierte todas las fórmulas de una carpeta a EPS, SVG o PNG
neo.lote.estilizar(pasta, opcoes)
estilo por lotes ; sin aplicar: true solo simula
neo.lote.desfazer(pasta, opcoes?)
restaura los originales de la última copia de seguridad
neo.lote.backups(pasta)
lista las copias de seguridad del estilo por lotes
neo.docx(arquivo, saida, formato?)
extrae las ecuaciones de un .docx
Pestañas#
Función
Qué hace
neo.abas.listar()
lista las pestañas abiertas
neo.abas.atual() / neo.abas.total()
pestaña en foco y cantidad
neo.abas.nova()
abre una pestaña vacía, que pasa a ser la actual
neo.abas.escolher(indice)
cambia de pestaña
neo.abas.fechar(indice?)
cierra una pestaña (la última solo se vacía)
Archivos#
Función
Qué hace
neo.arquivo.abrir(caminho)
abre una ecuación en la pestaña actual
neo.arquivo.salvar(caminho?)
guarda la ecuación como EPS
neo.arquivo.inspecionar(caminho)
lee un EPS, SVG o PNG de NeoMath sin abrirlo
neo.arquivo.ler(caminho) / neo.arquivo.escrever(caminho, conteudo, anexar?)
lee y escribe archivos de texto
neo.arquivo.existe(caminho) / neo.arquivo.listar(pasta)
consulta y lista
neo.arquivo.criarPasta(pasta) / neo.arquivo.apagar(caminho)
crea carpetas; borra archivos (nunca carpetas)
Preferencias, OCR e interfaz#
Función
Qué hace
neo.preferencias.listar() / atual() / definir(nomeOuIndice)
elige la preferencia de estilo
neo.preferencias.carregar(caminho)
carga un estilo desde un archivo
neo.ocr.reconhecer(imagem)
reconoce la ecuación de una imagen y devuelve el LaTeX (solo en la aplicación)
neo.ocr.inserir(imagem)
reconoce e inserta en el cursor (solo en la aplicación)
neo.acao(nome)
dispara una acción de la interfaz por el mismo camino del menú
neo.mensagem(texto, titulo?)
muestra un mensaje (en el terminal, va a stderr)
neo.esperar(ms)
pausa respetando el botón Detener
neo.versao, neo.script.nome, neo.script.pasta, neo.permissoes()
información del entorno
Química#
El grupo neo.quimica trabaja con química. La estructura entra como texto: un SMILES o el contenido de un CML, MOL, SDF o CDML.
Función
Qué hace
ler, propriedades, formula, massa
resumen, fórmula de Hill, masa molar, conteos y composición
layout
dibujo 2D (coordenadas, anillos, cuñas)
converter(entrada, destino) / exportar(entrada, destino, caminho)
SMILES, CML, MOL, SDF, JSON, SVG y PNG
verificar, explicar, descrever
valencia, partes desconectadas, reglas usadas y descripción accesible
relatorio(entrada, opcoes?)
informe en Markdown para trabajos escolares
abrir(caminho), lote(pasta, formato)
archivos de estructuras y carpetas enteras
inserirFormula(entrada)
inserta la fórmula (C₂H₆O) en la ecuación de la pestaña
reacao.ler, reacao.converter, reacao.exportar
esquemas de reacción en texto (2H2 + O2 -> 2H2O)
elemento(consulta), tabelaPeriodica()
datos de los 118 elementos
catalogo.listar, pesquisar, estrutura, inserir
catálogo de estructuras listas
Ejemplos#
Exportar una tabla de ecuaciones#
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 ( "listo:" , neo . abas .total () , "pestañas" );
Convertir una carpeta entera#
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 errores#
JavaScriptCopiar try {
neo . equacao .definir ( "\\frac{" );
} catch (e) {
console .warn ( "no pude leerla:" , 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 });
Qué existe en JavaScript#
Existe todo el JavaScript estándar (Math, JSON, Date, RegExp, Map, Set, clases, Promise y async/await dentro de funciones). No existen import, require, fetch, XMLHttpRequest, WebSocket, process, window ni document, ni await en el nivel superior. El valor de la última expresión del script se devuelve como resultado.