Plot -S~+an unexpected behavior in symbol orientation

Is there a way to have the symbols along a line oriented along the drawing direction of the decorated line?

I’m experimenting with symbols on lines with plot -S~+an. The docs say:


For symbols at a fixed angle, +an for line-normal […]

So I expected the orientation to be normal to the direction of the line, the top of the symbol pointing into the drawing direction of the line. Line starting is starting on the left side and ending on the right side, I expect the top of the symbol to point to the right.

However I found this not to be the case – see example below. My suspicion is that the symbol is pointing towards the “page up direction” of the current segment. While this has its use case, I found no way to get them point in one direction.

The current behavior of +an is a bit surprising when plotting E-W or horizontal oriented lines as seen in the first four lines where the symbols change orientation mid-line (left part of the lines). The zigzagging line in the lower half seems to strengthen my assumption about the logic of the symbol orientation.

If this behavior is intentional, maybe a new option like +ad for direction might be worth some thoughts by the Gurus?

cat > path1.txt << END
-1.5  1.5
 1.5  1.5

cat > path2.txt << END
-1.5  1.25
 1.5  1.25

cat > path3.txt << END
 1.5  1
-1.5  1

cat > path4.txt << END
 1.5  0.75
-1.5  0.75

cat > path5.txt << END
-1.5 -0.5
-1   -0.6
-0.5 -0.5
 0   -0.6
 0.5 -0.5
 1   -0.6
 1.5 -0.5

gmt begin symbol_line
  gmt basemap -R-2/2/-2/2 -JM6i -Bafg1
  gmt plot path1.txt -S~d20p:+st10p+an+p1p,red -W1p,red
  gmt plot path2.txt -S~d20p:+st10p+an+p1p,red -W1p,red
  gmt plot path3.txt -S~d20p:+st10p+an+p1p,red -W1p,red
  gmt plot path4.txt -S~d20p:+st10p+an+p1p,red -W1p,red
  gmt plot path5.txt -S~d20p:+st10p+an+p1p,red -W1p,red
gmt end show