summaryrefslogtreecommitdiff
path: root/macros/latex/contrib/ocg-p/examples/ocg-p_example_4.tex
diff options
context:
space:
mode:
Diffstat (limited to 'macros/latex/contrib/ocg-p/examples/ocg-p_example_4.tex')
-rw-r--r--macros/latex/contrib/ocg-p/examples/ocg-p_example_4.tex116
1 files changed, 116 insertions, 0 deletions
diff --git a/macros/latex/contrib/ocg-p/examples/ocg-p_example_4.tex b/macros/latex/contrib/ocg-p/examples/ocg-p_example_4.tex
new file mode 100644
index 0000000000..0fb865ecbd
--- /dev/null
+++ b/macros/latex/contrib/ocg-p/examples/ocg-p_example_4.tex
@@ -0,0 +1,116 @@
+\documentclass[a4paper]{ltxdoc}
+
+\usepackage[ocgtabular]{ocg-p}
+\usepackage{tikz}
+\usepackage{datatool}
+\usepackage{booktabs}
+
+%\usepackage{array}
+
+\newcommand*{\pkg}[1]{\textsf{#1}}
+
+\title{\pkg{OCG-P} package, example 4}
+
+\begin{document}
+
+% generate database with data for the table
+\DTLnewdb{sdata}
+\DTLnewrow{sdata}
+\DTLnewdbentry{sdata}{Firstname}{John}
+\DTLnewdbentry{sdata}{Lastname}{Doe}
+\DTLnewdbentry{sdata}{Grade}{5}
+\DTLnewrow{sdata}
+\DTLnewdbentry{sdata}{Firstname}{Paul}
+\DTLnewdbentry{sdata}{Lastname}{Bauer}
+\DTLnewdbentry{sdata}{Grade}{1}
+\DTLnewrow{sdata}
+\DTLnewdbentry{sdata}{Firstname}{Peggy}
+\DTLnewdbentry{sdata}{Lastname}{Sue}
+\DTLnewdbentry{sdata}{Grade}{3}
+\DTLnewrow{sdata}
+\DTLnewdbentry{sdata}{Firstname}{Ever}
+\DTLnewdbentry{sdata}{Lastname}{Last}
+\DTLnewdbentry{sdata}{Grade}{4}
+\DTLnewrow{sdata}
+\DTLnewdbentry{sdata}{Firstname}{Werner}
+\DTLnewdbentry{sdata}{Lastname}{Moshammer}
+\DTLnewdbentry{sdata}{Grade}{1}
+
+\maketitle
+
+\section{Without using the ocgtabular environment}
+This table can be sorted by clicking on the headers:
+
+\begin{tikzpicture}
+\begin{ocg}{First Name}{ocfirstid}{1}
+ \node[] (p1) {
+\begin{tabular}{llc}
+\toprule
+\bfseries \setocgs{}{ocfirstid}{oclastid ocgradeid}{First name}
+& \bfseries \setocgs{}{oclastid}{ocfirstid ocgradeid}{Last name}
+& \bfseries \setocgs{}{ocgradeid}{ocfirstid oclastid}{Grade}
+\DTLsort*{Firstname}{sdata}% sorted on the first name
+\DTLforeach{sdata}{\first=Firstname, \last=Lastname,\grade=Grade}{%
+\DTLiffirstrow{\\ \midrule}{\\}
+\first & \last & \grade
+}
+\\ \bottomrule
+\end{tabular}
+};
+\end{ocg}
+
+\begin{ocg}{First Name}{oclastid}{0}
+ \node[overlay] (p2) {
+\begin{tabular}{llc}
+\toprule
+\bfseries \setocgs{}{ocfirstid}{oclastid ocgradeid}{First name}
+& \bfseries \setocgs{}{oclastid}{ocfirstid ocgradeid}{Last name}
+& \bfseries \setocgs{}{ocgradeid}{ocfirstid oclastid}{Grade}
+\DTLsort*{Lastname}{sdata}% sorted on the last name
+\DTLforeach{sdata}{\first=Firstname, \last=Lastname,\grade=Grade}{%
+\DTLiffirstrow{\\ \midrule}{\\}
+\first & \last & \grade
+}
+\\ \bottomrule
+\end{tabular}
+};
+\end{ocg}
+
+\begin{ocg}{First Name}{ocgradeid}{0}
+ \node[overlay] (p3) {
+\begin{tabular}{llc}
+\toprule
+\bfseries \setocgs{}{ocfirstid}{oclastid ocgradeid}{First name}
+& \bfseries \setocgs{}{oclastid}{ocfirstid ocgradeid}{Last name}
+& \bfseries \setocgs{}{ocgradeid}{ocfirstid oclastid}{Grade}
+\DTLsort*{Grade}{sdata}% sorted on the grade
+\DTLforeach{sdata}{\first=Firstname, \last=Lastname,\grade=Grade}{%
+\DTLiffirstrow{\\ \midrule}{\\}
+\first & \last & \grade
+}
+\\ \bottomrule
+\end{tabular}
+};
+\end{ocg}
+
+\end{tikzpicture}
+
+\section{Using the ocgtabular environment}
+
+This table can be sorted by clicking on the headers:
+
+\begin{ocgtabular}{llc}{sdata}{}
+\toprule%
+\bfseries \setocgtabularheader{Firstname}{First name}
+& \bfseries \setocgtabularheader{Lastname}{Last name}
+& \bfseries \setocgtabularheader{Grade}{Grade}
+\DTLforeach{sdata}{\first=Firstname, \last=Lastname,\grade=Grade}{%
+\DTLiffirstrow{\\ \midrule}{\\}
+\first & \last & \grade
+}
+\\ \bottomrule%
+\end{ocgtabular}
+
+
+
+\end{document} \ No newline at end of file