Unnecessary gaps and small fonts in huge graph

I want to print my lecture note (graph) on paper (or on multiple sheets). But texts are so small, and there are so many gaps in the graph, one of the reasons is that the arrows are so long.

although I found a way to enlarge the text and its border but unfortunately, I couldn’t find a way to shorten the arrow.

I also tried other engines, but it didn’t work with them either

I’ve tried a lot, please help

here is my script & input & graph:

It looks like rankdir is set to LR. Just like in a spreadsheet, the width of every rank (column) is based on the width of the widest node - effectively the width of the text in the nodes. This results in long edges for narrower nodes. The second effect is to reduce the point size (font size) to try to fit the graph into a smaller space.
If you could insert newlines (\n) into the text or change rankdir to TB the resulting graph should be smaller.