vscode MPE puppeteer导出pdf的数学公式显示问题
Vs Code MPE Puppeteer 導出pdf問題
這幾天在用vs code寫markdown的時候,寫完后按照習慣,使用Markdown Preview Enhanced預覽,隨后在預覽界面,鼠標右鍵,選擇Chrome(Puppeteer),再選擇PDF導出pdf文件,結果奇怪的是,導出來的文件中的數學公式全都不顯示了。
圖1:問題輸出搜索了很久,找了很多的解決方法,下面一一展示。
法一:使用Markdown PDF插件
安裝過程略去,安裝后還需要修改setting.json,在json中添加"markdown-pdf.executablePath": "C:\\Program Files\\Google\\Chrome\\Application\\chrome.exe",該路徑是本機chrome瀏覽器的路徑,視自己的情況修改。
下一步,改模板文件。找到C:\Users\用戶名\.vscode\extensions\yzane.markdown-pdf-1.4.4\template,文件夾下有個template.html文件,在</body>后、</html>前加上
<script type="text/javascript" src="http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script> <script type="text/x-mathjax-config"> MathJax.Hub.Config({ tex2jax: {inlineMath: [['$', '$']]}, messageStyle: "none" });</script>算了截個圖看一下。
圖2:修改后的模板文件這樣配置就結束了,然后在源文件上右鍵,選擇Markdown PDF:Expot PDF即可。
點評:配置麻煩,輸出速度很慢,并且效果一般,輸出的數學公式并不美觀。
法二:使用chrome瀏覽器
該方法很簡單,仍是使用MPE(Markdown Preview Enhanced)插件,預覽,然后選擇Open in Browser,就是用瀏覽器打開了,ctrl + P打印即可。
不過生成倒是生成了,就是步驟繁瑣,并且生成后的PDF文件文字不可選中,或者說選中字體變大?反正就是不能精確選中到某個字符,效果不好。
法三:添加頭文件
其他不變,仍舊使用MPE插件,改變就是在文件最前方添加以下代碼:
<script type="text/javascript" src="http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script> <script type="text/x-mathjax-config"> MathJax.Hub.Config({ tex2jax: {inlineMath: [['$', '$']]}, messageStyle: "none" });</script>繼續使用MPE預覽后生成PDF即可。但是,每次寫文檔都要添加一次,很麻煩。
法四:修改MPE中的time out
這個方法是我在github上MPE插件庫的Issue中找到的。原來方法的優點在于,Puppeteer生成pdf的速度很快,這也是問題所在——它太快了,以至于數學插件還沒生效,MPE插件就生成pdf完成了。因此,解決問題的步驟如下:
第一步,打開設置,找到MPE插件。
圖3:修改MPE的setting注意大方框中的數值,原來是0,將其修改為3000即可,意思是等待3秒后生成pdf。
看下結果。
圖4:輸出結果可以看到已經完美解決了。
總結
以上是生活随笔為你收集整理的vscode MPE puppeteer导出pdf的数学公式显示问题的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: word2016配置Mathtype
- 下一篇: 学会提问题