I am trying again to understand control of map elements, independent of the standard map header.  For now just considering scale-bars and north-arrows.

 

The Therion Book, page 70 says”¦

 

North arrow and scale bar may be displayed using
• \ifnortharrow ¢¹ conditional; true if map projection is plan and symbol north-arrow
is not hidden
in layout
• \ifscalebar ¢¹ conditional; true if scalebar is not hidden

 

From this, I assume that the following statements in a layout should prevent a north-arrow and scale-bar from being output.

 

    symbol-hide special north-arrow

    symbol-hide special scale-bar

 

However I find that these elements are always output regardless of the layout.  ie the symbol-hide statements have no effect for the special symbols, even though they work just fine for groups, lines and points.

 

This is an example of what I am using;

 

\def\maplayout{

  \legendbox{100}{100}{NW}{\the\legendcontent} %insert default header with cave name, northarrow, scalebar, statistics etc

  \legendbox{17}{00}{N}{\northarrow } %insert just a northarrow

  \legendbox{17}{-100}{N}{\scalebar} %insert just a scalebar

}

 

I have also tried the likes of ;

 

  \legendbox{17}{-100}{N}{\ifscalebar\scalebar\fi }  %try to insert a scalebar only if not hidden

 

But this does not work either, as the scale-bar is still always output regardless of symbol-hide.

 

Am I misunderstanding the usage of symbol-hide for special symbols, or have I broken something, or could there be a bug?

 

Bruce