I believe that with 'rec' you may be confusing the time and frequency domains. The code below uses rec for the time domain quantity and rec_f for the freq domain quantity.
First of all, both the time and frequency axes depend only on Ts, so if the scaling seems wrong you will have to go back to the original paper and verify Ts. The frequency scale c is correct, although typographically I think something like in the code below is clearer.
For the magnitude in the frequency domain you may want to use
which is common. That will require multiplying the ifft by n in order to make up for the 1/n.
It simply does not work to do an ifft on either magnitude or phase separately in order to reconstruct something in the time domain. It only works to do the ifft on the complex quantity, rec_f in this case.
x = sin(100*(t/Ts).^2/n^2);
c = -fs/2 : fs/n : fs/2-fs/n;
plot(c,fftshift(abs(X))); grid on
plot(c,fftshift(angle(X))); grid on
plot(c,fftshift(real(X))); grid on
plot(c,fftshift(imag(X))); grid on
plot(t,x,t,rec,'o'); grid on