Tikz 使用 \newcommand 覆盖图片

Tikz 使用 \newcommand 覆盖图片

我尝试使用 \newcommand 多次重现 tikz 图表。当我手动制作这些图表时,它们绘制得恰到好处,但当我使用 \newcommand 重现它们时,它们会稍微偏向右侧。我尝试在 tikzpicture 末尾使用 \% 删除空格,但这对我来说不起作用。这是 MWE:

\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage[left=2cm, right=5cm, top=2cm]{geometry}
\usepackage{tikz}
\usetikzlibrary{positioning,fit}
\newcommand{\tklines}[1]
{
\begin{tikzpicture}[red,overlay]
\draw (0,#1)--++(5,0);
\end{tikzpicture}%
}
\begin{document}
\begin{tikzpicture}[overlay]
\draw (0,0)--++(5,0);
\end{tikzpicture}%
\begin{tikzpicture}[overlay]
\draw (0,1)--++(5,0);
\end{tikzpicture}%
\begin{tikzpicture}[overlay]
\draw (0,2)--++(5,0);
\end{tikzpicture}
\hspace{5cm}
\tklines{0}
\tklines{1}
\tklines{2}
\end{document}

结果如下图所示。请看右侧的红线。我尝试搜索了几次,但我觉得我遗漏了一些东西。请帮忙。 在此处输入图片描述

答案1

%正如大卫卡莱尔所说,只缺少几个,一个在命令定义中,在 之前\begin{tikzpicture},以及一个在 每次调用 之后\tklines{X}

\documentclass{article}

\usepackage[utf8]{inputenc}
\usepackage[left=2cm, right=5cm, top=2cm]{geometry}
\usepackage{tikz}

\usetikzlibrary{positioning,fit}

\newcommand{\tklines}[1]{% <-[ HERE ]
  \begin{tikzpicture}[red,overlay]
    \draw (0,#1)--++(5,0);
  \end{tikzpicture}%
}

\begin{document}

\begin{tikzpicture}[overlay]
  \draw (0,0)--++(5,0);
\end{tikzpicture}%
\begin{tikzpicture}[overlay]
  \draw (0,1)--++(5,0);
\end{tikzpicture}%
\begin{tikzpicture}[overlay]
  \draw (0,2)--++(5,0);
\end{tikzpicture}
%
\hspace{5cm}
%
\tklines{0}% <-[ HERE ]
\tklines{1}% <-[ HERE ]
\tklines{2}

\end{document}

相关内容