newcommand 与节点混淆

newcommand 与节点混淆

我刚刚开始熟悉 tikz,所以如果这是一个愚蠢的问题,请原谅我,我想声明一个包含带有文本的节点的新命令:

\newcommand{\mydoor}[1] {
\draw[black] (1,-1) -- (1,-0) node[right,near start] {{#1}};
}

\begin{tikzpicture}
\mydoor[mytext];
\end{tikzpicture}

我得到的输出不是“| mytext”而是“| [”

我到底缺少了什么,我该如何设计一条带有可配置文本的简单线条(我想在更复杂的多边形上使用它,因此在环境中)?

答案1

语法不正确:命令定义中不需要两个括号,而命令调用中则需要分号。此外,参数(文本)是必需的,因此您应该使用括号而不是方括号。请尝试以下方法:

\documentclass{article}
\usepackage{tikz}

\newcommand{\mydoor}[1] {
\draw[black] (1,-1) -- (1,-0) node[right,near start] {#1};
}

\begin{document}
\begin{tikzpicture}
\mydoor{mytext}
\end{tikzpicture}
\end{document} 

这使:

在此处输入图片描述

相关内容