Lest we forget: Typography & LaTeX

Martins Bruveris recently gave an introductory lecture on LaTeX at Brunel University, and the deck was based on my previous LaTeX: More Than Just Academic Papers and Theses slides. (Suffice to say that I’m extremely happy that people are still reading it since I first made it in 2011—I’ve since updated it a bit.)

I particularly like how Martins highlighted how important typography is in retaining the readers’ (ahem supervisors, examiners, reviewers…) interest/attention. That’s so true—I remain certain that I received an award for my paper at a student workshop, partly (or perhaps majorly) because I used LaTeX. One of the panels commented “it’s a very clear, very nice paper—not sure why but it was just very enjoyable to read.”

"Your paper makes no sense, but it's the most beautiful thing I have ever laid eyes on."
Image courtesy of somethingofthatilk

Lest we’ve forgotten at times amid all the exciting new packages in recent years that let us do various cool things in LaTeX, typography is why Knuth created TeX in the beginning, and why some (I’ll acknowledge not all) users prefer LaTeX over word processors. Martins included this quote on typography in his slides:

Typography matters because it helps conserve the most valuable resource you have as a writer—reader attention.
Attention is the reader’s gift to you. That gift is precious. It is finite. And if you fail to be a respectful steward of that gift, it will be revoked.
(Matthew Butterick, Typography for Lawyers)

I would add this quote by Robert Bringhurst in the opening chapter to The Elements of Typographic Style:

Like oratory, music, dance, calligraphy—like anything that lends its grace to language—typography is an art that can be deliberately misused. It is a craft by which the meanings of a text (or its absence of meaning) can be clarified, honored and shared, or knowingly disguised.

and later in Chapter 10:

Writing begins with the making of meaningful marks. That is to say, leaving the traces of meaningful gestures. Typography begins with arranging meaningful marks that are already made. In that respect, the practice of typography is like playing the piano—an instrument quite different from the human voice.

And personally, I do think writings convey the experience knowledge of humankind (I know that sounds a bit pompous, spare me the rod), and deserve to be typeset with ultimate quality for an enjoyable reading experience!

My customised CurVe CV

Thumbnail image of the CVI’ve been asked a few times for the code of my own CV.

Truth is, it was first done many, many years ago, based on the CurVe class. As I picked up tips and tricks, I kept adding and modifying the formatting styles—but I never got round to cleaning it up properly. I wouldn’t wish it on anyone to have to read or use the messy code as it was *shudder*.

I got asked about it again recently, and I’m finally got round to simplify the thing and put it online on Overleaf (so that other users won’t get back to me with “but I don’t have this package” issues either! 😉)

It’s really still a bit rough in places, though…

To download it, click on the great big “Open as Template” button. If you don’t see a file list, click on “PROJECT” at the top first. Then go for the “Download as .zip” button at the bottom of the file list.

How to Ask for LaTeX-related Help Effectively

Be specific about the error.

“I have an error” “The PDF wasn’t created” ” “Cannot compile” “It doesn’t work” aren’t specific. Show what you’ve written in the code (see ‘Make an MWE’), what are the error messages that you get, attach the .log file (as an attachment, not paste the entire contents into the email/forum!!). State clearly your LaTeX distribution version (MikTeX 2.9? TeX Live 2013?) or package versions especially if you’re using one of the university thesis templates here.

Be specific about what you need.

Give clear description about what you need. Do a “mockup” with Word or Excel if you have to, and attach the screen capture of that. Show clearly what LaTeX code you have tried yourself and what’s wrong with it that you still need to change.

Make an MWE.

That is, a minimal working example. Make the complete working code available, via Dropbox, on Google Drive, one of the online LaTeX platforms e.g. Overleaf, ShareLaTeX, Authorea, somewhere.

Do not ignore error messages.

Some IDEs will force-compile the .tex file and still get a .pdf file out of it, happily displayed. But there are error messages in the console or .log file. Some candidates ignore the error messages, as long as they have a .pdf. And then they need to change something in the docs, and asks for help. Not gonna happen; and it’s a bit of a tall order to expect other people to locate the n unbalanced parentheses in the entire project or 1.5MB .bib file.

HowNotToAskQuestions

Please. Tolong. Help us to help you. Everyone wants to submit and graduate quickly, go about their lives helping people without getting too frazzled… and try not get too insane in the process.

end rant;
(Sigh, I’ve been getting too many “it doesn’t work and I want you to fix this immediately and I don’t care if you are doing this for free, and I cannot use the latest version and I cannot show you what I have done exactly” from candidates recently.)

AltaCV, yet another LaTeX CV/Résumé class

It all started with this:

Leonardo was talking about a résumé of Marissa Mayer that Business Insider put together using enhancv.com.
I knew I had to do something about it. And so AltaCV was born.

