Editing LaTeX Dissertation Formatting Tips

From CommunityData
Warning: You are not logged in. Your IP address will be publicly visible if you make any edits. If you log in or create an account, your edits will be attributed to your username, along with other benefits.

The edit can be undone. Please check the comparison below to verify that this is what you want to do, and then publish the changes below to finish undoing the edit.

Latest revision Your text
Line 16: Line 16:
You probably want to break your dissertation up into several different <code>.tex</code> files. Although I prefer to work on paper-length projects of 8,000 to 14,000 words or so in a single file, for a book or dissertation-length project it clearly makes more sense to keep each chapter in a different file. Building a very large <code>.tex</code> project can take too long. Very long files are more cumbersome to edit, even when using a powerful editor like Emacs. You are likely to publish different chapters as stand-alone articles. Indeed, the central 3 chapters of my dissertation were composed as stand-alone research articles, and two of them were under review when I defended.
You probably want to break your dissertation up into several different <code>.tex</code> files. Although I prefer to work on paper-length projects of 8,000 to 14,000 words or so in a single file, for a book or dissertation-length project it clearly makes more sense to keep each chapter in a different file. Building a very large <code>.tex</code> project can take too long. Very long files are more cumbersome to edit, even when using a powerful editor like Emacs. You are likely to publish different chapters as stand-alone articles. Indeed, the central 3 chapters of my dissertation were composed as stand-alone research articles, and two of them were under review when I defended.


