关于在org文件中用Tikz绘图

在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 因为默认是只导出代码块。

改成下面这样,还是没有任何效果。

#+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

我又加了: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如下:

test

#+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-alistorg-latex-default-packages-alist

设置了也不行。

可以参考我的org笔记。

https://leeifrankjaw.github.io/notes/automata/

你可能光标放在代码段上,执行C-c C-c一下才能生成图片。

我按照你的配置,还是没什么变化。导出的图里只是latex代码,和5楼的一样。 是不是我的环境配置有问题?

你能给大家一个Minimal Working Example吗?比方说你的一个完整org文件?我拿到我的电脑试试看能不能导出图片。

我用你的样例在自己的电脑上试,导出是有图片的。

你可能没有把LaTeX加到org-babel-load-languages里面。

没有其他的,一楼的就是全部代码了。

你导出的图片也是tikz代码,根本就没有画出图啊。和5楼的情况一样。

我已经把LaTeX加到 org-babel-load-languages 里面了。

那是因为你的代码不对啊。:sweat_smile::sweat_smile:

哪不对啊?望大神指出!

我收回刚刚那句话,代码没问题。我再看看怎么回事。我这台是工作电脑,我自己的电脑上是有图的。

好的,多谢啦:grinning:

如果你用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 个赞

非常感谢! 原来是imagemagick的bug,我找了很久也没发现问题所在。 再次感谢:handshake: