summaryrefslogtreecommitdiff
path: root/graphics/pstricks/contrib/pst-venn
diff options
context:
space:
mode:
authorNorbert Preining <norbert@preining.info>2019-09-02 13:46:59 +0900
committerNorbert Preining <norbert@preining.info>2019-09-02 13:46:59 +0900
commite0c6872cf40896c7be36b11dcc744620f10adf1d (patch)
tree60335e10d2f4354b0674ec22d7b53f0f8abee672 /graphics/pstricks/contrib/pst-venn
Initial commit
Diffstat (limited to 'graphics/pstricks/contrib/pst-venn')
-rw-r--r--graphics/pstricks/contrib/pst-venn/Changes3
-rw-r--r--graphics/pstricks/contrib/pst-venn/README11
-rw-r--r--graphics/pstricks/contrib/pst-venn/doc/pst-venn-doc.bib78
-rw-r--r--graphics/pstricks/contrib/pst-venn/doc/pst-venn-doc.pdfbin0 -> 48238 bytes
-rw-r--r--graphics/pstricks/contrib/pst-venn/doc/pst-venn-doc.tex153
-rw-r--r--graphics/pstricks/contrib/pst-venn/latex/pst-venn.sty122
6 files changed, 367 insertions, 0 deletions
diff --git a/graphics/pstricks/contrib/pst-venn/Changes b/graphics/pstricks/contrib/pst-venn/Changes
new file mode 100644
index 0000000000..e30f703f51
--- /dev/null
+++ b/graphics/pstricks/contrib/pst-venn/Changes
@@ -0,0 +1,3 @@
+----- pst-venn.sty
+v 0.01 2018-12-04 first version (hv)
+
diff --git a/graphics/pstricks/contrib/pst-venn/README b/graphics/pstricks/contrib/pst-venn/README
new file mode 100644
index 0000000000..7d987172e7
--- /dev/null
+++ b/graphics/pstricks/contrib/pst-venn/README
@@ -0,0 +1,11 @@
+#pst-venn
+
+pst-venn is a PSTricks related package for drawing
+Venn diagrams with three circles.
+
+
+%% This program can be redistributed and/or modified under the terms
+%% of the LaTeX Project Public License Distributed from CTAN archives
+%% in directory macros/latex/base/lppl.txt.
+
+hvoss@tug.org \ No newline at end of file
diff --git a/graphics/pstricks/contrib/pst-venn/doc/pst-venn-doc.bib b/graphics/pstricks/contrib/pst-venn/doc/pst-venn-doc.bib
new file mode 100644
index 0000000000..6eb6982fd3
--- /dev/null
+++ b/graphics/pstricks/contrib/pst-venn/doc/pst-venn-doc.bib
@@ -0,0 +1,78 @@
+%% -*-bibtex-*-
+@STRING{tugboat = {TUGboat} }
+@STRING{dtk = {{D}ie {\TeX}nische {K}om{\"o}die} }
+
+@Book{companion,
+ author = {Michel Goosens and Frank Mittelbach and Sebastian Rahtz and Dennis Roegel and Herbert Vo\ss},
+ title = {The {\LaTeX} {G}raphics {C}ompanion},
+ publisher = {{Addison-Wesley Publishing Company}},
+ edition = {second},
+ year = {2007},
+ address = {Boston, Mass.}
+}
+
+@Article{reingold:1981,
+ author = {Reingold, Edward and Tilford, John},
+ title = {Tidier {D}rawings of {T}rees},
+ journal = {IEEE Transactions on Software Engineering},
+ volume = {SE-7},
+ number = 2,
+ year = 1981
+}
+
+@Article{girou:01:,
+ author = {Denis Girou},
+ title = {Pr\'esentation de {PST}ricks},
+ journal = {Cahier {GUT}enberg},
+ year = 1994,
+ volume = {16},
+ month = apr,
+ pages = {21-70}
+}
+
+@Article{girou:02:,
+ author = {{Timothy Van} Zandt and Denis Girou},
+ title = {Inside {PST}ricks},
+ journal = TUGboat,
+ year = 1994,
+ volume = {15},
+ month = sep,
+ pages = {239-246}
+}
+
+@Book{PostScript,
+ Author = {Kollock, Nikolai G.},
+ Title = {Post{S}cript richtig eingesetzt: vom {K}onzept zum
+ praktischen {E}insatz},
+ Publisher = {IWT},
+ Address = {Vaterstetten},
+ year = 1989,
+}
+
+@Manual{multido,
+ Title = {\texttt{multido.tex} - a loop macro, that supports fixed-point addition},
+ Author = {{Timothy Van} Zandt},
+ Organization = {},
+ Address = {\url{CTAN:/macros/generic/multido.tex}},
+ Note = {},
+ year = 1997
+}
+
+@Book{PSTricks2,
+ author = {Herbert Vo\ss{}},
+ title = {\texttt{PSTricks} -- {G}rafik f\"ur \TeX{} und \LaTeX},
+ edition = {fifth},
+ publisher = {DANTE -- lehmanns media},
+ year = {2010},
+ address = {Heidelberg/Hamburg}
+}
+
+@Book{PSTricks2E,
+ author = {Herbert Vo\ss{}},
+ title = {\texttt{PSTricks} -- {G}raphics for \LaTeX},
+ edition = {1.},
+ publisher = {UIT},
+ year = {2011},
+ address = {Cambridge}
+}
+
diff --git a/graphics/pstricks/contrib/pst-venn/doc/pst-venn-doc.pdf b/graphics/pstricks/contrib/pst-venn/doc/pst-venn-doc.pdf
new file mode 100644
index 0000000000..9404cfc96e
--- /dev/null
+++ b/graphics/pstricks/contrib/pst-venn/doc/pst-venn-doc.pdf
Binary files differ
diff --git a/graphics/pstricks/contrib/pst-venn/doc/pst-venn-doc.tex b/graphics/pstricks/contrib/pst-venn/doc/pst-venn-doc.tex
new file mode 100644
index 0000000000..3913929bef
--- /dev/null
+++ b/graphics/pstricks/contrib/pst-venn/doc/pst-venn-doc.tex
@@ -0,0 +1,153 @@
+%% $Id: pst-venn-doc.tex 848 2018-12-04 09:25:49Z herbert $
+\documentclass[11pt,english,BCOR10mm,DIV14,bibliography=totoc,parskip=false,smallheadings,
+ headexclude,footexclude,twoside]{pst-doc}
+\usepackage[utf8]{inputenc}
+\usepackage{pst-venn}
+\lstset{preset=\centering,pos=l,wide=false,vsep=5mm,language=PSTricks,%width=0.5\linewidth,
+ morekeywords={multidipole,parallel},basicstyle=\footnotesize\ttfamily}
+%
+\def\bgImage{%
+\begin{pspicture}(-3.2,-3.2)(3.2,3.2)
+ \psVenn[bgradius=3](-1,0.5)(0,-1)(1,0.5){1.5}{24}
+\end{pspicture}
+}
+
+\addbibresource{\jobname.bib}
+
+\begin{document}
+
+\title{\texttt{pst-venn}}
+\subtitle{A PSTricks package for drawing Venn sets; v 0.01}
+\author{Herbert Voß}
+%\docauthor{Herbert Vo\ss}
+\date{\today}
+\maketitle
+
+
+
+
+\psset{unit=0.5}
+
+\begin{verbatim}
+\psVenn[options](O1)(O2)(O3){radius}{segments}
+\end{verbatim}
+
+
+
+
+There are the following optional arguments:
+
+\verb|bgcircle=<true/false>|:
+
+\begin{LTXexample}[width=0.4\linewidth,pos=l]
+\begin{pspicture}(-3.2,-3.2)(3.2,3.2)
+ \psVenn[bgcircle](-1,0.5)(0,-1)(1,0.5){1.5}{1}
+\end{pspicture}
+\begin{pspicture}(-3.2,-3.2)(3.2,3.2)
+ \psVenn[bgcircle=false](-1,0.5)(0,-1)(1,0.5){1.5}{1}
+\end{pspicture}
+\end{LTXexample}
+
+
+
+\verb|bgcolor=<color>|:
+
+\begin{LTXexample}[width=0.4\linewidth,pos=l]
+\begin{pspicture}(-3.2,-3.2)(3.2,3.2)
+ \psVenn(-1,0.5)(0,-1)(1,0.5){1.5}{1}
+\end{pspicture}
+\begin{pspicture}(-3.2,-3.2)(3.2,3.2)
+ \psVenn[bgcolor=green!30](-1,0.5)(0,-1)(1,0.5){1.5}{1}
+\end{pspicture}
+\end{LTXexample}
+
+\verb|bgradius=<value[unit]>|:
+
+\begin{LTXexample}[width=0.4\linewidth,pos=l]
+\begin{pspicture}(-3.2,-3.2)(3.2,3.2)
+ \psVenn(-1,0.5)(0,-1)(1,0.5){1.5}{1}
+\end{pspicture}
+\begin{pspicture}(-3.2,-3.2)(3.2,3.2)
+ \psVenn[bgradius=3.5](-1,0.5)(0,-1)(1,0.5){1.5}{1}
+\end{pspicture}
+\end{LTXexample}
+
+
+
+
+\verb|fgcolor=<color>|:
+
+\begin{LTXexample}[width=0.4\linewidth,pos=l]
+\begin{pspicture}(-3.2,-3.2)(3.2,3.2)
+ \psVenn(-1,0.5)(0,-1)(1,0.5){1.5}{1}
+\end{pspicture}
+\begin{pspicture}(-3.2,-3.2)(3.2,3.2)
+ \psVenn[fgcolor=green!30](-1,0.5)(0,-1)(1,0.5){1.5}{1}
+\end{pspicture}
+\end{LTXexample}
+
+
+
+\verb|vennfill=<style>|:
+
+\begin{LTXexample}[width=0.4\linewidth,pos=l]
+\begin{pspicture}(-3.2,-3.2)(3.2,3.2)
+ \psVenn[vennfill=hlines](-1,0.5)(0,-1)(1,0.5){1.5}{1}
+\end{pspicture}
+\begin{pspicture}(-3.2,-3.2)(3.2,3.2)
+ \psVenn[vennfill=dots](-1,0.5)(0,-1)(1,0.5){1.5}{1}
+\end{pspicture}
+\end{LTXexample}
+
+
+\clearpage
+
+
+Every single area of the three circles has a number:
+
+\begin{pspicture}(-3.2,-3.2)(3.2,3.2)
+% \pscircle[fillstyle=solid,fillcolor=blue!40](0,0){3}
+ \pscircle(-1,0.5){1.5}
+ \pscircle(0,-1){1.5}
+ \pscircle(1,0.5){1.5}
+ \footnotesize
+ \rput(-1,0.75){1}\rput(0,-1.25){2}\rput(1,0.75){3}
+ \rput(0,1){4}\rput(-0.8,-0.5){5}\rput(0.8,-0.5){6}
+ \rput(0,0){7}
+\end{pspicture}
+
+
+
+\begin{LTXexample}
+\begin{pspicture}(-3.2,-3.2)(3.2,3.2) \psVenn(-1,0.5)(0,-1)(1,0.5){1.5}{1} \end{pspicture}
+\begin{pspicture}(-3.2,-3.2)(3.2,3.2) \psVenn(-1,0.5)(0,-1)(1,0.5){1.5}{2} \end{pspicture}
+\begin{pspicture}(-3.2,-3.2)(3.2,3.2) \psVenn(-1,0.5)(0,-1)(1,0.5){1.5}{3} \end{pspicture}
+\begin{pspicture}(-3.2,-3.2)(3.2,3.2) \psVenn(-1,0.5)(0,-1)(1,0.5){1.5}{4} \end{pspicture}
+\begin{pspicture}(-3.2,-3.2)(3.2,3.2) \psVenn(-1,0.5)(0,-1)(1,0.5){1.5}{5} \end{pspicture}
+\begin{pspicture}(-3.2,-3.2)(3.2,3.2) \psVenn(-1,0.5)(0,-1)(1,0.5){1.5}{6} \end{pspicture}
+\begin{pspicture}(-3.2,-3.2)(3.2,3.2) \psVenn(-1,0.5)(0,-1)(1,0.5){1.5}{7} \end{pspicture}
+\end{LTXexample}
+
+
+
+The elements can be combined like 147:
+
+\begin{LTXexample}[width=0.4\linewidth,pos=l]
+\begin{pspicture}(-3.2,-3.2)(3.2,3.2)
+ \psVenn(-1,0.5)(0,-1)(1,0.5){1.5}{147}
+\end{pspicture}
+\end{LTXexample}
+
+
+
+\begin{LTXexample}
+\begin{pspicture}(-3.2,-3.2)(3.2,3.2) \psVenn(-1,0.5)(0,-1)(1,0.5){1.5}{127} \end{pspicture}
+\begin{pspicture}(-3.2,-3.2)(3.2,3.2) \psVenn(-1,0.5)(0,-1)(1,0.5){1.5}{4567}\end{pspicture}
+\begin{pspicture}(-3.2,-3.2)(3.2,3.2) \psVenn(-1,0.5)(0,-1)(1,0.5){1.5}{123} \end{pspicture}
+\end{LTXexample}
+
+
+\nocite{*}
+\printbibliography
+\end{document}
+
diff --git a/graphics/pstricks/contrib/pst-venn/latex/pst-venn.sty b/graphics/pstricks/contrib/pst-venn/latex/pst-venn.sty
new file mode 100644
index 0000000000..ef07a1b89e
--- /dev/null
+++ b/graphics/pstricks/contrib/pst-venn/latex/pst-venn.sty
@@ -0,0 +1,122 @@
+%% $Id: pst-venn.sty 848 2018-12-04 09:25:49Z herbert $
+%%
+%% This is file `pst-venn.sty',
+%%
+%% This program can be redistributed and/or modified under the terms
+%% of the LaTeX Project Public License Distributed from CTAN archives
+%% in directory macros/latex/base/lppl.txt.
+%%
+%% Herbert Voss <hvoss _at_ tug.org (Germany)
+%%
+%% DESCRIPTION:
+%% `pst-venn' is a package for Venn diagrams
+%
+\NeedsTeXFormat{LaTeX2e}
+\RequirePackage{pstricks}
+\RequirePackage{pst-xkey}
+%
+\def\filedate{2018/12/04}
+\def\fileversion{0.01}
+\ProvidesPackage{pst-venn}[\filedate\ v\fileversion\ drawing Venn diagrams (hv)]
+%
+\pst@addfams{pst-venn}
+\define@key[psset]{pst-venn}{bgradius}[3]{\def\psVenn@bgradius{#1}}
+\define@key[psset]{pst-venn}{bgcolor}[blue!40]{\def\psVenn@bgcolor{#1}}
+\define@key[psset]{pst-venn}{fgcolor}[red!40]{\def\psVenn@fgcolor{#1}}
+\define@key[psset]{pst-venn}{vennfill}[solid]{\def\psVenn@fillstyle{#1}}
+\define@boolkey[psset]{pst-venn}[Pst@]{bgcircle}[true]{}
+
+\psset[pst-venn]{bgcircle,bgradius=3,bgcolor=blue!40,fgcolor=red!40,vennfill=solid}
+
+\def\psVenn{\pst@object{psVenn}}
+\def\psVenn@i(#1)(#2)(#3)#4#5{%
+ \begingroup
+ \use@par
+ \ifPst@bgcircle\pscircle[fillstyle=solid,fillcolor=\psVenn@bgcolor](0,0){\psVenn@bgradius}\fi
+ \psVenn@ii(#1)(#2)(#3){#4}#5\@nil
+ \pscircle(#1){#4}% to get the clipped circle lines
+ \pscircle(#2){#4}
+ \pscircle(#3){#4}
+ \endgroup
+}
+\def\psVenn@ii(#1)(#2)(#3)#4#5#6\@nil{%
+ \ifcase#5
+ \or %1
+ \psclip[clipcommand=eoclip]{%
+ \pscustom[linestyle=none]{%
+ \psframe(-\maxdimen,-\maxdimen)(\maxdimen,\maxdimen)
+ \pscircle(#2){#4}\pscircle(#3){#4}}%
+ \pscustom[linestyle=none]{%
+ \psframe(-\maxdimen,-\maxdimen)(\maxdimen,\maxdimen)
+ \pscircle(#3){#4}}%
+ }%
+ \pscircle[fillstyle=\psVenn@fillstyle,fillcolor=\psVenn@fgcolor](#1){#4}
+ \endpsclip
+ \or %2
+ \psclip[clipcommand=eoclip]{%
+ \pscustom[linestyle=none]{%
+ \psframe(-\maxdimen,-\maxdimen)(\maxdimen,\maxdimen)
+ \pscircle(#1){#4}\pscircle(#3){#4}}%
+ \pscustom[linestyle=none]{%
+ \psframe(-\maxdimen,-\maxdimen)(\maxdimen,\maxdimen)
+ \pscircle(#3){#4}}%
+ }%
+ \pscircle[fillstyle=\psVenn@fillstyle,fillcolor=\psVenn@fgcolor](#2){#4}
+ \endpsclip
+ \or %3
+ \psclip[clipcommand=eoclip]{%
+ \pscustom[linestyle=none]{%
+ \psframe(-\maxdimen,-\maxdimen)(\maxdimen,\maxdimen)
+ \pscircle(#1){#4}\pscircle(#2){#4}
+ }%
+ \pscustom[linestyle=none]{%
+ \psframe(-\maxdimen,-\maxdimen)(\maxdimen,\maxdimen)
+ \pscircle(#2){#4}
+ }%
+ }%
+ \pscircle[fillstyle=\psVenn@fillstyle,fillcolor=\psVenn@fgcolor](#3){#4}
+ \endpsclip
+ \or %4
+ \psclip[clipcommand=eoclip]{%
+ \pscustom[linestyle=none]{%
+ \psframe(-3,-3)(3,3)
+ \pscircle(#1){#4}\pscircle(#3){#4}}%
+ \pscustom[linestyle=none]{%
+ \psframe(-\maxdimen,-\maxdimen)(\maxdimen,\maxdimen)
+ \pscircle(#2){#4}}%
+ }%
+ \pscircle[fillstyle=\psVenn@fillstyle,fillcolor=\psVenn@fgcolor](#3){#4}
+ \endpsclip
+ \or %5
+ \psclip[clipcommand=eoclip]{%
+ \pscustom[linestyle=none]{%
+ \psframe(-3,-3)(3,3)
+ \pscircle(#1){#4}\pscircle(#2){#4}}%
+ \pscustom[linestyle=none]{%
+ \psframe(-\maxdimen,-\maxdimen)(\maxdimen,\maxdimen)
+ \pscircle(#3){#4}}%
+ }%
+ \pscircle[fillstyle=\psVenn@fillstyle,fillcolor=\psVenn@fgcolor](#1){#4}
+ \endpsclip
+ \or %6
+ \psclip[clipcommand=eoclip]{%
+ \pscustom[linestyle=none]{%
+ \psframe(-3,-3)(3,3)
+ \pscircle(#2){#4}\pscircle(#3){#4}}%
+ \pscustom[linestyle=none]{%
+ \psframe(-\maxdimen,-\maxdimen)(\maxdimen,\maxdimen)
+ \pscircle(#1){#4}}%
+ }%
+ \pscircle[fillstyle=\psVenn@fillstyle,fillcolor=\psVenn@fgcolor](#2){#4}
+ \endpsclip
+ \or %7
+ \psclip{\pscircle(#1){#4}\pscircle(#3){#4}}
+ \pscircle[fillstyle=\psVenn@fillstyle,fillcolor=\psVenn@fgcolor](#2){#4}
+ \endpsclip
+ \else
+ \fi
+ \ifx\relax#6\relax \def\next{}\else\def\next{\psVenn@ii(#1)(#2)(#3){#4}#6\@nil}\fi
+ \next
+}
+
+\endinput