I recently handed in my Bachelor Thesis. A year before that I saw some guys handing in beautiful papers that, as they later told me, were typeset in LaTeX. Well, I thought, can’t be that hard, and I decided that for my Bachelor Thesis I will be using LaTeX too.

Spoiler alert: It was a rather horrendous experience. Not because LaTeX was that hard to learn or because it takes a thousand steps to complete but because I came unprepared and late. There certainly were some obstacles that had to be broken trough. Learning LaTeX and all the tools you need for it is hard , hard in a sense that you really have to dig into the subject matter if you want to get something out of it. Doing so under pressure was even harder (and downright stupid). So, this post is meant for those of you that have tinkered with the idea of using LaTeX for their next paper or thesis or whatever: There are some things you should look out for before you take that step.

I will not present a complete workflow for using LaTeX in this post (but I certainly will in the future). This post is thought of as sort of a preliminary advice before you decide whether or not you are going to use LaTeX.

Don’t be discouraged by my experience! I wrote it down so that you don’t have to have the same experience. By the way: I love LaTeX and I use the shit out of it now that I’ve gotten the hang of it. If there is one take-home-message to be found here it is that you should not head into this LaTeX adventure blue-eyed as I did but you really, really should start using LaTeX it is awesome. 1

Learn about LaTeX and BibTex beforehand

This should seem obvious but at least for me, it wasn’t. I had this vague idea what those things were and started writing. I wrote my thesis in Scrivener and after finishing it, I tried to export my Project using MultiMarkdown-Export in Scrivener. That did not end well; the formatting was wrong, I had special characters in my document that were not recognized by LaTeX, the whole thesis was split in a dozen documents and so on… All of this happened because I did not know enough about how LaTeX and BibTeX work and how they intertwine.

BibTex

I knew a little about BibTeX, so for every paper that I cited or referenced to I exported the reference from GoogleScholar in BibTex to a plain text file. Easy enough, I thought.

Cite Export In GoogleScholar

If you click on cite on one of your search results and then click on BibTeX in the pop up window, this is what will result of it: A reference in correct BibTeX syntax with all the information GoogleScholar has.

Lets not talk about reference management software here (I have never found one that I actually like, suggestions are very welcome.) but what I didn’t know at the time was that you can and should, really, link to your references in your .tex file. Every citation I wrote was done manually in the style (Author Year, page number). That wasn’t the most intelligent, nor the most tech savvy way to approach this problem. LaTeX actually has, of course, a cite command: \cite{page number}{citation label or key} Page number is optional and the citation label or key gets chosen by you in your BibTex file. For the example from Google Scholar I gave above the default citation key was “battin1995ethical” so instead of writing: (Battin 1995: 224) I really should have written \cite {p.~224}{battin1995ethical}. I know, the LaTeX command is actually longer than just writing down the reference manually but it comes with the huge advantage that you can change your reference style from MLA to Chicago in a matter of seconds and your whole document will be formatted accordingly. That is one thing, that, had I know a little more about BibTeX beforehand would have come way easier to me than it actually did. You might not write down the whole LaTeX command for citing when you are writing on your paper but you should make your citation labels accessible.

__Why use “battin1995ethical” when you use only one article by her and could just use “battin”? The other thing I underestimated was how much time it took to revise the BibTeX citation Google Scholar spits at you, I had to correct almost every entry in my reference file. But to be able to do that you need to know about the difference between the types in BibTeX and what they should entail: Google usually left something out. So for @incollection you need different fields than for @book or @article. You can look those up and you really should.

If you still want to cite manually or you, like me, came late to the party, you need to use the \nocite{*} command in front of your \bibliography command otherwise your bibliography is gonna show up empty.

Let me conclude then what you should know about BibTeX before you start writing your next big project:

  • There is a citation key every reference has. Set those keys wisely and in the simplest way possible.
  • Don’t trust Google Scholar (blindly).
  • Learn about the different types (@book, @article, @incollection…) of references beforehand.
  • Learn about the cite command. If you read the Wikibook site I linked to, you should be fine. There is everything you need to know about BibTeX while writing your paper. Later you may need more knowledge but let us cross that bridge when we get to it.

LaTeX

There is not as much you need to know about LaTeX as you need to know about BibTeX. But there still are some things that are good to know about.

First of all, LaTeX does not use the same quotation marks as you normally would use for writing. Instead of writing "Bla Bla" you need to write Bla Bla'', so you note four separate signs instead of two doubled ones. I used the standard double quotation marks in all of my quotations which meant that I manually had to go and change all double marks. This was a lot of unnecessary manual labour. I thought that Scrivener would export the right ones automatically, which it didn’t.

