I have different workflows with emacs: for example Python development and LaTeX. When I code some Python I like to have a wider window to have different buffers opened at the same time, plus a repl buffer. However when I write LaTeX I prefer having a smaller window with a single buffer, so that I can see the output in Preview.app
So my question is the following. Let's say I switch from coding python to writing LaTeX, is there any way I can save the current state of the whole thing (window width, buffer positions, buffers, etc.) so that when I'm done with LaTeX I can go back quickly to my previous emacs environment?