Bild mit Tikz kommentieren; Dekoration verschwindet ab einer bestimmten Bildbreite?

Bild mit Tikz kommentieren; Dekoration verschwindet ab einer bestimmten Bildbreite?

Ich versuche, ein Bild mit Tikz zu kommentieren. Irgendwie gibt es jedoch ein Verhalten, das ich nicht verstehe. Ich zeichne am Ende der Anmerkungslinie eine Verzierung, die nicht mehr als ein Kreis ist. Die Verzierung wird mithilfe von definiert tikzset. Bisher nichts Besonderes. Es gibt jedoch etwas, das dazu führt, dass die Verzierung verschwindet, wenn ich versuche, Bilder mit einer bestimmten Breite von mehr als 7 cm zu kommentieren. Hier ist ein (hoffentlich minimaler) MWE dessen, wovon ich spreche, getestet in Overleaf:

\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage[german]{babel}
\usepackage{float}
\usepackage{tikz}
\usetikzlibrary{decorations.markings}

\tikzset{
    o/.style={
        shorten >=#1,
        decoration = {
            markings,
            mark={
                at position 1
                with {
                    \draw circle [radius=#1];   
                }
            }   
        },
        postaction = decorate,
    },
    o/.default=2pt
}

\begin{document}
  \begin{tikzpicture}
    \node[anchor=south west,inner sep=0] (image) at (0,0,0){
        \includegraphics[width=7cm]{frog}   %%% works with a picture width of 7cm
    };
    \begin{scope}[x={(image.south east)},y={(image.north west)}]
      \draw[o,>=stealth,shorten <= 2mm, line width=0.5mm] (-0.25,1.25) node {Frog} to[out=-90] (0.41,0.6);
    \end{scope}
  \end{tikzpicture}

  \begin{tikzpicture}
    \node[anchor=south west,inner sep=0] (image) at (0,0,0){
      \includegraphics[width=8cm]{frog} %%% circle vanishes with a picture width of 8cm
    };
    \begin{scope}[x={(image.south east)},y={(image.north west)}]
      \draw[o,>=stealth,shorten <= 2mm, line width=0.5mm] (-0.25,1.25) node {Frog} to[out=-90] (0.41,0.6);
    \end{scope}
  \end{tikzpicture}
\end{document}

Das erste Bild ist auf eine Breite von 7cm eingestellt. Dort ist der Kreis am Ende \drawnoch gezeichnet. Im zweiten Bild, dessen Breite auf 8cm eingestellt ist (der einzige Unterschied), ist der Kreis nicht mehr gezeichnet.

Ich würde wirklich gerne verstehen, warum das passiert und wie man es umgehen/beheben kann.

Antwort1

Ich kann in keiner Bildgröße einen Kreis am Ende einer Linie erhalten. Ich habe nicht untersucht, warum, sondern stattdessen neuen, meiner Meinung nach viel einfacheren Code für Linien geschrieben, die auf einen Frosch im Bild zeigen. Darin verwende ich zwei Bibliotheken: arrows.metafür den Kreis am Ende einer Linie und positioningzum Bestimmen der Linienkoordinaten:

\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage[german]{babel}
\usepackage{float}
\usepackage{tikz}
\usetikzlibrary{arrows.meta, positioning}

\tikzset{line/.style={-{Circle[open,length=#1]},shorten <= 2mm, line width=0.5mm},
         line/.default=5pt}

\begin{document}
  \begin{tikzpicture}
    \node[anchor=north west,inner sep=0] (image) at (0,0,0){
        \includegraphics[width=3cm]{example-image-a}};
    \coordinate[above left=0.25 and 1.25 of image]         (a);
    \coordinate[above left=0.25 and 1.25 of image.center]  (b);
    \draw[line] (a) node {Frog} to[out=-90] (b);
  \end{tikzpicture}

\bigskip
  \begin{tikzpicture}
    \node[anchor=north west,inner sep=0] (image) at (0,0,0){
      \includegraphics[width=8cm]{example-image-b}};
    \coordinate[above left=0.25 and 1.25 of image]         (a);
    \coordinate[above left=0.60 and 0.41 of image.center]   (b);
    \draw[line] (a) node {Frog} to[out=-90] (b);
  \end{tikzpicture}
\end{document}

Das Ergebnis ist: Bildbeschreibung hier eingeben

verwandte Informationen