Add exercise versions

This commit is contained in:
Knoch 2023-01-13 17:18:30 +01:00
parent 3c699d5dd0
commit 5731eb3c45
20 changed files with 184 additions and 142 deletions

2
.gitignore vendored
View File

@ -79,7 +79,7 @@ _minted*
*.swp
*.swo
main_*.pdf
main-*.pdf
listings-mode.tex
exercise-mode.tex
public

View File

@ -241,36 +241,3 @@
\end{figure}
}
% Exercise Material
% =================
% Takes a project-relative path, and inserts matching exercise material and/or solutions, depending on the exercise mode.
\newcommand\exercisematerial[1]{
% Mode 'exercises': raw material only
\ifthenelse{\equal{\exercisemode}{exercises}}{
\IfFileExists{#1.raw.tex}{
\input{#1.raw.tex}
}{}
}{}
% Mode 'solutions': completed material only
\ifthenelse{\equal{\exercisemode}{solutions}}{
\IfFileExists{#1.done.tex}{
\input{#1.done.tex}
}{}
}{}
% Mode 'any': all existing material. If both raw and completed material exist, headings are added for each.
\ifthenelse{\equal{\exercisemode}{any}}{
\IfFileExists{#1.raw.tex}{
\IfFileExists{#1.done.tex}{
\subsubsection*{Preview of the raw material}
}{}
\input{#1.raw.tex}
}{}
\IfFileExists{#1.done.tex}{
\IfFileExists{#1.raw.tex}{
\subsubsection*{Preview of the solution}
}{}
\input{#1.done.tex}
}{}
}{}
}

View File

@ -2,16 +2,6 @@
\includepdf{graphics/cover.pdf}
\newpage
\thispagestyle{empty}
\todo{Adjust cover for different versions.}
\mbox{}
\vfill
\begin{tabular}{@{}lp{9cm}}
& \subsubsection*{Imprint} \\
& The \LaTeX{} Script (version 1.2 from June 18th, 2022) has been assembled by the Student Council of the Information Systems and Applied Computer Sciences Faculty (Fachschaft \acro{WIAI}) at the University of Bamberg. \\
& It is licensed under Creative Commons \enquote{Attribution-ShareAlike 4.0 International} (CC BY-SA 4.0): \\
\href{http://creativecommons.org/licenses/by-sa/4.0/}{\includegraphics[height=.5cm]{graphics/cc-by-sa}} & \url{http://creativecommons.org/licenses/by-sa/4.0/} \\ \\
& Upon request, allowances exceeding the limitations of this license may be granted.
\end{tabular}
\input{imprint}

View File

@ -15,5 +15,3 @@
a table of contents for your document.
\item Afterwards, comment out the preamble, the document environment, and the table of contents.
\end{enumerate}
\exercisematerial{exercises/basic-document-structure/document-structure}

View File

@ -7,19 +7,4 @@ Make the text \enquote{March 2021} of the file
parentheses. Additionally, insert a clickable URL to the Java Development Kit
as footnote.
\texttt{https://www.oracle.com/java/technologies/javase-downloads.html}
\exercisematerial{exercises/footnotes/footnotes}
\subsection{Inserting references}
In file \file{exercises/references/references.tex}, replace \enquote{in the
figure} and \enquote{the following source code listing} with suited references.
Use the command \code{latex}{\textbackslash cref}. Do not forget to first
introduce labels for the elements that you want to reference. To do so, first
of all, wrap the source code listing in a \code{latex}{listing} environment.
Also, insert a caption for the source code listing.
Make sure to use suitable prefixes before the labels.
\exercisematerial{exercises/references/references}
\texttt{https://www.oracle.com/java/technologies/javase-downloads.html}

View File

@ -6,6 +6,3 @@ In the \file{exercises/graphics} directory you can find an image file
exactly where you have specified it. On top of that, the picture shall be
centered, and a caption shall be added. Adapt the image width to the text width
(\code{latex}{\textbackslash textwidth}).
\exercisematerial{exercises/graphics/graphics}

View File

@ -5,5 +5,3 @@ unordered list (\code{latex}{itemize}) with sub-lists \emph{Ingredients}
and \emph{Instructions}.
Within these, there shall be an unordered list of ingredients and an ordered list of
instructions, respectively.
\exercisematerial{exercises/lists/lists}

View File

@ -17,5 +17,3 @@
\item \textbf{Note}: If compiling fails, it may help to remove all auxiliary
files \\(\mono{main.aux/bbl/blg/loc/out/pdf/soc/toc}) before compiling again.
\end{enumerate}
\exercisematerial{exercises/literature/literature}

View File

@ -3,4 +3,6 @@
Use \LaTeX{} math mode to typeset the following formulas.
Pay attention to the size of brackets.
\exercisematerial{exercises/maths/math-formulas}
\todo{Strange indent}
\vspace{1cm}

View File

@ -2,5 +2,3 @@
Within the directory \file{exercises/project-structure} you can find the file
\file{main.tex}.
\exercisematerial{exercises/project-structure/tasks}

View File

@ -0,0 +1,10 @@
% same chapter as footnotes
\subsection{Inserting references}
In file \file{exercises/references/references.tex}, replace \enquote{in the
figure} and \enquote{the following source code listing} with suited references.
Use the command \code{latex}{\textbackslash cref}. Do not forget to first
introduce labels for the elements that you want to reference. To do so, first
of all, wrap the source code listing in a \code{latex}{listing} environment.
Also, insert a caption for the source code listing.
Make sure to use suitable prefixes before the labels.

View File

@ -29,8 +29,6 @@ If you have questions, consult the \pkg{minted} or \pkg{listings} package docume
\item Don't show special characters for spaces in strings.
\end{enumerate}
\exercisematerial{exercises/source-code-listings/source-code-listings}
% Reset experiments from exercise material if minted is used
\ifthenelse{\equal{\listingsmode}{minted}}{%
\usemintedstyle{default}

View File

@ -14,6 +14,3 @@ This applies for the subsequent tasks, as well.
\item Add quotation marks around the words \emph{Studi-Ticket} and
\emph{Studi-Karte} using the \code{latex}{\textbackslash enquote} command.
\end{enumerate}
\exercisematerial{exercises/special-characters/special-characters}

View File

@ -6,7 +6,3 @@ To improve it, convert the list into a table with columns for \emph{name}, \emph
Insert an additional \emph{centered column} that numbers the courses.
Add a caption to the table.
You find the table in \file{exercises/tables/tables.tex}.
\exercisematerial{exercises/tables/tables}

View File

@ -7,5 +7,3 @@
\item Of course, you can also experiment with the other commands that you learned for text markup. However, you might want to remove them afterwards to keep your document nice and tidy.
\end{enumerate}
\exercisematerial{exercises/text-markup/markup}

13
imprint.tex Normal file
View File

@ -0,0 +1,13 @@
\newpage
\thispagestyle{empty}
\mbox{}
\vfill
\begin{tabular}{@{}lp{9cm}}
& \subsubsection*{Imprint} \\
& The \LaTeX{} Script (version 1.2 from June 18th, 2022) has been assembled by the Student Council of the Information Systems and Applied Computer Sciences Faculty (Fachschaft \acro{WIAI}) at the University of Bamberg. \\
& It is licensed under Creative Commons \enquote{Attribution-ShareAlike 4.0 International} (CC BY-SA 4.0): \\
\href{http://creativecommons.org/licenses/by-sa/4.0/}{\includegraphics[height=.5cm]{graphics/cc-by-sa}} & \url{http://creativecommons.org/licenses/by-sa/4.0/} \\ \\
& Upon request, allowances exceeding the limitations of this license may be granted.
\end{tabular}

77
main-exercises.tex Normal file
View File

@ -0,0 +1,77 @@
\input{setup.tex} % Setup
\input{praeamble.tex} % Preamble
\input{commands.tex} % Custom commands
\title{Script for the Fachschaft \acro{WIAI} \LaTeX{} Workshop}
\author{Evelyn Fradtschuk \and Florian Knoch \and Christian Kremitzl \and Bernhard Luedtke}
\begin{document}
\selectlanguage{english}
\frenchspacing
% Custom headline prefix
\renewcommand{\thesection}{E\arabic{section}}
\renewcommand{\thesubsection}{\arabic{subsection}}
% Title page
\input{content/titlepage.tex}
% or simply
% \maketitle
\thispagestyle{empty}
\newpage
\setcounter{page}{1} % Don't count title page.
\setcounter{tocdepth}{2}
\tableofcontents
\newpage
% Align exercise numbers with chapters
\setcounter{section}{3}
\input{exercises/basic-document-structure/task}
\input{exercises/basic-document-structure/document-structure.raw}
\newpage
\input{exercises/project-structure/task}
\input{exercises/project-structure/tasks.raw}
\newpage
\input{exercises/special-characters/task}
\input{exercises/special-characters/special-characters.raw}
\newpage
\input{exercises/text-markup/task}
\input{exercises/text-markup/markup.raw}
\newpage
\input{exercises/lists/task}
\input{exercises/lists/lists.raw}
\newpage
\input{exercises/maths/task}
\input{exercises/maths/math-formulas.raw}
\newpage
\input{exercises/graphics/task}
\input{exercises/graphics/graphics.raw}
\newpage
\input{exercises/tables/task}
\input{exercises/tables/tables.raw}
\newpage
\input{exercises/source-code-listings/task}
\input{exercises/source-code-listings/source-code-listings.raw}
\newpage
\input{exercises/footnotes/task}
\input{exercises/footnotes/footnotes.raw}
\newpage
\input{exercises/references/task}
\input{exercises/references/references.raw}
\newpage
\input{exercises/literature/task}
\input{exercises/literature/literature.raw}
\end{document}

77
main-solutions.tex Normal file
View File

@ -0,0 +1,77 @@
\input{setup.tex} % Setup
\input{praeamble.tex} % Preamble
\input{commands.tex} % Custom commands
\title{Script for the Fachschaft \acro{WIAI} \LaTeX{} Workshop}
\author{Evelyn Fradtschuk \and Florian Knoch \and Christian Kremitzl \and Bernhard Luedtke}
\begin{document}
\selectlanguage{english}
\frenchspacing
% Custom headline prefix
\renewcommand{\thesection}{E\arabic{section}}
\renewcommand{\thesubsection}{\arabic{subsection}}
% Title page
\input{content/titlepage.tex}
% or simply
% \maketitle
\thispagestyle{empty}
\newpage
\setcounter{page}{1} % Don't count title page.
\setcounter{tocdepth}{2}
\tableofcontents
\newpage
% Align exercise numbers with chapters
\setcounter{section}{3}
\input{exercises/basic-document-structure/task}
\input{exercises/basic-document-structure/document-structure.done}
\newpage
\input{exercises/project-structure/task}
\input{exercises/project-structure/tasks.done}
\newpage
\input{exercises/special-characters/task}
\input{exercises/special-characters/special-characters.done}
\newpage
\input{exercises/text-markup/task}
\input{exercises/text-markup/markup.done}
\newpage
\input{exercises/lists/task}
\input{exercises/lists/lists.done}
\newpage
\input{exercises/maths/task}
\input{exercises/maths/math-formulas.done}
\newpage
\input{exercises/graphics/task}
\input{exercises/graphics/graphics.done}
\newpage
\input{exercises/tables/task}
\input{exercises/tables/tables.done}
\newpage
\input{exercises/source-code-listings/task}
\input{exercises/source-code-listings/source-code-listings.done}
\newpage
\input{exercises/footnotes/task}
\input{exercises/footnotes/footnotes.done}
\newpage
\input{exercises/references/task}
\input{exercises/references/references.done}
\newpage
\input{exercises/literature/task}
\input{exercises/literature/literature.done}
\end{document}

View File

@ -1,57 +0,0 @@
\input{setup.tex} % Setup
\input{praeamble.tex} % Preamble
\input{commands.tex} % Custom commands
\title{Script for the Fachschaft \acro{WIAI} \LaTeX{} Workshop}
\author{Evelyn Fradtschuk \and Florian Knoch \and Christian Kremitzl \and Bernhard Luedtke}
% Custom headline prefix
\renewcommand*\thesection{Exercise #1\@arabic\c@section}
\begin{document}
\selectlanguage{english}
\frenchspacing
% Title page
\input{content/titlepage.tex}
% or simply
% \maketitle
\thispagestyle{empty}
\newpage
\setcounter{page}{1} % Don't count title page.
\setcounter{tocdepth}{2}
\tableofcontents
\newpage
\input{content/first-steps-with-latex.tex}
\input{content/why-use-latex.tex}
\input{content/basic-functionality.tex}
% Align exercise numbers with chapters
\setcounter{section}{3}
\input{content/basic-document-structure.tex}
\exercise{basic-document-structure}
\input{content/project-structure.tex}
\exercise{project-structure}
\input{content/special-characters.tex}
\exercise{special-characters}
\input{content/text-markup.tex}
\exercise{text-markup}
\input{content/lists.tex}
\exercise{lists}
\input{content/maths.tex}
\exercise{maths}
\input{content/graphics.tex}
\exercise{graphics}
\input{content/tables.tex}
\exercise{tables}
\input{content/source-code-listings.tex}
\exercise{source-code-listings}
\input{content/footnotes.tex}
\exercise{footnotes}
\input{content/literature.tex}
\exercise{literature}
\input{content/prospects.tex}
\end{document}