Директивы в заголовке уценки - игнорируются - PullRequest
0 голосов
/ 07 октября 2019

Я создаю документ, используя bookdown. Основная цель - вывод на принтер в формате PDF, поэтому я хочу получить гиперссылки в виде сносок. Для этого я добавил следующие строки в заголовок YAML в index.Rmd.

header-includes:
  - \let\oldhref\href 
  - \renewcommand{\href}[2]{#2\footnote{\url{#1}}}

Это абсолютно не влияет. Если вместо этого я добавляю следующее в файл preamble.tex в каталоге проекта, я получаю желаемое поведение:

\let\oldhref\href 
\renewcommand{\href}[2]{#2\footnote{\url{#1}}}

У меня та же проблема при попытке включить пакеты, используя заголовочные включения. Они просто не привыкли, и я получаю ошибки в сборке документа. Опять же, добавление \ usepackage в preamble.tex работает.

Так что мне явно не хватает чего-то, что касается заголовочных включений, но я не знаю, что это такое.

Есть предложения?

Редактировать:

Чтобы воспроизвести это (по крайней мере, \ usepackage версия проблемы), используя последнюю версию RStudio для Windows с последней версией bookdown из CRAN, создайте новый проект Bookdown, используяRStudio и убедитесь, что у вас установлены места размещения пакетов в вашей среде 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 удаляетошибка.

...