summaryrefslogtreecommitdiff
path: root/macros/latex/contrib/wargame/source/natoapp6c
diff options
context:
space:
mode:
authorNorbert Preining <norbert@preining.info>2022-09-25 03:00:53 +0000
committerNorbert Preining <norbert@preining.info>2022-09-25 03:00:53 +0000
commitce8083552e0d948bf495e72d5c4d2680b505c90b (patch)
tree6c741e76b2a9e41d5c1b57a15ffa28d74c5317d8 /macros/latex/contrib/wargame/source/natoapp6c
parent41d1be12f4963b0f5bf9903116883f1458b58960 (diff)
CTAN sync 202209250300
Diffstat (limited to 'macros/latex/contrib/wargame/source/natoapp6c')
-rw-r--r--macros/latex/contrib/wargame/source/natoapp6c/compat/activity.dtx39
-rw-r--r--macros/latex/contrib/wargame/source/natoapp6c/compat/air.dtx87
-rw-r--r--macros/latex/contrib/wargame/source/natoapp6c/compat/equipment.dtx99
-rw-r--r--macros/latex/contrib/wargame/source/natoapp6c/compat/installation.dtx43
-rw-r--r--macros/latex/contrib/wargame/source/natoapp6c/compat/land.dtx266
-rw-r--r--macros/latex/contrib/wargame/source/natoapp6c/compat/missile.dtx14
-rw-r--r--macros/latex/contrib/wargame/source/natoapp6c/compat/seamine.dtx18
-rw-r--r--macros/latex/contrib/wargame/source/natoapp6c/compat/seasurface.dtx131
-rw-r--r--macros/latex/contrib/wargame/source/natoapp6c/compat/space.dtx51
-rw-r--r--macros/latex/contrib/wargame/source/natoapp6c/compat/subsurface.dtx67
-rw-r--r--macros/latex/contrib/wargame/source/natoapp6c/core.dtx226
-rw-r--r--macros/latex/contrib/wargame/source/natoapp6c/echelon.dtx82
-rw-r--r--macros/latex/contrib/wargame/source/natoapp6c/frames/base.dtx70
-rw-r--r--macros/latex/contrib/wargame/source/natoapp6c/frames/friendly.dtx427
-rw-r--r--macros/latex/contrib/wargame/source/natoapp6c/frames/hostile.dtx453
-rw-r--r--macros/latex/contrib/wargame/source/natoapp6c/frames/neutral.dtx405
-rw-r--r--macros/latex/contrib/wargame/source/natoapp6c/frames/unknown.dtx483
-rw-r--r--macros/latex/contrib/wargame/source/natoapp6c/list.dtx266
-rw-r--r--macros/latex/contrib/wargame/source/natoapp6c/shape.dtx647
-rw-r--r--macros/latex/contrib/wargame/source/natoapp6c/symbols.dtx3165
-rw-r--r--macros/latex/contrib/wargame/source/natoapp6c/text.dtx57
-rw-r--r--macros/latex/contrib/wargame/source/natoapp6c/util.dtx60
-rw-r--r--macros/latex/contrib/wargame/source/natoapp6c/weaponry.dtx88
23 files changed, 7244 insertions, 0 deletions
diff --git a/macros/latex/contrib/wargame/source/natoapp6c/compat/activity.dtx b/macros/latex/contrib/wargame/source/natoapp6c/compat/activity.dtx
new file mode 100644
index 0000000000..c59e685b20
--- /dev/null
+++ b/macros/latex/contrib/wargame/source/natoapp6c/compat/activity.dtx
@@ -0,0 +1,39 @@
+%<*cmp>
+\CompatSection{\spec{activity}}
+\CompatTable{activity}{main}{{
+ arrest/{main={arrest}},
+ attempted criminal activity/{main={crime,individual}},
+ automobile/{main={automobile}},
+ demonstration/{main={squashed text=MASS}},
+ drive by shooting/{main={rifle},lower={wheeled}},
+ drug related activities/{main={squashed text=DRUG}},
+ explosion/{main={explosion}},
+ extortion 1/{main={text=\textdollar}},
+ extortion 2/{main={text=\pounds}},
+ extortion 3/{main={text=\texteuro}},
+ extortion 4/{main={text=\textyen}},
+ fire/{main={squashed text=FIRE}},
+ graffiti/{main={graffiti}},
+ improvised explosive device explosion/{main={explosion,small text=IED}},
+ individual/{main={individual}},
+ killing/{main={killing,individual}},
+ patrolling/{main={patrolling}},
+ pleasure craft/{main={sailing boat}},
+ poisoning/{main={poisoning}},
+ psychological operations/{main={psychological}},
+ radio and television psychological operations/{main={psychological,signal}},
+ riot/{main={squashed text=RIOT}},
+ searching/{main={searching}},
+}}
+\CompatTable{activity}{upper}{{
+ assassination/{upper={text=AS}},
+ execution/{upper={text=EX}},
+ hijack/{upper={text=H}},
+ house to house/{upper={house}},
+ kidnapping/{upper={text=K}},
+ murder/{upper={text=MU}},
+ piracy/{upper={text=PI}},
+ rape/{upper={text=RA}},
+ written/{upper={text=W}},
+}}
+%</cmp>
diff --git a/macros/latex/contrib/wargame/source/natoapp6c/compat/air.dtx b/macros/latex/contrib/wargame/source/natoapp6c/compat/air.dtx
new file mode 100644
index 0000000000..286366f81a
--- /dev/null
+++ b/macros/latex/contrib/wargame/source/natoapp6c/compat/air.dtx
@@ -0,0 +1,87 @@
+%<*cmp>
+\CompatSection{\spec{air}}
+\CompatTable{air}{main}{{
+ air decoy/{main={air decoy}},
+ airborne command post/{main={squashed text=ACP}},
+ airborne early warning/{main={squashed text=AEW}},
+ anti submarine warfare/{main={squashed text=ASW}},
+ anti surface warfare/{main={squashed text=ASUW}},
+ attack/{main={text=A}},
+ bomber/{main={text=B}},
+ cargo/{main={text=C}},
+ civilian airship/{main={airship}},
+ civilian balloon/{main={balloon}},
+ civilian fixed wing/{main={fixed wing}},
+ civilian rotary wing/{main={rotary wing}},
+ civilian/{main={squashed text=CIV}},
+ combat search and rescue/{main={squashed text=CSAR}},
+ communications/{main={squashed text=COM}},
+ electronic support measures/{main={squashed text=ESM}},
+ fighter/{main={text=F}},
+ government/{main={squashed text=GOV}},
+ jammer/{main={text=J}},
+ medic/{main={[fill]medic}},
+ military airship/{main={[fill]airship}},
+ military balloon/{main={[fill]balloon}},
+ military fixed wing/{main={[fill]fixed wing}},
+ military rotary wing/{main={[fill]rotary wing}},
+ military/{main={squashed text=MIL}},
+ mine countermeasures/{main={squashed text=MCM}},
+ passenger/{main={text=PX}},
+ patrol/{main={text=P}},
+ personnel recovery/{main={text=PR}},
+ reconnaissance/{main={text=R}},
+ search and rescue/{main={squashed text=SAR}},
+ special operations forces/{main={squashed text=SOF}},
+ suppression of enemy air defence/{main={squashed text=SEAD}},
+ tanker/{main={text=K}},
+ trainer/{main={text=T}},
+ ultra light/{main={text=UL}},
+ unmanned aerial vehicle/{main={[fill]unmanned}},
+ utility/{main={text=U}},
+ vertical short takeoff and landing/{main={text=V}},
+ very important person/{main={squashed text=VIP}},
+}}
+\CompatTable{air}{upper}{{
+ airborne command post/{upper={squashed text=ACP}},
+ airborne early warning/{upper={squashed text=AEW}},
+ anti submarine warfare/{upper={squashed text=ASW}},
+ anti surface warfare/{upper={squashed text=ASUW}},
+ cargo/{upper={text=C}},
+ combat search and rescue/{upper={squashed text=CSAR}},
+ communications/{upper={squashed text=COM}},
+ electronic support measures/{upper={squashed text=ESM}},
+ escort/{upper={text=E}},
+ government flight/{upper={squashed text=GOV}},
+ intensive care/{upper={text=IC}},
+ jammer/{upper={text=R}},
+ medical evacuation/{upper={[fill]medic}},
+ mine countermeasures/{upper={squashed text=MCM}},
+ passenger plane/{upper={text=PX}},
+ patrol/{upper={text=J}},
+ photography/{upper={text=PH}},
+ reconnaissance/{upper={text=P}},
+ search and rescue/{upper={squashed text=SAR}},
+ special operations forces/{upper={squashed text=SOF}},
+ suppression of enemy air defence/{upper={squashed text=SEAD}},
+ tanker/{upper={text=K}},
+ trainer/{upper={text=T}},
+ ultra light/{upper={text=UL}},
+ utility/{upper={text=U}},
+ very important person/{upper={squashed text=VIP}},
+}}
+
+\CompatTable{air}{lower}{{
+ boom and drogue/{lower={squashed text=B/D}},
+ boom only/{lower={text=B}},
+ close range/{lower={text=CR}},
+ drogue only/{lower={text=D}},
+ heavy/{lower={text=H}},
+ light/{lower={text=L}},
+ long range/{lower={text=LR}},
+ medium range/{lower={text=MR}},
+ medium/{lower={text=M}},
+ short range/{lower={text=SR}},
+}}
+%</cmp>
+%
diff --git a/macros/latex/contrib/wargame/source/natoapp6c/compat/equipment.dtx b/macros/latex/contrib/wargame/source/natoapp6c/compat/equipment.dtx
new file mode 100644
index 0000000000..d38cb93dbc
--- /dev/null
+++ b/macros/latex/contrib/wargame/source/natoapp6c/compat/equipment.dtx
@@ -0,0 +1,99 @@
+%<*cmp>
+\CompatSection{\spec{equipment}}
+\CompatTable{equipment}{main}{{
+ air defence gun/{main={gun=air defence}},
+ air defence missile launcher/{main={missile launcher=air defence}},
+ antennae/{main={antenna}},
+ anti tank gun/{main={gun=anti tank}},
+ anti tank missile launcher/{main={missile launcher=anti tank}},
+ anti tank rocket launcher/{main={rocket launcher=anti tank}},
+ antipersonnel land mine/{main={land mine=personnel}},
+ antitank land mine/{main={land mine=tank}},
+ armoured fighting vehicle command and control/{main={armoured fighting vehicle,small text=C2}},
+ armoured fighting vehicle/{main={armoured fighting vehicle}},
+ armoured medical personnel carrier/{main={{[save clip]armoured personnel carrier},{[scale=.7]medical}}},
+ armoured personnel carrier/{main={armoured personnel carrier}},
+ armoured protected recovery vehicle/{main={armoured,[scale=.7]maintenance}},
+ armoured protected vehicle/{main={armoured}},
+ automatic rifle/{main={rifle,type=heavy}},
+ bomb/{main={squashed text=BOMB}},
+ booby trap/{main={booby trap}},
+ bridge mounted on utility vehicle/{main={utility vehicle,[scale=.7]bridge}},
+ bridge/{main={bridge}},
+ bus/{main={utility vehicle,text=B}},
+ chemical biological radiological nuclear equipment/{main={chemical biological radiological nuclear}},
+ computer system/{main={computer system}},
+ direct fire gun/{main={gun=direct}},
+ drill mounted on vehicle/{main={utility vehicle,{[scale=.6,yshift=-3]drilling}}},
+ drill/{main={drilling}},
+ earthmover/{main={earthmover}},
+ fixed bridge/{main={bridge=fixed}},
+ flame thrower/{main={flame thrower}},
+ folding girder bridge/{main={bridge=folding}},
+ generator set/{main={text=G}},
+ grenade launcher/{main={grenade launcher}},
+ heavy grenade launcher/{main={grenade launcher,[yshift=-.2]type=heavy}},
+ heavy machine gun/{main={machine gun,type=heavy}},
+ heavy tank/{main={tank,type=vheavy}},
+ hollow deck bridge/{main={bridge=hollow}},
+ howitzer/{main={howitzer}},
+ improvised explosive device/{main={squashed text=IED}},
+ land mine/{main={land mine}},
+ laser/{main={laser}},
+ light grenade launcher/{main={grenade launcher,[yshift=-.2]type=light}},
+ light machine gun/{main={machine gun,type=light}},
+ light tank/{main={tank,type=vlight}},
+ machine gun/{main={machine gun}},
+ medical evacuation armoured protected vehicle/{main={armoured,[fill]medic}},
+ medical evacuation medical vehicle/{main={utility vehicle,[fill]medical}},
+ medium grenade launcher/{main={grenade launcher,[yshift=-.2]type=medium}},
+ medium machine gun/{main={machine gun,type=medium}},
+ medium tank/{main={tank,type=vmedium}},
+ mine clearing equipment/{main={mine clearing equipment}},
+ mine clearing vehicle/{main={tank,mine clearing equipment}},
+ mine laying equipment/{main={mine},upper={type=light}},
+ mine laying vehicle/{main={utility vehicle,mine},upper={type=light}},
+ missile launcher/{main={missile launcher}},
+ mobile emergency physician/{main={[save clip]utility vehicle,physician}},
+ mortar/{main={mortar}},
+ multifunctional earthmover/{main={earthmover,text=MF}},
+ multiple rocket launcher/{main={rocket launcher=multiple}},
+ non lethal grenade launcher/{main={grenade launcher=non lethal}},
+ non lethal weapon/{main={non lethal weapon}},
+ petroleum oil and lubricants vehicle/{main={utility vehicle,[scale=.6]fuel}},
+ psychological operations equipment/{main={psychological}},
+ radar/{main={radar}},
+ recoilless gun/{main={gun=recoilless}},
+ rifle/{main={rifle}},
+ semi automatic rifle/{main={rifle,type=medium}},
+ semi trailer truck/{main={semi trailer truck}},
+ sensor emplaced/{main={sensor},upper={jagged wave}},
+ sensor/{main={sensor}},
+ single rocket launcher/{main={rocket launcher=single}},
+ single shot rifle/{main={rifle,type=light}},
+ surface to surface missile launcher/{main={missile launcher=surface to surface}},
+ tank recovery vehicle/{main={tank,[scale=.8]maintenance}},
+ tank/{main={tank}},
+ taser/{main={non lethal weapon,text=Z}},
+ train locomotive/{main={train locomotive}},
+ utility vehicle/{main={utility vehicle}},
+ water cannon/{main={non lethal weapon,text=W}},
+ water vehicle/{main={utility vehicle,{[yshift=-3,scale=.6]water}}},
+}}
+
+\CompatTable{equipment}{lower}{{
+ amphibious/{below={amphibious}},
+ barge/{below={riverine}},
+ over snow/{below={over snow}},
+ pack animal/{below={pack animal}},
+ railroad/{below={railroad}},
+ sled/{below={sled}},
+ towed/{below={towed}},
+ tracked/{below={tracked}},
+ wheeled and tracked/{below={wheeled=and tracked}},
+ wheeled cross country/{below={wheeled=cross country}},
+ wheeled limited mobility/{below={wheeled=limited}},
+ wheeled semi trailer/{below={wheeled=semi}},
+}}
+%</cmp>
+%
diff --git a/macros/latex/contrib/wargame/source/natoapp6c/compat/installation.dtx b/macros/latex/contrib/wargame/source/natoapp6c/compat/installation.dtx
new file mode 100644
index 0000000000..0686c01cb0
--- /dev/null
+++ b/macros/latex/contrib/wargame/source/natoapp6c/compat/installation.dtx
@@ -0,0 +1,43 @@
+%<*cmp>
+\CompatSection{\spec{installation}}
+\CompatTable{installation}{main}{{
+ airport/{main={base},upper={air strip}},
+ ammunition cache/{main={ammunition,supply}},
+ black list location/{main={squashed text=BLK}},
+ broadcast transmitter antenna/{main={antenna}},
+ chemical biological radiological nuclear/{main={chemical biological radiological nuclear}},
+ civilian telecommunications/{main={civilian telecommunications}},
+ electric power/{main={electric power}},
+ food distribution/{main={food,supply}},
+ grey list location/{main={squashed text=GRAY}},
+ mass grave site/{main={{[scale=.7,yshift=-.05]mortuary affairs},{[scale=.7,shift={(-.22,.05)}]mortuary affairs},{[scale=.7,shift={(.22,.05)}]mortuary affairs}}},
+ medical treatment facility/{main={medical treatment}},
+ medical/{main={medical}},
+ mine/{main={quarry}},
+ naval/{main={naval}},
+ nuclear/{main={nuclear}},
+ printed media/{main={printed media}},
+ safe house/{main={squashed text=SAFE}},
+ transportation/{main={transportation}},
+ water treatment/{main={water,{[shift={(-.2,.-.1)}]small squashed text=PURE}}},
+ water/{main={water}},
+ white list location/{main={squashed text=WHT}},
+}}
+
+\CompatTable{installation}{upper}{{
+ biological/{upper={text=B}},
+ chemical/{upper={text=C}},
+ coal/{upper={text=CO}},
+ geothermal/{upper={text=GT}},
+ hydroelectric/{upper={text=HY}},
+ natural gas/{upper={text=NG}},
+ nuclear energy/{upper={nuclear}},
+ nuclear/{upper={text=N}},
+ petroleum/{upper={fuel}},
+ radio/{upper={text=R}},
+ railroad/{upper={railroad}},
+ telephone/{upper={text=T}},
+ television/{upper={text=TV}},
+ yard/{upper={squashed text=YRD}},
+}}
+%</cmp>
diff --git a/macros/latex/contrib/wargame/source/natoapp6c/compat/land.dtx b/macros/latex/contrib/wargame/source/natoapp6c/compat/land.dtx
new file mode 100644
index 0000000000..38c3951376
--- /dev/null
+++ b/macros/latex/contrib/wargame/source/natoapp6c/compat/land.dtx
@@ -0,0 +1,266 @@
+%<*cmp>
+\CompatSection{\spec{land}}
+\CompatTable{land}{main}{{
+ above corps support/{main={above corps support}},
+ administrative/{main={squashed text=ADM}},
+ air and naval gunfire liaison company/{main={[fill]artillery,reconnaissance,air traffic},upper={naval}},
+ air assault with organic lift/{main={air assault with organic lift}},
+ air defence/{main={air defence}},
+ air traffic services/{main={air traffic,[fill]individual}},
+ ammunition/{main={ammunition}},
+ amphibious/{main={amphibious}},
+ analysis electronic warfare/{main={analysis,electronic warfare wide}},
+ analysis/{main={analysis}},
+ anti tank anti armour/{main={anti tank anti armour}},
+ armoured engineer/{main={armoured,[scale=.7]engineer}},
+ armoured/{main={armoured}},
+ aviation composite fixed wing and rotary wing/{main={[fill]fixed and rotary wing}},
+ aviation fixed wing/{main={fixed wing}},
+ aviation rotary wing/{main={rotary wing}},
+ band/{main={squashed text=BAND}},
+ broadcast transmitter antenna/{main={antenna}},
+ chemical biological radiological nuclear defence/{main={chemical biological radiological nuclear}},
+ civil affairs/{main={text=CA}},
+ civilian military cooperation/{main={civilian military cooperation}},
+ civilian police/{main={civilian police}},
+ combat service support/{main={squashed text=CSS}},
+ combat support/{main={combat support}},
+ combat/{main={squashed text=CBT}},
+ combined arms/{main={combined arms}},
+ corps support/{main={corps support}},
+ counter intelligence/{main={text=CI}},
+ criminal investigation division/{main={squashed text=CID}},
+ direction finding electronic warfare/{main={direction finding,electronic warfare wide}},
+ diving/{main={diving}},
+ dog/{main={squashed text=DOG}},
+ drilling/{main={drilling}},
+ electronic ordinance disposal/{main={squashed text=EOD}},
+ electronic ranging/{main={electronic ranging}},
+ electronic warfare/{main={text=EW}},
+ engineer/{main={engineer}},
+ environmental protection/{main={environmental protection}},
+ field artillery observer/{main={{[clip]observer},{[scale=.7,shift={(0,-.1)},fill]artillery},reconnaissance}},
+ field artillery/{main={[fill]artillery}},
+ finance/{main={finance}},
+ fire protection/{main={fire protection}},
+ geospatial support/{main={squashed text=GEO}},
+ government organization/{main={text=GO}},
+ headquarters/{main={headquarters}},
+ individual/{main={individual}},
+ infantry/{main={infantry}},
+ information operations/{main={text=IO}},
+ intercept electronic warfare/{main={[fill]analysis,electronic warfare wide}},
+ intercept/{main={[fill]analysis}},
+ internal security force/{main={squashed text=ISF}},
+ interrogation/{main={squashed text=IPW}},
+ jamming electronic warfare/{main={jamming,text=EW}},
+ jamming/{main={jamming}},
+ joint fire support/{main={squashed text=JFS}},
+ judge advocate general/{main={squashed text=JAG}},
+ killing victim/{main={killing,individual}},
+ killing victims/{main={killing,group}},
+ labour/{main={labour}},
+ laundry/{main={laundry}},
+ liaison/{main={text=LO}},
+ main gun system/{main={main gun}},
+ maintenance/{main={maintenance=fill}},
+ material/{main={squashed text=MAT}},
+ medical treatment facility/{main={medical treatment}},
+ medical/{main={medical}},
+ meteorological/{main={squashed text=MET}},
+ military intelligence/{main={text=MI}},
+ military police/{main={text=MP}},
+ mine/{main={mine}},
+ missile/{main={land missile}},
+ morale welfare and recreation/{main={squashed text=MWE}},
+ mortar/{main={mortar}},
+ mortuary affairs/{main={mortuary affairs}},
+ motorized/{main={motorized}},
+ naval/{main={naval}},
+ observer/{main={observer}},
+ ordnance/{main={ordnance}},
+ organisation or group/{main={organisation}},
+ personnel services/{main={text=PS}},
+ petroleum oil and lubricants/{main={fuel}},
+ pipeline/{main={pipeline}},
+ postal/{main={postal}},
+ psychological operations broadcast/{main={antenna,{[scale=.7,fill]psychological}}},
+ psychological/{main={psychological}},
+ public affairs/{main={text=PA}},
+ quartermaster/{main={quartermaster}},
+ radar/{main={radar}},
+ radio relay:/{main={radio relay}},
+ radio teletype centre/{main={radio teletype}},
+ radio/{main={radio}},
+ reconnaissance/{main={reconnaissance}},
+ religious support/{main={squashed text=REL}},
+ replacement holding unit/{main={squashed text=RHU}},
+ sea air land/{main={squashed text=SEAL}},
+ search electronic warfare/{main={search,electronic warfare wide}},
+ search/{main={search}},
+ security/{main={squashed text=SEC}},
+ self propelled field artillery/{main={motorized,artillery}},
+ sensor/{main={sensor}},
+ shore patrol security police/{main={text=SP}},
+ signal radio relay/{main={signal,radio relay}},
+ signal radio teletype centre/{main={signal,radio teletype}},
+ signal radio/{main={signal,radio}},
+ signal tactical satellite/{main={signal,tactical satellite}},
+ signal/{main={signal}},
+ sniper:/{main={sniper}},
+ special forces/{main={text=SF}},
+ special operations forces/{main={squashed text=SOF}},
+ spy:/{main={squashed text=SPY}},
+ supply/{main={supply}},
+ surveillance/{main={[fill]observer}},
+ survey/{main={survey}},
+ sustainment/{main={squashed text=SUST}},
+ tactical mortar/{main={armoured,[scale=.6]mortar}},
+ tactical satellite/{main={tactical satellite}},
+ topographic/{main={topographic}},
+ transportation/{main={transportation}},
+ unmanned systems/{main={unmanned}},
+ victim of an attempted crime/{main={individual,crime}},
+ video imagery/{main={video imagery}},
+ water purification/{main={water,{[shift={(-.2,.-.1)}]small squashed text=PURE}}},
+ water/{main={water}},
+}}
+
+\CompatTable{land}{upper}{{
+ Mil medical role 1/{upper={text=1}},
+ Mil medical role 2/{upper={text=2}},
+ Mil medical role 3/{upper={text=3}},
+ Mil medical role 4/{upper={text=4}},
+ air assault/{upper={air assault}},
+ area/{upper={squashed text=AREA}},
+ assassination/{upper={text=AS}},
+ attack/{upper={text=A}},
+ biological/{upper={text=B}},
+ border/{upper={squashed text=BOR}},
+ bridging/{upper={bridge}},
+ chemical/{upper={text=C}},
+ close protection/{upper={squashed text=CLP}},
+ coerced or impressed recruit/{upper={text=C}},
+ combat/{upper={squashed text=CBT}},
+ command and control/{upper={text=C2}},
+ communications contingency package/{upper={squashed text=CCP}},
+ construction/{upper={squashed text=CONST}},
+ cross cultural communication/{upper={squashed text=CCC}},
+ crowd and riot control/{upper={squashed text=CRC}},
+ decontamination/{upper={text=D}},
+ detention/{upper={squashed text=DET}},
+ direct communications/{upper={direct communications}},
+ displaced persons refugees and evacuees/{upper={squashed text=DPRE}},
+ diving/{upper={diving}},
+ division/{upper={text=XX}},
+ dog/{upper={squashed text=DOG}},
+ drilling/{upper={drilling}},
+ electro optical/{upper={text=EO}},
+ enhanced/{upper={squashed text=ENH}},
+ execution/{upper={text=EX}},
+ explosive ordnance disposal/{upper={squashed text=EOD}},
+ fire direction centre/{upper={squashed text=FDC}},
+ force/{upper={text=F}},
+ foreign fighters/{upper={text=FF}},
+ forward/{upper={squashed text=FWD}},
+ gang member or gang/{upper={squashed text=GANG}},
+ government organisation/{upper={text=GO}},
+ ground station module/{upper={squashed text=GSM}},
+ hijacking/{upper={text=H}},
+ kidnapping/{upper={text=K}},
+ landing support/{upper={text=LS}},
+ large extension node/{upper={squashed text=LEN}},
+ leader or leadership/{upper={squashed text=LDR}},
+ maintenance:/{upper={maintenance}},
+ mine countermeasuure/{upper={squashed text=MCM}},
+ missile:/{upper={land missile}},
+ mobile advisor and support/{upper={mobile advisor and support}},
+ mobile subscriber equipment/{upper={squashed text=MSE}},
+ mobility support/{upper={text=MS}},
+ movement control centre/{upper={squashed text=MCC}},
+ multinational specialized unit/{upper={squashed text=MSU}},
+ multinational/{upper={text=MN}},
+ multiple rocket launcher/{upper={rocket launcher=multiple head}},
+ murder victims/{upper={text=MU}},
+ naval/{upper={naval}},
+ node centre/{upper={text=NC}},
+ non-governmental organization member or non-governmental/{upper={organisation}},
+ nuclear:/{upper={text=N}},
+ operations:/{upper={squashed text=OPS}},
+ piracy:/{upper={text=PI}},
+ radar:/{upper={radar}},
+ radiological/{upper={squashed text=RAD}},
+ rape/{upper={text=RA}},
+ religious or religious organisation/{upper={squashed text=REL}},
+ runway/{upper={runway}},
+ search and rescue/{upper={squashed text=SAR}},
+ security/{upper={squashed text=SEC}},
+ sensor control module/{upper={squashed text=SEM}},
+ sensor/{upper={sensor}},
+ signals intelligence/{upper={signals intelligence}},
+ single rocket launcher/{upper={rocket launcher=single head}},
+ single shelter switch/{upper={squashed text=SSS}},
+ smoke/{upper={text=S}},
+ sniper/{upper={sniper}},
+ sound ranging/{upper={squashed text=SDR}},
+ special weapons and tactics/{upper={squashed text=SWAT}},
+ survey:/{upper={survey}},
+ tactical exploitation/{upper={text=TE}},
+ target acquisition/{upper={text=TA}},
+ targeted individual or organisation/{upper={squashed text=TGT}},
+ terrorist or terrorist organisation/{upper={squashed text=TER}},
+ topographic/{upper={topographic}},
+ utility/{upper={text=U}},
+ video imagery/{upper={video imagery}},
+ willing recruit/{upper={text=W}},
+}}
+
+\CompatTable{land}{lower}{{
+ airborne/{lower={airborne}},
+ arctic/{lower={arctic}},
+ battle damage repair/{lower={squashed text=BDR}},
+ bicycle equipped/{lower={bicycle equipped}},
+ clearing/{lower={squashed text=CLR}},
+ close range/{lower={text=CR}},
+ control/{lower={control}},
+ decontamination/{lower={text=D}},
+ demolition/{lower={squashed text=DEM}},
+ dental/{lower={text=D}},
+ digital/{lower={squashed text=DIG}},
+ enhanced location reporting system/{lower={enhanced location reporting system}},
+ equipment/{lower={text=E}},
+ heavy/{lower={text=H}},
+ intensive care/{lower={text=IC}},
+ intermodal/{lower={intermodal}},
+ laboratory/{lower={squashed text=LAB}},
+ launcher/{lower={launcher}},
+ light/{lower={text=L}},
+ long range/{lower={text=LR}},
+ medium range/{lower={text=MR}},
+ mountain/{lower={mountain}},
+ multi channel/{lower={text=MC}},
+ optical/{lower={squashed text=OPT}},
+ pack animal/{lower={pack animal}},
+ patient evacuation coordination/{lower={squashed text=PEC}},
+ preventative maintenance/{lower={text=PM}},
+ psychological/{lower={text=P}},
+ radio relay line of sight/{lower={radio relay line of sight}},
+ railroad/{lower={railroad}},
+ recovery maintenance/{lower={maintenance}},
+ recovery unmanned systems/{lower={recovery unmanned systems}},
+ rescue coordination centre/{lower={squashed text=RCC}},
+ riverine/{lower={riverine}},
+ short range/{lower={text=SR}},
+ single channel/{lower={text=SC}},
+ ski/{lower={ski}},
+ strategic/{lower={squashed text=STR}},
+ support/{lower={squashed text=SPT}},
+ tactical/{lower={squashed text=TAC}},
+ towed/{lower={towed}},
+ troop/{lower={text=T}},
+ vertical of short takeoff and landing/{lower={squashed text=VSTOL}},
+ veterinary/{lower={text=V}},
+ wheeled/{lower={wheeled}},
+}}
+%</cmp>
+%
diff --git a/macros/latex/contrib/wargame/source/natoapp6c/compat/missile.dtx b/macros/latex/contrib/wargame/source/natoapp6c/compat/missile.dtx
new file mode 100644
index 0000000000..db7ea7176d
--- /dev/null
+++ b/macros/latex/contrib/wargame/source/natoapp6c/compat/missile.dtx
@@ -0,0 +1,14 @@
+%<*cmp>
+\CompatSection{\spec{missile}}
+\CompatTable{missile}{main}{{
+ missile/{main={missile}},
+ air/{main={missile},left={text=A}},
+ anti ballistic/{main={missile},left={text=AB}},
+ ballistic/{main={missile},left={text=B}},
+ cruise/{main={missile},left={text=C}},
+ space/{main={missile},left={text=SP}},
+ sub surface/{main={missile},left={text=SU}},
+ surface/{main={missile},left={text=S}},
+}}
+%</cmp>
+%
diff --git a/macros/latex/contrib/wargame/source/natoapp6c/compat/seamine.dtx b/macros/latex/contrib/wargame/source/natoapp6c/compat/seamine.dtx
new file mode 100644
index 0000000000..f4bdbd9d2f
--- /dev/null
+++ b/macros/latex/contrib/wargame/source/natoapp6c/compat/seamine.dtx
@@ -0,0 +1,18 @@
+%<*cmp>
+\CompatSection{\spec{sea mine}}
+\CompatTable{sea mine}{main}{{
+ free/{main={sea mine}},
+ free-neutralised/{main={sea mine=neutralised}},
+ bottomed/{main={sea mine},lower={bottomed}},
+ bottomed-neutralised/{main={sea mine=neutralised},lower={bottomed}},
+ moored/{main={sea mine},lower={moored}},
+ moored-neutralised/{main={sea mine=neutralized},lower={moored}},
+ floating/{main={sea mine},lower={floating}},
+ floating-neutralised/{main={sea mine=neutralised},lower={floating}},
+ in other position/{main={sea mine,in position}},
+ in other position-neutralised/{main={sea mine=neutralised,in position}},
+ rising/{main={sea mine},lower={rising}},
+ rising-neutralised/{main={sea mine=neutralised},lower={rising}},
+}}
+%</cmp>
+%
diff --git a/macros/latex/contrib/wargame/source/natoapp6c/compat/seasurface.dtx b/macros/latex/contrib/wargame/source/natoapp6c/compat/seasurface.dtx
new file mode 100644
index 0000000000..2470da3a4b
--- /dev/null
+++ b/macros/latex/contrib/wargame/source/natoapp6c/compat/seasurface.dtx
@@ -0,0 +1,131 @@
+%<*cmp>
+\CompatSection{\spec{sea surface}}
+\CompatTable{sea surface}{main}{{
+ ammunition ship/{main={text=AE}},
+ amphibious assault ship/{main={squashed text=LHA}},
+ amphibious assault/{main={text=LA}},
+ amphibious assualt ship helicopter/{main={squashed text=LPH}},
+ amphibious command ship/{main={squashed text=LCC}},
+ amphibious transport/{main={squashed text=LPD}},
+ amphibious warfare ship/{main={amphibious warfare ship}},
+ auxiliary flag ship/{main={squashed text=AGF}},
+ auxiliary ship/{main={text=AA}},
+ barge/{main={ship,[shift={(0,-.05)}]small text=YB}},
+ battleship/{main={text=BB}},
+ cargo/{main={ship,text=A}},
+ carrier/{main={carrier}},
+ civilian boat/{main={boat}},
+ civilian jetski/{main={jetski}},
+ civilian rigid hull inflatable boat/{main={boat,[shift={(0,-.05)}]small text=RB}},
+ civilian speedboat/{main={boat,[shift={(0,-.05)}]small text=SP}},
+ civilian unmanned surface water vehicle/{main={unmanned}},
+ civilian/{main={squashed text=CIV}},
+ combat support ship/{main={squashed text=AOE}},
+ combatant/{main={combatant}},
+ container ship/{main={ship,text=C}},
+ convoy/{main={convoy}},
+ corvette/{main={text=FS}},
+ cruiser guided missile/{main={text=CG}},
+ destroyer/{main={text=DD}},
+ dredge/{main={ship,text=D}},
+ drifter/{main={fishing vessel,text=DF}},
+ ferry/{main={ship,text=F}},
+ fishing vessel/{main={fishing vessel}},
+ frigate/{main={text=FF}},
+ harbour tug/{main={text=YT}},
+ hazardous material transport ship/{main={ship,[yshift=.-.07]small text=HZ}},
+ heavy lift/{main={ship,text=H}},
+ hospital ship/{main={text=AH}},
+ hovercraft/{main={ship,text=J}},
+ intelligence collector/{main={squashed text=AGI}},
+ junk/{main={ship,[yshift=-.07]small text=QJ}},
+ landing craft/{main={text=LC}},
+ landing ship/{main={text=LS}},
+ lash carrier/{main={ship,text=L}},
+ launch/{main={squashed text=YFT}},
+ law enforcement vessel/{main={coast guard vessel}},
+ littoral combatant ship/{main={squashed text=LCS}},
+ military jetski/{main={[fill]jetski}},
+ military rigid hull inflatable boat/{main={{[fill]boat},{[white,scale=.5,yshift=-1.2]small text=RB}}},
+ military speedboat/{main={[fill]boat}},
+ military unmanned surface water vehicle/{main={[fill]unmanned}},
+ military/{main={squashed text=MIL}},
+ mine countermeasure support ship/{main={squashed text=MCS}},
+ mine countermeasures/{main={squashed text=MCM}},
+ mine warfare vessel/{main={mine warfare vessel}},
+ minehunter/{main={text=MH}},
+ minelayer/{main={text=ML}},
+ minesweeper drone/{main={squashed text=MSD}},
+ minesweeper/{main={text=MS}},
+ multi purpose amphibious assualt ship/{main={squashed text=LHD}},
+ naval cargo ship/{main={text=AK}},
+ navy task element/{main={navy task,squashed text=TE}},
+ navy task force/{main={navy task,squashed text=TF}},
+ navy task group/{main={navy task,squashed text=TG}},
+ navy task organisation unit/{main={navy task}},
+ navy task unit/{main={navy task,squashed text=TU}},
+ non combatant/{main={non combatant}},
+ non self propelled barge/{main={text=YB}},
+ ocean going tug/{main={text=AT}},
+ ocean research ship/{main={squashed text=AGO}},
+ oiler/{main={squashed text=AOR}},
+ passenger ship/{main={ship,text=P}},
+ patrol craft/{main={text=PC}},
+ patrol ship/{main={text=PG}},
+ patrol/{main={patrol}},
+ repair ship/{main={text=AR}},
+ roll on roll off/{main={ship,text=E}},
+ sailing boat/{main={sailing boat}},
+ sea surface decoy/{main={decoy}},
+ self propelled barge/{main={text=YS}},
+ service craft/{main={text=YY}},
+ ship/{main={ship}},
+ stores ship/{main={text=AF}},
+ submarine tender/{main={text=AS}},
+ surface combatant/{main={surface combatant}},
+ survey ship/{main={squashed text=AGS}},
+ tanker/{main={ship,text=O}},
+ tow/{main={ship,[yshift=-.09]small text=TW}},
+ trawler/{main={fishing vessel,[yshift=-.09]small text=TR}},
+ tug/{main={ship,text=T}},
+}}
+
+\CompatTable{sea surface}{upper}{{
+ anti air warfare/{upper={squashed text=AAW}},
+ anti submarine warfare/{upper={squashed text=ASW}},
+ ballistic missile/{upper={text=B}},
+ drone equipped/{upper={[fill]unmanned}},
+ electronic warfare/{upper={text=EW}},
+ escort/{upper={text=E}},
+ guided missile/{upper={text=G}},
+ helicopter equipped/{upper={text=H}},
+ intelligence surveillance reconnaissance/{upper={squashed text=ISR}},
+ medical/{upper={text=ME}},
+ mine counter measures/{upper={squashed text=MCM}},
+ mine warfare/{upper={text=MW}},
+ missile defence/{upper={text=MD}},
+ other guided missile/{upper={text=M}},
+ remote multi mission vehicle/{upper={squashed text=RMV}},
+ special operations force/{upper={squashed text=SOF}},
+ surface warfare/{upper={squashed text=SUW}},
+ torpedo/{upper={text=T}},
+}}
+
+\CompatTable{sea surface}{lower}{{
+ air cushioned alternate/{lower={text=AC}},
+ air cushioned/{lower={text=J}},
+ autonomous control/{lower={squashed text=AUT}},
+ dock/{lower={text=D}},
+ expendable/{lower={squashed text=EXP}},
+ fast/{lower={text=F}},
+ heavy/{lower={text=H}},
+ hydrofoil/{lower={text=K}},
+ light/{lower={text=L}},
+ logistics/{lower={squashed text=LOG}},
+ medium/{lower={text=M}},
+ nuclear powered/{lower={text=N}},
+ remotely piloted/{lower={text=RP}},
+ tank/{lower={text=T}},
+ vehicle/{lower={text=V}},
+}}
+%</cmp>
diff --git a/macros/latex/contrib/wargame/source/natoapp6c/compat/space.dtx b/macros/latex/contrib/wargame/source/natoapp6c/compat/space.dtx
new file mode 100644
index 0000000000..4a1a421911
--- /dev/null
+++ b/macros/latex/contrib/wargame/source/natoapp6c/compat/space.dtx
@@ -0,0 +1,51 @@
+%<*cmp>
+\CompatSection{\spec{space}}
+\CompatTable{space}{main}{{
+ anti satellite weapon/{main={[fill]satellite,[scale=.6]rifle}},
+ civilian astronomical satellite/{main={satellite=astronomical}},
+ civilian bio satellite/{main={satellite=bio}},
+ civilian capsule/{main={capsule}},
+ civilian communications satellite/{main={satellite=communications}},
+ civilian earth observation satellite/{main={satellite=earth observing}},
+ civilian miniaturised satellite/{main={satellite=small}},
+ civilian navigational satellite/{main={satellite=navigation}},
+ civilian orbiter shuttle/{main={orbiter shuttle}},
+ civilian satellite/{main={satellite}},
+ civilian space station/{main={space station}},
+ civilian tether satellite/{main={satellite=tether}},
+ civilian weather satellite/{main={[yshift=-4]satellite,text=WX}},
+ military astronomical satellite/{main={[fill]satellite=astronomical}},
+ military bio satellite/{main={[fill]satellite=bio}},
+ military capsule/{main={[fill]capsule}},
+ military communications satellite/{main={[fill]satellite=communications}},
+ military earth observation satellite/{main={[fill]satellite=earth observing}},
+ military miniaturised satellite/{main={[fill]satellite=small}},
+ military navigational satellite/{main={[fill]satellite=navigation}},
+ military orbiter shuttle/{main={[fill]orbiter shuttle}},
+ military satellite/{main={[fill]satellite=none}},
+ military space station/{main={[fill]space station}},
+ military tether satellite/{main={[fill]satellite=tether}},
+ military weather satellite/{main={{[fill,yshift=-4]satellite},text=WX}},
+ planet lander/{main={text=PL}},
+ reconnaissance satellite/{main={satellite=reconnaissance}},
+ reentry vehicle/{main={text=RV}},
+ satellite/{main={squashed text=SAT}},
+ space vehicle/{main={text=SV}},
+}}
+
+\CompatTable{space}{upper}{{
+ geostationary orbit/{upper={text=GO}},
+ geosynchronous orbit/{upper={squashed text=GSO}},
+ high earth orbit/{upper={squashed text=HEO}},
+ low earth orbit/{upper={squashed text=LEO}},
+ medium earth orbit/{upper={squashed text=MEO}},
+ molinya orbit/{upper={text=MO}},
+}}
+
+\CompatTable{space}{lower}{{
+ infra red/{lower={text=IR}},
+ optical/{lower={text=O}},
+ radar=/{lower={text=R}},
+ signals instelligence/{lower={text=SI}},
+}}
+%</cmp>
diff --git a/macros/latex/contrib/wargame/source/natoapp6c/compat/subsurface.dtx b/macros/latex/contrib/wargame/source/natoapp6c/compat/subsurface.dtx
new file mode 100644
index 0000000000..38a867bdcd
--- /dev/null
+++ b/macros/latex/contrib/wargame/source/natoapp6c/compat/subsurface.dtx
@@ -0,0 +1,67 @@
+%<*cmp>
+\CompatSection{\spec{sub surface}}
+\CompatTable{sub surface}{main}{{
+ autonomous underwater vehicle/{main={[fill]unmanned}},
+ bottomed sea mine decoy/{main={[fill]sea mine=top half,{[scale=.6,yshift=-6]decoy}},lower={bottomed}},
+ bottomed submarine/{main={submarine},lower={bottomed}},
+ civilian autonomous underwatervehicle/{main={unmanned}},
+ civilian diver/{main={diving}},
+ civilian seabed installation/{main={seabed installation}},
+ civilian submersible/{main={submersible}},
+ civilian/{main={squashed text=CIV}},
+ improvised explosive device/{main={squashed text=IED}},
+ military diver/{main={diving=military}},
+ military seabed installation/{main={[fill]seabed installation}},
+ military/{main={squashed text=MIL}},
+ moored sea mine decoy/{main={[fill]sea mine=top half,{[yshift=-4,scale=.6]decoy}},lower={[yshift=-2]bottomed,moored}},
+ non submarine/{main={small squashed text=NON SUB}},
+ other submersible/{main={[fill]submersible}},
+ sea mine decoy/{main={[fill]sea mine=top half,{[scale=.6,yshift=-6]decoy}}},
+ snorkelling submarine/{main={submarine},upper={[yshift=-8]surfaced,[yshift=-2]type=vlight}},
+ submarine/{main={submarine}},
+ surfaced submarine/{main={submarine},lower={surfaced}},
+ torpedo/{main={torpedo}},
+ underwater decoy/{main={decoy},upper={[yshift=-4]bottomed}},
+ underwater weapon/{main={squashed text=WPN}},
+ unexploded ordnance/{main={unexploded ordnance}},
+}}
+
+\CompatTable{sub surface}{upper}{{
+ anti submarine warfare/{upper={squashed text=ASW}},
+ attack/{upper={text=A}},
+ auxiliary/{upper={squashed text=AUX}},
+ ballistic missile/{upper={text=B}},
+ certain submarine/{upper={text=CT}},
+ command and control/{upper={text=C2}},
+ guided missile/{upper={text=G}},
+ intelligence surveillance reconnaissance/{upper={squashed text=ISR}},
+ mine countermeasures/{upper={squashed text=MCM}},
+ mine warfare/{upper={text=MW}},
+ other guided missile/{upper={text=M}},
+ possible submarine high 3/{upper={text=P3}},
+ possible submarine high 4/{upper={text=P4}},
+ possible submarine low 1/{upper={text=P1}},
+ possible submarine low 2/{upper={text=P2}},
+ probable submarine/{upper={text=PB}},
+ special operations force/{upper={squashed text=SOF}},
+ surface warfare/{upper={squashed text=SUW}},
+}}
+
+\CompatTable{sub surface}{lower}{{
+ air independent propulsion/{lower={text=AI}},
+ autonomous control/{lower={squashed text=AUT}},
+ diesel propulsion/{lower={text=D}},
+ diesel type 1/{lower={text=D1}},
+ diesel type 2/{lower={text=D2}},
+ diesel type 3/{lower={text=D3}},
+ expendable/{lower={squashed text=EXP}},
+ nuclear propulsion/{lower={text=N}},
+ nuclear type 1/{lower={text=N1}},
+ nuclear type 2/{lower={text=N2}},
+ nuclear type 3/{lower={text=N3}},
+ nuclear type 4/{lower={text=N4}},
+ nuclear type 5/{lower={text=N5}},
+ nuclear type 6/{lower={text=N6}},
+ remotely piloted/{lower={text=RP}},
+}}
+%</cmp>
diff --git a/macros/latex/contrib/wargame/source/natoapp6c/core.dtx b/macros/latex/contrib/wargame/source/natoapp6c/core.dtx
new file mode 100644
index 0000000000..8a2caf322e
--- /dev/null
+++ b/macros/latex/contrib/wargame/source/natoapp6c/core.dtx
@@ -0,0 +1,226 @@
+% \iffalse
+% ====================================================================
+% \fi
+%
+% \subsection{The \texttt{wargame.natoapp6c} \TikZ{} library}
+%
+% In this section we define the code for the Tikz library. The
+% library defines a number of \spec{pic} keys we can use to draw
+% various parts of a marker. The markers conform to NATO App~6(c)
+% specification. The implementation here is heavily inspired by the
+% package \textsf{milsymb} \cite{milsymb} available at CTAN.
+%
+% \iffalse
+%<*natoapp6c>
+% \fi
+%
+%
+% \iffalse
+% --------------------------------------------------------------------
+% \fi
+% \subsubsection{Debugging}
+% \begin{Macro}{\natoappdbglvl,\n@to@pp@dbg}
+%
+% Set the debug level, and make debug message.
+%
+% \begin{macrocode}
+\usetikzlibrary{wargame.util}
+\usetikzlibrary{calc}
+\usetikzlibrary{arrows.meta}
+\usetikzlibrary{shapes.symbols}
+\usetikzlibrary{positioning,intersections}
+\newcount\natoappdbglvl\natoappdbglvl=\wargamedbglvl
+\def\n@to@pp@dbg#1#2{%
+ \ifnum#1>\natoappdbglvl\relax\else\message{^^J#2}\fi}
+% \end{macrocode}
+% \end{Macro}
+%
+% \iffalse
+% --------------------------------------------------------------------
+% \fi
+% \subsubsection{Colours}
+%
+% \begin{Macro}{\c@friendly,
+% \c@hostile,
+% \c@neutral,
+% \c@unknown}
+%
+% Define standard colours for marker affiliations.
+%
+% \begin{tabular}{|l|c|}
+% \hline
+% \rowcolor{headbg}
+% {\color{headfg}\textbf{Name}}
+% & {}\\
+% \hline
+% \spec{friendly} & \tikz{\draw[fill=friendly] (0,0) rectangle(1,.2);}\\
+% \spec{hostile} & \tikz{\draw[fill=hostile ] (0,0) rectangle(1,.2);}\\
+% \spec{neutral} & \tikz{\draw[fill=neutral ] (0,0) rectangle(1,.2);}\\
+% \spec{unknown} & \tikz{\draw[fill=unknown ] (0,0) rectangle(1,.2);}\\
+% \hline
+% \end{tabular}
+%
+% \begin{macrocode}
+\definecolor{friendly}{RGB}{128, 224, 255}
+\definecolor{hostile}{RGB}{255, 128, 128}
+\definecolor{neutral}{RGB}{170, 255, 170}
+\definecolor{unknown}{RGB}{255, 255, 128}
+\tikzset{%
+ faction/.code={%
+ \@ifundefined{natoapp@fac}{%
+ }{\tikzset{fill=\natoapp@fac}}}}
+% \end{macrocode}
+% \end{Macro}
+%
+%
+% \iffalse
+% --------------------------------------------------------------------
+% \fi
+% \subsubsection{Some dimensions}
+%
+% We define a number of dimensions which we will use in the
+% following. They provide a rough parameterisation of the node
+% shapes, but shouldn't really be changed. We have them here so that
+% the code uses as few hard coded numbers as possible.
+%
+% The dimensions are
+% \begin{itemize}
+% \item Installation `hat' $x$ coordinate
+% \item Installation `hat' height
+% \item Activity width of boxes
+% \item Height of space bar
+% \item Radius of the symbol
+% \end{itemize}
+%
+% \begin{macrocode}
+\newdimen\n@to@pp@inst@x\n@to@pp@inst@x=0.2cm
+\newdimen\n@to@pp@inst@h\n@to@pp@inst@h=0.15cm
+\newdimen\n@to@pp@act@w\n@to@pp@act@w=0.15cm
+\newdimen\n@to@pp@space@h\n@to@pp@space@h=0.1cm
+\newdimen\n@to@pp@r\n@to@pp@r=0.5cm
+% \end{macrocode}
+%
+% \iffalse
+% --------------------------------------------------------------------
+% \fi
+% \subsubsection{Some utilities}
+%
+% \begin{Macro}{\n@to@pp@isclip}
+% This detects if we're in a node that is being used for clipping
+%
+% \begin{macrocode}
+%\def\n@to@pp@cliptoken{clip}
+%\def\n@to@pp@isclip{FF\fi%
+% % \message{^^Jclip is \meaning\pgf@up@clip}%
+% \ifx\pgf@up@clip\n@to@pp@cliptoken}
+\newif\ifn@to@pp@isclip\n@to@pp@isclipfalse
+% \end{macrocode}
+% \end{Macro}
+%
+%
+% \begin{Macro}{\n@to@pp@saved@fill@color,\n@to@pp@saved@stroke@color}
+%
+% Macros to hold saved colours.
+
+% \begin{macrocode}
+\let\n@to@pp@saved@stroke@color\relax
+\let\n@to@pp@saved@fill@color\relax
+% \end{macrocode}
+% \end{Macro}
+%
+% \begin{Macro}{\n@to@pp@stroke@to@fill,\n@to@pp@restore@fill}
+% Macro to get stroke and fill colours and set the fill colour to
+% the stroke colour, and to restore to the old setting. This is
+% used by the frame shapes below to make sure that filled elements
+% of the frame uses the same colour as the for strokes.
+%
+% \begin{macrocode}
+\newcommand\n@to@pp@stroke@to@fill{%
+ %
+ \expandafter\let\expandafter\n@to@pp@saved@stroke@color%
+ \csname\string\color@pgfstrokecolor\endcsname%
+ %
+ \expandafter\let\expandafter\n@to@pp@saved@fill@color%
+ \csname\string\color@pgffillcolor\endcsname%
+ %
+ \expandafter\pgf@setfillcolor\n@to@pp@saved@stroke@color%
+ %
+ % \message{^^J=== Set fill to stroke color
+ % ^^J Old fill: \meaning\n@to@pp@saved@fill@color
+ % ^^J Old stroke: \meaning\n@to@pp@saved@stroke@color}
+}
+% \end{macrocode}
+%
+%
+%
+% \begin{macrocode}
+\newcommand\n@to@pp@restore@fill{%
+ % \message{^^J=== Restore fill color
+ % ^^J Old fill: \meaning\n@to@pp@saved@fill@color
+ % ^^J Old stroke: \meaning\n@to@pp@saved@stroke@color}
+ %
+ \ifx\n@to@pp@saved@fill@color\relax\else%
+ \expandafter\pgf@setfillcolor\n@to@pp@saved@fill@color%
+ \fi%
+ \global\let\n@to@pp@saved@fill@color\relax
+ \global\let\n@to@pp@saved@stroke@color\relax
+}
+% \end{macrocode}
+%
+% We also make an environment, just to simplify the use
+%
+% \begin{macrocode}
+\newenvironment{n@to@pp@stroketofill}{%
+ \pgfscope%
+ \n@to@pp@stroke@to@fill%
+}{%
+ \n@to@pp@restore@fill%
+ \endpgfscope%
+}
+% \end{macrocode}
+% \end{Macro}
+%
+% \iffalse
+% --------------------------------------------------------------------
+% \fi
+% \subsubsection{Faction names as macros}
+%
+% \begin{macrocode}
+\def\n@to@pp@friendly{friendly}
+\def\n@to@pp@hostile{hostile}
+\def\n@to@pp@neutral{neutral}
+\def\n@to@pp@unknown{unknown}
+% \end{macrocode}
+%
+% \iffalse
+% --------------------------------------------------------------------
+% \fi
+% \subsubsection{Node shapes}
+%
+% Here we define bases for all commands and affiliations. These are
+% defined as node shapes. This means we will render the NATO App6(c)
+% symbols as nodes with embedded nodes of the relevant shape.
+%
+%
+%
+% \input{natoapp6c/frames/base.dtx}
+% \input{natoapp6c/frames/friendly.dtx}
+% \input{natoapp6c/frames/hostile.dtx}
+% \input{natoapp6c/frames/neutral.dtx}
+% \input{natoapp6c/frames/unknown.dtx}
+%
+% \iffalse
+% --------------------------------------------------------------------
+% \fi
+%
+% \input{natoapp6c/echelon.dtx}
+% \input{natoapp6c/text.dtx}
+% \input{natoapp6c/shape.dtx}
+% \input{natoapp6c/util.dtx}
+% \input{natoapp6c/weaponry.dtx}
+% \input{natoapp6c/symbols.dtx}
+% \input{natoapp6c/list.dtx}
+% \iffalse
+% </natoapp6c>
+% --------------------------------------------------------------------
+% \fi
diff --git a/macros/latex/contrib/wargame/source/natoapp6c/echelon.dtx b/macros/latex/contrib/wargame/source/natoapp6c/echelon.dtx
new file mode 100644
index 0000000000..a63be2ae47
--- /dev/null
+++ b/macros/latex/contrib/wargame/source/natoapp6c/echelon.dtx
@@ -0,0 +1,82 @@
+% \iffalse
+% --------------------------------------------------------------------
+%<*natoapp6c>
+% \fi
+% \subsubsection{Echelons}
+%
+%
+% Dimensions
+%
+% \begin{macrocode}
+\def\n@to@pp@e@y{.12}
+\def\n@to@pp@e@yy{.24}
+% \end{macrocode}
+%
+% Paths as macros
+%
+% \begin{macrocode}
+\def\n@to@pp@e@d#1{($(#1*\n@to@pp@e@y,0)$) circle(0.09)}
+\def\n@to@pp@e@b#1{%
+ ($(#1*\n@to@pp@e@y,-\n@to@pp@e@y)$) -- ($(#1*\n@to@pp@e@y,\n@to@pp@e@y)$)}
+\def\n@to@pp@e@x#1{%
+ ($(-\n@to@pp@e@y,-\n@to@pp@e@y)+(#1*\n@to@pp@e@y,0)$)--
+ ++(\n@to@pp@e@yy,\n@to@pp@e@yy)
+ ($(-\n@to@pp@e@y, \n@to@pp@e@y)+(#1*\n@to@pp@e@y,0)$)--
+ ++(\n@to@pp@e@yy,-\n@to@pp@e@yy)}
+% \end{macrocode}
+%
+% Pictures
+%
+% \begin{macrocode}
+\tikzset{
+ pics/natoapp6c/s/echelon/.is choice,
+ pics/natoapp6c/s/echelon/squad/.style={code={
+ \path[draw,fill=pgfstrokecolor,pic actions]
+ \foreach \o in {0}{\n@to@pp@e@d{\o}};}},
+ pics/natoapp6c/s/echelon/section/.style={code={
+ \path[draw,fill=pgfstrokecolor,pic actions]
+ \foreach \o in {-1,1}{\n@to@pp@e@d{\o}};}},
+ pics/natoapp6c/s/echelon/platoon/.style={code={
+ \path[draw,fill=pgfstrokecolor,pic actions]
+ \foreach \o in {-2,0,2}{\n@to@pp@e@d{\o}};}},
+ pics/natoapp6c/s/echelon/company/.style={code={
+ \path[draw,pic actions]
+ \foreach \o in {0}{\n@to@pp@e@b{\o}};}},
+ pics/natoapp6c/s/echelon/battalion/.style={code={
+ \path[draw,pic actions]
+ \foreach \o in {-1,1}{\n@to@pp@e@b{\o}};}},
+ pics/natoapp6c/s/echelon/regiment/.style={code={
+ \path[draw,pic actions]
+ \foreach \o in {-2,0,2}{\n@to@pp@e@b{\o}};}},
+ pics/natoapp6c/s/echelon/brigade/.style={code={
+ \path[draw,pic actions]
+ \foreach \o in {0}{\n@to@pp@e@x{\o}};}},
+ pics/natoapp6c/s/echelon/division/.style={code={
+ \path[draw,pic actions]
+ \foreach \o in {-1,1}{\n@to@pp@e@x{\o}};}},
+ pics/natoapp6c/s/echelon/corps/.style={code={
+ \path[draw,pic actions]
+ \foreach \o in {-2,0,2}{\n@to@pp@e@x{\o}};}},
+ pics/natoapp6c/s/echelon/army/.style={code={
+ \path[draw,pic actions]
+ \foreach \o in {-3,-1,1,3}{\n@to@pp@e@x{\o}};}},
+ pics/natoapp6c/s/echelon/army group/.style={code={
+ \path[draw,pic actions]
+ \foreach \o in {-4,-2,0,2,4}{\n@to@pp@e@x{\o}};}},
+ pics/natoapp6c/s/echelon/theatre/.style={code={
+ \path[draw,pic actions]
+ \foreach \o in {-5,-3,-1,1,3,5}{\n@to@pp@e@x{\o}};}},
+ pics/natoapp6c/s/echelon/command/.style={code={
+ \path[draw,pic actions]
+ (-.3,-.1) -- (-.3,.1) (-.4, 0) -- (-.2, 0)
+ ( .3,-.1) -- ( .3,.1) ( .4, 0) -- ( .2, 0);}},
+ pics/natoapp6c/s/echelon/dummy/.style={code={%
+ \path[draw,pic actions] (M.north west) rectangle
+ ($(M.north east)+(0,.1)$);}},
+}
+% \end{macrocode}
+%
+% \iffalse
+% </natoapp6c>
+% --------------------------------------------------------------------
+% \fi
diff --git a/macros/latex/contrib/wargame/source/natoapp6c/frames/base.dtx b/macros/latex/contrib/wargame/source/natoapp6c/frames/base.dtx
new file mode 100644
index 0000000000..614bf8f95c
--- /dev/null
+++ b/macros/latex/contrib/wargame/source/natoapp6c/frames/base.dtx
@@ -0,0 +1,70 @@
+% \iffalse
+% --------------------------------------------------------------------
+%<*natoapp6c>
+% \fi
+%
+% First, the generic bounding box symbol for all markers.
+%
+% \begin{NatoAppFrame}{natoapp6c base}
+%
+% Place-holder symbol. This shape will form the basis of many of
+% the other frame shapes. We define the relevant sizes and
+% anchors.
+%
+% \begin{macrocode}
+\pgfdeclareshape{natoapp6c base}{%
+ \saveddimen\radius{\pgf@x=\n@to@pp@r}
+ \saveddimen\liney{\pgf@x=.2cm}
+ \saveddimen\linex{\pgf@x=0.41cm}
+ \savedanchor\center{\pgf@x=0cm\pgf@y=0cm}
+ \savedanchor\upper{\pgf@x=0cm\pgf@y=0.35cm}
+ \anchor{north east}{\pgf@x=\radius\pgf@y=\radius}
+ \anchor{south west}{\pgf@x=-\radius\pgf@y=-\radius}
+ \anchor{north west}{\pgf@x=-\radius\pgf@y=\radius}
+ \anchor{south east}{\pgf@x=\radius\pgf@y=-\radius}
+ \anchor{south}{\pgf@x=0cm\pgf@y=-\radius}
+ \anchor{north}{\pgf@x=0cm\pgf@y=\radius}
+ \anchor{west}{\pgf@x=-\radius\pgf@y=0cm}
+ \anchor{east}{\pgf@x=\radius\pgf@y=0cm}
+ \anchor{center}{\center}
+ \anchor{upper}{\upper}
+ \anchor{lower}{\upper\pgf@y=-\pgf@y}
+ \anchor{left}{\upper\pgf@x=-\pgf@y\pgf@y=0cm}
+ \anchor{right}{\upper\pgf@x=\pgf@y\pgf@y=0cm}
+ \savedmacro\init{
+ \def\octagon{%
+ \pgfpathmoveto{\pgfqpointpolar{0} {\radius}}%
+ \pgfpathlineto{\pgfqpointpolar{45} {\radius}}%
+ \pgfpathlineto{\pgfqpointpolar{90} {\radius}}%
+ \pgfpathlineto{\pgfqpointpolar{135}{\radius}}%
+ \pgfpathlineto{\pgfqpointpolar{180}{\radius}}%
+ \pgfpathlineto{\pgfqpointpolar{225}{\radius}}%
+ \pgfpathlineto{\pgfqpointpolar{270}{\radius}}%
+ \pgfpathlineto{\pgfqpointpolar{315}{\radius}}%
+ \pgfpathclose}
+ \def\topline{%
+ \pgfpathmoveto{\pgfqpoint{\linex}{\liney}}%
+ \pgfpathlineto{\pgfqpoint{-\linex}{\liney}}}
+ \def\bottomline{%
+ \pgfpathmoveto{\pgfqpoint{\linex}{-\liney}}%
+ \pgfpathlineto{\pgfqpoint{-\linex}{-\liney}}}
+ }
+ \backgroundpath{%
+ \init%
+ \octagon}
+ \behindforegroundpath{%
+ \init%
+ \octagon%
+ \pgfusepath{stroke}%
+ \topline%
+ \pgfusepath{stroke}%
+ \bottomline%
+ \pgfusepath{stroke}%
+ }
+}
+% \end{macrocode}
+% \end{NatoAppFrame}
+% \iffalse
+%</natoapp6c>
+% --------------------------------------------------------------------
+% \fi
diff --git a/macros/latex/contrib/wargame/source/natoapp6c/frames/friendly.dtx b/macros/latex/contrib/wargame/source/natoapp6c/frames/friendly.dtx
new file mode 100644
index 0000000000..d8d0c4fba7
--- /dev/null
+++ b/macros/latex/contrib/wargame/source/natoapp6c/frames/friendly.dtx
@@ -0,0 +1,427 @@
+% \iffalse
+% --------------------------------------------------------------------
+%<*natoapp6c>
+% \fi
+% \subsubsection{`Friendly' node shapes}
+%
+%
+% \iffalse
+% ....................................................................
+% \fi
+% \begin{NatoAppFrame}{natoapp6c friendly air}
+%
+% Macro for friendly air shape
+%
+% \begin{macrocode}
+\def\n@to@friendly@@ir{%
+ \southeast \wg@tmpa=\pgf@x\wg@tmpb=\pgf@y%
+ \pgfpathmoveto{\pgfqpoint{-\wg@tmpa}{\wg@tmpb}}%
+ \cntrl \wg@tmpb=\pgf@y%
+ \pgfpatharc{180}{0}{\wg@tmpa and \wg@tmpb}}
+% \end{macrocode}
+%
+% The friendly air command.
+%
+% \begin{macrocode}
+\pgfdeclareshape{natoapp6c friendly air}{%
+ \inheritsavedanchors[from=natoapp6c base]
+ \savedanchor\southeast{%
+ \pgf@x=1.1\n@to@pp@r%
+ \pgf@y=-\n@to@pp@r}
+ \savedanchor\cntrl{\pgf@x=0cm\pgf@y=2.6\n@to@pp@r}
+ \savedanchor\north{\pgf@x=0cm\pgf@y=1.6\n@to@pp@r}
+ \anchor{south east}{\southeast}
+ \anchor{south west}{\southeast\pgf@x=-\pgf@x}
+ \anchor{north east}{\southeast\wg@tmpa=\pgf@x\north\pgf@x=\wg@tmpa}
+ \anchor{north west}{\southeast\wg@tmpa=\pgf@x\north\pgf@x=-\wg@tmpa}
+ \anchor{north}{\north}
+ \anchor{east}{%
+ \north\wg@tmpb\pgf@y%
+ \southeast\wg@tmpc=\pgf@y\wg@tmpa=\pgf@x%
+ \advance\wg@tmpb-\wg@tmpc
+ \divide\wg@tmpb2%
+ \advance\wg@tmpb\wg@tmpc%
+ \pgf@x=\wg@tmpa%
+ \pgf@y=\wg@tmpb}
+ \anchor{west}{%
+ \north\wg@tmpb\pgf@y%
+ \southeast\wg@tmpc=\pgf@y\wg@tmpa=\pgf@x%
+ \advance\wg@tmpb-\wg@tmpc
+ \divide\wg@tmpb2%
+ \advance\wg@tmpb\wg@tmpc%
+ \pgf@x=-\wg@tmpa%
+ \pgf@y=\wg@tmpb}
+ \anchor{south}{\southeast\pgf@x=0cm}
+ \inheritanchor[from=natoapp6c base]{upper}
+ \inheritanchor[from=natoapp6c base]{lower}
+ \inheritanchor[from=natoapp6c base]{left}
+ \inheritanchor[from=natoapp6c base]{right}
+ \inheritanchor[from=natoapp6c base]{center}
+ \backgroundpath{%
+ \n@to@friendly@@ir%
+ }
+ \behindforegroundpath{%
+ \n@to@friendly@@ir%
+ \pgfusepath{stroke}%
+ }
+}
+% \end{macrocode}
+% \end{NatoAppFrame}
+%
+% \iffalse
+% ....................................................................
+% \fi
+% \begin{NatoAppFrame}{natoapp6c friendly land}
+%
+% Macro for friendly land command
+%
+% \begin{macrocode}
+\def\n@to@friendly@l@nd{%
+ \northeast \wg@tmpa=\pgf@x\wg@tmpb=\pgf@y%
+ \pgfpathmoveto{\pgfqpoint{ \wg@tmpa}{ \wg@tmpb}}%
+ \pgfpathlineto{\pgfqpoint{-\wg@tmpa}{ \wg@tmpb}}%
+ \pgfpathlineto{\pgfqpoint{-\wg@tmpa}{-\wg@tmpb}}%
+ \pgfpathlineto{\pgfqpoint{ \wg@tmpa}{-\wg@tmpb}}%
+ \pgfclosepath}
+% \end{macrocode}
+%
+% The friendly land command. The most used command frame.
+%
+% \begin{macrocode}
+\pgfdeclareshape{natoapp6c friendly land}{%
+ \inheritsavedanchors[from=natoapp6c base]
+ \savedanchor\northeast{%
+ \pgf@x=1.5\n@to@pp@r%
+ \pgf@y=\n@to@pp@r}
+ \anchor{north east}{\northeast}
+ \anchor{north west}{\northeast\pgf@x=-\pgf@x}
+ \anchor{south east}{\northeast\pgf@y=-\pgf@y}
+ \anchor{south west}{\northeast\pgf@x=-\pgf@x\pgf@y=-\pgf@y}
+ \anchor{north}{\northeast\pgf@x=0cm}
+ \anchor{south}{\northeast\pgf@x=0cm\pgf@y=-\pgf@y}
+ \anchor{east}{\northeast\pgf@y=0cm}
+ \anchor{west}{\northeast\pgf@x=-\pgf@x\pgf@y=0cm}
+ \inheritanchor[from=natoapp6c base]{upper}
+ \inheritanchor[from=natoapp6c base]{lower}
+ \inheritanchor[from=natoapp6c base]{left}
+ \inheritanchor[from=natoapp6c base]{right}
+ \inheritanchor[from=natoapp6c base]{center}
+ \backgroundpath{%
+ \n@to@friendly@l@nd%
+ }
+ \behindforegroundpath{%
+ \n@to@friendly@l@nd%
+ \pgfusepath{stroke}%
+ }
+}
+% \end{macrocode}
+% \end{NatoAppFrame}
+%
+% \iffalse
+% ....................................................................
+% \fi
+% \begin{NatoAppFrame}{natoapp6c friendly activity}
+%
+% The friendly activity command. Similar to land command, but with
+% boxes in the corners.
+%
+% \begin{macrocode}
+\pgfdeclareshape{natoapp6c friendly activity}{%
+ \inheritsavedanchors[from=natoapp6c friendly land]
+ \inheritanchor[from=natoapp6c friendly land]{center}
+ \inheritanchor[from=natoapp6c friendly land]{inner north east}
+ \inheritanchor[from=natoapp6c friendly land]{inner north west}
+ \inheritanchor[from=natoapp6c friendly land]{inner south west}
+ \inheritanchor[from=natoapp6c friendly land]{inner south east}
+ \inheritanchor[from=natoapp6c friendly land]{north east}
+ \inheritanchor[from=natoapp6c friendly land]{north west}
+ \inheritanchor[from=natoapp6c friendly land]{south east}
+ \inheritanchor[from=natoapp6c friendly land]{south west}
+ \inheritanchor[from=natoapp6c friendly land]{north}
+ \inheritanchor[from=natoapp6c friendly land]{west}
+ \inheritanchor[from=natoapp6c friendly land]{east}
+ \inheritanchor[from=natoapp6c friendly land]{south}
+ \inheritanchor[from=natoapp6c friendly land]{upper}
+ \inheritanchor[from=natoapp6c friendly land]{lower}
+ \inheritanchor[from=natoapp6c friendly land]{left}
+ \inheritanchor[from=natoapp6c friendly land]{right}
+ \inheritanchor[from=natoapp6c friendly land]{center}
+ \inheritbackgroundpath[from=natoapp6c friendly land]
+ \behindforegroundpath{
+ \begin{n@to@pp@stroketofill}
+ \n@to@friendly@l@nd%
+ \pgfusepath{stroke}
+ %
+ \northeast \wg@tmpa=\pgf@x\wg@tmpb\pgf@y%
+ \wg@tmpc=\wg@tmpa\advance\wg@tmpc-\n@to@pp@act@w
+ \wg@tmpd=\wg@tmpb\advance\wg@tmpd-\n@to@pp@act@w
+ %
+ \pgfpathmoveto{\pgfqpoint{\wg@tmpa}{\wg@tmpb}}%
+ \pgfpathlineto{\pgfqpoint{\wg@tmpc}{\wg@tmpb}}%
+ \pgfpathlineto{\pgfqpoint{\wg@tmpc}{\wg@tmpd}}%
+ \pgfpathlineto{\pgfqpoint{\wg@tmpa}{\wg@tmpd}}%
+ \pgfclosepath
+ %
+ \pgfusepath{fill}%
+ \pgfpathmoveto{\pgfqpoint{\wg@tmpa}{-\wg@tmpd}}%
+ \pgfpathlineto{\pgfqpoint{\wg@tmpc}{-\wg@tmpd}}%
+ \pgfpathlineto{\pgfqpoint{\wg@tmpc}{-\wg@tmpb}}%
+ \pgfpathlineto{\pgfqpoint{\wg@tmpa}{-\wg@tmpb}}%
+ \pgfclosepath
+ \pgfusepath{fill}%
+ %
+ \pgfpathmoveto{\pgfqpoint{-\wg@tmpc}{\wg@tmpb}}%
+ \pgfpathlineto{\pgfqpoint{-\wg@tmpa}{\wg@tmpb}}%
+ \pgfpathlineto{\pgfqpoint{-\wg@tmpa}{\wg@tmpd}}%
+ \pgfpathlineto{\pgfqpoint{-\wg@tmpc}{\wg@tmpd}}%
+ \pgfclosepath
+ \pgfusepath{fill}%
+ %
+ \pgfpathmoveto{\pgfqpoint{-\wg@tmpc}{-\wg@tmpd}}%
+ \pgfpathlineto{\pgfqpoint{-\wg@tmpa}{-\wg@tmpd}}%
+ \pgfpathlineto{\pgfqpoint{-\wg@tmpa}{-\wg@tmpb}}%
+ \pgfpathlineto{\pgfqpoint{-\wg@tmpc}{-\wg@tmpb}}%
+ \pgfclosepath
+ \pgfusepath{fill}%
+ \end{n@to@pp@stroketofill}
+ }
+}
+% \end{macrocode}
+% \end{NatoAppFrame}
+%
+% \iffalse
+% ....................................................................
+% \fi
+% \begin{NatoAppFrame}{natoapp6c friendly equipment}
+%
+% The friendly equipment command. A circle.
+%
+% \begin{macrocode}
+\pgfdeclareshape{natoapp6c friendly equipment}{%
+ \inheritsavedanchors[from=natoapp6c base]
+ \savedanchor\northeast{%
+ \pgf@x=\n@to@pp@r%
+ \pgf@y=\n@to@pp@r}
+ \anchor{north east}{\northeast}
+ \anchor{north west}{\northeast\pgf@x=-\pgf@x}
+ \anchor{south east}{\northeast\pgf@y=-\pgf@y}
+ \anchor{south west}{\northeast\pgf@x=-\pgf@x\pgf@y=-\pgf@y}
+ \anchor{north}{\northeast\pgf@x=0cm}
+ \anchor{south}{\northeast\pgf@x=0cm\pgf@y=-\pgf@y}
+ \anchor{east}{\northeast\pgf@y=0cm}
+ \anchor{west}{\northeast\pgf@x=-\pgf@x\pgf@y=0cm}
+ \inheritanchor[from=natoapp6c base]{upper}
+ \inheritanchor[from=natoapp6c base]{lower}
+ \inheritanchor[from=natoapp6c base]{left}
+ \inheritanchor[from=natoapp6c base]{right}
+ \inheritanchor[from=natoapp6c base]{center}
+ \backgroundpath{%
+ \northeast\wg@tmpa\pgf@x%
+ \pgfpathcircle{\pgfqpoint{0cm}{0cm}}{\wg@tmpa}
+ }
+ \behindforegroundpath{%
+ \northeast\wg@tmpa\pgf@x%
+ \pgfpathcircle{\pgfqpoint{0cm}{0cm}}{\wg@tmpa}
+ \pgfusepath{stroke}%
+ }
+}
+% \end{macrocode}
+% \end{NatoAppFrame}
+%
+% \iffalse
+% ....................................................................
+% \fi
+% \begin{NatoAppFrame}{natoapp6c friendly installation}
+%
+% The friendly installation command. Similar to the land command, but
+% with a `hat' on top.
+%
+% \begin{macrocode}
+\pgfdeclareshape{natoapp6c friendly installation}{%
+ \inheritsavedanchors[from=natoapp6c friendly land]
+ \inheritanchor[from=natoapp6c friendly land]{center}
+ \inheritanchor[from=natoapp6c friendly land]{inner north east}
+ \inheritanchor[from=natoapp6c friendly land]{inner north west}
+ \inheritanchor[from=natoapp6c friendly land]{inner south west}
+ \inheritanchor[from=natoapp6c friendly land]{inner south east}
+ \inheritanchor[from=natoapp6c friendly land]{north east}
+ \inheritanchor[from=natoapp6c friendly land]{north west}
+ \inheritanchor[from=natoapp6c friendly land]{south east}
+ \inheritanchor[from=natoapp6c friendly land]{south west}
+ \inheritanchor[from=natoapp6c friendly land]{north}
+ \inheritanchor[from=natoapp6c friendly land]{west}
+ \inheritanchor[from=natoapp6c friendly land]{east}
+ \inheritanchor[from=natoapp6c friendly land]{south}
+ \inheritanchor[from=natoapp6c friendly land]{upper}
+ \inheritanchor[from=natoapp6c friendly land]{lower}
+ \inheritanchor[from=natoapp6c friendly land]{left}
+ \inheritanchor[from=natoapp6c friendly land]{right}
+ \inheritanchor[from=natoapp6c friendly land]{center}
+ \inheritbackgroundpath[from=natoapp6c friendly land]
+ \behindforegroundpath{
+ \begin{n@to@pp@stroketofill}
+ \n@to@friendly@l@nd%
+ \pgfusepath{stroke}
+ %
+ \northeast \wg@tmpa=\pgf@y%
+ \wg@tmpb=\wg@tmpa\advance\wg@tmpb\n@to@pp@inst@h%
+ %
+ \pgfpathmoveto{\pgfqpoint{ \n@to@pp@inst@x}{\wg@tmpb}}%
+ \pgfpathlineto{\pgfqpoint{-\n@to@pp@inst@x}{\wg@tmpb}}%
+ \pgfpathlineto{\pgfqpoint{-\n@to@pp@inst@x}{\wg@tmpa}}%
+ \pgfpathlineto{\pgfqpoint{ \n@to@pp@inst@x}{\wg@tmpa}}%
+ \pgfclosepath
+ \pgfusepath{fill}%
+ \end{n@to@pp@stroketofill}
+ }
+}
+% \end{macrocode}
+% \end{NatoAppFrame}
+%
+% \iffalse
+% ....................................................................
+% \fi
+% \begin{NatoAppFrame}{natoapp6c friendly sea surface}
+%
+% The friendly sea surface command. Same as equipment command.
+%
+% \begin{macrocode}
+\pgfdeclareshape{natoapp6c friendly sea surface}{%
+ \inheritsavedanchors[from=natoapp6c friendly equipment]
+ \inheritanchor[from=natoapp6c friendly equipment]{inner north east}
+ \inheritanchor[from=natoapp6c friendly equipment]{inner north west}
+ \inheritanchor[from=natoapp6c friendly equipment]{inner south west}
+ \inheritanchor[from=natoapp6c friendly equipment]{inner south east}
+ \inheritanchor[from=natoapp6c friendly equipment]{north east}
+ \inheritanchor[from=natoapp6c friendly equipment]{north west}
+ \inheritanchor[from=natoapp6c friendly equipment]{south east}
+ \inheritanchor[from=natoapp6c friendly equipment]{south west}
+ \inheritanchor[from=natoapp6c friendly equipment]{north}
+ \inheritanchor[from=natoapp6c friendly equipment]{west}
+ \inheritanchor[from=natoapp6c friendly equipment]{east}
+ \inheritanchor[from=natoapp6c friendly equipment]{south}
+ \inheritanchor[from=natoapp6c friendly equipment]{upper}
+ \inheritanchor[from=natoapp6c friendly equipment]{lower}
+ \inheritanchor[from=natoapp6c friendly equipment]{left}
+ \inheritanchor[from=natoapp6c friendly equipment]{right}
+ \inheritanchor[from=natoapp6c friendly equipment]{center}
+ \inheritbackgroundpath[from=natoapp6c friendly equipment]
+ \inheritbehindforegroundpath[from=natoapp6c friendly equipment]
+}
+% \end{macrocode}
+% \end{NatoAppFrame}
+%
+% \iffalse
+% ....................................................................
+% \fi
+% \begin{NatoAppFrame}{natoapp6c friendly space}
+%
+% The friendly space command. Similar to air command, but with a
+% bar on top.
+%
+% \begin{macrocode}
+\pgfdeclareshape{natoapp6c friendly space}{%
+ \inheritsavedanchors[from=natoapp6c friendly air]
+ \inheritanchor[from=natoapp6c friendly air]{north east}
+ \inheritanchor[from=natoapp6c friendly air]{north west}
+ \inheritanchor[from=natoapp6c friendly air]{south east}
+ \inheritanchor[from=natoapp6c friendly air]{south west}
+ \inheritanchor[from=natoapp6c friendly air]{north}
+ \inheritanchor[from=natoapp6c friendly air]{west}
+ \inheritanchor[from=natoapp6c friendly air]{east}
+ \inheritanchor[from=natoapp6c friendly air]{south}
+ \inheritanchor[from=natoapp6c friendly air]{upper}
+ \inheritanchor[from=natoapp6c friendly air]{lower}
+ \inheritanchor[from=natoapp6c friendly air]{left}
+ \inheritanchor[from=natoapp6c friendly air]{right}
+ \inheritanchor[from=natoapp6c friendly air]{center}
+ \inheritbackgroundpath[from=natoapp6c friendly air]
+ \behindforegroundpath{%
+ \begin{n@to@pp@stroketofill}
+ \n@to@friendly@@ir%
+ \pgfusepath{stroke,clip}%
+ %
+ \cntrl\wg@tmpa=\pgf@y%
+ \north\wg@tmpb=\pgf@y
+ \advance\wg@tmpb-\n@to@pp@space@h
+ %
+ \pgfpathmoveto{\pgfqpoint{ \n@to@pp@r}{\wg@tmpa}}%
+ \pgfpathlineto{\pgfqpoint{-\n@to@pp@r}{\wg@tmpa}}%
+ \pgfpathlineto{\pgfqpoint{-\n@to@pp@r}{\wg@tmpb}}%
+ \pgfpathlineto{\pgfqpoint{ \n@to@pp@r}{\wg@tmpb}}%
+ \pgfclosepath%
+ \pgfusepath{fill}%
+ \end{n@to@pp@stroketofill}
+ }
+}
+% \end{macrocode}
+% \end{NatoAppFrame}
+%
+% \iffalse
+% ....................................................................
+% \fi
+% \begin{NatoAppFrame}{natoapp6c friendly sub surface}
+%
+% Macro for friendly sub surface command
+%
+% \begin{macrocode}
+\def\n@to@friendly@sub{%
+ \northeast \wg@tmpa=\pgf@x\wg@tmpb=\pgf@y%
+ \pgfpathmoveto{\pgfqpoint{-\wg@tmpa}{\wg@tmpb}}%
+ \cntrl \wg@tmpb=\pgf@y%
+ \pgfpatharc{180}{0}{\wg@tmpa and \wg@tmpb}}
+% \end{macrocode}
+%
+% The friendly sub surface command.
+%
+%
+% \begin{macrocode}
+\pgfdeclareshape{natoapp6c friendly sub surface}{%
+ \inheritsavedanchors[from=natoapp6c base]
+ \savedanchor\northeast{%
+ \pgf@x=1.1\n@to@pp@r%
+ \pgf@y=\n@to@pp@r}
+ \savedanchor\cntrl{\pgf@x=0cm\pgf@y=-2.6\n@to@pp@r}
+ \savedanchor\south{\pgf@x=0cm\pgf@y=-1.6\n@to@pp@r}
+ \anchor{north east}{\northeast}
+ \anchor{north west}{\northeast\pgf@x=-\pgf@x}
+ \anchor{south east}{\northeast\wg@tmpa=\pgf@x\south\pgf@x=\wg@tmpa}
+ \anchor{south west}{\northeast\wg@tmpa=\pgf@x\south\pgf@x=-\wg@tmpa}
+ \anchor{south}{\south}
+ \anchor{east}{
+ \northeast\wg@tmpb=\pgf@y\wg@tmpa=\pgf@x%
+ \south\wg@tmpc\pgf@y%
+ \advance\wg@tmpb-\wg@tmpc
+ \divide\wg@tmpb2%
+ \advance\wg@tmpb\wg@tmpc%
+ \pgf@x=\wg@tmpa%
+ \pgf@y=\wg@tmpb}
+ \anchor{west}{
+ \northeast\wg@tmpb=\pgf@y\wg@tmpa=\pgf@x%
+ \south\wg@tmpc\pgf@y%
+ \advance\wg@tmpb-\wg@tmpc
+ \divide\wg@tmpb2%
+ \advance\wg@tmpb\wg@tmpc%
+ \pgf@x=-\wg@tmpa%
+ \pgf@y=\wg@tmpb}
+ \anchor{north}{\northeast\pgf@x=0cm}
+ \inheritanchor[from=natoapp6c base]{upper}
+ \inheritanchor[from=natoapp6c base]{lower}
+ \inheritanchor[from=natoapp6c base]{left}
+ \inheritanchor[from=natoapp6c base]{right}
+ \inheritanchor[from=natoapp6c base]{center}
+ \backgroundpath{%
+ \n@to@friendly@sub%
+ }
+ \behindforegroundpath{%
+ \n@to@friendly@sub%
+ \pgfusepath{stroke}%
+ }
+}
+% \end{macrocode}
+% \end{NatoAppFrame}
+%
+% \iffalse
+%</natoapp6c>
+% --------------------------------------------------------------------
+% \fi
diff --git a/macros/latex/contrib/wargame/source/natoapp6c/frames/hostile.dtx b/macros/latex/contrib/wargame/source/natoapp6c/frames/hostile.dtx
new file mode 100644
index 0000000000..c3df3f6525
--- /dev/null
+++ b/macros/latex/contrib/wargame/source/natoapp6c/frames/hostile.dtx
@@ -0,0 +1,453 @@
+% \iffalse
+% --------------------------------------------------------------------
+%<*natoapp6c>
+% \fi
+% \subsubsection{`Hostile' node shapes}
+%
+%
+%
+% \iffalse
+% ....................................................................
+% \fi
+% \begin{NatoAppFrame}{natoapp6c hostile air}
+%
+% The hostile air command
+%
+%
+% Macro for hostile air shape
+%
+%
+% \begin{macrocode}
+\def\n@to@hostile@@ir{%
+ \southeast \wg@tmpa=\pgf@x\wg@tmpb=\pgf@y%
+ \cntrl \wg@tmpc=\pgf@y%
+ \north \wg@tmpd=\pgf@y%
+ \pgfpathmoveto{\pgfqpoint{-\wg@tmpa}{\wg@tmpb}}%
+ \pgfpathlineto{\pgfqpoint{-\wg@tmpa}{\wg@tmpc}}%
+ \pgfpathlineto{\pgfqpoint{ 0cm}{\wg@tmpd}}%
+ \pgfpathlineto{\pgfqpoint{\wg@tmpa}{\wg@tmpc}}%
+ \pgfpathlineto{\pgfqpoint{\wg@tmpa}{\wg@tmpb}}%
+}
+% \end{macrocode}
+%
+%
+% The hostile air command.
+%
+%
+% \begin{macrocode}
+\pgfdeclareshape{natoapp6c hostile air}{%
+ \inheritsavedanchors[from=natoapp6c base]
+ \savedanchor\southeast{%
+ \pgf@x=\n@to@pp@r%
+ \pgf@y=-\n@to@pp@r}
+ \savedanchor\cntrl{%
+ \pgf@x=\n@to@pp@r%
+ \pgf@y=0.414\n@to@pp@r% (sqrt(2)-1)
+ }
+ \savedanchor\north{\pgf@x=0cm\pgf@y=1.414\n@to@pp@r}
+ \anchor{south east}{\southeast}
+ \anchor{south west}{\southeast\pgf@x=-\pgf@x}
+ \anchor{north east}{\southeast\wg@tmpa=\pgf@x\north\pgf@x=\wg@tmpa}
+ \anchor{north west}{\southeast\wg@tmpa=\pgf@x\north\pgf@x=-\wg@tmpa}
+ \anchor{north}{\north}
+ \anchor{east}{%
+ \north\wg@tmpb\pgf@y%
+ \southeast\wg@tmpc=\pgf@y\wg@tmpa=\pgf@x%
+ \advance\wg@tmpb-\wg@tmpc
+ \divide\wg@tmpb2%
+ \advance\wg@tmpb\wg@tmpc%
+ \pgf@x=\wg@tmpa%
+ \pgf@y=\wg@tmpb}
+ \anchor{west}{%
+ \north\wg@tmpb\pgf@y%
+ \southeast\wg@tmpc=\pgf@y\wg@tmpa=\pgf@x%
+ \advance\wg@tmpb-\wg@tmpc
+ \divide\wg@tmpb2%
+ \advance\wg@tmpb\wg@tmpc%
+ \pgf@x=-\wg@tmpa%
+ \pgf@y=\wg@tmpb}
+ \anchor{south}{\southeast\pgf@x=0cm}
+ \inheritanchor[from=natoapp6c base]{upper}
+ \inheritanchor[from=natoapp6c base]{lower}
+ \inheritanchor[from=natoapp6c base]{left}
+ \inheritanchor[from=natoapp6c base]{right}
+ \inheritanchor[from=natoapp6c base]{center}
+ \backgroundpath{%
+ \n@to@hostile@@ir%
+ }
+ \behindforegroundpath{%
+ \n@to@hostile@@ir%
+ \pgfusepath{stroke}%
+ }
+}
+% \end{macrocode}
+% \end{NatoAppFrame}
+%
+% \iffalse
+% ....................................................................
+% \fi
+% \begin{NatoAppFrame}{natoapp6c hostile land}
+%
+% Macro for hostile land command
+%
+% \begin{macrocode}
+\def\n@to@hostile@l@nd{%
+ \northeast \wg@tmpa=\pgf@x\wg@tmpb=\pgf@y%
+ \pgfpathmoveto{\pgfqpoint{ \wg@tmpa}{ 0cm}}%
+ \pgfpathlineto{\pgfqpoint{ 0cm}{ \wg@tmpb}}%
+ \pgfpathlineto{\pgfqpoint{-\wg@tmpa}{ 0cm}}%
+ \pgfpathlineto{\pgfqpoint{ 0cm}{-\wg@tmpb}}%
+ \pgfclosepath}
+% \end{macrocode}
+%
+% The hostile land command.
+%
+% \begin{macrocode}
+\pgfdeclareshape{natoapp6c hostile land}{%
+ \inheritsavedanchors[from=natoapp6c base]
+ \savedanchor\northeast{%
+ \pgf@x=1.414\n@to@pp@r%
+ \pgf@y=1.414\n@to@pp@r}
+ \anchor{north east}{\northeast}
+ \anchor{north west}{\northeast\pgf@x=-\pgf@x}
+ \anchor{south east}{\northeast\pgf@y=-\pgf@y}
+ \anchor{south west}{\northeast\pgf@x=-\pgf@x\pgf@y=-\pgf@y}
+ \anchor{north}{\northeast\pgf@x=0cm}
+ \anchor{south}{\northeast\pgf@x=0cm\pgf@y=-\pgf@y}
+ \anchor{east}{\northeast\pgf@y=0cm}
+ \anchor{west}{\northeast\pgf@x=-\pgf@x\pgf@y=0cm}
+ \inheritanchor[from=natoapp6c base]{upper}
+ \inheritanchor[from=natoapp6c base]{lower}
+ \inheritanchor[from=natoapp6c base]{left}
+ \inheritanchor[from=natoapp6c base]{right}
+ \inheritanchor[from=natoapp6c base]{center}
+ \backgroundpath{%
+ \n@to@hostile@l@nd%
+ }
+ \behindforegroundpath{%
+ \n@to@hostile@l@nd%
+ \pgfusepath{stroke}%
+ }
+}
+% \end{macrocode}
+% \end{NatoAppFrame}
+%
+% \iffalse
+% ....................................................................
+% \fi
+% \begin{NatoAppFrame}{natoapp6c hostile activity}
+%
+% The hostile activity command. Similar to land command, but with
+% boxes in the corners.
+%
+% \begin{macrocode}
+\pgfdeclareshape{natoapp6c hostile activity}{%
+ \inheritsavedanchors[from=natoapp6c hostile land]
+ \inheritanchor[from=natoapp6c hostile land]{center}
+ \inheritanchor[from=natoapp6c hostile land]{inner north east}
+ \inheritanchor[from=natoapp6c hostile land]{inner north west}
+ \inheritanchor[from=natoapp6c hostile land]{inner south west}
+ \inheritanchor[from=natoapp6c hostile land]{inner south east}
+ \inheritanchor[from=natoapp6c hostile land]{north east}
+ \inheritanchor[from=natoapp6c hostile land]{north west}
+ \inheritanchor[from=natoapp6c hostile land]{south east}
+ \inheritanchor[from=natoapp6c hostile land]{south west}
+ \inheritanchor[from=natoapp6c hostile land]{north}
+ \inheritanchor[from=natoapp6c hostile land]{west}
+ \inheritanchor[from=natoapp6c hostile land]{east}
+ \inheritanchor[from=natoapp6c hostile land]{south}
+ \inheritanchor[from=natoapp6c hostile land]{upper}
+ \inheritanchor[from=natoapp6c hostile land]{lower}
+ \inheritanchor[from=natoapp6c hostile land]{left}
+ \inheritanchor[from=natoapp6c hostile land]{right}
+ \inheritanchor[from=natoapp6c hostile land]{center}
+ \inheritbackgroundpath[from=natoapp6c hostile land]
+ \behindforegroundpath{
+ \begin{n@to@pp@stroketofill}
+ \n@to@hostile@l@nd%
+ \pgfusepath{stroke}
+ %
+ \northeast \wg@tmpb=\pgf@y%
+ \wg@tmpa=0.707\n@to@pp@act@w
+ \wg@tmpc=\wg@tmpb\advance\wg@tmpc-1.414\n@to@pp@act@w
+ \wg@tmpd=\wg@tmpb\advance\wg@tmpd-\wg@tmpa
+ %
+ \pgfpathmoveto{\pgfqpoint{ \wg@tmpa}{\wg@tmpd}}%
+ \pgfpathlineto{\pgfqpoint{ 0cm}{\wg@tmpb}}%
+ \pgfpathlineto{\pgfqpoint{-\wg@tmpa}{\wg@tmpd}}%
+ \pgfpathlineto{\pgfqpoint{ 0cm}{\wg@tmpc}}%
+ \pgfclosepath
+ \pgfusepath{fill}%
+ %
+ \pgfpathmoveto{\pgfqpoint{-\wg@tmpc}{0cm}}%
+ \pgfpathlineto{\pgfqpoint{-\wg@tmpd}{\wg@tmpa}}%
+ \pgfpathlineto{\pgfqpoint{-\wg@tmpb}{0cm}}%
+ \pgfpathlineto{\pgfqpoint{-\wg@tmpd}{-\wg@tmpa}}%
+ \pgfclosepath
+ \pgfusepath{fill}%
+ %
+ \pgfpathmoveto{\pgfqpoint{ \wg@tmpa}{-\wg@tmpd}}%
+ \pgfpathlineto{\pgfqpoint{ 0cm}{-\wg@tmpc}}%
+ \pgfpathlineto{\pgfqpoint{-\wg@tmpa}{-\wg@tmpd}}%
+ \pgfpathlineto{\pgfqpoint{ 0cm}{-\wg@tmpb}}%
+ \pgfclosepath
+ \pgfusepath{fill}%
+ %
+ \pgfpathmoveto{\pgfqpoint{\wg@tmpb}{0cm}}%
+ \pgfpathlineto{\pgfqpoint{\wg@tmpd}{\wg@tmpa}}%
+ \pgfpathlineto{\pgfqpoint{\wg@tmpc}{0cm}}%
+ \pgfpathlineto{\pgfqpoint{\wg@tmpd}{-\wg@tmpa}}%
+ \pgfclosepath
+ \pgfusepath{fill}%
+ \end{n@to@pp@stroketofill}
+ }
+}
+% \end{macrocode}
+% \end{NatoAppFrame}
+%
+% \iffalse
+% ....................................................................
+% \fi
+% \begin{NatoAppFrame}{natoapp6c hostile equipment}
+%
+% The hostile equipment command. Same as land command.
+%
+% \begin{macrocode}
+\pgfdeclareshape{natoapp6c hostile equipment}{%
+ \inheritsavedanchors[from=natoapp6c hostile land]
+ \inheritanchor[from=natoapp6c hostile land]{inner north east}
+ \inheritanchor[from=natoapp6c hostile land]{inner north west}
+ \inheritanchor[from=natoapp6c hostile land]{inner south west}
+ \inheritanchor[from=natoapp6c hostile land]{inner south east}
+ \inheritanchor[from=natoapp6c hostile land]{north east}
+ \inheritanchor[from=natoapp6c hostile land]{north west}
+ \inheritanchor[from=natoapp6c hostile land]{south east}
+ \inheritanchor[from=natoapp6c hostile land]{south west}
+ \inheritanchor[from=natoapp6c hostile land]{north}
+ \inheritanchor[from=natoapp6c hostile land]{west}
+ \inheritanchor[from=natoapp6c hostile land]{east}
+ \inheritanchor[from=natoapp6c hostile land]{south}
+ \inheritanchor[from=natoapp6c hostile land]{upper}
+ \inheritanchor[from=natoapp6c hostile land]{lower}
+ \inheritanchor[from=natoapp6c hostile land]{left}
+ \inheritanchor[from=natoapp6c hostile land]{right}
+ \inheritanchor[from=natoapp6c hostile land]{center}
+ \inheritbackgroundpath[from=natoapp6c hostile land]
+ \inheritbehindforegroundpath[from=natoapp6c hostile land]
+}
+% \end{macrocode}
+% \end{NatoAppFrame}
+%
+% \iffalse
+% ....................................................................
+% \fi
+% \begin{NatoAppFrame}{natoapp6c hostile installation}
+%
+% The hostile installation command. Similar to land command, but
+% with a `hat' on top.
+%
+% \begin{macrocode}
+\pgfdeclareshape{natoapp6c hostile installation}{%
+ \inheritsavedanchors[from=natoapp6c hostile land]
+ \inheritanchor[from=natoapp6c hostile land]{center}
+ \inheritanchor[from=natoapp6c hostile land]{inner north east}
+ \inheritanchor[from=natoapp6c hostile land]{inner north west}
+ \inheritanchor[from=natoapp6c hostile land]{inner south west}
+ \inheritanchor[from=natoapp6c hostile land]{inner south east}
+ \inheritanchor[from=natoapp6c hostile land]{north east}
+ \inheritanchor[from=natoapp6c hostile land]{north west}
+ \inheritanchor[from=natoapp6c hostile land]{south east}
+ \inheritanchor[from=natoapp6c hostile land]{south west}
+ \inheritanchor[from=natoapp6c hostile land]{north}
+ \inheritanchor[from=natoapp6c hostile land]{west}
+ \inheritanchor[from=natoapp6c hostile land]{east}
+ \inheritanchor[from=natoapp6c hostile land]{south}
+ \inheritanchor[from=natoapp6c hostile land]{upper}
+ \inheritanchor[from=natoapp6c hostile land]{lower}
+ \inheritanchor[from=natoapp6c hostile land]{left}
+ \inheritanchor[from=natoapp6c hostile land]{right}
+ \inheritanchor[from=natoapp6c hostile land]{center}
+ \inheritbackgroundpath[from=natoapp6c hostile land]
+ \behindforegroundpath{
+ \begin{n@to@pp@stroketofill}
+ \n@to@hostile@l@nd%
+ \pgfusepath{stroke}
+ %
+ \northeast \wg@tmpa=\pgf@x\wg@tmpb\pgf@y%
+ \wg@tmpc=\wg@tmpb
+ \advance\wg@tmpc\n@to@pp@inst@h%
+ \advance\wg@tmpc-0.05cm%
+ %
+ \pgfpathmoveto{\pgfqpoint{ \wg@tmpa}{0cm}}
+ \pgfpathlineto{\pgfqpoint{ \wg@tmpa}{\wg@tmpc}}
+ \pgfpathlineto{\pgfqpoint{-\wg@tmpa}{\wg@tmpc}}
+ \pgfpathlineto{\pgfqpoint{-\wg@tmpa}{0cm}}
+ \pgfpathlineto{\pgfqpoint{ 0cm}{\wg@tmpb}}
+ \pgfclosepath%
+ \pgfusepath{clip}
+ %
+ \wg@tmpd=\wg@tmpb%
+ \advance\wg@tmpd-\n@to@pp@inst@h%
+ %
+ \pgfpathmoveto{\pgfqpoint{ \n@to@pp@inst@x}{\wg@tmpc}}%
+ \pgfpathlineto{\pgfqpoint{-\n@to@pp@inst@x}{\wg@tmpc}}%
+ \pgfpathlineto{\pgfqpoint{-\n@to@pp@inst@x}{\wg@tmpd}}%
+ \pgfpathlineto{\pgfqpoint{ \n@to@pp@inst@x}{\wg@tmpd}}%
+ \pgfclosepath
+ \pgfusepath{fill}%
+ \end{n@to@pp@stroketofill}
+ }
+}
+% \end{macrocode}
+% \end{NatoAppFrame}
+%
+% \iffalse
+% ....................................................................
+% \fi
+% \begin{NatoAppFrame}{natoapp6c hostile sea surface}
+%
+% The hostile sea surface command. Same as land command
+%
+% \begin{macrocode}
+\pgfdeclareshape{natoapp6c hostile sea surface}{%
+ \inheritsavedanchors[from=natoapp6c hostile equipment]
+ \inheritanchor[from=natoapp6c hostile equipment]{inner north east}
+ \inheritanchor[from=natoapp6c hostile equipment]{inner north west}
+ \inheritanchor[from=natoapp6c hostile equipment]{inner south west}
+ \inheritanchor[from=natoapp6c hostile equipment]{inner south east}
+ \inheritanchor[from=natoapp6c hostile equipment]{north east}
+ \inheritanchor[from=natoapp6c hostile equipment]{north west}
+ \inheritanchor[from=natoapp6c hostile equipment]{south east}
+ \inheritanchor[from=natoapp6c hostile equipment]{south west}
+ \inheritanchor[from=natoapp6c hostile equipment]{north}
+ \inheritanchor[from=natoapp6c hostile equipment]{west}
+ \inheritanchor[from=natoapp6c hostile equipment]{east}
+ \inheritanchor[from=natoapp6c hostile equipment]{south}
+ \inheritanchor[from=natoapp6c hostile equipment]{upper}
+ \inheritanchor[from=natoapp6c hostile equipment]{lower}
+ \inheritanchor[from=natoapp6c hostile equipment]{left}
+ \inheritanchor[from=natoapp6c hostile equipment]{right}
+ \inheritanchor[from=natoapp6c hostile equipment]{center}
+ \inheritbackgroundpath[from=natoapp6c hostile equipment]
+ \inheritbehindforegroundpath[from=natoapp6c hostile equipment]
+}
+% \end{macrocode}
+% \end{NatoAppFrame}
+%
+% \iffalse
+% ....................................................................
+% \fi
+% \begin{NatoAppFrame}{natoapp6c hostile space}
+%
+% The hostile space command. Similar to air command, but with bar on
+% top.
+%
+% \begin{macrocode}
+\pgfdeclareshape{natoapp6c hostile space}{%
+ \inheritsavedanchors[from=natoapp6c hostile air]
+ \inheritanchor[from=natoapp6c hostile air]{north east}
+ \inheritanchor[from=natoapp6c hostile air]{north west}
+ \inheritanchor[from=natoapp6c hostile air]{south east}
+ \inheritanchor[from=natoapp6c hostile air]{south west}
+ \inheritanchor[from=natoapp6c hostile air]{north}
+ \inheritanchor[from=natoapp6c hostile air]{west}
+ \inheritanchor[from=natoapp6c hostile air]{east}
+ \inheritanchor[from=natoapp6c hostile air]{south}
+ \inheritanchor[from=natoapp6c hostile air]{upper}
+ \inheritanchor[from=natoapp6c hostile air]{lower}
+ \inheritanchor[from=natoapp6c hostile air]{left}
+ \inheritanchor[from=natoapp6c hostile air]{right}
+ \inheritanchor[from=natoapp6c hostile air]{center}
+ \inheritbackgroundpath[from=natoapp6c hostile air]
+ \behindforegroundpath{%
+ \begin{n@to@pp@stroketofill}
+ \n@to@hostile@@ir%
+ \pgfusepath{stroke,clip}%
+ %
+ \north\wg@tmpa=\pgf@y\wg@tmpb=\pgf@y
+ \advance\wg@tmpb-\n@to@pp@space@h
+ %
+ \pgfpathmoveto{\pgfqpoint{ \n@to@pp@r}{\wg@tmpa}}%
+ \pgfpathlineto{\pgfqpoint{-\n@to@pp@r}{\wg@tmpa}}%
+ \pgfpathlineto{\pgfqpoint{-\n@to@pp@r}{\wg@tmpb}}%
+ \pgfpathlineto{\pgfqpoint{ \n@to@pp@r}{\wg@tmpb}}%
+ \pgfclosepath%
+ \pgfusepath{fill}%
+ \end{n@to@pp@stroketofill}
+ }
+}
+% \end{macrocode}
+% \end{NatoAppFrame}
+%
+% \iffalse
+% ....................................................................
+% \fi
+% \begin{NatoAppFrame}{natoapp6c hostile sub surface}
+%
+% Macro for hostile sub surface command
+%
+% \begin{macrocode}
+\def\n@to@hostile@sub{%
+ \northeast \wg@tmpa=\pgf@x\wg@tmpb=\pgf@y%
+ \cntrl \wg@tmpc=\pgf@y%
+ \south \wg@tmpd=\pgf@y%
+ \pgfpathmoveto{\pgfqpoint{-\wg@tmpa}{\wg@tmpb}}%
+ \pgfpathlineto{\pgfqpoint{-\wg@tmpa}{\wg@tmpc}}%
+ \pgfpathlineto{\pgfqpoint{ 0cm}{\wg@tmpd}}%
+ \pgfpathlineto{\pgfqpoint{\wg@tmpa}{\wg@tmpc}}%
+ \pgfpathlineto{\pgfqpoint{\wg@tmpa}{\wg@tmpb}}%
+}
+% \end{macrocode}
+%
+% The hostile sub surface command
+%
+% \begin{macrocode}
+\pgfdeclareshape{natoapp6c hostile sub surface}{%
+ \inheritsavedanchors[from=natoapp6c base]
+ \savedanchor\northeast{%
+ \pgf@x=\n@to@pp@r%
+ \pgf@y=\n@to@pp@r}
+ \savedanchor\cntrl{\pgf@x=\n@to@pp@r\pgf@y=-0.414\n@to@pp@r}
+ \savedanchor\south{\pgf@x=0cm\pgf@y=-1.414\n@to@pp@r}
+ \anchor{north east}{\northeast}
+ \anchor{north west}{\northeast\pgf@x=-\pgf@x}
+ \anchor{south east}{\northeast\wg@tmpa=\pgf@x\south\pgf@x=\wg@tmpa}
+ \anchor{south west}{\northeast\wg@tmpa=\pgf@x\south\pgf@x=-\wg@tmpa}
+ \anchor{south}{\south}
+ \anchor{east}{
+ \northeast\wg@tmpb=\pgf@y\wg@tmpa=\pgf@x%
+ \south\wg@tmpc\pgf@y%
+ \advance\wg@tmpb-\wg@tmpc
+ \divide\wg@tmpb2%
+ \advance\wg@tmpb\wg@tmpc%
+ \pgf@x=\wg@tmpa%
+ \pgf@y=\wg@tmpb}
+ \anchor{west}{
+ \northeast\wg@tmpb=\pgf@y\wg@tmpa=\pgf@x%
+ \south\wg@tmpc\pgf@y%
+ \advance\wg@tmpb-\wg@tmpc
+ \divide\wg@tmpb2%
+ \advance\wg@tmpb\wg@tmpc%
+ \pgf@x=-\wg@tmpa%
+ \pgf@y=\wg@tmpb}
+ \anchor{north}{\northeast\pgf@x=0cm}
+ \inheritanchor[from=natoapp6c base]{upper}
+ \inheritanchor[from=natoapp6c base]{lower}
+ \inheritanchor[from=natoapp6c base]{left}
+ \inheritanchor[from=natoapp6c base]{right}
+ \inheritanchor[from=natoapp6c base]{center}
+ \backgroundpath{%
+ \n@to@hostile@sub%
+ }
+ \behindforegroundpath{%
+ \n@to@hostile@sub%
+ \pgfusepath{stroke}%
+ }
+}
+% \end{macrocode}
+% \end{NatoAppFrame}
+%
+% \iffalse
+%</natoapp6c>
+% --------------------------------------------------------------------
+% \fi
diff --git a/macros/latex/contrib/wargame/source/natoapp6c/frames/neutral.dtx b/macros/latex/contrib/wargame/source/natoapp6c/frames/neutral.dtx
new file mode 100644
index 0000000000..b0b18780a9
--- /dev/null
+++ b/macros/latex/contrib/wargame/source/natoapp6c/frames/neutral.dtx
@@ -0,0 +1,405 @@
+% \iffalse
+% --------------------------------------------------------------------
+%<*natoapp6c>
+% \fi
+% \subsubsection{`Neutral' node shapes}
+%
+%
+% Macro for neutral shapes
+%
+% \begin{macrocode}
+\def\n@to@pp@neutr@l@init{%
+ \northeast\wg@tmpa=\pgf@x\wg@tmpb=\pgf@y%
+ \def\n@to@pp@neutr@l@left {\pgflineto{\pgfqpoint{-\wg@tmpa}{-\wg@tmpb}}}%
+ \def\n@to@pp@neutr@l@right {\pgflineto{\pgfqpoint{ \wg@tmpa}{ \wg@tmpb}}}%
+ \def\n@to@pp@neutr@l@top {\pgflineto{\pgfqpoint{-\wg@tmpa}{ \wg@tmpb}}}%
+ \def\n@to@pp@neutr@l@bottom{\pgflineto{\pgfqpoint{ \wg@tmpa}{-\wg@tmpb}}}%
+ \def\n@to@pp@neutr@l@nw {\pgfmoveto{\pgfqpoint{-\wg@tmpa}{ \wg@tmpb}}}%
+ \def\n@to@pp@neutr@l@ne {\pgfmoveto{\pgfqpoint{ \wg@tmpa}{ \wg@tmpb}}}%
+ \def\n@to@pp@neutr@l@se {\pgfmoveto{\pgfqpoint{ \wg@tmpa}{-\wg@tmpb}}}%
+ \def\n@to@pp@neutr@l@sw {\pgfmoveto{\pgfqpoint{-\wg@tmpa}{-\wg@tmpb}}}%
+}
+% \end{macrocode}
+%
+% \iffalse
+% ....................................................................
+% \fi
+% \begin{NatoAppFrame}{natoapp6c neutral air}
+%
+% The neutral air command
+%
+% \begin{macrocode}
+\pgfdeclareshape{natoapp6c neutral air}{%
+ \inheritsavedanchors[from=natoapp6c base]
+ \savedanchor\northeast{\pgf@x=\n@to@pp@r\pgf@y=\n@to@pp@r}
+ \anchor{north east}{\northeast}
+ \anchor{north west}{\northeast\pgf@x=-\pgf@x}
+ \anchor{south east}{\northeast\pgf@y=-\pgf@y}
+ \anchor{south west}{\northeast\pgf@x=-\pgf@x\pgf@y=-\pgf@y}
+ \anchor{north}{\northeast\pgf@x=0cm}
+ \anchor{east}{\northeast\pgf@y=0cm}
+ \anchor{west}{\northeast\pgf@x=-\pgf@x\pgf@y=0cm}
+ \anchor{south}{\northeast\pgf@x=0cm\pgf@y=-\pgf@y}
+ \inheritanchor[from=natoapp6c base]{upper}
+ \inheritanchor[from=natoapp6c base]{lower}
+ \inheritanchor[from=natoapp6c base]{left}
+ \inheritanchor[from=natoapp6c base]{right}
+ \inheritanchor[from=natoapp6c base]{center}
+ \backgroundpath{%
+ \n@to@pp@neutr@l@init%
+ \n@to@pp@neutr@l@se
+ \n@to@pp@neutr@l@right%
+ \n@to@pp@neutr@l@top%
+ \n@to@pp@neutr@l@left%
+ }
+ \behindforegroundpath{%
+ \n@to@pp@neutr@l@init%
+ \n@to@pp@neutr@l@se
+ \n@to@pp@neutr@l@right%
+ \n@to@pp@neutr@l@top%
+ \n@to@pp@neutr@l@left%
+ \pgfusepath{stroke}%
+ }
+}
+% \end{macrocode}
+% \end{NatoAppFrame}
+%
+% \iffalse
+% ....................................................................
+% \fi
+% \begin{NatoAppFrame}{natoapp6c neutral land}
+%
+% The neutral land command
+%
+% \begin{macrocode}
+\pgfdeclareshape{natoapp6c neutral land}{%
+ \inheritsavedanchors[from=natoapp6c neutral air]
+ \inheritanchor[from=natoapp6c neutral air]{north east}
+ \inheritanchor[from=natoapp6c neutral air]{north west}
+ \inheritanchor[from=natoapp6c neutral air]{south east}
+ \inheritanchor[from=natoapp6c neutral air]{south west}
+ \inheritanchor[from=natoapp6c neutral air]{north}
+ \inheritanchor[from=natoapp6c neutral air]{west}
+ \inheritanchor[from=natoapp6c neutral air]{east}
+ \inheritanchor[from=natoapp6c neutral air]{south}
+ \inheritanchor[from=natoapp6c neutral air]{upper}
+ \inheritanchor[from=natoapp6c neutral air]{lower}
+ \inheritanchor[from=natoapp6c neutral air]{left}
+ \inheritanchor[from=natoapp6c neutral air]{right}
+ \inheritanchor[from=natoapp6c neutral air]{center}
+ \backgroundpath{%
+ \n@to@pp@neutr@l@init%
+ \n@to@pp@neutr@l@ne
+ \n@to@pp@neutr@l@top%
+ \n@to@pp@neutr@l@left%
+ \n@to@pp@neutr@l@bottom%
+ \pgfclosepath
+ }
+ \behindforegroundpath{%
+ \n@to@pp@neutr@l@init%
+ \n@to@pp@neutr@l@ne
+ \n@to@pp@neutr@l@top%
+ \n@to@pp@neutr@l@left%
+ \n@to@pp@neutr@l@bottom%
+ \pgfclosepath
+ \pgfusepath{stroke}%
+ }
+}
+% \end{macrocode}
+% \end{NatoAppFrame}
+%
+% \iffalse
+% ....................................................................
+% \fi
+% \begin{NatoAppFrame}{natoapp6c neutral activity}
+%
+% The neutral activity command. Similar to land command but with
+% boxes added in the corners.
+%
+% \begin{macrocode}
+\pgfdeclareshape{natoapp6c neutral activity}{%
+ \inheritsavedanchors[from=natoapp6c neutral land]
+ \inheritanchor[from=natoapp6c neutral land]{center}
+ \inheritanchor[from=natoapp6c neutral land]{inner north east}
+ \inheritanchor[from=natoapp6c neutral land]{inner north west}
+ \inheritanchor[from=natoapp6c neutral land]{inner south west}
+ \inheritanchor[from=natoapp6c neutral land]{inner south east}
+ \inheritanchor[from=natoapp6c neutral land]{north east}
+ \inheritanchor[from=natoapp6c neutral land]{north west}
+ \inheritanchor[from=natoapp6c neutral land]{south east}
+ \inheritanchor[from=natoapp6c neutral land]{south west}
+ \inheritanchor[from=natoapp6c neutral land]{north}
+ \inheritanchor[from=natoapp6c neutral land]{west}
+ \inheritanchor[from=natoapp6c neutral land]{east}
+ \inheritanchor[from=natoapp6c neutral land]{south}
+ \inheritanchor[from=natoapp6c neutral land]{upper}
+ \inheritanchor[from=natoapp6c neutral land]{lower}
+ \inheritanchor[from=natoapp6c neutral land]{left}
+ \inheritanchor[from=natoapp6c neutral land]{right}
+ \inheritanchor[from=natoapp6c neutral land]{center}
+ \inheritbackgroundpath[from=natoapp6c neutral land]
+ \behindforegroundpath{
+ \begin{n@to@pp@stroketofill}
+ \n@to@pp@neutr@l@init%
+ \n@to@pp@neutr@l@ne
+ \n@to@pp@neutr@l@top%
+ \n@to@pp@neutr@l@left%
+ \n@to@pp@neutr@l@bottom%
+ \pgfclosepath
+ \pgfusepath{stroke}
+ %
+ \northeast \wg@tmpa=\pgf@x\wg@tmpb\pgf@y%
+ \wg@tmpc=\wg@tmpa\advance\wg@tmpc-\n@to@pp@act@w
+ \wg@tmpd=\wg@tmpb\advance\wg@tmpd-\n@to@pp@act@w
+ %
+ \pgfpathmoveto{\pgfqpoint{\wg@tmpa}{\wg@tmpb}}%
+ \pgfpathlineto{\pgfqpoint{\wg@tmpc}{\wg@tmpb}}%
+ \pgfpathlineto{\pgfqpoint{\wg@tmpc}{\wg@tmpd}}%
+ \pgfpathlineto{\pgfqpoint{\wg@tmpa}{\wg@tmpd}}%
+ \pgfclosepath
+ \pgfusepath{fill}%
+ %
+ \pgfpathmoveto{\pgfqpoint{\wg@tmpa}{-\wg@tmpd}}%
+ \pgfpathlineto{\pgfqpoint{\wg@tmpc}{-\wg@tmpd}}%
+ \pgfpathlineto{\pgfqpoint{\wg@tmpc}{-\wg@tmpb}}%
+ \pgfpathlineto{\pgfqpoint{\wg@tmpa}{-\wg@tmpb}}%
+ \pgfclosepath
+ \pgfusepath{fill}%
+ %
+ \pgfpathmoveto{\pgfqpoint{-\wg@tmpc}{\wg@tmpb}}%
+ \pgfpathlineto{\pgfqpoint{-\wg@tmpa}{\wg@tmpb}}%
+ \pgfpathlineto{\pgfqpoint{-\wg@tmpa}{\wg@tmpd}}%
+ \pgfpathlineto{\pgfqpoint{-\wg@tmpc}{\wg@tmpd}}%
+ \pgfclosepath
+ \pgfusepath{fill}%
+ %
+ \pgfpathmoveto{\pgfqpoint{-\wg@tmpc}{-\wg@tmpd}}%
+ \pgfpathlineto{\pgfqpoint{-\wg@tmpa}{-\wg@tmpd}}%
+ \pgfpathlineto{\pgfqpoint{-\wg@tmpa}{-\wg@tmpb}}%
+ \pgfpathlineto{\pgfqpoint{-\wg@tmpc}{-\wg@tmpb}}%
+ \pgfclosepath
+ \pgfusepath{fill}%
+ \end{n@to@pp@stroketofill}
+ }
+}
+% \end{macrocode}
+% \end{NatoAppFrame}
+%
+% \iffalse
+% ....................................................................
+% \fi
+% \begin{NatoAppFrame}{natoapp6c neutral equipment}
+%
+% The neutral equipment command. Same as land command
+%
+% \begin{macrocode}
+\pgfdeclareshape{natoapp6c neutral equipment}{%
+ \inheritsavedanchors[from=natoapp6c neutral land]
+ \inheritanchor[from=natoapp6c neutral land]{center}
+ \inheritanchor[from=natoapp6c neutral land]{inner north east}
+ \inheritanchor[from=natoapp6c neutral land]{inner north west}
+ \inheritanchor[from=natoapp6c neutral land]{inner south west}
+ \inheritanchor[from=natoapp6c neutral land]{inner south east}
+ \inheritanchor[from=natoapp6c neutral land]{north east}
+ \inheritanchor[from=natoapp6c neutral land]{north west}
+ \inheritanchor[from=natoapp6c neutral land]{south east}
+ \inheritanchor[from=natoapp6c neutral land]{south west}
+ \inheritanchor[from=natoapp6c neutral land]{north}
+ \inheritanchor[from=natoapp6c neutral land]{west}
+ \inheritanchor[from=natoapp6c neutral land]{east}
+ \inheritanchor[from=natoapp6c neutral land]{south}
+ \inheritanchor[from=natoapp6c neutral land]{upper}
+ \inheritanchor[from=natoapp6c neutral land]{lower}
+ \inheritanchor[from=natoapp6c neutral land]{left}
+ \inheritanchor[from=natoapp6c neutral land]{right}
+ \inheritanchor[from=natoapp6c neutral land]{center}
+ \inheritbackgroundpath[from=natoapp6c neutral land]
+ \inheritbehindbackgroundpath[from=natoapp6c neutral land]
+}
+% \end{macrocode}
+% \end{NatoAppFrame}
+%
+% \iffalse
+% ....................................................................
+% \fi
+% \begin{NatoAppFrame}{natoapp6c neutral installation}
+%
+% The neutral installation command. Similar to land command but
+% with a `hat' on top.
+%
+% \begin{macrocode}
+\pgfdeclareshape{natoapp6c neutral installation}{%
+ \inheritsavedanchors[from=natoapp6c neutral land]
+ \inheritanchor[from=natoapp6c neutral land]{center}
+ \inheritanchor[from=natoapp6c neutral land]{inner north east}
+ \inheritanchor[from=natoapp6c neutral land]{inner north west}
+ \inheritanchor[from=natoapp6c neutral land]{inner south west}
+ \inheritanchor[from=natoapp6c neutral land]{inner south east}
+ \inheritanchor[from=natoapp6c neutral land]{north east}
+ \inheritanchor[from=natoapp6c neutral land]{north west}
+ \inheritanchor[from=natoapp6c neutral land]{south east}
+ \inheritanchor[from=natoapp6c neutral land]{south west}
+ \inheritanchor[from=natoapp6c neutral land]{north}
+ \inheritanchor[from=natoapp6c neutral land]{west}
+ \inheritanchor[from=natoapp6c neutral land]{east}
+ \inheritanchor[from=natoapp6c neutral land]{south}
+ \inheritanchor[from=natoapp6c neutral land]{upper}
+ \inheritanchor[from=natoapp6c neutral land]{lower}
+ \inheritanchor[from=natoapp6c neutral land]{left}
+ \inheritanchor[from=natoapp6c neutral land]{right}
+ \inheritanchor[from=natoapp6c neutral land]{center}
+ \inheritbackgroundpath[from=natoapp6c neutral land]
+ \behindforegroundpath{
+ \begin{n@to@pp@stroketofill}
+ \n@to@pp@neutr@l@init%
+ \n@to@pp@neutr@l@ne
+ \n@to@pp@neutr@l@top%
+ \n@to@pp@neutr@l@left%
+ \n@to@pp@neutr@l@bottom%
+ \pgfclosepath
+ \pgfusepath{stroke}
+ %
+ \northeast \wg@tmpa=\pgf@y%
+ \wg@tmpb=\wg@tmpa\advance\wg@tmpb\n@to@pp@inst@h%
+ %
+ \pgfpathmoveto{\pgfqpoint{ \n@to@pp@inst@x}{\wg@tmpb}}%
+ \pgfpathlineto{\pgfqpoint{-\n@to@pp@inst@x}{\wg@tmpb}}%
+ \pgfpathlineto{\pgfqpoint{-\n@to@pp@inst@x}{\wg@tmpa}}%
+ \pgfpathlineto{\pgfqpoint{ \n@to@pp@inst@x}{\wg@tmpa}}%
+ \pgfclosepath
+ \pgfusepath{fill}%
+ \end{n@to@pp@stroketofill}
+ }
+}
+% \end{macrocode}
+% \end{NatoAppFrame}
+%
+% \iffalse
+% ....................................................................
+% \fi
+% \begin{NatoAppFrame}{natoapp6c neutral sea surface}
+%
+% The neutral sea surface command. Same as land command.
+%
+% \begin{macrocode}
+\pgfdeclareshape{natoapp6c neutral sea surface}{%
+ \inheritsavedanchors[from=natoapp6c neutral equipment]
+ \inheritanchor[from=natoapp6c neutral equipment]{inner north east}
+ \inheritanchor[from=natoapp6c neutral equipment]{inner north west}
+ \inheritanchor[from=natoapp6c neutral equipment]{inner south west}
+ \inheritanchor[from=natoapp6c neutral equipment]{inner south east}
+ \inheritanchor[from=natoapp6c neutral equipment]{north east}
+ \inheritanchor[from=natoapp6c neutral equipment]{north west}
+ \inheritanchor[from=natoapp6c neutral equipment]{south east}
+ \inheritanchor[from=natoapp6c neutral equipment]{south west}
+ \inheritanchor[from=natoapp6c neutral equipment]{north}
+ \inheritanchor[from=natoapp6c neutral equipment]{west}
+ \inheritanchor[from=natoapp6c neutral equipment]{east}
+ \inheritanchor[from=natoapp6c neutral equipment]{south}
+ \inheritanchor[from=natoapp6c neutral equipment]{upper}
+ \inheritanchor[from=natoapp6c neutral equipment]{lower}
+ \inheritanchor[from=natoapp6c neutral equipment]{left}
+ \inheritanchor[from=natoapp6c neutral equipment]{right}
+ \inheritanchor[from=natoapp6c neutral equipment]{center}
+ \inheritbackgroundpath[from=natoapp6c neutral equipment]
+ \inheritbehindforegroundpath[from=natoapp6c neutral equipment]
+}
+% \end{macrocode}
+% \end{NatoAppFrame}
+%
+% \iffalse
+% ....................................................................
+% \fi
+% \begin{NatoAppFrame}{natoapp6c neutral space}
+%
+% The neutral space command. Similar to air command but with a
+% bar.
+%
+% \begin{macrocode}
+\pgfdeclareshape{natoapp6c neutral space}{%
+ \inheritsavedanchors[from=natoapp6c neutral air]
+ \inheritanchor[from=natoapp6c neutral air]{north east}
+ \inheritanchor[from=natoapp6c neutral air]{north west}
+ \inheritanchor[from=natoapp6c neutral air]{south east}
+ \inheritanchor[from=natoapp6c neutral air]{south west}
+ \inheritanchor[from=natoapp6c neutral air]{north}
+ \inheritanchor[from=natoapp6c neutral air]{west}
+ \inheritanchor[from=natoapp6c neutral air]{east}
+ \inheritanchor[from=natoapp6c neutral air]{south}
+ \inheritanchor[from=natoapp6c neutral air]{upper}
+ \inheritanchor[from=natoapp6c neutral air]{lower}
+ \inheritanchor[from=natoapp6c neutral air]{left}
+ \inheritanchor[from=natoapp6c neutral air]{right}
+ \inheritanchor[from=natoapp6c neutral air]{center}
+ \inheritbackgroundpath[from=natoapp6c neutral air]
+ \behindforegroundpath{%
+ \begin{n@to@pp@stroketofill}
+ \n@to@pp@neutr@l@init%
+ \n@to@pp@neutr@l@se
+ \n@to@pp@neutr@l@right%
+ \n@to@pp@neutr@l@top%
+ \n@to@pp@neutr@l@left%
+ \pgfusepath{stroke}%
+ %
+ \n@to@pp@neutr@l@ne
+ \n@to@pp@neutr@l@top%
+ \northeast\wg@tmpa=\pgf@x\wg@tmpb=\pgf@y%
+ \advance\wg@tmpb-\n@to@pp@space@h
+ %
+ \pgfpathlineto{\pgfqpoint{-\wg@tmpa}{\wg@tmpc}}%
+ \pgfpathlineto{\pgfqpoint{-\wg@tmpa}{\wg@tmpb}}%
+ \pgfpathlineto{\pgfqpoint{ \wg@tmpa}{\wg@tmpb}}%
+ \pgfclosepath%
+ \pgfusepath{fill}%
+ \end{n@to@pp@stroketofill}
+ }
+}
+% \end{macrocode}
+% \end{NatoAppFrame}
+%
+% \iffalse
+% ....................................................................
+% \fi
+% \begin{NatoAppFrame}{natoapp6c neutral sub surface}
+%
+% The neutral sub surface command
+%
+% \begin{macrocode}
+\pgfdeclareshape{natoapp6c neutral sub surface}{%
+ \inheritsavedanchors[from=natoapp6c neutral air]
+ \inheritanchor[from=natoapp6c neutral air]{north east}
+ \inheritanchor[from=natoapp6c neutral air]{north west}
+ \inheritanchor[from=natoapp6c neutral air]{south east}
+ \inheritanchor[from=natoapp6c neutral air]{south west}
+ \inheritanchor[from=natoapp6c neutral air]{north}
+ \inheritanchor[from=natoapp6c neutral air]{west}
+ \inheritanchor[from=natoapp6c neutral air]{east}
+ \inheritanchor[from=natoapp6c neutral air]{south}
+ \inheritanchor[from=natoapp6c neutral air]{upper}
+ \inheritanchor[from=natoapp6c neutral air]{lower}
+ \inheritanchor[from=natoapp6c neutral air]{left}
+ \inheritanchor[from=natoapp6c neutral air]{right}
+ \inheritanchor[from=natoapp6c neutral air]{center}
+ \backgroundpath{%
+ \n@to@pp@neutr@l@init%
+ \n@to@pp@neutr@l@nw
+ \n@to@pp@neutr@l@left%
+ \n@to@pp@neutr@l@bottom%
+ \n@to@pp@neutr@l@right%
+ }
+ \behindforegroundpath{%
+ \n@to@pp@neutr@l@init%
+ \n@to@pp@neutr@l@nw
+ \n@to@pp@neutr@l@left%
+ \n@to@pp@neutr@l@bottom%
+ \n@to@pp@neutr@l@right%
+ \pgfusepath{stroke}%
+ }
+}
+% \end{macrocode}
+% \end{NatoAppFrame}
+%
+% \iffalse
+%</natoapp6c>
+% --------------------------------------------------------------------
+% \fi
diff --git a/macros/latex/contrib/wargame/source/natoapp6c/frames/unknown.dtx b/macros/latex/contrib/wargame/source/natoapp6c/frames/unknown.dtx
new file mode 100644
index 0000000000..e6bd3aec38
--- /dev/null
+++ b/macros/latex/contrib/wargame/source/natoapp6c/frames/unknown.dtx
@@ -0,0 +1,483 @@
+% \iffalse
+% --------------------------------------------------------------------
+%<*natoapp6c>
+% \fi
+% \subsubsection{`Unknown' node shapes}
+%
+%
+% Macro to define unknown path elements
+%
+% \begin{macrocode}
+\def\n@to@pp@unknown@init{%
+ \def\n@to@pp@unknown@top{%
+ \innernortheast \wg@tmpa=\pgf@x%
+ \cntrlnortheast \wg@tmpb=\pgf@x%
+ \pgfpathcurveto{%
+ \pgfqpoint{ \wg@tmpa}{\wg@tmpb}}{%
+ \pgfqpoint{-\wg@tmpa}{\wg@tmpb}}{%
+ \pgfqpoint{-\wg@tmpa}{\wg@tmpa}}}
+ \def\n@to@pp@unknown@left{%
+ \innernortheast \wg@tmpa=\pgf@x%
+ \cntrlnortheast \wg@tmpb=\pgf@x%
+ \pgfpathcurveto{%
+ \pgfqpoint{-\wg@tmpb}{ \wg@tmpa}}{%
+ \pgfqpoint{-\wg@tmpb}{-\wg@tmpa}}{%
+ \pgfqpoint{-\wg@tmpa}{-\wg@tmpa}}}
+ \def\n@to@pp@unknown@bottom{%
+ \innernortheast \wg@tmpa=\pgf@x%
+ \cntrlnortheast \wg@tmpb=\pgf@x%
+ \pgfpathcurveto{%
+ \pgfqpoint{-\wg@tmpa}{-\wg@tmpb}}{%
+ \pgfqpoint{ \wg@tmpa}{-\wg@tmpb}}{%
+ \pgfqpoint{ \wg@tmpa}{-\wg@tmpa}}}
+ \def\n@to@pp@unknown@right{%
+ \innernortheast \wg@tmpa=\pgf@x%
+ \cntrlnortheast \wg@tmpb=\pgf@x%
+ \pgfpathcurveto{%
+ \pgfqpoint{ \wg@tmpb}{-\wg@tmpa}}{%
+ \pgfqpoint{ \wg@tmpb}{ \wg@tmpa}}{%
+ \pgfqpoint{ \wg@tmpa}{ \wg@tmpa}}}
+}
+% \end{macrocode}
+%
+% \iffalse
+% ....................................................................
+% \fi
+% \begin{NatoAppFrame}{natoapp6c unknown land}
+%
+% The unknown land command
+%
+% \begin{macrocode}
+\pgfdeclareshape{natoapp6c unknown land}{%
+ \inheritsavedanchors[from=natoapp6c base]
+ \savedanchor\innernortheast{\pgf@x=.7\n@to@pp@r\pgf@y=.7\n@to@pp@r}
+ \savedanchor\cntrlnortheast{\pgf@x=1.6\n@to@pp@r\pgf@y=1.6\n@to@pp@r}
+ \savedanchor\northeast{\pgf@x=1.4\n@to@pp@r\pgf@y=1.4\n@to@pp@r}
+ \anchor{inner north east}{\innernortheast}
+ \anchor{inner north west}{\innernortheast\pgf@x=-\pgf@x}
+ \anchor{inner south west}{\innernortheast\pgf@x=-\pgf@x\pgf@y=-\pgf@y}
+ \anchor{inner south east}{\innernortheast\pgf@y=-\pgf@y}
+ \anchor{north east}{\northeast}
+ \anchor{north west}{\northeast\pgf@x=-\pgf@x}
+ \anchor{south west}{\northeast\pgf@x=-\pgf@x\pgf@y=-\pgf@y}
+ \anchor{south east}{\northeast\pgf@y=-\pgf@y}
+ \anchor{north}{\northeast\pgf@x=0cm}
+ \anchor{east}{\northeast\pgf@y=0cm}
+ \anchor{south}{\northeast\pgf@x=0cm\pgf@y=-\pgf@y}
+ \anchor{west}{\northeast\pgf@x=-\pgf@x\pgf@y=0cm}
+ \inheritanchor[from=natoapp6c base]{center}
+ \inheritanchor[from=natoapp6c base]{upper}
+ \inheritanchor[from=natoapp6c base]{lower}
+ \inheritanchor[from=natoapp6c base]{left}
+ \inheritanchor[from=natoapp6c base]{right}
+ \backgroundpath{%
+ \n@to@pp@unknown@init
+ \innernortheast \wg@tmpa=\pgf@x%
+ \pgfpathmoveto{\pgfqpoint{\wg@tmpa}{-\wg@tmpa}}%
+ \n@to@pp@unknown@right %
+ \n@to@pp@unknown@top %
+ \n@to@pp@unknown@left %
+ \n@to@pp@unknown@bottom%
+ }
+ \behindforegroundpath{%
+ \n@to@pp@unknown@init
+ \innernortheast \wg@tmpa=\pgf@x%
+ \pgfpathmoveto{\pgfqpoint{\wg@tmpa}{-\wg@tmpa}}%
+ \n@to@pp@unknown@right %
+ \n@to@pp@unknown@top %
+ \n@to@pp@unknown@left %
+ \n@to@pp@unknown@bottom%
+ \pgfusepath{stroke}}
+}
+% \end{macrocode}
+% \end{NatoAppFrame}
+%
+% \iffalse
+% ....................................................................
+% \fi
+% \begin{NatoAppFrame}{natoapp6c unknown air}
+%
+% The unknown air command. To consider: Should clipping path extend
+% below the actual symbol to include that part of the base symbol?
+%
+% \begin{macrocode}
+\pgfdeclareshape{natoapp6c unknown air}{%
+ \inheritsavedanchors[from=natoapp6c unknown land]
+ \inheritanchor[from=natoapp6c unknown land]{inner north east}
+ \inheritanchor[from=natoapp6c unknown land]{inner north west}
+ \inheritanchor[from=natoapp6c unknown land]{inner south west}
+ \inheritanchor[from=natoapp6c unknown land]{inner south east}
+ \inheritanchor[from=natoapp6c unknown land]{north east}
+ \inheritanchor[from=natoapp6c unknown land]{north west}
+ \inheritanchor[from=natoapp6c unknown land]{north}
+ \inheritanchor[from=natoapp6c unknown land]{west}
+ \inheritanchor[from=natoapp6c unknown land]{east}
+ \inheritanchor[from=natoapp6c unknown land]{upper}
+ \inheritanchor[from=natoapp6c unknown land]{lower}
+ \inheritanchor[from=natoapp6c unknown land]{left}
+ \inheritanchor[from=natoapp6c unknown land]{right}
+ \inheritanchor[from=natoapp6c unknown land]{center}
+ \anchor{south}{\innernortheast\pgf@x=0cm\pgf@y=-\pgf@y}
+ \anchor{south east}{
+ \northeast\wg@tmpa=\pgf@x
+ \innernortheast\pgf@y=-\pgf@y
+ \pgf@x=\wg@tmpa}
+ \anchor{south west}{
+ \northeast\wg@tmpa=\pgf@x
+ \innernortheast\pgf@y=-\pgf@y
+ \pgf@x=-\wg@tmpa}
+ \backgroundpath{%
+ \n@to@pp@unknown@init
+ \innernortheast \wg@tmpa=\pgf@x%
+ \pgfpathmoveto{\pgfqpoint{\wg@tmpa}{-\wg@tmpa}}%
+ \n@to@pp@unknown@right %
+ \n@to@pp@unknown@top %
+ \n@to@pp@unknown@left %
+ \ifn@to@pp@isclip
+ \pgfpathlineto{\pgfqpoint{0cm}{-\radius}}
+ \pgfpathclose
+ \fi
+ }
+ \behindforegroundpath{%
+ \n@to@pp@unknown@init
+ \innernortheast \wg@tmpa=\pgf@x%
+ \pgfpathmoveto{\pgfqpoint{\wg@tmpa}{-\wg@tmpa}}%
+ \n@to@pp@unknown@right %
+ \n@to@pp@unknown@top %
+ \n@to@pp@unknown@left %
+ \pgfusepath{stroke}%
+ }
+}
+% \end{macrocode}
+% \end{NatoAppFrame}
+%
+% \iffalse
+% ....................................................................
+% \fi
+% \begin{NatoAppFrame}{natoapp6c unknown activity}
+%
+% The unknown activity command. Similar to land command, but with
+% boxes in the the `corners'.
+%
+% \begin{macrocode}
+\pgfdeclareshape{natoapp6c unknown activity}{%
+ \inheritsavedanchors[from=natoapp6c unknown land]
+ \inheritanchor[from=natoapp6c unknown land]{inner north east}
+ \inheritanchor[from=natoapp6c unknown land]{inner north west}
+ \inheritanchor[from=natoapp6c unknown land]{inner south west}
+ \inheritanchor[from=natoapp6c unknown land]{inner south east}
+ \inheritanchor[from=natoapp6c unknown land]{north east}
+ \inheritanchor[from=natoapp6c unknown land]{north west}
+ \inheritanchor[from=natoapp6c unknown land]{south east}
+ \inheritanchor[from=natoapp6c unknown land]{south west}
+ \inheritanchor[from=natoapp6c unknown land]{north}
+ \inheritanchor[from=natoapp6c unknown land]{west}
+ \inheritanchor[from=natoapp6c unknown land]{east}
+ \inheritanchor[from=natoapp6c unknown land]{south}
+ \inheritanchor[from=natoapp6c unknown land]{upper}
+ \inheritanchor[from=natoapp6c unknown land]{lower}
+ \inheritanchor[from=natoapp6c unknown land]{left}
+ \inheritanchor[from=natoapp6c unknown land]{right}
+ \inheritanchor[from=natoapp6c unknown land]{center}
+ \inheritbackgroundpath[from=natoapp6c unknown land]
+ \behindforegroundpath{
+ \n@to@pp@unknown@init
+ \innernortheast \wg@tmpa=\pgf@x%
+ \begin{n@to@pp@stroketofill}
+ \pgfpathmoveto{\pgfqpoint{\wg@tmpa}{-\wg@tmpa}}%
+ \n@to@pp@unknown@right %
+ \n@to@pp@unknown@top %
+ \n@to@pp@unknown@left %
+ \n@to@pp@unknown@bottom%
+ \pgfusepath{stroke,clip}
+ %
+ \northeast\wg@tmpa\pgf@x
+ \advance\wg@tmpa0.005cm
+ \wg@tmpb=\wg@tmpa
+ \advance\wg@tmpb-\n@to@pp@act@w
+ \wg@tmpc=\n@to@pp@act@w
+ \divide\wg@tmpc2
+ %
+ \pgfpathmoveto{\pgfqpoint{ \wg@tmpc}{\wg@tmpa}}%
+ \pgfpathlineto{\pgfqpoint{-\wg@tmpc}{\wg@tmpa}}%
+ \pgfpathlineto{\pgfqpoint{-\wg@tmpc}{\wg@tmpb}}%
+ \pgfpathlineto{\pgfqpoint{ \wg@tmpc}{\wg@tmpb}}%
+ \pgfclosepath%
+ \pgfusepath{fill}
+ %
+ \pgfpathmoveto{\pgfqpoint{ \wg@tmpc}{-\wg@tmpb}}%
+ \pgfpathlineto{\pgfqpoint{-\wg@tmpc}{-\wg@tmpb}}%
+ \pgfpathlineto{\pgfqpoint{-\wg@tmpc}{-\wg@tmpa}}%
+ \pgfpathlineto{\pgfqpoint{ \wg@tmpc}{-\wg@tmpa}}%
+ \pgfclosepath%
+ \pgfusepath{fill}
+ %
+ \pgfpathmoveto{\pgfqpoint{ \wg@tmpa}{ \wg@tmpc}}%
+ \pgfpathlineto{\pgfqpoint{ \wg@tmpb}{ \wg@tmpc}}%
+ \pgfpathlineto{\pgfqpoint{ \wg@tmpb}{-\wg@tmpc}}%
+ \pgfpathlineto{\pgfqpoint{ \wg@tmpa}{-\wg@tmpc}}%
+ \pgfclosepath%
+ \pgfusepath{fill}
+ %
+ \pgfpathmoveto{\pgfqpoint{-\wg@tmpb}{ \wg@tmpc}}%
+ \pgfpathlineto{\pgfqpoint{-\wg@tmpa}{ \wg@tmpc}}%
+ \pgfpathlineto{\pgfqpoint{-\wg@tmpa}{-\wg@tmpc}}%
+ \pgfpathlineto{\pgfqpoint{-\wg@tmpb}{-\wg@tmpc}}%
+ \pgfclosepath%
+ \pgfusepath{fill}
+ \end{n@to@pp@stroketofill}
+ }
+}
+% \end{macrocode}
+% \end{NatoAppFrame}
+%
+% \iffalse
+% ....................................................................
+% \fi
+% \begin{NatoAppFrame}{natoapp6c unknown equipment}
+%
+% The unknown equipment command. Same as land command.
+%
+% \begin{macrocode}
+\pgfdeclareshape{natoapp6c unknown equipment}{%
+ \inheritsavedanchors[from=natoapp6c unknown land]
+ \inheritanchor[from=natoapp6c unknown land]{inner north east}
+ \inheritanchor[from=natoapp6c unknown land]{inner north west}
+ \inheritanchor[from=natoapp6c unknown land]{inner south west}
+ \inheritanchor[from=natoapp6c unknown land]{inner south east}
+ \inheritanchor[from=natoapp6c unknown land]{north east}
+ \inheritanchor[from=natoapp6c unknown land]{north west}
+ \inheritanchor[from=natoapp6c unknown land]{south east}
+ \inheritanchor[from=natoapp6c unknown land]{south west}
+ \inheritanchor[from=natoapp6c unknown land]{north}
+ \inheritanchor[from=natoapp6c unknown land]{west}
+ \inheritanchor[from=natoapp6c unknown land]{east}
+ \inheritanchor[from=natoapp6c unknown land]{south}
+ \inheritanchor[from=natoapp6c unknown land]{upper}
+ \inheritanchor[from=natoapp6c unknown land]{lower}
+ \inheritanchor[from=natoapp6c unknown land]{left}
+ \inheritanchor[from=natoapp6c unknown land]{right}
+ \inheritanchor[from=natoapp6c unknown land]{center}
+ \inheritbackgroundpath[from=natoapp6c unknown land]
+ \inheritbehindforegroundpath[from=natoapp6c unknown land]
+}
+% \end{macrocode}
+% \end{NatoAppFrame}
+%
+% \iffalse
+% ....................................................................
+% \fi
+% \begin{NatoAppFrame}{natoapp6c unknown installation}
+%
+% The unknown installation command. Similar to land command, but
+% with a `hat' on top. Note, NATO App6(d) makes the `hat' lower
+% part disconnected from the main symbol. I find that ugly, so we
+% do it like NATO App6(c).
+%
+% \begin{macrocode}
+\pgfdeclareshape{natoapp6c unknown installation}{%
+ \inheritsavedanchors[from=natoapp6c unknown land]
+ \inheritanchor[from=natoapp6c unknown land]{center}
+ \inheritanchor[from=natoapp6c unknown land]{inner north east}
+ \inheritanchor[from=natoapp6c unknown land]{inner north west}
+ \inheritanchor[from=natoapp6c unknown land]{inner south west}
+ \inheritanchor[from=natoapp6c unknown land]{inner south east}
+ \inheritanchor[from=natoapp6c unknown land]{north east}
+ \inheritanchor[from=natoapp6c unknown land]{north west}
+ \inheritanchor[from=natoapp6c unknown land]{south east}
+ \inheritanchor[from=natoapp6c unknown land]{south west}
+ \inheritanchor[from=natoapp6c unknown land]{north}
+ \inheritanchor[from=natoapp6c unknown land]{west}
+ \inheritanchor[from=natoapp6c unknown land]{east}
+ \inheritanchor[from=natoapp6c unknown land]{south}
+ \inheritanchor[from=natoapp6c unknown land]{upper}
+ \inheritanchor[from=natoapp6c unknown land]{lower}
+ \inheritanchor[from=natoapp6c unknown land]{left}
+ \inheritanchor[from=natoapp6c unknown land]{right}
+ \inheritanchor[from=natoapp6c unknown land]{center}
+ \inheritbackgroundpath[from=natoapp6c unknown land]
+ \behindforegroundpath{
+ \n@to@pp@unknown@init
+ \innernortheast \wg@tmpa=\pgf@x%
+
+ \pgfpathmoveto{\pgfqpoint{\wg@tmpa}{-\wg@tmpa}}%
+ \n@to@pp@unknown@right %
+ \n@to@pp@unknown@top %
+ \n@to@pp@unknown@left %
+ \n@to@pp@unknown@bottom%
+ \pgfusepath{stroke}
+ %
+ \begin{n@to@pp@stroketofill}
+ \pgfpathmoveto{\pgfqpoint{\wg@tmpa}{\wg@tmpa}}%
+ \n@to@pp@unknown@top %
+ %
+ \northeast\wg@tmpb=\pgf@y\wg@tmpc=\pgf@y%
+ \advance\wg@tmpb\n@to@pp@inst@h%
+ \advance\wg@tmpb-0.05cm%
+ \advance\wg@tmpc-\n@to@pp@inst@h%
+ \advance\wg@tmpc-\n@to@pp@inst@h%
+ %
+ \pgfpathlineto{\pgfqpoint{-\wg@tmpa}{\wg@tmpb}}%
+ \pgfpathlineto{\pgfqpoint{ \wg@tmpa}{\wg@tmpb}}%
+ \pgfclosepath%
+ \pgfusepath{clip}%
+ %
+ \pgfpathmoveto{\pgfqpoint{ \n@to@pp@inst@x}{\wg@tmpb}}%
+ \pgfpathlineto{\pgfqpoint{-\n@to@pp@inst@x}{\wg@tmpb}}%
+ \pgfpathlineto{\pgfqpoint{-\n@to@pp@inst@x}{\wg@tmpc}}%
+ \pgfpathlineto{\pgfqpoint{ \n@to@pp@inst@x}{\wg@tmpc}}%
+ \pgfclosepath%
+ \pgfusepath{fill}%
+ \end{n@to@pp@stroketofill}
+ }
+}
+% \end{macrocode}
+% \end{NatoAppFrame}
+%
+% \iffalse
+% ....................................................................
+% \fi
+% \begin{NatoAppFrame}{natoapp6c unknown sea surface}
+%
+% The unknown sea surface command. Same as land command
+%
+% \begin{macrocode}
+\pgfdeclareshape{natoapp6c unknown sea surface}{%
+ \inheritsavedanchors[from=natoapp6c unknown land]
+ \inheritanchor[from=natoapp6c unknown land]{inner north east}
+ \inheritanchor[from=natoapp6c unknown land]{inner north west}
+ \inheritanchor[from=natoapp6c unknown land]{inner south west}
+ \inheritanchor[from=natoapp6c unknown land]{inner south east}
+ \inheritanchor[from=natoapp6c unknown land]{north east}
+ \inheritanchor[from=natoapp6c unknown land]{north west}
+ \inheritanchor[from=natoapp6c unknown land]{south east}
+ \inheritanchor[from=natoapp6c unknown land]{south west}
+ \inheritanchor[from=natoapp6c unknown land]{north}
+ \inheritanchor[from=natoapp6c unknown land]{west}
+ \inheritanchor[from=natoapp6c unknown land]{east}
+ \inheritanchor[from=natoapp6c unknown land]{south}
+ \inheritanchor[from=natoapp6c unknown land]{upper}
+ \inheritanchor[from=natoapp6c unknown land]{lower}
+ \inheritanchor[from=natoapp6c unknown land]{left}
+ \inheritanchor[from=natoapp6c unknown land]{right}
+ \inheritanchor[from=natoapp6c unknown land]{center}
+ \inheritbackgroundpath[from=natoapp6c unknown land]
+ \inheritbehindforegroundpath[from=natoapp6c unknown land]
+}
+% \end{macrocode}
+% \end{NatoAppFrame}
+%
+% \iffalse
+% ....................................................................
+% \fi
+% \begin{NatoAppFrame}{natoapp6c unknown space}
+%
+% The unknown space command. Similar to air command, but with a top
+% bar.
+%
+% \begin{macrocode}
+\pgfdeclareshape{natoapp6c unknown space}{%
+ \inheritsavedanchors[from=natoapp6c unknown air]
+ \inheritanchor[from=natoapp6c unknown air]{inner north east}
+ \inheritanchor[from=natoapp6c unknown air]{inner north west}
+ \inheritanchor[from=natoapp6c unknown air]{inner south west}
+ \inheritanchor[from=natoapp6c unknown air]{inner south east}
+ \inheritanchor[from=natoapp6c unknown air]{north east}
+ \inheritanchor[from=natoapp6c unknown air]{north west}
+ \inheritanchor[from=natoapp6c unknown air]{south east}
+ \inheritanchor[from=natoapp6c unknown air]{south west}
+ \inheritanchor[from=natoapp6c unknown air]{north}
+ \inheritanchor[from=natoapp6c unknown air]{west}
+ \inheritanchor[from=natoapp6c unknown air]{east}
+ \inheritanchor[from=natoapp6c unknown air]{south}
+ \inheritanchor[from=natoapp6c unknown air]{upper}
+ \inheritanchor[from=natoapp6c unknown air]{lower}
+ \inheritanchor[from=natoapp6c unknown air]{left}
+ \inheritanchor[from=natoapp6c unknown air]{right}
+ \inheritanchor[from=natoapp6c unknown air]{center}
+ \inheritbackgroundpath[from=natoapp6c unknown air]
+ \behindforegroundpath{%
+ \n@to@pp@unknown@init
+ \innernortheast \wg@tmpa=\pgf@x%
+ \begin{n@to@pp@stroketofill}
+ \pgfpathmoveto{\pgfqpoint{\wg@tmpa}{-\wg@tmpa}}%
+ \n@to@pp@unknown@right %
+ \n@to@pp@unknown@top %
+ \n@to@pp@unknown@left %
+ \pgfusepath{stroke,clip}%
+ %
+ \northeast\wg@tmpa=\pgf@y\wg@tmpb=\pgf@y
+ \advance\wg@tmpb-\n@to@pp@space@h
+ %
+ \pgfpathmoveto{\pgfqpoint{ \radius}{\wg@tmpa}}%
+ \pgfpathlineto{\pgfqpoint{-\radius}{\wg@tmpa}}%
+ \pgfpathlineto{\pgfqpoint{-\radius}{\wg@tmpb}}%
+ \pgfpathlineto{\pgfqpoint{ \radius}{\wg@tmpb}}%
+ \pgfclosepath%
+ \pgfusepath{fill}%
+ \end{n@to@pp@stroketofill}
+ }
+}
+% \end{macrocode}
+% \end{NatoAppFrame}
+%
+% \iffalse
+% ....................................................................
+% \fi
+% \begin{NatoAppFrame}{natoapp6c unknown sub surface}
+%
+% The unknown sub surface command.
+%
+% \begin{macrocode}
+\pgfdeclareshape{natoapp6c unknown sub surface}{%
+ \inheritsavedanchors[from=natoapp6c unknown land]
+ \inheritanchor[from=natoapp6c unknown land]{inner north east}
+ \inheritanchor[from=natoapp6c unknown land]{inner north west}
+ \inheritanchor[from=natoapp6c unknown land]{inner south west}
+ \inheritanchor[from=natoapp6c unknown land]{inner south east}
+ \inheritanchor[from=natoapp6c unknown land]{south east}
+ \inheritanchor[from=natoapp6c unknown land]{south west}
+ \inheritanchor[from=natoapp6c unknown land]{south}
+ \inheritanchor[from=natoapp6c unknown land]{west}
+ \inheritanchor[from=natoapp6c unknown land]{east}
+ \inheritanchor[from=natoapp6c unknown land]{upper}
+ \inheritanchor[from=natoapp6c unknown land]{lower}
+ \inheritanchor[from=natoapp6c unknown land]{left}
+ \inheritanchor[from=natoapp6c unknown land]{right}
+ \inheritanchor[from=natoapp6c unknown land]{center}
+ \anchor{north}{\innernortheast\pgf@x=0cm}
+ \anchor{north east}{
+ \northeast\wg@tmpa=\pgf@x
+ \innernortheast\pgf@y=\pgf@y
+ \pgf@x=\wg@tmpa}
+ \anchor{north west}{
+ \northeast\wg@tmpa=\pgf@x
+ \innernortheast\pgf@y=\pgf@y
+ \pgf@x=-\wg@tmpa}
+ \backgroundpath{%
+ \n@to@pp@unknown@init
+ \innernortheast \wg@tmpa=\pgf@x%
+ \pgfpathmoveto{\pgfqpoint{-\wg@tmpa}{\wg@tmpa}}%
+ \n@to@pp@unknown@left %
+ \n@to@pp@unknown@bottom %
+ \n@to@pp@unknown@right %
+ \ifn@to@pp@isclip
+ \pgfpathlineto{\pgfqpoint{0cm}{\radius}}
+ \pgfpathclose
+ \fi
+ }
+ \behindforegroundpath{%
+ \n@to@pp@unknown@init
+ \innernortheast \wg@tmpa=\pgf@x%
+ \pgfpathmoveto{\pgfqpoint{-\wg@tmpa}{\wg@tmpa}}%
+ \n@to@pp@unknown@left %
+ \n@to@pp@unknown@bottom %
+ \n@to@pp@unknown@right %
+ \pgfusepath{stroke}}
+}
+% \end{macrocode}
+% \end{NatoAppFrame}
+% \iffalse
+%</natoapp6c>
+% --------------------------------------------------------------------
+% \fi
diff --git a/macros/latex/contrib/wargame/source/natoapp6c/list.dtx b/macros/latex/contrib/wargame/source/natoapp6c/list.dtx
new file mode 100644
index 0000000000..0500f01326
--- /dev/null
+++ b/macros/latex/contrib/wargame/source/natoapp6c/list.dtx
@@ -0,0 +1,266 @@
+% \iffalse
+% --------------------------------------------------------------------
+%<*natoapp6c>
+% \fi
+% \begin{Macro}{\n@to@pp@s@ll}
+%
+% A list of all defined symbols
+%
+% \begin{macrocode}
+\def\n@to@pp@s@ll{
+ weapon=base,
+ weapon=top,
+ weapon=bottom,
+ weapon=rifle,
+ weapon=machine gun,
+ weapon=grenade launcher,
+ weapon=missile launcher,
+ weapon=non lethal,
+ weapon=multi fire,
+ weapon=air defence,
+ weapon=anti tank,
+ weapon=full,
+ weapon,
+ type=light,
+ type=medium,
+ type=heavy,
+ type=vlight,
+ type=vmedium,
+ type=vheavy,
+ type,
+ above corps support,
+ air assault with organic lift,
+ air decoy,
+ air assault,
+ air defence,
+ air strip,
+ air traffic,
+ airship,
+ airborne,
+ ammunition,
+ amphibious,
+ amphibious warfare ship,
+ analysis,
+ arrest,
+ artillery,
+ anti tank anti armour,
+ antenna,
+ armoured,
+ armoured fighting vehicle,
+ armoured personnel carrier,
+ arctic,
+ automobile,
+ balloon,
+ bar,
+ base,
+ bicycle equipped,
+ boat,
+ booby trap,
+ bottomed,
+ bridge=none,
+ bridge=fixed,
+ bridge=folding,
+ bridge=hollow,
+ bridge,
+ capsule,
+ carrier,
+ chemical biological radiological nuclear,
+ civilian military cooperation,
+ civilian police,
+ civilian telecommunications,
+ coast guard vessel,
+ combat support,
+ combatant,
+ combined arms,
+ computer system,
+ control,
+ convoy,
+ corps support,
+ crime,
+ decoy,
+ direct communications,
+ direction finding,
+ diving=none,
+ diving=military,
+ diving,
+ drilling,
+ earthmover,
+ electric power,
+ electronic ranging,
+ electronic warfare wide,
+ engineer,
+ enhanced location reporting system,
+ environmental protection,
+ explosion,
+ finance,
+ fishing vessel,
+ fire protection,
+ fixed and rotary wing,
+ fixed wing,
+ flame thrower,
+ floating,
+ surfaced,
+ food,
+ fuel,
+ grenade launcher=none,
+ grenade launcher=non lethal,
+ grenade launcher,
+ graffiti,
+ group,
+ gun=base,
+ gun=air defence,
+ gun=anti tank,
+ gun=direct,
+ gun=recoilless,
+ gun,
+ headquarters,
+ house,
+ howitzer,
+ in position,
+ individual,
+ infantry,
+ intermodal,
+ jagged wave,
+ jam,
+ jamming,
+ jetski,
+ killing,
+ labour,
+ land mine=personnel,
+ land mine=tank,
+ land mine=none,
+ land mine,
+ land missile,
+ laser,
+ launcher,
+ laundry,
+ machine gun,
+ main gun,
+ maintenance,
+ medic,
+ medical,
+ medical treatment,
+ mine,
+ mine clearing equipment,
+ mine warfare vessel,
+ missile,
+ missile launcher=base,
+ missile launcher=none,
+ missile launcher=air defence,
+ missile launcher=anti tank,
+ missile launcher=surface to surface,
+ missile launcher,
+ mobile advisor and support,
+ moored,
+ mortar,
+ motorized,
+ mortuary affairs,
+ mountain,
+ naval,
+ navigation,
+ navy task,
+ non combatant,
+ non lethal weapon,
+ nuclear,
+ observer,
+ orbiter shuttle,
+ ordnance,
+ organisation,
+ over snow,
+ pack animal,
+ patrol,
+ patrolling,
+ physician,
+ pipeline,
+ poisoning,
+ postal,
+ printed media,
+ psychological,
+ quarry,
+ quartermaster,
+ radar,
+ radio,
+ radio relay,
+ radio relay line of sight,
+ radio teletype,
+ railroad,
+ reconnaissance,
+ recovery unmanned systems,
+ rifle,
+ rising,
+ riverine,
+ rocket launcher=base,
+ rocket launcher=anti tank,
+ rocket launcher=single,
+ rocket launcher=multiple,
+ rocket launcher=single head,
+ rocket launcher=multiple head,
+ rocket launcher,
+ rotary wing,
+ runway,
+ sailing boat,
+ satellite=none,
+ satellite=astronomical,
+ satellite=bio,
+ satellite=communications,
+ satellite=navigation,
+ satellite=earth observing,
+ satellite=tether,
+ satellite=small,
+ satellite=reconnaissance,
+ satellite,
+ sea mine=top half,
+ sea mine=bottom half,
+ sea mine=full,
+ sea mine=neutralised,
+ sea mine=neutralized,
+ sea mine,
+ seabed installation,
+ search,
+ searching,
+ semi trailer truck,
+ sensor,
+ ship,
+ signal,
+ signals intelligence,
+ ski,
+ sled,
+ small squashed text=TXT,
+ small text=TXT,
+ sniper,
+ space station,
+ squashed text=TXT,
+ submarine,
+ submersible,
+ supply,
+ surface combatant,
+ survey,
+ tactical satellite,
+ tank,
+ text=TXT,
+ topographic,
+ torpedo,
+ towed,
+ tracked,
+ train locomotive,
+ transportation,
+ unexploded ordnance,
+ unmanned,
+ utility vehicle,
+ vehicle,
+ video imagery,
+ warfare vessel,
+ water,
+ wheeled=and tracked,
+ wheeled=limited,
+ wheeled=cross country,
+ wheeled=semi,
+ wheeled
+}
+% \end{macrocode}
+% \end{Macro}
+%
+% \iffalse
+% </natoapp6c>
+% --------------------------------------------------------------------
+% \fi
diff --git a/macros/latex/contrib/wargame/source/natoapp6c/shape.dtx b/macros/latex/contrib/wargame/source/natoapp6c/shape.dtx
new file mode 100644
index 0000000000..029be911b7
--- /dev/null
+++ b/macros/latex/contrib/wargame/source/natoapp6c/shape.dtx
@@ -0,0 +1,647 @@
+% \iffalse
+% --------------------------------------------------------------------
+%<*natoapp6c>
+% \fi
+% \subsubsection{Text \texttt{natoapp6c} namespace}
+%
+% \begin{NatoAppKey}{/natoapp6c}
+%
+% Here, we set up the key path \spec{/natoapp6c}
+%
+% \begin{macrocode}
+\def\natoapp@report{}
+\tikzset{
+ /natoapp6c/.search also={/tikz},
+ /natoapp6c/.cd,
+}
+% \end{macrocode}
+% \end{NatoAppKey}
+%
+% \subsubsubsection{Choices of faction, command, and echelon}
+%
+% \begin{NatoAppKey}{natoapp6c/id,
+% natoapp6c/fac,
+% natoapp6c/cmd,
+% natoapp6c/ech}
+%
+% The keys \spec{id}, spec{fac}, \spec{cmd}, and \spec{ech} are
+% internal keys used to store the choice of faction, command, and
+% echelon, respectively, in.
+%
+% \begin{macrocode}
+\tikzset{
+ /natoapp6c/.cd,
+ id/.store in=\natoapp@id,
+ fac/.store in=\natoapp@fac,
+ cmd/.store in=\natoapp@cmd,
+ ech/.store in=\natoapp@ech,
+}
+% \end{macrocode}
+% \end{NatoAppKey}
+%
+% \begin{NatoAppKey}{natoapp6c/faction}
+%
+% Choice of \meta{faction}. This is limited to predefined values.
+% The choice is stored in the key \spec{natoapp6c/fac}.
+%
+% \begin{macrocode}
+\tikzset{
+ /natoapp6c/.cd,
+ faction/.is choice,
+ faction/none/.code={\let\natoapp@fac\@undefined},
+ faction/friendly/.style={fac=friendly},
+ faction/friend/.style={fac=friendly},
+ faction/hostile/.style={fac=hostile},
+ faction/enemy/.style={fac=hostile},
+ faction/neutral/.style={fac=neutral},
+ faction/unknown/.style={fac=unknown},
+ faction/?/.style={fac=unknown},
+ faction/.initial=friendly,
+}
+% \end{macrocode}
+% \end{NatoAppKey}
+%
+% \begin{NatoAppKey}{natoapp6c/command}
+%
+% Choice of \meta{command}. This is limited to predefined values.
+% The choice is stored in the key \spec{natoapp6c/cmd}.
+%
+% \begin{macrocode}
+\tikzset{
+ /natoapp6c/.cd,
+ command/.is choice,
+ command/base/.style={cmd=base},
+ command/activity/.style={cmd=activity},
+ command/air/.style={cmd=air},
+ command/missile/.style={cmd=air},
+ command/equipment/.style={cmd=equipment},
+ command/installation/.style={cmd=installation},
+ command/land/.style={cmd=land},
+ command/sea surface/.style={cmd=sea surface},
+ command/space/.style={cmd=space},
+ command/sub surface/.style={cmd=sub surface},
+ command/sea mine/.style={cmd=sub surface},
+}
+% \end{macrocode}
+% \end{NatoAppKey}
+%
+% \begin{NatoAppKey}{natoapp6c/echolon}
+%
+% Unit size. The choice is limited to one of the below. The choice
+% is stored in the key \spec{natoapp6c/ech}.
+%
+% \begin{macrocode}
+\tikzset{
+ /natoapp6c/.cd,
+ echelon/.is choice,
+ echelon/none/.style={ech=},
+ echelon/team/.style={ech=},
+ echelon/squad/.style={ech=squad},
+ echelon/section/.style={ech=section},
+ echelon/platoon/.style={ech=platoon},
+ echelon/company/.style={ech=company},
+ echelon/battalion/.style={ech=battalion},
+ echelon/regiment/.style={ech=regiment},
+ echelon/brigade/.style={ech=brigade},
+ echelon/division/.style={ech=division},
+ echelon/corps/.style={ech=corps},
+ echelon/army/.style={ech=army},
+ echelon/army group/.style={ech=army group},
+ echelon/theatre/.style={ech=theatre},
+ echelon/command/.style={ech=command},
+ echelon/dummy/.style={ech=dummy},
+}
+% \end{macrocode}
+% \end{NatoAppKey}
+%
+% \begin{NatoAppKey}{natoapp6c/main,
+% natoapp6c/left,
+% natoapp6c/right,
+% natoapp6c/top,
+% natoapp6c/bottom,
+% natoapp6c/below,
+% natoapp6c/frame}
+% \begin{Macro}{\natoapp@main,
+% \natoapp@left,
+% \natoapp@right,
+% \natoapp@upper,
+% \natoapp@lower,
+% \natoapp@below}
+%
+% The various parts of the symbols. The keys \spec{upper} and
+% \spec{lower} are aliases for \spec{top} and \spec{bottom},
+% respectively. The choices are stored in macros
+%
+% \begin{macrocode}
+\newif\ifnatoapp@decoy\natoapp@decoyfalse
+\tikzset{
+ /natoapp6c/.cd,
+ main/.store in=\natoapp@main, main/.initial=,%
+ left/.store in=\natoapp@left, left/.initial=,%
+ right/.store in=\natoapp@right, right/.initial=,%
+ upper/.store in=\natoapp@upper, upper/.initial=,%
+ lower/.store in=\natoapp@lower, lower/.initial=,%
+ top/.store in=\natoapp@upper,%
+ bottom/.store in=\natoapp@lower,%
+ below/.store in=\natoapp@below, below/.initial=,%
+ frame/.store in=\natoapp@frame, frame/.initial=,%
+ decoy/.is if=natoapp@decoy,%
+}
+% \end{macrocode}
+% \end{Macro}
+% \end{NatoAppKey}
+%
+% \begin{TikzKey}{/tikz/natoapp6c/main,
+% /tikz/natoapp6c/modifiers,
+% /tikz/natoapp6c/lower,
+% /tikz/natoapp6c/upper,
+% /tikz/natoapp6c/left,
+% /tikz/natoapp6c/right,
+% /tikz/natoapp6c/echelon,
+% /tikz/natoapp6c/below}
+%
+% Styles used by the various parts of the symbol.
+%
+% \begin{macrocode}
+\tikzset{
+ natoapp6c/parts/.style={draw,shape=rectangle,transform shape},
+ natoapp6c/main/.style={natoapp6c/parts},
+ natoapp6c/modifiers/.style={natoapp6c/parts,scale=.6},
+ natoapp6c/lower/.style={natoapp6c/parts},
+ natoapp6c/upper/.style={natoapp6c/parts},
+ natoapp6c/left/.style={natoapp6c/parts},
+ natoapp6c/right/.style={natoapp6c/parts},
+ natoapp6c/echelon/.style={natoapp6c/parts},
+ natoapp6c/below/.style={natoapp6c/parts}
+}
+% \end{macrocode}
+% \end{TikzKey}
+% \iffalse
+% --------------------------------------------------------------------
+% \fi
+%
+% \subsubsection{The \texttt{natoapp6c} styles}
+%
+% \begin{TikzKey}{/tikz/natoapp6c}
+% This key sets up a node to make a NATO App6(c) symbol. The key
+% takes a single argument which in turn must contain key--value
+% pairs in the \texttt{/natoapp6c} (or \texttt{/tikz}) namespace(s). We
+% set the \texttt{shape} parameter of the node, and calls the passed
+% keys in the \texttt{/natoapp6c} namespace to set-up elements of the
+% chit.
+%
+% \begin{macrocode}
+\tikzset{%
+ natoapp6c/.code={%
+ \pgfkeys{/tikz/transform shape,/tikz/shape=natoapp6c}
+ \pgfkeys{/natoapp6c/.cd,#1}}}
+% \end{macrocode}
+% \end{TikzKey}
+%
+% We define a counter to set-up unique names for symbol nodes.
+%
+% \begin{macrocode}
+\newcounter{natoappid}\setcounter{natoappid}{0}
+% \end{macrocode}
+%
+% \iffalse
+% --------------------------------------------------------------------
+% \fi
+% \subsubsection{The \cs{natoapp6c} shape}
+%
+% \begin{Macro}{\ifn@to@pp@below,\ifn@to@pp@mod}
+%
+% We define an \cs{if} to allow us to detect if something is
+% rendered below the frame
+%
+% \begin{macrocode}
+\newif\ifn@to@pp@below\n@to@pp@belowfalse%
+\newif\ifn@to@pp@mod\n@to@pp@modfalse%
+% \end{macrocode}
+% \end{Macro}
+%
+% \begin{NatoAppFrame}{natoapp6c}
+%
+% Next, we define the mother shape of NATO App6(c) nodes. This is a
+% composite node with sub-nodes for the various parts (including the
+% frame) of the symbol.
+%
+% It is quite complex so we will go through the implementation in
+% bits.
+%
+% First, we make some saved anchors (the centre) and macros
+% (identifier, frame type, and frame options).
+%
+% \begin{macrocode}
+\pgfdeclareshape{natoapp6c}{%
+ \savedanchor\center{\pgf@x=0cm\pgf@y=0cm}
+ \savedmacro\id{%
+ \n@to@pp@dbg{3}{NATO App6(c) id (set): \meaning\natoapp@id}
+ \@ifundefined{natoapp@id}{\let\natoapp@id\pgfutil@empty}{}%
+ \ifx\natoapp@id\pgfutil@empty\relax%
+ \wg@r@ndom@id%
+ \edef\id{natoapp6c\wg@uuid}%
+ \else%
+ \edef\id{\natoapp@id}%
+ \fi%
+ \n@to@pp@dbg{3}{NATO App6(c) id: \meaning\id}}
+ \savedmacro\frameshape{%
+ \let\frameshape\pgfutil@empty%
+ \@ifundefined{natoapp@cmd}{\def\frameshape{base}}{%
+ \edef\frameshape{\natoapp@cmd}
+ \@ifundefined{natoapp@fac}{\def\frameshape{base}}{%
+ \edef\frameshape{\natoapp@fac\space\frameshape}}}
+ \n@to@pp@dbg{3}{NATO App6(c) frame shape: \meaning\frameshape}}
+ \savedmacro\frameopt{%
+ \let\frameopt\pgfutil@empty%
+ \@ifundefined{natoapp@frame}{}{%
+ \edef\frameopt{\natoapp@frame}}
+ \n@to@pp@dbg{3}{NATO App6(c) Frame options: \meaning\frameopt}%
+ }
+% \end{macrocode}
+%
+% Then we define a number of regular anchors
+%
+% \begin{macrocode}
+ \anchor{center} {\center}
+% \end{macrocode}
+%
+% The remaining anchors depend on the shape being used. We reference
+% the anchors of the embedded node of the frame.
+%
+% \begin{macrocode}
+ \anchor{north east}{\wg@sub@nchor{M\id}{north east}}
+ \anchor{north west}{\wg@sub@nchor{M\id}{north west}}
+ \anchor{south east}{\wg@sub@nchor{M\id}{south east}}
+ \anchor{south west}{\wg@sub@nchor{M\id}{south west}}
+ \anchor{north} {\wg@sub@nchor{M\id}{north}}
+ \anchor{west} {\wg@sub@nchor{M\id}{west}}
+ \anchor{south} {\wg@sub@nchor{M\id}{south}}
+ \anchor{east} {\wg@sub@nchor{M\id}{east}}
+ \anchor{upper} {\wg@sub@nchor{M\id}{upper}}
+ \anchor{lower} {\wg@sub@nchor{M\id}{lower}}
+ \anchor{left} {\wg@sub@nchor{M\id}{left}}
+ \anchor{right} {\wg@sub@nchor{M\id}{right}}
+% \end{macrocode}
+%
+% The next two anchors are a little funny.
+%
+% \begin{macrocode}
+ \anchor{echelon} {%
+ \n@to@pp@dbg{3}{NATO App6(c) get echelon anchor}%
+ \wg@sub@nchor{M\id}{north}%
+ \wg@tmpa=\n@to@pp@e@y cm%
+ \advance\pgf@y\wg@tmpa%
+ }%
+ \anchor{below} {%
+ \n@to@pp@dbg{3}{NATO App6(c) get below anchor}%
+ \wg@sub@nchor{M\id}{south}
+ \wg@tmpa=\n@to@pp@e@yy cm%
+ \advance\pgf@y-\wg@tmpa}
+% \end{macrocode}
+%
+% All right, so time to make the actual frame. Note that we do this
+% in a `behind' path so we can actually draw stuff. First, we flag
+% that we're not in a modifier, nor in the `below' part.
+%
+% \begin{macrocode}
+ \behindbackgroundpath{%
+ \n@to@pp@dbg{3}{NATO App6(c) background path: \meaning\id
+ ^^J ID: \meaning\natoapp@id
+ ^^J Faction: \meaning\natoapp@fac
+ ^^J Command: \meaning\natoapp@cmd
+ ^^J Echelon: \meaning\natoapp@ech
+ ^^J Main: \meaning\natoapp@main
+ ^^J Left: \meaning\natoapp@left
+ ^^J Right: \meaning\natoapp@right
+ ^^J Upper: \meaning\natoapp@upper
+ ^^J Lower: \meaning\natoapp@lower
+ ^^J Below: \meaning\natoapp@below
+ ^^J Shape: \meaning\frameshape
+ ^^J Options: \meaning\frameopt}
+ \natoapp@report
+ \n@to@pp@modfalse
+ \n@to@pp@belowfalse
+% \end{macrocode}
+%
+% If the symbol is empty, then do nothing.
+%
+% \begin{macrocode}
+ \ifx\frameshape\pgfutil@empty%
+ \n@to@pp@dbg{2}{NATO App6(c) has no frame!}
+ \else
+% \end{macrocode}
+%
+% We start a scope because we want to do some clipping here. Then, we
+% use the frame to clip the remaining part. Note that we do this via
+% a node which we give the identifier \spec{M}. Various elements of
+% the symbol can then refer to this shape to define paths, etc.
+%
+% \begin{macrocode}
+ \begin{scope}
+ \pgfinterruptboundingbox
+ %% Clip to shape in scope
+ %% \message{^^JClipping to NATO App6(c) shape}
+ \n@to@pp@iscliptrue%
+ \n@to@pp@dbg{2}{NATO App6(c) frame node M (clip)}
+ \pgfnode{natoapp6c \frameshape}{center}{}{M}{\pgfusepath{clip}}
+ \n@to@pp@isclipfalse%
+% \end{macrocode}
+%
+% Next, we should see if we need to fill the frame. We do that by
+% expanding the passed \spec{frame} key-values in a scope, and
+% \emph{then} get the fill colour.
+%
+% \begin{macrocode}
+ %% Start new scope including frame key options
+ \edef\tmp@opt{[\frameopt]}
+ \expandafter\scope\tmp@opt
+ % Get fill color {possibly from frame key}
+ \expandafter\let\expandafter\tmp@fill%
+ \csname\string\color@pgffillcolor\endcsname%
+% \end{macrocode}
+%
+% If the fill colour is not \cs{relax}, then we fill the frame. Note
+% that this is done in the background, so when we draw in the
+% foreground we will render on top of the fill.
+%
+% \begin{macrocode}
+ % Check if we need to fill shape (fill colour us not \relax)
+ \ifx\tmp@fill\relax\else%
+ \n@to@pp@dbg{2}{NATO App6(c) frame fill}
+ \pgfnode{natoapp6c \frameshape}{center}{}{}{\pgfusepath{fill}}%
+ \fi%
+ % End the fill scope
+ \endscope%
+% \end{macrocode}
+%
+% Now we need to render some of the elements of the symbol. We start
+% with the main elements. We can specify many main elements (to make
+% composite symbols).
+%
+% \begin{macrocode}
+ % Render mains
+ \@ifundefined{natoapp@main}{}{
+ \n@to@pp@dbg{2}{NATO App6(c) mains: \meaning\natoapp@main}
+ \begin{scope}[natoapp6c/main]
+ \wg@pic@all{\natoapp@main}{natoapp6c/s/}{M.center}{natoapp6c/main}%
+ \end{scope}}%
+ % Modififiers flagged
+% \end{macrocode}
+%
+% The next thing is to render the various modifiers. We start by
+% flagging this globally.
+%
+% \begin{macrocode}
+ \n@to@pp@modtrue
+ \n@to@pp@dbg{2}{NATO App6(c) modifiers}
+% \end{macrocode}
+%
+% Below we render the lower, upper, left, and right elements. This is
+% all done in the same way. Note that the elements positions are
+% dictated by anchors of the frame shape (via shape identifier
+% \spec{M}).
+%
+% \begin{macrocode}
+ % Render lowers
+ \@ifundefined{natoapp@lower}{}{%
+ \begin{scope}%
+ \wg@pic@all{\natoapp@lower}{natoapp6c/s/}{M.lower}{%
+ natoapp6c/modifiers,natoapp6c/lower}%
+ \end{scope}}%
+ % Render uppers
+ \@ifundefined{natoapp@upper}{}{%
+ \begin{scope}[]
+ \wg@pic@all{\natoapp@upper}{natoapp6c/s/}{M.upper}{%
+ natoapp6c/modifiers,natoapp6c/upper}%
+ \end{scope}}%
+ % Render lefts
+ \@ifundefined{natoapp@left}{}{%
+ \begin{scope}[]
+ \wg@pic@all{\natoapp@left}{natoapp6c/s/}{M.left}{%
+ natoapp6c/modifiers,natoapp6c/left}%
+ \end{scope}}%
+ % Render rights
+ \@ifundefined{natoapp@right}{}{%
+ \begin{scope}[]
+ \wg@pic@all{\natoapp@right}{natoapp6c/s/}{M.right}{%
+ natoapp6c/modifiers,natoapp6c/right}%
+ \end{scope}}%
+ % Modififiers end
+ \n@to@pp@modfalse%
+ \endpgfinterruptboundingbox
+ \end{scope}%
+ \fi%
+ }
+% \end{macrocode}
+%
+% That concludes rendering most of the symbol. We have not put in the
+% echelon, below element, or drawn the frame yet. That we will do on
+% the foreground path.
+%
+% \begin{macrocode}
+% \end{macrocode}
+%
+% In the foreground `behind' path we render the echelon, below
+% element, and draw the frame.
+%
+% \begin{macrocode}
+ \behindforegroundpath{%
+ \n@to@pp@dbg{2}{NATO App6(c) foreground path:
+ ^^J Echelon: \meaning\natoapp@ech
+ ^^J Symbol: \meaning\frameshape
+ ^^J Below: \meaning\natoapp@below
+ ^^J Frame: \meaning\frameopt}
+ %
+% \end{macrocode}
+%
+% We check if we have a frame. If not, stop.
+%
+% \begin{macrocode}
+ \ifx\frameshape\pgfutil@empty%
+ \n@to@pp@dbg{2}{NATO App6(c) has no frame shape!}%
+ \else%
+% \end{macrocode}
+%
+% We want to draw the rest of the symbol as a part of the frame, so we
+% expand the \spec{frame} options in a scope.
+%
+% \begin{macrocode}
+
+ \edef\tmp@opt{[\frameopt]}
+ \expandafter\scope\tmp@opt
+% \end{macrocode}
+%
+% First thing in this scope is to draw the actual frame. Again, this
+% is done via a node with the right shape. Note that we label this
+% node as \spec{M}\meta{id} so we way refer to it later on.
+%
+% \begin{macrocode}
+ \n@to@pp@dbg{2}{NATO App6(c) inner node `M\id' ===}
+ \pgfnode{natoapp6c \frameshape}{center}{}{M\id}{\pgfusepath{stroke}}
+% \end{macrocode}
+%
+% If the user gave an echelon, then put that in. Note that echelons
+% are limited to predefined values.
+%
+% \begin{macrocode}
+ % Put in the echelon
+ \@ifundefined{natoapp@ech}{}{%
+ \ifx\natoapp@ech\pgfutil@empty\else%
+ \def\args{echelon=\natoapp@ech}
+ \expandafter\wg@pic\args\@endwg@pic%
+ {natoapp6c/s/}{$(M.north)+(0,1.2*\n@to@pp@e@y)$}{natoapp6c/echelon}
+ \fi%
+ }
+% \end{macrocode}
+%
+% If the user want something under the frame, put that in.
+%
+% \begin{macrocode}
+ % Put in stuff below main
+ \@ifundefined{natoapp@below}{}{%
+ \n@to@pp@belowtrue
+ \begin{scope}
+ \wg@pic@all{\natoapp@below}{natoapp6c/s/}{%
+ $(M.south)+(0,-\n@to@pp@e@yy)$}{%
+ natoapp6c/below}%
+ \end{scope}%
+ \n@to@pp@belowfalse}
+% \end{macrocode}
+%
+% If the \spec{decoy} flag was set, we draw that.
+%
+% \begin{macrocode}
+ \ifnatoapp@decoy%
+ \scope[dash pattern=on 3\pgflinewidth off 2\pgflinewidth]%
+ \n@to@pp@dbg{1}{Drawing decoy modifier}%
+ \wg@sub@nchor{M\id}{north east}
+ \wg@tmpa=\pgf@x%
+ \wg@tmpb=\pgf@y%
+ \pgfpathmoveto{\pgfqpoint{\wg@tmpa}{\wg@tmpb}}%
+ \wg@tmpc=\n@to@pp@e@yy cm%
+ \advance\wg@tmpc\n@to@pp@e@yy cm%
+ \advance\wg@tmpc\wg@tmpb%
+ \pgfpathlineto{\pgfqpoint{0cm}{\wg@tmpc}}%
+ \pgfpathlineto{\pgfqpoint{-\wg@tmpa}{\wg@tmpb}}%
+ \pgfusepath{stroke}%
+ \endscope%
+ \fi%
+ \endscope%
+ \fi%
+ }
+}
+% \end{macrocode}
+%
+% That finished the shape for NATO App6(c) symbols. We could stop
+% here, but for convenience we define a wrapper macro.
+%
+% \end{NatoAppFrame}
+%
+% \iffalse
+% --------------------------------------------------------------------
+% \fi
+% \subsubsection{The \cs{natoapp} wrapper macro}
+%
+% \begin{Macro}{\natoapp}
+%
+% This is a wrapper macro for inserting a node with a NATO App6(c)
+% symbol in it. The syntax of the macro is
+%
+% \begin{Syntax}
+% \cs{natoapp}\oarg{natoapp6c options}\parg{position}\parg{identifier};
+% \end{Syntax}
+%
+% Note that the trailing semi-colon (\spec{;}) is optional.
+%
+% This macro forwards to \cs{n@toapp}.
+%
+% \begin{macrocode}
+\newcommand\natoapp[1][]{%
+ \n@to@pp@dbg{2}{NATO App6(c) macro -> `#1'}
+ \tikzset{/natoapp6c/.cd,faction=friendly,command=land}%
+ \@ifnextchar({\n@toapp{#1}}{\n@toapp{#1}(0,0)}%)
+}
+% \end{macrocode}
+% \end{Macro}
+%
+% \begin{Macro}{\n@toapp}
+%
+% This macro takes care to parse the location argument --- if any.
+% It forwards to \cs{n@to@pp}.
+%
+% \begin{macrocode}
+\def\n@toapp#1(#2){%
+ \n@to@pp@dbg{2}{NATO App6(c) second macro -> `#1', `#2'}
+ \@ifnextchar({\n@to@pp{#1}{#2}}{\n@to@pp{#1}{#2}()}%)
+}
+% \end{macrocode}
+% \end{Macro}
+%
+%
+% \begin{Macro}{\n@to@pp}
+% This is the main work-horse of the wrapper. It makes a node with
+% the shape \spec{natoapp6c} passing the relevant parameters. The
+% syntax of the macro is
+%
+% \begin{macrocode}
+\def\n@to@pp#1#2(#3){%
+ %\let\name\pgfutil@empty%
+ %\ifx|#3|\else\edef\name{(#3)}\fi%
+ %\n@to@pp@dbg{3}{Arguments: #1}%
+ %\edef\args{[natoapp6c={#1},transform shape] \name at (#2) {}}
+ %\expandafter\node\args;%
+ \node[draw,transform shape,natoapp6c={#1}] (#3) at (#2) {};%
+ \@ifnextchar;{\@gobble}{}}
+% \end{macrocode}
+% \end{Macro}
+%
+% \iffalse
+% --------------------------------------------------------------------
+% \fi
+% \subsubsection{Macros for markings}
+%
+% \begin{Macro}{\natoappmark}
+%
+% A macro for making NATO App6(c) markings.
+%
+% \begin{macrocode}
+\providecommand\natoappmark[2][]{%
+ \tikz[scale=.25,#1]{\natoapp[faction=friendly,command=land,main=#2]}}
+% \end{macrocode}
+% \end{Macro}
+%
+% \begin{Macro}{\echelonmark}
+% \begin{macrocode}
+\providecommand\echelonmark[2][]{\tikz[scale=.5,#1]{%
+ \pic[scale line widths,line width=1pt] {natoapp6c/s/echelon=#2};}}
+% \end{macrocode}
+% \end{Macro}
+%
+% Some specific NATO App6(c) markers.
+%
+% \begin{macrocode}
+\DeclareRobustCommand\armouredmark[1][]{\natoappmark[#1]{armoured}}
+\DeclareRobustCommand\infantrymark[1][]{\natoappmark[#1]{infantry}}
+\DeclareRobustCommand\artillerymark[1][]{%
+ \natoappmark[#1]{{[fill=pgfstrokecolor]artillery}}}
+\DeclareRobustCommand\combinedmark[1][]{\natoappmark[#1]{combined arms}}
+\DeclareRobustCommand\pgmark[1][] {\natoappmark[#1]{{armoured,infantry}}}
+\DeclareRobustCommand\reconnaissancemark[1][]{\natoappmark[#1]{reconnaissance}}
+\DeclareRobustCommand\corpsmark[1][]{\natoappmark[#1]{,echelon=corps}}
+\DeclareRobustCommand\divisionmark[1][]{\natoappmark[#1]{,echelon=division}}
+\DeclareRobustCommand\brigademark[1][] {\natoappmark[#1]{,echelon=brigade}}
+\DeclareRobustCommand\regimentmark[1][]{\natoappmark[#1]{,echelon=regiment}}
+\DeclareRobustCommand\sofmark[1][] {\natoappmark[#1]{{infantry,text=SOF}}}
+\DeclareRobustCommand\mountaineermark[1][]{%
+ \natoappmark[#1]{infantry,lower=mountain}}
+\DeclareRobustCommand\airbornemark[1][]{%
+ \natoappmark[#1]{infantry,lower=airborne}}
+\DeclareRobustCommand\amphibiousmark[1][]{\natoappmark[#1]{,lower=amphibious}}
+\DeclareRobustCommand\airassaultmark[1][]{%
+ \natoappmark[#1]{infantry,upper=air assault}}
+% \end{macrocode}
+% \iffalse
+% </natoapp6c>
+% --------------------------------------------------------------------
+% \fi
diff --git a/macros/latex/contrib/wargame/source/natoapp6c/symbols.dtx b/macros/latex/contrib/wargame/source/natoapp6c/symbols.dtx
new file mode 100644
index 0000000000..19b41da5cf
--- /dev/null
+++ b/macros/latex/contrib/wargame/source/natoapp6c/symbols.dtx
@@ -0,0 +1,3165 @@
+% \iffalse
+% --------------------------------------------------------------------
+%<*natoapp6c>
+% \fi
+% \subsubsection{The symbols}
+%
+% Next, we define all the symbols. Note that we define them all as if
+% they are in the \spec{main} section of the symbol, since \spec{top},
+% \spec{bottom}, and \spec{below} symbols are automatically scaled.
+%
+% \begin{NatoAppSymbol}{natoapp6c/s/above corps support}
+% \begin{macrocode}
+\tikzset{%
+ natoapp6c/s/above corps support/.pic={%
+ \edef\n@toapp@path{\n@toapp@corps@support{\natoapp@fac}}
+ \expandafter\path[draw] \n@toapp@path;
+ \expandafter\path[draw,xscale=-1] \n@toapp@path;},
+}
+% \end{macrocode}
+% \end{NatoAppSymbol}
+%
+% \iffalse
+% ....................................................................
+% \fi
+% \begin{NatoAppSymbol}{natoapp6c/s/air assault with organic lift}
+% \begin{macrocode}
+\tikzset{%
+ natoapp6c/s/air assault with organic lift/.pic={%
+ \ifx\n@to@pp@hostile\natoapp@fac%
+ \def\n@toapp@path{(-.75,-.2)--(-.15,-.2)--(0,-.5)--(.15,-.2)--(.75,-.2)}
+ \else
+ \def\n@toapp@path{(-.75,-.2)--(-.1,-.2)--(0,-.325)--(.1,-.2)--(.75,-.2)}
+ \fi
+ \path[draw] \n@toapp@path;},
+}
+% \end{macrocode}
+% \end{NatoAppSymbol}
+%
+% \iffalse
+% ....................................................................
+% \fi
+% \begin{NatoAppSymbol}{natoapp6c/s/air decoy}
+% \begin{macrocode}
+\tikzset{%
+ natoapp6c/s/air decoy/.pic={%
+ \pic[pic actions]{natoapp6c/s/decoy};
+ \path[fill=pgfstrokecolor,pic actions] (0.4, -0.2) rectangle (-0.4, -0.15);},
+}
+% \end{macrocode}
+% \end{NatoAppSymbol}
+%
+% \iffalse
+% ....................................................................
+% \fi
+% \begin{NatoAppSymbol}{natoapp6c/s/air assault}
+% \begin{macrocode}
+\tikzset{%
+ natoapp6c/s/air assault/.pic={%
+ \path[draw] ([shift={(150:.4)}]0,-.1)--(0,-.1)--([shift={(30:.4)}]0,-.1);},
+}
+% \end{macrocode}
+% \end{NatoAppSymbol}
+%
+% \iffalse
+% ....................................................................
+% \fi
+% \begin{NatoAppSymbol}{natoapp6c/s/air defence}
+% \begin{macrocode}
+\tikzset{%
+ natoapp6c/s/air defence/.pic={%
+ \ifx\natoapp@fac\n@to@pp@friendly%
+ \def\n@toapp@opt{[out=90,in=90,looseness=.675]}%
+ \else\ifx\natoapp@fac\n@to@pp@neutral%
+ \def\n@toapp@opt{[out=90,in=90,looseness=1]}%
+ \else%
+ \def\n@toapp@opt{[out=45,in=135,looseness=1.5]}%
+ \fi\fi%
+ \edef\n@toapp@path{(M.south west) to\n@toapp@opt (M.south east)}
+ \path[draw] \n@toapp@path;},
+}
+% \end{macrocode}
+% \end{NatoAppSymbol}
+%
+% \iffalse
+% ....................................................................
+% \fi
+% \begin{NatoAppSymbol}{natoapp6c/s/air strip}
+% \begin{macrocode}
+\tikzset{%
+ natoapp6c/s/air strip/.pic={%
+ \path[fill=pgfstrokecolor] (-.4,-.1) rectangle(.4,0);
+ \path[rotate=45,fill=pgfstrokecolor] (-.4,0) rectangle (.4,.1);
+ }
+}
+% \end{macrocode}
+% \end{NatoAppSymbol}
+%
+% \iffalse
+% ....................................................................
+% \fi
+% \begin{NatoAppSymbol}{natoapp6c/s/air traffic}
+% \begin{macrocode}
+\tikzset{%
+ natoapp6c/s/air traffic/.pic={
+ \path[fill=pgfstrokecolor]
+ (0.33,0.21)--
+ (0.33, -0.21)--
+ (-0.33, 0.21)--
+ (-0.33,-0.21)--
+ cycle;},
+}
+% \end{macrocode}
+% \end{NatoAppSymbol}
+%
+% \iffalse
+% ....................................................................
+% \fi
+% \begin{NatoAppSymbol}{natoapp6c/s/airship}
+% \begin{macrocode}
+\tikzset{%
+ natoapp6c/s/airship/.pic={%
+ % \path (0.45, 0.175) rectangle (-0.45, -0.175);
+ \path[pic actions] (0, 0) ellipse (0.45 and 0.15);
+ \begin{scope}
+ \clip (0, 0) ellipse (0.45 and 0.15) [reverseclip];
+ \path[pic actions]
+ (0.2,0)--(0.3,0.175)--(0.4,0.175)--(0.375,0)
+ --(0.4,-0.175)--(0.3, -0.175)--cycle;
+ \end{scope}},
+}
+% \end{macrocode}
+% \end{NatoAppSymbol}
+%
+% \iffalse
+% ....................................................................
+% \fi
+% \begin{NatoAppSymbol}{natoapp6c/s/airborne}
+% \begin{macrocode}
+\tikzset{%
+ natoapp6c/s/airborne/.pic={%
+ \ifx\n@to@pp@neutral\natoapp@fac%
+ \draw (0,-0.05) arc(0:180:0.15);
+ \draw (0,-0.05) arc(180:0:0.15);
+ \else%
+ \draw (0,-0.05) arc(0:180:0.2);
+ \draw (0,-0.05) arc(180:0:0.2);
+ \fi},
+}
+% \end{macrocode}
+% \end{NatoAppSymbol}
+%
+% \iffalse
+% ....................................................................
+% \fi
+% \begin{NatoAppSymbol}{natoapp6c/s/ammunition}
+% \begin{macrocode}
+\tikzset{%
+ natoapp6c/s/ammunition/.pic={\path[draw]
+ (0.175,-0.175)--(-0.175,-0.175)
+ (0.125,-0.175)--(0.125, 0) to[out=90,in=90,looseness=2.75]
+ (-0.125, 0)--(-0.125, -0.175);},
+}
+% \end{macrocode}
+% \end{NatoAppSymbol}
+%
+% \iffalse
+% ....................................................................
+% \fi
+% \begin{NatoAppSymbol}{natoapp6c/s/amphibious}
+% \begin{macrocode}
+\tikzset{%
+ natoapp6c/s/amphibious/.pic={
+ \def\n@to@pp@tmp{0}
+ \ifn@to@pp@below\def\n@to@pp@tmp{-.1}\fi
+ \ifn@to@pp@mod
+ \path[draw,shift={(0,\n@to@pp@tmp)}](1.21,0)
+ to[out=-90,in=-90, looseness=2.25] (1.05, 0)
+ to[out= 90,in= 90, looseness=2.25] (0.89, 0)
+ to[out=-90,in=-90, looseness=2.25] (0.73, 0)
+ to[out= 90,in= 90, looseness=2.25] (0.57, 0)
+ to[out=-90,in=-90, looseness=2.25] (0.41, 0)
+ to[out= 90,in= 90, looseness=2.25] (0.25, 0)
+ to[out=-90,in=-90, looseness=2.25] (0.08, 0)
+ to[out= 90,in= 90, looseness=2.25] (-0.08, 0)
+ to[out=-90,in=-90, looseness=2.25] (-0.25, 0)
+ to[out= 90,in= 90, looseness=2.25] (-0.41, 0)
+ to[out=-90,in=-90, looseness=2.25] (-0.57, 0)
+ to[out= 90,in= 90, looseness=2.25] (-0.73, 0)
+ to[out=-90,in=-90, looseness=2.25] (-0.89, 0)
+ to[out= 90,in= 90, looseness=2.25] (-1.05, 0)
+ to[out=-90,in=-90, looseness=2.25] (-1.21, 0)
+ \else
+ \path[draw,shift={(0,\n@to@pp@tmp)}](0.73, 0)
+ to[out= 90,in= 90, looseness=2.25] (0.57, 0)
+ to[out=-90,in=-90, looseness=2.25] (0.41, 0)
+ to[out= 90,in= 90, looseness=2.25] (0.25, 0)
+ to[out=-90,in=-90, looseness=2.25] (0.08, 0)
+ to[out= 90,in= 90, looseness=2.25] (-0.08, 0)
+ to[out=-90,in=-90, looseness=2.25] (-0.25, 0)
+ to[out= 90,in= 90, looseness=2.25] (-0.41, 0)
+ to[out=-90,in=-90, looseness=2.25] (-0.57, 0)
+ to[out= 90,in= 90, looseness=2.25] (-0.73, 0)
+ \fi
+ ;
+ },
+}
+% \end{macrocode}
+% \end{NatoAppSymbol}
+%
+%
+% \iffalse
+% ....................................................................
+% \fi
+% \begin{NatoAppSymbol}{natoapp6c/s/amphibious warfare ship}
+% \begin{macrocode}
+\tikzset{%
+ natoapp6c/s/amphibious warfare ship/.pic={
+ \pic{natoapp6c/s/warfare vessel};
+ \path[draw,fill=pgfstrokecolor]
+ (0.15, 0.05) --
+ (0.15, 0.2) --
+ (-0.15, 0.2) --
+ (-0.15, 0.05) -- cycle
+ (0, -0.2) rectangle (0.25, -0.175);},
+}
+% \end{macrocode}
+% \end{NatoAppSymbol}
+%
+% \iffalse
+% ....................................................................
+% \fi
+% \begin{NatoAppSymbol}{natoapp6c/s/analysis}
+% \begin{macrocode}
+\tikzset{%
+ natoapp6c/s/analysis/.pic={
+ \path[pic actions]
+ (-0.3,-0.2)--(0.3,-0.2)--(0, -0.4)--cycle (0,-0.2)--(0,0.4);},
+}
+% \end{macrocode}
+% \end{NatoAppSymbol}
+%
+% \iffalse
+% ....................................................................
+% \fi
+% \begin{NatoAppSymbol}{natoapp6c/s/arrest}
+% \begin{macrocode}
+\tikzset{%
+ natoapp6c/s/arrest/.pic={
+ \path[pic actions] circle(0.2);
+ \pic[scale=.8]{natoapp6c/s/individual};},
+}
+% \end{macrocode}
+% \end{NatoAppSymbol}
+%
+% \iffalse
+% ....................................................................
+% \fi
+% \begin{NatoAppSymbol}{natoapp6c/s/artillery}
+% \begin{macrocode}
+\tikzset{%
+ natoapp6c/s/artillery/.pic={
+ \path[pic actions] circle(0.2);},
+}
+% \end{macrocode}
+% \end{NatoAppSymbol}
+%
+% \iffalse
+% ....................................................................
+% \fi
+% \begin{NatoAppSymbol}{natoapp6c/s/anti tank anti armour}
+% \begin{macrocode}
+\tikzset{%
+ natoapp6c/s/anti tank anti armour/.pic={%
+ \ifx\natoapp@fac\n@to@pp@unknown%
+ \path[draw,pic actions] (225:.5)--(M.north)--(315:.5);
+ \else%
+ \path[draw,pic actions] (M.south west)--(M.north)--(M.south east);%
+ \fi},
+}
+% \end{macrocode}
+% \end{NatoAppSymbol}
+%
+% \iffalse
+% ....................................................................
+% \fi
+% \begin{NatoAppSymbol}{natoapp6c/s/antenna}
+% \begin{macrocode}
+\tikzset{%
+ natoapp6c/s/antenna/.pic={\path[draw]
+ (0, -0.3) -- (0, 0.3) (-0.125, 0.3) -- (0, 0.2) -- (0.125, 0.3);},
+}
+% \end{macrocode}
+% \end{NatoAppSymbol}
+%
+% \iffalse
+% ....................................................................
+% \fi
+% \begin{NatoAppSymbol}{natoapp6c/s/armoured}
+% \begin{macrocode}
+\tikzset{%
+ natoapp6c/s/armoured/.pic={\path[draw]
+ (-0.275,0.2) arc(90:270:0.2)--(0.275, -0.2) arc(270:450:0.2)--cycle;},
+}
+% \end{macrocode}
+% \end{NatoAppSymbol}
+%
+% \iffalse
+% ....................................................................
+% \fi
+% \begin{NatoAppSymbol}{natoapp6c/s/armoured fighting vehicle}
+% \begin{macrocode}
+\tikzset{%
+ natoapp6c/s/armoured fighting vehicle/.pic={
+ \path[fill=pgfstrokecolor] (-.4,-.2) rectangle (-.3,.2) (.3,-.2) rectangle (.4,.2);
+ \path[pic actions] (-.3,0) -- (0,.2) -- (.3,0) -- (0,-.2) -- cycle;},
+}
+% \end{macrocode}
+% \end{NatoAppSymbol}
+%
+% \iffalse
+% ....................................................................
+% \fi
+% \begin{NatoAppSymbol}{natoapp6c/s/armoured personnel carrier}
+% \begin{macrocode}
+\tikzset{%
+ natoapp6c/s/armoured personnel carrier/.pic={
+ \pic[sub pic actions,draw]{natoapp6c/s/vehicle};
+ \path[pic actions] (.35,.15)--(0,.3)--(-.35,.15);},
+}
+% \end{macrocode}
+% \end{NatoAppSymbol}
+%
+% \iffalse
+% ....................................................................
+% \fi
+% \begin{NatoAppSymbol}{natoapp6c/s/arctic}
+% \begin{macrocode}
+\tikzset{%
+ natoapp6c/s/arctic/.pic={
+ \draw (-0.325,0.135) arc(180:270:0.075 and 0.15) --
+ +(0.5, 0) arc(-90:0:0.075 and 0.15);},
+}
+% \end{macrocode}
+% \end{NatoAppSymbol}
+%
+% \iffalse
+% ....................................................................
+% \fi
+% \begin{NatoAppSymbol}{natoapp6c/s/automobile}
+% \begin{macrocode}
+\tikzset{%
+ natoapp6c/s/automobile/.pic={
+ \begin{scope}
+ \clip (0.2,-0.15) circle(0.05) (-0.2,-0.15) circle(0.05) [reverseclip];
+ \path[pic actions]
+ (0.3, -0.15) --
+ (-0.3, -0.15) --
+ (-0.3, 0.025) --
+ (-0.1, 0.025) --
+ (-0.1, 0.2) --
+ ( 0.1, 0.2) --
+ ( 0.1, 0.025) --
+ ( 0.3, 0.025) -- cycle
+ ( 0.075, 0.025) rectangle (-0.075, 0.175);
+ \end{scope}
+ \path[pic actions]
+ ( 0.2, -0.15) circle (0.05)
+ (-0.2, -0.15) circle (0.05);
+ },
+}
+% \end{macrocode}
+% \end{NatoAppSymbol}
+%
+% \iffalse
+% ....................................................................
+% \fi
+% \begin{NatoAppSymbol}{natoapp6c/s/balloon}
+% \begin{macrocode}
+\tikzset{%
+ natoapp6c/s/balloon/.pic={%
+ \path[pic actions] (0, 0.025) circle (0.175);
+ \begin{scope}
+ \clip (0, 0.025) circle (0.175) [reverseclip];
+ \path[pic actions] (-0.05,0) rectangle (0.05,-0.2)--(0.05,0);
+ \end{scope}},
+}
+% \end{macrocode}
+% \end{NatoAppSymbol}
+%
+% \iffalse
+% ....................................................................
+% \fi
+% \begin{NatoAppSymbol}{natoapp6c/s/bar}
+% \begin{macrocode}
+\tikzset{
+ natoapp6c/s/bar/.pic={
+ \path[fill=pgfstrokecolor] (-.3,-.1) rectangle (.3,.1);},
+}
+% \end{macrocode}
+% \end{NatoAppSymbol}
+%
+% \iffalse
+% ....................................................................
+% \fi
+% \begin{NatoAppSymbol}{natoapp6c/s/base}
+% \begin{macrocode}
+\tikzset{
+ natoapp6c/s/base/.pic={
+ \path[pic actions] circle(.2);
+ \path[pic actions]
+ (-.2,0) -- (.2,0)
+ ( 0,-.2) -- (0 ,.2)
+ (225:.2) -- (45:.2)
+ (135:.2) -- (-45:.2);
+ }
+}
+% \end{macrocode}
+% \end{NatoAppSymbol}
+%
+% \iffalse
+% ....................................................................
+% \fi
+% \begin{NatoAppSymbol}{natoapp6c/s/bicycle equipped}
+% \begin{macrocode}
+\tikzset{%
+ natoapp6c/s/bicycle equipped/.pic={\draw(0,0) circle(.1);},
+}
+% \end{macrocode}
+% \end{NatoAppSymbol}
+%
+% \iffalse
+% ....................................................................
+% \fi
+% \begin{NatoAppSymbol}{natoapp6c/s/boat}
+% \begin{macrocode}
+\tikzset{%
+ natoapp6c/s/boat/.pic={
+ \path[pic actions]
+ (-0.2, -0.2) --
+ ( 0.2, -0.2) --
+ ( 0.35, 0.05) --
+ (-0.15, 0.05) --
+ (-0.075, 0.2) --
+ (-0.175, 0.2) --
+ (-0.25, 0.05) --
+ (-0.35, 0.05) --
+ cycle;},
+}
+% \end{macrocode}
+% \end{NatoAppSymbol}
+%
+% \iffalse
+% ....................................................................
+% \fi
+% \begin{NatoAppSymbol}{natoapp6c/s/booby trap}
+% \begin{macrocode}
+\tikzset{%
+ natoapp6c/s/booby trap/.pic={
+ \path[draw] (0, -0.2) ellipse(0.2 and 0.065);
+ \begin{scope}
+ \clip (0, -0.2) ellipse(0.2 and 0.065) [reverseclip];
+ \path[draw] (-0.2, -0.2) -- (0, 0.2) -- (0.2, -0.2);
+ \end{scope}},
+}
+% \end{macrocode}
+% \end{NatoAppSymbol}
+%
+% \iffalse
+% ....................................................................
+% \fi
+% \begin{NatoAppSymbol}{natoapp6c/s/bottomed}
+% \begin{macrocode}
+\tikzset{%
+ natoapp6c/s/bottomed/.pic={
+ \path[draw,fill=pgfstrokecolor] (-0.33,.1) rectangle(0.33,.2);},
+}
+% \end{macrocode}
+% \end{NatoAppSymbol}
+%
+% \iffalse
+% ....................................................................
+% \fi
+% \begin{NatoAppSymbol}{natoapp6c/s/bridge}
+% \begin{macrocode}
+\tikzset{%
+ pics/natoapp6c/s/bridge/.is choice,
+ pics/natoapp6c/s/bridge/none/.style={
+ code={\path[pic actions]
+ (0.35,-0.15)--(0.25,-0.05)--(-0.25,-0.05)--(-0.35,-0.15)
+ (0.35, 0.15)--(0.25, 0.05)--(-0.25, 0.05)--(-0.35, 0.15);}},
+ pics/natoapp6c/s/bridge/fixed/.style={
+ code={\pic{natoapp6c/s/bridge};\pic{natoapp6c/s/type=vlight};}},
+ pics/natoapp6c/s/bridge/folding/.style={
+ code={\pic{natoapp6c/s/bridge=none};
+ \path[draw] (.1,-.2) -- (-.1,-.2) -- (-.1,.2) -- (.1,.2);}},
+ pics/natoapp6c/s/bridge/hollow/.style={
+ code={\pic{natoapp6c/s/bridge=none};
+ \path[draw] (.1,-.2) -- (-.1,-.2) -- (-.1,.2) -- (.1,.2) -- cycle;}},
+ pics/natoapp6c/s/bridge/.default=none,
+}
+% \end{macrocode}
+% \end{NatoAppSymbol}
+%
+% \iffalse
+% ....................................................................
+% \fi
+% \begin{NatoAppSymbol}{natoapp6c/s/capsule}
+% \begin{macrocode}
+\tikzset{%
+ natoapp6c/s/capsule/.pic={
+ \path[pic actions]
+ ($(0.25, -0.2)!0.1!(0, 0.5)$) --
+ ($(0.25, -0.2)!0.5!(0, 0.5)$) to[in=75, out=105, looseness=0.75]
+ ($(0, 0.5)!0.5!(-0.25, -0.2)$) --
+ ($(0, 0.5)!0.9!(-0.25, -0.2)$) to[in=285, out=255, looseness=0.55]
+ cycle;},
+}
+% \end{macrocode}
+% \end{NatoAppSymbol}
+%
+% \iffalse
+% ....................................................................
+% \fi
+% \begin{NatoAppSymbol}{natoapp6c/s/carrier}
+% \begin{macrocode}
+\tikzset{%
+ natoapp6c/s/carrier/.pic={
+ \pic{natoapp6c/s/warfare vessel};
+ \path[draw,fill=pgfstrokecolor]
+ (-0.15, 0.05) --
+ (-0.15, 0.2) --
+ (-0.3, 0.2) --
+ (-0.3, 0.05) -- cycle;},
+}
+% \end{macrocode}
+% \end{NatoAppSymbol}
+%
+% \iffalse
+% ....................................................................
+% \fi
+% \begin{NatoAppSymbol}{natoapp6c/s/chemical biological radiological nuclear}
+% \begin{macrocode}
+\tikzset{%
+ natoapp6c/s/chemical biological radiological nuclear/.pic={
+ \path[draw,fill=pgfstrokecolor] (-0.29,0.1) circle(0.096) (0.29,0.1) circle(0.096);
+ \path[pic actions] (0.15,-0.2) arc(0:90:0.45 and 0.375)
+ (-0.15,-0.2) arc(180:90:0.45 and 0.375);},
+}
+% \end{macrocode}
+% \end{NatoAppSymbol}
+%
+% \iffalse
+% ....................................................................
+% \fi
+% \begin{NatoAppSymbol}{natoapp6c/s/civilian military cooperation}
+% \begin{macrocode}
+\tikzset{%
+ natoapp6c/s/civilian military cooperation/.pic={%
+ \path[draw] (.375,.2)--(-.375,.2)--(-.375,-.025)
+ to[in=270, out=270, looseness=0.75] (.375,-.025)--cycle;},
+}
+% \end{macrocode}
+% \end{NatoAppSymbol}
+%
+% \iffalse
+% ....................................................................
+% \fi
+% \begin{NatoAppSymbol}{natoapp6c/s/civilian police}
+% \begin{macrocode}
+\tikzset{%
+ natoapp6c/s/civilian police/.pic={%
+ \path[draw] (0.225, 0.2)
+ to[in=270, out=270, looseness=3] (-0.225, 0.2)
+ to [in=270, out=270, looseness=1.5] (0,0.2)
+ to [in=270, out=270, looseness=1.5] (0.225, 0.2) -- cycle;},
+}
+% \end{macrocode}
+% \end{NatoAppSymbol}
+%
+% \iffalse
+% ....................................................................
+% \fi
+% \begin{NatoAppSymbol}{natoapp6c/s/civilian telecommunications}
+% \begin{macrocode}
+\tikzset{%
+ natoapp6c/s/civilian telecommunications/.pic={
+ \path[draw] (0.075, -0.2){[line join=bevel] -- (0, 0.1) -- (-0.075, -0.2)}
+ (0.065, -0.05) -- (-0.065, -0.05)
+ (-0.325, 0.2) -- (-0.15, 0.125) -- (-0.15, 0.175) -- (0, 0.1) -- (0.15, 0.175) -- (0.15, 0.125) -- (0.325, 0.2);
+ },
+}
+% \end{macrocode}
+% \end{NatoAppSymbol}
+%
+% \iffalse
+% ....................................................................
+% \fi
+% \begin{NatoAppSymbol}{natoapp6c/s/coast guard vessel}
+% \begin{macrocode}
+\tikzset{%
+ natoapp6c/s/coast guard vessel/.pic={%
+ \pic[draw] {natoapp6c/s/ship};
+ \path[pic actions] (0.15, 0.05) -- (0, -0.2) (0.2, 0.05)--(0.05, -0.2);},
+}
+% \end{macrocode}
+% \end{NatoAppSymbol}
+%
+% \iffalse
+% ....................................................................
+% \fi
+% \begin{NatoAppSymbol}{natoapp6c/s/combat support}
+% \begin{macrocode}
+\tikzset{%
+ natoapp6c/s/combat support/.pic={%
+ \path[fill=pgfstrokecolor]
+ (.15,.2)--(-.15,.2)--(-.15,-.05)--(0,-.2)--(.15,-.05) -- cycle;},
+}
+% \end{macrocode}
+% \end{NatoAppSymbol}
+%
+% \iffalse
+% ....................................................................
+% \fi
+% \begin{NatoAppSymbol}{natoapp6c/s/combatant}
+% \begin{macrocode}
+\tikzset{%
+ natoapp6c/s/combatant/.pic={%
+ \begin{scope}[xshift=-4.5, yshift=-5]
+ \path[pic actions]
+ (0.3213,0.0534) .. controls (0.3186,0.0295) and (0.3072,0.0136) ..
+ (0.2925,0.0063) .. controls (0.2777,-0.0010) and (0.2605,0.0001) ..
+ (0.2461,0.0068) .. controls (0.2317,0.0136) and (0.2198,0.0265) ..
+ (0.2163,0.0433) .. controls (0.2147,0.0513) and (0.2150,0.0601) ..
+ (0.2179,0.0694) .. controls (0.1304,0.1129) and (0.0223,0.1961) ..
+ (0.0013,0.3209) .. controls (0.0601,0.1809) and (0.1770,0.0912) ..
+ (0.3213,0.0534) -- cycle
+ (0.2304,0.0633) .. controls (0.2287,0.0570) and (0.2287,0.0513) ..
+ (0.2298,0.0461) .. controls (0.2323,0.0340) and (0.2409,0.0245) ..
+ (0.2520,0.0193) .. controls (0.2630,0.0141) and (0.2760,0.0135) ..
+ (0.2864,0.0186) .. controls (0.2932,0.0220) and (0.2992,0.0277) ..
+ (0.3033,0.0370) .. controls (0.2845,0.0413) and (0.2597,0.0498) ..
+ (0.2304,0.0633) -- cycle
+ (0.1785,0.1137) .. controls (0.2446,0.1612) and (0.3061,0.2300) ..
+ (0.3214,0.3209) .. controls (0.2864,0.2377) and (0.2310,0.1723) ..
+ (0.1614,0.1249)
+ (0.1443,0.1138) .. controls (0.1011,0.0871) and (0.0530,0.0670) ..
+ (0.0014,0.0535) .. controls (0.0041,0.0295) and (0.0154,0.0136) ..
+ (0.0302,0.0063) .. controls (0.0449,-0.0010) and (0.0621,0.0001) ..
+ (0.0765,0.0069) .. controls (0.0909,0.0137) and (0.1028,0.0265) ..
+ (0.1063,0.0433) .. controls (0.1079,0.0513) and (0.1076,0.0602) ..
+ (0.1047,0.0694) .. controls (0.1230,0.0785) and (0.1422,0.0893) ..
+ (0.1613,0.1019)
+ (0.0928,0.0461) .. controls (0.0903,0.0340) and (0.0816,0.0245) ..
+ (0.0706,0.0193) .. controls (0.0596,0.0141) and (0.0466,0.0135) ..
+ (0.0362,0.0186) .. controls (0.0294,0.0220) and (0.0234,0.0277) ..
+ (0.0193,0.0370) .. controls (0.0381,0.0413) and (0.0629,0.0498) ..
+ (0.0921,0.0633) --
+ (0.0921,0.0633) .. controls (0.0938,0.0570) and (0.0938,0.0512) ..
+ (0.0928,0.0461) -- cycle;
+ \end{scope}
+ },
+}
+% \end{macrocode}
+% \end{NatoAppSymbol}
+%
+% \iffalse
+% ....................................................................
+% \fi
+% \begin{NatoAppSymbol}{natoapp6c/s/combined arms}
+% \begin{macrocode}
+\tikzset{%
+ natoapp6c/s/combined arms/.pic={%
+ \path[draw] pic {natoapp6c/s/armoured};
+ \path[draw] (0.275, 0.2) -- (-0.275, -0.2) (0.275, -0.2) -- (-0.275, 0.2);},
+}
+% \end{macrocode}
+% \end{NatoAppSymbol}
+%
+% \iffalse
+% ....................................................................
+% \fi
+% \begin{NatoAppSymbol}{natoapp6c/s/computer system}
+% \begin{macrocode}
+\tikzset{%
+ natoapp6c/s/computer system/.pic={
+ \path[draw,fill=pgfstrokecolor,pic actions]
+ (-.3, .28) rectangle ( .3, .3)
+ (-.3, -.18) rectangle ( .3, -.2)
+ (-.3, -.18) rectangle (-.3, .28)
+ ( .3, -.18) rectangle ( .3, .28)
+ (-.3, -.3) rectangle ( .3, -.28)
+ (-.05,-.28) rectangle ( .05,-.18);},
+}
+% \end{macrocode}
+% \end{NatoAppSymbol}
+%
+% \iffalse
+% ....................................................................
+% \fi
+% \begin{NatoAppSymbol}{natoapp6c/s/control}
+% \begin{macrocode}
+\tikzset{%
+ natoapp6c/s/control/.pic={
+ \path[pic actions]
+ [{Stealth[inset=0pt,scale=0.5]}-{Stealth[inset=0pt,scale=0.5]}]
+ (0, .2) -- (0, -.2);
+ \path[pic actions]
+ [{Stealth[inset=0pt,scale=0.5]}-{Stealth[inset=0pt,scale=0.5]}]
+ (-.2, 0) -- (.2, 0);},
+}
+% \end{macrocode}
+% \end{NatoAppSymbol}
+%
+% \iffalse
+% ....................................................................
+% \fi
+% \begin{NatoAppSymbol}{natoapp6c/s/convoy}
+% \begin{macrocode}
+\tikzset{%
+ natoapp6c/s/convoy/.pic={
+ \path[draw,fill=pgfstrokecolor]
+ (0.35, 0.175) --
+ (-0.35, 0.175) --
+ (-0.35, -0.175) --
+ (-0.2, -0.175) --
+ (-0.2, 0.025) --
+ (0.2, 0.025) --
+ (0.2, -0.175) --
+ (0.35, -0.175) -- cycle;},
+}
+% \end{macrocode}
+% \end{NatoAppSymbol}
+%
+% \iffalse
+% ....................................................................
+% \fi
+% \begin{NatoAppSymbol}{natoapp6c/s/corps support}
+% \begin{macrocode}
+\tikzset{%
+ natoapp6c/s/corps support/.pic={%
+ \edef\n@toapp@path{\n@toapp@corps@support{\natoapp@fac}}
+ \expandafter\path[draw] \n@toapp@path;},
+}
+% \end{macrocode}
+% \end{NatoAppSymbol}
+%
+% \iffalse
+% ....................................................................
+% \fi
+% \begin{NatoAppSymbol}{natoapp6c/s/crime}
+% \begin{macrocode}
+\tikzset{%
+ natoapp6c/s/crime/.pic={\path[draw,dashed] (-.45,.25)--(.45,-.25);},
+}
+% \end{macrocode}
+% \end{NatoAppSymbol}
+%
+% \iffalse
+% ....................................................................
+% \fi
+% \begin{NatoAppSymbol}{natoapp6c/s/decoy}
+% \begin{macrocode}
+\tikzset{%
+ natoapp6c/s/decoy/.pic={%
+ \path[fill=pgfstrokecolor,draw,yshift=1.5]
+ (0.2, 0) -- (0.4, 0.15) -- (0.4, -0.15) -- cycle
+ (-0.1, 0) -- (0.1, 0.15) -- (0.1, -0.15) -- cycle
+ (-0.4, 0) -- (-0.2, 0.15) -- (-0.2, -0.15) -- cycle;},
+}
+% \end{macrocode}
+% \end{NatoAppSymbol}
+%
+% \iffalse
+% ....................................................................
+% \fi
+% \begin{NatoAppSymbol}{natoapp6c/s/direct communications}
+% \begin{macrocode}
+\tikzset{%
+ natoapp6c/s/direct communications/.pic={
+ \path[draw] (-.35,0) circle(.1) (.35,0) circle(.1);
+ \pic[fill=pgfstrokecolor]{natoapp6c/s/intermodal};
+ },
+}
+% \end{macrocode}
+% \end{NatoAppSymbol}
+%
+% \iffalse
+% ....................................................................
+% \fi
+% \begin{NatoAppSymbol}{natoapp6c/s/direction finding}
+% \begin{macrocode}
+\tikzset{%
+ natoapp6c/s/direction finding/.pic={%
+ \path[draw] (-.3,.2)--(0,.4)--(.3,.2) (0,.4)--(0,-.4);},
+}
+% \end{macrocode}
+% \end{NatoAppSymbol}
+%
+% \iffalse
+% ....................................................................
+% \fi
+% \begin{NatoAppSymbol}{natoapp6c/s/diving}
+% \begin{macrocode}
+\tikzset{%
+ pics/natoapp6c/s/diving/.is choice,
+ pics/natoapp6c/s/diving/none/.style={
+ code={
+ \path[pic actions] (0,0) circle(.1) (0,0) circle(.25);
+ \begin{scope}
+ \clip (0,0) circle(.25) [reverseclip];
+ \path[pic actions] (-.3,-.1) rectangle(.3,.1)
+ (0,0) -- (-45:.4) -- (-135:.4) -- cycle;
+ \end{scope}}},
+ pics/natoapp6c/s/diving/military/.style={
+ code={
+ \begin{scope}[even odd rule]
+ \clip (0,0) circle(0.1)[reverseclip];
+ \pic[fill=pgfstrokecolor]{natoapp6c/s/diving=none};
+ \end{scope}
+ \path[fill=pgfstrokecolor] (0,0) circle(0.08);
+ }},
+ pics/natoapp6c/s/diving/.default=none,
+}
+% \end{macrocode}
+% \end{NatoAppSymbol}
+%
+% \iffalse
+% ....................................................................
+% \fi
+% \begin{NatoAppSymbol}{natoapp6c/s/drilling}
+% \begin{macrocode}
+\tikzset{%
+ natoapp6c/s/drilling/.pic={\path[fill=pgfstrokecolor]
+ (-0.1,-0.2) -- (0.1,-0.2) -- (0.2, 0.2) -- (-0.2, 0.2) -- cycle;},
+}
+% \end{macrocode}
+% \end{NatoAppSymbol}
+%
+% \iffalse
+% ....................................................................
+% \fi
+% \begin{NatoAppSymbol}{natoapp6c/s/earthmover}
+% \begin{macrocode}
+\tikzset{%
+ natoapp6c/s/earthmover/.pic={
+ \pic{natoapp6c/s/tank};
+ \path[pic actions] (.3,
+ .3)--(.175,.35)--(-.175,.35)--(-.3,.3)
+ (0,.2)--(0,.35);
+ },
+}
+% \end{macrocode}
+% \end{NatoAppSymbol}
+%
+% \iffalse
+% ....................................................................
+% \fi
+% \begin{NatoAppSymbol}{natoapp6c/s/electric power}
+% \begin{macrocode}
+\tikzset{%
+ natoapp6c/s/electric power/.pic={
+ \path[pic actions]
+ (-0.05, 0) .. controls(-0.06, 0.14) ..
+ ( 0, 0.09) .. controls( 0.03, 0.06) ..
+ ( 0, 0.06) .. controls(-0.03, 0.06) ..
+ ( 0, 0.09) .. controls( 0.06, 0.14) ..
+ (0.05, 0)
+ ($(-55:0.125) + (0, 0.075)$) arc(-55:235:0.125) arc(415:360:0.05) --
+ +(0, -0.08) arc(180:360:0.05035) --
+ +(0, 0.08) arc(180:125:0.05) -- cycle;
+ },
+}
+% \end{macrocode}
+% \end{NatoAppSymbol}
+%
+% \iffalse
+% ....................................................................
+% \fi
+% \begin{NatoAppSymbol}{natoapp6c/s/electronic ranging}
+% \begin{macrocode}
+\tikzset{%
+ natoapp6c/s/electronic ranging/.pic={%
+ \path[draw] (135:.225) arc (135:315:.225)--cycle (0,0)--(225:-.225);},
+}
+% \end{macrocode}
+% \end{NatoAppSymbol}
+%
+% \iffalse
+% ....................................................................
+% \fi
+% \begin{NatoAppSymbol}{natoapp6c/s/electronic warfare wide}
+% \begin{macrocode}
+\tikzset{%
+ natoapp6c/s/electronic warfare wide/.pic={%
+ % OBS
+ \node[natoapp6c/text,natoapp6c/normal text] at(-.25,0){E};
+ \node[natoapp6c/text,natoapp6c/normal text] at(.25,0){W};
+ },
+}
+% \end{macrocode}
+% \end{NatoAppSymbol}
+%
+% \iffalse
+% ....................................................................
+% \fi
+% \begin{NatoAppSymbol}{natoapp6c/s/engineer}
+% \begin{macrocode}
+\tikzset{%
+ natoapp6c/s/engineer/.pic={\path[draw]
+ (.4,-.2)--(.4,.2)--(-.4,.2)--(-.4,-.2) (0,.2)--(0,-.2);},
+}
+% \end{macrocode}
+% \end{NatoAppSymbol}
+%
+% \iffalse
+% ....................................................................
+% \fi
+% \begin{NatoAppSymbol}{natoapp6c/s/enhanced location reporting system}
+% \begin{macrocode}
+\tikzset{%
+ natoapp6c/s/enhanced location reporting system/.pic={\path[draw]
+ (0, -0.3) -- (0, 0.3) (-0.2, -.3) -- (0, 0.-.1) -- (0.2, -.3);},
+}
+% \end{macrocode}
+% \end{NatoAppSymbol}
+%
+% \iffalse
+% ....................................................................
+% \fi
+% \begin{NatoAppSymbol}{natoapp6c/s/environmental protection}
+% \begin{macrocode}
+\tikzset{%
+ natoapp6c/s/environmental protection/.pic={%
+ \path[draw] (0, 0.2)
+ -- (0.1, 0.05)
+ -- (0.05, 0.05)
+ -- (0.15, -0.05)
+ -- (0.1, -0.05)
+ -- (0.2, -0.15)
+ -- (0.15, -0.15)
+ -- (0.05, -0.15)
+ -- (0.05, -0.2)
+ -- (-0.05, -0.2)
+ -- (-0.05, -0.15)
+ -- (-0.2, -0.15)
+ -- (-0.1, -0.05)
+ -- (-0.15, -0.05)
+ -- (-0.05, 0.05)
+ -- (-0.1, 0.05)
+ -- cycle;},
+}
+% \end{macrocode}
+% \end{NatoAppSymbol}
+%
+% \iffalse
+% ....................................................................
+% \fi
+% \begin{NatoAppSymbol}{natoapp6c/s/explosion}
+% \begin{macrocode}
+\tikzset{%
+ natoapp6c/s/explosion/.pic={%
+ \node [shape=rectangle,
+ starburst,
+ draw,
+ minimum width=0.9cm,
+ minimum height=0.9cm,
+ starburst point height=0.25cm,
+ starburst points=12] {};},
+}
+% \end{macrocode}
+% \end{NatoAppSymbol}
+%
+% \iffalse
+% ....................................................................
+% \fi
+% \begin{NatoAppSymbol}{natoapp6c/s/finance}
+% \begin{macrocode}
+\tikzset{%
+ natoapp6c/s/finance/.pic={%
+ \path[draw] (-.3,-.25) rectangle(.3,0)
+ (-.3,0) -- ++(60:.28) -- ([shift=(120:.28)].3,0) -- (.3,0);},
+}
+% \end{macrocode}
+% \end{NatoAppSymbol}
+%
+% \iffalse
+% ....................................................................
+% \fi
+% \begin{NatoAppSymbol}{natoapp6c/s/fishing vessel}
+% \begin{macrocode}
+\tikzset{%
+ natoapp6c/s/fishing vessel/.pic={
+ \path[pic actions]
+ (-0.15, -0.2) --
+ ( 0.15, -0.2) --
+ ( 0.25, 0.025) --
+ (-0.05, 0.025) --
+ (-0.05, 0.125) --
+ (-0.2, 0.125) --
+ (-0.2, 0.025) --
+ (-0.25, 0.025) -- cycle
+ (0.025, 0.025) -- (0.025, 0.2)
+ (0.025, 0.025) -- +(45:0.2);},
+}
+% \end{macrocode}
+% \end{NatoAppSymbol}
+%
+% \iffalse
+% ....................................................................
+% \fi
+% \begin{NatoAppSymbol}{natoapp6c/s/fire protection}
+% \begin{macrocode}
+\tikzset{%
+ natoapp6c/s/fire protection/.pic={%
+ \path[fill=pgfstrokecolor] (0,0) circle(.2)
+ (0,0) -- (60:.3) -- (120:.3) -- cycle
+ (0,0) -- (-30:.3) -- (30:.3) -- cycle
+ (0,0) -- (150:.3) -- (210:.3) -- cycle
+ (0,0) -- (240:.3) -- (300:.3) -- cycle;
+ },
+}
+% \end{macrocode}
+% \end{NatoAppSymbol}
+%
+% \iffalse
+% ....................................................................
+% \fi
+% \begin{NatoAppSymbol}{natoapp6c/s/fixed and rotary wing}
+% \begin{macrocode}
+\tikzset{%
+ natoapp6c/s/fixed and rotary wing/.pic={%
+ \path[xscale=.45,yscale=.75,pic actions] pic {natoapp6c/s/fixed wing};
+ \path[yscale=.45,xscale=.7,rotate=90, pic actions] pic {
+ natoapp6c/s/rotary wing};
+ },
+}
+% \end{macrocode}
+% \end{NatoAppSymbol}
+%
+% \iffalse
+% ....................................................................
+% \fi
+% \begin{NatoAppSymbol}{natoapp6c/s/fixed wing}
+% \begin{macrocode}
+\tikzset{%
+ natoapp6c/s/fixed wing/.pic={
+ \path[pic actions]
+ (-0.36,0.125) arc (77:275:0.075 and 0.125) -- (0,0) -- cycle
+ ( 0.36,0.125) arc (-275:-77:-0.075 and 0.125) -- (0,0)
+ --cycle;},
+}
+% \end{macrocode}
+% \end{NatoAppSymbol}
+%
+% \iffalse
+% ....................................................................
+% \fi
+% \begin{NatoAppSymbol}{natoapp6c/s/flame thrower}
+% \begin{macrocode}
+\tikzset{%
+ natoapp6c/s/flame thrower/.pic={
+ \path[pic actions]
+ (-0.1, -0.4) -- (-0.1, 0.3) to[out=90,in=90,looseness=2]
+ (0.1, 0.3) -- (0.1, 0.275);},
+}
+% \end{macrocode}
+% \end{NatoAppSymbol}
+%
+% \iffalse
+% ....................................................................
+% \fi
+% \begin{NatoAppSymbol}{natoapp6c/s/floating}
+% \begin{macrocode}
+\tikzset{%
+ natoapp6c/s/floating/.pic={
+ \path[draw]
+ (-0.5, 0.100) --
+ (-0.417, 0.242) --
+ (-0.333, 0.100) --
+ (-0.250, 0.242) --
+ (-0.167, 0.100) --
+ (-0.083, 0.242) --
+ (0.0, 0.100) --
+ (0.083, 0.242) --
+ (0.167, 0.100) --
+ (0.250, 0.242) --
+ (0.333, 0.100) --
+ (0.417, 0.242) --
+ (0.5, 0.100);},
+ pics/natoapp6c/s/surfaced/.style=natoapp6c/s/floating,
+}
+% \end{macrocode}
+% \end{NatoAppSymbol}
+%
+% \iffalse
+% ....................................................................
+% \fi
+% \begin{NatoAppSymbol}{natoapp6c/s/food}
+% \begin{macrocode}
+\tikzset{%
+ natoapp6c/s/food/.pic={
+ \path[pic actions]
+ (0.075, 0.2) to[out=210, in=150, looseness=1]
+ (0.075, -0.2) to[out=180, in=180, looseness=1.5]
+ (0.075, 0.2) -- cycle;},
+}
+% \end{macrocode}
+% \end{NatoAppSymbol}
+%
+% \iffalse
+% ....................................................................
+% \fi
+% \begin{NatoAppSymbol}{natoapp6c/s/fuel}
+% \begin{macrocode}
+\tikzset{%
+ natoapp6c/s/fuel/.pic={
+ \path[draw] (0,0) -- (135:.3) -- (45:.3) -- cycle (0,0) -- (0,-.3);},
+}
+% \end{macrocode}
+% \end{NatoAppSymbol}
+%
+% \iffalse
+% ....................................................................
+% \fi
+% \begin{NatoAppSymbol}{natoapp6c/s/grenade launcher}
+% \begin{macrocode}
+\tikzset{%
+ pics/natoapp6c/s/grenade launcher/.is choice,%
+ pics/natoapp6c/s/grenade launcher/none/.style={%
+ code={%
+ \pic[draw]{natoapp6c/s/rifle};
+ \pic[draw]{natoapp6c/s/weapon=grenade launcher};}},%
+ pics/natoapp6c/s/grenade launcher/non lethal/.style={
+ code={%
+ \pic[draw]{natoapp6c/s/non lethal weapon};
+ \pic[draw]{natoapp6c/s/weapon=grenade launcher};}},
+ pics/natoapp6c/s/grenade launcher/.default=none,
+}
+% \end{macrocode}
+% \end{NatoAppSymbol}
+%
+% \iffalse
+% ....................................................................
+% \fi
+% \begin{NatoAppSymbol}{natoapp6c/s/graffiti}
+% \begin{macrocode}
+\tikzset{%
+ natoapp6c/s/graffiti/.pic={
+ \path[pic actions]
+ (0.05, 0.2)
+ arc (90:270:0.05)
+ arc (450:270:0.05)
+ arc (90:270:0.05)
+ arc (450:270:0.05)
+ (-0.05, 0.2)
+ arc (90:270:0.05)
+ arc (450:270:0.05)
+ arc (90:270:0.05)
+ arc (450:270:0.05);},
+}
+% \end{macrocode}
+% \end{NatoAppSymbol}
+%
+% \iffalse
+% ....................................................................
+% \fi
+% \begin{NatoAppSymbol}{natoapp6c/s/group}
+% \begin{macrocode}
+\tikzset{%
+ natoapp6c/s/group/.pic={
+ \path(-.23,.05) pic [draw,scale=.8] {natoapp6c/s/individual};
+ \path(0,-.05) pic [draw,scale=.8] {natoapp6c/s/individual};
+ \path(.23,.05) pic [draw,scale=.8] {natoapp6c/s/individual};},
+}
+% \end{macrocode}
+% \end{NatoAppSymbol}
+%
+% \iffalse
+% ....................................................................
+% \fi
+% \begin{NatoAppSymbol}{natoapp6c/s/gun}
+% \begin{macrocode}
+\tikzset{%
+ pics/natoapp6c/s/gun/.is choice,
+ pics/natoapp6c/s/gun/base/.style={
+ code={
+ \pic[draw]{natoapp6c/s/weapon=base};
+ \pic[draw]{natoapp6c/s/weapon=top};
+ \pic[draw]{natoapp6c/s/weapon=multi fire};}},
+ pics/natoapp6c/s/gun/air defence/.style={
+ code={
+ \pic[draw]{natoapp6c/s/gun/base};
+ \pic[draw]{natoapp6c/s/weapon=air defence};}},
+ pics/natoapp6c/s/gun/anti tank/.style={
+ code={
+ \pic[draw]{natoapp6c/s/gun/base};
+ \pic[draw]{natoapp6c/s/weapon/anti tank};}},
+ pics/natoapp6c/s/gun/direct/.style={
+ code={
+ \pic[draw]{natoapp6c/s/gun/base};
+ \pic[draw]{natoapp6c/s/weapon=bottom};}},
+ pics/natoapp6c/s/gun/recoilless/.style={
+ code={
+ \pic[draw]{natoapp6c/s/rifle};
+ \pic[yshift=-4,draw]{natoapp6c/s/weapon=multi fire};}},
+ pics/natoapp6c/s/gun/.default=direct,
+}
+% \end{macrocode}
+% \end{NatoAppSymbol}
+%
+% \iffalse
+% ....................................................................
+% \fi
+% \begin{NatoAppSymbol}{natoapp6c/s/headquarters}
+% \begin{macrocode}
+\tikzset{%
+ natoapp6c/s/headquarters/.pic={
+ \path[pic actions] (M.north west) -- ++(0,-.3) --
+ ([shift=(-90:.3)]M.north east) -- (M.north east) -- cycle;},
+}
+% \end{macrocode}
+% \end{NatoAppSymbol}
+%
+% \iffalse
+% ....................................................................
+% \fi
+% \begin{NatoAppSymbol}{natoapp6c/s/house}
+% \begin{macrocode}
+\tikzset{%
+ natoapp6c/s/house/.pic={
+ \path[pic actions]
+ (-.125,-.175) rectangle (.125,.075)
+ (-.167,.075) -- (0,.225) -- (.167,.075) -- cycle;},
+}
+% \end{macrocode}
+% \end{NatoAppSymbol}
+%
+% \iffalse
+% ....................................................................
+% \fi
+% \begin{NatoAppSymbol}{natoapp6c/s/howitzer}
+% \begin{macrocode}
+\tikzset{%
+ natoapp6c/s/howitzer/.pic={
+ \pic[draw]{natoapp6c/s/weapon=base};
+ \pic[draw]{natoapp6c/s/weapon=top};
+ \pic[draw]{natoapp6c/s/weapon=multi fire};
+ \pic[yshift=-8,draw]{natoapp6c/s/weapon=grenade launcher};
+ },
+}
+% \end{macrocode}
+% \end{NatoAppSymbol}
+%
+% \iffalse
+% ....................................................................
+% \fi
+% \begin{NatoAppSymbol}{natoapp6c/s/in position}
+% \begin{macrocode}
+\tikzset{%
+ natoapp6c/s/in position/.pic={
+ \path[draw,fill=pgfstrokecolor]
+ (-.3,-.01) rectangle (-.2,.01) (.2,-.01) rectangle (.3,.01);},
+}
+% \end{macrocode}
+% \end{NatoAppSymbol}
+%
+% \iffalse
+% ....................................................................
+% \fi
+% \begin{NatoAppSymbol}{natoapp6c/s/individual}
+% \begin{macrocode}
+\tikzset{%
+ natoapp6c/s/individual/.pic={
+ \path[pic actions]
+ (0,.08) -- (0,-.3) (-.15,0) -- (.15,0) (0,.18) circle(.1);},
+}
+% \end{macrocode}
+% \end{NatoAppSymbol}
+%
+% \iffalse
+% ....................................................................
+% \fi
+% \begin{NatoAppSymbol}{natoapp6c/s/infantry}
+% \begin{macrocode}
+\tikzset{%
+ natoapp6c/s/infantry/.pic={
+ \path[draw] (-.75,.5) -- (.75,-.5) (-.75,-.5) -- (.75,.5);},
+}
+% \end{macrocode}
+% \end{NatoAppSymbol}
+%
+% \iffalse
+% ....................................................................
+% \fi
+% \begin{NatoAppSymbol}{natoapp6c/s/intermodal}
+% \begin{macrocode}
+\tikzset{%
+ natoapp6c/s/intermodal/.pic={
+ \path[pic actions]
+ ( 0.15, 0.025) --
+ (-0.15, 0.025) --
+ (-0.15, 0.075) --
+ (-0.25, 0) --
+ (-0.15, -0.075) --
+ (-0.15, -0.025) --
+ ( 0.15, -0.025) --
+ ( 0.15, -0.075) --
+ ( 0.25, 0) --
+ ( 0.15, 0.075) -- cycle;},
+}
+% \end{macrocode}
+% \end{NatoAppSymbol}
+%
+% \iffalse
+% ....................................................................
+% \fi
+% \begin{NatoAppSymbol}{natoapp6c/s/jagged wave}
+% \begin{macrocode}
+\tikzset{%
+ natoapp6c/s/jagged wave/.pic={
+ \draw (0.3, -0.05) --
+ (0.2, 0.05) --
+ (0.1, -0.05) --
+ (0, 0.05) --
+ (-0.1, -0.05) --
+ (-0.2, 0.05) --
+ (-0.3, -0.05);},
+}
+% \end{macrocode}
+% \end{NatoAppSymbol}
+%
+% \iffalse
+% ....................................................................
+% \fi
+% \begin{NatoAppSymbol}{natoapp6c/s/jam}
+% \begin{macrocode}
+\tikzset{%
+ natoapp6c/s/jam/.pic={%
+ \path[draw]
+ (0.75, 0)
+ to[out=90, in=90, looseness=2.25] ( 0.65, 0)
+ to[out=-90,in=-90,looseness=2.25] ( 0.55, 0)
+ to[out=90, in=90, looseness=2.25] ( 0.45, 0)
+ to[out=-90,in=-90,looseness=2.25] ( 0.35, 0)
+ to[out=90, in=90, looseness=2.25] ( 0.25, 0)
+ to[out=-90,in=-90,looseness=2.25] ( 0.15, 0)
+ to[out=90, in=90, looseness=2.25] ( 0.05, 0)
+ to[out=-90,in=-90,looseness=2.25] (-0.05, 0)
+ to[out=90, in=90, looseness=2.25] (-0.15, 0)
+ to[out=-90,in=-90,looseness=2.25] (-0.25, 0)
+ to[out=90, in=90, looseness=2.25] (-0.35, 0)
+ to[out=-90,in=-90,looseness=2.25] (-0.45, 0)
+ to[out=90, in=90, looseness=2.25] (-0.55, 0)
+ to[out=-90,in=-90,looseness=2.25] (-0.65, 0)
+ to[out=90, in=90, looseness=2.25] (-0.75, 0)
+ ;},
+}
+% \end{macrocode}
+% \end{NatoAppSymbol}
+%
+% \iffalse
+% ....................................................................
+% \fi
+% \begin{NatoAppSymbol}{natoapp6c/s/jamming}
+% \begin{macrocode}
+\tikzset{%
+ natoapp6c/s/jamming/.pic={%
+ \path(0,.4) pic {natoapp6c/s/jam} (0,.26) pic {natoapp6c/s/jam};},
+}
+% \end{macrocode}
+% \end{NatoAppSymbol}
+%
+% \iffalse
+% ....................................................................
+% \fi
+% \begin{NatoAppSymbol}{natoapp6c/s/jetski}
+% \begin{macrocode}
+\tikzset{%
+ natoapp6c/s/jetski/.pic={
+ \path[pic actions]
+ ( 0.3, -0.2) --
+ (-0.3, -0.2) --
+ (-0.35,-0.1) --
+ (-0.1, 0.2) --
+ ( 0, 0.2) --
+ ( 0, 0.1) --
+ (-0.05, 0.1) --
+ (-0.1, -0.05) --
+ ( 0.3, -0.05) --
+ ( 0.3, -0.2) -- cycle;
+},
+}
+% \end{macrocode}
+% \end{NatoAppSymbol}
+%
+% \iffalse
+% ....................................................................
+% \fi
+% \begin{NatoAppSymbol}{natoapp6c/s/killing}
+% \begin{macrocode}
+\tikzset{%
+ natoapp6c/s/killing/.pic={\path[draw] (-.45,.25)--(.45,-.25);},
+}
+% \end{macrocode}
+% \end{NatoAppSymbol}
+%
+% \iffalse
+% ....................................................................
+% \fi
+% \begin{NatoAppSymbol}{natoapp6c/s/labour}
+% \begin{macrocode}
+\tikzset{%
+ natoapp6c/s/labour/.pic={%
+ \path[draw] (-.15,.2) -- (.15,.2) (0,.2) -- (0,0)
+ (-.15,0) -- ++(300:.3) -- ++(60:.3) -- cycle;},
+}
+% \end{macrocode}
+% \end{NatoAppSymbol}
+%
+% \iffalse
+% ....................................................................
+% \fi
+% \begin{NatoAppSymbol}{natoapp6c/s/land mine}
+% \begin{macrocode}
+\tikzset{%
+ pics/natoapp6c/s/land mine/.is choice,
+ pics/natoapp6c/s/land mine/personnel/.style={
+ code={\pic[fill=pgfstrokecolor]{natoapp6c/s/land mine=none};
+ \path[pic actions] (135:0.35) -- (0, 0) -- (45:0.35);}},
+ pics/natoapp6c/s/land mine/tank/.style={
+ code={\pic[fill=pgfstrokecolor]{natoapp6c/s/land mine=none};}},
+ pics/natoapp6c/s/land mine/none/.style={
+ code={\path[pic actions] (0,0) circle(0.25);}},
+ pics/natoapp6c/s/land mine/.default=none,
+}
+% \end{macrocode}
+% \end{NatoAppSymbol}
+%
+% \iffalse
+% ....................................................................
+% \fi
+% \begin{NatoAppSymbol}{natoapp6c/s/land missile}
+% \begin{macrocode}
+\tikzset{%
+ natoapp6c/s/land missile/.pic={\pic{natoapp6c/s/missile launcher};},
+}
+% \end{macrocode}
+% \end{NatoAppSymbol}
+%
+% \iffalse
+% ....................................................................
+% \fi
+% \begin{NatoAppSymbol}{natoapp6c/s/laser}
+% \begin{macrocode}
+\tikzset{%
+ natoapp6c/s/laser/.pic={
+ \path[draw,line join=round,line cap=round,pic actions]
+ ( 0.1, -0.25) --
+ (-0.1, -0.225) --
+ ( 0.1, -0.2) --
+ (-0.1, -0.175) --
+ ( 0.1, -0.15) --
+ ( 0, -0.1375) --
+ ( 0, -0.0125) --
+ (-0.1, 0) --
+ ( 0.1, 0.025) --
+ (-0.1, 0.05) --
+ ( 0.1, 0.075) --
+ ( 0, 0.0875) --
+ ( 0, 0.25)
+ ( 0.1, 0.2) --
+ ( 0, 0.25) --
+ (-0.1, 0.2);},
+}
+% \end{macrocode}
+% \end{NatoAppSymbol}
+%
+% \iffalse
+% ....................................................................
+% \fi
+% \begin{NatoAppSymbol}{natoapp6c/s/launcher}
+% \begin{macrocode}
+\tikzset{%
+ natoapp6c/s/launcher/.pic={
+ \path[draw] (-.3,-.2) -- (.3,.2) -- (.3,-.2);},
+}
+% \end{macrocode}
+% \end{NatoAppSymbol}
+%
+% \iffalse
+% ....................................................................
+% \fi
+% \begin{NatoAppSymbol}{natoapp6c/s/laundry}
+% \begin{macrocode}
+\tikzset{%
+ natoapp6c/s/laundry/.pic={%
+ \path[draw] (0,-.3) -- (0,.1)
+ (0,.1) -- ++(150:.25)
+ (0,.1) -- ++(180:.2)
+ (0,.1) -- ++(210:.25);},
+}
+% \end{macrocode}
+% \end{NatoAppSymbol}
+%
+% \iffalse
+% ....................................................................
+% \fi
+% \begin{NatoAppSymbol}{natoapp6c/s/machine gun}
+% \begin{macrocode}
+\tikzset{%
+ natoapp6c/s/machine gun/.pic={%
+ \pic[draw]{natoapp6c/s/rifle};
+ \pic[draw]{natoapp6c/s/weapon=machine gun};},
+}
+% \end{macrocode}
+% \end{NatoAppSymbol}
+%
+% \iffalse
+% ....................................................................
+% \fi
+% \begin{NatoAppSymbol}{natoapp6c/s/main gun}
+% \begin{macrocode}
+\tikzset{%
+ natoapp6c/s/main gun/.pic={
+ \path[pic actions] (M.north west) -- ++(.25,0) --
+ ([shift=(0:.25)]M.south west) -- (M.south west) -- cycle;},
+}
+% \end{macrocode}
+% \end{NatoAppSymbol}
+%
+% \iffalse
+% ....................................................................
+% \fi
+% \begin{NatoAppSymbol}{natoapp6c/s/maintenance}
+% \begin{macrocode}
+\tikzset{%
+ natoapp6c/s/maintenance/.pic={
+ \path[fill=pgfstrokecolor]
+ (-.38,.25)
+ to[out=0,in=90,looseness=1.5] (-.2,.05) -- (.2,.05)
+ to [out=90,in=180,looseness=1.5] (.38,.25) -- ++(0,-.08)
+ to [out=180,in=90,looseness=1.5] (.28,0)
+ to [out=-90,in=180,looseness=1.5] (.38,-.17) -- ++(0,-.08)
+ to [out=180,in=-90,looseness=1.5] (.2,-.05) -- (-.2,-.05)
+ to [out=-90,in=0,looseness=1.5] (-.38,-.25) -- ++(0,.08)
+ to [out=0,in=-90,looseness=1.5] (-.28,0)
+ to [out=90,in=0,looseness=1.5] (-.38,.17) -- cycle;
+ },
+}
+% \end{macrocode}
+% \end{NatoAppSymbol}
+%
+% \iffalse
+% ....................................................................
+% \fi
+% \begin{NatoAppSymbol}{natoapp6c/s/medic}
+% \begin{macrocode}
+\tikzset{%
+ natoapp6c/s/medic/.pic={
+ \path[pic actions]
+ (-0.075,-0.2)
+ --(0.075,-.2)
+ --(.075,-.075)
+ --(.2,-.075)
+ --(.2,.075)
+ --(.075,.075)
+ --(.075,.2)
+ --(-0.075,.2)
+ --(-0.075,.075)
+ --(-.2,.075)
+ --(-.2,-.075)
+ --(-.075,-.075)
+ --cycle;},
+}
+% \end{macrocode}
+% \end{NatoAppSymbol}
+%
+% \iffalse
+% ....................................................................
+% \fi
+% \begin{NatoAppSymbol}{natoapp6c/s/medical}
+% \begin{macrocode}
+\tikzset{%
+ natoapp6c/s/medical/.pic={\path[draw] (-1,0) -- (1,0) (0,-1) -- (0,1);},
+}
+% \end{macrocode}
+% \end{NatoAppSymbol}
+%
+% \iffalse
+% ....................................................................
+% \fi
+% \begin{NatoAppSymbol}{natoapp6c/s/medical treatment}
+% \begin{macrocode}
+\tikzset{%
+ natoapp6c/s/medical treatment/.pic={
+ \path[draw] (0,0) pic {natoapp6c/s/medical}
+ ([xscale=.5,shift={(0,-.2)}]M.west) -- ([xscale=.5,shift={(0,.2)}]M.west)
+ ([xscale=.5,shift={(0,-.2)}]M.east) -- ([xscale=.5,shift={(0,.2)}]M.east);},
+}
+% \end{macrocode}
+% \end{NatoAppSymbol}
+%
+% \iffalse
+% ....................................................................
+% \fi
+% \begin{NatoAppSymbol}{natoapp6c/s/mine}
+% \begin{macrocode}
+\tikzset{%
+ natoapp6c/s/mine/.pic={
+ \path[fill=pgfstrokecolor,draw] (0,0) ellipse(.2 and .15)
+ (0,0) -- ++(60:.3)
+ (0,0) -- ++(90:.3)
+ (0,0) -- ++(120:.3)
+ (0,0) -- ++(240:.3)
+ (0,0) -- ++(270:.3)
+ (0,0) -- ++(300:.3)
+ ;},
+}
+% \end{macrocode}
+% \end{NatoAppSymbol}
+%
+% \iffalse
+% ....................................................................
+% \fi
+% \begin{NatoAppSymbol}{natoapp6c/s/mine clearing equipment}
+% \begin{macrocode}
+\tikzset{%
+ natoapp6c/s/mine clearing equipment/.pic={
+ \path[pic actions]
+ (0, 0.2) -- (0, 0) -- (0.35, -0.2) -- (-0.35, -0.2) -- (0, 0);},
+}
+% \end{macrocode}
+% \end{NatoAppSymbol}
+%
+% \iffalse
+% ....................................................................
+% \fi
+% \begin{NatoAppSymbol}{natoapp6c/s/mine warfare vessel}
+% \begin{macrocode}
+\tikzset{%
+ natoapp6c/s/mine warfare vessel/.pic={%
+ \pic[scale=.8,fill=pgfstrokecolor,yshift=2.5]{natoapp6c/s/sea mine=top half};
+ \pic {natoapp6c/s/warfare vessel};
+ },
+}
+% \end{macrocode}
+% \end{NatoAppSymbol}
+%
+% \iffalse
+% ....................................................................
+% \fi
+% \begin{NatoAppSymbol}{natoapp6c/s/missile}
+% \begin{macrocode}
+\tikzset{%
+ natoapp6c/s/missile/.pic={%
+ \path[pic actions,draw]
+ (0, 0.3)
+ -- (-0.05, 0.2)
+ -- (-0.05, -0.2)
+ -- (-0.125,-0.3)
+ -- (-0.125,-0.4)
+ -- (0, -0.265)
+ -- (0.125,-0.4)
+ -- (0.125,-0.3)
+ -- (0.05,-0.2)
+ -- (0.05,0.2)
+ -- cycle;},
+}
+% \end{macrocode}
+% \end{NatoAppSymbol}
+%
+% \iffalse
+% ....................................................................
+% \fi
+% \begin{NatoAppSymbol}{natoapp6c/s/missile launcher}
+% \begin{macrocode}
+\tikzset{%
+ pics/natoapp6c/s/missile launcher/.is choice,
+ pics/natoapp6c/s/missile launcher/base/.style={
+ code={
+ \pic[draw]{natoapp6c/s/weapon=base};
+ \pic[draw]{natoapp6c/s/weapon=top};
+ \pic[draw]{natoapp6c/s/weapon=multi fire};
+ \pic[draw]{natoapp6c/s/weapon=missile launcher};}},
+ pics/natoapp6c/s/missile launcher/none/.style={
+ code={
+ \pic[draw]{natoapp6c/s/missile launcher=base};
+ \path[pic actions] (-.2,-.2)--(-.2,-.35) (.2,-.2)--(.2,-.35);}},
+ pics/natoapp6c/s/missile launcher/air defence/.style={
+ code={
+ \pic[draw]{natoapp6c/s/missile launcher=none};
+ \pic[draw]{natoapp6c/s/weapon=air defence};}},
+ pics/natoapp6c/s/missile launcher/anti tank/.style={
+ code={
+ \pic[draw]{natoapp6c/s/missile launcher=base};
+ \pic[draw]{natoapp6c/s/weapon=anti tank};}},
+ pics/natoapp6c/s/missile launcher/surface to surface/.style={
+ code={%
+ \pic[draw]{natoapp6c/s/missile launcher=none};
+ \pic[draw]{natoapp6c/s/weapon=bottom};
+ \pic[draw]{natoapp6c/s/weapon=machine gun};
+ }},
+ pics/natoapp6c/s/missile launcher/.default=none,
+}
+% \end{macrocode}
+% \end{NatoAppSymbol}
+%
+% \iffalse
+% ....................................................................
+% \fi
+% \begin{NatoAppSymbol}{natoapp6c/s/mobile advisor and support}
+% \begin{macrocode}
+\tikzset{%
+ natoapp6c/s/mobile advisor and support/.pic={
+ \path[draw] (-.35,0) circle(.1) (.35,0) circle(.1);
+ \path[draw,fill=pgfstrokecolor,pic actions]
+ ( 0.15, 0.025) --
+ (-0.25, 0.025) --
+ (-0.25, -0.025) --
+ ( 0.15, -0.025) --
+ ( 0.15, -0.075) --
+ ( 0.25, 0) --
+ ( 0.15, 0.075) -- cycle;},
+}
+% \end{macrocode}
+% \end{NatoAppSymbol}
+%
+% \iffalse
+% ....................................................................
+% \fi
+% \begin{NatoAppSymbol}{natoapp6c/s/moored}
+% \begin{macrocode}
+\tikzset{%
+ natoapp6c/s/moored/.pic={
+ \path[draw] (0,.2) -- (0,-.05) (-.3,-.05) -- (.3,-.05);},
+}
+% \end{macrocode}
+% \end{NatoAppSymbol}
+%
+% \iffalse
+% ....................................................................
+% \fi
+% \begin{NatoAppSymbol}{natoapp6c/s/mortar}
+% \begin{macrocode}
+\tikzset{%
+ natoapp6c/s/mortar/.pic={
+ \path[draw] (0,-.15) circle(.05) (0,.-.1) -- (0,.2)
+ ([shift=(225:.1)]0,.2) -- (0,.2) -- ([shift=(-45:.1)]0,.2);},
+}
+% \end{macrocode}
+% \end{NatoAppSymbol}
+%
+% \iffalse
+% ....................................................................
+% \fi
+% \begin{NatoAppSymbol}{natoapp6c/s/motorized}
+% \begin{macrocode}
+\tikzset{%
+ natoapp6c/s/motorized/.pic={\path[draw] (M.north) -- (M.south);},
+ pics/natoapp6c/s/motorised/.style={natoapp6c/s/motorized},
+}
+% \end{macrocode}
+% \end{NatoAppSymbol}
+%
+% \iffalse
+% ....................................................................
+% \fi
+% \begin{NatoAppSymbol}{natoapp6c/s/mortuary affairs}
+% \begin{macrocode}
+\tikzset{%
+ natoapp6c/s/mortuary affairs/.pic={
+ \path[draw] (-.1,-.2) rectangle (.1,.2)
+ (0,-.17) -- (0,.17) (-.07,.1) -- (.07,.1);},
+}
+% \end{macrocode}
+% \end{NatoAppSymbol}
+%
+% \iffalse
+% ....................................................................
+% \fi
+% \begin{NatoAppSymbol}{natoapp6c/s/mountain}
+% \begin{macrocode}
+\tikzset{%
+ natoapp6c/s/mountain/.pic={
+ \path[draw,fill=pgfstrokecolor] (0,.2) -- ++(-60:.7) -- ++(180:.7) -- cycle;
+ },
+}
+% \end{macrocode}
+% \end{NatoAppSymbol}
+%
+% \iffalse
+% ....................................................................
+% \fi
+% \begin{NatoAppSymbol}{natoapp6c/s/naval}
+% \begin{macrocode}
+\tikzset{%
+ natoapp6c/s/naval/.pic={
+ \def\arrow{(0,0) -- (-.02,0) -- ++(60:.04) -- ++(-60:.04) -- cycle}
+ \begin{scope}[pic actions]
+ \path[draw]
+ (0,.13) circle (.08) (-.2,.04) -- (.2,.04) (0,.04)
+ -- (0,-.25) (210:.25) arc (210:340:.25);
+ \path[draw,shift=(210:.25),rotate=30] \arrow;
+ \path[draw,shift=(340:.25),rotate=-30] \arrow;
+ \end{scope}},
+}
+% \end{macrocode}
+% \end{NatoAppSymbol}
+%
+% \iffalse
+% ....................................................................
+% \fi
+% \begin{NatoAppSymbol}{natoapp6c/s/navigation}
+% \begin{macrocode}
+\tikzset{%
+ natoapp6c/s/navigation/.pic={
+ \path[draw]
+ (.17,-.2) -- (0,.2) -- (-.17,-.2)
+ ($(-180:.17)+(0,.05)$) arc[radius=.17,start angle=-180,end angle=0];},
+}
+% \end{macrocode}
+% \end{NatoAppSymbol}
+%
+% \iffalse
+% ....................................................................
+% \fi
+% \begin{NatoAppSymbol}{natoapp6c/s/navy task}
+% \begin{macrocode}
+\tikzset{%
+ natoapp6c/s/navy task/.pic={
+ \path[pic actions]
+ (-0.25, -0.2) -- (-0.25, 0.1) -- (-0.15, 0.2)
+ ( 0.25, -0.2) -- ( 0.25, 0.1) -- ( 0.15, 0.2);},
+}
+% \end{macrocode}
+% \end{NatoAppSymbol}
+%
+% \iffalse
+% ....................................................................
+% \fi
+% \begin{NatoAppSymbol}{natoapp6c/s/non combatant}
+% \begin{macrocode}
+\tikzset{%
+ natoapp6c/s/non combatant/.pic={
+ \path[draw,fill=pgfstrokecolor]
+ (-0.25, -0.2) --
+ (-0.25, 0.05) --
+ (-0.15, 0.05) --
+ (-0.15, 0.2) --
+ (0.15, 0.2) --
+ (0.15, 0.05) --
+ (0.25, 0.05) --
+ (0.25, -0.2) -- cycle;},
+}
+% \end{macrocode}
+% \end{NatoAppSymbol}
+%
+% \iffalse
+% ....................................................................
+% \fi
+% \begin{NatoAppSymbol}{natoapp6c/s/non lethal weapon}
+% \begin{macrocode}
+\tikzset{%
+ natoapp6c/s/non lethal weapon/.pic={%
+ \pic[draw]{natoapp6c/s/weapon};%
+ \pic[draw]{natoapp6c/s/weapon=non lethal};},
+}
+% \end{macrocode}
+% \end{NatoAppSymbol}
+%
+% \iffalse
+% ....................................................................
+% \fi
+% \begin{NatoAppSymbol}{natoapp6c/s/nuclear}
+% \begin{macrocode}
+\tikzset{%
+ natoapp6c/s/nuclear/.pic={
+ \path[fill=pgfstrokecolor,pic actions] (0,0) circle(.05)
+ (0: .3) arc(0 : 60:.3) -- ( 60:.1) arc( 60: 0: .1) -- cycle
+ (180:.3) arc(180: 120:.3) -- ( 120:.1) arc( 120: 180:.1) -- cycle
+ (-60:.3) arc(-60:-120:.3) -- (-120:.1) arc(-120:-60: .1) -- cycle;
+ },
+}
+% \end{macrocode}
+% \end{NatoAppSymbol}
+%
+% \iffalse
+% ....................................................................
+% \fi
+% \begin{NatoAppSymbol}{natoapp6c/s/observer}
+% \begin{macrocode}
+\tikzset{%
+ natoapp6c/s/observer/.pic={
+ \path[pic actions] (0.25,-.2)--(-.25,-.2)--(0,.2)--cycle;},
+}
+% \end{macrocode}
+% \end{NatoAppSymbol}
+%
+% \iffalse
+% ....................................................................
+% \fi
+% \begin{NatoAppSymbol}{natoapp6c/s/orbiter shuttle}
+% \begin{macrocode}
+\tikzset{%
+ natoapp6c/s/orbiter shuttle/.pic={
+ \path[pic actions]
+ ($(0, 0.3)!0.35!(0.125, -0.15)$) --
+ (0.125, -0.15) -- (-0.125, -0.15) --
+ ($(-0.125, -0.15)!0.65!(0, 0.3)$)
+ to[in=105, out=75] cycle
+ (0, -0.20) -- (0, -0.15); },
+}
+% \end{macrocode}
+% \end{NatoAppSymbol}
+%
+% \iffalse
+% ....................................................................
+% \fi
+% \begin{NatoAppSymbol}{natoapp6c/s/ordnance}
+% \begin{macrocode}
+\tikzset{%
+ natoapp6c/s/ordnance/.pic={
+ \path[draw] (0,0) ellipse(.2 and .15);
+ \begin{scope}
+ \clip (0,0) ellipse(.2 and .15) [reverseclip];
+ \path[draw] (0,0) -- ++(50:.3)
+ (0,0) -- ++(70:.3)
+ (0,0) -- ++(110:.3)
+ (0,0) -- ++(130:.3)
+ ;
+ \end{scope}},
+}
+% \end{macrocode}
+% \end{NatoAppSymbol}
+%
+% \iffalse
+% ....................................................................
+% \fi
+% \begin{NatoAppSymbol}{natoapp6c/s/organisation}
+% \begin{macrocode}
+\tikzset{%
+ pics/natoapp6c/s/organisation/.style={natoapp6c/s/group},
+}
+% \end{macrocode}
+% \end{NatoAppSymbol}
+%
+% \iffalse
+% ....................................................................
+% \fi
+% \begin{NatoAppSymbol}{natoapp6c/s/over snow}
+% \begin{macrocode}
+\tikzset{%
+ natoapp6c/s/over snow/.pic={
+ \ifn@to@pp@below%
+ \draw ([shift={(-.15,.15)}]M.south west) to[in=180, out=270]
+ ++(.15,-.15) -- (M.south east);
+ \else%
+ \draw ([shift={(.3,.1)}]M.west) to[in=180, out=-90]
+ ([shift={(.5,-.1)}]M.west) --
+ ([shift={(-.3,-.1)}]M.east);
+ \fi},
+}
+% \end{macrocode}
+% \end{NatoAppSymbol}
+%
+% \iffalse
+% ....................................................................
+% \fi
+% \begin{NatoAppSymbol}{natoapp6c/s/pack animal}
+% \begin{macrocode}
+\tikzset{%
+ natoapp6c/s/pack animal/.pic={
+ \def\n@to@pp@tmp{0}
+ \ifn@to@pp@below\def\n@to@pp@tmp{-.15}\fi
+ \path[draw,shift={(0,\n@to@pp@tmp)}]
+ (-.3,-.15) -- (-.15,.15) -- (0,-.15) -- (.15,.15) -- (.3,-.15);},
+}
+% \end{macrocode}
+% \end{NatoAppSymbol}
+%
+% \iffalse
+% ....................................................................
+% \fi
+% \begin{NatoAppSymbol}{natoapp6c/s/patrol}
+% \begin{macrocode}
+\tikzset{%
+ natoapp6c/s/patrol/.pic={
+ \pic{natoapp6c/s/warfare vessel};
+ \path[draw,fill=pgfstrokecolor] (0.125, 0) -- (0, 0.2) -- (-0.125, 0) -- cycle;},
+}
+% \end{macrocode}
+% \end{NatoAppSymbol}
+%
+% \iffalse
+% ....................................................................
+% \fi
+% \begin{NatoAppSymbol}{natoapp6c/s/patrolling}
+% \begin{macrocode}
+\tikzset{%
+ natoapp6c/s/patrolling/.pic={
+ % OBS
+ \path[draw]
+ (0.25, 0.05) -- (-0.05, 0.05) -- (0.05, -0.05) -- (-0.4, -0.05)
+ (-0.3, 0) -- (-0.4, -0.05) -- (-0.3, -0.1)
+ node [natoapp6c/text,natoapp6c/small text,
+ scale=.5,anchor=west,inner sep=0] at (0.25, 0.05) {P};
+ },
+}
+% \end{macrocode}
+% \end{NatoAppSymbol}
+%
+% \iffalse
+% ....................................................................
+% \fi
+% \begin{NatoAppSymbol}{natoapp6c/s/physician}
+% \begin{macrocode}
+\tikzset{%
+ natoapp6c/s/physician/.pic={
+ \pic{natoapp6c/s/medical};
+ \path[draw] (0.1, 0.05) -- (-0.1, 0.05);},
+}
+% \end{macrocode}
+% \end{NatoAppSymbol}
+%
+% \iffalse
+% ....................................................................
+% \fi
+% \begin{NatoAppSymbol}{natoapp6c/s/pipeline}
+% \begin{macrocode}
+\tikzset{%
+ natoapp6c/s/pipeline/.pic={
+ \path[draw] (-.15,-.15) rectangle (.15,.15)
+ (-.3,.1) -- (-.15,.1) (-.3,-.1) -- (-.15,-.1)
+ (.3,.1) -- (.15,.1) (.3,-.1) -- (.15,-.1)
+ (-.05,.15) rectangle (.05,.25) (-.1,.25) rectangle (.1,.30);},
+}
+% \end{macrocode}
+% \end{NatoAppSymbol}
+%
+% \iffalse
+% ....................................................................
+% \fi
+% \begin{NatoAppSymbol}{natoapp6c/s/poisoning}
+% \begin{macrocode}
+\tikzset{%
+ natoapp6c/s/poisoning/.pic={
+ \path[pic actions] (0, 0.055) circle (0.145)
+ (0.3, 0) -- (-0.3, -0.2)
+ (-0.3, 0) -- (0.3, -0.2);},
+}
+% \end{macrocode}
+% \end{NatoAppSymbol}
+%
+% \iffalse
+% ....................................................................
+% \fi
+% \begin{NatoAppSymbol}{natoapp6c/s/postal}
+% \begin{macrocode}
+\tikzset{%
+ natoapp6c/s/postal/.pic={
+ \path[draw] (-.25,.25) -- (.08,.25)
+ to [out=-90,in=120,looseness=1] (.25,-.25)
+ to [out=150,in=-90,looseness=1] (-.25,.25);
+ },
+}
+% \end{macrocode}
+% \end{NatoAppSymbol}
+%
+% \iffalse
+% ....................................................................
+% \fi
+% \begin{NatoAppSymbol}{natoapp6c/s/printed media}
+% \begin{macrocode}
+\tikzset{%
+ natoapp6c/s/printed media/.pic={
+ \path[pic actions] (0.2, 0) -- (-0.2, 0)
+ (0, 0.1) circle (0.085)
+ (0, -0.1) circle (0.085);},
+}
+% \end{macrocode}
+% \end{NatoAppSymbol}
+%
+% \iffalse
+% ....................................................................
+% \fi
+% \begin{NatoAppSymbol}{natoapp6c/s/psychological}
+% \begin{macrocode}
+\tikzset{%
+ natoapp6c/s/psychological/.pic={
+ \path[pic actions] (-.25,.15) -- (-.1,.15) -- (.1,.25)
+ -- ++(0,-.5) -- (-.1,-.15) -- (-.25,-.15) -- cycle
+ (.1,.15) -- (.25,.15)
+ (.1,.05) -- (.25,.05)
+ (.1,-.05) -- (.25,-.05)
+ (.1,-.15) -- (.25,-.15);},
+}
+% \end{macrocode}
+% \end{NatoAppSymbol}
+%
+% \iffalse
+% ....................................................................
+% \fi
+% \begin{NatoAppSymbol}{natoapp6c/s/quarry}
+% \begin{macrocode}
+\tikzset{%
+ natoapp6c/s/quarry/.pic={
+ \path[draw] (-.2,-.2) -- (.18,.18) (.2,-.2) -- (-.18,.18)
+ (25:.255) arc(25:65:.255)
+ (115:.255) arc(115:155:.255);
+ %([shift={(115:.08)}]-.1,.1) arc (115:155:.08)
+ %([shift={(70:.08)}].1,.1) arc (70:110:.08);
+ },
+}
+% \end{macrocode}
+% \end{NatoAppSymbol}
+%
+% \iffalse
+% ....................................................................
+% \fi
+% \begin{NatoAppSymbol}{natoapp6c/s/quartermaster}
+% \begin{macrocode}
+\tikzset{%
+ natoapp6c/s/quartermaster/.pic={
+ \path[draw] (-.4,.1) -- (.1,.1) (.25,.1) circle(.15)
+ (-.3,.1) -- (-.3,-.15) (-.15,.1) -- (-.15,-.15)
+ (-.3,-.08) -- (-.15,-.08);},
+}
+% \end{macrocode}
+% \end{NatoAppSymbol}
+%
+% \iffalse
+% ....................................................................
+% \fi
+% \begin{NatoAppSymbol}{natoapp6c/s/radar}
+% \begin{macrocode}
+\tikzset{%
+ natoapp6c/s/radar/.pic={%
+ \path[draw] (-.2,.2) arc (150:300:.25) (-.24,.01) -- (0,.2) --
+ (0,0) -- (.2,.2);},
+}
+% \end{macrocode}
+% \end{NatoAppSymbol}
+%
+% \iffalse
+% ....................................................................
+% \fi
+% \begin{NatoAppSymbol}{natoapp6c/s/radio}
+% \begin{macrocode}
+\tikzset{%
+ natoapp6c/s/radio/.pic={%
+ \path[draw] (-.2,.2) -- (-.13,.25) -- (-.07,.2) -- (0,.25) --
+ (.07,.2) -- (.13,.25) -- (.2,.2) (0,.25) -- (0,-.05) (0,-.15) circle(.1);},
+}
+% \end{macrocode}
+% \end{NatoAppSymbol}
+%
+% \iffalse
+% ....................................................................
+% \fi
+% \begin{NatoAppSymbol}{natoapp6c/s/radio relay}
+% \begin{macrocode}
+\tikzset{%
+ natoapp6c/s/radio relay/.pic={%
+ \path[draw] (-.2,.25) -- (.2,.25) (0,.25) -- (0,-.05) (0,-.15) circle(.1);},
+}
+% \end{macrocode}
+% \end{NatoAppSymbol}
+%
+% \iffalse
+% ....................................................................
+% \fi
+% \begin{NatoAppSymbol}{natoapp6c/s/radio relay line of sight}
+% \begin{macrocode}
+\tikzset{%
+ natoapp6c/s/radio relay line of sight/.pic={%
+ \path[draw] (0,0) circle(.2);
+ \path[fill=pgfstrokecolor] (0,0) -- (45:.2) arc(45:-45:.2) -- cycle;
+ \path[fill=pgfstrokecolor] (0,0) -- (135:.2) arc(135:225:.2) -- cycle;},
+}
+% \end{macrocode}
+% \end{NatoAppSymbol}
+%
+% \iffalse
+% ....................................................................
+% \fi
+% \begin{NatoAppSymbol}{natoapp6c/s/radio teletype}
+% \begin{macrocode}
+\tikzset{%
+ natoapp6c/s/radio teletype/.pic={%
+ \path[draw] (-.2,.25) -- (.2,.25) (-.15,.18) -- (.15,.18)
+ (0,.25) -- (0,-.25)
+ ([shift=(30:.1)]0,-.15) arc(30:330:.1);},
+}
+% \end{macrocode}
+% \end{NatoAppSymbol}
+%
+% \iffalse
+% ....................................................................
+% \fi
+% \begin{NatoAppSymbol}{natoapp6c/s/railroad}
+% \begin{macrocode}
+\tikzset{%
+ natoapp6c/s/railroad/.pic={%
+ \ifn@to@pp@below%
+ \path[pic actions] (M.south west) -- (M.south east)
+ ([shift={(.08,-0.08)}]M.south west) circle(.08)
+ ([shift={(.24,-0.08)}]M.south west) circle(.08)
+ ([shift={(-.08,-0.08)}]M.south east) circle(.08)
+ ([shift={(-.24,-0.08)}]M.south east) circle(.08);
+ \else
+ \path[pic actions] (-.45,.08) -- (.45,.08)
+ (-.37,0) circle(0.08)
+ (-.21,0) circle(0.08)
+ (.21,0) circle(0.08)
+ (.37,0) circle(0.08);
+ \fi
+ },
+}
+% \end{macrocode}
+% \end{NatoAppSymbol}
+%
+% \iffalse
+% ....................................................................
+% \fi
+% \begin{NatoAppSymbol}{natoapp6c/s/reconnaissance}
+% \begin{macrocode}
+\tikzset{%
+ natoapp6c/s/reconnaissance/.pic={%
+ \path[draw] (M.north east)--(M.south west);},
+}
+% \end{macrocode}
+% \end{NatoAppSymbol}
+%
+% \iffalse
+% ....................................................................
+% \fi
+% \begin{NatoAppSymbol}{natoapp6c/s/recovery unmanned systems}
+% \begin{macrocode}
+\tikzset{%
+ natoapp6c/s/recovery unmanned systems/.pic={%
+ \path[draw] (-.5,.15) to [out=-80,in=180] (0,-.15) to
+ [out=0,in=260] (.5,.15);},
+}
+% \end{macrocode}
+% \end{NatoAppSymbol}
+%
+% \iffalse
+% ....................................................................
+% \fi
+% \begin{NatoAppSymbol}{natoapp6c/s/rifle}
+% \begin{macrocode}
+\tikzset{%
+ natoapp6c/s/rifle/.pic={%
+ \pic[draw]{natoapp6c/s/weapon=full};
+ \pic[draw]{natoapp6c/s/weapon=rifle};},
+}
+% \end{macrocode}
+% \end{NatoAppSymbol}
+%
+% \iffalse
+% ....................................................................
+% \fi
+% \begin{NatoAppSymbol}{natoapp6c/s/rising}
+% \begin{macrocode}
+\tikzset{%
+ natoapp6c/s/rising/.pic={
+ \path[draw,fill=pgfstrokecolor] (0, 0.2) -- (0, -0.167)
+ (0.1, -0.2) -- (-0.1, -0.2) -- (0, 0.0);},
+}
+% \end{macrocode}
+% \end{NatoAppSymbol}
+%
+% \iffalse
+% ....................................................................
+% \fi
+% \begin{NatoAppSymbol}{natoapp6c/s/riverine}
+% \begin{macrocode}
+\tikzset{%
+ natoapp6c/s/riverine/.pic={%
+ \ifn@to@pp@below%
+ \path[pic actions] (M.south west)
+ to [out=-90,in=-90,looseness=.5] (M.south east) -- cycle;
+ \else%
+ \path[pic actions] (-.5,.15) to [out=-80,in=180] (0,-.15) to
+ [out=0,in=260] (.5,.15) -- cycle;
+ \fi},
+}
+% \end{macrocode}
+% \end{NatoAppSymbol}
+%
+% \iffalse
+% ....................................................................
+% \fi
+% \begin{NatoAppSymbol}{natoapp6c/s/rocket launcher}
+% \begin{macrocode}
+\tikzset{%
+ pics/natoapp6c/s/rocket launcher/.is choice,
+ pics/natoapp6c/s/rocket launcher/base/.style={
+ code={
+ \pic[draw]{natoapp6c/s/weapon=base};
+ \pic[draw]{natoapp6c/s/weapon=rifle};
+ \pic[yshift=-4,draw]{natoapp6c/s/weapon=rifle};
+ }},
+ pics/natoapp6c/s/rocket launcher/anti tank/.style={
+ code={
+ \pic[draw]{natoapp6c/s/rocket launcher=base};
+ \pic[draw]{natoapp6c/s/weapon=anti tank};
+ }},
+ pics/natoapp6c/s/rocket launcher/single/.style={
+ code={
+ \pic[draw]{natoapp6c/s/rocket launcher=base};
+ \pic[draw]{natoapp6c/s/weapon=bottom};}},
+ pics/natoapp6c/s/rocket launcher/multiple/.style={
+ code={
+ \pic[draw]{natoapp6c/s/rocket launcher=single};
+ \pic[yshift=-6,draw]{natoapp6c/s/weapon=multi fire};}},
+ pics/natoapp6c/s/rocket launcher/single head/.style={
+ code={%
+ \pic[yshift=4,draw]{natoapp6c/s/weapon=rifle};}},
+ pics/natoapp6c/s/rocket launcher/multiple head/.style={
+ code={
+ \pic[yshift=-4,draw]{natoapp6c/s/weapon=rifle};
+ \pic[yshift=-6,draw]{natoapp6c/s/weapon=rifle};
+ }},
+ pics/natoapp6c/s/rocket launcher/.default=single,
+}
+% \end{macrocode}
+% \end{NatoAppSymbol}
+%
+% \iffalse
+% ....................................................................
+% \fi
+% \begin{NatoAppSymbol}{natoapp6c/s/rotary wing}
+% \begin{macrocode}
+\tikzset{%
+ natoapp6c/s/rotary wing/.pic={
+ \path[pic actions]
+ (0.44, 0.15) -- (0.44, -0.15) -- (-0.44, 0.15) -- (-0.44, -0.15) --
+ cycle;},
+}
+% \end{macrocode}
+% \end{NatoAppSymbol}
+%
+% \iffalse
+% ....................................................................
+% \fi
+% \begin{NatoAppSymbol}{natoapp6c/s/runway}
+% \begin{macrocode}
+\tikzset{%
+ natoapp6c/s/runway/.pic={%
+ \path[draw] (-.3,-.15) -- (.3,-.15) (-.2,-.2) -- (.2,.2);},
+}
+% \end{macrocode}
+% \end{NatoAppSymbol}
+%
+% \iffalse
+% ....................................................................
+% \fi
+% \begin{NatoAppSymbol}{natoapp6c/s/sailing boat}
+% \begin{macrocode}
+\tikzset{%
+ natoapp6c/s/sailing boat/.pic={%
+ \path[draw]
+ (-0.15, -0.2) --
+ ( 0.15, -0.2) --
+ ( 0.25, -0.025) --
+ (-0.25, -0.025) -- cycle
+ ( 0, -0.025) -- (0, 0.2)
+ (0.025, 0) -- (0.025, 0.19) -- (0.225, 0) -- cycle;},
+}
+% \end{macrocode}
+% \end{NatoAppSymbol}
+%
+% \iffalse
+% ....................................................................
+% \fi
+% \begin{NatoAppSymbol}{natoapp6c/s/satellite}
+% \begin{macrocode}
+\tikzset{%
+ pics/natoapp6c/s/satellite/.is choice,
+ pics/natoapp6c/s/satellite/none/.style={
+ code={
+ \iftikz@mode@fill
+ \def\n@to@pp@next{\path[draw,fill=pgfstrokecolor,pic actions]}
+ \else
+ \def\n@to@pp@next{\path[pic actions]}
+ \fi
+ \n@to@pp@next
+ ( 0.45, 0.075) rectangle ( 0.15, -0.075)
+ ( 0.075, 0.075) rectangle (-0.075, -0.075)
+ (-0.45, 0.075) rectangle (-0.15, -0.075)
+ ( 0.15, 0) -- (0.075, 0)
+ (-0.15, 0) -- (-0.075, 0);
+ }},
+ pics/natoapp6c/s/satellite/astronomical/.style={
+ code={
+ \begingroup\tikz@picmode
+ \pic{natoapp6c/s/satellite=none};
+ \endgroup
+ \path[pic actions]
+ (0.04, 0.075) rectangle (-0.04, 0.2)
+ (0.02, -0.075) rectangle (-0.02, -0.2);}},
+ pics/natoapp6c/s/satellite/bio/.style={
+ code={
+ \begingroup\tikz@picmode
+ \pic[yshift=-1]{natoapp6c/s/satellite=none};
+ \endgroup
+ \path[pic actions]
+ (-0.075, 0.13) circle (0.07)
+ ($(-0.075, 0.13) + (60:0.07)$) --
+ ++(-30:0.22) -- ++(0, -0.025) -- (-0.005, 0.13) -- cycle;
+ }},
+ pics/natoapp6c/s/satellite/communications/.style={
+ code={
+ \begingroup\tikz@picmode
+ \pic[yshift=-1]{natoapp6c/s/satellite=none};
+ \endgroup
+ \path[pic actions]
+ (0, 0.075) -- (0, 0.125)
+ (0, 0.125) arc (270:340:0.25 and 0.1)
+ (0, 0.125) arc (270:200:0.25 and 0.1);
+ }},
+ pics/natoapp6c/s/satellite/navigation/.style={
+ code={
+ \begingroup\tikz@picmode
+ \pic[yshift=-3.75,scale=.9]{natoapp6c/s/satellite=none};
+ \endgroup
+ \pic[scale=.5,yshift=3.5]{natoapp6c/s/navigation};
+ }},
+ pics/natoapp6c/s/satellite/earth observing/.style={
+ code={
+ \begingroup\tikz@picmode
+ \pic[yshift=3.75, scale=0.9]{natoapp6c/s/satellite=none};
+ \endgroup
+ \path[pic actions]
+ (0, 0.065) -- +(315:0.125)
+ (0, 0.065) -- +(225:0.125)
+ (0, -0.12) circle (0.08);
+ }},
+ pics/natoapp6c/s/satellite/tether/.style={
+ code={
+ \begingroup\tikz@picmode
+ \pic[yshift=-3.75, scale=0.9]{natoapp6c/s/satellite=none};
+ \endgroup
+ \path[pic actions]
+ (0, -0.066) -- +(30:0.3)
+ (0, -0.066) +(30:0.375) circle(0.075);
+ }},
+ pics/natoapp6c/s/satellite/small/.style={
+ code={
+ \begingroup\tikz@picmode
+ \pic[scale=0.6]{natoapp6c/s/satellite=none};
+ \endgroup
+ \path[pic actions]
+ (0.05, 0.2) -- ( 0, 0.1) -- (-0.05, 0.2)
+ (0.05, -0.2) -- ( 0, -0.1) -- (-0.05, -0.2)
+ (-0.4, 0.05) -- (-0.3, 0) -- (-0.4, -0.05)
+ ( 0.4, 0.05) -- ( 0.3, 0) -- ( 0.4, -0.05);
+ }},
+ pics/natoapp6c/s/satellite/reconnaissance/.style={
+ code={
+ \pic[yshift=-1,fill=pgfstrokecolor]{natoapp6c/s/satellite=none};
+ \path[pic actions]
+ (-0.075, -0.05) -- +(250:0.1)
+ (-0.025, -0.05) -- +(260:0.1)
+ ( 0.025, -0.05) -- +(280:0.1)
+ ( 0.075, -0.05) -- +(290:0.1);
+ }},
+ pics/natoapp6c/s/satellite/.default=none,
+}
+% \end{macrocode}
+% \end{NatoAppSymbol}
+%
+% \iffalse
+% ....................................................................
+% \fi
+% \begin{NatoAppSymbol}{natoapp6c/s/sea mine}
+% \begin{macrocode}
+\tikzset{%
+ pics/natoapp6c/s/sea mine/.is choice,
+ pics/natoapp6c/s/sea mine/top half/.style={
+ code={\path[draw,join=bevel,pic actions]
+ (.2,0) arc(0:35:.2 and .175) --
+ (42:.34 and .3) -- (48:.34 and .3) --
+ % ($(45:.1) + (40:.2)$) -- ($(45:.1)+(50:.2)$) --
+ (55:.2 and .175) arc(50:75:.2 and .175) --
+ (80:.26 and .23) -- (100:.26 and .23) --
+ (105:.2 and .175) arc(100:125:.2 and .175) --
+ (132:.34 and .3) -- (138:.34 and .3) --
+ %($(135:.1)+(130:.2)$) -- ($(135:.1)+(140:.2)$) --
+ (145:.2 and .175) arc(145:180:.2 and .175);
+ }},
+ pics/natoapp6c/s/sea mine/bottom half/.style={
+ code={
+ \path[pic actions] (.2,0) arc(0:-180:.2);}},
+ pics/natoapp6c/s/sea mine/full/.style={
+ code={
+ \pic[fill=pgfstrokecolor]{natoapp6c/s/sea mine/top half};
+ \pic[fill=pgfstrokecolor]{natoapp6c/s/sea mine/bottom half};}},
+ pics/natoapp6c/s/sea mine/neutralised/.style={
+ code={
+ \begin{scope}[even odd rule]
+ \clip [rotate=42] (-.4,-.015) rectangle (.4,.015) [reverseclip];
+ \clip [rotate=-42] (-.4,-.015) rectangle (.4,.015) [reverseclip];
+ \pic {natoapp6c/s/sea mine=full};
+ \end{scope}
+ }},
+ pics/natoapp6c/s/sea mine/neutralized/.style=natoapp6c/s/sea mine/neutralised,
+ pics/natoapp6c/s/sea mine/.default=full,
+}
+% \end{macrocode}
+% \end{NatoAppSymbol}
+%
+% \iffalse
+% ....................................................................
+% \fi
+% \begin{NatoAppSymbol}{natoapp6c/s/seabed installation}
+% \begin{macrocode}
+\tikzset{%
+ natoapp6c/s/seabed installation/.pic={%
+ \path[pic actions]
+ (-0.25, -0.2) --
+ ( 0.25, -0.2) --
+ ( 0.25, -0.075) --
+ ( 0.05, -0.075) --
+ ( 0.05, 0.025) --
+ (-0.125, 0.025) --
+ (-0.125, 0.2) --
+ (-0.25, 0.2) -- cycle;},
+}
+% \end{macrocode}
+% \end{NatoAppSymbol}
+%
+% \iffalse
+% ....................................................................
+% \fi
+% \begin{NatoAppSymbol}{natoapp6c/s/search}
+% \begin{macrocode}
+\tikzset{%
+ natoapp6c/s/search/.pic={%
+ \path[draw] (-.3,-.2)--(0,-.4)--(.3,-.2) (0,.4)--(0,-.4);},
+}
+% \end{macrocode}
+% \end{NatoAppSymbol}
+%
+% \iffalse
+% ....................................................................
+% \fi
+% \begin{NatoAppSymbol}{natoapp6c/s/searching}
+% \begin{macrocode}
+\tikzset{%
+ natoapp6c/s/searching/.pic={%
+ \path[pic actions]
+ (-0.4, 0)
+ arc (180:0:0.1)
+ arc (180:360:0.1)
+ arc (180:0:0.1)
+ arc (180:270:0.1) -- +(0.1, 0)
+ (0.3, -0.05) -- (0.4, -0.1) -- (0.3, -0.15);},
+}
+% \end{macrocode}
+% \end{NatoAppSymbol}
+%
+% \iffalse
+% ....................................................................
+% \fi
+% \begin{NatoAppSymbol}{natoapp6c/s/semi trailer truck}
+% \begin{macrocode}
+\tikzset{%
+ natoapp6c/s/semi trailer truck/.pic={
+ \pic[scale=.75,xshift=-2,draw]{natoapp6c/s/utility vehicle};
+ \path[pic actions] (0.21, -0.025) -- (0.35, -0.025)
+ (0.35, 0.05) -- (0.35, -0.1);},
+}
+% \end{macrocode}
+% \end{NatoAppSymbol}
+%
+% \iffalse
+% ....................................................................
+% \fi
+% \begin{NatoAppSymbol}{natoapp6c/s/sensor}
+% \begin{macrocode}
+\tikzset{%
+ natoapp6c/s/sensor/.pic={%
+ \path[fill=pgfstrokecolor] (-.3,0) arc (270:360:.3) arc (180:270:.3) arc
+ (90:180:.3) arc (0:90:.3);},
+}
+% \end{macrocode}
+% \end{NatoAppSymbol}
+%
+% \iffalse
+% ....................................................................
+% \fi
+% \begin{NatoAppSymbol}{natoapp6c/s/ship}
+% \begin{macrocode}
+\tikzset{%
+ natoapp6c/s/ship/.pic={%
+ \path[pic actions]
+ (-0.2, -0.2) --
+ ( 0.2, -0.2) --
+ ( 0.35, 0.05) --
+ ( 0.15, 0.05) --
+ ( 0.15, 0.2) --
+ (-0.15, 0.2) --
+ (-0.15, 0.05) --
+ (-0.35, 0.05) --
+ cycle;},
+}
+% \end{macrocode}
+% \end{NatoAppSymbol}
+%
+% \iffalse
+% ....................................................................
+% \fi
+% \begin{NatoAppSymbol}{natoapp6c/s/signal}
+% \begin{macrocode}
+\tikzset{%
+ natoapp6c/s/signal/.pic={%
+ \path[draw] (M.north west) -- (0,-.1) -- (0,.1) -- (M.south east);},
+}
+% \end{macrocode}
+% \end{NatoAppSymbol}
+%
+% \iffalse
+% ....................................................................
+% \fi
+% \begin{NatoAppSymbol}{natoapp6c/s/signals intelligence}
+% \begin{macrocode}
+\tikzset{%
+ natoapp6c/s/signals intelligence/.pic={%
+ \path[draw] (-.2,.2) -- (-.13,.25) -- (-.07,.2) -- (0,.25) --
+ (.07,.2) -- (.13,.25) -- (.2,.2) (0,.25) -- (0,-.2);},
+}
+% \end{macrocode}
+% \end{NatoAppSymbol}
+%
+% \iffalse
+% ....................................................................
+% \fi
+% \begin{NatoAppSymbol}{natoapp6c/s/ski}
+% \begin{macrocode}
+\tikzset{%
+ natoapp6c/s/ski/.pic={
+ \path[draw] (-.15,-.15) -- (.1,.2) (.15,-.15) -- (-.1,.2)
+ (-.1,-.2) -- (-.2,-.1)
+ (.1,-.2) -- (.2,-.1);
+ },
+}
+% \end{macrocode}
+% \end{NatoAppSymbol}
+%
+% \iffalse
+% ....................................................................
+% \fi
+% \begin{NatoAppSymbol}{natoapp6c/s/sled}
+% \begin{macrocode}
+\tikzset{%
+ natoapp6c/s/sled/.pic={
+ \ifn@to@pp@below%
+ \draw ([shift={(-.15,.15)}]M.south west) to[in=180, out=-90]
+ ++(.15,-.15) -- (M.south east) to[in=-90, out=0]
+ ([shift={(.15,.15)}]M.south east);
+ \else%
+ \draw ([shift={(.3,.1)}]M.west) to[in=180, out=-90]
+ ([shift={(.5,-.1)}]M.west) --
+ ([shift={(-.5,-.1)}]M.east) to[in=-90, out=0]
+ ([shift={(-.3,.1)}]M.east);
+ \fi
+ },
+}
+% \end{macrocode}
+% \end{NatoAppSymbol}
+%
+% \iffalse
+% ....................................................................
+% \fi
+% \begin{NatoAppSymbol}{natoapp6c/s/small squashed text}
+% \begin{macrocode}
+\tikzset{%
+ pics/natoapp6c/s/small squashed text/.style={
+ code={\n@to@pp@text@smallsquashed{#1};}},
+}
+% \end{macrocode}
+% \end{NatoAppSymbol}
+%
+% \iffalse
+% ....................................................................
+% \fi
+% \begin{NatoAppSymbol}{natoapp6c/s/small text}
+% \begin{macrocode}
+\tikzset{%
+ pics/natoapp6c/s/small text/.style={code={\n@to@pp@text@small{#1};}},
+}
+% \end{macrocode}
+% \end{NatoAppSymbol}
+%
+% \iffalse
+% ....................................................................
+% \fi
+% \begin{NatoAppSymbol}{natoapp6c/s/sniper}
+% \begin{macrocode}
+\tikzset{%
+ natoapp6c/s/sniper/.pic={%
+ \path[draw] (-.2,.2)--(-.05,.2) (.05,.2)--(.2,.2) (0,.15)--(0,-.2);},
+}
+% \end{macrocode}
+% \end{NatoAppSymbol}
+%
+% \iffalse
+% ....................................................................
+% \fi
+% \begin{NatoAppSymbol}{natoapp6c/s/space station}
+% \begin{macrocode}
+\tikzset{%
+ natoapp6c/s/space station/.pic={
+ \path[join=bevel,pic actions]
+ (-80:.15 and .06) -- (0.025, 0.175) arc(0:180:0.025) -- (-100:.15 and .06)
+ ($(80:.25 and 0.1)+(0,-.0125)$) arc(80:-260:.25 and .1) --
+ (-260:.15 and .06) arc (-260:80:.15 and .06) -- cycle
+ (-82:.25 and .1) -- (0.025, -0.175) arc(360:180:0.025) -- (-98:.25 and .1);
+ },
+}
+% \end{macrocode}
+% \end{NatoAppSymbol}
+%
+% \iffalse
+% ....................................................................
+% \fi
+% \begin{NatoAppSymbol}{natoapp6c/s/squashed text}
+% \begin{macrocode}
+\tikzset{%
+ pics/natoapp6c/s/squashed text/.style={code={\n@to@pp@text@squashed{#1};}},
+}
+% \end{macrocode}
+% \end{NatoAppSymbol}
+%
+% \iffalse
+% ....................................................................
+% \fi
+% \begin{NatoAppSymbol}{natoapp6c/s/submarine}
+% \begin{macrocode}
+\tikzset{%
+ natoapp6c/s/submarine/.pic={
+ \path[fill=pgfstrokecolor,pic actions]
+ (0.4, 0) --
+ (0.25, 0.15) --
+ (-0.25, 0.15) --
+ (-0.4, 0) --
+ (-0.25, -0.15) --
+ (0.25, -0.15) -- cycle;},
+}
+% \end{macrocode}
+% \end{NatoAppSymbol}
+%
+% \iffalse
+% ....................................................................
+% \fi
+% \begin{NatoAppSymbol}{natoapp6c/s/submersible}
+% \begin{macrocode}
+\tikzset{%
+ natoapp6c/s/submersible/.pic={
+ \path[pic actions]
+ ($(0, -0.05) + (106.6:0.35 and 0.15)$)
+ arc (106.6:433.4:0.35 and 0.15) |- (0, 0.2) -| cycle;
+ },
+}
+% \end{macrocode}
+% \end{NatoAppSymbol}
+%
+% \iffalse
+% ....................................................................
+% \fi
+% \begin{NatoAppSymbol}{natoapp6c/s/supply}
+% \begin{macrocode}
+\tikzset{%
+ natoapp6c/s/supply/.pic={
+ \path[pic actions]
+ ($(M.east)-(0,.25)$)--($(M.west)-(0,.25)$);},
+}
+% \end{macrocode}
+% \end{NatoAppSymbol}
+%
+% \iffalse
+% ....................................................................
+% \fi
+% \begin{NatoAppSymbol}{natoapp6c/s/surface combatant}
+% \begin{macrocode}
+\tikzset{%
+ natoapp6c/s/surface combatant/.pic={
+ \pic {natoapp6c/s/warfare vessel};
+ \path[draw,fill=pgfstrokecolor]
+ (0.12, 0.05) --
+ (0.12, 0.14) --
+ (0.06, 0.14) --
+ (0.06, 0.2) --
+ (0.24, 0.2) --
+ (0.24, 0.272) --
+ (0.06, 0.272) --
+ (0.06, 0.35) --
+ (-0.06, 0.35) --
+ (-0.06, 0.272) --
+ (-0.24, 0.272) --
+ (-0.24, 0.2) --
+ (-0.06, 0.2) --
+ (-0.06, 0.14) --
+ (-0.12, 0.14) --
+ (-0.12, 0.05) -- cycle;},
+}
+% \end{macrocode}
+% \end{NatoAppSymbol}
+%
+%
+% \iffalse
+% ....................................................................
+% \fi
+% \begin{NatoAppSymbol}{natoapp6c/s/survey}
+% \begin{macrocode}
+\tikzset{%
+ natoapp6c/s/survey/.pic={
+ \path[draw,fill=pgfstrokecolor,pic actions]
+ (0, -0.1) -- (0, 0.195) -- (0.25, 0.0475) -- cycle;
+ \path[pic actions] (0.1, -0.2) -- (0, -0.1) -- (-0.1, -0.2);},
+}
+% \end{macrocode}
+% \end{NatoAppSymbol}
+%
+% \iffalse
+% ....................................................................
+% \fi
+% \begin{NatoAppSymbol}{natoapp6c/s/tactical satellite}
+% \begin{macrocode}
+\tikzset{%
+ natoapp6c/s/tactical satellite/.pic={
+ \path[fill=pgfstrokecolor,draw]
+ (-.3,-.2) rectangle(-.15,.2)
+ (.15,-.2) rectangle( .3,.2)
+ (-.075,-.15) rectangle (.075,.15)
+ (-.15,0) -- (.15,0)
+ (0,-.15) -- (0,-.3);
+ \path[draw] (-.2,-.35) to [out=40,in=140,looseness=1] (.2,-.35);},
+}
+% \end{macrocode}
+% \end{NatoAppSymbol}
+%
+% \iffalse
+% ....................................................................
+% \fi
+% \begin{NatoAppSymbol}{natoapp6c/s/tank}
+% \begin{macrocode}
+\tikzset{%
+ natoapp6c/s/tank/.pic={%
+ \pic[draw]{natoapp6c/s/vehicle};
+ \path[pic actions] ( 0.35, 0.2) -- (-0.35, 0.2);},
+}
+% \end{macrocode}
+% \end{NatoAppSymbol}
+%
+% \iffalse
+% ....................................................................
+% \fi
+% \begin{NatoAppSymbol}{natoapp6c/s/text}
+% \begin{macrocode}
+\tikzset{%
+ pics/natoapp6c/s/text/.style={code={%
+ \n@to@pp@dbg{3}{Text: `#1'}%
+ \n@to@pp@text@normal{#1};}},
+}
+% \end{macrocode}
+% \end{NatoAppSymbol}
+%
+% \iffalse
+% ....................................................................
+% \fi
+% \begin{NatoAppSymbol}{natoapp6c/s/topographic}
+% \begin{macrocode}
+\tikzset{%
+ natoapp6c/s/topographic/.pic={
+ \path[draw] (0,.05) -- (0,.2)
+ (0,.05) -- (-.1,-.2)
+ (0,.05) -- (.1,-.2)
+ (-30:.15) arc[radius=.15,start angle=-30,end angle=-150];},
+}
+% \end{macrocode}
+% \end{NatoAppSymbol}
+%
+% \iffalse
+% ....................................................................
+% \fi
+% \begin{NatoAppSymbol}{natoapp6c/s/torpedo}
+% \begin{macrocode}
+\tikzset{%
+ natoapp6c/s/torpedo/.pic={
+ \path[draw,fill=pgfstrokecolor,pic actions]
+ (-0.35, 0) --
+ (-0.3, 0.075) --
+ ( 0.25, 0.075) --
+ ( 0.35, -0.075) --
+ ( 0.35, 0.075) --
+ ( 0.25, -0.075) --
+ (-0.3, -0.075) -- cycle;},
+}
+% \end{macrocode}
+% \end{NatoAppSymbol}
+%
+% \iffalse
+% ....................................................................
+% \fi
+% \begin{NatoAppSymbol}{natoapp6c/s/towed}
+% \begin{macrocode}
+\tikzset{%
+ natoapp6c/s/towed/.pic={
+ \ifn@to@pp@below%
+ \path[pic actions] (M.south east) -- (M.south west)
+ ([shift={(.08,0)}]M.south east) circle(.08)
+ ([shift={(-.08,0)}]M.south west) circle(.08);
+ \else%
+ \path[draw] (-.32,0) -- (.32,0) (-.4,0) circle(.08) (.4,0) circle(.08);%
+ \fi},
+}
+% \end{macrocode}
+% \end{NatoAppSymbol}
+%
+% \iffalse
+% ....................................................................
+% \fi
+% \begin{NatoAppSymbol}{natoapp6c/s/tracked}
+% \begin{macrocode}
+\tikzset{%
+ natoapp6c/s/tracked/.pic={
+ \ifn@to@pp@below%
+ \path[pic actions]
+ ([shift={(.08,-.16)}]M.south west)
+ arc [radius=.08,start angle=-90,end angle=-270]
+ -- ([shift={(-.08,0)}]M.south east)
+ arc [radius=.08,start angle=90,end angle=-90]
+ -- cycle;
+ \else%
+ \path[pic actions]
+ (-.3,-.1) arc [radius=.1,start angle=-90,end angle=-270]
+ -- (.3,.1) arc [radius=.1,start angle=90,end angle=-90]
+ -- cycle;
+ \fi},
+}
+% \end{macrocode}
+% \end{NatoAppSymbol}
+%
+% \iffalse
+% ....................................................................
+% \fi
+% \begin{NatoAppSymbol}{natoapp6c/s/train locomotive}
+% \begin{macrocode}
+\tikzset{%
+ natoapp6c/s/train locomotive/.pic={
+ \path[pic actions]
+ (.35,-.3)--(-.35,-.3)--(-.35,.3)--(0,.3)--(0,0)--(0.35, 0)--cycle;},
+}
+% \end{macrocode}
+% \end{NatoAppSymbol}
+%
+% \iffalse
+% ....................................................................
+% \fi
+% \begin{NatoAppSymbol}{natoapp6c/s/transportation}
+% \begin{macrocode}
+\tikzset{%
+ natoapp6c/s/transportation/.pic={
+ \path[pic actions] (0,0) circle(.2)
+ (180:.2) -- (0:.2)
+ (225:.2) -- (45:.2)
+ (270:.2) -- (90:.2)
+ (315:.2) -- (135:.2) ;},
+}
+% \end{macrocode}
+% \end{NatoAppSymbol}
+%
+% \iffalse
+% ....................................................................
+% \fi
+% \begin{NatoAppSymbol}{natoapp6c/s/unexploded ordnance}
+% \begin{macrocode}
+\tikzset{%
+ natoapp6c/s/unexploded ordnance/.pic={
+ \begin{scope}[transparency group=knockout]
+ \path[draw,fill=pgfstrokecolor,pic actions] (0,0) circle(.2);
+ \pic[opacity=0]{natoapp6c/s/small squashed text=UXO};
+ \end{scope}},
+}
+% \end{macrocode}
+% \end{NatoAppSymbol}
+%
+% \iffalse
+% ....................................................................
+% \fi
+% \begin{NatoAppSymbol}{natoapp6c/s/unmanned}
+% \begin{macrocode}
+\tikzset{%
+ natoapp6c/s/unmanned/.pic={
+ \path[pic actions]
+ (0,-0.1)
+ --(0.45,0.05)
+ --(0.45,0.1)
+ --(0,0.025)
+ --(-0.45,0.1)
+ --(-0.45,0.05)
+ --cycle;},
+}
+% \end{macrocode}
+% \end{NatoAppSymbol}
+%
+% \iffalse
+% ....................................................................
+% \fi
+% \begin{NatoAppSymbol}{natoapp6c/s/utility vehicle}
+% \begin{macrocode}
+\tikzset{%
+ natoapp6c/s/utility vehicle/.pic={%
+ \pic[draw]{natoapp6c/s/vehicle};
+ \path[pic actions]
+ (0.35, 0.3) to[in=-90, out=-90, looseness=1] (-0.35, 0.3); },
+}
+% \end{macrocode}
+% \end{NatoAppSymbol}
+%
+% \iffalse
+% ....................................................................
+% \fi
+% \begin{NatoAppSymbol}{natoapp6c/s/vehicle}
+% \begin{macrocode}
+\tikzset{%
+ natoapp6c/s/vehicle/.pic={
+ \path[pic actions]
+ (-0.35, 0.2) -- (-0.35, -0.2) -- ( 0.35, -0.2) -- ( 0.35, 0.2)
+ (-0.35, -0.2) -- (-0.35, -0.3)
+ (0.35, -0.2) -- ( 0.35, -0.3)
+ (-0.35, 0.2) -- (-0.35, 0.3)
+ (0.35, 0.2) -- ( 0.35, 0.3);}
+}
+% \end{macrocode}
+% \end{NatoAppSymbol}
+%
+% \iffalse
+% ....................................................................
+% \fi
+% \begin{NatoAppSymbol}{natoapp6c/s/video imagery}
+% \begin{macrocode}
+\tikzset{%
+ natoapp6c/s/video imagery/.pic={
+ \path[pic actions]
+ (-0.4, 0.2) -- (-0.4, -0.2) -- (0.05, -0.2) -- (0.2, 0.2) -- cycle
+ (0.075, -0.15) -- (0.4, -0.15)
+ (0.16, 0.1) -- (0.4, 0.1);
+ \path[draw,fill=pgfstrokecolor,pic actions](0.38,-.2) rectangle (0.42,.15);},
+}
+% \end{macrocode}
+% \end{NatoAppSymbol}
+%
+% \iffalse
+% ....................................................................
+% \fi
+% \begin{NatoAppSymbol}{natoapp6c/s/warfare vessel}
+% \begin{macrocode}
+\tikzset{%
+ natoapp6c/s/warfare vessel/.pic={
+ \path[draw,fill=pgfstrokecolor] (0, -0.2) -- (0.3, 0.05) -- (-0.3, 0.05) -- cycle;},
+}
+% \end{macrocode}
+% \end{NatoAppSymbol}
+%
+% \iffalse
+% ....................................................................
+% \fi
+% \begin{NatoAppSymbol}{natoapp6c/s/water}
+% \begin{macrocode}
+\tikzset{%
+ natoapp6c/s/water/.pic={
+ \path[pic actions]
+ (-0.3, 0.05) -- (0, 0.05) to[in=90, out=0] (0.3, -0.2)
+ (0, 0.05) -- (0, 0.2)
+ (0.075, 0.2) -- (-0.075, 0.2);},
+}
+% \end{macrocode}
+% \end{NatoAppSymbol}
+%
+% \iffalse
+% ....................................................................
+% \fi
+% \begin{NatoAppSymbol}{natoapp6c/s/wheeled}
+% \begin{macrocode}
+\tikzset{%
+ pics/natoapp6c/s/wheeled/.is choice,
+ pics/natoapp6c/s/wheeled/and tracked/.style={
+ code={
+ \ifn@to@pp@below%
+ \path[pic actions]
+ ([shift={(.4,-.16)}]M.south west)
+ arc [radius=.08,start angle=-90,end angle=-270]
+ -- ([shift={(-.08,0)}]M.south east)
+ arc [radius=.08,start angle=90,end angle=-90]
+ -- cycle
+ ([shift={(.08,-.08)}]M.south west) circle(.08);
+ \else%
+ \path[pic actions]
+ (-.1,-.08) arc [radius=.08,start angle=-90,end angle=-270]
+ -- (.32,.08) arc [radius=.08,start angle=90,end angle=-90]
+ -- cycle
+ (-.4,0) circle(0.08);
+ \fi}},
+ pics/natoapp6c/s/wheeled/limited/.style={
+ code={
+ \ifn@to@pp@below%
+ \path[pic actions] (M.south west) -- (M.south east)
+ ([shift={(.08,-.08)}]M.south west) circle(.08)
+ ([shift={(-.08,-.08)}]M.south east) circle(.08);
+ \else
+ \path[pic actions] (-.4,.08) -- (.4,.08)
+ (-.32,0) circle(0.08) (.32,0) circle(0.08);
+ \fi}},
+ pics/natoapp6c/s/wheeled/cross country/.style={
+ code={\pic{natoapp6c/s/wheeled=limited};
+ \ifn@to@pp@below%
+ \path[pic actions] ([shift={(0,-.08)}]M.south) circle(.08);
+ \else
+ \path[pic actions] (0,0) circle(0.08);
+ \fi}},
+ pics/natoapp6c/s/wheeled/semi/.style={
+ code={\pic{natoapp6c/s/wheeled=limited};
+ \ifn@to@pp@below%
+ \path[pic actions] ([shift={(.24,-.08)}]M.south west) circle(.08);
+ \else
+ \path[pic actions] (-.16,0) circle(0.08);
+ \fi}},
+ pics/natoapp6c/s/wheeled/.default=limited,
+}
+% \end{macrocode}
+% \end{NatoAppSymbol}
+%
+% \subsubsection{Some extra MIL-STD symbols}
+%
+% Extra NATO App6(c) symbol (from MIL-STD)
+%
+% \iffalse
+% ....................................................................
+% \fi
+% \begin{NatoAppSymbol}{natoapp6c/s/prison}
+% \begin{macrocode}
+\tikzset{%
+ natoapp6c/s/prison/.pic={
+ \path[pic actions] (-.3,-.3)rectangle(.3,.3)
+ (-.23,-.30)--(-.23, .3)
+ ( .23,-.30)--( .23, .3)
+ (-.08,-.30)--(-.08,-.2)
+ (-.08,-.15) circle (.05)
+ (-.08,-.1) --(-.08, .3)
+ ( .08,-.30)--( .08,-.2)
+ ( .08,-.15) circle (.05)
+ ( .08,-.1) --( .08, .3)
+ (0,.15) circle(.07 and .1);
+ },
+}
+% \end{macrocode}
+% \end{NatoAppSymbol}
+% \iffalse
+% </natoapp6c>
+% --------------------------------------------------------------------
+% \fi
diff --git a/macros/latex/contrib/wargame/source/natoapp6c/text.dtx b/macros/latex/contrib/wargame/source/natoapp6c/text.dtx
new file mode 100644
index 0000000000..5a441dc482
--- /dev/null
+++ b/macros/latex/contrib/wargame/source/natoapp6c/text.dtx
@@ -0,0 +1,57 @@
+% \iffalse
+% --------------------------------------------------------------------
+%<*natoapp6c>
+% \fi
+%\subsubsection{Text on symbols}
+%
+% \begin{TikzKey}{/tikz/natoapp6c/normal text,
+% /tikz/natoapp6c/squashed text,
+% /tikz/natoapp6c/small text,
+% /tikz/natoapp6c/small squashed text}
+%
+% NATO App6 does not specify any particular font for text symbols
+% (main, modifiers, or amplifiers) but here we choose to use \TeX{}
+% Gyro Heros (a Gothic font, i.e., Helvetica-like).
+%
+% \begin{macrocode}
+\newcommand\n@to@ppfont[2][b]{%
+ \fontencoding{T1}\fontfamily{qhv}\fontseries{#1}\fontsize{#2}{0}\selectfont}
+\tikzset{%
+ natoapp6c/text/.style={%
+ shape=rectangle,%
+ draw=none,%
+ fill=none,%
+ transform shape,%
+ anchor=center},
+ natoapp6c/normal text/.style={font=\n@to@ppfont{12}},
+ natoapp6c/squashed text/.style={font=\n@to@ppfont[bc]{12}},
+ natoapp6c/small text/.style={font=\n@to@ppfont{10}},
+ natoapp6c/squashed small text/.style={font=\n@to@ppfont[bc]{10}},
+}
+% \end{macrocode}
+% \end{TikzKey}
+%
+% \begin{Macro}{\n@to@pp@text@normal,
+% \n@to@pp@text@squashed,
+% \n@to@pp@text@small,
+% \n@to@pp@text@smallsquashed}
+%
+% These macros are short-hands for making a node at $(0,0)$ in the
+% local scope.
+%
+% \begin{macrocode}
+\newcommand\n@to@pp@text@normal[2][] {%
+ \node[natoapp6c/text,natoapp6c/normal text,#1]{#2}}
+\newcommand\n@to@pp@text@squashed[2][]{%
+ \node[natoapp6c/text,natoapp6c/squashed text,#1]{#2}}
+\newcommand\n@to@pp@text@small[2][] {%
+ \node[natoapp6c/text,natoapp6c/small text,#1]{#2}}
+\newcommand\n@to@pp@text@smallsquashed[2][]{%
+ \node[natoapp6c/text,natoapp6c/squashed small text,#1]{#2}}
+% \end{macrocode}
+% \end{Macro}
+%
+% \iffalse
+% </natoapp6c>
+% --------------------------------------------------------------------
+% \fi
diff --git a/macros/latex/contrib/wargame/source/natoapp6c/util.dtx b/macros/latex/contrib/wargame/source/natoapp6c/util.dtx
new file mode 100644
index 0000000000..18c7689878
--- /dev/null
+++ b/macros/latex/contrib/wargame/source/natoapp6c/util.dtx
@@ -0,0 +1,60 @@
+% \iffalse
+% --------------------------------------------------------------------
+%<*natoapp6c>
+% \fi
+% \subsubsection{Utility macros used in the symbols}
+%
+% Here, we define the main symbols used when making markers. Since
+% some of these symbols share code, we will create some regular \TeX{}
+% macros to hold the path definitions. This is by far the simplest
+% way of storing just the path specifications.
+%
+% \begin{Macro}{\testpath}
+% \begin{macrocode}
+\def\testpath#1{\csname n@toapp@#1\endcsname}
+% \end{macrocode}
+% \end{Macro}
+%
+% Corps support for \spec{friendly}, \spec{hostile},
+% \spec{neutral}, and \spec{unknown} factions.
+%
+% \begin{Macro}{\n@toapp@corps@sup@friendly,
+% \n@toapp@corps@sup@hostile,
+% \n@toapp@corps@sup@neutral,
+% \n@toapp@corps@sup@unknown}
+% \begin{macrocode}
+\def\n@toapp@corps@sup@friendly{(.75,.5)--(.5,0)--(.75,-.5)}
+% (M.north east)--(M.east-.25,0)--(M.south east)}
+\def\n@toapp@corps@sup@hostile{(.95,.5)--(.45,0)--(.95,-.5)}
+\def\n@toapp@corps@sup@neutral{(.5,.5)--(.35,0)--(.5,-.5)}
+\def\n@toapp@corps@sup@unknown{(.75,.5)--(.5,0)--(.75,-.5)}
+% \end{macrocode}
+% \end{Macro}
+%
+% Corps support, base
+%
+% \begin{Macro}{\n@toapp@corps@support}
+% \begin{macrocode}
+\def\n@toapp@corps@support#1{
+ \ifx\n@to@pp@friendly#1\n@toapp@corps@sup@friendly%
+ \else\ifx\n@to@pp@hostile#1\n@toapp@corps@sup@hostile%
+ \else\ifx\n@to@pp@neutral#1\n@toapp@corps@sup@neutral%
+ \else\ifx\n@to@pp@unknown#1\n@toapp@corps@sup@unknown%
+ \fi\fi\fi\fi}
+% \end{macrocode}
+% \end{Macro}
+%
+% \begin{NatoAppSymbol}{natoapp6c/s/TBD}
+% Special placeholder for symbols To Be Done.
+%
+% \begin{macrocode}
+\tikzset{
+ natoapp6c/s/TBD/.pic={\n@to@pp@text@normal{\color{magenta}TBD};}
+}
+% \end{macrocode}
+% \end{NatoAppSymbol}
+%
+% \iffalse
+% </natoapp6c>
+% --------------------------------------------------------------------
+% \fi
diff --git a/macros/latex/contrib/wargame/source/natoapp6c/weaponry.dtx b/macros/latex/contrib/wargame/source/natoapp6c/weaponry.dtx
new file mode 100644
index 0000000000..3138da9e75
--- /dev/null
+++ b/macros/latex/contrib/wargame/source/natoapp6c/weaponry.dtx
@@ -0,0 +1,88 @@
+% \iffalse
+% --------------------------------------------------------------------
+%<*natoapp6c>
+% \fi
+% \subsubsection{Symbols used when defining weaponry}
+%
+%
+% \begin{NatoAppSymbol}{natoapp6c/s/weapon}
+% \begin{macrocode}
+\tikzset{
+ pics/natoapp6c/s/weapon/.is choice,
+ pics/natoapp6c/s/weapon/base/.style={
+ code={\path [pic actions] (0,-0.2)--(0,.2);}},
+ pics/natoapp6c/s/weapon/top/.style={
+ code={\path [pic actions] (0,.2)--(0,.35);}},
+ pics/natoapp6c/s/weapon/bottom/.style={
+ code={\path [pic actions] (0,.-.35)--(0,-.2);}},
+ pics/natoapp6c/s/weapon/rifle/.style={
+ code={\path [pic actions] (0.2, 0.1)--(0, 0.35)--(-0.2,0.1);}},
+ pics/natoapp6c/s/weapon/machine gun/.style={
+ code={\path [pic actions] (0.2, -0.35)--(-0.2, -0.35);}},
+ pics/natoapp6c/s/weapon/grenade launcher/.style={
+ code={\path [pic actions] (0,0) circle (0.1);}},
+ pics/natoapp6c/s/weapon/missile launcher/.style={
+ code={%
+ \path [pic actions] (0.2, 0.15)
+ to[out=90,in=90,looseness=1.75] (-0.2, 0.15);}},
+ pics/natoapp6c/s/weapon/non lethal/.style={
+ code={\path [pic actions] (-.2,.35) -- (.2,.35);}},
+ pics/natoapp6c/s/weapon/multi fire/.style={
+ code={\path[pic actions] (.2,-.2)--(.2, .2) (-.2,-.2)--(-.2,0.2);}},
+ pics/natoapp6c/s/weapon/air defence/.style={
+ code={%
+ \path[pic actions] (0.2, -0.4)
+ to[out=90,in=90,looseness=1.7] (-0.2, -0.4) -- cycle;}},
+ pics/natoapp6c/s/weapon/anti tank/.style={
+ code={\path[pic actions] (0.2, -0.4)--(0,-0.2)--(-0.2,-0.4);}},
+ pics/natoapp6c/s/weapon/full/.style={
+ code={%
+ \pic[draw]{natoapp6c/s/weapon=base};
+ \pic[draw]{natoapp6c/s/weapon=top};
+ \pic[draw]{natoapp6c/s/weapon=bottom};}},
+ pics/natoapp6c/s/weapon/.default=full
+}
+% \end{macrocode}
+% \end{NatoAppSymbol}
+%
+%
+% \begin{NatoAppSymbol}{natoapp6c/s/type}
+%
+% (Weight) class of weapons: light, medium, heavy
+%
+% \begin{macrocode}
+\tikzset{
+ pics/natoapp6c/s/type/.is choice,
+ pics/natoapp6c/s/type/light/.style={
+ code={\path [fill=pgfstrokecolor,pic actions] (-0.2, -0.12) rectangle (.2,-.08);}},
+ pics/natoapp6c/s/type/medium/.style={
+ code={
+ \path [fill=pgfstrokecolor,pic actions]
+ (-0.2, -0.12) rectangle (.2,-.08)
+ (-0.2, -0.22) rectangle (.2,-.18);}},
+ pics/natoapp6c/s/type/heavy/.style={
+ code={
+ \path [fill=pgfstrokecolor,pic actions]
+ (-0.2, -0.12) rectangle (.2,-.08)
+ (-0.2, -0.22) rectangle (.2,-.18)
+ (-0.2, -0.32) rectangle (.2,-.28);}},
+ pics/natoapp6c/s/type/vlight/.style={
+ code={\path [fill=pgfstrokecolor,pic actions]
+ (-.025,-0.2) rectangle (.025,.2);}},
+ pics/natoapp6c/s/type/vmedium/.style={
+ code={\path [fill=pgfstrokecolor,pic actions]
+ (-.075,-0.2) rectangle (-.025,.2)
+ ( .025, -0.2) rectangle (.075,.2);}},
+ pics/natoapp6c/s/type/vheavy/.style={
+ code={\path [fill=pgfstrokecolor,pic actions]
+ (-.125,-0.2) rectangle (-.075,.2)
+ (-.025,-0.2) rectangle ( .025,.2)
+ ( .075,-0.2) rectangle ( .125,.2);}},
+ pics/natoapp6c/s/type/.default=light,
+}
+% \end{macrocode}
+% \end{NatoAppSymbol}
+% \iffalse
+% </natoapp6c>
+% --------------------------------------------------------------------
+% \fi