For those who need to write academic presentations, it is very common to make use of LaTeX. If you majored computer science you have probably seen a lecture like this:
Most of these presentations are created with beamer and its default themes, although beamer is very handy, these themes are a little bit old-fashioned. We can use modern custom themes like metropolis:
My org-mode code
I use org-mode to do most of my writing, that includes presentations, articles, personal notes etc. Org-mode
can interpret LaTeX (and code blocks of a wide range of languages), but talking about org-mode
is not the point of this text... (or is it? 👀)
The presentation example above was created with the following code:
#+options: H:3 email:nil tex:t toc:t
#+title: Any Computer Science Class
#+date: \today
#+author: Laura Viglioni
#+language: en
#+creator: Emacs 27.1 (Org mode 9.4)
#+startup: beamer
#+LaTeX_CLASS: beamer
#+LaTeX_CLASS_OPTIONS: [bigger]
#+beamer_theme: Copenhagen
* Graph theory
** Nodes and vertices
***
** BFS
***
** DFS
***
* Algorithm Complexity
** Big O notation
***
Compiling that (M-x org-beamer-export-to-pdf
or C-c C-e l P
) will generate the first pdf shown in this text. Org-mode
convert this to a LaTeX file and compiles it, in this example it the .tex
generated is:
% Created 2021-01-20 Wed 21:22
% Intended LaTeX compiler: pdflatex
\documentclass[bigger]{beamer}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{graphicx}
\usepackage{grffile}
\usepackage{longtable}
\usepackage{wrapfig}
\usepackage{rotating}
\usepackage[normalem]{ulem}
\usepackage{amsmath}
\usepackage{textcomp}
\usepackage{amssymb}
\usepackage{capt-of}
\usepackage{hyperref}
\usetheme{Copenhagen}
\author{Laura Viglioni}
\date{\today}
\title{Any Computer Science Class}
\hypersetup{
pdfauthor={Laura Viglioni},
pdftitle={Any Computer Science Class},
pdfkeywords={},
pdfsubject={},
pdfcreator={Emacs 27.1 (Org mode 9.4)},
pdflang={Portuguese}}
\begin{document}
\maketitle
\begin{frame}{Outline}
\tableofcontents
\end{frame}
\section{Graph theory}
\label{sec:org391ab7d}
\subsection{Nodes and vertices}
\label{sec:org334895a}
\begin{frame}[label={sec:org5882936}]{}
\end{frame}
\subsection{BFS}
\label{sec:orge68a1c6}
\begin{frame}[label={sec:orgba23b2e}]{}
\end{frame}
\subsection{DFS}
\label{sec:orgc3fd777}
\begin{frame}[label={sec:orgf5f342e}]{}
\end{frame}
\section{Algorithm Complexity}
\label{sec:org5501e0f}
\subsection{Big O notation}
\label{sec:orgbe99555}
\begin{frame}[label={sec:orgb18e2bf}]{}
\end{frame}
\end{document}
woa... a little bit verbose compared to org, huh 👀
But the most important lines for this text are:
#+beamer_theme: Copenhagen
or
aren't you convinced to use org at this point? 😨
\usetheme{Copenhagen}
If we want to use custom themes, as we can read on metropolis documentation, we must compile the project and put the .sty
files in the same directory as our .tex
or .org
that is calling the theme and change it from Copenhagen
to metropolis
.
But how to install themes on your system and use them without copying and pasting the .sty
files every time?
Installing LaTeX themes to your machine/Emacs
First, you need to know where your system (or Emacs) looks for LaTeX files, including the styles (.sty
) ones. The easiest way I know is using the command kpsewhich - if you are a mac user, it comes in MacTex package :)
$ kpsewhich -var-value=TEXMFHOME
In my case it returns:
/Users/laura.viglioni/spacemacs/Library/texmf
So you must create this dir, if it doesn't exist, and paste the .sty
files in there and that's it, as simple as that :)
I hope this might be useful to you :)
Be safe, use masks and use Emacs
Xoxo
PS.: If you want to know more about org-mode
, checkout these videos:
Top comments (0)