我遇到了一个奇怪的错误。我正在使用 pgf/tikz 3.0.1 cvs 绘制一条有内角和外角的曲线。我正在使用数学计算来获得第二个坐标。奇怪的是,当我在 x 坐标中使用三角函数时,我得到了一个错误,但相同的表达式在 y 坐标中有效。我粘贴了下面的代码
\documentclass{report}
\usepackage{tikz}
\usetikzlibrary{shapes,arrows.meta,positioning,calc,decorations.markings}
\usepackage{float}
\begin{document}
\begin{figure}[H]
\centering
\begin{tikzpicture}
\node at (0,0) {$xs$}; % initial point
\node at (11.5,2) {$xg$}; % final point
%\draw (0:0.375) to[out=0,in=210] ({11.5+0.375*cos(210)},{2+0.375*sin(210)});
%Does not work
\draw (0:0.375) to[out=0,in=210] ({11.5+0.375*0.5},{2+0.375*sin(210)});
% Works fine
\end{tikzpicture}
\caption{title}
\label{fig:trajs}
\end{figure}
\end{document}
如果有人能帮助我,我将不胜感激。
答案1
您可以利用它\pgfmathsetmacro
来定义您的坐标。
\documentclass{report}
\usepackage{tikz}
\usetikzlibrary{shapes,arrows.meta,positioning,calc,decorations.markings}
\usepackage{float}
\pgfmathsetmacro\xcor{11.5+0.375*cos(210)}
\pgfmathsetmacro\ycor{2+0.375*sin(210)}
\begin{document}
\begin{figure}[H]
\centering
\begin{tikzpicture}
\node at (0,0) {$xs$}; % initial point
\node at (11.5,2) {$xg$}; % final point
\draw (0:0.375) to[out=0,in=210] (\xcor,\ycor);
\draw (0:0.375) to[out=0,in=210] ({11.5+0.375*0.5},{2+0.375*sin(210)});
% Works fine
\end{tikzpicture}
\caption{title}
\label{fig:trajs}
\end{figure}
\end{document}