【发布时间】:2020-02-14 17:38:15
【问题描述】:
我想在我的 YAML 标头中添加作者从属关系,并且按照此处的建议 (Authors and affiliations in the YAML of RMarkdown),使用 rticles::elsevier_article 输出格式效果很好,并且还省略了第一页上的页码,即也是可取的。问题是 1)文本引用定义在呈现为 pdf 时显示(它们不应该),2)文本引用不起作用 - 调用它们只会导致显示调用的文本(而不是引用的文本),以及 3 ) 对表格和数字的引用不像 bookdown::pdf_document2 输出那样起作用。如何在bookdown::pdf_document2 输出中获取作者和页码,或者在rticles::elsevier_article 中获取工作参考?
以下是说明该问题的示例。我正在使用 RStudio 1.2.1335。
---
title: Problems with `rticles::elsevier_article` output
author:
- name: Alice Anonymous
email: alice@example.com
affiliation: Some Institute of Technology
footnote: Corresponding Author
- name: Bob Security
email: bob@example.com
affiliation: Another University
address:
- code: Some Institute of Technology
address: Department, Street, City, State, Zip
- code: Another University
address: Department, Street, City, State, Zip
abstract: |
This is the abstract.
journal: "Ecological Monographs"
date: "`r Sys.Date()`"
csl: elsevier-harvard.csl
output: rticles::elsevier_article
#output:bookdown::pdf_document2
geometry: margin=2.54cm
---
The Problems I have
==========================
I would like to use the `rticles::elsevier_article` output because it 1) handles authors and affiliations the way I want, and 2) it nicely omits the page number from the firat page. Both of these things I can't seem to easily (if at all) accomplish using `bookdown::pdf_document2` output.
However, when I specify `rticles::elsevier_article` output, I run into several problems: 1) text reference definitions are displayed upon rendering to pdf (they should not), 2) text references do not work - calling them results only in the text of the call (not the referenced text) being displayed, and 3) references to table and figures does not work as it does with `bookdown::pdf_document2` output. There is one more issue too - in one test case I inserted a table (using `kableExtra`), and knitting failed because of some latex `tabu` environment error, even though it looks to me like the `rticles::elsevier_article` output does indeed load the `tabu` package (but I had to load it in the YAML header to get the knitting to work).
For example, lets define a text reference so I can use a super script 2 to specify square kilometers in a figure caption. The reference definition should not show in the rendered pdf (and it does not when I use the `bookdown::pdf_document2` output, but it frustratingly does so when I use the `rticles::elsevier_article` output).
<!-- text references for use in tables and captions (must be separated by empty line)-->
(ref:km2) km^2^
Now lets make a figure (below) and reference it here (Figure \@ref(fig:testfig)). The figure includes the text reference in the caption, but it does not display the referenced text, but only the exact text that is suppose to call the reference text. And my inline reference to the figure does not work.
```{r,testfig, echo=FALSE, fig.height = 2.5, fig.width = 3, fig.align = "center",fig.cap=paste0("This is a classic quadratic plot - it could represent ","(ref:km2)",".")}
x=-5:5
plot(x,x**2,xlab="my assets", ylab="my joy", main="Not true")
```
【问题讨论】:
标签: r r-markdown bookdown