在latex / sweave中使用graphicspath

时间:2015-07-27 21:41:30

标签: r latex sweave

我有一个Sweave文件,我需要从另一个文件夹中嵌入一个png和pdf。这就是我尝试的方式

\usepackage{graphicx}
\graphicspath{{inst/extdata/}}
\DeclareGraphicsExtensions{.pdf,.png}
\begin{document}

\begin{figure}
   \includegraphics[scale=0.7]{image.png}
   \caption{captionA}
   \label{fig:labelA}
\end{figure}

我也尝试过这样,但这并没有奏效:

 \graphicspath{{filePath}}

 filePath = "C:/path"

\begin{figure}
   \includegraphics[scale=0.7]{image.png}
   \caption{captionA}
   \label{fig:labelA}
 \end{figure}

我搜索了很多内容,然后查找https://en.wikibooks.org/wiki/LaTeX/Importing_Graphics#Compiling_with_latex,但这是我得到的错误。

 LaTeX Warning: File `image.png' not found on input
 line 613.

! Package pdftex.def Error: File `image.png' not found.

See the pdftex.def package documentation for explanation.
Type  H <return>  for immediate help.
 ...                                              

l.613 ...]{image.png}

1 个答案:

答案 0 :(得分:1)

我用三种不同的方式来扩展我的评论,以实现你的目标;假设您要包含名为ClassLoader的文件映像(请注意,我没有在以下代码中编写文件扩展名,因为我使用IMG_7254.JPG),您可以通过以下三种方式执行此操作:

  1. 将文件编译( .tex 一个)和要包含在同一文件夹中的图像。 LaTeX搜索(默认情况下)图片包含在要编译的文件所在的同一目录中的文档中。在这种情况下,代码只是:

    \DeclareGraphicsExtensions{.JPG}
  2. 让图片和文件在不同的文件夹中编译,在这种情况下,您必须指定文件的完整路径(可以通过不同方式找到),例如Mac OS读取here。在这种情况下,代码是:

    \includegraphics[width=0.7\textwidth]{IMG_7254}
    
  3. 将文件放入文件夹(例如 File_to_com )中,然后将所有图片放入子文件夹中,例如 File_to_com / picturesToInc ,然后指定路径。在后一种情况下,代码是:

     \includegraphics[width=0.7\textwidth]{/Users/SabDeM/Pictures/IMG_7254}
    
  4. 正如您所看到的那样(以某种方式)LaTeX(渲染PDF)必须知道图片在计算机中的位置。