To synchronize the publication and dissertation versions of these articles, I created a special <code>git</code> branch in the repositories for each project. The sole purpose of these branches was to make it convenient to merge any changes I made to the articles into the dissertation.<br />
To keep the publication and dissertation versions of these articles in sync, I created a special <code>git</code> branch the repositories for each project. The sole purpose of these branches was to make it convenient to merge any changes I made to the articles into the dissertation.<br />
I added the <code>.tex</code> files from these project-repositories into my dissertation project using a [https://en.wikipedia.org/wiki/Symbolic_link symbolic links].<br />
I added the <code>.tex</code> files from these project-repositories into my dissertation project using a [https://en.wikipedia.org/wiki/Symbolic_link symbolic links].<br />
I used [https://yihui.org/knitr/ <code>knitr</code>] to build my tables and figures in these projects, but I did not find it necessary to include the knitr source code in my dissertation project. So when I edited these chapters, I worked on the <code>knitr</code> files (<code>.Rtex</code>) in the project repositories. To bring these changes into the dissertation, I ran knitr and then, in a manual step, edited the resulting <code>*.tex</code> files to turn them from stand-alone LaTeX projects into <code>memoir</code> chapters, as described below. I then used the <code>\input</code> LaTeX command to insert the contents of <code>.tex</code> files into the main document.  I used the git branches to track these versions of the <code>.tex</code> files.
I used [https://yihui.org/knitr/ <code>knitr</code>] to build my tables and figures in these projects, but I did not find it necessary to include the knitr source code in my dissertation project. So when I edited these chapters, I worked on the <code>knitr</code> files (<code>.Rtex</code>) in the project repositories. To bring these changes into the dissertation, I ran knitr and then, in a manual step, edited the resulting <code>*.tex</code> files to turn them from stand-alone LaTeX projects into <code>memoir</code> chapters, as described below. I then used the <code>\input</code> LaTeX command to insert the contents of <code>.tex</code> files into the main document.


I realize I could have used a more careful organization of my LaTeX projects to avoid the manual step. ''C’est la vie.'' For simplicity, I didn’t include all the project-specific stuff in <code>cdsc_examples_repositories</code> and just copied the final <code>.tex</code> files instead.<br />
I realize I could have used a more careful organization of my LaTeX projects to avoid the manual step. ''C’est la vie.'' For simplicity, I didn’t include all the project-specific repositories here and just copied the final <code>.tex</code> files instead.<br />
If you need some help reproducing this workflow in your project, please reach out to [[User:groceryheist|Nate]].
If you need some help reproducing this workflow in your project, please reach out to [[User:groceryheist|Nate]].


== Using the <code>Memoir</code> Package ==
== Using the <code>Memoir</code> Package ==


I use the [https://ctan.org/pkg/memoir <code>memoir</code>] LaTeX package to format my dissertation as a book. You may have encountered <code>memoir</code> before if you’ve used the latex templates in the <code>cdsc_tex</code> repository that [[User:Mako|Mako]] maintains. Memoir really shines for book length projects such as your dissertation, and like a book, it is aware of when pages are on the right or the left side of the book. It comes with some attractive formatting styles, creates a fancy table of contents and lets you insert section-specific bibliographies.
I use the [https://ctan.org/pkg/memoir <code>memoir</code>] LaTeX package to format my dissertation as a book. You may have encountered <code>memoir</code> before if you’ve used the latex templates in the <code>cdsc_tex</code> repository that [[User:Mako|Mako]] maintains. Memoir really shines for book length projects such as your dissertation, and like a book, it is aware of when pages are on the right or the left side of the book. It comes with some attractive formatting styles, creates a fancy table of contents, and lets you insert section-specific bibliographies.


Following the required front matter, my dissertation opens like an academic book, with a table of contents, a list of tables and a list of figures. Memoir generates these automatically with the spell:
Following the required front matter, my dissertation opens like an academic book, with a table of contents, a list of tables and a list of figures. Memoir generates these automatically with the spell:
Line 42: Line 42:
=== References ===
=== References ===


Normally, a dissertation or other book-length project has a single bibliography at the end. So even though your articles will have their own bibliographies, you’ll want to consolidate them. Fortunately, LaTeX will do this be default. You’ll just need a single <code>\printbibliography</code> command after your last chapter.
Normally, a dissertation or other book-length project has a single bibliography at the end. So even though your articles will have their own bibliographies, you’ll want to consolidate them. Fortunately, <code>memoir</code> will do this be default. You’ll just need a single <code>\printbibliography</code> command after your last chapter.


To help show off all the work I did during my PhD that’s related to my dissertation project, I included some papers as appendices. Since these were stand-alone papers that weren’t really part of the dissertation, I printed separate bibliographies for each using the <code>\refsection</code> command. Putting an appendix in a separate <code>\refsection</code> makes <code>\printbibliography</code> print only the citations that were used within the appendix.
To help show off all the work I did during my PhD that’s related to my dissertation project, I included some papers as appendices. Since these were stand-alone papers that weren’t really part of the dissertation, I printed separate bibliographies for each using the <code>\refsection</code> command. Putting an appendix in a separate <code>\refsection</code> makes <code>\printbibliography</code> print only the citations that were used within the appendix.


I didn’t bother creating a new <code>.bib</code> file for the dissertation. I just added symbolic links to the <code>.bib</code> files for my different articles to the project and used the <code>\addbibresource</code> command. I get a lot of <code>Duplicate entry key</code> warnings from <code>biblatex</code> this way, but it’s doesn’t affect the <code>.pdf</code> output.
I didn’t bother creating a new <code>.bib</code> file for the dissertation. I just added symbolic links to the <code>.bib</code> files for my different articles to the project and used the <code>\addbibresource</code> command. I get a lot of <code>Duplicate entry key</code> warnings from <code>biblatex</code> this way, but it’s doesn’t affect the <code>.pdf</code> output.
Please note that all contributions to CommunityData are considered to be released under the Attribution-Share Alike 3.0 Unported (see CommunityData:Copyrights for details). If you do not want your writing to be edited mercilessly and redistributed at will, then do not submit it here.
You are also promising us that you wrote this yourself, or copied it from a public domain or similar free resource. Do not submit copyrighted work without permission!

To protect the wiki against automated edit spam, we kindly ask you to solve the following CAPTCHA:

Cancel Editing help (opens in new window)