r - markdown header-includes 中的指令被忽略
问题描述
我正在使用 bookdown 创建一个文档。主要目标是打印机 pdf 输出,所以我想获得超链接作为脚注。为此,我在 index.Rmd 的 YAML 标头中添加了以下几行。
header-includes:
- \let\oldhref\href
- \renewcommand{\href}[2]{#2\footnote{\url{#1}}}
这完全没有效果。相反,如果我将以下内容添加到项目目录中的 preamble.tex 文件中,我会得到我想要的行为。
\let\oldhref\href
\renewcommand{\href}[2]{#2\footnote{\url{#1}}}
我在尝试使用 header-includes 包含包时也遇到了同样的问题。他们只是没有被使用,我在文档构建中遇到错误。同样,将 \usepackage 添加到 preamble.tex 作品中。
所以我显然遗漏了一些关于 header-includes 的东西,但我不知道它是什么。
有什么建议么?
编辑:
要在 Windows 上使用最新版本的 RStudio 以及来自 CRAN 的最新版本 bookdown 来重现此问题(至少是问题的 \usepackage 版本),请使用 RStudio 创建一个新的 Bookdown 项目,并确保您在 LaTex 环境中安装了包放置然后在 index.Rmd 中编辑提供的标题以给出:
---
title: "A Minimal Book Example"
author: "Yihui Xie"
date: "`r Sys.Date()`"
site: bookdown::bookdown_site
documentclass: book
header-includes:
- \usepackage{placeins}
bibliography: [book.bib, packages.bib]
biblio-style: apalike
link-citations: yes
description: "This is a minimal example of using the bookdown package to write a book. The output format for this example is bookdown::gitbook."
---
在 01-intro.Rmd 文件中,在代码之后立即添加以下代码以生成图形:
\FloatBarrier
使用 Build Book 选项卡构建 PDF 书籍,您将看到错误:
! Undefined control sequence.
l.179 \FloatBarrier
将 \usepackage 语句放在 preamble.tex 中可以消除错误。
解决方案
推荐阅读
- eloqua - 如何使用 Eloqua rest Api 获取选项列表
- javascript - 工作箱服务工作者
- java - JPA:使用 em.createNativeQuery 在 INSERT 或 UPDATE 后检索自动生成的密钥
- jquery-ui - 定位弹出式键盘
- java - Java Graphics 2D 渲染质量问题
- python - 我想在 Opencv python 上连接列表
- node.js - 带有计算字段的mongodb查找
- java - 无法启用 Android Studio 存储库
- sql-server - 带有 .NET 调用堆栈的 SQL Server Profiler
- javascript - 使用 RandomTimeOut ( Javascript ) 维护输出顺序