org-mode-poster/src/org-mode-poster_poster.tex~

219 lines
5.9 KiB
TeX

% Created 2018-04-04 Wed 12:05
% Intended LaTeX compiler: pdflatex
\documentclass[final]{beamer}
\usetheme{ph}
\usepackage[orientation=portrait,size=a0,scale=1.4]{beamerposter}
\usepackage[absolute,overlay]{textpos}
\usepackage[authoryear]{natbib}
\setlength{\paperwidth}{36in}
\setlength{\paperheight}{48in}
\setlength{\textwidth}{0.98\paperwidth}
\setlength{\textheight}{0.98\paperheight}
\graphicspath{{../output/figures/}{../lib/}}
\usepackage[export]{adjustbox}
\usepackage{graphicx,caption}
\usepackage{minted}
\usepackage{eurosym}
\usepackage{listings}
\usepackage{textcomp}
\usepackage{bibentry}
\newcommand\sumin{\sum_{i=1}^{n}}
\newcommand{\Xoi}[1]{#1(i)}
\newcommand{\frakPQ}[2]{\frac{\Xoi{#1}}{\Xoi{#2}}}
\newcommand{\DKLPQ}[3]{D_{\mathrm{KL}}(#1 #3 #2)}
\date{}
\newcommand{\auth}{Philipp Homan, MD, PhD}
\newcommand{\authemail}{phoman1@northwell.edu}
\newcommand{\authtwitter}{@philipphoman}
\newcommand{\authgithub}{github.com/philipphoman}
\author{
Philipp Homan$^{1}$
\\
\normalsize{$^{1}$Department of Psychiatry,}
\normalsize{The Donald and Barbara Zucker}
\normalsize{School of Medicine at Northwell/Hofstra,}
\normalsize{Hempstead, NY}
}
\usetheme{default}
\date{2018-04-04 12:05}
\title{Using org-mode for scientific posters}
\begin{document}
\begin{frame}[fragile,label={sec:org2d306a8}]{}
\begin{columns}
\begin{column}[t]{0.45\columnwidth}
\begin{block}{Background}
\begin{itemize}
\item Here we show how org-mode (version
9.1.7) and emacs (version
25.2.2) can be used to make decent looking scientific
posters
\item With org-mode we can populate the poster with code, graphs and numbers
from inline code in languages such as R, python, Matlab and even shell
scripting
\item For example, this poster was created on 2018-04-04 12:05 on
Ubuntu 17.10.
\item Inline code could look like this (which will produce a graph;
Fig. \ref{fig:org1e6e9a8}):
\end{itemize}
\begin{columns}
\begin{column}[T]{0.68\columnwidth}
\begin{minted}[linenos=true,bgcolor=lightgray]{r}
set.seed(20180402)
x1 <- rnorm(100, 0, 1)
x2 <- rnorm(100, 0.5, 1)
hist(x1, col="red")
hist(x2, col="blue", add=TRUE)
\end{minted}
\begin{figure}[htbp]
\centering
\includegraphics[width=.9\linewidth]{3.png}
\caption{\label{fig:org1e6e9a8}
This is the output.}
\end{figure}
\end{column}
\end{columns}
\end{block}
\begin{block}{Inline code and tables}
\begin{itemize}
\item In addition to inline code, we can also produce tables
\item Tables are very powerful in org-mode, they even include spreadsheet
capabilities
\item Some code to process the first vector from above to make a table out
of its summary could look like this, which would result in a little
table (Table \ref{tab:org79ade92}) :
\end{itemize}
\begin{columns}
\begin{column}[T]{0.78\columnwidth}
\begin{minted}[linenos=true,bgcolor=lightgray]{r}
library(broom)
library(dplyr)
t1 <- tidy(round(summary(x1), 2))
t2 <- tidy(round(summary(x2), 2))
# This will export as a table
rbind(t1, t2) %>%
mutate(name=c("x1", "x2"))
\end{minted}
\vspace{2cm}
\begin{table}[htbp]
\caption{\label{tab:org79ade92}
A table summarizing the two distributions.}
\centering
\begin{tabular}{rrrrrrl}
\hline
minimum & q1 & median & mean & q3 & maximum & name\\
\hline
-2.29 & -0.49 & 0.11 & 0.14 & 0.8 & 2.47 & x1\\
-2.17 & -0.45 & 0.07 & 0.13 & 0.85 & 2.23 & x2\\
\hline
\end{tabular}
\end{table}
\end{column}
\end{columns}
\end{block}
\end{column}
\begin{column}[t]{0.45\columnwidth}
\begin{block}{Graphics}
\begin{itemize}
\item We can use shell scripting to grab an image with curl from the
internet (Fig. \ref{fig:orgf5c409c}):
\end{itemize}
\begin{columns}
\begin{column}[T]{0.78\columnwidth}
\footnotesize
\begin{minted}[linenos=true,bgcolor=lightgray]{bash}
# Download emacs icon from gnu.org
curl -0 https://www.gnu.org/software/emacs/images/emacs.png
\end{minted}
\normalsize
\vspace{2cm}
\begin{figure}[htbp]
\centering
\includegraphics[page=9,width=0.2\textwidth]{emacs.png}
\caption{\label{fig:orgf5c409c}
This is the downloaded image.}
\end{figure}
\end{column}
\end{columns}
\end{block}
\begin{block}{Math}
\begin{itemize}
\item We can easily include math
\item For example, let's describe how to compute the distance between the
two simulated distributions \(x1\) and \(x2\) from before:
\end{itemize}
\begin{columns}
\begin{column}[T]{0.78\columnwidth}
The Kullback-Leibler (KL) divergence measures the difference between two
probability distributions (i.e., the loss of information when one
distribution is used to approximate another). The KL divergence is thus
defined as
\begin{align}
\label{eq:KL}
\DKLPQ{P}{Q}{\|} = \sumin \Xoi{P} \log \frakPQ{P}{Q}
\end{align}
with \(P\) and \(Q\) being two probability distribution functions and \(n\)
the number of sample points. Since \(\DKLPQ{P}{Q}{\|}\) is not equal to
\(\DKLPQ{Q}{P}{\|}\), a symmetric variation of the KL divergence can be
derived as follows:
\begin{align}
\label{eq:KL2}
\DKLPQ{P}{Q}{,} = \sumin \Big(\Xoi{P} \log \frakPQ{P}{Q} + \Xoi{Q} \log \frakPQ{Q}{P} \Big).
\end{align}
\end{column}
\end{columns}
\end{block}
\begin{block}{Columns}
\begin{columns}
\begin{column}[T]{0.48\columnwidth}
\captionsetup{justification=justified,width=.85\linewidth}
\begin{figure}[htbp]
\centering
\includegraphics[width=.9\linewidth]{4l.png}
\caption{\label{fig:orgd7d362e}
This is the left figure of a two-column block, showing the density of \(x1\).}
\end{figure}
\end{column}
\begin{column}[T]{0.48\columnwidth}
\captionsetup{justification=justified,width=.85\linewidth}
\begin{figure}[htbp]
\centering
\includegraphics[width=.9\linewidth]{4r.png}
\caption{\label{fig:orgb7b3a82}
This is the right figure. It shows the density of \(x2\).}
\end{figure}
\end{column}
\end{columns}
\end{block}
\begin{block}{Conclusions}
\begin{itemize}
\item This little example is meant to show how versatile org-mode is
\item Scientific posters can be produced with a simple text editor
\end{itemize}
\end{block}
\end{column}
\end{columns}
\end{frame}
\end{document}