This is how the re-created résumé looks like (view/open on Overleaf):

Marissa Mayer's résumé, re-created with AltaCV

Though if you’re creating your own CV/résumé, you’d probably prefer using the basic template (view/open on Overleaf):

sample barebones AltaCV template

You can create your own CV using AltaCV online with Overleaf (use the links above); or you can download a zip from here, or git-clone it from Github.

AltaCV uses fontawesome and academicons; they’re included in both TeX Live 2016 and MikTeX 2.9.

The samples here use the Lato font.

LuaLaTeX compilation is strongly recommended. If you want to use XeLaTeX instead, that’s fine, but you may need to make sure academicons.ttf is installed on your operating system, not just available in your TEXMF tree with the academicons LaTeX package.

Calling for Overleaf Advisors!

Overleaf is a cloud-based collaborative authoring platform using LaTeX, who’ve teamed up with a number of journal publishers and universities. There are now three Overleaf Advisors in Malaysia (as of time of writing on 4 Aug 2016); you can apply if you’re interested, anywhere in the world!

Disclaimer: I’m a Community TeXpert at Overleaf; i.e. I handle LaTeX-related support requests; create templates for the Overleaf Gallery; write help articles, etc. So in case you’re wondering why I’m not an Advisor myself, that’s why. 🙂

How to Deal with Wide Tables

Ahhhh tables — one of the infuriating things with tables in LaTeX, is that sometimes they’re so wide that they extend into the right margin, or even off the page. Here are a few things I usually do to deal with them.

Use tabularx to auto-wrap long column contents

Sometimes you have a column where the lines are long, but by default, lines in a table row don’t wrap. You can either use the makecell trick to manually break the lines; or you can make text in that particular column line-wrap automatically, by using a p{3cm} column specifier (but then you need to experiment a few times for a right width), or by using the tabularx package.

\usepackage{tabularx}
...
% Contents in the second and third columns will be auto-wrapped,
% so that the entire table will fit the text width nicely
\begin{tabularx}{\textwidth}{l X X l}
No. & These are long statements... 
    & These are very long too... 
    & 0\\
...
\end{tabularx}

Use makecell to quickly break a cell into multiple lines

Sometimes you have a column with narrow values (e.g. just ‘34’, ‘67’…) but the column heading is long (e.g. ‘No. of patients’, which makes the column use up too much space. In this case you can use the makecell package, and then manually line-break the column heading:

\makecell{No. of\\patients} & Region & .... \\
% Note that All of the above are still on the same table row.

Reduce the column paddings

So in some situations you can get away with making the inter-column separation or padding smaller:

\begin{table}[hbt!]
\setlength{\tabcolsep}{4pt} %% default is 6pt
\begin{tabular}....

Possibly the simplest but not always appropriate: just make the whole table use a smaller font. (but not usually recommended!! make sure your table is still readable.)

{\small % (or \footnotesize if still readable)
    \begin{tabular}
    ...
    \end{tabular}
}

Do check that you have the pair of braces around the \small and the tabular. Take care that the table contents can still be read comfortably, and that your university or publisher allows you to change the font size in tables!

Let LaTeX shrink the entire table to text width. (not recommended at all!!)

\resizebox{\textwidth}{!}{%
    \begin{tabular}
    ...
    \end{tabular}
}

Rather than figuring out whether a \small or \footnote will be enough ourselves, LaTeX will treat the entire table as a box, and try to resize it so that it fits the text width exactly. Again: take care that your reader can still read the shrunk table, and that it’s allowed by your university or publisher. From a LaTeX best-practice point of view, this approach is really not recommended.

Make the table landscape

There are a few different ways of doing this — try for example the sidewaystable environment from the rotating package:

\usepackage{rotating}
...
\begin{sidewaystable}
\caption{...}
\begin{tabular}
...
\end{tabular}
\end{sidewaystable}

And always remember: rather than agonising over how to fit a table on the page, it’s often more useful to consider how to present the data so that the reader can access and understand it easily!

UMalayaThesis updated to v1.2 for Guidelines (2015)

Sigh, so I finally realised and managed to find the 2015 version of the UM thesis guidelines!!!

So I’ve updated the .cls and .tex (changes to existing v1.1.2), which includes the following updates:

  • Added a \faculty field
  • \makecoverandtitlepage now takes an option to output the
    relevant statement on the title page
  • Chapter headings are now single line, with less spacing after
    the chapter title.
  • Bibliography entries are now explicitly 0.5 inch indented and
    with really wide double spacing between entries.
  • Re-ordered elements in thesis.tex to match the updated guide.

You can download umalaythesis v1.2 from here, or from Bitbucket and Github, or open it as a an online project on Overleaf.