\textwidth 无法识别,导致非法单位错误

\textwidth 无法识别,导致非法单位错误

我换了电脑,重新安装了 R,现在运行以下代码时出现“非法测量单位”错误。我已将范围缩小到“\textwidth”部分 - 当我将其删除时,它可以运行,但没有产生预期的效果。任何关于如何让 \textwidth 再次运行的建议都将不胜感激!

---
title: "TestFile"
author: "Brian Hurler"
date: "12/15/2020"
output: pdf_document

header-includes:
  - \usepackage{subfigure}
---

{r setup, include=FALSE, warning=FALSE}
knitr::opts_chunk$set(echo = TRUE)
knitr::include_graphics
library(knitr)
library(remotes)
library(lubridate)
library(datavolley)
library(tidyverse)
library(data.table)
library(ggplot2)
library(dplyr)
library(gridExtra)
library(ggalt)
library(ggpubr)
library(grid)
library(gridExtra)
library(RGraphics)
library(scales)
library(patchwork)
library(kableExtra)
library(ggimage)
library(magick)
library(jpeg)
library(zoo)
library(readxl)

{r echo=FALSE, warning=FALSE, results = "asis", out.width= "900px", include=FALSE}

player_name <- c("Brian Hurley", "Justin Zhang", "Jon Fong", "Brian Hurley", "Justin Zhang", "Jon Fong", "Brian Hurley", "Justin Zhang", "Jon Fong")
matches <- data.frame(player_name)

scout_reception <- matches %>%
  group_by(player_name) %>%
  summarise(
    attempts = n())

\begin{table}[!htb]
\begin{minipage}[c][3.95in]{0.72\textwidth}

{r}
kable(scout_reception)

\end{minipage}
\hspace{-.5cm}%
\begin{minipage}[c][3.95in]

{r}
kable(scout_reception)

\end{minipage}
\end{table}

答案1

背景

如果我理解正确的话,问题中发布的代码是R 降价文件。这(例子)是 Markdown 文件,可以包含嵌入的代码块R 语言。这些块的内容将作为 R 代码执行。此外,可以导出此类文件(使用针织品),它(通过 Pandoc)调用 LaTeX 来生成 PDF 输出。请注意,针织品谢益辉)也是本书的合著者R Markdown:权威指南

最简单的入门方式似乎是通过RStudio 集成开发环境

  • 将其安装在您的计算机上,或者在以下位置创建新项目https://rstudio.cloud
  • 转到文件 → 新建文件 → R Markdown,然后选择 PDF 输出
  • 或者,在“Knit”旁边单击设置图标 → 输出选项 → 高级,然后选中“保留用于生成 PDF 的 tex 源文件”。 (这相当于简单地放入keep_tex: yes标题,如下所示。)

使用此keep_tex设置,在 Knitr 生成(或尝试生成)PDF 输出后,它不会删除它.tex尝试编译的实际文件。(这可能与文件位于同一目录中.Rmd,或者位于设置为 Knitr 缓存目录的任何目录中。)对于此网站上的问题,最好共享该.tex文件,以便可以隔离 LaTeX 部分,并排除 RMarkdown 语法错误。

这个问题的答案

问题中显示的文件有一些语法错误,需要进行以下更改才能正常工作:

  • R 代码块必须用 之前三个反引号开头的围栏代码块来标记{r…

  • LaTeX 代码块必须以类似的方式标记,即三个反引号后跟{=latex}(参见这里)。

  • datavolley库不在 CRAN(R 的 CTAN 类似物)上。也许它来自这里,但无论如何,对于这个例子来说这似乎没有必要,所以我只是把它注释掉了。

  • 最后(这是唯一实际的由于 LaTeX 错误),正如 Werner 在评论中指出的那样,minipage上面第二个需要长度指定(比如{0.72\textwidth}与第一个相同)。

经过这些更改后,输入文件如下所示(更改主要在以三个反引号开头的行```):

---
title: "TestFile"
author: "Brian Hurler"
date: "12/15/2020"
output: 
  pdf_document: 
    keep_tex: yes
header-includes:
  - \usepackage{subfigure}
---

```{r setup, include=FALSE, warning=FALSE}
knitr::opts_chunk$set(echo = TRUE)
knitr::include_graphics
library(knitr)
library(remotes)
library(lubridate)
# library(datavolley)
library(tidyverse)
library(data.table)
library(ggplot2)
library(dplyr)
library(gridExtra)
library(ggalt)
library(ggpubr)
library(grid)
library(gridExtra)
library(RGraphics)
library(scales)
library(patchwork)
library(kableExtra)
library(ggimage)
library(magick)
library(jpeg)
library(zoo)
library(readxl)
```

```{r echo=FALSE, warning=FALSE, results = "asis", out.width= "900px", include=FALSE}
player_name <- c("Brian Hurley", "Justin Zhang", "Jon Fong", "Brian Hurley", "Justin Zhang", "Jon Fong", "Brian Hurley", "Justin Zhang", "Jon Fong")
matches <- data.frame(player_name)

scout_reception <- matches %>%
  group_by(player_name) %>%
  summarise(
    attempts = n())
```

```{=latex}
\begin{table}[!htb]
\begin{minipage}[c][3.95in]{0.72\textwidth}
```

```{r}
kable(scout_reception)
```

```{=latex}
\end{minipage}
\hspace{-.5cm}%
\begin{minipage}[c][3.95in]{0.72\textwidth}
```

```{r}
kable(scout_reception)
```

```{=latex}
\end{minipage}
\end{table}
```

此文件在 Knit(类似于 WEB 的编织)时会产生看似预期的 PDF 输出:

输出

相关内容