如何在 Latex 中定义和使用目录名称来包含媒体?

如何在 Latex 中定义和使用目录名称来包含媒体?

在 Mac OSX 中,使用 latex,我有一个很长的类文件,其中包含各种宏,其中包含以下命令

\includegraphics[#5]{/Users/myname/Desktop/book/images/#2.eps}

\includemovie[#4]{/Users/myname/Desktop/book/movies/#2.mpg}

我想让这个可移植到具有不同绝对路径的计算机上。(出于兼容性原因,我需要绝对路径。)最简单的方法可能是定义 a\imagedirectoryname和 a\moviedirectoryname并执行类似以下操作

\includegraphics[#5]{\imagedirectoryname/#2.eps}

\includemovie[#4]{\moviedirectoryname/#2.eps}

我究竟该如何在 latex 中做到这一点?提前感谢您的帮助!这是一本可以在网上免费下载的书。

我正在使用 OSX、latex、MacTeX/texlive 2014 和 dvi -> ps -> pdf 排版方法。

PS 是的,我知道 movie15 已经过时了,但它仍然有效,而且据我所知,后继包 media9 与它不兼容。

答案1

您可以执行下列操作之一:

  1. 更新\graphicspath以指向可能包含图形的文件夹。路径的语法是<pathA>,,<pathB>...

    \graphicspath{{<pathA>}{<pathB>}{..}...}
    

    如何使用\graphicspath

  2. 定义一个宏来保存路径,例如

    \newcommand{\imagefolder}{/your/image/folder/here}
    

    然后在命令中使用它

    \includegraphics[..]{\imagefolder/<image>}
    
  3. 当然,(2)也可以通过以下方式进行硬编码:\includegraphics始终使用特定路径,例如

    \let\oldincludegraphics\includegraphics
    \renewcommand{\includegraphics}[2][]{\oldincludegraphics[#1]{\imagefolder/#2}
    

    您需要了解您的用例/环境才能确信这种硬编码能够起作用。

相关内容