我正在进行Beamer演示,并且在单张幻灯片的内容之间使用暂停。我不知道如何仅在暂停后才显示脚注。
这是一个例子:
---
title: ""
author: ""
date: ""
output:
beamer_presentation
bibliography: test.bib
---
* one argument
\pause
* another argument^[This citation should appear only with point 2: @fargues2006]
# references
用test.bib
:@article{fargues2006,
title = {The {{Demographic Benefit}} of {{International Migration}}: {{Hypothesis}} and {{Application}} to {{Middle Eastern}} and {{North African Contexts}}},
author = {Fargues, Philippe},
date = {2006},
journaltitle = {World Bank Policy Research Paper},
url = {http://documents.worldbank.org/curated/en/508301468280735279/pdf/wps4050.pdf},
number = {4050}
}
在此示例中,当仅显示第一个点时,不应显示脚注,而在显示第二个点时,应显示脚注。我尝试应用this answer from TeX StackExchange,但没有成功。
我怎样才能做到这一点?
编辑:在@ samcarter_is_at_topanswers.xyz的回答之后,,我想我宁愿选择一种解决方案,该解决方案不需要幻灯片中的markdown切换到LaTeX,这取决于幻灯片是否同时具有暂停和脚注。但是,我可以使用
.tex
文件或在YAML中添加pandoc参数(因为我认为解决方案必须是这种方式,但我可能错了)。编辑#2:我想在这些脚注中添加
@citationkey
引用还问了on RStudio Community
最佳答案
编辑:update-以包括@citationkey
:
问题在于pandoc如何将^ []转换为输出tex文件中的\footnote
。
在 Markdown 中:
another argument ^[This citation should appear only with point 2: @fargues2006]
在 latex 中编译为此:another argument\footnote<.->{This citation should appear only
with point 2: Fargues (2006)}
为了使脚注仅显示您要显示的幻灯片,您确实需要此 latex 翻译:another argument\footnote\only<+->{This citation should appear only with point 2: Fargues (2006)}
在only<+->
中,+
是表示当前叠加层的特殊符号。为了使它起作用,您可以重新定义
\footnote
命令,以便在pandoc对其进行翻译时,它实际上会调用:\only<+->\footnote
。注意:
完整的命令是
\only<+->\footnote<.->
,它可能导致重复的逐项幻灯片出现,因为有两个指向脚注出现位置的指针(\only<+->
和<.->
),并且由于pandoc是自动插入的,因此我不确定一种摆脱方法那。这种重复也可能是由于使用
*
和\pause
并将pandoc转换为出现在其自己的itemize
环境中的每个项目而产生的-这也为脚注需要出现的位置提供了设置选项,这也是pandoc的事情。我还没有进行足够的挖掘工作,以了解其中哪些是重复项的真正罪魁祸首。但是,无论哪种方式, latex 都应该为
\footnotes
命令和环境中的“最本地”设置应用第一个指针格式(即它将因此,每张重复的幻灯片至少要使用此方法才能获得正确的格式,但是您必须删除重复项。如果有人知道防止这种情况发生的方法-我很想听听。要使用:
在 Markdown 开始时添加以下内容:
\let\oldfootnote\footnote
\renewcommand{\footnote}{\only<+->\oldfootnote}
您的完整减价:---
title: ""
author: ""
date: ""
output:
beamer_presentation:
keep_tex: true
bibliography: test.bib
header-includes:
- \let\oldfootnote\footnote
- \renewcommand{\footnote}{\only<+->\oldfootnote}
---
* one argument
\pause
* another argument ^[This citation should appear only with point 2: @fargues2006]
\pause
* and another argument ^[This citation should appear only with point 3]
输出:关于r - 仅在使用R Markdown的投影仪中暂停后才显示脚注,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/62345074/