summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2021-03-13 23:23:36 +0000
committerKarl Berry <karl@freefriends.org>2021-03-13 23:23:36 +0000
commitf40f7a9f65fa1ba6f61f506f1f7b7063ed0b27fa (patch)
treea6453c068b9594ab694cf5350b8a7a4d853b39b1
parent3e7f3b2cb60bf348ec18f2d21d0fd9e5e5cc14d3 (diff)
nl-interval (13mar21) (branch)
git-svn-id: svn://tug.org/texlive/branches/branch2020.0@58334 c570f23f-e606-0410-a88d-b1316a301751
-rw-r--r--Master/texmf-dist/doc/latex/nl-interval/README.txt30
-rw-r--r--Master/texmf-dist/doc/latex/nl-interval/nl-interval.pdfbin0 -> 82402 bytes
-rw-r--r--Master/texmf-dist/doc/latex/nl-interval/nl-interval.tex200
-rw-r--r--Master/texmf-dist/tex/latex/nl-interval/nl-interval.sty1242
-rw-r--r--Master/tlpkg/tlpsrc/collection-pictures.tlpsrc1
-rw-r--r--Master/tlpkg/tlpsrc/nl-interval.tlpsrc0
6 files changed, 1473 insertions, 0 deletions
diff --git a/Master/texmf-dist/doc/latex/nl-interval/README.txt b/Master/texmf-dist/doc/latex/nl-interval/README.txt
new file mode 100644
index 00000000000..75ff6bd48f1
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/nl-interval/README.txt
@@ -0,0 +1,30 @@
+The nl-interval package
+=======================
+
+Author: Antero Neves
+
+Introdution:
+
+The nl-interval package provides macros to simplify and agilize the process of representing intervals in the number line.
+
+The macros are dependent of packages tkz-fct, ifthen and xparse and should be used inside a tikzpicture environment.
+
+Files : 1) README.txt
+ 2) nl-interval.tex
+ 3) nl-interval.sty
+ 4) nl-interval.pdf
+
+
+License:
+
+This work may be distributed and/or modified
+under the conditions of the LaTeX Project Public License,
+either version 1.3c of this license or any later version.
+The latest version of this license is in
+http://www.latex-project.org/lppl.txt.
+
+
+Contact:
+
+You may contact the author to report any erros or sugestions at
+< anteroneves.reg at gmail.com >. \ No newline at end of file
diff --git a/Master/texmf-dist/doc/latex/nl-interval/nl-interval.pdf b/Master/texmf-dist/doc/latex/nl-interval/nl-interval.pdf
new file mode 100644
index 00000000000..24a16783f99
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/nl-interval/nl-interval.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/nl-interval/nl-interval.tex b/Master/texmf-dist/doc/latex/nl-interval/nl-interval.tex
new file mode 100644
index 00000000000..d3d01b37037
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/nl-interval/nl-interval.tex
@@ -0,0 +1,200 @@
+\documentclass{article}
+
+\usepackage{fouriernc}
+\usepackage[utf8]{inputenc}
+\usepackage{nl-interval}
+\usepackage{indentfirst}
+\usepackage{fancyvrb}
+\usepackage{siunitx}
+
+\title{The {\bf nl-interval} package}
+\author{Antero Neves}
+\date{12 March 2021 \quad version 1.0}
+
+\begin{document}
+ \maketitle
+
+ \begin{abstract}
+ This is a \LaTeX\ package that aims to simplify and agilize the process of representing intervals in the real axis.
+ Four commands are provided: \verb*|\nlAxisX|, \verb*|\nlnuminf|, \verb*|\nlinfnum| and \verb*|\nlnumnum|, they were built around the packages {\bf tkz-fct}, {\bf ifthen} and {\bf xparse} and require being used inside a \verb*|tikzpicture| environment.
+ \end{abstract}
+
+
+ \section{How to use}
+
+ \subsection{How to load the package}
+
+ The package is loaded as usual, through the command
+
+ \medskip
+
+ \verb*|\usepackage{nl-interval}|
+
+ \medskip
+
+ There are, at this time, no options available to include here.
+
+ \subsection{The commands}
+
+ The first command is \verb*|\nlAxisX| and it simply draws the \(x\) axis where the intervals are going to be represented. It has two mandatory inputs: the minimum and maximum of the axis, so, the full instruction is: \Verb*|\nlAxisX{min}{max}|:
+
+
+ \begin{Verbatim}[gobble=1,xleftmargin=5mm]
+ \begin{tikzpicture}
+ \nlAxisX{-2}{5}
+ \end{tikzpicture}
+ \end{Verbatim}
+
+
+ would give the output:
+
+ \medskip
+
+ \begin{center}
+ \begin{tikzpicture}
+ \nlAxisX{-2}{5}
+ \end{tikzpicture}
+ \end{center}
+
+
+ After the axis is drawn, one can start placing the intervals. To do this we will consider two kinds of intervals, the ones with infinity, either \(-\infty\) or \(+\infty\) and the ones with two numbers.
+
+ \newpage
+
+
+ Let's start with the first group.
+
+ \begin{itemize}
+ \item \verb*|\nlinfnum| will draw intervals of the kind: \(\left]-\infty, number\right]\) or \(\left]-\infty, number\right[\).
+ \item \verb*|\nlnuminf| will draw intervals of the kind: \(\left[number, +\infty\right[\) or \(\left]number, +\infty\right[\).
+ \end{itemize}
+
+ These two commands also have two mandatory inputs: first one is the number ({\it always a decimal representation, so, something like \(\pi\) doesn't work but there is a workaround!}) and the second if it's an \underline{o}pen or \underline{c}losed interval at the number. So, for instance
+
+ \medskip
+
+ \begin{Verbatim}[gobble=1,xleftmargin=5mm]
+ \begin{tikzpicture}
+ \nlAxisX{-2}{5}
+ \nlnuminf{3}{o}
+ \nlinfnum{1}{c}
+ \end{tikzpicture}
+ \end{Verbatim}
+
+ gives us
+
+ \medskip
+
+
+ \begin{center}
+ \begin{tikzpicture}
+ \nlAxisX{-2}{5}
+ \nlnuminf{3}{o}
+ \nlinfnum{1}{c}
+ \end{tikzpicture}
+ \end{center}
+
+ This time, there are a few optional inputs, the full commands are like this:
+
+ \begin{Verbatim}[gobble=1,xleftmargin=5mm]
+ \nlnuminf[1]{number}[2]{o or c}[3]
+ \nlinfnum[1]{number}[2]{o or c}[3]
+ \end{Verbatim}
+
+ \begin{itemize}
+ \item in [1] you can put options like different colours or patters used;
+ \item in [2] you can substitute the number for a letter or an exact representation of the number, don't put it in math environment!;
+ \item in [3] you can change the height of the interval, which is \(0.5\si{\centi\meter}\) by default.
+ \end{itemize}
+
+
+ Let's try some of these options:
+
+ \begin{Verbatim}[gobble=1,xleftmargin=5mm]
+ \begin{tikzpicture}
+ \nlAxisX{-2}{5}
+ \nlnuminf[pattern=north west lines]{1.4142}[\sqrt{2}]{c}[.7]
+ \nlinfnum[red!20]{3.1416}[\pi]{o}
+ \end{tikzpicture}
+ \end{Verbatim}
+
+
+ \begin{center}
+ \begin{tikzpicture}
+ \nlAxisX{-1}{4}
+ \nlnuminf[pattern=north west lines]{1.4142}[\sqrt{2}]{c}[.7]
+ \nlinfnum[red!20]{3.1416}[\pi]{o}
+ \end{tikzpicture}
+ \end{center}
+
+
+\newpage
+
+The second group of intervals, works with a single command:
+
+\begin{itemize}
+ \item \verb*|\nlnumnum|
+\end{itemize}
+
+and, since it uses two numbers, we have four mandatory inputs: the numbers and the instruction of closed or open. It works like this:
+
+
+\begin{Verbatim}[gobble=1,xleftmargin=5mm]
+ \begin{tikzpicture}
+ \nlAxisX{-2}{5}
+ \nlnumnum{-1}{o}{3}{c}
+ \end{tikzpicture}
+\end{Verbatim}
+
+ \begin{center}
+ \begin{tikzpicture}
+ \nlAxisX{-2}{5}
+ \nlnumnum{-1}{o}{3}{c}
+ \end{tikzpicture}
+ \end{center}
+
+As with the previous commands, there are a few options, this time we have one more which allows us to change what is shown in the second number:
+
+
+\begin{Verbatim}[gobble=1,xleftmargin=5mm]
+ \begin{tikzpicture}
+ \nlAxisX{-2}{5}
+ \nlnumnum[red!20]{-1.4142}[-\sqrt{2}]{o}{3.1416}[\pi]{c}
+ \end{tikzpicture}
+\end{Verbatim}
+
+
+\begin{center}
+ \begin{tikzpicture}
+ \nlAxisX{-2}{5}
+ \nlnumnum[red!20]{-1.4142}[-\sqrt{2}]{o}{3.1416}[\pi]{c}
+\end{tikzpicture}
+\end{center}
+
+
+\section{Conclusion}
+
+This is a really simple package (my first attempt at a package) but one that, I hope, can help you draw stuff like:
+
+\begin{center}
+ \begin{tikzpicture}
+ \nlAxisX{-2}{5}
+ \nlnumnum[red!20]{-1.4142}[-\sqrt{2}]{o}{3.1416}[\pi]{c}
+ \nlnuminf[pattern=north west lines]{1.4142}[\sqrt{2}]{c}[.7]
+ \nlinfnum{2}{o}[.3]
+ \end{tikzpicture}
+\end{center}
+
+somewhat quickly and easily. By the way, the instructions for this are:
+
+\begin{Verbatim}[gobble=1,xleftmargin=5mm]
+ \begin{tikzpicture}
+ \nlAxisX{-2}{5}
+ \nlnumnum[red!20]{-1.4142}[-\sqrt{2}]{o}{3.1416}[\pi]{c}
+ \nlnuminf[pattern=north west lines]{1.4142}[\sqrt{2}]{c}[.7]
+ \nlinfnum{2}{o}[.3]
+ \end{tikzpicture}
+\end{Verbatim}
+
+
+\end{document} \ No newline at end of file
diff --git a/Master/texmf-dist/tex/latex/nl-interval/nl-interval.sty b/Master/texmf-dist/tex/latex/nl-interval/nl-interval.sty
new file mode 100644
index 00000000000..1fb18a42f57
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/nl-interval/nl-interval.sty
@@ -0,0 +1,1242 @@
+%% TITLE: nl-interval v1.0
+%%
+%% Copyright 2021 Antero Neves
+%%
+%% This work may be distributed and/or modified
+%% under the conditions of the LaTeX Project Public License,
+%% either version 1.3c of this license or any later version.
+%% The latest version of this license is in
+%% http://www.latex-project.org/lppl.txt.
+
+\NeedsTeXFormat{LaTeX2e}
+\ProvidesPackage{nl-interval} % Version 1.0
+
+\RequirePackage{xparse,tkz-fct,ifthen}
+
+\definecolor{MyBlueAN}{RGB}{59,89,152}
+%\definecolor{MyGreenAN}{HTML}{7e8464}
+%\definecolor{MyRedAN}{HTML}{90030c}
+
+
+%--------- Defines Axes ---------%
+\NewDocumentCommand{\nlAxisX}{m m}{
+ \def\xmin{#1}
+ \def\xmax{#2}
+ \tkzInit[xmin=#1,xmax=#2]
+ \tkzDrawX[noticks]}
+
+
+%--------- Defines command to draw interval from number to +infinity ---------%
+\NewDocumentCommand{\nlnuminf}{o m o m o}{
+ \IfNoValueTF{#1}
+ {
+ \IfNoValueTF{#3}
+ {
+ \IfNoValueTF{#5}
+ {
+ \tkzDefPoint(#2,0){A}
+ \tkzDrawPoint[shape=cross](A)
+ \tkzLabelPoint[below](A){\(#2\)}
+ \fill[MyBlueAN!30, path fading=east,opacity=.5] (#2,0) rectangle (\xmax,.5);
+ \draw[->,>=stealth] (#2,0)--(#2,.5)--(\xmax,.5);
+ \ifthenelse
+ {\equal{#4}{o}}
+ {
+ \draw[fill=white] (#2,.5) circle [radius=1.5pt];
+ }
+ {
+ \ifthenelse
+ {\equal{#4}{c}}
+ {
+ \draw[fill=black] (#2,.5) circle[radius=1.5pt];
+ }
+ {}
+ }
+ }
+ {
+ \tkzDefPoint(#2,0){A}
+ \tkzDrawPoint[shape=cross](A)
+ \tkzLabelPoint[below](A){\(#2\)}
+ \fill[MyBlueAN!30, path fading=east,opacity=.5] (#2,0) rectangle (\xmax,#5);
+ \draw[->,>=stealth] (#2,0)--(#2,#5)--(\xmax,#5);
+ \ifthenelse
+ {\equal{#4}{o}}
+ {
+ \draw[fill=white] (#2,#5) circle [radius=1.5pt];
+ }
+ {
+ \ifthenelse
+ {\equal{#4}{c}}
+ {
+ \draw[fill=black] (#2,#5) circle[radius=1.5pt];
+ }
+ {}
+ }
+ }
+ }
+ {
+ \IfNoValueTF{#5}
+ {
+ \tkzDefPoint(#2,0){A}
+ \tkzDrawPoint[shape=cross](A)
+ \tkzLabelPoint[below](A){\(#3\)}
+ \fill[MyBlueAN!30, path fading=east,opacity=.5] (#2,0) rectangle (\xmax,.5);
+ \draw[->,>=stealth] (#2,0)--(#2,.5)--(\xmax,.5);
+ \ifthenelse
+ {\equal{#4}{o}}
+ {
+ \draw[fill=white] (#2,.5) circle [radius=1.5pt];
+ }
+ {
+ \ifthenelse
+ {\equal{#4}{c}}
+ {
+ \draw[fill=black] (#2,.5) circle[radius=1.5pt];
+ }
+ {}
+ }
+ }
+ {
+ \tkzDefPoint(#2,0){A}
+ \tkzDrawPoint[shape=cross](A)
+ \tkzLabelPoint[below](A){\(#3\)}
+ \fill[MyBlueAN!30, path fading=east,opacity=.5] (#2,0) rectangle (\xmax,#5);
+ \draw[->,>=stealth] (#2,0)--(#2,#5)--(\xmax,#5);
+ \ifthenelse
+ {\equal{#4}{o}}
+ {
+ \draw[fill=white] (#2,#5) circle [radius=1.5pt];
+ }
+ {
+ \ifthenelse
+ {\equal{#4}{c}}
+ {
+ \draw[fill=black] (#2,#5) circle[radius=1.5pt];
+ }
+ {}
+ }
+ }
+ }
+ }
+ {
+ \IfNoValueTF{#3}
+ {
+ \IfNoValueTF{#5}
+ {
+ \tkzDefPoint(#2,0){A}
+ \tkzDrawPoint[shape=cross](A)
+ \tkzLabelPoint[below](A){\(#2\)}
+ \fill[MyBlueAN!30, path fading=east,opacity=.5,#1] (#2,0) rectangle (\xmax,.5);
+ \draw[->,>=stealth] (#2,0)--(#2,.5)--(\xmax,.5);
+ \ifthenelse
+ {\equal{#4}{o}}
+ {
+ \draw[fill=white] (#2,.5) circle [radius=1.5pt];
+ }
+ {
+ \ifthenelse
+ {\equal{#4}{c}}
+ {
+ \draw[fill=black] (#2,.5) circle[radius=1.5pt];
+ }
+ {}
+ }
+ }
+ {
+ \tkzDefPoint(#2,0){A}
+ \tkzDrawPoint[shape=cross](A)
+ \tkzLabelPoint[below](A){\(#2\)}
+ \fill[MyBlueAN!30, path fading=east,opacity=.5,#1] (#2,0) rectangle (\xmax,#5);
+ \draw[->,>=stealth] (#2,0)--(#2,#5)--(\xmax,#5);
+ \ifthenelse
+ {\equal{#4}{o}}
+ {
+ \draw[fill=white] (#2,#5) circle [radius=1.5pt];
+ }
+ {
+ \ifthenelse
+ {\equal{#4}{c}}
+ {
+ \draw[fill=black] (#2,#5) circle[radius=1.5pt];
+ }
+ {}
+ }
+ }
+ }
+ {
+ \IfNoValueTF{#5}
+ {
+ \tkzDefPoint(#2,0){A}
+ \tkzDrawPoint[shape=cross](A)
+ \tkzLabelPoint[below](A){\(#3\)}
+ \fill[MyBlueAN!30, path fading=east,opacity=.5,#1] (#2,0) rectangle (\xmax,.5);
+ \draw[->,>=stealth] (#2,0)--(#2,.5)--(\xmax,.5);
+ \ifthenelse
+ {\equal{#4}{o}}
+ {
+ \draw[fill=white] (#2,.5) circle [radius=1.5pt];
+ }
+ {
+ \ifthenelse
+ {\equal{#4}{c}}
+ {
+ \draw[fill=black] (#2,.5) circle[radius=1.5pt];
+ }
+ {}
+ }
+ }
+ {
+ \tkzDefPoint(#2,0){A}
+ \tkzDrawPoint[shape=cross](A)
+ \tkzLabelPoint[below](A){\(#3\)}
+ \fill[MyBlueAN!30, path fading=east,opacity=.5,#1] (#2,0) rectangle (\xmax,#5);
+ \draw[->,>=stealth] (#2,0)--(#2,#5)--(\xmax,#5);
+ \ifthenelse
+ {\equal{#4}{o}}
+ {
+ \draw[fill=white] (#2,#5) circle [radius=1.5pt];
+ }
+ {
+ \ifthenelse
+ {\equal{#4}{c}}
+ {
+ \draw[fill=black] (#2,#5) circle[radius=1.5pt];
+ }
+ {}
+ }
+ }
+ }
+ }
+}
+
+%--------- Defines command to draw interval from -infinity to a number ---------%
+\NewDocumentCommand{\nlinfnum}{o m o m o}{
+ \IfNoValueTF{#1}
+ {
+ \IfNoValueTF{#3}
+ {
+ \IfNoValueTF{#5}
+ {
+ \tkzDefPoint(#2,0){A}
+ \tkzDrawPoint[shape=cross](A)
+ \tkzLabelPoint[below](A){\(#2\)}
+ \fill[MyBlueAN!30, path fading=west,opacity=.5] (#2,0) rectangle (\xmin,.5);
+ \draw[->,>=stealth] (#2,0)--(#2,.5)--(\xmin,.5);
+ \ifthenelse
+ {\equal{#4}{o}}
+ {
+ \draw[fill=white] (#2,.5) circle [radius=1.5pt];
+ }
+ {
+ \ifthenelse
+ {\equal{#4}{c}}
+ {
+ \draw[fill=black] (#2,.5) circle[radius=1.5pt];
+ }
+ {}
+ }
+ }
+ {
+ \tkzDefPoint(#2,0){A}
+ \tkzDrawPoint[shape=cross](A)
+ \tkzLabelPoint[below](A){\(#2\)}
+ \fill[MyBlueAN!30, path fading=west,opacity=.5] (#2,0) rectangle (\xmin,#5);
+ \draw[->,>=stealth] (#2,0)--(#2,#5)--(\xmin,#5);
+ \ifthenelse
+ {\equal{#4}{o}}
+ {
+ \draw[fill=white] (#2,#5) circle [radius=1.5pt];
+ }
+ {
+ \ifthenelse
+ {\equal{#4}{c}}
+ {
+ \draw[fill=black] (#2,#5) circle[radius=1.5pt];
+ }
+ {}
+ }
+ }
+ }
+ {
+ \IfNoValueTF{#5}
+ {
+ \tkzDefPoint(#2,0){A}
+ \tkzDrawPoint[shape=cross](A)
+ \tkzLabelPoint[below](A){\(#3\)}
+ \fill[MyBlueAN!30, path fading=west,opacity=.5] (#2,0) rectangle (\xmin,.5);
+ \draw[->,>=stealth] (#2,0)--(#2,.5)--(\xmin,.5);
+ \ifthenelse
+ {\equal{#4}{o}}
+ {
+ \draw[fill=white] (#2,.5) circle [radius=1.5pt];
+ }
+ {
+ \ifthenelse
+ {\equal{#4}{c}}
+ {
+ \draw[fill=black] (#2,.5) circle[radius=1.5pt];
+ }
+ {}
+ }
+ }
+ {
+ \tkzDefPoint(#2,0){A}
+ \tkzDrawPoint[shape=cross](A)
+ \tkzLabelPoint[below](A){\(#3\)}
+ \fill[MyBlueAN!30, path fading=west,opacity=.5] (#2,0) rectangle (\xmin,#5);
+ \draw[->,>=stealth] (#2,0)--(#2,#5)--(\xmin,#5);
+ \ifthenelse
+ {\equal{#4}{o}}
+ {
+ \draw[fill=white] (#2,#5) circle [radius=1.5pt];
+ }
+ {
+ \ifthenelse
+ {\equal{#4}{c}}
+ {
+ \draw[fill=black] (#2,#5) circle[radius=1.5pt];
+ }
+ {}
+ }
+ }
+ }
+ }
+ {
+ \IfNoValueTF{#3}
+ {
+ \IfNoValueTF{#5}
+ {
+ \tkzDefPoint(#2,0){A}
+ \tkzDrawPoint[shape=cross](A)
+ \tkzLabelPoint[below](A){\(#2\)}
+ \fill[MyBlueAN!30, path fading=west,opacity=.5,#1] (#2,0) rectangle (\xmin,.5);
+ \draw[->,>=stealth] (#2,0)--(#2,.5)--(\xmin,.5);
+ \ifthenelse
+ {\equal{#4}{o}}
+ {
+ \draw[fill=white] (#2,.5) circle [radius=1.5pt];
+ }
+ {
+ \ifthenelse
+ {\equal{#4}{c}}
+ {
+ \draw[fill=black] (#2,.5) circle[radius=1.5pt];
+ }
+ {}
+ }
+ }
+ {
+ \tkzDefPoint(#2,0){A}
+ \tkzDrawPoint[shape=cross](A)
+ \tkzLabelPoint[below](A){\(#2\)}
+ \fill[MyBlueAN!30, path fading=west,opacity=.5,#1] (#2,0) rectangle (\xmin,#5);
+ \draw[->,>=stealth] (#2,0)--(#2,#5)--(\xmin,#5);
+ \ifthenelse
+ {\equal{#4}{o}}
+ {
+ \draw[fill=white] (#2,#5) circle [radius=1.5pt];
+ }
+ {
+ \ifthenelse
+ {\equal{#4}{c}}
+ {
+ \draw[fill=black] (#2,#5) circle[radius=1.5pt];
+ }
+ {}
+ }
+ }
+ }
+ {
+ \IfNoValueTF{#5}
+ {
+ \tkzDefPoint(#2,0){A}
+ \tkzDrawPoint[shape=cross](A)
+ \tkzLabelPoint[below](A){\(#3\)}
+ \fill[MyBlueAN!30, path fading=west,opacity=.5,#1] (#2,0) rectangle (\xmin,.5);
+ \draw[->,>=stealth] (#2,0)--(#2,.5)--(\xmin,.5);
+ \ifthenelse
+ {\equal{#4}{o}}
+ {
+ \draw[fill=white] (#2,.5) circle [radius=1.5pt];
+ }
+ {
+ \ifthenelse
+ {\equal{#4}{c}}
+ {
+ \draw[fill=black] (#2,.5) circle[radius=1.5pt];
+ }
+ {}
+ }
+ }
+ {
+ \tkzDefPoint(#2,0){A}
+ \tkzDrawPoint[shape=cross](A)
+ \tkzLabelPoint[below](A){\(#3\)}
+ \fill[MyBlueAN!30, path fading=west,opacity=.5,#1] (#2,0) rectangle (\xmin,#5);
+ \draw[->,>=stealth] (#2,0)--(#2,#5)--(\xmin,#5);
+ \ifthenelse
+ {\equal{#4}{o}}
+ {
+ \draw[fill=white] (#2,#5) circle [radius=1.5pt];
+ }
+ {
+ \ifthenelse
+ {\equal{#4}{c}}
+ {
+ \draw[fill=black] (#2,#5) circle[radius=1.5pt];
+ }
+ {}
+ }
+ }
+ }
+ }
+}
+
+%--------- Defines command to draw interval from a number to a number ---------%
+\NewDocumentCommand{\nlnumnum}{o m o m m o m o}{
+ \IfNoValueTF{#1}
+ {
+ \IfNoValueTF{#3}
+ {
+ \IfNoValueTF{#6}
+ {
+ \IfNoValueTF{#8}
+ {
+ \tkzDefPoint(#2,0){A}
+ \tkzDrawPoint[shape=cross](A)
+ \tkzLabelPoint[below](A){\(#2\)}
+ \tkzDefPoint(#5,0){B}
+ \tkzDrawPoint[shape=cross](B)
+ \tkzLabelPoint[below](B){\(#5\)}
+ \fill[MyBlueAN!30,opacity=.5] (#2,0) rectangle (#5,.5);
+ \draw (#2,0)--(#2,.5)--(#5,.5)-- (#5,0);
+ \ifthenelse
+ {\equal{#4}{o}}
+ {
+ \draw[fill=white] (#2,.5) circle [radius=1.5pt];
+
+ \ifthenelse
+ {\equal{#7}{o}}
+ {
+ \draw[fill=white] (#5,.5) circle [radius=1.5pt];
+ }
+ {
+ \ifthenelse
+ {\equal{#7}{c}}
+ {
+ \draw[fill=black] (#5,.5) circle[radius=1.5pt];
+ }
+ {}
+ }
+ }
+ {
+ \ifthenelse
+ {\equal{#4}{c}}
+ {
+ \draw[fill=black] (#2,.5) circle[radius=1.5pt];
+ \ifthenelse
+ {\equal{#7}{o}}
+ {
+ \draw[fill=white] (#5,.5) circle [radius=1.5pt];
+ }
+ {
+ \ifthenelse
+ {\equal{#7}{c}}
+ {
+ \draw[fill=black] (#5,.5) circle[radius=1.5pt];
+ }
+ {}
+ }
+ }
+ {}
+ }
+ }
+ {
+ \tkzDefPoint(#2,0){A}
+ \tkzDrawPoint[shape=cross](A)
+ \tkzLabelPoint[below](A){\(#2\)}
+ \tkzDefPoint(#5,0){B}
+ \tkzDrawPoint[shape=cross](B)
+ \tkzLabelPoint[below](B){\(#5\)}
+ \fill[MyBlueAN!30,opacity=.5] (#2,0) rectangle (#5,#8);
+ \draw (#2,0)--(#2,#8)--(#5,#8)-- (#5,0);
+ \ifthenelse
+ {\equal{#4}{o}}
+ {
+ \draw[fill=white] (#2,#8) circle [radius=1.5pt];
+
+ \ifthenelse
+ {\equal{#7}{o}}
+ {
+ \draw[fill=white] (#5,#8) circle [radius=1.5pt];
+ }
+ {
+ \ifthenelse
+ {\equal{#7}{c}}
+ {
+ \draw[fill=black] (#5,#8) circle[radius=1.5pt];
+ }
+ {}
+ }
+ }
+ {
+ \ifthenelse
+ {\equal{#4}{c}}
+ {
+ \draw[fill=black] (#2,#8) circle[radius=1.5pt];
+ \ifthenelse
+ {\equal{#7}{o}}
+ {
+ \draw[fill=white] (#5,#8) circle [radius=1.5pt];
+ }
+ {
+ \ifthenelse
+ {\equal{#7}{c}}
+ {
+ \draw[fill=black] (#5,#8) circle[radius=1.5pt];
+ }
+ {}
+ }
+ }
+ {}
+ }
+ }
+ }
+ {
+ \IfNoValueTF{#8}
+ {
+ \tkzDefPoint(#2,0){A}
+ \tkzDrawPoint[shape=cross](A)
+ \tkzLabelPoint[below](A){\(#2\)}
+ \tkzDefPoint(#5,0){B}
+ \tkzDrawPoint[shape=cross](B)
+ \tkzLabelPoint[below](B){\(#6\)}
+ \fill[MyBlueAN!30,opacity=.5] (#2,0) rectangle (#5,.5);
+ \draw (#2,0)--(#2,.5)--(#5,.5)-- (#5,0);
+ \ifthenelse
+ {\equal{#4}{o}}
+ {
+ \draw[fill=white] (#2,.5) circle [radius=1.5pt];
+
+ \ifthenelse
+ {\equal{#7}{o}}
+ {
+ \draw[fill=white] (#5,.5) circle [radius=1.5pt];
+ }
+ {
+ \ifthenelse
+ {\equal{#7}{c}}
+ {
+ \draw[fill=black] (#5,.5) circle[radius=1.5pt];
+ }
+ {}
+ }
+ }
+ {
+ \ifthenelse
+ {\equal{#4}{c}}
+ {
+ \draw[fill=black] (#2,.5) circle[radius=1.5pt];
+ \ifthenelse
+ {\equal{#7}{o}}
+ {
+ \draw[fill=white] (#5,.5) circle [radius=1.5pt];
+ }
+ {
+ \ifthenelse
+ {\equal{#7}{c}}
+ {
+ \draw[fill=black] (#5,.5) circle[radius=1.5pt];
+ }
+ {}
+ }
+ }
+ {}
+ }
+ }
+ {
+ \tkzDefPoint(#2,0){A}
+ \tkzDrawPoint[shape=cross](A)
+ \tkzLabelPoint[below](A){\(#2\)}
+ \tkzDefPoint(#5,0){B}
+ \tkzDrawPoint[shape=cross](B)
+ \tkzLabelPoint[below](B){\(#6\)}
+ \fill[MyBlueAN!30,opacity=.5] (#2,0) rectangle (#5,#8);
+ \draw (#2,0)--(#2,#8)--(#5,#8)-- (#5,0);
+ \ifthenelse
+ {\equal{#4}{o}}
+ {
+ \draw[fill=white] (#2,#8) circle [radius=1.5pt];
+
+ \ifthenelse
+ {\equal{#7}{o}}
+ {
+ \draw[fill=white] (#5,#8) circle [radius=1.5pt];
+ }
+ {
+ \ifthenelse
+ {\equal{#7}{c}}
+ {
+ \draw[fill=black] (#5,#8) circle[radius=1.5pt];
+ }
+ {}
+ }
+ }
+ {
+ \ifthenelse
+ {\equal{#4}{c}}
+ {
+ \draw[fill=black] (#2,#8) circle[radius=1.5pt];
+ \ifthenelse
+ {\equal{#7}{o}}
+ {
+ \draw[fill=white] (#5,#8) circle [radius=1.5pt];
+ }
+ {
+ \ifthenelse
+ {\equal{#7}{c}}
+ {
+ \draw[fill=black] (#5,#8) circle[radius=1.5pt];
+ }
+ {}
+ }
+ }
+ {}
+ }
+ }
+ }
+ }
+ {
+ \IfNoValueTF{#6}
+ {
+ \IfNoValueTF{#8}
+ {
+ \tkzDefPoint(#2,0){A}
+ \tkzDrawPoint[shape=cross](A)
+ \tkzLabelPoint[below](A){\(#3\)}
+ \tkzDefPoint(#5,0){B}
+ \tkzDrawPoint[shape=cross](B)
+ \tkzLabelPoint[below](B){\(#5\)}
+ \fill[MyBlueAN!30,opacity=.5] (#2,0) rectangle (#5,.5);
+ \draw (#2,0)--(#2,.5)--(#5,.5)-- (#5,0);
+ \ifthenelse
+ {\equal{#4}{o}}
+ {
+ \draw[fill=white] (#2,.5) circle [radius=1.5pt];
+
+ \ifthenelse
+ {\equal{#7}{o}}
+ {
+ \draw[fill=white] (#5,.5) circle [radius=1.5pt];
+ }
+ {
+ \ifthenelse
+ {\equal{#7}{c}}
+ {
+ \draw[fill=black] (#5,.5) circle[radius=1.5pt];
+ }
+ {}
+ }
+ }
+ {
+ \ifthenelse
+ {\equal{#4}{c}}
+ {
+ \draw[fill=black] (#2,.5) circle[radius=1.5pt];
+ \ifthenelse
+ {\equal{#7}{o}}
+ {
+ \draw[fill=white] (#5,.5) circle [radius=1.5pt];
+ }
+ {
+ \ifthenelse
+ {\equal{#7}{c}}
+ {
+ \draw[fill=black] (#5,.5) circle[radius=1.5pt];
+ }
+ {}
+ }
+ }
+ {}
+ }
+ }
+ {
+ \tkzDefPoint(#2,0){A}
+ \tkzDrawPoint[shape=cross](A)
+ \tkzLabelPoint[below](A){\(#3\)}
+ \tkzDefPoint(#5,0){B}
+ \tkzDrawPoint[shape=cross](B)
+ \tkzLabelPoint[below](B){\(#5\)}
+ \fill[MyBlueAN!30,opacity=.5] (#2,0) rectangle (#5,#8);
+ \draw (#2,0)--(#2,#8)--(#5,#8)-- (#5,0);
+ \ifthenelse
+ {\equal{#4}{o}}
+ {
+ \draw[fill=white] (#2,#8) circle [radius=1.5pt];
+
+ \ifthenelse
+ {\equal{#7}{o}}
+ {
+ \draw[fill=white] (#5,#8) circle [radius=1.5pt];
+ }
+ {
+ \ifthenelse
+ {\equal{#7}{c}}
+ {
+ \draw[fill=black] (#5,#8) circle[radius=1.5pt];
+ }
+ {}
+ }
+ }
+ {
+ \ifthenelse
+ {\equal{#4}{c}}
+ {
+ \draw[fill=black] (#2,#8) circle[radius=1.5pt];
+ \ifthenelse
+ {\equal{#7}{o}}
+ {
+ \draw[fill=white] (#5,#8) circle [radius=1.5pt];
+ }
+ {
+ \ifthenelse
+ {\equal{#7}{c}}
+ {
+ \draw[fill=black] (#5,#8) circle[radius=1.5pt];
+ }
+ {}
+ }
+ }
+ {}
+ }
+ }
+ }
+ {
+ \IfNoValueTF{#8}
+ {
+ \tkzDefPoint(#2,0){A}
+ \tkzDrawPoint[shape=cross](A)
+ \tkzLabelPoint[below](A){\(#3\)}
+ \tkzDefPoint(#5,0){B}
+ \tkzDrawPoint[shape=cross](B)
+ \tkzLabelPoint[below](B){\(#6\)}
+ \fill[MyBlueAN!30,opacity=.5] (#2,0) rectangle (#5,.5);
+ \draw (#2,0)--(#2,.5)--(#5,.5)-- (#5,0);
+ \ifthenelse
+ {\equal{#4}{o}}
+ {
+ \draw[fill=white] (#2,.5) circle [radius=1.5pt];
+
+ \ifthenelse
+ {\equal{#7}{o}}
+ {
+ \draw[fill=white] (#5,.5) circle [radius=1.5pt];
+ }
+ {
+ \ifthenelse
+ {\equal{#7}{c}}
+ {
+ \draw[fill=black] (#5,.5) circle[radius=1.5pt];
+ }
+ {}
+ }
+ }
+ {
+ \ifthenelse
+ {\equal{#4}{c}}
+ {
+ \draw[fill=black] (#2,.5) circle[radius=1.5pt];
+ \ifthenelse
+ {\equal{#7}{o}}
+ {
+ \draw[fill=white] (#5,.5) circle [radius=1.5pt];
+ }
+ {
+ \ifthenelse
+ {\equal{#7}{c}}
+ {
+ \draw[fill=black] (#5,.5) circle[radius=1.5pt];
+ }
+ {}
+ }
+ }
+ {}
+ }
+ }
+ {
+ \tkzDefPoint(#2,0){A}
+ \tkzDrawPoint[shape=cross](A)
+ \tkzLabelPoint[below](A){\(#3\)}
+ \tkzDefPoint(#5,0){B}
+ \tkzDrawPoint[shape=cross](B)
+ \tkzLabelPoint[below](B){\(#6\)}
+ \fill[MyBlueAN!30,opacity=.5] (#2,0) rectangle (#5,#8);
+ \draw (#2,0)--(#2,#8)--(#5,#8)-- (#5,0);
+ \ifthenelse
+ {\equal{#4}{o}}
+ {
+ \draw[fill=white] (#2,#8) circle [radius=1.5pt];
+
+ \ifthenelse
+ {\equal{#7}{o}}
+ {
+ \draw[fill=white] (#5,#8) circle [radius=1.5pt];
+ }
+ {
+ \ifthenelse
+ {\equal{#7}{c}}
+ {
+ \draw[fill=black] (#5,#8) circle[radius=1.5pt];
+ }
+ {}
+ }
+ }
+ {
+ \ifthenelse
+ {\equal{#4}{c}}
+ {
+ \draw[fill=black] (#2,#8) circle[radius=1.5pt];
+ \ifthenelse
+ {\equal{#7}{o}}
+ {
+ \draw[fill=white] (#5,#8) circle [radius=1.5pt];
+ }
+ {
+ \ifthenelse
+ {\equal{#7}{c}}
+ {
+ \draw[fill=black] (#5,#8) circle[radius=1.5pt];
+ }
+ {}
+ }
+ }
+ {}
+ }
+ }
+ }
+ }
+ }
+ {
+ \IfNoValueTF{#3}
+ {
+ \IfNoValueTF{#6}
+ {
+ \IfNoValueTF{#8}
+ {
+ \tkzDefPoint(#2,0){A}
+ \tkzDrawPoint[shape=cross](A)
+ \tkzLabelPoint[below](A){\(#2\)}
+ \tkzDefPoint(#5,0){B}
+ \tkzDrawPoint[shape=cross](B)
+ \tkzLabelPoint[below](B){\(#5\)}
+ \fill[MyBlueAN!30,opacity=.5,#1] (#2,0) rectangle (#5,.5);
+ \draw (#2,0)--(#2,.5)--(#5,.5)-- (#5,0);
+ \ifthenelse
+ {\equal{#4}{o}}
+ {
+ \draw[fill=white] (#2,.5) circle [radius=1.5pt];
+
+ \ifthenelse
+ {\equal{#7}{o}}
+ {
+ \draw[fill=white] (#5,.5) circle [radius=1.5pt];
+ }
+ {
+ \ifthenelse
+ {\equal{#7}{c}}
+ {
+ \draw[fill=black] (#5,.5) circle[radius=1.5pt];
+ }
+ {}
+ }
+ }
+ {
+ \ifthenelse
+ {\equal{#4}{c}}
+ {
+ \draw[fill=black] (#2,.5) circle[radius=1.5pt];
+ \ifthenelse
+ {\equal{#7}{o}}
+ {
+ \draw[fill=white] (#5,.5) circle [radius=1.5pt];
+ }
+ {
+ \ifthenelse
+ {\equal{#7}{c}}
+ {
+ \draw[fill=black] (#5,.5) circle[radius=1.5pt];
+ }
+ {}
+ }
+ }
+ {}
+ }
+ }
+ {
+ \tkzDefPoint(#2,0){A}
+ \tkzDrawPoint[shape=cross](A)
+ \tkzLabelPoint[below](A){\(#2\)}
+ \tkzDefPoint(#5,0){B}
+ \tkzDrawPoint[shape=cross](B)
+ \tkzLabelPoint[below](B){\(#5\)}
+ \fill[MyBlueAN!30,opacity=.5,#1] (#2,0) rectangle (#5,#8);
+ \draw (#2,0)--(#2,#8)--(#5,#8)-- (#5,0);
+ \ifthenelse
+ {\equal{#4}{o}}
+ {
+ \draw[fill=white] (#2,#8) circle [radius=1.5pt];
+
+ \ifthenelse
+ {\equal{#7}{o}}
+ {
+ \draw[fill=white] (#5,#8) circle [radius=1.5pt];
+ }
+ {
+ \ifthenelse
+ {\equal{#7}{c}}
+ {
+ \draw[fill=black] (#5,#8) circle[radius=1.5pt];
+ }
+ {}
+ }
+ }
+ {
+ \ifthenelse
+ {\equal{#4}{c}}
+ {
+ \draw[fill=black] (#2,#8) circle[radius=1.5pt];
+ \ifthenelse
+ {\equal{#7}{o}}
+ {
+ \draw[fill=white] (#5,#8) circle [radius=1.5pt];
+ }
+ {
+ \ifthenelse
+ {\equal{#7}{c}}
+ {
+ \draw[fill=black] (#5,#8) circle[radius=1.5pt];
+ }
+ {}
+ }
+ }
+ {}
+ }
+ }
+ }
+ {
+ \IfNoValueTF{#8}
+ {
+ \tkzDefPoint(#2,0){A}
+ \tkzDrawPoint[shape=cross](A)
+ \tkzLabelPoint[below](A){\(#2\)}
+ \tkzDefPoint(#5,0){B}
+ \tkzDrawPoint[shape=cross](B)
+ \tkzLabelPoint[below](B){\(#6\)}
+ \fill[MyBlueAN!30,opacity=.5,#1] (#2,0) rectangle (#5,.5);
+ \draw (#2,0)--(#2,.5)--(#5,.5)-- (#5,0);
+ \ifthenelse
+ {\equal{#4}{o}}
+ {
+ \draw[fill=white] (#2,.5) circle [radius=1.5pt];
+
+ \ifthenelse
+ {\equal{#7}{o}}
+ {
+ \draw[fill=white] (#5,.5) circle [radius=1.5pt];
+ }
+ {
+ \ifthenelse
+ {\equal{#7}{c}}
+ {
+ \draw[fill=black] (#5,.5) circle[radius=1.5pt];
+ }
+ {}
+ }
+ }
+ {
+ \ifthenelse
+ {\equal{#4}{c}}
+ {
+ \draw[fill=black] (#2,.5) circle[radius=1.5pt];
+ \ifthenelse
+ {\equal{#7}{o}}
+ {
+ \draw[fill=white] (#5,.5) circle [radius=1.5pt];
+ }
+ {
+ \ifthenelse
+ {\equal{#7}{c}}
+ {
+ \draw[fill=black] (#5,.5) circle[radius=1.5pt];
+ }
+ {}
+ }
+ }
+ {}
+ }
+ }
+ {
+ \tkzDefPoint(#2,0){A}
+ \tkzDrawPoint[shape=cross](A)
+ \tkzLabelPoint[below](A){\(#2\)}
+ \tkzDefPoint(#5,0){B}
+ \tkzDrawPoint[shape=cross](B)
+ \tkzLabelPoint[below](B){\(#6\)}
+ \fill[MyBlueAN!30,opacity=.5,#1] (#2,0) rectangle (#5,#8);
+ \draw (#2,0)--(#2,#8)--(#5,#8)-- (#5,0);
+ \ifthenelse
+ {\equal{#4}{o}}
+ {
+ \draw[fill=white] (#2,#8) circle [radius=1.5pt];
+
+ \ifthenelse
+ {\equal{#7}{o}}
+ {
+ \draw[fill=white] (#5,#8) circle [radius=1.5pt];
+ }
+ {
+ \ifthenelse
+ {\equal{#7}{c}}
+ {
+ \draw[fill=black] (#5,#8) circle[radius=1.5pt];
+ }
+ {}
+ }
+ }
+ {
+ \ifthenelse
+ {\equal{#4}{c}}
+ {
+ \draw[fill=black] (#2,#8) circle[radius=1.5pt];
+ \ifthenelse
+ {\equal{#7}{o}}
+ {
+ \draw[fill=white] (#5,#8) circle [radius=1.5pt];
+ }
+ {
+ \ifthenelse
+ {\equal{#7}{c}}
+ {
+ \draw[fill=black] (#5,#8) circle[radius=1.5pt];
+ }
+ {}
+ }
+ }
+ {}
+ }
+ }
+ }
+ }
+ {
+ \IfNoValueTF{#6}
+ {
+ \IfNoValueTF{#8}
+ {
+ \tkzDefPoint(#2,0){A}
+ \tkzDrawPoint[shape=cross](A)
+ \tkzLabelPoint[below](A){\(#3\)}
+ \tkzDefPoint(#5,0){B}
+ \tkzDrawPoint[shape=cross](B)
+ \tkzLabelPoint[below](B){\(#5\)}
+ \fill[MyBlueAN!30,opacity=.5,#1] (#2,0) rectangle (#5,.5);
+ \draw (#2,0)--(#2,.5)--(#5,.5)-- (#5,0);
+ \ifthenelse
+ {\equal{#4}{o}}
+ {
+ \draw[fill=white] (#2,.5) circle [radius=1.5pt];
+
+ \ifthenelse
+ {\equal{#7}{o}}
+ {
+ \draw[fill=white] (#5,.5) circle [radius=1.5pt];
+ }
+ {
+ \ifthenelse
+ {\equal{#7}{c}}
+ {
+ \draw[fill=black] (#5,.5) circle[radius=1.5pt];
+ }
+ {}
+ }
+ }
+ {
+ \ifthenelse
+ {\equal{#4}{c}}
+ {
+ \draw[fill=black] (#2,.5) circle[radius=1.5pt];
+ \ifthenelse
+ {\equal{#7}{o}}
+ {
+ \draw[fill=white] (#5,.5) circle [radius=1.5pt];
+ }
+ {
+ \ifthenelse
+ {\equal{#7}{c}}
+ {
+ \draw[fill=black] (#5,.5) circle[radius=1.5pt];
+ }
+ {}
+ }
+ }
+ {}
+ }
+ }
+ {
+ \tkzDefPoint(#2,0){A}
+ \tkzDrawPoint[shape=cross](A)
+ \tkzLabelPoint[below](A){\(#3\)}
+ \tkzDefPoint(#5,0){B}
+ \tkzDrawPoint[shape=cross](B)
+ \tkzLabelPoint[below](B){\(#5\)}
+ \fill[MyBlueAN!30,opacity=.5,#1] (#2,0) rectangle (#5,#8);
+ \draw (#2,0)--(#2,#8)--(#5,#8)-- (#5,0);
+ \ifthenelse
+ {\equal{#4}{o}}
+ {
+ \draw[fill=white] (#2,#8) circle [radius=1.5pt];
+
+ \ifthenelse
+ {\equal{#7}{o}}
+ {
+ \draw[fill=white] (#5,#8) circle [radius=1.5pt];
+ }
+ {
+ \ifthenelse
+ {\equal{#7}{c}}
+ {
+ \draw[fill=black] (#5,#8) circle[radius=1.5pt];
+ }
+ {}
+ }
+ }
+ {
+ \ifthenelse
+ {\equal{#4}{c}}
+ {
+ \draw[fill=black] (#2,#8) circle[radius=1.5pt];
+ \ifthenelse
+ {\equal{#7}{o}}
+ {
+ \draw[fill=white] (#5,#8) circle [radius=1.5pt];
+ }
+ {
+ \ifthenelse
+ {\equal{#7}{c}}
+ {
+ \draw[fill=black] (#5,#8) circle[radius=1.5pt];
+ }
+ {}
+ }
+ }
+ {}
+ }
+ }
+ }
+ {
+ \IfNoValueTF{#8}
+ {
+ \tkzDefPoint(#2,0){A}
+ \tkzDrawPoint[shape=cross](A)
+ \tkzLabelPoint[below](A){\(#3\)}
+ \tkzDefPoint(#5,0){B}
+ \tkzDrawPoint[shape=cross](B)
+ \tkzLabelPoint[below](B){\(#6\)}
+ \fill[MyBlueAN!30,opacity=.5,#1] (#2,0) rectangle (#5,.5);
+ \draw (#2,0)--(#2,.5)--(#5,.5)-- (#5,0);
+ \ifthenelse
+ {\equal{#4}{o}}
+ {
+ \draw[fill=white] (#2,.5) circle [radius=1.5pt];
+
+ \ifthenelse
+ {\equal{#7}{o}}
+ {
+ \draw[fill=white] (#5,.5) circle [radius=1.5pt];
+ }
+ {
+ \ifthenelse
+ {\equal{#7}{c}}
+ {
+ \draw[fill=black] (#5,.5) circle[radius=1.5pt];
+ }
+ {}
+ }
+ }
+ {
+ \ifthenelse
+ {\equal{#4}{c}}
+ {
+ \draw[fill=black] (#2,.5) circle[radius=1.5pt];
+ \ifthenelse
+ {\equal{#7}{o}}
+ {
+ \draw[fill=white] (#5,.5) circle [radius=1.5pt];
+ }
+ {
+ \ifthenelse
+ {\equal{#7}{c}}
+ {
+ \draw[fill=black] (#5,.5) circle[radius=1.5pt];
+ }
+ {}
+ }
+ }
+ {}
+ }
+ }
+ {
+ \tkzDefPoint(#2,0){A}
+ \tkzDrawPoint[shape=cross](A)
+ \tkzLabelPoint[below](A){\(#3\)}
+ \tkzDefPoint(#5,0){B}
+ \tkzDrawPoint[shape=cross](B)
+ \tkzLabelPoint[below](B){\(#6\)}
+ \fill[MyBlueAN!30,opacity=.5,#1] (#2,0) rectangle (#5,#8);
+ \draw (#2,0)--(#2,#8)--(#5,#8)-- (#5,0);
+ \ifthenelse
+ {\equal{#4}{o}}
+ {
+ \draw[fill=white] (#2,#8) circle [radius=1.5pt];
+
+ \ifthenelse
+ {\equal{#7}{o}}
+ {
+ \draw[fill=white] (#5,#8) circle [radius=1.5pt];
+ }
+ {
+ \ifthenelse
+ {\equal{#7}{c}}
+ {
+ \draw[fill=black] (#5,#8) circle[radius=1.5pt];
+ }
+ {}
+ }
+ }
+ {
+ \ifthenelse
+ {\equal{#4}{c}}
+ {
+ \draw[fill=black] (#2,#8) circle[radius=1.5pt];
+ \ifthenelse
+ {\equal{#7}{o}}
+ {
+ \draw[fill=white] (#5,#8) circle [radius=1.5pt];
+ }
+ {
+ \ifthenelse
+ {\equal{#7}{c}}
+ {
+ \draw[fill=black] (#5,#8) circle[radius=1.5pt];
+ }
+ {}
+ }
+ }
+ {}
+ }
+ }
+ }
+ }
+ }
+}
+
+
diff --git a/Master/tlpkg/tlpsrc/collection-pictures.tlpsrc b/Master/tlpkg/tlpsrc/collection-pictures.tlpsrc
index d4fae6e9481..2cc491c9faf 100644
--- a/Master/tlpkg/tlpsrc/collection-pictures.tlpsrc
+++ b/Master/tlpkg/tlpsrc/collection-pictures.tlpsrc
@@ -90,6 +90,7 @@ depend miniplot
depend mkpic
depend modiagram
depend neuralnetwork
+depend nl-interval
depend numericplots
depend pb-diagram
depend penrose
diff --git a/Master/tlpkg/tlpsrc/nl-interval.tlpsrc b/Master/tlpkg/tlpsrc/nl-interval.tlpsrc
new file mode 100644
index 00000000000..e69de29bb2d
--- /dev/null
+++ b/Master/tlpkg/tlpsrc/nl-interval.tlpsrc