2 minute read

This post presents the Latex templates I use along with the packages that I recommend.

Academic article

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
\documentclass[11pt]{article}
\usepackage{biblatex}
\addbibresource{main.bib}
\usepackage[
  top=25mm,
  bottom=25mm,
  left=30mm,
  right=30mm
]{geometry}
\usepackage{hyperref}
\usepackage{url}
\usepackage{titling}
\usepackage{color}
\usepackage{soul}
\usepackage{cleveref}

\title{\Large\bfseries Your title}

\author{
  Marco Luzzara\\
  \small Department of Computer Science\\
  \small University of Milan
}

\date{December 2025}

\begin{document}

\maketitle

\begin{abstract}
Your abstract
\end{abstract}

\section{Introduction}

...

\printbibliography

\end{document}

titling

The titling package provides control over the typesetting of the \maketitle command and \thanks commands, and makes the \title, \author and \date information permanently available.

url and hyperref

Links to a web address or email can added to a LaTeX file using the \url command to display the actual link or \href to use a hidden link and show a word/sentence instead.

soul

The package provides hyphenable spacing out (letterspacing), underlining, striking out, etc., using the TeX hyphenation algorithm to find the proper hyphens automatically. color package must be installed too in order to use the yellow highlighting (\hl{})

cleveref

The package enhances LaTeX’s cross-referencing features, allowing the format of references to be determined automatically according to the type of reference. Use \cref for lowercase reference text, and \Cref to capitalized reference text.

array, tabularx, multirow for tables

An extended implementation of the array and tabular environments which extends the options for column formats, and provides “programmable” format specifications. It is useful to specify the width of table columns, if they must be fixed. If you don’t need to control the width of each cell, but of the entire table and then evenly distribute the space within, use the tabularx package.

For example,

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
\usepackage{tabularx}
\renewcommand\tabularxcolumn[1]{m{#1}} % vertically center the cell text

\begin{table}[!h]
\centering
\begin{tabularx}{\textwidth} { 
    | >{\centering\arraybackslash\hsize=.1\hsize}X 
    | >{\raggedright\arraybackslash\hsize=.45\hsize}X 
    | >{\raggedright\arraybackslash\hsize=.45\hsize}X | }
\hline
    &
    \multicolumn{1}{|c|}{Centered 1} &
    \multicolumn{1}{|c|}{Centered 2} \\ \hline
    
    Value 1 &
    Value 2 &
    Value 3 \\ \hline
    
\end{tabularx}
\caption{Caption for table}
\label{tab:sample-table}
\end{table}

The above table consists of 3 columns:

  1. Horizontally centered (\centering) column that takes 10% of entire width (\hsize=.1\hsize)
  2. Column with text on the left (\raggedright), takes 45% of entire width
  3. Column with text on the left (\raggedright), takes 45% of entire width

\multicolumn can be used to merge rows and columns, creating larger table cells. Usage examples of this package and the other described in this section are presented here.

Comments