From 9d84f3983f9b00dafd3ce27f35d63c4fe84608c9 Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Thu, 6 Aug 2020 21:22:55 +0000 Subject: mercatormap (6aug20) git-svn-id: svn://tug.org/texlive/trunk@56060 c570f23f-e606-0410-a88d-b1316a301751 --- Master/texmf-dist/doc/latex/mercatormap/README | 2 +- .../doc/latex/mercatormap/mercatormap-example.tex | 2 +- .../latex/mercatormap/mercatormap.doc.drawing.tex | 4 +- .../latex/mercatormap/mercatormap.doc.examples.tex | 4 +- .../mercatormap/mercatormap.doc.limitations.tex | 3 +- .../latex/mercatormap/mercatormap.doc.maptiles.tex | 96 +++++++++++++++------ .../latex/mercatormap/mercatormap.doc.marker.tex | 5 ++ .../doc/latex/mercatormap/mercatormap.doc.sty | 12 +++ .../mercatormap/mercatormap.doc.versionhistory.tex | 19 ++++ .../doc/latex/mercatormap/mercatormap.pdf | Bin 26056519 -> 24872307 bytes .../doc/latex/mercatormap/mercatormap.tex | 7 +- .../tex/latex/mercatormap/mercatormap.sty | 91 ++++++++++++++++--- .../tex/latex/mercatormap/mercatorpy.def | 4 +- .../tex/latex/mercatormap/mercatorsupplier.def | 4 +- 14 files changed, 198 insertions(+), 55 deletions(-) diff --git a/Master/texmf-dist/doc/latex/mercatormap/README b/Master/texmf-dist/doc/latex/mercatormap/README index 52881c11629..c33ea991128 100644 --- a/Master/texmf-dist/doc/latex/mercatormap/README +++ b/Master/texmf-dist/doc/latex/mercatormap/README @@ -1,4 +1,4 @@ -%% The LaTeX package mercatormap - version 1.01 (2020/05/05) +%% The LaTeX package mercatormap - version 1.02 (2020/08/06) %% %% ------------------------------------------------------------------------------------------- %% Copyright (c) 2020 by Prof. Dr. Dr. Thomas F. Sturm diff --git a/Master/texmf-dist/doc/latex/mercatormap/mercatormap-example.tex b/Master/texmf-dist/doc/latex/mercatormap/mercatormap-example.tex index cbd153db914..0951bf14d11 100644 --- a/Master/texmf-dist/doc/latex/mercatormap/mercatormap-example.tex +++ b/Master/texmf-dist/doc/latex/mercatormap/mercatormap-example.tex @@ -1,7 +1,7 @@ % \LaTeX-Main\ % !TeX encoding=UTF-8 %% -%% The LaTeX package mercatormap - version 1.01 (2020/05/05) +%% The LaTeX package mercatormap - version 1.02 (2020/08/06) %% mercatormap-example.tex: Example document with a map %% %% ------------------------------------------------------------------------------------------- diff --git a/Master/texmf-dist/doc/latex/mercatormap/mercatormap.doc.drawing.tex b/Master/texmf-dist/doc/latex/mercatormap/mercatormap.doc.drawing.tex index a40131381f9..dd86fcedbdc 100644 --- a/Master/texmf-dist/doc/latex/mercatormap/mercatormap.doc.drawing.tex +++ b/Master/texmf-dist/doc/latex/mercatormap/mercatormap.doc.drawing.tex @@ -193,11 +193,11 @@ in their names, e.g. \tikzsetnextfilename{drawing_network}% \begin{dispExample*}{center lower} -% \mrcsetapikey{openrouteservice}{YOUR-API-KEY} % registered key +% \mrcsetapikey{thunderforest}{YOUR-API-KEY} % registered key \begin{tikzpicture} \mrcmap[ type = boundaries, west = -20, east = 40, south = 36, north = 65, - source=openrouteservice mapsurfer, + source=thunderforest landscape, flex area scale=40 000 000 ]{} \mrcdrawmap \node[below,font=\fontsize{7pt}{7pt}\sffamily] at (mrcmap.south) diff --git a/Master/texmf-dist/doc/latex/mercatormap/mercatormap.doc.examples.tex b/Master/texmf-dist/doc/latex/mercatormap/mercatormap.doc.examples.tex index f2630fef152..7eb5b5f86e2 100644 --- a/Master/texmf-dist/doc/latex/mercatormap/mercatormap.doc.examples.tex +++ b/Master/texmf-dist/doc/latex/mercatormap/mercatormap.doc.examples.tex @@ -132,12 +132,12 @@ is 5 (every zoom step doubles the map size in each direction). \tikzsetnextfilename{examples_boundaries}% \begin{dispExample*}{center lower,breakable} -% \mrcsetapikey{openrouteservice}{YOUR-API-KEY} % registered key +% \mrcsetapikey{thunderforest}{YOUR-API-KEY} % registered key \begin{tikzpicture} \mrcmap[type=boundaries, west=110,east=155,south=-45,north=-10, zoom=5, - source=openrouteservice mapsurfer, + source=thunderforest outdoors, ]{examples_boundaries} \mrcdrawmap \node[below,font=\fontsize{7pt}{7pt}\sffamily] at (mrcmap.south) diff --git a/Master/texmf-dist/doc/latex/mercatormap/mercatormap.doc.limitations.tex b/Master/texmf-dist/doc/latex/mercatormap/mercatormap.doc.limitations.tex index 7529f8db199..0c44427ca54 100644 --- a/Master/texmf-dist/doc/latex/mercatormap/mercatormap.doc.limitations.tex +++ b/Master/texmf-dist/doc/latex/mercatormap/mercatormap.doc.limitations.tex @@ -51,10 +51,9 @@ \tikzsetnextfilename{limit_dateline}% \begin{dispExample} - % \mrcsetapikey{openrouteservice}{YOUR-API-KEY} % registered key \begin{tikzpicture} \mrcmap[type=areafit,tex width=\linewidth,tex height=8cm, - source=openrouteservice mapsurfer, + source=topplusopen web, south=42,north=62,west=130,east=-149+360]{} \mrcdrawmap \node[below,font=\fontsize{7pt}{7pt}\sffamily] at (mrcmap.south) diff --git a/Master/texmf-dist/doc/latex/mercatormap/mercatormap.doc.maptiles.tex b/Master/texmf-dist/doc/latex/mercatormap/mercatormap.doc.maptiles.tex index b038b3d6192..9786414753f 100644 --- a/Master/texmf-dist/doc/latex/mercatormap/mercatormap.doc.maptiles.tex +++ b/Master/texmf-dist/doc/latex/mercatormap/mercatormap.doc.maptiles.tex @@ -220,6 +220,8 @@ accompanying Python script. The technical background is documented in \end{itemize} \end{docMrcKey} +\pagebreak + \begin{docMrcKey}[supply]{zoom}{=\meta{setup zoom}}{no default, initially |9|} Map tile zoom factor alias $z$ coordinate of the map tiles. Used for map types \docValue{boundaries} and \docValue{reference}. @@ -250,26 +252,60 @@ accompanying Python script. The technical background is documented in \end{docMrcKey} -\begin{docMrcKey}[supply]{area}{=\marg{comma separated list of named positions}}{no default} +\begin{docMrcKeys}[ + doc keypath = supply, + doc parameter = {=\marg{comma separated list of named positions}}, + doc description = {no default}, + %doc new = 2020-05-04, +]{ + { doc name = area }, + { doc name = add area }, +} Sets \refKey{/mermap/supply/north}, \refKey{/mermap/supply/south}, \refKey{/mermap/supply/west}, \refKey{/mermap/supply/east} according to the given \meta{comma separated list of named positions}, i.e. - the described area contains all these positions. - Note that you need at least two points inside the list. + the described area contains all these positions.\\ + \refKey{/mermap/supply/area} resets the current area which requires + at least two points inside the list.\\ + \refKey{/mermap/supply/add area} does not reset the current area, + i.e. the positions are added to the + current area which possibly grows to fit all positions.\\ Also note to take special care, if the international dateline is on your resulting map, see \Fullref{sec:dateline}. - Used for map types \docValue{boundaries} and \docValue{areafit}. -\end{docMrcKey} + Used for map types \docValue{boundaries} and \docValue{areafit} + or in combination with \refKey{/mermap/supply/area to reference} also + for for map type \docValue{reference}. +\end{docMrcKeys} -\begin{docMrcKey}[supply]{add area}{=\marg{comma separated list of named positions}}{no default} - Nearly identical to \refKey{/mermap/supply/area}, but - the given \meta{comma separated list of named positions} - does not reset the current area, i.e. the positions are added to the - current area which possibly grows to fit all positions. - Used for map types \docValue{boundaries} and \docValue{areafit}. -\end{docMrcKey} + +\begin{docMrcKeys}[ + doc keypath = supply, + doc parameter = {=\marg{file name}}, + doc description = {no default}, + doc new = 2020-05-08, +]{ + { doc name = area from marker input }, + { doc name = add area from marker input }, +} + Sets + \refKey{/mermap/supply/north}, \refKey{/mermap/supply/south}, + \refKey{/mermap/supply/west}, \refKey{/mermap/supply/east} + according to the given \refCom{mrcmarker} positions contained in a + file with the given \meta{file name}.\\ + \refKey{/mermap/supply/area from marker input} resets the current area which requires + at least two marker positions inside the file.\\ + \refKey{/mermap/supply/add area from marker input} does not reset the current area, + i.e. the positions are added to the + current area which possibly grows to fit all positions.\\ + Also note to take special care, if the international dateline is on your + resulting map, see \Fullref{sec:dateline}. + Used for map types \docValue{boundaries} and \docValue{areafit} + or in combination with \refKey{/mermap/supply/area to reference} also + for for map type \docValue{reference}. +\end{docMrcKeys} + \begin{docMrcKey}[supply]{area to reference}{}{no value, initially unset} @@ -282,6 +318,7 @@ accompanying Python script. The technical background is documented in \end{docMrcKey} +\clearpage \begin{docMrcKey}[supply]{latitude}{=\meta{setup latitude}}{no default, initially |49|} Latitude degree of a reference point, possibly negative for the southern hemisphere. @@ -307,7 +344,7 @@ accompanying Python script. The technical background is documented in \end{docMrcKey} -\pagebreak + \begin{docMrcKey}[supply]{width}{=\meta{setup width in tiles}}{no default, initially |4|} Width of the map as multiplicity of map tiles. Used for map types \docValue{reference} and \docValue{areafit}. @@ -363,6 +400,18 @@ accompanying Python script. The technical background is documented in \end{itemize} \end{docMrcKey} +\enlargethispage*{1cm} + +\begin{docMrcKey}[][doc new=2020-08-06]{fail on missing resource}{\colOpt{=true\textbar false}}{default |true|, initially |true|} + If set to |true|, compilation stops with an error, if + \refKey{/mermap/supply/target} and \refKey{/mermap/mapdef/resource} are different. + Typically, this means that something went wrong while trying to download + map tiles. Set this option temporarily to |false|, + if the map tile service or the internet + connection is expected to be unavailable only temporarily. +\end{docMrcKey} + + \clearpage \begin{docMrcKey}[supply]{url}{=\meta{setup URL}}{no default, initially empty} @@ -671,15 +720,6 @@ want to add more to avoid any legal uncertainties. \mapexample{opentopomap}{opentopomap} \clearpage - \item\docValue{openrouteservice mapsurfer}:\\ - Tile server of \href{https://openrouteservice.org/}{OpenRouteService}.\\ - A registered \meta{api-key} is needed (free plan available) - which is applied by\\ - \refCom{mrcsetapikey}\brackets{\docValue{openrouteservice}}\marg{api-key}.\\ - Usage: \url{https://openrouteservice.org/terms-of-service/}\\ - API documentation: \url{https://openrouteservice.org/dev/#/api-docs} - \mapexample{openrouteservice mapsurfer}{openrouteservice_mapsurfer} - \item\docValue{stamen terrain}:\\ Tile server of \href{http://stamen.com}{Stamen Design}.\\ Usage: \url{http://maps.stamen.com/#terrain} @@ -690,12 +730,12 @@ want to add more to avoid any legal uncertainties. Usage: \url{http://maps.stamen.com/#terrain-background} \mapexample{stamen terrain-background}{stamen_terrain-background} -\clearpage \item\docValue{stamen terrain-labels}:\\ Tile server of \href{http://stamen.com}{Stamen Design}.\\ Usage: \url{http://maps.stamen.com/#terrain-labels} \mapexample{stamen terrain-labels}{stamen_terrain-labels} +\clearpage \item\docValue{stamen terrain-lines}:\\ Tile server of \href{http://stamen.com}{Stamen Design}.\\ Usage: \url{http://maps.stamen.com/#terrain-lines} @@ -706,12 +746,12 @@ want to add more to avoid any legal uncertainties. Usage: \url{http://maps.stamen.com/#toner} \mapexample{stamen toner}{stamen_toner} -\clearpage \item\docValue{stamen toner-lite}:\\ Tile server of \href{http://stamen.com}{Stamen Design}.\\ Usage: \url{http://maps.stamen.com/#toner-lite} \mapexample{stamen toner-lite}{stamen_toner-lite} +\clearpage \item\docValue{stamen toner-hybrid}:\\ Tile server of \href{http://stamen.com}{Stamen Design}.\\ Usage: \url{http://maps.stamen.com/#toner-hybrid} @@ -722,12 +762,12 @@ want to add more to avoid any legal uncertainties. Usage: \url{http://maps.stamen.com/#toner-background} \mapexample{stamen toner-background}{stamen_toner-background} -\clearpage \item\docValue{stamen toner-labels}:\\ Tile server of \href{http://stamen.com}{Stamen Design}.\\ Usage: \url{http://maps.stamen.com/#toner-labels} \mapexample{stamen toner-labels}{stamen_toner-labels} +\clearpage \item\docValue{stamen toner-lines}:\\ Tile server of \href{http://stamen.com}{Stamen Design}.\\ Usage: \url{http://maps.stamen.com/#toner-lines} @@ -738,7 +778,6 @@ want to add more to avoid any legal uncertainties. Usage: \url{http://maps.stamen.com/#watercolor} \mapexample{stamen watercolor}{stamen_watercolor} -\clearpage \item\docValue{thunderforest opencyclemap}:\\ Tile server of \href{https://www.thunderforest.com}{Thunderforest}.\\ A registered \meta{api-key} is needed (free plan available) @@ -750,6 +789,7 @@ want to add more to avoid any legal uncertainties. \end{itemize} \mapexample{thunderforest opencyclemap}{thunderforest_opencyclemap} +\clearpage \item\docValue{thunderforest transport}:\\ Tile server of \href{https://www.thunderforest.com}{Thunderforest}.\\ A registered \meta{api-key} is needed (free plan available) @@ -772,7 +812,6 @@ want to add more to avoid any legal uncertainties. \end{itemize} \mapexample{thunderforest landscape}{thunderforest_landscape} -\clearpage \item\docValue{thunderforest outdoors}:\\ Tile server of \href{https://www.thunderforest.com}{Thunderforest}.\\ A registered \meta{api-key} is needed (free plan available) @@ -784,6 +823,7 @@ want to add more to avoid any legal uncertainties. \end{itemize} \mapexample{thunderforest outdoors}{thunderforest_outdoors} +\clearpage \item\docValue{thunderforest transport-dark}:\\ Tile server of \href{https://www.thunderforest.com}{Thunderforest}.\\ A registered \meta{api-key} is needed (free plan available) @@ -806,7 +846,6 @@ want to add more to avoid any legal uncertainties. \end{itemize} \mapexample{thunderforest spinal-map}{thunderforest_spinal-map} -\clearpage \item\docValue{thunderforest pioneer}:\\ Tile server of \href{https://www.thunderforest.com}{Thunderforest}.\\ A registered \meta{api-key} is needed (free plan available) @@ -818,6 +857,7 @@ want to add more to avoid any legal uncertainties. \end{itemize} \mapexample{thunderforest pioneer}{thunderforest_pioneer} +\clearpage \item\docValue{thunderforest mobile-atlas}:\\ Tile server of \href{https://www.thunderforest.com}{Thunderforest}.\\ A registered \meta{api-key} is needed (free plan available) diff --git a/Master/texmf-dist/doc/latex/mercatormap/mercatormap.doc.marker.tex b/Master/texmf-dist/doc/latex/mercatormap/mercatormap.doc.marker.tex index 02a3f981fef..dcd0e072b86 100644 --- a/Master/texmf-dist/doc/latex/mercatormap/mercatormap.doc.marker.tex +++ b/Master/texmf-dist/doc/latex/mercatormap/mercatormap.doc.marker.tex @@ -553,6 +553,11 @@ The different marker types can be customized by some additional options: It is accessible as \docAuxCommand{mrcmarkershift} (use read-only). \end{docMrcKey} +\begin{docMrcKey}[marker][doc new=2020-08-06]{distance}{=\meta{length}}{no default, initially |5mm|} + Length of the marker needle (\docValue{pin}, \docValue{pinflip}). + It is accessible as \docAuxCommand{mrcmarkerdistance} (use read-only). +\end{docMrcKey} + \clearpage \begin{docMrcKey}[marker]{radius}{=\meta{length}}{no default, initially |3mm|} diff --git a/Master/texmf-dist/doc/latex/mercatormap/mercatormap.doc.sty b/Master/texmf-dist/doc/latex/mercatormap/mercatormap.doc.sty index 7ef0480a7ff..80b38241ce2 100644 --- a/Master/texmf-dist/doc/latex/mercatormap/mercatormap.doc.sty +++ b/Master/texmf-dist/doc/latex/mercatormap/mercatormap.doc.sty @@ -107,3 +107,15 @@ \renewcommand*{\tcbdocnew}[1]{\textcolor{green!50!black}{\sffamily\bfseries N} #1} \renewcommand*{\tcbdocupdated}[1]{\textcolor{blue!75!black}{\sffamily\bfseries U} #1} +\NewTotalTCBox{\issuetracker}{m}{enhanced,nobeforeafter,tcbox raise base,boxrule=0.4pt,top=0mm,bottom=0mm, + right=0mm,left=0mm,arc=1pt,boxsep=2pt,%before upper={\vphantom{dlg}}, + fontupper=\bfseries, + colframe=green!50!gray, + coltext=green!20!black, + colback=green!75!gray!20, + hyperurl=https://github.com/T-F-S/genealogytree/issues/#1 + }{\##1} + +\robustify{\issuetracker} + + diff --git a/Master/texmf-dist/doc/latex/mercatormap/mercatormap.doc.versionhistory.tex b/Master/texmf-dist/doc/latex/mercatormap/mercatormap.doc.versionhistory.tex index 121b9f3e556..bcdf2fd322e 100644 --- a/Master/texmf-dist/doc/latex/mercatormap/mercatormap.doc.versionhistory.tex +++ b/Master/texmf-dist/doc/latex/mercatormap/mercatormap.doc.versionhistory.tex @@ -29,3 +29,22 @@ \refKey{/mermap/marker/use links}, \refKey{/mermap/marker/ignore links}. \end{itemize} + + +\section*{v1.02 (2020/08/06)} +\begin{itemize} +\item New options + \refKey{/mermap/supply/area from marker input} and + \refKey{/mermap/supply/add area from marker input} + which allow to fit a map to a given external list of marker positions. +\item New option \refKey{/mermap/fail on missing resource} to control + compilation behavior for missing resource files. +\item Openrouteservice has discontinued mapsurfer tiles since June 2020.\\ + Therefore, \refKey{/mermap/supply/source}=\docValue{openrouteservice mapsurfer} + is deprecated now. It is not documented any more, but + for some time it is still available for old documents with + cached map tiles. +\item\issuetracker{2} + New marker option \refKey{/mermap/marker/distance} with corresponding + macro \docAuxCommand{mrcmarkerdistance}. +\end{itemize} diff --git a/Master/texmf-dist/doc/latex/mercatormap/mercatormap.pdf b/Master/texmf-dist/doc/latex/mercatormap/mercatormap.pdf index 4e6f43986dd..d90d7496174 100644 Binary files a/Master/texmf-dist/doc/latex/mercatormap/mercatormap.pdf and b/Master/texmf-dist/doc/latex/mercatormap/mercatormap.pdf differ diff --git a/Master/texmf-dist/doc/latex/mercatormap/mercatormap.tex b/Master/texmf-dist/doc/latex/mercatormap/mercatormap.tex index 8e993db58b0..882587a3d2a 100644 --- a/Master/texmf-dist/doc/latex/mercatormap/mercatormap.tex +++ b/Master/texmf-dist/doc/latex/mercatormap/mercatormap.tex @@ -2,7 +2,7 @@ % !TeX encoding=UTF-8 % !TeX spellcheck=en_US %% -%% The LaTeX package mercatormap - version 1.01 (2020/05/05) +%% The LaTeX package mercatormap - version 1.02 (2020/08/06) %% mercatormap.tex: Manual %% %% ------------------------------------------------------------------------------------------- @@ -30,11 +30,10 @@ \usepackage{mercatormap.doc} % The following personal API-keys are needed for compilation -% \mrcsetapikey{openrouteservice}{YOUR-API-KEY} % registered key % \mrcsetapikey{thunderforest}{YOUR-API-KEY} % registered key -\def\version{1.01}% -\def\datum{2020/05/05}% +\def\version{1.02}% +\def\datum{2020/08/06}% \mrcactivatescript% activates Python script diff --git a/Master/texmf-dist/tex/latex/mercatormap/mercatormap.sty b/Master/texmf-dist/tex/latex/mercatormap/mercatormap.sty index 488548c96fa..d2c8d61ae4c 100644 --- a/Master/texmf-dist/tex/latex/mercatormap/mercatormap.sty +++ b/Master/texmf-dist/tex/latex/mercatormap/mercatormap.sty @@ -1,4 +1,4 @@ -%% The LaTeX package mercatormap - version 1.01 (2020/05/05) +%% The LaTeX package mercatormap - version 1.02 (2020/08/06) %% mercatormap.sty: geographic coordinates (Mercator projection) and map tiles for TikZ pictures %% %% ------------------------------------------------------------------------------------------- @@ -19,7 +19,7 @@ %% \RequirePackage{expl3}[2020/02/25] \RequirePackage{xparse} -\ProvidesExplPackage{mercatormap}{2020/05/05}{1.01} +\ProvidesExplPackage{mercatormap}{2020/08/06}{1.02} {A Web Mercator projection package with map tile support} \@ifpackagelater { expl3 } { 2020/02/25 } { } @@ -546,6 +546,7 @@ \bool_new:N \l__mermap_script_activated_bool +\bool_new:N \l__mermap_fail_on_missing_resource_bool \fp_new:N \l__mermap_supply_east_fp \fp_new:N \l__mermap_supply_height_fp @@ -634,6 +635,45 @@ } +\msg_new:nnn { mercatormap }{ input-area-marker } + { The~marker~input~file~'#1'~does~not~exist. } + +\cs_new:Npn \__mermap_supply_add_area_marker_position: + { + \fp_compare:nNnT \l__mermap_marker_latitude_fp < \l__mermap_supply_south_fp + { \fp_set_eq:NN \l__mermap_supply_south_fp \l__mermap_marker_latitude_fp } + \fp_compare:nNnT \l__mermap_marker_latitude_fp > \l__mermap_supply_north_fp + { \fp_set_eq:NN \l__mermap_supply_north_fp \l__mermap_marker_latitude_fp } + \fp_compare:nNnT \l__mermap_marker_longitude_fp < \l__mermap_supply_west_fp + { \fp_set_eq:NN \l__mermap_supply_west_fp \l__mermap_marker_longitude_fp } + \fp_compare:nNnT \l__mermap_marker_longitude_fp > \l__mermap_supply_east_fp + { \fp_set_eq:NN \l__mermap_supply_east_fp \l__mermap_marker_longitude_fp } + } + +\cs_new:Npn \__mermap_supply_add_area_marker:n #1 + { + \group_begin: + \RenewDocumentCommand \mrcmarker { m } + { + \keys_set:nn { mermap/marker } { ##1 } + \__mermap_supply_add_area_marker_position: + } + \file_if_exist_input:nF {#1} + { + \msg_error:nnn { mercatormap }{ input-area-marker }{ #1 } + } + \tl_gset:Nx \g_tmpa_tl + { + \exp_not:N\fp_set:Nn \exp_not:N\l__mermap_supply_west_fp { \fp_to_decimal:N\l__mermap_supply_west_fp } + \exp_not:N\fp_set:Nn \exp_not:N\l__mermap_supply_east_fp { \fp_to_decimal:N\l__mermap_supply_east_fp } + \exp_not:N\fp_set:Nn \exp_not:N\l__mermap_supply_south_fp { \fp_to_decimal:N\l__mermap_supply_south_fp } + \exp_not:N\fp_set:Nn \exp_not:N\l__mermap_supply_north_fp { \fp_to_decimal:N\l__mermap_supply_north_fp } + } + \group_insert_after:N \g_tmpa_tl + \group_end: + } + + \keys_define:nn { mermap/supply } { zoom .int_set:N = \l__mermap_supply_zoom_int, @@ -688,6 +728,19 @@ \clist_set:Nn \l_tmpa_clist { #1 } \__mermap_supply_add_area_clist:N \l_tmpa_clist }, + area~from~marker~input .code:n = + { + \fp_set:Nn \l__mermap_supply_west_fp { inf } + \fp_set:Nn \l__mermap_supply_east_fp { -inf } + \fp_set:Nn \l__mermap_supply_south_fp { 89 } + \fp_set:Nn \l__mermap_supply_north_fp { -89 } + \__mermap_supply_add_area_marker:n { #1 } + }, + area~from~marker~input .value_required:n = true, + add~area~from~marker~input .code:n = + { + \__mermap_supply_add_area_marker:n { #1 } + }, flex~reference~scale .code:n = { \__mermap_set_flex_scale:nn {#1} {\l__mermap_supply_latitude_fp} }, @@ -746,7 +799,8 @@ \keys_define:nn { mermap } { - definition~prefix .code:n = {\str_set:Nn\l__mermap_definition_prefix_str{#1}}, + definition~prefix .code:n = {\str_set:Nn\l__mermap_definition_prefix_str{#1}}, + fail~on~missing~resource .bool_set:N = \l__mermap_fail_on_missing_resource_bool, python .code:n = { \tl_set:Nx \l__mermap_python_tl {#1~maptiles.texpy} }, @@ -755,6 +809,7 @@ \keys_set:nn { mermap } { definition~prefix = maps/, + fail~on~missing~resource = true, python = python, } @@ -912,7 +967,13 @@ } { \__mermap_write_mdfive:n {false} - \msg_error:nnx { mercatormap }{ target-resource }{ \l__mermap_definition_id_str } + \bool_if:NTF \l__mermap_fail_on_missing_resource_bool + { + \msg_error:nnx { mercatormap }{ target-resource }{ \l__mermap_definition_id_str } + } + { + \msg_warning:nnx { mercatormap }{ target-resource }{ \l__mermap_definition_id_str } + } } } { @@ -1727,6 +1788,7 @@ \bool_new:N \l__mermap_marker_use_urls \fp_new:N \l__mermap_marker_angle_fp +\fp_new:N \l__mermap_marker_distance_fp \fp_new:N \l__mermap_marker_inner_radius_fp \fp_new:N \l__mermap_marker_latitude_fp \fp_new:N \l__mermap_marker_longitude_fp @@ -1782,6 +1844,7 @@ type .tl_set:N = \l__mermap_marker_type_tl, angle .fp_set:N = \l__mermap_marker_angle_fp, shift .fp_set:N = \l__mermap_marker_shift_fp, + distance .fp_set:N = \l__mermap_marker_distance_fp, draw .code:n = \colorlet{mrcmarkerdraw}{#1}, fill .code:n = \colorlet{mrcmarkerfill}{#1}, text .code:n = \colorlet{mrcmarkertext}{#1}, @@ -1821,6 +1884,7 @@ pictocontents =, angle = 90, shift = 0pt, + distance = 5mm, fill = gray!20, draw = gray, text = black, @@ -1851,6 +1915,7 @@ \NewDocumentCommand\mrcmarkerfont{}{\tl_use:N \l__mermap_marker_font_tl} \NewExpandableDocumentCommand\mrcmarkerangle{}{\fp_to_decimal:N \l__mermap_marker_angle_fp} \NewExpandableDocumentCommand\mrcmarkershift{}{\fp_to_dim:N \l__mermap_marker_shift_fp} +\NewExpandableDocumentCommand\mrcmarkerdistance{}{\fp_to_dim:N \l__mermap_marker_distance_fp} \NewExpandableDocumentCommand\mrcmarkerradius{}{\fp_to_dim:N \l__mermap_marker_radius_fp} \NewExpandableDocumentCommand\mrcmarkerinnerradius{}{\fp_to_dim:N \l__mermap_marker_inner_radius_fp} @@ -1967,32 +2032,34 @@ \__mermap_new_marker_type:nn {pin} { + \tl_set:Nx \l_tmpa_tl {\fp_to_dim:N \l__mermap_marker_distance_fp} \path[fill=mrcmarkerfill,draw=none,fill~opacity=0.7] - (0,0) -- (0.1,0.5) -- (-0.1,0.5) -- cycle; + (0,0) -- (0.1,\l_tmpa_tl) -- (-0.1,\l_tmpa_tl) -- cycle; \node[fill=white,draw=none,text=mrcmarkertext, above,font=\mrcmarkerfont,inner~sep=0.5mm,align=center, line~width=0mm,xshift=\mrcmarkershift, fill~opacity=0.7,text~opacity=1,xshift=0mm,mrcnodestyle,mrchyperpath] - (pin_node) at (0,0.5) {\mrcmarkercontents}; + (pin_node) at (0,\l_tmpa_tl) {\mrcmarkercontents}; \path[draw=mrcmarkerdraw,fill=none,line~join=round,mrcpathstyle] - (0,0) -- (0.1,0.5) -- (pin_node.south~east) -- (pin_node.north~east) + (0,0) -- (0.1,\l_tmpa_tl) -- (pin_node.south~east) -- (pin_node.north~east) -- (pin_node.north~west) -- (pin_node.south~west) - -- (-0.1,0.5) [line~join=bevel] -- cycle; + -- (-0.1,\l_tmpa_tl) [line~join=bevel] -- cycle; } \__mermap_new_marker_type:nn {pinflip} { + \tl_set:Nx \l_tmpa_tl {\fp_to_dim:N \l__mermap_marker_distance_fp} \path[fill=mrcmarkerfill,draw=none,fill~opacity=0.7] - (0,0) -- (-0.1,-0.5) -- (0.1,-0.5) -- cycle; + (0,0) -- (-0.1,-\l_tmpa_tl) -- (0.1,-\l_tmpa_tl) -- cycle; \node[fill=white,draw=none,text=mrcmarkertext, below,font=\mrcmarkerfont,inner~sep=0.5mm,align=center, line~width=0mm,xshift=\mrcmarkershift, fill~opacity=0.7,text~opacity=1,xshift=0mm,mrcnodestyle,mrchyperpath] - (pin_node) at (0,-0.5) {\mrcmarkercontents}; + (pin_node) at (0,-\l_tmpa_tl) {\mrcmarkercontents}; \path[draw=mrcmarkerdraw,fill=none,line~join=round,mrcpathstyle] - (0,0) -- (-0.1,-0.5) -- (pin_node.north~west) -- (pin_node.south~west) + (0,0) -- (-0.1,-\l_tmpa_tl) -- (pin_node.north~west) -- (pin_node.south~west) -- (pin_node.south~east) -- (pin_node.north~east) - -- (0.1,-0.5) [line~join=bevel] -- cycle; + -- (0.1,-\l_tmpa_tl) [line~join=bevel] -- cycle; } diff --git a/Master/texmf-dist/tex/latex/mercatormap/mercatorpy.def b/Master/texmf-dist/tex/latex/mercatormap/mercatorpy.def index c148e26116f..670d8fca3bd 100644 --- a/Master/texmf-dist/tex/latex/mercatormap/mercatorpy.def +++ b/Master/texmf-dist/tex/latex/mercatormap/mercatorpy.def @@ -1,6 +1,6 @@ \begin{filecontents*}[overwrite]{maptiles.texpy} """ -The LaTeX package mercatormap - version 1.01 (2020/05/05) +The LaTeX package mercatormap - version 1.02 (2020/08/06) maptiles.texpy: Python script for map tile download ------------------------------------------------------------------------------------------- @@ -28,7 +28,7 @@ from pathlib import Path from PIL import Image -packageversion = '1.01 (2020/05/05)' +packageversion = '1.02 (2020/08/06)' def gd(x): diff --git a/Master/texmf-dist/tex/latex/mercatormap/mercatorsupplier.def b/Master/texmf-dist/tex/latex/mercatormap/mercatorsupplier.def index dd3544d7ee7..1bf7866b7aa 100644 --- a/Master/texmf-dist/tex/latex/mercatormap/mercatorsupplier.def +++ b/Master/texmf-dist/tex/latex/mercatormap/mercatorsupplier.def @@ -1,4 +1,4 @@ -%% The LaTeX package mercatormap - version 1.01 (2020/05/05) +%% The LaTeX package mercatormap - version 1.02 (2020/08/06) %% mercatorsupplier.def: predefined map supplier list %% %% ------------------------------------------------------------------------------------------- @@ -109,6 +109,8 @@ \__mermap_new_supply_source_topplusopen:n { p100 } \__mermap_new_supply_source_topplusopen:n { p250 } +%% openrouteservice mapsurfer is DISCONTINUED after June 2020 +%% Therefore, the following source is DEPRECATED and will be removed in future \__mermap_new_supply_source:nn { openrouteservice~mapsurfer } { url~with~api~key = {https://api.openrouteservice.org/mapsurfer/{z}/{x}/{y}.png?api_key=}{openrouteservice}{}, -- cgit v1.2.3