Tive uma ideia esta manhã e gostaria decompartilhare saber se alguém já desenvolveu em algum lugar!
Um grupo Mozilla está atualmente construindo uma aplicação JavaScript capaz de transformar qualquer código PDF em HTML5, para que você não precise de nenhum plugin para leitor de PDF externo (Adobe, Evince, Xpdf,...). Atualmente é uma extensão, mas pode entrar no kernel do navegador no futurohttps://github.com/mozilla/pdf.js.
Usando isso e um editor de texto online (codeMirror), alguns aplicativos meus estão rodandoPDFlátexno lado do servidor... fornecendo alguns recursos online de (La)TeX. Isso é comum.
Que tal ter o mesmo tipo de JavaScript capaz de analisar o código (La)TeX diretamente e, claro, renderizar um PDF pronto para impressão e orientação de página na tela? Para o usuário final, ele possui um navegador PDF da Web, mas ele possui o código (LaTeX) ao solicitar a visualização do código-fonte. O código HTML5 final não é realmente visto, exceto para depuração, e se torna como o código assembly no desenvolvimento C clássico.
Isso forneceria acesso ao código-fonte (LaTeX) de qualquer artigo científico... em vez de reinventar uma fórmula matemática e se não estou errado,Esta é a ideia Knuthtivemos algumas décadas atrás, quando construímos o TeX. As pessoas devem compartilhar código (La)TeX, não código DVI, PS ou PDF. O navegador cliente (Firefox, Chrome, Opera, Safari e outros) deve lidar comPDFlátexprocessar localmente!
Deixe-me explicar meus requisitos de outra maneira;
Trabalho na indústria há 20 anos e uso TeX e LaTeX na universidade como muitos de vocês, eu acho. Olhando para nossos principais requisitos reais em sistemas de documentação, acho que a indústria, pelo menos os sistemas embarcados críticos em que trabalho, precisa:
Um sistema de documentos programável; onde você pode processar os requisitos do cliente em declarações informais em inglês para derivar e automatizar muitas coisas, como rastreabilidade de requisitos, documento de design, sequências de testes,...
Uma renderização muito bonita/profissional, gráficos, tabelas, diagramas perfeitos...
Garanta que tal documento seja tal versão e o conteúdo não será alterado. A Web não fornece alguma "assinatura/resumo digital" visível na impressão. O melhor sistema de "link permanente", "conteúdo permanente" é o formato PDF e é por isso que os documentos oficiais são PDF (infelizmente, este é um formato não otimizado, mas é usado em todos os lugares onde você precisa de documentos estáticos)
É bem sabido que documentos PDF produzidos a partir do LaTeX satisfazem realmente melhor esses requisitos do que o MS Word ou outro LibreOffice quando apenas estes últimos são usados na indústria.
O que pode mudar esta abordagem é a chegada da “computação em nuvem”, não uma ideia revolucionária por si só, mas o facto de nunca se estarBaixandoarquivos.
A extensão jsPDF da Mozilla e o leitor de PDF incorporado no Chrome estão dando o primeiro passo, mostrando que os PDFs são realmente como outras páginas HTML (o Google também os está descobrindo) e isso é muito importante para a indústria que exige aqueles estáticos (permalink/perma-content ) documentos.
Como os PDFs de melhor qualidade vêm da fonte LaTeX/TikZ, agora é uma oportunidade de fornecer à indústria um sistema de documentos realmente eficiente na nuvem.
Mas se vocês (especialistas em TeX) estão lutando por uma pequena função avançada para uma variante do TeX, não teremos nenhuma chance de ver um Web LaTeX e, mais importante, nenhuma chance de ver o LateX usado na indústria um dia.
Você pode estar certo ao dizer que isso é impossível devido à complexidade. Tive exatamente a mesma ideia há dois anos sobre um leitor de PDF JavaScript e agora parece que o resultado está sendo muito bom em comparação com o leitor nativo da Adobe.
Sobre JavaScript, eu odeio essa linguagem, mas esta é a única com suporte no lado do cliente.
Responder1
Não quero estragar a diversão, mas há algumas questões a considerar.
LaTeX é apenas um formato/pacote de macro para a linguagem macro TeX. Mas existem muitos compiladores TeX:
- TeX
- TeX com e-TeX
- pdfTeX
- XeTeX
- LuaTeX
- VTeX
- muitos outros …
Um arquivo LaTeX pode depender de um compilador específico porque usa recursos do compilador que não são fornecidos por outros compiladores.
Não conheço uma versão JavaScript do TeX. Mesmo os projetos que tentaram Java falharam mais ou menos (NTS, ExTeX).
Existem outros programas que podem ser necessários para compilar o arquivo:
- Geração de índice: Makeindex, Xindy
- Bibliografia: bibtex, bibtex8, biber,…
- Existe um recurso de escape de shell que permite chamar programas externos.
- …
Um arquivo LaTeX não diz como deve ser compilado, quais programas são necessários, em que ordem, quais argumentos, com que frequência, …
Um "arquivo LaTeX" pode ser organizado em um arquivo mestre que inclui outros arquivos, imagens externas,…
A compilação de arquivos LaTeX geralmente requer a possibilidade de escrever e ler arquivos auxiliares.
Normalmente, um arquivo LaTeX precisa de outros pacotes, arquivos e fontes. Portanto, você precisaria mais ou menos de uma distribuição inteira do TeX com suas atualizações (diárias).
…