From edfb70faa9f396ebad602fc7adaf6a2c99b138fc Mon Sep 17 00:00:00 2001
From: Frank Fuhlbrück
Date: Fri, 2 Sep 2022 17:10:33 +0200
Subject: initial public commit

---
 examples/exshexample.tex | 262 +++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 262 insertions(+)
 create mode 100644 examples/exshexample.tex

(limited to 'examples/exshexample.tex')

diff --git a/examples/exshexample.tex b/examples/exshexample.tex
new file mode 100644
index 0000000..bc4d3ec
--- /dev/null
+++ b/examples/exshexample.tex
@@ -0,0 +1,262 @@
+\long\def\ifbeamer#1#2{#1}
+\ifbeamer{\documentclass{beamer}}{\documentclass{article}}
+
+%navigation symbols and the title collide if 
+%beamerwithheadline is set
+\ifbeamer{
+  \setbeamertemplate{navigation symbols}{}
+}{}
+
+%patchenumerate is the deafault
+\usepackage[patchenumerate=true,beamerwithheadline,
+  beamercompatibility,
+  exercisespath=exercises]%
+  {exercisesheets}
+\usepackage{varioref}
+\usepackage{hyperref}
+\usepackage{xcolor}
+
+%Usually the person responsible for the entire course:
+\author{Exampleauthor}
+\date{Example term/semester}
+\title{Introduction to Exercise Sheets Creation}
+\subject{Introduction to Exercise Sheets Creation}
+%Only used for beamer at the moment:
+\exshset{exauthor={Author of exercises}}
+
+\ifbeamer{
+  \exshset{beameruseblocks=false}
+}{
+  \exshset{
+    %default is \clearpage
+    sheet start page action={\pagebreak[3]\hrule},
+    sheet end page action={\vspace{4mm}\hrule\vspace{2cm}},
+  }
+}
+
+
+\exshset{solutions=true,
+task restate font={\color{black!60}},
+only={-}
+}
+
+
+\begin{document}
+
+%1
+\begin{sheet}[note={Learn how to create nice exercise sheets.},
+  date={Novanuar 42, -2022},title={First Sheet}]
+  
+  \includeexercise*{exshexample-ex1}
+  \includeLexercise*{exshexample-ex2}
+  
+  \begin{exercise}[points={many, many},firstline={Read the manual.}]
+  \end{exercise}
+  
+  \begin{exercise}[points={sum},firstline={After you read the manual:}]
+    Play around with this example. You might want to read further manuals like:
+    \begin{enumerate}
+      %pointsfloatright should be usually set globally
+      \item\points[pointsfloatright]{2}pgf (for pgfkeys)
+      \item enumitem and similar \points[abbrev,bonus]{1}
+      \begin{enumerate}
+        \item paralist \thesubex
+        \item
+          \begin{enumerate}
+            \item varioref
+          \end{enumerate}
+      \end{enumerate}
+      \item all the others \points[inplace]{3} (why not?)
+      \label{subex:man2}
+    \end{enumerate}
+  \end{exercise}
+\end{sheet}
+
+%2
+\begin{sheet}[date={Novanuar 35, -2022}]
+  \begin{exercise}[points={many, many},
+    firstline={Read the manual.}]
+  \end{exercise}
+  \begin{solution}[framed,fragile]
+    Oh no, it's quite long.
+    \newframe
+    Really long, but please \verb|\relax|.
+    Ok, but my brain feels like:
+    \begin{verbatim}
+%
+ x
+	$	t
+&
+
+
+\
+#
+    \end{verbatim}
+    And yours?
+  \end{solution}
+\end{sheet}
+
+%3
+\begin{sheet}[date={Novanuar 28, -2022},title={Third Sheet},
+  number within sheet]
+  \begin{exercise}[points={many, many},
+    firstline={Read the manual.}]
+    \begin{solution}
+      OK, done.
+    \end{solution}
+  \end{exercise}
+\end{sheet}
+
+%4
+\begin{sheet}
+  \begin{Lexercise}
+    task  = [[
+      This exercise will be skipped.
+    ]],
+  \end{Lexercise}
+  \begin{Lexercise}
+    task  = [[
+      \label{ex:skiplex}%
+      This exercise will be skipped, but it has a reference.
+    ]],
+    subexercises = {[[\label{subex:skiplexOne} first]]},
+  \end{Lexercise}
+  \begin{exercise}[points={many, many},savetasks,
+    main task font={\tiny},subtask font={\itshape}
+  ]
+    \begin{maintask}
+      \label{ex:skipex} This exercise will be skipped
+    \end{maintask}
+%     \begin{subtasks}
+%       \item {first \label{subex:skipexOne}}
+%       \subtask{second}
+%     \end{subtasks}
+    \begin{enumerate}
+      \subtask {first \label{subex:skipexOne}}
+      \item {\label{subex:skipexTwo}} {12345}
+    \end{enumerate}
+
+  \end{exercise}
+\end{sheet}
+
+%5
+\begin{sheet}[date={Novanuar 21, -2022}]
+  \begin{exercise}[points={many, many},
+    firstline={Read the manual.}]
+    Observe how a sheet with title restarts the exercise numbering.
+    \begin{solution}[framed]
+      OK, done (again).
+      \newframe
+      Otherwise, I wouldn't know  \textbackslash newframe now which 
+      does not exist in beamer.
+    \end{solution}
+  \end{exercise}
+  
+  Loading varioref enables you to refer to sub-exercises, like 
+  this: Did you do \ref{subex:man2}? It is the subexercise
+  \subexnref{subex:man2} and has label \subexlref{subex:man2}.
+
+  
+  \begin{exercise}[points={many, many},
+  firstline={Play around with the options.}]
+  Observe how a sheet with title restarts the exercise numbering.
+    \begin{solution}[defersolutiontitle]
+      \begin{frame}
+        This is a dual-use solution with explicit
+        beamer frames (and no framed).
+        \solutiontitle
+        Note, that we can freely place the title, because of 
+        defersolutiontitle.
+      \end{frame}
+    \end{solution}
+  \end{exercise}
+  
+  \begin{exercise}[points={many, many},beamersolution,
+  firstline={Play around with the options.}]
+  Observe how a sheet with title restarts the exercise numbering.
+    \begin{solution}
+      This solution is only shown if using the non-beamer version, because the option beamersolution was used. Otherwise both
+      solutions would be shown. You can set
+      the option beamersolution for individual (normal) solutions
+      to ignore some but not all solutions of an exercise.
+    \end{solution}
+    \begin{beamersolution}[defersolutiontitle]
+      \begin{frame}[t]
+      \solutiontitle
+      This beamersolution is only shown if using the beamer 
+      version.
+      \end{frame}
+    \end{beamersolution}
+  \end{exercise}
+  
+
+  
+  \begin{exercise}[points={many, many},savetasks,
+    main task font={\tiny},subtask font={\itshape}
+  ]
+    \begin{maintask}
+      The exercise task can be saved and restated.
+    \end{maintask}
+    \begin{subtasks}
+      \subtask{first}
+      \begin{solution}[framed]
+        None (yet).
+      \end{solution}
+      \subtask{second}
+    \end{subtasks}
+    I forgot all the tasks!
+    \restatetask
+    Yeah, but what about the subtasks? I forgot the \restatetask[1] and the \restatetask[2] one. Or did I?
+  \end{exercise}
+  
+  \begin{Lexercise}
+    --use [[]] if you need \ or escape it: "\\"
+    firstline = [[Assume $\pi=4$.]],
+    points=10,
+    name="Pragmatic",
+    options=[[main task font={\itshape}]],
+    task  = [[
+      This is the main task specified via the Lua
+      interface, like subexercise \ref{subex:skiplexOne} in \ref{ex:skiplex}, whereas \ref{subex:skipexOne}
+      and \ref{subex:skipexTwo} in
+      \ref{ex:skipex} use the \LaTeX~interface.
+    ]],
+    solution=[[
+      This is a solution for the main task.
+    ]],
+    altsolutions={
+      {
+        name="Alternative Solution",
+        text="This is also a solution."
+      },{
+        idea=true,
+        text="This is also a solution."
+      }
+    },
+  \end{Lexercise}
+
+  \begin{Lexercise}
+    firstline = "Assume $e=3$.",
+    points="sum",
+    task  = [[
+      This exercise has some subexercises. The Lua interface 
+      computes point sums in a single pass.
+    ]],
+    subexercises = {
+      {
+        task = "First things first.",
+        bonuspoints = 4,
+        pointoptions = "abbrev",--passed to LaTeX interface
+        solution = [[None.]],
+      },{
+        task = "Second things afterwards.",
+        points = 16,
+        altsolutions = { [[None.]],[[Yet.]] },
+      }
+    }
+  \end{Lexercise}
+  
+\end{sheet}
+
+\end{document}
+
-- 
cgit v1.2.3

