In this fourth and final part of this series on the design of a curriculum vitæ in latex, we are going to have a look at the cover letter. An essential part, that should be part of the same design as the CV itself.
This is the third blog post in a four-part series on the design of the
limecvdocument class. In this third blog post, we will design the main content section. This part will contain information such as your previous experience and education. Placing elements in this part will be the most difficult part. To make spacing elements easier, we’ll wrap everything in a
This is the second blog post in a four part series on the design of the
limecvdocument class. In this second blog post, we will design the sidebar. This bar will contain the basic information such as your name, position, contact details and language skills. This will be the simpler part of the document to design, so it’s a good start. First, we will draw the background and then go over each of the sections separately.
About half a year ago, I posted a blog post on how I created my business card. This post was my most popular post to date. It was even the most tending post for a few hours on Hacker News. Lots of people were asking about my curriculum vitæ (CV) design, but to be honest, I was using the
moderncvdocument class at the time. After finishing my dissertation and graduating, I’ve found the time to fully design my own CV and this is the result:
In 2017, I will graduate from Ghent University. This means starting a professional career, either in academia or in industry. One of the first things that came to mind was that I needed a good curriculum vitæ, and a business card. I already have the former, but I still needed a business card. Consequently, I looked a bit online and was not all that impressed by the tools people used to design them. I did not want to change some template everybody’s using, but do my own thing. And suddenly, I realised: what better tool than LaTeX to make it!
LaTeX is a macro language on top of TeX; there are thousands of packages available that define all sorts of macros (commands) one can use in our documents. But sometimes they just don’t cover what we want or need. Often the solution is defining a new command. For very simple commands, this is straightforward, but if we want (or need) flexibility, things become more involved. We will take a look at good (and bad) approaches to define new macros in LaTeX.
The preamble is the place where one lays a document’s fundaments. It is used to include additional packages, set options, define new macros (commands), add PDF information and more. Even though one can define commands and set certain options within the document, it is preferred to set options globally. Otherwise we start smearing these definitions over the entire document, which makes finding things harder. This makes setting up the preamble a vital part of every document that is often overlooked.
LaTeX has its own strengths, but also quirks. Typesetting what you really have in mind is not always very straightforward and requires some experience. Here are some general tips to quickly solve certain problems or make your LaTeX documents even better.
When writing really long documents with or without other people, a single source file might not suffice. The LaTeX source file will be very long (thousands and thousands of lines). Finding your way around the document will become increasingly difficult up to a point where it is nearly impossible. Spreading the content over different files is the solution. By splitting the document per chapter or section, we avoid extremely long source files and maintain a clear view over the document structure.
Good referencing is one of the things LaTeX excels at. LaTeX supports an easy and powerful syntax for referencing to tables, sections, figures etc. These references can even behave like links we know from the web.
Tables in LaTeX are very easy to do once you know a little bit about the syntax. The default way to create tables is with
tabular, an environment that creates an n-by-m table that can be filled with data (and sub-tables).
Python is a dynamic programming language that allows fast, platform independent development. It is a high level programming language that uses a clear and consistent syntax, aiming for both concise and readable code. In contrast to MATLAB, it is a general purpose language, not directly aimed at numerical calculations. Additional functionality is provided by packages. For scientific functionality, the
SciPylibrary (a package set) is key. This library adds functionality for fast numerical calculations, simulation and data visualization (and more). In this example, we will specifically make use of the
MATLAB is a powerful environment for numerical computations. Consequently, it is often used in academia and industry to quickly perform simulations, test models, perform matrix computations and visualize data. It provides toolboxes for signal processing, neural networks, curve fitting and so on.
Plotting data for reports is often done in programmes such as R, matplotlib or MATLAB. However, sometimes one wants to have a consistent layout for all plots and this is far from easy when you need to combine some of these tools. One way to tackle this, is to store all plot data in a CSV-file and then import that into LaTeX. We can plot it using a special library if the plot does not contain too many points (more on that later).
Easy typesetting of mathematical expressions is one of the most excellent features of LaTeX. A very wide range of mathematical options is supported and makes it one of the reasons why people in academia love LaTeX. After all, writing these expressions is quick, efficient and easy, even for complex formulas. Even if you have never used LaTeX, you will probably have seen formulas made with the (La)TeX engine. Wikipedia is one of the websites that relies on (La)TeX for mathematical expressions.
Drawing native LaTeX figures is often done using the TikZ library. This is a huge package, so I won’t even try to cover all the material. Instead, some simple examples that illustrate the power of TikZ are shown below. To give an idea of how massive TikZ is: its manual has over 1000 pages!
Dynamic Number dynamically typesets values generated in different kinds of scripts in LaTeX through the use of symbolic links. The aim is to reduce errors resulting from out-of-date numbers by directly setting them in the number generating file and importing the value through a symbolic link in the LaTeX source file.
There has already been written a lot about whether or not you should use LaTeX or not. So here, yet another (blog) post that tries to convince you to use LaTeX (when needed) and how to use it. It only sketches a brief introduction to the typesetting system. In later posts, I will highlight several aspects of LaTeX in greater detail.