Closed courtiol closed 2 years ago
I use emojis at the top of each slide to indicate what it refers to:
r emojifont::emoji("mortar_board")
for things that are good to know for improving your understandingr emojifont::emoji("wrench")
for practical advice (i.e. things you need to learn)r emojifont::emoji("eyeglasses")
for demonstrations (i.e. to show you I am not always making things up and teach you how to test your own ideas)I may also use a few others within the slides
r emojifont::emoji("dart")
for goalsr emojifont::emoji("tada")
for solutions or nice resultsr emojifont::emoji("angry")
for things that are brokenr emojifont::emoji("fire")
for heavy computationsr emojifont::emoji("warning")
for warningsr emojifont::emoji("alien")
for aliensFYI; Hadley's {{emo}} package (r devtools::install_github("hadley/emo")
) has a wider variety of emojis than {{emojifont}}. As far as I can tell, every emoji in {{emojifont}} is in {{emo}} but not visa-versa
๐ r emojifont::emoji("mortar_board")
might be understood as 'information you need to know to pass the course' (i.e. graduate). Other alternatives could be:
r emojifont::emoji("star")
r emojifont::emoji("arrow_double_up")
it's like 'leveling up'r emojifont::emoji("nerd_face")
don't need to know but includes some nerdy details to improve knowledge๐ r emojifont::emoji("eyeglasses")
. Other alternatives:
r emojifont::emoji("woman_scientist")
because you're teaching them how to experiment/test their own ideas.r emo::ji("goggles")
same reasoning as above. This one doesn't work in emojifontr emo::ji("test_tube")
/r emo::ji("alembic")
same reasoning as aboveWill we need ๐ r emojifont::emoji("angry")
for the students or this is just for us?
I would rather not to use {emo} because it is not on CRAN and because the exact display of many emojis from this package is random (they have multiple instances and are drawn randomly).
I like the nerd face and would have like to use it but I don't think it is part of {emojifont} (that's too bad). Yet, it seems I can just paste those emojis without using R call:
I worry that in such a case, the output depends on the fonts installed on your system. Do you know?
I consider everything good to know as required to pass the test but the most important things are labelled with :dart:
So all in all I think that the only emoji I use that is not quite obvious enough is the :eyeglasses:. Can you think of a better alternative in {emojifont} or shall I just paste ๐งช ?
From my (limited) understanding of emojis, because they are coded in Unicode then copy-pasting them should be no problem because all systems understand Unicode. However, the output will vary slightly by system (i.e. it's different between MacOS and Windows) because each system translates the underlying Unicode differently, but they should still be generally understandable by the students no matter the system. But anyway, for reproducibility I can see that using {{emojifont}} is preferable because it's on CRAN. In that case I would suggest some alternatives for the glasses:
r emojifont::emoji("microscope")
r emojifont::emoji("alembic")
(maybe a bit niche if they never did chemistry!)I have no idea why they have an emoji for an alembic but not a test tube ๐คท
Alternatively, seems you can also print the unicode directly as ASCII characters and it will then be converted to an emoji when knitting (that's what I understand is happening anyway).
r knitr::asis_output("\U1F97D")
= ๐ฅฝ
r knitr::asis_output("\U1F9EA")
= ๐งช
I find all the emojis (and their underlying Unicode values) here: https://emojipedia.org/
OK great! Will use the test tube then! I will wrap everything in a function so that I can change symbols in one place and propagate the change all over.
.emo <- function(x = c("info", "practice", "proof", "goal", "party", "broken", "heavy", "warn", "alien")) {
x <- match.arg(x)
if(!requireNamespace("emojifont")) stop("You need to install the package emojifont to use this function.")
switch (x,
info = emojifont::emoji("mortar_board"),
practice = emojifont::emoji("wrench"),
proof = knitr::asis_output("\U1F9EA"),
goal = emojifont::emoji("dart"),
party = emojifont::emoji("tada"),
broken = emojifont::emoji("angry"),
heavy = emojifont::emoji("fire"),
warn = emojifont::emoji("warning"),
alien = emojifont::emoji("alien")
)
}
> sapply(c("info", "practice", "proof", "goal", "party", "broken", "heavy", "warn", "alien"), .emo)
info practice proof goal party broken heavy warn alien
"๐" "๐ง" "๐งช" "๐ฏ" "๐" "๐ " "๐ฅ" "โ ๏ธ" "๐ฝ"
looks great
OK, I will do that everywhere as I go! Thanks again.
To make it clearer for the students to understand what is there "just" to show them how things work from what they need to do in practice, I could perhaps split slides like that and use some graphical way to make it clear (different background? Different color for the titles?).