Используя предопределенную команду или координаты с помощью \draw, согните вправо

Используя предопределенную команду или координаты с помощью \draw, согните вправо

Я столкнулся с этой проблемой при использовании drawпредопределенной команды. Есть идеи, как исправить? Вот минимальный (не)рабочий пример:

\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}

Произошла ошибка:

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.

решение1

Вам нужны скобки. С \drawпутем, который указан, например, с двумя точками, следует нарисовать. Координаты начальной и конечной позиций указаны как точки вкруглые скобки.[Видеть:2.3 Строительство прямого пути,стр.31]

Определение:положение точки

  • в см: (1,0)и(1,1)

    Позиции указываются в специальной системе координат, в которой изначально одна единица равна 1cm. [См.2.2.1 Настройка среды в LATEXстр.29-30]

  • в pt: (1pt,0pt)и (1pt,1pt)-> Позиции указываются в специальной системе координат с единицей измерения pt.
  • в полярных координатах: (0:1)и (45:{sqrt(2)})-> полярные координаты: 1соответственно sqrt(2)(как радиус) в направлении 0соответственно 45градус (угол). Для расчета {sqrt(2)}(чтобы получить правильный радиус) вам нужно \usetikzlibrary{calc}.См.2.15 Указание координат,стр.37 и далее.
  • с макросом: (\Va)и (\Ve)-> парсер TikZ понимает координаты и узлы (и их имена), явно ища (символ во входном потоке. Следовательно, если скобки скрыты внутри макроса, парсер сначала не сможет найти скобки, а затем расширит макрос, что будет слишком поздно. Вместо этого определите свои собственные команды с помощью \newcommand{\Va}{1,0}и \newcommand{\Ve}{1,1}(подсказка из комментария @JLDiaz)

Но я предпочитаю и рекомендую:

  • с координатами: (A)и (B)-> Определение двух координат (имя:А,Б) с помощью \coordinateкоманды. Например \coordinate (A) at (1,0);и\coordinate (B) at (1,1);

Решение:

введите описание изображения здесь

МВЭ:

\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}

Связанный контент