diff options
Diffstat (limited to 'macros/latex/contrib/decision-table/decision-table-doc.tex')
-rw-r--r-- | macros/latex/contrib/decision-table/decision-table-doc.tex | 209 |
1 files changed, 209 insertions, 0 deletions
diff --git a/macros/latex/contrib/decision-table/decision-table-doc.tex b/macros/latex/contrib/decision-table/decision-table-doc.tex new file mode 100644 index 0000000000..266e88acbf --- /dev/null +++ b/macros/latex/contrib/decision-table/decision-table-doc.tex @@ -0,0 +1,209 @@ +\documentclass{article} +\usepackage{decision-table} +\usepackage{hyperref} +\usepackage{listings} +\usepackage{float} + +\author{Simon Vandevelde} + +\title{The \texttt{decision-table} Package} +\date{2020/08/22} + +\begin{document} + +\maketitle + +\section{Description} + +The \texttt{decision-table} package allows for an easy way to generate decision tables in the Decision Model and Notation (DMN) format. (See Fig. \ref{ex1}) +This package ensures consistency in the tables (i.e. fontsize), and is thus a better alternative to inserting tables via images. + +\begin{figure}[H] + \centering + \dmntable{Calculate BMI}{U}{Weight(kgs),Length(m)}{BMI}{ + ---,---,weight/length*length} + \caption{Example of a DMN table} + \label{ex1} +\end{figure} +\section{How to use} + +The \texttt{decision-table} package adds the \texttt{dmntable} command, with which tables can be created. +This command expands into a \texttt{tabular}, so it can be used within a \texttt{table} or \texttt{figure} environment. +Furthermore, this allows labels and captions to be added seamlessly. +It is also possible to place multiple DMN tables in one \texttt{table}/\texttt{figure} environment. + +The \texttt{dmntable} command has the following inputs: +\begin{itemize} + \item title + \item hit policy + \item input column headers + \item output column headers + \item the table values +\end{itemize} +The command is used as follows: +\begin{lstlisting}[language=tex, frame=single] +\dmntable{title}{hitpolicy}{input}{output}{values} +\end{lstlisting} + +The input, output and cell values are split by a comma. +It is not necessary to include the row numbers for the cell values. +For example, \ref{ex1} is generated by the following code: +\begin{lstlisting}[language=tex, frame=single, basicstyle=\small] +\begin{figure}[H] + \centering + \dmntable{Calculate BMI}{U} % Title and HP + {Weight(kgs),Length(m)}{BMI} % Input, output + {---,---,weight/length*length} % Cell values + \caption{Example of a DMN table} + \label{ex1} +\end{figure} +\end{lstlisting} + +If a cell value contains multiple values (e.g. multiple string values), then accolades should be written around them. +See the example \ref{ex2}. + + +\section{Examples} +This section contains some example code and their resulting tables. + +\begin{lstlisting}[language=tex, frame=single, basicstyle=\small] +\begin{figure}[H] + \centering + \dmntable{Calculate BMI}{U} % Title and HP + {Weight(kgs),Length(m)}{BMI} % Input, output + {---,---,weight/length*length} % Cell values + \caption{Example of a DMN table} +\end{figure} +\end{lstlisting} +\begin{figure}[H] + \centering + \dmntable{Calculate BMI}{U} % Title and HP + {Weight(kgs),Length(m)}{BMI} % Input, output + {---,---,weight/length*length} % Cell values + \caption{Example of a DMN table} +\end{figure} + + +\begin{lstlisting}[language=tex, frame=single, basicstyle=\small] +\begin{ligure}[H] + \centering + \dmntable{Decide BMI Level}{U} % Title and HP + {BMI}{BMI Level, Risk Level} % Input, output + {$< 18.5$, Underweight, Increased, + $[18.5..24.9]$, Normal, Low, + $[25..29.9]$, overweight, Increased, + $[30..34.9]$, Obese I, High, + $[35..39.9]$, Obese II, Very High, + $> 39.9$, Extreme Obesity, Extremely High} + \caption{Example of a DMN table} +\end{figure} +\end{lstlisting} +\begin{figure}[H] + \centering + \dmntable{Decide BMI Level}{U} % Title, HP + {BMI}{BMI Level, Risk Level} % Input, output + {$< 18.5$, Underweight, Increased, + $[18.5..24.9]$, Normal, Low, + $[25..29.9]$, overweight, Increased, + $[30..34.9]$, Obese I, High, + $[35..39.9]$, Obese II, Very High, + $> 39.9$, Extreme Obesity, Extremely High} + \caption{Example of a larger DMN table} +\end{figure} + +\begin{lstlisting}[language=tex, frame=single, basicstyle=\tiny] +\begin{figure}[H] + \centering + \dmntable{Decide Risk Level}{U} + {BMI level, Waist(cm)}{Risk Level} + {Overweight, $<=88$, Increased, + Overweight, $ > 88$, High, + Obese I,$ <= 88$, High, + Obese II, ---, Very High, + Extreme Obesity, ---, Extremely High, + {not(Overweight, Obese I, Obese II, Extreme Obesity)}, ---, Low + } + \caption{Example of cell with multiple values} + \label{ex2} +\end{figure} +\end{lstlisting} + +\begin{figure}[H] + \centering + \dmntable{Decide Risk Level}{U} + {BMI level, Waist(cm)}{Risk Level} + {Overweight, $<=88$, Increased, + Overweight, $ > 88$, High, + Obese I,$ <= 88$, High, + Obese II, ---, Very High, + Extreme Obesity, ---, Extremely High, + {not(Overweight, Obese I, Obese II, Extreme Obesity)}, ---, Low + } + \caption{Example of cell with multiple values} + \label{ex2} +\end{figure} + +\begin{lstlisting}[language=tex, frame=single, basicstyle=\tiny] +\begin{figure}[H] + \centering + \dmntable{Rule 1}{U} + {Age, Service Years}{Eligible1} + {$\leq18$, ---, Yes, + $\geq60$, ---, Yes, + {$[18, 60]$}, $\geq 30$, Yes + } + \dmntable{Rule 2}{U} + {Age, Service Years}{Eligible2} + {---,$\geq30$, Yes, + $\geq60$,$<30$, Yes + } + \dmntable{Rule 3}{U} + {Age, Service Years}{Eligible3} + {$< 45$, {$[15, 30)$}, Yes, + $> 45$, ---, Yes + } + \dmntable{Vacation days}{C+} + {Eligible1, Eligible2, Eligble3}{Vacation Days} + {---, ---, ---, 22, + Yes, ---, ---, 5, + ---, Yes, ---, 3, + No, ---, Yes, 2 + } + \caption{dmn table example for the Vacation Days} +\end{figure} +\end{lstlisting} +\begin{figure}[H] + \centering + \dmntable{Rule 1}{U} + {Age, Service Years}{Eligible1} + {$\leq18$, ---, Yes, + $\geq60$, ---, Yes, + {$[18, 60]$}, $\geq 30$, Yes + } + \dmntable{Rule 2}{U} + {Age, Service Years}{Eligible2} + {---,$\geq30$, Yes, + $\geq60$,$<30$, Yes + } + \dmntable{Rule 3}{U} + {Age, Service Years}{Eligible3} + {$< 45$, {$[15, 30)$}, Yes, + $> 45$, ---, Yes + } + \dmntable{Vacation days}{C+} + {Eligible1, Eligible2, Eligble3}{Vacation Days} + {---, ---, ---, 22, + Yes, ---, ---, 5, + ---, Yes, ---, 3, + No, ---, Yes, 2 + } + \caption{DMN table example for the Vacation Days} +\end{figure} + + +\section{Contributing} + +Contributions are always welcome. +The project is hosted at \url{https://gitlab.com/Vadevesi/dmn-tex} + +\end{document} |