Горизонтальное правило в R Markdown / Bookdown вызывает ошибки - PullRequest
4 голосов
/ 28 октября 2019

Внезапно я сталкиваюсь с ошибкой при вязании в PDF в Markdown / Bookdown. Ничего в моей системе не изменилось.

Ошибка вызвана «правилом horzontal», т. Е. --- или *** где-нибудь в уценке, несмотря на пробелы по обе стороны.

Я включаю упрощенный пример оскорбления -- это не вяжет в PDF.

Кстати, вязание в другом формате не вызывает проблем, а вязание в PDF без горизонтального правила не приводит к ошибке. Также, поменяйте местами --- для ***, чтобы узнать, не вызвало ли это ошибку. Это не так.

Кто-нибудь может предложить какие-либо идеи, пожалуйста?

Использование TinyTex и MikteX по отдельности (не устанавливаются вместе). Ни один не решить проблему. Только что столкнулся с этой проблемой. Файлы, которые ранее были связаны без проблем, теперь перестают работать, когда они сталкиваются с --- или ***.


## R Markdown

Some text, then I want horizontal rule

---

Some text after the horizonatal rule.



! Missing number, treated as zero.
<to be read again> 
                   \protect 
l.146 ...nter}\rule{0.5\linewidth}{\linethickness}
                                                  \end{center} 

Error: Failed to compile K.tex. See https://yihui.name/tinytex/r/#debugging for debugging tips. See K.log for more info.
Execution halted

Ответы [ 2 ]

4 голосов
/ 31 октября 2019

Это известная и исправленная ошибка в pandoc. https://github.com/jgm/pandoc/issues/5801

это произошло с более новой версией TexLive.

Это будет исправлено в следующей версии pandoc. Вам придется подождать или использовать ночные сборки.

Вы также можете использовать трюк, добавив его в заголовок текстового документа.

\renewcommand{\linethickness}{0.05em}

С помощью rmarkdown вы можете сделать

---
title: "Untitled"
output: 
  pdf_document:
    keep_tex: true
    includes:
      in_header: header.tex
---

```{r setup, include=FALSE}
knitr::opts_chunk$set(echo = TRUE)
```


```{cat, engine.opts = list(file = "header.tex")}
\renewcommand{\linethickness}{0.05em}
```


lalalala

---

lilili

, вы также можете написать файл header.tex вручную или добавить его в свой шаблон.

Это работает для меня.

1 голос
/ 28 октября 2019

Итак, временное решение, которое работало для меня, пока не будет найдено более постоянное решение:

\begin{center}\rule{3in}{0.4pt}\end{center}

Использовало это вместо --- или ***

...