2D Gaussian Seperation into 1D Gaussian components
Normalization is not "required". It only serves to have scale-consistent results, which a not so useful for visualization, but mostly for measurements: if the Gaussian kernel is "sum normalized", the result of the filtering of a constant image is the same constant image. Constant images are "invariant" for smoothing. 
You need (or not) to do that for exactly the same reason as above. As it is separable, you can, if you want, normalize first on the 1D sum on the rows, second on the sum onn the columns.
They do not scale the 1D component: the 1D kernel g1d7 $[   0.006  ,  0.061    ,0.242 ,   0.383  ,  0.242  ,  0.061  ,  0.006]$ has almost $1$ average. They do a tensor product of $x$ ($x'. x$) to build a $7\times 7$ kernel, and only keep the center kernel with $273$ normalization.


So,  here is, in pseudo-code with Matlab syntax, a sequence of operations that leads to the $5\times 5$ array g2d5ci from Figure 3. 

% 1D 7-tap Gaussian kernel
g1d7 = [0.006,0.061,.242,.383,.242,.061,0.006]';

% 2D 7-tap Gaussian kernel, normalized to 1
g2d7 = g1d7*g1d7';g2d7 =g2d7/sum(g2d7(:));

% 2D 5-tap Gaussian kernel cropped from the central 5x5 part of g2d7, normalized to 1
g2d5c = g2d7(2:6,2:6);g2d5c =g2d5c/sum(g2d5c(:));

% 2D 5-tap Gaussian kernel with integer values
g2d5ci = round(273*g2d5c);


The 1D kernel is not obtained by sampling the Gaussian, but by integrating it over  sub-intervals. For instance, instead of computing $g(x) = \frac{1}{\sqrt{2\pi}\sigma}\exp\left({-\frac{x^2}{2\sigma^2}}\right)$ at $t=3$, you integrate it over the interval $[-3.5,-2.5]$. 

The result is in the following figure (pretty close, isn't?):

The Matlab code goes like this:

increment = 0.001;sigma = 1;
time = [-3.5+increment/2:increment:3.5-increment/2]';
data = exp(-0.5*(time/sigma).^2)/(sigma*sqrt(2*pi));
plot(time,data)
data7 = reshape(data,length(data)/7,7);
data7p = sum(data7)';
data7p = data7p/sum(data7p);

figure(1);clf;hold on
plot(time,data)
plot([-3:1:3]',g1d7,'ob')
plot([-3:1:3]',data7p,'xr')
legend('Gaussian kernel','Given values','Recomputed values')
axis tight