从独立的 Tikz 图形指定 svg 的大小

从独立的 Tikz 图形指定 svg 的大小

我目前正在使用 Tikz 和standalone包来生成矢量图形,然后使用将其从 pdf 转换为 svg pdf2sg

为了绘制电路,我使用了circuitikz,但问题是关于 Tikz 图形的总体尺寸。作为参考,这是我的图形的样子:

\documentclass[convert = false]{standalone}
\usepackage[american]{circuitikz}
\begin{document}
\begin{circuitikz}
    \draw (0, 2) to [battery1] (0, 0);
    \draw (0, 2) to[R, l=$R_\mathrm{1}$] (3, 2);
    \draw (3, 2) to[D, l=$D_\mathrm{1}$] (3, 0);
    \draw (3, 0) -- (0, 0);
\end{circuitikz}
\end{document}

当我打开生成的 .svg 文件时,尺寸设置width="127.815pt"height="77.858pt"

Tex 中是否有一个选项可以指定我使用 Tikz 创建的图形的大小?

编辑:将单词“确定”改为“指定”以澄清我的意图。

答案1

您可以使用adjustbox来调整任何内容的大小,包括tikzpictures ans circuitikz

\documentclass[convert = false]{standalone}
\usepackage[american]{circuitikz}
\usepackage{adjustbox}
\begin{document}
\begin{adjustbox}{width=3cm,height=2cm}
\begin{circuitikz}
    \draw (0, 2) to [battery1] (0, 0);
    \draw (0, 2) to[R, l=$R_\mathrm{1}$] (3, 2);
    \draw (3, 2) to[D, l=$D_\mathrm{1}$] (3, 0);
    \draw (3, 0) -- (0, 0);
\end{circuitikz}
\end{adjustbox}
\end{document}

原始答案:编译

\documentclass[convert = false]{standalone}
\usepackage[american]{circuitikz}
\usetikzlibrary{calc}
\tikzset{every picture/.append style={execute at end picture={
\path let \p1=($(current bounding box.north east)-(current bounding box.south
west)$) in \pgfextra{\message{x dimension=\x1, y dimension=\y1^^J}};}}}
\begin{document}
\begin{circuitikz}
    \draw (0, 2) to [battery1] (0, 0);
    \draw (0, 2) to[R, l=$R_\mathrm{1}$] (3, 2);
    \draw (3, 2) to[D, l=$D_\mathrm{1}$] (3, 0);
    \draw (3, 0) -- (0, 0);
\end{circuitikz}
\end{document}

产生消息

x 尺寸=124.65718pt,y 尺寸=76.92181pt

相关内容