为讲师/读者提供 pandoc 评论和注释

为讲师/读者提供 pandoc 评论和注释

例如,将 Markdown 文件转换为 pdf 文件时潘多克对于讲座,除了评论之外的所有内容,例如

<!---
comment
-->

将出现在输出的 pdf 文件中。

但是,有没有一种更优雅的方法可以在源 Markdown 文件中添加注释,而不是使用此类注释?也许可以生成两个输出文件:

  • 一份包含幻灯片的 pdf 文件,供观众观看,内容较少,
  • 一个带有注释和笔记的 pdf 文件,可供讲师/读者查看更多内容

是否已经有了相应的机制、标签、命令等?或者这些评论是可行的方法吗?

目前我在 KUBUNTU 20 上使用以下设置,但我不需要坚持使用它。我所需要的只是最后的幻灯片 pdf 和注释 pdf 文件(或带有附加文本的幻灯片):

依赖项:

  • 潘多克
  • XeTeX (带有sudo apt install texlive-xetex)
  • latexmk (带有sudo apt install latexmk)
  • 主题全局安装make install

项目结构:

  • slides.md用 Markdown 编写的包含演示内容的文件,例如
---
author: Author
title: Presentation Title
date: \today
---

# first chapter

## sub title

<!---
a comment for `point 1` with additional information to
say but not to display for the listeners.
-->
- point 1

<!---
a comment for `point 2` with additional information to
say but not to display for the listeners.
-->
- point 2
  • 类似makefile这样的:
default:
    @pandoc -t beamer -H settings.tex \
        --pdf-engine=xelatex --highlight-style=espresso \
        -V lang=en -V theme:metropolis \
        -o dist/output.pdf slides.md
  • 以及settings.tex
%% Metro Settings
\metroset{numbering=fraction,
            progressbar=frametitle,
            background=dark,
            block=fill}

答案1

您可以使用 Beamer 的注释机制。如果您使用宏添加注释\note{...}

---
author: Author
title: Presentation Title
date: \today
---

# first chapter

## sub title

\note{a comment for `point 1` with additional information to
say but not to display for the listeners}
- point 1


<!---
a comment for `point 2` with additional information to
say but not to display for the listeners.
-->
- point 2

然后您可以在 settings.tex 文件中打开/关闭注释的显示:

%% Metro Settings
\metroset{numbering=fraction,
            progressbar=frametitle,
            background=dark,
            block=fill}


\setbeameroption{show notes on second screen}

在此处输入图片描述

如果您截取中间的 .tex 文件,然后手动运行 latexmk,您甚至可以一次性生成两个 pdf 文件。坚持

\ifnotes
  \setbeameroption{show notes on second screen}
\fi

进入你的settings.tex文件然后运行

latexmk -pdf -interaction=nonstopmode -synctex=1 -jobname=filename -pretex="\newif\ifnotes \notesfalse" -usepretex filename 
latexmk -pdf -interaction=nonstopmode -synctex=1 -jobname=filename_notes -pretex="\newif\ifnotes \notestrue" -usepretex filename

(替换filename为您的文件名称)

相关内容