mirror of
https://github.com/Brandon-Rozek/website.git
synced 2024-11-23 00:26:30 -05:00
New post
This commit is contained in:
parent
e36d360bfc
commit
d0df0d353b
2 changed files with 85 additions and 0 deletions
85
content/blog/hiding-answers-lecture-slides-latex-beamer.md
Normal file
85
content/blog/hiding-answers-lecture-slides-latex-beamer.md
Normal file
|
@ -0,0 +1,85 @@
|
||||||
|
---
|
||||||
|
title: "Hiding Answers in Lecture Slides using Latex Beamer"
|
||||||
|
date: 2023-10-09T11:40:36-04:00
|
||||||
|
draft: false
|
||||||
|
tags: ["LaTex"]
|
||||||
|
math: false
|
||||||
|
medium_enabled: false
|
||||||
|
---
|
||||||
|
|
||||||
|
Asking questions is a great way to try to solicitate engagement from students. However, it can feel at odds with trying to provide a fully comprehensive slide deck at times. Similar to having notes [hidden for yourself](/blog/notes-beamer-latex/), we should also have a way to hide answers for the students of the present but not the students of the future.
|
||||||
|
|
||||||
|
LaTex beamer has the `\invisible` command which holds the space for the text but doesn't display it. We can create a new command with an if statement stating whether or not we want to use `\invisible`.
|
||||||
|
|
||||||
|
For this, I called the variable `showanswer`, but you can call it whatever you like. Put the following code in the preamble of your beamer document.
|
||||||
|
|
||||||
|
```latex
|
||||||
|
\newif\ifshowanswer
|
||||||
|
%\showanswertrue % Uncomment when you want to show the answer
|
||||||
|
\newcommand{\HideAns}[1]{\unless\ifshowanswer \invisible{#1} \else #1 \fi}
|
||||||
|
```
|
||||||
|
|
||||||
|
To write `if not` in LaTex, we need to use `\unless\if`.
|
||||||
|
|
||||||
|
Now let's see this in action. Here is a slide I gave in a recent lecture about Unification:
|
||||||
|
|
||||||
|
```latex
|
||||||
|
\begin{frame}{Examples}
|
||||||
|
\begin{enumerate}
|
||||||
|
\item $f(x, y) \eq f(g(x), b)$
|
||||||
|
\begin{itemize}
|
||||||
|
\item Answer: \HideAns{None - Occurs Check}
|
||||||
|
\end{itemize}
|
||||||
|
|
||||||
|
\item $f(x, a) \eq f(a, b)$
|
||||||
|
\begin{itemize}
|
||||||
|
\item Answer: \HideAns{None - Function Clash}
|
||||||
|
\end{itemize}
|
||||||
|
|
||||||
|
\item $g(x) \eq g(y)$
|
||||||
|
\begin{itemize}
|
||||||
|
\item Answer: \HideAns{$x \mapsto y$}
|
||||||
|
\end{itemize}
|
||||||
|
\end{enumerate}
|
||||||
|
\end{frame}
|
||||||
|
```
|
||||||
|
|
||||||
|
The left shows the hidden version, and the right shows the version I can distribute afterwards.
|
||||||
|
|
||||||
|
![Screenshot showing example with and without hidden answers](/files/images/blog/20231009120041.png)
|
||||||
|
|
||||||
|
Minimal Working Example:
|
||||||
|
```latex
|
||||||
|
\documentclass{beamer}
|
||||||
|
\usetheme{Copenhagen}
|
||||||
|
\usepackage[utf8]{inputenc}
|
||||||
|
|
||||||
|
\newcommand{\eq}{\stackrel{?}{=}}
|
||||||
|
|
||||||
|
\newif\ifshowanswer
|
||||||
|
% \showanswertrue % Uncomment when you want to show the answer
|
||||||
|
\newcommand{\HideAns}[1]{\unless\ifshowanswer \invisible{#1} \else #1 \fi}
|
||||||
|
|
||||||
|
\begin{document}
|
||||||
|
\begin{frame}{Examples}
|
||||||
|
\begin{enumerate}
|
||||||
|
\item $f(x, y) \eq f(g(x), b)$
|
||||||
|
\begin{itemize}
|
||||||
|
\item Answer: \HideAns{None - Occurs Check}
|
||||||
|
\end{itemize}
|
||||||
|
\item $f(x, a) \eq f(a, b)$
|
||||||
|
\begin{itemize}
|
||||||
|
\item Answer: \HideAns{None - Function Clash}
|
||||||
|
\end{itemize}
|
||||||
|
\item $g(x) \eq g(y)$
|
||||||
|
\begin{itemize}
|
||||||
|
\item Answer: \HideAns{$x \mapsto y$}
|
||||||
|
\end{itemize}
|
||||||
|
\end{enumerate}
|
||||||
|
\end{frame}
|
||||||
|
\end{document}
|
||||||
|
|
||||||
|
```
|
||||||
|
|
||||||
|
|
||||||
|
|
BIN
static/files/images/blog/20231009120041.png
Normal file
BIN
static/files/images/blog/20231009120041.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 83 KiB |
Loading…
Reference in a new issue