shaka
1
在Org文件中,插入使用tikz画图的latex代码(如下)。但是在导出的文件(HTML)中根本就没有图。在网上搜索了一些方案,试了很多都不行。。。大家有遇到相同的情况吗?
#+OPTIONS:\usepackage{tikz}
#+begin_src latex
\begin{figure}
\begin{tikzpicture}
\draw (0,0) -- (1,0) -- (1,1) -- (0,0);
\end{tikzpicture}
\end{figure}
#+end_src
2 个赞
https://orgmode.org/manual/Exporting-code-blocks.html
你需要告诉org
:exports results
或者
:exports both
因为默认是只导出代码块。
shaka
4
改成下面这样,还是没有任何效果。
#+OPTIONS:\usepackage{tikz}
#+begin_src latex :exports results
\begin{figure}
\begin{tikzpicture}
\draw (0,0) -- (1,0) -- (1,1) -- (0,0);
\end{tikzpicture}
\end{figure}
#+end_src
shaka
5
我又加了:file 选项,导出的HTML文件还是没有图。
#+OPTIONS:\usepackage{tikz}
#+begin_src latex :exports results :file test.png
\begin{figure}
\begin{tikzpicture}
\draw (0,0) -- (1,0) -- (1,1) -- (0,0);
\end{tikzpicture}
\end{figure}
#+end_src
生成的图片test.png如下:
#+OPTIONS
的用法不对吧,试试
#+LATEX_HEADER: \usepackage{tikz}
\begin{figure}[htbp]
\centering
\begin{tikzpicture}
\draw (0,0) -- (1,0) -- (1,1) -- (0,0);
\end{tikzpicture}
\end{figure}
看错题意了,以上是导出 latex 时的设置。
导出 html 可以试试设置 org-preview-latex-process-alist
和 org-latex-default-packages-alist
。
shaka
9
我按照你的配置,还是没什么变化。导出的图里只是latex代码,和5楼的一样。
是不是我的环境配置有问题?
你能给大家一个Minimal Working Example吗?比方说你的一个完整org文件?我拿到我的电脑试试看能不能导出图片。
我用你的样例在自己的电脑上试,导出是有图片的。
你可能没有把LaTeX加到org-babel-load-languages
里面。
shaka
13
你导出的图片也是tikz代码,根本就没有画出图啊。和5楼的情况一样。
shaka
14
我已经把LaTeX加到 org-babel-load-languages
里面了。
我收回刚刚那句话,代码没问题。我再看看怎么回事。我这台是工作电脑,我自己的电脑上是有图的。
如果你用imagemagick的话,是可以成功的。我自己的个人电脑从Ubuntu 16.04升级到Ubuntu 18.04之后,也是没法直接用了。找到的原因是因为现在imagemagick有一个policy文件,修改/etc/ImageMagick-6/policy.xml
中的一行。
<policy domain="coder" rights="none" pattern="PDF" />
把上面的一行改成下面的样子。
<policy domain="coder" rights="read|write" pattern="PDF" />
至于dvipng我还没成功,不知道是什么原因。我记得以前在Ubuntu 16.04的时候也是开箱即用的。
下面这个是我的主要参考资料。
https://orgmode.org/worg/org-contrib/babel/languages/ob-doc-LaTeX.html
1 个赞
shaka
20
非常感谢!
原来是imagemagick的bug,我找了很久也没发现问题所在。
再次感谢:handshake: