问题描述
我的真正问题是一本300页的书在过去还不错,但是现在无法识别到数百个页眉的数百个隐式链接,而是考虑一个名为“ test”的新书本项目,其中内容页面减少了3简单文件:
index.Rmd
01-test.Rmd
02-test.Rmd
和其他文件均未触及,除了在keep_md: yes
中添加_output.yml
以便在渲染后查看合并的.md文件。
使用Build Book
> bookdown::pdf_book
会产生test.pdf
,但也会产生test.md
:
---
title: "test"
site: bookdown::bookdown_site
documentclass: book
---
# foo
bla bla [bah] and [foo]
<!--chapter:end:index.Rmd-->
# bah
bla bla [baz]
<!--chapter:end:01-test.Rmd-->
# baz
bla bla [foo]
<!--chapter:end:02-test.Rmd-->
但是在PDF中(或当导出到html书中时),只有第一个[foo]
会成为指向foo章的链接,但是其他三个隐式链接在PDF中将显示为纯文本。也就是说,隐式链接仅在一个章节中起作用,而在章节之间不起作用。
然后我意识到Rstudio的构建窗格显示:
/usr/bin/pandoc +RTS -K512m -RTS ./index.split.md ./01-test.split.md
./02-test.split.md --to latex ...
此外,直接呈现test.md
(将site: bookdown::bookdown_site
替换为output: pdf_document
到YAML标头,并使用“预览PDF”)所有隐式链接都有效,因此很明显书本正在合并带有pandoc的LaTeX输出,而不是传递给合并的markdown文件以pandoc。
假设,书本中的默认呈现方法是“ Merge and knit”。我在new_session: yes
中玩过new_session: no
和_bookdown.yml
来改变渲染方式,但没有任何改变。
我知道使用[foo](#foo)
而不是[foo]
可以使用任何渲染方法,但是更改一本已经很大的书中的每个链接都很麻烦,并且将合并的文件导出到我自己很烦,所以问题是:
如何强制预订以再次导出合并的Markdown而不是将LaTeX或HTML输出与pandoc合并?
问题似乎与软件版本有关,这是我的实际系统和相关的R软件包版本:
Linux Mint 20
RStudio 1.3.1073
R version 3.6.3 (2020-02-29)
pandoc 2.10.1
bookdown_0.20
markdown_1.1
rmarkdown_2.3
knitr_1.29
rstudioapi_0.9.0
tinytex_0.25
yaml_2.2.1
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)