My advice here is simple: Either you use the right characters '' up front or you make sure that your tool will export "" correctly.

If you use standard markdown and Pandoc, you will be fine by using double quotation marks, just make sure your workflow supports this option, otherwise you will be doing a huge amount of manual labour (which isn’t even fun to do).

If you don’t want to quote this way you could just use the dirtytalk package in LaTeX. If you use the package you can just quote by using \say{Bla Bla} which comes in real handy if you have to use nested quotes a lot. There you can just put in: \say{Bla Bla Bla Bla Bla \say{Bla Bla} Bla Bla} and LaTeX will automatically create a nested quote :

BlaBla

But I would advise against using LaTeX commands while writing your file. If written in basic markdown you can use curly brackets{} for your quotes, so you’ll only have to add \say later on. I will leave the figuring out of those nuances to you.

Another thing that surprised me was the problems I encountered with the different characters for different languages. I wrote my thesis in english which is the default LaTeX language, I had one quote in french which used a lot of characters like é or è, the name of my university and my name both contain umlauts and I used some greek letters. Accommodating all those characters is possible in LaTeX, it isn’t even that difficult. The problems will come with the character encoding you use for your .tex document. é is U+00E9 in utf-8 but it is  é in ASCII, see where I am getting at?! You can use special characters, no problem, but if you convert them beforehand you need to know into which encoding system they will be converted to. Simplest way to avoid a fiasco here is to use standard LaTeX encoding: \'{e} will give you é. Take-home message is, again, as one paragraph up: __Know the tools you are going to be using and know enough about LaTeX so that you can see how your tools and LaTeX will work together.

