我正在使用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 发行版。