Getting some problems with pandoc and mathjax

梦想的初衷 提交于 2019-12-05 01:03:10

问题


I'm trying to use pandoc to produce a html slideshow from a markdown file with some latex in it.

The file is here at github.

If I run the following pandoc command:

pandoc -s -t s5 --mathjax apresentacao.md -o index.html

The math is perfectly displayed by MathJax, but I only get a webpage with all the slides and no slideshow functionality.

If I run the follwing command:

pandoc -s --self-contained -t s5 --mathjax apresentacao.md -o index.html

I get a perfectly alright presentation, but MathJax fails to load. The resulting html file is (undestandably) full of binaries in it, for the images and javascript libraries that are loaded. But it seems to fail to incorporate MathJax correctly.

Do you guys had this issue? Are there any easy way to fix this?

I'm using the following pandoc version:

$ pandoc --version
pandoc 1.11.1
Compiled with citeproc-hs 0.3.8, texmath 0.6.1.3, highlighting-kate 0.5.3.8.
Syntax highlighting is supported for the following languages:
    actionscript, ada, apache, asn1, asp, awk, bash, bibtex, boo, c, changelog,
    clojure, cmake, coffee, coldfusion, commonlisp, cpp, cs, css, curry, d,
    diff, djangotemplate, doxygen, doxygenlua, dtd, eiffel, email, erlang,
    fortran, fsharp, gnuassembler, go, haskell, haxe, html, ini, java, javadoc,
    javascript, json, jsp, julia, latex, lex, literatecurry, literatehaskell,
    lua, makefile, mandoc, matlab, maxima, metafont, mips, modula2, modula3,
    monobasic, nasm, noweb, objectivec, objectivecpp, ocaml, octave, pascal,
    perl, php, pike, postscript, prolog, python, r, relaxngcompact, rhtml, ruby,
    rust, scala, scheme, sci, sed, sgml, sql, sqlmysql, sqlpostgresql, tcl,
    texinfo, verilog, vhdl, xml, xorg, xslt, xul, yacc, yaml
Default user data directory: /home/calsaverini/.pandoc
Copyright (C) 2006-2013 John MacFarlane
Web:  http://johnmacfarlane.net/pandoc
This is free software; see the source for copying conditions.  There is no
warranty, not even for merchantability or fitness for a particular purpose.

回答1:


It's a known issue: --mathjax doesn't work well with --self-contained. I haven't studied it enough to come up with a fix yet, but suggestions welcome.




回答2:


I just wrote a python script to compile markdown file into a standalone (requires internet connection) html file with mathjax support:

#!/usr/bin/env python
'''
pandoc_compile.py

Usage:
pandoc_compile.py markdown_file template_file
'''
import subprocess, re, sys, os

print("Compiling Markdown file: "+sys.argv[1])
print("Using template: "+sys.argv[2])
print("Output file: "+sys.argv[1]+".html")
pandoc_result = subprocess.Popen(['pandoc','--mathjax',sys.argv[1]], stdout=subprocess.PIPE).stdout.read()
with open(sys.argv[2]) as f: template = f.read()
final_result = re.sub('{{pandoc_output}}', pandoc_result, template)
with open(sys.argv[1]+".html", "w") as f: f.write(final_result)

It compiles markdown with pandoc and then places the result in the following html template.

<html>

<head>
<script type="text/javascript"
  src="https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML">
</script>
</head>

<body>

{{pandoc_output}}

</body>
</html>


来源:https://stackoverflow.com/questions/16205426/getting-some-problems-with-pandoc-and-mathjax

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!