Matemática SVG/outros símbolos em htlatex: usando algo diferente de pstoedit

Matemática SVG/outros símbolos em htlatex: usando algo diferente de pstoedit

Eu tenho um arquivo e quero produzir alternadamente arquivos PDF imprimíveis via xelatexe páginas HTML via htlatex. Por padrão, htlatexproduz equações PNG realmente feias e de baixa resolução. Eu quero SVG.

Eu façonãodeseja usar MathJaX. Quero que meu arquivo funcione sem JavaScript e não quero que os usuários tenham que renderizar o complexo TeX todas as vezes.

Seguindo conselhos on-line, coloquei isso em c.cfg...

\Preamble{ext=htm,charset="utf-8",p-width,pic-align}
  \Configure{Picture}{.svg}  
  \makeatletter
  \Configure{graphics*}
  {svg}
  {
    {\Configure{Needs}{File: \[email protected]}\Needs{}}
    \Picture[\csname a:GraphicsAlt\endcsname]{\csname Gin@base\endcsname.svg
            \csname a:Gin-dim\endcsname}
  }
  \begin{document}
\EndPreamble

Corri htlatexvia htlatex myfile "c"... e consegui isso: pstoedit: Unsupported output format svg.

Hum, o que aconteceu aqui?Meu sistema está mal configurado, como pensou este repórter de bug do Debian? Não. Talvez em algum momento pstoedita conversão de SVG tenha sido software livre, masNão mais.

SVG é um "plugin" de shareware pstoedite não existe binário para meu sistema operacional, FreeBSD.

Como posso ter matemática SVG e realmente SVG qualquer outra coisa marcada entre algum comando, com htlatexsem pstoedit?

Eu determinei que htlatexfunciona internamente, primeiro gerando um arquivo EPS, por exemplo zztest.eps, . Em seguida, ele tenta pstoedit -f svg zztest.eps test0x.svg. Então pensei em tentar outro conversor, mas outros conversores, como uniconvertore inkscape -z, não reconhecem adequadamente a mágica do LaTeX e colocam o EPS em uma tela enorme (veja abaixo). Além disso, é complicado ter que executar o outro conversor todas as vezes; deve haver uma maneira de especificar qual conversor usar.

insira a descrição da imagem aqui

A imagem deve se parecer com a saída de default htlatex, assim como um SVG.

insira a descrição da imagem aqui

Responder1

Deveríamos realmente substituir pstoeditpor algo melhor. Na realidade, o processo para o qual convertemos DVIe PostScriptdepois para SVGnão é realmente necessário hoje, já que DVIo SVGconversor direto existe hoje em dia.

Você pode alterar os comandos para conversão de imagem em tex4ht.envarquivo, mas esse processo não é muito fácil. Em vez disso, eu usaria make4ht, que é um substituto moderno htlatexcom suporte para arquivos de construção. Você pode especificar comandos personalizados para conversão de imagem nesses arquivos de construção.

Salve o seguinte código como test.mk4:

Make:image("svg$","dvisvgm -n -p ${page} -c 1.4,1.4 -s ${source} > ${output}")

O arquivo de construção é um script Lua, Make:imageo comando fornece comando para conversão de imagem. Este comando possui dois argumentos, o primeiro é o formato de imagem configurado (é uma expressão regular, portanto $no final), o segundo é o modelo para o comando de conversão. Existem três parâmetros importantes: ${source}o nome do DVIarquivo, ${page}o número da página da imagem convertida e ${output}o nome da imagem gerada.

Você pode compilar seu documento usando o comando

make4ht -c c.cfg test.tex

O arquivo de construção é usado automaticamente quando é nomeado como arquivo TeX de entrada com .mk4extensão.

Último comentário sobre qualidade matemática: seria melhor usar mathmlformato, pois as imagens também apresentam outros problemas além da resolução (acessibilidade, incompatibilidade entre tamanhos de fonte, não se alinham com a linha de base e provavelmente muitos mais). O problema mathmlé o suporte deficiente do navegador, que é praticamente inexistente fora do Firefox. Mathjax adiciona um bom suporte a todos os navegadores, mas entendo perfeitamente que você não gosta disso. Existe a possibilidade de usar Mathjax em tempo de compilação. Este método é substituído mathmlpor portable HTML, que pode então ser exibido sem Javascript. VerNó Mathjax. A próxima versão do Make4ht fornecerá opções para este projeto.

informação relacionada