如何在 SVG 中缩放文本

如何在 SVG 中缩放文本

我使用 Inkscape 将 SVG 转换为 pdf latex,转换后我想缩放图像以使其与第二幅图像匹配。但文本没有根据框进行缩放。我使用以下代码来渲染第一幅图像。有人知道我如何缩放框和文本,使其与第二幅图像匹配吗?

\usepackage{svg}


\begin{figure}[ht] 
    \centering 
    \includesvg[width=0.7\textwidth]{someimage} 
    \caption{foo} 
    \label{bar} 
\end{figure}

图像缩放错误

图像应缩放至此

答案1

有几种不同的可能性:

  • \fontsize{8}{10}\selectfont(或任何合适的尺寸)使用较小的字体大小。

  • 在 Inkscape 的设计过程中,使用与文档中相同的字体大小

  • 或者,正如 Harald Hanche-Olsen 指出的那样他的评论\scalebox包括更大尺寸的图形并使用或类似工具缩小它。

答案2

我添加这个是因为接受的答案没有提到这个解决方案,它更加清晰。

\includesvg默认情况下独立处理图形中的所有文本。

将文本与图形缩放的最简洁方法是将参数设置inkscapelatexfalse这个文件解释如下:

如果设置了选项inkscapelatex=true,则输出将拆分为单独的 PDF/EPS/PS 文件(参见选项 inkscapeformat)和相应的 LATEX 文件。这是默认设置。设置inkscapelatex=false将产生单个 PDF/EPS/PS 文件,其中包含的任何文本都不会由 LATEX 呈现。

因此,\includesvg[inkscapelatex=false,<other params>]{svgfile}这就是您所寻找的。

答案3

添加到 cPickle 的答案(因为我还不允许评论):

\svgsetup您还可以在导入 svg 包后全局设置选项 inkscapelatex=false :

\usepackage{svg}
\svgsetup{inkscapelatex=false}

相关内容