【问题标题】:Cross-referencing Chapter numbers or names by rmarkdown通过 rmarkdown 交叉引用章节编号或名称
【发布时间】:2015-11-30 16:41:47
【问题描述】:

试图在 Rmarkdown 中找到一种方法来交叉引用自动编号和/或按其命名的章节来做类似的事情

"As I explained hundred pages ago in \ref{ch:Chapter_Label}....."

然后生成的 pdf 文档的内容如下:

"As I explained hundred pages ago in Chapter 3....."

"As I explained hundred pages ago in <Chapter Name> ....."

我在想一些机制,比如:

\chapter{My_Title} \label{ch:1}

然后在我使用\ref{ch:1} 的文本中的任何地方,我都会在文本中嵌入“My_Title”或“Chapter 1”(或任何自动编号)。

Rmarkdown 似乎无法使用 hyperref 包,或者我遗漏了一些东西。

有人可以帮助我吗?

【问题讨论】:

  • hyperref 提供\nameref 和/或\autoref,这似乎是您所追求的。
  • @Werner:出于某种我还不知道的原因,hyerref \usepackage 在使用 \label{C1} 标记 \chapter{Chapter One} 后无法正常工作。 Pdf 的结果是“??”所有尝试使用的标记:\nameref{C1}\autoref{C1} \ref{C1}
  • 通常引用需要两次编译(在第二次编译期间访问.aux 文件)。可能 Rmarkdown 无法以这种方式编译?
  • @Werner 似乎与您提到的有关.....通过新的 Rmarkdown 打开和编织,有一个输出错误指向 `\usepackage{amsmath}´ 删除后从序言导致 pdf 具有以下结果:“这里是 ChapterOne chapter 1 1 的交叉引用”。看来我是正确的轨道...
  • amsmath 在这里应该不是问题...

标签: latex knitr r-markdown pandoc cross-reference


【解决方案1】:

此问题已在 bookdown 中解决,并在 Section 2.5 中记录。基本上你使用语法\@ref(label)label是你的章节标识符。

【讨论】:

    猜你喜欢
    • 2021-10-05
    • 2020-04-25
    • 2023-02-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-04-22
    • 1970-01-01
    相关资源
    最近更新 更多