我正在尝试将帧编号添加到我在rmarkdown中编写的Beamer演示文稿中.但是,我想使用\ begin {frame} [plain]选项来抑制标题页上的数字(来自第二个答案:https://tex.stackexchange.com/questions/82794/removing-page-number -from-title-frame-without-changing-the-theme).但是,当从rmarkdown编译为tex时,\ titlepage已经创建了一个框架环境,所以实际上我得到一个双帧,因此出错.
所以在编译时:
---
output:
beamer_presentation:
includes:
in_header: header.tex
---
\begin{frame}[plain]
\titlepage
\end{frame}
Run Code Online (Sandbox Code Playgroud)
我用胶乳得到这个:
\begin{frame{
\begin{frame}
\titlepage
\end{frame}
\end{frame}
Run Code Online (Sandbox Code Playgroud)
在header.tex我有这个:
\let\otp\titlepage
\renewcommand{\titlepage}{\otp\addtocounter{framenumber}{-1}}
Run Code Online (Sandbox Code Playgroud)
所以我现在的解决方法是在rmarkdown中使用普通\ maketitle,然后编译为.tex,添加[plain]选项,然后编译为pdf.但是,我想避免那个中间步骤.这是否可能在rmarkdown?
我想在ggplot2图表中使用非标准字体,然后将其嵌入到rmarkdown文档中,该文档将编织成PDF格式.我目前的工作流程是在图表中指定字体,然后编织,然后在创建的PDF上运行extrafonts :: embed_fonts.我的问题是:我可以直接在rmarkdown文档中指定字体应该嵌入输出的PDF中吗?
最小的例子:
---
title: "Untitled"
output: beamer_presentation
---
```{r}
library(extrafont)
library(ggplot2)
loadfonts()
qplot(iris$Sepal.Length) + theme_light(base_family = "CM Roman")
```
knitr::knit2pdf("test.rmd")
embed_fonts("test.pdf")
Run Code Online (Sandbox Code Playgroud) 我想从维基数据中获取特定类别的所有成员。例如,我想P31 Q11424从类别“类别:以斯德哥尔摩为背景的电影”( ) 中获取所有电影(电影实例: ) Q7519614。但是,我似乎找不到这种关系。DBpedia 使用“主题”,但 Wikidata 的等效项 ( P805) 不返回任何结果。
我还以为我可以通过此查询引导找到答案,但无济于事:
SELECT ?s ?p ?pLabel WHERE {
?s ?p wd:Q7519614.
SERVICE wikibase:label { bd:serviceParam wikibase:language "en". }
}
Run Code Online (Sandbox Code Playgroud) 我试图理解R中的懒惰评估是如何运作的.它是否仅适用于函数参数的评估?因为我理解,例如
f <- function(x = x, y = x*2) {
c(x, y)
}
f(2)
[1] 2 4
Run Code Online (Sandbox Code Playgroud)
但是在其他语言中,例如Haskell,惰性求值意味着函数调用仅在实际使用时才会被评估.所以我希望这样的东西能在瞬间运行:
g <- function(x) {
y <- sample(1:100000000)
return(x)
}
g(4)
Run Code Online (Sandbox Code Playgroud)
但它清楚地评估了sample呼叫,即使它的结果没有被使用.
有人可以准确地解释这是如何工作的,还是指向我详细解释的方向?
类似的问题:
我发现使用twitter API进行身份验证的唯一方法如下:
library(twitteR)
setup_twitter_oauth(consumer_key = "a",
consumer_secret = "b",
access_token = "c",
access_secret = "d")
Run Code Online (Sandbox Code Playgroud)
运行之后,我可以在twitteR中使用所有函数.但是,我还想使用streamR包,它需要令牌作为OAuth对象:
filterStream("tweets.json", track = c("Obama", "Biden"), timeout = 20, oauth=my_oauth)
Run Code Online (Sandbox Code Playgroud)
从我收集的内容来看,上面的setup_twitter_oauth函数是一些httr函数的包装器,用于获取我的授权令牌.此令牌作为名为".httr-oauth"的文件缓存在我的工作目录中.我的问题是:如何将此文件加载到R中,以便获得可以与streamR一起使用的OAuth对象?
我在R中使用DiagrammeR包来渲染美人鱼的流程图:
graph LR
A[text]-->B[a very, very, very, very, very, very, very, very, long text]
style A fill:red, font-size:50px
Run Code Online (Sandbox Code Playgroud)
查看已编译的XML,这会产生:
#mermaidChart0 .node { fill:#ffa; stroke:#666; stroke-width:3px; }
#mermaidChart0 .node text { fill:#000; stroke:none; font-weight:300; font-family:"Helvetica Neue",Helvetica,Arial,sans-serf; font-size:14px; }
#mermaidChart0 .edgeLabel text { fill:#000; stroke:none; font-weight:300; font-family:"Helvetica Neue",Helvetica,Arial,sans-serf; font-size:14px; }
.mermaid .label { color: rgb(51, 51, 51); }
.mermaid .node { fill: #d2d2d2; stroke: #929193; stroke-width: 1px; }
.mermaid .edgePath .path { stroke: #333333 !important; }
.DiagrammeR g .label { font-family: Helvetica; …Run Code Online (Sandbox Code Playgroud) 该perl()函数在最新版本的 stringr 中已被弃用,取而代之的是regex(). 但是,我似乎无法复制早期的行为。
要将字符串向量的第一个字母大写,可以使用以下方法:
name <- c("jim", "john", "bill")
str_replace(name, perl("^(.)"), "\\U\\1")
Run Code Online (Sandbox Code Playgroud)
然而,这不再有效:
str_replace(name, regex("^(.)"), "\\U\\1")
Run Code Online (Sandbox Code Playgroud)
但使用基本 R 是有效的:
gsub("^(.)", "\\U\\1", name, perl=TRUE)
Run Code Online (Sandbox Code Playgroud)
还有办法用 stringr 包来做到这一点吗?
我正在尝试建立一个模板,用于在中生成Twitter Card blogdown。它放入以下内容layouts/partials/twitter-card.html:
<meta name="twitter:site" content="@myname">
<meta name="twitter:creator" content="@myname">
{{ if .IsPage }}
<meta name="twitter:description" content="{{ .Summary }}" />
<meta name="twitter:title" content="{{ .Title }}" />
<meta name="twitter:card" content="summary_large_image" />
<meta name="twitter:image" content="{{ .Params.image }}" /> {{ else }}
<meta name="twitter:title" content="{{ .Site.Title }}" />
<meta name="twitter:description" content="{{ .Description }}" /> {{ end }}
Run Code Online (Sandbox Code Playgroud)
以及以下内容layouts/partials/head.html:
{{ partial "twitter-card" . }}
Run Code Online (Sandbox Code Playgroud)
在给定的博客文章foo.Rmd中,我将其放在YAML中:
image: "static/post/foo/figure-html/some_image.png"
Run Code Online (Sandbox Code Playgroud)
当我让hugo生成帖子时,一切正常,我得到:
<meta name="twitter:image" content="static/post/fixed-points_files/figure-html/some_image.png" />
Run Code Online (Sandbox Code Playgroud)
但是,当我预览我的Twitter卡时,图片不会显示。我想我必须在YAML前端设置一个不同的路径,但是我找不到关于路径格式应该是什么的文档,并且所有教程在其示例中都使用绝对URL。
是否有一套在knitr和Rmarkdown中使用Unicode的最佳实践或文档?在编织文档时,我似乎无法正确显示任何字形.
例如,这适用于控制台(在Rstudio中):
> cat("\U2660 \U2665 \U2666 \U2663")
? ? ? ?
Run Code Online (Sandbox Code Playgroud)
但是在编织时,我得到了这个:
(云服务对我来说是阻止的,因此我无法将图像直接上传到SO).
这适用于Rstudio,我在运行块时直接在文档中获得实时预览.但是,当我将.Rmd编织为.html时,我只得到代码的回显而没有输出.
```{r engine='Rcpp'}
#include <Rcpp.h>
using namespace Rcpp;
// [[Rcpp::export]]
int main() {
return 4;
}
/*** R
main()
*/
```
Run Code Online (Sandbox Code Playgroud)
但是,如果我对python做同样的事情,我会在编织时获得正确的输出:
```{r engine='python'}
print("abc")
```
Run Code Online (Sandbox Code Playgroud)