
Encontrei esse problema ao usar draw
um comando predefinido. Alguma ideia de como consertar? Aqui está um exemplo mínimo (não) funcional:
\documentclass{article}
\usepackage{tikz}
\newcommand{\Ve}{(1,1)}
\begin{document}
\begin{tikzpicture}
\draw (1,0) to[bend right] (1,1) ; %works
\draw \Ve to[bend right] (1,0) ; %works
\draw (1,0) to[bend right] \Ve ; %doesn't work
\end{tikzpicture}
\end{document}
O erro produziu:
Latex Error: ./untitled.tex:9 Package tikz Error: (, +, coordinate, pic, or node expected. Latex Error: ./untitled.tex:9 Package pgf Error: No shape named is known.
Responder1
Você precisa de parênteses. Com \draw
o caminho especificado, por exemplo, dois pontos devem ser desenhados. As coordenadas das posições inicial e final são especificadas como pontos emcolchetes redondos.[Ver:2.3 Construção de Caminho Reto,p.31]
Definição:posição do ponto
- em cm:
(1,0)
e(1,1)
As posições são especificadas dentro de um sistema de coordenadas especial no qual, inicialmente, uma unidade é
1cm
. [Ver2.2.1 Configurando o Ambiente em LATEXpág.29-30] - em pt:
(1pt,0pt)
e(1pt,1pt)
-> As posições são especificadas dentro de um sistema de coordenadas especial com unitpt
. - em coordenadas polares:
(0:1)
e(45:{sqrt(2)})
-> coordenadas polares:1
respectivamentesqrt(2)
(como raio) em direção0
respectivamente45
grau (ângulo). Para calcular{sqrt(2)}
(para obter o raio correto) você precisa\usetikzlibrary{calc}
.Veja2.15 Especificando Coordenadas,p37ss. - com macro:
(\Va)
e(\Ve)
-> O analisador TikZ entende coordenadas e nós (e seus nomes) procurando explicitamente por(
caracteres no fluxo de entrada. Portanto, se os colchetes estiverem ocultos dentro da macro, o analisador primeiro não conseguirá encontrar o colchete e, em seguida, expandirá a macro, o que será tarde demais. Em vez disso, defina seus próprios comandos com\newcommand{\Va}{1,0}
e\newcommand{\Ve}{1,1}
(dica do comentário @JLDiaz)
Mas eu prefiro e recomendo:
- com coordenadas:
(A)
e(B)
-> Definindo duas coordenadas (nome:A,B) usando o\coordinate
comando. Por exemplo\coordinate (A) at (1,0);
e\coordinate (B) at (1,1);
Solução:
MWE:
\documentclass{article}
\usepackage{tikz}
%\usetikzlibrary{calc}
%\newcommand{\Ve}{1,1}
\begin{document}
\begin{tikzpicture}
\coordinate (VE) at (1,1);
%\coordinate (VE) at (45:{sqrt(2)});
\draw (1,0) to[bend right] (1,1);
\draw (VE) to[bend right] (1,0);
\draw (1,0) to[bend right] (VE) ;
\end{tikzpicture}
% \begin{tikzpicture}
% \draw (1,0) to[bend right] (1,1);
% \draw (\Ve) to[bend right] (1,0);
% \draw (1,0) to[bend right] (\Ve) ;
% \end{tikzpicture}
\end{document}