function placefig_Normalized(fig,m,n,k)
% PLACEFIG(fh,m,n,k) - puts figure fh in position k of a (m x n) array of figures on the screen.
% ------------------------------------
% placefig_Normalized(fig,m,n,k)
% ------------------------------------
% m x n picture matrix, set at location k, row-wise-counting
% k (m=2,n=3) x(n) y(m)
% 1 2 3 1 2 3 1 1 1
% 4 5 6 1 2 3 2 2 2
%
% Figure is resized to fit in the viewport at the indicated location k
%
% EXAMPLE: put figure to cover top half of the screen
% figure(31);
% placefig(31, 2,1,1);
%
% EXAMPLE: put figure to cover top/left quarter of the screen
% figure(31);
% placefig(31, 2,2,1);
%
% EXAMPLE: grid of 2x3 figures fill up first 4
% figure(31);figure(32);figure(33);figure(34);
% placefig(31, 2,3, 1);
% placefig(32, 2,3, 2);
% placefig(33, 2,3, 3);
% placefig(34, 2,3, 4);
%
% ------------------------------------
% Set-up settings calls (one argument)
% ------------------------------------
% placefig_Normalized(1)
% placefig_Normalized(0)
% placefig_Normalized(-k)
% ------------------------------------
% placefig_Normalized(-k) : Select monitor number k
% placefig_Normalized(1) : no margins top and bottom%
% placefig_Normalized(0) : reset margins top and bottom
%
% Issue about using pixels with monitor beyond nr 1:
% -------------------------------------------------
% If you specify a monitor other than primary one (-1), it will go to pixel units;
% If you connected|disconnected HDMI without restarting Matlab afterwards
% it will go out of screen.
% Solution 1: placefig(-1) will reset main monitor and overcome this but go to monitor 1
% Solution 2: restart matlab after you change the nr monitors connected
% -------------------------------------------------
%
%
% rev.5.1, Massimo Ciacci, July 11, 2023
% note: better to place the figure immediately after creation, before plotting onto it, it works faster.
%
% note: since matlab is uncapable to refresh monitor status after plugging or unplugging monitors
% we cannot rely on pixel size that much, thereby we changed to normalized units, in the hope
% that the underlying Java scaler is able to keep up to date and avod tiny figures on Laptop displays.
%
% this however won't work with secondary monitors.
%
% =================================================================================================
% #### SUGGESTION: IN WINDOWS, DISPLAY SETTINGS, SET MAIN MONITOR = YOUR EXTERNAL LARGE SCREEN
% =================================================================================================
% If you have your laptop as main monitor accept the consequences (tiny figures on laptop screen)