垂直線と水平線が交差していますか?

垂直線と水平線が交差していますか?

このソースには問題があります:

\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{intersections}
\begin{document}

\begin{tikzpicture}
\draw[thick,->] (-1,0) -- (5,0) node(xaxis)[below] {\footnotesize $x$};
\draw[thick,->] (0,-1) -- (0,6.5) node(yaxis)[left] {\footnotesize $y$};
\path [name path=line2] ( 0,4.5 ) -- +( 5,0 );
\path [name path=line1] ( 0,2 ) -- +( 3,0 );
\draw[red,very thick,name path=curve] (0.5,1) .. controls (1.5,3) and (4,2.5) .. (4.5,5.5);
\path [name intersections={of=curve and line2 , by=X}];
\path [name intersections={of=line1 and curve, by=Y}];
\draw (yaxis|-X)node[ left]{\footnotesize $f(b)$} -| ( xaxis-|X)node[below]{\footnotesize $b$};
\draw (yaxis|-Y)node[ left]{\footnotesize $f(a)$} -| ( xaxis-|Y)node[below]{\footnotesize $a$};
\end{tikzpicture}%

\end{document}

小さな線を削除するにはどうすればいいですか:ここに画像の説明を入力してください

答え1

座標は、希望どおりに右 (東) の境界ではなく、ノード(yaxis |- X)の中心によって決定されます。したがって、この方法で決定された座標のすべてについて、 を に、 に変更する必要があります。yaxisyaxis.eastxaxis.north

ここに画像の説明を入力してください

\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{intersections}

\begin{document}
    \begin{tikzpicture}[font=\footnotesize]
\draw[thick,->] (-1,0) -- (5,0.0) node(xaxis)[below] {$x$};
\draw[thick,->] (0,-1) -- (0,6.5) node(yaxis)[left]  {$y$};
%
\draw[red,very thick,name path=curve] (0.5,1) .. controls (1.5,3) and (4,2.5) .. (4.5,5.5);
\path [name path=line2] (0,4.5) -- +(5,0);
\path [name path=line1] (0,2.0) -- +(3,0);
%
\path [name intersections={of=curve and line2 , by=X}];
\path [name intersections={of=line1 and curve, by=Y}];
%
\draw (yaxis.east |- X) node[left] {$f(b)$} -| (xaxis.north -| X)node[below]{$b$};
\draw (yaxis.east |- Y) node[left] {$f(a)$} -| (xaxis.north -| Y)node[below]{$a$};
    \end{tikzpicture}%
\end{document}

ご覧のとおり、MWE を少し変更しました。

関連情報