Pandoc #4317 强制标题幻灯片下的内容包含在 pandoc > 2.7 的框架中

问题描述 投票:0回答:1

在这个问题中我解释了我的目标:为书籍项目创建随附的幻灯片。我选择了

Beamer
格式的幻灯片,并且很高兴。

但是,升级到

Pandoc 2.7
(>2.6)导致我的项目产生了不需要的幻灯片。具体来说,任何以前忽略的内容现在都被放入临时幻灯片中!我发现这种行为很奇怪,因为我的理解是选择
slide_level: 3
意味着需要
###
来创建幻灯片!

经过疯狂的几个小时后,我找到了导致问题的原因:https://github.com/jgm/pandoc/issues/4317,导致了此更改

我尝试过很多事情,不可能一一列举。最终,无论我尝试什么,我的内容最终都会出现在幻灯片中!我以为至少

```{=beamer}
\mode<presentation>
{
\title[Lecture1]{\CourseName{} \newline \, Lecture 1}
\date{\DayOne{}}
}
```

可以避免被扔进幻灯片:不。

这是我的

.rmd
文件中的实际代码尝试:

`r if (out_type=="beamer") "##\n"`
```{=beamer}
\mode<presentation>
{
\title[Lecture1]{\CourseName{} \newline \, Lecture 1}
\date{\DayOne{}}
}
```

导致以下

.tex
文件:

\hypertarget{section-1}{%
\subsection{}\label{section-1}}

\begin{frame}{}

\mode<presentation>
{
\title[Lecture1]{\CourseName{} \newline \, Lecture 1}
\date{\DayOne{}}
}

\end{frame}

您可以看到

\mode<presentation>
现在被拍到幻灯片上,而不是执行之前的工作...

直到

pandoc 2.7
,使用上面的
\mode
命令,我能够更改每章的标题幻灯片(教学大纲 - >讲座1 - >讲座2 - >等...)。现在,我无法再实现这一目标,相反,我得到了一张不受欢迎的、未经请求的幻灯片 - 我想我只能回滚到
pandoc 2.6

我确信有更好的方法,对于未能找到它我深表歉意。非常感谢我能得到的任何帮助 - 现在已经几个月了:-(

r-markdown pandoc bookdown beamer
1个回答
-1
投票

感谢

ChatGPT
,在多年来多次尝试询问pandoc邮件列表和pandoc作者但不成功之后,我终于能够在短短几分钟内毫无困难地解决这个问题。
ChatGPT
回应:实现此目的的一种方法是修改 elementToBeamer 函数来检查块内容中是否存在 \mode{} ,如果找到则阻止创建幻灯片。 在文件:
LaTeX.hs
中,只需添加行:

[RawBlock (Format "latex") str] | "\\mode<presentation>" `T.isInfixOf` str -> 
      Div (ident,"section":dclasses,dkvs) xs

第 261 行之后,第 262 行之前。
效果就像一个魅力!
谢谢你

ChatGPT

© www.soinside.com 2019 - 2024. All rights reserved.