roxy.mk4

roxy.mk4

Es gibt ein Tool namenspdf2htmlexdas PDF in HTML umwandelt, ist beeindruckend. Sehr zuverlässig. EntwederBücherViele mathematische Berechnungen und Diagramme wurden originalgetreu umgesetzt.

Leider wird es nicht mehr gepflegt. Kennt jemand ein anderes Tool, das gepflegt wird und PDF oder LaTeX genauso gut in HTML konvertieren kann?

Antwort1

Ich würde empfehlenmake4htwas aus der Dokumentation hervorgeht:

make4ht ist ein einfaches Build-System für tex4ht, einen TeX-zu-XML-Konverter. Es bietet ein Befehlszeilentool, das den Konvertierungsprozess steuert. Es bietet auch eine Bibliothek, mit der benutzerdefinierte Konvertierungstools erstellt werden können.

Der Autor von make4htistmichal-h21und ist ein sehr aktiver Mitwirkender dieser Site.

Lassen Sie uns mwe.texim Folgenden das folgende kleine Beispiel verwenden:

\documentclass{article}

\begin{document}

Here is some text. And here is some mathematical content $y=x^2$.
\end{document}

Beispiel 1

Läuft

 make4ht.exe mwe.tex

gibt die Ausgabe aus:

<!DOCTYPE html> 
<html lang="en-US" xml:lang="en-US" > 
<head><title></title> 
<meta  charset="iso-8859-1" /> 
<meta name="generator" content="TeX4ht (http://www.tug.org/tex4ht/)" /> 
<meta name="viewport" content="width=device-width,initial-scale=1" /> 
<link rel="stylesheet" type="text/css" href="mwe.css" /> 
<meta name="src" content="mwe.tex" /> 
</head><body 
>
<!--l. 5--><p class="noindent" >Here is some text. And here is some mathematical content <span 
class="cmmi-10">y </span>= <span 
class="cmmi-10">x</span><sup><span 
class="cmr-7">2</span></sup>. </p> 
</body> 
</html>

Beispiel 2

Von hier aus können wir die Ausgabe anpassen, indem wirAufbauDateien; wenn Sie Folgendes haben:

roxy.cfg

\Preamble{mathml,-css,NoFonts}
\Configure{@HEAD}{\HCode{<script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js?config=TeX-AMS-MML_HTMLorMML">\Hnewline</script>\Hnewline}}
\begin{document}
\EndPreamble

und Renn

make4ht.exe -f html5 -c roxy.cfg mwe.tex

dann erhältst du

<!DOCTYPE html> 
<html lang="en-US" xml:lang="en-US" > 
<head> <title></title> 
<meta  charset="iso-8859-1" /> 
<meta name="generator" content="TeX4ht (http://www.tug.org/tex4ht/)" /> 
<meta name="viewport" content="width=device-width,initial-scale=1" /> 
<link rel="stylesheet" type="text/css" href="\aa:CssFile " /> 
<meta name="src" content="mwe.tex"> 
<script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js?config=TeX-AMS-MML_HTMLorMML"> 
</script> 
</head><body 
>
<!--l. 5--><p class="noindent" >Here is some text. And here is some mathematical content
<!--l. 5--><math 
 xmlns="http://www.w3.org/1998/Math/MathML"  
display="inline" ><mi 
>y</mi> <mo 
class="MathClass-rel">=</mo> <msup><mrow 
><mi 
>x</mi></mrow><mrow 
><mn>2</mn></mrow></msup 
></math>.
 
</body> 
</html>

Beispiel 3

Wenn Sie habenHTML aufgeräumtinstalliert ist, können Sie Ihren Build-Prozess mithilfe der folgenden roxy.mk4Datei anpassen, um es zu verwenden:

roxy.mk4

Make:match("html$", "tidy -m -config html-tidy.txt -i ${filename}")

und eine html-tidy.txtKonfigurationsdatei

// sample config file for HTML tidy
indent: auto
indent-spaces: 2
quiet: yes
output-xhtml: no
output-html: yes

dann kannst du laufen

make4ht.exe -f html5 -e roxy.mk4 -c roxy.cfg mwe.tex

bekommen

<!DOCTYPE html>
<html lang="en-US">
<head>
  <meta name="generator" content=
  "HTML Tidy for HTML5 for Windows version 5.6.0">
  <title></title>
  <meta charset="utf-8">
  <meta name="generator" content=
  "TeX4ht (http://www.tug.org/tex4ht/)">
  <meta name="viewport" content=
  "width=device-width,initial-scale=1">
  <link rel="stylesheet" type="text/css" href="\aa:CssFile">
  <meta name="src" content="mwe.tex">
  <script src=
  "https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script>
</head>
<body>
  <!--l. 5-->
  <p class="noindent">Here is some text. And here is some
  mathematical content <!--l. 5--><math xmlns=
  "http://www.w3.org/1998/Math/MathML" display="inline">
  <mi>
    y
  </mi>
  <mo class="MathClass-rel">
    =
  </mo>
  <msup>
    <mrow>
      <mi>
        x
      </mi>
    </mrow>
    <mrow>
      <mn>
        2
      </mn>
    </mrow>
  </msup></math>.</p>
</body>
</html>

Antwort2

Versuchenpandoc

lange Version:

pandoc -f filename.pdf -t html -o output.html

Kurzfassung:

pandoc filename.pdf -o output.html

Es gibt eine umfangreiche Liste von Beispielen fürbeliebigArt der KonvertierungHier, und es ist superschnell!

Unter MacOS müssen Sie zur Installation lediglich Folgendes tun:

brew install pandoc

verwandte Informationen