我正在使用模板引擎创建 LaTeX 文件。我遇到的问题是,模板引擎是为生成网页而设计的,并为外部文件(例如图像)生成 URL。而我的 LaTeX 文件也使用图像。
因此,我得到了像file:///C:/temp/image.jpeg
或 这样的字符串file:///tmp/image.jpg
,但是为了\includegraphics
接受文件,我需要从我得到的 URL 中去除file://
(甚至对于 Windows 路径而言)。file:///
我如何在 LaTeX 中实现这一点?最好采用一种适用于 Windows 和 Unix 路径的方式。
答案1
我设法用这个代码让它工作
\usepackage{xstring}
% command to extract the filename out of a file: URL.
% Input that isn't a file: URL is left alone
\newcommand\GetFileName[2]{\IfBeginWith{#1}{file://}{%
\StrMid{#1}{10}{10}[\colon]%
\IfStrEq{\colon}{:}{%
\StrGobbleLeft{#1}{8}[#2]}{%
\StrGobbleLeft{#1}{7}[#2]}}{%
\StrGobbleLeft{#1}{0}[#2]}%
}
% usage
\GetFileName{file:///C:/Users/Bart/AppData/Local/Temp/logo.jpg}{\imagefile}
\includegraphics[height=1in]{\imagefile}