Форматирование вопросов в пакете `jss_article ()` из ** rшт ** - PullRequest
1 голос
/ 03 июня 2019

Я готовлю свою рукопись на основе шаблона JSS в R Studio. Косвенно я использую jss_article() из пакета rty . Теперь, следуя инструкциям по отправке журнала, я подготовил свою статью, используя точные команды LaTex.

Однако я столкнулся со следующими вопросами о форматировании.

[] Я бы хотел, чтобы jss_article() выполнял команды встроенного кода, такие как r print(x). Оставленный неизменным, это не в состоянии скомпилировать как в Ошибка Rmarkdown # 385 (наряду с другими) . Следуя решению, я поставил вокруг него знаки доллара. Однако встроенный код не был выполнен, а выведен на экран. В формате JSS встроенные команды не выполняются в rticles::jss_article()? [] Часто я хотел бы использовать встроенный код для извлечения элемента из списка, например r print(x$B). Поскольку "$" является символом LaTex, мне нужно использовать "\". Выполнение $ r print(x\$B) $ приводит к enter image description here

[] Длинные имена запускаются со страницы, например # Example 4: Interval-Censored data with univariate Bayesian multivariate imputation . Использование tidy и tidy.opts параметров knitr , по-видимому, игнорируется в шаблоне JSS.

[] Возможность knitr :: kable () не поддерживается в jss_article(). Можете ли вы порекомендовать функцию для создания достойных публикации таблиц (аналогично выводу kable())?

Шаблон RStudio был отредактирован с учетом следующих проблем:

---
documentclass: jss
author:
  - name: FirstName LastName
    affiliation: University/Company
    address: >
      First line
      Second line
    email: \email{name@company.com}
    url: http://rstudio.com
  - name: Second Author
    affiliation: Affiliation
title:
  formatted: "A Capitalized Title: Something about a Package \\pkg{foo}"
  # If you use tex in the formatted title, also supply version without
  plain:     "A Capitalized Title: Something about a Package foo"
  # For running headers, if needed
  short:     "\\pkg{foo}: A Capitalized Title"
abstract: >
  The abstract of the article.
keywords:
  # at least one keyword must be supplied
  formatted: [keywords, not capitalized, "\\proglang{Java}"]
  plain:     [keywords, not capitalized, Java]
preamble: >
  \usepackage{amsmath}
output: rticles::jss_article
---

#Issues here
[ ] It seems that inline R code does not run. As mentioned in rmardown error#385, I need to put dollar signs around it.  <!--  $ r print(x)$  --> Is this the case.
[ ] If I want to use inline R code while picking an element from the list I'll need to use the "$" sign. However, it is a special character; do I hit escape?
[ ] Long names run off the page, like `# Example 4: Interval-Censored data with univariate Bayesian multivariate imputation .`
[ ] `knitr::kable()` does not seem to be supported. Can you recommend a function that provides publication-worthy tables using `jss_article()`? 

# Example 4: Interval-Censored data with univariate Bayesian multivariate imputation  

This template demonstrates some of the basic latex you'll need to know to create a JSS article.

```{r echo = FALSE}
knitr::opts_chunk$set(tidy = "styler",
                      tidy.opts = list(blank = FALSE, width.cutoff = 40)
)
                      # options for tidy to remove blank lines [blank = FALSE] and set the approximate line width to be 80.
```

# R code
Can be inserted in regular R markdown blocks.

```{r}
x <- as.list(1:10)
names(x) <- LETTERS[1:10]
x$A
```

blah blah blah $`r print(x)`.$ I want 2 here.
and <!--$ r print(x). $  I want to print element B of x, or 2. -->

```{r}
l <- list(x = x, a = letters)

fit <- lm(y~x, data = data.frame(x = 1:10, y = rnorm(10)))

knitr::kable( summary(fit)$coefficients ) 
#              label = "bootWQS", 
 #             digits = 3, caption = "WQS estimates using bootstrap multiple imputation. Summary of statistics after performing WQS regression across two datasets. " ) 
```

# Computational Details
Using Github versions of **rticles** package had the same result.

```{r, echo =FALSE}
xfun::session_info('rticles')
```

Knitting the document yields the following output.

enter image description here

1 Ответ

0 голосов
/ 07 июня 2019

Сяньюнь Хуан, автор статей , решил эти вопросы следующим образом:

Дополнительные примечания по вопросам:

  • Чтобы выполнить встроенный код R, НЕ используйте знаки доллара и используйте обычный синтаксис r ....
  • Длинные заголовки для основного заголовка # все еще убегают со страницы.Поведение определяется классом журнальных документов (jss.cls).Самое простое решение: избегать использования слишком длинных заголовков первого уровня.
  • Длинные вторичные заголовки ## остаются на линии и не сбрасываются со страницы благодаря пакету booktabs .
  • Чтобы создавать красивые таблицы, по-прежнему используйте kable() но добавьте аргументы format и booktabs:
knitr::kable(summary(fit)$coefficients, digits = 3, 
label = "demo-table" caption = " A CAPTION HERE ", 
format = "latex", booktabs = TRUE
)

См. перекрестную публикацию для получения дополнительной информации.

documentclass: jss
author:
 - name: FirstName LastName
    affiliation: University/Company
    address: >
      First line
      Second line
    email: \email{name@company.com}
    url: http://rstudio.com
 - name: Second Author
    affiliation: Affiliation
title:
  formatted: "A Capitalized Title: Something about a Package \\pkg{foo}"
  # If you use tex in the formatted title, also supply version without
  plain:     "A Capitalized Title: Something about a Package foo"
  # For running headers, if needed
  short:     "\\pkg{foo}: A Capitalized Title"
abstract: >
  The abstract of the article.
keywords:
  # at least one keyword must be supplied
  formatted: [keywords, not capitalized, "\\proglang{Java}"]
  plain:     [keywords, not capitalized, Java]
preamble: >
  \usepackage{amsmath}
  \usepackage{booktabs} 
output: 
  bookdown::pdf_book: 
    base_format: rticles::jss_article
---

```
knitr::opts_chunk$set(
  tidy = "formatR",
  tidy.opts = list(blank = FALSE, width.cutoff = 40)
)
```

## Example 4: Interval-Censored data with univariate Bayesian multivariate imputation

1. Executing R commands. Dollar signs are not needed. 
blah blah blah `r x$B`. 

1. A pretty table

```r 
fit <- lm(y ~ x, data = data.frame(x = 1:10, y = rnorm(10)))
knitr::kable(summary(fit)$coefficients,
             label = "demo-table",
  digits = 3, caption = " A CAPTION HERE ", format = "latex", booktabs = TRUE
)
```
demo table \@ref(tab:demo-table)

...