![如何在 LaTeX 中包含图像时删除名称?](https://linux22.com/image/261772/%E5%A6%82%E4%BD%95%E5%9C%A8%20LaTeX%20%E4%B8%AD%E5%8C%85%E5%90%AB%E5%9B%BE%E5%83%8F%E6%97%B6%E5%88%A0%E9%99%A4%E5%90%8D%E7%A7%B0%EF%BC%9F.png)
我在 R 中包含一个图像,并发现与该图像一起出现的图像文件的名称:
name<-c("A.pdf","B.pdf","C.pdf","D.pdf")
<<echo=FALSE,results=tex>>=
for (i in 1:4)
{
cat(paste("\\includegraphics[trim=0cm 10cm 0cm 5cm, clip=true,%
width=.7\\linewidth]{pdf_repository/",name[i],".pdf}",sep=""),"\n")
}
@
我发现图像文件的名称:A.pdf
、B.pdf
、C.pdf
也D.pdf
与图像一起出现。我该如何删除它们?
答案1
您的names
代码位于代码块之外,因此被作为文本包含在 LaTeX 中以进行格式化。这就是您所看到的吗?将其移动到 R 代码块内,我看不到文件名。
\documentclass{article}
\usepackage[american]{babel}
\begin{document}
<<echo=FALSE,results=tex>>=
name<-c("A.pdf","B.pdf","C.pdf","D.pdf")
for (i in 1:4) {
cat(paste("\\includegraphics[trim=0cm 10cm 0cm 5cm, clip=true, width=.7\\linewidth]{pdf_repository/",name[i],"}",sep=""),"\n")
}
@
\end{document}
给出.tex
文件
\documentclass{article}
\usepackage[american]{babel}
\usepackage{Sweave}
\begin{document}
\includegraphics[trim=0cm 10cm 0cm 5cm, clip=true, width=.7\linewidth]{pdf_repository/A.pdf}
\includegraphics[trim=0cm 10cm 0cm 5cm, clip=true, width=.7\linewidth]{pdf_repository/B.pdf}
\includegraphics[trim=0cm 10cm 0cm 5cm, clip=true, width=.7\linewidth]{pdf_repository/C.pdf}
\includegraphics[trim=0cm 10cm 0cm 5cm, clip=true, width=.7\linewidth]{pdf_repository/D.pdf}
\end{document}
它编译为仅包含 4 个图形的 PDF(假设给定的目录中包含 4 个 PDF)。
答案2
正如第一条评论所说,你写了.pdf
两次(例如在你的 tex 输出中,你会看到A.pdf.pdf
)。
尽可能我恨诀窍cat('\\includegraphics')
是针织品解决方案:
\documentclass{article}
<<setup, include=FALSE>>=
opts_chunk$set(fig.path = 'pdf_repository/')
@
\begin{document}
<<test, out.width='.7\\linewidth', out.extra='trim = 0cm 10cm 0cm 5cm, clip = true'>>=
plot(rnorm(30))
plot(rnorm(30))
plot(rnorm(30))
plot(rnorm(30))
@
\end{document}
就像调用Sweave()
Rnw 文件一样,您可以安装knitr
包并调用library(knitr); knit()
。您再也不用担心每个块有多个图了。