带有参数的 newcommand 在 tikzpicture 中产生了不必要的额外空间

带有参数的 newcommand 在 tikzpicture 中产生了不必要的额外空间

我正在创建一些我想在节点内使用的图片。当我使用\newcommand带有参数的 时,会添加额外的空间,我无法摆脱它。

\documentclass{article}
\usepackage{tikz}
\begin{document}

\newcommand{\foo}[1][3]{
\begin{tikzpicture}
    \foreach \x in {0,1,...,#1}
        \filldraw (\x,0) circle (0.2cm);
\end{tikzpicture}
}

\newcommand{\test}{
\begin{tikzpicture}
    \foreach \x in {0,1,...,3}
        \filldraw (\x,0) circle (0.2cm);
\end{tikzpicture}
}

\begin{tikzpicture}
    \node at(0,0)    [draw, rectangle, inner sep=0] {\foo};
    \node at(0,-0.5) [draw, rectangle, inner sep=0] {\test};
\end{tikzpicture}
\end{document}

答案1

删除虚假的空格:

\newcommand{\foo}[1][3]{%
\begin{tikzpicture}
    \foreach \x in {0,1,...,#1}
        \filldraw (\x,0) circle (0.2cm);
\end{tikzpicture}%
}

\newcommand{\test}{%
\begin{tikzpicture}
    \foreach \x in {0,1,...,3}
        \filldraw (\x,0) circle (0.2cm);
\end{tikzpicture}%
}

相关内容