diff options
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.tex | 116 |
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 |