维恩图轮廓

维恩图轮廓

我正在使用venndiagram包...好吧,画出维恩图。

我知道它被认为是一个非常基本的软件包,但是它对我的目的来说很有用。

除了一件事。

venndiagram2sets包引入的和环境都会venndiagram3sets自动在图表周围绘制矩形轮廓。

这是由代码中的以下行定义的:

\draw (venn bottom left) rectangle (\@venn@w,\@venn@h);

有什么方法可以停用此功能吗?

答案1

快速阅读后venndiagram.sty,我发现图表周围的这些矩形都是用

\draw (venn bottom left) rectangle (\@venn@w,\@venn@h);

并且没有特殊颜色可以淡化或跳过绘制的选项。因此,我能提供的最佳解决方案是复制到venndiagram.sty您的工作文件夹中并注释掉这些行。

如果您将修改后的.sty文件存储在与文档相同的文件夹中,则将加载修改后的包而不是official原来的包。

如果您必须使用包含不同文件夹中文档的修改包,最好使用local texmf tree本地 texmf 树的用途) 并将您的版本存储在其中。这样,您就不必在每个工作文件夹中都保留一份副本。

最后,如果您认为此修改有用,您可以随时写信给软件包作者并建议将其包含在将来的版本中venndiagram

答案2

另一种选择是xpatch修补这两个环境,要么完全删除该行,要么向路径添加样式,如下所示:

在此处输入图片描述

\documentclass[border=5mm]{standalone}
\usepackage{venndiagram}
\usepackage{xpatch}
\tikzset{
  vennframe/.style={draw=none} % define a new style for the frames
}
\makeatletter
\xpatchcmd{\endvenndiagram3sets}
{\draw (0,0) rectangle (\@venn@w,\@venn@h);} % replace this
{\draw [vennframe] (0,0) rectangle (\@venn@w,\@venn@h);} % with this -- add the style
{}{}

\xpatchcmd{\endvenndiagram2sets}
{\draw (venn bottom left) rectangle (\@venn@w,\@venn@h);}
{\draw [vennframe] (venn bottom left) rectangle (\@venn@w,\@venn@h);}
{}{}
\makeatother

\begin{document}
\begin{venndiagram3sets}
\fillA \fillB \fillC
\end{venndiagram3sets}

\begin{venndiagram2sets}
\fillA \fillB
\end{venndiagram2sets}

\end{document}

答案3

版本 1.2(2018-06-07)¹ 有一个新的布尔选项showframe,用于控制是否使用\draw\path作为框架。(始终需要定义边界矩形,但此选项现在允许隐藏它。)


¹新版本需要几天时间才能到达 TeX 发行版。

相关内容