为什么SVG插入与源文件不同?

为什么SVG插入与源文件不同?

我想插入这个 svg 文件及其样式:

在此处输入图片描述

\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage{svg}

\begin{document}
    \begin{figure}[h!]
        \centering
        \scalebox{0.5}{\includesvg{./Test.svg}}
        \caption{Test}
        \label{fig:Test}
    \end{figure}
\end{document}

结果是:

在此处输入图片描述

我不明白为什么 latex 中的 svg 包会在没有说明的情况下修改我的源文件。

答案1

对于包中的svg字体使用有两种不同的方法:

LaTeX 尽在掌控

这是默认设置。SVG 文件中字体的任何格式都将被忽略,所有文本都由 LaTeX 排版。字体系列、大小、粗细、形状等的调整必须直接在 SVG 文件中以 LaTeX 样式进行,使用或\small等命令在文本字段中执行。\huge\textbf{...}

Inkscape 控制

使用inkscapelatex=false,LaTeX 无法处理 SVG 文件中的文本。可以使用 为所有已处理的 SVG 文件设置此功能,\svgsetup{inkscapelatex=false}也可以根据需要使用 为某些文件单独设置此功能\includesvg[inkscapelatex=false,...]{...}。在这种情况下,所有字体格式都保留在 SVG 文件中。这也意味着,像 这样的数学表达式$a+b=c$也无法得到处理,因此可能需要根据文档调整字体、类型等。

笔记

无论选择哪种方法,我都建议创建的 SVG 图形最好与最终输出的大小相同,并且如果需要,仅进行最小程度的缩放,以避免扭曲所选的字体。

相关内容