我尝试使用以下内容在beamer包中插入背景图片:
\usebackgroundtemplate{%
\includegraphics[width=\paperwidth,keepaspectratio]{/path/to_file/background.png}%
}
我遇到的问题是我的后台文件路径中有一个下划线,正如我在上面的例子中所说的那样。 (这是我在OS X上的主目录,所以我无法真正改变它。)当我通过pandoc生成这个时,生成的乳胶文件使用下划线转义为\,所以它看起来像这样:
\usebackgroundtemplate{%
\includegraphics[width=\paperwidth,keepaspectratio]{/path/to\_file/background.png}%
}
但这使得includegraphics无法找到该文件,因此它在那时失败了。
如果我从乳胶中手动删除\,或者将文件移动到根目录,以便路径中没有下划线,一切都很好。这是确切的错误:
LaTeX Warning: File `/Users/my\_name/Downloads/background.png' not fou
nd on input line 102.
! Package pdftex.def Error: File `/Users/my\T1\textunderscorename/Down
loads/background.png' not found: using draft setting.
那么我可以做些什么来告诉includegraphics名称是否已被转义,或者是为了删除转义?
这是YAML:
---
name: John Doe
backgroundImage: /Users/my_name/Downloads/background.png
---
要添加到模板的文字:
$if(backgroundImage)$
\usebackgroundtemplate{%
\includegraphics[width=\paperwidth]{$backgroundImage$}%
}
答案 0 :(得分:0)
除非另有说明,否则YAML值将被解释为Markdown。因此backgroundImage
在$backgroundImage$
内使用时会翻译成LaTeX。
解决方案是通过告诉pandoc您知道自己在做什么来强制对输入进行文字解释,并且输入已经格式化为LaTeX:
---
name: John Doe
backgroundImage: '`/Users/my_name/Downloads/background.png`{=latex}'
---
这基于raw attribute extension,默认情况下为pandoc风格的Markdown启用。