我想在R Markdown中居中图片和/或文本,并生成PDF报告。
我尝试使用了以下方法:
->Text<-
->![](image1.jpg)<-
那并不能解决问题!还有其他方法可以完成这个任务吗?
我想在R Markdown中居中图片和/或文本,并生成PDF报告。
我尝试使用了以下方法:
->Text<-
->![](image1.jpg)<-
那并不能解决问题!还有其他方法可以完成这个任务吗?
我也有同样的问题。我尝试了上面提供的所有解决方案,但它们都没有起作用...但我找到了一个适合我的解决方案,希望对其他人也有帮助。
<center>
![your image caption](image.png)
</center>
这段代码可以同时将图像和标题居中。必须在<center>
、 图像代码和 </center>
之间保留空行,否则图片会居中,但标题会消失。
如果您想让图像具有可点击的链接,可以嵌入以下内容:
[![your image caption](image.png)](www.link_to_image.com)
然而,标题将不再显示。
因此,如果您想要一个可单击的标题,则需要分两步完成:
<center>
![](image.png)
[your image caption](www.link_to_image.com)
</center>
我也是这样做的,确保每个命令之间有空行。如果你希望图片和标题都可点击,则将上面的中间代码和最后一个代码组合起来。希望这能有所帮助。
如果您想将R代码块的输出(如绘图)居中显示,则可以使用knitr中的 fig.align
选项。
```{r fig.align="center"}
plot(mtcars)
```
您可以在R Markdown中使用原始LaTeX。尝试以下内容:
\begin{center}
Text
\end{center}
当然,有一个限制:Pandoc会将begin{...
和\end{...
之间的所有内容解释为原始的LaTeX代码,因此您不能使用此技术来居中R代码块或Markdown内容。fig.align="center"
,它们实际上非常容易放置。 - mirh您可以使用Knitr选项来设置整个文档的中心(或其他)对齐方式,方法如下:
knitr::opts_chunk$set(echo = TRUE, fig.align="center")
没有一种答案适用于所有输出类型,而其他答案则侧重于代码块内绘制的图形而不是外部图像。
include_graphics()
函数提供了一个简单的解决方案。唯一的参数是文件名(如果在子文件夹中,则为相对路径)。通过将 echo
设置为 FALSE
和 fig.align=center
,您可以获得所需的结果。
```{r, echo=FALSE, fig.align='center'}
include_graphics("image.jpg")
```
knitr
包,而不是 rmarkdown
包,如果有人使用此解决方案。 - dre我使用了Jonathan的回答来学习如何在LaTeX中插入图片,如果你想要插入一张名为image1.jpg的图片并且想让它居中显示,在Rmarkdown中的代码可能是这样的
\begin{center}
\includegraphics{image1}
\end{center}
请记住,LaTex不需要文件扩展名(.jpg)。这个问题帮助我找到了答案。谢谢。
\begin{center}
Text
\end{center}
您可以在YAML头中定义自己的命令:
header-includes:
- \newcommand{\bcenter}{\begin{center}}
- \newcommand{\ecenter}{\end{center}}
然后你使用:
\bcenter
Text and more
\ecenter
对于我来说,这种方法可以使整个文档在其中包含许多代码块和Markdown命令时居中。
我正在使用beamer从Rmarkdown中生成pdf,以下内容适用于我:
\centering
![](image1.jpg)
#############
## CENTER TXT
ctrFmt = function(x){
if(out_type == 'latex' || out_type == 'beamer')
paste0("\\begin{center}\n", x, "\n\\end{center}")
else if(out_type == 'html')
paste0("<center>\n", x, "\n</center>")
else
x
}
我将这段代码放在我的初始设置块中。
然后我可以在我的.rmd
文件中轻松使用它:
`r ctrFmt("Centered text in html and pdf!")`
现在有一个更好的解决方案,更加优雅,基于fenced div
,已经在pandoc
中实现,如这里所述:
::: {.center data-latex=""}
Some text here...
:::
css
文件。例如,以下代码就能完成任务:```{cat, engine.opts = list(file = "style.css")}
.center {
text-align: center;
}
```
.css
文件中...)tex
文件包括适当的居中命令。markdown
代码。r ctrFmt("Centered **text** in html and pdf!")
没有将单词 "text" 加粗,但如果在 fenced div
内部,则会加粗。lua
过滤器,在此处 可用。