|
前面我谈过怎么在 Inkscape 中引入Latex公式(原文见 Inkscape 下引入 Latex 公式的方法)。
最近电脑升级了操作系统,原来的 Inkscape 也升级了,再按照上文的方法安装的时候发现有一些问题。一忙起来也没有时间解决。这些天看到一个文档 (InkscapePDFLaTeX.pdf)讲述如何在 Latex 中插入 SVG 图形和在 SVG 图形中使用 Latex 公式,感觉比较简单,特此留个印。
首先声明,我的电脑的操作系统是 Mac OX Lion 10.7.2, Inkscape 0.48.2r9819. 如果你的系统和 Inkscape 的版本和我的不一样,请自己调整。
下面所使用的功能是 Inkscape 0.48 或更高版本。如果你的 Inkscape 的版本太低,请先升级。
在这一版本的 Inkscape 中增加了一个功能,可以把SVG图保存为 PDF/EPS/PS + LaTex 的格式。要使用这个功能,在 Save as ... 选择 PDF 以后,会弹出一个对话框,注意看几个选项,其中和本功能有关的是:
PDF+LaTex: Omit text in PDF, and create LaTeX file [v] 这个一定要选上,生成 LaTeX 文件
Rasterize filter effects [v] 这个要选上
Export area is drawing [v] 这个选上,表示把画图的区域保存
Export area is page [ ] 选这个表示整页保存
选上上述选项以后点击 OK,就可以把 SVG 图保存为两个文件,后缀分别为 .pdf 和 .pdf_tex
同样的,也可以把 SVG 图存为 EPS+LaTeX, 或者 PS+LaTeX,下面的步骤类似,适当调整即可。我个人喜欢 EPS!
知道了这个功能,下面的操作的简单了。
首先在 Inkscape 中画图,在该使用LaTeX公式的地方使用文字工具,写上 Latex 的命令即可。注意,这里也可以用 ref{} 这样的交叉引用的公式哦。然后按照上面的方法另存为 PDF +LaTeX文件 (在下面假设分别为 drawing.pdf 和 drawing.pdf_tex)。
这样,在 LaTex 文件(和上面保存在 PDF 和 PDF_Tex在同一个目录)中,用下面插入上面生成的 .pdf 和 .pdf_tex 文件:
上述过程可以在 LaTeX 文件的头定义上增加下面命令即可:
newcommand{executeiffilenewer}[3]{%
ifnumpdfstrcmp{pdffilemoddate{#1}}%
{pdffilemoddate{#2}}>0%
{immediatewrite18{#3}}fi%
}
newcommand{includesvg}[1]{%
executeiffilenewer{#1.svg}{#1.pdf}%
{/Applications/Inkscape.app/Contents/Resources/bin/inkscape -z -D --file=#1.svg %
--export-eps=#1.eps --export-latex}%
input{#1.eps_tex}%
}
注意: 把 /Applications/Inkscape.app/Contents/Resources/bin/inkscape 换成你的电脑中 inkscape 的绝对路径.Archiver|手机版|科学网 ( 京ICP备07017567号-12 )
GMT+8, 2024-11-24 09:00
Powered by ScienceNet.cn
Copyright © 2007- 中国科学报社