使用pandoc转换为pdf时,如何避免对目录链接自动附加文件扩展名?

时间:2014-11-04 22:00:20

标签: pdf markdown rstudio pandoc

我在R markdown中编写公司内部文档,并在Rstudio中使用knitr进行编译。我尝试添加指向目录的链接,如下所示:

[testdir](file:////c:/test/)

(这是遵循here

中描述的惯例

当我将其编译为html时,我得到以下链接。

<a href="file:////c:/test/">testdir</a>

并且它在Internet Explorer中按预期工作。但是,当我尝试直接从RStudio转换为pdf时,会在链接中附加不需要的pdf扩展名。我尝试解剖问题,似乎这种变化发生在pandoc中。以下是详细信息。

当我使用pandoc将其转换为乳胶时,

>pandoc -f markdown -t latex testing.md -o test.tex

latex输出文件中的链接如下所示:

\href{file:///c:/test/}{testdir}

到目前为止一切都很好。但是,当我使用pandoc将乳胶输出转换为pdf时,

>pandoc -f latex -t latex -o test.pdf test.tex

.pdf扩展名附加到链接。这是pdf链接输出的复制/粘贴:

/c:/test/.pdf

有没有办法避免这种不必要的附加扩展?

也许我对pandoc问了太多,但我认为这可能值得一提,因为RStudio正在成为编写动态文档的有用IDE。

1 个答案:

答案 0 :(得分:1)

正如你所说,.tex文件pandoc生成正常。所以问题实际上是LaTeX,特别是pandoc's LaTeX template中使用的hyperref包。

两种可能的解决方案的问题是described here。要防止hyperref变得智能并添加文件扩展名,请尝试:

[testdir](file:///c:/test/.)

或使用ConTeXt代替LaTeX:

$ pandoc -t context -s testing.md -o test.tex && context test.tex