我想将 SVG 图像包含到我的 LaTeX 文档中。我还想将其用于subcaption
子图。我使用以下文件夹结构:
<project path>/Document/document.tex
对于文档本身<project path>/Pics/*.svg
对于图像
我尝试了该包svg
,但是它会自动加载subfig
,这与不兼容subcaption
。
所以我尝试使用svg-inkscape:
\newcommand{\executeiffilenewer}[3]{%
\ifnum\pdfstrcmp{\pdffilemoddate{#1}}%
{\pdffilemoddate{#2}}>0%
{\immediate\write18{#3}}\fi%
}
\newcommand{\includesvg}[1]{%
\executeiffilenewer{#1.svg}{#1.pdf}%
{inkscape -z -D --file=#1.svg %
--export-pdf=#1.pdf --export-latex}%
\input{#1.pdf_tex}%
}
要使用它,必须使用以下语法:
\begin{figure}
\def\svgwidth{\columnwidth}
\includesvg{image}
\end{figure}
它可以工作,但是在从如下定义的相对路径加载图像时会出现问题:
\graphicspath{{../Pics/}}
../Pics/
我可以通过在每个文件名前面放置来解决这个问题。
我需要如何更改建议的宏svg-inkscape执行以下操作?
- 使用中定义的路径
\graphicspath{}
\includesvg{width=...}{<path to svg file>}
使用与svg
(删除\def\svgwidth{\columnwidth}
并添加{width=...}
到\includesvg
)相同的语法
修改svg
以删除依赖关系subfig
不是一个选择,因为我的文档需要与其他 LaTeX 安装兼容。