Wow! I wasn't expecting so many responses in a day. But this is all great advice, thank you, everyone.

One major (and unintended) side effect of my question was the LaTeX vs Rmarkdown debate. Personally, I have tried learning LaTeX a few times but not pursued it due to two reasons:

It is not used in the engineering faculty at my institute, University of Windsor. So, my supervisor and other students are not familiar with it. Everyone uses MS Word. I have no idea how others focus on writing with all the backslashes on the page. This issue alone was enough for me to not keep learning LaTeX.

So, I will go with the Rmarkdown option.

Considering all the advice in your great responses, here's my new plan:

I'll explore bookdown and the recommended variants e.g. thesisdown in detail

I'm going to keep all of the analysis steps in separate script files. Additionally, I'd create plots/tables in a separate script. So, if I re-run any analysis file, I'd also re-run the plots script to get the updated figures. And if only a little tweak is required (e.g. plot theme) I'd simply modify the plots script. This will be the only script that I'll source in the R chunk in my thesis chapter(s)

For my supervisor's review, I'd knit to .docx . One issue would be handling the changes that he makes with version control in Word turned on. But I guess there is no automatic solution to that.

I'm definitely going to check out the rticles package documentation. I know that right now it does not have any templates for journals in my field (my research is in transportation engineering, a branch of civil engineering). So, I might need to create my own.

I've been using git and github in RStudio. Currently, I only know about commit , add , and push , which have been mostly what I needed. But it is definitely worthwhile to dig in more

Please let me know if there's anything you'd add onto the above list.

I have never created an R package. And at this point, I don't feel very comfortable to do that for my analysis. But I do try to follow Hadley's advice on creating a function if the same analysis is repeated more than three times.

I use Mendeley for bibliography, which works well. One thing that I like more in Word is to be able to easily resize figures using mouse. I know that I can provide fig.height and fig.width in global chunk options in Rmarkdown, but sometimes custom changes are required. Are there better options to handle size of tables and figures? Please let me know.

I'd love to see a real thesis repository that used Rmarkdown. Once again, thank you everyone who has responded.