[Therion] Setting map border framethickness to zero (off) -layout call order inconsistent
Bruce Mutton
bruce at tomo.co.nz
Sun Nov 5 06:52:07 CET 2023
OK, there is some strange behaviour wrt the order of layout processing, or
at least which layout statement prevails in the case of a conflict.
I took the basic rabbit cave example, and modified the thconfig slightly to
give one of the exports conflicting layout calls:
#CODE TO PUT BORDER AROUND MAP
#-----------------------------
layout LayoutMapBorder
code tex-map
\framethickness=0.5mm
endcode
endlayout LayoutMapBorder
#CODE TO REMOVE BORDER AROUND MAP
#-----------------------------
layout LayoutRemoveMapBorder
code tex-map
\framethickness=0mm
endcode
endlayout LayoutRemoveMapBorder
export map -projection extended -output rabbit-xelev.pdf \
-layout water-blue -layout-map-header 0 0 s -layout-map-header 0 110 sw \
-layout LayoutRemoveMapBorder -layout LayoutMapBorder
The above export produces a map with header top-left and no border (green
arguments prevail). If I swap the grey and green layout calls, I get a
header bottom-left and a border (grey arguments prevail).
So why are these layouts treated differently?
Is it that layouts that contain tex are treated differently to layouts that
do not?
Bruce
Sent: Friday, 3 November 2023 08:17
To: 'List for Therion users' <therion at speleo.sk>
Subject: Setting map border framethickness to zero (off)
I have just now solved this problem. The error status must have been some
combination of setting \framethickness to 0mm and the order in which I was
calling layouts, although I cannot pin down why this would be the case.
Anyway, setting \framethickness to 0mm does now remove a frame that was
previously set in my project.
The key to solving the problem as to why \framethickness was not responsive
to a second call was that I was mistaken in my belief as to the order of
layout calls in export commands.
I always assumed the second layout called would be the second layout
processed. Alas it seems to be the other way around and layouts in export
commands are processed in reverse order.
eg like this:
export map -projection plan \
-layout LayoutProcessedLast \
-layout LayoutProcessedFirst \
-output ../Output/CavePlan.pdf
At least that is what I deduce from the behaviour where there are
conflicting \framethickness statements.
Except I think I have evidence that for some layout content it is the other
way around.
Anyone else have any insights as to the order of layout processing in export
commands?
Bruce
Sent: Monday, 30 October 2023 12:15
To: 'List for Therion users' <therion at speleo.sk <mailto:therion at speleo.sk> >
Subject: Setting map border framethickness to zero (off)
Good morning
Probably a simple tex question.
I often use this code to create a border around an exported map:
code tex-map
\framethickness=0.5mm
>From time to time (in the same compilation run) I insert one exported map
into another using map-image and usually the inserted map should not have a
border.
To date I have always arranged my layouts so that \framethickness is
undefined while the initial map is exported, THEN set to 0.5 mm for the
second map export.
It occurred to me that with my project arrangment it would be more
convenient to set the border to 0.5 mm (in a global layout) and THEN reset
it to zero or undefined in a layout specific to only one of the exports.
I have tried these two options:
code tex-map
\framethickness={}
code tex-map
\framethickness=0mm
The first causes error (pdftex exit code 1) and the second draws a 0.5 mm
border around both maps.
How should I 'turn off' a map border if \framethickness has already been
set?
Regards
Bruce
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman.speleo.sk/pipermail/therion/attachments/20231105/e6b75864/attachment.htm>
More information about the Therion
mailing list