我正在尝试使用该\includesvg
命令包含一个 svg 文件。在 Illustrator 中打开时,svg 文件看起来如下所示,因为它包含一些数学模式文本:
现在,我希望图像使用屏幕截图中所示的画板作为视图框。但是,由于在 LaTeX 将其转换为数学模式文本之前,画板外面有文本,因此编译时会发生以下情况:
为清晰起见,我在这里将图像放在了 中\fbox
。添加了额外的空白以适应未格式化的文本。是否有某种方法可以修改 svg 以将其大小限制为 Illustrator 中的画板大小?
更新:以下是针对上述问题的 MWE(.tex 和 .svg)。显然,命令理解的“大小”\includesvg
是根据未格式化的文本计算的 - 我只想使用 svg 文件的宽度参数。
test.tex
:
\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage{svg}
\begin{document}
\fbox{\includesvg[width=\linewidth]{test.svg}}
\end{document}
test.svg
:
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
width="737" height="368.5" viewBox="0 0 737 368.5" style="enable-background:new 0 0 737 368.5;" xml:space="preserve">
<style type="text/css">
.st0{fill:#FFFFFF;stroke:#1D1D1B;stroke-miterlimit:10;}
.st2{fill:#1D1D1B;}
.st3{font-family:'MyriadPro-Regular';}
.st4{font-size:24px;}
</style>
<title>Title</title>
<rect x="112.7" y="179.8" transform="matrix(0.9408 -0.3391 0.3391 0.9408 -45.3695 139.9065)" class="st0" width="530" height="40"/>
<text transform="matrix(1 0 0 1 553.21 254.7425)" class="st2 st3 st4">$\Delta P_o = qlc_o\cdot\dot V^2$</text>
</svg>
答案1
您应该在包选项中将其设置inkscapearea
为page
,而不是默认设置:drawing
\usepackage[inkscapearea=page]{svg}
请注意,您必须使用此选项更改 svg 文件或删除文件夹中svg-inkscape
要新导出的图像的导出文件。