You can do that like here:
- Add xmin/xmax/ymin/ymax to each feature of your atlas layer. Your can do it with the function:
xmax($geometry)
- Control your atlas by extentension, defining a functions inside thouse xmin/xmax/ymin/ymax in composer (here, as you can figure it out, that -0.002 creates an small margin around the feature):
attribute (get_feature( 'Atlas', 'id', @atlas_featurenumber +1) , 'xmin') -0.002
If you use this system don't mark "controlled by atlas".
Be creative and you will get a perfect atlas.
Edit:
HOW TO EDIT EXTENSION BY ATRIBUTE IN COMPOSER
Select the square of map --> properties --> extension --> xmin/xmax/ymin/ymax: edit... (sorry, my QGIS is in spanish, but can get the position):
If you write the function properly you will get the xmin/xmax/ymin/ymax value of the desired feature of your atlas:
Same for each xy of square 2: Here "+1" means "go to the following feature from your atlas layer". Do the same for each xmin/xmax/ymin/ymax and adapt the function.
Update to avoid repeated features:
Here is the code for the upper map xmin:
case
when @atlas_featurenumber = 1 then attribute (get_feature( 'Atlas', 'id', 1),'xmin')
when @atlas_featurenumber = 2 then attribute (get_feature( 'Atlas', 'id', 3),'xmin')
when @atlas_featurenumber = 3 then attribute (get_feature( 'Atlas', 'id', 5),'xmin')
when @atlas_featurenumber = 4 then attribute (get_feature( 'Atlas', 'id', 7),'xmin')
when @atlas_featurenumber = 5 then attribute (get_feature( 'Atlas', 'id', 9),'xmin')
when @atlas_featurenumber = 6 then attribute (get_feature( 'Atlas', 'id', 11),'xmin')
when @atlas_featurenumber = 7 then attribute (get_feature( 'Atlas', 'id', 13),'xmin')
when @atlas_featurenumber = 8 then attribute (get_feature( 'Atlas', 'id', 15),'xmin')
when @atlas_featurenumber = 9 then attribute (get_feature( 'Atlas', 'id', 17),'xmin')
when @atlas_featurenumber = 10 then attribute (get_feature( 'Atlas', 'id', 19),'xmin')
end
This code allows you to go from feature 1 to 3 to 5... in the upper square. Do the same for xmax/ymin/ymax. Then copy the code, go to lower map and paste it replacing those 1,3,5... by 2,4,6... As you may have noticed this code allows you to create a consequent map with 10 pages as much. If it has more page, you just need to add lines with the same logic.
And if you have odd number of segments you can make invisible the lower map by, also, adding a function to make it transparent like (when Atlas feature is null then make it 100% transparent):