![Metapost 使用 venn 包](https://linux22.com/image/239761/Metapost%20%E4%BD%BF%E7%94%A8%20venn%20%E5%8C%85.png)
我使用 TexShop,并且已成功编译了一个在 LaTeX 代码中直接使用 metapost 代码的示例(通过运行 pdflatex,然后运行 metapost,最后再次运行 pdflatex)。此代码使用mpfic
选项
现在我想使用 venn (http://ctan.org/tex-archive/graphics/metapost/contrib/macros/venn) 包。但\usepackage{venn}
会导致未找到错误,并且任何没有 venn 包的命令也无法正常工作。
那么如何使用venn
metapost 设置包的使用。我已经使用 TeX live 实用程序安装了它。
答案1
我从未尝试将源代码直接包含在 .tex 文件中,但如果您的问题与 metapost 代码有关,那么从已知良好的独立源代码开始可能会有所帮助。
我最近做了这个,所以我怀疑它仍然有效(尽管我已经删除了一些我认为不需要的东西,所以如果失败了请告诉我)。这是输入文件。它为联合绘制了维恩图。
% set.mp
% MetaPost input file with chapter one pictures.
verbatimtex
%&latex
\documentclass{book}
\begin{document}
etex
input venn
outputtemplate := "%j-%2c.mps";
beginfig(0);
draw_venn_two(false,true,true,true);
% Label the sets (from pp 29 pf MetaPost manual)
picture pa, pb;
pa = thelabel(btex \tiny $A$ etex, (.9venn_circle_left_shift,1.15venn_circle_top_shift));
pb = thelabel(btex \tiny $B$ etex, (1.1venn_circle_right_shift,1.15venn_circle_top_shift));
unfill bbox pa;
draw pa;
unfill bbox pb;
draw pb;
endfig;
end
在(Linux)命令行中我运行了四个命令
mpost set.mp
其次是tex mproof set-00.mps
其次是dvips -Pwww -omproof.ps mproof
最后gv mproof.ps
;
最后会弹出一个图形查看器。
为了将其包含在我的文档中,我使用了它。
\begin{center}
\includegraphics[width=0.33\textwidth]{set-00.mps}
\end{center}
这是 Beamer 内部的。我看不出我做了什么特别的事情来让 graphicx 系统识别 .mps 结尾,但我可能忘记了细节;请告诉我。
(编辑:有人更改了我写的内容,特别是删除了必要的初始段落。我又添加了一些类似的内容。)
答案2
我知道这是一个老问题,但是现在工作流程变得简单多了luamplib
。
这是来源:
\documentclass[margin=5mm]{standalone}
\usepackage{luatex85}
\usepackage{luamplib}
\mplibtextextlabel{enable}
\begin{document}
\begin{mplibcode}
input venn
beginfig(1);
draw_venn_two(false, true, true, true);
picture pa, pb;
pa = thelabel("\footnotesize A", center venn_box shifted 13 left);
pb = thelabel("\footnotesize B", center venn_box shifted 13 right);
unfill bbox pa; draw pa;
unfill bbox pb; draw pb;
endfig;
\end{mplibcode}
\end{document}
工作流程
- 编译
lualatex
生成 PDF 文件 - 呃,就这样。