Hi Bruce - I have done some more work on this, and I have made progress. As you and I have both noted :-) I do not completely understand why it works. There are some deep dark secrets in TeX! I have ordered a copy of Knuth's original book on TeX.
The attached file is the latest version of my thconfig file. The magic lines that make the date and Therion version into larger fonts are 98-99 and 156-157. I used the "-d" option when compiling, then looked at the resulting file called "data.tex". It has quite a few lines using the \ss macro. I adapted those lines and was pleased to find that it works. The mystery, of course, is what exactly is the \ss macro doing? I did some Google searches but the only pages I found refer to the special German character ß which is obviously not how it is being used here. I have not messed with the base-scale settings any further. I also have not chased the problem where "debug station-names" leaks from one layout section to another. Martin produced a test case that contradicts my experience. He is using a different version of Therion than I am. More investigation is needed. -- Bill Gee On Tuesday, November 14, 2017 1:15:23 PM CST Bruce Mutton via Therion wrote: > Bill > > >I have managed to get what I want, though I do not completely understand > > why it works. > > :) sometimes my experience as well. > > > >I tried various "base-scale" settings but could not see any visible change. > > It was effectively a null setting. > Even when base-scale value is 2x or 0.5x the scale value? > > >I discovered some other issues while testing. First, the settings for > > "debug station-names" and "symbol-show group centerline" are apparently > global. If they are set in any layout-endlayout section, then they are set > for all subsequent layouts. Is that how they should behave? > No they should not work that way, but this type of issue does seem > familiar. I seem to recall I had this kind of thing happen some years and > some versions ago. It is possible that it was related to having multiple > copies of the same file open in different instances of Therion, or to some > bug or the possibility I was using some feature in an unintended way. Often > errors in one place don't show up until several processing steps later, > often in another 'input' file. > > >The TeX code includes \the\currentdate and \the\thversion. Both items do > > show up on the legend, just below the symbol table. However, they totally > ignore the {\size[]} option. Is that option implemented for these TeX > macros? It does not produce any errors when compiling the map. It also > does not change anything! > \def\txtsize{16} % Define the default text size > \legendtextsize={\size[\txtsize]} > \the\currentdate={\size[30]} > \the\thversion={\size[\txtsize]} > > You are outside my area of competence here. Your code is clean and > readable, but it is different to what I have been using, not so readable, > which includes tests that the variables exist and specifies the size and > style of the text at the start of the line that the variable is called up > in, as follows. Maybe including \legendtextsize\ on the same line as > \the\thversion will improve the behaviour. > > \newtoks\thversiontitleA \thversiontitleA={Compiled} > \newtoks\thversiontitleB \thversiontitleB={Therion } > \newtoks\datetitle \datetitle={on } > > \edef\tmp{\the\thversion} \ifx\tmp\empty \else %only write version and > date if version is not emplty > {\the\legendtextsize\si\the\thversiontitleA: \ss\the\thversiontitleB > \ss\the\thversion} > {\the\legendtextsize\ss\the\datetitle \ss\the\currentdate\par} > \fi > > >Is there a place where ALL TeX macro options and parameters of ALL macros > > are documented? > Not quite sure what you are asking beyond what is listed as you > describe. Simple answer is probably no. If you want everything, then > obtaining it is described here > https://therion.speleo.sk/wiki/metapost#how_to_get_therions_metapost_code_an > d_tex_code > Perhaps you could start a list on the wiki, then others can build on it with > whatever knowledge they have. > > Bruce > > _______________________________________________ > Therion mailing list > Therion@speleo.sk > https://mailman.speleo.sk/listinfo/therion
encoding utf-8 source AllieSpringCave.th input ../TherionMasterFiles/CustomSymbolsCode.txt # This layout is for the main 2D map, all on one page layout basics units imperial scale-bar 50 feet page-numbers on north true rotate 0 symbol-color group centerline [0 80 0] symbol-color area water [0 0 100] map-comment "A compass and tape survey of Allie Spring Cave (PUL-317), Pulaski County, Missouri" statistics explo all legend on map-header 3 65 w symbol-set UIS # Section for PDF properties doc-author "Bill Gee" doc-title "Map of Allie Spring Cave (PUL-317)" doc-subject "Plan map of Allie Spring Cave (PUL-317)" # Section for map photos # Add in the elevations maps # Entrance passage profile # map-image 0 -3 nw AllieSpringCaveElev1.pdf # D side passage profile # map-image 8 41 sw AllieSpringCaveElev2.pdf # C side passage profile # map-image 24 5 sw AllieSpringCaveElev3.pdf # B side passage profile - Main cave passage # map-image 20 100 sw AllieSpringCaveElev4.pdf # B side passage profile part two # map-image 20 93 sw AllieSpringCaveElev5.pdf # Bring in the custom symbols copy CustomSymbols # Reassign names symbol-assign point gradient AMER symbol-assign point stalagmite AMER symbol-assign point stalactite AMER symbol-assign point pillar AMER symbol-assign point popcorn AMER endlayout layout mainmapnocolor copy basics symbol-show group centerline debug station-names scale 1 200 color map-fg [100 86 66] # Change the size of the legend code metapost tmpscale=1.8; def draw_legend_box = % Next line controls size of symbol in each symbol table box currentpicture := currentpicture scaled tmpscale; % Next line controls size of symbol table box background clip currentpicture to unitsquare inscale xscaled tmpscale yscaled tmpscale; drawoptions(); pickup PenB; % I think the next line controls the size of each symbol table box draw unitsquare inscale xscaled tmpscale yscaled tmpscale; enddef; %clear the background of the larger legend boxes def clean_legend_box = unfill unitsquare inscale xscaled tmpscale yscaled tmpscale; enddef; %change the value of inscale to fill the legend boxes def inscale = xscaled (legend_scale*tmpscale) yscaled (0.618*legend_scale*tmpscale) enddef; endcode code tex-map \def\maplayout{ \legendbox{3}{65}{W}{ \def\txtsize{40} % Define the default text size \legendwidth=50 cm \legendtextsectionsize={\size[\txtsize]} \legendtextsize={\size[\txtsize]} \legendtextheadersize={\size[80]} \hsize=\legendwidth \the\legendcontent={\size[\txtsize]} \the\legendtextsize\ss\ Map generated on \the\currentdate\medskip \the\legendtextsize\ss\ Therion version \the\thversion } } endcode #end of TeX code to change legend size endlayout layout mainmapwithcolor copy basics symbol-show group centerline debug station-names scale 1 200 color map-fg altitude endlayout layout mainmapprint copy basics scale 1 800 debug off symbol-hide group centerline color map-fg [100 86 66] # Change the size of the legend code metapost tmpscale=1.3; def draw_legend_box = % Next line controls size of symbol in each symbol table box currentpicture := currentpicture scaled tmpscale; % Next line controls size of symbol table box background clip currentpicture to unitsquare inscale xscaled tmpscale yscaled tmpscale; drawoptions(); pickup PenB; % I think the next line controls the size of each symbol table box draw unitsquare inscale xscaled tmpscale yscaled tmpscale; enddef; %clear the background of the larger legend boxes def clean_legend_box = unfill unitsquare inscale xscaled tmpscale yscaled tmpscale; enddef; %change the value of inscale to fill the legend boxes def inscale = xscaled (legend_scale*tmpscale) yscaled (0.618*legend_scale*tmpscale) enddef; endcode code tex-map \def\maplayout{ \legendbox{3}{65}{W}{ \def\txtsize{16} % Define the default text size \legendwidth=20 cm \legendtextsectionsize={\size[\txtsize]} \legendtextsize={\size[\txtsize]} \legendtextheadersize={\size[40]} \hsize=\legendwidth \the\legendcontent={\size[\txtsize]} \the\legendtextsize\ss\ Map generated on \the\currentdate\medskip \the\legendtextsize\ss\ Therion version \the\thversion } } endcode #end of TeX code to change legend size endlayout # Change the legend callouts text en_US "point u:stalagmaflat_AMER" "stalagmaflat" text en_US "line u:dripline_AMER" "dripline" text en_US "point u:pendant" "pendant" text en_US "point u:stromatolite" "stromatolite" # Now list all the map files to be created. # The main plan map export map -proj plan -layout mainmapnocolor -o AllieSpringCave.pdf # The main map for printing export map -proj plan -layout mainmapprint -o AllieSpringCavePrint.pdf # Main plan map with elevations colorized export map -proj plan -layout mainmapwithcolor -o AllieSpringCaveColored.pdf # Create an atlas map # export atlas -proj plan -layout mainmapnocolor -o AllieSpringCaveAtlas.pdf # create a centerline map using XVI format # export map -proj plan -fmt xvi -o AllieSpringCave.xvi # Create a 3d map for use with Loch # export model -fmt loch -o AllieSpringCave.lox # Create a 3d map for use with Survex/Aven # export model -fmt 3d -o AllieSpringCave.3d # Create a KML file for Google Earth # export map -proj plan -fmt kml -output AllieSpringCave.kml
_______________________________________________ Therion mailing list Therion@speleo.sk https://mailman.speleo.sk/listinfo/therion