Metapost 使用 venn 包

Metapost 使用 venn 包

我使用 TexShop,并且已成功编译了一个在 LaTeX 代码中直接使用 metapost 代码的示例(通过运行 pdflatex,然后运行 ​​metapost,最后再次运行 pdflatex)。此代码使用mpfic选项

现在我想使用 venn (http://ctan.org/tex-archive/graphics/metapost/contrib/macros/venn) 包。但\usepackage{venn}会导致未找到错误,并且任何没有 venn 包的命令也无法正常工作。

那么如何使用vennmetapost 设置包的使用。我已经使用 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 文件
  • 呃,就这样。

相关内容