我试图在三维图中的曲线上添加箭头装饰,如下所示
% !TEX TS-program = xelatex
\documentclass[UTF8]{article}
\usepackage{float}
\usepackage{amssymb}
\usepackage{tikz}
\usepackage{tkz-euclide}
\usetikzlibrary{arrows.meta}
\usetkzobj{all}
\usepackage{graphicx}
\begin{document}
\begin{figure}[H]
\begin{center}
\begin{tikzpicture}[smooth, decoration = {markings, mark = at position 0.4 with {\arrow{Stealth[round, scale = 1.5]}}}]
\centering
\draw[postaction = {decorate}] plot coordinates{(1, 3) (2, 4) (4, 1)};
\end{tikzpicture}
\end{center}
\end{figure}
\end{document}
0.2
当我将装饰位置更改为或其附近的任何值时,编译器将发出以下抱怨
尺寸太大。
我分析了几种情况,似乎只要箭头装饰位置靠近任何协调点,编译器就会抱怨,在我们的例子中是(2, 4)
。
有解释吗?提前谢谢!
答案1
我所说的几乎相同的路径是指,有更多有害和无害的方法来绘制非常相似的曲线。
\documentclass[UTF8]{article}
\usepackage{float}
\usepackage{amssymb}
\usepackage{tikz}
\usetikzlibrary{decorations.markings,arrows.meta}
\usetikzlibrary{hobby}
\begin{document}
\begin{figure}[H]
\centering
\begin{tikzpicture}
\begin{scope}[decoration = {markings, mark = at position 0.4 with {\arrow{Stealth[round, scale = 1.5]}}}]
\draw[postaction = {decorate}] plot[smooth] coordinates{(1, 3) (2, 4) (4, 1)};
\end{scope}
\begin{scope}[xshift=4cm,decoration = {markings, mark = at position 0.3 with {\arrow{Stealth[round, scale = 1.5]}}}]
\draw[postaction = {decorate}] (1, 3) to[curve through={(1.4,3.6) .. (2, 4) ..
(2.7,3.3) .. (3.1,2.5)}] (4, 1);
\end{scope}
\end{tikzpicture}
\end{figure}
\end{document}
我强调我没有花太多精力来重现你的曲线。这只是为了告诉你 (a) 是的,可能会有问题,(b) 如果你采用其他方式绘制此类曲线,这些问题可能会消失。