As this is a post that is meant to help you, here is what you need to know about LaTeX for avoiding character trouble:

  • Default encoding system in LaTeX is OT1. You should use utf-8 if your text is written in any kind of latin language.
  • With utf-8 you can compose accented characters: \^{a} will give you â, \`{e} will give you è, \"{u} will give you ü. 2
  • The easiest way to use greek letters is by using the textgreek package. Use \usepackage{textgreek} in your preambles and you will be able to write \textphi for φ and \textPhi for Φ.
  • Know what language you are going to use in LaTeX.
  • Educate yourself even more at this site.

This brings me to the last point I wanted to make about using LaTeX which is footnotes. At the time I was writing my thesis, I knew little to nothing about basic markdown let alone MultiMarkdown. Basic markdown does not support footnotes which is why, at least if you are going to use footnotes which you will when writing any sort of academic paper, there is this next paragraph called “Learn MultiMarkdown”. In it I will rant endlessly about footnotes and the like but before that, let me just give you a quick overview of footnotes in LaTeX: \footnote{footnote text}. Well that was it, easy. Footnotes is one of those things that are done extremely well by LaTeX. Which leads now, finally, to the following paragraph.

Learn MultiMarkdown

First, go and write Fletcher Penney an e-mail and tell him that he is awesome (he really is). What Penney did was taking the very basic syntax that is Markdown and extend it with academic use cases in mind. Basic Markdown, the one developed by John Gruber in 2004, is great, but it has its limitations: You can’t use footnotes, tables are off the table (pun intended), citations were completely out of the picture. MultiMarkdown can do all those things in a breeze. Hell, it even comes with the option of tracking changes in your document (one of those things that Microsoft Word still does extremely well) but to be honest, CriticMarkup (that’s what it is called) is at the moment more of a workaround than a word-like solution.

But what is this MultiMarkdown (MMD) thing? Technically, MMD is still a perl script but all you need to know is that MMD is a form of a syntax (like html has a syntax) for marking up text syntactically. But Penney explains all that way better than I can. Learn MMD and write your text in it. A very good guide explaining all the syntax can be found here. MMD was created with readability in mind, compared to LaTeX, so your writing experience won’t be breached by figuring out endlessly what the correct command should be and what packages you need to use because greek letters. Your mind will be free to just write.

This is also why I am advising you to learn MMD and LaTeX: You don’t want to write your whole document in LaTeX unless you really hate yourself. You want something easy, something that facilitates your work not something that puts more obstacles in your way. Writing is hard enough as is.

MMD has the advantage ob being easy to learn and easy to use and it keeps you in the same file environment: text files. Of course word could do all the things MMD can but it will be harder later on when you’ll try to export your writings into the .tex format. This is why MMD is so really, really great: It can do all the things you need most for writing academic papers: citations, footnotes, tables and it keeps you in the plain text environment you are using. Many applications (text editors that is) for the mac support MMD syntax or at least basic Markdown syntax.

As I’ve said numerous times, this article is here to prevent you from making the same mistakes as I did and knowing MMD beforehand really would have been of great help to me. I don’t want to get into the details of my workflow here, I will address that in a later post but it comes back to: Know your tools and how they can help you make life easier.

If you don’t want to learn MMD you can use Ulysses and its own Markdown spin-off Markdown XL which supports footnotes and some change tracking features. If you export your Ulysses file to Markdown afterwards it will actually convert it to MMD. 3

The idea behind learning MMD is that MMD is easier to write in than LaTeX is, but it still lends you the tools that you need for writing an academic paper. But you will need to convert your writings into LaTeX eventually. This can be done with MultiMarkdown itself. Just open your Terminal and type multimarkdown -t latex yourfile.txt.

If using the terminal is unimaginable, there are some workarounds but they take some setting up, so just go and learn how to navigate directories using a unix shell so that you can look for your file and convert it. You can also use a tool like pandoc but that sits in your terminal too. It also generates a complete .tex file, it doesn’t just change the markups from MMD to LaTeX like MultiMarkdown does.4

So, these are the things I would have loved to know before starting my Bachelor Thesis:

  • There is this great little markup language called MultiMarkdown. It is easy to learn (half a day tops, and that is already an exaggeration) and does most of the things you use for writing an academic paper.
  • MMD can be converted to LaTeX in a matter of seconds using your terminal.

Find a great fucking template

The next thing I wasted serious time on was finding a template suitable for my needs. There are many resources out there that offer templates for free the biggest one is here.

My advice is simple: find something that suits your needs and start looking ahead of time. If you have the perfect template and wrote your paper in MMD or LaTeX directly, compiling a compelling pdf can be done in a day. It took me several weeks because I was unable to find a template that worked for me. I already explained why above: I had a lot of different characters from different languages and most of the templates offered on the internet were not what I actually needed.

A lot of tweaking and twisting had to be done by me to the template I actually used before I was happy. That was not because I am Mr. Fancypants and wanted an extraordinary LaTeX document, to the contrary I wanted a standard one. With that said: Let me revise my advice. Don’t go out looking for fancy templates and shit use the ones LaTeX already provides. If it is not a doctoral thesis you have to hand in, you will be fine with the standard article class. Your document will look great. I mean, that is the whole point LaTeX exists: to create beautiful, well typeset documents with layouts that can be modified endlessly by the user, but don’t need to. They are already made beautiful. The problem with templates I encountered is that they use certain encodings and packages that are either ill suited for your needs or will actually make life harder for you. It is better, in my opinion, to brainstorm what requirements your finished document needs to satisfy and then go and look what packages are suitable means to let you achieve those ends.

There are only two cases when you will actually need a template for your paper: Your university requires you too use a certain template or you have certain typographical needs that are not fulfilled by standard classes in LaTeX. The former case is not a problem, your university will provide you with a template, otherwise they wouldn’t require you to use a certain one and the latter needs just some planning. What are your needs? A special title page? A specially formatted table of contents? Figure out what your needs are and look for templates that can fulfil those. Take home message here is:

  • Don’t use templates.
  • Assess what packages you need for your finished document. Only use those.
  • Don’t use templates. If the standard classes of LaTeX do not fulfil your needs but you don’t want to fiddle with typography in LaTeX: use templates.. If you do so, give yourself some time for finding the right ones.

Give yourself some time for typesetting and finishing your work

Now to my last paragraph, the heading speaks for itself. Give yourself some time for typesetting and finishing your work If you use the tips and workflows I presented in this post, you won’t actually need much time for that, but you never know. There is always something that compiles wrong or a dead link or a footnote that misses something crucial. Plan for this and give yourself some time. Learning LaTeX on a deadline while you should also look over your actual words one last time is not a pleasant experience.

My last point here is simple: Don’t be a moron and go into this LaTeX thing spearheaded. LaTeX is great but it does need some learning. If you read this post and followed up on some of the links I provided you should be on the right path. If, however, you have questions or would like some advice on any of this stuff, feel free to contact me.

  1. I really need to stop using “LaTeX”, it feels like I have written it down a hundred times already. (Well yes, technically, TextExpander did it for me.) 

  2. One thing I had to learn is that using umlauts and the like in this manner will give you a perfectly looking pdf but not a perfect pdf text. If you plan to copy parts of your document the pasted text of ü will be a u and a “ if you formatted it in LaTeX as suggested above. To get an ü in the pasted text you will need to use something like the babel package and choose a encoding that supports the characters you need as single characters not as compiled ones. 

  3. Testing. 

  4. More about pandoc in a follow-up post to this one.